Posts Tagged ‘functionality’

GOOGLE DESKTOP

Tuesday, July 15th, 2008

<desktop.google.com>: For Windows only - a way to search your computer’s contents faster than any built-in finder function. Works very well when it comes to searching Word documents, AOL IM messages, web searches, etc. You can pause it if you don’t want what you’re doing to be indexed by Google. The information isn’t shared with Google itself (you know this because it works even if you are offline). Be sure to read the FAQ. Mac folks get the same functionality in the Spotlight search built into Tiger, the latest version of OSX.

Is PHP good enough for science?

Tuesday, July 15th, 2008

My ‘day job’ has nothing to do with PHP. It has nothing to do with any form of programming. I graduated in 2006 with a degree in Biochemistry and went on to do a MSc and now PhD in cardiovascular biology. The closest most of my colleagues come to programming is a formula in an Excel spreadsheet.

It was actually Excel which prompted this post. Yesterday I was analysing some data and bemoaning the poor search functionality that Excel makes available. I had already expanded the small set of experimental data I had with some values pulled from a web service using a quickly hacked together PHP script and it got me to wondering how much better things could be if I just stuck with PHP.

Where’s the science?

This train of thought led on to whether PHP has been used all that often for scientific projects. There is an accelerating trend in Biology to make data and tools available via web interfaces. In my opinion this is an environment where PHP excels and yet all the literature I’ve seen discussing the development of these services uses Perl or occasionally Java.

Searching a little harder for PHP projects yields an equally depressing outlook. In PEAR Jesus Castagnetto released the Science_Chemistry and Math_Stats packages back in 2003. For my purposes though the Chemistry package is a little too ‘chemical’ and the stats package is a little too basic. In sourceforge there is a package named BioPHP which looks promising but again there has been no activity since 2003. A lot has happened since then.

Biology is increasingly data generative. There is going to be a steadily increasing need for tools to analyse all this data. These are likely to be centralised and made available via web interfaces.

Anyone out there?

I suspect I’m going to be increasingly creating automated solutions to remove some of the repetition involved in processing the, relatively, small amounts of data that I generate. A PHP toolkit able to leverage the latest online databases and perform ‘advanced’ statistics would be immensely valuable.

So my question is this. Is anyone out there using PHP in a scientific environment? Are there resources available which I’ve missed?

PHP:Dealing with Dependencies

Monday, June 30th, 2008

Compositional programming style
In the object oriented programming style, it’s preferable to split functionality out to multiple objects, that can work together to solve a single task. Taken to the extreme, this results in more, but smaller, classes and generally relies less on inheritance and more on composition. In lack of better words, I’ll call this compositional programming style. It’s a style which is usually more prevalent with experienced programmers.

For someone coming from an imperative style of programming, this style can appear abstract and confusing, but the benefits are in the flexibility of the code. If different objects are related through composition, parts can be replaced, without changing the code. This makes it easier to reuse components, and to hook into the code, by providing a wrapper here or there. This is especially useful during testing, since it becomes easier to mock out external dependencies (Such as a database or an smtp server).

There is, however, a dark side to composition — dependencies.

So what is a dependency?
For the sake of this post, I’ll use a rather naïve example. Assume, that we were building an addressbook application. This would feature an entity of type Person. In our code, we might have a class …

Top Ten Web Design Tips of 2008

Saturday, June 21st, 2008

The Most Useful Design Tips of the Year

The Internet is changing with the development of Web 2.0, and the changing marketplace reflects a need for increased usability, easier functionality and design that is visually appealing but that still lends to an easy to maneuver, content-rich website. The following is a list of ten top website design tips that made a difference in 2008.

1. Know the audience: The design of your website should cater specifically to your target market both in the visual sense, and in usability. It is critical that the design of your website reflect the values that your potential customers will hold.

2. Personalize: Even if your website is designed by the greatest professionals in the business, if you do not allow your customers to get to know you, or to believe in you, you will have difficulty selling your ideas.

3. No uncertain terms: Clearly identify what the purpose is for your website, and ensure that every facet of your website focuses on this goal. Are you conveying a message, selling a product or offering a service? Make this obvious from the beginning, and keep your focus until the end.

4. Keep it quick: You have between ten and thirty seconds to capture the attention of your customer, so keep graphics small in order to minimize the time it takes to load your website. Compress images when possible, so that your loading times stay low.

5. Design is important, content is more so: Good content is what sells your ideas and products. Is your copy delivering the message you intended for it to? Grammar and spelling ARE important; so proofread everything you write before it goes live.

6. Map your Site: You can make your website’s navigation much more easy and intuitive simply by creating a site map, or a directory web page. If your customer cannot navigate your website quickly or easily enough to find what they came for, they will go elsewhere for solutions.

7. Strive for consistency: Your website should be consistent in the design, the look and the feeling. Colors, themes and ideas should stay constant throughout every page on the website to make the best impression on your visitors.

8. Keep track of links: You should make sure that your site is fully functional at all times, which means checking out your website links on a fairly regular basis. If you have dead links on your site, there is no telling how much of a negative impact will transfer to your search engine page ranking, or the opinion your visitors have of your website.

9. Make a simple start: When you begin your site, take everything one page at a time, and optimize each page for the best results before moving on to the next. This means that you should make sure that every page is perfect before leaving it for the next one.

10. Optimize: The top search engines are responsible for helping more than 85-percent of all web users to find exactly what they are looking for. If you want to be one of the websites that is considered when users look for similar products or information, you must make sure that your pages are designed to maximize your search engine placement.