Tim Reynolds

Java design patterns 101

Link / 6 months ago

2 notes

Design patterns capture the experience of expert software developers and present
common recurring problems, their solutions, and the consequences of those
solutions in methodical way. This tutorial explains why patterns are useful and
important for object-oriented design and development; how patterns are documented,
categorized, and cataloged; when they should be used; what some important
patterns are; and how they are implemented.


pyroCMS video, audio and oEmbed plugin

Text / 6 months ago

4 notes

A few weeks back I set out to create a pyroCMS plugin that would embed vimeo videos using just their Id. Not long into this process I discovered the oEmbed format that is designed for embedding media content from third party sites. 

For those who have not come across oEmbed before, like myself, it defines itself as;

 ”oEmbed is a format for allowing an embedded representation of a URL on third party sites. The simple API allows a website to display embedded content (such as photos or videos) when a user posts a link to that resource, without having to parse the resource directly.“ 

Using oEmbed and a simple oEmbed php class I threw together I’ve quickly been able to knock up both a image and video pyroCMS plugin for multiple provides that support oEmbed. The git hub repo also include a oEmbed plugging for those looking to use other embedded objects. 

My pyroCMS image plugin supports the following providers;

  • flickr
  • smugmug
  • deviantART
  • skitch
  • yfrog

While the pyroCMS video plugin implements;

  • youtube
  • vimeo
  • bambuser
  • screenr
  • ustream
  • qik
  • revision3
  • hulu

Let me know what you think, the SimpleOembed class isn’t particularly robust but theres plenty of more advanced libraries out there that support providers and discovery if your interested. 

A Big Ball of Mud

Link / 7 months ago

6 notes

An interesting discussion from Brian Foote and Joseph Yoder about the de-facto standard software architecture A Big Ball Of Mud. 

Abstract;

While much attention has been focused on high-level software architectural patterns, what is, in effect, the de-facto standard software architecture is seldom discussed. This paper examines this most frequently deployed of software architectures: the BIG BALL OF MUD. A BIG BALL OF MUD is a casually, even haphazardly, structured system. Its organization, if one can call it that, is dictated more by expediency than design. Yet, its enduring popularity cannot merely be indicative of a general disregard for architecture.

These patterns explore the forces that encourage the emergence of a BIG BALL OF MUD, and the undeniable effectiveness of this approach to software architecture. What are the people who build them doing right? If more high-minded architectural approaches are to compete, we must understand what the forces that lead to a BIG BALL OF MUD are, and examine alternative ways to resolve them.

A number of additional patterns emerge out of the BIG BALL OF MUD. We discuss them in turn. Two principal questions underlie these patterns: Why are so many existing systems architecturally undistinguished, and what can we do to improve them?


Bootstrap PyroCMS Theme

Text / 7 months ago

11 notes

I’ve been intrigued by Twitters Bootstrap toolkit since it’s arrival and this weekend I finally got around to giving it a little run out. It’s been a while since I’ve touched any code outside of work so I decided to go with something I know (kinda maybe) turning it into a PyroCMS theme. 

The results, without too much work, are quite pleasing. Bootstrap provides solid layout and navigation CSS which is clean and easy to understand. Quickly allowing me to turning a blank theme into a fixed width 2 column layout providing top bar navigation and inline sign in. 

Bootstrap Theme Overview

Admittedly the drop down account management sub-navigation took a little bit longer to get right then envisaged, but was well worth it’s initial head scratching. 

Bootstraped dropdown subnav

As a finishing touch I ended up overriding a few of the basic user management screens HTML crowbarring in the css classes required to utilise bootstrap’s forms and message boxes. This gives the theme template a bit more usability out the box, not that I would recommend anyone actually used this as is. 

User Registration

Unfortunately I don’t have the time or need to progress this into a full theme but if anyone’s interested the code’s available on github. Feel free to push updates to the repo I will endeavour to merge anything that makes this into a more usable theme.  

The Principles of Good Programming by Christopher Diggins

Link / 7 months ago

19 notes

Over the years I have found that following a relatively small number of fundamental guiding principles has helped me become a much more effective programmer.


[ Back to Top ]