Some cool blogs:
David Weinberger's weblog
Tim Bray's weblog
Intertwingly - Sam Ruby's weblog
David Heinemeier Hansson's weblog
sness's weblog - postmodern self-referentiality.
Friday, March 31, 2006
Thursday, March 30, 2006
Garden diary software and blogs:
Garden Diaries
My Garden Journal - Great looking software, too bad it's for Windows only.
Garden Diaries
My Garden Journal - Great looking software, too bad it's for Windows only.
Wednesday, March 29, 2006
Tuesday, March 28, 2006
Nicaraguan Sign Language is a new language that was developed by deaf children in Nicaragua after the revolution. They were sent to a school where the teachers tried and failed to teach them a simple sign language based on Spanish with very simple hand signs. The children rebelled (yay! go kids!) and did not show interest in having this language forced on them. Instead, they developed their own language in the playground, in the bus and after school. It is a full language, and new cohorts of children kept expanding the language and making it more expressive. Now it is considered a new and full language. Roxors.
Check out:
Signwriting.org
Nicarguan Sign Language Programs, Inc.
A five minute PBS video about NSL.
Check out:
Signwriting.org
Nicarguan Sign Language Programs, Inc.
A five minute PBS video about NSL.
Monday, March 27, 2006
KML - XML markup language for Google Earth.
GeoRSS - Geographically Encoded Objects for RSS feeds
Ogle Earth - A blog about Google Earth.
GeoRSS - Geographically Encoded Objects for RSS feeds
Ogle Earth - A blog about Google Earth.
Sunday, March 26, 2006
Google Maps goodness:
Google Maps API
Version 2 of the Google Maps API
Adding your own custom map to Google Maps
An automatic tile cutter for Google Maps
Google Maps API Basic Information
Google Maps API
Version 2 of the Google Maps API
Adding your own custom map to Google Maps
An automatic tile cutter for Google Maps
Google Maps API Basic Information
Some AJAX goodness:
Windows in Javascript
script.aculo.us
Advanced Javascript
The Prototype Library:
Quick Guide to Prototype
Overview of the Prototype Javascript library
Using the Prototype Javascript library
Ruby on Rails:
AJAX in Ruby on Rails
Windows in Javascript
script.aculo.us
Advanced Javascript
The Prototype Library:
Quick Guide to Prototype
Overview of the Prototype Javascript library
Using the Prototype Javascript library
Ruby on Rails:
AJAX in Ruby on Rails
A couple more good introductions to CSS:
Introduction to CSS from CSS Basics
Live Design by AlbinoBlacksheep.
Introduction to CSS from CSS Basics
Live Design by AlbinoBlacksheep.
Saturday, March 25, 2006
I'm watching the video Debugging Backwards in Time, a Google Techtalk video by Bill Lewis. He's so neat.
He created the Omniscient Debugger (ODB) which has the idea that by recording every state change in a program, you can go back in time and see the exact state of the program at any time point. This would be so useful for debugging. How about implement this for Ruby on Rails? It's a little hard to debug and profile RoR code, and with this, you could have a powerful auditing and debugging system.
He created the Omniscient Debugger (ODB) which has the idea that by recording every state change in a program, you can go back in time and see the exact state of the program at any time point. This would be so useful for debugging. How about implement this for Ruby on Rails? It's a little hard to debug and profile RoR code, and with this, you could have a powerful auditing and debugging system.
Friday, March 24, 2006
Wow, I saw a really cool and inspiring interview with Barry Truax, an Electroacoustic composer at SFU in Vancouver. He works a lot with computer music composition, and does lots with granular synthesis. Inspiring.
I had a problem with XEmacs gnuserv when running on a Xen installation, running Fedora Core 4:
When I would start gnuserv, it would immediately terminate, saying that I had to restart it with M-x gnuserv-start. When I tried to run the gnuserv program from the command line, it would indeed terminate immediately. I tracked this down to a problem in the source code, the symbol INTERNET_DOMAIN_SOCKETS was present and yet the following code would immediately exit:
When I removed this code, gnuserv would run normally, and I could use gnuclient to connect to my running XEmacs process that had (gnuserv-start) in the .xemacs/init.el file. Interesting.
When I would start gnuserv, it would immediately terminate, saying that I had to restart it with M-x gnuserv-start. When I tried to run the gnuserv program from the command line, it would indeed terminate immediately. I tracked this down to a problem in the source code, the symbol INTERNET_DOMAIN_SOCKETS was present and yet the following code would immediately exit:
#ifdef INTERNET_DOMAIN_SOCKETS
ils = internet_init(); /* get an internet domain socket to listen on */
#endif /* INTERNET_DOMAIN_SOCKETS */
When I removed this code, gnuserv would run normally, and I could use gnuclient to connect to my running XEmacs process that had (gnuserv-start) in the .xemacs/init.el file. Interesting.
How to use Emacs/XEmacs with Ruby on Rails - This is a good Emacs mode to deal with the .rhtml files that Ruby on Rails uses. Oh man, forget these fancy new IDEs, they might have their place, but with Emacs, you can be so much more productive. It's like everything comes together in synergy, and all the things you've learned in the past just multiply with your new knowledge.
Wednesday, March 22, 2006
Yay! They finally released the new Crank! They've called it version 0.9.5, and it has most of the things that I had put in it. They removed all the structure and phase comparison plugins, and the model building plugins, but all in all, a very complete release. Go check it out.
For those of you wondering what's going on, this was my last job, when I was working in Leiden. Crank is a tool to help to automate macromolecular crystallography, and allows users to run a wide variety of crystallographic tools in an arbitrary order. It's licenced under the GNU Public Licence (GPL), and has a user interface designed with the CCP4 library.
You can check out an article about Crank in the CCP4 newsletter.
For those of you wondering what's going on, this was my last job, when I was working in Leiden. Crank is a tool to help to automate macromolecular crystallography, and allows users to run a wide variety of crystallographic tools in an arbitrary order. It's licenced under the GNU Public Licence (GPL), and has a user interface designed with the CCP4 library.
You can check out an article about Crank in the CCP4 newsletter.
Humpback whale songs are surprisingly like human language. They are talking about how humpback whales build up their songs out of smaller independant phrases, much like how human language is constructed.
I've been saying this for some time now, I think one of the best places to look for animal communication that we can understand is with Humpback whales, the males will sit upright in the water for over half and hour and will sing songs. These songs change slowly over the years. What if they are telling their stories of the past year? We have to remember that they can hear and speak on a wider range of frequencies than we can, what if, on each wavelength, they are telling a different thread of the story which is vastly different than human language? We need to have emergent algorithms to look for these subtle interrelationships that our human brains, constrained by human language, just can't understand.
Ok, young ones, Indigo children, it's up to you to figure this out. I'll help.
I've been saying this for some time now, I think one of the best places to look for animal communication that we can understand is with Humpback whales, the males will sit upright in the water for over half and hour and will sing songs. These songs change slowly over the years. What if they are telling their stories of the past year? We have to remember that they can hear and speak on a wider range of frequencies than we can, what if, on each wavelength, they are telling a different thread of the story which is vastly different than human language? We need to have emergent algorithms to look for these subtle interrelationships that our human brains, constrained by human language, just can't understand.
Ok, young ones, Indigo children, it's up to you to figure this out. I'll help.
Extreme blogging from the summit of Mount Everest. This is exciting, by simplifying and shrinking the technology that the actual adventurer needs to use, people can post pictures in real time as they venture into extreme environments. It would be great to be able to record audio as well and have RSS 2.0 compliant attachments to allow them to podcast, and to allow us to hear the wind whistling around them. This is getting closer to convergence, wouldn't it be great if only one device was needed? A satellite-phone/camera/GPS/audio recorder?
How to cook boiled eggs.
At only 70 calories per egg, it's a tasty and healthy meal, with lots of protein.
Pretty simple:
Put eggs in a saucepan with enough water to cover them at least 1 inch.
Cook on high temperature until the water comes to a rolling boil.
Cook for 10 minutes for hard boiled eggs.
Fill saucepan immediately with cold water. This stops the centres of the eggs from turning green.
Enjoy!
Tuesday, March 21, 2006
Quantact Rocks!
I just started a site hosting with Quantact after reading this review and wow, I'm so happy with them. They responded very quickly to my initial question about upgrading, and it took them only a few minutes to setup my account. They're very professional, and the hosting looks spot on, fast and lots of different Linux distribution. Highly recommended.
Wow, this is so amazing, my sister sent it to me. Chronology Delineated. It's a poster, published in 1813, of their interpretation of the chronology of humanity. You can think of it as a map, but instead of the normal XY coordinates of latitude and longitude, the Y coordinate is time, and the X coordinate shows different social constructions and societies. Fasinating.
Monday, March 20, 2006
I thought up a really neat new application for Google Maps,
to show the path of eclipses, however, it's already been
done , and quite well.
Still, Google Maps is a little slow, especially with these extra features,
it's a fine line between lots of great features and being too slow.
I was reading an article The Surpring Truth about Ugly Websites, and one
of the good points they make is that people often
want a simple website, so for the new Google Maps
with GIS developments I'm working on, I'm thinking
about having a number of pages that show different
things in a simple way, and well. Navigate to the
different pages with links off of a main page, and
have it all run with Ruby on Rails underneath, so that
I don't have to do a lot of coding for each individual
case.
to show the path of eclipses, however, it's already been
done , and quite well.
Still, Google Maps is a little slow, especially with these extra features,
it's a fine line between lots of great features and being too slow.
I was reading an article The Surpring Truth about Ugly Websites, and one
of the good points they make is that people often
want a simple website, so for the new Google Maps
with GIS developments I'm working on, I'm thinking
about having a number of pages that show different
things in a simple way, and well. Navigate to the
different pages with links off of a main page, and
have it all run with Ruby on Rails underneath, so that
I don't have to do a lot of coding for each individual
case.
I just found out about Spatial Enlightenment, they run the excellent Slashgeo website. They are a Canadian non-profit in the Geographic Information Systems (GIS) and Remote Sensing (RS) fields. Here's a link to one of their founders Alexandre Leroux.
Sunday, March 19, 2006
It's so easy - this quest - this search for the
meaning of life. It's not a search at all - at least
not a physical searching. It's an allowing - giving
ourselves permission to be happy regardless of what
may lay in front of us or behind us. Choosing to be
happy is the combination to the padlocked door
separating us from all that we can be, do or have.
--Rev. David Ault
meaning of life. It's not a search at all - at least
not a physical searching. It's an allowing - giving
ourselves permission to be happy regardless of what
may lay in front of us or behind us. Choosing to be
happy is the combination to the padlocked door
separating us from all that we can be, do or have.
--Rev. David Ault
Friday, March 17, 2006
Yes! Finally got Ruby on Rails working. Some very
bizarre problems on Fedora Core 4 with Postgres.
Turned out the answer was that:
1) You really do need to build all three of those
databases, rails_production, rails_development and
rails_test
2) You need to add the following line to pg_hba.conf
3) You need to set the following options:
These aren't really explicitly spelled out in the
wiki, I think I'm going to start a page to describe
how to do all this, especially the next step which
will be harder, which is getting PostGIS to work
with Ruby on Rails. I need to redesign my site anyways
to make it more compatible with the programming/consulting
work that I want to be doing in the future.
bizarre problems on Fedora Core 4 with Postgres.
Turned out the answer was that:
1) You really do need to build all three of those
databases, rails_production, rails_development and
rails_test
2) You need to add the following line to pg_hba.conf
local all all trust
3) You need to set the following options:
development:
adapter: postgresql
database: rails_development
username: rails
password:
host: /tmp
These aren't really explicitly spelled out in the
wiki, I think I'm going to start a page to describe
how to do all this, especially the next step which
will be harder, which is getting PostGIS to work
with Ruby on Rails. I need to redesign my site anyways
to make it more compatible with the programming/consulting
work that I want to be doing in the future.
Thursday, March 16, 2006
So sweet, the AlphaGrip AG-5 keyboard replacement. Looks very cool, and supposedly not very difficult to learn either.
Wednesday, March 15, 2006
Yahoo geocoding in Ruby
Geocoding with geocoder.us and Ruby
Google Maps and Proximity queries
Geocoder.us
Ruby on Rails - Scaffolding
Adventures of scaling Ruby on Rails
Entrepreneurs of New Tech
Mapping non-standard column types in Ruby on Rails
How to make your own annotated Google Map
Google maps standalone mode
XML Web services and GIS
Amazon excerpts from a good GIS book
OpenGeoSpatial.org
More GIS Web Services
XML and GIS Web Services - Part #2
Find the Latitude and Longitude of any place in North America
GIS Web Services
SVG, WSDL and GIS
Geocoding with geocoder.us and Ruby
Google Maps and Proximity queries
Geocoder.us
Ruby on Rails - Scaffolding
Adventures of scaling Ruby on Rails
Entrepreneurs of New Tech
Mapping non-standard column types in Ruby on Rails
How to make your own annotated Google Map
Google maps standalone mode
XML Web services and GIS
Amazon excerpts from a good GIS book
OpenGeoSpatial.org
More GIS Web Services
XML and GIS Web Services - Part #2
Find the Latitude and Longitude of any place in North America
GIS Web Services
SVG, WSDL and GIS
Tuesday, March 14, 2006
// ==UserScript==
// @name Google Maps Annotations
// @namespace http://brainoff.com/geocoder/
// @descriptionLoad Points into Google Maps from a Remote file
// @include http://maps.google.com/*
// ==/UserScript==
(function () {
function loadPoints() {
loc = location.href.substring(location.href.indexOf('loc=')+4);
GM_xmlhttpRequest({
method:"GET",
url:loc,
onload:function(details) {
_m.loadXML(details.responseText, window.document);
}
});
}
if (location.href.indexOf('loc=') != -1) {
loadPoints();
}
})();
// @name Google Maps Annotations
// @namespace http://brainoff.com/geocoder/
// @descriptionLoad Points into Google Maps from a Remote file
// @include http://maps.google.com/*
// ==/UserScript==
(function () {
function loadPoints() {
loc = location.href.substring(location.href.indexOf('loc=')+4);
GM_xmlhttpRequest({
method:"GET",
url:loc,
onload:function(details) {
_m.loadXML(details.responseText, window.document);
}
});
}
if (location.href.indexOf('loc=') != -1) {
loadPoints();
}
})();
An innovative webservice to display the route of an
email on a google map emailroutemap.
There's so many applications like this that could be
created, merging different applications with GIS.
Such a cool new field.
I'm learning Ruby and Ruby on Rails. Wow, I love
Ruby.
email on a google map emailroutemap.
There's so many applications like this that could be
created, merging different applications with GIS.
Such a cool new field.
I'm learning Ruby and Ruby on Rails. Wow, I love
Ruby.
GeoRuby - A spatial plugin for Ruby.
"GeoRuby provides geometric data types from the OGC "Simple Features for SQL" specification. A plugin for Rails which manages PostGIS and MySQL geometric columns in a transparent way is also provided. See homepage for installation details."
"GeoRuby provides geometric data types from the OGC "Simple Features for SQL" specification. A plugin for Rails which manages PostGIS and MySQL geometric columns in a transparent way is also provided. See homepage for installation details."
Cybersonia - call for artworks. Cybersonia is a festival in London for international audiovisual integration art.
Monday, March 13, 2006
An excellent looking book called
Internet GIS: Distributed Geographic Information Services for the Internet and Wireless Networks
Zhong-Ren Peng, Ming-Hsiang Tsou.
Pretty pricey, and a little old, published in 2003, before the AJAX
revolution, but looks really good.
Internet GIS: Distributed Geographic Information Services for the Internet and Wireless Networks
Zhong-Ren Peng, Ming-Hsiang Tsou.
Pretty pricey, and a little old, published in 2003, before the AJAX
revolution, but looks really good.
GIS Factory - A company that uses an ASP (Application Service Provider) model for GIS web services. One of their example applications is to enter a place name, and it gives you the Latitude and Longitude of the town.
From the phone number, it looks like they are based in Toronto.
From the phone number, it looks like they are based in Toronto.
Sunday, March 12, 2006
Ohh, Ruby + GIS, sooo cool!
I'm learning Ruby right now, and I gotta say, it is really beautiful.
Perl, well, it's cool and all, but it's so ugly, and Python, with
whitespace as syntatic elements, well, that just sucks. I've done
some coding in both Perl and Python, and I can definitely appreciate
both of them for a variety of reasons, but I never really could buy
into either of them 100%. Even Tcl feels cleaner. But Ruby, now,
that is a nice looking language.
I'm learning Ruby right now, and I gotta say, it is really beautiful.
Perl, well, it's cool and all, but it's so ugly, and Python, with
whitespace as syntatic elements, well, that just sucks. I've done
some coding in both Perl and Python, and I can definitely appreciate
both of them for a variety of reasons, but I never really could buy
into either of them 100%. Even Tcl feels cleaner. But Ruby, now,
that is a nice looking language.
Saturday, March 11, 2006
The new GIS landscape.
Wow, so cool, GIS is totally starting to take off and get really exciting,
now is a perfect time to join Web 2.0 to GIS to Web Services and really
get some fantastic new applications out there.
Here's a great quote from this article:
"GIS Web services will revolutionize how companies use and interact with geospatial information. Consider the example of Joe's New Web Service offering. (See Figure 1.) The Web service is a composite of services provided by three subordinate GIS providers: One provider maintains and offers detailed street data, one focuses on city zoning for specific metropolitan areas, and a third provides extensive demographic data. Joe's service allows builders examining a specific metropolitan area to research street detail, including freeway access, schools, churches, shopping centers and residential developments, and combines that information with the city's zoning laws, as well as layering on demographic data of the areas of interest.
Joe's customers, armed with the analytic, rich information provided by his Web service, can ask questions such as: Where can I build a strip mall that is located on a major city intersection, within a 15-minute drive of a freeway exit ramp, surrounded by middle-class neighborhoods with professional, single families?"
Another quote, about how to monetize this (answer: it's easy):
"GIS Web services prices are based on usage. In other words, many of the services currently available allow you to pay by the transaction, or you can contract for a predetermined transaction block and pay a discounted rate. The point is that you only have to pay for what you use; there's no heavy upfront investment necessary in technology or people resources to exploit the best of GIS."
Wow, so cool, GIS is totally starting to take off and get really exciting,
now is a perfect time to join Web 2.0 to GIS to Web Services and really
get some fantastic new applications out there.
Here's a great quote from this article:
"GIS Web services will revolutionize how companies use and interact with geospatial information. Consider the example of Joe's New Web Service offering. (See Figure 1.) The Web service is a composite of services provided by three subordinate GIS providers: One provider maintains and offers detailed street data, one focuses on city zoning for specific metropolitan areas, and a third provides extensive demographic data. Joe's service allows builders examining a specific metropolitan area to research street detail, including freeway access, schools, churches, shopping centers and residential developments, and combines that information with the city's zoning laws, as well as layering on demographic data of the areas of interest.
Joe's customers, armed with the analytic, rich information provided by his Web service, can ask questions such as: Where can I build a strip mall that is located on a major city intersection, within a 15-minute drive of a freeway exit ramp, surrounded by middle-class neighborhoods with professional, single families?"
Another quote, about how to monetize this (answer: it's easy):
"GIS Web services prices are based on usage. In other words, many of the services currently available allow you to pay by the transaction, or you can contract for a predetermined transaction block and pay a discounted rate. The point is that you only have to pay for what you use; there's no heavy upfront investment necessary in technology or people resources to exploit the best of GIS."
Really cool slideshow/articleabout Web 2.0 without the web.
This kind of thing is what I've been thinking of for the last
while, how to write something that isn't scary for users to
install and can be quickly updated but with more power than
the traditional web 2.0 AJAX model gives you. I was thinking
about perhaps plugins to Firefox, or Java client side applications
that get most of their functionality via web services. Just a
framework, kind of like a web browser, that you can deploy both
data and applications inside of. My program Crank was moving
in that general direction, having plugins that a user could download
to use new programs, but I still wasn't satisfied with that paradigm.
Now, how to do something like this for GIS applications. We want a
really simple and very fast browser, something like Google Earth, but
with the ability to call web services both for new layers of data
and for applications, like map statistics.
Thinking, thinking.
sness.
This kind of thing is what I've been thinking of for the last
while, how to write something that isn't scary for users to
install and can be quickly updated but with more power than
the traditional web 2.0 AJAX model gives you. I was thinking
about perhaps plugins to Firefox, or Java client side applications
that get most of their functionality via web services. Just a
framework, kind of like a web browser, that you can deploy both
data and applications inside of. My program Crank was moving
in that general direction, having plugins that a user could download
to use new programs, but I still wasn't satisfied with that paradigm.
Now, how to do something like this for GIS applications. We want a
really simple and very fast browser, something like Google Earth, but
with the ability to call web services both for new layers of data
and for applications, like map statistics.
Thinking, thinking.
sness.
Flow and the art of work.
"In the flow state, Csikszentmihalyi found, people engage so completely in what they are doing that they lose track of time. Hours pass in minutes. All sense of self recedes. At the same time, they are pushing beyond their limits and developing new abilities. Indeed, the best moments usually occur when a person's body or mind is stretched to capacity."
"In the flow state, Csikszentmihalyi found, people engage so completely in what they are doing that they lose track of time. Hours pass in minutes. All sense of self recedes. At the same time, they are pushing beyond their limits and developing new abilities. Indeed, the best moments usually occur when a person's body or mind is stretched to capacity."
Some great links for you smart children:
Interview with the head of the MIT Media Lab.
"We will undergo another revolution when we give 100 million kids a smart cell phone or a low-cost laptop, and bootstrap the way they learn outside of school. We think of games as a way to kill time, but in the future I think it will be a major vehicle for learning.
Creative expression (is another area). No longer will just a few write or create music. We will see 100 million people creating the content and art shared among them. Easy-to-use programs allow kids to compose everything form ringtones to full-fledged operas. It will change the meaning of creative art in our society."
Interview with the head of the MIT Media Lab.
"We will undergo another revolution when we give 100 million kids a smart cell phone or a low-cost laptop, and bootstrap the way they learn outside of school. We think of games as a way to kill time, but in the future I think it will be a major vehicle for learning.
Creative expression (is another area). No longer will just a few write or create music. We will see 100 million people creating the content and art shared among them. Easy-to-use programs allow kids to compose everything form ringtones to full-fledged operas. It will change the meaning of creative art in our society."
Friday, March 10, 2006
Monday, March 06, 2006
Subscribe to:
Posts (Atom)