Artha: offline dictionary for linux

Artha is nice and well written dictionary application for Linux. The good thing about it is that it can work offline, which means it will pull the database during installation so that it can work offline. So next time if you are not connected to internet and want to search some word meaning, Artha will do the job well.

Artha-offline-dict

How to install it in elementary/Ubuntu, fire up terminal and type:

[cc lang=”bash” escaped=”true” nowrap=”false” noborder=”true” line_numbers=”false” lines=”2″ tab_size=”4″]

sudo apt-get install artha

[/cc]

How to install it in openSUSE, type in terminal after became root by su – :

[cc lang=”bash” escaped=”true” nowrap=”false” noborder=”true” line_numbers=”false” lines=”2″ tab_size=”4″]

zypper install artha

[/cc]

And there you have it.

Facebook: App not showing in the tabs list

If you have ever worked on Facebook apps as a developer, you will have a bitter experience with facebook because of their changes now and then to the API’s.

Let’s say you have created an awesome app for one of your clients. Hosted the app, everything is working good. Now when you add the app to that client page who has more than may be 15 or 20 apps listed in the tab zone. By logging as Admin/Developer you will see the app in the tab list.

But now let’s say that you added testers to test the app while it is in sandbox mode. The testers don’t see the app listed in the client facebook page. It is suppose that he/she should see it. For that there may be other reasons like SSL issue, app not properly setup in the developer area etc. But in case everything is good and still app is missing from the tabs list for testers.

The common reason for this is that facebook only allow 12 tabs at a time on a page, so a new tab for that app will not be there. But if the tester access the app directly through url, he can see the app.

So the solution to this will be to swap the newly created app within the 1st 12 apps. While logged in as Admin/Developer, go to the client page and list all the tabs by clicking on the button right hand side the tabs. That will show all the tabs. Now mouse over on the newly created app and click on the pencil/setting icon and swap it with any position you like but within the 12 tabs. Once you are done with that, check the page with tester account, and you will see the app listed there in the tabs. Facebook magic!

How to add TXT(SPF, DKIM) records for sub domain in Route 53 on Amazon

If you already followed this article and created a Route 53 record for your sub domain, that means we can proceed to add TXT records now. Please note that i assume that you use three different services for all this like Amazon for hosting, Godaddy/Name/NameCheap etc for domain, MailJet/SendGrid/ElasticEmail etc for emails send out.

Now for example, i want to send my users a welcome email when they join my blog [no-reply@blog.anl4u.com]. As you can see blog.anl4u.com. Now if you try to insert a SPF record for blog sub domain in TXT section of your hosted domain DNS area. Most probably it will throw an error, saying that there is already an entry for blog in CNAME section. Considering that you are using load balancer and added blog sub domain in the CNAME section for that load balancer.

So to overcome this issue, simply create a Route 53 record for your sub domain and attach your load balancer to that sub domain. Follow this article to create a Route 53 record.

Let’s add SPF record 1st, click on the Create Record Set button. Leave the name field as it is(it will show your sub domain). From the Type select TXT, in the Value field paste the text you get from the Email provider for SPF with quotes and save the entry.

route53-2

Create a DKIM entry now. In the Name field add this ‘mailjet_domainkey’ without quotes. As you can see, i am using mailjet. You can change that to yours. Choose TXT from the Type drop down. Input the long line in the value field with quotes and save it. Now you will have 5 records NS, SOA, A, 2 TXT.

route53-1

I assume you already added the NS records for your sub domain by following the article mentioned above. Now go to your Email sender service and validate the SPF and DKIM entries.

route53-4

And that’s it, happy sending emails.

Create Route 53 record for load balancer on Amazon

So you have few instances attached to a load balancer on Amazon and want to create a Route 53 entry for it to use the Name Server(NS) entries instead of the load balancer long A record which is not accepted by A record in domains DNS managers. Login to your AWS console area and click on Route 53 from the services dropdown menu. Click on the Create Hosted Zone button. Input your domain or sub domain name in the Domain Name field and save the entry by clicking Create Hosted Zone button.

route53-3

Once created, click on Go to Record Sets. And there you will see two records are created by default SOA(Start of authority) and NS(Name Servers).

Now click on the Create Record Set button and leave the Name field as it is. Select A record from the Type drop down. Select Yes from the Alias tab and choose the load balancer you want to attach and save the record. Now you have three records, SOA, NS and A record.

route53-5

Next copy the NS records and add them in the NS section of your domain. If you have added any CNAME for load balancer, you can safely remove that. Wait for the DNS propagation and check back your site later. You can use dig command in terminal to get the information about the domain.

In the next article i will show you how to add TXT(SPF and DKIM) records for a sub domain in route53. Stay tune.

Update (20-03-2013) : Check out this article for how to configure/add SPF and DKIM.

openSUSE 12.3 is OUT!

And the news is that openSUSE 12.3 is out a while ago. What more i would say than go and get it while it’s HOT. Let’s summarize some of the key features it have:

  • Kernel 3.7.10
  • KDE 4.10.00
  • Gnome 3.6.2
  • Enlightenment 17
  • UEFI support for x86_64 hardware and experimental support for Secure Boot enabled hardware.
  • MariaDB an alternative to MySQL
  • Improved notification system
  • Virtualbox 4.2
  • Complete packages for OpenStack
  • Faster and more stable Nouveau NVidia driver, supporting newer hardware
  • Rewritten zypp PackageKit
  • LibreOffice 3.6 stack

Read the announcement page for more..

Download it from here. Before writing it, please check the md5sum of the downloaded ISO file. Fire up a terminal and type:

[cc lang=”bash” escaped=”true” nowrap=”false” noborder=”true” line_numbers=”false” lines=”2″ tab_size=”4″]

md5sum /path/to/downloaded_iso_file

[/cc]

And compare it with the md5sum in the download page.

openSUSE-12.3-desktop-1

openSUSE-12.3-desktop-2

openSUSE-12.3-desktop-3

Have fun!

 

Split and Join file in Linux via terminal

Have ever want to split a big file or may be a normal file into multiple parts and later join them. Well, in Linux i would say that is quite easy by using split and cat commands in terminal.

Let’s try it with an example. Open terminal. If you want to read more, the easy way is the Linux man pages. Just type this, and you will get all the help related to split command. Same goes for other commands too.

[cc lang=”bash” escaped=”true” nowrap=”false” noborder=”true” line_numbers=”false” lines=”2″ tab_size=”4″]

split –help

[/cc]

split-help

Let’s say i have a file V-for-vendetta.mkv size of 367 MB in location /backup/Downloads/V-for-Vendetta/. 1st of i want to split this file into 100 MB each part.

[cc lang=”bash” escaped=”true” nowrap=”false” noborder=”true” line_numbers=”false” lines=”4″ tab_size=”4″]

cd /backup/Downloads/V-for-Vendetta

split -b100M V-for-Vendetta.mkv vendetta.mkv

[/cc]

M represents megabytes, K represents kilobytes and B represents bytes. Even can use G for gigabytes and T for terabytes etc. Read help of split for more.

The 1st is the name of the original file (V-for-Vendetta.mkv) and the second one is the new file name. It will split it into 4 parts like vendetta.mkvaa, vendetta.mkvab, vendetta.mkvac, vendetta.mkvad.

slipt-file

split-results

Check the images for the commands and results.

Now is time to merge all the parts into one file again.

[cc lang=”bash” escaped=”true” nowrap=”false” noborder=”true” line_numbers=”false” lines=”2″ tab_size=”4″]

cat vendetta.mkv* > vendetta.mkv

[/cc]

Cat command will do the bits here, nothing fancy here to explain, its self explanatory. Read more about cat from man pages in terminal. Just note the * here, as we removed the aa, ab, ac, ad etc from the original parts name.

join-file-with-cat

after-join-file-with-cat

And that’s it.

Happy splitting and joining.