# Monica Dinculescu

Monica Dinculescu's blog

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Reflections on art movements, komorebi, and AI-assisted coding

DevFeed: [Reflections on art movements, komorebi, and AI-assisted coding](<https://devfeed.tech/articles/the-big-lads-35548.md>)

Original publisher: [Read original article](<https://meowni.ca/posts/the-big-lads/>)

Author: Monica Dinculescu

Published: 2026-05-01T00:00:00Z

Content type: opinion

Language: en

Sources: [Monica Dinculescu](<https://devfeed.tech/sources/monica-dinculescu.md>)

Topics: [Algorithms](<https://devfeed.tech/topics/algorithms.md>), [Instagram](<https://devfeed.tech/topics/instagram.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [To-Do](<https://devfeed.tech/topics/todo.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [instagram](<https://devfeed.tech/tags/instagram.md>), [llm](<https://devfeed.tech/tags/llm.md>)

### AI overview

A personal essay reflects on the apparent lack of major new art movements, the Japanese word komorebi and the pleasure of discovering art online. It also discusses using AI-assisted coding to work through a backlog of personal projects.

### Source excerpt

A Ritz-Carlton hotel in California closed an entrance after a hummingbird made a nest on a door handle and, amidst all the daily ambient horror of simply being a person with a phone in 2026, it is nice to be reminded of the kinds of small lives we still agree to make room for. --- Have you noticed that we don't get any art isms anymore? The 20th century minted them like currency: Expressionism. Impressionism. Cubism. Brutalism. All the big lads, all the heavy hitters of the ism game, all in a Parisian cafe in the 1900s going "what if a face but wrong" and changing the world forever. And now? I went on the Wikipedia page for 21st century art movements thinking I'd find the new Cubism, thinking I'd discover the movement that defines our age, and: it is short. It is 10 ways of saying "art, but with computers, but also online". There is also something called post-postmodernism which gives me linguistic fatigue. That's it. That's the century so far. --- Japan has, by some fairly significant margin, the best words. German has the hyperspecificity, but Japanese has the poetry. Komorebi (木漏れ日) is the word for "the dappled light and shadows created by sunlight filtering through tree leaves". One tidy little word against the limping nine-word-plus English approximation for the thing you've definitely experienced and never had a name for and now will never stop noticing. I learned about it because Instagram has decided, in its infinite algorithmic wisdom, that what I need right now is people painting komorebi, and it was right. It's beautiful. It's soothing. The algorithm has me. It's a relief to be told, gently and without condescension, that a thing you have noticed your entire life has also been noticed, named, and found worthy of painting by other people. --- I've been vibecoding (the term is bad, I know it's bad, its badness is part of what it means) my way through a small backlog of projects that have lived on a mental to-do list for years, projects I'd specifically avoi

## Testing Claude for Swift and JavaScript Coding Questions

DevFeed: [Testing Claude for Swift and JavaScript Coding Questions](<https://devfeed.tech/articles/a-swim-with-a-chat-bot-35508.md>)

Original publisher: [Read original article](<https://meowni.ca/posts/chatty-mcchatface/>)

Author: Monica Dinculescu

Published: 2024-09-29T00:00:00Z

Content type: opinion

Language: en

Sources: [Monica Dinculescu](<https://devfeed.tech/sources/monica-dinculescu.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Claude](<https://devfeed.tech/topics/claude.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [Stack Overflow](<https://devfeed.tech/topics/stackoverflow.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [CSS](<https://devfeed.tech/topics/css.md>), [HTML](<https://devfeed.tech/topics/html.md>), [WebView](<https://devfeed.tech/topics/webview.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [claude](<https://devfeed.tech/tags/claude.md>), [css](<https://devfeed.tech/tags/css.md>), [html](<https://devfeed.tech/tags/html.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [prompt-engineering](<https://devfeed.tech/tags/prompt-engineering.md>), [stack-overflow](<https://devfeed.tech/tags/stack-overflow.md>), [swift](<https://devfeed.tech/tags/swift.md>), [webview](<https://devfeed.tech/tags/webview.md>)

### AI overview

The author describes mixed experiences using AI chatbots, especially Claude.ai, for coding help. Claude was useful for Swift syntax and JavaScript tasks, but unreliable answers in unfamiliar areas could take longer to verify than using Stack Overflow.

### Source excerpt

I have 4 (rounded up) beefs with language-y AI bots that have resulted in me sort of avoiding them altogether: They have the personality of a middle manager who writes Google Docs all day that nobody wants to read They're reallllly good at guessing but not actually that smart, which leads to very convincing lies (see: the "how many Rs in strawberry?" saga). If I had the inclination to double check all the bot's work, I would've just done it myself Absolutely no thank you to the scam that is "prompt engineering". I'm not wasting 17 demon invocations to convince Chat GPT to do a thing. That's not the future I was promised. (not their fault) I have unresolved trauma about generated code from the Microsoft FrontPage era Testing the waters Unrelated to bots, I've been recently faffing about on a Swift app, with exactly zero prior knowledge of Swift. I basically have to Google everything (what's up with the mad ForEach syntax????) to get to a Stack Overflow page that isn't the one I actually need because search results have gotten sloppy, and it takes a minute. None of the things I'm copy pasting are "hard"; they're tedious code I can write in other languages but not in this one. And not to be a jerk, but 1-1 code translation isn't what I want to spend my spare time on. A friend told me to try Claude.ai, and it worked reasonably well for what I asked of it, which was mostly syntax (how do I add internal padding to a TextField?). I tried it for some harder questions with mixed results: how do I make links inside a WebView not open a native app? was a mess, but why do you think a page of just inputs is really slow gave me the right idea for where to start spelunking. The problem with trying it on a language I'm not an expert in goes back to Beef #2 above - I can't spot the very convincing lies as easily, and then I spend extra time trying to figure out if I copied it wrong or the answer is wrong (which is what happened with the WebView question), and it takes longer than if

## Using generative art models as creative collaborators

DevFeed: [Using generative art models as creative collaborators](<https://devfeed.tech/articles/hallucinating-with-art-models-35521.md>)

Original publisher: [Read original article](<https://meowni.ca/posts/hallucinations/>)

Author: Monica Dinculescu

Published: 2022-09-01T00:00:00Z

Content type: opinion

Language: en

Sources: [Monica Dinculescu](<https://devfeed.tech/sources/monica-dinculescu.md>)

Topics: [Machine learning](<https://devfeed.tech/topics/machine-learning.md>), [AI Development](<https://devfeed.tech/topics/ai-development.md>)

Tags: [art](<https://devfeed.tech/tags/art.md>), [comparisons](<https://devfeed.tech/tags/comparisons.md>), [generative](<https://devfeed.tech/tags/generative.md>), [image](<https://devfeed.tech/tags/image.md>), [machine-learning](<https://devfeed.tech/tags/machine-learning.md>), [models](<https://devfeed.tech/tags/models.md>)

### AI overview

The author reflects on using DALL-E, MidJourney, and other generative art models as brainstorming partners and collaborators. The article compares their potential for creativity rather than realism and argues that they should support an artist's creativity and style rather than replace them.

### Source excerpt

Wow, long time, no posts! Anyway, about them text-to-art generative models going about, eh? Surprising nobody: I am extremely into them. I've been using DALL-E and MidJourney since they came out, and even though tons has been written about them, I wanted to give a slightly different overview: the perspective of someone who isn't interested that much in their realism skills. I think that the most compelling place for ML models in an artist's life is as a tool that specifically enables, and doesn't replace, creativity. Machine Learning is amazing at doing something very specific, lots of times, really fast. It's great at telling me if an image is a cat or a dog. It's also great at generating one hundred half-dog-half-cats, in different positions, so that I can bypass the dozens of hours I would spend sketching out half-dog-half-cats for a painting that's actually about the nuclear apocalypse. I've seen a lot of examples of which model is best at painting "The otter with the pearl earring", but I haven't seen a lot of comparisons of these models in terms of their potential for creativity- likely because "creativity" is not really quantifiable. I wanted to do this for myself, if anything so that I can figure out how to use my money and credits better, but thought that I might as well put it out there in case anyone else was curious. This post ended up being looooong, so here's a Table of Contents: Boring uses of interesting models The (barely scientific) method Models Cherry-picking outputs What I look for Results 1. "Linocut print of a girl bundled up in bed with a stack of books and a cat" 2. "Lithograph of an orchid where each flower has a small skull inside" 3. "Erik Johansson photograph of a woman[sic] hair that is a literal bee hive" 4. "A toucan wearing a 60s apron, sitting on a mid century modern armchair, talking on a rotary phone, retrofuturism" What have I learned? Boring uses of interesting models I use these new models for a very specific thing, and that is

## A HashiConf art collab

DevFeed: [A HashiConf art collab](<https://devfeed.tech/articles/a-hashiconf-art-collab-35522.md>)

Original publisher: [Read original article](<https://meowni.ca/posts/hashicollab/>)

Author: Monica Dinculescu

Published: 2021-10-15T00:00:00Z

Content type: opinion

Language: en

Sources: [Monica Dinculescu](<https://devfeed.tech/sources/monica-dinculescu.md>)

Topics: [color](<https://devfeed.tech/topics/color.md>), [Requirements](<https://devfeed.tech/topics/requirements.md>), [iteration](<https://devfeed.tech/topics/iteration.md>)

Tags: [art](<https://devfeed.tech/tags/art.md>), [conference](<https://devfeed.tech/tags/conference.md>), [custom](<https://devfeed.tech/tags/custom.md>), [design](<https://devfeed.tech/tags/design.md>), [generative](<https://devfeed.tech/tags/generative.md>), [hashicorp](<https://devfeed.tech/tags/hashicorp.md>), [iteration](<https://devfeed.tech/tags/iteration.md>), [printer](<https://devfeed.tech/tags/printer.md>), [printing](<https://devfeed.tech/tags/printing.md>), [requirements](<https://devfeed.tech/tags/requirements.md>), [things](<https://devfeed.tech/tags/things.md>)

### AI overview

The article describes creating custom generative-art prints for HashiConf Europe speakers. Each print combines the speaker's name, talk title, and the relevant HashiCorp product color in a randomly generated geometric grid, following conference design guidelines.

### Source excerpt

A couple of months ago my friend Jana helped organize HashiConf Europe, and asked me to work on generating custom artwork for each of their speakers. This was my first experience with creating art for someone else, and especially art that had to match someone else's artistic guidelines. I've said this before, but I live and nap by the idea that rules (and editing) are at the core of the artistic process and not having to do that myself was brilliant. I wanted to write a bit about it because a) I did a bunch of work that I'm really proud of and I never got to talk about it and b) I am vain and I want to talk about it. This was the final poster: And this is what we wrote about it on the card that accompanied it: Enclosed you will find an art print made for you by generative artist and engineer Monica Dinculescu. This individual print is unique to you and you alone, as Monica has incorporated your name, the title of your talk, and the color of the HashiCorp product that you are talking about at this year's conference. Each cell in the grid has been randomly generated to contain either a letter from your name, or a pattern in the product color. Cells located towards the middle of the grid are more likely to contain a letter rather than a pattern, and this likelihood decreases in the cells towards the edges. This print is the only iteration of its kind. Were it to be generated again, it would look slightly different each time. I print everything in my art store myself, because I sell very limited editions and third-party printing companies only make sense financially when you're printing in the several dozen. This does mean that sometimes I'll fight with my printer thinking that its colour profile is whack, only to discover that it was Doing Just Fine™ and my MacBook oversaturates things like it's an Instagram filter in 2011. Every day is a school day. Here are all the prints drying on their totes profesh drying rack that is definitely not just a string I hung around in

## I redesigned my site

DevFeed: [I redesigned my site](<https://devfeed.tech/articles/i-redesigned-my-site-35540.md>)

Original publisher: [Read original article](<https://meowni.ca/posts/redesign/>)

Author: Monica Dinculescu

Published: 2021-06-24T00:00:00Z

Content type: opinion

Language: en

Sources: [Monica Dinculescu](<https://devfeed.tech/sources/monica-dinculescu.md>)

Topics: [Website](<https://devfeed.tech/topics/website.md>), [generative art](<https://devfeed.tech/topics/generative-art.md>), [Web Components](<https://devfeed.tech/topics/web-components.md>), [HTML](<https://devfeed.tech/topics/html.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Jekyll](<https://devfeed.tech/topics/jekyll.md>), [GitHub Pages](<https://devfeed.tech/topics/github-pages.md>)

Tags: [components](<https://devfeed.tech/tags/components.md>), [generative-art](<https://devfeed.tech/tags/generative-art.md>), [github-pages](<https://devfeed.tech/tags/github-pages.md>), [html](<https://devfeed.tech/tags/html.md>), [ibm](<https://devfeed.tech/tags/ibm.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [jekyll](<https://devfeed.tech/tags/jekyll.md>)

### AI overview

The author explains why they redesigned their personal website: they were publishing fewer blog posts, wanted to showcase generative art, and replaced an outdated emoji custom element with a simpler implementation. The site continues to use Jekyll through GitHub Pages without a build step or minification.

### Source excerpt

The last time I changed something big on my site was 3+ years ago. I was really into gradient rainbow text and IBM Plex Mono. It was a mild increment over whatever I had before, which was just a cleaned up and colourful version of Left from like 6 years prior. Anyway, what I'm saying is: this website had hella split ends. Here's the before and after: ↓ But also, why? I used to write a lot of blog posts, so my website was very blog focused. Originally the home page was just a listing of posts with some copy sprinkled in. As the pandemic hit, I started writing fewer and fewer posts, so having the one post of 2020 show up as a listing was ridiculous. On top of that, this year I started focusing a lot more on making generative art and I thought it was sad I wasn't showing that anywhere on the site! The beauty of generative art is that you can just keep generating it over and over again, and my site was a long white column of text. No more! git diff Ok so hear me out, this looks bad and that's because: it is bad. One cute thing my old site had was a <emoji-rain> custom element. You pressed it and got a rain of emoji. Brilliant. The problem is that I wrote that in like 2017, and used the well deceased v0 version of the web components spec. As a result, it had a gazillion dependencies (rip bower_components) and polyfills and ancient trash. 23906 lines of trash to be exact. Gooood riddance. The added 1580 lines are a bit of a bore: 100 of these are this post. another 300 is the HTML Ipsum from CSS tricks because I'm always scared I'm going to break a style on some ancient post. 300 lines of JavaScript for the header art that I don't minify because I'd like to be able to read this in the future to fix whatever mistakes past Monica made, and I don't have a build step set up. I'm still using the Jekyll that comes out of the box with GitHub pages and I am never looking back. the rest is actual code that I touched! There was some really horrifying markup on the project/talks/tem

## Week 25: I redid my website

DevFeed: [Week 25: I redid my website](<https://devfeed.tech/articles/week-25-i-redid-my-website-35569.md>)

Original publisher: [Read original article](<https://meowni.ca/posts/week-25>)

Author: Monica Dinculescu

Published: 2021-06-21T00:00:00Z

Content type: opinion

Language: en

Sources: [Monica Dinculescu](<https://devfeed.tech/sources/monica-dinculescu.md>)

Topics: [Website](<https://devfeed.tech/topics/website.md>), [Image](<https://devfeed.tech/topics/image.md>)

Tags: [blog-post](<https://devfeed.tech/tags/blog-post.md>), [camera](<https://devfeed.tech/tags/camera.md>), [instax](<https://devfeed.tech/tags/instax.md>), [photography](<https://devfeed.tech/tags/photography.md>), [website](<https://devfeed.tech/tags/website.md>)

### AI overview

A personal Week 25 blog entry whose title announces a website redesign, followed by reflections on a Nam June Paik exhibition at the MOMA and enthusiasm about buying a Diana Instant camera that uses Instax film.

### Source excerpt

It's true, I did. I also wrote a blog post about it because tbh I did a good job on it, and it's a good read. As two ladies of leisure, Frances and I went to the MOMA on a weekday to see the new Nam June Paik exhibition. I didn't love all of it, but the bits I really enjoyed were all about putting TVs in unexpected situations. Which makes sense, since I really enjoy when surrealism is executed well. I loved the TV garden which was a dark room of real life plants with a bunch of old school CRTs showing ... weird ass videos; the TV cello and TV bra which are exactly what they say they are, and a bunch of TV sculptures, like this TV robot. The museum still requires indoor masks, which I have nothing against but thought it was an interesting choice since most of SF has given up on indoor masks for the vaccinated and the whole point of museums is to like... not touch anything, people or art. Anyway, I bought a dope book from the gift shop about architectural form that (as I am writing this entry 3 weeks later) I have yet to open. Speaking of architectural form, the MOMA has a bonkers layout and I can never find the stairway that goes in the direction I need. I always end up wandering aimlessly around like a chicken. I have nothing against wandering aimlessly through a museum, I just don't like it to be in a quest for stairs. I bought a Diana Instant camera!!! Suz was the one who bought one first and tweeted about it, and it reminded me about how when I was poor in uni and "into photography" I was all about plastic leaky cameras (like Holgas and Dianas) but they were mad expensive and I needed to spend my money on predominantly food and wine. But now they're an afforable price for adult Monica AND they've made an instant version that works with the Instax film so you don't have to wait for 3 weeks to see you took a tragically exposed photo. Suz and I are now having this paired adventure where we text each other bad photos and compare notes. It's fun.

## Week 21: Making a Custom Fitbit Watch Face in JavaScript

DevFeed: [Week 21: Making a Custom Fitbit Watch Face in JavaScript](<https://devfeed.tech/articles/week-21-35566.md>)

Original publisher: [Read original article](<https://meowni.ca/posts/week-21>)

Author: Monica Dinculescu

Published: 2021-05-25T00:00:00Z

Content type: opinion

Language: en

Sources: [Monica Dinculescu](<https://devfeed.tech/sources/monica-dinculescu.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>)

Tags: [javascript](<https://devfeed.tech/tags/javascript.md>)

### AI overview

A personal Week 21 update covering travel, family, books, a charity walking event, and the creation of a custom Fitbit smartwatch face in JavaScript.

### Source excerpt

Chopped off 10 inches of my hair and I feel unstoppable. I always think I can deal with mermaid hair when the reality is I cba to brush it and it keeps getting longer and drier until I'm ready to take the kitchen scissors to it. I resisted that impulse and got a professional to cut it. Am I finally an adult? I am writing this update FROM A PLANE. Yes, a real plane. My brother-in-law's family is moving into a new house and we're going to celebrate. Also I haven't seen their kids in a year and a half, which is 50% of one of them's lives. She talks now! What! Update: the inner life of 3 year olds is outstanding. We are just guests in their world. Books: I finished the Vanishing Half and it was Very Good. I mostly avoided reading it because it has the most 2020 book style cover I've ever seen, but it was quite good despite that. Some weeks back I also finished On earth We're Briefly Gorgeous and it was a bit of a miss for me. I like everything it was about (love a good immigrant memoir) but I didn't enjoy the writing, which made the actual reading time a bit of a slog. I'm now reading The Lies of Locke Lamora because TikTok told me about it. Jake did a lot of walking for cancer (he's against). He walked 100km in a row, in something like over 24h. As part of it he also did an hourly ama (or at least until he became a delirious shell of a man), and Frances and I (henceforth known as the chuckle sisters) covered 6 shifts. It was good fun and I'm enormously proud of him. One of the best things about having a FitBit smart watch instead of an Apple one is that I can make my own faces really easily (in JavaScript!!!). I wanted something that looked very clean on the main screen but also had the option for a stats heavy second screen, and I could never find quite the right one so I made my own. Putting this work experience to good use!

## From JavaScript to paper: a linocut adventure

DevFeed: [From JavaScript to paper: a linocut adventure](<https://devfeed.tech/articles/from-javascript-to-paper-a-linocut-adventure-35549.md>)

Original publisher: [Read original article](<https://meowni.ca/posts/tree-rings/>)

Author: Monica Dinculescu

Published: 2021-04-28T00:00:00Z

Content type: article

Language: en

Sources: [Monica Dinculescu](<https://devfeed.tech/sources/monica-dinculescu.md>)

Topics: [generative art](<https://devfeed.tech/topics/generative-art.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>)

Tags: [art](<https://devfeed.tech/tags/art.md>), [generative-art](<https://devfeed.tech/tags/generative-art.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [paper](<https://devfeed.tech/tags/paper.md>)

### AI overview

The author describes creating generative art inspired by tree rings and translating the result into a paper linocut. The process combines observations about how tree rings record a tree's history with JavaScript-generated patterns and physical carving.

### Source excerpt

One of my favourite kinds of art to make involves taking nature and seeing it as simple shapes. Buildings are cubes, flowers are circles, hills are curves. Shells are spirals. Tree rings are weird circle bois, and they are some of the best. I've wanted to make a generative art of a tree ring for a long time, but everything I made kept sucking (scroll to the bottom if you don't believe me. Shit was bad bad). I finally made something I like, I thought it might be neat to write a little bit about The Process™, since it involves both JavaScript and murderous little knives. Let's talk trees My friend Kyle has a ranch, and in the summer he lets his friends fulfill the burned out millenial dream of having no cell signal and sleeping in a tent. He has infinitely many trees, and sometimes he lets me do a craft with some of the trees he chops down. I'm "currently" (read: I started last year and I'll probably finish in 2026) making a side table. I also made these coasters: Trees are rad, yo. Young trees have very regular and evenly spaced rings because much like human children, they haven't had a lot of life to live. However, as trees get older, they get jobs they don't like, have to start making dinner every night, start having back pains from literally just being trees and their rings get wonkier. Here is what I'm making my table from: Trees can grow unevenly because of droughts or insects or capitalism building shit where it shouldn't. They get visible scars from forest fires. You can map the entire life of a tree (and tbh, of everything that was happening around the tree) by looking at its cross section. There's something called a ghost forest that indicates at some point, something happened (like an earthquake), which caused salt water to rise, killing all the trees that lived there. Here's a photo (ref) of a knotty tree (heh heh) that has fire scars: So you know, if you want a tree ring, you can't just draw some concentric circles and call it a day. Generate some tree r

## Week 17: JavaScript Tree Rings, Japantown, and Household Waste Reduction

DevFeed: [Week 17: JavaScript Tree Rings, Japantown, and Household Waste Reduction](<https://devfeed.tech/articles/week-17-35562.md>)

Original publisher: [Read original article](<https://meowni.ca/posts/week-17>)

Author: Monica Dinculescu

Published: 2021-04-26T00:00:00Z

Content type: opinion

Language: en

Sources: [Monica Dinculescu](<https://devfeed.tech/sources/monica-dinculescu.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [Markdown](<https://devfeed.tech/topics/markdown.md>)

Tags: [blog-post](<https://devfeed.tech/tags/blog-post.md>), [github](<https://devfeed.tech/tags/github.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [markdown](<https://devfeed.tech/tags/markdown.md>)

### AI overview

A personal weekly update covering a JavaScript-generated tree-ring linocut, visits to Japantown, refillable deodorant, and a food-cycling device that dehydrates and grinds compost into fertilizer.

### Source excerpt

I've been skipping weeks because a) literally nothing happens and b) I don't have a good system to update these notes. They're a markdown file on a GitHub repo, and I kind of need a computer to edit it, but I also kind of don't open my computer that much these days? I also keep forgetting which day is Monday. Room for improvement. I wrote a blog post about how I generated some tree rings in JavaScript and then carved them as a linocut. It doesn't actually contain any JavaScript, but it does have a lot of pretty images. The last normal thing I did before the panini started was go to Japantown and stock up on apocalypse supplies (snackos, mucho ramen, milk tea powder, korean face things). The first normal thing I did with my 1 vaccine shot was go to Japantown and restock all the things. This wasn't on purpose, but I am pleased with the serendipity. It is cherry blossom season, so it was very pretty, HOWEVER, some racist asshole vandalized two of the oldest cherry trees there in January. Literally chopped down all of the branches, one at a time. What the actual fuck. If you're against plastic (why aren't you?) and use deodorants, Dove has started selling refillable ones. I got mine from Target. The refill itself still comes in plastic, but overall it's far less plastic than the obnoxious amount the normal ones have. I'm excited about this not because this deodorant is particularly amazing, but because Dove is a HUGE brand, and having mainstream brands start looking into more reusable, less-plastic products is a small but exciting progress. Speaking of waste, Zach bought us me the most amazing thing: a foodcycler!!! We've been composting for years, but I've recently started getting lazier about putting the compost back in the freezer when I'm done with it, so our idiot dog has been stealing a lot of compost (which is full of bad things for her like coffee grounds, onion peels, literally half a spaghetti squash rind she ate and threw up for 8 hours). This foodcycler thin

## Week 14: Leaving Google and Taking Time Off

DevFeed: [Week 14: Leaving Google and Taking Time Off](<https://devfeed.tech/articles/week-14-35560.md>)

Original publisher: [Read original article](<https://meowni.ca/posts/week-14>)

Author: Monica Dinculescu

Published: 2021-04-05T00:00:00Z

Content type: opinion

Language: en

Sources: [Monica Dinculescu](<https://devfeed.tech/sources/monica-dinculescu.md>)

Topics: [Google](<https://devfeed.tech/topics/google.md>), [Job](<https://devfeed.tech/topics/job.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>)

Tags: [google](<https://devfeed.tech/tags/google.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [job](<https://devfeed.tech/tags/job.md>), [work](<https://devfeed.tech/tags/work.md>)

### AI overview

A personal update about leaving Google after eight years, taking six months before starting something new, a cancelled Johnson & Johnson vaccine appointment, difficulty telling stories during the pandemic, police violence, and ongoing linocut and generative JavaScript projects.

### Source excerpt

Let's not bury the lede: I quit my job. After 8 years of working there, Google feels like a very different company than the one I joined, one that aligns less and less with my values, and it was time to move on. It sucks, because my immediate team was a group of wonderful people who do great work; I will miss them, and the work I did, greatly. I haven't had a vacation longer than 2 weeks since I was 18-ish, because I worked every summer and was too much of a naive workaholic to think I should take more than 1 week between jobs, so I am giving myself 6 months before I start something new this time around. It's stressful to not have a plan, and I am bad at relaxing, but I have full confidence I can learn to overachieve at this as well. Didn't I tell y'all I was worried SOMETHING was going to happen and I wasn't going to get my vaccine? Here I am, 3 hours before my J+J stabbie stabby, reading about how my appointment is cancelled because it has an incredibly rare clotting side effect. One that is 10000 more rare than the usual clots women get threatened with for taking birth control and that absolutely nobody blinks an eye at anymore. This feels a lot like fabricated concern; we already don't care about women getting blood clots. 1 in over 6 million? Fam, that's better odds than getting in a car or not getting e-coli from Chipotle. Stop this. I've become very bad at telling stories, which is 100% a result of the panini and not being forced to socialize with people. I've noticed several times in recent weeks where I'm telling a story and can see the life leaving from people's eyes. I am bored of what I am saying as I am saying it. I am not ready to move to the midwest yet; I must fix this. This is a very good tweet. Abolish the police already. Stop giving guns to insecure people who think a uniform gives them the right to kill others because of the colour of their skin. Stop giving guns to incompetent people who apparently aren't trained enough to tell the difference be

## Week 12

DevFeed: [Week 12](<https://devfeed.tech/articles/week-12-35558.md>)

Original publisher: [Read original article](<https://meowni.ca/posts/week-12>)

Author: Monica Dinculescu

Published: 2021-03-22T00:00:00Z

Content type: opinion

Language: en

Sources: [Monica Dinculescu](<https://devfeed.tech/sources/monica-dinculescu.md>)

Topics: [coding](<https://devfeed.tech/topics/coding.md>), [Instagram](<https://devfeed.tech/topics/instagram.md>)

Tags: [audio](<https://devfeed.tech/tags/audio.md>), [coding](<https://devfeed.tech/tags/coding.md>), [instagram](<https://devfeed.tech/tags/instagram.md>)

### AI overview

A personal Week 12 journal entry about rest, audiobook listening, linocut printing, an upcoming COVID-19 vaccine appointment, and plans involving generative art and JavaScript projects.

### Source excerpt

Trying something really revolutionary this week which is "doing nothing". Bear with me here. I mean: listening to an audio book and NOT also cleaning the house. Just sitting, listening to that book and doing nothing. WASTING THAT TIME. In this economy??? Yes. Do I dislike the idea? Also yes. Related: I switched to the Samantha Irby (Wow, no thank you) audiobook because a) she narrates it and her voice is great and b) after 365+ days in the panini, a voice that isn't my husband's is a welcomed blessing. I shipped out 10 linocut prints and (hyperbole) it was the most stressful thing I've done. Hand prints are beautiful because they're so textured and imperfect and really truly awful because they're so textured and imperfect. I basically printed 10 extras so I'd have something to pick from, and ended up hating all of them. I hope that's just my brain, and the people who they went to end up liking them. California is opening up vaccines to all humans after April 15, and I have a vaccine appointment for April 22. It's been so long since this started that I've lost all hope. I assume something horrible will happen like they'll change their minds or I'll show up and they'll be like ha ha no vaccines for legal aliens or people whose names start with the letter M or they'll run out or I'll sleep through the appointment or or or. Welcome to my brain, it is a literal prison. All week I did many linocuts and no JavaScripts, so next week I'm making a rule to either only carve generated things, or only generate things. In the carving pipeline: a generated bookcase, a generated tree ring. In the coding pipeline: a techno landscape (maybe???) for my friend Daniel, some posters for a conference my friend Jana is organizing. Neither of them read this and that's for the best. I bought an art from an artist on Instagram! I don't usually like very abstract art, but this one is so bright and happy and I think will look great in our very white-walls apartment. It's coming from Malta, a co

## Week 10: Generative Art, Linocuts, and Personal Updates

DevFeed: [Week 10: Generative Art, Linocuts, and Personal Updates](<https://devfeed.tech/articles/week-10-35556.md>)

Original publisher: [Read original article](<https://meowni.ca/posts/week-10>)

Author: Monica Dinculescu

Published: 2021-03-08T00:00:00Z

Content type: opinion

Language: en

Sources: [Monica Dinculescu](<https://devfeed.tech/sources/monica-dinculescu.md>)

Topics: [generative art](<https://devfeed.tech/topics/generative-art.md>), [meetings](<https://devfeed.tech/topics/meetings.md>), [Instagram](<https://devfeed.tech/topics/instagram.md>)

Tags: [generative-art](<https://devfeed.tech/tags/generative-art.md>), [hobby](<https://devfeed.tech/tags/hobby.md>), [instagram](<https://devfeed.tech/tags/instagram.md>)

### AI overview

A personal weekly update covering pandemic fatigue, experiments with Barnsley fern generative art, an exploration of linocut printing, caring for a puppy, reading, television, and finding a weekly drawing prompt.

### Source excerpt

I took the whole week off because I was very tired of life. It's the year anniversary of the last time the world was normal and it's bringing me down. Between covid and immigration delays it's looking very 50/50 on whether I can attend my closest cousin's wedding this fall in Romania, and I'm beyond gutted at the thought of missing it. All I can do about it is wait, and that's making the pandemic fatigue worse by a thousand. I made two prints of Barnsley ferns. They looked cool in the end, but they were a bit of a struggle. Barsnley ferns are these super popular fractals that (spoilers) look like ferns, but honestly, fractals in general are not my favourite. These ones come out of 4 equations and 6 parameters which sounds like would open a whole world of possibilities, but it turns out most combinations of values produce absolute trash. Which is fine, but that's not my style of generative art. Instead, I spent all my random numbers in trying to paint the ferns like furry brush strokes and letters I don't think anyone other than me appreciates that 😅. I got deep into linocuts. I've been trying to figure out how to make the things that come out of a computer also come out of my hands, and hand prints can definitely be that thing. Doing the linocut itself is my favourite kind of relaxing; it keeps my hands busy with stabbing squishy things (also see: that time i picked up felting in meetings). I can't believe I haven't tried it before. Also, Frances says that the linocuts I've been doing look a lot like the kind of carving I used to do with my pottery, which is great news because that means I have a *~style~*. As usual, I am undeservedly lucky: one of my cousins, Raluca Iancu is an enormously talented printmaker and professor of printmaking, so I got to text her with questions. I don't think everyone who starts up with a hobby can text a professional in that area and be like "hello I bought 10$ tools and some linoleum, please hold my feelings with your 10+ years of dom

## Week 8: Selling Generative Art Prints and Running an Online Store

DevFeed: [Week 8: Selling Generative Art Prints and Running an Online Store](<https://devfeed.tech/articles/week-8-35578.md>)

Original publisher: [Read original article](<https://meowni.ca/posts/week-8>)

Author: Monica Dinculescu

Published: 2021-02-27T00:00:00Z

Content type: opinion

Language: en

Sources: [Monica Dinculescu](<https://devfeed.tech/sources/monica-dinculescu.md>)

Topics: [generative art](<https://devfeed.tech/topics/generative-art.md>), [Software](<https://devfeed.tech/topics/software.md>), [stripe](<https://devfeed.tech/topics/stripe.md>), [OAuth](<https://devfeed.tech/topics/oauth.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>)

Tags: [generative-art](<https://devfeed.tech/tags/generative-art.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [software](<https://devfeed.tech/tags/software.md>), [stripe](<https://devfeed.tech/tags/stripe.md>)

### AI overview

A personal weekly reflection about opening an online store for generative art prints, selling out of two kinds of prints, and using BigCartel, Stripe, and PirateShip for ecommerce and shipping. It also briefly covers fitness challenges and painting on an iPad.

### Source excerpt

This week was entirely consumed by the fact that I opened an online store to sell generative "art" prints. Art is in quotations here because I have a deeply unhealthy relationship with calling anything I do art, or myself an artist, but we don't have time to for a therapy session right now. It went really great. I sold out of 2 kinds of prints! People who weren't just my friends put it orders! My first customer ever was Mariko, which is absurd because she should've gotten a free print without even asking based on the kilograms of gacha she's brought me from Japan, but of course she was also the first one to see the tweet about the store because that's just the kind of friend she is. (this paragraph is really niche and boring, skip it). Every once in a while I use a software that blows my fucking mind. E-commerce is generally NOT this experience btw, because it's all integrations that are 90% magic and 10% wonky af. Like, my store is a BigCartel store (big fan!), but the site itself is a bit flaky so sometimes Things Will Happen™ (like pages won't redirect, the theme editor will just panic, javascript is a prison). Stripe was like 95% magic and 5% "the oauth flow didn't redirect well For Reasons™ so I had to do it twice". I don't even know who was at fault there. Anyway, PirateShip is a thing that prints USPS labels and it was 120% magic. People wrote their addresses in their orders in my store; I clicked a single button on the PirateShip site, which imported those addresses, made shipping labels, made customs forms for the international orders, formatted all the labels for my label printer to print AND emailed all the customers their tracking numbers. And charged me 0 extra dollars. PirateShip, I don't know how you make your money but you are an absolute gem and I love you. The post office gentleman even commented on how together my shit was. Frances and I had a FitBit active minutes challenge and I WON by like 32 minutes (aka extremely close). Zach was also in some

## Week 6

DevFeed: [Week 6](<https://devfeed.tech/articles/week-6-35576.md>)

Original publisher: [Read original article](<https://meowni.ca/posts/week-6>)

Author: Monica Dinculescu

Published: 2021-02-08T00:00:00Z

Content type: opinion

Language: en

Sources: [Monica Dinculescu](<https://devfeed.tech/sources/monica-dinculescu.md>)

Topics: [generative art](<https://devfeed.tech/topics/generative-art.md>), [App](<https://devfeed.tech/topics/app.md>), [codex](<https://devfeed.tech/topics/codex.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [codex](<https://devfeed.tech/tags/codex.md>), [generative](<https://devfeed.tech/tags/generative.md>), [generative-art](<https://devfeed.tech/tags/generative-art.md>)

### AI overview

A personal Week 6 update covering media commentary, Britney Spears's conservatorship, generative art and self-doubt, a trip to Arizona, and trying geocaching.

### Source excerpt

I skipped week 5 because all I did in the panna cotta was watch 3 seasons of "how to get away with murder". It's a terrible show and I'm not ashamed of it. What is up with that star codex thing? I can't believe there was a cult of assholes in tech I didn't know about. I'm obviously not surprised they existed, there's an asshole under every rock in tech; I'm just surprised I didn't know about it. I'm a person in the know! I have an invite to Dispo! I watched the #freebritney documentary and I think that a) the concept of a conservatorship for a grown ass 40 year old woman is fucked and b) her dad being a mysoginistic asshole is 80% of the reason she's on one. Nobody put Kanye in a corner when he was going bonkers; we let him run for president and bought his shitty 20 minute long album to make fun of it and talked about how he prolly needs to take his meds but oh well, famous people amirite. But if a woman goes a bit bonkers and in the process shaves her head (we all know women aren't allowed to shave their heads), then suddenly she needs to be in a legal monetary prison for life? Rich people waste their money ALL the time, why is she the different one? Makes you think. I also think it's the cherry on the cake that because her dad is "managing" her estate she is essentially paying both for her lawyers to try to help her, and for the opposing lawyers to try to screw her. I've been working on a lot of generative art. This is good, because I'm making things and I want to open a store so people can put my things on their walls, but bad because when I make art and keep looking at it I end up violently hating it, and that spirals out of control into a "everything I do is basic and derivative" mood which tbh makes me feel like shit. I had a nice chat with @mrmrs who is 100x more talented than me but feels similarly about his art sometimes, so I felt very seen. We drove to Arizona this weekend. We are still doing nothing but now it's nothing around cactuses and the desert. I'

## Week 4: Hobbies, a Plastic-Waste Visualization, and Messaging Apps

DevFeed: [Week 4: Hobbies, a Plastic-Waste Visualization, and Messaging Apps](<https://devfeed.tech/articles/week-4-35575.md>)

Original publisher: [Read original article](<https://meowni.ca/posts/week-4>)

Author: Monica Dinculescu

Published: 2021-01-25T00:00:00Z

Content type: opinion

Language: en

Sources: [Monica Dinculescu](<https://devfeed.tech/sources/monica-dinculescu.md>)

Topics: [d3](<https://devfeed.tech/topics/d3.md>), [data](<https://devfeed.tech/topics/data.md>), [deprecated](<https://devfeed.tech/topics/deprecated.md>), [iphone](<https://devfeed.tech/topics/iphone.md>)

Tags: [d3](<https://devfeed.tech/tags/d3.md>), [data](<https://devfeed.tech/tags/data.md>), [deprecated](<https://devfeed.tech/tags/deprecated.md>), [iphone](<https://devfeed.tech/tags/iphone.md>), [visualization](<https://devfeed.tech/tags/visualization.md>)

### AI overview

A personal week note covering winter activities, hobbies, reading, a plastic-waste visualization made with d3, and frustrations with messaging apps including Hangouts, Chat, WhatsApp, and Signal.

### Source excerpt

Tahoe (where we currently live during this pannie-d) got a ton of snow this week, so I've been in winter mode. Went skiing on Friday, went snowshoeing on Sunday. My calves are on fire. Skiing is pretty safe; everyone is wearing masks, they've closed all the lodges, and tbh nobody should be within 6 feet of me skiing on a good day. I can tell when I accidentally overdo it with the hobbies (which is every time I get excited about a new hobby) because I rapidly swing in the other direction. I painted nothing this week, and I spent all weekend watching the entire season of Bling Empire in one day instead. I knitted most of a hat and then unravelled it all because it had accumulated too many mistakes. It's a really fun knit so I'm not too bothered. I spent a lot of evenings frantically working on a visualization about plastic waste (new hobby alert) that nobody asked for. It started as "lemme do a quick thing to get better at d3 and at asking questions about the data" and it's now a good 8+ hours of work in. Sure wish I would've half assed it, because now it's not done and I don't really want to finish it. Still reading "Because Internet"; also started The Travelling Cat Chronicles. I am really irritated and confused by this Hangouts/Chat situation. I am on an iPhone, and want to send Frances stupid links, hot takes and photos. We can't use our respective phone's Messages app (because hers is over SMS which shits the bed on photos, and mine is Apple proprietary). We were using Hangouts, but it's deprecated, and wanted to use Chat, but it's ... enterprise only and peons can't start new conversations? Also Whatsapp is evil and Signal spams all my contacts when I install it. What the fuck, I just want to talk to non-Apple friends in 2021. February is a perfect calendar rectangle and that is satisfying. Are week notes the new LiveJournal but without comments? Discuss.

## Week 1: A personal update on returning to Magenta and rebuilding a Jekyll site

DevFeed: [Week 1: A personal update on returning to Magenta and rebuilding a Jekyll site](<https://devfeed.tech/articles/week-1-35555.md>)

Original publisher: [Read original article](<https://meowni.ca/posts/week-1>)

Author: Monica Dinculescu

Published: 2021-01-04T00:00:00Z

Content type: opinion

Language: en

Sources: [Monica Dinculescu](<https://devfeed.tech/sources/monica-dinculescu.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [Jekyll](<https://devfeed.tech/topics/jekyll.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [development](<https://devfeed.tech/tags/development.md>), [github](<https://devfeed.tech/tags/github.md>), [jekyll](<https://devfeed.tech/tags/jekyll.md>)

### AI overview

A personal weekly update about rebuilding a Jekyll site with roughly 40 GitHub commits, returning to Magenta after a fellowship with the Trevor Project, and leading a team that classified suicidal ideation. The author also discusses broth, television, Animal Crossing, and returning to piano.

### Source excerpt

I've been thinking for a while about setting this up, and this week seems as good as any. Both Alice and Frances have weekly updates that are a joy to read. Jenn has a live laugh blog. Maybe this is the year of long form tweets? I haven't touched my site in like 6+ months so when I tried to run jekyll locally it obviously didn't work, so what you're reading took like 40 commits on GitHub. In work news, I'm coming back to Magenta after 6 months of being a fellow with the Trevor project. I lead a team that worked on classifying suicidal ideation for one of their projects. The work was super interesting (though often sad), and in a shocking development i really enjoyed being a team lead. I think that even though I'm really good at writing actual code, I'm also good at herding cats and holding a lot of statuses and details in my head. I was worried at the beginning of the fellowship that TLs don't write any code and I would suddenly become a meeting chair, and even though I did have a ton of meetings, I also wrote a ton of code. I know it's weird to hear a woman assert things she's good at it. This is also a new thing I'm trying out. My notes, my rules! In personal news, I've gotten really into broth-as-a-savoury-afternoon tea. I used to make a lot of miso (and drink it out of a cup; this part is key), but to add some variety in my life, this week I started boiling a bunch of vegetables during meetings and making my own broth. Anything for variety in the apocalypse, amirite. Goldie moved in to my Animal Crossing island. I am exclusively watching serial killer shows right now (Des, I'll be gone in the dark, Ripper) which isn't exactly off brand but might be a little TOO on brand, you know? That's what I get for finishing Bridgerton in 2 days. For my birthday in November my mum got me some new books of piano sheet music, so I've started playing some piano again. Before I moved to America, I used to play every day and be actually good at it, but much like with everything e

## Fixing typedoc's generated TOC if your code is using ES6 modules

DevFeed: [Fixing typedoc's generated TOC if your code is using ES6 modules](<https://devfeed.tech/articles/fixing-typedoc-s-generated-toc-if-your-code-is-using-es6-modules-35551.md>)

Original publisher: [Read original article](<https://meowni.ca/posts/typedoc-toc/>)

Author: Monica Dinculescu

Published: 2020-02-21T00:00:00Z

Content type: tutorial

Language: en

Sources: [Monica Dinculescu](<https://devfeed.tech/sources/monica-dinculescu.md>)

Topics: [Documentation](<https://devfeed.tech/topics/documentation.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [es6](<https://devfeed.tech/topics/es6.md>), [modules](<https://devfeed.tech/topics/modules.md>)

Tags: [es6](<https://devfeed.tech/tags/es6.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [modules](<https://devfeed.tech/tags/modules.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

A tutorial describing a workaround for TypeDoc navigation when a TypeScript JavaScript library exports only selected files from its top-level index.ts. The author reports that several TypeDoc flags did not prevent private files from appearing in the main table of contents, and uses injected JavaScript to hide files that are not top-level exports.

### Source excerpt

My one policy about blogging is "write the blog post you wanted to find in the search results". I spent an inordinate amount of time yesterday trying to get typedoc to only show the docs for the files I'm actually exporting in my library, and didn't find anything on the internet to help me, so here is the blog post I wanted to read. The problem You are working on a JS library. You author your source in TypeScript. You have an index.ts file that exports only some of your source files. You would like your generated docs from typedoc to only have docs for those files (Why? So that people don't open issues along the lines of "I see the docs for function foo, but I can't see how to call it, pls export it". Sweet child, if that function was meant to be public it probably would've been. That function is actually 3 spiders in a trench coat). That is, you would like your Table of Contents to show this: and not this: Things that aren't solutions In the order that I've tried them: the --mode modules flag: the word "modules" is a lie here and really just means "under a namespace" not like... ES6 modules (tracking issue) the --excludeNotExported flag: it helps to generate docs for only the exported functions, but not files the -excludePrivate flag: same as above the --exclude flag: this is nice in theory, but I have like 30+ private files that shouldn't be documented and only like 5 top level exports, so that regex will suck. Also, my experience is that next time someone adds a file they want or don't want documented they won't know to add it to this list and we're back to having a problem the --toc flag. I honestly don't know what it does, but for me, it did nothing 100% of the time thinking this should presently work in typedoc. Here is the tracking issue and the open PR that might fix it. My "solution" I'm less bothered that the docs for the private files get generated at all, and more bothered that they're linked in the main page TOC and thus discoverable. So my "solution" tha

## monica.css: A Minimal CSS Framework for Reusable Layout Utilities

DevFeed: [monica.css: A Minimal CSS Framework for Reusable Layout Utilities](<https://devfeed.tech/articles/monica-css-35530.md>)

Original publisher: [Read original article](<https://meowni.ca/posts/monica-dot-css/>)

Author: Monica Dinculescu

Published: 2020-02-19T00:00:00Z

Content type: tutorial

Language: en

Sources: [Monica Dinculescu](<https://devfeed.tech/sources/monica-dinculescu.md>)

Topics: [CSS Framework](<https://devfeed.tech/topics/css-framework.md>), [CSS](<https://devfeed.tech/topics/css.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [css](<https://devfeed.tech/tags/css.md>), [flexbox](<https://devfeed.tech/tags/flexbox.md>), [framework](<https://devfeed.tech/tags/framework.md>), [html](<https://devfeed.tech/tags/html.md>)

### AI overview

The article introduces monica.css, a small CSS framework created as a copy-paste collection of frequently used layout utilities. It provides reusable classes for horizontal and vertical flexbox layouts, centering, spacing, visibility, and related defaults.

### Source excerpt

Back in the day when I worked on Polymer I got used to relying on a bunch of useful CSS classes that at the time we called iron-flex-layout. They were there partly because flexbox was a sadness on IE and you needed to say everything 3 times to maybe get it right twice, and add some very special flex-basis: 0.000000001px "bug fixes" that tbh nobody should ever have to write by hand. But they were also there because it's kind of nice to say <div class="horizontal"> and for it to just work. Some years later, it's now 2020, and flexbox is really good everywhere! We don't need iron-flex-layout anymore, but tbh I still want to say <div class="horizontal"> and for it to just work. I know there are tons of CSS frameworks out there like tachyons that can do this for me, but most of these frameworks do too much for me. I don't work on large projects that need design systems, and I don't want every possible padding and margin and colour and flexbox configuration in the world. I just want the ones that I know I end up using in every project. So here is monica.css: my very own CSS framework, which I copy paste at the beginning of every CSS file and take it from there. It's already minified and bundled (because you copy pasted it) so dare I say: fast loading and efficient? 🙃 * {box-sizing: border-box} [hidden] {display: none !important} [disabled] {pointer-events:none; opacity: 0.3} .horizontal {display: flex; flex-direction: row; justify-content: space-between} .vertical {display: flex; flex-direction: column} .center {justify-content: center; align-items: center} .flex {flex: 1} html { --spacing-xs: 8px; --spacing: 24px; --spacing-s: 12px; --spacing-m: 36px; }

## Metronomes in JavaScript

DevFeed: [Metronomes in JavaScript](<https://devfeed.tech/articles/metronomes-in-javascript-35529.md>)

Original publisher: [Read original article](<https://meowni.ca/posts/metronomes/>)

Author: Monica Dinculescu

Published: 2019-09-10T00:00:00Z

Content type: article

Language: en

Sources: [Monica Dinculescu](<https://devfeed.tech/sources/monica-dinculescu.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Code](<https://devfeed.tech/topics/code.md>), [async](<https://devfeed.tech/topics/async.md>)

Tags: [async](<https://devfeed.tech/tags/async.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [latency](<https://devfeed.tech/tags/latency.md>), [worker](<https://devfeed.tech/tags/worker.md>)

### AI overview

An experiment compares three JavaScript approaches to scheduling metronomes: running timing code on the main thread, using a Worker, and using the Web Audio clock. The article focuses on how blocking and latency affect accurate musical timing.

### Source excerpt

My job nowadays involves a lot of music and JavaScript. You know what musicians really care about? Paychecks (support your local musicians, go to concerts, don't steal music from indie musicians). But also: keeping time. Keeping time in JavaScript is kind of a joke, not just because time is a social construct (this is the Jenn Schiffer social engineering at work), but because it's really easy to write code that blocks the timekeeper. Remember: JavaScript inherently only has one thread, which it uses for everything: painting your buttons, looping through arrays, mining bitcoin, scrolling. Everything. This means that most of the time, you write blocking code, but it only blocks for a little bit - 1ms here and there. And that's ok! Visually you don't notice that kind of latency, and let's be honest: it takes like 400ms to download the scripts, what's 1ms? 1ms starts getting in the way when it's actually 5ms, or 40 ms, or when you're trying to have a metronome run correctly. I made a typing delay experiment to see how much delay people could tolerate, and just for typing alone some people got really antsy around 200ms (shout out to the section of the population who thought they were heroes because they could tolerate infinity delay because of how bad ssh latency is. That's not heroic, that's Stockholm syndrome. Complain to your sys admins). When I changed that to an audio delay experiment, musicians started complaining around 40ms. And that was just audio delay, not an actual metronome. Imagine that fucking with your audio too! So, keeping time is really important - but how do we actually do that in JavaScript? In general, when we want to not block in JavaScript (and do better than setInterval, who is the friend you invite to a party but shows up like +/- 4h to it), we do one of two things: start writing async functions, or move code to a Worker (Surma has a great article about workers everyone should read). In particular, for audio things, there's a third option: using

## The perils of tensor.dataSync()

DevFeed: [The perils of tensor.dataSync()](<https://devfeed.tech/articles/the-perils-of-tensor-datasync-35532.md>)

Original publisher: [Read original article](<https://meowni.ca/posts/on-tfjs-datasync/>)

Author: Monica Dinculescu

Published: 2019-02-22T00:00:00Z

Content type: tutorial

Language: en

Sources: [Monica Dinculescu](<https://devfeed.tech/sources/monica-dinculescu.md>)

Topics: [Tensorflow](<https://devfeed.tech/topics/tensorflow.md>), [WebGL](<https://devfeed.tech/topics/webgl.md>), [GPU](<https://devfeed.tech/topics/gpu.md>), [cpu](<https://devfeed.tech/topics/cpu.md>)

Tags: [cpu](<https://devfeed.tech/tags/cpu.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [tensorflow](<https://devfeed.tech/tags/tensorflow.md>), [webgl](<https://devfeed.tech/tags/webgl.md>)

### AI overview

This TensorFlow.js post explains why synchronously converting tensors to JavaScript values with tensor.dataSync() can block the UI and cause janky rendering. It describes how tensor data moves between CPU memory and GPU-backed WebGL textures, and why repeated transfers are costly.

### Source excerpt

One of the first things you stumble on when you start using TensorFlow.js is that sometimes you need your data as a Tensor, and sometimes you need it as a JavaScript number. Maybe it's for logging it, maybe it's for displaying it somewhere during training, maybe it's because you don't trust the robots to be better than you at math. This is a quick post that tries to clarify why doing this synchronously is probably bad and will leave your UI really janky. Nikhil (who like, birthed TensorFlow.js, bless) was kind enough to explain this to me recently, so I figured I'd return the favour, with fewer meeps and more mistakes. Downloading and Uploading When you create a Tensor, it lives on the CPU. The mere fact that it's a Tensor doesn't automatically move that data into its GPU mansion - it needs to be used in a WebGL program. (I'm playing fast and loose here with the words GPU and CPU btw, so hold back the pedantics: when I say "it lives on the CPU" I mean "in main memory, where the CPU processes stuff"; the GPU has it's own memory, that's where it processes stuff, and that's where that data has to get transferred to. It's fine. You know I know.) You upload the tensor to the GPU when you call one of the tf. operations on it. Tensor operations are matrix math, and matrix math is really fast on the GPU, so every time you call something like sum or sqrt on a Tensor, TensorFlow.js creates a little WebGL operation, and sends it to the backend. Whatever data lived on the CPU is now "uploaded" to the GPU (to a WebGL texture). You download a Tensor when you want to get that data from the GPU back onto the CPU. The data now lives in a WebGL texture, so TensorFlow.js needs to call readPixels to ... read... those pixels... from the texture and convert them back into something you can use. Here's the problem: calling readPixels is fundamentally a blocking operation: when you ask the GPU to give you data, you have to wait for it to respond; this means you can't really do anything else on t

## An Inktober Experiment in Daily Internet Art and CSS Animation

DevFeed: [An Inktober Experiment in Daily Internet Art and CSS Animation](<https://devfeed.tech/articles/i-did-an-inktober-and-i-want-to-tell-you-about-it-35526.md>)

Original publisher: [Read original article](<https://meowni.ca/posts/inktober/>)

Author: Monica Dinculescu

Published: 2018-11-15T00:00:00Z

Content type: opinion

Language: en

Sources: [Monica Dinculescu](<https://devfeed.tech/sources/monica-dinculescu.md>)

Topics: [CSS](<https://devfeed.tech/topics/css.md>), [SVG animations in CSS](<https://devfeed.tech/topics/svg-animations-in-css.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [animation](<https://devfeed.tech/tags/animation.md>), [browser](<https://devfeed.tech/tags/browser.md>), [css](<https://devfeed.tech/tags/css.md>), [experiment](<https://devfeed.tech/tags/experiment.md>), [svg](<https://devfeed.tech/tags/svg.md>)

### AI overview

The author describes an Inktober experiment in which they created Internet-based artwork instead of traditional ink drawings. The project used daily creative constraints and led to learning CSS, SVG filters, and keyframe animation.

### Source excerpt

Inktober is a project where artists make an ink drawing every day for the whole month of October. This year I did an inktober but ignored all the rules, and made Internet Stuff™ instead. That experiment lives here, but I want to tell you why I did it before you go ahead and judge it. I think that it's also important to tell you it was a huge pain in the ass just in case you watched it unfold and thought I magically stuck every landing. The why "Art" is a word I struggle with a lot. I don't think of myself as an artist, because none of the things I make feel like art yet. At the same time, I obsess about these things if I don't feel they represent me, which is one of the nigthmares of being an artist - hence the struggle. For example, I made pottery for well over a year before I thought any of the mugs looked like what I wanted them to look like. They looked fine, and they looked like mugs, but they weren't the kind of mugs I wanted to make. In my opinion, one of the qualities you need to be an artist is to be extremely creative. I am not extremely creative, but I believe that everything in life can be learnt by grinding that level. So with inktober I wanted to force myself to think creatively every day, for a whole month, and see if that would level up my creativity. The how I don't like open ended projects because I think they lead to intellectual wankery instead of like, actually doing the thing, so I made up these rules for my weird art experiment: it had to be somehow about the sheriff of circle punch [1] it shouldn't take more than like, an hour it's fine if I skipped weekends [2] [1] Honestly the first day of inktober was a joke to make fun of the hashtag and my friend Fabian, who I troll with a circle punch any time I can. This of course ended up trolling me, because I did the whole fucking month afterwards, so ain't that the troller becoming the trollee. My friend Bushra came up with the name ("it's always howdy, never howthee"). Her inktober was way better

## Interactive Magenta.js Tutorial for Browser Music Generation

DevFeed: [Interactive Magenta.js Tutorial for Browser Music Generation](<https://devfeed.tech/articles/hello-magenta-35523.md>)

Original publisher: [Read original article](<https://meowni.ca/posts/hello-magenta/>)

Author: Monica Dinculescu

Published: 2018-11-07T00:00:00Z

Content type: tutorial

Language: en

Sources: [Monica Dinculescu](<https://devfeed.tech/sources/monica-dinculescu.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Library](<https://devfeed.tech/topics/library.md>), [Web](<https://devfeed.tech/topics/web.md>), [interactive website](<https://devfeed.tech/topics/interactive-website.md>)

Tags: [interactive](<https://devfeed.tech/tags/interactive.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

An introductory interactive tutorial on using the music-generation features of @magenta/music, a Magenta.js library, to make music in a browser.

### Source excerpt

Magenta.js is a JavaScript library that helps you generate art and music on the web. It's also the team that I work on now! One of the things that I do whenever I join a new team is learn a bunch of things, and then make a bunch of tutorials that past Monica would've loved to stumble over. This is one of them! In this tutorial, we'll talk about the music generation bits in @magenta/music (one of the several libraries in Magenta.js) - how to make your browser sing, and in particular, how to make your browser sing like you!. The tutorial is interactive, and introductory and on Glitch. Go play with all the examples, and have fun! 💕

## Introduction to Machine Learning with TensorFlow.js

DevFeed: [Introduction to Machine Learning with TensorFlow.js](<https://devfeed.tech/articles/hello-tensorflow-35524.md>)

Original publisher: [Read original article](<https://meowni.ca/posts/hello-tensorflow/>)

Author: Monica Dinculescu

Published: 2018-05-22T00:00:00Z

Content type: tutorial

Language: en

Sources: [Monica Dinculescu](<https://devfeed.tech/sources/monica-dinculescu.md>)

Topics: [Tensorflow](<https://devfeed.tech/topics/tensorflow.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Code](<https://devfeed.tech/topics/code.md>), [Algorithms](<https://devfeed.tech/topics/algorithms.md>), [math](<https://devfeed.tech/topics/math.md>), [Demo](<https://devfeed.tech/topics/demo.md>)

Tags: [algorithms](<https://devfeed.tech/tags/algorithms.md>), [code](<https://devfeed.tech/tags/code.md>), [demo](<https://devfeed.tech/tags/demo.md>), [graph](<https://devfeed.tech/tags/graph.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [machine-learning](<https://devfeed.tech/tags/machine-learning.md>), [math](<https://devfeed.tech/tags/math.md>), [models](<https://devfeed.tech/tags/models.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [tensorflow](<https://devfeed.tech/tags/tensorflow.md>)

### AI overview

This tutorial introduces machine learning concepts with TensorFlow.js, an open-source JavaScript library. It explains how models learn patterns from data and demonstrates fitting a curve by learning unknown coefficients from training points.

### Source excerpt

Machine Learning (ML) is the dope new thing that everyone's talking about, because it's really good at learning from data so that it can predict similar things in the future. Doing ML by hand is pretty annoying since it usually involves matrix math which is zero fun in JavaScript (or if you ask me: anywhere 😅). Thankfully, TensorFlow.js is here to help! It's an open source library that has a lot of built-in Machine Learning-y things like models and algorithms so that you don't have to write them from scratch. Is your problem a Machine Learning problem? Machine learning is good at classifying and labelling data. The premise of every machine learning problem is: Someone gives us some data that was generated according to a secret formula. This data could be a bunch of points (that are generated based on some math equation), but could also be fun, like images (the secret formula could be "some of these images are chihuahuas and some are blueberry muffins) or bus schedules. By looking at this data we were given, we approximate the secret formula so that we can correctly predict a future data point. For example, if we're given a photo, we will eventually be able to confidently say whether it's a dog or a muffin. A fun demo! If you want to get started, predicting numbers tends to be easier than predicting images, so in this example we're trying to fit a curve to a bunch of data (this is the same example from the TensorFlow site but with waaaaay more code comments and a prettier graph). We are given a bunch of points (for x between -1 and 1, calculate a y according to y = a * x^3 + b * x^2 + c * x + d - we know this is the secret formula but we don't know the values of those a,b,c,d coefficients.) Our goal is to learn these coefficients, so that if we're given a new x value, we can say what the y value should be. The blue dots are the training points we were given. The red dots would be our guesses, based on our initial, default coefficients (hella incorrect!). Once you cli

## How browsers position floats

DevFeed: [How browsers position floats](<https://devfeed.tech/articles/how-browsers-position-floats-35519.md>)

Original publisher: [Read original article](<https://meowni.ca/posts/float-layout/>)

Author: Monica Dinculescu

Published: 2018-04-11T00:00:00Z

Content type: tutorial

Language: en

Sources: [Monica Dinculescu](<https://devfeed.tech/sources/monica-dinculescu.md>)

Topics: [CSS](<https://devfeed.tech/topics/css.md>), [browsers](<https://devfeed.tech/topics/browsers.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [browsers](<https://devfeed.tech/tags/browsers.md>), [css](<https://devfeed.tech/tags/css.md>), [demo](<https://devfeed.tech/tags/demo.md>), [flexbox](<https://devfeed.tech/tags/flexbox.md>), [property](<https://devfeed.tech/tags/property.md>)

### AI overview

This article explains how browsers position CSS floats using the float positioning algorithm, including how left and right floats relate to the line box and surrounding non-float content. It also recommends flexbox or CSS grid for most layouts and links to an interactive demo.

### Source excerpt

When you have a float CSS property on a box (with a value different than none), this box must be laid out according to the float positioning algorithm. Loosely, it says: if the box has float:left, the box is positioned at the beginning of the line box if the box has float:right, the box is positioned at the end of the line box text (and more generally anything within the normal, non-floaty flow) is laid out along the edges of the floating boxes the clear property changes the floating behaviour. Anyway, in general you'll have a better time if you use a flexbox or CSS grid instead of floats, because floats are quirky and have strange edge cases, but if you were ever curious about how the algorithm would choose where to position different floats, here's a demo (which you can also play with directly on glitch):

[Next page](<https://devfeed.tech/sources/monica-dinculescu.md?cursor=WyIyMDE4LTA0LTExVDAwOjAwOjAwKzAwOjAwIiwgIjE1ZjAwNjFlLTQyNzEtNGQ1YS04MzUyLWVlOTcxZDg1MGJiMiJd>)