The .John Framework

the technology and business paradigm

Evermight Framework Launched!

November 21st, 2008 at 8:48 pm

Check it out!

EVERMIGHT

Written by John Lai

November 21st, 2008 at 8:48 pm

Posted in Uncategorized

Comments: Post first comment

The Evermight Framework

October 7th, 2008 at 4:27 pm

I made my own web 2.0 LAMP framework over the years. Out of the box, it comes with:

- CMS
- role based permission system
- social network system
- message box system
- user registration system
- multiple template plugin system
- object-relational DB mapper
- event scheduler
- multi-view calendar
- multitude of javascript functions

The two biggest problems with using other open source frameworks are: 1) time spent learning the framework and 2) code bloat from massive code libraries irrelevant to my project. By working with a framework I built myself, I don’t waste time studying foreign systems, and it’s easy to find and remove unnecessary code.

Building my own framework is fun, and the best way to do it is to get someone else to pay me to do it. I accomplish this by participating only in freelance projects that add value to my framework. I avoid all others. This way, someone else other than me pays for the development of my framework. It also makes overdue and over-budget projects easier to swallow when I know my new tools will save me time and money in the future.

When I get around to it, I’ll release my framework to the world for free. I’m sure no one will use it because in the time it takes one to learn my framework, he will already have made his own.

Written by John Lai

October 7th, 2008 at 4:27 pm

Posted in Uncategorized

Comments: Post first comment

Art

September 19th, 2008 at 9:09 pm

“If I make something cool, I need to make money off of it. Otherwise it’s just art.”

– Rohit Sardana on a cool project

Written by John Lai

September 19th, 2008 at 9:09 pm

Posted in Uncategorized

Comments: Post first comment

Documentation

September 17th, 2008 at 3:03 pm

Just got off the phone with the owner of a technology outsourcing company I use to work for. Their client is suing the company for more than half a million dollars for a web application they developed because it did not meet specifications.

It was almost a year long project with plenty of scope creep and rolling change requests, and because everyone was so anxious to get the product out the door, no one documented properly. Now they’re fighting a legal battle with insufficient documentation to prove what requirements everyone agreed too.

The thing that scares me is that their documentation was better than most companies I’ve worked for.

Written by John Lai

September 17th, 2008 at 3:03 pm

Posted in Uncategorized

Comments: Post first comment

SVNserve (Subversion) on 1and1

September 8th, 2008 at 9:51 pm

I spent the week trying to get Multiple Subversion User Accounts to work on a 1and1 Linux Business Package.  I FAILED.  The 1and1 tech team told me they do not allow it.

As many of you know by now, the 1and1 Linux Business Package only gives you one SSH account.  Ideally, you do not share this ssh account because it opens up your entire shared server, including access to svn (via svn+ssh tunnel mode - instructions here).

First, I tried to run svnserve in daemon mode and failed.  I discovered 1and1 runs a crontab to kill svnserve daemons every minute.  I tried to write my own crontab to revive the daemon, but that didn’t work.

Second, I tried to run svnserve in inetd mode, but because I do not have access to inetd.conf (makes sense..i’m on a shared server), this option failed.

Third, I tried to use public key authentication to allow multiple users to ssh into my shared server without knowledge of my ssh password.  1and1 does not allow public key authentication unless you’re using putty public key authentication, which isn’t the same thing.  So this option failed too.

In the end, I released my sole ssh credentials to my developers, which they used to ssh tunnel into my repository.

1and1 said they allow svnserve on their dedicated and virtual servers.

Written by John Lai

September 8th, 2008 at 9:51 pm

Tangible Results

August 17th, 2008 at 5:53 pm

It’s always a good idea to do research.  But I have a hard time doing that in a 9-5 job because it doesn’t yield immediate and tangible results.  If I can’t go to the manager at the end of the day with completed task list, I feel guilty.  It’s hard to do research when you feel like someone’s watching over your shoulder.  And of course, off hours are reserved for freelance work.

So now that I have  a start up, and I don’t have a superior to report to.  There’s no pressure for me to please anyone other than myself.  And what pleases me most is a job that devotes the proper amount of time to research and production.

Written by John Lai

August 17th, 2008 at 5:53 pm

Posted in Uncategorized

Comments: Post first comment

Company of People

August 16th, 2008 at 8:31 am

People say I’m too nice to do business. I won’t succeed because people will take advantage of me. Here’s what I should tell them:

In my line of business, there are no long term gains when you take advantage of, exploit, or mistreat the people you work with. Workers know their value, and will leave parasitic relationships for mutual relationships. If your company exploits its employees, business partners, clients and customers, you won’t be as successful as the company that cherishes its employees, business partners, clients and customers.

I can’t think of a great nation that endured centuries from exploiting its own people. Nations collapse in violent ways when its people are upset. That’s why in my company, its own people come first. Not because I fear bloody revolutions, but because I know what it’s like to be mistreated. We will build the empire together, and we will battle the world together.

We will take care of our own. Employees come first, customers come second.

If a customer is upset with a service, more often than not, it will be traced back to an employee who is capable of doing his job, but who is also unsatisfied with his employment circumstances. That is why the employee must come first. The company should take care of its people, and let the people take care of its customers.

Written by John Lai

August 16th, 2008 at 8:31 am

Posted in Uncategorized

Comments: Post first comment

I’m a programmer, why go start up?

July 22nd, 2008 at 11:50 pm

I’m a developer, why the hell do I want to do a start up? I’ll tell you why (in order of significance)

1) Need a bigger challenge: Technology itself is no longer a challenge. I know given reasonable time and resources, i can do anything. It’s time to learn new skills and assimilate them into my repertoire. No better place to learn about the different aspects of IT business than in a small start up, where everyone’s got to wear different hats

2) Your Empire, Your People, Your Culture: Start your dynasty. Find like minded people to work with. Create the most awesome work atmosphere ever! You’ll wake up every day wanting to go to work!

3) Choose your battles: Choose the projects you want to work on. Contact the clients you want to work with. Sell the features you want to build. Set the timelines you want to commit too. Do the things you want to do.

4) The front: You’re right in the thick of things. No one stands between you and the customer. You’ll hear what people have to say about your business right from the source. If a customer is upset, you have to turn their frown upside down. Then you walk away knowing you’ve made a difference.

5) Money: Some people say money is good. And sometimes I believe them.

Written by John Lai

July 22nd, 2008 at 11:50 pm

Posted in Uncategorized

Comments: Post first comment

Off the shelf or build from scratch?

July 20th, 2008 at 9:59 pm

I’m about to work on a big project. I’m doing research into off the shelf products that may or may not do what I want. Here are quick pros vs. cons

OFF THE SHELF
pros - much of what you need might be built; there’s support for the product; save a lot of time; great short term

cons - may not be as flexible; takes time to learn how to reverse engineer; since open source platforms try to solve ALL business scenarios, you’re stuck with superfluous code and irrelevent modules, which results in one big bloated system that’s hard to maintain and scale

BUILD FROM SCRATCH

pros - you know exactly what it can or can’t do; solve only problems you need solved; design for immediate re-use with other projects you have on the go

cons - takes more time to build;

If your project is quite substantive with long term plans, and you have the skills to do programmatic wonders, then you will be biased towards Build from Scratch. It’s appealing to a developer to design his own products, and re-sell them on his next projects.

Whatever you end up deciding do invest A LOT of time in trying out existing tools. You may end up using them, or they may inspire you to build even better products!

Written by John Lai

July 20th, 2008 at 9:59 pm

Posted in Uncategorized

Comments: Post first comment

Q&A With Freelance Software Developer

July 15th, 2008 at 12:26 am

ON the subject of being a freelance software developer and consultant:

 

1) who else is doing this?

There is a big demand for software consulting and freelance software development. There are people doing this, but there aren’t enough. Plenty of opportunity for me to engage this industry. I have two objectives 1) make money 2) expand client base/establish new relationships. The fact that Ive had to turn down a handful of projects due to schedule conflicts is a clear indication of this demand.

 

2) is your service better? or cheaper? or both?

Majority of freelance software developers do not follow best practices, and open up security issues in their work. I offer services that adhere to best practices, as used in reputable organizations such as U of T and Torstar Digital (particularly on thestar.com, toronto.com, wheels.ca and ourfaves.com). I have existing re-usable products and solutions that promote fast and cost effective development (eg. my CMs which has been popular) .

3) why would soeone use your services vs. others
Reason outlined in question 2. Additionally, I have resources to assist clients with graphics design, marketting, and post release product support. Unlike most frelance developers who bring solely their own skillset to the table, I can bring together a team to get the job done. Finally, word of mouth will promote my service…part of the reason why i want to do consulting /contract work is to establish more contacts and get my name out there. All my clients have been enthused with my work, and they play a big role in growing my reputation exponentially.

 

4) can this be outsourced?

IT and software development is a big field, and there are many facets. In general, there are two types of organizations: Big ones, and not so Big ones. Big orgs. can afford to hire large IT teams and admin staffs. Small orgs. can’t afford to keep IT teams and admin staff. I offer my services to small/intermediate sized businesses looking for turn key solutions that the manager or an assistant can manage themselves.

Small orgs need Agile Development and Flexible Management strategies. Processes need to simple, lean, and fast. These methodologies are extremely difficult to execute when a) you’re a big corp. and you need different departments to sign off on proposals, specs, docs etc.. and b) you outsource to parties that are not conveniently geographically located.

By keeping my team small to service a client’s modest business, we can develop with flexibility, speed and simplicity. I can provide face to face conversation (extrmely important in graphics design and brand design), accept last minute requirement changes, and adapt quickly to changing realities. None of this would be cost effective to do for a 5 person company looking to outsource IT development, support and maintenance to India.

Written by John Lai

July 15th, 2008 at 12:26 am

Posted in Uncategorized

Comments: Post first comment