• Italiano
  • English
  • Français

Feed aggregator

The Waldseemüller World Map

Fuzzy Tolerance - Dom, 09/05/2010 - 14:55

If you’re into cartography, you’ll want to check out Toby Lester’s Google Tech Talk on the Waldseemüller world map, recently purchased by the library of congress for $10 million.

…the map’s main claim to fame is that it gave America its name. But the map also represents a number of other important firsts in the history of cartography, and in the larger history of ideas. It was the first map to show the New World surrounded by water, and thus to suggest the existence of the Pacific Ocean; it was one of the very first maps to lay out a picture of the world in a full 360 degrees of longitude; and it was the first map to present the contours of the world’s continents and oceans largely as we know them today. It was, in many ways, the mother of all modern world maps..


Categorie: GIS Open Source

Welcome to our first employee!

Tim Sutton - Gio, 09/02/2010 - 10:22

This week we have taken on our first employee! Samantha Booysen will be working as office manager. She will keep things running smoothly so that the geek in residence can focus on coding. She is all set up with an Ubuntu computer to do her work on and we will include her on our training courses so that she starts to learn about FOSS GIS too. Samantha doesn’t have an IT background but she is very interested in social upliftment which is something close to our hearts here at Linfiniti so we are sure she will fit right in. Welcome Samantha, we hope you enjoy working here!

pixelstats trackingpixel
Categorie: GIS Open Source

A week in Tanzania

Tim Sutton - Mer, 09/01/2010 - 23:19

I spent most of last week in Dar es Salaam, Tanzania. A lovely tropical country in the heart of Africa. I was there as part of a project I am working to create tools for Biodiversity Informatics practitioners. Of course the tools are based on Free Software: Quantum GIS and openModeller.

The attendees at the workshop were entertained by my talk about what FOSS is and why it is important, an introduction to QGIS slideshow (superbly presented by Marco Hugentobler), and ending with a tour of openModellerDesktop. We also did some live demonstrations of QGIS and openModeller, before going on to discuss details about how these tools can be used to support their Biodiversity Informatics workflows.

The meeting was funded by the Global Biodiversity Information Facility (GBIF) with Juan Bello as their representitive, and hosted by the Tanzanian Commission for Science and Technology (COSTECH).

In case you are unfamiliar with the aims of GBIF, they are facilitating the digitisation (or digitization for our american readers) of the worlds biodiversity records – herbarium records, museum collections and so on. COSTECH provides the local infrastructure and staff for the ‘TanBif’ node in Tanzania.

The meeting also included ‘in-country’ experts in the fields of GIS, Meteorology, Ecology, IT and so on. I think for all of the attendees, the concept of FOSS was a real eye-opener. African economies can’t compare with those in Europe and the USA and the capital outlay for proprietary software that presents an irritation in the Western world is a major burden in the third world. So just knowing that they could dive in and use QGIS was a great revelation.

We finished our workshop a little early on the Friday so Marco and I offered to go along to the COSTECH offices and geo-enable their PostgreSQL species occurrence database and install QGIS on their desktop PC’s running Windows XP. In the space of a couple of hours we were done – the major part of which was spent showing the TanBif staff members how to bring up the PostGIS layer in QGIS, perform simple queries and make maps. Having spent days in the past trying to get proprietary software like Oracle and Arc*** configured, optimised, licensed and generally usable, I was struck by just how easy and quick it is to get someone up and running with a robust enterprise ready PostGIS geospatial datastore and a user friendly Free Software desktop GIS like QGIS.

Thanks to the friendly Tanzanian folks for their hospitality – I look forward to my next visit! Here are some piccies from the trip…

Juan Bello telling us about the cool things you can do with a good Biodiversity Information repository.

The workshop attendees (Marco and Juan out of shot)


Marco showing Godfrey how to use QGIS to bring up their PostGIS Biodiversity dataset.

Godfrey proudly showing off his first map (made with QGIS)!

Marco killing a mosquito – he became something of an expert!

pixelstats trackingpixel
Categorie: GIS Open Source

EU: International team developing open source hospital information system

Open Source Observatory and Repository - Mar, 08/31/2010 - 21:28
An international team of software developers specialising in medical systems is working on a hospital information system. Earlier this month on the OSOR Forge, the project began soliciting others to join the team. "If you are willing to participate in this great community, there are plenty of things to be done, from translation, quality control, adding new functionality to localization."
Categorie: Open Source

BE: Political party moving to a complete open source desktop

Open Source Observatory and Repository - Mar, 08/31/2010 - 21:24
Ecolo, a green political party in Belgium, is planning to complete its move to a complete open source desktop system by the end of 2011. On the 220 workstations in its main office, it will gradually replace the underlying operating system to Ubuntu Linux, says Sebastien Bollingh, the party's ICT manager.
Categorie: Open Source

EU: Rise in use of EUPL for publishing open source software

Open Source Observatory and Repository - Mar, 08/31/2010 - 21:15
The European Union's open source licence, (European Union Public Licence, EUPL) is being used more and more. A quarter of the projects available on the European Commission's software development site, the OSOR Forge, 47 out of 183 projects, are published using the EUPL. On Sourceforge, a commercial venture for open source software development based in the US, the licence is now selected by 49 projects. One year ago there were none.
Categorie: Open Source

News Roundup – GIS Stack Exchange, ESRI Deprecation Plans, Employee Shoots Server

Fuzzy Tolerance - Mar, 08/31/2010 - 13:33

First up is the release of the GIS Stack Exchange Beta. If you’re a developer, you know what Stack Exchange is. If there’s a better resource for getting tech help, I haven’t seen it. Check it out and answer some questions. A high reputation on Stack Exchange can open up job opportunities for developers. Hopefully over time it will do the same for GIS.

Next up is the ever-popular ESRI Deprecation Plan (PDF). Every time ESRI does a major platform releases, it reassesses its software stack and targets the losers for termination. There were no big surprises here, but you can go ahead and give a parting smooch to the following: VBA, Arcinfo Workstation, ArcIMS, the Web ADFs, MXD’s in AGS, ArcGIS Image Server, AGS on 32bit platforms, and just about everything that was running on Solaris.

Canvasdemos, a site dedicated to showing demos of the HTML5 canvas element in action, has a World Map Quiz that’s pretty cool. The author has offered it to the Khan Academy. Also in the HTML5 demo camp is this site created by Google.

While I’m on the subject, as much as saying this makes my head hurt, Internet Explorer 9 is looking pretty good. The latest preview sports an Acid3 score of 95/100, which will go a long ways toward patching up Microsoft’s relationship with web developers. They’re slightly ahead of schedule, with the beta due out in a month or so. The big selling point of IE 9 is hardware (GPU) acceleration, and on that front things aren’t looking so good for Microsoft. Firefox 4 will have hardware acceleration, and the latest Chromium build also has hardware acceleration baked in (need to set –enable-accelerated-compositing flag). By the time IE 9 rolls out, hardware acceleration in browsers may be commonplace.

Via Slashdot:

A drunken mortgage worker at RANLife Home Loans decided for unknown reasons to take out the company’s $100,000 server with a .45-caliber automatic, blaming the damage on an imagined assailant who: mugged him, assaulted him with his own weapon, drugged him, and then broke into his office to shoot said server.

To paraphrase Chris Rock, I’m not saying he did the right thing there. But I understand.

And now for some random bits:

  • Google Earth Blog has a nice write up on the Nagasaki Atomic Bomb Archive, which attempts to capture first-hand stories of the event. It’s a really cool use of Google Earth.
  • Via everywhere, Google Wave is dead. Part of the failure was one of implementation – how do you use a social site when the beta is closed and none of your friends is on it? But even with that set aside, I think it was a product without a market. The technology was good though, and parts of Wave will live in a lot of other projects.
  • MPEG LA decided rather belatedly that H.264 will be free forever, with WebM being the reason. I think that ship has sailed, and Google is driving the ship – whatever YouTube does will be the standard.
  • Via the All Points Blog, Ushahidi now has a hosted service called Crowdmap. Ushahidi is a platform originally developed to collect and map crisis information, but can be used for all kinds of stuff. The software is free and open source.
  • And finally, via Slashdot, the Austrian town of Frauenkirchen has received a patent on being at the geographic center of Europe. Yes, a patent. I think I’m going to apply for a patent on stupid patents and retire.


Categorie: GIS Open Source

UK: 'Government use of ODF would help break vendor lock-in'

Open Source Observatory and Repository - Lun, 08/30/2010 - 12:27
A UK government's decicion to use ODF (Open Document Format) for its electronic documents, would help public administrations overcome vendor lock-in for office applications, says Liam Maxwell, councillor for Royal Borough of Windsor & Maidenhead. He says the move will start the process to the billions of savings that British government needs to find in unproductive areas of spending.
Categorie: Open Source

EE: Tallin city and college fund poll and referenda application

Open Source Observatory and Repository - Lun, 08/30/2010 - 10:54
Diara, an open source application allowing public administrations to us the Internet to organise polls, referendums, petitions, public inquiries and allowing to record electronic votes using electronic ID cards, is developed with support from the city of Tallin and the College of Technology in Estonia.
Categorie: Open Source

FR: Marseille city administration can't get rid of vendor lock-in

Open Source Observatory and Repository - Ven, 08/27/2010 - 13:44
The administration of the French city of Marseille is giving up its plans to decrease it's IT vendor lock-in. The move to OpenOffice is almost completed, but about 35 percent of all workstations are forced to continue to also run a proprietary office suite, because of applications that link exclusively to that suite's spreadsheet and text editor.
Categorie: Open Source

ES: Andalusia government studying switch to open source desktop

Open Source Observatory and Repository - Ven, 08/27/2010 - 11:54
The government of Andalusia, one of Spain's autonomous regions, is preparing to use a complete open source desktop environment. The analysis of requirements of such a desktop system is nearly completed, the next step will be a few small scale tests, according to a presentation by José Félix Ontañón, one of the software developers involved.
Categorie: Open Source

EU: University publishes Braille extension for OpenOffice

Open Source Observatory and Repository - Mar, 08/24/2010 - 14:37
The Katholieke Universiteit Leuven in Belgium published odt2braille, a Braille extension to OpenOffice, a open source suite of office productivity tools, earlier this month.
Categorie: Open Source

IT: Municipality of Modena removing vendor dependency office tools

Open Source Observatory and Repository - Mar, 08/24/2010 - 14:27
The Italian municipality of Modena is well on its way to become independent from a major IT vendor for its office productivity tools, reports Laura Seidenari, instructor at the city's IT department.
Categorie: Open Source

QGIS Mapserver – A WMS Server for the masses

Tim Sutton - Lun, 08/23/2010 - 22:18

Marco Hugentobler recently included his QGIS WMS Server work into QGIS trunk. You may have noticed QGIS being mentioned in Paul Ramsey’s post about the WMS Shootout at OSGEO2010 and thought to yourself “huh? whats that?”. Well let me introduce you….

The QGIS mapserver project implements a WMS server on top of the QGIS
libraries (funded by the EU projects Orchestra, Sany and the city of Uster).

– Marco Hugentobler

Building

You need to be using QGIS Trunk (or a nightly build with OSGEO4W for Windows users). On my Linux system I needed to install the fast cgi dev files:

sudo apt-get install libfcgi-dev

Then just recompile and install QGIS. After its built you will find a new item in the bin dir. On my system I build QGIS into ~/apps so my QGIS Server binary was here:

/home/timlinux/apps/bin/qgis_mapserv.fcgi Configuration

Since I build my QGIS into a non system dir, I had to tell apache about the library path for my CGI. Something like this:

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all # Next for QGIS Mapserver SetEnv LD_LIBRARY_PATH /home/timlinux/apps/lib </Directory>

Next I went to the cgi bin dir:

cd /usr/lib/cgi-bin/

And then I made a project directory. The rule is: one directory per QGIS project you want to serve.

sudo mkdir world cd world

Next I linked in the qgis cgi:

sudo ln -s /home/timlinux/apps/bin/qgis_mapserv.fcgi .

and then copied in the project file:

sudo cp /home/timlinux/gisdata/QGISProjects/world.qgs .

Symlinking of the project file may work for you – check your apache configs to allow symlinking I guess.

One other thing to do is copy the capabilities document into the world directory. Actually the server still works without it but we want to be neat & tidy right?

sudo cp /home/timlinux/dev/cpp/qgis/src/mapserver/wms_metadata.xml .

Now edit that file and set your details as appopriate.

I guess you are waiting to carry on with the next 25 pages of configuration instructions….right? Wrong! Thats all you need to do!

Testing

First you want to make a nice QGIS project and save the .qgs file in the project directory as outlined above. Here is what my QGIS project looked like:

To test you can point your web browser at your server:

http://localhost/cgi-bin/world/qgis_mapserv.fcgi?SERVICE=WMS& VERSION=1.3.0&REQUEST=GetCapabilities

Which makes a capabilities doc something like this:

And how about a nice map?

http://localhost/cgi-bin/world/qgis_mapserv.fcgi?SERVICE=WMS&VERSION=1.3.0& REQUEST=GetMap&BBOX=-36.215710,6.817432,-9.700450,58.551008& CRS=EPSG:4326&WIDTH=1077&HEIGHT=552&LAYERS=Continent,Country,Cities& STYLES=,,&FORMAT=image/jpeg&DPI=96

Which produced this:

And just to be really meta, lets load the WMS source back into QGIS from where it started!

You see the map renders exactly the same as our original project – marvelous!

Things to note
  • The project should use relative paths (see project properties dialog)…or better yet load your data into PostGIS and forget shapefiles.
  • Dont forget to copy over your capabilities document and edit it with appropriate details
  • This is not a ‘robotosed’ GUI ala early versions of ArcIMS which took over your desktop application. Its a full ‘headless’ cgi web service.
  • You can use all the nice new symbology and labelling features of QGIS to make top quality maps

Thanks to Marco (and those who sponsored him)!

Addendum to notes added Aug 23, 11:17pm (provided by Andreas Neuman)

* QGIS Mapserver (or however it will be called) implements WMS 1.3 only (not WMS 1.1.1)
* GetFeatureInfo should support: text, html, xml
* GetFeatureInfo honors some of the attribute settings of a QGIS layer: hidden attributes are suppressed, column aliases are used if present.
* When doing the GetCapabilities, the answer can be very slow and big, because for every layer, QGIS will return all available CRS. You can limit this list by using adding the following XML elements to the properties section:

<properties> <WMSEpsgList type="QStringList"> <value>21781</value> <value>4326</value> </WMSEpsgList> </properties>

QGIS will not remove these settings from the .qgs file after saving it from the desktop version, but currently there is no GUI to do the WMS settings.

* By default, QGIS Mapserver will advertise the maximum extent of all involved layers. This can be overridden by the following setting, again in the section of a .qgs file; replace with your own min/max settings:

<properties> <WMSExtent type="QStringList"> <value>692000</value> <value>241500</value> <value>700100</value> <value>249000</value> </WMSExtent> </properties>

* GetLegendGraphics should work, e.g.

http://yourserver/cgi/qgis_mapserv.fcgi?map=/home/qgisprojects/myproject.qgs&SERVICE=WMS& REQUEST=GetLegendGraphics&FORMAT=image/png&LAYERS=hydrology&WIDTH=400

* QGIS Mapserver can handle multiple project files with one fcgi binary. On a first request of a newly started Apache server, the request will be slower, because the .qgs file has to be parsed, later requests are fast, because there is a cache for more .qgs files. You can use the “map=/home/path/to/your/project.qgs” parameter to specify which project you want to access.

It would be nice if we could expose some of the “hidden” WMS properties in a GUI, somewhere in the QGIS project properties. Maybe a Server-Settings tab.

Thanks for the additional comments Andreas!

pixelstats trackingpixel
Categorie: GIS Open Source

Overpainting with Mapnik

Tim Sutton - Sab, 08/21/2010 - 23:00
The problem

I’ve been having a little poke around with Mapnik today (awesome software!). One of the things on my todo list has been to sort out rendering issues with roads we have been having. Our last iteration described roads something like this:

A style…

<Style name="Freeway30th_style"> <Rule> <LineSymbolizer> <CssParameter name="stroke">rgb(169,170,153)</CssParameter> <CssParameter name="stroke-width">12.26</CssParameter> <CssParameter name="stroke-linejoin">bevel</CssParameter> <CssParameter name="stroke-linecap">round</CssParameter> <CssParameter name="stroke-opacity">1</CssParameter> </LineSymbolizer> <LineSymbolizer> <CssParameter name="stroke">rgb(255,172,88)</CssParameter> <CssParameter name="stroke-width">12.16</CssParameter> <CssParameter name="stroke-linejoin">miter</CssParameter> <CssParameter name="stroke-linecap">round</CssParameter> </LineSymbolizer> </Rule> </Style>

…and this layer definition…

<Layer name="Freeway30th" srs="+init=epsg:&srid;" maxzoom="39105.90277777778"> <StyleName>Freeway30th_style</StyleName> <Datasource> <Parameter name="dbname">&dbname;</Parameter> <Parameter name="estimate_extent">0</Parameter> <Parameter name="extent">&extent;</Parameter> <Parameter name="geometry_field">&geometry_field;</Parameter> <Parameter name="host">&host;</Parameter> <Parameter name="password">&password;</Parameter> <Parameter name="port">&port;</Parameter> <Parameter name="srid">&srid;</Parameter> <Parameter name="table">(SELECT * FROM "l_roads" WHERE "type" = \ 'Freeway' ORDER BY LENGTH(&geometry_field;) DESC) as "l_roads"</Parameter> <Parameter name="type">&datasourcetype;</Parameter> <Parameter name="user">&password;</Parameter> </Datasource> </Layer>

With the idea being to render freeways with a gray outline and orange center. Unfortunately, it doesnt produce good results:

The problem being those little line ends you see making gray splodges at the end of each segment.

The solution

Michael Migurski’s blog discusses this issue a little in this article but doesnt directly explain how to achieve the desired effect. So here is what you do:

First the styles are split into two…

<Style name="Freeway30th_style-bottom"> <Rule> <LineSymbolizer> <CssParameter name="stroke">rgb(169,170,153)</CssParameter> <CssParameter name="stroke-width">12.26</CssParameter> <CssParameter name="stroke-linejoin">bevel</CssParameter> <CssParameter name="stroke-linecap">round</CssParameter> <CssParameter name="stroke-opacity">1</CssParameter> </LineSymbolizer> </Rule> </Style> <Style name="Freeway30th_style-top"> <Rule> <LineSymbolizer> <CssParameter name="stroke">rgb(255,172,88)</CssParameter> <CssParameter name="stroke-width">12.16</CssParameter> <CssParameter name="stroke-linejoin">miter</CssParameter> <CssParameter name="stroke-linecap">round</CssParameter> </LineSymbolizer> </Rule> </Style>

and then the layer is now rendered as two layers, the bottom layer first, then the top:

<Layer name="Freeway30th-bottom" srs="+init=epsg:&srid;" maxzoom="39105.90277777778"> <StyleName>Freeway30th_style-bottom</StyleName> <Datasource> <Parameter name="dbname">&dbname;</Parameter> <Parameter name="estimate_extent">0</Parameter> <Parameter name="extent">&extent;</Parameter> <Parameter name="geometry_field">&geometry_field;</Parameter> <Parameter name="host">&host;</Parameter> <Parameter name="password">&password;</Parameter> <Parameter name="port">&port;</Parameter> <Parameter name="srid">&srid;</Parameter> <Parameter name="table">(SELECT * FROM "l_roads" WHERE "type" = \ 'Freeway' ORDER BY LENGTH(&geometry_field;) DESC) as "l_roads"</Parameter> <Parameter name="type">&datasourcetype;</Parameter> <Parameter name="user">&password;</Parameter> </Datasource> </Layer> <Layer name="Freeway30th-top" srs="+init=epsg:&srid;" maxzoom="39105.90277777778"> <StyleName>Freeway30th_style-top</StyleName> <Datasource> <Parameter name="dbname">&dbname;</Parameter> <Parameter name="estimate_extent">0</Parameter> <Parameter name="extent">&extent;</Parameter> <Parameter name="geometry_field">&geometry_field;</Parameter> <Parameter name="host">&host;</Parameter> <Parameter name="password">&password;</Parameter> <Parameter name="port">&port;</Parameter> <Parameter name="srid">&srid;</Parameter> <Parameter name="table">(SELECT * FROM "l_roads" WHERE "type" = \ 'Freeway' ORDER BY LENGTH(&geometry_field;) DESC) as "l_roads"</Parameter> <Parameter name="type">&datasourcetype;</Parameter> <Parameter name="user">&password;</Parameter> </Datasource> </Layer>

A much cleaner rendering!

Note

This approach consumes more cpu time and hits your database harder than the ‘messier’ approach shown first.

Also you can see in the example above, I have adopted Michaels approach of rendering long lines first.

Have fun with your mapnik maps!

pixelstats trackingpixel
Categorie: GIS Open Source

Gaming foursquare with 9 Lines of Perl

Fuzzy Tolerance - Sab, 08/21/2010 - 21:26

Via Slashdot, a researcher at the University of Illinois at Chicago has figured out how to game foursquare with 9 lines of Perl with standard Perl libraries.

#!/usr/bin/perl -W use IO::Socket; srand; sleep(rand()*600); my $sock = IO::Socket::INET-&gt;new(PeerAddr=&gt;'api.foursquare.com', PeerPort=&gt;80, Proto =&gt;'tcp', Type=&gt;SOCK_STREAM) or die; $ARGV[1] += rand() * 0.0001 - 0.00005; $ARGV[2] += rand() * 0.0001 - 0.00005; my $str = "vid=$ARGV[0]&amp;private=0&amp;geolat=$ARGV[1]&amp;geolong=$ARGV[2]"; print $sock "POST /v1/checkin HTTP/1.1\r\nHost: api.foursquare.com\r\nUser-Agent:" ." Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ " ."(KHTML, like Gecko) Version/3.0 Mobile/1C10 Safari/419.3\r\nContent" ."-Type: application/x-www-form-urlencoded\r\nAuthorization: Basic " ."XXXXXX\r\nContent-length: ", length($str)+2, "\r\n\r\n$str\r\n"; $_=&lt;$sock&gt;;

With XXXXXX being a Base64 encoding of your foursquare email/phone:password. The author makes a convincing case that it would be extremely hard to protect against checking in spoofed locations, and that similar services could be spoofed in much the same way.


Categorie: GIS Open Source

EU: Guide on procurement of open source revised

Open Source Observatory and Repository - Sab, 08/21/2010 - 12:14
The Guideline on public procurement of Open Source Software, was revised in June 2010. The latest version includes references to recent procurement policies developed by Spain and Malta and to this year's approval by Italy's constitutional court on the country's Piedmont regional administration procurement law.
Categorie: Open Source

ST_Intersects and ST_Buffer: No

Paul Ramsey - Sab, 08/21/2010 - 01:28
If you find yourself writing a query like this:

... WHERE ST_Intersects(ST_Buffer(g1, r), g2)

Stop. Take a cleansing breath. Do this:

... WHERE ST_DWithin(g1, g2, r)

With the carbon emissions you save doing it the efficient way, you can afford to drive to the ice cream store for a well-deserved reward.
 
Categorie: GIS Open Source

Exploits of a Mom

Fuzzy Tolerance - Ven, 08/20/2010 - 21:40

XKCD


Categorie: GIS Open Source

Make Smarter: Mobile Web Design, Online Learning, and the 960 Grid

Fuzzy Tolerance - Gio, 08/19/2010 - 18:22

Slim pickings in the Make Smarter department this month, mostly because I’ve been more swamped than usual lately. But I did stumble across a few nuggets worth mentioning.

We have been looking at smart phone apps of late, and our conclusion is that it doesn’t make a lot of sense for us to write native apps for these devices in almost all use cases. It isn’t cost effective to write an application  once for Android in Java (or cross compiled to Java), again in Objective C and pray it makes it through the fickle Apple app store review, and again for the web, since as a government entity we shouldn’t make apps that only “rich” smart phone owners can take advantage of. That’s three different code bases and 3x the support costs. 4 if you want to toss in Blackberry (ew), 5 if the Windows phone platform coming out later this year isn’t utter drek. We couldn’t afford that even when we had money.

But what we can do is create web apps with an alternate style sheet for mobile browsers and be able to hit almost everything from one code base. So I’m planning on pouring over this excellent Six Revisions article on Mobile Web Design Best Practices. It goes over different platforms, layout options, design – it’s very, very good. When you’re ready for geolocation and coding for mobile platforms, check out this series of articles by IBM.

Nettuts+ had a very thorough article on mastering the 960 grid system. The 960 grid system is a CSS grid designed to make page layout a lot easier. CSS frameworks aren’t for everybody. I know I’ve tried this and Blueprint.css and neither one has stuck with me. After working through this tutorial I may try 960 with the next project I have needing a complex layout.

If you’re into graphic design, the Libre Graphics Meeting was held in May and videos are now online. The talks are extremely diverse, but if graphic design peaks your interest even slightly you’ll find something here worth watching.

Finally, Lifehacker has a great post on where to get the best free education. It’s a good resource roundup and includes a couple of sites I haven’t checked out yet.


Categorie: GIS Open Source
Condividi contenuti

PostgreSQL  Debian  Drupal  Valid XHTML 1.0 Transitional  Valid CSS!  Creative Commons