If you are looking for a simple way to display lines like a roundtrip on a map, Google’s Static Maps API might be for you.
Documentation and examples: http://code.google.com/intl/en-US/apis/maps/documentation/staticmaps/
- There is a query limit of 1000 unique (different) image requests per viewer per day.
- URLs are restricted to 2048 characters.
Here are some self-explanatory examples:
Using city names:
This is how you would use it on your website just use it like a local image:
<img src="http://maps.google.com/maps/api/staticmap?path=color:0x0000ff|weight:5|Stuttgart|Mannheim|Bad Homburg|Frankfurt|Würzburg|Stuttgart&size=500x200&sensor=false" alt="my roundtrip" />
In case you need to extract geocoordinates, there are lots of online browser tools available, just click on a spot and copy-paste the coordinates into your static maps-URL:
I have recently been playing with the new MODx (‘Revolution’) and I must say, I love the concept and it’s flexibility. Just to make things easier for folks starting out with MODx or who migrate from MODx Evolution here are some recommended links.
- Tag format changes from Evolution to Revolution: The formats for content tags have changed. They now can be nested, they can carry parameters and look a lot cleaner.
- Use the Package Manager to install your snippets: There are still some packages to migrate (e.g. AjaxSearch). And if you install Login and wonder why you can not logout, just check the naming of the parameters. I am sure these issues will soon be solved.
- Internationalization: The new Lexicon facility makes the creation of multilingual pages easier, especially central shared Pages or Chunks used in all available languages like the login, password reminder, 404 etc. You can even use Placeholders in lexicon entries and fill them dynamically with Parameters. On bigger sites I would prefer to have a home page for each language and maintain each language in separate menu trees. This is explained in this forum entry. Notice, the tutorial is based on Evolution, but works the same way in Revolution. You only need to use the new tag syntax.
- New access to MODx objects: Most of the methods from Evolution to interact with $modx will be deprecated soon in Revolution. If you are writing Snippets or Plugins you need to get familiar with $modx->getObject() and Co.
- New permission system: Instead of the distinction of Web Users and Manager Users in Evolution, Revolution switched to ACL (Acesss Control Lists) and Context based permissions.
- Make Resources external to make use of version control: Required resources can also be loaded from files instead of saving everything to the MODx database.
- Friendly URLs: How to use the enclosed .htaccess and what MODx settings to use.
What I dont like with MODx Revolution is the slow Manager interface based on ExtJS. If you have to go through a longer configuration or exploration session, waiting for the frontend to finish loading can be a drag. But the ajaxy Manager helps you to perform some actions in parallel without you losing your form content, e.g. if you need a href and need to lookup the document-ID you just click on the Resource tab and look it up in the tree.
Overall I must say MODx Revolution makes the expression to me like a very well crafted, cutting-edge and thought through CMS. Congratulations and many thanks to all contributors! You are awesome!
Since one of my coolest (private) projects www.lsis.cc somewhat lacks the expected amount of traffic, I would like to emphasize the core feature in this blobpost – just to make you aware of it or encourage you to tell your friends or have ideas to apply the concept to other areas.
In short LSIS – Life Science Information Service – on a daily basis crawls a list of essential news sources in the field of life sciences and indexes this content after applying a series of quality measures. You can traditionally serach from our search frontend OR save your searches once you are comfortable with the results. You can then give your ‘channel‘ an name and decide if you would like to get new articles matching your saved query pushed onto your email stack or subscribe to it via RSS-link and process it with all your other industry feeds in the feed reader of your choice. All this is completely for free and anonymous!
After seraching the current content you are provided a 'Save Search' button. It let's you save your individual, private and free channel.
You can also browse a series of existing channels, which are preset saved searches of current life-science buzz-topics and subscribe to as many as you like via email or RSS.
Let’s say you are interested in
and whatever else you might want to monitor just save yourself a query and start being alerted on a daily basis – make your colleagues wonder what cool up-to-date industry guru you are.
Browse existing channels, find RSS feeds or subscribe to get reports pushed via email.
I just found this handy little tool:
You need to do the following:
- have your OPML ready (e.g. export it from GoogleReader),
- upload it to SuggestRss and
- see other feeds that might interest you.
Happy feed digestion!
As projects and teams I am working on get more interwoven and organizational issues and management processes are gaining more and more traction on the 3 project dimensions time, budget and quality, I was thinking about what I would do as a manager in charge to let steam off the many issues we were facing and become productive again.
A low hanging fruit I identified, was the overall uncertainty about the many projects and tasks running at the same time with nebulous requirements and developers working in parallel on many things without clear priorities, which resulted in an ad-hoc development and fixing-style of work. This created an atmosphere in which it was nearly impossible to plan – a vicious-circle.
As a consequence I was thinking about how we could …
- … make the ongoing project-related processes more transparent to all participants (Chicken and Pigs),
- … display project progress, status, expected outcome and deadlines, and
- … visualize the current consumption of available ressources and the team’s mood.
During my research I came accross the term ‘Big Visual Charts’. Once you enter the arena of visualizing processes, you will also come across closely related topics like Kanban (Japanese for card or sign) and Lean Production.
- Hand-made drawings on a wall draw more attention than everything electronically distributed or printed stuff. They are easy to maintain and unique.
- Capture what is important for success, spotted problems, especially recurring ones. Capture good things and bad things equally.
- Do not be fingerpointing in your visualizations, just display facts to trigger goal oriented behaviour. Your goal is always to become more effective through behaviour adaption.
- As time goes by, your charts evolve and display certain patterns which work as trigger for people to come together and find solutions as a team.
- A central project dashboard helps the team and the project stakeholders to understand the bigger picture, what they are currently doing, what comes next and what they want to focus on. It helps the team to self-organize and prioritize tasks.
Examples and inspiration:
One nice example of a project planning board is this one from the ‘Agile in Action’ site. See ** link from the above list for explanations.
Nice to see the Southpark icons for each team member ;).
This one focusses on the planned stories (green) plus incoming change requests (yellow) and defects (red) to be fixed. It becomes obvious if there where fewer changes and less defects, the team could concentrate more on the production of story points. See * link from above list for explanations.
A burndown chart in Scrum showing the remaining stories in the project backlog. It also visualizes the progress towards a deadline. See **** link from the above list for explanations.
There are many more chartable things:
- Show team velocity, the number of story points finished or how many ‘ideal man-days’ your team spent actually in production per iteration. This knowledge will also help you plan more accurately in the future.
- Defects reported and defects fixed.
- Unittests and actually working unittests, or code coverage of your test suites. Discover how better code coverage and more tests affect reported defects and leave more time to be productive in other areas in the future or reduce overtime.
- Hours spent pair-programming.
- Track unplanned interruptions by adding a red sticker on a calendar or the story card you are currently working on.
- Team code ownership, number of people contributed to certain modules or average contributors.
- Last date the boss ordered pizza for the team.
In search of an example how to implement a top-level exception handler in PHP I came across this nice site containing lots of well explained tutorials and articles:
When you do a lot of concentrated work (if you are privileged to be in an environment where this is possible), it is good to do something completely different at times. I discovered that when I switch my mindset to someting else more relaxing like leafing through impesssing images, some of the previously unanswered questions get solved automatically in my brain and what is more – it has a relaxing effect on me too.
This phenomenon led me to discover ‘Photoblogs’. Here is a source: http://www.coolphotoblogs.com
Some Links (just click the previous-buttons on those pages):
Here is a nice idea to present yourself as freelancer:
http://www.vermeersch.ca (click ‘Explore’)
Nice real-life code metric: “WTFs per minute”:
Found on http://www.osnews.com/comics
Watching state-of-the-art things of different areas inspires me. The Coolhunter is a very nice collection with categorized images of design stuff: