Monday, 9 March 2020

A new fruit interest

Hi folks,

Hopefully you are all good despite the worrying ambiance about the coronavirus ...
Not too much news in my side except I ve been switching over Windows development professionally speaking after few years. Finally to realise Visual Studio/CL C compiler is finally a bit more decent at least with C99-ish code :-) In a same time, finally decided to give a try to the Raspberry's trend with a bit of a custom case.


Despite being still arm 32 bits architecture, the overall power progress of the 4th iteration is really noticeable with the last time I tried an older model. You cannot still however do everything you can expect from out today standard in term of computing usage but nice to see, for this price, enough to be used for nice small dedicated services (home ad blocker for ex). In my side, was more used a dev platform, trying to contribute to my usual projects but from this healthy fruit point of view :-) for instance, couple of video games ; most of them already "play" nice in this architecture however still possible to improve the support.

Apart of this, memcached 1.6 just went out with finally the extstore feature by default among other things after being tested thoroughly ... few of my own fixes are included as well. AFL++ as always ... noticeably there is a GSoc plan for this project, few students are already willing to involve themselves ; that is great. Also undergoing a large rewriting, getting rid of globals among other things, more custom callback as well ; we ll see how it will go but definitively it is diverging more and more from AFL with the time.

Labels: , , ,

View David Carlier's profile on LinkedIn

Sunday, 2 February 2020

Belgian chronicles

Hi over there !

The vast majority of all of you know that the FOSDEM 2020 had just ended this day. Not only it was full of interesting talks, but also an anniversary, the 20th !

There were indeed IoT related talks, databases, Linux ... talks for everyone and every profile ... sysadmins, devops and pure developers ... I spent time personally the saturday with Ada, the first language I ever learnt ... pretty much enjoyed the robotics topic, also the Ada keystore to protect sensitive data ... Was hard not to say more but I had to change building to give a chance to other interesting talks :-) The following day, most of the time was in the BSD room, looking at the various NetBSD and FreeBSD talks (apologies to Giovanni Becchis I missed his talk...). I have to admit, the NetBSD ones were entertaining notably this one, pretty accessible and giving new highlight to this BSD flavor and putting down some cliches in the process ... I gave mine just after the FreeBSD foundation presentation ; I admit I did less well than in AsiaBSDCon last year but hopefully will be usable enough for curious people.


Apart of this, lot of moons passed since the last post, as usual did little contributions here and there, most notably memcached, some general changes, some other specific to FreeBSD ... They re all available since the 1.5.21 (now the 1.5.22 just released today). radare2 and AFL++ received some fixes and improvements over the course of the time too. For the latter the 2.60 version is existing since a certain time now but the next 2.61 will have real significant changes (and fixes notably for unicorn, qemu modes and so on ...). Still, I do PR reviews for NodeJS, it is moving fast as always but the v8 changes alone and the related nodejs api ones are, alone, interesting enough to keep track for the courageous willing to build from source.

Labels: , , , , , ,

View David Carlier's profile on LinkedIn

Wednesday, 11 December 2019

How are you ?

... Fine I hope since the last time :-)

As I write, there is the template for the last 2019 FreeBSD Quarterly status report. At the moment, the most noticeable part is this presentation, which would introduce all FreeBSD's benefits to people who want to give a thorough try, to get a good feel of the system ... Pretty good initiative !

In my side, I ve been involved in some of the usual projects I look into. memcached, redis, v8 and afl++ most of the time ; for V8 I have happily upstreamed the most important part of the nodejs FreeBSD port patches as promised in a previous post ... About AFL++, there will be, you can count on this, a lot of changes since the last release (radamsa mutator is a major one for instance and a much better Android support ... I invite you to have a look at the changelog to get a feel of...), most of them are general (build and bug fixes) and some other are operating systems ... again, with hexcoder, I ve been focusing on *BSD systems making sure everybody in a equal feet ... should be a matter of days before it happens as I write ... Apart of this, still involved in NodeJS code reviews, I also pushed my own change for DragonflyBSD ready for the next major release then ...
Next major open source event, will be the FOSDEM 2020 edition and it will be a first time personally as both attendee and speaker :-)
In the meantime, I wish you good winter holidays in advance if you have any :-)

Labels: , , , , ,

View David Carlier's profile on LinkedIn

Monday, 11 November 2019

Autumn falls, time for changes

Hi dear readers,

I am glad to say now LLVM had fully moved to the git workflow since the last post ! For now there is the next logical remaining concern which is do we handle Pull requests and bug tracking as it is now and do we move fully to GitHub ? We shall see how it goes, it is not so obvious to go in one direction or another, Phabricator having nice code commenting feature for example but hard to maintain over time in another hand (Phabricator for LLVM is actually a fork). Either way, it is already nice to be where we are...

While we re into LLVM, I have spent little time, during the svn to git transition, to add basic OpenBSD support for the OpenMP api, knowing this os cannot support the cpu affinity part.
Still spending time also with the NodeJS community, aside of the usual review, I try to push upstream some FreeBSD patches from the related port to diminish its "technical debt", for instance here, more specifically, the v8 engine changes regarding the ARM architecture support and this one too. Also the trap handling for FreeBSD I had been ported had been merged recently. Will try to persist in this area, ideally removing all the port patches ... we will see.

dormando, main maintainer of memcached, is more active these last months I believe and had created a new release containing one changes I ve made again for FreeBSD, one about the Dtrace support, the other which was to rewrite the chunk of slabs allocation to be a bit more generic might land a bit later.

AFLplusplus underwent a lot of changes since the last release, mainly by hexcoder and vanhauser-thc. I did some of my own mainly in the multi os support area and few new features too. Following this, I proposed nicely to Gerard Pfeifer, the maintainer of gcc ports in FreeBSD to enable plugin support so the AFL gcc fast mode can be finally built ;-) and he equally nicely accepted it for now only gcc10 but will be back ported to lower versions in the near future.

Labels: , , , , , , , ,

View David Carlier's profile on LinkedIn

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

Saturday, 27 April 2019

Patience is a nice virtue

Hi folks,

While I rewatched the Millennium trilogy in between FreeBSD source rebuilds and remembering how I appreciated Rapace portrayed the emotionally restrained and troubled nature of the character, I finally got some confirmation for contributions back from 2018's autumn. For instance, memcached finally merged in one shot two of them related to FreeBSD I mentioned at the time ... the super page support making this OS equal to Linux in this area ... and also using basic capsicum capabilities for the "sandbox mode" (aka drop privileges here).
Also finally redis, after a well deserved long pause, started to accept merging again including the BSD build fix. Since both projects are used in my day job, that comes to handy :-) Professionally speaking, I updated the HAPoxy DeviceAtlas module this week in order to fit better the future 2.0 version requirements.
Once my system is fully up to date, I will see which projects I can help out within the weekend, we shall see ...
Noteworthy if you re interested in LMMS status, there is this topic here you can overwatch, giving good overview what is going to happen...  Also for broader plugins support there is this one. In the meantime I wish you all a great weekend !

Labels: , , ,

View David Carlier's profile on LinkedIn

Monday, 11 February 2019

Android NDK ... how is it ?

Hi folks,

As mentioned in a previous post, I do quite some Android NDK development these days. And since you are accessing the low level of the Android system, you would just expect, more or less, "Linux for smartphones". Which is true ... to some extents ! First, if we are talking only about the kernel, you have somehow to accept it will be only a subset and some of the features are accessible only from a specific Android version and also dependent obviously to the current security level of the smartphone (rooted or not, SELinux activated etc) ... For example while in Linux you can easily bind a thread to a cpu it is less straightforward to do so on Android (we can still bind a process to a cpu) ... The kernel performance measurement api which allows to measure the number of instructions for a given workload, while existing in Android too, barely allow to measure generally a process ; but not per cpu ... Some C function wrappers functions might not exist until late from an api SDK level "point of view" (ie functions to loop through network interfaces for example but fortunately there are possibilities via the lower level interface ;-)) otherwise, for security reasons, you will generally not access most of hardware in a low level manner like the camera device, but only through the official NDK API provided.

In another hand, the libc is completely different, it is not the famous glibc nor the musl-libc but one called "bionic", which takes a lot from the OpenBSD one (feature-wise ... as it is mainly C++) like the memory allocator (a bit different and more fit to Android needs though), the presence of safe strings API like strlcpy/strlcat and so on ... which I appreciate for its practicality and security goals ... and remove a dependency I usually use under Linux which is the famous libbsd ...

Even though Android is not my primary world, I appreciate most of the aspects of the development despite the sometime frustrating but challenging limitations. Make me think I would appreciate a similar "ensemble" and widely available under FreeBSD, for example, which should be just awesome under the arm architectures ;-)

Apart of these, "same old same old" you might say :-) I continue to push little improvements for php and FreeBSD support not yet merged but seems accepted by the main maintainers like giving more FreeBSD specific options when developing with sockets like setting a cookie to be able to trace it from DTrace ... memcached,  the lead developer had promised he will look into shortly into my existing features proposal, so fingers crossed. Also got my first very little FreeBSD contribution ,among the two, merged for this year. Also I mentioned I try to contribute to a video game in order to make it work under FreeBSD. For who follows me on GitHub it is not a secret but otherwise it is xray the engine behind "STALKER the Call of Pripyat". This time I proceed step by step to avoid enormous, "code regression makers" and hard to review changes, one of them is already merged the second still in review. We will see how far it goes :-)

Labels: , , , , ,

View David Carlier's profile on LinkedIn

Monday, 5 November 2018

Time changes ... or changes time

Hi folks,

Reading this past PR when we can see finally Kamil is moving on. Whoever takes over, there is quite a legacy ! Without him, the NetBSD support into LLVM would not be where it is now that's for sure (not counting his contributions to NetBSD itself). Thanks for the numerous reviews since last year ;-)

Also quick reminder, on Thursday our little noisy discussion about ZFS in Dublin 2 ... Seemingly there is an additional talk/introduction about OpenBSD ... nice.

These days, it has been more radare than anything else, to the project itself also trying to update BSD packages (the OpenBSD's version should be merged today or so ... while I write, the two maintainers agreed it was really time to do so, it was very old version).

But I also had my little take into memcached to improve a bit the FreeBSD support, hopefully some will land into the next release.

After that, I am waiting patiently php master "unlocks" (maybe after RC5) so new features will get merged.

Labels: , , , , ,

View David Carlier's profile on LinkedIn