Thanks! The video was funny lol :D
HN user
kugurerdem
Do not hesitate to contact me, I always like getting to know new people!
Website: rugu dot dev
E-mail: ugur at rugu dot dev
Github: kugurerdem
Hi! Author here. I just used the Canvas API with some vanilla JavaScript code. My site is built with Hugo, so I first needed to create a shortcode that allows me to embed .js files I created for simulations directly into my posts. About the code for animations being shown, I didn't write them myself from scratch. I used LLMs to generate them. They are not as accurate as what I had in my mind, but it still worked out fine after some iterations and improved the overall reading experience I believe.
Silverbullet seems really clean and nice, thanks for the recommendation. I might just try it out. :)
I mean, I have seen both sides of the story. People putting too much effort into simplifying things where the product users just do not care about it, as well as people overcomplicating things while implementing features up to the point of the program being non-functioning (or very hard to update).
I would say that it is more about how coupled your field and the product you are building are with it being implemented properly. For some areas, like most of the web or building SaaS, it is not as tightly coupled as for other areas like system engineering, building high-performance products, etc.
I've been using The Corne keyboard for about half a year now. And this is a compilation of my thoughts on where the idea to use such a keyboard came from, the process of making the keyboard, some difficulties I encountered, and my general observations throughout this process. Hope it benefits some people.
Oh! Thanks for reminding me that :)
The thing is, until he said it was a made-up story, I thought it was real. This shows that things like that started to become the real norm.
I also don't think the author is in a victim mentality, it is more like a reminder to other developers that they can do so much better.
Exactly. I use comments either when some inherent complexity is at play or when I've written seemingly weird code and need to make it easier for myself and others to understand why it's hacky.
I generally try to avoid the latter case, but sometimes, especially when I can't afford to refactor, I just do it, and in such cases having comments is just better than having nothing.
I remember playing this when I was a child. Was one of the games I really liked. Good to see it's still alive.
Location: Ankara / Turkey Remote: Preferred
Willing to relocate: Yes
Technologies: Node.JS (React, Fastify, Lodash, MassiveJS etc...), Linux/UNIX, Nix/NixOS, Git, Docker, PostgreSQL, SQLite, Redis, BullMQ, MongoDB, LevelDB, Heroku, Cloudflare Pages, etc...
Résumé/CV: https://www.rugu.dev/cv.pdf
Email: ugur@rugu.dev
I have experience in both backend and frontend development, mainly in fintech but not limited to it.
I've primarily used JavaScript and am well-versed in popular frameworks and libraries like React, Fastify, and Lodash. Have also used other mainstream programming languages (Python, Java, C++, and C) for both recreational activities and university projects in the past.
PostgreSQL has been my go-to database, but I've also worked with Redis, MongoDB, LevelDB, and Prometheus for various projects.
I have experience with sysadmin and DevOps tools, including Linux/Unix, Bash scripting, Git, Docker, and Nix.
I’m a passionate developer who enjoys learning and building new products. Feel free to reach out if interested in collaborating!
GH: https://github.com/kugurerdem
Blog: https://rugu.dev
I don't feel qualified enough to judge the quality of the design itself.
However, presenting your ideas in the form of a chat log, just like some philosophy books that explain their point by using dialogues is a creative approach.
I guess this would also work well when presenting written interviews. :)
Just curious. What kind of background would you use instead?
That's a great way to put it!
I’ve gradually started using more UX-friendly alternatives to the tools I've used for so long, and I don’t think the time spent learning those lower-level tools was wasted at all.
If I ever switch to a MacBook (since they're easy to carry around and have good battery life), I’d probably feel the same way as you do. But I don't see that happening shortly since I don't see an immediate need or benefit of it.
Exactly! You suffer regardless of what you choose, but how you suffer and what for differs.
I feel the same way about Windows. But that's only because I've already paid the initial cost of adapting to a Linux environment. Ascetic actions can increase your overall comfort as you get better at them.
Think about it from a 5-year-old person's perspective, or an average computer user. Which one do you think is more comfortable to use, Windows, or Linux?
Some developers can see adding layer upon layer when developing software as bad. However, this essay gives examples of how these kinds of "bloated" solutions can be more efficient than more direct ones with fewer layers of abstraction. This is why I liked it, it seems a bit counterintuitive, but it makes sense.
Hi Breck, it's a nice coincidence to see an author I recently discovered through breckyunits.com, now reviewing one of my essays :)
You never know how paths might cross.
I think the information you shared about the tabs is worth mentioning. I'll reference your video and the tabs info you provided in the addendum.
Shortly after, the tides changed and we were all using spaces.
Very interesting. Thanks for sharing this information! What do you think might have caused this though?
Who cares about grep?
I do care. I find it much easier to work with a codebase that has logs and error messages that can be easily searched. Similarly, working on a blog with searchable text makes more sense to me. Before switching to soft-wrapping, I used hard-wrapping, and sometimes I would notice a typo or an issue in one of the essays. When I tried to quickly search for a nearby word, it wouldn’t find it because the text had been hard-wrapped. I think it also makes it far easier for outsiders to navigate a repo which they are not familiar with.
About the newline, I agree.
Can you detail a bit more what you mean by extraneous material? Is it something like "you now also need tools that can do soft-wrapping"? Even if that's the case, I think it is easier to wrap a text than to unwrap it (programmatically). So, if you need hard-wrapping, you can just do it.
Wrapping is just as simple as; `fold -s -w 80 input.txt`
Unwrapping usually turns out to be harder according to my experiences. [1]
You also can't grep for things "at the beginning of the line", which is often an important indicator. When I did a lot of plain C programming, I would put function names at the start of a line, below their return type to make it easy to grep for a function definition, rather than just uses.
I see what you mean. But I don’t think your approach conflicts with my recommendation for soft-wrapping. You can still soft-wrap regular text files while choosing to separate certain lines of code for clarity. What you’re doing might not even be considered "hard-wrapping" in the typical sense—it's not like you're breaking a 240-character line into multiple lines. You're simply formatting the definition in a way that suits your style, and it's perfectly ok!
For the last one, you can simply use `git diff --word-diff`. Also, platforms like GitHub already highlight word-based diffs, so it usually is very easy to spot the changes.
Location: Eskisehir / Turkey
Remote: Preferred
Willing to relocate: Yes
Technologies: Node.JS (React, Fastify, Lodash, etc...), Linux/UNIX, Nix/NixOS, Git, Docker, PostgreSQL, Redis, BullMQ, MongoDB, LevelDB, Heroku, Cloudflare Pages, etc...
Résumé/CV: https://www.rugu.dev/cv.pdf
Email: ugur@rugu.dev
I have experience in both backend and frontend development, mainly in fintech but not limited to it.
I've primarily used JavaScript and am well-versed in popular frameworks and libraries like React, Fastify, and Lodash. Have also used other mainstream programming languages (Python, Java, C++, and C) for both recreational activities and university projects in the past.
PostgreSQL has been my go-to database, but I've also worked with Redis, MongoDB, LevelDB, and Prometheus for various projects.
I have experience with sysadmin and DevOps tools, including Linux/Unix, Bash scripting, Git, Docker, and Nix.
I’m a passionate developer who enjoys learning and building new products. Feel free to reach out if interested in collaborating!
GH: https://github.com/kugurerdem
Blog: https://rugu.dev
Yeah, nix shells are also worth mentioning. Planning to integrate them into my workflow in the future. :)
Seems interesting, thanks for sharing. Will look it up :)
Yeah, the experimentation being cheap is one of the reasons why it attracted me as well. The ability to rollback once you mess up things gives such a comfort :)
Liked the 'high potential energy' analogy but I think it misses a point. As far as I know, your Nix knowledge and home-manager configurations are transferrable to MacOS and other Linux distros as well.
I'd rather beat my head against a wall for a day figuring out how to configure something than get locked into an OS-specific configuration that I can't move elsewhere.
Many people use Nix and home-manager on their MacOS or non-NixOS Linux setups. You can use Nix package manager without committing yourself to the constraints of NixOS.
You are telling me I have to do things the "NixOS way" but also your documentation is bad / inferior? Absolutely no thanks.
Don't know about others but I don't tell you that for sure. I think poor documentation is among the most understandable reasons to NOT use Nix.
In the end, I am just trying out things to see whether they benefit me or not. Not here to sell you anything.
I recently helped my friend install his first Linux distro, Ubuntu. He told me he could not log in, and he kept getting back to the login page. I realized that he might be having problems related to his display manager installed by default. I made him go to virtual console and replace the default display manager so that he can start his desktop environment session without getting stuck in a display manager loop.
I did not like my own Ubuntu experience when I was using few years before as well. I don't think its stable enough for newcomers as well.
I don't know whether he knows it, but I think ZeroVer being a satire does not affect the essay's point much. There are lots of projects that start with major version zero (0.y.z) for initial development but then for some reason stick with it for long periods. There are also lots of projects that go with calendar versioning.
I am not sure about this but maybe one possible reason is that when you have more than one major version that is largely used, you must maintain two versions. For example, fix bugs for both major versions.
Interesting, and a nice idea. :)
As discussed in the essay there are still some potential issues with dynamic pages. [1] Horizontal resizes might change the location of certain HTML elements, if the website is designed to be "responsive". This is a problem that I still need to address. Another issue arises with pages that can be dynamically appended (e.g., through comments) towards the bottom. In this case, simply making a calculation based on the previous percentage where the user marked the page fails. This is yet another problem that I need to address.
However, the current jumping method seemed to be working fine for most of the sites I use, so I decided to release the app first and improve it along the way based on the traction it gets.
1. https://www.rugu.dev/en/blog/mark-scroll-positions/#3-decidi...
You are on point, the extension starts to slightly malfunction if the user starts to resize the browser window vertically. This is because of the assumption that `(window.pageYOffset + window.innerHeight) / document.body.scrollHeight` will approximately equal 1 when the user has scrolled to the bottom of the page (which apparently, is not necessarily the case).
Will address this issue ASAP. [1]
Thanks for finding an edge case which I did not notice :)
1. https://github.com/kugurerdem/mark-scroll-positions/issues/1