Tom’s Graphic Design Journal


research, thoughts, and reflections for print and web
NEWS: Long term side effects of xanax Cialis company Mazindol Buy cheap generic viagra Hydrocortisone Fill viagra prescription Selegiline No prescription phentermine Cefoxitin Viagra lawsuits texas Viagra alternative and woman Dulcolax? Metrizamide Cialis viagra Phentermine weight loss pill Valium! Viagra useage Overdose xanax, Viagra use in women Kaopectate Novobiocin Cheapest place to buy phentermine Adderall Trifluoperazine! Phentermine message boards Ipodate Nafcillin Buy phentermine diet pill Tramadol drug test Phentermine diet pill: Dexfenfluramine 5 mg Cheap tramadol Over the counter viagra? Herbal viagra alternative Nabumetone Budesonide Amitriptyline Good morning viagra commercial Carbenicillin Xanax indications Ambien cr dosage Buy vicodin online Phentermine and atkins diet 150 tramadol No prescription phentermine free shipping Digoxin Fioricet medication Pediacare Woman take viagra Xanax alcohol Phentermine pharmacies Phenelzine From generic india viagra Plendil Viagra lawsuits. Is phentermine dangerous Viagra 6 free sample Vicodin dosage Alteplase Natural alternative to viagra Clomiphene Ampicilin Cialis lowest price, Arava Hydroxyzine Klonopin vs xanax dosage Tramadol and online pharmacy, Didanosine Bush inauguration speech draft viagra bastard of. Meridia better than phentermine Information on phentermine Inform your doctor medication phentermine dose weight Generic viagra overnight delivery! Phentermine and sibutramine be combined Buspirone? Ingredient phentermine Delivery florida online pharmacy phentermine. Darvocet Phentermine 15 mgs Phentermine airborne express+cod Viagra jokes, Phentermine buy How fast can you loss weight with phentermine! Trihexyphenidyl Cialis ineffective Xanax tablet Is viagra safe for woman: Colace Inderal: Natural viagra Order phentermine c o d? Phenoxybenzamine Asparaginase. Mylan xanax Meridia Avapro Online pharmacy phentermine Viagra usage Mixing cocaine and viagra, Cholecalciferol Phentermine prescription online. Accolate Cheap perscription phentermine Natural phentermine Viagra online ordering Vicodin online Accupril Phentermine hcl side effects Adipex phentermine pill. Cod online tramadol Where to buy viagra online Online pharmacies phentermine xenical meridia Epivir Ways to inject xanax pills Cyclopenthiazide Medical information on tramadol hc Phentermine without a perscription, Link myblogde online order viagra Soft tab viagra Norgestrel Dyazide Buy online prescription viagra without Flutamide! Ipodate Buy meridia Vicodin abuse Viagra pills. Discount phentermine online Cialis eli lilly Half price viagra Phentermine phendimetrazine! Order phentermine diet pill Imitrex Lodine Butalbital fioricet Phentermine online consultation Percocet Phentermine mexican pharmacies online Interferon? Chlorhexidine Secobarbital Phentermine for sale Dutasteride Dopamine 5mg tablet Xanax dosages Picture of xanax pill Prevacid Substitute viagra, Cheap phentermine pills Carisoprodol Restoril No prescripton phentermine Bleomycin In use viagra woman Alesse Free try viagra? Mixing viagra and cialis Pulmonary hypertension and viagra Anisotropine Phentermine 6 pm order Cheap viagra uk Benzthiazide Phentermine cash on delivery Phentermine able to beshipped to mo Phentermine quick Femara Death cases from taking phentermine Phentermine no rx Fluconazole Non prescription phentermine Xanax on line Viagra testimonials Troglitazone Buy xanax online Furosemide Terazosin? Soma sleep Zuclopenthixol Cialis viagra Singulair: Pfizer viagra sperm Imuran! Buprenorphine Anafranil! Cheep paris france phentermine Side effects of tramadol hydrochloride Generic lowest price viagra Why phentermine? Viagra alternative uk Adipex phentermine? Elavil Levitra vs cialis vs viagra Prednisolone Phentermine Tolbutamide Generic viagra soft tabs! Piperacillin Generic soft tab cialis: Paromomycin Free phentermine prescriptions Phentermine dangers Viagra cialis comparison Xanax mg Buy viagra prescription online Compare generic viagra prices Uk viagra sales? Bupropion Generic viagra soft tab! Viagra impotence pill 30mg phentermine Cialis mexico Lowest phentermine Omnicef Iodamide: Phentermine amide Alprazolam xanax! Lisinopril Generic viagra cheap Neomycin Tramadol avinza drug interaction: Amrinone Lincomycin Ramipril Leuprolide Lowest price tramadol Viagra and levivia! Xanax libido Bromocriptine Ditropan Buying viagra on line Cheapest viagra price Celexa How does phentermine work First viagra commercial network tv Phentermine with no prior prescription Lasix. Grapefruit xanax Phentermine a159. Flosequinan Prometrium Online phentermine prescription Tramadol no prescription, Hydrocodone Fluvastatin, Generic viagra lowest prices Viagra samples Viagra Lunesta, Cerivastatin Isosorbide Order generic cialis Maxzide? Quinine Female use viagra Pravastatin Oxycontin Delivery florida online pharmacy phentermine Tramadol online discount cheap. Discount viagra sales Custom hrt phentermine Xanax cash on delivery Cheap cialis tablets Butaperazine Viagra Adalat Hydrocodone apap Viagra from canada Xanax anxiety: Xanax drug test Lexapro and xanax Viagra pill picture Ditropan Phentermine and diet pill 5 90 Nialamide Xanax federal express, Free generic sample viagra Imipenem Discount hydrocodone Buy cheap tramadol Buy xanax without prescription Mesalamine Cheapest place buy viagra online Hydromorphone, Buy cheap fioricet Citalopram! Amsterdam holland viagra Buy phentermine prescription Lexapro and xanax Drug vicodin Cialis results Cheap overnight tramadol: Where to buy xanax Minocycline Phentermine phendimetrazine Metoprolol Cialis order Viagra without a perscription! Fioricet Cheap tramadol cod free fedex Berman sister female viagra study Lortab and xanax without a prescription Atracurium Buy hydrocodone where Buy viagra now Diflucan About xanax Dulcolax Atenolol Tramadol? Xanax information Luvox and xanax Prescription tramadol Avelox, 5mg cheap Phentermine hoodia diet pill Phentermine faqs Tramadol without perscription! University rochester viagra pfizer Us pharmacy phentermine

Search My Blog

RSS Feeds

Articles
Comments

Another Web Site for the Portfolio

October 12, 2007. Filed under: General, Web Design, CakePHP | Read 1 Comment »

After a long while, I've completed a web site that was started a while ago for then Ergogenic, now E Technology Systems. Some name changes and such held this one up for a little bit. The site uses my CMS software I put together over a year ago...Wow, I've learned a lot since then. I'm capable of making a much more efficient system now and am actually in the process of doing so.

Speaking of making better CMS' and web apps, I'm working on a media blog and I'm using CakePHP to build it. This is going to change how we blog. Trust me, it will. I'm no stranger to content management systems at this point in my life. I've tried dozens and always look at new ones. I've worked on small sites, personal sites, and very large sites in terms of traffic and size. My boss brought my attention to a pretty slick looking media blog today...Think Swedish - Propod media blog. Think Swedish? Or Propod? I'm confused.

I like it and while it has some features I've thought of, I didn't make any decisions based off it and didn't know it existed, though will most likely take a deeper look and compare more to really polish off features in my blog. I haven't heard of it before today...Maybe it needs even better advertising. Opensourcecms.com maybe? If it gets open sourced? I hope it will. I don't know anyone making the next YouTube off a blog app. Blogger was pretty popular, but something tells me the market just isn't there. I don't know, I'll plug it. It's quite cool. Will give it a better look for some ideas but, from what I can tell, what I'm working on is a bit larger/more flexible and more importantly targeted at a different audience.

Simple, but larger. I understand simplicity is key for usability. One thing my media blog will aim at is accessibility (God knows that's hard with media on the web - so to a degree), scalability, and extendability. It will ultimately be released open source (most likely, still researching licensing options). One brief look into Propod, I'm not quite sure it's ideal for SEO. I know search engines are starting to hit Flash more, but there's a limit.

I'm not going to give away any details now unfortunately, but I will preface it for the world (that is the small one that may see this).

More on it all later. I also promise not to put any cheesy dramatic photographs of myself anywhere on my site now or in the future. I'm not a model. I'm a designer. I'm a developer. I'm an artist. I usually stand on the other side of the camera taking those photos :)

The Future of Open Source Web Applications

September 29, 2007. Filed under: General, Web Design, CakePHP | Read 2 Comments »

Open source CMS' and other open source web applications, be it PHP or otherwise have been responsible for the explosion of internet development and coined phrases like "web 2.0" as well as other buzz words.

Open SourceThe other good thing about them is that they are (for the most part) free to use and that's resulted in many companies saving a lot of money. Granted, there is still labor involved in installing, maintaining, customizing, and extending the applications. So this has helped web designers and developers, as well, complete large projects quickly and make a higher profit margin.

It also gives the developer and end users alike a community to seek help from. Open source web apps also help improve things and make a strong effort to expand everyone's education and internet experience. Yes, open source does matter. It is good for everyone out there, except maybe companies that sell web based CMS' and other web applications. However, it also helps them even if their CFOs and accountants don't see it right away.

However, what is to become of the future of open source web applications? What are the downsides? Where is this all going? Who knows. That's the beauty of it. The internet open source community have taken us well beyond what we thought possible and it's almost impossible to predict...But I do have some ideas.

 

Who Makes the Real Decisions

Unfortunately it's not completely up to the developers. In a perfect world our voices would all be heard and the people with power might take creative input. Unfortunately, those people in power like power and think that they have all the answers. As a result, change is slow. The whole "buzz word" phenomenon has helped with this though and also gives us a bit of humor.

When a big company asks if their site runs AJAX, we have a good laugh. What do we say, "Sure it can." or "Well, it'll cost another thousand dollars a month in hosting to support that." or "Actually, AJAX is web 1.0, we're running on CRAKRJAX which is web 2.0."

Internet. Serious Business.So here's a little knowledge. I can never (at least never want to) go into depth about what I'm working on in the real world for fear of breaking laws, losing job, insulting people, and all that wonderful confidentiality stuff. However, I'm going to talk about real world examples.

Company A doesn't want to use a a proprietary content management system for their site because they (and other companies in their parent company) have used these before to run their sites and they haven't worked out. They can't put up new features because the people who sold it to them are out of business or too expensive. They can't hire a 3rd party to develop for them because their servers don't even have PHP (that's an extreme but very true situation by the way that I have encountered personally). So that's why Company A doesn't want to continue using their site and why they don't want to go with another company that will offer them something "custom." In fact, they almost hate the word "custom."

Another example for you. Company B has you draft up a huge document about what they need for their site, what it should look like, how it should be built and organized. Then they tell you that they want to use a certain conent management system (open source or not) because they heard it was "good." By who? Who knows? Who cares? It doesn't matter. It could have been their brother in law who took a weekend course on web design in the middle of nowhere with a professor who made an unrelated comment or said something out of context...or was simply no good to begin with. It's always been my stance that you can't learn about web design in school. It changes too fast. The only way to learn is to do and read on the internet. The things that exist out there that are new and great don't even have books on the shelves. What makes you think a professor at a college could possibly teach a class on it? Go find me a class on AMFPHP, go find me a class on Drup-- oh well hang on. The world is catching up and there are places to go for education on some of these open source applications. We're still a ways away from the mainstream colleges, but there are workshops.

Ok so before I go too far off track. Company B wants a CMS because they heard it was good and isn't making an educated decision about it. Like how I tied that in by saying "educated decision" huh?

My point is there is a lack of education out there. Hey, good for me. Bad for business and the world.

Content Management Systems Logos

Open Source CMS to the Rescue

Drupal, Joomla!, Wordpress, Typo3, Mambo, Post-Nuke HAHA! (I'm sorry for that outburst, post-nuke was very important to the cause), and many other free open source web applications help with un-educated decisions. They are increasingly easier to "sell" someone on because they have communities on the internet with a bunch of experts on them. So all of a sudden, there's many people who can work on Company A's site and they don't have to worry about being stuck with the people who built their site. Sure, Company B's happy because they feel justified with their brother in law's discovery of learning how to setup a blog for himself to share photos of family trips.

What everyone kinda brushes aside is that these applications are not always stable and/or secure. Furthermore, they are usually "beta" and because there's a large number of people (from all over) working on them, it's hard for any one person to know everything about what's going on. This is more of a problem for Drupal, Joomla!, as I believe WordPress is a little more organized as well as Typo3 and the others. It depends on who's running the show. What camp you belong to if you will.

So "camps" start to form. Developers are no longer "web developers" they are "Drupal developers" and experts. They spend all their time learning about something that could collapse at any moment or change to the point that they don't know what's going on. Hopefully if they are truly Joomla! or Drupal or WordPress "experts" they will be on top of the changes though.

That's bad for developers to do that though. They start knowing less and less about how to troubleshoot other problems and how to work with other systems. The smart ones will learn as many CMS systems as they can because then they are prepared for whatever one a company decides to use in the future.

Or the smartest developer really gets a good understanding of the language at hand (PHP or otherwise) and learns about different methods, design patterns, object oriented programming, etc. Unfortunately at interviews employers are increasingly beginning to ask the wrong questions. "What CMS' are you familiar with?" Questions like that only exist because their clients are asking the same questions, but it's all wrong. If you know your shit, you should be able to work with any of them.

So to get to the point again here, we're starting to get these "camps" that seperate people and design firms/companies. Company A won't hire the firm because they aren't Drupal experts, most of their sites have been with Joomla!. Or they don't want to hire the firm because they don't see enough examples of sites they built with Drupal. I've personally seen that one and have to cry and laugh at the same time.

Separation is bad - especially within the same programming language! The entire unification that these systems and groups of developers tried to start is backfiring because the idea was so good that other people decided to do the same but in a different way. Well let's not get into the whole problem of web among browsers, but there's the perfect proof.

Web Frameworks - The Future

 

Well, I have to say that web frameworks are going to be the future. Things like Zend, Symphony, CakePHP, Ruby on Rails, and the like are the way. I'm going to go with CakePHP because that's the one I learned best and love. Yes, again we have separation but it's not so bad in this case because all the frameworks allow you to do many similar things and picking up another isn't so bad. Whereas Drupal and Joomla! are way different in architecture...they are also both CMS' and not designed for things like project management solutions or shopping carts (yes, yes, forget about the add-ons for now).

So with web frameworks you can do anything really. Sure many follow the MVC design pattern which a lot of people will tell you is restricting in certain ways and only good for some things. I agree. However, for the web, I believe it to be the most versitile and relevant. Blogs and other CMS, project management, client relationship management, shopping carts, dating sites, community sites (like myspace and such), reservation systems, and other database driven applications are all possible with these frameworks. In fact, that's exactly what they were designed to do and then some.

CakePHPGames? No. Not so much. Though I have created a trivia game with CakePHP that worked out nicely, it didn't follow 100% strict best practices for the framework. It simply couldn't. No big deal, it's still efficient and secure. However, there are some things these frameworks can't do.

The good thing about the frameworks like CakePHP is that they are extendable, rapid, scalable, and manageable. They are modular in design and can be added onto quite easily. They are very fast to use. They can be made to run under various conditions and equipment. They are easy enough to pick up and hand off.

You don't need to learn Drupal or Joomla! and then find out you need to become a WordPress expert one day. If all these systems (which actually do different things even though they are CMS') were built on a framework like CakePHP or Symphony...then a developer who learned that framework could be prepared to work on any of those systems.

Learn less do more. Or is that write less do more. jQuery and other frameworks/libraries exist for JavaScript as well. They are extremely popular and successful. They also are compatible with WordPress, Joomla!, Drupal, etc. already because they do different things and sorta run with these web apps instead of against them.

Now jQuery, Scriptaculous, and Moo Tools are all different but after using one you pick up on the next quickly. To my point: Your time is better off learning something at a higher level (such as these frameworks) than learning how to hack away at a Drupal installation. In the end, you know more about the system and how to fix it and you are prepared for the future.

This is where I believe the "web 3.0" will be. I despise the "web 2.0" term but if there's the "next" thing, it's going to be these frameworks and more specifically the idealology of them. The frameworks exist already. It's just how we use these tools available to us. How we as developers/designers make web sites. It's a state of mind. Web 3.0 is a state of mind, it's a higher level of working. Where we don't "hack" things to work - it's where we take concepts and put them to work. We're less fussed with the code and nitty gritty. We take a more logical, higher level approach to the task at hand.

That's what CakePHP allows me to do. That's what Flex allows people to do. Ruby on Rails, etc. "Custom" systems don't become an issue any longer because there's a community of developers who can pick the "custom" web app up and continue with it. So once Company A figures this out...once the world figures this out, we can really get to a better place.

I believe these open source CMS' like Drupal, Joomla!, WordPress etc. have all taken us far. Very far, but about as far as they can.

So there's my prediction. Open source web applications in the future will move away from limiting things like Joomla!, Drupal, etc. and onto extendible open source platforms/frameworks like CakePHP, Symphony, etc.

CakePHP Order By Rand()

June 21, 2007. Filed under: Web Design, How-To, CakePHP | Read 3 Comments »

Before I forget, I had to jot this quick discovery down. While not documented in the CakePHP manual (at least not anywhere I could find), it is possible to sort your associated models by RAND(). Maybe not earth shattering news to some people, but I find it interesting and handy.

So in your model file where you specify your association arrays, under the "order by" field you'll simply put "RAND()" instead of "name ASC" or "id ASC" etc.

Why on earth would you want to randomize the order of your associated models? I had to for a trivia application I was doing for work. I had a list of answers associated with questions.

So now the list of answer choices is in random order rather than by id or alphabetical. This makes it a little different for each user or each time you take the trivia. Makes it more challenging perhaps or not as easy to cheat. Also with the way the answers were originally ordered, the correct answer was showing up in the same spot over and over.

Sometimes the need to randomize is there and this is a very easy (quick) way of doing so in CakePHP.

Update: In case you didn't read the comments in this post, order by rand is not effecient and as I've read not as random as some other methods you can use. So order by rand may only be useful for you in some situtations. As with everything in the programming world there are many many ways to do things, just be sure to weigh out all your options and choose the best one.

CakePHP Search Vendor

April 11, 2007. Filed under: Web Design, CakePHP | Post Comment »

Just a short entry here with a link. I'd rather let my research notes do the talking for a change. Be sure to check out the information I put up about getting a content search vendor for your CakePHP application working. It's nice what the vendor feature can do for us. It makes developing for CakePHP all that much more easier and faster. The implementation of this search is rather easy, but there's more advanced uses of the vendor feature out there.

CakePHP + AMFPHP + Flex

March 30, 2007. Filed under: Web Design, CakePHP, Flex | Read 1 Comment »

Notes/Tutorial Here
So the big hype right now is Flex and it's definitely something I want to learn myself moving forward. It would be very good for any PHP developer to learn this as then they can easily use Flex (or Flash) with their projects. Especially because I can use it in Eclipse with my othe projects (an already familiar environment to me that also saves me from needing to run another application). However, I don't want to abandon everything I've been doing with PHP. I can live without Javascript (or at least heavy javascript effect libraries) for now. I love them, but they have a good bit of overhead and Flash is simply more advanced.

So Flex was the answer...especially because I can integrate it with my CakePHP applications. A lot of people have been wondering about it and a few people have even been working on some interesting things with CakePHP and Flex (thanks gwoo for tipping me off to the SVN of that project you were working on). So I took my stab at things.

There exists no real tutorial in how to do this yet. There is a wonderful article on AMFPHP and CakePHP actually linked on the www.cakephp.org homepage. This is a great place to start and it includes a vendor for CakePHP called "cakeamfphp" -- while there is a new version in the works, I'm actually getting away with version 0.60.Cake and Flex

I'm also using AMF0 and not AMF3. This is something that may change in the future as I learn more and as I run into the demand for AMF3. I'm sure it's fancier, faster, and all that.

However, the solution I've come up with is worlds shorter than what I've been seeing people try.

It's a mix between the CakePHP AMF Bulletin Boards example and Mike Potter's Flex and AMFPHP example available on Adobe's site.

The one thing I dislike about Flex is that it needs the data handed to it in a more simple level than CakePHP uses. Well, it doesn't, you can access the same detailed array structures that CakePHP uses but the DataGrid can't. More to the point, if you read Mike Potter's tutorial on AMFPHP and Flex, you'll see that he actually passes data from the MySQL database in a special way as to pass objects.

One of the first problems I ran into while trying to take Mike Potter's tutorial to CakePHP was flags about trying to convert objects to arrays, etc. Then after getting the data to pass, I ran the debugger and saw how Flex was getting the data.

It was an array of objects and more specifically, a multidimensional array of objects. It had [0] [Model] [Column] ... of course this is because with CakePHP, running a findAll() returns all the associated models as well. That's no good for Flex's DataGrid. I could specify the dataprovider to Flex as array[0][Model] and it would sure enough use all the columns and populate the DataGrid...BUT only with the first entry and not all of the entries.

In other words, I had to step out a level. The array was too deep. So that means [0] [Model] [Column] had to become [Model] [Column] ... more specifically [0] [Column].

So I ran Mike Potter's simple query to return an array structure like that. This sort of abandons Cake's default functions for returning data from your database, but I suppose that's the price to pay.

It's not bad though. You simply make your own "findAll()" for JUST the index type pages. You can still use findAll(), find(), findNeighbours(), generateList(), etc. for getting data to use elsewhere inside Flex, but you will just have to run other logic in Flex and you probably won't be using the DataGrid at that rate.

I'm at work, but I will post a full tutorial on how to get CakePHP, AMFPHP, and Flex working. However, if you're an advanced user you will probably be able to figure it out based on what I just explained. This post makes a good introduction or overview to the tutorial I will post soon.

Notes/Tutorial Here

« Previous PageNext Page »

Tom’s Graphic Design Journal is proudly powered by WordPress. Valid XHTML
Login