About Me
I live in San Francisco and am the Co-Founder of Two Bit Labs where we develop iPhone, iPad, and Android mobile apps for our clients. I love the mix of team leadership and working as a hands-on contributor. My technical passions include Objective-C, Java, Ruby, Cloud Computing, and open-source software.
I also love to sail and my wife, daughter, and I sailed out the Golden Gate in 2007 on our 38 foot Hans Christian cutter (sailboat) on a 3 year cruise. Read about it at http://sailsugata.com.
Links
Hosting
I use DreamHost for hosting small personal sites. They are a mixed bag as all shared hosting providers are but for the price and storage they can't be beat. If you choose to signup use promo code GABRITO to save $50 on your first year.
For bigger websites which require load balancing, numerous app servers, database replication, CDN, etc I use the Amazon Cloud Services.
-
Recent Posts
- Backup your Gmail
- Naming your business or product, forget the domain
- Storing Git repositories in Amazon S3 for high availability
- Acceptance Testing non Ruby web applications with Cucumber
- Code readability through conciseness
- Mac OS X gem cleanup failing
- iPhone development the easy way
- Production MySQL performance tuning
- Selenium Continuous Integration Runner
- Standalone Migrations: Using Rails migrations in non Rails projects
Categories
- Accessibility
- Agile Development
- AJAX
- Blogging
- Cloud Computing
- Continuous Integration
- CSS
- Database
- Design
- Desktop
- FreeBSD
- General
- Humor
- Java
- Javascript
- Life
- Links
- Linux
- Management
- Maritime
- MySQL
- OSX
- Quality Assurance
- Ruby
- Ruby on Rails
- Sailing
- Scala
- Search Engine Optimization
- Software Engineering
- Source Control
- Systems Administration
- Technical
- Testing
- Travel
- Uncategorized
- WAP and WML
- Web
- XML
Category Archives: Java
The pain of redeploying makes for better TDD
Dions thought provoking blog entry on Refactoring tools are fantastic and overrated inspired me to think more in-depth about the deploy/redeploy nature of Java web development. He makes the point that while tools like IDEA have great refactoring, that other … Continue reading
Testing DAOs and Business Facades
One of the tough decisions many people face regularly with DAOs and business facades is how best to test them. At work our current solution is that we let DAOs interact with the database which we've prepopulated with DBUnit and … Continue reading
Forking a dependency with a patch
Dion (whose blog I enjoy) wrote an interesting blog entry about forking a dependency in Java versus Ruby. For example say you need to patch Hibernate or ActiveRecord with a fix that hasn't been released yet. Then you want to … Continue reading
Zero downtime deploys with Tomcat
One of our systems administrators at work setup our zero downtime deployment solution with Tomcat which so far has worked pretty well for us. We needed a zero downtime deployment solution because we strive to practice agile development and therefor … Continue reading
One artifact/file per build process
Building on my most recent post, another objective we have at work is that each build process (which maps to one CVS module) generates one and only one artifact (e.g. a single WAR, plain old Jar, or a Javaapp Jar). … Continue reading
One WAR for development, staging/QA, and production
One of our objectives at work with our build process is that whichever artifact (jar/war) gets built, that it can be exactly the same everywhere, whether it's running on your workstation, cruise-control, qa staging server, production, etc. In other words, … Continue reading
Changing a URL without changing all your HREFs
When writing JSPs using Spring MVC and Struts I've found myself hard-coding URL's and it just doesn't feel right. Later when I decide to change the URL of a page I have to go through and search replace that URL … Continue reading
Search Engine Friendly URLs in Java
At work I’ve been looking into doing search engine friendly URL’s in Java. For those not in the know, a search engine friendly URL is of the form http://www.domain.com/foo/value1/value2 as opposed to the more typical approach of http://www.domain.com/foo?param1=value1¶m2=value2. In my … Continue reading
Two additional Ruby features I wish were in Java
I’ve been tinkering with Ruby a little, mainly so I know what I’m missing since a lot of people really seem to dig it. Ruby has a lot of nice features that I like including mixins, closures, Rails scaffolding, active … Continue reading
Only crazy people redeploy a webapp after editing a class or JSP
I tell ya, one of the things I love about Ruby, Python, Perl, etc… is that when you make a change to a the code or presentation layer, all you do is hit refresh in your browser. With java and … Continue reading