Feed aggregator
Steinar H. Gunderson: New life
In the beginning, there was the machine. And the machine was a laptop, a Dell Latitude D420, with a Core Duo 1.2GHz processor, as recommended by the Holy Planet of Debian. And the keyboard was wonderful, and all was good.
Then, one day, the hard drive died. But the machine had a Dell on-site next-business-day warranty, and the hard drive was replaced, and all was good.
In time, more components died and were replaced; the keyboard was worn out at least five times, the machine was dropped in the asphalt and broke off some plastic, and the screen was not as bright anymore. But the next-business-day warranty still persisted, and all was good.
In the end, the screen hinges broke, the keyboard once again wore out, the RAM was upgraded, and the five years of warranty were up and could no longer be extended, but that did not stop the machine; Dell would happily give out the required part numbers and the service manual, and eBay and Amazon would continue to give out the required parts cheaply, there was still nothing on the market with a keyboard as good, and all was good.
However, in the end, the USB ports, soldered to the motherboard itself, were all worn out from too much plugging and unplugging. More searches were made, inquiries were done, and in the end, the most intricate brain surgery was made, replacing the very core itself, though not the soul of the machine.
For see, out of the ashes rose, with new 64-bit Core 2 Duo processors (still at 1.2GHz), the machine, in a new and splendid glory.
For it was now a Dell Latitude D430.
Ingo Juergensmann: right2water.eu - Water is a Human Right
I don't know how the water supply is organised in your country, whether it is a public water supply or private, but when you are living in the European Union it may change soon to private water supply. The EU Commission wants to liberalise the water supply and sanitation in the EU, but this would mean higher prices and less quality for the citizens.
There is a citizens' initiative against this plan, because water and sanitation is a human right and not a commoditiy that can be (ab)used by private companies to make money. Please sign the petition on right2water.eu:
Currently the petition already reached its goal of 1 Million signers, but unfortunately the rules are somewhat more complex: A certain quorum must be reached in every member country of the EU. At the moment the most signers came from Germany, so the quorum for Germany was reached. But according to a statistic posted on Twitter the quorum needs to be reached at least in 7 countries. Only Germany, Belgium and Austria did so. So please sign the petition on right2water.eu and spread the word in your country!
But why is privatization a bad idea? Especially when it is done in a Public Private Partnership (PPP)? As said, water and sanitation is a human right and must not be object for profit. What happens when water supply is done by a private corporation can be seen in the documentary "Water Makes Money" which was aired on French-German TV station "Arte" last week. You can watch it online in German and French.
The petition is running until September. There's enough time to sign it and - even more important - to contact your Members of European Parliament and request a "No!" to privatization of water and sanitation!
Kategorie: DebianTags: PolitikWirtschaftBürgerrechteChristian Perrier: DPL game or why I'm not your man
Still, I won't stand and I feel like I should explain why.
Yes, I now have some experience in the Debian Project after more than 11 years as DD. Yes, I like to represent the project and I think I don't do that so badly when I do it (which is not as often as one might imagine).
Yes, I feel like I have some experience in acting as a "leader" though I often have doubts about this, probably just like many people who have management duties in their professional life.
Yes, I often define myself as a non-technical person which helps in dealing with problems and projects with different perspectives. Still, this is often not so true and that extends to my professionnal activity. I *am* indeed a technical person but I'm more a "specialist of everything and nothing" in this aspect. That's probably good for a DPL.
But, still I won't stand. There are indeed many reasons for this and I'll try to give them here.
First of all, Debian has always been a hobby for me. A hobby that sometimes ate several hours a day and still eats part of my time. But still a hobby. It can't become the major part of my life. And I think that someone spending one year as DPL "has" to do it as the major part of her|his life.
I can't free time from my work schedule. My work, though being in IT, has few to relate with Free Software, and I can't divert part of it with Debian duties...or merge it with Debian duties. For about 3 years, I compensate the loss of two people in my team by working hard and VERY fast, in a constant stress....connecting with Onera nearly all time long and maintaining the level of services our users deserve as high as I can. And I like it.
I can't free time from my family schedule. Of course, my children don't request much attention right now, they all live their own lives. Jean-Baptiste is now having a full-time paid job and does great things in a geeky style I recognize very well. Sophie will soon be a great graduated social worker and will start working in next Summer. And Magali is studying physical therapy so that she can later help me recovering after too hard running races..:-). However, last and definitely not least, I have a wonderful wife who I want to share as much as I can with. And I can't share Debian with her. Indeed, Elizabeth is the very first reason for my reasoning.....because she is the center of my life for more than 30 years now.
You also know that I happen to run a little bit..:-)...and that requires time too. Something I won't sacrifice as it brought more equilibrium in my life (and a great health, at an age where one has to care about one's health, now).
All this doesn't leave much room. And I indeed noticed that my involvement in Debian has reduced noticeably in the past months. That is indeed the most important point: I'm "slowing down" in Debian...or, at least, I'm trying to find an equilibrium where it represents only a part of my hobbies....and not an ever-growing one.
Last...maybe not least, I'm somehow pessimistic about the future of the project. You may have read that subtly in my writings, here or there. I feel like we are slowing down in innovation and are slowly feeling short of resources. Renewal in project members doesn't come as fast as it used to. You are free to disagree with me and I hope you'll be right to. But, still, that won't remove my pessimism. And, well, it's hard to lead a project when you're partly pessimistic about it, isn't it?
In short, all in all, I'm currently "fighting" in some way to keep motivation for something I deeply love being involved in. And that's really important. And that's why I can't stand: it wouldn't be a good service to the project. It would be good for my ego, certainly (yes, I have one....and sometimes not a small one)....but it wouldn't be a good service to the project, and I also feel it could very well lead me to burnout.
And, if you "nominated" me...or think I would candidate for DPL, you don't want me to burnout and vanish from Debian, right? So, this is why I won't stand.
And this is why you'll continue to have great Cheese and Wine parties at Debconfs....or boring l10n reports....or, here or there, some broken uploads in the archive..:-)....but not another French DPL, at least not /me.
PS: by the way, I have my own list of preferred candidates. Not sure I want it to be public, though...:-)...you'll see soon if I change my mind!
Lars Wirzenius: Kickstarter: Maria Eveliina
Soile, my beloved, is running a second Kickstarter campaign to fund her first feature-length movie, Maria Eveliina.
This time, she and her producer are seeking funding to pay an editor to do the final, professional cut of the movie. They've found a professional editor who'd like to work on the project, but need some payment.
The Kickstarter page explains more. It also has a "Back this project" button if you feel so inclined.
Luca Falavigna: The DPL Game
Playing the DPL Game: here are my nominations for the Fantastic Four:
- Cyril Brulebois
- Ansgar Burchardt
- Scott Kitterman
- Pino Toscano
P.S. Sorry Joss, I’m not your man
Dirk Eddelbuettel: digest 0.6.3
This is a minor bug release regarding just the recently-added sha512 support. Turns out the wrong initial buffer size was used on the R side. Hannes fixed that within hours after we got the bug report; but I was a little swamped with multiple deadlines and failed to upload this right away.
CRANberries provides the usual summary of changes to version 0.6.2. Our package is available via the R-Forge page leading to svn and tarball access, my digest page, the local directory here as well as via Debian and its mirrors.
Moray Allan: DPL game
- marga
- Clint
- bdale (he has some free time now, right?)
- tiago
(I'm hoping that this game can save me from the clutches of the other unnamed people who suggest that I stand myself.)
Hideki Yamane: Developers Summit 2013 in Tokyo
"Developers Summit 2013" was held in 目黒雅叙園 (Meguro Gajoen), Tokyo. I've participated to this event to get information about development method and know-how.
Keyword is: Agile, Scrum, Continuous Delivery, Deploy 1000 times in an hour
Well, some talks were about Agile development (especially Scrum), the experience that how they tried to introduce "Agile" approach to their work to improve thier problems/troubles and what they've learned and got from it. I think it's very exciting if we Debian can deploy (=release) stable anytime we want! To achieve it, we should get Agility by learn their way of values and practice. I hope I'll go to DebConf13 then give a talk about it :)
Some community booth were there, I went and chatted with Vine Linux developer and community member for a while (Vine Linux is a Japanese local distribution since and we Debian get VLGothic font as default Japanese font from them :) They promoted "Handbook for developers" and it looks so good shape. Maybe you know, we also have Debian Develpers Reference(and I've completely translated it to Japanese), but their one is more catchy, of course I think we can borrow something from it to improve our DDR.
And I've got a book about CloudStack named "CloudStack 徹底入門" (Introduction to CloudStack, for beginners, users and professionals) at 日本CloudStackユーザー会 (Japan CloudStack users group) booth, by winning a prize :)
Also bought some books at publishers booth because 10+Tax5% off was so attractive...
Daniel Pocock: Adapting the Swisscom Piccolo (Motorola 7640-47) Router for bridging and other ISPs
The Piccolo is actually quite a powerful router. Unfortunately, Swisscom has crippled it, removing fundamental configuration options from the web management interface, and even worse, breaking some of the (undocumented) command line configuration options.
At a bare minimum, the router can be turned into a bridge/modem, enabling more powerful functionality to be implemented using a wifi router with OpenWRT or a similar solution.
Documentation for the Motorola generic version of this device provides some helpful clues about the configuration and may be a useful resource for anybody adapting it.
The undocumented telnet interfaceThe username and password for the web interface also allow telnet access to administer the router. The telnet interface actually has quite a lot of features, many more than the web interface.
The normal username is admin. If the admin password is not known it can be reset to 1234 using the factory reset button on the back of the router.
$ telnet 192.168.1.1
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
login: admin
Password: (default 1234)
Terminal shell v1.0
Copyright (C) 2011 Motorola, Inc. All rights reserved.
Motorola Netopia Model 7640-47 Annex A VDSL2 IAD
Running Netopia SOC OS version 9.0.10 (build h2d8)
ADSL/VDSL capable
(admin completed login: Admin account with read/write access.)
The first step for any Piccolo owner is to remove the backdoor from Swisscom. Swisscom links the routers to a management platform that allows them to change configuration remotely, or even push out firmware updates.
Allowing an external party such as your ISP to push updates to your router is a major risk. Just imagine if Swisscom decides to update firmware while you are making an online purchase or checking in to a flight - your router reboots itself and your transaction is hosed.
Let's have a look at the default configuration of the router, notice these cwmp settings:
Centro_piccolo> show conf
.
.
.
set management cwmp enable on
set management cwmp acs-url "https://rms.bluewin.ch/cwmpWeb/WGCPEMgt"
set management cwmp acs-username "bluewincustomer"
set management cwmp acs-password "***************"
.
.
.
If you didn't already know that was there, you might be quite unpleasantly surprised right now.
Removing it is easy:
Centro_piccolo> conf Config Mode v1.3 Centro_piccolo (top)>> management Centro_piccolo (management)>> cwmp enable Centro_piccolo (management cwmp enable)>> set enable (on) [ off | on ]: off Centro_piccolo (management cwmp enable)>> up Centro_piccolo (management cwmp)>> up Centro_piccolo (management)>> up Centro_piccolo (top)>> save Configuration data saved. Centro_piccolo (top)>> exitNotice that after you make a change, you must type the save command to persist the change.
Putting the router into bridge modeWhen I purchased the router, I was using it with Swisscom. Their own network operates ethernet over ATM and the router obtains an IP address using DHCP. I subsequently changed my ISP to Init7, an independent ISP. Init7, like most third-party ISPs in Switzerland, uses PPPoE rather than the bridged mode. For either mode of operation, the router can bridge the DHCP or PPPoE packets to a more flexible router, such as a TP Link WR-1043ND running OpenWRT or even a Linux server.
In the normal configuration, I discovered two bridges in the router:
Centro_piccolo> show bridge interfaces Bridge interfaces: bridge name bridge id STP enabled interfaces br1 8000.0024c94dfcf0 no eth0.16 eth1.16 br2 8000.0024c94dfcf1 no ptm0 atm1Clearly, bridging is possible. The Motorola/Netopia manuals refer to various bridge configuration options that just don't seem to exist on this unit. Nonetheless, it is possible to join those two bridges into one:
Centro_piccolo> conf Config Mode v1.3 Centro_piccolo (top)>> link name LAN Centro_piccolo (link name "LAN")>> port-vlan Centro_piccolo (link name "LAN" port-vlan)>> ports Centro_piccolo (link name "LAN" port-vlan ports)>> set ports ("lan-1 lan-2") [ lan-1, lan-2, ptm, vc-1 ]: "lan-1 lan-2 ptm vc-1" Centro_piccolo (link name "LAN" port-vlan ports)>> up Centro_piccolo (link name "LAN" port-vlan)>> up Centro_piccolo (link name "LAN")>> up Centro_piccolo (link)>> name WAN Centro_piccolo (link name "WAN")>> port Centro_piccolo (link name "WAN" port-vlan)>> view port-vlan ports "ptm vc-1" priority 0 Centro_piccolo (link name "WAN" port-vlan)>> ports Centro_piccolo (link name "WAN" port-vlan ports)>> set ports ("ptm vc-1") [ lan-1, lan-2, ptm, vc-1 ]: "" Centro_piccolo (link name "WAN" port-vlan ports)>> view ports "" Centro_piccolo (link name "WAN" port-vlan ports)>> up Centro_piccolo (link name "WAN" port-vlan)>> up Centro_piccolo (link name "WAN")>> up Centro_piccolo (link)>> save Configuration data saved. Centro_piccolo (conn name "WAN" link-oid)>> exitand now let's check the results:
Centro_piccolo> show bridge interfaces Bridge interfaces: bridge name bridge id STP enabled interfaces br1 8000.0024c94dfcf0 no eth0.16 eth1.16 ptm0 atm1The WAN connection parameters (PPPoE or DHCP) should not be ignored by the router, and it should just be bridging PPPoE or DHCP traffic from the ISP to the other router. The Piccolo is now behaving like a modem/bridge.
Károly Négyesi: Drupal 8 progress from my / MongoDB perspective: update #14
A short one because not a lot of time has passed but two commits worths a quck post: Aggregator support for entity queries has been committed and also we have an aptly named 'drivers' directory database and other drivers can live. I will work on getting drush and update.module support for the db drivers there.
Oliver Davies: Creating and using custom tokens in Drupal 7
This post outlines the steps required to create your own custom tokens in Drupal.
When writing the recent releases of the Copyright Block module, I used tokens to allow the user to edit and customise their copyright message and place the copyright_message:dates token in the desired position. When the block is rendered, the token is replaced by the necessary dates.
We will be using the fictional foo module to demonstrate this.
Requirements Recommended- Devel module - useful to run dpm() and kpr() functions
- Copyright Block module - 7.x-2.x and 6.x-1.x use tokens, handy as a reference
The first thing that we need to do is define the new token type and/or the token itself, along with it's descriptive text. To view the existing tokens and types, use dpm(token_get_info());, assuming that you have the Devel module installed.
/** * Implements hook_token_info(). */ function foo_token_info() { $info = array(); // Add any new tokens. $info['tokens']['foo']['bar'] = t('This is my new bar token within the foo type.'); // Return them. return $info; }In this case, the token called bar resides within the foo group.
If I needed to add a new token within an existing token type, such as 'node', the syntax would be $info['tokens']['node']['bar'].
Implementing hook_tokens().Now that the Token module is aware of our new token, we now need to determine what the token is replaced with. This is done using hook_tokens(). Here is the basic code needed for an implementation:
/** * Implements hook_tokens(). */ function foo_tokens($type, $tokens, array $data = array(), array $options = array()) { $replacements = array(); // Code goes here... // Return the replacements. return $replacements; }The first thing to check for is the type of token using an if() function, as this could be an existing type like 'node', 'user' or 'site', or a custom token type like 'foo'. Once we're sure that we're looking at the right type(s), we can use foreach ($tokens as $name => $original) to loop through each of the available tokens using a switch(). For each token, you can perform some logic to work out the replacement text and then add it into the replacements array using $replacements[$original] = $new;.
/** * Implements hook_tokens(). */ function foo_tokens($type, $tokens, array $data = array(), array $options = array()) { $replacements = array(); // The first thing that we're going to check for is the type of token - node, // user etc... if ($type == 'foo') { // Loop through each of the available tokens. foreach ($tokens as $name => $original) { // Find the desired token by name switch ($name) { case 'bar': $new = ''; // Work out the value of $new... // Add the new value into the replacements array. $replacements[$original] = $new; break; } } } // Return the replacements. return $replacements; } ExampleAn example from Copyright Block module:
/** * Implements hook_tokens(). */ function copyright_block_tokens($type, $tokens, array $data = array(), array $options = array()) { $replacements = array(); if ($type == 'copyright_statement') { foreach ($tokens as $name => $original) { switch ($name) { case 'dates': $start_year = variable_get('copyright_block_start_year', date('Y')); $current_year = date('Y'); $replacements[$original] = $start_year < $current_year ? $start_year . '-' . $current_year : $start_year; break; } } } return $replacements; } Using token_replace().With everything defined, all that we now need to do is pass some text through the token_replace() function to replace it with the values defined within hook_token().
$a = t('Something'); $b = token_replace($a); // This would use any token type - node, user etc. $c = token_replace($a, array('foo')); // This would only use foo tokens.Paul Tagliamonte: My #dplgame 4
In no particular order, here are my 4 picks for the DPL thunderdome:
- algernon
- gregoa
- rra
- KiBi
I hope they all run. Really.
Another Drop in the Drupal Sea: Rules is cool until it makes you a fool
From the Rules project page:
The rules module allows site administrators to define conditionally executed actions based on occurring events (known as reactive or ECA rules). It's a replacement with more features for the trigger module in core[.]
FunnyMonkey: Last day to submit for User Experience Track at DrupalCon Portland 2013
For the first time ever, DrupalCon is featuring a User Experience Track. We will have 13 sessions discussing User Experience Methods, tools and philosophies.
Today, Friday February 15th, is the last day to submit sessions for DrupalCon. Get your sessions in!
UX Track Featured SpeakersWe already have 3 Featured speakers planned for the track:
- Design Ops: A UX Workflow for 2013 - Chris Blow, Meedan, User Experience Lead
- What Users Want (Or Why Webpages are Dead) - Nam Ho Park, ForumOne Communications, Regional Director for West Coast / Director of Mobile Services
- Responsive Discovery: The Underpants of a Great Web Project - Steve Fisher, Director of User Experience, Yellow Pencil
The User Experience process is key to the success of the development of websites and web applications. From user research, interviews and analytics, we learn what the user actually wants and needs; not what we assume they want. At this year's DrupalCon we present a new User Experience track to show our community's dedication to user needs.
Main Themes- Explaining what user experience is and why it’s important
- UX for mobile and tablet, Responsive UX
- Speeding up the design process using UX tools and techniques
- UX for multilingual sites - especially RTL
- Content Strategy
- UX professionals - Drupal
- UX professionals outside of Drupal
- Backend devs that are interested in UX
- Frontend devs interested in UX
Code Karate: Drupal 7 Block Up Down Module
The Drupal 7 Block Up Down module allows easy management of your blocks from the front end of your site (rather than having to go to the Administer Blocks page).
In this episode you will learn:
- What the Block Up Down module is used for
- How to use the Block Up Down module to re-position or disable blocks on your Drupal site
Thanks to Drupalize.me for sponsoring today's episode.
DDoD Video:Aten Design Group: DrupalCon Sydney Recap
I was super excited last year when I heard a DrupalCon was to be thrown in Sydney, Australia in 2013. At the time, my wife and I recently found out she had been accepted into a teachers' exchange program and we were going to be living in Adelaide, SA for the year. Win win! This happy coincedence cut the travel time from 22 hrs. down to 2 hrs.—making the idea of attending the first DrupalCon in the southern hemisphere a realistic one. So last week I found myself on Coogee Beach with roughly 400 hundred Drupal comrades.
Location, Location, Location. Coogee Beach was the most spectacular location for any Drupal event I've been to. (Sorry Auraria Higher Education Campus.) The landscape was breathtaking. Unfortunately, I didn't have the time to explore. After all, I wasn't there to get a sun tan. I had things to learn and people to meet.
As with any Drupal event, I was surrounded by a fantastic community of developers eager to share their knowledge and experiences with others. While sessions are the main attraction, it's the conversations and relationships that you only get from attending the live event that appeal to me most. Being on the other side of the globe, there were fewer familiar faces than usual. Not a bad thing as it presented a great opportunity to make new friends.
This is not to say the sessions aren't worth the price of admission. I made it to quite a few this time. All were great but there were two in particular that struck a chord with me. Luke Brooker's Improving your Responsive Workflow with Style Guides and Jeff Eaton's Building for the Post-mobile World.
Style Guides are something we've been working into our evolving site creation process for a while now. Last year, Ken spoke about utilizing style guides in Photoshop as an alternative to a series of full page comps. Luke's session focused on HTML and CSS based style guides utilizing Kalei Style Guide. Kalei is a JS based dynamic style guide generator that automatically builds Bootstrap like documentation based on Markdown-formatted CSS comments from a stylesheet. This has a positive side effect of forcing front-end developers to comment their code—extremely useful when working with teams. I had some great conversations with Luke about this approach and his vision for it. I'm super pumped about working this into our process!
Jeff's talk followed the same themes described in Karen McGrane's Content Strategy for Mobile. I like to think of it as 'Responsive Information Architecture' in which content is structured in such a way that any site or app can pull the bits that are appropriate for its use case from a single conical source. He points out that Drupal's architecture is already poised to take advantage of such an IA strategy. It's just a matter of how we, as developers, take advantage of the tools in our site creation process.
Having served as a track chair for DrupalCon Denver and currently as global-chair for front-end in Portland, these are the types of sessions I find perfect fits for DrupalCon. Taking ideas from the broader web development community and applying them to Drupal. After all, most attendees are already (or about to be) invested in the Drupal platform and this is the type of content they won't get at most other conferences.
Speaking of which. Session submissions for Portland close at 11:59pm PST Fed. 15th. That's Tonight!! Please get your proposals in right away. Drupal events are only as good as the community makes them. A shining example of this is Mr. Snow. Snow set the bar extremely high for track chairs. While most track chairs (I'm guilty of this) consider their work mostly over when the conference starts and leave the speakers to fend for themselves, Snow mc'd every single front-end session, giving each speaker a personal introduction and facilitating Q&A afterward. It's this type of effort and ownership that the local community can contribute to DrupalCon. Well done Mr. Snow!
The Saturday sprint was an amazing experience. This was the first event I had made plans to stick around for the code sprint and it won't be the last. It's a great opportunity to get involved with core and help steer the direction of Drupal. Again, the location was amazing. It was a bit toasty in the official sprint room, but outside the internet connection was just as good as the ocean view.
All in all it was a great conference. My only complaint was that it went by too quickly. I'd like to say thanks to Aten for sponsoring DrupalCon and sending me. On to Portland!
Acquia: Meet Mark Sonnabaum: Performance fanatic
Mark Sonnabaum, performance engineer at Acquia, comes to open source on a straighter path than some ... despite his university degree being in music composition! He was a systems administrator at the University of North Texas and chose Drupal – in the Drupal 4 era – as the replacement for a mish-mash of legacy, static systems at the university. Today, he is a contributor who has made significant improvements to how Drupal performs for all of us.
mark_sonnabaum_final.mp3Iustin Pop: Garmin Montana
Sometimes, I get waaay too excited about gadgets, and I have to share it. So, sorry, here it goes
For some reason that is not very important, I was looking for a better solution for GPSes with maps.
Side-note: if you ask why Android is not “good enough”, here's the story: last year, knowing that Google Maps supports caching (finally), I upgraded Maps, preloaded London, and went on a trip. Only to exit the Victoria underground station and to stare ~20 minutes in light rain at my phone, wondering why it doesn't get a fix. I gave up in the end, and used the cached maps for getting around. Later I learned the reason: Maps was not broken, but without data, Android can't get a lock easily; and more-over, the recent Maps update without GPS active even once afterwards, to do whatever it needed, meant I couldn't get a lock until back in Switzerland.
Or, alternatively: while on a trip to Japan, it turns out that Google Maps caching is not supported there, probably because of rights over mapping data. So I had location, but only temporary cached maps (from the wifi in the hotels).
Due to this kind of problems makes I consider Android maps a toy, so I wanted a GPS device with proper maps (on the device, not in the cloud), and with good GPS capabilities (no fancy A-GPS or anything, just plain good standalone GPS).
Having had good experiences with the sport line of Garmin (but which doesn't have maps, so it's out of the question), I looked at Garmin. Many people complained about some things (same all over the place):
- newer devices less tested, software with lots of bugs
- dumbing down of devices, ultra-simplification of the UI
The latter is something that jumped at me from many of the blogs/fora that I read; I like customisable “power tools”, not one-button mice.
The other thing that I didn't really like was that most devices are very “focused” on a niche: the nüvi line on automotive, the Zumo line on motorbikes, and the hand-held lines with some blurring of hiking/geocaching/etc. So no “one-size fits all” device…
Features! Customisation!That is, until I found out the Montana series. My my, I was blown. Both by the price (I couldn't believe how expensive it was, without maps!) and by the features.
As it turns out, the Montana has different “profiles”, and it can act:
- as a hand-held device for hiking/geocaching (yay!)
- as a bicycle-mounted device for biking through the woods (yay!)
- as a motorcycle-mounted device (hmmm…)
- as a car-mounted device, for automotive use, including guidance, both TTS and non-TTS voices, lane assist, speed limits, etc.
That is for flexibility. As for performance/features:
- it has a Transflective liquid crystal display screen, so it works best (as opposed to worst) in bright sun, and of course also works in the dark, via its back light
- the touchscreen is resistive, so glove-friendly: tested it with my regular gloves on and with my biking gloves (which are very clumsy), and it works like a charm
- it is water-proof (IPX7); that means I can keep it in the open in the rain, and not worry about dropping it in the snow
- it has both a (replaceable) LiIon battery (many hours of runtime, > 10) and support for powering via 3 AA batteries (> 20 hours), which coupled with some Eneloops is awesome
- GPS sync is awesome; from hard poweroff, it syncs in ~3 seconds I would say (exited building, powered on, was already synced by the time I entered the satellite menu); even in-house, it gets around 2 satellites, and sometimes manages to get a lock
Now for the downsides. Being a multi-functional device, it's not as good as a dedicated one:
- for handheld use, it's a bit heavy; I personally don't mind, but it's something that has to be said: ~300 g
- for motorcycle use, it's worse than the Zumo: no bluetooth compatibility, so you can't have it talk to you in the helmet; but I don't have a motorcycle, so…
- for automotive use, it lacks many things compared to a top-of-the-live nüvi: no voice recognition, no junction view, no birds-eye view, etc.; but I don't have a car, so…
But the small (for me) draw-backs aside, it's definitely not a dumbed-down device. It's the first device that I have which I feel it a bit “too customisable”. From completely changeable menus, to profiles that remember their maps selection, to many dashboards, to almost-programmable shortcuts (e.g. a shortcut to change profile, set destination to a given way point, reset the trip log, and turn track logging on)… a bit overwhelming at first. Add the 3-axis compass, barometric altimeter, ANT+ support… and you get a very powerful device.
SoftwareAs to the software, yes it has some bugs - mainly that the device crashes sometimes (abruptly) if you play too much with the routes (didn't happen to me yet “on the road”, only when testing it at home). On the PC-side, Garmin's BaseCamp is nice, but doesn't hold a candle to Google Maps, for example, in terms of UI; I don't mean shininess, but simply how well the UI works. The most annoying thing is how it doesn't scale detail appropriately with the zoom level. But it works, and I can plan hikes offline, and upload both tracks and routes to it (this is important: it seems other recent Garmins can't replay tracks, only routes). And I can load many maps, and toggle them at will, etc.
The “many maps” feature is not to be overlooked. I could have, for example, standard Garmin maps loaded, but just in case they're insuficiently detailed or out of date (hey, Navteq is slow…), I can also have Open Street Maps from two days ago. The routing is then done on the currently active maps, so you are not restricted to a single mapping provider. And of course you can also have custom POIs (Point of interest) on it.
Bycicle useThe bicycle mount is solid enough, so that on a rough roads it's held firmly. From my ~20 minute test this morning, a few things to note:
- it wanted me to take bigger paths, rather than the trails I like to take; probably I haven't customised it well enough yet
- recalculating a route (when it realises you insist on taking another path than it planned) is very fast
- whenever you approach a change-of-direction, it beeps (see below) and turns on the back light (temporarily), so visibility is improved
- you can actually use the touchscreen with winter gloves (of course, when stopped or at very very low speed)
By default, the unit can only beep, but if coupled via a 3.5" jack to headphones or via the automotive mount, it can properly speak; quality varies with voice, and whether it is TTS or not. I managed to find one voice (non-TTS) that sounds really well, but of course with less information, and one TTS voice that sounds OK-ish but gives full info. By “full info”, I mean the following: the behaviour of the various TTS voices is not consistent. For example, on a simulated route, various voices were saying the following:
- non-TTS: “keep ahead” (voice A), or “keep-ahead, then keep right” (voice B)
- voice C, TTS: “in 94 kilometers, exit right”
- voice D, TTS: “in 94 kilometers, take exit 14 on the right”
- voice E, TTS: “in 94 kilometers, take exit 14 on the right in the direction Landquart, then keep right”
I don't know why these differences, or if they are consistent across routes. But I'll keep with voice E for now
SummarySo, sorry again for sounding like an ad (I don't have any relation with Garmin the company), but I find this device awesome - powerful, rugged, and working (so far) very well. I'm glad that there still exist companies who don't believe they know better than their customers, and instead offer you with a tool that you can make it work just like you want. Or almost
Garmin's tag line: “Big and Tough – Goes anywhere, everywhere”. I tend to agree
ImageX Media: Agile: Your (Alternative) Fairytale Ending
A professor of mine was fond of saying, “We’re not building bridges, people.” His point was that the process required to build a bridge—extensive planning, budgeting and documentation, followed by execution—has been misused by the software development industry.
My professor saw engineering as a science and software development as an art, and he believed the processes to build each should be different. The result of all that planning and budgeting can be an expensive websites with irrelevant or useless features. Web culture changes often and fast, but bridge culture is predictable.
Unless you’re a fearsome troll hiding under bridges, waiting for a goat lunch. In that case, you have some reading to do. Here, borrow my copy of Three Billy Goats Gruff. You’re welcome.
The Agile development approach has been gaining traction in the last few years because it aims to address the biggest factors tripping up projects. Agile is a different way to manage project teams and the processes that govern them. Agile promotes working software over documentation, customer engagement over contract negotiation, and a fluid development processes over a strict plan and timeline.
In a traditional model, change requests are a burden on project teams and a leading cause of project failures. A minor mistake can have a catastrophic impact on timelines and budget.
In other words, don’t believe those small goats: a small lunch is better than dead.
Agile avoids this by favouring short, focused, iterative development cycles. Because Agile is designed to adapt, project teams can evolve with the needs of a project and changing requirements are welcome.
Say you decide to switch things up by eating the first goat that comes along, or—even better—all the goats (you know, instead of ending up on a milk carton): Agile is flexible enough to to accommodate this.
At ImageX we start the Agile process with clients by creating a Minimum Viable Product (MVP). This isn’t the “least we can get away with,” but a set of features to satisfy core project goals: the minimum required for it to be successful.
One small goat should about do it, hey?
This gets the product into the client’s hands faster. It also allows clients and stakeholders to assess the actual product (not a diagram or description) and its usefulness sooner in the process.
When features and functionality of the MVP have been set, the remaining features and functionality are placed in a queue, prioritized by importance. These features are designed, documented and developed in the order they appear in the queue.
Once the MVP is finished, work starts on the development queue. Should a new idea come along, it can be placed in the queue without disrupting the development plan. Since development cycles in Agile are short and focused (and relatively inexpensive), the impact of change is minimized.
Now you can troll your lunch and eat it too!
The management of Agile projects requires a skilled team, a project manager with strong communication abilities, and a client willing and able to be involved in the process. Let’s get started!
Ma-a-a-a.
Richard Hartmann: Release Critical Bug report for Week 07
Technology is... weird.
I am in a cabbin in the middle of Lapland an hour away from the next city to speak of. GPS
N 66 15.958 E 24 59.981look it up.
We haven't had power for the last 60 minutes, the electrical heaters are out and we are trying to keep the main room warm with a wood stove while the wood-burning sauna above is ready to receive us the minute I hI push this post. The cabbin has become noticiably colder already, supply of logs small enough to actually burn is limited, we don't have an axe, but we have a car so we can leave if need be. The next house is about six kilometers away, no idea if they have power or not; the woods are dark all round other than for snowshine.
Yet, I am sitting here, LED lamp lighting the room, GPS telling me what location to write into this post, laptop running on battery, cell phone with EGPRS supplying me with bugstats plus picture (even though I had to do most of it by hand as LWP::Simple barfs on the timeout) and allowing me to push to ikiwiki.
As I said, technology is... weird.
BugologyThe UDD bugs interface currently knows about the following release critical bugs:
- In Total:
786
- Affecting wheezy:
194 That's the number we need to get down to zero
before the release. They can be split in two big categories:
- Affecting wheezy and unstable:
128 Those need someone to find a fix, or to finish the
work to upload a fix to unstable:
- 34 bugs are tagged 'patch'. Please help by reviewing the patches, and (if you are a DD) by uploading them.
- 12 bugs are marked as done, but still affect unstable. This can happen due to missing builds on some architectures, for example. Help investigate!
- 90 bugs are neither tagged patch, nor marked done. Help make a first step towards resolution!
- Affecting wheezy only: 66 Those are already fixed in unstable, but the fix still needs to migrate to wheezy. You can help by submitting unblock requests for fixed packages, by investigating why packages do not migrate, or by reviewing submitted unblock requests.
- Affecting wheezy and unstable:
128 Those need someone to find a fix, or to finish the
work to upload a fix to unstable:
- Affecting wheezy:
194 That's the number we need to get down to zero
before the release. They can be split in two big categories:
How do we compare to the Squeeze release cycle?
Week Squeeze Wheezy Diff 43 284 (213+71) 468 (332+136) +184 (+119/+65) 44 261 (201+60) 408 (265+143) +147 (+64/+83) 45 261 (205+56) 425 (291+134) +164 (+86/+78) 46 271 (200+71) 401 (258+143) +130 (+58/+72) 47 283 (209+74) 366 (221+145) +83 (+12/+71) 48 256 (177+79) 378 (230+148) +122 (+53/+69) 49 256 (180+76) 360 (216+155) +104 (+36/+79) 50 204 (148+56) 339 (195+144) +135 (+47/+90) 51 178 (124+54) 323 (190+133) +145 (+66/+79) 52 115 (78+37) 289 (190+99) +174 (+112/+62) 1 93 (60+33) 287 (171+116) +194 (+111/+83) 2 82 (46+36) 271 (162+109) +189 (+116/+73) 3 25 (15+10) 249 (165+84) +224 (+150/+74) 4 14 (8+6) 244 (176+68) +230 (+168/+62) 5 2 (0+2) 224 (132+92) +222 (+132/+90) 6 release! 212 (129+83) +212 (+129/+83) 7 release+1 194 (128+66) +194 (+128/+66)Graphical overview of bug stats thanks to azhag: