Friday, August 12, 2011

CodeAssistor - version 8 final released

It's taken me like 8 months, but the codeassistor now has tabs.

Why did it take me so long, because things are crazy at work (good crazy, QNX is awesome to work with).

Get your binaries here

Windows
Macintosh
Linux
Source Code

Monday, February 14, 2011

CodeAssistor on Windows - Tab version now beta

Ok, so a few more tweaks and we have a feature complete tabbed editor:) yay

Two features you'll notice I left out of the windows version
1) tear out a tab into a new window
2) tear a tab and place it in an already existing window

These two things are more effort than they are worth, so I wont be implementing them any time soon.

Get your binary here and let the bughunt begin!

Sunday, February 13, 2011

Tabbing on windows, damn that was a lot of work :(

I've been working, since my last post, on getting some sort of tabbing for CodeAssistor on windows... my god was it a lot of work, and my codebase has become absolutely spaghetti :( oh well.

I got something that works... Alpha quality, as there are many more interactions that I simply cannot test yet, but anyways, if you want to give it a spin

here

And dont forget the Mac-Beta quality (I haven't found any serious bugs from regular usage yet)
here

Thursday, February 3, 2011

CodeAssistor on Mac - Tabs version is beta quality

The mac version of codeAssistor with tabbing is beta quality

get it here

Saturday, January 29, 2011

OMG Seriously? Yes Seriously

If any of you have done mac programming, you've probably pondered this one question "how do I get tabs like firefox/safari/chrome without doing much heavy lifting"

If you haven't, heres a user exercise. Go to xcode and see what you can get done with an NSTabView... go head, I'll wait.

If you want a hint, here is what you can do.
But finally, some smart guy has come to rescue us from our misery.

Rasmus Andersson

you are my new hero.

Rasmus is the primary developer for Kod - a Mac based programmers editor. As part of Kod, he has developed a project called Chromium-Tabs, which basically gives programmers a nice - easy to use - API for creating beautiful browser like tabs (some say they look like Chrome).

So, I've promptly made a makefile so I dont have to deal with that nasty xCode IDE (yuck!), and integrated the Chromium-Tabs framework into my CodeAssistor project. Now I have a nice beautiful looking TABBED editor :)

All in all, the makefile took me 5 hours, and learing-integrating chromium tabs into codeassistor took 14/15 more.

If you want to play with the Alpha release of 0.0.8 (Mac Only so far), here you go

EDIT: Kod and Chromium Tabs Source

Thursday, November 18, 2010

Hacker Monthly - Free for students.

http://hackermonthly.posterous.com/students-read-hacker-monthly-for-free

I really enjoy receiving this magazine in my email every month. The premise of the magazine is that they take the best blogs highlighted on Hacker News and bundle them up into a nice looking Digital and Paper magazine. Better than 2600 because it's geared towards programmers and start-up entrepreneurs.

I highly recommend getting it.

While Im at it... you should all be reading Hacker News. Much better blog aggregate than Slashdot.

Saturday, October 16, 2010

CodeAssistor - Command Entry Implemented

So for the past week I've added the Command Entry to CodeAssistor.

Right now I've only implemented the search/replace functionality, but the framework now exists to start adding all sorts of awesomeness

So how does it work?

Open up a file and press the ESC key. You'll notice the entry popup

type '/' to start searching, then type in a regular expression (thats right, I said regular expression!)
eg "/#define (.*?) " (thats a space after the (.*?) , dont include the quote marks)

This will find the first #define XXX (but only #define XXX even if there is a #define XXX YYY)
Press ENTER. You've now moved to the next occurrence.

So what about replacing?

Ok continue your Command Entry so that the string looks like
"/#define (.+?) (.*)$/#ifdef \1\n#undef \1\n#endif\n#define \1 \2"
you'll notice that this doesn't replace. It's important to give the user a method of writing out the full regular expression and replacement string.

To actually replace the find add a final "/" to the command entry string... like this:
"/#define (.+?) (.*)$/#ifdef \1\n#undef \1\n#endif\n#define \1 \2/"

The library I am using for regular expressions (the basic scintilla regular expressions derived from Ozan Yigit's library plus some '?' extensions I did myself) doesn't (yet) understand the | metacharacter, so you'll have to write a separate line for "/#define ([^\s]+)$" (aka empty macros)