Diary Entries in English

Recent diary entries

1 million buildings in LA, but what about the community?

Posted by schleuss on 30 July 2016 in English (English)

Part of our series of diaries sharing experiences on the ongoing LA Building Import into OpenStreetMap. Last month, we talked about the tools. Two weeks ago it was about the data. Today it's about the local community.

Omar Ureta and I presented the L.A. County building import to the US State of the Map last weekend. We've imported more than 1 million buildings. And we've done that with the help of Mapbox, my employer the Los Angeles Times and the local community.

Organizing the community has been very time consuming. But it's also been very important.

Before starting the import we got a list of local mappers with a lot of edits in L.A. County. Then we messaged users asking for feedback and involvement. This took a while, because the OSM website only allows us to send one message to one user at a time. I've spent many hours copying/pasting markdown files to users in the hope that they'd get involved or reach out with feedback.

Not everyone wrote back, but those that did offered helpful advice and interest.

It's been weird to hold all these profiles in my head. A local gentleman who's interested in fixing rural roads before the import. A woman in the Bay Area who's a Dodgers fan. A retired tech journalist from Santa Monica who has come to every meetup. A lawyer-turned GIS student. A German programmer two hours to L.A.'s north. And many, many more.

We post new events on MaptimeLA's meetup page. I message folks through the OSM website. We email. The county's GIS blog has promoted a few of our events.

Here are the import-related events we've hosted so far:

  • March 31 - JOSM training at Arup in Downtown L.A.
  • April 2 - Import party at the L.A. Times downtown
  • April 14 - Import party at Arup
  • May 21 - Import party at the Times
  • June 5 - Import party at Angel City Brewery in Little Tokyo/Arts District
  • June 25 - Import party at the Times
  • July 7 - 3D modeling training session using OSM data from the import

Import party at the Los Angeles Times Import party on May 21

And now we have to schedule more. We need to break out of Downtown Los Angeles. We're reaching out to local universities and companies. I'd like to host an event in Santa Monica. One in Long Beach. Maybe even one in the high desert/Lancaster. Oh, and we're really interested in hosting an event on Catalina Island (still L.A. County) to our south!

Catalina Island L.A.'s Isle of Wight???

Los Angeles is really, really big. We have a lot of work to do. I'm keeping an open mind going forward. We have to listen to the community and understand what it wants. We have train people in different parts of our county. We need new faces and new communities to show us what's missing.

I'm thinking these events shouldn't be import only. Some users don't want to import.

"It feels too much like work," one of my colleagues said recently. And he's right. It's a tedious process to conflate buildings with what's already on the map. It's painful to scan an area to find little slivers of buildings sliced by the city's less accurate parcel boundaries. And then there's the wait time to upload 9,000 nodes.

So we're branching out. Future events will be focused on the import, but also offer training and the ability to hack on any other OSM-related projects.

Our current list has fire hydrants, bus stops, cultural monuments, parking restrictions, the Walk of Fame stars, bike routes, earthquake-risk buildings and many many more.

So, I'm excited for the future. I think we can build the community. I even think we can beat Germany at active users.

Yeah, I said it. ;)

PS - Reach out if you have a way of contacting several OSM users at once. I'm not against writing some script to automate the process on top of the website. Obviously I'm not interested in creating spam. But the OSM website doesn't have the tools needed for community organizing.

Location: Historic Core District, Bunker Hill, Los Angeles, Los Angeles County, California, 90014, United States of America

My investigations of the Bosnian Pyramid Complex have begun

Posted by jonwit on 30 July 2016 in English (English)


I have decided to begin verifying claims the there are a set of ancient pyramid structures) just north of Sarajevo near the town of Visoko and making a better map of the area. After vacationing last year and visiting the site myself I felt the directions to this tourist attraction was lacking. I also felt that the investigators needed help with their claims.

For those unfamiliar with Visoko's #1 thing to do based on tripadvisor

Highlighted areas show the "pyramids"

##Current Tourist Map tourism map There is no pyramids on the map

##Other Tourist Sites

There is many more things to see and do in the area including the 14th century castle known as Stari Grad Visoko

##Constructing the basemap

Most of the buildinga were missing and as its easy to do armchair mapping I begun the process mapping all the buildings in the western area of Visoko.

The current landuse dataset is from a 2006 landcover dataset that while accurate does not reflect the actual landcover. This will be modified to accurately reflect the landcover

Location: Gornje Rosulje, Visoko, Visoko municipality, Zenica-Doboj Canton, Entity Federation of Bosnia and Herzegovina, 71300, Bosnia and Herzegovina

Drinking water fountains in Brussels

Posted by philippec on 30 July 2016 in English (English)

I am proud to have carefully mapped and checked all drinking water fountains inside the Brussels Large Ring road. I have mapped also some toilets, without pursuing completeness.

Location: Marolles - Marollen, Brussels, Ville de Bruxelles - Stad Brussel, Brussels-Capital, 1000, Belgium

Repairs to Woodsetts CP Boundary

Posted by alexkemp on 30 July 2016 in English (English)

Woodsetts appeared on my screen (literally & metaphorically) whilst entering the very wonderful Worksop Unparished parish on to the OSM map. The northern edge of Worksop parish that I was working on (pun deliberate) was at the southern edge of Woodsetts CP. However, the Woodsetts parish line seemed to be 200m or more adrift from it's true place.

‘CP’ is short for “Civic Parish”, and is the smallest of the English Administrative boundaries (admin_level=10). Woodsetts CP was entered before my OSM time, in the days when one of the few bits of reference material available was NPE maps. Now, I understand fully that “something is better than nothing” (I already have that attitude to Bing imagery), but when I see “source=NPE” I have now come to expect wild inaccuracies. And am rarely disappointed, with Woodsetts CP as my current example.

Woodsetts Road is a tertiary highway that runs north out of Woodsetts village. After a short distance it meets Acorn Lodge and changes into Gilding Wells Road; to the East of that road is a farmer's field that contains the site of a Cartographic atrocity!

One of the parishes to the north of Woodsetts is Dinnington St. John's. Did you spot the single quote in that name? Well, unfortunately csmale did not. URLs within his Parish page use single quotes as delimiters within HTML <a href=...> syntax, but have not themselves been encoded, which means that the Dinnington St. John's link is ineffective. It should be\Rotherham_District\Dinnington_St._John's_CP.gpx (which will work in a browser or JOSM). However, in html page source the quote (‘'’) should have been rendered as ‘%27’ (so-called “percent encoding”) (this also normally applies to spaces, but all spaces have already been transformed to underscores (‘_’)).

Having crafted an effective Dinnington St. John's CP.gpx url I can see that the boundary never goes East of Gilding Wells Road, although the Woodsetts CP boundary travels across the northern edge of that field until it meets a bunch of Regional (admin_level=5) & other boundaries running north-south along the course of a stream that can be seen in Bing to clearly run through the centre of the wheat-field. Unfortunately:—

  1. OSM currently shows the boundary as “Dinnington St. John's TC”
  2. The mis-named Dinnington St. John's TC currently runs where Woodsetts CP is supposed to run (across the northern part of that field), and follows the Regional boundaries south for 200m or so.
  3. Woodsetts CP does NOT run across the northern part of that field
  4. Woodsetts CP currently has an invented path which follows (what appears to be from Bing) a dried-up stream-bed across the middle of the field 200m or so south of it's true route
  5. The mis-named Dinnington St. John's TC follows the Woodsetts CP invented path to return back to it's accepted path
  6. The OSM route for the North-South waterway bears little relation to current reality

As you can see, it's all a bit of an abortion. I'm getting out my wellies, face-mask & chainsaw as I write these words, and will write more after some serious surgery.

Adding Worksop *Unparished* Parish

Posted by alexkemp on 29 July 2016 in English (English)

(see also Nottinghamshire Civil Parishes - names for unnamed areas)

It's vital to have your UK civil parish area entered in the map if you want your house and/or locality to be easily found by the search & location aspects of OSM. However, many areas of the country are Unparished, and that includes 9 distinct areas in Nottinghamshire (12 towns). The Ordnance Survey have provided shape files for every parish, and that includes the Unparished parishes. However, each of those is unnamed. Before I did the research, none of the Nottinghamshire Unparished parishes were on the map. They are now!

Worksop is one of the last Unparished parishes waiting to be added to the map, and Unnamed_shape_5619 shows the boundary under JOSM. In contrast to all the others it seemed to be the easiest, as it needed the least editing. However, right at the end it threw a little wobbly.

Part of the northern edge of the 5619 boundary ran up Worksop Road (A57) then turned right along an unclassified road and Owday Lane. In contrast to all of the other 37km of the boundary, this little length along the unclassified + Owday Lane had no other boundary line already on it. That smelt all wrong.

A couple of hundred metres north of this unpopulated line was a way with a dozen or so boundaries in it, running parallel to Owday Lane through the middle of woods:-

  1. Nottinghamshire (Ceremonial); (vice_county); (administrative admin_level=6 (County))
  2. South Yorkshire (Ceremonial)
  3. East Midlands (administrative admin_level=5 (Region))
  4. Yorkshire and the Humber (administrative admin_level=5 (Region))
  5. Bassetlaw (administrative admin_level=8 (District))
  6. Rotherham (administrative admin_level=8 (Unitary_Authority))
  7. North and South Anston CP (administrative admin_level=10 (Parish))
  8. Woodsetts CP (administrative admin_level=10 (Parish))

The source for the way was supposed to be OS_OpenData_BoundaryLine but the two CPs were NPE and I smelt a rat. I downloaded Woodsetts CP.gpx + Nottinghamshire County.gpx in addition to the Unnamed shape 5619.gpx. As I thought, at this point all 3 GPX shared the same boundary. All those multiple BoundaryLines were supposed to run along Owday Lane, and the early reliance on NPE had led to a wrong placing.

In addition to re-routing those multiple boundaries at that place, I reset the very southern bit of Woodsetts CP. However, I did notice in the window that, in general, the entire current layout of Woodsetts bares only a passing resemblance to the OS GPX; it needs a complete repair. I suspect that the same may be true for North and South Anston CP and possibly for all other NPE-derived boundaries. I've decided to tackle fixing Woodsetts CP as well, but will write that up in a separate diary entry, once complete (it's a mess at the moment).

And finally, here is the proof of the pudding.

Location: Worksop (Unparished), Bassetlaw, Nottinghamshire, East Midlands, England, United Kingdom

What's going in Egypt?

Posted by Chetan_Gowda on 29 July 2016 in English (English)

From last week I'm noticing lot data coming to OpenStreetMap using DigitalGlobe imagery. Some users are adding residential roads and overlapping the primary roads.

screen shot 2016-07-29 at 6 52 32 pm

Augmented changeset viewer:

Throwing here a small post to let know the community.

My Plan to Create the Big Map of Sibiu – One House at a Time

Posted by HermannstadtGeographer on 29 July 2016 in English (English)

When I have first discovered OpenStreetMap in 2010 I was happy that there was an alternative to Google Map Maker. I must say that I have discovered it for the second time and that was in 2015. I was absolutely astonished by the level of details that can be added to this map and I soon began to map out my city. I am now a full-time mapper and I work very hard in order to add in the footprint of every building from my city. I even keep track of my progress on a dedicated website –

I believe that such a historical event in the life of my city needs to be well documented for future reference. I also believe that I can inspire others to map if I document all of my work on a website. Sibiu is a large city but it is not extremely big. A good mapper can finish this entire city in about 3 months of work. However, there are a lot of small towns around the city and this is where the real work needs to be done. There are a lot of miles to travel and without adequate funding or time, it is really impossible to add in these small towns to OpenStreetMap.

However, I am quite confident that with enough willpower these small towns (Cisnadie,Avrig, Talmaciu, etc) will be added to the map in the near future. My plan is to map these towns as well and I plan to do this right after I finish mapping my own city. The biggest problem that I have to face is related to the cost of printing the satellite imagery. As of today, nobody from the local community has offered to help but I will keep on mapping anyway. I want Sibiu to be one of the finest mapped cities in the entire country as this is extremely important for our local community and local economy.

Sibiu is an important tech hub in Romania and it is quite a shame that the overall quality of OSM data is not that great and I took the challenge of mapping the city as if it was a personal mission that must be fulfilled with the utmost sacrifice in terms of personal time and finance. I am fully aware about the effort that is required to finish this project however I am also enlightened to know that my work will help tens of thousands of people that want to have a better understanding of their local community.

Why is OpenStreetMap Fundamental for Search and Rescue by Drones

Posted by HermannstadtGeographer on 29 July 2016 in English (English)

Search and rescue crews from all over the world need a technology that is able to cover vast distances with a minimum cost. This type of technology can take the form of aerial drones because drones are cost effective and they can cover vast distances. Moreover, recent developments in terms of collaborative mapping and computing power mean that drones will have a higher resolution camera and they will benefit from a universal map that can be of significant importance to the coordination effort.

Drones need to use a common map in order to keep track of the distance that they cover. This map can be created by the OpenStreetMap community and it can be supplied to organizations such as in order to save lives. We need to acknowledge one fact and that fact is that OpenStreetMap is a fantastic tool for search and rescue people. Moreover, OSM is also great for tourists who may get lost on a mountain.

Imagine a scenario for example – one person gets lost in the woods. There is the need to establish a perimeter around the area and given the fact that a lot of victims are found dozens of miles away – the perimeter needs to be larger than usual and this implies the fact that securing such a perimeter with foot power is not easy. It is far easier to secure this perimeter with drones. With the help of a map and with the help of an automatic communication system between drones this type of perimeter can easily be established and maintained while essential manpower can be used in order to provide additional effort inside the perimeter.

Search and rescue crews need drones more than ever and it is about time to use technology in order to save more lives. Far too many people get lost in the woods and far too many people are never found. Just imagine for a second how much land a drone can cover and you will soon realize that this technology has a huge potential for amplifying the effort of search and rescue crews.

Now, to begin with – search and rescue operations are not typical. They do not have a typical response and it is not easy to determine what can happen. Quite often, the weather goes bad and this fact alone can spell gloom and doom for the victim that may get lost in the woods or natural forests. For this exact reason, I strongly believe that the OpenStreetMap community must be fully aware of the fact that mapping remote locations is a fundamental effort for the search and rescue people.

As members of this community, we are fully aware of the fact that we are working on one of the best maps in the world and we need to add in all the details that we need in order to create a useful map for search and rescue people. I believe that we need to map out only important information and this information is local. Local knowledge is important but in the rest, when it comes to armchair mapping – we need to come up with something smart and fortunately, there are plenty of options available in order to do some great armchair mapping.

I believe that in the near future, the price of drones will go down exponentially due to the fact that computer chips will become cheaper. In about 5 years we will be able to use 40$ drones in order to create high-quality imagery and this fact alone is going to contribute to the overall quality of our maps in an exponential way.

In the end, it is important to acknowledge the fact that search and rescue organizations need aerial imagery and maps and with our strong community we have the power to help these organizations in a truly innovative way. Just as drones have created a revolution in the realm of imagery, drones will also create a revolution in OSM and the innovations brought on by this revolution will spread to the search and rescue organizations of the world.

Really trying to review Scout

Posted by ryebread on 28 July 2016 in English (English)

As I try to continue writing about various OpenStreetMap-based navigation applications, I'm really struggling to write something about Scout.


It is a weird application.

It is a combination of a navigation engine (offline download costs money), but it only works in the US, ignores service roads, and does not show buildings. It has a chat built in, but I have 5 chat clients already. It supports sending your location to other people, but these other people must have Scout installed as well, and you can't just say "here, watch me go somewhere", you MUST provide your destination (unlike Glympse). You don't see POIs unless you search for them, and the POI database may not have correct location for the addresses. Since there are no buildings (and no satellite imagery), you can't see you are directed to a shed instead of Walmart Superstore.

Has anybody here used Scout and thinks it is the best thing since sliced bread?

Location: North Pontiac Trail, Commerce Township, Oakland County, Michigan, 48390, United States of America

Adding Mansfield + Mansfield Woodhouse (Unparished) Parish

Posted by alexkemp on 28 July 2016 in English (English)

(see also Nottinghamshire Civil Parishes - names for unnamed areas)

What fun (not) this is.

A fantastic amount of work has already been put into the OSM map by masses of folks in the past. In this diary entry I document myself trampling all over some of their work and (hopefully) leaving all the good bits intact as I make nips & tucks to correct some errors introduced from NPE maps & stuff in the past in addition to adding a hole (which is what, in effect, an unparished parish is).

The source material for these edits is csmale's GPX downloads derived from the 2016 OS .shape files. Those include the latest corrections to all UK BoundaryLines.

I'm absolutely terrified when editing these sorts of things! By the nature of Boundary Lines there can be several boundaries within the same line. In OSM a boundary is established as a Relation. That relation's members are the ways that constitute the totality of the boundary. There are 6 different levels of administrative boundary, from Border, external (admin_level=2) (with the Irish Republic) down to the Civic Parish (CP) (admin_level=10). By the nature of it, each lower level consists of sub-divisions within the larger boundary that is the level above it.

Then it swiftly gets more complicated. There are also Ceremonial boundaries (I have zero idea as to the difference between it & an Administrative boundary). And there are others, some of which — in my darker moments — I begin to think have been invented, just for malicious fun.

To illustrate, here is a current tally of boundaries within the area that I started at, at a spot where both Derbyshire & Nottinghamshire County boundaries meet Warsop CP (southern tip):

  1. name=Derbyshire; boundary=ceremonial
  2. name=Nottinghamshire; boundary=ceremonial
  3. name=VC56 Nottinghamshire; boundary=vice_county; ref=56
  4. name=Derbyshire; boundary=administrative; admin_level=6 (County)
  5. name=Nottinghamshire; boundary=administrative; admin_level=6
  6. name=Bolsover; boundary=administrative; admin_level=8 (District)
  7. name=Mansfield; boundary=administrative; admin_level=8
  8. name=Shirebrook CP; boundary=administrative; admin_level=10 (Civic Parish)
  9. name=Warsop CP; boundary=administrative; admin_level=10

Now, you may well think — and you would have a point — that this level of detail is far too much. The issue, for me, is that I dare not do anything unless I understand things at that level of detail. As an example, I've just changed the ‘Warsop Civic Parish’ name from “Warsop” to “Warsop CP”, and could only do that because I can back up the name-change from both documented sources & also from depth of understanding of the issues involved.

This post was prompted because I've just shifted Rainworth CP + Rufford CP boundary line a smidge from it's NPE-designated meeting with the Mansfield, Newark and Sherwood (districts) & Clipstone CP boundary lines. I ended up using Unnamed_shape_5861.gpx, Rainworth CP.gpx + Mansfield district.gpx to be able to convince myself that yes, that node needed nudging. Really, I wanted those that worked on it before me to know that I was showing the best respect to their work that I could muster.

Moorhaigh Bridge

Aargh! A complex of boundaries come together near the Moorhaigh Bridge and, unfortunately, the Mansfield + Ashfield District boundaries that come together up from the south had been joined at the wrong point to a vast plexus of boundaries coming down in 2 streams from the north (Derbyshire, Nottinghamshire, Bolsover district, Ault Hucknall CP + Pleasley CP). The joint had been made as a single point on an unclassified road next to Newboundmill Lane, whereas the OS BoundaryLines all said that it happened as 2 joins, with the second to the south close to where the 2 streams met & the bridge crossed them both.

I'm starting to get good at this relation surgery, so here is how to do it:

  1. In JOSM, switch OFF File | Download OSM Data Continuously
  2. Identify the correct boundary relations
    (I've had to use Ashfield District.gpx, Pleasley CP.gpx, Nottinghamshire County.gpx, Mansfield District.gpx + Unnamed shape 5861.gpx to be certain of the correct routes)
  3. For myself, select the Mansfield/Ashfield plexus + the join-node & use Alt+J (Tools menu) to disconnect the node from the Mansfield/Ashfield way.
    (That leaves the main way + Pleasley way intact & disconnects Mansfield/Ashfield from those ways)
  4. Re-join the free end of Mansfield/Ashfield in it's correct location (‘M’ for menu: Tools | Merge Nodes)
    (There is now a strip of the main way which wrongly has Mansfield as one of it's relations, and is missing Ashfield as a relation)  
  5. Select the new join-node + main-way & press ‘P’ (menu: Tools | Split Way)
  6. Select the main-way between the old join-node & new join-node & select ‘Mansfield’ in the Memberships window & delete it.
  7. Now to add the missing-snippet for Ashfield
    Whilst the split-off way is selected, press Alt+Shift+R (menu: Windows | Relations), select ‘Boundary[8] (Ashfield)’ relation + press the Relation Editor button. The split-off way was selected in the rhs window, and one of the buttons added it as a member in the lhs window (the first time I've been able to do that!). It also needed a role of ‘outer’ applying.

The final item was to make sure that I could get all members to join up in a circle. It is very likely that some of the members will not yet appear in the editor (they will show as ‘incomplete’). Selecting such a member will make a “download incomplete members” button available. Alternatively, a similar option is available via a right-click from the Alt+Shift+R Relation window. For that I pulled the view back a long way (using the ‘-’ button) and “walked the bounds” as described at the bottom of my original post on Nottinghamshire Civil Parishes. I was successful in that act. Hooray!

I'm now going to do the same for the Mansfield district boundary and then, hopefully some time soon, I shall be able to add this Unparished Parish.

(later same day)
2 unparished-parishes entered:

  1. Mansfield + Mansfield Woodhouse
  2. Kirkby-in-Ashfield + Sutton-in-Ashfield

The first was horrible due to needing to fix mistakes in existing Boundary Lines. The second was fiddly, but easy.

A lesson from both is that there are un-referenced level-10 admin boundaries originated from NPE maps but without any name nor Relation. I was able to re-use one for the ashfields above, but others simply need deleting.

Location: Mansfield Woodhouse, Mansfield, Nottinghamshire, East Midlands, England, United Kingdom

Carlton Vistas:— the Fair Comes to Town

Posted by alexkemp on 27 July 2016 in English (English)

Serendipity allowed me to be in the right spot at the right time to catch a troupe of Travellers as they began to setup their Summer Fair on the fields above the Carlton Richard Herrod Centre:

Carlton Summer Fair, July 2016

I've surveyed my way Eastwards along both Carlton Hill & Foxhill Road until I found the Carlton town-centre. I discovered from the local historian, living within the town's original Police Station, that St Paul's Junior school was demolished & the end of Foxhill Road East re-routed so that Tesco could be built (Foxhill currently terminates on Cavendish Road, but originally turned right & terminated on Carlton Hill). Even more astonishing, I discovered from a council worker at the Cemetery that a churchyard next to the Junior School was de-consecrated, also to allow the Tesco to be built. If we consider that the nearby Methodist Church parishioners have an average age in their 70s and are numbered at a score or more, it is clear where the modern spiritual attendance has shifted to (hint: it begins with a ‘T’).

Having reached Carlton town-centre I turned around and am now surveying along Cavendish Road, then Coningswath Road + all roads between those & the previous patch. Thousands & thousands of houses & lots of interesting discoveries.

To join the large list of House Art listed at the bottom of a previous post here is yet another Leaded-Lights front door. The lady that let me photo this one (the door is recessed and, unfortunately, I had to get very close for my mobile's photo-circuitry to register it correctly - there is much more of it to see) proudly boasted that she had designed it; and very fine it looks, too:

the best so far

Now back to the fair. Quite a few folks may know that Nottingham boasts of having the largest fair in Britain (held during the Autumn months). That happens to be wrong - as a Hull-born man, and as a much younger man having spent some of my time selling trinkets from a bench at that fair, I know that Hull Fair is much larger than Nottingham Goose Fair. It just doesn't have as good a name.

In general, the fairground folks rest during the summer. However, there are enough that need to eat during the summer, so Summer Fairs are a feature throughout England.

That entire vast patch of sports-fields & tennis courts splits the lands to north & south. I took my opportunity on Monday 25 July to return home by walking one of the footpaths across the field. A sign near the start says “land is prone to flooding” (there is an entire diary entry devoted to the nearby Flood Lagoon). So, if you plan to visit the fair & it starts raining, then probably best to take some thigh-high waders with you!

Location: Thorneywood, Sneinton, Nottingham, East Midlands, England, United Kingdom

Session videos from the State of the Map US 2016 in Seattle - 43 videos Updated today!

Posted by ImreSamu on 27 July 2016 in English (English)

State of the Map US 2016 - videos

current status: OpenStreetMap US : 43 videos Updated today

Feedback regarding a enhancement to JOSM that will speed adding of a Grid city

Posted by baditaflorin on 27 July 2016 in English (English)

I define a grid city as a city formed from straight roads.

You can read more and see a video where i try to explain here

Now, if we have a matrix of 7*7 grid, we have to click almost 50 times to add the city.

With this solution, we should only add the vertical and horizontal lines, clicking 14 times, and then using the Validation, it will see that we have 49 Crossing ways, and would offer the possibility to fix, by merging the overlapping ways together


1 1 2 2 3 3 4 4 5 5 6 6 7 7


Cities by only buildings

Posted by schleuss on 26 July 2016 in English (English)

Just a quick post here:

Maning Sambale already posted about the meta data added by Los Angeles Building Import. We've imported more than 1.2 million buildings and we were flattered to talk about our work at last weekend's State of the Map. You can see our slides here.

But what I find particularly interesting is how this building data stacks up against other city imports. These maps show any polygon tagged as building=value. Feedback welcome.

sanfrancisco newyork chicago seattle bakersfield portland austin la-jan1 la-jul23

Location: Historic Core District, Bunker Hill, Los Angeles, Los Angeles County, California, 90014, United States of America

Deriving centerlines from riverbanks without.

Posted by Marcos Dione on 26 July 2016 in English (English)

This post should be in my glob, bu it's down for the moment :(

For a long time now I've been thinking on a problem: OSM data sometimes contains riverbanks that have no centerline. This means that someone mapped (part of) the coasts of a river (or stream!), but didn't care about adding a line that would mark its centerline.

But this should be computationally solvable, right? Well, it's not that easy. See, for given any riverbank polygon in OSM's database, you have 4 types of segments: those representing the right and left riverbanks (two types) and the flow-in and flow-out segments, which link the banks upstream and downstream. With a little bit of luck there will be only one flow-in and one flow-out segment, but there are no guarantees here.

One method could try and identify these segments, then draw a line starting in the middle of the flow-in segment, calculating the middle by traversing both banks at the same time, and finally connect to the middle for the flow-out segment. Identifying the segments by itself is hard, but it is also possible that the result is not optimal, leading to a jagged line. I didn't try anything on those lines, but I could try some examples by hand...

Enter topology, the section of maths that deals with this kind of problems. The skeleton of a polygon is a group of lines that are equidistant to the borders of the polygon. One of the properties this set of lines provides is direction, which can be exploited to find the banks and try to apply the previous algorithm. But a skeleton has a lot of 'branches' that might confuse the algo. Going a little further, there's the medial axis, which in most cases can be considered a simplified skeleton, without most of the skeleton branches.

Enter free software :) CGAL is a library that can compute a lot of topological properties. PostGIS is clever enough to leverage those algorithms and present, among others, the functions ST_StraightSkeleton() and ST_ApproximateMedialAxis(). With these two and the original polygon I plan to derive the centerline. But first an image that will help explaining it:


The green 'rectangle' is the original riverbank polygon. The thin black line is the skeleton for it; the medium red line is the medial. Notice how the medial and the center of the skeleton coincide. Then we have the 4 branches forming a V shape with its vertex at each end of the medial and its other two ends coincide with the ends of the flow in and flow out segments!

So the algorithm is simple: start with the medial; from its ends, find the branches in the skeleton that form that V; using the other two ends of those Vs, calculate the point right between them, and extend the medial to those points. This only calculates a centerline. The next step would be to give it a direction. For that I will need to see if there are any nearby lines that could be part of the river (that's what the centerline is for, to possibly extend existing rivers/centerlines), and use its direction to give it to the new centerline.

For the moment the algorithm only solves this simple case. A slightly more complex case is not that trivial, as skeletons and medials are returned as a MultiLineString with a line for each segment, so I will have to rebuild them into LineStrings before processing.

I put all the code online, of course :) Besides a preloaded PostgreSQL+PostGIS database with OSM data, you'll need python3-sqlalchemy, geoalchemy, python3-fiona and python3-shapely. The first two allows me to fetch the data from the db. Ah! by the way, you will need a couple of views:

CREATE VIEW planet_osm_riverbank_skel   AS SELECT osm_id, way, ST_StraightSkeleton (way)      AS skel   FROM planet_osm_polygon WHERE waterway = 'riverbank';
CREATE VIEW planet_osm_riverbank_medial AS SELECT osm_id, way, ST_ApproximateMedialAxis (way) AS medial FROM planet_osm_polygon WHERE waterway = 'riverbank';

Shapely allows me to manipulate the polygonal data, and fiona is used to save the results to a shapefile. This is the first time I ever use all of them (except SQLAlchemy), and it's nice that it's so easy to do all this in Python.

Latest Spam

Posted by alexkemp on 26 July 2016 in English (English)

The world is discovering how easy it is to spam OSM. These are the latest:

(gone spam 1) ...leading to an inspiring talk on "Become a Respected Leader of the Good and Easy" (zero application to OSM; just more spam)

(gone spam2) ...leading to an inspiring webpage on Jeep - it's natural agate (Round trips organized fun days possible integration of ATV trips rural romantic campfire meals around the campfire gourmet meals)

(many thanks to admin + mods for removing these users)

CubaConf & FOSS4G NA & !DebConf

Posted by tassia on 26 July 2016 in English (English)

This summer I missed DebConf16 in Cape Town and, being completely offline, not even the videos I followed this time. I hope I can meet many of my old Debian friends next year in Montreal, and I'll try to slowly catch up with what happened during those days in Africa.

Luckily I had attended CubaConf and FOSS4G NA that fulfilled my needed dose of conference days and brought me many other friends and projects that I hope to keep up when I go back to real life. After almost 3 months of comings and goings of all kinds of trips, between conferences and family commitments, now I'm finally packing to go back home. It seems more than time to publish some late reports.

CubaConf took place in Havana from April 25th to 27th. It was the first international free software conference in the Island, with people from 17 countries, mainly from Latin America. All sessions in the main room were simultaneously translated to/from English/Spanish. The conference had a colorful and diverse environment, above the average of all the other tech meetings I've already attended.

CubaConf was an eye-opening experience for me with respect to:

  • The barriers for participation of Cuban people in free software development, namely poor connectivity and scarce hardware resources. Putting in perspective, can you imagine what would be your contribution to free software if you did not have a personal computer? Or if you could only access the Internet twice a week, for a short period of time?

  • The impressive capacity of Cubans to deal with and overcome obstacles. "We need to work with what we have. A crime would be to close our arms and do nothing".

  • The alignment between the Free Software movement and non-capitalist values, and how Cuba is a fertile ground for Free Software flourishing. "Free Software for us is not a technical choice but a philosophy of life".

  • The power of a community working together, which is much greater than the sum of all individual efforts. That was CubaConf.

Here are some highlights of the conference:

  • Hamlet Lopez Garcia: "Las tecnologías libres en Cuba. Una mirada desde la cultura." This was an awesome choice of keynote to open the conference and set up the solidarity environment we could feel throughout the meeting. Hamlet talked about the adoption and development of Free Software in the context of Cuban history and culture. If you read Spanish, I highly recommend Hamlet's article "Las comunidades virtuales de software libre en Cuba" in the book Bienes Comunes.

Hamlet Lopez Garcia

  • OSM community sessions: OSM activities started before I arrived in Havana, with a talk given by PB during Flisol (Festival Latinoamericano de Instalación de Software Libre) and a bike tour in El Vedado to map POIs and take photos to mappillary. During the conference there were many OSM-related sessions: Introduction to OpenStreetMap by Wille, Mapping Ecuador after the Earthquake, by Ivan Terceros, OSM to map risk of flooding in Costa Rica, and a mapping workshop at the last day. The conference was offline, and Wille did a good job in preparing enough screenshots to show how to map using certain applications, and he also had the iD editor running locally so that we could simulate an edition in OSM server. The fact that we didn't have satellite imagery as a background really puzzled me, cause the lack of Internet was not an issue of CubaConf only. Cubans in general have very little access to Internet, so in practice most of them cannot engage in base map drawing. Local mapathon activities need to consider that and plan in advance, either acquiring imagery in advance or using drones/balloons/kites for local aerial surveying. If none of this is possible, local contributions will be limited to filling nodes' attributes, which is for sure a great contribution, but doesn't use all the potential workforce Cubans could provide as OSM mappers.

  • Debian community sessions: Valessio gave a talk on his experience as a Debian contributor and how it was important for his trajectory from Jacobina, a small town in the Northeast of Brazil, to the world. I translated his speech to English, while he was speaking in "Portugnol". During the unconference day, Maykel gave the talk "MiSOX - Personalización de Debian GNU/Linux, a su medida o necesidad", where he presented this tool that allows to create Debian Derivatives using local mini repositories that contains most popular packages among their users. Then I gave a talk on the Universality of Debian Contributors, where I exposed the demographics of Debian Developers (which I suspect coincide with many other Free software projects) and talked about how it is important for the project to have contributors from diverse backgrounds if we want to move towards the utopia of an Universal Operating System. At the last day of the conference we made a Debian community meeting, which was named "the first MicroDebconf in Cuba". There we shared our experiences, cases of successes and frustrations. By the end of the meeting we were all very inspired and planning a miniDebConf in the Island soon.

Micro-DebConf en La Habana, Cuba

Cubaconf was organized by User Group of Free Technologies (GUTL) from Cuba and Best Of Open Technologies (BOOT e.V.) from Germany. The conference in itself was a very collaborative effort and faced many issues that are unthinkable for most people outside Cuba. It was with no doubt a great great success, many thanks for all the organizers and participants that made it real. Here is a nice video put together by Valessio, to share with the world the energy of those special days.

Back from Cuba, I spent a couple of days in Montreal then I flew to Raleigh, North Carolina. FOSS4G NA happened between May 2nd and 5th, followed by a geotour at the university on May 6th.

My highlights of FOSS4G NA were the contact with the GRASS community, playing with tangible interfaces, meeting OSM/HOT members and figuring out many free software solutions and challenges for fields that are largely dominated by proprietary software.

Here is my list of memorable sessions, you can follow the links for more info and slides:

I came back from both conferences inspired and full-charged to keep my efforts towards lowering the barriers for people from all backgrounds to engage actively in Free Software projects. Yes we always need more contributors, but more important than our needs, the opportunity to contribute to a Free Software project is everyone's rights.

Route numbering in Angola

Posted by NicEd on 26 July 2016 in English (English)

About to start creating the non-existent relationships and important route numbers in Angola.

Can anyone assist me regarding this matter, as Angola still seems not to have a standard route marking and tagging. Also, I'd like to receive some input from any mapper experienced with the SADC Regional Trunk Road Network. The whole road system in Angola is messed up, as there are no standards, no presets, settings and rules, and unfortunately the Wiki page has little to none info on Angola, so I'd like to use the existing database and layers to start organising the whole setup. I'm open to suggestions and help.

Highway shields, state by state

Posted by Minh Nguyen on 25 July 2016 in English (English)

With State of the Map U.S. still fresh on everyone’s mind, let’s revisit a favorite topic among many U.S. mappers: highway shields. We’ve been talking about ways to improve the sorry state of route shield support across the OSM ecosystem since at least 2011. We haven’t yet reached the vision outlined by Richard Weait in that SotM talk, but things aren’t as bleak as the renderers may let on.

In America, things are complicated

The national standard for U.S. state route markers is black numerals in a white oval. But almost every state eschews this oval in favor of its own design. (Some states have several, depending on the type of road.)

State highway shields by state (Chris-T)

In most states, the marker consists of a number in a distinctive shape, possibly with color:

Kansas state highways, such as K-10, are indicated on signage by a yellow sunflower, the state’s official flower. (Steve Alpert)

By adopting these various designs, maps can optimize usability for motorists. While driving, one should be able to compare the route shield the navigation application is displaying with guide signage up ahead, without having to know the ins and outs of the local road network. Getting the iconography correct is important because the same route number on a different shape may lead you in a different direction.

SR 562
Ohio state highways, such as SR 562, are indicated by the state’s simplified shape. (allen, CC BY-SA 4.0)

Regular expressions to the rescue?

Unlike most OSM-based maps, the recently departed MapQuest Open layer included different route shield designs for each state. But it relied on a fragile assumption that the way’s ref tag had to begin with the state’s postal abbreviation, e.g. ref=KS 10 in the example above. Parsing a way’s ref tag is suboptimal for various reasons:

  • There are known conflicts with other countries and other countries’ political subdivisions. For example, ref=CA… occurs in both California and the Cantabria region in Spain. ref=NH… occurs both in New Hampshire and throughout India.
  • Some states have multiple statewide route networks. Texas famously uses 12 distinct shield designs for state-level routes, and several of these networks overlap numerically. The postal abbreviation isn’t enough to distinguish one network from another.
  • Many states have county, township, or even city routes with distinct markers. In Ohio, each county has its own design, and within many of those counties, there are a variety of township route marker designs. A generic prefix like CR or TR is insufficient for selecting a suitable marker image, yet fully qualifying the jurisdiction on every way (ref=US:OH:MRW:SouthBloomfield 190) would also be tedious and error-prone.

In some states, the highway department doesn’t use the state’s postal abbreviation when abbreviating route numbers, nor do most residents in writing:

Ohio uses “SR” on variable message boards where a pictograph would be infeasible. (ODOT)

In Ohio, the consensus has been to tag ways with the “SR” prefix and rely on route relations for disambiguation. Some other states have similar practices. Unfortunately, this approach caused the state’s routes to be marked with the generic oval instead of the state’s shape. MapQuest Open is no longer available on, but the need to choose state-specific shields remains common among renderers.

For years, members of the U.S. OSM community have promoted an alternative, more flexible tagging scheme for highway routes: the ref and network tags on route relations. In 2013, Phil Gold developed an experimental “shield renderer” to demonstrate how a renderer might make use of this data:

The OSMUS shield renderer supports a variety of shield designs as well as route concurrencies.

But making use of route relations is a difficult problem for production-level consumers of OSM data, so parsing ways’ ref tags remains the most common approach to selecting route shields, despite the disadvantages above.

“Perl Problems”, xkcd (Randall Munroe)

A baby step using spatial queries

When I’m not mapping speed bumps and backyard swimming pools for fun, I work at Mapbox on the open-source Mapbox iOS SDK and the Mapbox GL renderer that powers it. Mapbox GL renders Mapbox Streets vector tiles, applying a stylesheet designed in Mapbox Studio.

The style language used by these tools doesn’t yet support regular expressions, so the vector tiles can’t include the raw way refs for the renderer to parse. Instead, when an OSM way is baked into a vector tile, a spatial query determines the relevant ISO 3166-2 code (the country code plus the postal abbreviation), which goes into an iso_3166_2 field.

This field makes it possible for anyone to create a map that includes state-specific route shields. To prove it, I used Studio to create a custom style, Interstate, based on the default Streets style:

With a regular expression–based filter, a conventional renderer would be unable to distinguish between Ohio and Indiana state route refs.

I wanted to get back to armchair mapping, so I only customized the shields for Ohio, Kentucky, and Indiana rather crudely. But with a bit of effort and more graphics design chops than I possess, the other states could receive similar treatment.

Note that this is only a stopgap solution to the problem of choosing state-specific shields: Mapbox GL doesn’t support grouped icons for route concurrencies yet, and ISO 3166-2 codes don’t identify counties, townships, or the myriad route networks in Texas. But it’s still better than seeing homogeneous white ovals everywhere.

Build your own Interstate

It takes a certain amount of roadgeekery to care about state-specific route shields on a map, but it doesn’t take any programming skills to design and publish a style like Interstate:

  1. Sign up for a free Mapbox account and open Studio.
  2. Click New Style and choose a template. (Other than Satellite and Empty, each of the templates is based on the Mapbox Streets source and thus OSM data.) For this style, I chose the Streets template: Templates
  3. Zoom the map in to level 10 or beyond and center it somewhere in the U.S., so that the generic oval state route shields are visible.
  4. The left sidebar lists the style’s layers, which are akin to layers in a vector graphics tool like Inkscape or Adobe Illustrator. Expand the “Highway shields” folder. Layers
  5. Two layers of interest are “road-shields-white” and “road-shields-black”. The former is for shields that have white text, such as for Interstate highways and California state highways, while the latter is for shields that have black text, including most states’ highway shields. For this style, select “road-shields-black”. (You can also click on the roads on the map to select these layers.)
  6. In the flyout for this layer, switch to the Icon tab and note that the Image property is set to {shield}-{reflen}. Mapbox GL fills in the shield and reflen tokens so that a three-digit state route gets the us-state-3 shield. Now switch to the “Select data” tab. The lengthy filter ensures that the layer doesn’t rope in any roads whose shields should have white text. The map highlights the ways that remain. These are the state routes you want to style. The filters beforehand Data on the map
  7. At the top of the layer list, click the Duplicate button and name the new layer “road-shields-state-black”. Duplicate
  8. In the new layer’s “Select data” tab, delete the existing shield filter. Replace it with one that includes a shield that “is any of” us-state. Then add another filter for an iso_3166_2 that “is any of” US-OH, US-KY, or US-IN. The resulting filters
  9. Back in the Style tab, in the Icon tab, change {shield}-{reflen} to {shield}-{reflen}-{iso_3166_2}. You’ll be adding icons with names like us-state-3-US-OH. (Alternatively, you could create a separate layer for each state, but more layers means more maintenance overhead and possibly worse performance.)
  10. Uh-oh: where previously there were generic state route shields on the map, now there are only numbers. Missing shields Click the “{}” button on this text field to open the icon manager flyout. The style already has a lot of icons, including highway shields for many countries. Icon manager flyout Click the “Add SVG Images” button and upload a roughly 20×20 SVG image for each state-reflen combination you want to support. If you’re looking for inspiration, here are some existing SVG route shield sets that you could adapt in Inkscape or Adobe Illustrator (MUTCD-compliant iconography is in the public domain, but note that some designs may be trademarked):
    • Shield templates from the 2013 shield renderer – Remove the text span from each image before use. Mapbox GL will superimpose the route number onto the shield. You can customize the number’s styling in Studio.
    • Shield blanks from Wikimedia Commons – You may want to remove the black background from many of these images. The black background improves visibility for reassurance markers, but it’s unnecessary when the shield is merely a “sticker” on a map.
    • Some crude images I made based on a few of the Wikimedia Commons images above
  11. After uploading the images, you should see them in the flyout, and the map should now show state-specific shields. Uploaded icons Shields fixed Finally, click the Publish button at the top of the left sidebar to make your changes public.

As seen on TV

I encourage you to check out Interstate. The map starts out at the Ohio-Kentucky-Indiana tripoint, so you can see the special style rules in action. Unlike the 2013 shield renderer, Interstate is the real deal: it’s served from production servers, ready to be embedded in a Web, desktop, or mobile application. (But please create your own copy using the instructions above instead of hotlinking this demonstration style.)

An example of what an iOS navigation application would look like using the Interstate style, the Mapbox iOS SDK, and the OSRM-powered Mapbox Directions API.

It’s worth noting that the ref tag isn’t just for renderers: OSRM includes the ref of each way along the route, so that a turn-by-turn navigation application can announce “Turn left onto SR 4.” If locals don’t refer to the highway as “OH 4”, neither should the voice announcement.

The ISO 3166-2 codes exposed by Mapbox Streets partly decouple the ref tag’s format from the visual output. This frees up the ref tag to reflect the notation that’s used by humans and verifiable “on the ground”, rather than some arbitrary standard enforced for the benefit of renderers. The sooner we wean renderers off their dependence on specific ref tag patterns, the sooner we can expect renderers to support route relations. I can’t wait for that day to arrive.

Tagging: single values vs. value lists vs. separate keys

Posted by BushmanK on 25 July 2016 in English (English)

Ongoing voting on Education 2.0 proposal have demonstrated, that some OSM members don't understand the situation with multiple properties. I was a kind of surprised by this lack of understanding, since it is already explained in Wiki, so I want to explain it one more time.


  1. Single value stands for key=value case, for example: man_made=tower
  2. Value list stands for semicolon-separated list of values, for example: sport=basketball;volleyball
  3. Separate keys stand for multiple binary keys for each property, for example: sport:basketball=yes, sport:volleyball=yes

Case (1) is the most simple and traditional in OSM. However, if certain feature uses this tagging style, its value becomes exclusive, which means, there can be only one value. And for certain features it's completely acceptable, because, for example, man-made structure can't be a mast and a tower in the same time.

Case (2) was, probably, the first way to find a workaround for non-exclusive values. It's a straightforward way for those cases, when properties are non-exclusive, which means, certain object can have several properties of one feature. Just like in example above, a pitch could be used for playing basketball and volleyball.

Case (3) is, at first glance, similar to (2). And some people think that it's only a different tagging style. Indeed, it allows to represent the same situation, but with separate keys (tags) instead of value list in one tag, so semantically it doesn't have any advantage. It even looks more complicated, because its structure actually consists of three elements, not two: namespace:subkey=boolean_value, where namespace equals to key in case (2), subkey equals to each value from list in case (2) and boolean_value is just yes or no (in case of no, the whole tag is omitted).

Technical side

But the thing is, OSM is a database. Which means, those tags we using are actually data structures. And data structures should be usable. There is a whole applied science on that topic - data architecture. So, if you've never heard about it or you don't know what exactly it stands for, please, read an article about it in Wikipedia (link is above).

From the point of view of general public, there is no semantic advantage of method (3) over method (2). But there is huge advantage from the point of view of data architecture. That is why method (2) is strongly discouraged for the most cases, except only a few of them, as it is more or less clearly described in Semi-colon value separator article. In simple words, semicolon separator is usually acceptable for those cases, where value list contains a list of strings (portions of free text), used for labels or descriptions, not properties. In more technical words, where these strings from lists are not used for querying objects for any purpose, including subsetting data, applying rendering style, etc. It includes complex text structures such as lane tagging or opening hours, meant for deeper parsing by design.

Why value lists are so bad for querying? It's simple, it's all about performance and having known predictable data structures. Having something like sport=basketball;volleyball from case (2), to work with it, software needs to break it down first and to store resulting list somewhere in memory. Before it starts doing that, it should first determine, how many elements are in list. While in case of (1) and (3), number of operations is smaller and there is nothing unpredictable, since namespace:subkey always breaks into known number of strings (even if subkey is compound, like subkey:sub-subkey - usually we don't have to care about it, it can be processed as a single string) with predictable order.

There is another technological reason: OSM uses XML-style "attribute=value" constructs, therefore, it's quite logical to be able to use tools, intended for working with XML, such as query languages, frameworks and so on. And usually, these tools are not intended for dealing with values comprised by lists (by technical reasons explained above). While methods (1) and (3) are perfectly compatible with general XML ecosystem.

Anyone can easily get some experience and compare methods (2) and (3) by writing an example of Overpass API (significant part of OSM ecosystem) query for both cases, given in definitions section above: sport=basketball;volleyball and sport:basketball=yes, sport:volleyball=yes. Imagine that you need to select all pitches with both these properties. I can guarantee you, that method (2) will require utilizing CPU-hungry regular expressions, which will inevitably reduce query performance.


Voters on Education 2.0 proposal have expressed certain objections to method (3) I want to address directly.

... semicolon-separated lists are much more concise and therefore easier.

Easier for what? For reading - maybe (if such list is very short), but not for any technical purpose, including tagging preset development, editor interface development and so on.

... it's just an aversion to semicolon-separated values. I understand that this is a proposal by Russians, and some Russians such as XXzme have expressed their aversion to semicolon-separated values. I respect their opinion, but I have the opposite opinion, sorry.

No, it's logic, not an aversion. Read everything above. And it's not "another opinion". Opinion is a view, not necessarily based on facts or logic, however, logic behind preferable use of method (3) is explained both in Semi-colon value separator article and in this diary entry. If someone finds it false, feel free to point on it. Otherwise, you have an aversion, based on personal preference, which doesn't have to be respected, since it contradicts reasonable requirements to tagging schemes.

... you cannot model the whole world in a key:*=yes ontology, ...

That's actually classic demagogy - to say, that your opponent said something false (which he didn't) and to prove it's false to discredit him. Nobody claimed that it's possible and/or necessary to use method (3) to model the whole word (it's another piece of demagogy - incorrect universal quantification). If someone thinks, that collision of exclusive properties will never occur for certain feature, it's okay to point on it and explain, why method (1) is acceptable. But using demagogy usually reveals lack of real argumentation.

... that ridicules the key=value scheme in OSM

How exactly? Again, method (3) is actually recommended by OSM documentation in Semi-colon value separator article. And it is technologically much closer to method (1) than method (2) is.


Tagging method with separate subkeys and Boolean values is an effective part of tagging system. It doesn't replace other methods completely and nobody claims that it does. For cases, where any chance of collision between exclusive values exists, it's the only effective method. Value list method is equivalent to it only semantically, but it's inferior to it in technical aspects of data architecture, performance, usability. Usability for mappers strongly depends on tools: complex schemes are rarely used in fully manual manner - plugins, presets and other tools helping people to use it, therefore, it doesn't really matter, how exactly these tags look.

And the last thing. Being a part of OSM project for several years, I've heard many references to national features, like "in this country, we do it this way". But I've never seen anyone making general references to any nation in negative connotation, like it happened in one of comments to opposing vote on Education 2.0 proposal. Indeed, there are several members of Russian community, including myself and Xxzme (notoriously famous for his Wiki activity, but who has no connection to this proposal) mentioned in that comment, who trying to promote separate keys method for cases, where collision of properties can occur and who from time to time criticizing legacy tagging methods.

But shouldn't judgment be based on what is said and its logic instead of who said that or other personal features? I really hope, opposite thing will never happen again.

Older Entries | Newer Entries