Finally, a new release of my #VGM player, Benben! Version 0.4.0 has a bunch of changes, but the big ones are probably support for #NES music, #Wonderswan music, and various other new chips. Also you can now have it do automatic peak normalization when rendering to WAV or Au.
Enhancement: Added the --normalize command line option for automatic peak normalization of rendered files.
Enhancement: Added the --quiet command line option.
Enhancement: Pressing S will now let you toggle a "quit after current song" option during playback.
Enhancement: Added the equalizer-disabled-during-rendering config option. Turning this on will allow you to normally have an EQ enabled during playback, but also have it automatically disabled when rendering. This also works in per-song config files.
Enhancement: CUE files can now be generated when rendering.
Enhancement: The CPU usage is now shown during playback and rendering.
Enhancement: You can pass a directory to Benben directly and it will play all files it finds in that directory.
Enhancement: Errors that get printed on stderr are now redirected to a file (e.g. ~/.local/share/benben/stderr.log) by default. This is to prevent things such as PortAudio or YunoSynth from printing errors to the screen that can mess up the UI. This can be disabled in the config.
Fixed: JSPF playlist loading works again.
Fixed: You can now go to the next/previous song, or quit, while a song is fading out.
Fixed: The EQ setting now properly "sticks" between songs when it's toggled during playback.
So I have RSS feeds of my various programming projects up and easier to access now. There are both Gemini and web versions you can access (the web version is, right now, just a portal to the Gemini content).
Crystal projects: gemini://nanako.mooo.com/programming/feeds?set=crystal
Common Lisp: gemini://nanako.mooo.com/programming/feeds?set=common-lisp
Started using @golang for simple command line tooling instead of Typescript. So far enjoying it very much, I think it’s bye bye to (cli/serverside) Typescript for me.
@yth@golang I know, I’m dreaming :) I don’t have experience with Go, never had but I was always fond of Ruby syntax and how gently it treats various data types and string operations. It was just not so robust to me regarding performance and infrastructure and I got curious about #crystallang trying to fix that, while inheriting baseline from #ruby. This is just POC to stay curious. i’m aware that #rust, #golang and even #elixir are more new wave,popular while #zig and #crystal have their niches
We're partnering with @84codes to improve Crystal's concurrency model for multi-threading. This is going to be a lengthy process, but it's already bearing some early fruits. #CrystalLang#Multithreading
Honestly getting really discouraged by all these layoffs. I had high hopes in the beginning because companies typically do a lot of hiring in Q1, but with big tech companies doing sweeping layoffs again the market is being flooded with highly qualified devs.
That being said, if you need an experienced engineer, I'm here.
We are making good progress in providing full Windows support. Check out the latest advances that make it to the recent release, and what is yet to come, in the hand of Core Team member and experience developer Quinton: https://crystal-lang.org/2024/01/19/windows-support-1.11/
I think it's about time for another #introduction, because it's been a while and a bit has changed.
Hi, I'm Chris. I'm a software engineer of about 13 years, with most of that being in both front end and back end web development. In a lot of circles I'm known as the #crystal guy, because for a long time that was my favorite programming language. I wouldn't say I have a favorite anymore, but I use #crystallang, #zig, #ruby, #python, #typescript, and a ton of other languages.
I am also a father of 2 beautiful children. Both of them were born prematurely, so that number will not be increasing.
I made some alternate ncurses bindings for #CrystalLang that are a little bit higher level than straight ncurses (though you can do low-level stuff easily with them as well). They also seem a bit more complete than the other bindings I found.
Sigh. I wanted to use https://github.com/crystal-term/prompt to create a TUI app to keep on learning #CrystalLang , but... When trying to build the project, it spouts some problem related to that lib and fails. At this point IDK how to solve the problem myself, so I think I'll try to stick to what the standard library provides. Or maybe I'll try one of the web frameworks instead of trying a CLI/TUI app -that's more my jam. I was prevented and here it is: some #Crystal shards can be... Still not there. :(
I've been playing with #Crystal#CrystalLang today, and frankly, the more I know, the more I like it. It's not very likely that it will land me a job, but some of the stuff I'm learning is generic enough to be useful elsewhere, and I have a toy project or two for which Crystal seems like a perfect candidate. I'm allowing myself to have some fun doing this, and that's great, isn't it? :)
@array#CrystalLang is great if you're looking for a systems language that doesn't feel like C or Java. There are areas where it's still "not quite there" but it's making progress! Even if it isn't the hot ticket right now, I think it's a tool any #Rubyist can pick up to add to their overall toolbox.
WOO! My #vgm player Benben can now play Sega Genesis VGM files. Here is Green Hill Zone followed by a track from Gauntlet IV.
There's one or two more chips I want to get working before I release Benben 0.2.0, as well as a few QOL features. So the new version should be out by late September.
EDIT: this also means most other systems based on the SN764xx series works now.
I like #Python. It was the first programming language I tried, it had a reputation of being easy to learn and yeah, it was. What I don't really understand is how it has become so popular (# 1 in the TIOBE index...) and pervasive (you find it in areas where it seems like logic for a scripting language, but in others where you wouldn't bet for it too). It shines where it shines, but aren't really there better options in some of the niches it is being used for?
Yes, #Python may be easier to learn at first, but when things get complicated, you may want to add a bit more boilerplate in exchange for static typing, for example. And performance... Python doesn't seem very good at that, even compared with other scripting languages, not to mention compiled ones. Is Python really a "silver bullet" for everything? With alternatives waiting to be explored like say #Nim or #CrystalLang indulge me in having my doubts. :P
I was thinking about adding a "niche" programming language to my CV. And I got curious about #crystal#crystallang , which seems to hit some interesting spots and looks really fun to learn. Does anybody have experience using it, ideally in a production environment? If yes, do you have any advice about it and/or some experiences to share, good or not-so-good? Thank you in advance. :)
(Oh and please, don't just reply with "learn $x instead". I'm aware of the alternatives already 😉).
@array oh my gosh, a fully compiled, statically typed ruby-like language???!! What made ruby lovely is how much it gets out of the way for you. In ruby it was possible to use bundler to make a local cache of gems. In golang and rust there is support for a local vendor/ cache for use with offline builders. Does #crystallang have anything similar?