Synopse

To content | To menu | To search

Open Source

Entries feed

2016, Friday April 22

Support of Delphi 10.1 Berlin

You should have noticed that Delphi 10.1 Berlin has been released.

Our Open Source projects, including mORMot and SynPDF and their associated documentation have been updated to support this new revision.
Any additional feedback is welcome, as usual!

2015, Monday March 30

GitHub temporary unavailable from comand line?

Perhaps it is due to a lot of projects moving from closing Google Code to GitHub, but I experimented some GitHub random communication errors since last week.

Continue reading...

2015, Monday February 16

Benchmarking JsonDataObjects JSON parser

There is a new player in town.
Since it has been written by Andreas Hausladen, the maintainer of the great Delphi IDE fix packs, this new JSON library is very promising.

And in fact, it is fast, and sounds pretty great!
Here are some numbers, compared with SuperObject, standard DBXJson, dwsJSON, QDAC and mORMot.
Please refer to previous benchmark articles about those libraries. We will now focus on JsonDataObjects.

Continue reading...

2015, Thursday January 15

AES-NI enabled for SynCrypto

Today, we committed a new patch to enable AES-NI hardware acceleration to our SynCrypto.pas unit.

Intel® AES-NI is a new encryption instruction set that improves on the Advanced Encryption Standard (AES) algorithm and accelerates the encryption of data on newer processors.

Of course, all this is available in the Delphi unit, from Delphi 6 to XE7: no external dll nor OS update is needed.
And it will work also on Linux, so could help encrypting the mORMot transmission with no power loss.

You have nothing to do: just upgrade your mORMot source code, then AES-NI instructions will be used, if the CPU offers it.
We have seen performance boost of more than 5x, depending on the size of the data to be encrypted.

Enjoy!

2014, Friday July 4

Website of the day

Just wanted to share some awesome SOA revolutionary idea, on 4th of July...

You should take a look at http://devnull-as-a-service.com !
DAAS rocks!

We will write certainly a native mORMot provider for this great data provider.
This is another great Open Source project (full code is included).

2014, Friday June 27

Tip about Fossil ticket reports

It appears that version 1.25 of Fossil did change the ticket storage behavior:

Enhancements to ticket processing. There are now two tables: TICKET and TICKETCHNG. There is one row in TICKETCHNG for each ticket artifact. Fields from ticket artifacts go into either or both of TICKET and TICKETCHNG, whichever contain matching column names. Default ticket edit and viewing scripts are updated to use TICKETCHNG.

As stated by the official Fossil Change Log.

It appears that it just broke existing reports, so we had troubles with display of the ticket on our site.

Since we managed to find a workable solution, we would like to share it on our blog, to save other users time!

Continue reading...

2014, Friday February 28

Think free as in free speech, not free beer

After more than 5 years of opening some huge part of Delphi code base, just my two cents.

Free software means free as a bird.

In practice, most Open Source "consumers" focus on free as a free beer...
This is a reality, especially for "niche" projects like developing libraries for Delphi.

Here are some thoughts from my little experiment with mORMot.
If you ask what Open Source for libraries mean, it may help you!

Continue reading...

2013, Thursday December 5

New Open Source Multi-Thread ready Memory Manager: SAPMM

Do you remember this former article about scalability of the Delphi memory manager, in multi-thread execution context?

Our SynScaleMM is still experimental.
But did pretty well, for an experiment!

At first, you can take a look at ScaleMM2, which is more stable, and based on the same ground.

But a new multi-thread friendly memory manager for Delphi just came out.
It is in fact the anonymous (and already famous) "NN memory manager" Primož talked about in his article about string building and memory managers.


(Note that in this article, our SynScaleMM was found to be scaling very well, but on the other hand, Primož did compile its benchmark program in Debug mode, so our TTextWriter was not in good shape: when you compile in Release mode, optimizations and inlining are ON, and our good TTextWriter just flies... See the note at the beginning of the article - this is why I never find those benchmarks very informative. I always prefer profiling from the real world with real useful process… and was never convinced by any such naive benchmark.)

OK, back to our business!

SapMM is an interesting beast.
https://code.google.com/p/sapmm

Sounds like if Alexei (the initial coder) has a C coding background. But that's fine when you have to deal with low-level structures and algorithms, as required by a memory manager. :)
It features everything we may ask for such a piece of code: clear design, optimized code (mostly by inlining process), memory leak reporting, some parameters for tuning.

It is only for Delphi XE (and up) under Win32 by now, but contributors are welcome!
It is used in production since more than half a year, and it passed all FastcodeMM benchmark tests.

If you want a direct link of the today's source code, without SVN, you may try this direct link from our site.
(but it probably will never be updated - you are warned)

Continue reading...

2010, Sunday July 11

How to unzip or zip files content

Didn't you ever wanted to unzip some archive content, or embed a zip file into your exe?

Didn't you ever wanted to create a zip archive file, from some data in memory, in pure Delphi code, without using any external dll?

One of the open source unit we use allow you to do these tasks in a easy way.

Continue reading...

2010, Wednesday June 23

New Source Code Repository

A source code repository is now available, and will centralize all future source code update.

Continue reading...