Posted on

Grails is Hard

It really is difficult to get used to Grails.

Is “copy paste” really that EVIL that we must obliterate it from the programmers tool kit?

I could have copy pasted my way to a CRUD ten times faster, then trying to manage it with Grails.

It took my co-workers a lot of time to figure out “cascading” and critical ORM concepts.

I find myself regenerating views, and copy pasting my changes back in, every time I want to change the domain class.

Just doesn’t feel like a mature Web Framework.

Posted on

Who is Douglas Crockford?

Saw an interesting JavaScript pre-processor written by Douglas Crockford.

So I naturally began to research this man, and why anyone should be interested in how he goes about developing his applications.
Well it turns out he is a senior developer working for Yahoo on YUI library.

Here is a good introduction to who he is and what he does:

The lecture about ancient languages reminds me of a great book called “Snow Crash”.

Posted on

Node.js + Require.js for CSS optimization

When I worked on disneymoviesonline.go.com we had a very sophisticated build script that would take care of the compression and optimization of CSS and JavaScript. Primarily, we relied on google closure compiler for the the JavaScript optimization and a different method for merging and minifying the CSS.  Actually not completely sure what the CSS process entailed, since I came in near the end of the project, I actually had to produce results without knowing the system in and out. No complaints here, really, It’s always a pleasure working on a site that is in production and optimized for millions of page views.

I am quite curious as to how DMO resolved the issue of being stateless and still having an authentication system.  Since we are cooking something up right now with Grails, at Disney Advanced Technology, and the back end guys have to integrate spring security and yet keep the app stateless.

Ultimately you are never REALLY stateless. And something like a memcache tier can house the states. What the main issue there is scalability across a load balanced system.

Anyway, what I wanted to mention was that for those of you who are young, and are not relearning a new way to do an old trick, and don’t mind that google will probably replace all this JavaScript stuff wit Dart very soon anyway, you should really take a look at using require.js for CSS optimization during your build process.

Posted on

Backbone.js with Grails

So I am using Grails once again. Looks like another decision maker has bought into the hype that re-learning how to do what software engineers like myself have been doing for 10+, in what is supposedly advertised as a “quicker and better” way, is the way to go.

Recently I had the opportunity to ask someone who works for a major entertainment website why they chose Zend Framework / PHP instead of going with the more traditional paradigm of using Java for their Enterprise application.

His answer: “To leverage the knowledge base of my existing team.”

I agree with this first and foremost. I am resistant to change.

But I am also sympathetic to the new technologies emerging. Compiler writers need something to do. And I don’t mind being paid to Architect Software using new solutions.

So I will be integrating Grails with Backbone.js to hopefully create a very Rich Internet Application, for my client, in the next few months.

Posted on

Godaddy SSL on Apache, Ubuntu 11.10

So I am setting up www.astoreforbeauty.com, www.winwinhost.com, and www.imagemodifier.com SSL certificates.
I purchased the SSL certificates from Godaddy.

Signing into my account, and clicking “launch” on the SSL certificate listed in the SSL management page, I see that the first step I need to do is generate the Certificate Signing Request (CSR).

 

They have a nifty guide on how to generate a Certificate Signing Request for Apache 2.x

First step is to go ahead and log in to your server’s terminal (SSH).
Then to enter the following command:
openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr

Replace yourdomain with the domain name you’re securing, and answer the prompts as they come up. Avoid abbreviations for States and Cities.
Open the file and paste the full CSR into the SSL enrollment form in your account.

You will then get an email from Godaddy when your certificate is ready.

Download the file, and follow the last bit of their installation instructions:

  1. Copy your SSL certificate file and the certificate bundle file to your Apache server. You should already have a key file on the server from when you generated your certificate request.
  2. Edit your Apache configuration to reference these files. The exact configuration file you will edit will depend on your version of Apache, your OS platform, and/or the method used to install Apache. In Apache 1.3, you will most likely edit the main httpd.conf file. In Apache 2.x, you will most likely edit the ssl.conf file.
  3. Locate the following directives. If one or more of them are currently commented out, uncomment them by removing the ‘#’ character from the beginning of the line. Set the values of these directives to the absolute path and filename of the appropriate file:
    • SSLCertificateFile /path/to/your/certificate/file
    • SSLCertificateKeyFile /path/to/your/key/file
    • SSLCertificateChainFile /path/to/intermediate/bundle/file
  4. Save your configuration file and restart Apache.

 

I was getting this error at first:

Secure Connection Failed
An error occurred during a connection to www.astoreforbeauty.com.
SSL received a record that exceeded the maximum permissible length.
(Error code: ssl_error_rx_record_too_long)

 

So I went through the GoDaddy steps and saw that #2, was already done.
Matched step three instruction. And then resolved the ssl_error_rx_record_too_long problem by adding another <VirtualHost> entry to listen on port 443.

Best practice to isolate the domain on a dedicated IP.

 

Posted on

Cappucino, Web App framework

So I am preparing for a contracting gig that’s coming up.
I will be doing R&D and helping create a web app for an internal project at a large corporation.
Cappuccino came to mind, because it was mentioned during the phone screen, by the hiring person.

So I am playing around with this again, for the first time since 2010.
And I see that the developers are so fixated on working on Mac’s and OSX that the bootstrap.sh script they distribute on their site won’t even work on other flavors of linux, like my Ubuntu 11.10 server system.

Seems like they are working themselves into a corner. Whats the point of making something open source, if you must have a Mac in order to develop on it.

curl https://raw.github.com/cappuccino/cappuccino/v0.9.5/bootstrap.sh >/tmp/cb.sh && sh /tmp/cb.sh
/tmp/cb.sh: 3: Syntax error: “(” unexpected
robert@winwinhost:~$ sh /tmp/cb.sh
/tmp/cb.sh: 3: Syntax error: “(” unexpected

Is what I am getting on my Ubuntu box.

But the install has seemed to work just fine on my CentOS server.

Posted on

Google’s new Language Dart

Dart is supposed to be a new virtual environment that is getting plugged into Chromium.

Which means Dart will work in the Chrome browser.

Its supposed to fix the gaps in JavaScript that don’t allow for development of large apps.

Hum..

Why doesn’t Adobe just open source the flash player, and we can transmit ActionScript instead of Dart. That way we can keep all the great features and existing apps. Adobe pretty much as submitted to the will of the open source giant’s W3C. And since the web WANTS and NEEDS to be open, Adobe should just open up instead of fall to the way side.

 

Posted on

lessCSS and Object Oriented CSS

So if you read my bio, you will see that I am much more inclined to the art of programming then the art of graphic design.
I can design a webpage, I can design software. I can’t draw. I can manipulate Photoshop and Illustrator assets. And I recently realized that I cant create mockups, plain html mockups, because I am too busy doing the project the right way, for eventual production launch.

But I was not classically trained in design.
So I end up doing more work in the backend, and sometimes let my front end knowledge slip.

At least that’s the current feeling I am in possession of as I sit here, keying away.
Why? Cause I recently had an interview with Disney Studios in Burbank, didn’t get the job, and the reason was that my CSS was not bleeding edge.

So I do what I usually do when I fail an interview.
Recalling the event, I take notes, and rework my knowledge base to fill the gaps.

Hence this post. More for me, really.

I must remember to implement a project using the lessCSS framework.
Or other CSS frameworks.
I guess, first I should start by evaluating CSS frameworks.
I had to do something similar with JS and PHP as well.
Time to catch up on the CSS.

Posted on

dont be evil?

Zuckerberg calls his end users dumb f*ks.
Google is now a governments wet dream, with enough computing and storage power to hold a record on all of us.
WTF are we supposed to do?

Well guess what, your all F*d.
You keep posting your precious priceless content on the third party sites that track everything you do and make it public record.

And I will simply run my own cloud storage, my own decentralized social network, and my own search engine.

Posted on

Keep The Web Open? #Open

Today I left a comment on the proposed Open Web bill:

No regulation on the internet! Capitalism and greed are out of control! Regulate the banks. Regulate the oil industry. Stop illegal warfare.

If the NRA can keep their guns, then I refuse to have anyone touch my internet!

There is a lot more wrong with the world, and the USA, then the internet.

Lets overturn the Citizen United rulings that put human beings behind corporations.

Leave the NET untouched!