E   l e B B S . c o m
     :   home   :   products   :   news   :   support   :   links   :   contact   :   downloads
 
CVS    

Due to a gentle reminder of Vagabond and some mails i finally put the CVS back online.
Apologies for any inconvience caused.
The web interface to the CVS server is also up at http://pinky.elexer.com/cgi-bin/viewcvs.cgi/elebbs/




 
30-november-2005: EleBBS.com back online    

Due to an large amount of unfortunate circumstances, the server hosting this site and other things went offline a little while back.

Unfortunately - this was very badly timed and it took quiete a while for everything to be back in working order again. For now the site and my mail is backup. The CVS system will be restored in a while.




 
29-May-2004: CVS root has changed    

Some of you might have noticed - the EleBBS cvs repository was down for a bit as this server moved to another server in another physical location. Also the CVS home has been changed - please check the instructions on how to set the CVS root by now. For now the web interface to CVS is still not available - i hope to enable it within a few days.

- Update 30 may 2004: And the web interface to the CVS system is enabled as well. If you have any old bookmarks please update those.




 
26-December-2003: Daily Snapshot generation    

First of all, I hope you all had a merry xmas :) Due to a change in my local setup, the generation of daily snapshots was broken again - this should be fixed by now.




 
10-Juli-2003: Snapshots were broken    

Due to some configuration errors on the webserver, the daily generation of snapshots weren't working. The server this site is hosted on is undergoing some major changes, and hence this part was broken. The daily generation is working again, although some platforms (mainly the 386 version) isn't fully working yet. It should be backup in a few days.




 
6-Apr-2003: EleBBS Opens Source    

This message was sent to the beta testers team earlier today,

EleBBS was started in September, 1996 as a sparetime project of me. It was, and still is, my largest programming project I ever worked on. In those years, EleBBS has grown into a huge project, on which I am truely proud. I learned a lot while developing EleBBS, and I think EleBBS has matured a lot - it has a tremendous amount of features, and it offers a flexibility and ease of use that I think are unmatched in this type of software.

However, as many of you have noticed the true dedication to EleBBS has been gone. Where there were almost releases each 4 months in the past, there hasn't been a full release since September 2001. That's almost 1,5 years without a full release, and in those 1,5 years not much has changed to the codebase.
Also, the last few years, my programming time has been severely reduced due to a number of different reasons - having a fulltime job being the most important one. Managing 3 large projects (EleBBS, EleWEB and EleXer), has turned out to be impossible - my main intrest has shifted to EleXer and EleWEB, and this leaves little to no time for EleBBS itself.

The last few months I considered several options, releasing EleBBS as an opensource project was one of them and this option has been pursued. The past few weeks i've been preparing the EleBBS code tree for release, and after moving elebbs.com to a dedicated server, i've setup an CVS repository at elebbs.com.

The EleBBS, EleXer and EleWEB code will be placed into this repository, and released under the Q Public License - you can find more information about this license at http://www.trolltech.com/licenses/qpl-annotated.html.

The release of this code is intended to give other developers a chance to contribute to the development of these projects - I will keep full control of these projects, and I will keep developing them - it just means that it will give a chance for other people to give the development a push by contributing code or fixing bugs.

I would like to thank you all for your support of EleBBS and for all the input you all have given to the development of EleBBS - I hope you will keep on doing this, even though the development process changes slightly.

You can browse the CVS repository by visiting this link, or by connecting using a regular CVS client to elebbs.com using the user anonymous. The CVSROOT is set to /home/cvsroot.

Please note again - this does not mean that I will abandon EleBBS or any of the other projects.

Sincerely,
Maarten Bekers.




 
11-Apr-2003: Daily snapshots    

Starting today, each night a new snapshot build of EleBBS will be built. This is an automatic generated binary version of EleBBS that uses the latest sourcecode.
Please note that these versions are not release builds, and should be carefully tested before put into production.

You can download the daily snapshots each day, from the EleBBS webpage.




 
06-Apr-2003: EleBBS goes opensource    

EleBBS goes opensource. Please click here for a full explanation.




 
06-Apr-2003: EleBBS implements a new site    

As you can see - welcome to the newly designed home for EleBBS.
This site is now powered by EleXer and MySQL and dynamically generated.




 
9-March-2003: EleWEB 0.10.g3 released    

It's been a while since the last EleWEB release, so i figured you might be intressted in what have changed since the last release. The main point of focus after the last release was the stability and performance
of the EleXer interpreter and compiler

This new version introduces many new things, including:

  • Definable pruning days per forum.
  • Nicer quoting in forums, also beter quote-in-quotes.
  • Better individual user-settings system.
  • Improved error handling in EleWEB.
  • Much more robust, and faster UBBcode and smiley parser.
  • Some scripts have been totally rewritten for speed (eg: listusr.pas)
  • Enhancments to deleting of messages in the forum system.

Also, a lot of work has been put into the EleXer compiler and interpreter - which in fact powers the
EleWEB system.
  • An internal string caching system to decrease memory allocs and deallocs.
  • Stack corruption could occur when passing string variables, cau sing the script to abort after a while
  • A dynamic string array variable has been added which dynamically grows when needed
  • Memory leakage sometimes occurred causing problems with long-running scripts
  • EleXer modules now load a lot faster than before
  • The depency chain of scripts has been removed (header.pas, openout.pas)
  • Output buffering system optimized which lessens the time EleWEB is waiting for the output to be
    written to the client
  • Preparations are being made to allow EleWEB to operate as an Apache module
  • Lot of speed optimalisations improving the execution speed several magnitudes
  • Internal caching engine for scripts, ensuring a script is only loaded once into memory per EleWEB
    instance
  • Support for MySQL operations in EleWEB
  • A lot of small bug fixes in the compiler and interpreter.




 
9-March-2003: EleCOM 1.3 released    

A new version of EleCOM, the popular serial communications toolkit for Pascal, has been released. Version 1.3 adds some small fixes all around the code.




 
21-Feb-2003: EleWEB update posted    

I've posted an EleWEB update, on EleVillage - you can read it here.




 
15-Sep-2002: EleWEB 0.10.g2 RELEASED    

One week after the sixth year celebration of EleBBS, we are proud to release EleWEB v0.10.g2.
This new EleWEB features a very much improved EleXer runtime which fixes numerous of bugs, as well a generic speed optimalisation. Besides the internal changes, we took the chance to fully change the layout and feature set of EleWEB. By revising all of our HTML files, introducing the usage of stylesheets we made the layout even more flexible than before.
A new, very important feature in this release is the addition of an frontpage, and internet-style forums, both which should feel familiar to most people.
Besides all this, there are numerous of small changes that should improve the usability of EleWEB over previous versions.
Click here to go to the downloads page, or here to go to EleVillage, an EleWEB demo board.




 
31-Aug-2002: EleWEB    

We have been working on the standard EleWEB templates and have been adding functionality, fixing bugs and updating the EleXer compiler/interpreter.
The result is a completely redesigned layout, a new "forum"-style message board system, a redesigned frontpage, ubb-code support, improved documentation, auto-login of users, editting of messages, much faster code, include file support in EleXer, and much more.
If you have customized your own EleWEB there is no need to worry as you do not need to upgrade to the new templates, but can still use the improvements of EleXer.
Currently we are fixing the last few bugs in EleWEB and hope to release this improved version soon. You can use the current EleWEB development version at EleVillage or Walrus BBS.




 
16-Jun-2002: EleWEB list    

Just wanted to draw your attention to an list of active EleWEB's that's being maintained by John Veul of The Change BBS. If you are running an active EleWEB, feel free to add yourself.




 
09-Jun-2002: EleBBS 0.10.RC1    

EleBBS 0.10.rc1 has been released. This is a public release candidate. Please make sure you backup your current configuration and read the accompanied documentation. You can download the RC from here.




 
02-Jun-2002: EleBBS-LINUX HOWTO    

Manning (Rick Parrish) has written an HOWTO on howto about setting up EleBBS/Linux. You can view/download it here




 
20-May-2002: EleWEB 0.10.g1 RELEASED    

We are proud to announce the first full release of EleWEB. EleWEB is a fully script-driven web interface to your EleBBS, using EleXer scripts and HTML files to provide an unseen flexibility in integrating your BBS with your website.
You can download EleWEB from here.




 
18-May-2002: EleBBS 0.10.g1 releasenotes    

Currently the last things are put into place to release EleBBS 0.10.g1 to everyone. In the meanwhile, the list of changes to EleBBS has been posted to the website.
Click here to download.




 
18-May-2002: SyncFossil 2.02 RELEASED    

SyncFos v2.02 has been released which fixes some small issues when it would try to run doors in certain paths. If you do not experience any issues with the current SyncFos, upgrading is not necessary. Click here to download.




 
31-December-2001: SyncFossil 2.00 RELEASED    

SyncFossil 2.00 has been made available for download. SyncFossil allows you to run DOS based doors from within EleBBS/W32 without using other programs (like COM/IP or NetModem). SyncFossil uses FOSSIL driver code from SynchronetBBS hence the name. This new version fixes a bug with very poor performance of some doors. Please consult READ.ME for more information
Click here to download.




 
10-November-2001: eleIRCDOOR 0.01 RELEASED    

eleIRCDOOR is EleIRC (as seen in EleBBS), but as a standalone door. The door requires any Door32 BBS (Mystic, Synchronet) and offers a subset of the features also offered in EleBBS itself. It should not be used by EleBBS Sysops.
Click here to download.




 
28-October-2001: SyncFossil 1.00 RELEASED    

SyncFossil 1.00 has been made available for download. SyncFossil allows you to run DOS based doors from within EleBBS/W32 without using other programs (like COM/IP or NetModem). SyncFossil uses FOSSIL driver code from SynchronetBBS hence the name.
Click here to download.




 
30-September-2001: EleBBS v0.09.g1 RELEASED    

EleBBS v0.09.g1 has been released and is now available from the downloads page.




 
12-August-2001: EleBBS v0.09.g1 UPDATE    

EleBBS v0.08.g1 turned out to be a very solid release, and not many bugs were reported.
Ever since this release, EleBBS' development has been progressing with some major enhancements on it's way - both clearly visible (EleXer) as less visible (partly rewritten mail engine). Also, a lot of attention has been focused at EleWEB - the new webbased interface to EleBBS which hopefully will be integrated into EleBBS.
Another item that has got lots of attention is EleBBS/Linux - the version has progressed immensely since the last public release of EleBBS, and will be officially launched at the same date EleBBS v0.09.g1 will be released.
We are currently preparing for a release, hoping to be able to set a release date within a few days.
In the meanwhile, the WHATSNEW-file of EleBBS v0.09.g1 has been posted and can be viewed here




 
24-June-2001: EleWEB    

After many months there has finally been released a new beta version of EleWEB - the web interface to your EleBBS users, messages and files.
The new EleWEB is a complete rewrite from earlier versions and utilizes the new EleXer scripting language which will be officially introduced in EleBBS v0.09.g1.
The new EleWEB allows for much more flexibility, is faster, easier and uses less resources than previous EleWEB versions.
The only downside of this new version of EleWEB is that previous modified Q-A files are no longer supported, as this EleWEB only uses EleXer scripts.
Please mail me if you are interested in evaluating EleWEB.




 
29-October-2000: EleBBS v0.08.g1 RELEASED    

EleBBS v0.08.g1 has been released to the public. Please be patient while mirror sites are being updated. If you have any questions or suggestions, please mail me.




 
15-October-2000: EleBBS v0.08.g1 RELEASE DATE SET    

The new gamma-release of EleBBS v0.08.g1 will be released on the 29th of October 2000. It has been more than 6 months before this new release of EleBBS which is the longest since v0.01.g1. This new release will include a great number of bugfixes which should improve the stability and usability of EleBBS. If you have any questions or suggestions, please mail me.




 
20-September-2000: EleBBS v0.07.g1 UPDATE    

Since the release of EleBBS v0.07.g1 of 5th March 2000 there were a few bugs reported, and many more fixed.
We are currently preparing for an release, hoping to be able to set a release date within a few days.
In the meanwhile, the WHATSNEW-file of EleBBS v0.08.g1 has been posted and can be viewed here




 
13-August-2000: EleCOM v1.2 released    

EleCOM has now been updated to use the latest (up-to-date) code again, which also fixes some bugs and is a bit less resource hungry. Click here to download it. EleCOM is the complete ObjectPascal source to a OOP communications unit, which provides Serial I/O communications for both the DOS, OS/2 and Win32 platforms. EleCOM is exactly used like this in EleBBS.
If you want to be notified upon a new release of EleCOM, please feel free to mail me.




 
29-July-2000: DOOR32 standard    

Door32 is a standard developed for creating 32-bit cross platform BBS doors games. Door32 also allows these games to be functional under both dialup and telnet connections. The specifications for Door32 are available on this page. You can find various programming libraries and doors that support the Door32 standard on the Door32 webpage.




 
20-May-2000: EleWEB in beta    

EleWEB has passed the stage of being alpha, and is now in beta-test. To evaluate EleWEB please mail me and a notification will be sent to you each time the EleWEB beta is updated.




 
05-March-2000: EleBBS v0.07.g1 RELEASED    

The new gamma-release of EleBBS v0.07.g1 is now available from this site, alternate download locations will be added when available.




 
29-February-2000: EleBBS v0.07.g1 RELEASE DATE SET    

The new gamma-release of EleBBS v0.07.g1 will be released on the 5th of March 2000. This new release will include a great number of bugfixes which should improve the stability and usability of EleBBS.




 
20-February-2000: EleBBS v0.07.g1 UPDATE    

Since the release of EleBBS v0.06.g1 of 28th November 1999 there were many bugs reported, and many more fixed.
We are currently preparing for an release, hoping to be able to set a release date within a few days.
In the meanwhile, the WHATSNEW-file of EleBBS v0.07.g1 has been posted and can be viewed here




 
28-November-1999: EleBBS v0.06.g1 RELEASED    

The new gamma-release of EleBBS v0.06.g1 is now available from this site, alternate download locations will be added when available.
The latest communication sources of EleBBS are also available from the main download page.




 
25-November-1999: EleCOM v1.1 released    

EleBBS v0.06.g1 will have some (small) changes in the communications unit. EleCOM has now been updated to use the latest (up-to-date) code again, which also fixes some bugs and is a bit less resource hungry. Click here to download it.




 
14-October-1999: EleWEB development announced    

Currently in early stage of development is a new product called EleWEB. EleWEB will be offering an HTML interface to your BBS'es using an webbrowser. EleWEB will use your current configuration, userbase and messagebase files so that the EleWEB system can offer 'just another interface' to your EleBBS BBS.
EleWEB is not an webserver - it's rather a collection of CGI programs (currently available for Win32 and Linux, OS/2 is being worked on), so that you can keep your current webserver - it has been tested using Apache, Xitami and MS IIS. EleWEB is being designed to offer your users an 'familiar' interface to your BBS, while trying to keep the 'feel' BBSes have.
If you are interessted in testing EleWEB, and are running an WebServer on OS/2, Linux or Win32, feel free to email me with your details - especially FidoNet members are encouraged to do so.




 
14-October-1999: EleBBS v0.06.g1 RELEASE DATE SET    

The new gamma-release of EleBBS v0.06.g1 will be released on the 28th of November 1999. This new release will include a great number of bugfixes which should improve the stability and usability of EleBBS. This new release of EleBBS will also introduce the support of using an FTP server like it was a normal area, lots of improvements to NEWSSRV and the introduction of EleMON.




 
25-July-1999: EleBBS status update    

The EleBBS v0.05.g1 release turned out to be a solid release. There aren't any "show-stopper" bugs reported and a lot of new people are starting to use EleBBS. Also, we introduced EleBBS/Linux which got some interessting looks from quiete a few people. We're currently working on a new EleBBS that generally introduces some new features, and as always, a new release date can't be set yet ;-)




 
27-June-1999: EleBBS v0.05.g1 RELEASED    

The new gamma-release of EleBBS v0.05.g1 is now available from this site, alternate download locations will be added when available.
The communication sources of EleBBS are also available from the main download page.




 
06-June-1999: EleBBS v0.05.g1 RELEASE DATE SET    

The new gamma-release of EleBBS v0.05.g1 will be released on the 27th of june 1999. This new release will include a great number of bugfixes which should improve the stability and usability of EleBBS, as well as some major speed improvements in the communications areas and in the message reader / filelister. Also, this new release will introduce a new program named NEWSSRV. NEWSSRV is an NNTP server (aka usenet server) that allows you to put your messagebase up for reading by any newsgroup-client (eg: Outlook).
At the same date the sourcecode to my communications units will also be released.




 
23-May-1999: NEW STEP IN BETA CYCLE OF GAMMA-5    

EleBBS v0.05.g1 has had some troubles getting out because of the completely new communications engine introduced shortly after the GAMMA-4 release. Fortunately, those bugs have been fixed and a lot of other small bugfixes has been done as well as new features be added.
Since almost 4 weeks there is a total feature freeze, meaning that suggested new features were not implemented anymore. Since today, we have started an so-called RC-cycle which means that all beta's that are sent out to the beta team are complete releases and that there aren't any (major) problems expected anymore. We hope to have an release out pretty soon!




 
02-May-1999: SERVICE RELEASE DELAYED    

The original plans were to release a service release pretty quick after the release of EleBBS v0.04.g1 to fix the remaining bugs and implement some of the hard needed enhancements. Unfortunately, during the beta testing of v0.04.g2 it turned out that the enhancements contained some bugs and also other bugs started to turn up. The bugfixing and enhancing of EleBBS is now taking such a long time, that has been decided that the service release will be skipped and that we will work towards another full gamma-release (called v0.05.g1) as soon as possible. When we'll be able to provide this release is yet unsure but we're doing the best to make this as soon as possible.




 
20-March-1999: GAMMA-4 SERVICE RELEASE ANNOUNCEMENT    

The release of EleBBS v0.04.g1 has probably the most successfull release till date. The amount of reactions was huge and till date there hasn't been an major bug reported yet. A major bug is qualified when EleBBS crashes or exits incorrectly. However, there are a number of bugs reported that make EleBBS not as bug-free as we would like to see it. Therefore, fairly soon there will be an service-release available. Currently, we cannot announce a final release date just yet because the beta program is currntly running.




 
20-March-1999: DOOR LIBRARY FOR PASCAL    

Because there are major problems supporting doors in EleBBS/W32 and EleBBS/GUI and there aren't any specific TELNET doors available we have decided to release the communications library used in EleBBS. This is a library written in Pascal which will compile for TurboPascal, VirtualPascal v2.0, Delphi v2.0 and FreePascal and will include full sourcecode.
Together with the Mystic BBS author we have decided that just a communications library might be a bit scarce, so we have joined our efforts to create one doorlibrary with all the most used routines built in.
The communications library will be available together with an service- release as announced in the above news-item.




 
17-February-1999: EleBBS v0.04.g1 RELEASE DATE SET    

The new gamma-release of EleBBS v0.04.g1 will be released on the 28th of february 1999. This new release will include a great number of bugfixes which should improve the stability and usability of EleBBS, as well as general speed improvements and some nice new features. Also, this new release will introduce some new programs like an built-in TELNET server to make your BBS available for telnet as well as an newsgroups importer/exporter.
For example code how to read longfilenames look at LFNEXAM.ZIP on the downloads page.




 
01-January-1999: New features    

Since the latest release, a lot of things in EleBBS has been changed and a great number of bugs has been fixed.
Below is a list of some of the new features the next EleBBS will probably have:

  •  
  • There will be two seperate Windows versions - one called EleBBS/GUI which is the version you have known uptill now (in graphics mode). The other is called EleBBS/W32 which is a textmode EleBBS version but still fully 32-bit and with all the benefits from using an 32-bits application.
     
  •  
  • There will be a built-in IRC client to use - your users now can connect to any standard IRC server on the internet and join in chatrooms (Windows and OS/2 versions only).
     
  •  
  • Built-in telnet server for EleBBS/OS2, EleBBS/W32 and EleBBS/GUI. This is a very basic telnet server which allows you to put your BBS up for incoming telnet connections. This implementation cannot support the current traditional doors, so to run doors an addition program (like NetModem/32 or VMODEM) is recommended.
     
  •  
  • There will be an EleNEWS - this program can grab newsgroups from a standard NNTP server and toss them directly into your JAM or Hudson messagebase. Users are also able to post in the message-board and these messages are posted back to the newsgroup (only OS/2 and Windows)
     
  •  
  • Long FileName (LFN) support in EleBBS/W32, EleBBS/GUI and EleBBS/OS2.
     
  •  
  • Great number of new commands to the questionnaire scripting language.
     
  •  
  • You can now define up-to 20 different nodenumbers to use in your message areas.




     
    15-November-1998: Known bugs in EleBBS    

    Since the release of EleBBS v0.03.g1 there are a number of bugs discovered.

  • EleBBS can runtime-error 202 after an upload. This problem is addressed in the next release of EleBBS.
  • When trying to add files using EleFILE or EleMGR in the Windows version, this will sometimes fail. This problem is being looked into, a current solution is to use the DOS versions.



  •  
    01-November-1998: EleBBS webpage available again    

    As some of you have experienced, the EleBBS homepage was not available for several days. This was because the page exceeded the maximum traffic limit allowed by my ISP. This traffic limit is extended to 1 gigabyte (by my ISP). This should not be exceeded anytime soon ;)




     
    25-October-1998: EleBBS v0.03.g1 HAS BEEN RELEASED    

    EleBBS v0.03.g1 has been released for all platforms.




     
    22-October-1998: EleBBS v0.03.g1 RELEASE DATE SET    

    EleBBS v0.03.g1 will be released at 26 October 1998. This new release will include a great number of bug fixes, enhancements and new features as well as general improvements. A small (and not complete) number of new features are listed below:

  • Now included is an userbase and filebase maintenance program (EleMGR)
  • Included now are installation instructions as well as an installation batchfile which will give you an up-and-running EleBBS configuration within 10 minutes after unpacking.
  • EleBBS/GUI includes an Waiting For Caller screen, making it possible to run it as a standalone application.
  • There are a great number of new questionnaire commands introduced
  • New EleMGR and ELCONFIG programs available for EleBBS/W32 which are console ("text mode") applications.
  • EleMGR and EleFILE can extract FILE_ID.DIZ's and DESC.SDI's file from an archive.


  • Apart from these new features, there a great number of bug-fixes in this new release.




     
    09-September-1998: Known bugs and work arounds    

    The Win32 and OS/2 versions of EleBBS can crash (just pop out, or give an "Access Violation") just after loading the main menu. You fix this by creating (using ElConfig) a GLOBALRA menu, this one might be empty. This bug is fixed in the next version of EleBBS.




     
    08-September-1998: ELEBBS v0.02.G1 RELEASED    

    EleBBS v0.02.g1 has been released today. Go to the downloads section to download the program. This second gamma release fixes a great number of bugs and also introduces some new features.




     
    06-September-1998: Mailinglist    

    One of the users of EleBBS has setup an mailinglist. Click here to read more about it. Any queries then please feel free to email pbarley@bigfoot.com




     
    02-September-1998: RELEASE DATE GAMMA-2 HAS BEEN SET    

    The release date of the 2nd gamma release of EleBBS has been set to 8 september. This release will fix all known bug-fixes discovered since the release of gamma-2. EleBBS v0.02.g1 will also include some new features under which internal lightbar support for the menus, an extended questionnaire scripting language.




     
    09-August-1998: Current status of EleBBS    

    After the first public gamma release of EleBBS (click here to download) there were a number of bugs discovered. At the moment we are reviewing all the bugs and are testing the fixed code. After the reported bugs are fixed, and all new code has been tested, we will release the 2nd gamma of EleBBS. Below are a number of things that were reported many times:

  • EleBBS/2 did not handle comports very well (when passing from an mailer), fixed.
  • EleBBS was giving a message about "160 bytes memory leak", this is fixed.
  • The IEMSI split-screen chatter was missing from EleBBS. Fixed.
  • EleBBS/WIN32 could halt with a message saying that the font was not "Fixed-pitch"
  • Implemented internal lightbar support into EleBBS. This does not affect current configurations
  • EleBBS/2 was not able to run with CFOS/2, fixed.



  •  
    17-July-1998: RELEASE DATE ANNOUNCEMENT    

    EleBBS will have an public gamma release coming Friday, 17th of July 1998, and will include platform-native versions for DOS, OS/2 and WindowsNT/Windows95/Windows98.

    EleBBS is a completely independent BBS system fully compatible with an existing RA v2.50 configuration. This gamma release will not be as stable as the final version will be, but this release can give you an idea how development progresses with EleBBS and can seriously be used to replace your current RA configuration.

    The release will contain native versions for the programs EleBBS, EleFILE, EleNODE and EleUSER. The DOS and OS/2 packages will also have a native version of ElConfig included.

    These versions are fully functional and will NOT require an key-file, unlike the beta versions available before on the homepage.

    The EleBBS packages will be offered for download Friday 17th of July on this homepage.




     

    Design inspired by Bryan Turner
    0.0075168609619141 secs.