North Yorkshire Council To Ban Apostrophes On Street Signs To Avoid Database Problems (bbc.com) 100
The North Yorkshire Council in England announced it will ban apostrophes on street signs as it can affect geographical databases. Resident Anne Keywood told the BBC that she urged the authority to retain apostrophes, saying: "If you start losing things like that then everything goes downhill doesn't it?" From the report: North Yorkshire Council said it "along with many others across the country" had opted to "eliminate" the apostrophe from street signs. A spokesperson added: "All punctuation will be considered but avoided where possible because street names and addresses, when stored in databases, must meet the standards (PDF) set out in BS7666.
"This restricts the use of punctuation marks and special characters (e.g. apostrophes, hyphens and ampersands) to avoid potential problems when searching the databases as these characters have specific meanings in computer systems."
"This restricts the use of punctuation marks and special characters (e.g. apostrophes, hyphens and ampersands) to avoid potential problems when searching the databases as these characters have specific meanings in computer systems."
Dupe (Score:3)
You already ran this story recently.
Re:Dupe (Score:4, Informative)
https://news.slashdot.org/stor... [slashdot.org]
Re: (Score:1)
And they have already changed their minds back again before that was posted
Re:Dupe (Score:5, Informative)
Moreover, we already pointed out that BS7666 doesn’t actually require what they falsely claimed.
BS 7666 Part 2 specifically says, for instance (emphasis mine): [agi.org.uk]
Abbreviations and punctuation should not be used unless they appear in the designated name (e.g. Earl’s Court Road)
And then later the same verbiage, but with “Dr Newton’s Way” as the example. So, clearly, apostrophes are allowed in the standard. It also allows for UTF-8, languages other than English, and all sorts of other things they say aren’t allowed.
It’s like they never actually read the rules they’re citing.
Re: (Score:2)
Besides, any punctuation could be treated as white space...
Re: Dupe (Score:4, Funny)
Welcome to DROP TABLES Street!
Ey oop (Score:2)
Tha could be t'problem in yarkshire!
Re: (Score:2)
Obligatory XKCD (Score:5, Funny)
Robert '); DROP TABLE Students;-- ? would be proud that this village in England cannot sanitize their freaking inputs by substituting an accent acute for apostrophe in the names. (Or be able to use unicode extended codepage identical appearing characters with a different value, like U-2019, instead.)
Nope. Too much work. Cant have the office drones actually have to learn how to sanitize things, now can we? /snark
Re: (Score:1)
Re: (Score:3)
Re: (Score:2)
Find out who the IT contractor is then name & shame them!
Could one hazard a guess that it's Fujitsu?
For context:
https://en.wikipedia.org/wiki/... [wikipedia.org]
Re: (Score:2)
Microsoft is well known for fucking things up [itprotoday.com] in UK.
Re: (Score:3)
Imagine asking your average DMV drone to type Alt+2019 every time they want to type " ' "
We joke, but the real solution is to fix the input field, which may be hard to get done in a government IT department.
Re: (Score:2)
Yep. Never rely on the human doing data entry to adapt, because even if they care to try not to they're eventually going to make a mistake.
But whoever built a database without reviewing the data it was intended to contain should be fired, shamed, and unable to work in IT ever again.
Re: (Score:2)
Imagine asking your average DMV drone to type Alt+2019 every time they want to type " ' "
We joke, but the real solution is to fix the input field, which may be hard to get done in a government IT department.
I could see the union for the DMV drone demanding all new keyboards that incorporate that character as a separate key ... to reduce RSI you know /s
Re: (Score:2)
Computer says CANT.
Re: (Score:2)
Imagine what the autocorrect will do...
Re: (Score:2)
Computer says CANT.
Isn't that just an autocorrect of *CUNT*?
Re: (Score:3, Interesting)
Robert '); DROP TABLE Students;-- ? would be proud that this village in England cannot sanitize their freaking inputs by substituting an accent acute for apostrophe in the names. (Or be able to use unicode extended codepage identical appearing characters with a different value, like U-2019, instead.)
Nope. Too much work. Cant have the office drones actually have to learn how to sanitize things, now can we? /snark
Eh, sure ... in an ideal world every piece of software and every data entry person in every office would do everything perfectly.
In the real world, where everything costs money, systems are diverse, and chaos is real ... it might very well be simpler to just train people not to use punctuation in names. (And to just strip it from inputs rather than use possibly disparate encoding methods.)
Re:Obligatory XKCD (Score:5, Insightful)
In the real world, if you don't pay devs to fix this particular issue, you have a gaping security hole right there.
Re:Obligatory XKCD (Score:4, Interesting)
If you're not using prepared statements for all your queries, THAT is where you have a gaping security hole. If you're using a vendor that does inline queries with manual escaping, THAT is where you have a gaping security hole. If your program barfs on punctuation, it is using inline queries with escaping and is a gaping security hole. This is database 101 stuff.
But that doesn't seem to be the main issue. The main issue is when searching for streets with apostrophes. Searching for "St. Mary's Walk" will potentially give very different results than searching for "St Marys Walk" or "St Mary's Walk". Training won't help, because it relies on perfect human compliance.
Removing punctuation from the database is the most reliable solution.
Re: (Score:2)
Removing punctuation from the sort index makes sense. But you do need to be able to store the proper text.
Re: (Score:3)
"Removing punctuation from the database is the most reliable solution"
No, making your searches punctuation insensitive is the most reliable solution.
Re: Obligatory XKCD (Score:2)
I was meaning, more, 'they need to use a simple string check and manipulation function to automatically test for presence of any incidences of " ' ", and substitute either U+2019 or U+00B4, using equivalents of LEN, LEFT, RIGHT, and + operators."
Use a local shadow string variable to copy the LEFT portion of the string, insert the substitute character, get and store position of insertion, continue, and as found, append new LEFT from last position +1 (minus LEN of old LEFT), and substitute as needed until end
Re: Obligatory XKCD (Score:1)
Re: Obligatory XKCD (Score:4, Insightful)
WTF is up with multiple people suggesting these insane ways of sanitizing the data??? How do people think binary data (ex. images) get inserted into a database? The BS7666 standard is archaic. Just process the data correctly.
FYI, every modern (and most ancient) SQL server supports a concept of placeholders in queries (parameterized input). Like:
INSERT INTO SomeTable (id, street_name) VALUES (?, ?)
And then you pass the values in via an array to execute that prepared statement.
It's not hard at all to fix this sort of stuff, and leaving any code that can't handle garbage user data input is just asking for much MUCH bigger problems.
If also not difficult to escape or replace characters to sanitize the data instead of using SQL placeholders. This is needed for some formats, like CSV files to transfer this info, but it's a very well established practice.
Re: (Score:2)
When you're a perl programmer you've just gotta make the string yourself.
Re: (Score:2)
Odd you say that, since perl is my primary language. DBI, and the various DBD drivers, have robust support for placeholders, and well implemented escaping for those few databases that don't support placeholders themselves ($dbh->quote("string")).
$dbh = DBI->connect(...);
$sth = $dbh->prepare("INSERT INTO whatever (column1, column2, column3) VALUES ('static value', ?, ?)");
$sth->execute("param2", "param3");
$sth->finish();
$dbh->disconnect();
Re: (Score:2)
Perl isn't what it used to be. Drivers! If you're not assembling the bytes yourself and squirting them at the socket, what are you even doing?
Re: (Score:2)
Thank you! You made this old perl guy feel young! DBI was released in '94.
Oh, and bind params seem to have been supported since then as well (which actually surprised me a little).
Re: (Score:3)
Re: (Score:3)
It may not be difficult to escape/sanitize instead of using parameterized queries, but it's wrong. Just use the parameterized queries. Sanitization and string comparison are subject to constant new and creative ways of using international characters to bypass them. Just don't do it.
Please note, I qualified that statement with, "This is needed for some formats, like CSV files to transfer this info". You are right, and I agree - if bind variables / parameterized queries are available, use them.
If you're working with MDB Tools, or older versions of SQLite or MySQL, they don't support bind variables. Many of the DB libraries, especially ones designed to work with multiple DB backends like perl DBI, support the bind variable syntax but will automagically do the proper escapes/quoting for y
Re: (Score:3)
But they are relying on people doing their job perfectly. If they forget to strip punctuation, or typo it, they could break the database. Not to mention the vulnerability to bad actors.
The only reasonable solution is to properly sanitize input, and in 2024 it's not rocket science. We have well proven software designed to do just that.
Re: (Score:2)
_We_ have well proven software designed to do just that.
The UK government has a tax to Fujitsu pipeline and a lack of interest in proving or disproving their claim that your mother is money-laundering for the mob before prosecuting.
Re: (Score:2)
Yeah, that's true. We are going to get wrecked by the first big cyber attack.
Re: (Score:2)
But they are relying on people doing their job perfectly.
No, you are relying on people not to completely f*** up their job. There is no need for sanitisation. All you need is to handle anything someone wants to store in the database.
Re: (Score:2)
Re: (Score:2)
Re: (Score:3)
> In the real world, where everything costs money
I find it hard to believe that replacing hundreds to thousands of street signs to remove the apostrophe is more cost effective than adding a function to add some escape characters.
=Smidge=
Re: (Score:2)
And software does change and adapt. I just did a google search for "st mary at finchley". The top result was the correct one, a Wikipedia article for "St Mary-at-Finchley Church" (I never knew the name was actually hyphe
Re: (Score:2)
Re: (Score:2)
How about 'drop table taxRates' .. just sayin'
Unless your SQL is created by idiots (and any SQL injection _is_ created by idiots) having a street named 'drop table taxRates' is no problem at all.
Now the German post office... My company received a letter with a completely unreadable address. Then we figured out someone had used a keyboard blindly and moved his fingers one position to the left. Post office delivered it. And they managed to correctly deliver a letter addressed to (drawn square) (drawn triangle) 3.
Re: (Score:2)
Re: (Score:2)
Good Lord, this has been a problem since aropund 1998, and is fixable with effort and competent programming.
Oh, right, government.
Re: (Score:2)
Robert '); DROP TABLE Students;-- ?
A guy I worked with did a spectacular tech talk along a similar vein. His topic was internationalization and how most of our GUI products would mangle non-7-bit-clean strings (by UTF-encoding or decoding one too many times). After presenting his findings, he said he had a manager tell him to stop working on it. Apparently, according to Steve, users don't want a solution, they want a workaround.
Steve, being a clever amateur artist, also created some "No ASCII" buttons, where "ASCII" was a drawing of a butt m
Re: (Score:2)
Re: (Score:2)
More likely, the poorly sanitized input box trips up the SQL query parser, and the attempt at data entry makes the server return either nonsense data (as far as the client is concerned-- really an error message about a malformed query/instruction) or just fail silently, causing "Such frustration!"
When all they really need to do, is make the input box automagically scrub for apostrophe and substitute accent acute (U+00B4) or close single quote (U+2019). Either one would not trip up the parser and is just a
Re: Oh (Score:1)
In Yorkshire... (Score:2)
In Yorkshire, you don't fix government, government fix you! :D
Re: (Score:2)
In Yorkshire, you don't fix government, government fix you! :D
In Yorkshire, you don't fix t'government, t'government fix you! :D
Upgrade to EF Core (Score:2)
That'll fix it.
No, the cat does not "got my tongue". (Score:5, Insightful)
As a programmer for 35 years and counting, I say this with as much experience-based authority I can muster:
You lazy, good for nothing programmers! You fix this issue. Whining about apostrophes and ampersands and so on, in text strings, is an "oops, didn't think of that", 30 years ago. No more.
Fix it. All arguments to the contrary can be diverted to /dev/lazy, /dev/whiney, /dev/30yearstofixit, and /dev/ohboyhiddencommandlineinterfaces. You are the ones who suck, thinking yourselves great for throwing wrappers around internal APIs, and presenting that as a product.
You are the ones who suck. 30 years.
Fix it.
Re: (Score:1)
"I was following the specs".
Re:No, the cat does not "got my tongue". (Score:5, Insightful)
Agreed, I could summarise with a slight fix to the text:
> ...searching the databases as these characters have specific meanings in shit computer systems
If you ever have to work differently because a computer told you so, then you absolutely should demand the computer do better. We make them to serve us and make us more productive, not the other way around. We seem to have got so 'normalised' to crappy experiences (Windows, I'm looking at you) that we seem to think that's how it has to be.
As for road signs, places like Brow o' the Hill and the like make no sense without an apostrophe. Further, abbreviations don't either. This plan is daft from top to bottom. Just fix the damn computer and then have whatever you want.
Re: (Score:1)
Why would they fix it?
Their government contract says they delivered the software as required.
The beauty of fascism is everybody on corporate welfare can get rich being lazy while the taxpayers get poorer and poorer.
It used to be that the town had a guy with a router and a stack of boards and good paint to make the road signs. Now somebody's uncle gets 10x that to make them with no accountability.
Yeah, the apostrophe problem is probably in some other dumb software system but follow the premise.
Ain't the Publ
Re: (Score:2)
> But thanks to corruption and kickbacks that will continue.
This. Otherwise all governments would have also moved from MSWindows to Linux by now.
Re: (Score:2)
Re: (Score:2)
What do low salaries have to do with which OS the government uses?
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
It's a boss issue. Someone wrote a poor program, maybe in the 80s. Then the boss decided that instead of rewriting, their company's way of doing things should be the standard. They persuaded some other bosses of this. Now instead of an expense, you now have a "moat".
Re: (Score:1)
Re: (Score:2)
"Impy the Impious Imp" for UK CIO !
Or really, for any country or organization.
Re: (Score:2)
Don't jump to conclusions of it being bad software. It's more likely that a mid-level manager with little to do had a pet peeve and dreamed up this directive. The software was probably a fig-leaf.
I am so tired of people masquerading as organisations. North Yorkshire Council indeed!
Rather, announcement by organisations should disclose the people responsible for key decision-making. Like this:
The North Yorkshire Council Manager in England announced that, consequent to the approval by supervisory manager John Sumpter-Willowden of internal memorandum dated 2/2/22 authored by assistant-manager Jill McGraw-Hill, it will ban apostrophes on street signs...
Re: (Score:2)
It's a government IT department, sir. I'd be glad to fix it, sir, if you would just approve the budget, sir!
Stupids & Lazies at it again. (Score:3, Insightful)
By all means, less race into subservience to machines because developers are too lazy to properly handle punctuation.
Re: (Score:2)
I've actually always wondered this in other countries. How do machines handle foreign and unknown characters. Can the Spanish government issue a fine from a speed camera from a guy whose car is registered in Plön, Schleswig-Holstein, Germany because the license place has PLÖ as the first three digits? Will their system cope with the umlaut? Or will it attempt to find a car registered in Plauen, Saxony where the first digits are PL?
Re: (Score:2)
By all means, less race into subservience to machines because developers are too lazy to properly handle punctuation.
No, that's how we beat them. When the machines rise we'll stop them with strategically placed commas, apostrophise and semi-colons. We're keep the thorns and percontation points in reserve in case things get really desperate.
They could've just said they're difficult to searc (Score:1)
Proper English? We've Reveng'ed. (Score:2)
The queen shall have a fresh head to kick around soon.
Re: (Score:2)
Hardly, given she's been dead for a year and a half, you insensitive clod.
Re: (Score:2)
They ran out? I thought there was always one waiting in the wings.
Re: (Score:2)
Why is American education so bad that most of you really know nothing about the rest of the world?
They're banning apostrophe's? (Score:5, Funny)
The real reason to ban apostrophe's is because nobody knows what they're for or how to use them anymore.
Re:They're banning apostrophe's? (Score:4)
> nobody knows what they're for
you could have gone with "their". ;)
Re: (Score:2)
Re: (Score:2)
A flash of light. A man wearing 21st century clothes appears. He tells the locals in 1550, "Stop! Do not do it. I am from the future. We still do not understand."
Re: (Score:3)
> The real reason to ban apostrophe's is because nobody knows what they're for or how to use them anymore.
Nonsense. It really is quite simple. The aphostrophe's role is to warn that a letter "s" is following :)
Re: (Score:2)
When it comes to punctuation its fine if its' missing or wrong so long as you spell correctly and people understand what youre getting at right?
Unrelatedly a coworker was telling me about his big plans for the weekend. He always loves when he gets to enjoy cooking his family and his dog. Another coworker was telling me about his concern for the hostages in Gaza, his ailing mother and President Biden.
(I hope that the above was as painful to read as it was to write)
Good Idea! (Score:2)
I am more offended by spurious apostrophes than missing ones.
If this avoids the grocers apostrophe ("apples' 30c each")*, then I can live with it.
* That is an example of a grocers apostrophe, not what Street signs might show!
For further cost savings, England bans the "U" (Score:4, Funny)
In order to reduce printing costs, England has banned the letter "U". While this brings many of their words into conformance with the superior American standard, many people consider it gly, and kids no longer know how to abbreviate the word "yo" to a single letter.
Re: (Score:2)
Re: (Score:3)
So there's a bug in BS7666 ? (Score:2)
Yeah it's a dupe... But, after a quick glance at the summary, my immediate thoughts were:
If BS7666 doesn't allow for the use of apostrophes etc. in street names then BS7666 clearly needs revising as it's just plain wrong ! I bet there are place names with punctuation going right back to the Domesday book.
N.B. I've not read the PDF as I'm not *that* interested.
This is clearly a case of an inept management/IT departments who can't escape/sanitise strings etc. Think I might actually write to them about thi
Re: (Score:2)
Spoiler, BS7666 doesn't mandate that they are not used. It uses the phrase 'alphanumeric' which implies that, but then goes on to define what it actually means by that.
D E T O X (Score:2)
... a problem familiar to CS -- removing troublesome characters from a database. Particularly the treed structures that comprise most filesystems. In Linux/BSD the utility `detox` was written and widely-available to do clean-up renaming.
Database problems? (Score:2)
Re: (Score:2)
Re: (Score:2)
Computers should work for humans ... (Score:2)
... and not the other way round.
Message to kids? (Score:1)
I like the woman quoted who's upset about the message this sends to kids regarding grammar and punctuation. She's not wrong. But more importantly, what about the message it sends to kids about CS?! That the world should bend to accommodate buggy, unsecure programming? Um, no... pass a law that mapping software should properly accommodate real place names. That's not a big ask; it was your job in the first place.
Wrong move (Score:2)
The better strategy is to create even more street names with these characters in them.
Wow (Score:2)
Since lots of morons nowadays can't spell and think apostrophes are the way to indicate a plural, this will hit hard.