3-Animal Meatloaf: Not for vegetarians.

the loaf:

  • 1lb Ground Beef
  • 1lb Ground Chicken
  • Medium Onion, Chopped
  • 2 Garlic Cloves, Minced
  • 2 Large Eggs
  • 1/2 tsp thyme
  • 1 tsp kosher salt
  • 1 tsp fresh ground black pepper
  • 2 tsp whole seed Dijon mustard
  • 2 tsp Worcestershire sauce
  • 1 tsp jalapeño pepper sauce (not tobasco sauce!)
  • 1/2 cup milk
  • 1 1/3 cup fresh bread crumbs (see below)
  • 2 tbsp fresh from the herb garden parsley (stems and leaves)
  • 6 strips of bacon

the glaze:

  • 1/2 cup ketchup
  • 1/4+ cup brown sugar (more for sweeter sauce)
  • 4 tsp cider vinegar

fresh breadcrumbs:

  • take slices of two or three day old french or italian bread.  cut into slices, then cut into thin 1/4″ bars.  then either continue to dice up into a crumb like state, or put into a food processor.

1) make glaze in a sauce pan by adding all ingredients.  take off heat immediately when mixed and set aside.

2) preheat oven to 350 and line a baking sheet with tinfoil.

3) cook onions and garlic in vegetable oil until tender (5 min), take off heat and start cooling.

4) mix spices, sauces, milk and eggs in a small bowl with a fork.  put meat, bread crumbs and parsley in a large bowl.  add the wet mixture and the cooled onions and garlic to the large bowl and mix together with your hands.  gooey, gross, kinda fun.  if the mixture is sticky then add more milk.  it should come off the sides of the bowl by itself.

5) put the meat mixture on the tinfoil lined baking sheet and form into a 9×5 loaf.  with brush, spread a thin layer of the glaze on the loaf.  remember, it is a strong flavored glaze so be light.  lay the bacon along the top covering the whole loaf.  tuck any hanging bacon under the loaf.

6) Bake for about an hour (160 degree internal).  We cooked it for 70 minutes, 150 degree internal, then set it on the counter for 15-20 minutes.  Serve with the remaining glaze.

Food

Comments (1)

Permalink

A Good User Interface is Worth A Thousand Words

Loud3r has a lot of hum under the hood here recently.  No one outside the machine really knows what is going on (there are many a days I’m not even sure what we’re up to), gotta keep quiet though until things get finalized.  Needless to say there may be some really big announcements in the near future, which is fairly exciting.  Including the fact that a lot of our sites are experiencing high organic growth, members are joining, community interaction is on the rise, new sites are continuing to pop-up and we’re receiving press (albeit not all good), the clouds around my Loud3r sky are not as dark as they have been.

We’re not popurls.  Nor are we Alltop.  Techcrunch seems to continue to compare us to these sites.  What astonishes me even further is the fact that they juxtaposed us to a description of exactly what our sites deliver, claiming we just list links instead.  I’m not really sure how this happened, as an immediate visit to any of our 60+ sites shows otherwise, but hopefully people will click on the link to find out for themselves that we are more than just aggregation service offering “a simple list of links.”

We also ran into a very precarious situation two weeks ago when another person misunderstood the purpose of our site.  Upon finding an image that we linked to on his site a popular photographer was under the impression that we were copying and rebranding–plagiarizing–his content.  As usual we took down the content as soon as we were asked, though this is the first time we were asked with a legal threat from a lawyer before a request from the owner.  The next morning we phoned him up and luckily he was very amicable. After lengthy discussion we met an accord, and learned a lot of stuff about copyright law, hopefully leading to us putting his content back up on our sites through some sort of agreement (he’s got really great content that the photography community would love).

This all shines a light on a problem we’ve had from nearly day one: explaining what our site does and why.  If it were only as easy as an about page, but sadly we’re in the throws and figuring out how to tie in short, poigniant descriptions of what we do, placing them in the user interface so as not to hinder access to the rest of the pages, as well as making sure our interface portrays our technology in a better manner.  It’s an extremely difficult message to send immediately so as to avoid assumptions.  “Loud3r: News Aggregation set to 11.” …but are there enough Spinaltap fans out there to understand?

Speaking of 11.  We’ve got that many m1.small instances baking delicious loud3r content 24/7 up on EC2.  Continual replacement of the php backend with a python architecture may bring us down to eight or nine machines by next weekend.  That means we’ll be getting content on 65 topics on under ten ec2 instances, two of which are just EBS MySQL slaves.  That’s a graduation from 20 sites on 16 dedicated beasts at Rackspace.  Our monitoring system is up and solid, making sure we’ve got pies coming out of the oven all day long.  Best of all with tons of modifications, scripts and process flow adjustments we’ve gotten site launch time down to 20 minutes, which is incredible compared to the two hours it used to take when I started the project.

So yeah.  Turn it up.  And check out a Loud3r page if you haven’t yet.  Subscribe to their twitter feed if you like the content - it’s a great way to get great news at the top of every hour without having to sift through tons of other crap.

Uncategorized

Comments (0)

Permalink

Changing your path

Our company has recently had to adapt to mitigating circumstances that could, in all probability, cause a downfall of our product if we ignore them.  I’ve read the blogs about letting go of your original product to the needs of the market.  I’ve read the economical suggestions from Sequoia.  I’ve watched the other Web 2.0 startups and how they have fun with resources.  It’s funny how you thought you could handle change until it actually arrives.

The “Original Idea”

Loud3r is making serious modifications to its business model.  Due to those changes we’re having to make adjustments in our development priorities.  Those decisions are being heavily influenced by a new person we’ve brought onto the team, a well known entrepenuer with many successful startups under his belt (and apparently voted into the “top 10 sexiest geeks in the world”).  My gut instinct is to fight for my desire to perfect the backend, but it is no longer about changes that won’t be noticed by the consumer, no matter how much I will personally recognize them.  Monetization is moving away from the technology and into presentation — the “wow” and “awe” that a presentation creates in the minds of those who don’t particularly grasp the concept of the backend.

In meetings I am obstenate and fight for continuation of our original idea and am constantly reminded that it’s no longer about that.  Changes are required to make sure we survive these times.  The original idea failed for a few major reasons that we can’t go back and change.  After seven long months of ridiculous determination/hard work our application has been rewritten and is ready for production, only to meet bad timing with the economy and the end of the fiscal year.  So our new guy is helping to lead us in the right direction.  I’ve got to say, in the end, the hardest part is letting someone walk into the project and start directing its future after the boss and I spent so long on our own.  Learning to scrap the original idea and to adapt to the better one is very, very hard for someone as stubborn and pretentious as I.

Economy

Oh, Sequoia.  How I loathe thee.  And TechCrunch for being one of the most emo blogs out there and constantly reminding us the imminent downfall of the tech industry (which I absolutely don’t see happening).  However, both are giving advice that is not to be ignored.  We finally brought on a new developer and his entire job has not been to help with modifications to the product, but rather to move us onto AWS.  Within the next two weeks though his work will slash our monthly costs by 20%.  Along with some employee/firm cuts we’ll be seeing a 30-40% decrease.

Most difficult in all of this has been altering our priortization process so that monetization is most important aspect of whether we move forward on development.

  1. Does it Make Money
  2. Does it Save Money
  3. Does it better user experience

Yet another ridiculously hard thing to get used to.  No longer making the product rock technically, but making it rock cheaply.  I’ve had to swallow my pride, ambition and desires time and time again.  In the end it’s yet another lesson in not cutting corners, making your code efficient, and writing it correctly the first time.  I think my favorite lesson of everything though has been a quote from the writer of PHP himself, “Don’t use PHP unless you have to.”  And damn was he right.

Go Team, Go!

Our new VP hire has been helping us do one more thing — become a team.  Before him it was just the boss and I, along with two or three editors (depending on the month) that met every now and then to give updates.  We’re now slowly moving into the mentality of actually being a company, and having a good time doing so.  We went out to a bar as a company for the first time last weekend and had a blast discussing our future.  We’re starting to look at offices so we can connect even more.  Loud3r parties (heh), Loud3r events, and Loud3r P.R. the elementary way — being cool, fun and interesting.

Over the past three weeks since he’s come on we’ve had a meeting every morning to catch up.  We keep up in chat rooms, skype and emails more than ever.  Our overall happiness has been higher than ever due to the simple fact we are working together, instead of just working towards a final goal.  Our optimism is higher than ever before as well, all due to the the changes we’re making for our best interest and the fact we’re listening to one another, coming up with ideas and encouraging creativity.

Accepting

Accepting is the hardest part.  Accepting radical change to something that’s your baby.  Accepting someone new come in and tell you what to do.  Accepting change and trusting that it’s in your best interest.  I feel like I’m preaching for Obama or something :(

Uncategorized

Comments (0)

Permalink

Dev Environment on localhost for domain testing

On my dev enviornment (my laptop) I’ve got a LAMP server running that hosts all of my websites in individual folders under the the local html doc folder, along with my companies website in a separate home directory. I finally set up a neat little trick for a more realistic environment that mimics an actual website (therefore allowing the directory structure of the URI to mimic a real VirtualHost).  Now instead of going to http://localhost/dev-site_1/ I can just go to http://my-local-dev-site.com and all the content will be based off the appropriate base url.  And for even quicker access to things you can just set up a letter to go to each folder (http://a/ would go to dev-site_1).  Just fill in the appropriate changes below.  This method also allows you to keep your localhost domain for accessing your local html doc folder.

/etc/hosts

first make your computer think that a domain you have got in mind points back to your local host.  The trick to this situation is to have it set to the IP of your current eth0 device. I changed the first line of my hosts file to look something like this:

    192.168.1.101       localhost       www.my-local-dev-site.com     my-local-dev-site.com

This tells your computer to redirect that domain to the loopback address of your system (this is also how your browser knows to send localhost back to 127.0.0.1)

Note that each subdomain needs to be specified to work.  if you do not add a ‘www.’ then only the domain name will work.

Virtual Hosts in Apache

Add two virtual hosts to your system.  If you’re running the latest Apache2 these will be in /etc/apache2/sites-enabled .  Just create a file for each VirtualHost instance in that directory.  If you are using an older version, you can edit /etc/httpd/conf/httpd.conf and copy and paste the two virtual hosts at the bottom.

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName www.my-local-dev-site.com
    DocumentRoot /var/www/dev-site_1
</VirtualHost>

<VirtualHost localhost>
    ServerAdmin webmaster@localhost
    ServerName localhost
    DocumentRoot /var/www/
</VirtualHost>

Uncategorized

Comments (0)

Permalink

bringing down the house

so i added this line (along with a few others) to make a permanent redirect to urls that had their spaces replaced with dashes as a quick fix for search engines to handle the new url form.

  RewriteRule ^([^\ ]*)\ (.*)$ $1-$2 [E=rspace:yes,N]

it uh…brought down my computer.  hard.  i’m guessing an endless loop, but for some reason it required hard drive access.  the noises coming from my laptop were awful.

Uncategorized

Comments (1)

Permalink

Guess who done what

i feel like i should supply 8 keywords that describe certain situations and play a game where you match the word to the instance.   in any case, i thought this was pretty cool.  david set us up a sweet little monitoring script so we can watch our servers.  i think my favorites are the top right and bottom left.  the top left one though is kind of unnerving.

god i love instance #3.  the little train that could…only to find out when it reaches the top of the hill there’s an f-ing cliff and all your py comes crumbling down.

Our current ec2 instances

Uncategorized

Comments (0)

Permalink

EC2 or Equilibrium?

What I first thought was the weekend may actually be one of two things.  Either the server reached equilibrium or EC2 actually dynamically adjusted our m1.small instance due to a “high” server load.

David and I launched four new instances tonight with 40% higher process load.  They are currently burning down the server farms we think.  Process load is high.  We’re waiting to see what happens with the equilibrium on these.

Uncategorized

Comments (0)

Permalink

internet dies on the weekend

So the software we installed on our EC2 instances are turning out some really cool things that we are learning from.  One of the lesser interesting things (but still cool to see visually) is how the tubes die on the weekends.  Check out the load average drops below.  We’ve got a pretty cool idea in the making that is going to take advantage of our variable load averages and how many instances we really need running.  Well, duh I suppose, it is an elastic computing cloud.

Uncategorized

Comments (0)

Permalink

EC2 Calmed down and is behaving itself

So initial thoughts about EC2 after launching it were pretty dismal. The system was loading up fast and wearing down quickly. Turns out that the initial spiking smoothed itself out. +5 for EC2. I believe we’re going to push a 40% process load increase in a few days and watch what it does. We’re so close to smelling that sweet pie that is elastic computing.

Uncategorized

Comments (0)

Permalink

MDB2 Placeholder Bind Error

You try this:

  $query = $mdb2->prepare('INSERT INTO foo (var_a, var_b) VALUES(?,?)', null, MDB2_PREPARE_MANIP);
  ...
  $res = $query->execute($bar);

And you get this from the $res PEAR::Error object

  MDB2 Error: not found, [Error message: Unable to bind to missing placeholder: 0]

It’s because you’re using an associative array. I was doing it wrong. Fail. Make sure the values have indexes from 0-n.

Uncategorized

Comments (0)

Permalink