Building PHP Applications with jPOP

This is a test, I will check out if this is could be a good alternative to a wiki.
If this works, the jPOP book will be an organized collection that provides the best and most up-to-date information on using the jPOP framework.

The jPOP Example Codes are <i>Guidelines</i>

I keep having people come up with problems because of two main reasons, they don't bother to read the installation procedures, and they go and blindly copy+paste code from the site. Here's the thing, the code I have there will not work by themselves, they are simply there to show you how to use the different functions. Any close inspection of the code will show you this. Here are some important things to remember:

1. You require jPOP.php at the top of the page, it should be the absolute first line in the whole file, before anything else.

2. jPOP::init() goes anywhere inside the head tags, since all it outputs are the stylesheets and javascripts.

Stop Comparing RoR with PHP!

Rails is better than PHP in many ways. Why? Because Rails is a framework, PHP is just the language by itself. People often forget this, and the hype over Rails combined with noob Rails developers who love to boast about how much better they code all has led to serious misunderstandings that are annoying the hell out of me.

Prime example, some time ago railsenvy.com release a series of "Mac vs PC" parodies, except they had Ruby on Rails vs Something Else. Out of 4 ads, one was against J2EE (java), the other 3 where bashing PHP. At first they were sort of mildly entertaining, but bad acting combined with completely flawed basis for their jokes made me hate them.

Sqil, a Simple ORM for jPOP

I haven't written a post as ideologically charged as the last one in a while. To calm things down somewhat, I will talk about a small plugin I've been working on for the jPOP framework. This new script, called Sqil (doesn't stand for anything) is an object-oriented system that aims to make working with databases extremely easy and productive.

First, let me just say that being a jPOP plugin doesn't mean you have to use it with jPOP. Since plugins for the framework are very modularized (remember, it's all in one folder) Sqil can be used in any setting.

Open Source, Capitalist, not Socialist

This post was fired up after reading a single comment, I had Stumbled on an Article about open source, when I read the last comment there, here's an excerpt:

"Unfortunately, the truth of the matter is that Linux still sucks...Time and time again we have seen that socialism doesn't work in the real world. It looks good on paper but put it into practice and it falls apart."

Why is it that people always associate Open Source with socialism? Why are we always thought of as at least slightly communist? Is it because we always seem to be up against the Big Bad Corporations, and therefore against Good American Capitalism? Well let me tell you something.

jPOP Logo

The jPOP logo has been made! With some inspirational help from Scriptor, I have come up with 2 logos.

Now, we need a little help from you guys. Just leave a comment saying which logo you like more.

Logo 1:
logo1
Logo 2:
logo2

Enterprise jPOP?

No, I'm not going to turn jPOP into commercial/proprietary software and make people pay to get it, ever. I support open source both for ideological and practical reasons. I doubt anyone would have been interested in jPOP if it was a commercial thing.

Still, we live in a world where we use money as the basis of value (this isn't a bad thing, I'm a Libertarian), and it'd be nice to get something back. The question is, how do you make money with open source while still staying open source?

One solution I came up with was to make an Enterprise version of jPOP that came with software only businesses would need and most independent developers would not. Still, why should commercial entities be barred from enjoying open source too? I could still let them use the source, and charge if they wanted to redistribute jPOP as part of something, but that'd just turn everything into a legal mess, so I'll keep clear of that.

Important Fix for jPOP

UPDATE: Someone left me a Meebo message stating there are some problems with the jPOP 0.8.5 files, please be more specific since I have no idea what you're talking about.

I was about to use jPOP for another project yesterday when I realized I made a pretty big screw-up. With several copies of the framework lying around, it's hard to keep track and it seems a useful change I made to one never got into the actual release.

Anyway, version 0.8.5 won't let you access the contents of divs with getVal(), only input elements and textareas. If you don't need this feature then you can ignore this post, if you do, then keep reading.

Ruby: Subtracting Strings

Most of my posts lately have been about jPOP, releases, plans, announcements, that sorta stuff. To keep things a bit fresh, I'll change this now and introduce something I've only sparsely talked about before, Ruby.

There are things you can do with Ruby that can make the usual PHP (my main audience) or Java programmer go, huh? or wtf? or even wait, where's the main method?!?!?! (you know who you are) In this post, I'll give an example of one of those Ruby tricks.

First, you should know that Ruby strings are treated like any other objects. String is just another class that you can inherit from or even modify by changing or adding methods on the fly. This can lead to some powerful abilities.

jPOP Framework 0.8.5 has (Crash)Landed

After months and months of seemingly little activity on my part, the next release of jPOP is here. You can check out the redone jPOP site, otherwise, you can read on to find out what's new.

  • The biggest new feature is the addition of plugins. Every effort has been taken to make them easy to install and build. Future plans include making wrapper plugins for existing Javascript libraries and frameworks.
  • Both Prototype Windows and UIControls (which never were that great) have been packaged into plugins, if you don't want them, you can easily deactivate them in the config file.