Features Video Develop Use Download Coming Soon FAQ Bugs Who?

Frequently Asked Questions

  1. Does eJourn run on Windows?
  2. Does eJourn run on Mac OS X
  3. Why c?
  4. Does eJourn support blogging?
  5. What's up with the release names?
  6. Why are you using the code prefix elog?
  7. Why can I only use the autopackage on Linux?

Does eJourn run on Windows?

No, eJourn does not currently run on Windows. There is a port planned, but there's no date or schedule set at this point. It would be simply built and shipped, but there are a couple of posix libraries I need to get things up and going on windows; so I'll have to rewrite a couple of small chunks for Windows.

I've made some progress on this. I'm down to where I've got to find some little functions and headers, things like change directory and sleep are different. I've found a posix thread library and a dlsym library. And cryptography still needs to be done via a different, Windows compatible, library (or libgcrypt needs to start building on Windows).

Don't hold you breathe, go look at one of these:
Journal 4 Ever
Xml Journal System
The first looks to be free ($$) but not Free. The second has some nasty trial conditions.

Does eJourn run on Mac OS X

Yes, I think. To get it running you will need to look into DarwinPorts. You need gtk 2.6 or greater, and last I checked fink only has 2.4 (RHEL users will also lament to find themselves in the same fix). You'll need gtk 2.6 or later, and libgcrypt, then you should be able to build and run on Mac.

If you have it running, do tell me.

Why c?

Why not c? Ok, yes, complete lack of native string support. Here's the story:
eJourn was first written in VB6, about 4-5 years ago. Don't ask me why, I just did it for fun. I'd used a cheesy encryption algorithm (actually calling it encryption is probably lying), but it was fun, educational, and it made things fly around (hey, it was high school!).
Then I switched to Linux. Why? I really liked being able to mod my desktop, and then I discovered the wonderful development tools: So I stayed, even though my soundcard wasn't supported.
So, I wrote it in Java. Well, I started. I ended up getting stuck trying to convert types; yea pathetic I know. I'd made up a nice GUI, it had a list on the left and the entry text on the right. Simple, effective.
So, next I decided to try it in c++, since I was using that in class. So I did, and I wrote quite a bit using gtk. A similar layout, it actually took me about 3-5 weeks to find a decent tutorial on gtk trees (I know how now, very well).
Come a few months later (I wasn't working often), I noticed that I hadn't written a single class. At this point I'd used c++ enough to know it was a bad language: Over-complex, difficult compiler errors that cause you more work than they save, a useless string class, etc. Oh, don't let me forget, syntax for iterators (the only useful thing in the stl) which I could never remember anyway! I still do some things in c++, but I still dislike the language, mostly due to the compiler errors.
So I said hey, why not switch to c! Sad thing is, I had around 2,000 lines of c++ code then, using no classes. It took about 30 seconds to compile it. eJourn, in c, now has around 13,000 lines of code, and it takes about 45 seconds to compile it. I don't regret the switch to c; I still consider the c++ world over-complex. The only other language I'd consider for this program would be python.

The other reason I consider c ok for this is that it's a personal project with no dates to make. So, if it takes me twice as long, great. I really don't care if it does. The design of eJourn, which I do like, only exists because I've taken my time thinking the project through and trying different ideas. Had I done this in 3 months it'd be a list on the left with entries on the right. There'd be no meta-data, certainly no cross-process communication, no links, and a search window that probably wouldn't integrate very nicely. There's always room for improvement. If you have ideas, Send them to me

Does eJourn support blogging?

Not right now. It probably will, because it's a feature I want. Blog support will be implemented as a plugin, and I plan for it to be unobtrusive. It should make a menu entry in file: Sync With Blog. And it should have a preferences tab. This isn't the preferred publishing method, but I think it can be done without too much wasted bandwidth. And yes, I have looked through livejournal's API, and I still think it can be done.

Along with blog support expect text markup (bold, italics, big, etc).

What's up with the release names?

Each release, since 0.2, is named after a character from Family Guy. I pretty much go alphabetically through characters which I think are in any way interesting. I'll run out, and then we can do something different; but for now it's an easy and "fun" naming convention eh?

Why are you using the code prefix elog?

The prefix is inherited from the development name of the program: elog. There's actually another program named elog. Plus, the name really doesn't make much since for eJourn. So, I changed it to eJourn. I won't change the code prefix cause I'm used to typing it, and there's just no good reason to change it ;).

Why can I only use the autopackage on Linux?

Because for the autopackage to be relocable (ie, you can install it into /usr, or /usr/local or /opt, etc) it uses a piece of code called "prefix.c." This piece of code makes several linux specific kernel api calls to figure out where the current program is running. This is efficient, you won't notice any performance loss (and its not run very often anyway), but TMK there is no equivalent yet for any other kernels.

The source when built will simply put the install prefix directly into the code as a constant, so it isn't dependent on any specific kernel.