Tuesday, 8 October 2019

Hi dear readers,

Writing this blog post while the MacBook update to Catalina (thanks now the linker seems to be back to normal was sort of broken when I tried to work on radare2), I kind of looked around of worthy projects I stumbled across ...
- uvwasi another implementation of providing low level features to the web ... which, from start, is pretty portable since under the hood it is using libuv ... It is pretty much a draft at this stage, but it feels already pretty promising, the API is well written, clear and knowing its author (a famous nodejs contributor), it won't disappoint !
- webapp.rs ; if you are into Rust and since many people ask how it compares to Ruby on Rails, Python./Django ... in the web's world, here a nice example of how a pure rust framework would look like. Something to keep an eye on I might say !

In my side, I pushed further into AFL++ which is way more fast moving process than the AFL project (no criticism, each project has its own priorities), to provide, with other contributors, a better BSD and macOS support, Linux remaining the main platform. Also, I went back to LLVM a little, while before I focused more on sanitisers and static code analysis, I went on parallelism and OpenMP to improve the FreeBSD support which is already my second change in this area, here to enable the thread affinity support, FreeBSD being perfectly able performing this, it was time to repair this "inequality" :-) ... Apart of this, all changes I made here and there, for instance memcached released its 1.15.19 version with a slightly better FreeBSD support (privileges feature here obviously capsicum) and many little commits to radare2, in preparation for the awaited 4.0.0 version. Wish you well, even though the weather is kinda of sneeze triggering at the moment :-)

Labels: , , , , , ,

View David Carlier's profile on LinkedIn

Thursday, 19 September 2019

9.0 is finally out !

Hi people here and there !
As the title suggests, LLVM 9 has finally made it after couple of more Release Candidates than envisioned but glad it is finally behind now. As you can see, it is now available here ; a bit of patience before it lands and replace release candidates in your preferred os/distribution :-)

So, EuroBSDCon 2019 had finally began I personally look forward to recorded videos, the "Porting Robot Operating System (ROS) to FreeBSD" in particular and also the other about the Rust programming language for curiosity ...

Following my nomination into the NodeJS membership, I enjoyed quite reviewing a certain amount of Pull Requests, in general of great qualities coming from first time contributors to "old timers" :-), rather than contributing directly (except libuv, which is a strong dependency), mostly in order to prepare the future 13.x branch. I can say the environment, ambiance is generally peaceful, respectful and the community is pretty diverse which I appreciate a lot.

Apart of these, I mostly focused on improving FreeBSD or macOS support in radare, HAProxy even AFLplusplus the nice little fork of Google AFL ;  a bit of varnish-cache in between. Wish you well for this next autumn :-)

Labels: , , , , , , , ,

View David Carlier's profile on LinkedIn

Thursday, 29 August 2019

I will be connecting the nodes...

Hi folks,

Hopefully not too sad as we are closer and closer to the end of the nice vacations time :-) but still nice weather enough I might say.
Following up a previous post, PHP goes on internal code cleanup on some sort which is making more strict in a sense some errors treated in the past as benign now will be raised. I totally agree personally with this mindset, as PHP needs to be more believable in the enterprise's context while all others web technologies are progressing, so definitely thumbs up !
Regarding FreeBSD, the usual status report will come up ;  still time to tell what you were able to accomplish in any area, I will be looking at it with good interest !
Apart of this, the next LLVM release, the 9th, will come not too far in the future as I write (sometime next week I believe), now we are all trying to fix last issues and start completing the documentation ... A lot of water went under the bridge since the 8th for sure, apart of what I already mentioned in past posts (again great job of the CheriBSD contributor who fixed address sanitiser ;-)), I personally reviewed little PRs of Ed Maste and pushed two little contributions into sanitisers area, one detecting if ASLR for PIE binaries had been enabled (dim@ requested me to back port it for the 9.x release and as he himself pushes this version to FreeBSD -current ; you ought to see sooner or later), the other using large pages for shadow mappings for both Linux and now FreeBSD ..
Also today, I have been interviewed ... to get on board of NodeJS collaborators :-) took couple dozen of minutes but went pretty well and Rich Trott is pretty welcoming folk :-) In the meantime I had contributed a little bit to node fibers (here a little introduction to Fiber concept for who is not used to), varnish cache ... and again to the Microsoft projects ... mimalloc and snmalloc both revolving around macOs support's expansion.

Labels: , , , ,

View David Carlier's profile on LinkedIn

Wednesday, 14 August 2019

Ireland ... countryside

Hi folks,

Hopefully you re still enjoying relatively sunny weather, recently I have been visiting other parts of Ireland and most of the time the network was pretty feeble. Nevermind, that was the opportunity as well to be off open source contributions for a while ;-)

In the meantime, PHP is undergoing a thorough clean up for the future 8 major release, which manifest through those PR  ... Those kind of tasks are rarely interesting technically speaking but are necessary if the project in question wants to maintain a certain consistency. Indeed, some of PHP extensions were using modern coding while some others were a bit behind so here is the opportunity to make things a bit square ... To remain in language's realm here a little related discussion to FreeBSD and .NET technologies. This is the most pragmatic approach I believe and that surely works fine ; ideally the kqueue's approach instead would be beneficial also for performance matters.

In the LLVM realms, couple of little but interesting changes, here the getrandom interception ... I think it can be pretty easily made available for FreeBSD as well ... otherwise some planned improvements for clang frontend warnings  (personally interested by this particular bit). Little dream of mine if this GitHub project would be ported at least to major unixes first (if this is ever possible...) :-) but would require to rewrite DirectX layers to SDL as usual ... lot of work.

In the next couple of days, I will be back a bit on LLVM and little other ongoing little tasks I putted to a rest, in the meantime I wish you well :-)

Labels: , , , ,

View David Carlier's profile on LinkedIn

Tuesday, 30 July 2019

No ... I m not falling in love with Microsoft

but I have to admit they have interesting open source projects :-) True they have great interest supporting FreeBSD, that's a given ; but that is a great benefit regardless I think ... While mimalloc has a well deserved "summer time", I started to look somewhere else in the meantime and stumbled upon snmalloc, which sounded promising especially in multithread context, just looking at the description.

Benchmarking this is always very tricky, always depends on the nature of the software you override memory allocation with, you can always come up with a conclusion while your close neighbour would shake your shoulder and showing you a very contradictory output in his side ...

Nevertheless, I gave a try with several professional and personal projects of mine and what I notice usually is ... snmalloc performs a bit better than hoard but below mimalloc (still remarkable from the rest of the "pack"), with single thread applications. However, snmalloc is above the latter in multi thread context. More generally, my tests displayed they all perform better than the Linux's system allocator in the vast majority of the case. I usually played with hoard but the development is sort of frozen since a while (diehard from the same author is a nice toy to study by the way) or jemalloc before ; but those new players give nice extra choices to look at. As a result of my appreciation, I just pushed a basic openbsd support proposal :-)

This week had been a nice surprise to see American Fuzzy Lop "resurrected" on github in the official google account. Indeed, there was not much activities since the well known 2.52b version. For sure, libFuzzer from LLVM is great but like always, it is better to have multiple screwdrivers around you and I kinda like the sense of humour of this software, if you look carefully while it runs you will understand :-) but the results are very serious, its reputation is well deserved. Now trying to bring improvements ideas for BSD and mac I had since long months ; we will see.

Apart of this, LLVM 9, the first Apache2 licensed version, should occur end of August ... September maybe if more bugs are found. One noticeable thing in FreeBSD's side, for the future LLVM 10, there is a possible interesting fix ongoing from a famous CHERIBSD contributor, hopefully will make it soon-ish and I think it really deserves to be backported to the 9's line. Redis had merged my little FreeBSD support improvement, nodejs as well accepted my tiny OpenBSD build fix.

As American Fuzzy Lop would say "We're done here. Have a nice day !"

Labels: , , , , , , ,

View David Carlier's profile on LinkedIn

Wednesday, 24 July 2019

Shy sun

Hi folks,

Hopefully you are enjoying the sun, wherever you are ; resting from all high tech things and job possibly :-)
For the rest of us, there are still things ongoing. Little hook here, I wanted to mention the fact Diablo 1 works fully now under OpenBSD, it has been mentioned a couple of times in Twitter and so on, but now the multiplayer works too :-) Congratulations for this ; it must have given lot of joy that's for sure. The next important event in the BSD work would be the vBSDCon the program should appear not long after I write this post ; I hope you will enjoy it hopefully it will recorded.

Following up on the web technologies post, openjdk 11 and 12 ports on FreeBSD; 11 on OpenBSD had been updated, reflecting work from primary battleblow, bsdkurt and a bit myself. As well, I spent most of the time between nodejs (large pages had been accepted and now I try to fix few glitches here and there before next major release), php 7.4 and the future 8 (as I write the 7.4 branch will be frozen pretty soon) fixing little common bugs and improving support for FreeBSD and macOs ; also trying for the first time contributing to the v8 javascript engine to have a sense of their mindset and pace, basically a tiny change for macOs and a more significant one for FreeBSD. Also got to know better the main maintainer of Microsoft mimalloc who is very responsive to say the least, for now two/three changes (large pages for macOs and trying to make it more reliable for Linux) from my part but a lot ongoing for Windows ; it just comes from the daily usage then improvement ideas pop up time to time and I am glad he is open to these when they make sense.
Now time to rebuild the whole FreeBSD current machine, in the meantime I'll continue watching the Artic which is to me a very nice, if not the best, performance from the danish actor. Wish you well ;-)

Labels: , , , , , , ,

View David Carlier's profile on LinkedIn

Monday, 24 June 2019

Web technologies

Hi folks,

Still overseeing other folks carrying the entertainment part of the BSD, @thfr, the more and more famous OpenBSD contributor, just brought not less than the Vulkan api few days ago. To the point there is even a Phoronix article (I agree with Bryan Steele on this, there is some misunderstanding here and there but overall having these on the website brings attention to it ... not all bad). So logically, games compatible with start to get their entries in the tree too ... vkQuake, the vulkan counterpart/portage of the old OpenGL version ... some others are planned most of them starting with the convenient vk prefix. That alone brings an unexpected change in the OpenBSD's landscape to say the least :-) congratulations.

In parallel, a relatively recent GitHub project attracted my attention, Mimalloc from ... Microsoft :-) well ... no worries, you do not have to cross yourself before reading the source code and all of that, it is pretty good quality code and compatible with all BSD :-) I was impressed by the performance to be honest with few internal tests, professional and personal, maybe less in multi thread contexts though, I still prefer jemalloc for this ... but not bad at all for a start :-)

Apart of this, I still went on openjdk journey, by implementing the UseLargePages support on FreeBSD, most of the time pages of 2mb on most of architectures ... It is an option for a reason as true it might brings relative performance gains but it is mainly for java application using large objects. Otherwise it would be more waste than anything else ... And also just last weekend I thought it would be a little nice idea to support FreeBSD's SO_USER_COOKIE socket option and seems it s been approved ... we shall see once he comes back and eventually cherry pick all of these for openjdk 12! In parallel, I had my first bite into nodejs by fixing openbsd build and also trying to port Linux only, for now, large page option support on FreeBSD. They are approved so might be merged in a near future, And ... to my surprise I have been granted commit access to botan project :-) so I just pushed a small change to take in account the new mmap flag which was committed just few days ago in current. Happy beginning of summer ;-)

Labels: , , , , ,

View David Carlier's profile on LinkedIn