Dalius's blog
Dalius Dobravolskas's blog about IT and other stuff.
Thursday, January 30, 2025
Kamal: Nginx + redirect
Little tutorial how to make redirects with nginx
Read moreSaturday, January 25, 2025
Kamal & Fastify & Nodemailer
Let's continue my Kamal exploration. Now I have tried to migrate fastify app to Kamal.
Read moreMonday, January 20, 2025
Kamal & Astro
I am writing this blog using Astro. I have found out recently about Kamal and decided to migrate my projects to it. Before that I was using Ansible.
Read moreSunday, August 4, 2024
Card-a-mon: Pivoting
Card-a-mon project is pivoting.
Read moreWednesday, June 5, 2024
Typescript and Neovim LSP 2024
Typescript development for Neovim is progressing. I found out that the only plugin that remained from the past is nvim-cmp.
Read moreThursday, May 16, 2024
Writing Javascript libraries without deps
Playwright has really good codegen tool, but you are stuck with Puppeteer. So I have written little library to use codegen's output in Puppeteer. However this post is not about this library, but how I have written it.
Read moreThursday, March 21, 2024
Frontend testing: end-to-end testing
Lastly I would like to cover end-to-end (e2e) testing. What you want to do here is to test how your front-end code works in the whole system overall. You can use Cypress, Playwright, Puppeteer, Selenium and maybe there is more tools to test your system.
Read moreThursday, March 14, 2024
Frontend testing: interaction tests
So we have storybook set-up and using it. We love how it speeds up our development of individual components. We use visual tests to be sure that we do not break other components in process. However we can do even more: interaction testing.
Read moreThursday, March 7, 2024
Frontend testing: visual testing
So we have covered business logic part but now we want to handle UI. The next lowest hanging fruit is visual tests.
Read moreFriday, March 1, 2024
Frontend testing: hooks
Sometimes it happens that business logic is put inside a hook and it is logical to test it isolated. However you can't call hook directly...
Read moreThursday, February 22, 2024
Frontend testing: unit testing
One struggle in front-end development I had and I assume still have is automated testing. There are many ways how to do it (unit-testing, visual testing, integration testing, e2e testing and etc) and there are various problems with it. I will write several posts sharing how I do or how I would like to do testing in my projects.
Read moreSunday, February 4, 2024
Keyboard with joysticks (part 8): joycon joystick one month after
One month after using joycon joystick as mouse I can conclude...
Read moreWednesday, January 24, 2024
starship.rs subtle slowness and how I fixed it
I use fish shell together with starship.rs prompt. I have configured it long time ago and forgot. It was working perfectly, but there was subtle slowness that I was ignoring for long time.
Read moreThursday, January 18, 2024
5 things I took from "Your Brain At Work"
Dr David Rock in his book "Your Brain at Work" writes how our brain works and what you can do with it. So here are 5 things I took from this book:
Read moreMonday, January 1, 2024
Keyboard with joysticks (part 7): joycon joystick
Here I have received 5 points FPC connector and gave Joycon joystick another chance. Connected everything and it is not working again...
Read moreFriday, November 17, 2023
Keyboard with joysticks (part 6): joycon failure + psp 2000 review after week
Today I have received 6 points FPC with 0.5 mm pitch and tried to use it with Joycon switch joystick. Soldered some wires and connected to RP 2040 zero, connected joystick, but no success. Tried different ways to wire, but it is not working for me. That's kinda sad.
Read moreTuesday, November 7, 2023
Keyboard with joysticks (part 5): QMK part
Since I have working hardware (even if I don't like it too much), I can work on software part now. Here I will try to describe what problems I have with joystick and how I have solved it.
Read moreThursday, November 2, 2023
Keyboard with joysticks (part 4): PSP 2000 joystick added
As I don't want to wait until missing part arrives I have decided to give another chance to PSP 2000. It is shitty joystick, but actually it works.
Read moreSunday, October 29, 2023
Keyboard with joysticks (part 3)
Other parts I have been missing arrived surprisingly fast (less than 3 weeks). This has ended with some success and multiple failures. The biggest success that keyboard actually works after I have soldered TRRS connectors.
Read moreSaturday, October 21, 2023
Keyboard with joysticks (part 2)
So PCBs arrived in a week or something like that (instead of 3 weeks) while I have chosen cheapest delivery option from JLCPCB. I am OK with that as I can do some initial work with it.
Read moreFriday, October 13, 2023
Keyboard with joysticks
I got obsessed with idea to create keyboard with joysticks that actually works. If you have not seen you can check my post on Joystick algorithms. The idea is to document building process with all the failures. This is more like a log not like a story.
Read moreFriday, September 1, 2023
Joystick algorithms for QMK
My current keyboard is 34 keys split, but I still need to move my right hand away from keyboard to mouse from time to time. I am aware about options that are possible (cirque trackpad, various trackballs and etc.), but I wanted to investigate what can be done with joystick (as it is quite cheap option).
Read moreMonday, January 16, 2023
Drawer of Ideas: Visit planner tool
Idea: tool for professionals to allow their clients to schedule time.
Read moreMonday, January 16, 2023
Drawer of Ideas: Gmail email marketing tool
Idea: send email marketing e-mails from Gmail.
Read moreSunday, January 15, 2023
Drawer of Ideas: todo app
Idea: minimal todo app with re-occurring events.
Read moreSunday, January 15, 2023
Drawer of Ideas: Morse keyboard
Idea: Morse keyboard that you can connect to computer via USB or Bluetooth.
Read moreSaturday, January 14, 2023
Drawer of Ideas: Postcard-sized photobooks
Idea: website where you can create postcard sized photo book and print it.
Read moreTuesday, December 27, 2022
Morsilka: morse code keyboard
I have made a single button keyboard for Dirty Santa swap which can be used to type anything.
Read moreTuesday, August 2, 2022
Thinkpad x230 Ubuntu suspend problem (rant)
I have installed Ubuntu on my Thinkpad x230 several years ago and it was working like magic out of the box. However with some update suspend stopped to work and I have not found a solution for quite long.
Read moreTuesday, August 2, 2022
Typescript and Neovim LSP
I have found good reasons to migrate from Ale to Neovim LSP for Typescript development. At least one problem is still not solved, but the pros outweigh minor inconveniences. I will review tools I am using and will explain some details that are not obvious.
Read moreFriday, September 10, 2021
Callum style layout and layers
I have started using Callum style layout as I have not managed to make tap-hold to work on my Ferris Sweep consistently. I instantly feel in love with Callum style but soon I have figured out that I need one shot layers as well.
Read moreSunday, November 15, 2020
Typescript and ALE
In this article I will describe how to use Vim ALE for Typescript development. As well I will give a little bit background why I think you might consider this solution vs other solutions from the Vim's world.
Read moreFriday, October 23, 2020
NeoVim native LSP support (attempt No.1)
Today I have tried to use Neovim native LSP functionality. I will give some time for this configuration so I could see if it is working good for me.
Read moreWednesday, October 14, 2020
Running tests in Vim
Recently I had discussion with friends how testing can be improved while developing using Vim. As front-end developer I usually split my tmux into two panes and run Vim in one pane and run jest tests in watch mode in another pane.
Read moreTuesday, October 13, 2020
Ale + Deoplete + LanguageClient vs CoC
Recently I have migrated from Ale + Deoplete + LanguageClient to CoC.
Read moreWednesday, October 7, 2020
fnm on cd
Some time ago I have shown you how to run `fnm use` automatically using direnv. That solution has one problem however - you need to create `.envrc` file near each `.nvmrc`.
Read moreTuesday, May 5, 2020
direnv and .nvmrc
I am working in company that has many nodejs projects and they are written with assumption that some older node version might be in use. Node version is written in `.nvmrc` file and you have to write command `nvm use` or `fnm use` after you enter project's directory. It is really easy to forget that and requires extra typing every time you open new terminal tab/window because you need that environment again.
Read moreMonday, January 6, 2020
Goodbye Nvim-Typescript
Until now I was using nvim-typscriptplugin for Typescript development. However the most recent version became unusable and nvim-typescript author seems to be focused on other projects (he is active in github but this project gets less of his attention).
Read moreTuesday, July 30, 2019
Vim and Svelte
While looking how to configure Vim for Svelte development I have found an article by Sophia Brandt. While it is good I found it not enough in my situation.
Read moreSunday, June 23, 2019
Card-a-mon tutorial No. 4: PDF generation options
Now you have game with your own images and you want to generate PDF for printing. Most probably you have tried default ones and potentially you are happy with them. So you might wonder why other options are in there.
Read moreSunday, June 23, 2019
Card-a-mon tutorial No. 3: Import and Export
We already know how to create a game and as well we know how to upload our own images. Now we might need to import or export our data. E.g. we might want to give our texts for somebody to check for spelling mistakes, fix them and return to us without revealing all the details about the game.
Read moreSaturday, June 22, 2019
Card-a-mon tutorial No. 2: uploading your own images
Possibility to create prototype using emoji ar game icons images is nice one but sometimes you want to use specific image for your card or it will not work at all if you are working on final product.
Read moreFriday, May 24, 2019
Card-a-mon tutorial No. 1: creating first game prototype
As I have made good progress on Card-a-mon development I think it is time to create some tutorials and see what an easy tool it is. It has learning curve but it is not very steep.
Read moreMonday, March 11, 2019
Card-a-mon: Card Games Design Tool
Currently I'm working on new project Card-a-mon https://cardamon.ffff.lt. You can create card games using this tool. It allows...
Read moreMonday, December 31, 2018
Vim, React and auto-complete
So I'm using Vim for React development and wanted to have better auto-complete experience. For javascript auto-completion I'm using deoplete and deoplete-ternjs plugins.
Read moreWednesday, September 5, 2018
Vim Plugins
Overall I found that plugins makes Vim really powerful tool. However you need a lot of them and usually you should spent quite some time until you find good ones and sometimes you even have to deal with not working ones.
Read moreThursday, May 31, 2018
Code Of The Day
This made my day
Read moreThursday, May 31, 2018
No SecurityTokenValidator available for token
So I have tried to implement OpenId Connect authentication in my ASP.NET Core 2.0 web api. Various articles or tutorials point to using AddJwtBearer...
Read moreTuesday, May 29, 2018
Thinking About Games #1
So let's stop for a moment and think what I have done with "Duke's Dream". Last weekend we have played this little game with my family...
Read moreSaturday, May 26, 2018
Duke's Dream 2018-05-26 Update
I have changed UX since last version...
Read moreSaturday, May 12, 2018
Duke's Dream 2018-05-12 Update
Duke's Dream got some updates
Read moreMonday, May 7, 2018
Duke's Dream first run results
After 3 months development I have decided to share my game to wider public and get some ideas what people think about it. So here are results of first week
Read more