“Lesser known CSS quirks & advanced tips” is a collection of some really weird CSS features and behaviors. These are good to know, as sometimes they can shed some light on strange results or help with implementation of a particular design feature, where no other options are applicable.
How does blockchain really work? I built an app to show you.
With all the latest hype around blockchain, I find this article useful, which explains how the technology works and provides an application that can be used to explore and learn blockchain. Pretty cool.
200 universities just launched 560 free online courses
200 universities just launched 560 free online courses – this is a somewhat dated blog post – from a few months back, but I’m pretty sure the number of universities and courses is only increases with time.
If you haven’t heard, universities around the world offering their courses online for free (or at-least partially free). These courses are collectively called as MOOCS or Massive Open Online Courses.
In the past six years or so, close to 800 universities have created more than 8,000 of these MOOCs. And I’ve been keeping track of these MOOCs the entire time over at Class Central, ever since they rose to prominence.
Have you tried Composer Scripts? You DO not need Phing.
“Have you tried Composer Scripts? You may not need Phing.” is a nice blog post showing how to use Composer scripts to solve simple build and deployment automation. There’s plenty of good advice in there.
However I have one issue with it. It’s the “You may not need Phing.” part. Irrelevant of your use of Composer scripts, you DON’T need Phing. Phing had its time. It was one of the first build and deployment tools for PHP and it was better than all the alternatives at the time (manual builds, custom shell scripts, or tools from other programming languages).
Those days are long gone and we have better tools now. If you are still using (or even considering using Phing), I beg you to look another way. Check out Deployer. Check out Robo.li. Check other alternatives. Don’t use Phing.
What’s wrong with Phing? Well, I can sum it up in one and one reason only. It’s XML-based. Yeah, that’s right. Phing routes come from Apache Ant, which is a very common build tool for the Java world. And Java world is full of XML.
In the year of 2018, we’ve figured out better ways. Both JSON and YAML are better alternatives to XML for both humans and machines. JSON and YAML are easier to read and generate.
Furthermore, even XML is not the most appropriate format for what Phing is working with. Sure, as long as you can stick with the basic configuration of existing tasks and options – it doesn’t make much difference. But at some point, you’ll need to extend and customize your build and deployment process. And you’ll eventually end up writing PHP code using XML syntax. And trust me, there is no fun in that at all.
Use PHP to write PHP code. Use PHP tools for your PHP projects. We have these now and they are great. At work we are using Robo.li very extensively and it works amazing! You don’t have to use it. Pick whatever works for you. But if Phing works for you, you’re probably doing something wrong.
Oh, and yes, Composer scripts are awesome too. Try them out, if you haven’t already.