1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
billsblogpage

Monday, August 31, 2009

pigeon forge

Monday, August 31, 2009

Saturday, August 29, 2009

espresso: pulling the perfect shot

Saturday, August 29, 2009
ahhhh, the aromatic, soul quenching pleasure that is espresso. it is one of my few addictions; and one i have no inclination to shake. a great espresso shot is smooth, fresh and flavorful. a bad espresso shot is, well, awful. there is no secret to making great espresso, but it does take care.

first, you need good, fresh beans. coffee beans that is. btw, the espresso beans sold in your market are just coffee beans; usually a blend of predominantly arabica with some robusta thrown in for boldness. beans roasted for espresso use are generally roasted a little longer than beans heading to the coffee bin. this longer roasting process brings more oils to the surface of the bean.

next, you need a GOOD espresso machine. it must be able to heat water to 90 celsius and push it through the ground coffee at nine bars of pressure, which is why most home machines cannot do justice to a great bean. if you are inclined to buy an espresso machine for home, it is well worth a couple minutes of your time to read david bogie's treatise on home espresso machines. thanks david for sharing that with us.

you then need a good grinder. your typical home coffee grinder uses blades. not only are these type of grinders incapable of producing a fine enough grind, they actually heat the beats up during the grinding process, producing bitter taste from the beginning. get a good, burr grinder.

the first thing to know about pulling the perfect shot is that it is about both precision and feel.

1. grind the beans immediately prior to pulling the shot. how coarse/fine do you grind the beans? good question. the answer: we do not yet know! we do know that it is a much finer grind than coffee, but we may need to perform some adjusting in a later step. we will come back to this shortly.

2. pack about 7 - 8 grams of ground coffee into the tamper. it is critical the tamp produces a puck of espresso with even thickness and density as the water that is being forced through the grind will travel the path of least resistance. the better the tamp, the more evenly distributed the water will travel through the grinds, producing a smoother, more flavorful shot of espresso. you can find a good article which fully explains the art of tamping at coffeesearch.org.

3. pulling the shot. it should take between 20 - 28 seconds to pull one ounce of espresso. if it pulls faster, then you are not extracting all of the flavor from the bean. if it takes longer you have started to extract more of the bitter, astringent taste of the bean. what do you do if your shots are not pulling correctly? here is where we go back to the grind! if the shots are pulling too fast, grind the beans a bit finer until you get the right pull. if the shots are too slow, then the grind needs to be coarser. it is very important to get the grind just right to get a shot of espresso that is just right. btw, getting the grind right is only temporary. changes in weather, sometimes subtle, can throw your grind way off, so always keep an eye on how fast the shots are pulling.

you should now have a rich, dark, flavorful shot of espresso with thick, beautiful golden crema topping it off. and if you have gone through all of this to get a great shot of espresso - drink it! now!!!

yep, great espresso is a fleeting thing. if it is left to sit for more than 30 seconds or so, it turns extremenly bitter. if drinking a cappuccino or other espresso-based drink, make sure your barista pours the shot into the milk within 30 seconds of pulling the shot. a good barista will be working the milk as the shot is pulling so there is no delay.

unfortunately, there are too many poorly trained baristas serving drinks; and many people are turned away from espresso because their first experience with it is so horrible. if you are interested in trying espresso, go into your local coffee shop and watch the barista ply their skills. here is a general checklist to watch for:
1. are the beans freshly ground?
2. are they tamping with firmness?
3. does the espresso take between 20 - 28 seconds to pull?
4. was there good crema on top of the shot? (often hard to tell unless using shot glasses)
5. is the espresso used within 30 seconds of pulling it?

if the barista is adhering to these practices, then you have a good chance of getting a decent shot of espresso. enjoy!

Tuesday, August 25, 2009

totem

Tuesday, August 25, 2009

Sunday, August 23, 2009

syntax highlighter

Sunday, August 23, 2009
one of the truly, downright, awe-inspiring results of the Internet is that it gives more people a voice. the cost of publishing has been reduced dramatically. this democratization of publishing has led to a tremendous outpouring of information, of which this blog is simply one example out of millions. (umm, thanks for reading this one btw!)

this never ending, always growing, flow of information is a great asset to many professions, but the technology sector has certainly been among the first group to benefit from this explosion. of course, it is all fairly mainstream now, and it is hard to find an area of interest that is not covered ad nauseum.

of course, programmers love coding, and the next best thing to coding is writing about coding; and blogging is a wonderful tool to share our knowledge with all of our kindred spirits. however, the problem with talking about code is that you often have to provide samples, and blogging tools simply do not present our beautiful, elegant code in the beautiful, elegant manner it so richly deserves!

fortunately, there are several tools available for us which help our code look like, well, code. one of the best is Syntax Highlighter by Alex Gorbatchev. You can find an example at syntaxhighlighter. Many thanks to Mr. Gorbatchev for his work.



it holds language specific attributes in separate files, appropriately called brushes. to use a brush to format your code, you simply include it. for instance, to format Perl code you would use the perl brush by including the shBrushPerl.js file, such as:
<script type="text/javascript" src="highlighter/scripts
/shBrushPerl.js"></script>
if you prefer to be hands-on and want to learn how to write your own code formatter for blogger.com, check out the code formatter entry.

Thursday, August 20, 2009

sunrise at beach

Thursday, August 20, 2009

Saturday, August 15, 2009

add code formatting to your blog

Saturday, August 15, 2009
If you would like to play around with creating your own code formatter

first, define what you want your code to look like. for my page i setup the following variables:


  • <Variable name="codeunderlinecolor" description="Code Underline Color"
    type="color" default="#fff" value="#0000aa">



  • <Variable name="codebgcolor" description="Code Background Color"
    type="color" default="#fff" value="#cccccc">



  • <Variable name="codecolor" description="Code Color"
    type="color" default="#666" value="#101010">


and the following css:

  • .codeRow {

  • width: 100%;

  • background-color: $codebgcolor;

  • list-style: none;

  • padding: 0;

  • margin: 0;

  • }

  • .codeRow li{

  • width: 100%;

  • padding: 0 3px;

  • border-bottom: solid 1px $codeunderlinecolor;

  • background-color: $codebgcolor;

  • color: $codecolor;

  • font: $codefont;

  • margin: 0;

  • }


now we have to deal with the fact that the Blogger engine throws in <br> tags, adding extra line breaks where they are not wanted. fortunately jquery has an easy answer for this. Post this into your javascript section (Layout | Page Elements | HTML/Javascript):

  • <script>

  • $(document).ready(function() {

  • $(".codeRow br").remove();

  • });

  • </script>


by placing the jQuery .remove function within '$(document).ready()' function, you ensure that you do not attempt to remove the <br> before blogger puts them in.

ok, now lets add a little zebra striping to the rows. once again, jQuery makes this easy, just add the following line of code in the HTML/Javascript code section:

  • $(".codeRow li:even").css("background-color","#bbbbbb");


there is still one problem: code indentation. we cannot use the tab key to add indentations as the browser interface will grab that and move you to the next input element. therefore using the spacebar for indentation is the next best thing. but, as we all so aware, html collapses multiple spaces into a single space. this leaves us with one, very painful option, to type '&nbsp;' for every space. six keystrokes for every space! ouch.

ok, jQuery once again comes to the rescue. i told you i have really come to like the power of jQuery!

the following code allows you to simply type spaces for indentating, and it will replace it with hard spaces ( &nbsp;) for you. with a slight modification, you could create your own "tab" tag and have jQuery replace your tag with however many spaces you want!

  • $(".codeRow li").each(function(){

  • var newText = $(this).html().replace(" ","&nbsp;");

  • $(this).html(newText);


note:

i find the .replace method to perform slightly different than i expected. originally, i thought you could replace the text within a given element by:

  • $('div').text().replace('foo','bar');


however, this simply retrieves the changed text. you must then explicitly replace the text back in the DOM:

  • var newText = $('div').text().replace('foo','bar');

  • $('div').text(newText);


my apologies for the long posting, but i appreciate any of you who were able to make it through to the end.
as always, i appreciate any feedback you can provide.
have fun. and get outside! : )

Saturday, August 8, 2009

jQuery fan

Saturday, August 8, 2009
i have become a fan of javascript scripting libraries. while i have the most familiarity with jQuery, there are several other options available: such as Prototype, DoJo or Moo Tools. There are also several libraries that are more geared towards specific tasks, such as script.aculo.us, lightbox and moo.fx, which are aimed at easing user interface design.

since i am more comfortable in the jQuery arena, I will move forward with examples from that library.

to get started with a scripting library, you will need to download the library code. the latest jQuery code can be found at jQuery download. generally speaking, it is best to get the minified version of the latest release.

now you should have a file titled something similar to jquery-1.3.2.min.js. now copy this file into the web folder you have for holding your javascript (mine is simply 'scripts') and rename the file jquery.min.js. by removing the version number from the filename, you will now be able to update your jQuery library and not have to go back and edit a bunch of html code to point to the new version.

to put your new library to use, simply add the following command with the section of your html page:

<script type="text/javascript" src="/scripts/jquery.min.js"></script>