Archive for the tag 'Development'

Larry Lessig: How creativity is being strangled by the law

Penguin March 5th, 2008

larry-lessig-how-creativity-is-being-strangled-by-the-law

Even though he doesn’t come right out and say it, Lessig makes a great argument for Creative Commons License. In a world where distribution is implicit, copyright law seems like such an incredible failure.

As budding filmmakers, artists, musicians, you will need to understand the dimensional shift that has happened. You can try all you want to hold on to the past, but you will eventually die. Change is coming and the only hope is to embrace it.

How? Find something that’s better than free.

- Penguin

Related posts

Video: Seth Godin on Curiosity

Penguin January 29th, 2008

Yesterday, I posted about education killing creativity. Godin hits on a corollary to that. There’s something about people who are constantly asking questions. How does the world work? Why do people do what they do? What would happen if…? And it goes on.

Asking questions, or better yet, wondering, is the essence of curiosity. Although Godin tries to unlink curiosity from intelligence, I think the two are inseparable. The greatest scientists, writers, artists, businessman, are the ones who are always asking how things work. The difference, is that they take it a step further and ask: How can I make this better?

We’re not talking necessarily about success or riches. Some of the most brilliant and “successful” people never got rich. There are plenty of dumb people who exploit others to get rich too.

Creativity and curiosity drive each other. Be curious about your work. What would happen if you put your character in a certain situation? What if I combined these two painting styles? The questions are endless. Sometimes, it’s been done before or you just find that the answer isn’t as interesting as you first thought. But once in awhile, you’ll hit gold and it’ll be amazing.

-Penguin

Related posts

Character Development Sheet

Penguin December 28th, 2007

I saw this Character Development Sheet over at Mystery Man on Film and thought it was really helpful. I’ve reproduced it below or you can download the Word.doc.

————
Character Sheet for NAME

SECTION 1

Backstory:
Character Goals or Wants:
Inner Conflict:
Character Arc:
Character Depth:
Cast Design:
Physical Appearance:
Character’s Voice:

SECTION 2

Kiersey Temperment Sorter (I prefer the 16PF):

Which means:
Characteristics:
How others may see this person:
Areas for growth:

DISC Pattern:

Which means:
Judges others by:
Influences others by:
Under pressure:

SECTION 3
Dimensions of Characterization:

A. Physical
Why?

B. Sociological
Why?

C. Psychological
Why?

D. Spiritual
Why?

E. Philosophical
Why?

F. Neuroses
Why?

G. Freaky Habits
Why?

Character Mood Intensity:

A. Temperament
B. Heartbeat
C. Breathing
D. State of Perspiration
E. Muscular Tension
F. Stomach Condition
G. Sensory Condition
H. Intelligence — Kind
I. Major Frustrations
J. Insecurities
K. Paranoia

Research:

———-

That’s it!

Hope that helps.

Links
Character Development Sheet

- Penguin

Related posts

How Software Dies

Penguin September 27th, 2007

Found this article about how software dies, written by Orson Scott Card, of “Ender’s Game” fame.

Link

The environment that nutures creative programmers kills management and marketing types – and vice versa. Continue Reading »

Related posts

Second Submission!

Penguin May 14th, 2007

Penguin says

While I was fixing the bug, I came across this little gem: I’ll Only Fly Away. If you haven’t seen it yet, check it out. It rocks!

I'll Only Fly AwayÂ

-Penguin

Related posts

Ideas for Webcomic

Penguin April 25th, 2007

So, Ninja and I have been talking, and we want to start a webcomic for the site. My illustration skills are not nearly as good as Ninja’s but I will try my best. To that end. I’d like to hear some ideas for stories. Leave ‘em in the comments!

-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

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