|
|
|
EPIC News
|
About EPIC and utf-8 support December 6, 2008 @ 12:00 AM |
A question that comes up frequently is whether epic supports utf8 or not,
and if it does not, when will it be supported? The simple answer is that it
does not support utf8 because of a lack of expertise at converting programs
to use utf8 within the epic community. Therefore, interested contributers
are having to learn all about the unicode way of doing things as they go along
which is much slower than if someone who had done this before would step in
and help us write the code to implement the many design changes
Converting from ascii to unicode is very invasive to a program, and there
are important questions to consider when you ask what it really means to
support utf8. This is not an exhaustive list but gives you an idea of the
size of the effort.
- UTF8 breaks from the longstanding tradition that one byte equals one
glyph equals one column on the screen. This affects things like column
counting, which is important for the input line, and for line wrapping.
Much code has to be rewritten for this.
- The historical way of handling national character sets is to use code
pages, which map 128 glyphs into code points 128-255. Normally this is handled
by the user's terminal emulator so epic has never had to worry about the
details. There will always be irc users who aren't using utf8 clients, so it
will always be required for the client to support a remote target (channel or
user) who can't do utf8. If you exchange messages and you're using utf8 and
the other person isn't, then everything will be garbled. It is necessary for
the client to be able to convert FROM utf8 TO any other encoding, and vice
versa, to really support utf8.
- Additionally, there will always be epic users who aren't using utf8
terminal emulators. But these users would like to be able to join utf8
channels and have everything Just Work. It is necessary for epic to be able
to convert FROM any input encoding TO utf8 and back again for these users.
- Finally, once you open the door to unicode, you're talking about being
able to support any encoding. How will this impact things like scripts?
How will the /echo's in your script output if you encode it in utf8 but
the person who uses your script doesn't use a utf8 emulator? We see this
problem today when people use the default vga code page for linux console, but
their scripts look all weird when you use them in a latin-1 font. So there
needs to be some way for scripts to convert between encodings.
I'm not trying to discourage you from thinking that epic will never have
proper unicode support, but to help you understand this is not a simple matter
and the lack of any outside assistance means the work will be slow and steady,
because there is a large amount of code to be written. Eventually it will
happen, but the only way to make it happen sooner is to help us write the code
or recruit someone who will help us write the code.
Thanks for understanding!
Jeremy
|
If you're testing epic5-0.9.0, please let me know December 6, 2008 @ 12:00 AM |
As most of us know, the epic community isn't as big or as active as it used
to be in years past. I'm uncertain whether there is a sufficient base of
testers out there to take a vote on epic5-0.9.0. I would be appreciative
if anyone who has tried epic5-0.9.0 would drop me a line and let me know so
I can size up how much testing it is getting.
Thanks!
Jeremy (jnelson acronet net)
|
EPIC5-0.3.4 released. June 3, 2007 @ 10:28 PM | EPIC5-0.3.4 is now available at:
This is a stable alpha release that fixes all of the known issues with
epic5-0.3.3 and is stable enough to be targeted by scripts and packagers.
At least one script (amnesiac) is expected to target this release.
Most importantly in this release, /SET REVERSE_STATUS_LINE no longer
exists, so if you want your status line to be in reverse, you need to put
a ^V (control-V) at the start of your /set status_format! The default status
updates in config.h have all be updated.
Other noteworthy changes are strong-crypto now available at the script
level with $xform(), and a new script to do dcc port ranges. There is a new
** operator which should make most remaining uses of /eval unnecessary.
Enjoy!
Jeremy
|
EPIC5-0.3.3 released. November 18, 2006 @ 12:25 PM | EPIC5-0.3.3 is now available at:
Although this is an alpha release, it is quite stable, and there there
are two scripts available for it (hieona and darkstar-0.4).
Enjoy!
Jeremy
|
EPIC4-2.6 released. November 18, 2006 @ 12:25 PM | EPIC4-2.6 is now available at:
This is a maintainence release:
- Fix crash caused by /NICK on ircnet.
- Compile-time support for Maildir drop boxes
- Official support for HPUX
- Official support for socks5 (at least on freebsd)
- Various other bug fixes
Enjoy!
Jeremy
|
EPIC5-0.3.2 released. November 18, 2006 @ 12:17 PM | EPIC5-0.3.2 is now available at:
There are many noteworthy improvements to this release:
- Signficant rework of word support in built in functions
- Per-server choice of vhosts and protocol (ie, ipv4 or ipv6)
- Named fields in server description makes it easier to skip fields/li>
- Improvements to make auto-reconnect/auto-rejoin scripts easier
Enjoy!
Jeremy
|
EPIC5-0.3.1 released. July 16, 2006 @ 9:25 AM | EPIC5-0.3.1 is now available at:
There are many noteworthy improvements to this release:
- Support for Ruby
- Rewritten 'configure' support for perl and tcl, works properly now.
- Nonblocking SSL negotiation with servers
- Support for maildir inboxes
- Can now hit to get out of scrollback mode when also in hold mode
- Several new scripts to implement neat features
- Generalized /on numeric ($0 == numeric, $1- == the value of $*)
- Strong crypto (CAST5, blowfish, AES, AES+SHA, and SED+SHA)
- CAST5 is compatable with ircII. blowfish is not compatable with FiSH.
- CAST5, blowfish, and AES(+SHA) depend on openssl.
- Support for ciphering messages based on server+nick instead of just nick.
Enjoy!
Jeremy
|
New EPIC4 and EPIC5 releases March 23, 2006 @ 7:59 AM | I am pleased to announce the availability of the fifth EPIC4 production relea
se (epic4-2.4) and the first EPIC5 beta release (epic5-0.2.0):
and
Because EPIC4 is a mature finished product, the only changes since epic4-2.2
are bug fixes, the most important have to deal with remote crashes by rogue serv
ers. EPIC4 will continue to be maintained for bug fixes only.
Because EPIC5 is a (relatively) new product, and this is its first beta relea
se, I hope it will suffice to say that epic5 is signficantly different from epic
4, and you should not use an epic4 script with epic5. However, for those of you
who have been waiting for a stable release of epic5 to port your scripts to it,
now is the time! EPIC5 will continue active development.
Enjoy! Jeremy
|
EPIC5-0.0.8 released, beginning towards stable release. January 16, 2006 @ 10:30 AM |
Greetings! EPIC5-0.0.8 is now available at:
ftp://ftp.epicsol.org/pub/epic/EPIC5-ALPHA/EPIC5-0.0.8.tar.gz
ftp://ftp.epicsol.org/pub/epic/EPIC5-ALPHA/EPIC5-0.0.8.tar.bz2
It has come to my notice that interest in EPIC5 has not been taking off because people are waiting for a stable release. Although there are a lot of features people have asked me to add to EPIC5, I notice that the features I do add aren't being tested (or acknowledged), probably because people are waiting for a stable release to target for their scripts.
Ok. So I'm going to blink first. I've decided to impose a feature freeze and this version of EPIC5 is a release candidate for a stable beta. If you want to test EPIC5-0.0.8, to see if it's ready, go ahead. As far as anyone can tell me, epic5 is very stable, just lacking in some features. If I don't hear anything to the contrary, I will release an official stable beta release, epic5-0.1.0, which will be suitable for wide use.
Remember, in epic-dom, "alpha" means "probably stable, possibly not", "beta" means "definitely stable, probably lacking some features", and "production" means "stable, and feature-complete". A beta release is ready to rock and roll for scripters.
Enjoy!
Jeremy
|
EPIC5-0.0.7 Available October 24, 2005 @ 9:24 AM | It has been 6 months since the last announced release, epic5-0.0.5. This release is available at:
ftp://ftp.epicsol.org/pub/epic/EPIC5-ALPHA/epic5-0.0.7.tar.bz2
http://ftp.prbh.org/pub/epic/EPIC5-ALPHA/epic5-0.0.7.tar.gz
http://ftp.prbh.org/pub/epic/EPIC5-ALPHA/epic5-0.0.7.tar.bz2
Any attempt to describe all the changes in the past 6 months would be woefully inefficient, so you should refer to the UPDATES file, and to the KNOWNBUGS file for the most gory details. Here is a (very) brief summary of the most noteworthy changes:
Changes in 0.0.6:
- New math parser now default, use /SET OLD_MATH_PARSER ON to go back
- /SET -CREATE removed (use /addset)
- /ON LEAVE changed to /ON PART
- Nicknames rejections are handled by a script now
- Server names without ports hunt for the first server, not port 6667
- Your startup script is loaded immediately at startup (as if you used -B)
- A bunch of /set's have been re-implemented as scripts
- /TIMER has been refactored and behaves more consistently.
- Nickname fudging is now handled by a script
- About 40 old (obsolete) scripts are removed
- Case insensitive string compares now done in C way, not the irc way.
- The === and !== operators in the new math parser do case sensitive compares.
- /EXEC -OUT dumps to your current target (channel or query) and not just chan
Changes in 0.0.7:
- Asynchronous dns lookups for server connections.
- A new set, /set display_mangle replaces 15 (removed) /sets
- Removal of support for 7 bit only terminals (8 bit terminals required now)
- All new unified string mangler/normalizer ($stripcrap(), /set display_mangle)
- Automatic scrollback rebreaking when window size changes.
- Highlight ignores now handled by a script
- Experimental support for sending files > 2gb over dcc.
Enjoy!
Jeremy |
EPIC5-0.0.4 now available March 18, 2005 @ 9:22 AM |
EPIC5-0.0.4 is now available. This is the fourth alpha release of EPIC5, the day after it's 15th month birthday.
ftp://ftp.epicsol.org/pub/epic/EPIC5-ALPHA/epic5-0.0.4.tar.gz
ftp://ftp.epicsol.org/pub/epic/EPIC5-ALPHA/epic5-0.0.4.tar.bz2
http://ftp.epicsol.org/pub/epic/EPIC5-ALPHA/epic5-0.0.4.tar.gz
http://ftp.epicsol.org/pub/epic/EPIC5-ALPHA/epic5-0.0.4.tar.bz2
In this release the following things are noteworthy:
- ### IMPORTANT ### "global" is no longer loaded automatically if you have an ~/.epicrc or ~/.ircrc file (or you use the -l command line option, or set the IRCRC or EPICRC environment variable, or in any way have epic load a file at startup). You must make a one-time change by adding 'load global' to the stop of your startup script, if you want to continue to load global by default
- Entirely rewritten i/o subsystem, which is generalized. To prove that I really mean it this time, there are implementations for select(), poll(), freebsd's kqueue(), and pthreads, all of which have been tested to some extent or another. This is controlled by a new configure option (./configure --with-multiplex=). The default is always select() unless you choose another.
- Each server automatically gets an "alternate name" when you create it. This first altname is what would appear in the status bar for the %S expando. The %S expando has been changed to use this first altname. This means if you change the altnames, you can change %S!
- There is a 'save' script which implements /save. You can just do /load save, then /save is back!
- Error messages in the I/O subsystem may generate multiple errors over multiple lines. Some of you will probably find this annoying, and you can suppress them with /on yell if you want to.
There are other changes, documented in UPDATES, but these are the most important ones that are user-visible.
Enjoy!
Jeremy
|
EPIC5-0.0.3 now available February 2, 2005 @ 9:15 AM |
The third alpha release of EPIC5, EPIC5-0.0.3 is now available at
ftp://ftp.epicsol.org/pub/epic/EPIC5-BETA/epic5-0.0.3.tar.gz
ftp://ftp.epicsol.org/pub/epic/EPIC5-BETA/epic5-0.0.3.tar.bz2
This version has been in development for 10 months (has it really been that long?) and has an embarrasingly large number of changes since the last release (I really should release more often).
This version is pretty stable, so if you've been waiting to check out epic5, have this version a try! Let me know if you run into any problems.
Obligatory warning -- epic5 is a different than epic4 in a lot of very important ways. You might want to read the UPDATES file to get a leg up on the kinds of changes you should be expecting. Running an epic4 script with epic5 will meet with some breakage. Perhaps some souls will start porting their scripts to epic5!
Jeremy
|
EPIC4-2.2 now available December 16, 2004 @ 9:16 AM |
I am happy to announce the release of the third production version of EPIC4, epic4-2.2, now available at the following locations:
ftp://ftp.epicsol.org/pub/epic/EPIC4-PRODUCTION/epic4-2.2.tar.gz
ftp://ftp.epicsol.org/pub/epic/EPIC4-PRODUCTION/epic4-2.2.tar.bz2
This is a maintainance release for epic4-2.0, from which you will probably want to upgrade only as your script requires it.
The only end-user-visible changes are support for the "0" nickname on ircnet, and +e and +I channel modes (particularly for efnet). There are other user-visible changes, but they're mostly of interest to scripters, and are explained in the UPDATES and KNOWNBUGS file.
This is (hopefully) the end of the line for epic4.
Jeremy
|
EPIC 10th Anniversary September 15, 2004 @ 11:17 AM |
The epic 10th anniversary party is on saturday afternoon at:
The Good Time Emporium
30 Assembly Square Dr
Somerville, MA
If anyone has any questions, you can email jnelson@acronet.net
|
|
|
|