THE SUPERHEROES OF WEB DESIGN, DEVELOPMENT & MARKETING

{call the superheroes today} 407-217-2903

Ok, unless you’re a person who just doesn’t care what types of frameworks or technologies that are out there, you’ve probably heard of Ruby…and most likely “Ruby on Rails”.  Lots of books and opinions have been written about this particular framework and I thought I’d put in my quick 2 cents worth about the subject since I’ve recently finished up another Ruby/Rails project.

The Real Deal
Ok what’s the big deal about it?  Good question.  In a nutshell…speed.  I have to admit, the ability to create a model view framework that takes care of your inserts/deletes/reads/updates in literally 2 seconds or less has to be a draw for any developer who has been through this mundane procedure before even with the advent of some helpful modelers (see my blog on PHP and asp.NET ones: http://www.justicesolutionsllc.com/blogcfm/1/2008/02/57.Getting-the-CRUD-out-in-your-code.cfm).

Ok so what else?  Well there are some very helpful ‘helpers’ that Ruby provides that does actually make things quite easy when needing a membership module built, or a quick and easy shopping cart, etc. 

Custom Pathways are another neat little feature of RoR.  If you want you can defined a custom path based upon a users input, a page they enter on, a word they type after the page.  It’s really a super version of taking 404 error rewrites and doing something useful with them in a very easy to use fashion.

The Down
So there’s gotta be a downside right?  Otherwise everyone would be RoR-ing about it.  (btw…RoR is short for “Ruby on Rails”).  Anyway, what I’ve found personally is an issue with the server speed and sometimes the paths you create take a while for good ol’ Roob’ to figure out and deliver the page.  If you use a “mongrel” server base vs. Apache or IIS (yes it can run on it) things do improve. 

However, there are some tweaks and tunes you’ll need to do in order to get it to run just right. 

It’s a typical Linux type scenario that most of us have been through.  Yes…the Linux based server config of Lamp (Linux/Apache/MySQL/PHP) does run very well and hardly ever crashes….however setting up that ideal system with your own custom needs sometimes does become its own beast.

Like all frameworks there are some cool features that unfortunately create other problems.  Some are not obvious until Mongrel crashes unexpectedly on you like it did me when I was using Ruby’s neat little refresh Ajax control that basically can be used to update data in a <DIV> every second if you’d like.  The problem….it also submits the variables of a POST form as a blank at the same time if you’re not careful.

“Let Me Explain…no….there is too much….Let me Sum Up.” (I’ll award a gift certificate to a national chain restaurant to the person who emails me at doug@justicesolutionsllc.com with the answer to where that quote is from.  No Matt Krause…you are not eligible….lol)

So should you go Rails?  The answer like I say to so many new clients who ask me the same question about asp.NET, PHP, ColdFusion, Flash, and yes…Rails…is simply this.  It depends.  It depends on your budget, your site’s future development needs, the availability of a developer who knows RoR…etc. 

If you have a site that is pretty simple that maybe requires a blog, some simple data entry and data display…I’d say go Rails in an instant.  You could literally build that entire concept in probably an hour or two at the most.  But, if you’re going large scale and have a lot of unknowns in your development and business plan path…perhaps another language may work a bit better for you.  Again, it depends on your developer.

So there’s my two cents on rails.  For a look at this latest Rails project we’ve launched recently and continue to develop on (btw….great company with a great concept), check out http://www.gqex.net when you get a chance.

Happy Coding!

Doug.

Share on TwitterSubmit to StumbleUponDigg ThisShare via email

If you’re a programmer like me….I find it’s almost a necessity to have a steady stream of tunes going to keep the creative juices and energy flowing during those coding marathons we always seem to be faced with.  However, sometimes putting together a playlist takes a lot of time that we don’t have.  So your alternatives are taking a chance and listening to one of Napster’s preloaded lists, or finding a few radio stations that you like and flip back and forth between them when the music starts to go off the beaten path a bit.  Oh and let’s not even get into how annoying commercials are.

Enter Pandora’s Box
Those of you familiar with Greek Mythology’s accounting of Pandora will recall she was created by Hephaestus and molded out of the earth and given a jar (box) which she unfortunately opened and released all of the evil and stuff into the world.  Yep….woman gets blamed again….but did I mention I have the WE network on right now? 

Why I’m not quite sure of how they came up with the name, Pandora.com (Pandora Radio) is anything but a collection of evil.  It actually is quite the opposite which is maybe why they chose the name?  Picture a collection of tens of thousands of songs all at your beckon call?  Yeah…I know iTunes and Napster does that too.  However what if I told you these folks have been analyzing these songs to break down rhythms, lyrics, artists, albums, decades, etc. and then put them into a clever music finding algorithm which would make the guy on CBS Television’s “Numbers” a proud man.

Pick a Song any Song
When you first get to the website…you’ll find it quite plain…you almost think you’re on the wrong site.  But trust me….just enter in any song, artist, etc. and let the magic begin.  I went ahead and typed in “Men at Work” since I’m such a slave to the 80′s music. 

Within seconds I had a custom radio station on my list called “Men at Work Radio” and literally over a 100 songs from not only men at work, but also many other artists and songs having similar beats, styles, etc.  I

Thumbs up….Thumbs Down
Now, while it’s not an exact science, I have to admit with the few requests I’ve put into the system, I’ve been pretty happy with the lineup of songs Pandora.com came back with.  If there’s one that kind of makes your head go “Huh?!?”…just give it a quick thumbs down…Pandora moves on to the next song automatically.

Oh…and when you log back in the next day and click on that station…the songs are both different and/or shuffled automatically…pretty damn cool if you ask me.

Give it a Try!
So if you’re stuck in front of a computer, or your computer is also a media center for your home and want a nice steady stream of songs instantly….give Pandora a try.  Let me know what you think.

Until next time…

Doug.

Share on TwitterSubmit to StumbleUponDigg ThisShare via email

Ok….here we go…..wow this is a great slide….holy snap…..that’s a freakin shark!!!!

I usually try to keep Friday’s posts pretty light-hearted, but still be relevant.  That’s why you’re going to get a post today that involves coding, web development, sharks, and the bahamas.  Now most of you are scratching your head going….”How are you going to do that?”.  Well here we go….

How to Code for the Unthinkable

Now a lot of times we’re constrained by budgets that we simply can’t put all of the dummy-proofing into a scenario. However, a good web development company….like Justice Solutions in Arizona, will usually coach their client into using a bit more of their funds to be used for some enhanced dummy proofing of the site.  If you ever get any push back from your client or if you yourself are looking for a web development company in Arizona or Florida, this is what we’d use as a light hearted example…

A Shark Would Never Do That

Imagine you are the designer of the very cool shark tank waterslide at the Atlantis Resort in the Bahamas.  You come up with this awesome slide that plunges about 4 stories straight down through a shark water tank and then into a nice refreshing pool below.  Now you’re coming up with some precautionary things to dummy proof your design and you suggest putting a plexi glass containment sheet so the sharks can’t jump from the pool on to the part of the slide where the people meet up with the tank.

Your client, the Atlantis, has some shark “experts” who say, “The sharks we will have in the tank would never do that.”  So the Atlantis doesn’t foot the bill for the unthinkable.  Well here’s the headlines from today on TMZ.com:

Shark Commits Suicide on Waterslide

Yep…that would never, ever happen in a million years.  Well, the shark decided to prove them all wrong by jumping from the tank on to the water slide and into the nice refreshing pool.  Fortunately it was early in the morning before the slide and pool had opened, but I’ll bet you that plexi glass is being cut and installed as we speak.

Clients….pay for a bit of dummy-proofing

We all want deals on our sites, we understand that.  But if you’re the type of company who wants to save a few bucks by not paying for another day’s worth of coding to dummy proof your site, you may find yourself with your own shark in your pool…in the form of a person who clicks the buy now 8 times and you don’t have them confirm the quantity of items in their cart, or the person who doesn’t read the click only once and not put in some dynamic ajax to remove that ability after they click it.  Just some thoughts.

So enjoy your Friday and this weekend and we’ll see you on Monday.  Until then…happy coding.

Doug

Share on TwitterSubmit to StumbleUponDigg ThisShare via email

I’ve had this question asked of me several times and I thought it would be a nice little snippet of code to provide to my colleagues today.  The issue is how to parse or separate out a text field or text area which contains a bunch of emails separated by a delimiter of some type.

It’s actually not as hard as it seems, and I’ll even show you in this example how to add them to the CC portion of your email.  So here we go.


// You'll need to put in your server name in place of the DEDM101
Dim obj As System.Net.Mail.SmtpClient = New System.Net.Mail.SmtpClient("DEDM101")
Dim Mailmsg As New System.Net.Mail.MailMessage
Mailmsg.To.Clear()

//Now we can take our text field or area and parse it out using a few common types of delimiters
Dim extraemail As String = Me.tbEmails.Text
//Let's make sure we have values in there
If extraemail.Length > 1 Then

Dim emaillist As String = extraemail
Dim emails As String() = Nothing
Dim sep(3) As Char
sep(0) = ","
sep(1) = ";"
sep(2) = "|"

emails = emaillist.Split(sep)

//Now Add the Emails to the Email Going Out
Dim s As String
For Each s In emails
Mailmsg.CC.Add(New System.Net.Mail.MailAddress(s))
Next s
End If

//Let's fill in the other information we need:
Mailmsg.From = New System.Net.Mail.MailAddress("yourname@yourdomain.com")
Mailmsg.Subject = "Your Subject Here"
Mailmsg.Body = "<strong>Start Title of Email Here</strong><p>Some text here</p>
Mailmsg.IsBodyHtml = True

//Now Send the Email
obj.Send(Mailmsg)

And that's about all it takes.  Now you can use this for many other types of applications to parse out or separate other values using asp.NET, but you get the idea.  This example is in VB, but if you need it in C#, just let me know and I'll post that as well.

Happy Coding!

Share on TwitterSubmit to StumbleUponDigg ThisShare via email