Reader Comments

Robert Paterson | Thursday, May 16, 2013 - 10:47am

I use the 747 bus in YUL all the time Peter - it is excellent and has a 20 minute gap so there is always a bus. Even in the rush hour it makes good time too. The bus that I thn take to Knowlton, Limocar, is also a winner. Especially if I leave in the rush hours - buses in MTL have a special bus route onto the bridge that avoids the jam. So they are able to keep to schedule. The Mega bus MTL to Tor - takes 5 hours and can cost less than a tank of gas.

Buses get better all the time

UBi | Thursday, May 16, 2013 - 9:30am

Since it's all HTML/CSS/JS: shouldn't it suffice to transfer the browser zip file to your desktop computer, unzip it, modify browser.js, re-zip it, and put it back in place? Rebuilding and flashing complete gaia seems like huge overhead to me.

Alex | Monday, May 13, 2013 - 8:34pm

Thanks, that's helpful!

Peter Rukavina | Monday, May 13, 2013 - 7:26pm

The Peak is 13.5 cm x 6.5 cm x 0.8 cm. I don't have a way of checking the weight, but I can tell you that it seems to be about 3/4 of the weight of my Nokia Lumia 800 if that means anything to you.

Alex | Monday, May 13, 2013 - 1:47pm

If you get a chance, I'd be interested in the dimensions and weight (rough is fine). I haven't seen these numbers listed anywhere.

Robert Kaiser | Monday, May 13, 2013 - 9:35am

As the first devices being shipped with Firefox OS are all in the same lineage as the Keon, the larger screen of the Peak right now isn't tested very well - and in the first version of Firefox OS, some corners have definitely been cut to manage to get something deliverable to the low-end market within the set timelines.
Also, it seems like because of the Peak not being in the v1 target lineage, Geeksphone did some creative hacking to get the builds for it up and running (which can be the source of crashes/reboots), and I hope they'll clean that up in future updates. They're a pretty tiny company so some things there might take a while.
That set, all the code is open, the phone is flashable and our people at Mozilla surely would be more than happy about you getting up a build of the current development versions and getting in some pull requests on fixes e.g. in the UI ("Gaia"). :)

Steven Garrity | Sunday, May 12, 2013 - 6:57pm

Are you sure that wasn't last year? I am old.

Peter Rukavina | Sunday, May 12, 2013 - 5:52pm

In the meantime, this responsive.css file will help: it adjusts the sizes of UI elements, and is used by the Gaia apps (like SMS) to ensure that they are rendered in usable size.

alexander | Sunday, May 12, 2013 - 4:47pm

> there’s an issue with it not being detected as a mobile browser by sites offering a mobile version

Looks like it's time to stop assuming the only mobile browsers are WebKit-based.

Robert Paterson | Sunday, May 12, 2013 - 12:07pm

Ah how time flies

Randy McDonald | Friday, May 10, 2013 - 11:36pm

These bike racks are convenient on Toronto routes. I'm glad that Charlottetown has at least one bus so equipped!

madis | Friday, May 10, 2013 - 5:48pm

hey,
nice project! Im trying to replicate it, however I am having hard time to get python up and running (this is quite new for me).
But my first question: dont you need Ethernet shield for arduino to run this? In Cosm it sort of says you do...

Thanks for reply

Jeanette | Friday, May 10, 2013 - 12:58pm

Soooo very cool!
Looks great.

Ayelet | Wednesday, May 8, 2013 - 12:10am

Thanks so much , I was on the verge of crying today on the phone with bell mobility trying to find a local who understands but all I got was some guys out of mombai I'm sure ready and eager to sell me a plan...so when I goofled pei bell you're article came up.

Bob Gibson | Tuesday, May 7, 2013 - 6:22pm

Hi Peter: You’ve “sparked” some interest here.

I’m happy to say that a solution is on the way, at least for Canadian books. Have a look at www.deslibris.ca. And more specifically at http://www.deslibris.ca/en-us/resources/libraries/universalloan.aspx

As we say, this solution will not necessarily work for the larger publishers. But we think it will dramatically improve the degree of exposure and (hopefully, by extension) the revenue finding its way to Canadian publishers and their authors. It will also build stronger collections of Canadian works in Canadian libraries.

For example, look at the PEI Overdrive site to find books from Canadian publishers. Take Dundurn (one of the larger Canadian-owned publishers) as an example.
http://peipls.lib.overdrive.com/AFF82EA1-8B49-4A0C-8ED0-AB392F6D8448/10/779/en/Default.htm

Try doing an Advanced Search on this site for Dundurn. You’ll get a grand total of 3 titles which have been licensed by Overdrive to the PEI Library System. (And only 200 in the print catalogue.)

Dundurn has released over 1400 titles in ebook form. If (when?) the PEI system subscribes to desLibris, their readers will suddenly have access to all 1400 titles, which will all be available for Universal Loan.(Every book available to every reader all the time.)

Dundurn management, being a progressive group, are delighted with this new approach; they want people to read their books, and they know that a book that can't be found can’t be read.

In agreeing to participate in the Universal Loan model, publishers need to make a small leap of faith, trading revenue today from the sale of a few books for continuing exposure of all books.

Libraries likewise need to make that leap, trading their traditional method (buy the book and put it on the shelf) for a new one (rent all the books.)

desLibris is being formally introduced to libraries and publishers at the library conferences coming up this month (including the APLA conference next week in Charlottetown.) We hope it too will spark some interest.

Nathan | Sunday, May 5, 2013 - 6:57pm

For the past half-year (almost), PEI has been 42% wind powered. Not a bad use for cold winter winds. The summer precentage will probably be lower due to higher demand and less wind.

John R | Sunday, May 5, 2013 - 4:49pm

Just found this and set it up for a site. Only prblem was the site is on Drupal 7. That made some thing easy and some harder. First didn't need all the modules, second you really need one called Comment Goodness. It allows you to chane default order of comments and labels so String Overrides is not needed.

Comment Googness may have issue with some themes that override the core comment templates.

I also didn't want to use overrides because that changes all comments. This way I can change comments only for the auction item content.

I added a few more fields to my content type, starting bid, estimated value, minimum increment.

The custom module was the fun. Hook name is completely different in Drupal 7. The first thing I check is if it is a comment on an auction item, if not just return. Again, this leaves comments to work normally elsewhere on the site. The variable names are all different in 7, and I compute a default bid for the comment field. The helper function to find a max bid, the SQL is completely different. I also added a validate callback to make sure the bid is valid and above the last plus incr, and a few other checks.

Last created a view to display a page this list all the open auction items, number of bids, time of last bid, title and donated by. Less than a days work, works slick and the end user loves it.

Contact me if you want to see the code

Peter Rukavina | Sunday, May 5, 2013 - 1:55pm

Yes, authors should be paid.

But to shackle ebooks with the limitations of their physical cousins simply to create artificial scarcity seems like a great shame.

Surely any author would consider the exposure of their work to the maximum numbers of minds as or more importants as being compensated financially for it, no?

All I'm arguing is that we need to be imaginative in designing new systems for payment and distribution; the systems we've built to date are boring and limiting and show a distinct lack of imagination.

J G-F | Saturday, May 4, 2013 - 11:11pm

I heard you interviewed on Spark. I did not hear anyone on that program discuss how limitless access to library books would affect authors. Like everyone who works, authors expect to be paid for their hard work. If libraries can lend an ebook to as many people as request it, even though they have only bought one copy, there would be no need for anyone to buy any ebook, ever. Why should authors work for free? Do you? When an author self-publishes an ebook, they are requested to make it available to libraries, and the conditions you describe - that the library will lend out only the number of copies it has purchased at any one time - are carefully explained to the author. If this were not the case, no author would agree to have their book available in a virtual library. Yes, it makes sense to have the book available again when it has been returned. However, you advocated lending out multiple copies of an ebook when only one has been purchased. That would be piracy, and no author would agree to have their book in a virtual library under such circumstances.

Josh F | Saturday, May 4, 2013 - 12:33pm

Just so you know if your state has the Medicaid program which I'm pretty sure they all do, your state will actually pay for the surgery in an emergency removal instance. I didn't have insurance, but I had a severe attack as well as throwing up everything I ate. I went to the ER told them of my gallstone history and that I was puking they removed my gallbladder the very next day free of charge! Thank you Michigan Medicaid. ;-)

kumar007 | Friday, May 3, 2013 - 6:19pm

I have tried my best and this is pretty much you want it. However, single error I am trying to fixLast

#!/bin/sh
##======================================================================================================
# Script : Process Monitoring
# Author : Randy Michael
# Date : 02/14/2007
# Rev : 4.1.P
#Platform: Not Platform dependent

# Purpose : This script is used to monitor a process and restart
# the service if stops. This script also logs all service
# stops and starts for system admin purposes. If the process is
# not running when this script is executed, it will start the
# process at that time.
#xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# REV LIST:.4.1.P
# Date: 05/03/2013
# By: PrafulKumar Busa
# Modification:Fixed the error and made this sript runing
#xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# set -n : Uncomment to check script syntax, without execution.
# Note: Do not forget to put the comment back in or
# the shell script will not execute!
# set -x : Uncomment to debug this shell script

###==================================================================================================
#
# DEFINE VARIABLES HERE
#
##===================================================================================================

PROC_MON=`basename $0` # Defines the script_name variable as the file name of this script

LOGFILE="/Users/pdbusa/Desktop/procmon.log" # Shows log file and where located
[ ! -s $LOGFILE ] && touch $LOGFILE # This checks to see if the file exists
# if not it creates one.

TTY=$(tty) # Current tty or pty

PROCESS="sshd" # This will define which process to monitor
target="ssh"
SLEEP_TIME="5" # This is the sleep time in second between monitoring

txtred=$(tput setaf 1) # Red: will indicate a failed process and the information
txtgrn=$(tput setaf 2) # Green: this is successful process information
txtylw=$(tput setaf 3) # Yellow: this is used to show cautionary information
txtrst=$(tput sgr0) # resets text

##===================================================================================================
# *
# DEFINE FUNCTION HERE *
# *
##===================================================================================================

exit_trap() # this is the behavior of the trap signal
{
# Log an ending time for process monitoring
DATE=$(date +%D)
TIME=$(date +%T) # Get a new timestamp...
echo "$DATE @ $TIME: Monitoring for $PROCESS terminated" >> $LOGFILE & # this will create an entry in the logfile
echo "$DATE @ $TIME: ${txtred}Monitoring for $PROCESS terminated${txtrst}"

#kill all functions
kill -9 $(jobs -p) 2>/dev/null
}
##===================================================================================================
# *
# START OF THE MAIN *
# *
##===================================================================================================

#=================
# set a trap...***
#=================

trap 'exit_trap; exit 0' 1 2 3 15

# this will see if process is running if not will start it

ps aux | grep "$target" | grep -v "grep $target" \
| grep -v $PROC_MON >/dev/null

if (($? != 0))
then
DATE=$(date +%D)
TIME=$(date +%T)
echo
echo "$DATE @ $TIME: $PROCESS is NOT active...starting $PROCESS.." >> $LOGFILE & # creates
# an entry in the logfile
echo "$DATE @ $TIME: ${txtylw}$PROCESS is NOT active...starting $PROCESS..${txtrst}"
echo
sleep 1
service $PROCESS start &
echo "$DATE @ $TIME: $PROCESS has been started..." >> $LOGFILE & #puts an enrty in logfile
else # this will say what to do if process is already running
echo "\n" # a blank line
DATE=$(date +%D)
TIME=$(date +%T)
echo "$DATE @ $TIME: $PROCESS is currnetly RUNNING..." >> $LOGFILE & # puts entry in logfile
echo "$DATE @ $TIME: ${txtgrn}$PROCESS is currently RUNNING...${txtrst}"
fi

##===================================================================================================
# loop until the $process stops and fails to start
# the first part of this section creates a loop that checks to see if the specified
# process is still running and will restart the process
RC=1
while [ $RC = 0 ] # this will loop until the return code is not zero
do
ps aux | grep $PROCESS | grep -v "grep $PROCESS" \
| grep -v $PROC_MON >/dev/null 2>&1
if (( $? != 0 )) # check the return code
then
echo
DATE=$(date +%D)
TIME=$(date +%T)
echo "$DATE @ $TIME: $PROCESS has STOPPED..." >> $LOGFILE & # entry in logfile
echo "$DATE @ $TIME: ${txtred}$PROCESS has STOPPED...${txtrst}"
echo
service $PROCESS start &
echo "$DATE @ $TIME: $PROCESS has RESTARTED..." >> $LOGFILE & # ENTRY IN LOGFILE
echo "$DATE @ $TIME: ${txtgrn}$PROCESS has RESTARTED...${txtrst}"
sleep 1

# This section will verify that the service did restart and if the process failed to restart,
# exits the monitoring script.
# This will be code to email the admin that the server has gone down

ps aux | grep $PROCESS | grep -v "grep $PROCESS" \
| grep -v $PROC_MON >/dev/null 2>&1
if (( $? != 0 )) # This will check the return code
then
echo
DATE=$(date +%D) # New time stamp
TIME=$(date +%T)
echo "$DATE @ $TIME: $PROCESS failed to restart..." >> $LOGFILE & #entry in logfile
echo "$DATE @ $TIME: ${txtred}$PROCESS failed to restart...${txtrst}"
exit 0
fi
fi
sleep $SLEEP_TIME # This is needed to reduce CPU Load!!!
done

##===================================================================================================
#End of script

Tom Gets Screwed | Thursday, May 2, 2013 - 2:32pm

I have been just screwed over by Aeroplan with their auto erasing of points.
I have been with AeroPlan for 26 years and have had inactivity for a while now.
I called AeroPlan to transfer some points to the plan and they informed me the points have been erased.
After some heated discussion I was told it would be 3 days before I got an answer back from one of the Managers.

I am glad to see that there has been a class action suit applied for by
lawyer Owen Falquero of Merchant Law Group in Oct 2006.

All I can say is screw AeroPlan as they have been screwing over people for years!

David Fleming | Thursday, May 2, 2013 - 10:00am

They look great - the simplified, acronym matches the very modern company name. A winning design.

Peter Rukavina | Wednesday, May 1, 2013 - 12:38pm

I have data from November 2012 to the present. You can grab a snapshot as a CSV file here.

Nathan | Wednesday, May 1, 2013 - 9:49am

Do you have historical data for any of this? I'm curious what the average load vs wind generation ratio is for the past year.