Zig or Swim: A Pragmatic Dive Into Systems Programming Without Life Jackets

Zig or Swim: A Pragmatic Dive Into Systems Programming Without Life Jackets

Ah, Zig - the language that makes C look like it’s been napping since the 70s. Let’s roll up our sleeves and dissect this modern systems programming contender, complete with code samples that actually compile and analogies that won’t make you cringe (much). First Contact: Installing the Chainsaw Before we juggle memory pointers, let’s get our tools sharpened. Create a hello.zig file: const std = @import("std"); pub fn main() void { std....

May 8, 2025 · 4 min · 653 words · Maxim Zhirnov
Зигзаг или вплавь: Прагматичное погружение в системное программирование без спасательных жилетов

Зигзаг или вплавь: Прагматичное погружение в системное программирование без спасательных жилетов

Ах, Zig — язык, который заставляет C выглядеть так, будто он спит с 70-х годов. Давайте закатаем рукава и разберём этого современного претендента на системное программирование, дополненного примерами кода, которые действительно компилируются, и аналогиями, от которых не будет вас коробить (почти). Первый контакт: установка бензопилы Прежде чем мы будем жонглировать указателями памяти, давайте заточим наши инструменты. Создайте файл hello.zig: const std = @import("std"); pub fn main() void { std.debug.print("Привет, Meatbag!\n", ....

May 8, 2025 · 4 min · 655 words · Maxim Zhirnov
Extending Jupyter Notebook: A JavaScript Developer's Playground

Extending Jupyter Notebook: A JavaScript Developer's Playground

Picture this: you’re sipping coffee while Jupyter Notebook obediently types your Python variables into Shakespearean sonnets. That’s the power of extensions - and today we’ll make one that actually does something useful (though iambic pentameter support might come in v2). Buckle up for a code-packed journey through Jupyter’s extension system! Laying the Groundwork Before we make magic happen, let’s set up our wizard’s workshop: # Create extension scaffolding npx create-jupyterlab-extension jupyterlab_stonks cd jupyterlab_stonks jlpm install This creates a TypeScript project (JavaScript’s type-aware cousin)....

May 6, 2025 · 3 min · 532 words · Maxim Zhirnov
Расширение Jupyter Notebook: игровая площадка для разработчиков JavaScript

Расширение Jupyter Notebook: игровая площадка для разработчиков JavaScript

Представьте: вы потягиваете кофе, а Jupyter Notebook послушно превращает ваши переменные Python в сонеты Шекспира. В этом сила расширений — и сегодня мы создадим такое, которое будет действительно полезным (хотя поддержка ямбического пентаметра может появиться в версии 2). Приготовьтесь к насыщенному кодингом путешествию по системе расширений Jupyter! Подготовка основы Прежде чем мы начнём творить чудеса, давайте подготовим мастерскую нашего волшебника: # Создаём каркас расширения npx create-jupyterlab-extension jupyterlab_stonks cd jupyterlab_stonks jlpm install Это создаёт проект TypeScript (двоюродный брат JavaScript, знающий о типах)....

May 6, 2025 · 3 min · 533 words · Maxim Zhirnov
Crafting VS Code Extensions: Where JavaScript Meets Magic (and Mild Frustration)

Crafting VS Code Extensions: Where JavaScript Meets Magic (and Mild Frustration)

So you want to build VS Code extensions? Excellent choice! You’re about to enter a world where you can make editors bend to your will… provided you survive the initial configuration chaos. Let’s turn that “Hello World” into “Hello Productive Workflow” with some JavaScript wizardry. 1. Setting Up Your Extension Workshop First, arm yourself with these tools: Node.js (v18+ unless you enjoy version errors) Yeoman (npm install -g yo) VS Code Extension Generator (npm install -g generator-code) Now run your initiation ritual: yo code You’ll face The Questionnaire™....

April 24, 2025 · 3 min · 528 words · Maxim Zhirnov