Wednesday, September 26, 2012

Toolbox: Notepad++

Notepad++ is a program I've used a lot lately, both at home on personal projects as well as in professional work. Major features include tabs for all of your files that persist between sessions, a session manager that saves your tabs so you can switch between projects easily, syntax highlighting for quite a large number of languages, a macro system, an extensive plugin capability and much more.

I have two plugins that I use constantly. One is the compare plugin which will compare two files and show you differences between them. It can also compare a file to the last saved version of itself. This is very handy for seeing what changes have been made and can be used to normalize multiple revisions of a file.

The other plugin that I've started using fairly recently is the NppFTP plugin. It allows you to connect to sites that use ftp, ftpes, ftps, or sftp and read/save text files directly from within Notepad++. I've used this in my recent website work to edit the files directly on the webserver and then preview in my browser without having to do anything about copying files back and forth. One of the nice things is that with a very minimal configuration I can work remotely on my netbook just as well as on my main desktop. I currently have it configured to use sftp via ssh on my website development box which is an old Dell desktop running Ubuntu Server 10.04.

If you were to setup your router to let you access ssh and www externally then it would be possible to develop on the road.

The downside of NppFTP is that it is only good for editing files with Notepad++, you can't actually use it to transfer files like PDF, WAV, etc with it. At least, unless you use uuencode and somehow uudecode it on the remote end. I use coreftp to transfer files but you could use Filezilla or another client that supports the method you want to use such as sftp.

Tuesday, September 25, 2012

portfolio website Part 2

Portfolio project is going very well. I'm highly expecting to be able to launch it before the end of next week and perhaps as early as this week. Most of the content is entered into the database and I'm putting some finishing touches on the PHP code for some features I'd like to have. Some of my information is in PDF files which are as of now displayed in an iframe. There's a link above it for devices and systems that can't support showing PDF files like that. I also have a little PDF icon setup next to the link so you can see what the file type is before downloading it.

Created a simple breadcrumb functionality as well using a session variable.

Sunday, September 9, 2012

portfolio website

I'm currently working on a rewrite of my portfolio website. Started working on it Friday, September 7 and worked through the weekend. Originally, the website was written in pure HTML with CSS for styling and a little bit of Javascript. The Javascript isn't really an integral part of the website, I had a couple of samples of code running. I ought to add to that, since I've done more since then. The new website I am working in is written in PHP backed by a MySQL database. I'm excited to deploy it and I'm expecting I will before the end of the month.

My current site uses frames to separate the header and links from the content, my new one will not use frames at all. Links will be generated from a database table and the header is built into the php file I'm writing. Content from all of my pages will be transposed to the database and then the PHP file will read it and generate the page live. I know I could do this with a CMS like Drupal or Joomla, but I do like to learn new things.

The generated pages, and link to the content was very easy to do. I'm currently working on the code to pull link data from the database and generate a list of links. I've run into a couple of roadblocks and may actually redesign my table, but what I've done so far is fairly neat if I can say so.

I hope to put this knowledge to work on a couple of private projects in the future. One of the major ones I'm thinking about is a medication tracking system that I can operate from my phone's browser. Probably to track headaches. (Actual headaches, not IT headaches... I don't get those) I expect that I will learn a bit about how to write a mobile capable site and how to use forms in PHP. The other idea I had was a gas tracking system for my car. Of course, both of these will probably be behind a login screen on a private server.