Tuesday, April 3, 2012

Installing Subversion 1.7 on CentOS 5.5

Installing Subversion 1.7 on CentOS 5.5

Let me start by saying the least rewarding part of my job is sysadmin. While I remember hacking out makefiles for c and c++ programs back in college, much of what glues a system together is total black box to me. After nerd raging for a while I finalllllyyyy got my CentOS 5 VM to do what I want, and since I hate for this knowledge to go to waste...

First, I followed superlinuxadmin's tutorial which I will recap only the commands of. For the full article check here:


svn --version #Lets check which version we have now
yum remove subversion cd /usr/local/src/
wget http://apache.tradebit.com/pub/subversion/subversion-1.7.2.tar.gz #got this from http://subversion.apache.org/download/ on the recomended download section
tar zxf subversion-1.7.2.tar.gz # Make sure you use the same filename from the previous step
cd subversion-1.7.2
wget http://rahulsoni.me/files/apr-util-1.3.12.tar.gz
wget http://rahulsoni.me/files/apr-1.4.5.tar.gz
tar zxf apr-util-1.3.12.tar.gz
mv apr-util-1.3.12 apr-util # When using ./configure it will look for these files by default on a folder without version number
tar zxf apr-1.4.5.tar.gz
mv apr-1.4.5 apr # When using ./configure it will look for these files by default on a folder without version number
./configure

Got the same error he did

checking sqlite library version (via header)... unsupported SQLite version checking sqlite library version (via pkg-config)... none or unsupported 3.3 no An appropriate version of sqlite could not be found. We recommmend 3.7.6.3, but require at least 3.6.18.

Applied same fix:

sqlite3 -version #check current version
wget -q -O - http://www.atomicorp.com/installers/atomic | sh # To install Atomic repository
yum --enablerepo=atomic upgrade sqlite
sqlite3 -version #you should get the 3.7 version listed now

Tried to reconfigure as he did...

./configure make make install svn --version # Now you should see the latest version

But got...
checking zlib.h usability ... no
checking zlib.h presence ... no
checking zlib.h... no
configure: error: subversion requires zlib

Bummer. Thank god for helpful hackers over at the svnforum, this post from vumaravi helped:


Slightly modified from that, from the subversion source directory...

wget http://zlib.net/zlib-1.2.6.tar.gz #version may have changed, check site
tar xvf zlib-1.2.6.tar.gz
mv zlib-1.2.6 zlib
cd zlib
./configure --shared
make
make install
cd ..
./configure CPPFLAGS="-Izlib/ -Lzlib/"

Finally made it through the configure with only a warning! Hallelujah!

make
make install
svn -version

1.7.4! Happy :)

Now after an hour detour, back to real work....

Thursday, September 1, 2011

Developing HTML5 games with ImpactJS

Recently I landed a gig to make 38 minigames in HTML5/javascript. Despite the impossibility of the timeline and the paltry pay, I took it on because... well, I love games and HTML5 is the hotness right now. Plus it finally gives me something to talk about in my blog. Here begins the chronicles of a lowly programmer's journey into the unknown. There will be frustrations, triumphs, tears and lots and lots and lots of debugging. So let's begin.

My first task was to choose a base. I looked over every js game engine out there and even dabbled a bit in WebGL. In the end I chose ImpactJS for several reasons. First, at the time of this writing it's the only javascript game engine in stable release. The Aves engine and Rocket Pack got bought out, Isogenic is too expensive, and none of the rest seem to have solid communities. So I saw ImpactJS reviewed in Game Developer Magazine and jumped on it. I must say, it's been very impressive for prototyping. My only two concerns at this point is that not much has been done with it and there's no scene graph. Most of the games in the engine's forums are clones or very simplistic. None of them come close to what my client has envisioned for these 38 minigames, which will have a top down view with controllable sprites. But, I played with ImpactJS for about 3 hours and had a little warrior running around, crashing into stuff and collecting treasure, so I think I made a good bet.

The other thing ImpactJS offers over other html5/javascript engines is that it has a framework. There's no guessing about where this or that file should go, Impact is simple and tells you exactly where you need to put everything. Entities go in the entities folders. Assets go in the media folder. Levels go in the levels folder. Easy. Plus Impact has been proven to run on mobile devices and a couple of developers, including Dominic, the creator and steward of the project, have converted their games to native iPhone apps!

The short of it: I begin my journey with a solid footing. Next time I'll talk about the games as much as my NDA will allow and some of the challenges/solutions that only a coder would think about when taking direction from creative types.

Friday, December 3, 2010

Of spoken words

"He had had such things said to him so many times that none of them had any freshness for him. Emma was like all his other mistresses; and as the charm of novelty gradually slipped from her like a piece of her clothing, he saw revealed in all its nakedness the eternal monotony of passion, which always assumes the same forms and always speaks the same language. He had no perception - this man of such vast experience - of the dissimilarity of feeling that might underlie similarities of expression. Since he had heard those same words uttered by loose women or prostitutes, he had little belief in their sincerity when he heard them now: the more flowery a person's speech, he thought, the more suspect the feelings, or lack of feelings, it concealed. Whereas the truth is that fullness of soul can sometimes overflow in utter vapidity of language, for none of us can ever express the exact measure of his needs or his thoughts or his sorrows; and human speech is like a cracked kettle on which we tap crude rhythms for bears to dance to, while we long to make music that will melt the stars."

- Gustave Flaubert, Madame Bovary

Thursday, December 2, 2010

Art

"Habitualization devours work, clothes, furniture, one's wife, and the fear of war. "If the whole complex lives of many people go on unconsciously, then such lives are as if they had never been." And art exists that one may recover the sensation of life; it exists to make one feel things, to make the stone stony . The purpose of art is to impart the sensation of things as they are perceived and not as they are known. The technique of art is to make objects "unfamiliar," to make forms difficult, to increase the difficulty and length of perception because the process of perception is an aesthetic end in itself and must be prolonged. Art is a way of experiencing the artfulness of an object; the object is not important."

- Viktor Shklovsky, Art as Technique

Wednesday, November 17, 2010

Debugging

"The word bug has been used to describe an 'object of terror' ever since the fourteenth century. Rear Admiral Dr. Grace Hopper, the inventor of COBOL, is credited with observing the first computer bug - literally a moth caught in a relay in an early computer system. When asked to explain why the machine wasn't behaving as intended, a technician reported that there was a 'bug in the system,' and dutifully taped it - wings and all - into the log book." -Hunt, Thomas, The Pragmatic Programmer

Sunday, November 7, 2010

Non Language

"Two people are talking together. They understand each other, and they fall silent - a long silence. This silence is language; it may speak more eloquently than any words. In their mood they are attuned to each other; they may even reach down into that understanding which ... lies below the level of articulation. The three - mood, understanding, and speech (a speech here that is silence) - thus interweave and are one. This significant, speaking silence shows us that sounds or marks do not constitute the essence of language. Nor is this silence merely a gap in our chatter; it is, rather, the primordial attunement of one existent to another, out of which all language - as sounds, marks, and counters - comes. It is only because man is capable of such silence that he is capable of authentic speech. If he ceases to be rooted in that silence all his talk becomes chatter."

-William Barret, Irrational Man

Thursday, September 2, 2010

The birth of the internet

Well, not really, but still pretty cool is this old recording from Stanford. This isn't quite the internet as we know it, but it's the first public announcement of a number of technologies that birthed what I'm using right now to type, upload and publish this blog to you. Some highlights are

Clip 11 - Doug talks about why an online system is useful.. I can't think of any reasons..
Clip 12 - The introduction of the Mouse and his pointer friend 'bug'
Clip 15 - The hardware running the NLS and generating the performance for the audience. This isn't quite the dawn of personal computers... that comes in the mid-80s.
Clip 25 - Two mouse pointers collaborating, reminds me of the recent mouse demo of node.js
Clip 30 - Doug describes two systems being used. One - the hardware system that runs everything - and two - the logical system that is used to organize and relate data in human terms.

The NLS online system project at Stanford

Big thanks to @d33rheart who came across this gem in her digital art class and saw instantly that it was in my taste.