Abu Lewis

English to Arabic Vocabulary

by Abu Lewis

English to Arabic Vocabulary makes it easy to practice and learn both the english & arabic language. The application contains a big list of english words and their arabic translation. After searching for a certain word, you are able to hear the pronunciation of the word in both english and arabic.

SQLite Maker

SQLite Maker is a small utility that makes the creation of SQLite databases simpler and more fun. Create a database, its tables and columns using your fingertips. You can then easily transfer and/or send the created database to you or to the person who will have it.
Notice that the tool does not contain functionality for executing SQL queries against the created databases. The only purpose of the tool is to create plain sqlite database files.

For support & bug reporting, click here to contact me

A tool for installing the Assyrian fonts & keyboard layout on mac OS

by Abu Lewis


Please follow the steps below;

1. Open your mac’s security and privacy settings. Open Settings -> Security and privacy setting.
2. Under the General tab, click on (Anywhere) under (Allow applications downloaded from:). See the image.

3. Download the tool from here
4. Extract the file and place the tool on your Desktop. Please do not run the tool from an USB device because it will not work.
5. To install the fonts, press the install fonts button. You will be asked for the user’s password.
6. To install the keyboard layout, press the install keyboard layout button. You will be asked for the user’s password.
7. Go to settings -> Keyboard. Press on the input sources and press the add button. A window will pop up. In the search box, type assyrian. An entry in the list will show up. Select it and press Add.

8. Now Assyrian is added.

A simple Configuration class in Ruby

by Abu Lewis

Just in case you never heard of OpenStruct…

And this is how it can be implemented…

IceCube => Ruby Date Recurrence Library

by Abu Lewis

I love that i found it :). Check it at ice_cube github repo.

This is my first playing around code;

The output would look like this

When to write modules in Ruby!?

by Abu Lewis

To be short and concise, As soon as you have identified a behavior that is or may be shared between different objects, at that time it is a good idea to push that behavior in its own module.

So lets fabricate a use case;

You are given the task to write a little program for a zoo. They need to register the type of food and the time for which the different animals are fed. The zoo has a wide variety of animals, like big cats, fishes, reptiles etc.

So as a good programmer, we do know that all these animals ”eat” (Common behavior). So eating is a good candidate to be separated in a module. The different animals may implemented differently depending on the type, race etc.

So if we define an module and call it EatingBehavior that would look like this;

We can later define a Lion and a Fish class that may look like these;

The both objects are now ”eaters” and if we would define more animals, we should just repeat the same ”including” process….

To test the implementation;

Creating a Ruby service using the dRuby module to be called within a Rails application

To simplify things, lets fabricate a use case scenario;

Imagine that you have to control a password’s strength when the user is registering a new account. The controlling of the password is done using a password list file obtained from https://wiki.skullsecurity.org/index.php?title=Passwords. I’m using the best available one according to the site, which is rockyou.txt.bz2.

To use the list, I have extracted the list and copied it to /usr/share/wordlists/. Once that is done, the shell command ”grep” can easily be used;

The command will check if the password ”hacker” exists or not in the file. And to use the same command in our ruby applications, we can construct a class like this one.

And to make things look like beautiful, We write an dRuby runner class as this one;

To bootstrap and run, we will do so;

Now the server part is up and running. To test our client, we can do so;

The client part can be implemented in your rails application as well!

Connecting IOS socket client to a Ruby socket server using Swift & Ruby’s eventmachine gem.

To demonstrate, I have written a server that has one task. It reads a word and sends it back to the client in a reversed form.

The server code in few lines ;/

The client, which is written as a part of an IOS application in Swift;

The demo application that I wrote is a single view-based IOS-application, with 1 textfield, label and button.

An instance of ReverseClient is created in the ViewController…

And when the button is pressed;

Do not forget to start the server!

Monitor your ruby server process using bash scripting.

After writing a server socket in ruby, I had to find out a solution to monitor its process in any way. I knew that there is a gem for that called God. I also new that scheduling jobs in NIX systems are quit easy using the crontab tool. The problem was though how I would handle the process monitoring part. I had heard of Bash scripting but never buried myself in it.

After a day or so, I ended up with the script below. It is well documented and in case of learning, this is a nice tutorial. The use case of this script would be to schedule it using the crontab tool.

Adding the Assyrian Language to OS X (Mac)

To be able to write in Assyrian on Mac’s OS X system. You will need to download:

1. A keyboard layout (click to download)
2. The fonts (click to download)

Download the both compressed files and decompress them both. Use the path of your desktop to access them easily.

We start installing the keyboard layout by copying the content of AssyrianKeyboard to the folder ”/Library/Keyboard\ Layouts”. This can be done in finder.

Check the screen presentations which I made. Notice that the language of my system is Swedish. I just translated the menu alternatives to English roughly.

How to install the Assyrian keyboard layout

Next step is to install the fonts. The easiest way to do it is to open the folder ”melthofonts” and highlight all the files having the extension ”otf”. Right-click on the highlighted files and choose ”Open with”. The program ”Fonts Book” Should be listed there so click on it.

Many “windows” will popup now. On each of them, there will be an ”Install font” button, Click on these buttons to install the fonts.

How to install the fonts

The final step is to setup the system to handle the Assyrian language. To do that, follow the steps in this video.