Git Status in Command Line
There are many tricks out there to get the git status to show in the command line path, but here’s one that worked the best for me on a Mac OS X Snow Leopard machine.
Continue reading this post…
There are many tricks out there to get the git status to show in the command line path, but here’s one that worked the best for me on a Mac OS X Snow Leopard machine.
Continue reading this post…
In addition to my full time work here at Botsko.net I’ve been teaching various web development courses with the local community college.
The courses are designed to teach the concepts as well as how to use them in a real world project, but for those looking for a career in freelancing, there’s a harsh transition from learning inside the safety of class to doing it for real. If you don’t yet have a portfolio, getting real work is difficult unless you donate your time.
I’ve considered offering some form of internship program for several years but the typical candidate can’t afford to spend time learning rather than earning.
I believe that the new Freelancer Education Program will be a perfect middle ground.
Throughout the year I’ll select a few interested students who are able to work part time on small projects that fit their area of study. These projects will come from real clients and will be perfect for giving the students an actual project to continue their education.
By using the established portfolio and skill sets of Botsko.net to attract the clients and guide the students on the projects, I’ll be allowing them to safely gain real world experience while ensuring that customers of Botsko.net receive a quality service and are pleased with the end result.
Customers may receive discounted rates for taking part in this program and the students will receive compensation for some of their time.
If you’re a student interested in this program, I’d like to see you in any of my next classes with Portland Community College so that I can get to know you better, and we can both determine what your goals are. You’ll need to have your own laptop and be able to spend some time at our Beaverton office for each project.
If you’re customer with a small project or portions of a larger project that you think might be a good fit for a student, please contact me. I’m initially seeking small work involving web design, HTML, CSS, JavaScript, and Wordpress. In the future we’ll also be seeking PHP work.
In the next few weeks I’ll likely announce the first student and I’ll be sure to keep writing about how the program is working out.
In a recent project I wanted to create a separate form for each record from a table using the form helper in CakePHP. After following the instructions found on the net I noticed that there was one big glaring problem.
Continue reading this post…
Git is an amazing source control system, and is even better when used with GitHub.com. Installing git on Mac is pretty simple.
Continue reading this post…
I was planning on getting a magic mouse for my office machine sometime in 2010, but my parents got one for me for the holidays. It finally arrived and I’ve had some time to play with it. Here are some briefs thoughts and comments.
Continue reading this post…
I’ve recently done some work with the Fastspring.com ecommerce website. It’s essentially similar to the flow of a paypal purchase – companies create pages with products and Fastspring acts as the checkout process doing the user information/payment processing work for you.
Continue reading this post…
I’m not really a fan of CakePHP, but I work with it often and understand it well. I recently had a project where a previous developer modified random cakephp library files directly, thus making it difficult for me to upgrade the framework.
Continue reading this post…
Today I release a new php caging class for improved security – Peregrine.
I’ve always been impressed by the idea of a “variable cage” in programming. It’s an additional method of protecting your incoming variables and making sure that you only accept what you’re expecting.
If you’re not familiar with a cage, think of it as a class that copies any (usually incoming) data into an object while destroying the original “unclean” data. At this point you must access this data through the “cage”, which provides a whole bunch of ways to filter out what you don’t want.
So an incoming variable (through a GET/POST request for example) may only need to be a integer. You may use a method that returns or checks for integers, and either removes non-integer characters or returns false.
This provides an excellent wall against any malicious attackers, and really helps you define data validation more accurately within your projects.
There are some others out there, and some are very good. However, none worked as well or were as cleanly coded as I would have liked, so I’ve been working on Peregrine.
It’s hosted at github so you’re welcome to fork it and contribute back any fixes or feature requests you would like.
To learn how to use it, please read the documentation provided with the code and look through the class itself.
Almost four years ago I launched MySquibbles.com – a community for parents and teachers to find and share links their children enjoy. It was a great idea and would have been extremely useful, but it failed for several reasons.
Primarily, it wasn’t enough to draw visitors. Parents tend to frequent sites that have parenting information from articles and advice, to links to great deals. Without offering that content as well, Squibbles wasn’t a place you would go because kids are not online that often until they’re older.
The other problem was that the average parent going online with their kids is a target audience that’s very difficult to market to. They typically only learn about things through other parents, school materials, or parenting magazines. Without any time to market or promote the website, it was left online only to serve as a good portfolio piece.
I’ve recently moved servers and during the transition, I made the decision to take the website offline. I’ve kept everything in the event that I want to restore it at some point, but for now it’s no longer needed.
When working with MySQL databases it’s often necessary to convert a regular field into one that refers to a second table using a foreign key. The process for this requires several steps:
This process can be time consuming if attempted manually. Luckily, MySQL 4.1+ allows for subqueries as well as the INSERT… SELECT… syntax.
Continue reading this post…