Text 20 Dec FreeBSD mysql server mysql.sock issue

After following these instructions:

http://envotechie.wordpress.com/2010/12/20/famp-installing-apache2-2-mysql-php-on-freebsd-8-1/

When trying to run

#mysql
or
#mysqladmin

It would come up with:
 can’t connect to local mysql server through socket ‘/tmp/mysql.sock’

Turns out mysql is running as mysql :) and not root, duh, so all you need is:

# chown mysql /tmp/mysql.sock

1/2 hour wasted there, now back to work.

Text 4 Jan Steve Jobs’ New Year’s resolutions found on napkin

Funny stuff …

Video 19 Dec

Arsenal 2009 / 2010.

Text 19 Dec Redmine + SVN (Subversion) + Certificate issue + Ubuntu

The entry or revision was not found in the repository.

If you just installed your new shiny Redmine setup on Ubuntu (10.04, 10.10), are getting the above message when going under Repositories, and are using SSL for your SVN repository, then sit back, smile and chill, there is a “not so hard” fix.

The reason you are getting this message is because the default user under which redmine is running (www-data) calls the “svn” client to communicate with the repositories but the client replies back to it saying that the certificate is untrusted, thus the connection is closed.

To fix this, we have to cache the certificate, so that the client doesn’t ask Redmine about it anymore and subsequently the Redmine Repository would display properly.

First, we need to configure subversion to allow certificate caching. Go to your .subversion folder

/home/{username}/.subversion

and run:

nano servers

uncomment and set to “yes” the following directive

store-ssl-client-cert-pp = no

Then go to your home folder, make a copy of .subversion as .subversion_www and change the whole (-R) ownership of that folder to www-data

cp -R .subversion .subversion_www

chown -R www-data .subversion_www

Create a temp folder in your home folder and cache the certificate by doing a checkout into it as the user www-data (the user apache runs under) and selecting the .subversion_www folder we created above as the config folder (which allows the www-data user to cache the certificate)

mkdir temp
cd temp
sudo -u www-data svn —config-dir /home/{username}/.subversion_www checkout https://svn.yourserver.com/repo_name/trunk

When the svn client asks about saving the certificate type “p” for (p)ermanent. You don’t have to finish the checkout process, so just keeps pressing enter on the rest. Make sure that everything went fine so far, by running the checkout command and if you don’t receive the certificate confirmation again you are doing great. Remove the temp folder by running in your home folder

rm -R temp

Now go to and edit the subversion adapter

/usr/share/redmine/lib/redmine/scm/adapters

nano subversion_adapter.rb

Change the line

SVN_BIN = “svn”

to

SVN_BIN = “svn —config-dir /home/{username}/.subversion_www”

Restart apache:

/etc/init.d/apache2 restart

and you’re done.

Enjoy

Text 9 Nov The Mandelbrot set in one tweet …
1111111111111111222222222222222222222222222222222222222222222222222222222222222
1111111111111122222222222222222222222222222222222222222222222222222222222222222
1111111111111222222222222222223333333333333333333332222222222222222222222222222
1111111111122222222222233333333333333333333333333333333333222222222222222222222
1111111111222222222333333333333333333333334444456655444433333322222222222222222
1111111122222222333333333333333333333344444445562116654444443333322222222222222
1111111222222333333333333333333333344444444555562332626544444433333322222222222
1111112222233333333333333333333344444444455556123555521655444444333333222222222
1111122223333333333333333333334444444445556662666 651165555444433333332222222
11112223333333333333333333344444444455666611122 14216665555443333333322222
111122333333333333333333344444445555145243342614 36542211121654433333332222
111223333333333333333344444555555566152 46 352646365433333333222
1122333333333333333444555555555666622411 4165543333333322
112333333333333444566666555566661135 6 34165544333333332
123333333444444555622211124211112253 5331544433333333
123334444444455556124133665111433453 326544433333333
13344444444555556112413 2122 36544443333333
144444444555566253351 2 415544443333333
145555566666112354135 2165544443333333
245555566666112354135 2165544443333333
144444444555566253351 2 415544443333333
13344444444555556112413 2122 36544443333333
123334444444455556124133665111433453 326544433333333
123333333444444555622211124211112253 5321544433333333
112333333333333444566666555566661135 6 34165544333333332
1122333333333333333444555555555666622411 4165543333333322
111223333333333333333344444555555566152 46 352646365433333333222
111122333333333333333333344444445555145243342614 36542211121654433333332222
11112223333333333333333333344444444455666611122 14216665555443333333322222
1111122223333333333333333333334444444445556662666 151165555444433333332222222
1111112222233333333333333333333344444444455556123555521655444444333333222222222
1111111222222333333333333333333333344444444555562332626544444433333322222222222
1111111122222222333333333333333333333344444445562116654444443333322222222222222
1111111111222222222333333333333333333333334444456655444433333322222222222222222
1111111111122222222222233333333333333333333333333333333333222222222222222222222
1111111111111222222222222222223333333333333333333332222222222222222222222222222
1111111111111122222222222222222222222222222222222222222222222222222222222222222
1111111111111111222222222222222222222222222222222222222222222222222222222222222
1111111111111111111222222222222222222222222222222222222222222222222222222222222
1111111111111111111112222222222222222222222222222222222222222222222222222222222



for(;s%L ||(h-=o,T= -2),s;4-(r=O*O)<(l=I*I)|++_==L &&write(1,(--s%L?_<L?--_ %6:6:7)+"123456 \n",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;

Yes, yes only the for loop fits in one tweet ... but nevertheless ...

#include <stdio.h>

float o=0.075, h=1.5, T, r, O, l, I;
int _, L=80, s=3200;

main(){

for( ;
s%L || (h-=o,T= -2),s;
4 -(r=O*O)<(l=I*I) | ++_==L &&
write(1,(--s%L?_<L?--_ %6:6:7)+"123456 \n",1)
&& (O=I=l=_=r=0,T+=o /2)
)
O=I*2*O+h,I=l+T-r;

}

Text 6 Jun Aptana plugin for Zend Studio 7.2.0

Because of a dependency failure between the Aptana plugin for Eclipse and Zend Studio 7.2.0 you have to install the plugin manually: http://www.aptana.org/studio/plugin

A cool feature of Aptana is its support for JS libraries. Make sure that the view My Studio is showing (Window -> My Studio), then switch to Plugins. In Plugins Tabs chose Ajax and then any JS library you use. I chose JQuery to try it out and it handles the default $ function code hinting pretty well. There does not seem to be any support for Processing.js (which I’m using for this particular project) but general JS support in Aptana makes up for it.

Text 22 Nov 1 note Some Arsenal and soccer analysis

I generally hate judging players, for good or bad mostly because in the field I have studied and work, the system/strategy/training/style/architecture affects most of the time the outcome then the players/workers/users/people

That’s “most of the time” though, and not always. There’s definitely many times that one player alone can completely affect the outcome, Maradona at Napoli, Ronaldinho at Barca, Arshavin vs Liverpool, and many more examples. The more modern soccer becomes though, the less that seems to happen.

So, in modern soccer seems that depending on which formation a team uses, certain roles are quite crucial. The DM seems one of them on a 4-3-3, and Yaya Toure was the hidden reason of Barca’s success last year. Personally I find Song to be solid so far there, and if I compare him with Yaya he seems on the path to getting better, except the pace factor. He doesn’t have Yaya’s (or even Essien’s) explosive pace and because of the way he plays he might never do. But for a fluid attacking style that it’s a given to leave gaps behind, that sometimes proves to be a crucial feature on that role. The same feature is crucial on the LB and RB and not so important on the CB’s.

So this way we can continue and analyze players according to the adopted system and find out exactly why, Hleb, Flamini etc failed after they got out of their slots. A certain DM slot on a given system might need completely different properties from the player on a different system. In my opinion Arsene Wenger is an absolute genius at this and the reason why I love watching Arsenal play even if they haven’t won much.

But the game at Sunderland also brought something to light that I have noticed quite often at least happen with teams that employ the 4-3-3, or better a fluid 4-3-3 (Milan is playing 4-3-3 these days but it’s not a fluid 4-3-3, seems more like one that interchanges between a 4-5-1 to 4-3-3 only when they’re looking to score, got actually a lot to say about that and why it’s getting them to winning ways even with so many old players)

So what it brought to light is what I call “the soccer law of entropy”. Entropy represents the “potential for disorder” in a system. In an attacking fluid system such as Arsenal’s and Barca’s when they are in possession the game usually becomes a tik-tak-tik-tak – goal, with the fluid passing also predictable and stoppable if the appropriate discipline is used. The tiks and taks are obviously the fluid passes.

On Saturday the team seemed quite solid on paper with the so called unpopular players out and with most fans super excited.  But Sunderland was able to intercept the tiks and taks quite affectively and even though part of it was the affect of an international week, most of it seemed like lack of ENTROPY. We simply didn’t have unpredictable players. Such players would introduce Entropy (hopefully) without breaking the fluidity. It seems that in these systems Entropy affects less the fluidity of the system and a lot more the actual opposition which now gets another variable whose value magnifies the amount of work to be done to follow and efficiently break the fluidity. So they end up working out casual defensive methods and are not able to follow the fluidity no more.

That’s why players like Diaby, Eboue, and Bendtner and some others actually balance the team and seem to be needed if added properly to the team. Obviously many other factors also come into play as I mentioned above but these are some pieces that Wenger seems to be very aware of.

Here’s to beating Chelsea on Saturday.

Text 5 Oct Firebug 1.4.1 console, console.log issues

Ok so console behavior has changed (since at least firebug 1.4.1 maybe earlier since 1.4.0) The new behaviour does not let console run until it’s actually opened by clicking on the FireBug icon thus making it active. Even though this is a very welcomed change it does affect your console.log calls. Ideally you either call console.log to debug something quickly and right away you remove it or you pass it through an (undefined check) or a try … catch.

If you do forget a console.log somewhere however the script will break at that point even in Firefox, so before starting to pull your hair because your script works when FireBug is active and it doesn’t when it’s not, make sure that there are no console.log lines in that file.

Text 5 Oct IE (internet explorer), cookies, localhost and underscore in the domain name.

I know that underscore is not allowed in the domain name as per IETFstandards.

But developers sometimes don’t care about rules (meself included) and throw domain names in the hosts file using ‘_’ underscores.

IE (internet explorer) does not like this and cookie domain get set uncorrectly and you start pulling your hair, screaming for mercy.

So … don’t do it.

Text 5 Oct IE7 Expected identifier, string or number

The comma on the last function is the culprit.
Make sure to have your (JSON) constructs properly formatted.

(function()
{
var Drilldown = window.Drilldown =
{   
/**
* Sorting Utility
* Example: Open Sorting Utility and display pages with parent id 0
* Context is the same as module context=pages
* Parent is the filter eg parent/0
*/
sortingUtility: function()
{
ElementWindow = window.open(‘/sorting/manage/list/context/pages/parent/0’);
},

deleteItem: function()
{
$.post(‘/pages/manage/delete/id/’ + this.itemId, {}, function(json){ window.location.reload() }, ‘json’);
},

};
})();


Design crafted by Prashanth Kamalakanthan. Powered by Tumblr.