Bonjour, wanderers of the digital realm, to my corner of cyberspace! This is where the magic of CS, Software Engineering and open-source blend in a symphony of ones and zeros.

my resume ↓

            _                                                _                                                     _                                                _                                                    _                                                _                                     
          (`  ).                   _                       (`  ).                   _                            (`  ).                   _                       (`  ).                   _                           (`  ).                   _                       (`  ).                   _              
         (     ).              .:(`  )`.                  (     ).              .:(`  )`.                       (     ).              .:(`  )`.                  (     ).              .:(`  )`.                      (     ).              .:(`  )`.                  (     ).              .:(`  )`.          
        _(       '`.          :(   .    )                _(       '`.          :(   .    )                     _(       '`.          :(   .    )                _(       '`.          :(   .    )                    _(       '`.          :(   .    )                _(       '`.          :(   .    )         
    .=(`(      .   )     .--  `.  (    ) )           .=(`(      .   )     .--  `.  (    ) )                .=(`(      .   )     .--  `.  (    ) )           .=(`(      .   )     .--  `.  (    ) )               .=(`(      .   )     .--  `.  (    ) )           .=(`(      .   )     .--  `.  (    ) )        
   ((    (..__.:'-'   .+(   )   ` _`  ) )           ((    (..__.:'-'   .+(   )   ` _`  ) )                ((    (..__.:'-'   .+(   )   ` _`  ) )           ((    (..__.:'-'   .+(   )   ` _`  ) )               ((    (..__.:'-'   .+(   )   ` _`  ) )           ((    (..__.:'-'   .+(   )   ` _`  ) )         
   `(       ) )       (   .  )     (   )  ._        `(       ) )       (   .  )     (   )  ._             `(       ) )       (   .  )     (   )  ._        `(       ) )       (   .  )     (   )  ._            `(       ) )       (   .  )     (   )  ._        `(       ) )       (   .  )     (   )  ._      
     ` __.:'   )     (   (   ))     `-'.-(`  )        ` __.:'   )     (   (   ))     `-'.-(`  )             ` __.:'   )     (   (   ))     `-'.-(`  )        ` __.:'   )     (   (   ))     `-'.-(`  )            ` __.:'   )     (   (   ))     `-'.-(`  )        ` __.:'   )     (   (   ))     `-'.-(`  )    
  ( )       --'       `- __.'         :(      ))   ( )       --'       `- __.'         :(      ))        ( )       --'       `- __.'         :(      ))   ( )       --'       `- __.'         :(      ))       ( )       --'       `- __.'         :(      ))   ( )       --'       `- __.'         :(      ))  
 (_.'          .')                    `(    )  )) (_.'          .')                    `(    )  ))      (_.'          .')                    `(    )  )) (_.'          .')                    `(    )  ))     (_.'          .')                    `(    )  )) (_.'          .')                    `(    )  )) 
              (_  )                     ` __.:'                (_  )                     ` __.:'                     (_  )                     ` __.:'                (_  )                     ` __.:'                    (_  )                     ` __.:'                (_  )                     ` __.:'   
                                                                                                                                                                                                                                                                                                                
            _                                                _                                                     _                                                _                                                    _                                                _                                     
          (`  ).                   _                       (`  ).                   _                            (`  ).                   _                       (`  ).                   _                           (`  ).                   _                       (`  ).                   _              
         (     ).              .:(`  )`.                  (     ).              .:(`  )`.                       (     ).              .:(`  )`.                  (     ).              .:(`  )`.                      (     ).              .:(`  )`.                  (     ).              .:(`  )`.          
        _(       '`.          :(   .    )                _(       '`.          :(   .    )                     _(       '`.          :(   .    )                _(       '`.          :(   .    )                    _(       '`.          :(   .    )                _(       '`.          :(   .    )         
    .=(`(      .   )     .--  `.  (    ) )           .=(`(      .   )     .--  `.  (    ) )                .=(`(      .   )     .--  `.  (    ) )           .=(`(      .   )     .--  `.  (    ) )               .=(`(      .   )     .--  `.  (    ) )           .=(`(      .   )     .--  `.  (    ) )        
   ((    (..__.:'-'   .+(   )   ` _`  ) )           ((    (..__.:'-'   .+(   )   ` _`  ) )                ((    (..__.:'-'   .+(   )   ` _`  ) )           ((    (..__.:'-'   .+(   )   ` _`  ) )               ((    (..__.:'-'   .+(   )   ` _`  ) )           ((    (..__.:'-'   .+(   )   ` _`  ) )         
   `(       ) )       (   .  )     (   )  ._        `(       ) )       (   .  )     (   )  ._             `(       ) )       (   .  )     (   )  ._        `(       ) )       (   .  )     (   )  ._            `(       ) )       (   .  )     (   )  ._        `(       ) )       (   .  )     (   )  ._      
     ` __.:'   )     (   (   ))     `-'.-(`  )        ` __.:'   )     (   (   ))     `-'.-(`  )             ` __.:'   )     (   (   ))     `-'.-(`  )        ` __.:'   )     (   (   ))     `-'.-(`  )            ` __.:'   )     (   (   ))     `-'.-(`  )        ` __.:'   )     (   (   ))     `-'.-(`  )    
  ( )       --'       `- __.'         :(      ))   ( )       --'       `- __.'         :(      ))        ( )       --'       `- __.'         :(      ))   ( )       --'       `- __.'         :(      ))       ( )       --'       `- __.'         :(      ))   ( )       --'       `- __.'         :(      ))  
 (_.'          .')                    `(    )  )) (_.'          .')                    `(    )  ))      (_.'          .')                    `(    )  )) (_.'          .')                    `(    )  ))     (_.'          .')                    `(    )  )) (_.'          .')                    `(    )  )) 
              (_  )                     ` __.:'                (_  )                     ` __.:'                     (_  )                     ` __.:'                (_  )                     ` __.:'                    (_  )                     ` __.:'                (_  )                     ` __.:'   
                                                                                                                                                                                                                                                                                                                

Blogging

Fasten your seat belts and hold on tight as we embark on a journey through loops and conditionals, diving deep into the intricate maze of data structures, and ascending the abstract peaks of algorithms! Oh, and there might be the occasional null pointer exception, but hey, nobody's perfect, right?

Ever dreamed of traversing through a binary tree? Do you find solace in the predictable loops of a while statement? Or perhaps you've yearned for the thrill of a successful git merge without any conflicts? Well, you've come to the right place!

As a caffeine-addict and semicolon misplacer (AKA software engineer), I won't be that kind of code-junky but a story-teller instead who'll try to express riveting tales through Pythonic prose and Golang-ish jargon and other row of bytes...

Scientific papers

Prepare to compile, debug, and deploy your brain cells, because this isn't your average 'Hello World' web site.

No, my friends, this is the real deal - Welcome to our delightful kaleidoscope of scientific intrigue and whimsical wonderment; a place where hard facts and light-hearted folly rendezvous in the name of enlightenment and entertainment. !

Get ready to put on your thinking caps and laughing hats simultaneously as we oscillate between the serious and the silly, the factual and the fanciful, the rational and the ridiculous. This isn't your average science digest, but a quirky almanac where the quirky side of science takes the center stage.

Junk

Salutations, dear devourers of the daily! Welcome to my grand emporium of information, my Internet's very own melting pot of news, views, and the occasional ridiculous ruse. Here, no news is too big, no story too small, and no gossip too trivial to escape my gaze.

Picture this: an eclectic arena where the gravitas of global politics, the whimsicality of celebrity gaffes, and the simplicity of everyday life merge into a fascinating symphony of stories. From the head-scratching decisions of political heavyweights to the head-turning Parisian fashion faux pas (I wouldn't be french without criticizing my own folk right ?), from the world-changing discoveries of science to world-weirding discoveries of the utterly bizarre – we have it all!

--'`,---..-.--+--.,,-,,..._.--..-._.---.--..,___.--,--'`,---..-.--+--.,,-,,..._.--..-._.---.--..,___.--,--'`,---..-.--+--.,,-,,..._.--..-._.---..,,-,,..._.--..-._.---.--..,___.--,--'`,---..-.--+--.,,-,,..._.--..-._.---.--..,___.--,--'`,---..-.--+--.,,-,,..._.--..-._.---.
--'`,---..-.--+--.,,-,,..._.--..-._.---.--..,___.--,--'`,---..-.--+--.,,-,,..._.--..-._.---.--..,___.--,--'`,---..-.--+--.,,-,,..._.--..-._.---..,,-,,..._.--..-._.---.--..,___.--,--'`,---..-.--+--.,,-,,..._.--..-._.---.--..,___.--,--'`,---..-.--+--.,,-,,..._.--..-._.---.

Latest content

An idea on how to improve QEMU to QEMU VM live migration in LXD

In this document, we explore the nuances of live migration of virtual machines (VMs) in environments lacking shared storage, focusing on optimizing the `size.state` parameter in LXD. By introducing a conceptual shared volume, termed Ω, we investigate methods for refining partition functions and throttle rates to enhance migration efficiency and resource utilization. This study aims to automate parameter adjustments, reducing the need for manual intervention and thereby improving the user experience in live VM migrations. Our approach integrates advancements in QEMU mirroring with LXD management techniques to offer a streamlined migration process.

Read it ↓
 +-----------------+                 +-----------------+
 |    LXD Host A   |                 |   LXD Host B    |
 |                 |                 |                 |
 |                 |      Live       |                 |
 | +------------+  |    Migration    |  +------------+ |
 | |    QEMU    |  | --------------\ |  |    QEMU    | |
 | | Hypervisor |  | \-------------  |  | Hypervisor | |
 | +------------+  |                 |  +------------+ |
 |    /       \    |                 |    /       \    |
 |   /         \   |                 |   /         \   |
 | +---+     +---+ |                 | +---+     +---+ |
 | |VM1|     |VM2| |                 | |VM3|     |VM4| |
 | +---+     +---+ |                 | +---+     +---+ |
 +-----------------+                 +-----------------+
         |                                     |        
         +-------------+          +------------+        
                       |          |                     
                    +------------------+                
                    |     Network      |                
                    +------------------+                 
                                         
                 _ . _                   
              _+       +_                
          _.               ._            
       _. .                     ._       
   _ +   ┆  ╴__                    + _   
 .       ┆       .                     . 
┆  ╴__ ╴    ╴__ .  ┆  ._           _ ╴  ┆
┆_ ╴   ._ _.     ..┆      ╴.._  _.      ┆
┆  ╴_    ┆    _╴     ╴._     ┆          ┆
┆.     ._┆_.             ╴.._┆         .┆
┆  ╴_     ╴._             _.╴┆    _ ╴   ┆
┆      ._     ╴.._   _..╴    ┆ _.       ┆
._        ╴._      ┆      _.╴        _.  
   __         ╴.._ ┆ _..╴         __     
       ._          ┆          _.         
           ._      ┆      _.             
                .__┆__.                  

The Magical World of JuJu Charms, part 3

Let’s put on our wizard hat and weave some Juju magic. Just like a seasoned mixologist, we'll be blending the cool essence of LXD Microcloud with the wizardry that is a Juju charm. The result? A potent cocktail of cloud orchestration that will have you spellbound! 🧙‍♂️

Read it ↓

Bytes, opcodes, and the macarena... Understanding Your CPU's simple dance moves, part 1

Ever wondered what goes on inside your computer's brain when you double-click that program icon? No, it's not magic or computer elves doing the heavy lifting. My dear Watson, we are about to dive into the rabbit hole that makes Alice's Wonderland look like a sandbox! Welcome to the curious world of CPU instructions, syscalls, and the wizardry that makes your computer tick—or should I say, click? After weeks of sifting through the academic fluff, murky forums, and cryptic tech papers, I've emerged like a code-warrior with dozens of pages of notes. I’ve pieced together what happens from the moment your finger hits the mouse to when the screen finally bows to your command. So, let’s talk shop and unravel this high-tech yarn together, shall we?

Read it ↓
                                      
        !7777!7777777777777.          
   ~777?55555555PPP555PPPPPJ???7^     
  .PBBBBGBBBBBBBBBBBBBBBBBBBBBB#P:    
 .:PGGGGG5JJJJJJJJJJJJJJJYPBBBBBG^:.. 
^?JGGGGP!                  JBBBB5JJ!..
~YYGGGB5~                  !GBBBPYY!..
~JYGGGB5~   __   __        !BBBBPYY!..
~JYGBBB5~  /  ` |__) |  |  !BBBBPYY!..
~JYGBBB5~  \__, |    \__/  !BBBBPYY!..
~JYGBBB5~                  !BBBBPYY!..
~JYGBBB5~                  !BBBB5JY!..
~YYGBBBGJ~               ~!5BBBB5YY!..
^JYBBBBBBGPPPPPPPPPPPPPPPGBBBBBBPJY!  
 .^G#BBBBBBBBBBBBB########BBBBB#B^..  
   !5PPPPPPPP55PPPPP55PPPPGPPPP5?.    
     .:^JYYYYJJYYYYJJJYYYYY^....      
       .^^^^^^^^^^^^^^^^^^:.          
         Web interface & REST API        
                     *                   
                     .                   
                     +                   
                     .                   
                     *                   
   ┌╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┐  
   ┆ (regiond)           ┆ pgsql,maas ┆  
   └╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘  
      DNS, NTP, Syslog, Squid Proxy      
             .              .            
            /                \           
           /                  \          
          *                    *         
 ┌╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┐  ┌╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┐
 ┆ (rackd)  ┆ maas ┆  ┆ (rackd)  ┆ maas ┆
 └╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘  └╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┘
    PXE,IPMI,DCHP,       PXE,IPMI,DCHP,  
    TFTP,ISCI,NTP        TFTP,ISCI,NTP   
          |                    |         
  ┌╴╴╴╴╴╴╴╴ ...          ... ╴╴╴╴╴ ...   
  ┆       ┆                    ┆         
┌╴╴╴╴┐  ┌╴╴╴╴┐               ┌╴╴╴╴┐      
┆ __ ┆  ┆ __ ┆               ┆ __ ┆      
┆ __ ┆  ┆ __ ┆               ┆ __ ┆      
┆    ┆  ┆    ┆               ┆    ┆      
┆ m0 ┆  ┆ m1 ┆   ...         ┆ mi ┆      
└╴╴╴╴┘  └╴╴╴╴┘               └╴╴╴╴┘      

The Magical World of JuJu Charms, part 2

Ahoy, tech aficionados and cloud wranglers! 🤠 Before we dive into the cosmic wonders of JuJu, the magical spellbook for your cloud services, let's chat about its rockstar roadie, MAAS (Metal-as-a-Service). Why, you ask? Because JuJu may be the lead guitarist, but MAAS is the rhythm section! Imagine trying to launch into an epic cloud deployment solo without a backstage crew to set the stage—crazy talk! MAAS lays the groundwork, orchestrating your servers like a seasoned conductor before JuJu swoops in to make them sing. So, let’s pull back the curtain on MAAS first, the unsung hero that makes your cloud hit all the right notes! 🎵🌟

Read it ↓
Read all posts ↓
--'`,---..-.--+--.,,-,,..._.--..-._.---.--..,___.--,--'`,---..-.--+--.,,-,,..._.--..-._.---.--..,___.--,--'`,---..-.--+--.,,-,,..._.--..-._.---..,,-,,..._.--..-._.---.--..,___.--,--'`,---..-.--+--.,,-,,..._.--..-._.---.--..,___.--,--'`,---..-.--+--.,,-,,..._.--..-._.---.
--'`,---..-.--+--.,,-,,..._.--..-._.---.--..,___.--,--'`,---..-.--+--.,,-,,..._.--..-._.---.--..,___.--,--'`,---..-.--+--.,,-,,..._.--..-._.---..,,-,,..._.--..-._.---.--..,___.--,--'`,---..-.--+--.,,-,,..._.--..-._.---.--..,___.--,--'`,---..-.--+--.,,-,,..._.--..-._.---.

My resume

+ Currently system SWE at
Canonical.
Working on virtualizing stuff for LXD
and its constellation of tools and
relevant dependencies.

+ Download my resume by running the following
command in your terminal:

<joke>supported on all platforms.</joke>
curl -LJO https://github.com/gabrielmougard/gabrielmougard.github.io/raw/main/resume.pdf
( ) ( ) ( ) ( ) ( ) ( )
                                  \|/        
                                 --o--       
                                  /|\        
                                             
     *                     _                 
              _         =(_.                 
            -(__ .)    _(_ __)               
         . (_`     _)`-.                 .   
       =(         `  _) )                  * 
     (_( `             ' )                   
    ~.`._ ~__ _   .__ __'_-                  

Get in touch

Send me a mail here (professional address) or there (personal address) to contact me. Yes, I'm a mail type of guy.

Check out my github page at github.com/gabrielmougard to see what I'm working on.

..-.--*--.__-__..._.--..-._.---....~__..._.--..~._.---.--..____.--_--'`_---..
-.--~--._  __..._.--..~._.--- - -.____.--_--'`_---..~.----_~