Google's scroll thing

extrait : "Google Search will stop its continuous scroll user experience where Google loads more results as you scroll past the first page of the search results. Instead, you will see see the classic and old pagination bar at the footer of the Google Search results."

...and with infinite scrolling everyone could see that Google results were mostly random beyond the third result. These days, Google has a hard time searching for what you are looking for, except if we are talking about finding an entry in directories (think Yahoo 20 years ago). Google has effectively lost its way and no AI will improve it.

Posted on 26-June-2024 12:31 | Category: anti-Google | comment[0] | trackback[0]


Fixing hidden Thunderbird emails

The topic of this post is : Fixing hidden Thunderbird emails.

If all of a sudden an entire hive of emails are hidden to you when using Mozilla Thunderbird, perhaps it's because they are internally marked as deleted even though you did no such thing. Fortunately, this is a situation that can be fixed with a proper... text editor !

First of all a little bit of context. In Thunderbird, mails for each account are stored on a per file per folder basis. In other words, your inbox is stored in a single file, whose name is the name of the folder and you can find those folders in your personal Windows files here : c:/users/<username>/AppData/Roaming/Thunderbird/Profiles/<profile_name>/

If your account is served by a POP mail account, it's in the Mail sub-folder. ImapMail for an IMAP-based mail account. There you find an Inbox file, which is the collection of your inbox emails stored as plain-text. This plain-text is called the MBOX file format, and you'll find reference for MBOX with Google, complete with a lot of useless discussions out there. Being plain-text means you can fix a "corrupt" file, as long as you understand the header marking the beginning of an email, and marking further down the stream the end of the current email.

Each email comes with a header such as X-Mozilla-Status: 0009. Number 9 marks a deleted email. So it's easy to guess that the next thing to do, to unhide those emails is to find/replace all such occurence with X-Mozilla-Status: 0001.

Of course, if you've been accumulating emails for a while, chances are your Inbox file will be bigger than 1 GB, in fact possibly bigger than 10 GB. A lot of text editors can't edit this thing because they haven't been properly designed, so you won't open a large Inbox file with say Notepad or something equivalent. First you need a 64-bit version of it, in order to bypass the 2 GB per process limit, and you need a text editor which is designed to edit large files, possibly without loading the file in memory at all. UltraEdit, which comes with a 30-day trial, is such candidate for this. So fire it up off internet and soon you'll be editing large inbox files, only to find that next time Thunderbird is started, all your emails have reappeared and the problem is fixed !!

Posted on 07-June-2024 22:00 | Category: News | comment[0] | trackback[0]


xlsgen : Fix for defined names

Build of xlsgen follows the path of the previous build, this time fixing a scenario with defined names.

Posted on 27-May-2024 12:11 | Category: xlsgen, Excel generator | comment[0] | trackback[0]


xlsgen : Fix for undefined names

Build of xlsgen fixes a problem related to undefined names in formulas. The fix updates formulas, when needed, even a part the specifies undefined names, that is defined names without an actual range associated to it. This is for XLSX files. XLS and XLSB formula bytecodes were already covering the scenario properly due to the bytecode nature of it.

Posted on 25-May-2024 15:08 | Category: xlsgen, Excel generator | comment[0] | trackback[0]


xlsgen : Theme-based rendering of pivot tables

Build of xlsgen adds support for rendering theme-based pivot tables.

So essentially, we are doing this now (right) :

Theme-based pivot table rendering in xlsgen

Rendering occurs in print, preview, PDF, XPS.

Posted on 21-May-2024 12:00 | Category: xlsgen, Excel generator | comment[0] | trackback[0]


Ammonites ? Ammonites !

Perhaps Ammonites is going to be the top searched word today, thanks Nemo / Switzerland... Ah ah

Posted on 12-May-2024 12:03 | Category: News | comment[0] | trackback[0]


xlsgen : Fix for tables

Build of xlsgen has a fix related to tables in Excel files (XLSX and XLSB).

Under certain circumstances, tables from an existing file, after being inferred, would interfere with the existing table specs, causing a corruption of the Excel file, seen by the user next time the file is opened in Excel.

Posted on 11-May-2024 12:12 | Category: xlsgen, Excel generator | comment[0] | trackback[0]


xlsgen : Fix for pivot tables

Build of xlsgen improves how worksheet dimensions are calculated and used elsewhere by including pivot tables in it, including non-refreshed pivot tables.

Posted on 03-May-2024 09:57 | Category: xlsgen, Excel generator | comment[0] | trackback[0]


xlsgen : Creating in-place picture cell

Build of xlsgen comes with support for in-cell picture metadata.

The first feature is exposed in the object model, at the cell level, a mechanism to add a picture whose boundaries are within the cell in question. More specifically the picture is resized to fit into that cell, and the X/Y ratio is preserved.

This is how you do it (here with C++) :

worksheet->Cell[3][4]->InPlacePicture = L"input\\picture.jpg"; // picture in cell D3

If that was all there was about it, that would be pretty small a thing. But there is more to it. What xlsgen does is create metadata in that cell, specifically picture metadata, which actually extends the capabilities of the cell. It can contain a number, a date, a string, a formula and now a picture. If then a formula is created elsewhere, making a reference to that cell, the picture is carried over. Making it possible to run new scenarios that were not possible before.

So if in F3 you write,

worksheet->Formula[3][6] = L"=D3";

then F3 has a picture in it !

Of course, many more complex formulas can be used in order to achieve actually useful scenarios.

If you print/preview/PDF/XPS export the worksheet, it will render the pictures created as such or referred to as such in formulas.

The metadata is written back to the file as long as the file is XLSX, XLSM or XLSB. If you open the resulting file and you are using Office 365, you will see the pictures if you are using an updated Office version. If you are using Excel 2021 or an older version however, no picture will be shown in Excel and you'll get an "#UNKNOWN!" error string in those cells instead. The Excel file isn't corrupted, it just can't support a feature that was written later on.

Posted on 28-April-2024 15:36 | Category: xlsgen, Excel generator | comment[0] | trackback[0]


xlsgen : Rendering picture metadata

Build of xlsgen introduces the rendering of metadata pictures.

Whenever Excel is told to place a picture within the boundaries of a cell, a new feature, Excel actually stores the picture as metadata, which in turn allows to extend a cell's content. It's no longer limited to being empty, or storing a number, a date or a string. It can now store a picture. And because it can now store a picture, a formula can return a picture as well.

In this build, xlsgen makes sure that pictures stored in cells as metadata are rendered (print, preview, PDF, ...)

Rendering metadata pictures

Posted on 02-April-2024 22:15 | Category: xlsgen, Excel generator | comment[0] | trackback[0]


xlsgen : Fix pack for charts

Build of xlsgen is a fix pack improving chart rendering in the following ways :

- plot area size isn't unnecessarily coerced by the legend box

- chart with categories in reverse order has its other axis seen correctly

- proper loading of T symbols from error bars in XLSX/XLSB charts

- rendering of custom error bars with cell ranges as plus or minus values

- rendering of data labels of type "cell range" introduced in recent Excel versions

To illustrate this, two examples. Notice how much better the charts are :

Plot area not coerced by legend

Error bars, plus data labels on Y axis

Posted on 27-March-2024 22:05 | Category: xlsgen, Excel generator | comment[0] | trackback[0]


xlsgen : Lower memory consumption (II)

Build of xlsgen adds another round of memory optimizations, this time related to Infer() scenarios. Lower memory consumption, less fragmentation resulting in faster execution.

Infer() scenarios include the ability for xlsgen to discover tables inside a worksheet, including headers, data types and styles.

Posted on 21-March-2024 10:25 | Category: xlsgen, Excel generator | comment[0] | trackback[0]


xlsgen : Lower memory consumption

Build of xlsgen reduces memory consumptions in a number of scenarios working with large files, that is importing data (CSV/XML/JSON/HTML), inferring worksheets and duplicating worksheets. Memory reduction is designed to make it more scalable as the data grows.

Posted on 13-March-2024 18:08 | Category: xlsgen, Excel generator | comment[0] | trackback[0]


xlsgen : Memory corruption fix

Build of xlsgen has a fix related to memory corruption.

The scenario includes opening and updating a XLSX or XLSB file with a long file path (possibly due to sub-folders). A workaround to the fix is, instead of opening X and saving as X, to open as X and save as Y, assuming Y is later renamed to X or whatever. Also a workaround consists in saving to memory, thereby with all the freedom to write back as a file later on.

Posted on 23-February-2024 12:24 | Category: xlsgen, Excel generator | comment[0] | trackback[0]


xlsgen : Fix for chart smooth lines

Build of xlsgen fixes a problem related to duplicating smooth lines in line/scatter charts in XLSX/XLSB files.

Recent Excel versions differ on how they act on the default value on the smooth line option and as such we did see different appearance depending on the Excel version being used to open the files. xlsgen makes sure to avoid default values on the smooth line option.

Posted on 13-February-2024 15:25 | Category: xlsgen, Excel generator | comment[0] | trackback[0]


xlsgen : Fix pack

Build of xlsgen is a fix pack. Includes the following fixes :

- better rendering of date axis in charts wherever applicable. For instance, the number of labels along the axis is made so it's more readable.

- improved shape size compute for rendering purposes.

Posted on 31-January-2024 21:26 | Category: xlsgen, Excel generator | comment[0] | trackback[0]


xlsgen : Print Row and Col headings (II)

Build of xlsgen improves printing row and column headings (print, PDF, ...). It clips shapes and other objects so they don't overlap headings.

Posted on 30-January-2024 08:39 | Category: xlsgen, Excel generator | comment[0] | trackback[0]


Mobile marketplaces in turmoil

With all the regulations and upending justice actions, mobile marketplaces are in a turmoil right now. Expect big and brutal changes. But if you are a small indie, expect the worst, because you (we) are the guys who are going to get the hardest hits, because we can't afford it in the first place. It's really a bad time to be there right now.

Posted on 17-January-2024 10:09 | Category: News | comment[0] | trackback[0]


Twitch layoffs : what's next ?

Twitch laying off 35% of staff a year after doing a large layoff does not bode well for Twitch's future especially when you see that Twitch is grabbing every cent possible from streamers (lower commission, trying to get a hand on donations, multiplication of ads...).

Obviously I don't know what it costs to run this delivery network, but one thing I know is that if Twitch is forced to use and pay AWS servers (Amazon is the parent company), then perhaps it's costing them too much compared to their own specialized hardware.

Does not bode well for streamers.

With that said, 90% of streamers have less than 10 viewers so streamers could just as well host their own video servers instead of defaulting to Twitch. That is, until their view count crosses a profitability threshold and Twitch servers become viable.

Posted on 12-January-2024 19:12 | Category: News | comment[0] | trackback[0]


Android UI : très mauvais

Je commence à m'intéresser à Android et je suis quand même effaré de ce que je découvre. D'abord l'éditeur principal pour faire du soft sur cette plateforme c'est Android Studio, et cette merde arrive à aplatir de souffrance un PC relativement costaud. Raison principale étant ce que cette merde est écrite en Java au lieu d'un langage natif, bref vous vous prenez dans la tronche tous les bagages et porte-bagages du runtime Java, avant même d'avoir écrit une ligne de code.

Deuxio ce qui sert à faire de l'UI est une merde comparé à ce qu'était l'éditeur d'UI dans Visual Studio il y a 25 ans ! Ca il faut le faire. Par exemple, si vous insérez un bouton et que vous double-cliquez dessus, cela ne génerera en rien le squelette de code pour gérer ce qui se passe lors d'un click. Et tout compte fait il y a peut-être une raison à cela, c'est qu'aujourd'hui l'event handling doit passer par un callback en plusieurs couches. Là encore ça me laisse bouche bée. C'est destiné à qui cette horreur ? Comment imaginer que les gens qu'on va mandater pour faire des UI vont faire autre chose que de récupérer des UI existantes sur internet, notamment sur Git Hub ? Inimiginable autrement. Et l'ironie de l'histoire c'est que l'IA générative va mettre ces gens au chomage.

Je continue.

Comme chacun sait, un appareil mobile peut être orienté en portrait ou en paysage, et de plus il y a de grands écrans, typiquement des tablettes. Et même là ce n'est pas clair si on compare la résolution d'écran d'un téléphone récent par rapport à celle d'un téléphone d'il y a 8 ans, et la résolution d'une tablette. Sans surprise, Android Studio encourage la création d'autant d'UI que de combinaisons. Dans n'importe quelle application qui cherche à afficher son UI correctement, il y aura 4 fichiers différents, téléphone/portrait, téléphone/paysage, tablette/portrait, tablette/paysage. Le moindre changement d'UI devra être reporté (et testé) dans 4 fichiers différents ! C'est ultra productif et pas du tout error prone ! Notez l'ironie.

Dernière chose en date, alors que je teste ma première app en réel, je constate que mon UI explose si l'utilisateur ne choisit pas un réglage standard de taille de police. Ce qui est son choix et il faut évidemment le respecter. Android Studio crée des bouts de texte en les dimensionnant par des "sp", scalable pixels, qui est une variante du "dp", device independent pixels. Mais ce "sp" casse tout en réalité car il permet que l'UI soit dimensionnée pour tenir compte de la résolution de l'écran de l'appareil de l'utilisateur. Ce qui est une bonne chose. Mais, pour répondre au souhait de l'utilisateur, les textes affichés sont aussi redimensionnés pour tenir compte à la fois de résolution de l'écran mais aussi du choix de taille de police de l'utilisateur, alors que le concepteur de l'UI ne le prévoit pas en ayant mis "sp". Bref, l'UI explose, le texte se retrouve tronqué, illisible, c'est terminé ! Au cas où ça ne serait pas clair, "dp" c'est spécifier des centimètres pour faire une UI, donc ne pas tenir compte de la taille de l'écran de l'utilisateur. Et d'ailleurs quand vous commencez à utiliser des centimètres, le meilleur pour faire ça c'est un bout de...papier !

La solution, en tout cas une solution c'est d'utiliser "dp" pour spécifier les tailles des polices lors de la conception des UI, c'est-à-dire de ne pas donner la possibilité à l'utilisateur d'imposer la taille des polices. Ainsi la maitrise du rendu de l'UI sur son appareil est conservée. L'UI n'explose pas et ainsi il y a une petite chance que l'utilisateur puisse l'utiliser, bien que ce soit sans la taille de police qu'il souhaite !
Android Studio, par le fait de mettre par défaut des "sp" partout pour les bouts de texte, favorise une mauvaise conception des UI. Ce qui est proposé par défaut compte énormément dans ce que font une majorité de développeurs.

C'est à peine croyable en 2023. Et encore, je m'arrête là car je n'en sais pas plus encore sur ce que je risque de découvrir. Ca fait peur.

Posted on 31-December-2023 20:47 | Category: anti-Google | comment[0] | trackback[0]



<-- previous page

< July >



This site

Process Explorer
COM Trace injection
AQTime profiler
Source monitor
GDI leaks tracking
Rootkit revealer
Rootkit removal



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