A couple of years ago I was replacing old workstations for some developers. I noticed a lot of theme were using an application called WinSCP. Being the curious sort I checked it out and found a fabulous tool that I decided is well worth sharing.
WinSCP (Windows Secure CoPy) started out as a pet project by its developer and eventually blossomed into the open source application it is today. It basically creates an interface for Secure FTP (SFTP) in Windows but it also goes the extra step of integrating SSH functionality as well. You can use the native client or link your PuTTY client into the application to use your shell account. One of the nicest features is that you can save your login information in WinSCP so you can connect with the click of a button.
For me the biggest advantage of using WinSCP is that I can keep it open and when I have whole files to upload it’s right there, but if I need to make a simple tweak somewhere I can just pop open PuTTY and use VIM or EMACS to edit the file directly on the server.
Do you use WinSCP or something like it? Tell me what you think in the comments!
Finding colors for your web site’s color palette is tricky. Finding colors that work well together but present enough contrast to keep your content legible is tough. A great tool to help with this is Adobe Kuler.
Kuler is a great tool because it allows you to set a base color on a color wheel then select the color rule you’re looking for. Want an analogous color palette? No problem, Kuler will automatically select analogous colors based off your initial color choice. There are a half-dozen rules available to apply and if none of them work for you there’s also a “custom” option that allows you to create your own palette without applying any rules.
Perhaps my favorite feature of Kuler is the ability to create a palette based off of an image. Just click the camera icon on the upper right corner of the page, select your image, and let Kuler do the rest. This is really handy if you have an image like a logo or word-mark and you want to build a color palette around it and as if that wasn’t cool enough, Adobe also has a Kuler app for iOS devices (Sorry, no Android app as of yet) which allows you to snap a photo with your camera and use that image to create your palette.
Adobe Kuler is an indispensable tool for creating color palettes in my web pages. I don’t always follow the rules it sets, but view them as a guideline to start with before venturing off on my own. I suggest checking it out for yourself. I think you’ll love it as much as I do.
Do you use Kuler or some other similar service to create color palettes for the web? If so I’d love to hear your thoughts in the comments.
As I announced a couple of weeks ago, I am making the code for my Web Applications Architecture class available for use in your own projects. The code is a very basic blog but should serve as a nice starting platform to build on. I’m releasing it under the terms of the GNU Public License (http://www.gnu.org/copyleft/gpl.html) and you’re free to use and/or change the code however you wish. No attribution required, although if you do something really cool with it I’d love to hear about it. I only ask that you don’t mess with the main fork of the repository… I’d like to keep the base code pristine so everyone can play with it.
To check it out go to https://bitbucket.org/pdxchambers/blog
Developing software is generally a team effort. The challenge is how to allow multiple developers access to the same files without having them step all over each other. Version control systems address that exact issue. Using a system like Git or Mercurial allows an individual developer to “check out” a file and work on it without having to worry about someone else coming along and overwriting their changes.
Version control systems work by creating a central repository for all files in a given project. Typically an organization has one or more repositories set up on a server somewhere within the organization. But what if the software is an open source project worked on by thousands of people world-wide? Wouldn’t it be nice to have a repository that is accessible from the World Wide Web?
That’s where BitBucket.org comes in.
When you create a BitBucket account you can then create repositories that you can use remotely via Git or Mercurial. You have the power to make the repository public or private so you can control who has access to your project. This is a good way to allow collaboration on open source projects and BitBucket makes it simple to connect and clone your remote repository by providing you with all Git commands needed to make it work. All you need is a basic understanding of Git to get yourself up and running.
I’d never used a version control system before. I’m generally an independent developer. I don’t work in a team environment, so all of my code is my own. Now that I’ve used it I’m finding out just how valuable it is. If I make a mistake I can simply roll back to an earlier version of my code and start over.
Overall, BitBucket is a great service. It is relatively simple to use and provides a nice interface. While not as popular as Github, they do a great job and I, for one, am happy with the service.
Do you use BitBucket, Github, or another similar service? I’d love to hear your thoughts in the comments.
If you have a MySQL database, there’s a good chance you’ll want to administer it. You could use something like phpMyAdmin and for most users that would good enough, but if you’d like something a tad more robust I’d like to tell you about MySQL Workbench.
MySQL Workbench is a standalone application you can install on your workstation. Much like phpMyAdmin, it allows you to administer your databases but it does so much more than just that. MySQL workbench has the tools you’ll need to design, develop, and support your MySQL database. You can create ER models, then create relational databases based on those models. You can run SQL code against the database directly, or upload scripts to run it for you. You can browse through the database and peek into the contents of your tables all from one place.
I found MySQL Workbench a bit tricky to set up. Getting it to connect to my database took a bit of time and effort. The chief issue had to do with the way I had my home network configured, but once I figured it out I discovered the workbench really offered a lot of really nice features.
In the end, MySQL Workbench is a great tool for database administration and if you’re doing a lot of MySQL development I highly recommend it. However, if you’re just looking to do basic functions like adding users and modifying permissions to your database you may consider something simpler like phpMyAdmin.
Do you work with MySQL? If so, what is your preferred tool for administering your databases? Let me know in the comments!
You might have seen a lot of information in the news about the “Shellshock” Bash exploit that recently came to light. What may not be clear is why it’s such a big deal. You’re probably used to seeing information about exploits and bugs on Windows-based systems, but it’s relatively rare for issues of this size to pop up on Unix based systems. That’s one reason this is such big news, but the other reason is the sheer scope of the risk. Continue reading
Do you use JSFiddle or know of another great service similar to it? I’d love to hear about it in the comments!
I recently took a course on Web Application Architecture offered by the University of New Mexico via Coursera.org. Part of the course was to develop a very basic blog application using Ruby on Rails. The course just finished and is still in the grading process, but once it is fully completed I intend to make the source code for my blog application available for you to use free of charge under the GNU Public License (GPL). I expect the course to have completely finished and graded by tomorrow so I’ll have it available and will give a link to the source code in a future post.
Please note this is not a part of my SimpleCMS project, and is very basic in function. It does little more than allow one to add posts and comments. That said, I think it will serve as an excellent base for anyone who wants to play around with Rails.
When I started playing with WordPress I installed separate copies of Apache, PHP, and MySQL on my workstation. It wasn’t horrible, but configuring them so they worked harmoniously was a pain. I learned early on of a wonderful project called XAMPP which combines Apache, MySQL, PHP, and Perl in a single installation.
The great thing about XAMPP is that it works straight out of the box. Once you install it you can start using it right away, it’s already configured so the various components work together. If you need to further configure it the administrative panel makes it very easy to open and edit the various configuration files. You can even set things to run as a service so they’ll automatically start when you start the computer.
XAMPP is a development environment, so use caution using it in production. It comes with a minimal security set up, which is fine for development but dangerous in production. If you want to use it in a production environment you’ll need to harden it first.
Overall I really like XAMPP. It makes life a lot easier and I can spend more time coding and less time configuring my environment.
What do you think? Do you use XAMPP or something similar? Let me know in the comments!
A couple of weeks ago I talked about Aptana Studio and how wonderful it is as an alternative to Dreamweaver. Both applications are great for developing directly on your workstation, but wouldn’t it be nice to have an IDE that follows you everywhere you go?
Nitrous.io allows you to do just that.
Nitrous is one of the coolest cloud based services I’ve ever run across. What you get is a virtual Linux box configured with Rails, PHP, or some other development language. What makes it incredibly cool is the web-based IDE that you also get access to. The IDE connects to the file system of your virtual box, provides a text editor with context sensitive coloring, a command console allowing you to send commands directly to the shell, and much more. It is one of the most powerful and useful cloud based applications I’ve seen.
There are some limitations to the free account such as your virtual box will shut down if it sits idle too long, but I’ve not seen this as much of a drawback for what I’m doing. If you’re working on a project where this is unacceptable you can pay to upgrade the account. Virtual boxes don’t shut down for paid accounts. Another drawback is that you can only have one box on a free account. You’ll have to buy more “N2O” to create another, but again, I haven’t seen this as much of a problem.
Perhaps the biggest advantage to using Nitrous is Rails development on Windows. Most people will agree, installing Rails on Windows and getting it to work right is a real pain. With Nitrous you can do all your rails development right in the cloud. You can even use a Git repository if you want. Your virtual box comes pre-configured with everything you need.
I’m incredibly impressed with Nitrous, and now that I’ve used it awhile I’m very happy I found it. I still prefer to do my coding locally on my workstation but with Nitrous I can pull my repository and work on a project during my lunch break without installing anything on my work computer. That kind of flexibility is invaluable.
Do you use Nitrous.io or something similar? Share your experiences in the comments!