Let’s Talk About: Coercive Software Design

We become developers with the understanding that our mission with the software we create is to meet the needs of users. But what happens when the software we create is being used to change or coerce the behaviour of users, rather than help them work, play and behave the way they want to? What are the ethical considerations of developing software that tries to manipulate users? Where does the profit-driven motivation go too far?

Coercive: using force to persuade people to do things that they are unwilling to do. (Cambridge Dictionary)

Continue reading “Let’s Talk About: Coercive Software Design”

Board Games For Couples & Families

I’ve had a number of people ask me for board game recommendations for couples, families or friends who want to have fun while trapped in the house. My husband and I have a growing collection and a very specific focus on co-operative and indirectly-competitive board games. Here’s a quick write-up and details of our favourites.

Disclaimer – husband & I run on the nerdy side so many of these are not mainstream at all.

Continue reading “Board Games For Couples & Families”

Combating Phone Addiction: Try, Fail & Try Again

Let me preface this by saying that this post discusses my own experiences and observations in my life. Your perspective may vary, and what works for me or is a problem for me, may not be so in your life. That’s ok, we’re all different and awesome.

My husband and I are on round 4 (ish) of our attempts to renew our resolutions to find a healthier balance of our phone and online use. As a web developer it’s tempting to almost live online, but at least for us, that’s a fast track to unhappiness. Luckily it hasn’t been an extreme problem- it hasn’t interfered with our careers or parenting or physical health. But there have definitely been some concequences of too much phone use.

Continue reading “Combating Phone Addiction: Try, Fail & Try Again”

Legacy PHP Application: PHP Code Sniffer Compatibility Standard

Part 1 of this series covers a tour of my 14+ year old legacy CMS called LampLight and it continues with my use of command line code analysis tools to migrate it from PHP v 5.6 to 7.3. In this part I’ll use PHP_CodeSniffer to check my applications compatibility with PHP v 7.3 and beyond.

Let’s not fuss around, and instead dive right into the meat of this post. At the root of my project I run:

phpcs --standard=PHPCompatibility --extensions=php,inc,lib -s --runtime-set testVersion 7.3- .
Continue reading “Legacy PHP Application: PHP Code Sniffer Compatibility Standard”

Legacy PHP Application: PHP CS Fixer & PHP Code Sniffer for PSR1 & PSR2

Part 1 of this series covers a tour of my 14+ year old legacy CMS called LampLight and it continues with my use of command line code analysis tools to migrate it from PHP v 5.6 to 7.3. In this part we’ll continue to use PHP CS Fixer to clean up the code, and will then move on to use PHP Code Sniffer for even more tidying.

My last few uses of PHP Coding Standards Fixer, are to check for PSR1 and PSR2 compliance. These PSRs cover a baseline of code style conventions common among PHP projects.

Continue reading “Legacy PHP Application: PHP CS Fixer & PHP Code Sniffer for PSR1 & PSR2”

Legacy PHP Application: Code Analysis With PHP CS Fixer

In part one of this series we took a tour into my 14+ year old legacy CMS called LampLight. It’s an oldie but a goodie and it needs some love because it’s still in use by a couple clients and myself. We are migrating it from PHP v 5.6 to 7.3. In this part we’ll use PHP CS Fixer to identify problems and clean things up.

PHP Short Tags and Closing Tags

Talk has been cheap for some time regarding the deprecation of the short opening tag <? for PHP, and its removal has had a few false starts. Finally, a PSR for this change has passed and it will officially be deprecated in v 7.4.

We also want to eliminate the closing PHP tag in files that contain only PHP. These two issues are quite straightforward, so let’s use these as an easy dip-of-the-toe into using command line code analysis tools to have a look at our code. We can even use these tools to make the changes for us.

Continue reading “Legacy PHP Application: Code Analysis With PHP CS Fixer”

Legacy PHP Application Tour & Upgrade

The process of migrating my applications from PHP 5.6 -> 7.3 has been a long one – mainly due to limited time to work on it, and additional tasks being added to the migration list. But I’ve finally made it through the low hanging fruit of easy client sites and am now migrating the first project with a significant amount of back end PHP code. In this case, it’s a legacy CMS I wrote 14+ years ago called LampLight Content Manager.

Continue reading “Legacy PHP Application Tour & Upgrade”

Decision Time: PHP Framework Dilemma

My freelance business has grown, and reached a critical decision point for my future development. I’ve been puzzling over this for a while – why not puzzle it out in public!?

I need to pick a PHP framework. Or maybe not pick one. But my dilemma is kind of unusual. I’d love the opinions of other experienced PHP devs! But hear me out, my situation is a bit unique.

Continue reading “Decision Time: PHP Framework Dilemma”

Migrating Mercurial Repos To Git

In August 2019, BitBucket – a popular cloud source code hosting and project management service run by Atlassian – announced that it was dropping support for Mercurial repositories. Mercurial is a distributed source control management tool similar to, but less popular than Git.

This move isn’t surprising. Mercurial has lost the popularity war with Git and BitBucket claims that less than 1% of new repositories on their service use Mercurial. The surprising thing is that BitBucket announced that they are deleting Mercurial repositories from their service as of June 2020. Leaving developers and companies who use Mercurial with less than one year to migrate.

This move by BitBucket seems inevitable, but the timeline and hard-deletion that BitBucket is giving their loyal customers seems harsh. For me, I have around 25 projects that need to be migrated.

Here’s how to do so, in a few easy steps!

Continue reading “Migrating Mercurial Repos To Git”