Guess what, JDeveloper doesn't install out of box on a Mac... here's how to fix the JDK issue so you can at least get JDeveloper installed:
cd /System/Library/Frameworks/JavaVM.framework/Home
sudo mkdir -p jre/lib
cd jre/lib/
sudo ln -s ../../../Classes/classes.jar rt.jar
Monday, March 29, 2010
Monday, March 1, 2010
Ok break is over...
Given that railsconf 2010 (and rails 3) is on the horizon, decided it's time to get writing some rails stuff again =)
Of course that means updating the gems I haven't touched in ages.
sudo gem update --system
sudo gem update
oops... rmagick fails complaining about imagemagick... Since I installed it with macports, I figured it would be easy.
sudo port update imagemagick
Except that failed, complaining about gettext. Long story short, I didn't update macports when I upgraded to snow leopard. Easiest (if probably slowest) was to blow away macports.
sudo port -f uninstall installed
sudo port clean --work --archive all
sudo port install imagemagick
An hour or two later... imagemagick works!
Of course that means updating the gems I haven't touched in ages.
sudo gem update --system
sudo gem update
oops... rmagick fails complaining about imagemagick... Since I installed it with macports, I figured it would be easy.
sudo port update imagemagick
Except that failed, complaining about gettext. Long story short, I didn't update macports when I upgraded to snow leopard. Easiest (if probably slowest) was to blow away macports.
sudo port -f uninstall installed
sudo port clean --work --archive all
sudo port install imagemagick
An hour or two later... imagemagick works!
Friday, October 16, 2009
Die MacRoman, DIE!!
OSX defaults to MacRoman for an encoding, so if you're using Maven, you might see messages like:
(edit: had a couple typos, encoding in the property name needs to start with a capital E - camelCase)
[WARNING] Using platform encoding (MacRoman actually) to copySimple enough, but it can cause you headaches. To change to UTF-8, just add the following properties to your pom.xml:
filtered resources, i.e. build is platform dependent
<properties>
...
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
...
</properties>
(edit: had a couple typos, encoding in the property name needs to start with a capital E - camelCase)
Extremely useful maven placeholder based on profile
Someone just showed me this example which solves one of the annoying parts of multiple devs working with multiple resource configurations (databases, mailservers, etc) for different environments (dev,test,prod,etc)
(in project pom)
Then this goes in the build section:
Then in your spring context, you can import just like normal, but using a placeholder now:
So now a normal build uses the staging resources, and something like
mvn install -Pproduction
now uses the production resources.
(in project pom)
<properties>
...
<project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>
<log4j.priority>DEBUG</log4j.priority>
<project.build.listener-resources-context>staging-listener-resources.xml</project.build.listener-resources-context>
</properties>
<profiles>
<profile>
<id>production</id>
<properties>
<log4j.priority>INFO</log4j.priority>
<project.build.listener-resources-context>prod-listener-resources.xml</project.build.listener-resources-context>
<maven.test.skip>true</maven.test.skip>
</properties>
</profile>
</profiles>
...
Then this goes in the build section:
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
Then in your spring context, you can import just like normal, but using a placeholder now:
<import resource="${project.build.listener-resources-context}"/>So now a normal build uses the staging resources, and something like
mvn install -Pproduction
now uses the production resources.
Thursday, October 15, 2009
Removing chars from files in a directory
Some files got generated with symbols like the 'tm' symbol and the system consuming those files can't handle those characters... so we had to remove them.
To identify them:
find . | xargs perl -ne 'print if /[\176-\512]/' | perl -ne 'print "$1\n" if /(\d+),.*/'
To remove the "special" characters:
find . -type f -print0 | xargs -0 perl -p -i -e 's/[\176-\512]//g'
quick and dirty!
To identify them:
find . | xargs perl -ne 'print if /[\176-\512]/' | perl -ne 'print "$1\n" if /(\d+),.*/'
To remove the "special" characters:
find . -type f -print0 | xargs -0 perl -p -i -e 's/[\176-\512]//g'
quick and dirty!
Monday, October 5, 2009
Global git config
Just some quick git options when hopping on a new box:
git config --global user.name "Your Name Comes Here"
git config --global user.email you@yourdomain.example.com
git config --global color.branch auto
git config --global color.diff auto
git config --global color.interactive auto
git config --global color.status auto
Tuesday, September 22, 2009
my perl-fu is weak =/
ok, it's been a LOOOONG time since I've had to uhm, I mean the opportunity to work in perl. This will be my catchall post for useful stuff...
For example:
The special $/ which can be used to slurp an entire file at once if you don't really need to loop over the lines.
For example:
The special $/ which can be used to slurp an entire file at once if you don't really need to loop over the lines.
sub getfile {
my $filename = shift;
open HANDLE, "< $filename" or die "Couldn't open `$filename': $!";
local $/ = undef; # Read entire file at once
$contents = <HANDLE>; # Return file as one single `line'
close HANDLE;
return $contents;
}
Subscribe to:
Posts (Atom)