FastSpring wrong turn of events (FastSpring Risk Screening Process: Action needed) (BIS)

In the previous post, I made a comment related to how FastSpring was in my opinion either committing suicide or deliberately removing small vendors from their market place, by implementing a very expensive risk screening fee. The announcement came with a short date ultimatum, the way they implemented it was speaking volume in and of itself...

Now, those MFs have sent a reminder, and that fee that was announced as a one-time fee has now become an annual fee !

RIP FastSpring. You are not getting a single dollar from me anymore.

Posted on 27-November-2023 16:22 | Category: News | comment[0] | trackback[0]



Build of xlsgen adds read and write support for the following functions :

  • GROUPBY : allows you to create a summary of your data via a formula. It supports grouping along one axis and aggregating the associated values. For instance, if you had a table of sales data, you might generate a summary of sales by year. Syntax : =GROUPBY(row_fields,values,function,[field_headers],[total_depth],[sort_order],[filter_array])
  • PIVOTBY : allows you to group, aggregate, sort, and filter data based on the row and column fields that you specify. Syntax : =PIVOTBY(row_fields,col_fields,values,function,[field_headers],[row_total_depth],[row_sort_order],[col_total_depth],[col_sort_order],[filter_array])
  • PERCENTOF : returns the percentage that a subset makes up of a given data set. Syntax : =PERCENTOF(data_subset,data_all)

Functions are available from Microsoft in Excel 365. In beta at the time of writing.

Posted on 26-November-2023 14:40 | Category: xlsgen, Excel generator | comment[0] | trackback[0]


FastSpring wrong turn of events (FastSpring Risk Screening Process: Action needed)

I had been a happy software seller using FastSpring payment processing since 2014. When in 2020, FastSpring decided unilaterally to outsource monthly payments to PayPal subsidiary HyperWallet, I knew there was something going on. Indeed why would a payment company outsource a payment to another payment company, in addition to being competitors ?

HyperWallet in turn only allowed seller accounts to be actually paid after an identity verification took place. I thought they were being ANAL, after all, those guys are a private company, not the IRS, so what the hell. Yet I went through it and once completed I never had a problem with monthly payments. However I never liked having to deal with two companies even though my contract was basically with only one. Just did not have other options at the time being.

Yet things went on, and I thought perhaps that was the end of troubles. Well I guess until now. In November 13, 2023, FastSpring sent an email with this :

"FastSpring Risk Screening Process: Action needed

We would like to express our sincere gratitude for your continued support and trust in our services. As the e-commerce industry continues to evolve, we, as a responsible merchant of record, are obligated to perform regulatory requirements aimed at ensuring the security and integrity of our platform. In line with these evolving industry standards, we are implementing a Risk Screening Process, which is essential for maintaining a secure and reliable marketplace for all of our users. This process will include ID and address verification and will be conducted by our trusted partner, ShuftiPro.com who is renowned for its expertise in this field."

This is the first part of that email, and yet I am being let known that yet another third-party from nowhere is being introduced, and that probably I'll have to show identity papers even though I owe nothing to them. And of course, they probably think they owe nothing to me either, so whatever identity papers I show them, they get to sell them to any party they want if so they choose. How does that can possibly fit my contract with FastSpring ? How many additional third parties will get added in the long run ?

And here is the rub,

"We have implemented a fee of $150.00 to complete the Risk Screening. (...) If the fee payment isn't received by the specified date (December 4, 2023), your account will be unfortunately disabled, resulting in loss of access to the FastSpring platform and payment processing capabilities, including subscription renewals. Any existing payouts will be held for a duration of 90 days to account for potential refunds or chargebacks before being released."

So I have to pay for this even though I am the one providing identity papers. Really ?

And if I don't, my FastSpring account gets disabled next month regardless the sales going on. Oh and by the way, pending payments will be held as well.

Extortion, scam, phishing, I am out of words to describe what's going on here. How come a company that I came to respect along the years can coerce me into doing these things without giving alternatives ?

Oh and that's before you realize that the $150 USD they ask is before the VAT. Because yes, you'll be paying a VAT on it. In euros, it's a total of 175 euros instead of 142 euros.

I have asked support at FastSpring what was going on and got nothing relevant and was not offered options. Yes, support ended right there. That's it.

Now you know, next time you are wondering if FastSpring is a company to rely on, the answer is a definitive NO.

I went through a lot of shit already : I was in contract with Plimus/Bluesnap before and they screwed me too with monthly maintenance fees that were held and eventually never paid. Lost more than $300 USD with them, along with a despicable support people policy.

I am not saying this is the end for payment companies. Just that those that haven't been sold yet are taking a look at their margins, and probably doing this to get rid of small sellers. But this does not bode well for payment companies on the one hand, for individuals trying to sell software out there by relying on such payment companies on the other hand.

The first thing I did is try a non US company if perhaps the operating norms are a bit more loose and they won't be as much ANAL and as a result those guys won't screw sellers as much as those mentioned above did.

I am holding my breath though. Not quite confident that this will go smooth for the foreseeable future. It's really as if, when it comes to getting paid, something trivial, if you are a small company trying to sell out there, things are being made harder for doing just that. So you can have ultra speed internet fiber, PCs that can run all the software you want, but unable to make a business in this environment unless you are large and known. I am pretty sure if I were able to afford to send them a lawyer, things would take a different turn. Disgusting to say the least.

Posted on 19-November-2023 16:17 | Category: News | comment[0] | trackback[0]


A propos des résultats financiers de Google et de Microsoft

Les résultats financiers de Google et de Microsoft donnent le tournis tant ils sont en croissance, et ce malgré la fin du covid et donc des achats massifs de matériels et de logiciels pour pouvoir travailler à distance. D'ailleurs depuis quelques années, il se vend de moins en moins de PC et il est difficile de croire que la situation va changer, sauf si Microsoft OBLIGE littéralement les gens à acheter de nouveaux ordinateurs.

Concernant les résultats financiers, ce qu'on ne dit pas ce que ce fric est fait aux dépends des petits acteurs historiques qu'étaient les éditeurs de logiciels petits et moyens, les prestataires de service petits et moyens, bref ce fric arrive de la mort de ces acteurs à qui il revenait collectivement.

Peut-être, avec le recul, est-ce du darwinisme et que Google et Microsoft sont juste meilleurs.

Mais peut-être que ce n'est pas ça du tout et que ce n'est que la concrétisation d'une double fuite en avant.

D'abord cette fuite en avant sécuritaire qui interdit pratiquement d'installer quelque application que ce soit sur un ordinateur alors même que c'est sa fonction première, et la fuite en avant du "cloud" qui consiste à ne proposer plus que des services en ligne, piégeant une fois pour toutes les utilisateurs finaux et les entreprises.

A noter que si un petit acteur qui se pose en concurrent de Google et Microsoft propose une solution cloud à des entreprises, il sera toutefois obligé de faire reposer sa solution sur un cloud détenu par Google et Microsoft. Impossible d'y échapper désormais : le petit acteur sert d'ouvrier pour Google et Microsoft ; il creuse sa propre tombe.

Posted on 05-November-2023 09:19 | Category: France | comment[0] | trackback[0]


xlsgen : Preserving Python in Excel files

Build of xlsgen ensures that Excel files storing Python functions coming from the recent Python in Excel feature introduced by Microsoft are preserved as is.

Most notably, supporting reading and writing the new PY() function.

xlsgen does not run Python script however. If you want to use xlsgen and Python together, you can load xlsgen from a python environment and continue from there. This has been available forever.

Posted on 29-October-2023 11:07 | Category: xlsgen, Excel generator | comment[0] | trackback[0]


Le Google play store est du scam ?

Je me pose la question aujourd'hui de savoir si la boutique Google play ne serait pas du scam par hasard.

Parmi la grande quantité d'informations très personnelles qui sont demandées, il y a celles-ci :

Create and manage your payments profile

Your Google payments profile stores information like:

Name, address and tax ID (when required legally) of the person who is responsible for the profile
Credit cards, debit cards, bank accounts and other payment methods that you've used to buy through Google in the past
Receipts and other information about past transactions
Subscriptions and recurring payments
People that you have invited to use your profile

Ceci est obligatoire rien que pour pouvoir publier une application sur la boutique Google play, même si votre application est parfaitement gratuite (pas de paiement au téléchargement, ni à l'intérieur).

Et je le répète, ce n'est à ce stade qu'une partie des informations personnelles obligatoires.

Je trouve que donner ces informations c'est donner plus que je ne donne aux impôts. Et mon petit doigt me dit qu'il y a quelque chose qui ne va pas.

Je vais peut-être être obligé d'annuler mes prétentions à faire des produits Android. Et franchement, ce sera sans regret si on ne fait que m'imposer des contraintes.

La boutique Google play devrait être mon assistante pour diffuser en ligne mes applications, et rien d'autre.

De gros doutes sur la finalité de mes informations. Google au service de la NSA ?

Posted on 17-October-2023 18:01 | Category: anti-Google | comment[0] | trackback[0]


xlsgen : PowerShell scripting

Build of xlsgen adds support for running Windows PowerShell scripts.

Windows PowerShell is part of Windows and is more security-aware than other scripting languages such as VBScript and JScript. Since it can create and run COM object instances, and expose the object model to the client application, it is important to make it available to everyone in the context of xlsgen applications. Windows PowerShell scripts are .ps1 files.

And PowerShell is one of the available programming language targets available in the automatic source code generation tool that comes with the xlsgen install so you can get going in a snap.

Build comes with a code sample (/samples/PowerShell) that creates a simple worksheet. A copy of it is below.

Note that the xlsgen object model has constants (enumerated types) that PowerShell does not expose after reading the xlsgen type-library so we are making available, also in code samples, a file called xlsgen.ps1 that exposes all constants available from the object model.

Below is a code sample using PowerShell :

# Produced by xlsgen code generator (c) ARsT design.
# For more info, see http://xlsgen.arstdesign.com
# To use this code in your PowerShell script editor, remember to add the
# xlsgen constant-library with the following statement :
# .samples/PowerShell/xlsgen.ps1
# In order to import the .ps1 script, make sure to run PowerShell as admin and
# set the appropriate execution policy as in :
# Set-ExecutionPolicy RemoteSigned
# which allows to run the .ps1 script within a console

$engine = new-object -ComObject ExcelGenerator.ARsTDesign
$workbook = $engine.New( "C:\tmp\myfile.xlsx" )

$wksht001 = $workbook.AddWorksheet( "Sheet1" )

$wksht001.Cell(1,2).HtmlFloat = "<font color=#000000 size=11 name=""Calibri"">154</font>"
$wksht001.Cell(1,3).HtmlLabel = "<font color=#000000 size=11 name=""Calibri"">this is a test</font>"
$wksht001.Cell(3,3).HtmlFloat = "<font color=#000000 size=11 name=""Calibri"">1</font>"
$wksht001.Cell(4,3).HtmlFloat = "<font color=#000000 size=11 name=""Calibri"">2</font>"


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


xlsgen : Advanced data sorting (II)

Build of xlsgen complements build related to sorting data. It comes with the following features :

- support for sorting horizontally

- support for merged cells inside the sort area. Merged cells are preserved if they satisfy a number of logical constraints, otherwise the cells are unmerged.

- support for sorting inside auto-filters. A Sort property is now available in the auto-filter object, and saved as such in the file so you can combine sorting and filtering.

Posted on 08-October-2023 18:41 | Category: xlsgen, Excel generator | comment[0] | trackback[0]


xlsgen : Fix for page breaks

Build of xlsgen fixes a problem related to page breaks in XLSX and XLSB files which appears in Excel's user interface.

Excel can't handle print areas made of adjacent areas, as it breaks print previews in Excel, so a special flag is added to disable the problem altogether.

Posted on 29-September-2023 19:27 | Category: xlsgen, Excel generator | comment[0] | trackback[0]


xlsgen : Advanced data sorting

Build of xlsgen adds advanced data sorting. Before this build, sorting on values was already available. This build adds the following :

  • on values
  • on cell color : background cell color or font color
  • on associated icon (related to icon-based conditional formatting)

This is illustrated as follows :

Sort on values (ascending) by column C

Sort on background cell color (descending) by column D

Sort on cell font color (ascending) by column E

Sort on icons (ascending) by column G

Any number of sort conditions can be added (up to 3 if you target XLS files) so if you'd like to sort on column C then on column D, the corresponding conditions can be added to the tree of conditions, accordingly.

Here is an example for sorting on background cell color :

C++ code

xlsgen::IXlsWorkbookPtr wbk = engine->Open( L"data.xls", L"output.xls" );

xlsgen::IXlsWorksheetPtr wksht = wbk->WorksheetByIndex[1];

xlsgen::IXlsRangePtr r = wksht->NewRange(L"C4:F7");
xlsgen::IXlsSortPtr sort = r->NewSort();

xlsgen::IXlsSortConditionPtr sc = sort->NewCondition();

sc->SortOnWhat = xlsgen::sortcondition_oncellbkgndcolor; // cell background color is used as sort criteria
sc->columnIndex = 2; // 2nd column of the range, i.e. column D
sc->SortColor = 0xFFFF00; // 0xFFFF00 = yellow


And another one for sorting on icons (related to existing conditional formatting of type icon) :

C++ code

xlsgen::IXlsWorkbookPtr wbk = engine->Open( L"data.xls", L"output.xls" );

xlsgen::IXlsWorksheetPtr wksht = wbk->WorksheetByIndex[1];

xlsgen::IXlsRangePtr r = wksht->NewRange(L"C4:F7");
xlsgen::IXlsSortPtr sort = r->NewSort();

xlsgen::IXlsSortConditionPtr sc = sort->NewCondition();

sc->SortOnWhat = xlsgen::sortcondition_onicon; // cell icon is used as sort criteria
sc->columnIndex = 4; // 4th column of the range i.e. column F
sc->SortIconset = xlsgen::iconset_3trafficlights_unrimmed; // icon set to match
sc->SortIconsetIndex = 1; // which icon in iconset to match (1-based)


Posted on 29-September-2023 16:26 | Category: xlsgen, Excel generator | comment[0] | trackback[0]


Le journal Ouest France, résumé en une phrase

On croit rêver mais c'est vrai.

Titre de l'article du ouest france :

extrait : "La Terre sera inhabitable beaucoup plus tôt que prévu"

Titre extrèmement putaclic et stressant.

Puis on lit l'article. Et dans le premier paragraphe :

extrait : "Une étude internationale publiée ce lundi 25 septembre 2023 dans la revue « Nature Geoscience » indique que la Terre connaîtra des températures invivables dans 250 millions d’années."

Je crois qu'on va s'en remettre, finalement....

Posted on 27-September-2023 09:17 | Category: France | comment[0] | trackback[0]


Unity 3D engine TOS changes

I don't understand the snafu about Unity changing terms over the use of their licensed Unity 3D Engine. The reason why is, if you are a small game company, you are not impacted at all. If you are a large one, the way you protect your business is by purchasing insurances to make sure you are covered when this happens.

So other than yelling for the sake of yelling, I don't see what is so wrong about it.

Oh, and by the way, if you are serious about 3D gaming, you already must have written your own engine and associated tools. So whatever Unity or any of competing engines do is even less of a problem in my opinion.

Posted on 14-September-2023 15:53 | Category: News | comment[0] | trackback[0]


xlsgen : Security fix for WebP files

Build of xlsgen has a security fix related to WebP pictures. A 0-day vulnerability in the official libWebp library for reading/writing WebP pictures has been discovered. xlsgen relies on libWebp so it needed to be patched as well.

Posted on 14-September-2023 09:29 | Category: xlsgen, Excel generator | comment[0] | trackback[0]


ChatGPT, already the end of it

ChatGPT, already the end of it. We hardly knew you. RIP.

extrait : "Weeks after The New York Times updated its terms of service (TOS) to prohibit AI companies from scraping its articles and images to train AI models, it appears that the Times may be preparing to sue OpenAI. The result, experts speculate, could be devastating to OpenAI, including the destruction of ChatGPT's dataset and fines up to $150,000 per infringing piece of content."

Posted on 19-August-2023 07:58 | Category: News | comment[0] | trackback[0]


The Android side (II)

In fact, the most basic problem with Android Studio for someone who never used before, is how bad the default application sample is. This is known territory, if you remember Visual Studio, it came with a /samples folder full of rubbish code samples. But the default application is just bad. It does not do anything meaningful, it uses a bad layout model (constrained layout) ; it also does not come with simple code snippets for logging stuff in the output console, or show a modal box. In a nutshell, it does not come with anything relevant for someone who never used it before.
The crap does not stop here, suffice to say. But Android Studio could come a long way with a better, useable, default application sample.

Oh and by the way, if it came with all gradle run-time and one or two virtual devices, all packed in the sample installer, that would also make it less crazy like sometimes it seems building a trivial project requires the download of many pieces, none of which you asked for.

Posted on 11-August-2023 10:55 | Category: News | comment[0] | trackback[0]


The Android side

Since yesterday, I have started delving around the Android world, namely Android studio and the like. I'm sorry, but coming from the Visual Studio world, Android studio is a steeming pile of shit, and every moment of it, like everything you click on, is so bad and incorrect in design that it feels like an ad for Apple X-code.
There you go Google.

Posted on 10-August-2023 11:16 | Category: News | comment[0] | trackback[0]


xlsgen : Advanced data labels (II)

Build of xlsgen introduces additional features to data labels, this time the ability to set a custom shape to the whole series of data points, or only one data point.

Custom data label shapes

xlsgen reads, writes, renders, and exposes in the automatic source code generation tool (xlscodegen.exe) this new feature. It is available for all XLSX/XLSB files. Notably it is not available for XLS files because Excel does not create internal records for this XLS files. This feature was made available by Microsoft first back in Excel 2013, as noted here.

Here is how to set a custom data label shape for an entire series of data points :

chart->SeriesByIndex[1]->SeriesDataLabels->VectorShape = xlsgen::vectorshapetypeEllipse;

And here is how to do it for a single data point :

chart->SeriesByIndex[1]->SeriesDataLabels->DataLabelElements[3]->VectorShape = xlsgen::vectorshapetypeOctagon;

Shape types are to be chosen from the following enumVectorShape enumeration.

Posted on 06-August-2023 10:32 | Category: xlsgen, Excel generator | comment[0] | trackback[0]


xlsgen : Advanced data labels

Build 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 :


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 :


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 : Performance fix pack (III)

Build 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 : Behavior of worksheet deletion

Build 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]



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