Other People's Technical Stuff
Stuff about Internet standards
- ISO 8859-1
Latin 1 and Unicode characters in ampersand entities
- How do you portably get chracters like ‘≠’ and
‘™’ into your HTML?
- rfc2279 - UTF-8, a
transformation format of ISO 10646
- How does UTF-8 encode Unicode into characters that a non-Unicode
aware 8-bit clean program will still handle? UTF-8 is probably the most
popular Unicode encoding format because it doesn't take any extra space
to encode straight ASCII text, and can sort of be handled by old
programs that don't know about Unicode as long as those programs are
8-bit clean.
- Descriptions of Base32,
Base64, and Base16 encoding.
- These encodings are used for encoding arbitrary data in some form of
ASCII. Each encoding has it's own advantages and disadvantages. The
lower the base #, the more characters it takes to represent any given
piece of data. But, case matters in base64 encoding, and, for things
that humans might type in or say to one another, case shouldn't matter.
- Base16 - Encoding as a sequence of hex digits. Easy to
do. Not case sensitive. No chance of confusing I, i, or l for 1,
nor O and o for 0. But, rather verbose.
- Base32 - Use a 32 character set to encode 5 characters
per set. Still not case sensitive. Due to careful choices as to
which 32 characters to use, there is no chance of confusing I, or i
for 1, nor O or o for 0. But there is a chance of confusing l for
1. The computer should always display in capitals for this reason.
More compact than Base16, but also much more complex to encode in
than either Base16 or Base64.
- Base64 - Not suitable for data a human may have to read
or type in by hand. More compact than Base16 or Base32 though, and
simpler than Base32 to encode in, but more complex than Base16.
- Description of Base85
encoding
- This started as a joke, an April 1st RFC, but some people have
actually started using it on purpose. It is very slightly more
efficient than Base64. You can encode 48 bytes of data using 64 Base64
characters, or 60 base85 characters. That's a 6% savings. But it is
much more complex to encode in.
- HMAC: Keyed-Hashing for
Message Authentication
- A general method for using hashes for authenticating the source and
verifying the contents of a message.
Stuff about nitty-gritty programming
- IEEE-754
Floating-Point Conversion from Floating-Point to Hexadecima
- More than you ever wanted to know about exactly how floating point
(most numbers with decimal points in them) numbers are represented.
- libevent
- libevent is a way to do event driven programming without
having to worry about whether the underlying system is using
velnerable old poll, kqueue, real-time signals, epoll, or some
other mechanism. I need to base StreamModule on
this.
- RealTime
Signals for Highly Concurrent Network I/O
- A paper describing how much better things got for Squid when they jiggered it to
use real-time signals instead of poll. I would recommend using libevent
at this point, but this does make a good case study as well as a good
explanation of our real-time signals work.
- The C10K problem
- It's time for servers on the Internet to handle ten thousand clients
simultaneously, don't you think? After all, the Internet is a big place
now.
- Program
Library HOWTO
- Stuff about how shared libraries work under Linux. A lot of the
information can be applied to any system that uses ELF format libraries
and executables. This includes Solaris, newer versions of HPUX, and
UnixWare.
C and C++ stuff
- C++ Programming
Tutorial
- A nice tutorial covering the basics of C++.
- Strong Pointers
and Resource Management in C++
- Some very sound advice when it comes to managing resources in C and
C++, though some of the advice really only applies to C++, the basic
concepts can still be transferred to some degree.
- Links people on the #c++ channel
on irc.freenode.net think are interesting.
- irc.freenode.net is an IRC network for Open Source developers. More
information can be found at www.freenode.net
-
Modern C++ Design
by Andrei Alexandrescu
- As far as I can tell so far, an excellent book. I'm searching for a
good link to the current version of the Loki C++ library described in
the book.
The above is a truly excellent manual of C and Unix functions.
Eric Hopper eric-www@omnifarious.org My homepage