Skip to main content

Resources and Tools

These are some of the resources and tools that I use regularly.

  • Mozilla Developer Network which is a documentation site which aims to centralize web development documentation for standard technologies.
  • For a basic code editor with advanced plugins available, I recommend Visual Studio Code. If you want a full Integrated Development Environment, then it's WebStorm that I personally use.
  • Open Courseware. This is an awesome initiative by higher-education to release their course materials and even recordings of the lectures online for free viewing. I recommend going through MIT's Introduction to Computer Science and Programming course to get started.
  • Here are some blogs and people that I follow
    • HTML5Rocks is an amazing resource for detailed blog posts on the technical aspects of HTML5 features. The why and how of the specs are discussed and what the best way to go about doing things is. An oldie but goodie here is How browsers work which is a must-read. 
    • Smashing Magazine is a great blog for design-related things. 
    • CSS Tricks is a great place to go for neat things that CSS can do for you. Also plenty of articles in the archives on not just what, but how and why on some of the CSS internals as well.
  • I recommend learning about IPv6, so here are some things for that.
    • IPv6 certification from Hurrican Electric is an awesome starting point. I still haven't finished this course myself, but many others have and it does give you a good basic understanding of v6 and how to implement it.
    • NewCircle Training recorded an excellent small talk followed by a Q&A on IPv6. It is titled Introduction to IPv6 on YouTube.
  • JavaScript (ECMAScript by the standard name) is the programming language of the web, so this is a must-learn for any programmers.
    • The Crockford on JavaScript series on YouTube is an awesome starting point, at least the first video is to get going.
    • Once that video is watched, read JS the Good Parts written by Douglas Crockford.
    • Now that the book is done, go finish the YouTube series Crockford on JavaScript from the first bullet point of this list.
    • Ok, so it has been a long few days for you, but those are done. Now pick up JavaScript the Definitive Guide and peruse it (Extra credit challenge, read it from cover to cover. No prizes given for completion except holy knowledge bestowed upon completer.)
  • Online code sharing tools are useful. Even more useful are the ones that let you run code.
    • If you want to share your creative side, look no further than Codepen. Chris Coyier (the myth behind CSS Tricks) is one of the authors of Codepen. It has a very nice community of designers and developers sharing their creativity (even some great mind-bender samples.)
  • Misc stuff:
    • Content Security Policy. This is an awesome technology that can help prevent XSS attack against your site, among other things. Probably the best reason to use this besides the defense from attacks, is it enforcing better coding styles. Since you need to remove all scripting and styling from your HTML. Knock out two birds with one stone today and look into enabling this on your site.
      • Mike West has a good talk on this topic. Slides are also on his site below the video.
      • HTML5 Rocks has a good introductory tutorial on the topic. Written by the aforementioned Mike West.

Popular posts from this blog

Laravel, Codio, and Nginx

I have recently come across a *sweet* online IDE, this would be Codio . Codio lets you develop in the cloud and run the code on an actual server. This way you can write your code and run it in the cloud, keeping your development environment universal and in my case safe-guarding against my own nonsense. While Codio does offer their own  documentation  on getting Laravel going, it uses Apache and MySQL. So here is getting going with Nginx, MariaDB, and PHP-FPM on Codio for Laravel development. Create your project Create a project just how you normally would, except select "Git" as the method for getting the base code into the workspace. This will give you an input where you can either put in an HTTP or SSH based git repository URL. If you are using SSH and you haven't setup the SSH key on your repository, it will prompt you to do so automatically with a key Codio generates. For now, I'm going to just use the standard HTTP URL for Laravel which is https://github.co

My PHP Wishlist

PHP Wishlist These are things that I think would help developers build better programs with far fewer lines of code. Simple enough? Let's get to it. Scalar Type Hints and a Strict Mode Currently one of the hottest RFCs in PHP history perhaps, Scalar Type Hints. This is a feature that allows developers to specify any type a given parameter should be. Currently PHP only supports object types and arrays for type hinting. This allows for string, integer, boolean, and the like.  However, nothing is simple in PHP. With this, some developers want conversion to happen if the wrong type is given (string to integer for example if '3' is passed in) while others want strict enforcing of types. The RFC has a middle-ground of loose typing by default like everything else in PHP, but the option to turn on a strict mode. My issue with the RFC is... The syntax is horrible for declaring strict mode. I was actually entirely for it up until a few days ago. I read a comment on

Form macros in Laravel

Form macros are a really cool part of Laravel. They are described in the documentation , but that doesn't show you exactly how to use them in your application. So here is how I do it. Load macros on the start of the application To register the macros if we follow the docs we simply need to do something like Form::macro('myField', function() { return '<input type="awesome" >'; }); But how do we get this to load when needed? My solutions is to simply have it load on the start of the application. I do this by making a folder in my app directory called "misc" which just holds files for different things that I have to startup this way. Inside of that folder I make a file called "form_macros.php". To load this file on startup, we are going to require it within app/start/global.php. Simply add require app_path() . 'misc/form_macros.php'; to the end of the global.php file. This will make sure that the form macros are