RSSAmplifier

Blog

Renan LE CARO

I try to include the post content directly in the feed

lecaro.meRSS feed ↗32 posts

Latest posts

I'm working on a new brick breaker game

I'm working on a new brick breaker game It is based on breakout 71 but with a focus on easier learning and less metaprogression. The name is "Zala", for "золотой" or "golden" in Russian. As with B71, the gold is to get as many gold coins as possible. I'm trying to get a steam page ready. It's very tempting to share the link to get encouragements, but I think I need to focus on building the game a…

KanbanMD update

KanbanMD update Right click actions have been added to the tabs, lists and cards Much nicer behavior on paste, and you can force copied sections to be pasted as cards with ctrl + shift + v Added the prevent default plugin to disable some shortcuts Focus the next card after archiving one Detect and close files that have been deleted or removed Option to open a file with the default system text…

A new version of Kanban Md is out

A new version of Kanban Md is out I fixed the undo/redo bahavior, added board backgrounds and dark mode. What is Kanban Md It is a desktop app to manage solo projects as kanban boards, with a simple markdown file as a backend. It is offline first (for the most part, actually the background feature is online only for now). It only runs on linux for now. It is free to use, but not open source for…

Software I use every day

Software I use every day I've spent a lot of time exploring various solutions to computing problems and thought I'd share a bit of my findings. You'll find a heart next to things I'd 100% recommend checking out. Desktop My pc runs ❤️ Debian with i3. Much more stable and simple than ubuntu, while still running all the mainstream oss apps. i3 as window manager Firefox despite some user hostile…

KanbanMD is now free

KanbanMD is now free I've built a desktop app to use markdown files as trello boards. I thought I'd make it paid to avoid having to handle support for free users (that can get tiring with open source projects), but after seens 0 interest I'm just going to release it for free and see. I use it daily, it's usable, even if not perfect. It's linux only for now. https://kanbanmd.lecaro.me/

About desync

About desync Two months after writing about how we should have peer to peer data sync for contacts and calendars, I stumbled upon a project called DecSync CC on F-Droid. It maps data (calendar, contacts, rss, map favorites) to a collections of text files specifically arranged to avoid conflicts when synchronizing them. However, the main dev hasn't pushed any commit since 2022. He must have gotten…

Maybe we don't need a server

Maybe we don't need a server Syncthing for notes and photos Have you heard of syncthing ? It syncs a folder between devices, like Dropbox, without the need for someone else's computer. No cloud, it's just your pc talking to your phone, directly and automatically, through your home WiFi. It's a near perfect solution to sync your phone's photo with your computer, making google photo nearly…

New project: Kanban md

New project: Kanban md Born from Atlassian's annoying behavior, it's a Kanban board desktop app based on local markdown files. The idea is to have a very simple, offline-only app that lets you open any markdown file as if they were a Trello board. Minimal UI The app is meant to be used daily and therefore puts the data up front. It is made of three parts. The tab bar at the top lists your opened…

Beautiful software

Beautiful software Beautiful software starts simple and focused on the main use case. Labels are short, screens are structured, important buttons stand out. For command line interfaces, the important options are obvious and there are good defaults. Behind the surface however, beautiful software is capable and configurable. In the settings you will find the extra features you need, and turn them on…

Never buy Xiaomi phones

Never buy Xiaomi phones I've bought a Xiaomi phone (Redmi Note 7) that was always a bit annoying (ads, spyware, random installs), until I finally managed to unlock the bootloader and install a pretty clean ROM. So naturally, when that device had an defective battery, I sent it to the repair shop while buying myself a nicer, more modern Xiaomi Phone, the Redmi note 12 Pro. It even had NFC. I…

breakout clone and small apks

breakout clone and small apks Breakout v1 : strategic but complicated I find the concept of the breakout game fascinating. It's so simple and open, and can be extended in all sorts of directions. It also helps that it's visually intersting, non violent and doesn't make my girlfriend sick as 3D games do. We spent a lot of time playing with the excellent LBreakoutHD this summer and I really wanted…

Sublime plugins are surprisingly easy to write

Sublime plugins are surprisingly easy to write I have i3 keyboard shortcuts to write a new blog entry or note ~/.config/i3/config bindsym $mod+J exec ~/projects/bins/today.sh ~/Documents/Journal/ bindsym $mod+B exec ~/projects/bins/today.sh ~/Documents/lecaro.me/src/ Mod + J opens today's journal entry, and Mod + B opens a blog post. I find it very comvenient, and even use it to open sublime and…

How to sharpen a knife

How to sharpen a knife I love to cook, and I dislike dull knives. I used to like pull sharpener, but the knives don't stay sharp for long with them. OUTDOORS55 opened my eyes in his very basic video I went on to buy a very cheap 400 grit diamond stone for 3.87€ and a polishing leather and paste for 4.64€. It took me a bit of getting used to, but I now have very sharp knives and they stay sharp.…

No spyware, no ads, no bloat

No spyware, no ads, no bloat When shopping, the products pushed forward are usually bad value. You have to dig a little to find the good stuff. In software, even more so. Here's a summary of what works for me. Operating system I started on OG Windows 98. I discovered Fedora in my first internship at university, in the Windows 7 era. I adopted Ubuntu on my dual boot laptop, then only used ubuntu,…

Improving my i3 keyboard shortcuts for daily notes

Improving my i3 keyboard shortcuts for daily notes For a while now, i've had those two lines in my i3 config bindsym $mod+J exec subl ~/Documents/Journal/$(date +%Y%m%d).md bindsym $mod+B exec subl ~/projects/lecaro.me/src/$(date +%Y%m%d).md They let me quickly start a note or blog post with a simple keyboard shortcut. However, I've found that renaming the file to add a title would make my life…

The price of the cloud

The price of the cloud Hosting my SAAS over 9 years I run an app (ciboulette.net) in the cloud. This app generates about 1000 € / month of revenues. I try to run it in a way that doesn't cost too much, while keeping good performance. Heroku I started by hosting it on Heroku with a paid mLab database. It quickly got expansive, the database in particular. At the time I had barely 6 clients and the…

Slow deploys of meteor apps are not a fatality

Slow deploys of meteor apps are not a fatality I've been developing a meteor app since 2015 now, and the production deployments have always been quite slow, around 15 minutes. It used to be because heroku was taking its sweet time. Heroku got too slow and too expensive quite quickly though, and I switched to https://cloud.digitalocean.com + https://meteor-up.com/ My upload speed then became the…

Introducting NanoSheets, a spreadsheets library in 2.5KB of JS

Introducting NanoSheets, a spreadsheets library in 2.5KB of JS A while ago I made a small tool called importabular, that would help me import data into ciboulette.net It's a spreadsheet like UI with named columns. It was my first attempt at writing a spreadsheet UI and there were some issues. It was trying to do too much, and was too specific for one use case, and the lack of virtualization…

2024 update

2024 update Long time no see ! I haven't posted much in the last year, mostly because I couldn't find a way to edit the site. Publii can be confusing at times. Summary of 2023 I spent the first half of 2023 working for Della, and making a small project ( https://drmp.lecaro.me/ ). I then resigned from Della and went to do the Camino de Santiago with a friend in September. We walked for 30 days in…

Integrating remote services in e2e tests

Integrating remote services in e2e tests Ciboulette.net has a large battery of tests that ensure I don't break too many things when doing a deployment. The app also connects together many services, like google maps, google custom search, Stripe and Sumup. I wanted to make sure those integrations would keep working, so i embedded the real services in my test. For example, playwright would attempt…

2023 update

2023 update In 2022 in got a new job at Della AI and moved to Nantes. I focused less on ciboulette.net than before, and had less time for side project. Working at Della has been interesting. I took over a React fronted (with Redux that i'm slowly getting rid of). I had to learn typescript, but in the end I don't fully exploit it. It helps avoid mistakes, but also forces you to write code that…

Picnic: end-to-end encrypted collaborative text editor

Picnic: end-to-end encrypted collaborative text editor I felt like having a small break from my main project this month, so I'm giving myself some weeks to try out other ideas I've been putting off. Just happy coding of open source MVPs for various ideas I've had for a while. I'm giving myself a max of 7 days per app to make sure the scope stays reasonable. The first one is pretty close to done…

One liner to watch the current folder and tree its structure

One liner to watch the current folder and tree its structure I've been working with smstools3 which uses a folder and its subfolder as its state store. Instead of running "tree" manually in the /var/spool/sms folder, i'd rather have it be done automagically whenever the files change. I've used inotifywait for that, which needs to be installed on ubuntu with sudo apt install inotify-tools . Then…

Configuring i3 for headful e2e tests

Configuring i3 for headful e2e tests i3 is nice. End to end tests are nice. Chromium is nice. But they don't get along so well by default. When you run you e2e script with nodemon, each run opens and closes the test browser window. By default, that window appears right by your editor, messing the layout. It's easy to fix though : you just need to tell i3 what to do with that test browser window.…

Github action to check for TODOs and FIXMEs

Github action to check for TODOs and FIXMEs I had some TODO and FIXME instructions in random locations in my code that served no purpose, as I was never looking for them. I also use "console.log" for temporary debug logs that should be removed in production. I sometimes forget some console.log statements, and basically always ignore the TODO/FIXME comments. So i made a very simple script that…

Meteor lags ? Aggregates to the rescue !

Meteor lags ? Aggregates to the rescue ! My app has 4 main collections in mongo : A user has many weeks and clients Each week has many orders, one per client, where the order content is stored (can be empty if the client didn't order that week). Initially, my documents were quite dry, I was doing the "joins" work on the client. It got laggy though, so I moved the joins logic to the meteor server,…

Be careful what you ping for

Be careful what you ping for I have a setup to know when my main app, ciboulette.net, is down. It's based on statuscake , which pings my marketing site every 5 minutes, and also my main app. It used to ping a third endpoint, which was an order form deep inside my app. The idea was to check the the clients of my clients should be able to order veggies, so pinging a specific, real page would make…

Javascript minification with sed

Javascript minification with sed I added a few of my projects to https://1mb.club/ . I'm not sure what for, but eh, it's free link estate ! I stumbled upon a touch type trainer in 2 KB of js. The best thing about it is not really the tool (it's limited, obviously) but the absurd way the author got down to that 2kb size, in particular this little gem.…

Customizing the look of Publii

Customizing the look of Publii I really like the look of the default Publii theme, however some modifications weren't quite working using the in-app options. I wanted this website to have a very low level of interactivity, i don't need a mobile hamburger menu for 2 short entries (code & life). So I started looking for a different theme but I couldn't find what I was looking for, that is, a…

Automating local backups of DO MUP on Ubuntu

Automating local backups of DO MUP on Ubuntu DO + MUP = 💙 I've migrated my main project, from Heroku to Digital Ocean, with the help of the awesome meteor up tool. I wanted a way to automate the backups of production to my own computer. In meteor, the only thing really worth backing up is the content of the mongoDB. We need two things : a script that does the backup, and a cron job to run…

Documenting systems

Documenting systems Back when I was working at virtualQ, I had to do some documentation. At first I didn't quite enjoy it, feeling like this was a chore. But documenting a system can be a very interesting task. I also had to explain our systems to new hires after we raised some funds and quickly grew the team. We had a documentation website for our API, based on markdown. It was very technical,…

Giving Publii a try

Giving Publii a try As a web developer, I've created some websites for family and friends. My default tool for that was WordPress, because you could easily set them up, pick a theme, mess with the CSS a bit and let them write the content. But hosting a wordpress website is always a trade-off between reliability and costs. On one side you have free hosts giving you a terrible VM that can barely…