NginX, PHP, FastCGI

I added PHP to bbox512 nginx .1. PreparationFor Debian/Ubuntu it needed FastCGI: # apt-get install libfcgi02. RTFM Init-script for php-cgi in external FASTCGI Mode Nginx, PHP and a PHP FastCGI daemon init script bye Redskin, zdravstvujte R…

Evented Mongrel and bbox2 blog

On bbox2 i installed swiftiply gem . This changed the mongrel_rails command to use evented mongrel – mongrel, patched to use eventmachine tcp stack instead of the original pure ruby one. In /etc/init.d/mongrel_cluster i’m starting all mong…

18th Ruby/Rails meeting in Hirakata

On 11-August-2007 there was a Ruby/Rails meeting in Hirakata. For the first time Osaka meeting is so far from Osaka. About 1.5 hour with train. It was soooooo hot walking from the station to the university :( I put some notes about the eve…

Junebug Wiki on BrightBox

I installed JuneBug wiki on bbox . There was some bugs in the installation documentation so will put small notes here. The installation process is for Ubuntu Dapper box on BrightBox beta hosting. Adjust for your own situation: # Ubuntu/Deb…

BrightBox Hosting

Thanks to Jeremy Jarvis i received a Brightbox beta account . I’m tring to blog about my experience on http://blog.bbox.selfip.net/ . Not sure how long I can keep that accounts, so maybe the blog will become unavailable soon. Still there w…

Erlang for everyday use (3)

FeedbackNone.UpdatesSince my previous post I found a little bug in the CEAN installation. Or maybe it's just not very well documented thing: After the installation the path to the control socket is pointing by default to /usr/local/var: =E…

Erlang for everyday use (2)

Common CrapAfter the first article there was more then 1500 hits. And interesting, maybe about 80% of them coming from RubyCorner ! Feedback: near to zero – just several comments on the blog and on reddit . Nothing to improve? Nothing to a…

Erlang for everyday use (1)

After the last Osaka Erlang meeting, decided to start a column of articles for Erlang everyday use. Recently there is a big interest in Erlang, but the beginning is always difficult. Some push during the first steps usually helps. OK, on t…

nginx-0.5.24, server executable upgrade "on the fly"

There is a new version of the nginx web server - nginx-0.5.24. Too many upgrades recently :( From the changelog: Bugfix: a part of response body may be passed uncompressed if gzip was used; bug appeared in 0.5.23. I have a small ugly shell…

New improved int2roma() and roma2int() functions

Second approximation of the conversion between old roman and integer digits. Added some error checks and released the roma2int() functionality %% convert between integer and old roman %% usage: %% convert:int2roma(555) -> "DLV" %% convert:…

Osaka Erlang Meeting #1

03-Jun-2007, Toyonaka, HotarugaikeOsaka Erlang Meeting #11. RTFMMost of the time was just reading the japanese translation of the “Programming Erlang” book. 53 pages full of japanese ;) Pretty difficult task. All people divided in 2 groups…

An Erlang Course Exercises

Like I mentioned in one of my Jaiku posts it will be good to have a page with answers for the Erlang Course Exercises . Still nobody around with such a page, so I started to put my answers in the Mercurial repository . Some of the exercise…

Erlang gen_tcp:listen options

{active, Boolean} ...If the active option is true, which is the default, everything received from the socket will be sent as messages to the receiving process. If the active option is set to false (passive mode), the process must explicitl…

Even Simpler Queue Service (ESQS)

Like a part of my Erlang study, I decided to code a pure-man queues management service, similar to Amazon SQS – Even Simpler Queue Service (or Erlang SQS you decide ;) ). For now it’s just one file qserver.erl , but i hope to make it bette…

Rubygems on Debian "one-click installer"

Before I mentioned Rails on Debian "one-click installer". Seems there is also a way to install ruby gems with apt-get on debian-like systems. It's in japanese, so just a short translation: Add to your /etc/apt/sources.list: deb http://back…

Change to REST URLs for Rails 2.0

...No longer will we have to use RESTful URLs such as article/1;edit. We're going back to the more normal-looking article/1/edit ...

obfuscation.erl

Luke Gorrie’s comment to ‘Erlang: parallel-map and parallel-foreach’ articleParallel map brainfsck implementation in Erlang: %% Map function F over list L in parallel. parmap(F, L) -> Parent = self(), [ receive {Pid, Result} -> Result end …

Concurrent program template

Something always to start with: -module(ctemplate). -compile(export_all). start() -> spawn(fun() -> loop([]) end). rpc(Pid, Query) -> Pid ! {self(), Query}, receive {Pid, Reply} -> Reply end. loop(X) -> receive Any -> io:format("Received:~…

Programming Erlang Book

Lean how to write truly concurrent programs―programs that run on dozens or even hundreds of local and remote processors. See how to write high reliability applications―even in the face of network and hardware failure―using the Erlang progr…

OpenID in Edge Rails

So we got millions of people with an OpenID by virtue of their AIM account. Great. Now they just need a place or two to actually use it. -- DHH changeset 6245 -- Added simple OpenID authentication Rails plugin wrapper for ruby-openidSee al…

Backends failover tracking

Pretty useful piece of code: is_pid_alive(Pid) when is_pid(Pid) -> rpc:call(node(Pid), erlang, is_process_alive, [Pid]).Checking if some process is alive. But working only with Erlang processes. I cannot check the status of some general TC…

reverl - REVerse proxy in ERLang

Created the reverl project on Google Code. Reverl is reverse proxy, load balancer and HTTPS front-end for Web server(s), implemented in Erlang. Before to start the real coding, I needed a more general proxy(gateway) behaviour. What exactly…

Cookie Based Sessions in Current Rails

Seems Cookie Based Sessions are the New Default in Edge Rails: ...Cookie-based sessions are just faster to retrieve and process than hitting the file-system on every request. Plus, I would imagine they scale considerably better as they’re …

Common Concurrency Patterns

Cast (send msg) A ! B Event (get msg) receive A -> A end Call (RPC) A ! {self(), B}, receive {A, Reply} -> Reply end Callback receive {From, A} -> From ! F(A) endSome trickery follows ;).Here something cool - Parallel RPC: par_rpc([A, B, C…

Erlang Mantra

Origin: Making Reliable Distributed Systems in the Presence of Software Errors Everything is a process. Processes are strongly isolated. Process creation and destruction is a lightweight operation. Message passing is the only way for proce…

14th Ruby Kansai Workshop

Today (17-Feb-2007) was the 14th Ruby Kansai meeting in Kyoto. Some notes on Stikipad (and copy on my wiki). For bad luck both Stikipad and JunebugWiki cannot do trackbacks, so I'll use this diary to ping the event page. Interesting conver…

Japanese OpenID

I have already my OpenID.ne.jp registered ;)

Search Erlang-related information

Started Google Co-op powered Erlang-related Search Engine. Enjoy Update 09-Feb-2007: Also some tinyurl for the search machine

Software project management tool

...Devalot is a software project management tool. Think about it this way: take the best features from applications like Trac, Collaboa, and GForge, then sprinkle in a few features from Mephisto and Typo...

Interconnecting Erlang Nodes

I have an OpenVPN -based VPN. A put some notes on connecting Erlang nodes, running on the VPN machines on my wiki. Erlang is for geeks ;)