Showing posts with label language. Show all posts
Showing posts with label language. Show all posts

Tuesday, April 19, 2011

Solaris 10: Changing Your System Language Settings via Console

Abstract: Recently while setting up a new server, I accidentally set the default language to Espanol UTF-8 instead of the intended English UTF-8(hey, it happens). Here's how I resolved the issue.

Extract:

1) Log in as superuser:

$ su
PASSWORD: #####

2) Ensure that the language you want is available(excerpted response follows):

# ls /usr/lib/locale

...
C
POSIX
common
en_US.UTF-8
es
es.UTF-8
geo
en_US

If the language is not installed, consult http://developers.sun.com/global/products_platforms/solaris/reference/faqs/solaris-10-locale-packages.html for more information.

3) Edit the start-up default language settings:

# vi /etc/default/init

...
TZ=US/Eastern
CMASK=022
LC_COLLATE=es.UTF-8
LC_CTYPE=es.UTF-8
LC_MESSAGES=es.UTF-8
LC_MONETARY=es.UTF-8
LC_NUMERIC=es.UTF-8
LC_TIME=es.UTF-8

I changed the file to:

...
TZ=US/Eastern
CMASK=022
LC_COLLATE=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LC_MESSAGES=en_US.UTF-8
LC_MONETARY=en_US.UTF-8
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8

4) Reboot.

Troubleshooting:

When logging in, if you see the error: "couldn't set locale correctly", the language was probably misspelled or miscapitalized. Try the above steps again.

Tuesday, March 15, 2011

Intro to Erlang


Overview of Erlang:

From wikipedia[15 Mar 2011]:
Erlang is a general-purpose concurrent, garbage-collected programming language and runtime system. The sequential subset of Erlang is a functional language, with strict evaluation, single assignment, and dynamic typing. For concurrency it follows the Actor model. It was designed by Ericsson to support distributed, fault-tolerant, soft-real-time, non-stop applications. It supports hot swapping, thus code can be changed without stopping a system.

Its concurrency and hot-code swapping were excellent for telecom uses, and reportedly tested to a nine nines reliability rating. The message passing paradigm is excellent for use with multi-processor systems that are growing in popularity. Currently, the 3 most prominent Erlang projects are ejabberd the XMPP instant messaging server that Facebook chat is based on, Apache's CouchDB, and Claes Wikström's YAWS (Yet Another Web Server). In a 2002 comparison YAWS was tested to handle 80,000+ simultaneous connections beating the next closest contender Apache2 which failed at around 4,000.

And here's an amusingly odd(oddly amusing?[neither?]) video demonstrating the benefits of Erlang:



On with the code:


You'll need a functioning Erlang shell, I recommend a *nix(subjective perhaps but I tried it in XP and on Ubuntu's CLI and Ubuntu felt more natural) . If you're on a *nix, type:
$ erl

If the response isn't similar to:
Erlang R13B (erts-5.7.1) [smp:4:4] [rq:4] [async-threads:0] [kernel-poll:false] 
Eshell V5.7.1 (abort with ^G)

1>
or you're using Windows go to: http://www.erlang.org/download.html

Robert Baruch's - Thinking in Erlang is an excellent, quick, and free introduction for those with programming experience. I offer one point of clarification to his concise doc: source code is not directly written in the shell. Code is written in a text editor, saved to a directory, and then run from the shell. More info: http://www.erlang.org/quick_start.html

Conclusion:


Having completed Baruch's introduction, you are more knowledgeable about a promising, new-ish programming language. To learn more:

http://www.erlang.org/starting.html
http://www.erlang.org/links.html

Yariv's blog
Erlang creator Joe Armstrong's book