Archive for the ‘Uncategorized’ Category

Recursive Upload with cURL

May 26th, 2010 by James Sullivan | No Comments | Filed in Uncategorized

I found myself trying to migrate files from a client’s server to a rackspace cloud sites account.  Unfortunately, the server that was the source did not have lftp, ncftp, or any other ftp client I could use to recursively upload files.  I wrote a script in php then realized that php-cli didn’t have ftp compiled.

Here is the line that I used to upload the data to the rackspace cloud site using a find statement and curl:

find -type f -exec curl -v -u myusername:mypassword –ftp-create-dirs -T {} ftp://ftp3.ftptoyoursite.com/www.mynewwebsite.com/web/content/{} \;

Suspicious Mint.com Transactions

March 5th, 2009 by James Sullivan | 1 Comment | Filed in Uncategorized

Today I noticed these transactions appearing on mint.com:  Looks like a pregnant lady at the mall. :)

picture-4

Salesforce.com Button to Create a New Record

March 3rd, 2009 by James Sullivan | No Comments | Filed in Uncategorized

I was answering a question in the Salesforce.com developer forums today and someone asked if the solution I offered was documented anywhere. I couldn’t find the documentation for the option – so I may as well post it here.

The function URLFOR() creates a link to somewhere in Salesforce.com without having to hard-code your server name and worry about links breaking later.  You can use this function to create another record automatically and have the system automatically press the save button too. Simply append “save=1″ at the end of the array of field values you are passing. Here are some example uses:

Create a button that updates a hidden workflow field on the record you are in. To use custom fields you must find the field ID (open the object, under fields, and open the field detail page, use the ID in the url).

{!URLFOR($Action.Account.Edit, Account.Id, [retURL=URLFOR($Action.Account.View, Account.Id), 00N300000030Ea1 ="TRUE", save=1] )}

Have an Account and you want to have 1 button that creates a renewal opportunity. You can add more fields that are important to you (close date+1 year?).

{!URLFOR($Action.Opportunity.Edit, null, [Amount = Opportunity.Amount , AccountId=Opportunity.AccountId , OwnerId = Opportunity.OwnerId, save=1] )}

User Interface Engineering, Well Done

February 21st, 2009 by James Sullivan | No Comments | Filed in Uncategorized

I love when people proclaiming to do it right do it so wrong. This website which is focused on “User Interface Engineering” has an RSS feed, but not one that you can subscribe to via the normal meta tags. They require you navigate all the way down the page and look on the right side and they call it an XML Feed. I just thought it was funny.

User Interface Engineering Website

New MacBook

October 15th, 2008 by James Sullivan | No Comments | Filed in Uncategorized

I picked up the new MacBook. I have been realizing over the last few weeks that the Eee PC, though fun and little and catchy – has halved my productivity! OSX is the primary driver for getting the new computer.

photo.jpg

It feels really sturdy. Typing on the keyboard is as sturdy as the flat aluminum keyboard that Apple produces and the trackpad is incredibly usable!

photo-1.jpg

I called the Boston-area Apple Stores at 10:30 and nobody said they had them. Varying stories were told, like they weren’t sure if they’d have them or that they would have them tomorrow. Then, on the second round at 11:45, Cambridgeside Galleria confirmed they had a few. I jumped in the car with some co-workers and hauled ass through the back roads to get there. None were on display and they had to go into the back to grab the item for me. Checkout was as easy as always. Now I have the computer… Unix power + hardware support + really usable + solid feeling laptop at good weight and size.

Staples Print Shop Online

August 3rd, 2008 by James Sullivan | No Comments | Filed in Uncategorized

It’s amazing that so many people in this day and age (of rising mac popularity, iPhones, Firefox usage) would choose to limit their web site and require only Internet Explorer.  For instance, with the virtually unlimited number of online print shops, Staples requires a Windows computer running Internet Explorer.Here is the error page:  

picture-1.png

Interestingly enough, I would expect the message to say something like “Sorry, we still have our web development team from 1990 who is really good at Visual Basic.”  Instead, they’re taking the “act natural” approach, as if this is something you should expect from using the internet.VistaPrint seems to be at least mostly in touch with this whole “internet thing”.  They require at least Firefox:

picture-2.png 

Does anyone know of good print shops online that let you use Safari? 

Open Source Code Contribution Visualization

June 13th, 2008 by James Sullivan | No Comments | Filed in Uncategorized

This stunning visualization of of code contribution to an open source project (Python) is not only a stunning display of colors and motion.  The video starts with one contributor for the longest time.  The code is completely circling him and there is no other input.  There is so much effort put into the project over such a long period of time before any other contributors were introduced. Once other contributors come about, their additions are few and far between.  The little contributions slowly start to build up and accelerate until they become a full stream and eventually eclipse the original person who started the project.

The fact that one person took so long to build it is a testament that open source projects are in fact very similar to our businesses.  Someone out there is putting in a lot of effort, working toward a vision, and is dedicated to the goal.  Businesses aren’t an over-night success with a grand opening event, they are a consistent challenge to the owner to acquire customers and keep the bottom line low.

   code_swarm – Python from Michael Ogawa on Vimeo.

Beauty In Advertising

May 17th, 2008 by James Sullivan | No Comments | Filed in Uncategorized

Creating beauty in advertising makes people appreciate your brand.  Jet Blue’s new advertising campaign thanking you for not flying, as they do the flying for you, and numerous silly images make it a pleasant experience to see run into their brand.  It is a risk, as not all of these endeavors turn out well, but when it’s slightly quirky and improves your day – you do crazy things like spending a dozen more dollars on a short-haul flight because you want to try out Jet Blue, those guys that made you smile a few times last week.

If you’re looking for advertising inspiration you should check out SkaryIdeas.com:

ScaryIdeas.com

Ajax Loading Animated Gif Generator

May 14th, 2008 by James Sullivan | No Comments | Filed in Uncategorized

AJAX web applications typically use a processing or loading indicator when pulling data back from the server. We use them in S-Controls for Salesforce.com integrations and for our other web projects. Recently when performing a web search for a generic animated loading indicator (this search) I was amazed and surprised at a great tool that someone created:

ajaxload.info

The site gives you a lot of different styles of moving gifs and then lets you assign colors (or transparency) to the indicator and then you can download it for use in your site. Awesome little tool site!

Marketing Dashboard

February 28th, 2007 by James Sullivan | No Comments | Filed in Uncategorized

Measuring marketing is a popular topic right now. The tenure of CMO and marketing VPs is much shorter than your typical VP. Why is that? In my experience, it comes down to how they communicate with the other VPs and their board. Board members are ready with tough questions, trying to stump the marketing staff even before they enter the room. Most marketing organizations are viewed as wishy-washy, creative, and not connected to the bottom-line of the company. It’s really unfortunate when this organization is actually responsible for filling your sales pipeline and doing enough advertising and PR that people know what you do and how you’re better at doing it than your competitors.

If engineering delivers a really crappy product, someone will most likely get fired. If a sales staff misses their sales budget, someone will very likely get fired. If a finance department can’t keep a budget, someone will very likely get fired. If a support staff leaves customers consistently angry with service, someone will very likely get fired. If a marketing staff delivers really bad leads to sales so sales must do their own prospecting to fill their pipeline, nothing will happen to the marketing person.

If this organization is so critical in an organization than why is it so difficult to get reliable measurements? My personal experience is where the key players in marketing come from. They have a degree in English, or if you’re lucky, Communications. The marketing executives who have been around long enough to have solid experience come from a time where marketing wasn’t measurable. Now, with CRM and the electronic advertising mediums, a marketing organization is more measurable than ever. Even with that being the case there is still little being measured.

To quote Einstein: Everything that can be counted does not necessarily count; everything that counts cannot necessarily be counted.

The typical marketing staff probably talks to the board about lead counts. “We collected 12,345 this quarter. It was an increase by 12% over the previous quarter.” Now, the board of directors thinks: “… and?”.

Not only is the board waiting for more detail, looking for diagnostic feedback from the marketing organization, but the VP of sales is looking around the room with a funny face trying to convey to the board that “the lead counts are inflated! Don’t listen to the lead counts! My guys aren’t getting any real leads!”

How to avoid this problem?

  1. Define a common terminology: Have your marketing and sales people spend time together, not skipping from one topic to another, briefly touching on topics and not delving deeply enough into any to actually fix anything. Have an agenda (maybe this one) about what needs to be defined.
  2. Build a process: If you have leads that sit assigned to a salesperson as “Open” just because the salesperson thinks that eventually everyone will buy – get rid of that shit! If a sales department would actually close leads (even if only “Closed, Junk”) than the marketing department will be able understand the sales guy when he says that nobody wants to buy. You’re much better-off letting the data speak for itself than wasting your breath trying to convince someone they’re not doing a good job.
  3. Define what sales wants. Sales is not allowed to say “people ready to buy” because last time I checked, nobody actually asked someone registering for a whitepaper “would you like to buy our product now?”. By sales struggling to define what a good lead actually is, you’ve given the sales staff some understanding of how difficult the marketing role actually is.
  4. Have marketing and sales come up with a measure on how marketing can successfully meet the needs of sales: Just created a metric, a graph, or a table that represented the core deliverable of a marketing department (from the sales perspective).
  • Author

    Here you can provide some author or blog infomation.