Lately I’ve been thinking of Maximus‘ future. I’ve had a draft blog post with the title ‘Pulling the plug on Maximus’ poking me in the face for at least 6 months now and I’m still not sure if I should be writing it or not. I’ve got a number of reasons to end the project but also to continue it.
Reasons to pull the plug would be that I no longer use BlitzMax and thus it’s wasting precious server resources. I’ve also got little time for maintaining the codebase (it’s stable software, so not much going on there though) and keeping the service running. Furthermore I’ve got no clue on how big the Maximus user base is. I know a couple of BlitzMaxers (though it seems they’ve moved on from BlitzMax) who use Maximus, but that’s about it. As far as I know it could be 5, 10, 100 or 0 users. Aside from the users there has also been little participation from module authors.
There are also reasons to keep the project alive. It’s still one of the coolest things available for BlitzMax. It’s a big central repository with almost all available BlitzMax modules and currently there’s no other solution for easily installing your desired BlitzMax modules and their dependencies. It’s also a stable code base and the way it’s running now doesn’t require much maintenance. I’ve still got plenty of ideas to implement and improve Maximus as well. It can also be a nice playground for trying out new technologies. One such example was adding Vagrant support which is something I now use on a daily basis.
Still, I’m more and more feeling like ending the Maximus project. It no longer scratches an itch of mine since I’m not using BlitzMax anymore and like I’ve said I’ve got no clue if other people actually use it. Sure, from time to time I can find an entry in my log files that shows a module has been downloaded, but that’s about it.
For the time being I’m going to think about what my decision is going to be. Once one has been made I’ll inform you again on my blog. In case of termination I’ll inform ahead of it. Comments and suggestions are more than welcome.





Vim essentials: NERD Commenter
Another great Vim plugin I use is NERD Commenter. Using this plugin makes it easy to comment out lines of code with just a few keystrokes. By pressing
<leader>ccor<leader>c<space>you can comment out your selection using a single comment character per line. With<leader>cmyou can comment your selection with one set of multipart delimiters, though your programming language has to support those. Repeat the commands to uncomment your code again. These commands work on single lines as well as on multiple lines which you’ve selected in visual mode (e.g. ranges).In some cases it can happen that NERD Commenter doesn’t know which comment characters to use which causes it to use comment characters your language doesn’t or may not support. So far this only seems to happen when the filetype can’t be determined by Vim. This can be annoying at times, but I can live with it.
All NERD Commenter commands
For completeness I’ve copied the full command set from its README below. Personally I only use the ones I mentioned earlier. Though I think I’ll go and try to memorize the NERDComYankComment function since that particular case can pop up quite a lot when programming.
[count]<leader>cc |NERDComComment|
Comment out the current line or text selected in visual mode.
[count]<leader>cn |NERDComNestedComment|
Same as <leader>cc but forces nesting.
[count]<leader>c |NERDComToggleComment|
Toggles the comment state of the selected line(s). If the topmost selected line is commented, all selected lines are uncommented and vice versa.
[count]<leader>cm |NERDComMinimalComment|
Comments the given lines using only one set of multipart delimiters.
[count]<leader>ci |NERDComInvertComment|
Toggles the comment state of the selected line(s) individually.
[count]<leader>cs |NERDComSexyComment|
Comments out the selected lines “sexily”
[count]<leader>cy |NERDComYankComment|
Same as <leader>cc except that the commented line(s) are yanked first.
<leader>c$ |NERDComEOLComment|
Comments the current line from the cursor to the end of line.
<leader>cA |NERDComAppendComment|
Adds comment delimiters to the end of line and goes into insert mode between them.
|NERDComInsertComment|
Adds comment delimiters at the current cursor position and inserts between. Disabled by default.
<leader>ca |NERDComAltDelim|
Switches to the alternative set of delimiters.
[count]<leader>cl
[count]<leader>cb |NERDComAlignedComment|
Same as |NERDComComment| except that the delimiters are aligned down the left side (<leader>cl) or both sides (<leader>cb).
[count]<leader>cu |NERDComUncommentLine|
Uncomments the selected line(s).