Window Tax and the Long S

This should have been two topics, but I just went with it.

  1. Window Tax
  2. The Long S

Window Tax

I happened across a YouTube video of an old house built in the UK. It looks as though the building was either of Georgian or Victorian periods, but upon going through the building, it’s likely that it was built in the late 1600’s given the bricking of several windows to avoid the Window Tax that existed in the UK between 1696 and 1851.

Everything is remarkable about this house from the limecrete floors through to the large beams throughout the house, as well as the utilisation of all space in the roof area. Not to forget the old doors. The YouTuber in this video is very fascinated by the doors. There’s a good reason to be when you consider they’re 400 plus years old.

If you haven’t followed the Window Tax link above, a brief history is outlined here:

  • Coin Clipping was a major problem in the 1600’s where it was considered high treason and punishable by death.
  • As a counter measure to coin clipping, King William III introduced a Window Tax in 1696.
  • To get around the tax many premises boarded up windows.
  • It was a varying rate depending on how many windows the premises had.
  • It was repealed in 1851 after pressure from doctors and others who argued that lack of light was a source of ill health.
  • The same tax was imposed in France in 1798 and only repealed in 1926!
  • The tax was designed to “tax the relative prosperity of the taxpayer, but without the controversy that surrounded the idea of income tax” (wiki).

The Long S

A couple of other side notes from this are detailed in the tax receipt below (click for a larger version):

I am reminded of a conversation I had with my grandmother many decades ago, we were talking about currency and she asked me “What does L.S.D. stand for?” I don’t think I had an idea of the drug at the time, but she continued with, “Pounds, shillings, and pence.” The abbreviation can be seen to the right of the receipt.

I am also reminded of some very early (pre Sydney Morning Herald) Sydney Gazette archival books we had at our school library in the 1980s. I remember reading though them being amazed at the language, but especially the type.

This one took some searching because I had mistakenly thought I was looking for archival Sydney Morning Herald material. It turns out I was looking for material from the Sydney Gazette. The first publication in Australia, running from 1803 to 1842. It was the official paper of the New South Wales government. Under the editorship of Robert Howe in 1824, it ceased to be censored by the colonial government. (This is pre-federation of the states in 1901).

When a non-capital ‘s’ was present in a word, not being the last letter, it was typed as a form of ‘f’.  The exact character varies according to being normalised or italics or even handwritten, but several forms are exhibited below. In normal text is appears as an “f” without the cross bar: “ſ”. In italics, it appeared more like the integral character of mathematics: “∫”

Examples: “ſinfulneſs” for “sinfulness” and “ſucceſsful” for “successful”.

It wasn’t until many years later with the advent of the internet, I found this to be what is known as the “Long S“, or in more modern times, the “short”, “terminal” or “round” s.

Here is the first page of the Sydney Gazette:

Some other examples from the Sydney Gazette and elsewhere from the Internet:

 

MQTT, OpenHAB2, sonoff and home automation

I found out about sonoff about a year ago but never purchased any for quite some time, and then when I did purchase them, they’ve been sitting in the drawer gathering dust. Due to the recent flurry of activity about them on youtube and the internet at large, I’ve been prompted to take a closer look at them and they are VERY impressive!

SmartHouse—Jonathan Oxer

Jon has a few videos dedicated to the sonoff devices, and these are very good if you don’t know what they are. And even if you do know what they are, there’s still some good information in his videos. He is a wealth of knowledge on more than just the sonoff devices with general electrical engineering as it relates to home automation.

I would recommend having a look at this video and then paying a visit to his website:

SuperHouse Episodes

Matt Kaczynski—MK-SmartHouse

I haven’t seen many of the videos on this channel as of yet, but Matt is using a lot of the technology and ideas that I have. For example, he uses OpenHAB2, sonoff devices and is integrating these with the likes of Siri and Alexa to create a custom home automation experience.

This video is an introduction to his setup. It wasn’t until the later half of the video that I realised he uses OpenHAB, something that I have already begun to introduce to my home.

After watching the video I visited his website and found the connections I have been looking for, namely MQTT, and OpenHAB. He has recently revamped his website and it has several guides and general information on his methodologies regarding home automation.

https://www.mksmarthouse.com/guides

Stop by and visit his channel here:

https://www.youtube.com/channel/UC1WPn_mBd7eDmz7lMSXR5bA/videos

Bruh Automation

https://www.youtube.com/channel/UCLecVrux63S6aYiErxdiy4w

I have been following a few of the Bruh youtube channel videos as he’s incorporated modern technology into his home automation. However, he uses an opposing technology to what I have setup. It’s like comparing Holdens and Fords, or Republicans or Democrats. It’s largely personal preference, setup and features. I use OpenHAB where Bruh uses Home Assistant.

There’s nothing wrong with home assistant, it’s just that I’d spent a bit of time setting OpenHAB up and it works on older devices (such as the original iPad running iOS 5.1.1) which Home Assistant does not.

Still, his channel includes some good videos on the subject and I do recommend a visit to his channel.

how to navigate an intersection

Lawlessness on the roads

I have long come to realise that Australia is a nanny state of rules and regulations. There’s a rule for just about everything, and I’m starting to realise this is beginning to hamper us when in reality these sort of things should be making our lives better. Safer.

After having spent a lot of time in Thailand and using Thai roads and the lawlessness that apparently goes with driving in Thailand, you can come to both appreciate the rules we have on one hand, but despise them at the same time.

There are times where (especially in the middle of the night) where you can seemingly spend an eternity at a set of traffic lights for no apparent reason. I have a set of traffic lights at the end of my street, and I have to admit, they are pretty speedy on letting traffic out of our street. You only have to stop there for a moment and the lights begin to change. This appears to be the case even if it has only just turned red. The wait is never very long.

Yet there are traffic lights where they seemingly take forever. What’s with that?

Why are there stop signs for turning left on roads where you can see the approaching traffic for half a kilometre?

Why are there red arrows against turning right when there’s no approaching traffic at all? This one can be especially infuriating.

Paris Traffic

I remember seeing a photograph of a classic Parisian roundabout when I was at school, and I remember thinking “How do they do it? It’s chaos! How does anyone not get killed?”

As a kid I couldn’t see it. As a young adult I couldn’t see it either. Our lives are built around a network of safety measures and molly coddling. Rules and regulations designed to give us a “right of way” and a feeling of security as well as entitlement.

It’s this entitlement that breeds complacency on the roads. A righteousness that forgoes common sense. Road rage built around “he just cut me off,” or “I have the right of way!”

But what if we took that entitlement away? What would happen then?

People speed through intersections because they feel “safe” in the knowledge that other traffic should be giving way to them. But what if other traffic didn’t have to give way?

What if we took away the very things that apparently made our roads safer?

One of my favourite presenters, “99% invisible” teams up with Vox and illustrate just how it’s done elsewhere and removes some of the “molly coddling.”

The originality of your design, depends on the obscurity of your source

The originality of your design, depends on the obscurity of your source

Unknown

I don’t know where I originally found this, I had just come back to edit it and add a citation after updating my theme. In doing a search for this quote I only found references to it from my site. I can assure you I didn’t come up with it :)

DST

Daylight Saving Time

According to this server

Sat, 23rd Feb 2019, 00:33:10 AEDT Australia/Sydney (1550842390)
This timezone is currently in daylight saving time.
Daylight saving time began on: Sun, 7th Oct 2018, 03:00:00 AEDT
Standard time begins on: Sun, 7th Apr 2019, 03:00:00 AEST
In Sun days, on Sunday morning at 02:00:00 (2:00 AM), the clocks need to be put forward 60 minutes.

I have always thought there would have to be a programatic way of determining when daylight saving started and finished. I know that it’s an arbitrary date and it’s subject to change, but I knew there would be a way to somehow look it up.

I’ve been looking for this before and never really came across anything and even when looking at the date/time functions in php, and even though gettimezone retrieves the current timezone (including whether or not DST is currently in force or not), it didn’t do much to solve the “when does it start next” problem.

Then one day I was playing in the backend of a website and I noticed there was two lines of text under the timezone information that was intriguing:

DST Info

I opened up the trust text editor and went fishing inside the server.

Now, I’m pretty sure I’ve seen timezone_transitions_get before, but for whatever reason, something never clicked. It’s EXACTLY what I was looking for!

In the DateTimeClass there are a myriad of functions to do with what the offset from UTC is, what effect DST has on the timezone, is it in effect now, amongst others; including get_transitions. This returns all the DST transitions for the time zone, past and future.

The only caveat here is your version of php would have to be reasonably up-to-date in the event that a local government changes when DST will start and finish. and although that probably wouldn’t be too often, it’s something that still must be considered.

This snippet I’ve created here isn’t perfect, it’s just bits and pieces cobbled together and it does need a good cleaning out. However, I’ve included it here and it’s available to you if you’d like to use it under the MIT license.

add_shortcode('DST_Info', 'mad_dst_info');

function mad_dst_info(){
$r = "
<style>
table {
  border-collapse: collapse;
}
td {
  text-align:center;
  padding:10px;
  border: 2px solid black;
}
</style> \n"  ;


$day    = 1;
$month  = 1;
$year   = 2018;

$time = mktime(12,0,0,$month,$day,$year);

$time = gettimeofday(time(),true);
  
function _t1($arg) {
 return "  <tr><td colspan='2'> $arg </td></tr>\n";
}
function _t2($arg1, $arg2) {
 return "  <tr><td> $arg1 </td><td> $arg2 </td></tr>\n";
}

$my_format="D, jS M Y, H:i:s T ";

$current_offset = timezone_offset_get();
$tzstring = ini_get('date.timezone');
$tzstring = "Australia/Sydney";
date_default_timezone_set($tzstring);

$r .= "<table>";
	$r .= _t1("<h2>According to this server</h2>");
	$r .= _t2( date($my_format, time()) , "$tzstring (".time().")");

	$check_zone_info = true;

    // Set TZ so localtime works.
    date_default_timezone_set($tzstring);
    $now = localtime(time(),true); /////////////////////////////time(), true);
    if ( $now['tm_isdst'] ){
		$r .= _t1("This timezone is currently in daylight saving time.");
    } else {
		$r .= _t1("This timezone is currently in standard time.");
    }
    $allowed_zones = timezone_identifiers_list();

    if ( in_array( $tzstring, $allowed_zones) ) {
      $found = false;
      $date_time_zone_selected = new DateTimeZone($tzstring);
      $tz_offset = timezone_offset_get($date_time_zone_selected, date_create());
      $right_now = time(); /////////////////////////////////////////////time();
      foreach ( timezone_transitions_get($date_time_zone_selected) as $tr) {
        if ( $tr['ts'] > $right_now ) {
            $found = true;

          break;
        }
        $tr_old = $tr;
      }

      if ( $found && $tr['offset'] != "UTC") {

        $message = $tr_old['isdst'] ? 'Daylight saving time began on: ' : 'Standard time began on: ';
          $r .= _t2( "  $message ",date($my_format , $tr_old['ts'] + ( $tz_offset - $tr_old['offset'] )));

        $message = $tr['isdst'] ? 'Daylight saving time begins on: ' : 'Standard time begins on: ';
          $r .= _t2( "  $message ",date($my_format , $tr['ts'] + ( $tz_offset - $tr['offset'] )));
		
		$damxdaystogo = date("D" , $tr['ts']);
		$damdayofweek = date("l" , $tr['ts']);
		$damtimeofday = date("H:i:s (g:i A)" , $tr['ts']);
		$damadjustment = ($tz_offset - $tr['offset'])/60 ;
		$dambackforward = ($damadjustment < 0) ? "back" : "forward";
		$message = "In $damxdaystogo days, on $damdayofweek morning at $damtimeofday, the clocks need to be put <em>$dambackforward</em> $damadjustment minutes.";
		  $r .= _t1( "  $message ");
		
		
      } else {
        $r .= _t1( 'This timezone does not observe daylight saving time.' );
      }
    }

    // Set back to UTC.
    date_default_timezone_set('UTC');
    date_default_timezone_set($tzstring);
	$r .=    "</table>";
  return $r;
}

You may notice several things:

  • the screenshot above is taken from the backend of WordPress 
  • that information in the backend of WordPress is actually incorrect (DST doesn’t begin at 1am for that timezone)
  • the code itself creates a shortcode for displaying the data
  • the code is the actual code used by this site
  • I have attempted to correct the the DST conversion that WordPress has in it, but I haven’t got it quite figured out (just yet)

Anyway, it’s a work in progress.

Tooth be told

I’ve never had a tooth out before.

In fact, it’s been over 25 years since I’ve even been to the dentist!

Not because my teeth are great or anything. Truth be told, they’re quite in need of some work. But after a couple of weeks of intense facial pain that has caused endless sleepless nights, I went and had the tooth taken out.

I’ve jumped out of aeroplanes, and broken my leg… but nothing prepares you for the fear and adrenaline of a dental visit

I saw the dentist last week and was given the option: root canal over 2-3 visits totalling ~$1500 plus a required crown at some point (about the same price again), or pull the bugger out in one visit for a couple of hundred.

Not that finances play a big part in the decision (although it does help), the decision was almost made for me. The torture of 3+ dental visits vs 1 and the jobs done.

It’s a no brainer.

I’ve just got home. I still can’t talk properly. My mouth, jaw and gum feel like they’re as big as a tennis ball. I feel like I’m drooling all over the place and keep wiping non existent blood and saliva from my bottom lip while at the same time try and wet my teeth because my mouth feels so dry. It’s a flurry of mixed emotions.

I’ve jumped out of aeroplanes, I’ve broken my leg jumping off mountains, I’ve even been in some pretty life threatening situations, but nothing prepares you for the fear and adrenaline of a dental visit.

As he’s inserting the needle I realised my head is pushed back into the headrest with so much force that my neck was tensing up. My hands were clenched on my stomach squeezing my phone so hard that I felt Apple phones may not be as strong as we think they are.

And that needle! Oh My GOD! How far in does that go?

It never seemed to stop. Any further and I’m sure it was going to come out the other side.

It was funny to watch someone grab a huge set of pliers (ok, he called them forceps) and start pulling at the tooth. Wiggling it this way and that, around and round in large circular motions, I’m just waiting for the inevitable THWANG (my effort to literally relate the sound of an electric pulse/shock zapping down my body).

He paused and went back for round 2 but after another minute or two he came to the conclusion that it was going to have to be split. If I could have spoken I would have asked, “c’mon doc, give it one more go!” But I just bit down and started doing mental back-flips as he wound up that drill and the sound paralysed me.

Even now an hour later I’m still visibly shaken. My pulse is racing and I feel a headache coming on that I know isn’t real, it’s just that I’d built myself up to expect so much pain, to have come out unscathed is such a relief. (Yes, the anaesthetic hasn’t worn off yet. I’m not looking forward to this)…

✧ ✧ ✧ ✧ ✧

And now three hours later the pain has kicked in. It’s more of an uncomfortableness, that exacerbated by paper-cuts of the mouth. What feels oddly more sore than the gap in the gums are the locations where the needle broke the surface of the gum and how he did the dance around the nerve area.

I’m continually salivating and feeling more and more queezy at the thought of all that blood and saliva congealing around the gause. I’ve changed it out numerous times. Bigger ones, smaller ones. I’ve determined smaller is better (they hold less saliva).

Time for some pain killers.

virtualmin settins for php

php file upload limit in virtualmin

upload_max_filesize exceeded in php.ini

I can never find this setting. Everytime I create a wordpress development server I end up having trouble finding it.

There use to be a setting in WordPress itself, and if that is there, you’ll have to update that.

I use Apache and PHP on a linux server which I usually administer via virtualmin/webmin (highly recommended). But it can often take me a moment or two to find exactly where I need to be for some features.

Maximum file upload size is one of those and the setting lies as follows:

Go to virtualmin and select the virtual server you wish to edit.

Scroll down to Services and select PHP Configuration and then Resource Limits and change as appropriate.

Save and you’re done! There is no need to reload anything.

You could choose to edit the setting directly in php.ini located in /etc/php/x.x/apache2.