Archive for the tag 'Software'

Trademarks are not verbs

Ninja July 27th, 2007

Ninja says

Whatever, Adobe®! Talk about spoilsports! Yesterday morning, Adrian sent this link on Adobe® Photoshop® trademark rules (it’s pretty funny). Example:

CORRECT: The image was enhanced using Adobe® Photoshop® software.

INCORRECT: The image was photoshopped.

He also sent me a sneak preview of his illo for an upcoming book. Apparently it’s going to involve some snazzy 3D process. Holograms? Lenticulars? Pop-ups? Embossing? He’s so cryptic. I can’t wait to see it published!

Related posts

i-candy for your i-tunes

Ninja July 19th, 2007

Ninja says

image1.jpg

image3.jpg

Stefan sent over this i-tunes visualizer to me this morning. Normally I just have i-tunes running in the background while I work (currently listening to Bjork’s All is Full of Love single—one of my all-time fav viddies, too). But I gave it a quick go + quietly watched as beautiful colors + star-bursts zoomed my way. Sort of felt like a 2001 space trip. But seriously, I need to get back to work, haha.

Enjoy,
Ninja

Link:
+ download the magnetosphere i-tunes visualizer

Related posts

Interactive Adobe CS3 Wall

Ninja July 18th, 2007

Ninja says

adobewall.png

This is bound to create a lot of pedestrian traffic…

Adobe’s put out a 7′x15′ interactive wall outside of the Union Square Virgin Megastore. There’s a slider button on the bottom of the display that reacts to a pedestrian’s walking speed and direction, producing different effects in the animation projected on the display.

Huh, Stefan’s got a good point: it looks like Deanne Cheuk’s work. ;)

deanne1.jpg

deanne2.jpg

Link:
+ read the NY Times article

Related posts

Product View Fixed

Penguin May 14th, 2007

Penguin says

I don’t know how or when this happened, but the detailed view page was broken. I was able to fix it, but who knows how long it was down. Ninja told me that she had went to view The First Kiss two weeks ago, and it was fine.

Anyway, it’s been fixed. Still not sure what happened.
-Penguin

Related posts

Current Browser Market Share

Penguin February 23rd, 2007

I came across this page about browser stats today. The interesting thing I found was how IE6 is still so dominant with 54% [as of 2/23/07].

Here’s the current breakdown:

  • IE6 – 54%
  • IE7 – 25%
  • FF2 – 6.3%
  • FF1.5 – 6.2%
  • Safari – 3.7%
  • Other – 4.8%

With this in mind, if you’re developing a new web app, start with Firefox. Make it work for IE6 then make it work for IE7.

Related posts

uTorrent and RSSatellite Tutorial

Penguin February 17th, 2007

I made the switch. I used to be an avid Azureus fan, but now that I’m running Fedex Ship Manager, I need something a little more light weight.

If you’ve used bittorrent, Mininova is a great place for all your pirate needs. According to uTorrent’s RSS tutorial, it says that just plugging in Mininova’s rss feeds won’t work. You need something like RSSatellite. If you go to download it, you get a PHP file. This is how you use it.

If you have a webhost, you can serve the page yourself. Otherwise, you can use one of a few mirrors.

When you click on the mirror, you’ll get three input boxes. The first box, is the rss feed you are looking for, in our case, we’re looking for mininova, which is:

http://mininova.org/rss.xml

if you want to use a specific feed from mininova, say, for the show, 24, you would use this:

http://www.mininova.org/rss.xml?sub=3

You should be able to leave the “Find” and “Replace” input fields the mininova default. If you lost them, they should be the following:

Find:
http://www.mininova.org/tor/

Replace:
http://www.mininova.org/get/

“Okay…”, I hear you say confused. Now, hit the “Replace” button. If you have firefox2, you may see a google page that asks you to sign up for their reader. You don’t want either of these. What you want, is the green link the page serves up, copy this link. If you’re in IE, just copy your location bar.

This is the link you’ll be using in uTorrent.

So, the 24 link should look like:

http://open.backslash.org.uk/RSSatellite.php?url=http%3A%2F%2Fwww.mininova.org%2Frss.xml%3Fsub%3D3&find=http%3A%2F%2Fwww.mininova.org%2Ftor%2F&replace=http%3A%2F%2Fwww.mininova.org%2Fget%2F&truncatebeforeslash=0

Happy downloading!

Related posts

Javascript Regexp Testing Suite

Penguin February 13th, 2007

I’ve been working on some client side data validation and I needed a quick and easy way to test all my regular expressions. So I came up with this little client side javascript regexp testing package.

Javascript Regexp Tester and Cheat Sheet

A cheat sheet is included for easy reference, as are sample patterns to test against.

Everything is built embedded, so you can just right click on the link above, save as, and run it locally.

Happy coding!

Related posts

Launch Delayed

Penguin January 31st, 2007

Originally, we had intended to launch the true face of Ninja vs Penguin this past monday (1/29), but delays in development and Penguin’s busy schedule at work has forced us to push back our launch by a week.
We’ve cut back on some of the features, but we’re going to do our best to put them into ver 1.5.

If everything goes smoothly, you’ll be able to see what NvP is truly all about.

Get ready, this is going to be one crazy ride!

Related posts

Getting mod_rewrite to Work on Apache2

Penguin January 23rd, 2007

mod_rewrite is a godsend for any web developer who wants to make pretty URLs. Unfortunately, the documentation to get mod_rewrite working on Apache2 isn’t all that plentiful.

Most of the guides tell you to insert or uncomment the following lines in your httpd.conf file

LoadModule rewrite_module modules/mod_rewrite.so
ClearModuleList
AddModule mod_rewrite.c

If your Apache server was like mine, this will give you a Failed to start error. If you remove the “AddModule mod_rewrite.c” line, then Apache will start again.

The Solution:

Make sure you have the following line uncommented in your http.conf

LoadModule rewrite_module modules/mod_rewrite.so

Next, scroll through your httpd.conf file until you see the following block

Options FollowSymLinks
AllowOverride None

A few lines under that, you should see this line

<Directory “C:/Apache/Apache2/htdocs”>

If this is your test server on your local machine, you can go ahead and just edit the commands within this block. Otherwise, you’ll have to create a new directory block like this

<Directory “C:/Apache/Apache2/htdocs/mydirectory”>

Where “mydirectory” is the directory you want to change the settings for.

Within this block, you’ll find the following

AllowOverride None

What this command does, is enable and disables different directives in your .htaccess file. If you change it to “AllowOverride All”, it will enable everything, especially mod_rewrite.

Once that line is changed, save your httpd.conf file and restart Apache.

You should have a fully funtional Apache with mod_rewrite goodness. In order to test the changes, try putting the following into your .htaccess file. **Warning! DO NOT test this if you are expecting any sort of traffic.

RewriteEngine ON
RewriteRule .* – [F]

Depending on server config you may need either or both of the following:
AllowOverride FileInfo
Options +FollowSymLinks

So, your final file may look like this:
AllowOverride FileInfo
Options +FollowSymLinks
RewriteEngine ON
RewriteRule .* – [F]

This code will return a “Forbidden” page for every address you put in.

Happy coding!

Related posts

CakePHP Install: Multiple Subdirectories & 500 Error

Penguin January 21st, 2007

So, the last few weeks, I started learning how to use the CakePHP framework. It’s been a little slow going, but it’s been pretty good. I’ve been developing on my local machine, which, for some reason, mod_rewrite just refuses to work. So, I decided to make a dev site on the server. Oh, what a disaster.

I created the directory and ftp’d all the files on to the server. When I went to test it, I kept on getting a bunch of 500 errors. I tried moving the files around, looking at the “manual”, but nothing was solving the problem. I spent all afternoon, and narrowed it down to a problem with the .htaccess file.

When I came back from dinner, I found the solution.

The Problem:

  1. Installing CakePHP in a subdirectory;
  2. Resolving the 500 errors.

The Solution to Problem 1:
The original manual entry for this, wasn’t very good. I eventually found a tutorial in the bakery that did a better job of explaining how to do it.

Essentially, what you had to do was change 3 Define statements in /apps/webroot/index.php.

First, you create a directory above /public_html called /apps. Within the /apps directory, you put different subdirectorys for your different applications, (ie: gallery, blog, etc). For this example, we’ll use “blog”
Next, you put the /cake and /vendors directory above your /public_html directory.

Then you create a directory in your /public_html named after your application, /blog.

Finally, you move the entire contents of your /apps/blog/app/webroot directory to /public_html/blog

This is what your folders should look like, if you are looking at from the user root:

/
/apps/blog <- contains: config, controllers, models, plugins, tmp, vendors, views. Notice it does NOT contain webroot
/cake <- contains: core CakePHP files
/public_html/blog <- contains: /app/webroot
/vendors

The next step, was to open your /public_html/blog/index.php (originally in /app/webroot) file. You’ll scrow down to about line 41 and see the following (comments removed):

if (!defined(’ROOT’)) {
define(’ROOT’, dirname(dirname(dirname(__FILE__))));
}
if (!defined(’APP_DIR’)) {
define(’APP_DIR’, basename(dirname(dirname(__FILE__))));
}
if (!defined(’CAKE_CORE_INCLUDE_PATH’)) {
define(’CAKE_CORE_INCLUDE_PATH’, ROOT);
}

The first define describes the root of all your different applications. In this case, it will be /apps. The second define specifies the directory of the application core, in this case “blog”. And the last define establishes where the core CakePHP files can be found.

The way that these 3 defines work, is they set some php classpath includes. In other words, when PHP runs CakePHP, it will look in these 3 places for the required files. What that means to you, is you need to determine what the full, absolute path is. In my case, the full path to MY root directory is: /home/ninjavspenguin.

Editing the code above, I will get the following:

if (!defined(’ROOT’)) {
define(’ROOT’, DS.’home’.DS.’ninjavspenguin’.DS.’apps’);
}
if (!defined(’APP_DIR’)) {
define(’APP_DIR’, ‘blog’);
}
if (!defined(’CAKE_CORE_INCLUDE_PATH’)) {
define(’CAKE_CORE_INCLUDE_PATH’, DS.’home’.DS.’ninjavspenguin’);
}

It’s important to use the directory separator for portability and compatibility.

Notice the third define, it’s not saying where the core files are, but where /cake can be found.

And that was it!

The Solution to Problem 2:

For the life of me, I had no idea why I was getting 500 errors. I narrowed it down to a problem with the .htaccess file, but since my mod_rewrite skills are not 1337, I didn’t know how to debug it. I eventually found this google group that had the answer.

It turns out, that there are three key .htaccess files that CakePHP uses to do all its pretty URLs.

First: in the core cakephp directory
/cake

contents of .htaccess (unedited)

RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
Second: in the app directory
/apps/blog

contents of .htaccess (unedited)

RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
Third: in the webroot directory
/public_html/blog
contents of .htaccss (unedited)

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

And that was it! My 500 woes were over!

Hopefully, this has will fix your issues.

Related posts

« Prev