April 19, 2008

Creating Partial Views in ASP.Net MVC

Filed under: HowTo, DotNet, Development, ASP.Net MVC | Lindsay @ 6:56 pm

I have been coming up to speed with ASP.Net MVC recently and I have to say that it makes me very happy, warm and fuzzy. I had been out of the Microsoft camp of web development for almost a year and a half and using Ruby on Rails in the mean time. Now that I’m “back in the saddle again” with Microsoft technologies, I’m ecstatic that I can use ASP.Net without WebForms, Postbacks and ViewState. The MVC framework is so much cleaner and easier to follow in my opinion. Yeah, it might not be popular with a lot of ASP.Net developers because you have to do more HTML from “scratch” and don’t have the crutch of server controls but that gives you so much more control over what’s going on and takes the “magic” out of it. And it’s also much easier to test (TDD, baby!) and debug when you really understand what’s going on under the hood because you wrote the engine.

So anyway, I’m playing with ASP.Net MVC which is still only in a “Preview 2“, meaning there’s lots more to come. But I want to use it now and there was some functionality missing that I really wanted: the ability to render a view in a view, basically to have the ability to do a Rails-style partial view. I figured out a way to do it by creating an extension on the ViewPage class, though there’s a bit of a hack involving getting the view directory route.

using System;
using System.Linq.Expressions;
using System.Web.Mvc;

namespace Lindsay
{
        public static class Extensions
        {
                public static void RenderPartial<T>(this ViewPage vwp, Expression<Action<T>> action) where T : Controller
                {
                    T controller = Activator.CreateInstance<T>();
                    System.Web.Routing.RouteData rd = new System.Web.Routing.RouteData();
                    // must include the controller name without "Controller" to match
                    // the Views subfolder name there has to be a cleaner way to do this…
                    string viewFolderName = controller.GetType().Name.Replace(“Controller”, “”);
                    rd.Values.Add(“Controller”,viewFolderName);
                    controller.ControllerContext = new ControllerContext(new RequestContext(vwp.ViewContext.HttpContext, rd), controller) ;
                    var ex = action.Compile();
                    ex.Invoke(controller);
                }
        }
}

I know there’s probably a way to use ViewLocator, or maybe some way to figure out which route to use and avoid the controller name hack but I haven’t been able to do that yet and this works for my standard circumstances. If anyone knows a better way please let me know!

To use this, put the code above in it’s own class and then use the namespace in your view to call it from. The call should look similar to this:

<% @Import Namespace=“Lindsay” %>
<% @Import Namespace=“MyMVCApp.Controllers” %>

<div>
         <% this.RenderPartial<MyController>((mc => mc.MyAction(myData))); %>
</div>

Partials are a hotly debated topic, but personally, I don’t see how you can really create an Ajax website without them. There is an implementation of “View Components” using ComponentControllers in the current ASP.Net MVC, but it requires you to use a specialized controller and also put your views in a special folder structure. I want to keep my controller code for an entity in one controller as well as all my views in one place and be able to use them as pieces of a page (through Ajax) or a whole page if I prefer. Creating the RenderPartial extension does that for me. Maybe someone else will find it useful as well.

In the spirit of full disclosure: I had the idea to create this extension when I found this solution to fix a bug with RenderComponent. Ironically, modifying that for RenderPartial allowed me to no longer have to use my view components!

» » » »
, , ,

April 26, 2006

Using conditional special functionality with XSLT imports

Filed under: HowTo, XSLT | Lindsay @ 10:34 am

I solved this problem for someone recently and thought it might be useful to other people in the same situation.

The Problem: how to trigger special functions in a common XSLT file…

There are several XSLT files, one with common functionality shared between all of the others which will be imported into the others. Particular templates in Common.xslt had parts that only needed to be activated if the Common.xslt was imported in specific “host” XSLTs. The problem is that there’s no way to know from Common.xslt whether it should do the special functionality because its unaware of it’s host.

The Soultion: xsl:imports overriding

This can be fixed by exploiting the template overriding property of <xsl:import>. You can create a template in Common.xslt that contains a value you may test for and override it in any of the host XSLT files that need to use that special functionality.

Common.xslt

<xsl:stylesheet version=“1.0″ xmlns:xsl=“http://www.w3.org/1999/XSL/Transform”>
<xsl:output method=“html” version=“4.0″ indent=“no” />

        <xsl:template name=“caller”>common</xsl:template>

        <xsl:template name=“commontemplate”>
                <xsl:variable name=“usespecial”><xsl:call-template name=“caller” /></xsl:variable>
                <xsl:variable name=“whichtype”>
                        <xsl:choose>
                        <xsl:when test=“$usespecial = ’specialfunction’”>special</xsl:when>
                        <xsl:otherwise>normal</xsl:otherwise></xsl:choose>
                </xsl:variable>
                The main XSLT uses <xsl:value-of select=“$whichtype” /> functionality.
        </xsl:template>
</xsl:stylesheet>

SpecialFunction.xslt

<xsl:stylesheet version=“1.0″ xmlns:xsl=“http://www.w3.org/1999/XSL/Transform”>
<xsl:import href=“common.xsl” />
<xsl:output method=“html” version=“4.0″ indent=“no” />

        <xsl:template name=“caller”>specialfunction</xsl:template>
        <xsl:template match=“/”>
                <html><body><xsl:call-template name=“commontemplate” /></body></html>
        </xsl:template>

</xsl:stylesheet>

Results:

<html><body>
The main XSLT uses special functionality.
</body></html>

NormalFunction.xslt
“caller” template is missing…

<xsl:stylesheet version=“1.0″ xmlns:xsl=“http://www.w3.org/1999/XSL/Transform”>
<xsl:import href=“common.xsl” />
<xsl:output method=“html” version=“4.0″ indent=“no” />

        <xsl:template match=“/”>
                <html><body><xsl:call-template name=“commontemplate” /></body></html>
        </xsl:template>

</xsl:stylesheet>

Results:

<html><body>
The main XSLT uses normal functionality.
</body></html>

You can modify this to make as many different types of special functionality as you need.

» » » » » »
, , , , ,

April 16, 2006

Getting great Prints on the Canon i9900 with Photoshop

Filed under: HowTo, Photoshop | Lindsay @ 11:30 pm

I love taking pictures and creating graphics. I can spend hours editing photos and crafting kaleidoscopes and other interesting things in Photoshop. I have super quality, top of the line (when I purchased it) Canon i9900 wideformat photo printer that I couldn’t have been more excited to bring home and play with. But after several attempts, it wasn’t long until I rarely printed any of my images.

Printing has always been a frustrating process. Pictures have always turned out too dark, too low-contrast or with horrible color casts. Getting a good print always meant a lot of test copies or strips while I tweaked levels or curves and held my breath as the print came out. It never looked like it did on my screen. I wasted way too much ink, paper and time trying everything from installing new printer drivers, screen calibration techniques, and untold combinations of printer settings and profiles. And I was always disappointed. Until yesterday.

I think I have finally figured out a way to make my prints come out reasonably close to what I see on my monitor and it’s a method that seems to work consistantly across different types of pictures with different color combinations. I wanted to share what I found since I’m sure I am not the only Canon I-Series printer owner who’s had the same types of frustrations and Canon doesn’t seem to offer much documentation or help on how to optimize your prints. Having said that, you still may have to do some tweaking (using my exact numbers may just get you in the ballpark) but the core of the “secret” should be easy to apply to your own prints.

Prepping your image for print

  1. Calibrate your monitor. This is very important. There are many methods to do this. Photoshop comes with Adobe Gamma as one alternative, for instance. If you have access to one, I highly suggest using the Spyder 2, which is what I was able to do. If you can’t calibrate your monitor, there’s no point in continuing the steps. You’ve got to have a decent representation of colors on your screen.
  2. Open your image in Photoshop. Go to Edit->Assign Profile. If it’s not already selected as your Working RGB, choose sRGB ICE61966-2.1.
    sRGB Profile Assignment
    This step has many schools of thought, but again, this is what worked for me.
  3. Do whatever adjustments to the image to make it look how you would like it to look once printed such as color adjustments, levels, curves, cropping, etc.
  4. Click on the top layer in your layers list and create a new Levels adjustment layer on top of it: Layer->New Adjustment Layer->Levels
  5. With RGB selected in the Channel list, enter 1.35 in the middle box for Input Levels
    RGB Channel in Levels - Set mid Input Level to 1.35
  6. Here’s the secret! For each of the Channels (Red, Green, Blue but not RGB), if the histogram (black wave looking thing) doesn’t reach all the way to the right, slide the little white triangle towards the left until it meets the border of the histogram. See the next two images for details (my example picture only needed Green and Blue adjusted).
    Levels - Green Channel
    Levels - Blue Channel
    Update: After testing some more images where the histogram didn’t span all the way to the left (unlike my first tests), I have found that you should also move the black triangle on the left if it doesn’t border the histogram edges.
  7. This step may vary depending on the picture. I have found that adjusting the midtone Input Levels in the Green channel down (within the range from 0.90 to 0.75) and the Blue channel up (up to about 1.10) seems to correct some color casts. This seems to depend on which colors I want to tone down in the print and is the main thing you’ll have to tweak if it doesn’t come out right the first time.
    Update: I seem to have found a pattern here… if you don’t have to move the the triangles in the histogram, leave the value at 1.00, otherwise use the values specified above fpr the appropriate channel. The midtone value for Red can also be changed, in the same value range as Green.
  8. In the Options section on your Print->Print with Preview screen, make sure when you print that the Printer Profile chosen the same one that you chose for the image at the first step: sRGB ICE61966-2.1. Having the two profiles match seems to make a difference. Also, it is important that Let Photoshop Determine Colors is set for Color Handling.
    Print with Preview Options
  9. On the Canon printer properties dialog, make sure that Color Adjustment is Manual so that the printer will trust Photoshop to make the color choices.
    Color Adjustment - Canon print dialog
  10. Print it out!

Your image will probably look pretty washed out on your screen. This is to be expected.

Screen without adjustment level Screen with adjustment level
Without adjustment level With adjustment level

When you print and compare it to your monitor, make sure that you turn off (click the eye) the printing adjustment layer. Your print should look like the “original” without that layer. If it’s close but not quite, tweak the numbers for midtone Input Levels on the Blue and Green channels. After a few times you should get a feel for what those numbers need to be.

This is not a perfect method, but so far it has taken about 90% of the guesswork and frustration out of printing for me. Again, I don’t know that it will work for other people, so please let me know if it does or doesn’t! And please, print out some SMALL tests before you waste a lot of paper and ink! Good luck!

» » » » » » » » »
, , , , , , , ,

March 24, 2006

How to make colors pop in Photoshop

Filed under: HowTo, Photoshop | Lindsay @ 10:56 am

I was having a conversation with a friend last night about Photoshop and how there are about 900 ways to do the same thing or variations on the same thing. Photoshop is such a versatile tool that I don’t think you can ever run out new options to discover.

My friend was looking for a method to make colors pop in pictures so here’s what I came up with. I have been experimenting with inverting layers and playing with blending a good bit lately to see what interesting things might result. There are already many tutorials on how to make colors pop out there, but maybe you’ll find this one has a slightly different effect. I’ve noticed it tends to emphasize Yellows a bit more than some approaches I’ve tried before.

Before After
Before After

You can download the action that I created for this, but if you’re curious about what it’s doing or you just like to do things the hard way, here are the steps:

  1. Open a copy of the photo that needs some enhancement
    Step 1 - Open Photo
  2. Duplicate the background layer (Layer->Duplicate Layer) and name it Inverted
  3. Select Inverted and choose Image->Adjustments->Invert
    Step 3 - Invert the image
  4. Change the Blending Mode on Inverted to Luminosity
    Change Blending mode to Luminosity
    Step 4 - Inverted and blended with Luminosity
  5. Duplicate the background layer again and name it Merged 1
  6. Select Inverted and choose Layer->Merge Down
  7. Change the Blending Mode on Merged 1 to Linear Dodge
    Step 7 - Blended as Linear Dodge
  8. Duplicate the background layer again and name it Merged 2
  9. Select Merged 1 and merge down
  10. Change the Blending Mode on Merged 2 to Multiply
    Step 10 - Blended as Multiply
  11. Duplicate the background layer again and name it Color Pop
  12. Select Merged 2 and merge down

There you go! Your colors should be pretty saturated. At this point it’s a matter of playing with the Color Pop layer. You can tone it down by adjusting the Opacity, and you can also get some interesting effects by changing the Blending Mode:

  • For pictures that started out “pastel” (not saturated and possibly over exposed), Multiply gave good results.
    An image that's washed out to pastel colorsPastel image boosted with Multiply on the Color Pop layer
  • For pictures that started out fairly well contrasted, Overlay and Soft Light had nice boosts.
    An image with decent color contrast but lacking popThe colors pop out when blended with Overlay
  • If seems that there’s too much yellow in your Color Pop layer, try Saturation
    Image that needs a color boostThe Color Pop layer blended normally adds too much yellowBlending in Saturation mode keeps the pop but tones down the yellow
  • For hyper saturation on an almost cartoony level, try Vivid Light.
    An image that needs a boostThe colors are hyper realistic after blending in Vivid Light (at 65% Opacity)

While playing with this, I also found an interesting way to subdue the colors in an image for a nice washed out effect that doesn’t reduce the depth of your shadows. See the Subdued Color tutorial if you’re interested!

» » » » » » » » »
, , , , , , , ,

How to make subdued colors in Photoshop

Filed under: HowTo, Photoshop | Lindsay @ 10:55 am

While playing around with inversions and trying to figure out how to make colors pop, I stumbled across a nice way to achieve the opposite effect: making colors subdued and washed out. The nice thing about this effect is that it doesn’t also wash out your shadows, only the color is affected (unless you use some special blend modes).

Before After Second Pass
Before After Second Pass

Here is the action I created if you’d like to download it and save some effort. Otherwise, here are the steps to do it yourself:

(more…)

» » » » » » » » » »
, , , , , , , , ,

January 20, 2006

How to make Outlook into a Faux-Gmail

Filed under: HowTo, Informatics | Lindsay @ 6:45 pm

Have you ever said to yourself, “Wow, I really love the way Gmail lets me put labels on my mail so that I can find stuff in several contexts, but I can’t use Gmail for my work email - all the boss man will let me use is yechy old Outlook”. You did? Really? Wow, me too!

Well all hope is not lost. You can have your Outlook and labels too. They’re just called “categories” instead. And with a little bit of configuration, script installation and modification, you can have very similar functionality as you get in Gmail, but on your local PC and without any scary contextual ads.

Warning: this may look like a lot of work and it is initially, but it was something that I really wanted mainly because I had trouble finding things in I had filed in all the subfolders that I used to organize mail previously. Search wouldn’t work because I had to search each subfolder individually leaving me to try to remember all the potential subfolders I could have filed a message in. I wasn’t able to find any 3rd party add-ins for Outlook that didn’t restrict me to only a single way to organize any message so I decided to hack it out myself. The set up was worth it to me, but may not be to you. If you’re ready to take the plunge, then at least you have a guide!

(more…)

» » » » » » » » » » » » »
, , , , , , , , , , , ,

January 14, 2006

Coloring Grayscale Patterns with Gradient Maps

Filed under: HowTo, Photoshop | Lindsay @ 6:12 pm

Tutorial Samples
I really enjoy making and playing with patterns. I don’t know why I like it so much… I usually don’t have any good practical use for what I come up. Most of my results are fairly busy and not suited for the web design and photo retouching projects that I do for “production” most often. But I can spend hours playing with patterns anyway. I should have been a gift wrap or fabric designer instead!

A lot of the patterns I come up with end up being grayscale which at first doesn’t seem to be very interesting. But actually there’s a lot of potential in greyscale patterns. They don’t limit you by having pre-existing colors that you may or may not like, or force you to try to change one color that you don’t like to make it fit into your project’s color scheme. They’re blank color canvases, just waiting for you.

This tutorial will be about the Gradient Map method of colorizing two different types of grayscale patterns. This method can give you complete control over the way the colors are rendered, or allow you to use blending modes with preset options to come up with some interesting and sometimes surprising coloration. Gradient Map shading works by taking all the colors in an image in order of value and replacing any pixel in an image by its “match” in a gradient you choose. It is an interesting effect but depending on what gradient you choose to apply can often come out with garish results. You’ll learn how to take even the most gaudy gradients and turn them into something more sophisticated.

Grayscale patterns can be grouped into two categories, each of which has slightly different applications for Gradient Maps:

Limited Shade Patterns

2 shade (B&W)
2 Shade Grayscale Pattern
3 shade (black, white & gray)
3 Shade Grayscale Pattern
These are halftone patterns I made for another tutorial you can download.

Many shade grayscale patterns

Unlimited amount of shades
Many Shade Grayscale Pattern Detail

(more…)

» » » » » » » » » »
, , , , , , , , ,

January 10, 2006

Keep your old Trillian Buddy List on a new computer

Filed under: HowTo, Systems Engineering, Configuration | Lindsay @ 10:57 am

I really like Trillian and it lets me keep my buddy list well organized, but it doesn’t keep your settings on a server so when you install it on another PC you have to do all the organization again manually. After searching the support forums, I found a solution that saved me that trouble. As part of a developing series of posts with things I’ve discovered moving from one laptop to another, here’s how to copy/move your Trillian buddy lists so you don’t have to rebuild them.

This will work to builid your list a fresh install or replace it on an install you’ve already been using. If it’s a fresh install, make sure that you’ve already installed all the plugins for the services you want to connect to (MSN, AIM, Yahoo, etc…).

  1. Exit Trillian on the target computer if it’s running
  2. On the source computer, make a copy of this file and send it somewhere it’s accessible to the target:
    C:\Program Files\Trillian\users\default\Buddies.xml
  3. On the target computer, rename that file (just in case) and paste the one you copied in the same directory
  4. Start up Trillian on the target computer and you should see your list configured like the one on the source.

Easy right?

As a side note, my two favorite plugins for Trillian are the spellchecker and the splitter (I am notorious for typing too much). And I also can’t live without SIMP, a Trillian compatible message encryption tool to keep your messages private (free for one provider in a Lite version, but cheap to cover them all).

» » » » » » » » »
, , , , , , , ,

January 9, 2006

How to convert a physcial computer to a virtual machine

Filed under: HowTo, Virtualization, Systems Engineering | Lindsay @ 10:04 pm

I recently got a new replacement laptop for work. I had a lot of stuff on the old laptop after 2+ years of use and so I didn’t want to have to rush myself in remembering everything in one or two passes before formatting it to send back to the office. There are always things I forget when I’m mostly focused on moving data files over: files in “hidden” places like IM logs and non-file based data such as product keys, configuration info, settings for programs and other stuff. So I decided the best thing to do was make it into a VM and take my time about reinstalling and configuring the new laptop to match.

After some Googling I found a forum conversation on ArsTechnica about how some people did it. I had been planning to use Symantech Ghost but the version my company supplied was old and I didn’t want to shell out another $70 of my own. Someone mentioned in the post that you could use NTBackup, a free, already-there backup application on Windows XP. He said it was actually a preferred method because NTBackup is actually there to provide recovery services from backups made on different hardware. There would be no tweaking of drivers necessary on the new VM.

So I tried the P2V using NTBackup and it worked well. My last attempt (out of 3) was relatively painless. The first two failed because of miscalculations on my part. Since I had trouble finding information on how to do it and I generally need more detailed steps than the hardware gurus give me, I thought I’d document the process here in case anyone else has the same challenges I did. (more…)

» » » » » » » » » » » » »
, , , , , , , , , , , ,

January 7, 2006

Quick and Easy Color Correction

Filed under: HowTo, Photoshop | Lindsay @ 11:25 pm

I just figured out an accurate way to correct color casts in your photos in 4 easy steps with Photoshop without having to use Curves or advanced color management.

Here’s a picture of some penguins with a yellow/greenish cast:
Color Cast Removal Penguins - before

And here they are after the technique, in their black and bright white glory:
Color cast removal Penguins - after

How to do it:

(more…)

» » » » » » » » » » » » »
, , , , , , , , , , , ,

January 6, 2006

Class Aggregation in CSS

Filed under: HowTo, CSS, Web Design | Lindsay @ 8:55 am

CSS is “teh awesome”. Being able to control the look and feel of an entire website with one file while simultaneously keeping your markup clean and creating a separation between presentation and code is a wonderful thing. But sometimes, especially for beginners, CSS itself isn’t necessarily used or written in the most efficient way. There’s a powerful feature in CSS that I don’t see a lot of people using or talking about and I thought I’d share it since it’s been useful to me in several projects.

Most people know about grouping: you can write your CSS classes with multiple selectors if they will share the same attributes.

body, div, p, td, .heading, #content {
        padding: 0;
        margin: 0;
        background-color: #fff;
}

Grouping can be useful and help keep your CSS from getting bulky with duplicate classes, but there’s an opposite approach that can also reduce duplication of code while providing some other benefits.

I don’t know if there’s an actual name for this practice but I call it “aggregation”. You may create CSS classes for specific attributes and apply them simultaneously to your HTML elements. The styles will aggregate and all of them will then display on the element:

.bluefont { color: #009; }
.padleft { padding: 0 0 0 10px; }
.yellowback { background-color: #ffd; }
.bottomborder { border-bottom: solid 1px black;}

You can apply the classes to HTML elements by separating them with spaces in the class attribute.

<div class=“bluefont yellowback”>This text has a blue font and yellow background.</div>
<div class=“bottomborder padleft”>This text is padded 10px on the left and has a border on the bottom</div>
<div class=“bluefont yellowback bottomborder padleft”>This text has all of the above</div>

The above code will result in something like this:

This text has a blue font and yellow background.
This text is padded 10px on the left and has a border on the bottom
This text has all of the above

Why is this useful? Because you can separate things like changing the colors of an element from it’s layout information and only apply the styles to the element as needed.

(more…)

» » » » » » » »
, , , , , , ,

January 2, 2006

Halftone Pattern Experiments

Filed under: HowTo, Photoshop | Lindsay @ 10:00 pm

We went to a Beck concert back in October and it was pretty awesome. One of the things that made it so interesting was the dynamic videos on the giant screens behind Beck and his crew. There was a guy who was bascially a VJ for the displays with some sort of scratch turntable-like hardware that he used to control the images and how they overlapped/changed/merged with each other. One of the effects I liked the most had multiple scales of a halftone pattern that merged together and made some pretty complex designs.

So inspired by that, I decided to play with halftone patterns today in Photoshop.

  • Halftone Pattern 1
  • Halftone Pattern 2
  • Halftone Pattern 3
  • Halftone Pattern 4
  • Halftone Pattern 5
  • Halftone Pattern 6
  • Halftone Pattern 7
  • Halftone Pattern 8
  • Halftone Pattern 9
  • Halftone Pattern 10
  • Halftone Pattern 11
  • Halftone Pattern 12
  • Halftone Pattern 13
  • Halftone Pattern 14
  • Halftone Pattern 15
  • Halftone Pattern 16
  • Halftone Pattern 17
  • Halftone Pattern 18
  • Halftone Pattern 19
  • Halftone Pattern 20
  • Halftone Pattern 21
  • Halftone Pattern 22
  • Halftone Pattern 23
  • Halftone Pattern 24
  • Halftone Pattern 25
  • Halftone Pattern 26
  • Halftone Pattern 27
  • Halftone Pattern 28
  • Halftone Pattern 29
  • Halftone Pattern 30
  • Halftone Pattern 31
  • Halftone Pattern 32
  • Halftone Pattern 33
  • Halftone Pattern 34
  • Halftone Pattern 35
  • Halftone Pattern 36

I started off with a basic halftone filter then duplicated and scaled by half. I played with different offsets between the patterns and several different blending options and opacity. I think there are probably thousands of other patterns that you could come up with but I ended up with about 37 interesting ones in a couple of hours of playing with it. Some of them are just two colors and made with two sizes of halftone (100% and 50%), others are 3 colors or made with 3 sizes (100%, 50% and 25%).

To create your own variations here’s basically what I did:
(more…)

December 28, 2005

Referencing the default namespace in XSLT

Filed under: HowTo, XML, XSLT | Lindsay @ 12:04 pm

This is a quick tip that I should have probably already known but figured out with a friend today. He was working on an XML file that he needed to transform that had several namespaces attached which had their own aliases as well as a default namespace with no alias:

<rdf:RDF
  xmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax-ns#”
  xmlns:dc=“http://purl.org/dc/elements/1.1/”
  xmlns:sy=“http://purl.org/rss/1.0/modules/syndication/”
  xmlns=“http://purl.org/rss/1.0/”>

In his XSLT, the XPATH that referred to nodes in the aliased namespaces were working correctly but the references to nodes under the default (unaliased) namespace were not.

(more…)

» » » » » » »
, , , , , ,

December 23, 2005

Photoshop - Creating Amazing Circles

Filed under: HowTo, Photoshop | Lindsay @ 8:33 am
Inside-out Lorikeet lilies Bird Of Paradise Rust bucket Purple Flower

While perusing the Technique group on Flickr the other day I found a post about creating “Amazing Circles”. The name sounded so cheesy I couldn’t resist checking it out. And now it’s my latest addiction. I spent the better part of a weekend going through my old pictures looking for good candidates to try out this technique on and in the process learned a few things about how to make a good Amazing Circle.

I learned how to do it from a tutorial that one of my fellow Flickrers wrote up, but I made a few changes to the process to suit my needs. This is a description of how I make mine.

(more…)

» » » » » » » » »
, , , , , , , ,

December 21, 2005

How to configure WordPress on an IIS 6.0 shared host

Filed under: HowTo, WordPress, Development, Systems Engineering, Configuration | Lindsay @ 11:10 am

I have a confession to make. Linux intimidates me. And I am also afraid of using a hosting service other than my favorite, Crystal Tech, because they have given me outstanding service for more than 6 years. So when I decided that I wanted to start blogging again and was convinced that WordPress was the best option, I knew that I needed to find a way to make it work on my account at Crystal Tech.

(more…)

» » » » » » » » » » » » » »
, , , , , , , , , , , , ,