XEROF

 

xlsgen 4.5.0.74 : Support for XMATCH/XLOOKUP functions



Build 4.5.0.74 of xlsgen adds read, write and calculation support for XMATCH() and XLOOKUP() functions.

Those functions have been recently introduced by Microsoft as part of Office 365 insider preview and they'll be made available with an Office 365 subscription in 2020. They will never be supported in any existing Excel version (2007/2010/2013/2016/2019).

xlsgen supports them right now.

XMATCH() and XLOOKUP() are, according to Microsoft, more powerful versions of MATCH() and LOOKUP() functions.

They are indeed more powerful in the sense that MATCH() has several lookup algorithms, it does not go only top to bottom. And XLOOKUP() is more powerful than traditional LOOKUP()/HLOOKUP()/VLOOKUP() functions in the sense that the same function supports looking up in all directions, also it has a "if not found" fallback parameter which can be set optionally, and finally the return range is arbitrarily set. In other words, XMATCH() and XLOOKUP() can replace complex combinations of simpler functions sometimes.

Syntax : (optional arguments are square braced)

XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])

XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])


match_mode is {0 = exact, 1 = lesser approximation, -1 = higher approximation, 2 = exact with wildcard characters}

search_mode is {1 = top-to-bottom search, -1 = bottom-to-top, 2 = half split top to bottom, -2 = half split bottom to top}

Posted on 17-November-2019 13:00 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

xlsgen 4.5.0.73 : Fix pack (III)


Build 4.5.0.73 of xlsgen fixes two problems related to rendering :

1) correct page margin inclusion (right edge)

2) in header/footer, any content in the center portion can span along the entire width of the page, excluding margins, not just the third of the width of the page, excluding margins.

Posted on 14-October-2019 12:02 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

PDF vulnerability : how amateur


According to Zdnet,

extrait : "New PDFex attack can exfiltrate data from encrypted PDF files. All the 27 desktop and web PDF viewer apps that were tested were found to be vulnerable in a way or another."


And here is the culprit, from my point of view (emphasis mine) :

extrait : "The research team says that an attacker can tamper with these unencrypted fields and create a booby-trapped PDF file that when decrypted and opened will attempt to send the file's content back to an attacker. (...) by adding a PDF form that auto-submits the PDF's content to an attacker's server when the victim decrypts and opens an encrypted PDF;"


A form control that auto-submits itself, how does that even pass through review in all PDF viewers out there? And how on earth is it possible that auto-submitting a form isn't disabled by default ?

Just overnight, all those PDF viewers have become a liability to every (corporate or no) user on the planet. I hope someone sues their ass off because such an auto-submit behavior was and is irresponsible.

Posted on 08-October-2019 11:16 | Category: News | comment[0] | trackback[0]

 

xlsgen 4.5.0.72 : Fix pack (II)


Build 4.5.0.72 of xlsgen includes a number of fixes :

1) better handle fitToWidth and fitToTall page setup settings from XLSX files

2) improved fit-to-page algorithm when either fitToWidth or fitToTall is unspecified

3) localize PDF bookmarks in the PDF bookmarks bar by taking into account the current formula language

4) improved position of pictures when rendering pages with repeat columns or rows

5) avoid picture duplicates in XLSX and XLSB files (and their variants, XLSM, XLST, ...)

6) merged cells pre-write for rendering needs

Posted on 08-October-2019 00:10 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

xlsgen 4.5.0.71 : Fix pack


Build 4.5.0.71 of xlsgen is a pack of 2 fixes.

1) Support for the variant of =CEILING(number, significance) function introduced by Microsoft in Excel 2013. A silent behavorial change was introduced which allows the number to be negative while the significative to remain positive in order to ask for the rounding be the smallest integer instead of highest integer.

2) More fixing of internal shared formulas in cell manipulation scenarios.

Posted on 02-October-2019 00:49 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

xlsgen 4.5.0.70 : Querying objects by name


Build 4.5.0.70 of xlsgen adds object name setting and querying. This applies to shapes, pictures, text boxes, vector shapes and charts.

In Excel, object names appear in the same list than defined named, even though technically speaking they are not because they have no formula attached to it. Some of those names can be edited using the corresponding ribbon name field.

Querying a known name is a convenient method for getting an object and doing something with it, such as calculating depending formulas, rendering it and so on. Querying a known name in xlsgen is achieved by first getting the objects collection in question (for instance the charts collection for the current worksheet) and then use the ItemByName property to obtain the object by just passing the name as argument.

In xlsgen, when new objects such as shapes, pictures, text boxes, vector shapes and charts are created, they have no name by default. You can add one by just using the Name property which is a read/write property.

This works with all Excel file types.

Posted on 29-September-2019 10:22 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

Unexcusable YouTube submission to power


When you know that YouTube makes a statement like this,

extrait : "YouTube will remove content from politicians using its platform if their content violates the company’s guidelines, but some exceptions can be made if the videos have enough educational, news, scientific or artistic value."


you know that something is wrong, very wrong.

That YouTube does not bring a despicable video in their top search results or even in the automatically played or recommended videos, I see no problem with it, because the video is still there for anyone to find and see.

But that YouTube removes any video, on what grounds are they judiciary parts ? Of course YouTube, by behaving like this, will represent the bad will of political and religious militants, not the interest of the general public. This has profound implications for freedom of expression. Remember, video is not like text. You can put up a computer online and a blog, and put your text there. It's all yours period. But video is hard to host because of the bandwidth it demands to cast over more than one person at a time. So YouTube is always one of the defacto destinations for hosting videos due to technical difficulties of doing it yourself. This is the reason why YouTube should not have a say, especially made worse because this say is on behalf of militants most of the time, and just host the video and that's it.

If that isn't the case, then YouTube should make that clear in every page of the site that the videos they host are videos they enfully endorsed. Again, this has deep judicial implications and also questions the freedom of expression. Perhaps, after all, YouTube isn't the place you are looking for.

Posted on 27-September-2019 12:11 | Category: anti-Google | comment[0] | trackback[0]

 

xlsgen 4.5.0.69 : Improved page order print/rendering


Build 4.5.0.69 of xlsgen improves the page order algorithm in print/preview/PDF/XPS scenarios.

Prior to this build, pages would be rendered by xlsgen in a top-down then left-right algorithm with no API available to change that.

The page setup object has a new property, PageNumberLeftToRight, which when set to TRUE does the opposite, i.e. pages are rendered in a left-right then top-down algorithm.

Posted on 24-September-2019 20:37 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

xlsgen 4.5.0.68 : Fix pack (III)


Build 4.5.0.68 of xlsgen has 6 fixes :

1) fix picture duplication for XLS files (mso drawing solver container records correctly placed)

2) migrate form controls from XLS files to XLSX/XLSB files

3) migrate shape arrows properly from XLS files to XLSB/XLSB files

4) automatic source code generator exposes more accurate column width (floating point values)

5) sparkline rendering of "same min and max property for all sparklines" in XLSX/XLSB files

6) translation of formula error codes such as #VALUE! in the 6 formula languages (english, french, german, spanish, italian and portuguese). So #NAME? appears as #¿NOMBRE? in spanish, #VALUE! appears as #WERT! in german, and so on. Don't forget to set the formula language before processing a formula (reading or writing) with the workbook FormulaLanguage property.

Posted on 24-September-2019 20:33 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

xlsgen 4.5.0.67 : Fix pack (II)


Build 4.5.0.67 of xlsgen has two fixes :

1) case of formula corruption on row manipulation (insertion/deletion)

2) range selection allows max column and max row of current worksheet

Posted on 20-September-2019 10:36 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

AI is crap and then...


extrait : "But first they had to rebuild it, and their design, for reasons unknown, was falling short of its promised results. Until, that is, the students tried some “creative manipulations” that didn’t appear in the other lab’s paper."


So-called AI is entirely empirical. It's not hard and demonstrative science (like maths for instance). In other words, just crap. If you hear the word "A.I.", just move on.

Posted on 17-September-2019 22:52 | Category: News | comment[0] | trackback[0]

 

xlsgen 4.5.0.66 : Fix pack


Build 4.5.0.66 of xlsgen is a fix pack.

1) incorrect sparklines minimum and maximum axis options handling for XLSX files

2) incorrect picture migration from XLS to XLSX or XLSB files, related to changing the sign of internal offsets

Posted on 14-September-2019 11:03 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

Keynote Apple : un gros gag quand même


Keynote Apple : un gros gag quand même. Peu ou pas d'annonce invention qui justifie de changer d'appareil. A quoi bon faire un keynote quand il n'y a pas de substance ?

Posted on 11-September-2019 13:44 | Category: France | comment[0] | trackback[0]

 

L'iPhone et son absence de zoom optique


L'iPhone, 12 ans après sa sortie, Apple s'apprète à annoncer un upgrade de la fonction caméra avec un (petit) zoom optique. 12 ans d'attente pour une fonction qui aurait pu être mise d'emblée pour éviter que tous ces gens qui font des photos avec soient ridicules.

Posted on 09-September-2019 09:07 | Category: France | comment[0] | trackback[0]

 

L'intelligence artificielle en prend pour son grade en ce moment


L'assistant vocal des appareils de chez Apple, nommé Siri, a provoqué le licenciement sec de centaines d'employés de sous-traitants depuis qu'un média (ou une mauvaise langue) a fait fuiter que la compréhension et la traduction de Siri étaient complétées voire réalisées par des humains. D'autant plus un sacrilège que Apple se fait passer pour l'entreprise la mieux-disante en terme de protection des droits. Ca met Apple dans le même sac que les autres. Ca dit de manière crue ce qu'est l'AI, en gros rien que du flan. Récoutez à ce propos ce que dit sur le sujet Luc Julia, un des co-fondateurs de Siri.

Posted on 29-August-2019 10:25 | Category: France | comment[0] | trackback[0]

 

Dutch governement after Microsoft


It's been years since this evil spy software known as Windows 10 shipped, and yet virtually zero government pushed against them in court.

That was before the Dutch government began taking Microsoft to task (emphasis mine),


extrait : "Microsoft has complied with the agreements made. However, the check also brought to light that Microsoft is remotely collecting other data from users. As a result, Microsoft is still potentially in breach of privacy rules"


Of course we are talking about what Microsoft calls "telemetry data" to minimize the importance of personal data. Indeed, besides ripping personal data such as the list of started applications, what's perhaps the worst in this is that it does it on a routine basis. I have heard every 15 minutes or so. In other words, Microsoft can build a profile a la facebook of who is the user in question, what he does, whether those meet predefined rules, etc. It's a police tool for a police state. In other words, evil.

Why are governments out there accepting this in the first place is beyond me. It is completely obvious that Microsoft should be sued to death for doing so, punished so hard that no one dares to do the same for a long time to come.

Posted on 28-August-2019 12:31 | Category: anti-Microsoft | comment[0] | trackback[0]

 

AI = Artificial Intelligence ?


J'aimerai bien que quelqu'un m'explique comment l'acronyme AI pour Artificial Intelligence fait sens ? Car Intelligence ne veut absolument pas dire intelligence en français, mais espionnage. Comment expliquer toutes ces startups américaines qui l'emploient alors ? Est-ce une façon pour elle d'admettre qu'elles ne font pas du tout de l'intelligence artificielle ? Ce serait logique au moins puisque en fait cette simulation du fonctionnement du cerveau n'existe absolument pas en réalité.

Posted on 25-August-2019 11:31 | Category: France | comment[0] | trackback[0]

 

xlsgen 4.5.0.65 : Python support in automatic source code generator


The automatic source code generator can already create source code in VB, VB.NET, VBScript, C++, C# and Java from an arbitrary Excel file, by just passing the file to it. Build 4.5.0.65 of xlsgen adds Python to the list of supported languages.


Support for Python in the xlsgen automatic source code generator

Here is an example of what it produces from an existing Excel file :


#
# Automatically generated Python code for xlsgen
#
# Produced by xlsgen code generator (c) ARsT design.
# For more info, see http://xlsgen.arstdesign.com
#

#
# Setting up Python for use in xlsgen :
#
# - Download python MSI installer (for instance python 2.7.10, 17 MB) from
# https://www.python.org/downloads/release/python-2710/
#
# - Double-click on python-2.7.10.msi in order to install the software
#
# - Download the python COM types library from
# https://pypi.python.org/pypi/comtypes
# (deep download link is https://github.com/enthought/comtypes/archive/1.1.2.zip)
#
# - Extract the /comtypes folder from the COM types library
# into the \Lib folder, where is the Python 2.7.10 install folder.
#
#
# In order to run the project, use the following command :
# \python.exe test.py
#


#
# Excel workbook creation
#

import comtypes.client
from comtypes.client import CreateObject

engine = CreateObject("ExcelGenerator.ARsTDesign")

xlsgen = comtypes.client.GetModule(["{2BDEA919-2489-4ED2-8F55-C12D74DAD9B8}", 1, 0])

wbk = engine.New("myfile.xlsx")

wbk.Theme = xlsgen.workbooktheme_classic

#
# Worksheet "MU_REPORT"
#

wksht001 = wbk.AddWorksheet( "MU_REPORT" )

#
# Worksheet "Data Dictionary"
#

wksht002 = wbk.AddWorksheet( "Data Dictionary" )

#
# Worksheet "SheetNew"
#

wksht003 = wbk.AddWorksheet( "SheetNew" )

#
# declaration of dynamic named ranges
#

dynrange0000 = wksht001.NewDynamicRange("_ftnref1")
dynrange0000.Formula = "='Data Dictionary'!$C$8"

wksht001.Cell[1,1].HtmlLabel = "<font size=11 name=\"Calibri\">EHR Certification Number</font>"
wksht001.Cell[1,2].HtmlLabel = "<font size=11 name=\"Calibri\">Vendor Name</font>"
wksht001.Cell[1,3].HtmlLabel = "<font size=11 name=\"Calibri\">EHR Product CHP Id</font>"
wksht001.Cell[1,4].HtmlLabel = "<font size=11 name=\"Calibri\">EHR Product Name</font>"
wksht001.Cell[1,5].HtmlLabel = "<font size=11 name=\"Calibri\">EHR Product Version</font>"
wksht001.Cell[1,6].HtmlLabel = "<font size=11 name=\"Calibri\">Product Classification</font>"
wksht001.Cell[1,7].HtmlLabel = "<font size=11 name=\"Calibri\">Product Setting</font>"
wksht001.Cell[1,8].HtmlLabel = "<font size=11 name=\"Calibri\">Product Certification Edition Yr</font>"
wksht001.Cell[1,9].HtmlLabel = "<font size=11 name=\"Calibri\">Attestation Month</font>"
wksht001.Cell[1,10].HtmlLabel = "<font size=11 name=\"Calibri\">Attestation Year</font>"
wksht001.Cell[1,11].HtmlLabel = "<font size=11 name=\"Calibri\">Business State/Territory</font>"
wksht001.Cell[1,12].HtmlLabel = "<font size=11 name=\"Calibri\">Provider Type</font>"
wksht001.Cell[1,13].HtmlLabel = "<font size=11 name=\"Calibri\">Specialty</font>"
wksht001.Cell[1,14].HtmlLabel = "<font size=11 name=\"Calibri\">Program Year</font>"
wksht001.Cell[1,15].HtmlLabel = "<font size=11 name=\"Calibri\">Payment Year</font>"
wksht001.Cell[1,16].HtmlLabel = "<font size=11 name=\"Calibri\">Provider Stage Number</font>"
wksht001.Cell[1,17].HtmlLabel = "<font size=11 name=\"Calibri\">Program Type</font>"
wksht001.Cell[1,18].HtmlLabel = "<font size=11 name=\"Calibri\">Attestation_ID</font>"
wksht001.Cell[1,19].HtmlLabel = "<font size=11 name=\"Calibri\">Provider_ID</font>"
wksht001.Cell[2,1].HtmlLabel = "<font size=11 name=\"Calibri\">30000001SVGWEAS</font>"
wksht001.Cell[2,2].HtmlLabel = "<font size=11 name=\"Calibri\">NextGen Healthcare</font>"
wksht001.Cell[2,3].HtmlLabel = "<font size=11 name=\"Calibri\">CHP-007425</font>"
wksht001.Cell[2,4].HtmlLabel = "<font size=11 name=\"Calibri\">NextGen Ambulatory EHR</font>"



pivotTable003s0 = wksht003.NewPivotTable();
pivotTable003s0.DataSource.Range = "'MU_REPORT'!A1:S300"
pivotTable003s0.Options.Layout = xlsgen.pivottablelayout_outline
pivotTable003s0.Options.BuiltInPivotTableStyle = xlsgen.pivottablestyle_light16
pivotTable003s0.Options.ShowRowHeaders = True
pivotTable003s0.Options.ShowColumnHeaders = True
pivotTable003s0.Options.ShowRowStripes = False
pivotTable003s0.Options.ShowColumnStripes = False
pivotTable003s0.Options.ShowGrandTotalsForRows = True
pivotTable003s0.Options.ShowGrandTotalsForColumns = True
pf003s0r1 = pivotTable003s0.Rows.AddByName("EHR Product Name")
pf003s0r1.SortAscending = True
pf003s0r2 = pivotTable003s0.Rows.AddByName("Vendor Name")
pf003s0r3 = pivotTable003s0.Rows.AddByName("EHR Product Version")
pf003s0d1 = pivotTable003s0.Data.AddByName("Specialty")
pf003s0d1.AggregateFunction = xlsgen.aggrpivotfunction_count
pivotTable003s0.InsertAt(2, 2)

#
# Excel workbook epilogue
#


wbk.Close()


Posted on 23-August-2019 21:44 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

More vulnerabilities in Remote Desktop Services


I remember, I think it was 20 years ago, Microsoft was already being sent proofs of concepts for vulnerabilities in RPC (Remote Procedure Calls), which is a kernel level dll at the heart of remote services.

I thought back then, that was when I thought Microsoft deserved some trust when it came to their own software, that Microsoft would plug holes RPC (bad expectation, they just plugged that hole that day), and as a result would make depending Windows services such as Remote Desktop Services disabled by default. The reasoning being, if that's too touchy to be left running, then perhaps not starting it by default would give some help.

Did not happen, that goes without saying.

I hear these days that researchers are still finding holes in this thing. And that, from what I read, Remote Desktop Services still isn't disabled by default. For what it's worth, Remote Desktop Services isn't an essential part of Windows, never was, and even less these days with all those third party virtual machine capabilities out there.

I am not sure why I don't hear governements out there suing Microsoft up their ass, because if governements represent the interest of the people and businesses out there, they should make sure that giant corporations need some finger pointing for their errors. Especially when errors go as far as twenty years ago when there was no decision to take Remote Desktop Services offline by default.

See, Microsoft is very different these days than twenty years ago. Much more open, much more public aware. Isn't it? No.

Posted on 14-August-2019 22:33 | Category: anti-Microsoft | comment[0] | trackback[0]

 

AI in a nutshell


Heard about AI in articles lately ?

Here is all you need to know about AI, in a nutshell :

extrait : "Startup Engineer.ai says it uses artificial-intelligence technology to largely automate the development of mobile apps, but several current and former employees say the company exaggerates its AI capabilities to attract customers and investors. (...) Documents reviewed by The Wall Street Journal and several people familiar with the company’s operations, including current and former staff, suggest Engineer.ai doesn’t use AI to assemble code for apps as it claims. They indicated that the company relies on human engineers in India and elsewhere to do most of that work, and that its AI claims are inflated even in light of the fake-it-till-you-make-it mentality common among tech startups."


Next time you read AI in a sentence, just stop reading.

Posted on 14-August-2019 21:48 | Category: News | 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)