Salesforce.com and Subversion

From what I’ve been able to tell, there is no real version control built into Salesforce.com and this is a problem when pushing from a sandbox instance into a production instance.  To fix this problem (at least until Salesforce does something), I think the best option is to use the Force.com plugin and the Subclipse plugin for Eclipse.  With both of these in place, it should make version control a reality.

  1. Install Eclipse for your platform (it’s eclipse-platform if you are using Fedora)
  2. Install both the Force.com and Subclipse plugin (eclipse-subclipse)
  3. Add your Force.com project to Eclipse (Howto)
  4. Add your SVN repo to Eclipse.  (Howto)
  5. Share your Force.com project (Right-click on Project name -> Team -> Share Project -> SVN -> Choose repo)
  6. Then after updating a file in the Force.com project, commit the update to SVN before deploying to the server ()

Now if you want to use this in another Eclipse instance then, you’ll want to do the first two steps to prepare your Eclipse environment.  Then:

  1. Add the existing SVN repo to Eclipse (Howto)
  2. Right click on the Project Force.com -> Project Properties   and update the username / password

When using this in a collaborative setting, the following workflow should be followed whenever possible.

  1. Team -> Update
  2. Make changes to code
  3. Team -> Update
  4. Make changes to resolve collisions if needed
  5. Team -> Commit
  6. Force.com -> Deploy to Server
Posted in Computers | 4 Comments

Mutt and Lynx

So, in my time with mutt, I have grown to have a disdain for people that send HTML only email.  And surprisingly, this happens alot!  So, instead of trying to change the world, I’ve decided to just use mutt and lynx to my advantage and call it a day.  Thanks to one of my co-workers for showing me how to do this.

At the end of your ~/.mailcap file, add the following

text/html; lynx -dump -width=78 -nolist %s | sed ‘s/^   //’; copiousoutput; needsterminal; nametemplate=%s.html

Then, in the ~/.muttrc add

auto_view text/x-vcard text/html text/enriched

And restart mutt.  This will use lynx to render the email.  You can substitute lynx for any text-based html browser you’d like.

Posted in Linux | Leave a comment

Boxee and AppleTV

AppleTV and Roku

  1. Prior to starting up the AppleTV or even unboxing it, get your patchstick ready by following these instructions
  2. Unbox and setup the AppleTV to your LAN.
  3. Then, navigate to the setup->general->updates and make sure you STOP the update if you can.  The update won’t technically break anything, but there are some problems with the newest firmware.  If you can stop it it’s better
  4. Insert your patchstick, and reboot the AppleTV
    Linux loader
  5. Once it’s done open up your favorite terminal, and get ready to ssh to make sure that AppleTV can run any updates.  The password is ‘frontrow

    ssh frontrow@appletv
    sudo bash -c ‘echo “127.0.0.1 mesu.apple.com” >> /etc/hosts’

  6. From the menu select ‘XBMC/Boxee’->Updates and select the non-alpha boxee
  7. Wait and wait some more
  8. Download the darwinx86 iso from here you can get a free login for this by following the links
  9. Mount it up on the loop back and scp the /usr/bin/vim and /sbin/mount_nfs to the AppleTV
  10. You will need to make sure you nfs export has the option insecure or the AppleTV won’t be able to mount it
  11. Reboot one last time.  You can do this with ‘sudo /sbin/reboot now’
  12. Choose boxee from the menu and launch it.  There are a couple of known bugs with the latest firmware and boxee version.
  • Boxee starts with a black screen.  The only real ‘fix’ for that is to restart it a bunch until it starts up right.
  • Boxee freezes on the menu.  Remove the ‘/Users/frontrow/Library/Application Support/BOXEE/UserData/’ folder.
  • For more information, go here

Boxee Running

Posted in Computers | Leave a comment

Reverse Alias in mutt

A need has arisen here recently for me to need to “change” the headers on an email, so I can tell two people at work apart.  Both have their name in the email header the same.  Let’s call them “John Doe.”  So in order to tell them apart, I’ve added a reverse alias rule to mutt to handle this.  First enable the use of them by using

set reverse_alias

Then set up the alias.  This can be added to your alias file, or straight into your .muttrc

alias fake_john john_doe2@example.com (Fake John Doe)

Now all mail that comes in from john_doe2@example.com will show up as from “Fake John Doe” but the headers will remain the same, and no one is the wiser.

Posted in Linux | Leave a comment

Web Apps to Desktop Apps

Something I’ve found very interesting, is the recent trend to move apps away from the desktop, and out into the “cloud.” Now, for the most part I agree with this. I rejoiced the day I moved from a pop3 account to an imap account. And then rejoiced again, when I moved my mail hosting to Google Apps. This is just the way most things are moving.  Most people don’t need apps outside of email and word processing.  And if that information can be stored in the cloud then that means I don’t have to be without my documents.

That brings me to the real point.  If you haven’t gotten a chance to check out some of the apps that make desktop apps out of web apps, try them.

  • I like fluid for OSX, it seems a little more full featured
  • Then Prism is looking really promising for all platforms (yes, even linux)
Posted in Computers, Linux | Leave a comment

Perpetual Screen Part Deux

So, I’ve figured out how to add in a “fail-safe” to the perpetual screen, so that if you want to ssh without starting screen you can.  And it’s pretty easy.  First add the following to your sshd_config and restart ssh

AcceptEnv NO_SCREEN

Then add the following to the bottom of you .bashrc:   (Note: I named my screen ‘main’ you can name yours whatever you want)

NO_SCREEN=`echo "."$NO_SCREEN`
# Hack to get around if the variable is not set

if [ $TERM = "screen" ]
# If we are already in a screen do nothing
then
     echo -n ""
elif [ $TERM = "dumb" ]
# If we are using scp do nothing
then
     echo -n ""
elif [ $NO_SCREEN = ".true" ]
# Our fail safe to ssh w/o screen
then
     echo -n ""
else
# Startup screen
     screen -Rd main && exit
fi

Then, you can either ssh like normal to start the screen, or do the following to login without screen starting

export NO_SCREEN=”true”

ssh -o “SendEnv NO_SCREEN” user@host

Works like a champ

Posted in Computers, Linux | Leave a comment

Steam + Windows = FAIL!

I understand that operating systems crash.  This happens, I know.  However, the frequency in which my Windows installation crashes is just sad.  This usually only causes annoyance when it crashes in the middle of a game.  I can deal with that.  However, when I am updating an application, such as, I don’t know….Left 4 Dead and Windows crashes, I have 30 minutes of pain, and an hour+ of waiting.  I assumed that steam would do like it does when it installs a game.  If you shut down the system, it pauses the download, and then resumes it.  But when my system crashed it ate the update, and it wouldn’t launch.

Then I tried to remove and then reinstall via steam.  This failed.  Then I tried to remove the game files.  This failed.  After seaching I found a page that talked about removing the client blob file.  That failed.  I eventually had to remove all the files but the steam.exe and the steamApps folder.  But I did have to remove any files that talked about L4D.

So, after about 1 hour of downloading I should have a ready to play game.  Sigh.  If only the other peices, like the game verification, game removal or update worked I would have this hassle.

Posted in Computers | Tagged , , , | Leave a comment

Combining pdf with linux via the command-line

I’ve always found a need for this, and with some digging, I’ve found a couple of ways to do this.  The simplist is with ImageMagik, but I’ve found the default values leave the quality a little lacking.  However, I’ve found an article that uses GhostScript to do it, and it does a wonderful job.

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=output.pdf input1.pdf input2.pdf

They suggest putting it in an alias, but I’ve gone a step further and just put it in a bash script in ~/bin/combinepdf

#!/bin/bash

if [ $# -le 1 ]
then
     echo "usage: combinepdf output.pdf input1.pdf ... inputN.pdf"
exit -1
fi

OUTPUT=$1

if [ -e $OUTPUT ]
then
     echo "Output file \"$OUTPUT\" exists"
exit -1
fi

fnum=2

INPUT="$2"
ARGV=( $@ )

while [ $fnum -lt $# ]
do
     INPUT=`echo $INPUT" "${ARGV[$fnum]}`
     let "fnum += 1"
done

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=$OUTPUT $INPUT

Then chmod a+x ~/bin/combinepdf and then run it.

Posted in Linux | Tagged , , | Leave a comment

Perpetual Screen

So, I’ve been tossing around the idea for the past while to make is so that screen starts up every time I ssh into my box at the house.  Well, I finally broke down and did it, and it wasn’t that bad at all.  I’ve named my screen session main you can call it whatever you want.  Just add the following to the end or your .bashrc If you don’t put it at the end, you the rest of your .bashrc won’t get evaluated.

if [ $TERM == "screen" ]
# If we are already in a screen do nothing
then
     echo -n ""
elif [ $TERM == "dumb" ]
# If we are using scp do nothing
then
     echo -n ""
else
# Startup screen
screen -Rd main && exit
fi

It works so far with everything I’ve had to do, but we’ll see if I run across any other problems.

Posted in Linux | Tagged , | Leave a comment