Friday, July 27, 2007

Video #2 - ClutterMe ad

Video #1 - ClutterMe ad

javascript:void(0)

Labels: , ,

A picture of our workspace



This is where we are currently working. Alex is on the left and I am on the right. We have now added a third hardrive (my old desktop) to the 22" second from right. It lets me debug Windows and MacOS browsers at the same time.

Wednesday, July 25, 2007

Xobni... take back your inbox

I was speaking to an Angel (investor) this morning and they happen to bring up the topic of Microsoft Outlook.

"If you could make some sort of drag and drop interface that plugs into Outlook... THAT would definitely be marketable."

So I happen to drop Matthew Brezina's name and company and I plugged Xobni... it's inbox backwards. Xobni is quite possibly the best kept secret in ycombinator's deck.

A quick hop to their site shows that they are introducing a new blog badge.

Xobni outlook add-in for your inbox
Keep up the great work Matt, we're all looking forward to it here at ClutterMe. (Matt's company offered Alex a job, needless to say we're rooting for them)

Labels: , ,

Monday, July 23, 2007

Capistrano 2.0 and Mongrel

Rails, Apache, Mongrel, Capistrano - RAMC? Or maybe Mongrel, Apache, Rails, Capistrano - MARC? That should keep my co-founder happy.

Whatever the order, that's what our new server is running(1). It was an uphill battle, but it should be worth it.

I mainly used this excellent guide on the Rails forum, which has instructions for updating Apache 1.3.x to 2.2.x on a cPanel machine, and then installing Mongrel. No Capistrano so far.

I then read Coda's Time For A Grown-Up Server: Rails, Mongrel, Apache, Capistrano and You and Using Capistrano with Rails on the Capistrano site, to wrap my head around Capistrano.

Both are excellent resources, but neither got me 100% of the way there; the first assumes you have Capistrano running and are adding Mongrel to the mix (and is written for an older version of Capistrano), the second doesn't mention Mongrel much. There were also a few key concepts which, as a newcomer to Capistrano, were not immediately obvious to me.

So, assuming you have a working Apache 2.2 / Mongrel / Rails setup, and want to add Capistrano 2 to the mix, here's how I did it:

1) Install Capistrano on your development machine (or the machine you'll be using to initiate deployments - this is usually not the same as the production server):
gem install capistrano

2) Create stubs for the Capistrano config files:
cd /your/rails/app/folder
capify .

This should create two files - "Capfile" and "config/deploy.rb"

3) Install Palmtree - this contains working scripts for Mongrel for Capistrano 2.0 (as of today, as far as I know, the scripts that come with Mongrel don't work with Capistrano 2.0).
gem install palmtree

4) Edit the "config/deploy.rb" file:

- edit the existing information with your app name, server information, and path on the server. This should be self-explanatory. If (like me) the remote server has a different username from your workstation, specify the servers as "username@server".

- get Capistrano to use a different username/password for SVN (from this blog). Replace the "set :repository" line with:
set :svn_user, ENV['svn_user'] || "MY_SVN_USER_NAME"
set :svn_password, Proc.new { Capistrano::CLI.password_prompt('SVN Password: ') }
set :repository,
Proc.new { "--username #{svn_user} " +
"--password #{svn_password} " +
"http://your.domain.tld/path/to/svn/#{application}/trunk/" }

- Tell Capistrano about Mongrel. Add this line at the top of the file:
require 'palmtree/recipes/mongrel_cluster'

and these lines after the "set :deploy_to" line:
set :use_sudo, false
set :mongrel_conf, "#{current_path}/config/mongrel_cluster.yml"

(the "set :use_sudo, false" line is optional, depending on whether or not you need to use sudo to control Mongrel).

- optional: I had a problem with SVN and "svn: Can't recode string" messages for some files checked in from a Mac. I fixed it on the server but Capistrano was still experiencing it, so I added the line:
default_environment["LC_CTYPE"] = "en_US.UTF-8"

That should be it! Your finished file might end up looking something like this:
require 'palmtree/recipes/mongrel_cluster'
default_environment["LC_CTYPE"] = "en_US.UTF-8"
set :application, "MY_APP_NAME"
set :svn_user, ENV['svn_user'] || "MY_SVN_USER_NAME"
set :svn_password, Proc.new { Capistrano::CLI.password_prompt('SVN Password: ') }
set :repository,
Proc.new { "--username #{svn_user} " +
"--password #{svn_password} " +
"http://my/svn/server/path" }

# If you aren't deploying to /u/apps/#{application} on the target
# servers (which is the default), you can specify the actual location
# via the :deploy_to variable:
set :deploy_to, "/home/MY_SERVER_USER_NAME/#{application}"
set :use_sudo, false
set :mongrel_conf, "#{current_path}/config/mongrel_cluster.yml"

# If you aren't using Subversion to manage your source code, specify
# your SCM below:
# set :scm, :subversion

role :app, "MY_SERVER_USER_NAME@production.server.com"
role :web, "MY_SERVER_USER_NAME@production.server.com"
role :db, "MY_SERVER_USER_NAME@production.server.com", :primary => true

5) Almost time to rock and roll! SSH into your server, stop the Mongrel processes, and move your existing Rails application folder to keep it safe (assuming your "deploy_to" variable in deploy.rb points to the same folder as your existing install).

6) Let's set up the folders Capistrano needs on the server. On your local machine, run:
cap deploy:setup

Capistrano should ask you the password for the account on the server. If all goes well, Capistrano connects to your server and makes a few folders:
#{deploy_to}/
#{deploy_to}/releases
#{deploy_to}/shared
#{deploy_to}/shared/log
#{deploy_to}/shared/system
#{deploy_to}/shared/pids

7) We need one change to our config/mongrel_cluster.yml file. Capistrano checks out each release into #{deploy_to}/releases/timestamp, then makes a symbolic link from #{deploy_to}/current to the current release. What this means for config/mongrel_cluster.yml is that you might have to change:
cwd: /home/MY_USER_NAME/MY_APP_NAME

to
cwd: /home/MY_USER_NAME/MY_APP_NAME/current

and make sure the log_file and pid_file entries are either relative paths, or point to the new folders.

Save config/mongrel_cluster.yml and commit it to SVN.

8) If you're using Rails, Capistrano WILL run your migration scripts - now might be the time to check that they're in order or that you don't have anything you don't want.

9) Finally time to rock and roll! On your local machine, run:
cap deploy:cold

Capistrano will ask you first for the SVN password, then for the server password. If everything goes well, the last few lines should be the Mongrel cluster starting.

10) One last thing. If you're using a symbolic link to point to public_html, you probably need to update it. SSH into the server and type
cd ~
rm public_html
ln -s /home/MY_USER_NAME/MY_APP_NAME/current/public public_html

(careful with that "rm" command! Make sure you understand what it does before you use it... though if you got this far you probably know what you're doing).

That should be it! Future deployments should now be as simple as "cap deploy".

(1) Disclaimer: ClutterMe.com isn't actually running on our new server yet - I'll hopefully transfer the domain over in the next couple of days.

Labels: , , , , ,

Friday, July 20, 2007

Blog about us

We'd love to hear a review or just get some feedback. Even if it's as simple as making a really sick ClutterMe page, WE WANT TO HEAR ABOUT IT. Who knows, we might even dedicate an entire blog post to you.

Cheers,
Mark & Alex

Thursday, July 19, 2007

New Server

We have a new server. We have just purchased server space from ServerBeach, these guys are good. We're going to configure it, perhaps on Friday. We really, really want to see it in action.

Labels: ,

Tuesday, July 17, 2007

stats

So Mark was filling out a form today which got me curious as to how much code we actually have so far.

I've been a bit curious ever since I read the excellent Web app autopsy by the Wufoo.com guys (I don't read a lot of blogs, but theirs has gradually become a favourite).

Rails has a handy rake task that shows line number count, but it only shows back-end line count. One quick Google search later, I had a solution (which amusingly, also links to the Web app autopsy).

So, the numbers (with no fancy graphics, sadly):

Model/controller: ~2800
View: ~2200
CSS: ~400
JavaScript: ~1500 (of our own code - not counting Prototype, etc.)
Tests: don't want to talk about it.

Which means all in all, we're approaching 7,000 lines of code.

I have no idea whether that's good or bad... since LOC is a metric of questionable usefulness, and I'm usually happier when I manage to delete code and reduce the line count. But there it is.

Let's see what numbers we have when we release!

Labels: , , ,

Saturday, July 14, 2007

I'm excited, I'm really, really excited.

Here's why... I woke up this morning and found the perfect demographic for ClutterMe.


ClutterMe - A Space for you and your girlfriend


That's the best possible application of what we are making. It's a website so personal, it's perfect for the wall-to-wall conversations of young couples, best friends, family members. What a marketing strategy. So I'm excited.

Friday, July 13, 2007

clarification

I would like to make a clarification on my last post.

When I said "that's why it hasn't been done before", I wasn't referring to social networks. In fact, social networks have been done to death. The 'social' aspect is almost completely done.

The difficulty with ClutterMe is getting the UI just right. Of course, only having our vague descriptions to go by doesn't help. When we release hopefully you'll retroactively sympathize with us when we say our "UI" was hard to do.

Thursday, July 12, 2007

Update, 07-12-07

Alex has officially quit his job. Excellent, I now have a dedicated co-founder. I'm the happiest man in the house.

We've now started working at Mark's house. It will be Mark's house for the next two weeks (at least). Just to make up for the past month and a bit that I've spent at Alex's and the bucket loads of food I've eaten there.

I wish to say that things are progressing smoothly. They are, so I can say they are progressing smoothly. Everyday presents new unforeseen technical challenges. We are beginning to see why this has never been done before, it's actually quite hard.

Does this change the deadlines or release dates? Absolutely not. One of the things we managed to do with our past project blored was to keep our deadlines, even if it meant trimming requirements and features. I don't care if we release a three legged lama, we are still releasing in August.

Here is a tentative, if not blatantly stupid timeline we have

August 1st - Release for Alpha testers, will now officially be called BETA.

August 15th-16th - Release to members of sign-up list. (Some maybe not all get accounts). Perhaps have some invites for the first Alpha users.

August 31st, 2007 - By this date we hope to have an account for everyone on the sign-up list with maybe some invites.

Does Paul Graham want to invest in us maybe? I have fat f*ck*ng eyes for that ycombinator demo day.

Labels:

Friday, July 6, 2007

A brief history of us.

Mark Molckovsky
CEO/Founder ClutterMe Inc.

Mark has just finished his undergraduate education at the University of Toronto, majoring in Electrical Engineering. He has received the University of Toronto National Scholarship - the University's most prestigious undergraduate award. He met HRH Prince Philip upon receiving a Gold Duke of Edinburgh Award. He runs the blog and is responsible for the front-end, marketing, and financial aspects of ClutterMe Inc.



Alex Curelea
CTO/Founder ClutterMe Inc.

Alex immigrated to Canada from Romania in 1997. He graduated from the prestigious Tops Program at Marc Garneau Secondary school and was awarded a University of Toronto National Scholarship upon entering his study of Computer Engineering in 2001. Alex graduated in 2005 and has spent two years working at the Ontario Telemedicine Health Network. Alex is knee deep in all aspects of ClutterMe's technology.

Labels: , ,

Thursday, July 5, 2007

Why Pownce makes me happy

I like Pownce. I like the interface, it's clean, intuitive, and quite polished. I like the concept - it distills the "communicate with your friends" aspects of social networks into something simple, easy, and coherent. Even the name is starting to grow on me.

But none of that is why Pownce makes me happy.

The reason is actually a bit more selfish. In my last blog post I said that the lack of competition for ClutterMe.com is starting to worry me. Well, we can add Pownce to a handful of sites we've seen that "get" a certain aspect of ClutterMe. While Pownce's focus is somewhat different from ClutterMe, it's still the first site I've seen that addresses this aspect in a way similar to how we would. Needless to say, since the response to Pownce has been fairly positive, this makes me happy as yet another indication that we're on the right path.

More importantly, Pownce seems to confirm what I believe about the future of social networks. We're entering (to use a tired term) the "2.0" era of social networks. The past years saw Myspace and Facebook as the monolithic, winner-take-all social network existing for its own sake. The next year or two will see social networks starting to become a common web development paradigm, a commodity almost, similar to how "Reader's Comments" can now be found on practically every news website. This also means that there's plenty of room to grow alongside the giants - people won't as much be "part of a social network or another", they'll "use sites that also have social networking". We should see many interesting variations on the theme, as the concept of social networking matures and begins to reach its full potential. Pownce is one of the first out the gate; ClutterMe.com will hopefully follow not too far behind; and countless others will, I'm sure, join the party.

The Internet is far from mature, and far from its full potential. The next few years should be a lot of fun.

That being said... Anyone want Pownce invites? :)

Labels: , , , ,

Tuesday, July 3, 2007

Hallelujah

That same electrical storm saw the purchase of some new hardware.

What's better than buying a 22" Samsung monitor. Two Samsung 22" inch monitors. Today, we just bought 44" of screen space in addition to my MacBook pro 17" and Alex's 19" Samsung. Our alternate computer also sports a 19" Samsung.




What's next? A fridge like the one

The most productive day of our lives

"Mark, why haven't you updated your blog in more than a week?"

The answer may surprise you.

Due to the great electrical storm of 2007 a power surge wiped out our DSL modem. Imagine that, an Internet start-up without Internet, disaster right? WRONG.

What ensued were the most produtive days of creation since Genesis. Our keypads were on fire. Our mice (and trackpads) begged for respite. Our CPU's were causing power outages in several parts of the city because of our thirst for electrons to feed our beasts.

Losing Internet was the best thing to ever happen to us, cause really, we realized that except for SVN, WE DON'T NEED IT.

Now let's neglect to disclose this information from potential users.

Random musings

Close to one month into our mad venture, some of the initial excitement is starting to be replaced by routine, and reality sets in.

One of the biggest surprises for me so far is how confident Mark and I are in what we're doing. It's an ambitious project, many start-ups fail, and it's the first such experience for both of us. And yet we feel that we're firmly in control.

If there's one thing that's worrying me, it's the lack of competition. A lot of what we're doing already exists, scattered on various major sites, but the core idea seems blindingly obvious (to us), and is nowhere to be seen. The closest we've seen are a couple of start-ups which partially address it, but (in our opinion) stop way short of the full potential. So why aren't we seeing it everywhere? I see three possible reasons, and all of them worry me.

1) It's been done, but never caught on, so that's why Mark and I haven't seen it "in the wild". It's possible, but unlikely - we've both spent way too much time surfing the web.
2) It just can't be done. I find this extremely unlikely, since we already have close to a fully functional demo, and it's been relatively smooth sailing so far. It's always possible we'll hit some technological pitfalls, but I very much doubt that any will be showstoppers.
3) We're actually on to something new (and big)! Obviously the most exciting of the three, but in some ways also the scariest.

I'm one of those who works much better when listening to music... and sometimes a song eerily fits with my thoughts. For example, Gnarls Barkley's "Crazy" almost sounds like the voice that is probably at the back of every entrepreneur's mind at times:
Come on now, who do you, who do you, who do you, who do you think you are,

Ha ha ha bless your soul
You really think you're in control

Well, I think you're crazy
I think you're crazy
I think you're crazy
Just like me


But too much introspection is never a good thing. The best way to show that our confidence isn't misplaced is to show everyone what we're working on - which we can't wait to do! For now we're keeping our heads down and hammering away at the code, as I listen to Daft Punk.
Work It Harder Make It Better
Do It Faster, Makes Us stronger
More Than Ever Hour After
Our Work Is Never Over


[end of ramble]

Labels: , , , , ,