Ramblings

May 27, 2010

Ruby, OS X, MAMP, MySQL, do_mysql and getting it installed

Filed under: install, mysql, osx, ruby, tip — michaelangela @ 7:33 am

This took a lot of time. In hopes that this will help someone else, I add this link.

How to install the MySQL/Ruby gem on Mac OS X Leopard

Here’s the situation. I have MAMP. For legacy reasons my current MAMP 1.7.2 is in a custom directory. I use ruby. In particular I wanted to use DataMapper in a project with ruby. I wanted to use it with MySQL. That requires do_mysql. It just would not install with all kinds of errors. Well one in particular. It complained of possibly missing headers or libraries. After a long search the above link surfaced from the depths of Google. It almost worked for me. Everything but the last command actually. So for me, the command I ended up using is something like:

sudo env ARCHFLAGS=”-arch i386″ gem install mysql — –with-mysql-dir=/Applications/MAMP_1.7.2/Library –with-mysql-include=/Applications/MAMP_1.7.2/Library/include/mysql –with-mysql-config=/Applications/MAMP_1.7.2/Library/bin/mysql_config

This is OS X 10.5.8 Leopard

Advertisements

February 4, 2010

TyZ » Blog Archive » Cache and preload Gaia pages

Filed under: Uncategorized — Tags: , , , — michaelangela @ 7:27 pm

I am looking at using Gaia for an upcoming project but not being able to use the cache might be a bit of an issue. I do wonder why it’s not caching at all if the browser is set to cache though. I’ll have to try it out and see what is being requested.

I use Gaia a lot. I think it’s a great and powerful framework to create page-based Flash sites. But there is a problem: Gaia creates a SWF for every page. And every time you visit a page, the SWF is loaded again. Even if you already visited that page. Also it is not possible to preload pages you are not visiting.To make page caching and page preloading possible, I have created the ‘CacheLoader‘ and ‘CacheURLLoader‘ classes.

TyZ » Blog Archive » Cache and preload Gaia pages

Hmm… gonna have to get used to Flock, too. Looks like I can’t add categories…! Must use tags.

Blogged with the Flock Browser

Flock test

Filed under: tool — michaelangela @ 7:17 pm

Flock test

Blogged with the Flock Browser

What’s your ‘no framework’ PHP framework? – Stack Overflow

Filed under: dev, frameworks, php — michaelangela @ 7:04 pm

I recently did a project for a film company in New York. Neat group. I did the PSD2HTML/CSS, Flash, jQuery goodness, and other related functionality on the server side. Fun stuff. But it didn’t need a complex backend so it’s just simple PHP. That made me start to ask the same question asked here:

Even with a ton of PHP frameworks out there to choose from, I know many people prefer a minimal, personal set of libraries. What is your method when it comes to ‘rolling your own’ framework for PHP applications, and how does it vary depending on the type/scope of a project?

via What’s your ‘no framework’ PHP framework? – Stack Overflow.

There were a good number of recommendations. I actually really liked using CodeIgniter but at that time there was no user management. I believe it did cleaning of input for you when needed. Most CI solutions were older/not maintained, or had other issues that made it not something I wanted to do again. There was one library that I ended up using, and I’ll have to dig up the name of it. It was an early release at the time and I had to hack it to work with Flash. Hmm, I just saw this… I’ll have to take a look at that. Oh and there is also this… Hmm… going to have to peruse this list a bit more

ANyway, so, a lightweight PHP framework/library that cleans up input (no XSS attacks, etc.) and has easy validation, user management… one user from  the original Stack Overflow question mentioned Flourish:

Flourish is a PHP unframework — a general-purpose, object-oriented library.

It has a modular architecture, meaning it isn’t strictly MVC. It focuses on being securewell documented and easy to use, while solving problems intrinsic to web development.

Why Use Flourish?

You will find Flourish useful if you need to write code that is any of the following:

  • Secure
  • Consistent and easy to understand
  • Needs to model simple or complex databases, especially existing schemas
  • Works with international data
  • Can perform accurate math calculations
  • Easily manipulates images
  • Able to run on different databases (MySQL, PostgreSQL, SQLite, MSSQL, Oracle)
  • Can be used on closed-source projects
  • Needs to run on PHP 5.1.6
  • Needs an architecture other than MVC
  • Plays nicely with other libraries and frameworks

via Flourish — PHP Unframework.

Javascript frameworks

Filed under: dev, javascript, mvc — michaelangela @ 6:49 pm

Looking at client side MVC for Javascript. Some that have come up:

Trimpath:

The open source Junction framework is a conventions-over-configuration, synchronizing web MVC framework for JavaScript.

”’TrimPath Junction”’ is a clone or port of the terrific Ruby on Rails web MVC framework into JavaScript.

”’TrimPath Junction”’ is also sometimes referred to as TrimJunction, or as just Junction.

via TrimJunction – trimpath – Project Hosting on Google Code.

Claypool:

Claypool is a small, fast, railable Javascript Application Framework , built on jQuery that provides all the usual important patterns for large, long-lived client-side apps, server-side apps, or something strangely, beautifully in the middle.

via Claypool: A jQuery Web 1.6180339… Application Framework.

Jamal:

Jamal is a set of conventions and small javascript libraries to archieve a complete separation of html, css and javascript in your web application. Jamal is built on  jQuery and inspired by MVC frameworks like  Ruby on Rails,  CakePHP and its derivatives.

So Jamal tries not to stand in your way and helps you to organize your javascript code. Javascript code is likely held in functions and used to end up in spaghetti.

via Jamal.

JavaScriptMVC:

JavaScriptMVC is an open-source framework containing the best ideas in enterprise JavaScript development. It guides you to successfully completed projects by promoting best practices, maintainability, and convention over configuration.

via JavaScriptMVC.

When GitHub goes down…

Filed under: cool, git, tool — michaelangela @ 6:45 pm

So I started to try out github to work with some AS3 related code which I’ll talk about in an upcoming post. I just forked a bit of code I wanted to make changes to and then not long after that Github went down. But…

Don’t Panic! Because of the distributed nature of git, everyone always has a local full copy of the repository, complete with history. Any of your repositories, assuming they have been kept up to date, can be uploaded to the GitHub repository with no loss of data.

via When GitHub goes down….

Pretty cool! I really like the embedded server bit. Very neat indeed.

January 19, 2010

Tracking Flash usage

Filed under: as3, dev, tool — michaelangela @ 7:47 pm

stats – mrdoob – FPS, MS and MEM. All in one. – Project Hosting on Google Code

This class provides a simple info box that will help you monitor your code performance.

* FPS Frames per second, how many frames were rendered in 1 second, the bigger the better.
* MS Milliseconds needed to render a frame, the lower the better.
* MEM Memory your code is using, if it increases per frame is VERY wrong.
* MAX Maximum memory the application reached.

2.5D in Flash

Filed under: 3d, flash — michaelangela @ 7:45 pm

Looking at doing some experiments that may require 2.5D in Flash. These two libraries look helpful:

coordy — Some Random Dude

coordy is a Flash layout toolkit that allows you to easily organize items in various layout patterns.

and

Elemental 4D – Practical 3D for Flash Media

The first time I experimented with 3D flash is a very clear memory. I was young, and naive, full of hope and romantic dreams. Her name was Sandy.. 3D… 3.0, and she tempted me with her new thinking and careless and free download. I learned a lot about 3D from Sandy, and to this day, I reminisce of our beautiful times together. But sometimes love just isn’t meant to be. The pressures of designs needing exact dimensions on displayed objects, vector graphics, and perfectly predictable placement of objects tore us apart. 3D just isn’t how most designers design. They think they want 3D, but the moment something has lines that aren’t perfectly parallel to the edges of the browser (as 3D often does) they are not amused. And let me tell you, telling an illustrator that he/she should learn 3D math so that they can predict how your program will display their objects when moved around does not go over well.

Nice short tutorial on css positioning with visual demo

Filed under: css — michaelangela @ 7:41 pm

Learn CSS Positioning in Ten Steps: position static relative absolute float

Learn CSS Positioning in Ten Steps

This tutorial examines the different layout properties available in CSS: position:static, position:relative, position:absolute, and float.

Helpful AS3 libraries

Filed under: as3, flash — michaelangela @ 7:38 pm

Tools & Libraries at AlecMcE.com

AS3 Libraries

I use the following third-party AS3 libraries:

December 17, 2009

Some notes on python and com using comtypes

Filed under: com, python — michaelangela @ 2:25 pm

CodeProject: Working with custom COM interfaces from Python. Free source code and programming help

There are a lot of tutorials on Python and COM over the Internet, but in real practice, you might quickly be confused just going beyond standard IDispatch things. The same occurred to me when I decided to write unit tests for our set of COM components. The components are rather simple, they implement one custom interface (derived from IUnknown) and one outgoing IDispatch interface for events.

First, I tried to use the standard pythoncom module, but it turned out that it didn’t support custom COM interfaces. Then, I downloaded the comtypes package and started playing with it. Due to a lack of documentation, it took me about one night to write a simple example. So, here is a step-by-step guide on how to begin using comtypes.

up next…

Python Order2Go Example – DailyFX Forum

For all Python programmers out there that like to play a little with Order2Go:
(On Windows Platforms only)

These are of interest specifically because they deal with getting events from the COM objects and handling them.

Doh! No more testing IE on a Mac now?!?!

Filed under: ie, parallels, virtualization — michaelangela @ 2:21 pm

So I have Parallels 5, and I was about to do some tests but hadn’t gotten things up and running on this box before so I went, did the 500_MB download (XP SP3 not Vista!), loaded everything up, and then “eh? activation?”

IE VPC Images now with WGA :: Crisis Averted!

Just when I was on a virtualization roll using VirtualBox for testing IE on my Mac, Microsoft stopped me dead in my tracks. The latest version of Internet Explorer Application Compatibility VPC Images now have the anti-piracy features of Windows Genuine Advantage enabled.

The hardware signature detected when a VPC image first boots in a non-VPC host is different from the signature present when the image was first created, presumably in VPC. This difference triggers WGA’s re-activation requirement to make sure you’re not a dirty pirate. Of course you’re not a dirty pirate, but if you wish to re-activate Windows you’re going to need the original Windows Product Key which isn’t provided with the VPC images. Microsoft has effectively blocked end users from hosting the VPC images with anything but Virtual PC.

December 14, 2009

PathTools and iTerm instead of Terminal

Filed under: applescript, automation, eclipse, iterm, osx, pathtools, Uncategorized — michaelangela @ 9:44 am

So as noted, I tried using PathTools with FleBuilder under Eclipse 3.5 except FlexBuilder just has too many issues under 3.5. I gave up on PathTools with FlexBuilder but it’s been just awesome with the recent JaveEE 3.5 build. I only had one not-even-gripe as there really isn’t anything to complain about. It opens Terminal for the new paths instead of iTerm. Fortunately a little scripting later and it’s all good based on some code from the iTerm site and also this snippet.

You can see in the PathTool preferences what is called in order to do some of the interaction. Launching a terminal in the selected path is simple enough and is located here: /Applications/eclipse/configuration/org.eclipse.osgi/bundles/685/1/.cp/scripts/cdterminal.scpt

Changing that to the following makes it launch iTerm instead, with a little simple error correction. I hadn’t done Applescript stuff before so was just trying it out. I love these little bits of integration/customizations that are possible.

on run argv
set cdTo to item 1 of argv
tell application “iTerm”
activate
— talk to the first terminal
tell the first terminal
— launch a default shell in a new tab in the same terminal
try
launch session “Default Session”
on error
display dialog “There was an error creating a new tab in iTerm.” buttons {“OK”}
end try
tell the last session
try
— cd to the requested cdTo path
write text “cd ” & cdTo
on error
display dialog “There was an error cding to the requested path.” buttons {“OK”}
end try
end tell
end tell
end tell
return
end run

Simpler Java asynch IO with JBoss Netty

Filed under: cool, education, groovy, java, mina, netty, tip — michaelangela @ 3:57 am

I don’t know what this will look like since I am using Scribfire which doesn’t like to deal with code very well… that should be a standard disclaimer on this site! I try to clean it up as best I can within a short timeframe though. 🙂

I recently wrote about some Java libraries/code that would simplify asynch socket communication. I hadn’t looked far enough! Looking for references on Groovy asynch programming I came across this:

ojug meeting tue oct 20th — grails and/or netty : Omaha Java Users Group

Netty has been getting some press as a potential successor to Apache’s Mina asynchronous I/O framework for building low-level custom protocols. E.g. previously I’ve used Mina to talk binary to a card processing system.

And checking in to MINA and Netty yielded some nice info. There is a great little tutorial on writing a simple server in MINA 2. But the simple Netty TelnetClient example was exactly what I was looking for. Specifically:

TelnetClient xref

TelnetClientHandler handler = new TelnetClientHandler();
bootstrap.setPipelineFactory(new TelnetPipelineFactory(handler));

For those more experienced with Java, I hadn’t seen a simpler way to assign what is essentially an event handler. The code I had seen before required using slots and keys or other bits that seemed a bit more verbose than needed. But then again that could be simply because of my inexperience in the language at this point. Seeing this immediately made sense coming from AS3. It’s not a closure like in AS3 where each event gets a method call of some sort, named or anonymous, but just a class that handles the events.

TelnetClientHandler xref

@Override
public void messageReceived(

ChannelHandlerContext ctx, MessageEvent e) {
// Print out the line received from the server.
System.err.println(e.getMessage());

}

Sweet and simple. Once that’s assigned you can go into your “do forever” loop and do the writing that needs to interact with the server.
TelnetClient xref

// Read commands from the stdin.
ChannelFuture lastWriteFuture = null;
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
for (;;) {

String line = in.readLine();
if (line == null) {

break;

}
// Sends the received line to the server.
lastWriteFuture = channel.write(line + ‘\n’);

// If user typed the ‘bye’ command, wait until the server closes
// the connection.
if (line.toLowerCase().equals(“bye”)) {

channel.getCloseFuture().awaitUninterruptibly();
break;

}

}

Even without Groovy this is really straightforward. I guess a Groovy implementation of Netty would reduce all of this to like 3 lines of code? Heh. 🙂

December 11, 2009

On the road to becoming a software architect

Filed under: dev, education — michaelangela @ 1:56 pm

I can write components, tie them to data with an MVC model and get things done without any guidance except “this is what it needs to do”. A recent post details recommended programming books. I’m in on the first one, Code Complete 2nd Edition, at section 3.5: Architecture Prerequisite. The book is mostly about construction so it doesn’t delve deeply into architecture but it’s an area I want to develop in. The questions being laid out in this section and the previous one (Requirements Prerequisite) are hitting the issues I have had to fight when things aren’t clear from the beginning. This is extremely helpful for me even when not architecting huge projects.

I have one coming up where the client wants a flat XML file to manage all data instead of a backend database. It will be quite a bit of data as I understand it, not having seen it. I have a better idea now of what to ask when I do set eyes on it for the first time (hopefully soon…).

HP SWFScan Flash security tool

Filed under: as2, as3, flash, security — michaelangela @ 10:50 am

Too bad it’s windows only. I wonder if it would run under wine… at any rate the idea is pretty good. I’ll have to do some more reading to see if it lives up to its promise.

Register now to download FREE HP SWFScan and start securing your Flash applications

HP SWFScan, a free tool developed by HP Web Security Research Group, will automatically find security vulnerabilities in applications built on the Flash platform.

Recommended programming books in the queue

Filed under: dev, education — michaelangela @ 5:10 am

I can’t find the site that brought me here. The first one, Code Complete Second Edition, reading now, is quite eye opening and written for someone just like me: the self taught developer. My major in college was East Asian Language and Culture with Japanese as the language of choice. I have forgotten most of the Japanese I learned and instead speak Chinese now. Go figure! The language learning process fascinated me though and I think that helped prep me for a career in development. So when my type was included in the “who this book is for” that really caught my eye.

The next one down, The Pragmatic Programmer, has been on my “want to read” list for a while ever since I heard about the Pragmatic Bookshelf and got some goodies on iPhone development there.

And with #3, Structure and Interpretation of Computer Programs, being available freely online, I can’t pass that up! 🙂

What is the single most influential book every programmer should read? – Stack Overflow

If you could go back in time and tell yourself to read a specific book at the beginning of your career as a developer, which book would it be?

I expect this list to be varied and to cover a wide range of things. For me, the book would be Code Complete. After reading that book, I was able to get out of the immediate task mindset and begin to think about the bigger picture, quality and maintainability.

Suggest your programming books

How to package a jar for groovy with maven?

Filed under: automation, groovy, maven — michaelangela @ 4:14 am

Unfortunately the docs are still TODO

Building Groovy Projects – GMaven – Codehaus

groovy-jar Packaging
TODO

However there are some helpful links out and about:

NBT Consulting – Groovy with Maven Quick Start

A Groovy based Maven project can come in at least two different packaging/artifact types: groovy-jar and war . For more information about groovy-jar packaging, see http://mojo.codehaus.org/groovy/groovy-maven-plugin/mixed-compilation.html This document contains two sets of quick start instructions depending on the packaging/archive type the Maven project is to build:

  • Option A: Creating a new groovy-jar Package Groovy-based Module Maven Project (Non-web)
  • Option B: Creating a new war Package Groovy-based Module Maven Project (Web)
    • Bonus: Add Some Ajax Examples with GSP as the Server-side

And another example using Processing.org exported code:

NBT Consulting – Processing.org, Groovy and Maven Together Quick Start

This Quick Start Guide will demonstrate how to create, build and run two Processing sketches written in Groovy incorporated into a project that uses Maven to build. According to the book “Groovy in Action”, Groovy can be run in either direct mode or precompiled mode . In this guide, one Groovy script will be compiled to a Java class file (precompiled mode) and the other Groovy script will be left uncompiled (direct mode).

Building groovy projects with maven

Filed under: automation, groovy, maven — michaelangela @ 4:02 am

So now that I know that Java and Groovy can coexist, the next question is can maven be used to compile a groovy project.

Building Groovy Projects – GMaven – Codehaus

GMaven has kick-ass support for compiling Groovy projects with Maven!

And not only that but it can generate POM files for you tooBuilding Groovy Projects – GMaven – Codehaus

To help get Groovy projects started faster, you can use the gmaven-archetype-basic. This will create a new project with the basic POM configuration and some example classes to get you started quickly:

mvn archetype:generate -DarchetypeGroupId=org.codehaus.groovy.maven.archetypes \
-DarchetypeArtifactId=gmaven-archetype-basic -DarchetypeVersion=<version>

Is it possible to add groovy code to a java project?

Filed under: groovy, java, tip — michaelangela @ 3:47 am

Yes and it’s not so crazy either. The fact that you can swap the extension of a Java class to .groovy and continue to build with it in groovy is pretty cool, too.

Wabi Sabi Software: A Tutorial for Adding Groovy to a Java Project

The steps are basically
a) download and install the Groovy GDK
b) add a how-to-compile-groovy task to your Ant build.xml (the task is included in the GDK)
c) add the groovy-all.jar file to your library path
d) add the groovy-plugin to your Eclipse project
e) enable groovy-nature in your Eclipse project
f) write a Groovy class and use it.

Overall this should take no more than twenty minutes or so. One of the really cool things is that once you have a Groovy class you can use it from your Java classes just like any other class…your Java code has no idea its using a class written in Groovy.
Now lets look at the steps listed above in cookbook manner.

December 10, 2009

Java async communication tools tips and tricks… well only 2

Filed under: education, java — michaelangela @ 1:34 pm

Java async communication is no simple matter and these posts highlight the issues as well as provide some solutions. The NIO tutorial is close to what I want but the callback API may bring in the simplicity I desire. I’ve been dusting off the Java portion of my memory and digging in a bit.

Rox Java NIO Tutorial

This tutorial is intended to collect together my own experiences using the Java NIO libraries and the dozens of hints, tips, suggestions and caveats that litter the Internet. When I wrote Rox all of the useful information existed as just that: hints, tips, suggestions and caveats on a handful of forums. This tutorial actually only covers using NIO for asynchronous networking (non-blocking sockets), and not the NIO libraries in all their glory. When I use the term NIO in this tutorial I’m taking liberties and only talking about the non-blocking IO part of the API.

tech: Java : A callback API for epoll(), building on top of Java NIO

I just finished the first draft of the Java callback API that allows you to do asynchronous socket communication using the scalable epoll() mechanism of Linux. This is built on top of Java NIO, so it will take advantage of the best underlying network mechanism the OS has to offer. In Linux 2.6 + /FreeBSD this will likely be epoll().

…snip…

The Java NIO api can certainly be used for this purpose. But using that API is somewhat difficult and there are various caveats you have to guard against. You need to understand the Selector class, SelectionKey class, InterestOps class, SocketChannel class and their interplay. You need to know the logic for canceling SelectionKeys and setting InterestOps appropriately. And you need to understand the cryptic ByteBuffer class and its variants, possibly how the ByteArrayOutputStream works as well. You need to figure out how to use these classes to store the data separately for each connection, keeping in mind that the data will likely arrive mixed. You also should not call select if all sockets have been completely read, or select() will block – which means you will have to keep track of pending hosts.

December 9, 2009

Manual (local or remote) install of maven artifacts needs sudo

Filed under: maven — michaelangela @ 6:04 am

While prepping to what I outlined in my last post about installing a maven artifact manually, I happened to search to see if it could be done remotely since I knew the repository location. That only makes sense considering what maven itself does. This post on the ever helpful Stack Overflow gave the steps but it just wouldn’t work. I even downloaded the dependency:get plugin and successfully installed it with:

sudo mvn install:install-file -DgroupId=org.apache.maven.plugins\
-DartifactId=maven-dependency-plugin -Dversion=2.1 -Dpackaging=jar\
-Dfile=./maven-dependency-plugin-2.1.jar

That sudo is the required bit. It kept failing without sudo until i turned on mvn -e to see exactly what was happening and why it failed:

Downloading: http://repo1.maven.org/maven2/org/codehaus/mojo/exec-maven-plugin/1.1/exec-maven-plugin-1.1.jar
[WARNING] Unable to get resource 'org.codehaus.mojo:exec-maven-plugin:jar:1.1' from repository central
(http://repo1.maven.org/maven2): Specified destination directory cannot be created:
/Users/michael/.m2/repository/org/codehaus/mojo/exec-maven-plugin/1.1

at first glance it looked like it couldn’t download it which is what I assumed. The actual problem was that it couldn’t create the directory! So with this

sudo mvn -e org.apache.maven.plugins:maven-dependency-plugin:2.1:get \
-DrepoUrl=http://repo1.maven.org/maven2/ \
-Dartifact=org.codehaus.mojo:exec-maven-plugin:1.1

it worked.

Now it’s time to see with this installed can I actually run the Marketcetera ORS…
[update]
IT’S ALIVE! The ORS launched though I had to run

sudo mvn -PexecuteDBInit exec:java

to get the database initialized properly. It aborted when running

mvn -Pexecute exec:java

because the table execreports was missing.

Manually installing a Maven artifact

Filed under: marketcetera, maven — michaelangela @ 5:10 am

In an effort to try out Marketcetera’s open source project, I have been working on building the platform on OS X 10.5. Those instructions were for earlier machines so I have been able to get it to build without using Soylatte 1.6 by resetting the default java used to the already installed 1.6.0. Because of out of memory errors I had to boost the memory directly in mvn.sh by adding

export MAVEN_OPTS="-Xmx1024M -XX:MaxPermSize=1024m"

directly after the copyright notice. That got me through the build process. One test has an error causing the build to fail but building it without testing successfully creates the build. But then running it with

marketcetera-platform/source/ors$ mvn -Pexecute exec:java

fails complaining about missing the org.codehaus.mojo:exec-maven-plugin:pom:1.1 artifact. It’s there, but maven 2.2.0 is not actually supported. I should be using maven 2.0.9. After changing back to maven 2.0.9 I tried to do a mvn clean to start over and it complained of another artifact missing: org.apache.maven.shared:file-management:jar:1.2.1. But this time it gave some useful advice:

Missing:
----------
1) org.apache.maven.shared:file-management:jar:1.2.1

Try downloading the file manually from the project website.

Then, install it using the command:
      mvn install:install-file -DgroupId=org.apache.maven.shared -DartifactId=file-management -Dversion=1.2.1 -Dpackaging=jar -Dfile=/path/to/file

So before I give up on 2.2.0 I’ll try to add this missing file-management artifact and also the exec-maven-plugin as well and see how it goes.

December 8, 2009

sudo visudo and environment variables like JAVA_HOME

Filed under: bash, java, osx, tip — michaelangela @ 3:26 am

I was trying all sorts of incantations to get JAVA_HOME set. None worked. OS X. Bash. .bashrc, .profile, etc., etc. Turns out the following is the problem, and the solution.

sudo, JAVA_HOME and Mac OS X [Article] « elc technologies

The problem is that JAVA_HOME doesn’t get passed to sudo, so sudo cannot access it. I remembered two solutions to fix this problem, one by telling the env to keep the variable and the other by switching to root user and exporting the variable there.

So, the first solution is to make the JAVA_HOME variable available to sudo, first export it and then run sudo visudo and add the following line to it:

Defaults    env_keep +="JAVA_HOME"

[update]
In the end, it had to go in /etc/profile for it to take as noted below. Maven (mvn -v) just would not show the new version of java otherwise and builds done with maven would fail because they targeted the wrong version as well.

Compiling Java 1.6 projects using Maven on Mac OS X

You can declare this either as a one time export in your current shell above, in /etc/profile as I normally do or in any other startup file of your choice. Afterwards be sure to refresh your shell before you try again. This can be done either by closing your current terminal window and opening a new one or by sourcing whichever file you’ve put the above information into.

source /etc/profile

In order to make sure that it has taken effect one can output it in the shell as follows.

echo $JAVA_HOME

If it shows nothing then the shell has not picked up your change.

December 7, 2009

Flex… um… without Flex?

Filed under: as3, cool, flex, mxml — michaelangela @ 12:56 pm

I had just mentioned compiling MXML without using FlexBuilder and did a quick Google on it to see the current state of such integration. Wow this is pretty cool. 😛 Some neat info and projects in the comments as well including FLit.

Using MXML without Flex (Example and Source) | Ryan Campbell

I made a few minor changes to the MinimalComps project from Keith Peters and got it playing nicely with MXML. The below application compiles to a tiny 23KB yet makes use of MXML and even data binding.

« Newer PostsOlder Posts »

Create a free website or blog at WordPress.com.