Delicious Shrimp Marinade
Last night we created a new (to us) marinade for our grilled shrimp skewers. It is loosely based on a recipe, but like all last minute recipes, we used what we had on hand at the time. Here’s what we came up with:
- Fresh squeezed lime juice (I used 3 limes)
- Ginger (ground or fresh chopped, but not pickled)
- Fresh chopped Cilantro
- Minced Garlic
- Sea salt
- Pepper
- Cayenne Pepper
- A small amount of Olive Oil
Basically just mix all ingredients together, thread shrimp onto skewers, and place them into a large ziplock bag. Pour the marinade in and let them marinate in the fridge for about one hour. Grill and serve! Delicious.
Microsoft you are so not user friendly
My latest battle with Bill Gates has come to an end today. Monday morning I decided to configure my new development machine (Dell Precision T3400) and install all of my necessary software for developing C# .NET web applications. Well, after a day and a half, I am finally able to debug and work with my existing C# web applications. But why did it take so very long to get this going?
After setting up my machine with Visual Studio .NET, SQL Server, and Visual Source Safe, I was ready to pull down my projects and get them running on my new development machine. Once that was done (Monday mid morning) I was ready to test the debugger so I could start adding new features to the application(s).
When I tried to debug, I got this error: Unable to debug. Verify that you are a member of the Debugger Users group on the server. No problem, right? Wrong. I added my user account to the Debugger user group, rebooted, but no such luck. Thanks Microsoft. So I spent the majority of the day on Google, my previous dev box, and the administrative tools on the PC.
Today rolls around and I’m fresh, ready to figure this thing out once and for all.
First off, I tried to run the web applications without debugging. When my web browser opened, the app was requesting a login. Ah!!!! Progress! I entered my login information, but access was denied. Interesting. It became obvious that IIS was not configured properly with the .NET framework. Also, I had a stack trace to work with.
I tried everything that I could possibly think of; I read just about every remedy to this error that google could offer up until finally, just a few moments ago, I found someone who offered this as a solution: Run this in the command prompt C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -i.
I did, and now I am able to debug the web applications.
The above executable installs the version of ASP.NET that is associated with Aspnet_regiis.exe and updates the script maps at the IIS metabase root and below.
Only the script maps for applications that use an earlier version of ASP.NET are updated. Applications that use a later version are not affected.
BEER ME!
jQuery, jCrop, and MSIE 6+
If you are having problems getting jCrop to work properly in MSIE 6+, before anything else, download and/or enable Microsoft Script Debugger and run your web app. I wish I would have done that first. After I finally did, however, I found that IE does not like:
var x1 = x2 = y1 = y2 = 0;
But, IE doesn’t mind:
var x1 = 0; var x2 = 0; var y1 = 0; var y2 = 0;
Silly browsers.
Monday morning: jQuery
This morning a request was made to have a button change from ‘Add Photo’ to ‘Uploading’ after a user clicked the button so that a user would know that the page has responded and is processing the request. Since I am collaborating with Hashrocket, and our site is using the top technologies available, I wasted no time in trying to accomplish the requested task with jQuery.
Keep in mind that I have never in my life written any jQuery. Plenty of Javascript, sure; even a smidge of Javascript driven AJAX, but no jQuery. I am happy to say that in less than 15 minutes, and 3 lines of code, my goal was achieved. Here is the code:
$('p.add_photo').click(function() {
var uploading = "url(/images/button_uploading.jpg)";
$(this).find('input.submit').css('background-image', uploading);
});
The code above works in all browsers and platforms. Nice huh? Basically what is happening above is that jQuery is adding a click event to the add_photo class that is applied to the paragraph element. Within that click event, a function is fired that creates a local string variable ‘uploading’ and gives the variable a value (which is CSS syntax, declaring a path to an image in a way that CSS will digest and output the image correctly).
Next, the add_photo class uses the ‘find’ function to look for ‘input.submit’, and then .css requests that the attribute ‘background-image’ accept the string value of ‘uploading.’
Not bad for a Monday.
Want to test for Firefox 2 and 3 on the same machine?
You can! Just download the portable version of Firefox 3 and keep your version 2 without upgrading. This way you can test your web applications in these two similar but different versions on the popular Mozilla browser.
More fun with CSS and IE6
My Ruby app views are almost completely controlled by CSS. Said application also renders properly in all browsers and platforms. This is not an easy feat by any means. My most recent battle with IE6 started with a floated div that contains an unordered list. The list is written dynamically by Ruby in groups of three (per line) based on how many images have been saved by a specific user.
These images are click-able thumbnails; meaning that when you click on the thumbnails, an action is to occur. There are anchor tags wrapped around the images, however, we are using the Ruby link_to_remote method, which produces an onclick event the calls ajax functions and the callbacks associated with those functions.
IE6 failed to render the thumbnail images, so naturally I thought the IE6 DOM implementation was having a problem with the ajax calls and callbacks. I removed the link_to_remote method, and the thumbnails rendered. I could not find anyone even close to experiencing the same problem as I was, which was odd, because most everyone in the Ruby on Rails world has used the link_to_remote method.
After an hour of hacking with the method, I ruled out the method as the problem.
On a whim, I added
position: relative
to the list item declaration in the SASS file.
Problem solved! Simple as that. IE5 and IE6 can not handle images that reside inside floating elements without the relative positioning.
One day, IE6 will be obsolete, and hopefully I will still have some hair left.
Weak Update
I finally put some BF Goodrich All Terrain T/A’s on my 4Runner. The ride is improved 100%. The old tires were horrible. Now I have to replace the bushing at the control arms so that my alignment can be preformed. My steering rack needs some work as well. What fun.
I finally got around to hanging my flat screen on the wall and I took out the entertainment center; the living room has tons more room, and I hope to soon purchase a sectional sofa on the south and west walls of the living room.
Lastly, I ordered a new surfboard from COS and Tony did a fine job on my order as usual. I have yet to ride the new 6′4″ rounded pin as it is still curing, but as Kyle skirts by I might have to give it a test run.
Happy Friday to all!
Ruby: Proper Case
str = "how are you? are you feeling good?"
puts str.split(/s+/).each{ |word| word.capitalize! }.join(' ')
=> "How Are You? Are You Feeling Good?
Facebox and IE7: Stack Trace Overflow
In our latest release of City Cliq, we became more and more dependent on Facebox for previewing and editing Cliq Sites. As we continued development, and with subsequent browser testing, we noticed that IE7 was giving us a “Stack Trace Overflow” error, while Safari and Firefox were handling all of our code gracefully [as always].
Unfortunately for me, I was given the task of resolving this issue. I have been tackling browser compatibility issues for more than a decade, so the delegation was an easy one. I am happy to say that I resolved the issue with the same ease, though it took a bit of digging.
I finally found some relevant information on the Facebox web site, where it is advised to load all of your dependencies before you make any Facebox calls. We have several scripts that run in our edit and preview screens and it wasn’t until I read the dependency issue that I decided to start pulling out and rearranging script calls to isolate the ‘Stack Trace Overflow’ problem in IE7.
As it turns out, we were loading our application.js file after we loaded our facebox.js file. For those of you who keep up with Javascript and specific browser implementation of Javascript, you will know that IE7 uses a more propriety version of Javascript in it’s browsers called JScript. Big surprise there, eh? This is why Firefox and Safari were not having any problems with the Stack Trace: IE couldn’t handle the requests being slightly out of order (they are all there at run time, IE, quit being a baby) hence the IE only error.
Cliff Notes: IE will take a big dump at run time if you attempt to run any scripts that references the Facebox.js file. Just to be safe, render all of your JS files, and render your Facebox.js file LAST.
I could really use a Rum Drink right about now.
Oops
July just flew right by without a single blog posting. How about that? Needless to say I have been plenty busy with the latest version of http://www.citycliq.com.
The site is written with Ruby on Rails, Haml, and Sass. This was my first full on Rails project, and I must say I hope to have more.
On a personal note, I have been riding the long board as much as possible, because that is all I have been able to ride around here lately. It has been quite flat. The fishing has been great, but I would prefer more surf.
Donovan starts kindergarten next week, which is VERY exciting!!! My little guy is growing up so fast, and I couldn’t be more proud.
Ok back to work.

