It’s going to take me a few months to re-write the www.xkpasswd.net site so it uses the new XKPasswd 2 perl module. In the mean-time, thanks to the magic of Automator an OSX Services, Mac users can integrate XKPasswd 2 right into their OS with out very much effort at all.

This blog post is intended as a follow-on post to my earlier XKPasswd 2 beginners guide. This post assumes you have followed the installation instructions in the beginner’s guide to install the XKPasswd 2 module, that you followed along with that post and created a script that generates passwords in a format of your choice, and that you have tested that script to be sure it works. In this post I’ll be using the final example script from the beginner’s guide as my pre-written script.

Read more

Tagged with:

I’ve just released version two of the XKPasswd perl module, the module that powers the www.xkpasswd.net website. At the moment, only the module has been updated, not the website. It’s going to take me a few months to make all the changes I want to on that site. In the mean time you, can use the module directly. The prerequisites are that you have a computer with Perl and GIT installed, and a plain text editor (no difficult on Linux or Mac).

Read more

Tagged with:

It’s hard to believe, but it’s been nearly three years since I released my first attempt at a Perl library for generating secure memorable passwords. The original spark of inspiration came when Steve Gibson released and talked about his Password Haystacks page at around the same time as the now famous correct horse battery staple XKCD comic was released. Take the idea of using words as the basis for passwords from XKCD, add computers to introduce real randomness (we humans are terrible at being random), and season with come well-chosen and intuitively placed symbols and digits to increase the size of your haystack, and voila, passwords are are both human-friendly and secure!

The first version of the library worked, as evidenced by it’s years of service powering www.xkpasswd.net. That’s not a bad start. But, it was a first attempt at solving the problem, and, I was still a Perl padawan back then. Some of my early design decisions resulted in a less than ideal API making the library a lot less developer-friendly than it could have been, and I’ve learned a lot about Perl, and Perl best practices since 2011!

I’ve spent the past half year or so re-implementing the same basic idea from scratch. In terms of functionality very little has changed, there are a few additions, but the big change is in the API. Basically, the old API was a mess – you needed one config hashref to instantiate the object, then a different config hashref to call the password generation function. Nonsense! That’s not intuitive, not obvious, and not efficient! The new API allows you to achieve the same result with less code, and the code you will have will be easier to read and understand.

You’ll find the project page for the new library at the link below – this page provides links for downloading the code, and links to the module’s very detailed documentation.

XKPasswd 2 Project Page (http://bartb.ie/xkpasswd)

Read more

Tagged with:

The reason the Germans decided to violate Belgian neutrality was to give them access to France, and the reason Liège was their first major target was because that city’s railroads were a great way to quickly and efficiently move men and supplies from Germany into France. Today Liège is still an important railway city, with international trains calling at its magnificent new station. While much is still as it was in 1914, a lot has changed in the last 100 years all the same, enough that I thought it might be useful to create a Google Earth map showing what Liège’s railway infrastructure looked like in 1914.

Read more

Tagged with:

100 years ago today, my native Belgium was suffering as the Germans illegally invaded the country. Belgian neutrality had been guaranteed by the Treaty of London in 1830. Under that treaty, the Germans (the Prussians to be exact) had actually signed on to be guarantors of Belgian neutrality, along with the British. It was Germany’s invasion of Belgium that brought Britain into the war. Historians argue about the exact scale of German atrocities in Belgium, but there is no doubt that the invading army inflicted terrible suffering on Belgian civilians, including mass executions.

The first major battle of the campaign was centred on the ancient town and prince-bishopric of Liège in the north-east of the country. The Battle of Liège lasted from the 5th to the 16th of August 1914, and centred on the ring of 12 fortifications surrounding the town. Remains of all of these fortifications remain in the landscape, and can be clearly seen on satellite images. When reading about the battle I found myself wanting to better understand the geography of the region, and where the forts fit into the landscape, so I mapped their locations on Google Earth and saved them out as a KML file.

I’ve rendered the file in the map below, and you can also download it here.

 

Tagged with:

As described in a post earlier today, I have made some significant changes to this site. The short version is that I’ve started to use WordPress as a CMS (content management system). While the WordPress APIs provide a good range of functions for doing CMS-like things, the web interface is disappointingly lacking in even basic CMS features. Thankfully, WordPress’s plugin architecture has allowed the community to fill in the gaps.

Read more

Tagged with:

This site started life in the early 2000s as a pure blog powered by the Serendipity blogging engine and hosted on free shared hosting provided by MiNDS>, the IT society of Maynooth University, where I was a researcher in the Computer Science department at the time. The first big change came in the summer of 2006 when I moved the blog from MiNDS> to this domain. As well as moving the blog, I also moved my personal website, though the two remained separate entities which I had to mange separately. While moving the blog I took the opportunity to change blogging engines from Serendipity to WordPress. This was an early version of WordPress, so its evolution from blogging engine to content management system (or CMS) still had a long way to go (arguably it still does). As WordPress’s pages feature evolved, I eventually did away with the standalone site, adding just a handful of pages into WordPress. At that point WordPress became my entire website. It was a viable solution because I really just needed a few simple ‘about the stuff I do’ pages, and the blog.

This month, while preparing for the release of the new version of my XKPasswd open source library, I realised that I needed more from this site. While the blog is still important, and will continue to contain most of the information hosted on the site, it won’t be the view though which most of that information will be accessed. A reverse-chronological list of all posts on all topics is not actually an optimal way of presenting content! This site serves as the anchor of my online presence simple because this is the URL I give out when ever I’m asked where people can find me online. I sometimes wonder if podcast listeners aren’t starting to think that Busschots is just my middle name, and that from bartb.ie is actually my surname! This site has not been a particularly good home page, not because there isn’t useful content, but because it’s been ineffectively presented.

Read more

Tagged with:

As with everything in photography, there are an infinity of right ways of capturing that wonderful light you get just before and just after sunset. This is a description of the workflow I’ve settled on after much experimentation. It works for me, and it gives me shots with a look and feel that I like – largely realistic, but with a touch of artistic license to try capture the feel as well as the physicality of the light.

I put a lot of effort into processing my dusk shots, but, my aim is to end with a final product that doesn’t look like it’s been heavily processed. There are two reasons so much processing is needed on these kinds of shots:

  1. High Dynamic Range – Our eyes have a much greater dynamic range than our screens or a JPEG image can represent, and at dusk, the dynamic range is well beyond what a JPEG can represent, so what our eyes seen, and what you get straight out of a digital camera look very very different indeed.
  2. Mixed White Balance – Dusk scenes almost always involve mixed white balances across the scene. If you balance for the sky, the ground is usually wrong, if you balance for the ground, the sky will usually be wrong.

Shooting at dusk is all about dealing with these two problems.

Read more

Tagged with:

This post is part 19 of 39 in the series Taming the Terminal

In the previous two instalments (17 & 18) of this series we learned how to represent patters with regular expressions, or, to be more specific, with POSIX Extended Regular Expression (or EREs). We used the egrep command to test our regular expressions, but we didn’t discus the command itself in detail. Now that we understand regular expressions, it’s time to take a closer look at both egrep, and it’s older brother grep, both commands for filtering and searching text.

Read more

Tagged with:

This blog post is a companion document to two Chit Chat Across the Pond segments I will be recording with Allison Sheridan on the NosillaCast over the next two weeks. The first of the two shows is now out, and and can be found here. One the second show is out I’ll add that link in too.

In episode 474 when Allison was chatting with Donal Burr about Apple’s new Swift programming language said she didn’t understand what a compiler was, so I thought it might be fun to try address that! But rather than focus in on just that one very specific question, I thought it would be more useful to take a high-level look at computer programming in general, so that some of the conversations around various developer platforms will make more sense to the majority of NosillaCast listeners, who are non-programers.

Read more

« more recent postsolder posts »