My astigmatism is fine, but there is just no way in hell I can remember the URL, Bausch & Lomb.
It's about the Ride, for Christ's sake.
From www.shooperman.com:
It's always the same story with you, huh, pal?
You did this one movie a hundred years ago.
From then on, you thought your were better than everybody else.
Why don't you let go?
Move on with your life.
It's not about what happened in the past...
or what you think might happen in the future.
It's about the ride, for Christ's sake.
There's no point going through all this crap...
if you're not gonna enjoy the ride.
And you know what?
When you least expect it, something great might come along
something even better than you ever planned.
Message to Programmers...
As Abraham puts it succinctly:
The potential of the ride of your life is upon you.
And, the potential to be bashed upon the rocks is upon you.
Liberation
So here I am… sitting at a downtown, high-market fruit juice outlet sipping a concoction that costs 2 lunches; and guess what, no wireless@sg! Luckily for me, this means quality time to sit back, relax and type what comes to my mind.
This has been an interesting week. Last Friday, we talked about how we should think about the people that we want in Spiragram. Exactly 7 days to the dot, we made 2 wonderful hires – Jeff and Hong Kiat. This time round, I didn’t even get to doing the paperwork. They’ll both start next Wednesday and we’ll get to that then.
So, Spiragram is now in a good place – we have a good flow of interesting projects, and we’re attracting good people to come on board. So, what’s next? Isn’t that the kind of question you’d enjoy asking all the time? We have a saying in Chinese – 天時,地利,人和 – which literally means right timing, strategic position and motivated troops. And you’ve got all three in the bag, you go all out and do something big. Something big, that’s what we’re going to go for next.
At Spiragram, something big would mean taking a big step toward our vision. Let’s recap – we’re about liberating, leading and inspiring programmers to their full potential. Let’s work on the first – liberation. A programmer myself, one of the most frustrating situations to be in is when you get handed some blueprint and asked simply code it. That’s right, you’re not involved in the creation process of the original idea or product, instead, you’re just a sous chef preparing a dish based on some recipe. This kind of work is boring and unengaging. And it’s very hard to come up with great code. ‘Liberating’ could mean getting the programmer involved in the product creation as early as possible. In this way, they are in the conversation with clients, product managers and other stakeholders of the product. They know why certain decisions are made. Their council has been taken into consideration. They become stakeholders too.
In the past, our client engagement will start from sales, followed by the brainstorm team comprising of senior people, then project managers and finally the implementation team. If you are a programmer in this kind of setup, the first time you’d come to contact with the project is when you are handed technical specifications, use case diagrams, storyboards and a gantt chart. Come to think of it, no wonder our work end up looking like drab.
This has got to change. There’s no other way to get great-looking projects unless every single person on the team is involved from the very start. If you run a development house yourself, you’re probably thinking about costs and planning issues that comes with this new arrangement. It’s an interesting problem for the bosses and planners. And it is a problem worth solving.
So, in the name of liberation, and since I’ve just got two new project leads today, I will try out this new arrangement right away.
The Cold-Start Problem
Joshua Porter’s article on The Cold-Start Problem, which is stated as the problem of launching your site and nobody using it. While this has significant design implications on Spiragram’s Project Napoleon, I cannot help but think about the problem in another context.
We are no longer in the ra-ra years of the first dot-com boom. Nowadays, you just simply don’t hear about startups that much anymore. There is a growing exodus of people going into the property market, though. So, sitting here in our small firm, tinkering and brainstorming for the next big idea, I cannot help but feel that we have to overcome the cold-start problem here as well.
Josh’s stand is that personal value precedes network value (see The Del.icio.us Lesson). This goes against the much-hailed ‘sum is greater than its parts’ cliché for teamwork and high-drive organizations. Instinctively, I would stand for personal value. Here’s an attempt to differentiate the two animals:
| Focus | Personal-Value Startup | Sum-Is-Greater Firm |
| Interaction | Frequent lunches | Monthly general meetings |
| Management Style | Coaching | Numbers & KPI |
| Relationship with superiors | Daily chats | Dinner and dance |
| Evaluations | Peer | Manager |
| Ownership | Shares | Options |
| Ownership 2 | ‘My work matters’ | ‘My manager matters’ |
| HR | You hire | Manager hires |
| Financials | Open | What financials? |
| Budgets | ‘How can we save more?’ | ‘What’s our budget?’ |
| Mindset | ‘What do I want?’ | ‘What does the company want from me?’ |
The thing is that Spiragram has been moving toward the personal-value end before I know it’s called ‘personal-value’. From my experience, it creates a virtuous cycle in the system which frees us to do a lot more in our own roles. And as each one of us improve, it feeds back into the group. Nice.
Cultivating our vision
This is the first time I’m going to try out this thing called typing out my thoughts. I have Zouk’s Mambo Jambo jamming in my ears, sitting at Coffee Bean on a cool, light-drizzled Monday evening. The temperature is just nice enough for me to sit out alfresco with my Chai latter at tow. And I’m thinking, what could I be doing right at this moment that will be in contribution to myself. Abit selfish I know, but when you’re out alone, you gotta be selfish.
I have a few ideas… things at the top of my head: Spiragram, posted.at, uplifting others, there’re just so many things that I can create right now! I’m literally spoilt for choice. So, let’s pick something right now.
Spiragram. Damn. What a great this company Spiragram is going to be. It is great right now. Giving me all the freedom I want in my life right now. For the rest, it’s just so much the company is offering for Toh Chye, Chardy, Jason and even Vivien. The opportunities are unheard of. Everyday as I positively create the future of Spiragram as I share with friends (JT today), I get more inspired. The more I dwell on this, the clearer the picture gets. I mean, there’s just so many levels that Spiragram is doing it right.
Come on, at the end of the day, if it’s not me, who? Who, might I ask, is going to pioneer the way Web Application Development is going to grow in this country, this region, this world? I don’t see it coming from anyone else. They’re all either too busy, too greedy, too distracted, too caught up in the rat race. In Spiragram, we have time, style and vision. That’s why we’re going to show the way.
First of all, Spiragram got her perspective right. Programmers make the difference in applications. Since the beginning of time, well time of the computer revolution that is. Think about anyone who’s a name. Think Von Neuman, think Mr Hewlett and Mr Packard, think Bill Gates, think Steve Wozniak, think Steve Jobs, think Marc Andressen, think Paul Graham, think Sergey and Brin, think Marcus Frind, think… Who are these people? Are they managers? Are they sales people? Are they MBAs? No, no, no. They’re programmers… all of them. They are all founded on software development. Is this a coincidence? Or is this too obvious it escapes us all? Programmers made the computer, PC, IT, multimedia, Internet, Web 2.0 business the way it is today. Think about this from another angle… do you know who invented skyscrapers? Who invented donuts? Who masterminded the 24×7 convenience store concept? Hmmm… doesn’t ring a bell at all? Funny how we still know the people who innovated in our industry right? I think there’s a reason why it is so: the act of creation and innovation in our industry is possible with just one person, and that person is a programmer. So… Spiragram has got it right, in a big, big way… that programmers is all that we have and hence all that we really care about.
If you get it about what we feel about programmers, the rest of what we do is simply what follows from this focus. The way I go about designing this company, is thinking about it if I’m a programmer. I’m lucky because I’m a programmer and know how it feels.
Flow
I’m a moody programmer. By that, I mean there’re times when I’m super productive and times when I’m totally not. Maybe I’m not a good programmer. But if you’d bear with me that ‘flow’ comes when it want to, and I’d just assume it does likewise for everyone else. With flow, should come the programmer who’s always ready to catch it and then get cracking, anywhere, anytime. I’m thinking of a super-geek (ha!) equipped as follows:
- No office hours . The office ist here to go to when you need to, as oppose to a place where you have to go.
- Full-powered, highly mobile workstation . That, in today’s term, is the 13” MacBook with 2GB RAM and 120GB harddisk.
- Connect anywhere . Wireless@sg simply cannot cut it. I’m seriously thinking giving anyone who wants that 3.5G modem and pay for it in full.
- Coffee . I think it’s equitable to put back in caffeine what you take out from grey matter.
- Music . An iPod Shuffle with the venerable Shure E4C on short leash clipped to the back collar of your t-shirt works to drown out the background noise like a charm. All you need to do is mix in your favourite feel-good music.
Maybe there’s more up this alley. I’d like to hear more ideas ;) Now, I’m really tempted to let everyone do this. This thought just came to me: gulp, what if no work gets done?! hahaha.
Vision
Programmers think a whole lot more than the average Joe. Don’t be offended and hear me out. More often than not, programmers are quirkyalones. We hang in front of our computers our social life is quite dismal. More likely than not, we’re very analytical and guzzles up information like no other. We have the time to check out stuff and we have the analytical training to process them. In short, you cannot fool programmers to work like drones for long. Witness the attrition rate of sweatshop style development houses and you’d see what I mean.
As a leader, you simply cannot come up with nimcompoop vision-mission statement and expect programmers to find inspiration from that. Once you say something, programmers will mark your words and every step of the way, they’ll analyze your actions and see if they measure up to your words. Every single manager including myself I know have failed. And as I think of this, I figure you have to be a programmer to lead programmers. Think like them, set the same standards they set for you, do what it is that you say you would and I think you’d (I’ll) do just fine.
So, vision it as vision may, the vision for a programmers’ company has to be more than just flowery words. Your vision has to translate to plans, plans to miletstones, milestones to actions, and actions to reviews. It’s the works, Mr CEO . Everyday, you draw bad diagrams on the board and expect programmers to build usable applications from them. Here’s the payback, programmers want you to do the same with your visions, your objectives, your goals, and your promises.
So… drum roll please… here’s Spiragram’s vision.
Spiragram will be the company that will liberate, lead and inspire programmers to realize their full potential, and while doing that, brings about benefits of financial independence, consilience and personal fulfillment.
Don’t set this in stone… we’re programmers ok, it’s ones and zeros and random access memory and all, we reserve the rights to add on this as we deem fit.
At some levels, I think this works for me wonderfully. It reminds me for instance, as I feel the pain of using toothpicks to pry open my eyes during a late night programming session (hey, we’re liberated but we also know meeting deadlines are a matter of personal honor), that I’m doing this because I am setting an example for fellow programmers.
Our Place
I just cannot imagine renting yet another office that is designed to work with any kind of profession. Instinctively, I feel oppressed in an office setup. It binds my imagination and stifles my creativity. The fact is that I move around the city, sit down and do my best work there and then. In the office, I simply cannot. Hence, the neccessity to solve this problem.
I gather I have to bring in the elements of what inspires me outside into the familiarity of the compounds known as Our Place. Here are some elements which inspires me:
- Coffee – the scent, the sound, the works, heck, let’s bring Starbucks into our place!
- People – constant flow of new and interesting people whom we can meet.
- Music – soft, almost inaudible music to set the mood for the place
- Books – so you can just reach out, grab one, flip to a page and be inspired.
- Joy – intermittent outbursts of laughter and excitement could definitely liven up the place.
- Play – the place will be equipped with consoles, board games, foosball table and even a pinball machine.
- Creation Corners – with all this happening around us, I’ll be darned if I cannot sit down, power up my MacBook and code away ;)
I’m flipping through the Ikea 2007 catalog now and I was just thinking, why not let each one of us programmers decide our own furniture, have them spread across the big room facing the walls, and in the middle, I’d set it up like a living room, a central gathering place. That sounds like a lot of fun. And it’ll be like a beta thing for our office, a step toward actually owning and building up Our Place.
The Nine Story Lines of Spiragram
Guy Kawasaki recently highlighted Lois Kelly’s Beyond Buzz: The Next Generation of Word-of-Mouth Marketing and talked about the top nine stories that people like to hear about a company. I thought it could be interesting to tell you about Spiragram from these nine perspectives ;)
-
Aspirations and beliefs
– We didn’t like the way programmers are marginalized in the industry today. My observation is that it is very rare to find one that has more than 5 years of hands-on experience. The expectation is that if you are good, you should then move on to roles with ‘more exposure’. This leads to 80% of programmers switching to project management, technical sales and other non-coding positions. The remaining 20% would become disillusioned with their ‘programming careers’ and choose to become freelancers or leave the profession altogether.
Doesn’t this sound like a bloody waste of talent? Every year we see hard-earned experience flushed down the toilet as good programmers morph into mediocre managers, who in turn, try to manage young (and hence mediocre) programmers. Because of this, the level of creativity in our field has been stagnant at best.
At Spiragram, we are constantly creating an environment where programmers can grow, until they retire. We believe that in good time, we’ll sport an ace team of programmers with 10, 15, 20 years experience. Our belief is that software companies are great because the programmers are great. Spiragram’s policy revolve around programmers. We are aligned with Paul Graham’s Hackers and Painters and we see ourselves more as artists than resources .
-
David vs Goliath
– earlier this year, two of us flew to New Jersey to pitch against industry giants to win a multinational project on Rails. Because we are so small and Rails is so new, we almost always end up the underdog. It’s important to stress that we’re not the underdog by chance, but that we fully understand how the raging Yangtze starts out as a small stream. We know our strategy, we know our stuff, and we have spirit, that’s why we win. And, winning being equal, it’s a lot sweeter when you’re on David’s side.
-
Avalanche about to roll
– do you always seem to get a minor culture shock when you switch from a new-new web-two-oh site to one that is built circa 1999? I dare to say 99% of all Singapore-based websites are now officially passe. And in a matter of months, they will want to ‘revamp’ their websites.
At Spiragram, we strive to understand the significance behind this shift. We know that ‘Web 2.0’ is not simply a design revamp. It goes deeper. It’s about people. It’s about authenticity. It’s about trust. It’s about relationship. It’s about co-creating.
Companies looking for a ‘Web 2.0’ revamp should change their habit of asking for the ‘damned mockup design’ and ‘cost per page’. Instead, go as high up as your chain-of-command for the website and change that fellow’s frame of mind. If that guy happen to be the CEO or the VP of Marketing, I’m sorry but he or she will have to be the one to fully understand what ‘Web 2.0’ is about and how the company should embrace it.
-
The 3Cs
– We know Web 2.0 will be bigger than dotcom. And we want to be the best people to deliver it. But to do so, we have to gut ourselves out of the ‘old way’ of doing things. The 3Cs are
contrarian
,
counterintuitive
and
challenging widely-held assumptions
. Instead of categorizing what we do here into one of the three Cs, which is difficult because I feel there’s a bit of each in them, I’d just enumerate the
weird
stuff that we do at Spiragram.
No PMs – that’s right, we no longer have project managers in the company. For a long time, we couldn’t get the economics of a project manager to work out. Here’s what happens: the project manager often juggle more than one project due to costs but once they do that, clients simply don’t get the focus and attention that they need. At Spiragram, the programmers perform the traditional PM role. And since we dedicate programmers to projects, clients get their whole attention on their projects too.
Really Small Teams – Spiragram programmers are trained to go solo anytime. That’s right, we’re good with Photoshop, HTML , CSS, Javascript, Ruby, Rails, MySQL, unix commands, Mongrel, Nginx, and whatever it takes to get a fully-operation web application up and running. In addition to that, everyone of us develops an area of expertise. So far, we’ve got Javascript, mashups, TDD and SEO covered.
4.5-Days Week – we’re now en route to a 4-day week, the 4.5 being a trial period. The thing is, we’re on this wonderfully productive framework called “Ruby on Rails” and with it, we’re doing stuff alot faster than we used to. So, the shorter work week is really a statement on the value of our work. In more ways than one, working a shorter week has quite a bunch of benefits which I’ll share in another post.
-
Anxieties
– in Guy’s article, he explained this as
FUD
(fear, uncertainty and doubt). I don’t believe in
FUD
. But I believing in exposing
FUD
used by the proprietary software and big-box guys. Spiragram uses open source and solid boxes. With us, 90% of your budget goes into building a solution that fits your needs, not hammering a square peg into a round hole with $1,200-manday rates. Rather than anxiety, we’ll much rather focus on the reassurance on using open source technology like MySQL and Rails.
-
Personalities and Personal Stories
– hint, hint, guys. I’ll write up something about myself soon and I hope to see more stuff from the rest of us.
-
How-to Stories and Advice
– I hope this is already evident on this blog.
-
Glitz and Glam
– once again, this is something that I instinctively tune out of. If it is to be, I’d rather talk about the glitz and glam of celebrity-programmers, like Chad Fowler and his ukulele. Haha!
-
Seasonal / Event-Related
– as with glitz and glam above, more Rails news on this blog!
Twitter your thoughts
I was listening to an audiobook by Jerry and Esther Hicks when Abraham discussed why it is so difficult to get buy-in on ideas that you share with other people.
The crux of the matter is this: by the thing you are ready to share an idea, you’d probably have thought about it for a period of time. So, even if you don’t notice it, the idea that originated with you already had some time to grow and attract other similar ideas, evidence, observations and thoughts into your head. In short, the idea has germinated to something substantial by the time you share it.
On the receiving end, however, the idea would be experienced as totally new and chances are, the listeners fixed beliefs would safe-guard whatever it is that they already know. Hence, this is why it is so hard to get ‘an idea’ going in any group of people.
At this point, I thought about Twitter, and how it could be a place where I can start posting my ideas as they come to me. Granted that I have a close group of co-workers and friends who are on my twitter list, they’d be getting ‘tuned’ to those ideas. And, in time, when any of those ideas come full circle to fruition and ready to share, this group of audience would by then be ready and primed.
So, guys, twitter your thoughts away!
Swiss Army Knife 2.0
I've been in the web industry for more than a cool decade now and I'll tell you I haven't had so much fun! I've been sitting in front of my Mac Book for the past 24 hours (with sleep in between) and I'm simply in awe of how easy it is to run a business online today.
I call it the "Swiss Army Knife 2.0" or SAK2.0 for short. Here's what SAK2.0 offers today:
-
Simply put, Google Apps is a godsend to all SMEs like Spiragram. I finally moved my company off the web-one-oh-ish webhosting plan (no more cpanel!!) to the elegantly-designed and just-enough and most importantly, free suite of apps that Google gives away. I get email accounts, mailing lists, POP access but we're all switching to gmail anyways, shared calendars, a customizable portal for everyone in the company (although I doubt they'd use it much), and a shared space for documents and spreadsheets.
Ok, I admit I still have domain names managed in my old webhost interface and I'm seriously considering moving to dnsmadeeasy.com.
-
Mojo Helpdesk is a web-based ticket tracking system which we got all our clients to use to communicate with our programmers. This ticket-queue system has essentially done away with client meetings, meeting minutes, email shuttles, ad nauseum just to get a simple fix on the project. The key innovation with Mojo Helpdesk's approach is to make the UI simple enough for our non-techie clients to use. Due to the tremendous value-add to our business, we actually subscribe to the most expensive Enterprise Plan. But frankly, at $99 per month, it's still a steal!
-
Once in a while, we'll hit a contract where we really need the details. Yes, the nightmare of every programmer on the face of this earth - timesheeting. Harvest is timesheeting made easy. At Spiragram, Harvest is useful in keeping track with the amount of time we spent on maintenance work, which is typically structured based on a pre-determined hours per month. Harvest reports allow us to reflect to clients how they are over-using their hours and they should look into increasing their maintenance budgets in the next billing cycle. Once again, with Harvest, we're on their Business Plan, $40 per month.
-
Spiragram is a Rails shop and we eat our own dog food. But we need a good solid dog dish to do that. My vote goes to Slicehost , a Xen-virtualized linux hosting environment. We got a 512slice which gives us 512MB memory, 20GB storage and 200GB bandwidth/mth. This gives us enough resources to power MySQL, Rails, Mongrel and Nginx, which in turn runs this blog on Mephisto. At $38/month, Slicehost is one of the most cost-effective options out there today.
-
This is one of the better wiki hosting providers out there (what I really mean is that their interface is slick). I still have some complaints about Stikipad right now: response time (from Singapore) and irritating multiple logins.
-
If you're reading this blog, I assume you own at least one website. The thing about using Google Analytics is that it works so cool that once you're hooked, you'll start asking yourself all the right questions about your web-business. And if you look past Google-Analytics' pretty front, it actually offers you many suggestions how you can grow your web presence.
I think there's much more stuff that I'm using today (Google Groups, Google Reader, Facebook and many of its wonderful 3rd party apps) which I'll talk about in another post. For now, SAK2.0 proves to be really good in helping me run my business.
Ok, you all have fun over the weekend, eh?
Proper ignores
Working in a team with svn mean you gotta be careful with a number of things, especially if your svn repo goes all the way to the production site. 'Ignores' are something you cannot ignore.
For those special directories, e.g. RAILS_ROOT/config, create a .ignore file that might look like this (assuming you're testing with RailsBench and using Mongrel clusters)
benchmarks.*
database.yml
mongrel_cluster.yml
Once in place, use the "svn propset" command to set the svn:ignore attribute on the appropriate files.
$ svn propset svn:ignore -F .ignore . property 'svn:ignore' set on '.'
As usual, svn status --no-ignore to check on what's been ignored.
$ svn status --no-ignore I benchmarks.rb I mongrel_cluster.yml I database.yml I benchmarks.yml M .
Learning from Markus Frind
There’s a lot of talk in Spiragram about moving on to a scalable* business. By now, the ‘way’ is already very well-established. I remembered getting a sense of it way back in 2005 from Joe Krause, founder of Excite and more recently, JotSpot. Then, we embarked on Rails and their poster children – Basecamp, 43things, DropSend, etc. Closer to home, I have a friend who build this theme-chooser site for MySpace users called Coolchaser and traffic just boomed when their viral strategy kicked in place.
All this while, we kept saying to ourselves, “let’s do it, let’s do it, let’s do it.” But, heck, it’s like a blinking game and nobody blinked. So, as of today, we’re still building sites for clients.
Then, something happened yesterday. I believe things are going to change here in Spiragram. I blinked and then realized two other had blinked before me but I just wasn’t looking.

Today, I came across this interview with Markus Frind, the one guy behind PlentyOfFish.com, a free dating site which made him an adsense millionaire. I think this is his secret:
There is no such thing as a secret. When I came home from work I sat down and I forced myself to code for a hour or 2. The enemy was thinking, whenever I paused or started to think I would force myself to type something, its amazing how much you can get done when you just type … At the end of the day you just need to sit down and DO it. Most people don’t.
Our consulting and application development business today simply hinges on the number of programmers we have on board. It is non-scalable because we always have to hire more of them to grow the business. Case-in-point, a local system integrator, NCS (National Computer System) has around 5,000 employees and still growing (gosh).
Building your own library
I came across this anecdote on Italian writer and philosopher Umberto Eco while reading Nassim Taleb’s Black Swan. Visitors to Eco’s home would stand in awe of the size of his personal library of book. These guests of friends would eventually fall into one of two groups. The first group would ask Eco how many of those books he’s read and end up being ignored by the literary genius. The second, much smaller group gets it that Eco has more unread books in his library than read ones. The whole idea about books is this – the more you read, the more you realize how little you know, and hence you end up buying more books.
I liked Eco’s idea. Personally, I really liked to read but being a Hakka (a chinese dialect group who’s known for their thrift), I only buy what I’d read. Concurrence with Eco’s philosophy has basically set me free in Kinokuniya’s today. I love the freedom to pick up check out any title that was referenced in something I read earlier or spotting an endorsement that catches my eye. You can safely assume I’d be heading to Ikea for more shelves soon.
At another level, I am also wondering if this practice of collecting of “things you don’t know” could take off on the Net. I’m wondering if there’s some compelling reason for people to want to manage this process online…
Installing Mephisto on Centos (Slicehost)
GNU LibTool
LibTool is required to install the various RMagick delegate libraries as shared libraries. Check to see if you have GNU LibTool, usually installed in /usr/local/bin/libtool. If it's not there, do this (do check out the latest version from www.gnu.org/software/libtool ):
$ cd /usr/local/src
$ wget -v http://ftp.gnu.org/gnu/libtool/libtool-1.5.22.tar.gz
$ tar -zxvf http://ftp.gnu.org/gnu/libtool/libtool-1.5.22.tar.gz
...
$ cd libtool-1.5.22
$ ./configure
...
$ make
...
$ sudo make install
...
$
IJG JPEG Library
This is one of the delegate libraries recommended in the RMagick Install Guide. I thought I'll need it (get the latest library from www.ijg.org):
$ cd /usr/local/src
$ wget -v http://www.ijg.org/files/jpegsrc.v6b.tar.gz
$ tar -zxvf http://www.ijg.org/files/jpegsrc.v6b.tar.gz
...
$ cd jpeg-6b
$ ln -s /usr/local/bin/libtool ./libtool
$ ./configure --enable-shared
...
$ make
...
$ sudo make install
...
$
PNG LIbrary
Get this too if you think you'd be playing with PNGs (home: libpng.sourceforge.net):
$ cd /usr/local/src
$ wget -v http://downloads.sourceforge.net/libpng/libpng-1.2.18.tar.gz?modtime=1179259677&big_mirror=0
$ tar -zxvf libpng-1.2.18.tar.gz
...
$ cd libpng-1.2.18
$ ./configure --enable-shared
...
$ make
...
$ sudo make install
..
$
FreeType & Ghostscript
It turns out RMagick needs both FreeType and Ghostscript to install properly. (Source: freetype.sourceforge.net, www.cs.wisc.edu/~ghost)
$ cd /usr/local/src
$ wget -v http://download.savannah.gnu.org/releases/freetype/freetype-2.3.4.tar.gz
$ tar -zxvf freetype-2.3.4.tar.gz
...
$ cd freetype-2.3.4
$ ./configure --enable-shared
...
$ make
...
$ sudo make install
...
$
$ cd /usr/local/src
$ wget -v ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/GPL/current/ghostscript-8.57.tar.gz
$ tar -zxvf ghostscript-8.57.tar.gz
...
$ cd ghostscript-8.57
$ ./configure --enable-shared
...
$ make
...
$ sudo make install
...
$
Image Magick
This is required for Mephisto (www.imagemagick.org)
$ cd /usr/local/srcDuring the configuration, watch out towards the end of the output for the following, just to ensure the JPEG and PNG libraries are properly in place.
$ wget -v ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-6.3.4-9.tar.gz
$ cd ImageMagick-6.3.4-9
$ ./configure --disable-static --with-modules --without-perl --without-magick-plus-plus --with-quantum-depth=8
...
$ make
...
$ sudo make install
$
Option Value
-------------------------------------------------------------------------------
Shared libraries --enable-shared=yes yes
Static libraries --enable-static=no no
Module support --with-modules=yes yes
GNU ld --with-gnu-ld=no no
Quantum depth --with-quantum-depth=8 8
High Dynamic Range Imagery
--with-hdri=no no
Delegate Configuration:
BZLIB --with-bzlib=yes yes
DJVU --with-djvu=yes no
DPS --with-dps=yes no (failed tests)
FlashPIX --with-fpx=no no
FontConfig --with-fontconfig=yes no
FreeType --with-freetype=yes no (failed tests)
GhostPCL None pcl6 (unknown)
Ghostscript None gs (unknown)
Ghostscript fonts --with-gs-font-dir=default none
Ghostscript lib --with-gslib=yes no
Graphviz --with-gvc=yes no
JBIG --with-jbig=yes no
JPEG v1 --with-jpeg=yes yes
JPEG-2000 --with-jp2=yes no
LCMS --with-lcms=yes no
Magick++ --with-magick-plus-plus=no no
OpenEXR --with-openexr=yes no
PERL --with-perl=no no
PNG --with-png=yes yes
RSVG --with-rsvg=yes no
TIFF --with-tiff=yes no
Windows fonts --with-windows-font-dir= none
WMF --with-wmf=yes no
X11 --with-x= yes
XML --with-xml=yes yes
ZLIB --with-zlib=yes yes
RMagick (Optional)
We can install RMagick with rubygems:
$ sudo gem install rmagickIn my Centos4.5 installation, the RMagick gem install failed due to missing Ghostscript fonts. Here's where to get them (pages.cs.wisc.edu/~ghost/doc/AFPL/5.50/Fonts.htm):
Building native extensions. This could take a while...
Successfully installed rmagick-1.15.7
$ cd /usr/local/share/ghostscriptDo this to check that RMagick is installed properly:
$ wget -v http://downloads.sourceforge.net/gs-fonts/ghostscript-fonts-std-8.11.tar.gz?modtime=1059609600&big_mirror=0
$ tar -zxvf ghostscript-fonts-std-8.11.tar.gz
...
$
$ irb -rubygems -r RMagick
irb(main):001:0> puts Magick::Long_version
This is RMagick 1.15.7 ($Date: 2007/06/09 16:45:25 $) Copyright (C) 2007 by Timothy P. Hunter
Built with ImageMagick 6.3.4 06/13/07 Q8 http://www.imagemagick.org
Built for ruby 1.8.5 (2007-03-13 patchlevel 35) [x86_64-linux]
Web page: http://rmagick.rubyforge.org
Email: rmagick@rubyforge.org
=> nil
Mephisto
The following instructions came from this page (mephisto.stikipad.com/help/show/Installing+Mephisto)
- Create a database named mephisto (or one of your choosing).
- Copy config/database.example.yml to config/database.yml
- Edit database.yml and set your database credentials.
- Upload the entire mephisto directory to your webserver.
- Run rake db:bootstrap from a terminal of some sorts (use rake db:bootstrap RAILS_ENV=production to be sure you’ve bootstrapped the production database.)
- Run script/server --e production or mongrel_rails start or whatever’s appropriate to get the Rails web server going.
- Login to your administration at http://domain.com/admin with the username: admin and password: test
HBO 2007 is launched!
It’s finally here! Kudos to Chardy, Jason and Hwee Koon who put this delicate piece of work together. HBOAsia.com is now all spiced up and good to go:
And for those nostalgic folks, here’s what it used to look like…
We're finally here...
Without a website since October 2005 and a tonne of reasons why not, Spiragram shall finally find home in the place where it has been making a living for the past 20 months.
My name is Hoo Shao Pin, my friends and colleagues call me “Shoop” and I would like to be known as “Shooperman” on the net.
In October 2005, I decided to pick up the pieces from a fizzled-out dot-com adventure called Aretae by cashing out with the condition of taking over what was construed as a liability at that time. The Java shop that I took over was renamed “Spiragram” – inspired by Swiss mathematician, Jacob Bernoulli’s parting words on his gravestone “Eadem mutata resurgo”. Which means, changed yet the same, I rise again.

And what a rise this turned out to be. In mid 2005, I first heard about AJAX from an interviewee. I was intrigued and google’d it. Something called Ruby On Rails kept showing up – David Thomas, David Heinemeier, 37Signals, Basecamp (wow), Ruby, Pick Axe, Dan Cederholm, RailsConf… I was hooked.
So begins Spiragram’s journey of transformation, from tables to divs, Java to Ruby, Struts to Rails, Tomcat to Mongrel. We started switching our clients, one at a time. And we got busy. Very busy.
Finally, a complaint came. From a multi-national client. That we didn’t have a website. And it wouldn’t look good if we got the deal. We got the deal, so here’s the website. Oh, let’s make the best of this and see if this can turn out into something really useful and valuable.
In life, as long as you are open, the possibilities are boundless.




