Skip to content

Blogging from the iPhone

Thank you, Wordpress, for the great blog from iPhone application. It works great, I’d love to see built-in camera and geo placement for blog posts!

4 Tagged

Simple Hack to get Final Cut Pro 4.5 on your MacBook Pro

My licensed version of the Final Cut got me to 4.5 and I haven’t yet upped the few grand ante to get into Final Cut 6 universal binary.  Apple laptops don’t ship with the AGP card on the MBP, so you have to hack out the requirement by going inside the package content of your appliction.  Here is how, enjoy and do something fantastic in Final Cut and bring video to life on your site!

Tagged , ,

Installing Ruby on Rails on Leopard for Pro Geeks

Installing Rails on Leopard is fun, sort of challenging but worth it especially when your livelihood depends on it.

Hivelogic is great but it’s not up to date and doesn’t really work all the way through to a production installation of Ruby on Rails on your local Mac

Follow these instructions at Hivelogic, they don’t work but the overall structure is the right one. You’ll just need to substitute a few commands, but doing things like installing Rails to run locally from source is not for everyone. What doesn’t work on hivelogic’s instruction guide:

  • Readline
  • Ruby
  • Subversion
  • MySQL

Then when things break and don’t work, here are all of the fixes for each of these items. I realize this makes it seems like the HiveLogic instructions don’t work at all, which is sort of true, but they do provide the best overall layout of the sequence and order by which you should get all of these elements on to your machine. Coupled with these instructions you should be in really good shape.

Readline

./configure make CPPFLAGS=-DNEED_EXTERN_PC SHOBJ_LDFLAGS=-dynamiclib

Ruby

./configure --prefix=/usr/local --disable-pthread --with-readline-dir=/usr/local --enable-shared

Subversion

if you get the APR_HAS_SENDFILE when running make on subversion 1.4 from the Hivelogic instructions for installing rails on a mac, which is an error, and which you will when installing on Leopard, here are the fantabulous instructions to make it right and get past this dev hurdle.

curl -O http://subversion.tigris.org/downloads/subversion-1.4.3.tar.gz

tar xzvf subversion-1.4.3.tar.gz

cd subversion-1.4.3

./configure –prefix=/usr/local –with-openssl –with-ssl –with-zlib

make

sudo make install

cd ..
Bingo, presto, laddie-da, you are there and have subversion running locally and can check out, check in and collaborate with developers worldwide. Shew….

MySQL

The link is bad on the Hivelogic Install. Download the installer for mac 10.5 here.

ImageMagick

Mega Geek Version Follows

Follow this step by step for a from the source install of ImageMagick on your shiny fast mac.



curl -O http://download.savannah.gnu.org/releases/
freetype/freetype-2.1.10.tar.gz
tar xzvf freetype-2.1.10.tar.gz
cd freetype-2.1.10
./configure --prefix=/usr/local
make
sudo make install
cd ..

curl -O http://superb-west.dl.sourceforge.net/
sourceforge/libpng/libpng-1.2.10.tar.bz2
bzip2 -dc libpng-1.2.10.tar.bz2 | tar xv
cd libpng-1.2.10
./configure --prefix=/usr/local
make
sudo make install
cd ..

curl -O http://www.ijg.org/files/jpegsrc.v6b.tar.gz
tar xzvf jpegsrc.v6b.tar.gz
cd jpeg-6b
ln -s `which glibtool` ./libtool
export MACOSX_DEPLOYMENT_TARGET=10.5
./configure --enable-shared --prefix=/usr/local
make
sudo make install
cd ..

curl -O ftp://ftp.remotesensing.org/libtiff/tiff-3.8.2.tar.gz
tar xzvf tiff-3.8.2.tar.gz
cd tiff-3.8.2
./configure --prefix=/usr/local
make
sudo make install
cd ..

curl -O http://easynews.dl.sourceforge.net/sourceforge/imagemagick/ImageMagick-6.3.0-0.tar.gz
tar xzvf ImageMagick-6.3.0-0.tar.gz
cd ImageMagick-6.3.0
./configure --prefix=/usr/local
make
sudo make install
cd ..

sudo gem install rmagick

Straightforward and fast installation instructions live here.

Last but not least, get all of your gems installed and you are ready to rock with high speed local Rails development, put all the gems you require for your killer new social app with following instructions.

RubyGems

sudo gem install gem_name --include-dependencies
Which will give you this cheery option (select 3 for the mac)

Select which gem to install for your platform (i686-darwin9.2.2)
1. mysql 2.7.3 (mswin32)
2. mysql 2.7.1 (mswin32)
3. mysql 2.7 (ruby)
4. mysql 2.6 (ruby)
5. Skip this gem
6. Cancel installation
> 3
Building native extensions. This could take a while...
Successfully installed mysql-2.7

This entire list will install easily, with the exception of mysql which takes some extra command line handling
sudo gem install mysql -- --with-mysql-dir=/usr/local/mysql

Jump on your server and find out what gems are running there:

gem list

Will output something like this (also a very good starting point for your next Rails social application):

abstract (1.0.0)
actionmailer (2.0.2, 2.0.0, 1.3.6, 1.3.5, 1.3.3)
actionpack (2.0.2, 2.0.0, 1.13.6, 1.13.5, 1.13.3)
actionwebservice (1.2.6, 1.2.5, 1.2.3)
activerecord (2.0.2, 2.0.0, 1.15.6, 1.15.5, 1.15.3)
activeresource (2.0.2)
activesupport (2.0.2, 2.0.0, 1.4.4, 1.4.2)
acts_as_ferret (0.4.3)
ar_mailer (1.3.1)
atom-tools (1.0.0)
bcrypt-ruby (2.0.2)
builder (2.1.2, 2.1.1)
cached_model (1.3.1)
capistrano (2.2.0, 2.1.0, 1.4.1)
cgi_multipart_eof_fix (2.5.0, 2.1)
daemons (1.0.9, 1.0.5)
dhaka (2.2.1)
erubis (2.5.0, 2.4.1, 2.4.0)
eventmachine (0.10.0)
fastthread (1.0.1, 1.0)
feed-normalizer (1.4.0)
feedtools (0.2.28, 0.2.26)
ferret (0.11.6, 0.11.3)
gem_plugin (0.2.3, 0.2.2)
georss4rb (0.1.1)
GeoRuby (1.3.3, 1.3.2)
gettext (1.90.0, 1.10.0, 1.9.0)
haml (1.8.2)
highline (1.4.0)
hoe (1.5.1, 1.3.0, 1.2.2, 1.2.0)
hpricot (0.6.154, 0.6)
httpclient (2.1.2)
image_science (1.1.3, 1.1.2)
io-reactor (0.05)
jabber4r (0.8.0)
json (1.1.2, 1.1.1)
json_pure (1.1.2)
juggernaut (0.5.1)
libxml-ruby (0.5.2.0, 0.3.8.4)
markaby (0.5)
mem_cache_fragment_store (1.0.1)
memcache-client (1.5.0, 1.3.0)
mime-types (1.15)
mocha (0.5.5)
mofo (0.2.10)
mongrel (1.1.3, 1.1.1, 1.0.1)
mongrel_cluster (1.0.5, 0.2.1)
mysql (2.7)
needle (1.3.0)
net-sftp (1.1.0)
net-ssh (1.0.10)
oauth (0.2.2)
openwferu (0.9.16)
openwferu-extras (0.9.16)
openwferu-scheduler (0.9.16.1404)
ParseTreeReloaded (0.0.1)
permutation (0.1.5)
picnic (0.6.2)
rails (2.0.2, 1.2.6, 1.2.5, 1.2.3)
rake (0.8.1, 0.7.3, 0.7.2)
RedCloth (3.0.4)
rest-open-uri (1.0.0)
reststop (0.2.0)
rfacebook (0.9.8, 0.9.7, 0.9.1, 0.8.6)
rmagick (1.15.5)
rspec (1.1.3)
ruby-debug (0.9.3)
ruby-debug-base (0.9.3)
ruby-hmac (0.3.1)
ruby-json (1.1.2)
Ruby-MemCache (0.0.1)
ruby-openid (1.1.4)
ruby-yadis (0.3.4)
rubyforge (0.4.5, 0.4.4, 0.4.3)
rubygems-update (1.1.1, 1.0.1)
RubyInline (3.6.6, 3.6.5, 3.6.2)
RubyInlineAcceleration (0.0.1)
simple-rss (1.1)
slave (1.2.1)
sources (0.0.1)
spacer (0.5.1)
sqlite3-ruby (1.2.1)
taskr (0.2.1)
twitter4r (0.2.5)
tzinfo (0.3.3)
uuidtools (1.0.1)
whois (0.4.0)
xml-simple (1.0.11)
xmpp4r (0.3.1)
ym4r (0.6.0)
ZenTest (3.6.1, 3.5.1)

You rock! If you stuck with it you now have a professional grade developers workstation. Download TextMate, buy the license, and you’ll have earned your first chops as a Railist.

Tagged , , , , , , , ,

Firefox 3, I Yike It

I’m a big fan of Firefox 3, download it here and give it a whirl.  It’s stable, fast, not prone to memory blow ups and has some nice new features.  Like remembering passwords is at the top of the screen instead of the annoying Javascript freeze you in process old feature, so you get to proceed into the site and figure out if you want the Fox to remember your password.  It looks better, clean and many of the major Firefox extensions for geeks such as Firefox have already developed versions for it.

I don’t really use Plaxo, but I have an account there and thought I’d show off the new remember password feature so you could see it and be tempted to go with the preview release of Firefox.


Giving is the new getting

eConscious Market

eConscious Market

I’m very excited about social applications effecting positive change on the planet. eConscious Market is building the Amazon for green products, a one stop shop for green products. Every time you purchase you give back to the charity of your choice, and their expanding inventory will someday cover the known universe of green products. Exciting stuff!

We’re fully booked!

Gravit.as is involved with a handful of outstanding companies, and at this point and time we’re not taking any new projects.  Thank you for all the interest and inquiries, but for now we’re in heavy build and ship mode and not approaching any new deals.  You can feel free to contact us if you need some input on a project, site or social application so that we can keep in touch.  As we add more resources and refine our current customer and partner structures then we can revisit your idea, and in the mean time try to connect you with others who could possibly help you out

Tagged ,

Microformats and You

Portable Social Networks

Hcard, Hresume, XFN, and XMPP/Jabber combos could make it so that you don’t have to keep re-entering your friends and profile information, and that you could connect this wide-flung network you’ve pieced together over the years into something useful.

PSN Players

There are a lot of smart people working on really cool things in the portable social networks space. Chris Messina, Leah Culver from Pownce and others are embracing these formats with cool initial implementations. SixApart just announced some data visualization and philosophies related to the “social graph” which shows who you know and follows links with rel=”me” tacked onto them.

PSN Projects

We’re rolling out microformats throughout all of our apps and projects, using it to standardize profiles on our properties, make it easy to follow friends and move your friends around to new venues, and make it so that when you show up somewhere new you

It’s tied to our work in multi-authorization, where you can show off your credentials at the door and they can be OpenID, Yahoo!, or Facebook. Then tieing this credential to a microformat is the next step. Exciting stuff! Fill out the contact form if you have a project that you’d like to do in this segment, either enabling this on an existing or new property, or even embarking on an entirely new social service.

Microformats and Why They Matter

With a small amount of semantic additions to your site, blog or app, you can start to participate in the free thinking universe of microformats. The Google Social Graph API will be further opening up this world, so that we commonly tagged, microformatted data will be crawled, indexed by Google, with the appropriate relationship data stored and usable by other applications. Microformats are yet another cool thing that’s making the internet a better place.

How are we using Microformats?

All of our new Wordpress themes and custom development work are microformatted. All of our Ruby on Rails application new development heavily uses microformats. Generally speaking, if there is a standard for things like reviews, geo, posting, tagging, or otherwise, our development starts with this structure then gets things working nicely together with the rest of the social web.

Tagged , , , , , ,

Logos with gravitas

screenshot.png

screenshot2noglow.png

Tagged ,

What would you do with a billion dollars?

BillionDollarZoo

The Billion Dollar Zoo is a custom built theme and wordpress install proudly made with gravit.as. If you need to get your hands on it, contact us and we’ll work on getting it packaged up to distribute.

What would you do with a billion dollars? You could buy the Billion Dollar Zoo. This is a

BillionDollarZoo blog about design, typography, architecture and anything that looks good My rating: 5.0 stars
*****
Tagged ,

What the &^%$# is RSS, anyway? Your big orange friend.

A Twitter friend wanted to know what RSS was, and it struck me that a bunch of people probably know, but they don’t know, what RSS really is.Think of the web and how all pages look different and have lots of bits of data all over the place. RSS is like the great equalizer, that let’s web pages talk to each other.

It’s most commonly associated with Blogs, but every web page is stored in memory by the browser in XML and can be output to RSS (see feed43 to transform a page without an RSS feed into one).

HTML and RSS

RSS means Really Simple Syndication. It’s synonymous with XML, a data format for web pages. Let’s take an example to understand the difference between markup, HTML, and data, XML (the data format of RSS). Every web browser uses XML to render every page. It takes this data, the XML, and makes it look a certain way using the HTML markup.

The HTML markup has been greatly simplified by CSS, or Cascading Style Sheets. So you could take data in the form of XML, and display the same page so that it looks like the wild west MySpace, or the more austere Facebook. You’ll notice that I’m constantly changing my themes on this site. It’s because I get bored. I don’t change the site at all, I just switch the theme for the XML, so that there is different styles applied to the same semantic markup which looks different to you.

Different colors, fonts and layouts, same data. Now you understand what XML and RSS is and can teach your friends. Try it, explaining RSS to your friend is the best way for you to learn and reinforce what you learn. If you can’t answer your friends question, come back here or use “the google” and find out more.

Since every browser uses XML as the data source to then render the page, of course you can also turn that same data into an RSS feed. That’s why when you use Google reader all the feeds look mostly the same, and when you click through to a particular article and land on someones site then the html kicks in and it looks well, different, then it does in your feed reader.

The RSS is the stripped out version of the data on your site, pumped through a universal piping that other things can understand. No matter how wild and crazy you made your HTML look, XML is the powerful beast living under those crazy covers.

Big Orange Friend

Let’s say you were walking along a street, and you were a blog. You have a big puffy orange RSS friend walking with you, holding your hand. You run into someone, who seems alright but you’re not too sure. You get their business card, you’re probably just going to throw it away. That’s like a bookmark.

Now let’s say you run into a guy or a girl who seems pretty interesting. Maybe you’d like to know them a little more. You grab their RSS and at your convenience you can keep getting updates on them. They can grab your RSS and get updates on you. Since blogs really benefit from interlinking, if you don’t use Feedburner and you put someone’s RSS feed directly on your site, those links will go directly back to the site (and vice versa if they add yours).Big RSS Truck

That big puffy orange guy RSS is pretty useful. He’s like a lingua franca, the translator between your blog and other people’s blog. Where RSS is getting really interesting is with this whole social media thing, like twitter, tumblr, jaiku and twitterfeed. What people are now doing with RSS is if you publish a blog, you can put your RSS into these contraptions that will automagically update your twitter feed. As people follow that Twitter feed, an article you wrote might catch their eye.

Then they get to their site, grab your big orange friend, and then you are having a bigger global conversation without any extra effort. Powerful. Like a good lingua franca, the RSS makes sure that things don’t break between your site auto updating your twitter feed. It’s pretty geeky, most people don’t really understand it, they just sort of know how to use it and act like they know what it is.Don’t like the big orange friend? Then let’s try an example.

Blog Publishing Example

Let’s say I publish a blog. A blog post has a title, a body with the blog post and other standard things. My blog software makes it available in RSS, otherwise known as a “feed”.Let’s say you showed up at my blog and you liked what I have to say. Maybe you are curious about what I have to say in the future.

If you bookmarked me you’d probably forget about it (go ahead though if you feel like it). If you grabbed my feed, you’d be able to keep in touch with me better. Companies like Feedburner even let you receive these by email (confusing, I know). What happens there is you give an email address to them, they hook up the feed, and whenever there is anything new such as a new post you get an email. Click on it, and you are on the site for that feed.

Think of it as a shadow version of that site - same data, different format. You can then read it in your RSS reader, live as it’s continuously updated (hopefully for a small site, all big sites are frequently updated).

You can add the address to that RSS feed to your feed reader, it takes that data in a standard format and presents it to you in your reader or other places you can stick an rss feed. You could read ten blogs this way through your reader, and they wouldn’t have all the formatting such as pictures and colors from the blog. Your RSS reader reads all these feeds, and knows how to because it’s all standard.

Why the heck would you want to do this, you might be asking yourself?

If you are a website publisher or a blogger, you want distribution (eyeballs, traffic, whatever you want to call it). You want your stuff read as much as possible. So if some random person shows up at your site, grabs your feed, and sticks it in her reader, then she might like a title or headline of one of your posts. She clicks on it, and voila, he is on your site.

She might click on on an add or do something useful, she might not. But that added distribution is a good thing because it gets people coming back to your site. So that little RSS feed is like a portable version of your site, always updating, always in synch with what is your site. As a person who publishes things on the web, you usually use HTML to present it on your site. When you output it via RSS it’s similar, the same data, just presented differently.

If you use any major blogging platform of course it makes the RSS for you automatically, you just have cajole people who come to your site to get your feed.If you are not a publisher or blogger, and you just like to keep on top of a bunch of things, you could use an RSS reader to read through a ton of different sites, scanning for interesting headlines. You click on the ones you want and ignore the rest.

There is some maniac podcaster who supposedly reads 600 or so a day using this method (right, everyday). You can also add them to your browser, using something called Smart Bookmarks in Firefox. So if you added something like http://mysweetblog/sweet.rss to your Smart Bookmarks, you could click on it any time, and the MOST recent items would be there like little bookmarks, just waiting for you to click on them.

If you wanted to, you could also take that feed and put it on your blog so whenever I update my blog it would update those headlines on your site. It works that way because it’s a standard for this data transferring.That’s my take on it, if you have any other questions, add them in the comments and we’ll see if we can’t sort it out!Thanks ZenOptic on the photo of the big orange thingamabob.

SetupMySQLonLeopard

Final installment of a four part series on getting Leopard setup for a fun development environment. Here are the prior checklist items.

  1. SetupMySQLonLeopard
  2. SetupRailsonLeopard
  3. SetupWordPressonLeopard
  4. SetupWordPressonLeopard, LeopardtoServerMigration

There are enough issues related to making this work nicely on Leopard, that it gets its very own post. If you are gunning for Leopard to run Rails and Wordpress or similar on your Mac, you’ve come to the right place. Your life will be much easier if you’ve already installed the developer tools off the original Leopard install disc. First, download the source for MySQL. DON’T grab the binary mac one, scroll to the bottom of the page and download the source. You can search on this and download the tarball - Compressed GNU TAR archive. Then move it to usr/local/bin, either through going to Safari and in the address bar typing file:///usr/local/bin, doubleclicking on the download on your desktop and dragging it there, or via command line by

cd /Users/dakota/Desktop

cp mysql-5.0.45.tar.gz /usr/local/

tar -xzvf mysql-5.0.45.tar.gz

OK, now you’ve got some things flying down your screen. We’re going to compile these with the following flags.

cd mysql-5.0.45

./configure --prefix=/usr/local/mysql --with-unix-socket-path=/tmp --with-mysqld-user=mysql --with-comment --with-debug

Alternate debugging path

I’m currently debugging an ugly Leopard partial install and this is the alternate way to configure MySQL so that it is publicly available.

./configure --prefix=/usr/local/mysql --with-unix-socket-path=/usr/local/mysql/run/mysql_socket --with-mysqld-user=mysql --with-comment --with-debug

nice, you’re on a roll. same directory, you’ve configured things nicely, it’s time to compile.

make

sudo make install

The fun part, you kick back and relax after a big thanksgiving bird and let the command line do the work for you. ok, now mysql is installed. Time to talk to it and tell it that it has a new master, master password that is. Make sure you remember what you set the root password is, it will make your apps work considerably better. MySQL is alive on Leopard, it now lives in /usr/local/mysqlNow create the default system databases and var/ which will hold all your databases.

sudo /usr/local/mysql/bin/mysql_install_db --force


cd /usr/local/mysql-5.0.45
cp support-files/my-medium.cnf /etc/my.cnf
cd /usr/local/mysql
chown -R mysql .
chgrp -R mysql .

Start me up!

sudo /usr/local/mysql/bin/mysqld_safe

Time to set the password for root.

/usr/local/mysql/bin/mysqladmin -u root password whackjob

See if it works!

mysql -uroot -p[enter the password, in my example above it's whackjob]

mysql>create database urlpi;

Query OK, 1 row affected (0.00 sec)

You got it, MySQL is working.

Add MySQL to your path

mate ~/.bash_login

or, as you prefer

vi ~/.bash_login

export PATH="/usr/local/bin:/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"

Ruby on Rails

OK, now let’s get the Ruby on Rails specific stuff underway. Go to Terminal

sudo -sARCHFLAGS="-arch i386" gem install mysql -- --with-mysql-dir=/usr/local/mysql

Need to update 5 gems from http://gems.rubyforge.org…..complete

Select which gem to install for your platform (universal-darwin9.0)1. mysql 2.7.3 (mswin32)2. mysql 2.7.1 (mswin32)3. mysql 2.7 (ruby)4. mysql 2.6 (ruby)5. Skip this gem6. Cancel installation[choose 3, hit return]

gem list

If everything went as expected, then scroll through this list and you’ll find mysql as one of your gems. You’ve created a database, have the native mysql bindings and you are off to the Rails races.Boom your done. Well, sort of. Next time you rebook MySQL will need to be restarted. Here is the fix launchd ninja style.

vi /Library/LaunchDaemons/com.mysql.mysqld.plist

Copy and paste this into the VI editor. First hit the letter “i” to go into insert mode in VI, then
copy and paste this exactly
into vi.

Hit the “esc” key to exit insert mode, then

:wq

Which in VI speak saves and quits your session.

Wordpress

Nothing specific once you’ve compiled mysql. You’re all set!

Tagged , ,

SetupWordPressonLeopard, LeopardtoServerMigration

Alright, time to bring the fictional postIMs blog live. You’ve already completed SetupWordpressonLeopard, and you’ve jammed some great plugins in there and built a custom built theme from scratch. Well, maybe not the custom built theme but you at least grabbed someone else’s theme and got your blog doing something. Now, it’s time to deploy to the server.Start with the codex, you’ll need to change from your local settings, in my case http://10.0.1.199/postims will be changing to http://blog.postims.com. I used to do this with a search and replace in the sql file after the database dump, but that was dumb. Wordpress geeks have really thought of most everything.

  1. Go to the Administration > Options > General panel.
  2. In the box for WordPress address (URI): change the address to the new location of your main WordPress core files.
  3. In the box for Blog address (URI): change the address to the new location, which should match the WordPress address (URI).
  4. Click Update Options.
  5. Logout of your blog.
  6. (Do not try to open/view your blog now!)

Alright, now it’s time to jump into terminal and monkey the data out of local and into remote.You could do this with phpmyadmin or some weird GUI tool, but just get comfortable with your command line. It’s fast, it always works and once you nail it, then it works the same on your server as it does on your mac. That’s because Mac rocks.

bash-3.2# cd /something

[mkdir or go to a directory you want to create your backup in]

bash-3.2# mysqldump -h localhost -u root -p postims_blog | bzip2 -c > blog.bak.sql.bz2

move your directory to the server, i backed up the database in the same directory so i can bzip it back to full size and do a mysql restore

bash-3.2# scp -r -o Port=22 ./postims serverusername@19.68.43.23/home/member

then

bash-3.2# bzip2 -d blog.bak.sql.bz2

then login to mysql with this command

bash-3.2# mysql -uroot -p

enter your password

mysql>create database postims_blog;

mysql>grant all on postims_blog.* to posty@localhost identified by 'password';

mysql>flush privileges;

mysql>exit

then back at the command prompt (your friend, remember?)

mysql -h localhost -uposty -p postims_blog < blog.bak.sql

then move it from your personal directoy to the directory that you will publish it at on the server

cp -r postims /home/www/vhosts/postims/blog/

Boom! If you did everything right, you’ve got a live public blog. Here is what mine looked like at the end of the cooking show.postIMs Don’t believe me? See it for yourself. Generally speaking, I like to do all the custom theme building, CSS, PHP customization and Javascript locally. It’s faster, you have no server delays, testing is seamless and you can do it even if the wireless connection blows up at the coffee shop you are working at.

Once I have something I like, I try to migrate it as quickly as possible to the server before doing all of the posts, widget moving and the type of things you’ll be doing probably with the client or the rest of your team. If you want to use cocoa, phpmyadmin, cyberduck and all that jazz you certainly can do the same thing, just not with the same power speed, control and repateability.

If this is all just completely over your head but you want a killer Wordpress custom installation and blog built from scratch for your cult of personality or business, then fill out the contact form. Starting at about 2000 Euros ($3,000) you delegate the details to Gravitas, and emerge with an SEO optimized, workflow optimized, creative and fun to work with, microformatted, backed up and rock solid WordPress blog for just you or your team.

postims blog

website

a simple place to post useful things you find online

Postims is a simple place to post useful things you find online. You can post pictures, videos, and messages.

My rating: 5.0 stars
*****

Tagged , , ,

SetupWordpressonLeopard

Now that you have Rails running on your mac, it’s time to go local with Wordpress on Leopard. If you don’t have MySQL on your mac, get the details on this post on Gravitas, because you’ll need that as a part of your Leopard stack to run Wordpress. To walk you through how to get this running locally, I’ll walk you through a tutorial for a fictional blog called “postims” that we’ll setup on Leopard.

  1. Download Wordpress
  2. Create your database. Go to terminal and type the following

  3. mysql -uroot -p
    [password]
    mysql > create database postims_blog;
    Query OK, 1 row affected (0.04 sec)
    mysql> flush privileges;
    Query OK, 0 rows affected (0.08 sec)
    mysql> exit

  4. Enable Sharing. Go to System Preferences | Sharing and do like so, by checking the box. Note that little IP address thingamabob. Then unzip/untar the wordpress thing you downloaded, and drag the folder “wordpress” into your this folder - Library/Webserver/Document. Note that your Sites folder (as of publish date of this blog), is not where Leopard thinks your webfiles are, even though that is what System Preferences tells you.
  5. sharing.jpg


    cd /Library/WebServer/Documents/
    mate wordpress

    then, rename

    wp-config-sample.php

    to

    wp-config.php

    and change

    [textmate and VI is the way I roll, do it this way or just navigate to the folder and rename wp-config

  6. Enable PHP on Leopard. Wordpress will work better that way. Go to terminal and type

    cd /etc/apache2
    sudo vi httpd.conf
    [enter the password for your mac login]
    Uncomment the line that loads the php module by deleting the # at the front of the line. You see, PHP already lives on your Leopard, you just have to light it up by configuring the handy Apache server now chugging away on your mac when you enabled sharing.VI rocks, but you need to know how to work this killer little app. Here is the high speed course. When you issued the command, you are now editing that file in the command line program VI. Type “/php” without the quotes. This is how you search on something in VI. Hit the “i” key on your keyboard after vi finds the line about PHP. The PHP line is commented out, so use the arrow keys to get right in front of the # at the start of the line. Hit backspace, # dissapears. Then save your changes and exit from VI. Do this by hitting ESC (escape, top left of your keyboard). This backs you out of insert mode in VI. Type “:wq”, again without the quotes, to quit VI and save the file. Go here if you are lost.
  7. You’re on a roll now. Now, we’re going to fix the broken socket and get mysql humming along.
  8. (thanks to herself for solving this one, I got it working with some tweaks such as an equals instead of a dash).

    cd /etc
    sudo cp php.ini.default php.ini
    sudo vi php.ini

    Change the line

    mysql.default.socket =

    to

    mysql.default.socket = /tmp/mysql.sock

    (do it by typing /mysql.default.socket, then “i” to insert and add/navigate with arrows and backspace. save with ESC then :wq! , you need the exclamation point to override permissions. )
  9. The changes won’t take place until you stop and start Apache. Go to your System Preferences again, go to Sharing. Uncheck the web sharing box, the web server stops, click it again, and Apache fires up with PHP enabled. Nice, we’re almost there to Wordpress blissdom. Click on the link from the sharing panel that tells you where your webdirectory is. Mine was http://10.0.1.199/, and since I’d called the directory “postims” in my Library/WebServer/documents directory (cd /Library/Webserver/Documents/
    ), then I hit http://10.0.1.199/postims and was welcomed by that familiar and friendly Wordpress setup screen. Whew. We’ve got WordPress!
  10. Why do you go care? If you’re big on Wordpress, and you do your own themes or make plugins, you are considerably more productive in a local production environment. Once something is ready to rock, you roll it out to the server. If you have a glitch when you do that, run a mysql dump on the database, open it in your favorite editor, and do a search and replace on “http://10.0.1.199/postims” and change it to “http://blog.postims.com” if that is the address on the public server.
  11. Wordpress Live Running on Leopard

Then, xhtml-ize it with this link

Tagged , , , , ,

SetupRailsonLeopard

Leopard is great. Here is the high speed version to get your Rails app running locally on your Leopard. Don’t even think twice, and don’t limp through with ports or fink, you don’t need them. Hivelogic Dan Benjamin, the man who wrote the definitive tutorial to compile and setup your mac from source for Rails, hasn’t written the Leopard tutorial just yet. Here it is for those too impatient building Rails apps at high speed.

Leopard comes pre-installed with Ruby, SVN, AND Rails and other get started gems pre-installed. Apple is so smart. I’m suprised but didn’t care that MySQL and RMagick weren’t pre-installed since Mac is the definitive platform for Rails and they got the other things completely right, so here are the final steps you need to Rails bliss, instantly. That’s gravitas.

1. Compile MySQL from source

download source, put it in /usr/local/mysql . Detailed instructions to compile from source on Leopard live here.

2. Rails is already installed, just put on RMagick

This Ruby script works great. It’s a .rb script that installs it from source and works perfectly. The first time I ran it, it didn’t work, just a network/ftp problem, then it worked fine. Here is how you make the magic work:

Go here, download this file.

rm_install-1.0.4.zip

Unzip it. Now you have an .rb file you need to execute. Cd to that directory you just unzipped and give it this command.

sudo ruby rm_install.rb

This will grab a bunch of dependencies, do it in the right sequence, and you just have to wait around until it’s finished. then

sudo gem install rmagick

You’re all set with RMagick happily installed on your Leopard.

3. SVN is already installed, just run this command on terminal so that you can edit externals, and add commit messages without throwing an error. You have to tell it which editor you want to use.

export SVN_EDITOR=/usr/bin/vi

4. Before you update your gems, do this so as to not create a conflict and problem with Apple’s configured RoR environment. Thanks to LuisdelRosa


vi ~/.bash_profile

Then hit the “i” key to insert in vi, paste this in, hit “ESC” and then type :wq to save and quit vi after it’s in VI.

export GEM_HOME=/Library/Ruby/Gems/1.8
export GEM_PATH=/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8

Then give it a

source ~/.bash_profile

You should be all set, conflict solved. Why?

The reason why this fixes it is that GEM_PATH now points to the place where Apple put all the system-provided gems. GEM_HOME points to where Apple originally set to where you install gems. Note that GEM_PATH is “read-only” whereas GEM_HOME Is “read-write” by rubygems.

5. Install extra gems - here is the current list of what is NOT installed by default on Mac for the kind of social apps we roll at Gravitas. Sudo gem install these bad boys and you’re app will be ready at the starting line.

First, get your Rails gem up to the latest version with:


sudo gem install -v=1.2.5 rails --include-dependencies

*** LOCAL GEMS, to install to match up with the server. Mac comes with a nice default set including a new version of Ferret/Lucene.***

Tagged , , ,

Friend Gravitas on Facebook

Add Gravitas on Facebook

Exploring the fun new capability where “businesses” can have profiles just like people. The Beacon feature is just an email request form for now, and you can only sort of add applications (doesn’t work yet), but is an exciting addition to the facebook playground!

Facebook has been hard at work adding in a TON of new features, including more targeted ads, the Beacon that will let you hit the news feed with what Facebookers do on YOUR site (nice), Social Ads which blur the line between editorial and advertising and Facebook insights which is the foundation for click and performance tracking.

Facebook is well positioned and working hard to stave off the blast of heat coming from the Opensocial announcement, and all the new gadgets will keep developers busy and happy for some time. Combined with their recent mobile platform release, this is a very solid and working platform that commands attention.

Tagged , ,