diff options
-rw-r--r-- | pages/projects/accelerated_lander.md | 3 | ||||
-rw-r--r-- | pages/projects/binary_mapping.md | 19 | ||||
-rw-r--r-- | pages/projects/codepoint_iterator.md | 12 | ||||
-rw-r--r-- | pages/projects/dotfiles.md | 27 | ||||
-rw-r--r-- | pages/projects/graph_storage.md | 7 | ||||
-rw-r--r-- | pages/projects/input_xslt.md | 7 | ||||
-rw-r--r-- | pages/projects/scribble.md | 5 | ||||
-rw-r--r-- | pages/projects/simple_parser.md | 13 | ||||
-rw-r--r-- | pages/projects/spam_question_filter.md | 9 | ||||
-rw-r--r-- | pages/projects/trie.md | 12 |
10 files changed, 108 insertions, 6 deletions
diff --git a/pages/projects/accelerated_lander.md b/pages/projects/accelerated_lander.md deleted file mode 100644 index c7c7259..0000000 --- a/pages/projects/accelerated_lander.md +++ /dev/null @@ -1,3 +0,0 @@ -# AcceleratedLander - -…is a very simple lunar-lander-like physics "simulation" implemented using JavaScript and HTML5. diff --git a/pages/projects/binary_mapping.md b/pages/projects/binary_mapping.md index acf5f47..1b32266 100644 --- a/pages/projects/binary_mapping.md +++ b/pages/projects/binary_mapping.md @@ -3,3 +3,22 @@ …is a collection of C++ templates which may be used to map binary structures into tuples and various other structures. These structures can then be traversed using integrated containers and iterators. This is useful for many kinds of data serialization tasks. + +A explanation of an earlier version of this template library can be found on this [blog]. The source code is available via both [Github] and [cgit]. + +### Current features + +* Support for any kind of flat structure that can be expressed using integral types and arbitrarily sized byte-arrays +* Support for serialization in either big or little endianess +* Offers Container and Iterator templates for fast traversal of collections of tuples or other structures +* Support for developing custom types to be used in the Container and Iterator templates +* Support for nesting structures inside each other +* BitField template offers bit-level access to ByteField byte-arrays +* Doesn't require any external libraries besides the GNU libraries `endian.h` +* Header only library because of heavy usage of template metaprogramming +* Unit Tests based on GoogleTest +* MIT license + +[blog]: /article/mapping-binary-structures-as-tuples-using-template-metaprogramming +[Github]: https://github.com/KnairdA/BinaryMapping +[cgit]: http://code.kummerlaender.eu/BinaryMapping/ diff --git a/pages/projects/codepoint_iterator.md b/pages/projects/codepoint_iterator.md index e2f43de..f5b08ca 100644 --- a/pages/projects/codepoint_iterator.md +++ b/pages/projects/codepoint_iterator.md @@ -1,3 +1,15 @@ # CodepointIterator …is a `std::iterator` derived class implementing the `std::bidirectional_iterator_tag` which iterates through unicode codepoints in a UTF8-encoded string. + +The source code is available on both my [Github] profile and [cgit]. + +### Current features + +* Bidirectional iteration through unicode codepoints +* The class itself does not rely on any external libraries +* Dereferencing an instance of the iterator yields the codepoint as `char32_t` +* Unit Tests based on GoogleTest + +[Github]: https://github.com/KnairdA/CodepointIterator +[cgit]: http://code.kummerlaender.eu/CodepointIterator/ diff --git a/pages/projects/dotfiles.md b/pages/projects/dotfiles.md index f18f2f8..b34f0d0 100644 --- a/pages/projects/dotfiles.md +++ b/pages/projects/dotfiles.md @@ -1,3 +1,28 @@ # Dotfiles -…is a collection of the configuration files for my essential tool set. +…is a collection of the configuration files for my essential toolset. + +I manage my dotfiles using git and symlink them to their appropriate directories using [GNU stow]. The repository itself is available via [Github] or [cgit]. + +My toolset currently consists of the following applications: + +* fully encrypted [ArchLinux] installation with the [grsec] kernel +* [i3wm] for window management +* [vim] as my text editor of choice +* [pentadactyl] for turning Firefox into a fully keyboard driven browser +* [fish] as my default shell +* [urxvt] as terminal emulator +* [conky] for displaying system information in [i3bar] + +[GNU stow]: https://www.gnu.org/software/stow/ +[Github]: https://github.com/KnairdA/dotfiles +[cgit]: http://code.kummerlaender.eu/Dotfiles/ +[ArchLinux]: https://archlinux.org +[grsec]: https://grsecurity.net +[i3wm]: http://i3wm.org +[vim]: http://vim.org +[pentadactyl]: http://5digits.org/pentadactyl/ +[fish]: http://fishshell.com/ +[urxvt]: http://software.schmorp.de/pkg/rxvt-unicode.html +[conky]: http://conky.sourceforge.net/ +[i3bar]: http://i3wm.org/docs/i3bar-protocol.html diff --git a/pages/projects/graph_storage.md b/pages/projects/graph_storage.md index 43b73c8..b7beef8 100644 --- a/pages/projects/graph_storage.md +++ b/pages/projects/graph_storage.md @@ -2,6 +2,11 @@ …is a Graph storage and query library based on LevelDB. -It currently supports integer indexed nodes with properties and directed edges with types. The integer IDs are serialized 'by hand', values are serialized using protocol buffers. Everything is stored in a single sorted LevelDB database. +It currently supports integer indexed nodes with properties and directed edges with types. The integer IDs are serialized _by hand_, values are serialized using protocol buffers. Everything is stored in a single sorted LevelDB database. Queries are possible trough a iterator like interface that handles single level queries quite fast. Additionally changes to edges can be monitored using a subscription mechanism. + +The library is in development and while not intended for any kind of production usage the source code is available via both [Github] and [cgit]. + +[Github]: https://github.com/KnairdA/GraphStorage +[cgit]: http://code.kummerlaender.eu/GraphStorage/ diff --git a/pages/projects/input_xslt.md b/pages/projects/input_xslt.md index 2ba4a22..39c302f 100644 --- a/pages/projects/input_xslt.md +++ b/pages/projects/input_xslt.md @@ -2,6 +2,11 @@ …is a proof-of-concept implementation of external file access functions for XSLT based on Apache xalan and xerces. +It is used to generate the whole website you are currently viewing and is available via [Github] or [cgit]. + ### Why? -Contrary to popular opinion I actually like XSLT as a content transformation language and have built - amongst other things - my personal website on top of it. While I used the XSLT based Symphony CMS for that particular endeavour, the intention behind the experiment contained within this repository is to develop XSLT extensions enabling the development of static site generators using XSLT as both a template and application language. +Contrary to popular opinion I actually like XSLT as a content transformation language and have built - amongst other things - my personal website on top of it. While I used the XSLT based Symphony CMS for that particular endeavour, the intention behind the experiment is to develop XSLT extensions enabling the development of static site generators using XSLT as both a template and application language. The fact that you are currently reading this page proves that this is indeed possible. + +[Github]: https://github.com/KnairdA/InputXSLT +[cgit]: http://blog.kummerlaender.eu/InputXSLT diff --git a/pages/projects/scribble.md b/pages/projects/scribble.md index 9bb2158..7657a0d 100644 --- a/pages/projects/scribble.md +++ b/pages/projects/scribble.md @@ -1,3 +1,8 @@ # Scribble …is a multi-client scribble board using HTML5-Canvas as drawing and socket.io as communication technology. + +I developed this application together with [gnuheidix] and as such the source code is available on his [Github] profile. + +[gnuheidix]: http://gnuheidix.de/ +[Github]: https://github.com/gnuheidix/pubsub-scribble diff --git a/pages/projects/simple_parser.md b/pages/projects/simple_parser.md index e6b8f25..4ceb226 100644 --- a/pages/projects/simple_parser.md +++ b/pages/projects/simple_parser.md @@ -3,3 +3,16 @@ …is a simple parser for resolving mathematical terms. The term is parsed by generating a binary expression tree using the Shunting-Yard algorithm. The implementation itself does not use any external libraries and relies fully on the features provided by the C++ language and the standard library. + +This application marks the first steps in C++ I took a couple of years back and is available on [Github] or [cgit]. + +### Current features + +* Calculating terms with basic operators while respecting the priority of each operator +* Support for parentheses +* Support for alphabetic constants +* Export of the expression tree as [Graphviz] dot for visualization + +[Graphviz]: http://www.graphviz.org/ +[Github]: https://github.com/KnairdA/SimpleParser +[cgit]: http://code.kummerlaender.eu/SimpleParser/ diff --git a/pages/projects/spam_question_filter.md b/pages/projects/spam_question_filter.md index 5fbdac6..45ddd46 100644 --- a/pages/projects/spam_question_filter.md +++ b/pages/projects/spam_question_filter.md @@ -1,3 +1,12 @@ # Spam Question Filter …is simple event filter for Symphony CMS to prevent spam by asking the user to calculate a easy math question. + +I wrote this [Symphony CMS] extension during the development of a new website for a [local musical society] as I was not satisfied with the solutions available for spam prevention in the [Symphony CMS] context. + +The source code is available via [Github] or [cgit] for your convenience. + +[Symphony CMS]: http://www.getsymphony.com/ +[Github]: https://github.com/KnairdA/spamquestionfilter +[cgit]: http://code.kummerlaender.eu/spamquestionfilter/ +[local musical society]: http://mv-mahlspueren.de diff --git a/pages/projects/trie.md b/pages/projects/trie.md index 7d5c0d5..8675203 100644 --- a/pages/projects/trie.md +++ b/pages/projects/trie.md @@ -1,3 +1,15 @@ # Trie …is a basic template based implementation of a prefix tree data structure. + +The implementation may be found on [Github] or [cgit]. + +### Current features + +* Specializable tree element type +* Adding, removing and resolving paths in the prefix tree +* Builds on the standard library +* Unit tests based on GoogleTest + +[Github]: https://github.com/KnairdA/Trie +[cgit]: http://code.kummerlaender.eu/Trie/ |