Nature

You might think you have dodged a bullet But you weren't the one getting shot barbarically Statically, you'd not moved an inch since you were born Thinking others are doing the same, harmonically You can't see beyond the tip of your nose which can only go so far But the others were moving ahead; evolving naturally Thinking not to worry, everything is under control But things were getting out of your grasp, gradually

flymake-rakudo - Another syntax checker for Raku on Emacs

Flymake I've been switching to Emacs packages which are lighter and use the internal Emacs system, instead of creating their own. This time I wanted to try Flymake, the syntax checker that comes with Emacs. At first it wasn't very appealing because I thought it would only show the error on mouse hover! So I tried to see what options I have for displaying the error messages when text cursor moves over them.

How to write Raku's trans routine/operator in Go

I was looking for a way to transliterate(translate) English numbers to Persian numbers in Go. Such functionality is usually found in programming languages, but I wasn't expecting too much from Go. It's very easy to do in Raku: say 567.trans: '0'..'9' => '۰'..'۹' =output ۵۶۷␤ say TR/0..9/۰..۹/ given 567 =output ۵۶۷␤ For Go I found xstrings module which has a Translate function. But the solution I came up with was using NewReplacer function from Go's internal strings module:

T - Easy way of writing test assertions which output good test descriptions and error messages in Raku

After I finished watching Daniel Sockwell's FOSDEM 2022 Raku presentation, I thought this is a good opportunity to play with Raku's slangs, something I hadn't done before. What is Daniel's talk(and upcoming module) and my module going to solve? Write less but more readable test code Get a useful test description and failure message If you use cmp-ok, you get a good error message; but without a test description it's sometimes hard to understand.

Raku, Go, Chroma, Germanium, Hugo and my blog

When I created my Raku programming language website with Hugo static site generator, I had to manually create the syntax highlighted html files for code examples shown in the front page, because Hugo used Chroma(written in Go and uses a mostly similar API to Pygments) for syntax highlighting which didn't support Raku. So I opened an issue on Chroma, the discussion showed that you cannot just convert the Raku lexer from Pygments to Chroma; You would need to create some functions manually, and Chroma needed a new Emitter interface which would take the LexerState as an argument, because Raku has some complex syntax; the Raku lexer in Pygments had functions for finding closing brackets matching the opening brackets, and for regex nesting in tokens, regexes and rules.

An improved flycheck-raku now available on melpa [Emacs]

Recently I forked the flycheck-raku (by @widefox) to the Raku GitHub organization. And did some improvements to it and published it on melpa, so others can easily install and update it. For those who don't know, flycheck is a tool for syntax checking Gnu Emacs buffers. You can install flycheck-raku using use-package: (use-package flychek-raku :ensure t) New features Project detection Previously if you used flycheck-raku on a project, it would show errors on use SomeModule;, even though the module was in the lib directory of the project.

MovieInfo - A web app for finding movie information and ratings

I wanted to create something that makes it easy for me to see movie ratings. I decided to create it as a SPA. In order to do so, I had to find a good framework. I looked at a few well known frameworks, but did not like any of them! I was going to give up, but then I saw Elm. I had seen it being mentioned here and there, but I had never looked into it.

Get football information in your terminal with football

App::Football is a command line program I wrote in Raku. football lets you access information regarding football(soccer!) teams, leagues, tables, fixtures, scores and players. It uses another module I wrote called WebService::FootballData which is a Raku interface for football-data.org API. To install App::Football, you need to first install Raku and Zef, then run: zef install App::Football The README file has some useful examples, but here are more examples and screenshots:

How to type Raku unicode characters in Emacs

Raku programming language uses some unicode characters as operators, quotation marks, etc. In this post I'm going to explain how to type those characters in Emacs using input methods. First, you might want to see a list of those characters and their ASCII equivalents here. There is also a doc for entering unicode characters. You may specifically want to look at XCompose for a system-wide solution. There are at least two input methods you can use to enter the unicode characters used in Raku.

Magrent 1.0 released [Firefox]

Magrent 1.0 adds context menu items to torrent info hash(when hash is selected) and The Pirate Bay torrent pages and links. Changes in this version: Add support for The Pirate Bay torrent URLs and links Add context menu items for torrent info hashes New design for Magrent panel Use new action buttons(Australis) with backwards compatibility. New icon Notify user when torrent source is not accessible. Add torrent source name to the notification title

Simple parser for C language

For a long time I'v wanted to push my Parser project which was a university project for Principles of Compiler Design course to GitHub. Now I’v found the time to do it and you can download it here. 2 years ago I started learning Perl, soon Perl became my favourite programming language. It was then that our professor gave us the scanner project for C language. He told us that we can use the programming language of our choice.

Restoring GRUB with Arch linux live CD

I had Arch linux on my computer and needed Windows for gaming; Windows installs its own boot loader, so I had to re-install grub. The following is what I did to restore grub. I suppose that you know what you're doing! For example you need to know in which partition linux is installed. Boot Arch linux from live CD. Create a directory for chroot environment: mkdir /mnt/root Mount the root partition and other necessary device and file systems:

My move from Ubuntu to Arch Linux

About a month ago I decided to try a new linux distribution. I was using Ubuntu and was even waiting for Ubuntu 12.10. I chose Arch Linux for testing, and Installed it on my netbook. I really liked the installation process! Then I chose Xfce as Desktop Environment. After a few days I decided to move from Ubuntu to Arch Linux. When I read an article about a window manager, I was reminded of Tiling Window Managers so I decided to check window managers before moving.