navigation
 Wednesday, December 27, 2006
One way you might want to customize your Sharepoint home page is to add your company logo to an "Image" web part displayed on the page - in fact, the team site template comes with a "site image" preconfigured on the page. You can change the image presented here by putting the page into edit mode, then edit the "Site Logo" web part, and select the logo. It can be any logo, accessible from anywhere, of any recognized graphic type. Very flexible.
 
And then they turn right around and bite you in the butt, because if you have a logo on your local machine, and you want to use it as the site logo, how the heck do you load it up onto the server? I poked around for a while looking for something that would let me transfer a file up to the server and specify where I wanted it to end up, but had to finally connect to the server by mapping a network drive, and copy the file into the default file location. And oh yeah, you'd better know where the file goes and/or where you placed it, because when you click on the button with the ellipses (...), don't think you're going to find a file open dialog - nope. All you get is a bigger text box into which you can type the logo's path.
 
Our company logo is a JPG file about 450 kb in size, and in its natural state, the image is something like 2109 x 1398 pixels. Too big to fit onto a normal screen, much less squeeze down into a reasonable-sized corner of the screen like you might want for a company logo on a home page. So - when you put in the path to the JPG, there are two possibilities for resizing the logo, both of which sound promising. The options presented for the question "Should the WebPart have a fixed height" are "Yes" (with an option for entering the size in pixels, picas, points, inches, etc), and the second is "No. Adjust height to fit zone". There are corresponding entries for the width. If you pick yes, and enter a reasonable size in pixels (120 x 80), what you get is a logo-sized area with scrollbars which permit you to scroll across the entire 2109 x 1398 pixels. Not very useful. OK, let's choose "No", and let the image be adjusted to fit the zone. Or not - all this choice does is adjust the zone size to fit the image. In other words, the "Site Logo" web part becomes huge, so instead of getting a shrunken logo displayed in a reasonable-sized area, the area baloons up, the logo is displayed full size, and you can now scroll the entire web page using the sdcroll bars on the browser if you want to see the whole thing.
 
Aargh. All I found to do was to edit and re-save the JPG as a smaller size, then use that logo.
posted on December 27, 2006  #    by Rick Miller  Comments [1]
 Tuesday, December 05, 2006

So I recently discovered programming.reddit.com, a site that lists the latest and greatest programming articles and blogs that other people have read and rated, and I noticed a trend: a lot of the articles are about functional programming languages. This piqued my curiosity. After all, what's the big deal? I learned some Scheme in college, and it was weird compared to programming in an imperative style. Besides, functional languages don't even have objects, so they don't have the same power of abstraction, right? (wrong, and wrong again.) Well, since then, I've read several fascinating articles on the advantages of functional programming languages, and this article was one of the best. Then I learned that Microsoft is researching a functional language for .NET, and that many of C# 3.0's features were lifted from it.

So now I'm wondering, will functional programming become the way of the future? I've decided that it's important enough to acquaint myself with functional programming techniques. I surveyed many functional languages, trying to decide which one to choose.

I want to learn F# eventually, but I don't want it to be my first functional language, because it allows a mixture of functional and imperative programming, and while that might be a powerful combination once I'm fluent in both styles, I don't want to be tempted to fall into familiar imperative patterns while I learn this new style of programming.

Clean looks pretty nice; it performed admirably well for a functional language in the Computer Language Shootout, and it even has its own IDE written entirely in Clean! It is a modern language, but its development and usage isn't as widespread as Haskell's, below.

At long last, I come to Haskell. Haskell is a pure functional language, so I won't have the crutch of imperative programming to fall back on. It was designed to be an open standard, consolidating existing functional languages into a common one as a basis for future language design, which also means that it will be an epicenter of new language developments. While the project to create a Haskell IDE written in Haskell is still underway, there is a Haskell plugin for Visual Studio, which is still pre-release, but the author feels that it's getting close.

In the end, I've decided to pursue learning Haskell first, and then probably F#. If I have any great epiphanies, either for or against functional programming, I'll be sure to post my thoughts here.

posted on December 5, 2006  #    by Adam Anderson  Comments [0]