Is this you? As a journalist, you can create a free Muck Rack account to customize your profile, list your contact preferences, and upload a portfolio of your best work.
Claim your profile
Articles by Emma Boudreau
Olive 0.2.5 And 8 Extensions
This is a feature I stole from VSCode that I often miss when I use Jupyter - it is nice to have highlighting for your markdown-based examples! So I figured I would add it to my notebook. All of the updates to Olive itself are awesome - the project still needs some work to reach perfection, and I do have a lot of big changes planned for 0.3 , but I am still happy. The notebook editor works quite well at this point, even if there are changes I want to make.
A Plethora Of Chifi Releases
The latest version updates as we inch ever closer. Press enter or click to view image in full size unpackaged packages I have been working incredibly hard over the past few months to finally bring my project into fruition by the end of 2025. I am happy to report just how incredibly close we are getting; OliveCreator , at this point, is primarily waiting on Olive extensions and has already been built to some extent.
The Best Olive Yet!
Back in 2021, I took on a challenging and ambitious project; an extensible web-based notebook editor for the Julia language. The goal of this project is to create an ultra-flexible and dynamic cell-based web-editor for creating and presenting scientific and software engineering projects. The most difficult aspect of this project being that the tools to build it were not present in Julia at the time.
OliveMarkdown: Large Power In A Tiny Extension
Reading will always be more complex than writing, and writing first will also give us a better idea of how to read the data back. Therefore we will start by writing markdown files from cells. I am going to start with a basic template. is the save function for regular / Julia files, so we will be replacing this call with a similar one that calls our own function. To support this function and easily implement this format for any cell using multiple dispatch, we are going to add the function.
Shocking: Developer ‘Develops’ Herniated Disc In Spine
As a testament to just how hard I am working and how much I tend to push my limits when it comes to spending time on the computer, this week has completely disabled me. I live my life in a constant state of back pain, and numerous components of my life contribute to this — not least of which is sitting at the desk a majority of the time typing away. I am also an avid backpacker and routinely carry between 20–30 pounds on my back for 10–20 mile hiking sessions around once a month.
Cryptographic Design Patterns In Julia Using Nettle.jl
Despite its small package count in comparison to other languages, the Julia ecosystem offers all we need to encrypt data using a number of different encryption algorithms. For this article, we are specifically going to be focusing on the AES-256. AES-256 is an encryption standard which encryption algorithms are written to replicate.
Encoding In Julia - A Detailed Overview
The most essential data-structure to grasp when it comes to encoding in Julia is the . This is because most data will be parsed from strings and encoded into Julia-bound data-types, and when we introspect the underlying encoding for a given type we will usually be doing so in strings. Strings in Julia are also use Unicode encoding, and this is an important consideration when it comes to working with strings. In Julia, strings are composed of characters.
My DataBase Server And My ORM - This Is Beautiful
is my largest project to-date, and is the result of several packages I created working together to create an incredibly unique ‘Jupyter’-notebook based web-application. This project is best described as a combination between , , and all coming together to make collaborate, create, and learn. Built in the style of the old internet; a website you can interactively spend time on and share with your friends that isn’t just another social-media service. There’s also no profit goal and no business.
A Bunch Of New Releases And Olive 0.2
Approaching a new Olive version as I wrap up everything else. up to speed For quite a while now, this blog has been almost entirely dedicated to progress updates on my largest project to date — a collaborative online notebook editor written in 100-percent Julia. This project has lead me to create all kinds of single and multi-use tools, including an entire web-development framework.
Incoming Progress
Creating some really cool projects over the course of the past week. introduction Hello everyone! With another few weeks behind me, an exciting amount of progress has come to the chifi projects. This progress is slowly inching us toward the ultimate goal of a multi-user collaborative notebook editor.
Olive 0.1.3 Has Just Released!
Reviewing the new features in the latest version of Olive. upgrades in olive 0.1.3 After a lot of work and a few small additions, Olive 0.1.3 is now here. This latest version is set to be the final build-on of this breaking version, 0.1.3 , and with its release the next anticipated release will be of Olive 0.2.0 .
Chifi Docs Is Here!
chifi update | may 2025 Going over the new deployment and my next steps in this project. After a lot of work to finally get the project off of the ground and deployed locally onto my server, ChifiDocs is finally publicly available and actively runs on Clara all day long. While this is by no means the final deployment, and is an alpha version of the web-app, I am quite happy with the version I currently have and its future.
What I Learned Implementing My Own Proxy Server With Julia
Some really cool things I learned by brute-forcing my way through proxy madness. introduction After last year’s major overhaul of my Julia web-development framework, Toolips, I was eager to experiment with its many new features. Toolips is an extension-based web-development framework, and the latest version of Toolips featured new ways to extend the framework with phenomenal results. One of the most exciting advancements that came with Toolips 0.3 is a newhyper-extensible routing system.
Reviving Clara
Getting an old server up and running, and preparing for a deployment. context I plan to deploy three interactive web-applications to the internet this year, two of which will be rather massive. The first of these applications has been boiling in the background for some time. There are still some aspects I am cooking, but the soup is almost ready. With my first deployment comes concern; I have three different servers I intend to balance these projects on.
Chifi’s Ecosystem Update | April 11, 2025
chifi update The latest news in the continuing progression of the chifi software ecosystem. the home stretch I am excited about the current state of chifi software and what is soon to come for the project in the near future. My goal has been to deliver some truly awesome, creative, and unique projects to Julia users and deploy free web-services for people to use for learning and collaborating on software and art.
Building A Custom Router For My Documentation Website
Showing off Toolips’ extensible routing capabilities with yet another build-on to ChifiDocs. toolips and custom routing One of my many missions in Julia over the past few years has been to create some illustrious tools for data science and data-driven web development in the Julia language. The latter produced the need for a web-development framework, as I wanted more complex capabilities than most offer.
Adding 3D Model Viewing To Em’s Computer
Member-only story Working on what is likely the most complicated aspect of Em’s Computer — sharing my files. Emma Boudreau · Follow Published in chifi · 18 min read · -- up to speed Last week, I took a break from my normal regimen of developing Julia packages to completely rebuild one of my old semi-abandoned packages inside of my new software suite.
The Olive Beta Testing Period
A brief period I am going to be taking before releasing a huge version of Olive. Emma Boudreau · Follow Published in chifi · 8 min read · -- great news After a long two years filled with many trials and tribulations — building my own web-development framework, highlighting package, and notebook format readers — I have finally completed the first beta version of the parametric notebook editor concept.
Putting The Finishing Touches On Olive Beta
Member-only story Chifi Update | March 01 2025 The last few problems I am solving before finally releasing Olive’s first beta. Emma Boudreau · Follow Published in chifi · 10 min read · -- current status of olive I am still engaged with the last few big things I need to accomplish before I will be able to register Olive 0.1 . This new version is a solid execution of Olive that fully realizes the parametric notebook concept alongside setting the stage for an entire new ecosystem of tools.
How Do Web Crawlers Work?
Member-only story The simplicity of webcrawling (and building your own.) Emma Boudreau · Follow Published in chifi · 11 min read · -- Photo by visuals on Unsplash how web crawlers changed the world In the early 1990s, as the World Wide Web began to expand beyond a small academic network, it quickly became apparent that navigating this vast sea of information would require more than just manually curated directories. Larger directory lists became long and nearly unreadable.
5 Unfortunate Trade-Offs To Using Julia
Member-only story Various sacrifices the Julia language takes to be better in other ways. Emma Boudreau · Follow Published in chifi · 11 min read · -- For Data-Scientists, a language like Julia is incredibly appealing. The language boasts being fast and ultra-composable while also being dynamic and declarative. The language is also built for parallel computing from the ground up, and features a unique and powerful programming paradigm.
A Simplified Introduction To Toolips
Member-only story Powerful web-development for crazy people. Emma Boudreau · Follow Published in chifi · 15 min read · -- Last month, I took on the challenge of writing an approachable Toolips tutorial for beginners. While using Toolips for simple web-development is quite straightforward, explaining this simplicity while also explaining what sets Toolips apart can be quite difficult.
A Simplified Introduction To Toolips
Member-only story Powerful web-development for crazy people. Emma Boudreau · Follow 15 min read · -- Last month, I took on the challenge of writing an approachable Toolips tutorial for beginners. While using Toolips for simple web-development is quite simple, explaining this simplicity while also explaining what sets Toolips apart can also be quite difficult.
Significant Progress Everywhere
Member-only story Huge updates on everything I am working on. Emma Boudreau · Follow Published in chifi · 19 min read · -- These past three months have been incredibly productive for me. While I took an awfully long break from blogging and open-source development late last year (busy with other things,) in these past few months I have more than made up for this shortcoming by making rapid advancements in my software projects.
The Foundations of Web Development: A Guide to Internet Protocols and Web Development
Member-only story This guide covers the informational prerequisites needed to help new developers build a straightforward and strong foundation in web development. Emma Boudreau · Follow Published in chifi · 14 min read · -- Photo by NASA on Unsplash In the modern world, the vast majority of people are keenly aware of the internet and use the service on a nearly daily basis. What might be more mysterious are the underlying systems at play that come together to build a web-browsing experience.
The Em’s Computer Revival!
Member-only story Reviving an old project in hopes of making a cool website. Emma Boudreau · Follow Published in chifi · 23 min read · -- a project gone stale As developers, we always tend to have more abandoned or incomplete projects than finished ones. This is especially the case when many of the projects are ambitious and developing them takes a lot of time.
Another Post About Progress
Member-only story CHIFI UPDATE | February 1 Another exciting week in project creation. Emma Boudreau · Follow Published in chifi · 14 min read · -- The current status of my software is very exciting, I have made enormous progress on completing my most significant projects and getting solid versions, alongside their documentation, out of the door and in the hands of users.
Ubiquitous Capitalist Misinformation
Misinformation and propaganda that has become fact. The system IS mutable. Emma Boudreau · Follow Published in pink balloon · 29 min read · -- Photo by Nikolay Vorobyev on Unsplash Capitalism, often hailed as the engine of prosperity and the foundation of free markets, is deeply embedded in the fabric of nearly every modern society.
Building A Memory Limiter For Olive
Member-only story Showing off more Olive extensibility by easily implementing my memory limiter. Emma Boudreau · Follow Published in chifi · 17 min read · -- status update I am getting painfully close to the release of Olive beta — an exciting new release of the parametric notebook editor that will be far more capable than it has ever been before.
Approaching The Big Release
Member-only story More updates on the status of my enormous project. Emma Boudreau · Follow Published in chifi · 11 min read · -- We are in the final few days-weeks before the release of Olive beta. I have been working tirelessly to power through the last couple of bugs and features that I want to address before getting this next release out. With this, I will finally be on the other side of a solid Olive release and will be able to distribute my efforts more evenly.
How To Setup A Convenient Remote Development Environment With SSH
An overview of how I set up my remote computing, and how others could too. Emma Boudreau · Follow Published in chifi · 12 min read · -- It really is crazy how small this thing is next to a laptop. Also, representing my favorite worst brand of electronics with the laptop. I have two HP laptops for some reason, I have no idea how I ended up in this mess.
Ongoing Olive Issues
chifi updates | January 2025 My notebook editor looks awesome in its current state. Emma Boudreau · Follow Published in chifi · 17 min read · -- overview I have worked and worked to complete this wildly ambitious project — a parametric notebook editor for Julia with unparalleled full-stack interactivity. It started with the creation of a web-development, and today we reside on the precipice of the most anticipated version yet: Olive 0.1 , the first beta version of the project.
Silverstone SG13 Computer Case Review
opinion I write whatever I want now. Emma Boudreau · Follow 16 min read · -- why I am reviewing a computer case At the beginning of this year, I finally got around to building my new desktop. While I am primarily a laptop user and tend to invest more heavily in those, I have changed substantially lately and have found myself using computers in different ways.
Building Multiplayer ‘Connect 4’ With Toolips
Creating a multiplayer ‘connect 4’ game with Toolips 0.3.6. Emma Boudreau · Follow Published in chifi · 29 min read · -- The versatility of the Toolips web-framework is its versatility. I have been able to create an enormously broad range of applications using this web development framework including multi-player pong games, APIs, chat applications, visualization frameworks, and of course my magnum opus; Olive . Most of these are also surprisingly straightforward to put together with Toolips .
Creating A Custom ‘User Router’ With Toolips
Creating a customized routing system for my OliveCreator project. Emma Boudreau · Follow Published in chifi · 17 min read · -- introduction At the end of last year, I jumped the gun on starting the foundations of my new website. This website is quite ambitious, hosting an interactive multi-user notebook editor alongside a basic social and sharing system.
A Comparison Between The Cinnamon, Gnome, And KDE Plasma Desktop
Comparing my favorite three desktop environments for Linux. Emma Boudreau · Follow Published in chifi · 15 min read · -- my desktop-environment story I have an interesting relationship with my desktop environment. I am a little obsessive about things needing to be particular — I am not your average desktop user. While I use a stacking window manager, in some ways I like to use my stacking window manager almost like a tiling window manager using a combination of workspace overviews and hot keys.
Building Out Of Memory File Readers In Julia
Demonstrating a slowly improving out-of-memory concept for Data Science. Emma Boudreau · Follow Published in chifi · 10 min read · -- Julia is a powerful language that balances performance and usability incredibly well, making it an excellent choice for scientific computing, data analysis, and beyond. However, one of the language’s well-known shortcomings is its memory usage, and this is often felt when working with large data-sets.
Streams In Julia: Working With Data On Disk
Working with data that’s still in a file with Julia. Emma Boudreau · Follow Published in chifi · 7 min read · -- It is no secret that one of Julia’s biggest shortcomings as a language comes in the form of memory usage. Julia offers high-level dynamic syntax, a robust type system, and is one of the few languages fast enough to join the ‘Petaflop club’, but this is not without cost.
Olive Highlighters And Marked Improvements To Everything
chifi update | December 5th 2024 We are at the next step I described in the last Chifi update! up to speed Last week, on Thanksgiving, I gave a detailed update on the current status of my three ecosystems, as well as my short-term plans for bringing more of my ecosystem plans into fruition.
The Second Amendment Does Not Protect Your Right To Own Guns
I think we have grossly misinterpreted the second amendment of the U.S. constitution. Emma Boudreau · Follow Published in pink balloon · 5 min read · -- Photo by Thomas Ashlock on Unsplash the second amendment In the U.S., few debates spark as much passion and division as the conversation about firearms. Identifying with one side of this argument is often a matter of personal belief, and there are certainly arguments to be considered on both sides.
Julia Has Amazing Indexing
How Julia makes it easy to access data stored in structures. introduction Indexing is an essential concept in programming that allows us to get elements of a collection by providing an index that references that element. For a Vector or list , this index is usually the element’s position in the Vector . For a dictionary, indexing is usually done with the keys of that dictionary. The return of an index call will always be an element or multiple elements from the original structure.
Introducing GattinoPleths: New Choropleths For Gattino
Finally unveiling my choropleth extension for my Gattino plotting library. gattino and gattino pleths Earlier this year, I finally got around to releasing my first data-visualization package, Gattino . Gattino stands out when compared to other visualization libraries in three key ways: Gattino visualizations are far more open-ended in customization than the majority of other options, and styling is done through more conventional (Toolips style) CSS rather than a proprietary system.
5 Of My Favorite Ways To Avoid Programming Burnout
Some of the many techniques I use to continue programming indefinitely. Introduction It is the nemesis of both productivity and creativity, a problem as old as time. We often want to create and do without second thought, and as humans this is a biological impossibility. We are people, not machines, and therefore it is always important to consider biological limitations — whether in regards to something physical, or something creatively and mentally taxing like computer programming.
Writing 3 File Parsers In Julia
Demonstrating algorithmic techniques in Julia by building some parsers. One thing I often try to emphasize in my blog posts is that software-development, programming, and Data Science are all life-long skills that will constantly improve with experience. While the shear amount of information to learn may sometimes be overwhelming, spread out over a longer period of time and with the proper educational direction this wealth of information can become known.
I LOVE Godot
Explaining why Godot is so great, and showing off some of my projects! introduction In my now many years of development expertise, I have used many tools to build many different types of software. While many of these tools have made their impact on my knowledge-base and have had applications in my projects, in my opinion few compare to the vast capabilities of an open-source game engine originally released back in 2014.
10 Beginner Tips That Will Make You Great At Blender
Get a great grasp on 3D modeling in Blender with some quick tips to help get started. introduction As a developer and an artist who loves to be enveloped in the creations of other people as well as myself, one particular avenue of development has always fascinated me — video-games. Compared to the majority of other software systems, video-games are eternally complex — even often requiring some specialized software to run.
Is The United States A Democracy, Or A Republic? Is a Republic A Democracy?
Sharing a less-contrived labeling of the United States Government. Emma Boudreau · Follow Published in pink balloon · 8 min read · -- Photo by Element5 Digital on Unsplash One of the many problems we have yet to really address with the advent of modern internet is the rapid spread of misinformation that is consistently taking place on that internet.
More Huge Strides On ChifiDocs
it all starts here The theme of this year has been preparing both hardware and software for the deployment of my web projects. What I have sought to create is no small feat; I have created an entire web-development framework in the hopes to reach my eventual goal...
Filling Out More Of My Documentation Website :)
Now that I have a reasonable number of usable packages that people could actually get use from, one of my next development goals is to setup a documentation website. Me being me, I did not want to go with something simple - for my documentation, I would like to have the best...
Taking Full Advantage Of Parametric Polymorphism With Julia
In a vast space of incredibly similar multi-paradigm programming languages, the Julia programming language manages to stand out in a few key ways. The language resides in a novel paradigm centered around multiple dispatch, and...
Show More
loading
Actions
Is this you?
As a journalist, you can create a free Muck Rack account to customize your profile, list your contact preferences, and upload a portfolio of your best work.Get in touch with Emma
Contact Emma, search articles and posts on X, monitor coverage, and track replies from one place.
Learn more about Muck Rack