Debunking the myth there are only 2 hard problems in computer science

By Robert MacLean

Elevator Pitch

As the joke goes, there are only 2 hard problems in computer science: naming, cache invalidation and an off by one error. They are wrong.

Join Robert as he shares practical insights into the only real hard problem… dealing with the real world!

Description

As the joke goes, there are only 2 hard problems in computer science: naming, cache invalidation and an off by one error.

I don’t know who these computer science people are, but they clearly have never worked with real companies. The real hard problem as a developer? The real world and how computers just can’t grok it.

Join Robert as he shares some real world hard problems in an entertaining way and get armed with information on what you didn’t even know to look for and how to make your companies software even better by catching these hard to know traps.

As an example of what you can expect, here is one thing you can’t code around: Geopolitics! No.. this isn’t a computer asking about playing a nice game checkers after a few days of playing thermonuclear war. Why does this matter to software? Well maybe you wanted to have a map in your software like this cool one, where you can click to set the country for the timezone for your OS of choice
Windows 95 Timezone selector

This seems like a useful feature for users, well, except until war. In this story, it is the Cenepa War where Peru was at war with Ecuador and one of the government complained to Microsoft that the border was wrong… because they had just taken the land. Microsoft issues a patch… to be met with the other government complaining and telling them to put it back 😥

Microsoft decided to remove this feature to click in future OSs for this reason, but was there a better way? No, politics is too hard for me to solve but the other items we will cover, including names, sensors, countries, date and time, strings, and currency and numbers, will have practical guidance you can take away!

Notes

More detail

Computer science misses the real hard problem, the real world.

The talk looks at a variety of issues and for each provides some fun interaction on the problem and looks are real-world solutions. Attendees will walk away with a deeper knowledge of the world around them and how to develop for it. Topics covered in the talk include:
- Dealing with sensors: As the start, it is a fun little section which looks at what you didn’t know about GPS and body temperature how it could kill you.
- Names, no not variables, like actual human names and first name and surname, aren’t going to cut it (plus tangents into what is the difference between last name and surname!)
- Dates and times! Physics says time only goes forward. You computers clock goes one way. The real world? Yup, it goes backwards sometimes.
- Strings… you just can’t trust them. We touch on the depth of crazy problems that can come from them, like the time a single emoji took down an unnamed AWS
service. - Currency and numbers. A personal favourite of Robert, who lives in South Africa, which has an official currency format and a totally different one that everyone uses. Also included here is the time Microsoft fixed their incorrect number format in Windows and broken everyone’s SharePoint server.

Why am I the best to present this?

I have practical experience in this space, from being the number one hit for South African ID Numbers on Google when I was trying to explain that the unique identifier for people isn’t unique over a decade ago to my current challenges in Fintech where I sit with legal and try to explain why the cookie popup they have isn’t going to save them. I’ve built systems and grown from the childish “this is the right way - fight me” approach to “you know, I just want to go home and cuddle my dogs (Chakalaka and Michelle Pfeiffer)… have it any way you want…”, so now I know what it should be and what to do anyway, cause practicality and puppies are the best things.