XEROF

 

xlsgen 5.0.0.12 : Advanced data labels


Build 5.0.0.12 of xlsgen introduces advanced data labels in charts.


Data labels leader lines (in red)


It is made of the following :

- Exposure in the object model, Read, Write, and exposure in the automatic source code generation tool (xlscodegen.exe) of data labels leader lines (see picture above), which are used to draw lines between data labels with custom positions and the actual chart data. This is for all Excel files (XLS, XLSX, XLSB, ...)

With this exposure, leader line formatting (color, width, style) can be accessed with the following type of code :

(C++)


chart002s1->SeriesByIndex[1]->SeriesDataLabels->Show = xlsgen::datalabels_value;
chart002s1->SeriesByIndex[1]->SeriesDataLabels->LeaderLinesOptions->Patterns->Borders->Type = xlsgen::chartbordertype_custom;
chart002s1->SeriesByIndex[1]->SeriesDataLabels->LeaderLinesOptions->Patterns->Borders->Style = xlsgen::chartborderstyle_solid;
chart002s1->SeriesByIndex[1]->SeriesDataLabels->LeaderLinesOptions->Patterns->Borders->Weight = xlsgen::chartborderweight_thick;
chart002s1->SeriesByIndex[1]->SeriesDataLabels->LeaderLinesOptions->Patterns->Borders->Color = 0x00B0F0;


- Exposure of arrow/symbol formatting at the end of leader lines, both ends. Read, Write, and also exposure in the automatic source code generation tool (xlscodegen.exe). This is for all Excel files (XLS, XLSX, XLSB, ...). With this, as pictured above, you can add a symbol such as a triangle. And it works like this with a couple lines of code :

(C++)


chart002s1->SeriesByIndex[1]->SeriesDataLabels->LeaderLinesOptions->Patterns->Borders->ArrowStyleBeginCap->Style = xlsgen::vectorshapearrowstyle_triangle;
chart002s1->SeriesByIndex[1]->SeriesDataLabels->LeaderLinesOptions->Patterns->Borders->ArrowStyleBeginCap->Width = xlsgen::vectorshapearrowwidth_medium;
chart002s1->SeriesByIndex[1]->SeriesDataLabels->LeaderLinesOptions->Patterns->Borders->ArrowStyleBeginCap->Length = xlsgen::vectorshapearrowlength_medium;



- Extension of data label leader lines to chart types other than pie charts. Before Excel 2013, data label leader lines were exposed in Excel but only for pie charts (and their variants such as the doughnut). With Excel 2013, Excel extended the data label leader lines to all chart types, that is, bars, lines, XY charts, ...

What xlsgen does is provide Read and Write support for this as well. Also, what xlsgen does additionally is to render those formatted data label leader lines for all chart types. This comes at no cost for a client application since not even one line of code is needed for that.


Last but not least, it is important, as xlsgen keeps adding a lot of micro details API to the object model, which can be daunting to learn, grasp and handle, it is reminded that in fact the best way to get your job done is by using a particular feature by hand in Excel, saving the file, and then using our automatic source code generation tool (xlscodegen.exe) in order to obtain the corresponding source code, in one of many of the supported programming languages. It cannot be faster this way.

Posted on 02-August-2023 18:55 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

xlsgen 5.0.0.11 : Performance fix pack (III)


Build 5.0.0.11 of xlsgen is a memory and speed performance again. It improves up to x5 the speed of writing XLSX/XLSB files with many relationships, such as files with many hyperlinks (but not only this scenario).

Posted on 26-July-2023 06:51 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

xlsgen 5.0.0.10 : Behavior of worksheet deletion


Build 5.0.0.10 of xlsgen makes a change in behavior when a worksheet is deleted.

Before this build, when a worksheet was deleted, its content would be internally erased, but the worksheet itself would still appear as part of the worksheet collection of the current workbook. And only when closing the workbook would the worksheet be actually not written back in the file, hence the worksheet deletion.

Beginning with this build, a worksheet deleted by a statement such as worksheet.Delete() immediately disappear from the worksheet collection, making it more natural to program worksheets.

Posted on 22-July-2023 19:00 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

xlsgen 5.0.0.9 : Performance fix pack (II)


Build 5.0.0.9 of xlsgen adds up on the previous build and improves both speed and memory performance of xlsgen :

- faster reading of files with many shapes

- better scaling of memory when processing many hyperlinks and shapes

Posted on 14-July-2023 14:32 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

Youtube being anal


When I read this,

extrait : "YouTube is currently running what it describes as a "small experiment globally," warning users to toggle off their ad blockers and avoid being limited to only three video views."


I wonder what wrong must have happened for youtube to be so anal.

Guess what, youtube is now against ad blockers.

Probably everyone saw it coming. First of all, youtube introduced non-stoppable ads and annoyed pretty much every human on the planet with it. I guess ad blockers must have moved to find the filtering rules needed to block those non-stoppable ads, even though I don't see this in practice yet. Youtube must know adblockers made a move, and youtube is now reacting to this move by making sure every fucking user either whitelists youtube or creates a youtube account only to watch videos (just as doomed as twitter asking for an account only to watch tweets).

In the end this is not going to end well for youtube. It's way too hostile.

Posted on 01-July-2023 18:13 | Category: News | comment[0] | trackback[0]

 

xlsgen 5.0.0.8 : Performance fix pack


Build 5.0.0.8 of xlsgen is a performance fix pack, and also contains a fix for cell metadata :

- better handling of XLSX files with many internal relationships (hyperlinks) to avoid GPF case.

- removed most middle layer API calls to traverse relationships, avoiding bottleneck in files with many internal relationships

- refactored code in tables and pivot tables that were indirect bottlenecks as well


Also a fix for cell metadata to better return hit test for cells containing hyperlinks.


Posted on 28-June-2023 11:56 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

xlsgen 5.0.0.7 : Fix pack for pivot tables


Build 5.0.0.7 of xlsgen is a fix pack for pivot table rendering :

- introduction of Outline and Compact rendering algorithms

- better reading of existing pivot table layout setting from XLSX fles

- cell indent is now 3 space chars instead of 2 space chars, used notably in Compact rendering algorithm


Pivot table rendering has now 3 rendering layout algorithms depending on your choosing : Tabular, Outline and Compact.

Differences is that Outline and Compact don't have subtotals and grandtotals.

Compact has all row fields in a single column (hierarchically), as opposed to one column per row field.

Posted on 25-June-2023 16:12 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

Mais à quoi sert Windows 11 ?


Depuis un moment, Microsoft spam les utilisateurs de Windows pour qu'ils passent à Windows 11, même lorsque l'ordinateur ne remplit pas les critères de compatibilité.

On le sait, Microsoft a positionné Windows 11 comme un rempart décisif essentiel contre les vulnérabilités, via cette fameuse puce TPM (Trust Platform Module). En gros, si vous voulez éviter une classe entière de vulnérabilités, la puce TPM va permettre de réaliser cette protection et il vous faut donc migrer vers Windows 11.

Sauf que, sauf que...

Voici un petit extrait du patch tuesday, le fameux patch mensuel, daté d'Avril 2023 :

extrait : "Windows et le Patch Tuesday d’avril 2023.
Dans le détail Microsoft corrige 56 vulnérabilités dans Windows 10 21H2 et 22H2 dont cinq sont jugées critique.
De son coté Windows 11 (21H2 et 22H2) est victime de 59 vulnérabilités dont cinq sont jugées critiques. Il s’agit des mêmes failles critiques que celles de Windows 10.
"


Les mêmes failles dans Windows 11 que Windows 10 ? On nous aurait menti alors ?

Passez votre chemin. Si vous êtes un particulier, le passage à Windows 11 n'a aucun intérêt. Bien sûr, vous serez un jour obligé de le faire car nombre de logiciels tiers vont vous y obliger à terme (Chrome, Firefox, ...) malgré l'absence de fondement technique.

Si vous êtes en entreprise, le message de Microsoft pour faire peur et "forcer" le passage à Windows 11, n'est en pratique qu'un message commercial. Le patch tuesday ci-dessus, choisi au hasard, est un parfait contre-exemple de cette logique commerciale. CQFD.

Posted on 23-June-2023 15:08 | Category: anti-Microsoft | comment[0] | trackback[0]

 

Orange telecom versus Elon Musk


I have to say that I am generally offended when Orange CEO, one of the biggest networks in the EU, is telling Elon Musk that information needs to be moderated.

The question that it raises then is why and who is legit to do this censoring work. It would not be so bad if this was said by some random jerk startup guy, but Orange isn't that. Orange has a leg on what many million users see and read with their online connection be it DSL/Fiber or off the air. And such a stand from Orange is unacceptable for me. Everyone should be provided modern (aka powerful) tools so they can preemptively and after-the-fact censor stuff they do not want to see based on their beliefs, but it should never end up censoring what the poster is saying, it should only censor what I as a consumer and citizen see. In other words, I should end up censoring the content that flows to me, because that's after all what my beliefs are compatible with anyway. And that's it.
Anything else is raw vulgar general censorship meant to allow an untold party to govern us. Obviously this is not right. Especially in those times where actually elected people have less power than ever. Those guys can see this general censorship as a tool to get back this lost power. But I believe instead their act should organically bring their elected power back in place and they should not touch free speech at all.

Posted on 20-June-2023 10:17 | Category: News | comment[0] | trackback[0]

 

xlsgen 5.0.0.6 : Fix pack


Build 5.0.0.6 of xlsgen is a fix pack.

- Systematic crash during pivot table generation in XLSX files. This is now fixed.

- Unable to read item groupings from existing pivot tables in XLSX files due to creative usage of XML standard in Excel. This is now fixed too.

- Crash when reading complex pivot tables from XLSB files. Fixed.

Posted on 24-May-2023 11:50 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

xlsgen 5.0.0.5 : Preserve color themes


Build 5.0.0.5 of xlsgen ensures that color details are preserved as is during read/write and file conversion (such as XLSX to XLSB for instance). This preserves palette indexes, color themes, rgbs, ... along with color effects such as tint, alpha, shade, luminosity modulation. This is for colors in cells and in shapes.

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

 

xlsgen 5.0.0.4 : Print Row and Col headings


Build 5.0.0.4 of xlsgen adds support for rendering row and column headings in scenarios such as Print, export to PDF, XPS, ...


row and column headings in xlsgen

The row and col headings in Excel is in the print settings dialog, sheet tab. And is on a per worksheet basis.

Posted on 26-April-2023 21:30 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

xlsgen 5.0.0.3 : Fix for horizontal bar chart rendering


Build 5.0.0.3 of xlsgen fixes a problem related to rendering charts with horizontal bars that happen to also be stacked and stretched. Rendering was incorrect and some of the bars could be clipped entirely.

Posted on 19-April-2023 18:16 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

xlsgen 5.0.0.2 : Preserve custom sheet views


Build 5.0.0.2 of xlsgen adds support for preserving custom sheet views. This was already supported in XLS files, but is now for XLSX and XLSB files.

Custom sheet views are views that have their own zoom level, hidden rows, frozen panes and so on. Custom sheet views can be created in Excel by going to the View menu and clicking on New Window to create a new custom sheet view. All other views are open simultaneously. And to switch which view goes in the foreground, click on Switch windows.

Posted on 19-April-2023 18:13 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

VLC player lagging ? Just use an older version !


The title says it all. I built a brand new PC computer and the VLC player was part of the software I had to install in order to watch my videos. Turns out that even though this computer is by far the fastest I have had (i5 12400, 3200 Mhz memory, NVME SSD and a 1050 ti nvidia gfx card), my videos in VLC would lag. I would get audio out of sync with images.

Turns out Windows media player did not lag at all, so that would put out of question the fact that files were incorrectly encoded.

Then I turn to google and start finding out if there is a tip that would help solve this. Many answers, mostly copies of one another. And none worked for me.

And then I wondered since I installed the latest version of VLC, what if I installed an older version. Bingo! Instead of 3.x I did install 2.x, and the lag was gone.

So there it is. Don't know what the VLC guys are doing these days, apparently insufficient QA testing, but if you lag, and by that I mean the audio is out of sync with images, then simply try uninstalling your copy of VLC and install an old one, thankfully you can still find it on the VLC site since they host an archive of past releases.

Posted on 12-April-2023 07:34 | Category: News | comment[0] | trackback[0]

 

xlsgen 5.0.0.1 : Strict ISO 29500


Build 5.0.0.1 of xlsgen introduces read and write support for the strict version of XLSX files known as ISO 29500.

This variant is used in corporations out there for compliance purposes. The strict version of XLSX poses less security risk because it does not carry VBA macros. Internally, the XML is also more standard. And there is no pseudo-XML such as VML either.

How to you create such file ? Just like a regular XLSX file, except a property must be toggled before the file is created :


IXlsWorkbook wbk = engine.New("file.xlsx")
wbk.StrictISO29500 = true

IXlsWorksheet wksht = wbk.AddWorksheet("Sheet1)
...

wbk.Close()


Posted on 30-March-2023 21:49 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

xlsgen 5.0 has shipped !


xlsgen 5.0 has shipped.

The first and most impacting feature is its licensing model, where we are introducing upgrades on a per year basis, and at a competitive price. In other words, we are done with our 2-year major version licensing model.

Of course, xlsgen is still royalty-free.



Long life xlsgen 5.0 !!!!!

Posted on 18-March-2023 12:15 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

Downloading live TS streams


Downloading live TS streams



Given what I see in the Network tab of the Firefox developer tools, I wanted to use the power of firefox extensions to actually catch up all those TS requests, that I know are the actual meat of live streams. Concatenating those small TS fragments together ends up with the full file on your hard drive for personal consumption.

So that's how the journey begins. In fact those writing a firefox extension have a number of pre-built tools at their disposal. Namely the background script, which really acts as a background thread, where you will fetch and download the TS fragments.

Here is how you build the firefox extension, from scratch.


  • manifest.json // that's how firefox recognizes a firefox extension
  • background.js // your background code
  • icons / border-48.png // a random icon


Here is manifest.json :

{

"manifest_version": 2,
"name": "TS download",
"version": "1.0",

"description": "---- -----",

"icons": {
"48": "icons/border-48.png"
},

"background": {
"scripts": [ "background.js" ],
"persistent": true
},

"permissions": [
"webRequest",
"unlimitedStorage",
"storage",
"downloads",
"tabs",
"http://*/*",
"https://*/*"
]
}


The manifest.json file specifies the actual background script, that runs outside of firefox UI. Also the permissions, one of which is used to make sure we are able to fetch and download fragments and save them as a file on the system (firefox's download folder).

Which leads us to background.js :



var filenameFragmentId = 1;

function onStartedDownload(id) {
console.log(`Started downloading: ${id}`);
}

function onFailed(error) {
console.log(`Download failed: ${error}`);
}

function logURL(requestDetails) {

filename = "tsFragment" + String(filenameFragmentId).padStart(5, '0') + ".ts";

console.log(`Loading: ${requestDetails.url}, filename: ${filename}`);



var downloading = browser.downloads.download(
{
url: requestDetails.url,
saveAs: false,
conflictAction: "uniquify",
filename
}
);

downloading.then(onStartedDownload, onFailed);

filenameFragmentId++;

}

browser.webRequest.onBeforeRequest.addListener(
logURL,
{
types:["xmlhttprequest"],
urls:["http://*/*.ts","https://*/*.ts","http://*/*.ts?*","https://*/*.ts?*"]
}
);


What we do is get notified of firefox actual requests to the live stream server. That's done by passing a function callback (logURL) to the onBeforeRequest listener, also passing a filter limiting our interest to .TS content types.

And in our function callback implementation, what we do is build and download the TS fragment which is a binary response to the incoming request. In order to make the download function work, we need to build a filename, so fragments don't overwrite them, and also we need to make sure that no UI dialog shows up, because that would stop our function from doing anything relevant.

When you get this running, you'll get the following file sequence created in the firefox download folder :

  • tsFragment00001.ts
  • tsFragment00002.ts
  • tsFragment00003.ts
  • tsFragment00004.ts
  • ...


If you use VLC to view those .ts fragments, they work perfectly well. Of course, they are what they are, very short fragments of the actual live stream. What we need to put these together is a copy command.

For this, open up a command window, make sure your current folder is the firefox download folder, and then type this :

copy /B tsFragment*.ts full.ts


Running this copy command creates full.ts, which is the standalone video file for the live stream between the moment the firefox extension started and the moment it got stopped. Properly handling the start time and the end time lets you capture a video of what you actually want.

There is something that must be paid attention to, it is the video bitrate, especially the fact that it stays stable during capture. So if you are capturing a Twitch live stream for instance, just make sure to set a fix video bitrate for your player, for instance 720P if you are on fiber internet, 480P if you are on DSL internet.

To load the firefox extension, just type, in firefox address bar :

about:debugging#/runtime/this-firefox

and then click on Load temporary add-on and point to the manifest.json file.

Posted on 27-February-2023 17:45 | Category: Automatic Video Slicer | comment[0] | trackback[0]

 

Support for Microsoft Word .DOC files


The search tool already supported .DOCX and .DOCM Microsoft Word files, but old ones were not.

With this update, .DOC files are also supported.

This may sound a bit odd given how old .DOC files are, but it turns out there must be billions .DOC files within corporation walls out there and asking someone to convert a .DOC file to a .DOCX or .DOCM file only to be made compatible for searching, was not a tenable option.

If you were using the search tool so far, just download the latest version from our website. If you were not using the search tool yet, downloading the search tool comes with this feature.

Other than actual text, objects that are searched for in .DOC files are : header/footer, comments and shapes. When a match is found, the search tool makes it possible to go to the actual match in the .DOC file in question in Word itself, excepts for a match in comments (Microsoft Word does not make this possible programmatically).

Posted on 17-February-2023 09:29 | Category: search tool | comment[0] | trackback[0]

 

ChatGPT : qu'est-ce qu'on se marre ?


Certains crédules s'étonnent que, lorsqu'ils utilisent leur nouveau joujou technologique ChatGPT, à qui ils demandent de dire des choses positives sur Donald Trump, ce moteur n'arrive pas à produire grand chose. Alors que c'est tout le contraire pour Joe Biden par exemple.

extrait : "When asked to “write a poem about the positive attributes of Trump,” ChatGPT refused to wade into politics. But when asked to do the same thing for current commander-in-chief Joe Biden, ChatGPT obliged."


Me font rire ces gens qui s'en étonnent. Comment pourrait-il en être autrement alors que ChatGPT se nourrit de ce qui est publique sur internet. Hors, pour ce qui est des choses publiques sur internet, chacun sait que la classe médiatico-politique occidentale a rejeté Trump dès son élection, par idéologie pure.

C'est grave pour des gens qui s'en étonnent donc, de croire un seul instant que ce moteur puisse créer quelque chose, alors qu'il se contente de recombiner des morceaux existants.

D'ailleurs pour enfoncer le clou encore un peu plus loin, de simples questions d'arithmétique permette de conclure que ce moteur recrache ce qu'il a indexé quelque part, et est incapable d'inférer d'autres calculs. Alors pouvoir faire un raisonnement, ma bonne dame, il va falloir attendre un peu... Disons un siècle, ce sera déjà bien.

Posted on 05-February-2023 16:29 | Category: France | comment[0] | trackback[0]

 

 

<-- previous page

< July >
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)