About

 


Home HexEdit Home Page

Features Complete Feature List

Button Testimonials

Screen Shots Screen Shots

Downloads Downloads

Discussion Forums

FAQ FAQ

Bugs Known Bugs

 about  help  privacy  donate  

Expert Commercial Software
The company was originally started for our software contracting business.  It is now mainly used for Hex Edit.

The company name does not mean anything.  It was decided on the spur of the moment when we found out the name we wanted was already taken.

What's in a Name? (HexEdit)
We gave a little more thought to the name HexEdit.  In retrospect we should have given it a lot more thought since it appears there are at least half a dozen other Windows programs called HexEdit.

In mid 1998, I (Andrew) had created a basic hex editor which was then called HexView.  I thought HexEdit was an obvious name but suspected it was probably already taken.  I did a quick search at Altavista and was surprised to find only UNIX and Macintosh software with that name.  So I spent the next 6 months integrating that name into the program and the web site.

In January 1999 HexEdit 1.0 was released.  (See the History section below.)  It was then we discovered that a lot of other people had had the same idea for a name at about the same time.  There were also some older MSDOS and Windows programs with the same name.

I am not sure whether the choice of name was a good thing or a bad thing, but probably bad.  A lot of people have discovered the product due to using a different program called HexEdit.  On the other hand most of the other programs called HexEdit have been of a low standard and I believe this has put a lot of people off trying it.

                  

The Web Site

I created the web site in late 1998 and early 1999 (see the history section below).  It is basically as you see it today, but was originally hosted on Tripod (free web hosting service).  I started off writing it in raw HTML, but was given a copy of Frontpage 97, so I used that to finish it off and to create the discussion group.

The Background Image

Creating the background image (the light grey hex digits behind this text) took most of my time.  The steps below sound simple but it took a lot of time and trial and error, particularly to get the image edges to line up when it was tiled.  This is how I created the background image using Micrografx Picture Publisher:

  1. I did a screen capture of a HexEdit window and pasted it into Picture Publisher.
  2. I rotated the image so that when tiled the characters would roughly line up and expanded the image.
  3. I increased the brightness so that the image was pale to make a good background for dark text, and applied Gaussian blur.
  4. A warp was then used to give the slight wavey effect.  This was partly to hide that the characters did not line up perfectly across tiles.
  5. I then took a small (400x600) section and pasted into the 4 corners of a new (800x1200) image.
  6. The (400x600) centre of this image was to be the tileable image but first I had to fix the ugly joins.
  7. I deleted and replaced hex digits in the centre of this image that were misaligned where the 4 pieces met.
  8. The centre 400x600 section of this image was then cut and pasted as a new image.
  9. I saved this as highly compressed jpeg file (which did not detract from the effect).
  10. The final jpeg file was less than 5Kbytes which loads in a few seconds even with the slowest modems.

The History of Development of HexEdit

Mid 1997

In July 1997 the company I work for seemed to be moving away from C and XVT and towards C++ and MFC.  I started reading "The Revolutionary Guide to MFC Programming" by Mike Blasczak, which is an excellent book despite its name.  In my work we often use a hex editor to look at all sorts of files, and this book had an example hex viewer program called HexView.

HexView was very disappointing, having severe limitations on the size of files you could view for one thing, but I guess it was only a demo.  I decided to rewrite it.  This afforded me the opportunity to develop my skills in C++, Windows and MFC.  I had been reading about C++ for 10 years but never more than dabbled with it.  I had also done the occasional thing with Windows 3.1 and Windows 95 API, but nothing with MFC.

The core of HexEdit was surprisingly easy to create.  The one thing that took most of my time was fiddling with the display: scrolling, mapping modes and scrollbars.  A major problem was that it turned out that the file size limitations in HexView were due to problems with Windows itself -- there were undocumented limitations apparently due to the use of 16 bit numbers for dimensions.  Several times I had to redesign the scrolling and display code.

Also a Windows book I had read earlier emphasised strongly how important it was for code to be mapping mode independent.  The MFC examples also implied that you should not use MM_TEXT so that everything was the right size when printed.  I spent a lot of time trying to get Hex Edit working with different mapping modes but when using scroll bars there was always a point where rounding errors caused a missing or extra line of pixels.  Eventually I gave up on mapping modes for the window display and just used MM_TEXT on screen but used MM_HIENGLISH for printing.

Early 1998

Around the end of 1997, and early 1998 I added the core editing engine.  (This was the first of the last 5 years that I have spent most of my Christmas holidays working on HexEdit.)  Now the program was an editor not just a viewer.  During the year I used the program and added the occasional new feature, mainly out of necessity.

Early 1999

During 1998 I had found HexEdit to be useful and reliable so I decided to give it away as freeware so that others might make some use of it too.   During the 1998 Christmas/New Year break I added keystroke macros and prepared 1.0 ready for distribution.

Also at this time I tried dabbling with a web site design and HTML and created the HexEdit web site that was then hosted by Tripod.  (Most of the time was spent in Picture Publisher creating the background!  Note that if you convert the hex of the background to ASCII, it does not say "I am the devil", as has been suggested.)  This is basically the same web site you see here today.

Early 2000

I did nothing with HexEdit during most of 1999 but during the year got a lot of email from people wanting this or that feature but mainly saying how fantastic they thought the program was.  I was keen to add more features to HexEdit (mainly some that I wanted but also some suggested by users), but I could not justify the time I would need to spend on it.  After the enormous favourable response (without any marketing effort) I decided that maybe we could sell it as shareware, which hopefully would go some way to justifying the time I wanted to spend on enhancing HexEdit.

Again around Christmas and the start of the year (2000) I put a lot of work into HexEdit.  This was mainly in adding background searches, and the first try at a hex calculator.

Mid 2000

In July 2000 we released HexEdit 1.1.  All of the major features added in this version were requests by users of 1.0, except for background searches which was my own idea.  I thought that even if no-one else bought it at least those people whose enhancement requests I had addressed would be obliged to buy it.

The hex calculator was not quite ready for 1.1 but appeared in version 1.2.  This was requested by a user, but as it turned out was far more than the user had asked for.

Early 2001

About Christmas 2000 and into 2001 I incorporated the BCG Control Bar library which added some nice features, particularly the customization options.   HexEdit 2.0 was released in March.  After that, the main work has been in redesigning the core display engine to allow editing of huge files.  HexEdit 2.1 (released in the end of June 2001) is the only hex editor we know of that can edit files more than 2^32 bytes in size.

Early 2002

Late 2001 and early 2002 worked on Date properties page and started template system.  HexEdit 2.2 released in March including major work on display options and printing.

Early 2003

Late 2002 and early 2003 completely redesigned search (and replace dialog) and much of underlying code.  Polished template system.  HexEdit 2.5 released in February.

Early 2004

HexEdit 2.6 released in January.  Work on 3.0 well advanced including disk editor.

Early 2005

HexEdit 3.0 released in January after much work during 2004.

2006

Template system greatly enhanced.  HexEdit 3.1 released in November.

2007

Work on 3.2.

2008

Work on 3.3.

2009

Work on 3.4 and 3.5.

2010

Finish 3.5. Start port of code to MFC9 (HexEdit 4.0).

2011

Finish 3.6. Finish port to MFC10/VS2010.

Released HexEditPro 4.0.

2012

Released HexEdit 4.0 (free version).