PHP Town Hall: Code of Conduct
The other week I wrote an article called Why is Everyone Outraged?, where I explained how the media often manufactures outrage, making it seem worse out there than it really is. This outrage narrative leads some people to think the world is being taken over by evil SJWs, whilst that is generally not at all the case.
Why Is Everyone Outraged?
There have been about twenty articles I want to write about equality in tech, and they all end up crossing over into one big mess. I'm going to start unpicking these articles into a series, and I want to start by asking this question.
Made in Production II: Learning and Improving
Made in Production has been something that my BFF Zack and I have been working on for a while. We had the idea to start selling super-niche programming t-shirts in 2013, we finally got the store up and running on some janky Python in 2014, then shut it down after a few months due to a slew of unforeseen problems. Now the site is back and better than ever, and I thought I'd tell you lot a story.
HTTP/REST API File Uploads
File uploads are one thing that always feel rather complicated, and working out how to handle this in an API doesn't make life easier. For many programmers, this has been abstracted away behind the HTTP standard, HTML and convenient features in languages like PHP, that populate a $_FILES array for us to play with. This is not really how it works for an API.
Deploying with Git-Flow, Tags and CircleCI
Want an integrated deployment process that sends tags off to the right environment (QA or Production) automatically as soon as they're pushed to Git? Read on!
HTTP Documentation with API Blueprint
When planning my talk and book on REST/HTTP API development, I ended up mentioning documentation towards the end, and flippantly said "Oh and API Blueprint is pretty good probably just use that." This is something I'd love to fix with a time machine, as these days I spec out an API in API Blueprint before I get anywhere near the code.
Everyones Favourite Twitter Characters
Regularly, I make a general piece of advice, and the types of responses are pretty similar regardless of the actual conversation.
HTTP Status Codes Are Not Enough
Don't be fooled into thinking you can use HTTP status codes on their own. You need to supplement them using error messages, with maybe some specific error codes of your own and links to documentation explaining what the problem is.
Auto-Incrementing IDs: Giving your Data Away
Something we're always taught as developers, usually by tutorials or via the defaults in various ORM tools, is every SQL table needs an auto-incrementing ID. This is a weirdly common fallacy, enforced by old tutorials, new tutorials and half-arsed tooling in various forms. Why are auto-incrementing IDs a problem? Because it means people can download your database.
No Booze for a Month
In 5 weeks I'll be riding my bike a really long way to raise money for charity. Sadly, as I ride bikes all the time, not so many people are interested in forking out. Luckily, I have a plan!