Testing code is important, but can often feel like a burden or task, especially if you have strict deadlines. It doesn’t help if your unsure about what tools to use to implement testing on new parts of a project.
PHPUnit is the gold standard framework for testing PHP projects and there are many testing platforms that work directly with it. While it’s perfect for writing small, composable unit tests it can also work perfectly for integration and functional tests.
Setting email in git commit When you first set up a new dev environment, you’ll want to set the name and email you use for Git commits. The easy way to do this is with two commands:
git config --global user.name "Adam O'Grady" git config --global user.email "email@example.com" This means all future commits in this dev environment will use that name and email address combination.
In some cases you may want to use different details for a particular repo.
Readability, followed by consistency.
The Eternal Arguments Tabs vs spaces Braces on same line or next line camelCase or snake_case variables These are just a few of the positions at the centre of ideological arguments in developer communities that run the gamut of friendly banter to vitriolic ALL CAPS flamewars. Each side has it’s merits and can present solid arguments for it’s use. But all these debates do is cloud the actually important factors behind coding standards.
We all have those personal learning projects that inspire pride in us. Many are our own takes on existing frameworks and tools such as content management systems, math libraries, billing systems, layout frameworks, game engines, etc. Attempting such projects is a vital part of learning to code, picking up new languages or approaching new ways of thinking. I’d be remiss not to encourage people to take on such tasks as a method of improving their skills and a liar if I said I hadn’t done it hundreds of times over myself.
We’ve all heard the term, we’ve all seen spiels about it’s importance, but we also have so many excuses why not to do it. The place I’m currently working at ran into two of the most common reasons I’ve seen and here I document how we overcame them for the benefit of anyone who thinks code review might help (hint: it will) but feels they can’t justify it.
No proper tools Whether the answer is no budget for Crucible or not enough time to set up Phabricator, this is an incredibly common cop out.
For a recent project I realised I would love to be able to set up webhooks for repositories I watch (and don’t administer). So to overcome that I’ve created a Node.js script, WatchedWebhook.
You pass it a GitHub username as a command line argument and it polls the “public received events” feed (including your watched repositories). Any new events that match the event type and repository of rules you specify (in rules.
Woo, finally a new post and a pretty decent occasion to make one, I’ve released a new project! ChernoBravoBB is minimalist forum software designed for ease of access, navigation and utilisation by it’s denizens and carrying an ethos of openness, transparency and pseudonymity. You can check it out on my GitLab where I’m currently hosting the project (might duplicate it to GitHub soon).
It’s based on Node.js with MongoDB backing, utilising the ExpressJS framework (with LocomotiveJS providing better MVC capability) with Jade templating for the views.
I’ve been wanting to redo my personal site for some time and desired something a bit more involved then a one-pager with my contact details. I was also starting to suspect that my Google search results may be taking a hit since I hosted two of my blogs on subdomains of http://adamogrady.id.au and the similarities in topic, authors, etc might appear spammy to the Google algorithm.
Rather than look towards the high-tech side, I was eventually swayed into trying out a static site generator given their current popularity.
On the weekend past I decided to see if I could build a small project I had in mind and get it into production on the World Wide Web before I started at my new job. I decided to try building a journal system that reminds you to update on a daily basis by sending you a nightly email with a link to the latest entry for that day. I ended up getting it working in a very basic format (with user accounts/authentication) which I uploaded to some hosting I have through Digital Ocean.