My Setup History – Text Editors

I always think of myself as a person that tries and uses multiple tools, editors, libraries and more. I change my setup regularly and so I thought I should write down my setup yearly. But first, I will quickly talk about what I have used in the past.

I will try to write a series of posts with the tools I have used all those years.

Text Editors & IDEs

I will start with the most important thing for a developer.

– The first editor I can remember is Dreamweaver. It was an awful experience with the WYSIWYG to produce insane amounts of code and totally destroying anything you wrote.
– While working with Flash and writing ActionScript I was using the Macromedia (Adobe bought Macromedia later) Flash.
– As I found myself writing more and more PHP, I found that Aptana could help me be more productive.
– JavaScript started becoming more famous in my everyday development and I was looking to transition from IDEs to Text Editors. As an Ubuntu user since 2007, gEdit was preinstalled, and an obvious solution for me.
Sublime Text took over the development world like a storm and I was in that storm
– After Chrome DevTools started using CodeMirror and introduced Workspaces, I tried to use the DevTools as my main editor. Yeah, I did that it for 6 months.
– GitHub created Atom and although I hoped for an in browser version of it, it was a normal transition for me, being very familiar with it after using Sublime Text.

I’m using Atom since it was released for Linux and it seems the best solution right now, till the next cool kid lands!

WordPress plugin development

Lately, im heavily involved into developing on WordPress. Some small projects, and recently some bigger ones. So, the wiser decision was to transform most of my code into wordpress plugins. The benefits from such a decision are many and some big ones, like the ability to access all the core wordpress functions without including any additional files and direct access to the wp database with the $wpdb.

Until now i was developing inside the wp theme, adding there some smaller bits of code and having a separate folder (not wp related) for the “bigger” scripts. Creating a wp plugin is rather easy, since its just your function that is available all over wordpress with some comments that indicate that this is a plugin. The last few days, im working on transforming most of my code into wp plugins. From a simple text cutter that just cuts the text depending on the character limit you set, that also tries not to split words, to the latest wp that is better described as a custom wp admin panel.

As you can understand, this plugin is a huge beast, which is quite flexible and fast though. Its main purpose is to let users (registered or not) to submit content without having to see the real wp admin panel. It takes longer than i thought to develop it, but in some aspects, its even more powerful that the real admin panel itself, while it really sucks in other points, like the media management where I only implemented the ability to upload and delete a file. It supports many input types, like photos, textfields, textareas, dropdowns, dates, times and checkboxes, while handling the categories as a special dropdown. Thats much more than wp can handle, so, the post_meta database table becomes very handy in saving most of this data.

The main submit function is finished, so does most of the work too, but here lies a small trap which is the editing part. Sometimes, the changes should be reviewed before applied, and an activity (editing) stream should be recorded for each user, so the next step is to record all changes as a revision, and apply them only if the admin approves them. Thats not something difficult to create (after you think that solution) and the same “submit” function can be used with an “edit=true” parameter, but thats probably not the best solution if more features should be added in the future.

And last after edit, is the ability to delete something. Not such a big deal, simple, easy and only one way to do it 😛