Code Oregon: Learn to Code, Find a Job

A couple of weeks ago a friend of mine sent me a link to a program sponsored by WorkSource Oregon called Code Oregon. The program is in partnership with TeamTreehouse.com and aims to teach people the skills necessary to land a job in technology, specifically in software or web development.

Getting into the program is pretty easy, just go to the Code Oregon website and sign up. You’ll need to go into one of the WorkSource Oregon centers to show photo ID (and in some areas offer I-9 documentation), but once you’ve done that you’re all set. The training is online through Team Treehouse, just pick a track you’re interested in and start earning badges.

The goal of the program is to help people find jobs, so if you’re looking for work or looking to change careers this is a great way to learn some new skills without the cost of college, plus you’ll get all the other resources available through WorkSource Oregon.

This program is only available to Oregon residents, but I suspect if the program is successful Treehouse will expand it to similar programs in other states.

Image courtesy http://www.morguefile.com

PowerShell ISE – Add a GUI to Powershell

First of all, Happy Halloween! I hope those of you out gathering tricks and/or treats have a safe, fun time! I was going to do a whole post on something Halloween related, but decided to settle for a “spooky” image, a “Happy Halloween”, and a topic I’m very excited about instead.

OK, really I just couldn’t think of anything that hadn’t already been done to death (no Halloween pun intended).

That said, earlier this month I took a week-long course on Troubleshooting and Maintaining Windows 8.1 (MS-20688, if you’re interested). The class was a lot of fun and while I didn’t discover much that was unique to Windows 8.1 I did learn a few tricks I had yet to learn in almost 15 years of professional IT work. One of those tricks was a little tool called PowerShell ISE.

Anyone who does any kind of heavy lifting in Windows has probably at least heard of Windows PowerShell. For those of you who haven’t,  think of it as a pumped up Windows Command Prompt. You can do some pretty amazing stuff in PowerShell. In fact, I could probably write several posts on all the neat things you can do with it and still not cover everything. That said, this post is about PowerShell ISE which adds a GUI layer over PowerShell.

The best way I can think to describe PowerShell ISE is that it is kind of like a simple IDE for PowerShell. At the top of the window is a text editor where you can enter or load a script or list of commands. The editor is smart enough to attempt to auto-complete the command you are trying to add. Once it displays the command you want you can either double-click on it or hit ENTER to add it to your list.  At the bottom of the window is a typical PowerShell prompt. You can either enter commands into it directly or run command from your list with either the “Run” button or the “Run Selected” button. The “Run” button will run everything in your script pane while the “Run Selected” button will just run the commands you have highlighted.

At this point I’ve barely scratched the surface on PowerShell (let alone PowerShell ISE), but already I can see the power of these tools even with my limited knowledge of what they can do. If you do any kind of windows administration and haven’t taken advantage of this tool I highly recommend you look into it. My only regret is that I didn’t look into it sooner.

So what about you? Are you a PowerShell guru or are you just learning about it? I’d love to hear your experiences in the comments!

 

Image courtesy of http://www.morguefile.com

WinSCP: FTP and SSH in One Client

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!

Color Palettes Made Easy With Adobe Kuler

EDIT (11/3/2014): Adobe has re-branded Kuler which is now known as Adobe Color.  Only the name has changed, all the same great resources still exist.


 

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.

BitBucket.org: Share Your Code… or not

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.

MySQL Workbench: Design and Administer your MySQL Database

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!

JSFiddle: Test and Tweak your Scripts Instantly

One of my favorite places on the web is JSFiddle.net. Its simple interface allows you to create and test your jQuery and JavaScript quickly and easily. All you have to do is create some basic HTML, style it, create your script and when you click “Run” you’ll see your results all in the same window. If you don’t like the results you can tweak things and click “Run” again to see how your changes impact the results.

If you’re just learning jQuery or JavaScript, JSFiddle is a great way to play with the language and get instant results. If you create an account you can save your “Fiddles” and share them with others. One drawback I’ve found is there is no obvious way to make your fiddles private, if you save a fiddle it will be publicly available on your profile. Other than that I have no complaints, and it really isn’t a very large complaint because I actually don’t mind sharing.

Do you use JSFiddle or know of another great service similar to it? I’d love to hear about it in the comments!

 

Announcement: Learn Ruby on Rails with my Basic Blog

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.

XAMPP: Maximum Productivity, Minimal Setup

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!

Nitrous.io: Develop in the Cloud

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! 

Design, Develop, Inspire!