tag:blogger.com,1999:blog-42175793996680807652024-03-19T00:08:17.627+00:00David Carlier's blogJust YET ANOTHER BLOG from YET ANOTHER SOFTWARE ENGINEER.devnexenhttp://www.blogger.com/profile/11593098900191463216noreply@blogger.comBlogger191125tag:blogger.com,1999:blog-4217579399668080765.post-43983612371001845422024-02-21T18:20:00.002+00:002024-02-21T18:20:24.436+00:00You do not know everything ...<p> Hi folks,</p><p><br /></p><p>Hope you are well since the last time.</p><p><br /></p><p>Some progress related to <a href="http://2024.eurobsdcon.org" target="_blank">EuroBSDCon 2024 in Dublin</a>, now you can finally see its official logo, shoutout to <a href="http://baboom.ie" target="_blank">SinΓ¨ad Woods aka baboom</a> β, also thanks to our sponsors to trust us this year again.</p><p>As for my PHPFoundation time, since January, I m pretty glad, only I do realise I have a bit the tendency to judge too quickly parts of PHP I do not fully understand, I need to do better and see the bigger picture. Beyond that, again, I have a good time interacting with various contributors and the other members of the Foundation, I hope it is reciprocal.</p><p>At last, I have been increasing my activity in LLVM and Rust a bit, more PR than average had been merged.</p><p>The rest is more or less as usual, in the meantime I wish you well and see you next time !</p>devnexenhttp://www.blogger.com/profile/11593098900191463216noreply@blogger.com0tag:blogger.com,1999:blog-4217579399668080765.post-68673008564067781072024-01-14T19:28:00.001+00:002024-01-14T19:28:07.621+00:002024 = blossoming ?<p> Hi folks,</p><p><br /></p><p>I hope 2024 is starting great for all of you !</p><p><br /></p><p>If you love belgium chocolates (or fries), as always, <a href="https://fosdem.org/2024/" target="_blank">FOSDEM 2024</a> is the next event to go to ! If you can,</p><p>there is also <a href="https://2024.asiabsdcon.org/" target="_blank">AsiaBSDCon</a> then <a href="https://www.bsdcan.org/2024/" target="_blank">BSDCan</a>. After that, if you have still the stomach, there should be the next <a href="http://2024.eurobsdcon.org" target="_blank">EuroBSDCon in ... Ireland</a> ! The site is still under construction and informations are added when there is enough certainty (so do not bother to ask me anything, just subscribe to the newsletter π).</p><p>Also, I have the pleasure to be alongside with engineers I have the upmost respect towards to which</p><p>are the <a href="https://thephp.foundation/structure/#core_developers" target="_blank">PHP Core Developers</a>. I became myself one since recently and I ll do my best to bring what I can to this programming language.</p><p><br /></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgWkV1YClaNOX5QpwxoKVlqydT14Dd5jaaiizvg9DcbWCVrWbzUpFiIPNHs7jVIVvsNNSe_IA7QQ1ymmTRkoVBToms-Ijk7uRfQ6eSJSt26dzEdczj-j_lvIT_aFLGLU4HTbsNavCBlCznck4hyfpfUWI4P6UREVp5SZez85KRPlP8Tt_MoqQ47rO7B0x3O" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1266" data-original-width="1510" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEgWkV1YClaNOX5QpwxoKVlqydT14Dd5jaaiizvg9DcbWCVrWbzUpFiIPNHs7jVIVvsNNSe_IA7QQ1ymmTRkoVBToms-Ijk7uRfQ6eSJSt26dzEdczj-j_lvIT_aFLGLU4HTbsNavCBlCznck4hyfpfUWI4P6UREVp5SZez85KRPlP8Tt_MoqQ47rO7B0x3O" width="286" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;">I think this is it for now, and wish you a wonderful 2024 year to you all. Take care π</div><br /><br /><p></p>devnexenhttp://www.blogger.com/profile/11593098900191463216noreply@blogger.com0tag:blogger.com,1999:blog-4217579399668080765.post-11635842951308046362023-11-23T20:33:00.000+00:002023-11-23T20:33:01.888+00:00Hopefully you learnt your lesson by the 2nd time<p> Hi folks,</p><p><br /></p><p>First and foremost, <a href="https://www.freebsd.org/releases/14.0R/relnotes/" target="_blank">FreeBSD 14</a> had been finally released this week, I myself plan to upgrade within this very weekend. Notably, I m glad the number of supported cores had been pushed to 1024 ! Also glad to see more LLVM sanitisers can be used to fix kernel bugs π. To finish with BSD, next major events for 2024 will be occurring in the usual slots FOSDEM then AsianBSDCon, for the latter this time in Taiwan ! Today, <a href="https://www.php.net/ChangeLog-8.php#8.3.0" target="_blank">PHP 8.3</a> was finally released sometime this afternoon (UK time). As last year, it was interesting to see so many people on X refreshing every few minutes or so awaiting the official announcement π but, I guess 2024 ought to be the year of PHP death I'm sure ..</p><p>In my side, not much updates, I'm mostly into the same projects, I gave a try to Rust miri to improve FreeBSD support as much as I can. Now in a month time, it will be Xmas so take care of yourself in the meantime !</p><p><br /></p>devnexenhttp://www.blogger.com/profile/11593098900191463216noreply@blogger.com0tag:blogger.com,1999:blog-4217579399668080765.post-74472484022579165682023-07-30T21:49:00.000+01:002023-07-30T21:49:05.516+01:00A thingy to sing e ...<p> Hi folks,</p><p>Hope all is well in your side !</p><p>Same as last year, <a href="https://github.com/php/php-src/blob/php-8.3.0beta1/NEWS" target="_blank">PHP 8.3 is on its way for the next autumn</a> and, mostly, fit the time schedule. PHP developers might argue again there is not that much significant new features, however <a href="https://github.com/nielsdos" target="_blank">nielsdos</a>, one of the recent new members, has made a lot of efforts to significantly improve the DOM extension (among other things, because he is a beast π). In my part, I continue trying to improve the PostgreSQL module.</p><p>Also, I went back a bit to LLVM, still the fuzzer and sanitisers part, as usual hoping what I have mostly in mind will make it for the next major release. Beyond that, it is mostly projects I like to come back when I get the chance, caprice32 the Amstrad CPC emulator for example or. I have a bit less time for video games but still contribute to Yamagi Quake II. As for modern programming languages, I focus mostly on rust related projects libc, libAFL and rust itself whenever I can ..</p><p>Wish you well π</p>devnexenhttp://www.blogger.com/profile/11593098900191463216noreply@blogger.com0tag:blogger.com,1999:blog-4217579399668080765.post-1430789319663577692023-05-25T21:42:00.004+01:002023-05-25T21:42:33.000+01:00Before you know it, you are already in your fifties..<p> Hi folks,</p><p><br /></p><p>Less than one month before the summer π, but <a href="https://www.freebsd.org/releases/14.0R/schedule/" target="_blank">FreeBSD 14 is more and more around the corner</a>.</p><p>One part of this upgrade is <a href="https://twitter.com/cperciva/status/1659059445685420032" target="_blank">its impressive boot time decrease</a>. It comes a long way ... π</p><p>On my part, I published my first rust crate recently, <a href="https://crates.io/crates/isoalloc" target="_blank">isoalloc-rs</a> using the related popular security oriented memory allocator. There is already existing excellent crates for the major allocators, jemalloc, mimalloc and the one from SchrodingerZhu ; snmalloc (one of the best in my view). Those are my suggestions if your priority is pure performance, isoalloc has a ton of refined options in return.</p><p>Still on my Zig's journey, I m now above <a href="https://github.com/ziglang/zig/commits?author=devnexen" target="_blank">50 commits</a> without really realising it. I like and know the language more but can see more clearly (ie beyond the obvious borrow checker) that, while it overlap a lot with rust, it can't replace it; they can truly co-exist. In the meantime my redox contributions had also grown a little mostly implementing missing syscalls/libc functions.</p><p><br /></p>devnexenhttp://www.blogger.com/profile/11593098900191463216noreply@blogger.com0tag:blogger.com,1999:blog-4217579399668080765.post-61922177198172371532023-04-10T11:22:00.001+01:002023-04-10T11:22:54.807+01:00Which one do I prefer ?<p> Hi folks,</p><p><br /></p><p>Following-up my previous post and having spent more time with Zig since, I have tried to assess which, among the languages I am dealing with, I tend to prefer. Before going further, I wanted to clarify the following statements represent only personal opinions, not a general consensus of any sort nor the "truth" that everyone agrees upon. Indeed, if you prefer language E over A, I encourage you to continue π and will have my respect as you are dedicating your time into it.</p><p>1/ Rust</p><p>After 3 years plus after diving into it, I still like the language and what it stands for. Now, I see more of its caveats and idealise it less than I used to ; it is still an excellent programming language tough. I tend, now, to see it more as a possible C++ replacement than a C one in term of expressiveness possibilities.</p><p>Pros:</p><p>- Extended expressiveness, the inherent difficulty of Rust does not bother me as much as long it is justified. To me, in the case of Rust, it is. Just the trait concept alone does it in my opinion, same as with the macros.</p><p>- Mature ecosystem. It even had been accepted by the Linux kernel as a secondary language of choice for kernel modules (while having refused C++ decades ago, which tells a lot).</p><p>- Miri is very helpful to detect possible undefined behavior, but hopefully will be mature enough one day to be part of rust rather than being a separated tool.</p><p>- How you can switch memory allocators (jemallocator, mimalloc, etc), while benefits from their features (e.g. jemalloc profiling).</p><p>- An excellent alternative for web programming too.</p><p>Cons:</p><p>- It is far to be straightforward to interact with C++ code however and even with specialised crates (e.g. cxx), it is not ideal. I think if you mostly want to build bridges with legacy C++ code, there are other languages out there more appropriate (Google Carbon, ..., D (yes it is not dead π)).</p><p>- But even if you want to deal with C, you have to use libc and/or bindgen capabilities. The latter works mostly fine in my experience. Overall, not a deal breaker in my view tough.</p><p>- No builtin defer mechanism but not a huge drawback again on this one, you can fairly do one of your own easily like you would do in C++ with using drop trait and a macro.</p><p>- No strong cons overall tough.</p><p>2/ Zig</p><p>After one month into it, I can't say if this language will "make it" (ie to the industry at large) with 100% certainty. Does it have the potential tough ? Absolutely ! it has good community and good press already ; but we will know better once 1.0 is out. Indeed, a good chunk of great languages did not or are stuck in a particular niche (Haskell, Ada, ...). The lack of maturity does not discourage me enough to be interested by it tough.</p><p>Pros:</p><p>- Overall less obscure than Rust, in term of semantic and features usability.</p><p>- An excellent bridge builder towards C, better than Rust is for sure.</p><p>- The comptime feature by itself but also how accessible it is to use it.</p><p>- The various allocators ; arenas, heap, fixed buffers ... are an interesting concept by themselves.</p><p>- The clever build system (via build.zig), not only for Zig code but C/C++/ObjC/Assembly as well.</p><p>Cons:</p><p>- Again ; unless you re willing to do some C wrapping beforehand, there are better solutions out there to deal with C++ code.</p><p>- You need to disable ubsan, one of the signs of its inherent immaturity which needs dear fixing.</p><p><br /></p><p>Others</p><p>1/ Nim</p><p>I think it s a decent programming language ; however it has a garbage collector. While <a href="https://nim-lang.org/1.4.0/gc.html" target="_blank">it can be disabled</a>, with a low level programming language I want the other way around, no garbage collection at all or at least disabled by default (I am glad c++ 23 removed its support); I prefer to have full reins ; good for them tough you can choose the garbage collection algorithm. Not necessarily a huge fan of the python's like style but that is not necessarily a real deal breaker in my view ; I think their target are indeed around this : python/ruby/golang developers especially for embedded development.</p><p>2/ D</p><p>It is a bit unfortunate this language did not get much traction decades ago. But it starts to get some renewed interest recently I find, especially that the language mentioned above borrow some of its concepts π, can interact with C and especially C++ a lot easier than Rust/Zig. It also has a garbage collector but you do not have to use it and <a href="https://wiki.dlang.org/Memory_Management" target="_blank">manage memory manually</a>.</p><p>3/ Jai</p><p>Is still in development, <a href="https://github.com/BSVino/JaiPrimer/blob/master/JaiPrimer.md" target="_blank">the compile time function execution is one of its selling point</a>. The fact that Jai is not yet accessible to the public is a bit of an issue in my view, but looks definitively promising. However I barely see it as a general programming language but has a better chance to have its own niche.</p><p>4/ Odin</p><p>I personally appreciate it better than Nim and is a more appropriate contender against Zig in my opinion ; is open source, <a href="https://odin-lang.org/news/binding-to-c/" target="_blank">can decently interact with C</a>. I m willing to give it more time to assert and prove themselves in the mid/long term.</p><p>So ? ...</p><p><br /></p><p>Well, for me Rust and Zig are toe to toe, depends of the actual task at hand. For interacting with C and rapid development Zig tends to win but otherwise the higher maturity of Rust has my preference in other situations. As for their performance, both are usually very close in my personal usage and can be potentially be faster than C in some contexts. But overall I appreciate the greatly improved memory safety they both bring.</p>devnexenhttp://www.blogger.com/profile/11593098900191463216noreply@blogger.com0tag:blogger.com,1999:blog-4217579399668080765.post-5193769339753758242023-03-29T08:41:00.001+01:002023-03-29T08:41:54.458+01:00Making system programming fun again<p> Hi folks,</p><p><br /></p><p>The <a href="https://2023.asiabsdcon.org/program.html.en" target="_blank">AsiaBSDCon is about to start </a>as I write, the main talk which interests me the most is about NGINX Unit, some seem to be updated versions of previous talks but should be great regardless. Following that, FreeBSD 13.2 is around the corner, starting this week !.</p><p>Aside from my usual contributions, I recently stumbled across the <a href="https://ziglang.org/" target="_blank">Zig</a> programming language which I heard of before already but never really tried. Then after couple of days of experimentation, I was pleasantly surprised how easy is to interact with C, you just need to import and the symbols are available to you ; Zig being also a C/C++ compiler you can build a final binary with those 2/3 languages. I also appreciated the absence of preprocessor, the comptime concept (e.g. a if statement can also evaluate a compile time expression) ; overall Andrew Kelley's optimism and dedication is infectious I find. Seems Zig is at a place where Rust was a decade or so ago, not stable yet but is above an interesting threshold with this 0.10.x version. Those two languages represent some very good candidates as the "next" C (Yes I know there is others like Nim, Odin...). Note that C/C++ are not inherently bad languages, not at all ... they are decades ago old which is very different, it is always good to remember the context ...</p><p>Also, I decided recently to give a new go at the redox operating system (which is written in Rust), doing mostly TODOs and my own ideas, most of them are already merged.</p>devnexenhttp://www.blogger.com/profile/11593098900191463216noreply@blogger.com0tag:blogger.com,1999:blog-4217579399668080765.post-5117265269892375892023-02-25T21:53:00.005+00:002023-02-25T21:53:52.178+00:00Feeling the power of the dragon again...<p> Hi folks,</p><p><br /></p><p>Hope you are all fine.</p><p>Couple of little updates ... For the FreeBSD fans, the 13.2 release is in within reach, about 1 month from now. Speaking of BSD, the next <a href="https://2023.asiabsdcon.org/" target="_blank">AsiaBSDCon</a> in Japan would be the next major event, but there is the non less popular <a href="https://www.bsdcan.org/2023/" target="_blank">BSDCan</a> as well not too long after. But if you dream to have a warm autumn for few days, there is the <a href="https://2023.eurobsdcon.org/" target="_blank">EuroBSDCon in Portugal</a> π</p><p>As for me, I spent more time in PHP, more code and doc reviews than my own code now ; some worthy new comers are pretty active π .. Nothing too new in the other hand, still doing a bit of rust here and there, couple of video games directly or indirectly related (e.g. SDL). Botan ... where I participate at modernising the codebase towards C++20 with new nice heuristics (e.g. std::span). Still, I did not lose my interest to memory allocators, my preferred remains now snmalloc, but isoalloc as a secure oriented one and with a smart yet readable api has its own qualities.</p><p>Next major release to wait is the 16th of LLVM with among many other things a better C++20 support via libc++ (it was lagging in many areas compared to g++), so hopefully you ll be overwhelmed by the famous dragon again π. </p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dzUQiCBrThb3YNTbQWyZ4HK9nSDR9JqzL6JSFq_cERrJ-wrM9_2YR-8PjXpPK8EVnIpnPIVOBYlnCr8HWacjg' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div><div><br /></div>It is to be expected sometime in March as well.<br /><p><br /></p><p>In the meantime, I wish you well.</p>devnexenhttp://www.blogger.com/profile/11593098900191463216noreply@blogger.com0tag:blogger.com,1999:blog-4217579399668080765.post-42586547789854705272022-12-08T15:08:00.005+00:002022-12-08T15:08:46.642+00:00Being part of the (hi)story<p> Hi folks in this pre-Xmas time :)</p><p>Recently, FreeBSD 12.4 had been released and considering its <a href="https://www.freebsd.org/releases/12.4R/relnotes/" target="_blank">changelog</a>, it is recommended to upgrade if you re still running the 12.3.</p><p>As promised, <a href="https://www.phoronix.com/news/PHP-8.2-Released" target="_blank">PHP 8.2 had finally been released</a>, saw a bit the impatience few hours prior on various social media despite being a minor release :) That was quite an experience having being through the whole experience as committer and doc reviewer (especially french).</p><p>For the 25 years of quake 2, here the <a href="https://raw.githubusercontent.com/yquake2/yquake2/master/CHANGELOG" target="_blank">Yamagi engine 8.20 release</a>, funny at the time back in 1997 my computer could never run this :) I would never think I would add little new features later on ..</p><p>Wish you great end of year, until next time ;-)</p><p><br /></p>devnexenhttp://www.blogger.com/profile/11593098900191463216noreply@blogger.com0tag:blogger.com,1999:blog-4217579399668080765.post-49385110014751055132022-11-12T20:10:00.000+00:002022-11-12T20:10:03.660+00:00Last lap before finish line ?<p> Indeed, <a href="https://www.php.net/archive/2022.php#2022-11-10-1">PHP 8.2 RC6 had been released this week</a>, luckily there should not be a 7th. Speaking of 7, here as usual <a href="https://thephp.foundation/blog/2022/11/05/php-core-roundup-7/">the summary of PHP activity in term of RFC and commits</a> ; to be noted the handy new json_validate which could replace any json_decode call if and only the goal was to check its proper form.</p><p><br /></p><p>Apart of this Yamagi Quake2 is aiming for the next release, on my part for first time adding couple of new video menu entries. In a smaller scale, I continue to bring a bit of novelty in the openspades game as well. Beyond that, as mentioned in a previous post, rust is gaining more traction, it s even more motivating to go on with the libc crate among other things.</p><p><br /></p>devnexenhttp://www.blogger.com/profile/11593098900191463216noreply@blogger.com0tag:blogger.com,1999:blog-4217579399668080765.post-77034484878353994752022-10-02T14:05:00.001+01:002022-10-02T14:05:13.311+01:00finally ...<p> Hi folks,</p><p><br /></p><p>Since the last time, the <a href="https://2022.eurobsdcon.org/" target="_blank">EuroBSDCon 2022 edition</a> had been achieved, videos might roll up on video platforms at some point ; hat off to the teams involved, considering the circumstances.</p><p>Well, most of you know already but finally <a href="https://www.phoronix.com/news/Rust-For-Linux-6.1-Pull-Request" target="_blank">Rust is going to on (carefully tough) into the realm on the Linux kernel</a> ... I personally think it is the right way to go, regardless of opposite opinions, rust offering more memory safety for very close performances, its benefits will show overtime. We shall see if it will lay down the path for few other operating systems (I believe Microsoft had studied the opportunity at some point few years back).</p><p>Other news, <a href="https://wiki.php.net/todo/php82" target="_blank">PHP 8.2 will be reaching its 4th Release Candidate</a> as I write, still aiming at the second half of November for final release, thus now it s time to fix bugs on various kind :) and other various usual contributions on rust and video games.</p><p><br /></p><p>In the meantime, I wish you well.</p>devnexenhttp://www.blogger.com/profile/11593098900191463216noreply@blogger.com0tag:blogger.com,1999:blog-4217579399668080765.post-67821990657454241382022-08-17T06:19:00.003+01:002022-08-17T06:19:40.233+01:00You need to have game to navigate this world<p> Hi folks,</p><p><br /></p><p>Hope all is fine in your side ! So what's new since ?</p><p><a href="https://2022.eurobsdcon.org/" target="_blank">EuroBSDCon 2022 in Vienna</a> is approaching, <a href="https://discourse.llvm.org/t/llvm-15-0-0-release-schedule/63495" target="_blank">LLVM 15</a> is entering its release cycle aiming for September, <a href="https://wiki.php.net/todo/php82" target="_blank">PHP Beta 3</a> for soon (beware there might be a 4th), now here we have a new kid on the block <a href="https://github.com/carbon-language/carbon-lang" target="_blank">Google's Carbon programming language</a>, a sort of way more manageable and modern C++ infant; we shall see how it appeals in the following years ; so basically enough interest when you re back with your sunbathed skin :-)</p><p>In my side, as expected I focused more into PHP but I had my fair share of games contributions too. As a teenager, I dreamt to be a game dev so it is a way to fulfil without having to practice it professionally (which I would barely be able to, especially nowadays).</p><p>Indeed, it had been soon 5 years since my first patch for Yamagi Quake 2 landed, since then contributed to various other games when you need less to worry about respecting legacy and having more leeway ; I have a much better idea what it takes to makes such applications.</p><p><br /></p><p>In the meantime take care as always ;-)</p>devnexenhttp://www.blogger.com/profile/11593098900191463216noreply@blogger.com0tag:blogger.com,1999:blog-4217579399668080765.post-64280011331273343022022-06-25T06:05:00.003+01:002022-06-25T06:05:24.177+01:00Another place to plug in ...<p> Hi folks,</p><p><br /></p><p>Since the last time, a new minor FreeBSD release went available, <a href="https://www.freebsd.org/releases/13.1R/relnotes/" target="_blank">the 13.1</a>, noted the sched affinity work done on master (compatible with Linux) earlier is available. NetBSD 9.3, however, not in sight yet hopefully in a reasonable timeline. Speaking of BSD, the <a href="https://2022.eurobsdcon.org/program/" target="_blank">EuroBSDCon 2022 edition in Vienna</a> is one I ll be watching from afar but couple of topic of interest personally ... "Making FreeBSD QUIC", "Writing Custom Command in FreeBSD's DDB Kernel Debugger" among other things.</p><p>After couple of years of contributing to php, finally got my write access credentials, so basically another chance to break builds :-) It s definitely more manageable than LLVM for instance but still need care ... pretty glad to review other people proposals nonetheless. While at it, the 8.2 release is in preparation, the feature freeze is for around mid July and a final release around the end of autumn as usual ; we shall see...</p><p>Apart of that, the usual more or less, video games, memory allocators (notably new, being involved in isoalloc), a bit of rust here and there.</p><p><br /></p><p><br /></p>devnexenhttp://www.blogger.com/profile/11593098900191463216noreply@blogger.com0tag:blogger.com,1999:blog-4217579399668080765.post-33380281059790735532022-05-11T21:32:00.003+01:002022-05-11T21:32:45.103+01:00Which malloc is this ?<p> Hi folks,</p><p><br /></p><p>Finally ... the long awaited <a href="https://github.com/jemalloc/jemalloc/releases/tag/5.3.0" target="_blank">5.3 release of jemalloc</a> is available after years of waiting. A decent amount of improvements and fixes mentioned in the changelog even though this wait period since the 5.2.1 release had not necessarily been in its favor thus alternatives and more modern solutions gained more recognition as a result. But it's all for the best, the more solutions to fit certain use cases, the better !</p><p>Speaking of alternatives, <a href="https://github.com/microsoft/snmalloc/releases/tag/0.6.0" target="_blank">microsoft snmalloc released its 0.6.0 version</a> (aka snmalloc 2, the internals had been largely rewritten since), I invite you to read the <a href="https://github.com/microsoft/snmalloc/tree/release_docs/docs/security" target="_blank">docs if you re interested of the changes</a>. Note that snmalloc finally appears in the <a href="https://github.com/struct/isoalloc/blob/master/SECURITY_COMPARISON.MD" target="_blank">isoalloc's security features comparison</a>.</p><p>Nevertheless, been glad to have been a bit involved in both :-)</p>devnexenhttp://www.blogger.com/profile/11593098900191463216noreply@blogger.com0tag:blogger.com,1999:blog-4217579399668080765.post-21402207867866928732022-04-22T20:41:00.004+01:002022-04-22T20:41:46.798+01:00str_repeat('David Carlier',...)<p> Hi folks,</p><p><br /></p><p>Little addendum since the last time, finally starting to appear more than once in the <a href="https://github.com/php/php-src/blob/master/NEWS" target="_blank">PHP news</a> .</p><p>As I write, number of commits are above 130 :-), trying to bring ideas and suggestions whenever I can.</p><p>Also, finally redis had accepted a new feature of mine <a href="https://github.com/redis/redis/commit/aba2865c8680326e148ba6eb4cb6f6e7ab5119a3" target="_blank">to mark a socket for network filtering purpose</a>.</p><p>I dived into the <a href="https://arxiv.org/pdf/1902.04738.pdf" target="_blank">mesh allocator from plasma-umass</a> which is known to have a higher tolerance with memory fragmentation than most of other allocators.</p>devnexenhttp://www.blogger.com/profile/11593098900191463216noreply@blogger.com0tag:blogger.com,1999:blog-4217579399668080765.post-10487777577508290972022-03-25T23:22:00.000+00:002022-03-25T23:22:00.508+00:00For the 14th time ...<p> Hi folks,</p><p>Since the last time, finally I let go some of old gears (especially the ones with old mechanic hard drives) for mostly Lenovo laptop as always open source os friendly. While I lost keyboard firmness, I gained performance overall with finally a decent GPU unit.</p><p>- <a href="https://releases.llvm.org/download.html#14.0.0">LLVM 14 had finally been released</a> hopefully will be less unluckily plagued than the 13th but the list of changes is enormous as always. Note for example Facebook's BOLT had been finally merged mainstream.</p><p>- The <a href="https://www.php.net/ChangeLog-8.php#8.1.4">PHP 8.0 and 8.1 </a>lines respectively continue to provide new fix releases, goal for the next ones is to strengthen the opcache/JIT solidity among other things.</p><p>- Something to keep an eye on, the <a href="https://github.com/faster-cpython/cpython">rewrite of (c)python</a> ; as implied it s to gain performance. Indeed most of programming languages had progressed in that area but <a href="https://github.com/faster-cpython/ideas/discussions/328">the python global lock had been a major obstacle for a long time</a>. Speaking of possible improvements, <a href="https://github.com/python/cpython/pull/31164">mimalloc is tested as a possible allocator replacement/alternative</a>.</p><p>I have personally bouncing between video games (mainly yquake2, openspades and in a lesser extent supertuxkart), a couple of rust crates (mainly the libc's), PHP ... trying to get involved in the rewrite on some memory allocators I used to contribute to, mostly the microsoft's ones.</p>devnexenhttp://www.blogger.com/profile/11593098900191463216noreply@blogger.com0tag:blogger.com,1999:blog-4217579399668080765.post-22961329213586818992021-12-28T09:56:00.005+00:002021-12-28T09:56:52.422+00:00May you have a happy new gear<p> Hi folks,</p><p><br /></p><p>2021 is soon ending with a slightly hotter winter than usual but many events still happened since the last post.</p><p><br /></p><p>- The <a href="https://llvm.swoogo.com/2021devmtg/" target="_blank">LLVM 2021 developer's meeting</a>, <a href="https://www.youtube.com/channel/UCv2_41bSAa5Y_8BacJUZfjQ" target="_blank">videos</a> can be found in the LLVM Youtube channel. Also LLVM migrating fully to github, bug tracker included.</p><p>- <a href="https://www.haproxy.com/blog/announcing-haproxy-2-5/" target="_blank">HAProxy 2.5 released</a> (even tough the QUIC/HTTP 3 protocol support is not quite there just yet).</p><p>- The long awaited <a href="https://www.php.net/archive/2021.php#2021-11-25-1" target="_blank">PHP 8.1</a> finally released.</p><p><br /></p><p>Also the next <a href="https://www.freebsd.org/status/" target="_blank">FreeBSD quarterly report submission ends soon</a>, as I write but it will be surely enlightening as usual.</p><p><br /></p><p>These past months I ve been into custom memory allocators (from jemalloc to the microsoft ones while not forgetting rpmalloc), diving more into PHP (finally above the 100 commits now :-)), still some rust as much as possible, various fuzzers and went back a bit to video games/engines in-between notably yquake2.</p><p><br /></p><p>See you next year hopefully, wish you well in the meantime :-)</p>devnexenhttp://www.blogger.com/profile/11593098900191463216noreply@blogger.com0tag:blogger.com,1999:blog-4217579399668080765.post-55075309428474879002021-09-27T12:50:00.004+01:002021-09-27T12:50:37.051+01:00How are you doing ?<p> Hi folks,</p><p><br /></p><p>Hopefully wherever you are, things are a lot better since the last time ; here the autumn is unusually hot and, gladly, life is coming back slowly but surely.</p><p>The last BSD event was the <a href="https://2021.eurobsdcon.org/" target="_blank">EuroBSDCon</a> which just ended, hopefully you will enjoy the videos sooner rather than later.</p><p>If you re ever curious, as I am, about alternative oses I looked up <a href="https://gitlab.redox-os.org/redox-os/redox" target="_blank">redox</a> and the less known <a href="https://github.com/SerenityOS/serenity" target="_blank">SerenityOs</a> ... as often, it is interesting there is much still to do, the latter being still a good one for study rather than using for any serious project but is definitively promising ; we shall see in few years where it goes.</p><p>In my side, I dived deeper into rust, mainly sharing my time between an handful of crates, mainly libc, sometimes the compiler itself, or some of its dependencies. Now I idealise a bit less the language than in the beginning I m still very interested by and contributing wherever I can. Also these last weeks I m back shortly to LLVM for the next 14 release, focusing as always on the BSD support.</p><p><br /></p><p>In the meantime, enjoy the sun while you still can :-) and see you next time.</p>devnexenhttp://www.blogger.com/profile/11593098900191463216noreply@blogger.com0tag:blogger.com,1999:blog-4217579399668080765.post-61000656099791376622021-07-01T20:59:00.002+01:002021-07-01T20:59:29.597+01:00Pace and rythm ...<p> Hi folks !</p><p><br /></p><p>Finally the summer has kicked in, enlightening my keyboard while rustup does it job.</p><p>Noted that next BSD related event would be <a href="https://2021.eurobsdcon.org/">EuroBSDCon</a> which should be the last online ack<i>nowledgedly</i>, however online or not its program content is appealing, personally would happily give a shot at Reyk Floeter about porting a daemon in rust.</p><p>Speaking of Rust, I ve been relatively actively involved with the <a href="https://github.com/rust-lang/libc">libc</a> crate again. Mainly BSD and macOs, a bit of Linux and little novelty a bit of its little sibling android. As I write, the next 0.2.98 version should be out at some point ... Also <a href="https://wiki.php.net/todo/php81">PHP 8.1 alpha 3</a> is going to be out, next step before the new feature window close. JIT in opcache underwent a lot of changes and improvements since the 8.0 flavor one of these is starting to support the arm64 architecture ! Recently yquake2 got a <a href="https://github.com/yquake2/yquake2/releases/tag/QUAKE2_8_00">well rounded 8.0 release</a> mainly about optional vulkan renderer support I would say. Apart of this, the usual ... snmalloc, little contributions here and there.</p><p><br /></p><p>Take care in the meantime :-)</p>devnexenhttp://www.blogger.com/profile/11593098900191463216noreply@blogger.com0tag:blogger.com,1999:blog-4217579399668080765.post-74421252642519068052021-05-18T19:53:00.002+01:002021-05-18T19:53:30.094+01:00Light in the end of the funnel<p> Hi folks,</p><p><br /></p><p>Hopefully wherever you are, things are getting better !</p><p>These last weeks, the months spent learning rust start to pay off and I decided to take a &[...] in couple of projects in github, especially the <a href="https://github.com/rust-lang/libc" target="_blank">libc's</a> to be able to make C code interacting with rust. Been focusing on BSD (as usual), a bit of Darwin and Haiku, some of my PR had been merged as I write. Other than that couple of memory allocators crates (snmalloc, rpmalloc wrappers) It is definitively a great language !</p><p>Other than that, as usual been contributing to some projects I look after yquake2, php (the last thing occurring is trying to bring FreeBSD into the Continous Integration's workflow), openssl a little, swoole, mariadb, snmalloc ...</p><p>Looking forward to be out more with the restrictions easing and the nicer weather :-) wish you all well in the meantime.</p>devnexenhttp://www.blogger.com/profile/11593098900191463216noreply@blogger.com0tag:blogger.com,1999:blog-4217579399668080765.post-70562304374089952452021-03-28T18:01:00.004+01:002021-03-28T18:01:37.301+01:00Rust(y) week end<p> Hi folks,</p><p><br /></p><p>Finally out of the winter and FreeBSD 13 will be released in couple of weeks when I write. It s going to be a nice milestone, eager to update my boxes 12 release in due time ...</p><p>In the meantime as usual did my share of contributions (Mariadb various platform supports improvements, php 8.1, the various allocators out there, also got interested of improving fibers features on various languages like ruby and so on); but also with the prolonged lockdown, took the opportunity to dive deeper into Rust again, really appreciating this language, especially exploring/using the arm64 stdarch crate on the raspberry and the mac M1... pretty promising even tough not all intrinsics are available (yet). It s the rare exception when I avoid stable releases but go with rustup, most of the time it is working fine and build versions for android as well.</p><p>If you are ever interested (and nostalgic) of the Commodore 64, I encourage you to <a href="https://sarahjaneavory.wordpress.com/">read this blog from Sarah Jane Avory</a>, who made couple of games and is very knowledgable of this particular platform are truly interesting :-)</p><p><br /></p><p>Wish you well and be safe ;-)</p><p><br /></p><p><br /></p>devnexenhttp://www.blogger.com/profile/11593098900191463216noreply@blogger.com0tag:blogger.com,1999:blog-4217579399668080765.post-66340797087423713712021-02-13T21:45:00.006+00:002021-02-13T21:45:35.013+00:00More ARM 64<p> Hi folks,</p><p><br /></p><p>The wind is battering strongly outside while I write, maybe proper time for intro(spection) :-)</p><p>Time flies fast as always, I just realised the FreeBSD 13.0 release is for sooner than I thought, <a href="https://www.freebsd.org/releases/13.0R/relnotes/">lot of interesting changes expected</a>. In my side been focusing on ARM64 in general mainly, among other things are porting few softwares to the Mac M1 while some projects still struggle to workaround stronger memory protections enforced (compared to its Intel counterparts), but things are progressing notably <a href="https://github.com/nodejs/node/commit/6ea9af9906cd74ed07ca05cf6aa44382025a6044">nodejs for example</a>. In my side, still with microsoft allocators like mimalloc, been into php 8.x a bit more than before too ... in a less extent I ve been doing my bit in mariadb and its optional rocksdb support. Ah and recently I ported the "defer-accept" directive support into Haproxy which is merged by now.</p><p><br /></p><p>Well, that is about it, when the lockdown are strong and or with bad weather I tend to <a href="https://youtu.be/lULOX_Dx4VI">record little music for relaxation</a> :-)</p><p><br /></p><p>Take care in the meantime.</p>devnexenhttp://www.blogger.com/profile/11593098900191463216noreply@blogger.com0tag:blogger.com,1999:blog-4217579399668080765.post-71961800776433303812020-12-31T15:10:00.002+00:002020-12-31T15:10:13.833+00:002021 ... M1 ?<p> Hi everyone,</p><p><br /></p><p>Hopefully you can spend a reasonably happy new Year's eve at the moment :-)</p><p>Time has flew pretty fast these last weeks, been contributing to, mostly, usual projects. As many had noticed, since the release of the new Apple Macbook pro M1, it brought up lot of build issues in various projects, some of these had been fixed in the meantime, the open source community so reactive as usual. I myself was able to get a hand of this, playing with both native and the famous "Rosetta" compatibility layer thus starting to help out fixing when I deem useful issues found here and there. Since it became rapidly a popular platform, it is impossible to ignore its proper support, whether using open source components from homebrew or compiling manually. So I ll continue in the next couple of weeks most likely and in the meantime wish you a good 2021 year ;-)</p>devnexenhttp://www.blogger.com/profile/11593098900191463216noreply@blogger.com0tag:blogger.com,1999:blog-4217579399668080765.post-87073376998819119542020-11-21T21:06:00.003+00:002020-11-21T21:06:31.867+00:00Light in the other end of the tunnel ?<p> Hi folks,</p><p><br /></p><p>I hope you are all fine ... but as you all know, there is a shred of hope :-)</p><p>Long time I did not write but I still contributed here and there as usual to projects I already mentioned, some few are new.</p><p>From Barony to the usual custom memory allocators (jemalloc particularly welcomed few BSD changes), redis, memcached, minetest ... PHP 8 is scheduled to be released around the 26th. Speaking of PHP, xdebug finally accepted my fixes from months months ago :-) The vast majority of the overall contributions had been merged or at least accepted.</p><p>For first time, I did few changes in OpenSSL for BSD systems and Haiku.</p><p>Outside of contributions, the recent release of the Mac M1 line has a good chance to interest me, professionally speaking primarily, with its iOs and Intel compatibility layer. We shall see.</p><p>Nothing too special apart of this, during this lockdown, I took the opportunity to go back to one of my teenage hobby and <a href="https://youtu.be/_XXUqv3D8mY" target="_blank">went to (re)record this little piece</a> :-)</p><p><br /></p><p>Fingers crossed things will go better in 2021, in the meantime I wish you all well ;-)</p>devnexenhttp://www.blogger.com/profile/11593098900191463216noreply@blogger.com0tag:blogger.com,1999:blog-4217579399668080765.post-54805995098253778642020-09-07T14:08:00.000+01:002020-09-07T14:08:00.349+01:00PHP enters soon into Release Candidate hammering<p> Hi folks,</p><p><br /></p><p>Hopefully you re still hanging there wherever you are, I see still the number of readers remain more or less the same compared to the usual :-)</p><p>For all C++ developers, pros and/or enthusiasts, I would recommend reading <a href="https://herbsutter.com/2020/09/06/c20-approved-c23-meetings-and-schedule-update/?fbclid=IwAR1yRVHDOcpcQ1u6jAg0ioMZUT3pNUkpetrDA-qvP1MJQ4kP2RrLBCKDuz4">this blog post about C++20 approval from Herb Sutter</a> which comes from a long way and open source compilers have been supported early on the features, giving time to start to get used to them (modules, constexpr extended very much so (IMO), co-routines, ...). Good, news considering the situation ; and the next step, C++23, is still on track for sometime in 2021 which is pretty important one about last possible changes proposals.</p><p>In my side, I've been still on Haiku pretty much, for instance PHP 8 will enter soon into the RC time, before the end of this month hopefully, I have already pushed enough code to make it workable in this platform, I usually use the already packaged pcre2 package rather than the version shipped with the php regex extension which does not build because of the JIT (build fixed since, but not released yet and even less ported to the pcre2 repository). A lot of changes even tough sadly couple of interesting ones will have to be done after (8.1 or future 9.0) ... nevertheless you PHP developers I invite you to <a href="https://github.com/php/php-src/blob/master/UPGRADING">read the UPGRADING note</a> to migrate from the 7.x versions (e.g. errors thrown as exceptions).</p><p><br /></p><p>I took another bite at Barony to port it to Haiku. Due to its low usage of platform specificities, it had been pretty straightforward. However, <a href="https://github.com/TurningWheel/Barony/pull/521">a change of license had become necessary</a>, but seems all devs/contributors have agreed to. Other than that, I did also some NetBSD related contributions here and there (radare2, rpmalloc). I appreciate this os more than in the past, I appreciate what it becomes with the time goes. At last, a bit for Illumos based oses, still my liking for underdogs talking :-)</p><p><br /></p><p>Wish you well, see you the next time ;-)</p>devnexenhttp://www.blogger.com/profile/11593098900191463216noreply@blogger.com0