Skip to content

The Isoblog. Posts

Things you cannot say on Facebook, SQL Edition

Where I work, I am using an instance of Facebook at Work to communicate with colleagues. That is basically a grey-styled instance of Facebook which is supposed to run a forked codebase on isolated servers.

Today, it would not let me write the following SQL in Chat, in Facebook notes or comments:

Other versions of the error message complain about it being Spam, or mention the string sd.date as being problematic.

Why is that?

14 Comments

beep, patch and ed

So a few days ago, somebody found an exploit in beep – now CVE-2018-0492. beep is a program that is part of Debian (and Ubuntu) to have the PC speaker multiple times, at different frequencies, with different pauses and beep lengths. That works just fine.

It’s also SUID root.

There is zero code in it that deals with the fact that it may run privileged. The author confidently writes:

Leave a Comment

Paw is nice

Paw is a graphical curl with JSON decoder and a bunch of code generators.

Paw is a nice graphical curl with a JSON decoder and a bunch of code generators. If you want to test or explore a REST API, it’s really helpful.

So let’s autogenerate Grafana Dashboards from config data in a MySQL using Python now.

1 Comment

Hashes in Structures

In Hashes and their uses we have been talking about hash functions in general, and cryptographic hashes in particular. We wanted four things from cryptographic hashes:

  1. The hash should be fast to calculate on a large string of bytes.
  2. The hash is slow to reverse (i.e. only by trying all messages and checking each result).
  3. The hash is slow to find collisions for (i.e. it’s hard to find two input strings that have the same hash value).
  4. The hash does chaotically cascade changes (i.e. a single bit flip in the original message does flip many bits in the hash value).

With these things and general cryptography we can built three very versatile things that see many applications: Digital signatures, eternal logfiles (“blockchains”) and hash trees (“torrents”).

3 Comments

Hashes and their uses

A hash function is a function that maps a large number of arbitrary data types onto a smaller number of contiguous integers.

This simple hash function maps strings of arbitrary length to integers. Some strings are mapped to the same integer: a hash value collision.

The base set here is a number of strings of arbitrary length, which is a theoretically open ended set size. The target is a bounded number of integer values. It is thus inevitable that two strings exist which are mapped to the same target number, a hash value collision.

Hash functions are useful in computer science, and you have been using them in everyday life, or at least seen them:

  • as checksums
  • to quickly assign a position to an arbitrary object
  • or to create object identity from content.
Leave a Comment