Click here to Skip to main content
13,042,630 members (77,766 online)

Articles by Qwertie (Articles: 34, Technical Blogs: 9, Tip/Tricks: 5)

Articles: 34, Technical Blogs: 9, Tip/Tricks: 5

RSS Feed

Average article rating: 4.80

Dialogs and Windows
Dialogs
Posted: 11 Jun 2017   Updated: 12 Jun 2017   Views: 6,930   Rating: 5.00/5    Votes: 21   Popularity: 6.61
Licence: The Code Project Open License (CPOL)      Bookmarked: 25   Downloaded: 0
It has 41 features in about 1000 lines of code* - but only 3 lines are needed to parse the expressions you type in. Uses WinForms, BackgroundWorker, GDI+ and LES.
Edit Controls
General
Posted: 12 Nov 2008   Updated: 12 Nov 2008   Views: 255,950   Rating: 4.78/5    Votes: 54   Popularity: 8.29
Licence: The MIT License      Bookmarked: 188   Downloaded: 18,296
Use TextEditorControl to put a syntax-highlighting editor in your application.
HTML / CSS
HTML
Posted: 18 Aug 2014   Updated: 25 Aug 2014   Views: 10,880   Rating: 4.58/5    Votes: 5   Popularity: 3.43
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 5   Downloaded: 0
A LINQ-to-XML example
Database
Data Access
Posted: 25 Mar 2008   Updated: 25 Mar 2008   Views: 681,070   Rating: 4.99/5    Votes: 133   Popularity: 10.59
Licence: The MIT License      Bookmarked: 457   Downloaded: 11,394
Demonstrates a variety of Windows Forms data binding features through several simple examples.
C#
Enumerations
Posted: 1 Apr 2009   Updated: 25 Feb 2014   Views: 59,670   Rating: 4.43/5    Votes: 9   Popularity: 3.94
Licence: The MIT License      Bookmarked: 29   Downloaded: 251
Use the Symbol class for enum-like values that can be extended by other classes.
General
Posted: 13 Aug 2014   Updated: 13 Aug 2014   Views: 10,350   Rating: 4.84/5    Votes: 13   Popularity: 5.38
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 14   Downloaded: 0
Creating the AList data structures for my "list trifecta" series must have taken hundreds of hours. The DList is a vastly simpler beast, but in certain cases will boost your insert/remove speed a lot.
Posted: 1 Mar 2016   Updated: 1 Mar 2016   Views: 7,490   Rating: 4.72/5    Votes: 7   Popularity: 3.96
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 10   Downloaded: 0
LeMP enhances C# in many ways. Today we'll see how easy it is to write a program to generate C# code, or even analyze existing code.
Posted: 8 Mar 2016   Updated: 8 Mar 2016   Views: 10,410   Rating: 5.00/5    Votes: 9   Popularity: 4.77
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 7   Downloaded: 0
Well, not literally. Enhanced C# supports pattern matching, ADTs, and tuples, so Plain C# gets all that by transitivity.
Posted: 26 May 2015   Updated: 10 Dec 2016   Views: 16,410   Rating: 4.95/5    Votes: 22   Popularity: 6.65
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 21   Downloaded: 177
The Lexical Macro Processor transforms your C# code with a LISP-inspired macro system. Nice substitute for T4 templates, with Visual Studio integration and a Linux-compatible editor.
.NET Framework
General
Posted: 15 Jun 2010   Updated: 13 Aug 2010   Views: 34,270   Rating: 4.31/5    Votes: 11   Popularity: 4.49
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 34   Downloaded: 298
A library inspired by the Go language that lets you adapt any object to an interface if it has the methods of that interface.
Posted: 24 Aug 2013   Updated: 25 Aug 2013   Views: 98,220   Rating: 4.81/5    Votes: 24   Popularity: 6.60
Licence: The Creative Commons Attribution-Share Alike 3.0 Unported License      Bookmarked: 51   Downloaded: 0
Protobuf-net is a fast and complete .NET library for serialization based on Google's Protocol Buffers. And this is a really short manual.
Posted: 10 Jan 2017   Updated: 13 Jan 2017   Views: 9,720   Rating: 3.46/5    Votes: 7   Popularity: 2.93
Licence: The Code Project Open License (CPOL)      Bookmarked: 3   Downloaded: 0
With this library,"from x in list select x.Property" returns another list.
Posted: 13 Jan 2017   Updated: 15 Jan 2017   Views: 8,280   Rating: 4.76/5    Votes: 6   Popularity: 3.69
Licence: The Code Project Open License (CPOL)      Bookmarked: 15   Downloaded: 0
No matter how lazy you are
Posted: 15 Jan 2017   Updated: 15 Jan 2017   Views: 7,580   Rating: 4.95/5    Votes: 8   Popularity: 4.46
Licence: The Code Project Open License (CPOL)      Bookmarked: 7   Downloaded: 0
A very small logging library
How To
Posted: 10 Jan 2017   Updated: 10 Jan 2017   Views: 6,420   Rating: 4.56/5    Votes: 5   Popularity: 3.15
Licence: The Code Project Open License (CPOL)      Bookmarked: 2   Downloaded: 0
Want to square-root an arbitrary type T in your generic code and multiply it by its natural logarithm? No problem.
Cross Platform
General
Posted: 17 Jun 2011   Updated: 4 Jul 2011   Views: 624,540   Rating: 4.63/5    Votes: 335   Popularity: 11.70
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 197   Downloaded: 2,076
How fast is C++ compared to C#? Let's compare code ported directly between the two languages.
LINQ
General
Posted: 19 May 2008   Updated: 28 Oct 2010   Views: 59,640   Rating: 4.52/5    Votes: 18   Popularity: 5.68
Licence: The MIT License      Bookmarked: 34   Downloaded: 580
A way to use LINQ to Objects in C# 2.0 with .NET Framework 2.0
Algorithms & Recipes
Data Structures
Posted: 24 Feb 2010   Updated: 31 Mar 2010   Views: 38,120   Rating: 4.97/5    Votes: 53   Popularity: 8.58
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 65   Downloaded: 679
A memory-efficient Patricia trie that implements IDictionary and supports the "find nearest key" operation.
General
Posted: 7 Dec 2016   Updated: 7 Dec 2016   Views: 6,100   Rating: 4.76/5    Votes: 7   Popularity: 4.01
Licence: The Code Project Open License (CPOL)      Bookmarked: 6   Downloaded: 0
Using dependency injection with frequently-used background services can be a hassle. The Ambient Service Pattern is an easier alternative.
Parsers
Posted: 14 Jun 2013   Updated: 27 Jun 2013   Views: 13,170   Rating: 5.00/5    Votes: 6   Popularity: 3.89
Licence: The Code Project Open License (CPOL)      Bookmarked: 14   Downloaded: 0
LLLPG is a recursive-decent parser generator, with a feature set (and syntax) comparable to ANTLR version 2.
Posted: 25 Feb 2014   Updated: 25 Feb 2014   Views: 7,560   Rating: 4.92/5    Votes: 4   Popularity: 3.01
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 5   Downloaded: 0
The ambivalent world of ambiguity, the slash, greedy and nongreedy. At the end, in lieu of refreshments, there will be an API reference.
Posted: 23 Feb 2014   Updated: 25 Feb 2014   Views: 13,970   Rating: 4.84/5    Votes: 6   Popularity: 3.75
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 9   Downloaded: 1,131
Lots of new stuff this time, including an (almost) complete C# parser demo
Posted: 20 Jun 2015   Updated: 24 Aug 2015   Views: 13,480   Rating: 4.96/5    Votes: 16   Popularity: 5.97
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 10   Downloaded: 837
Concerned about regular expressions being unintelligible, repetitive, hard to get right and non-recursive? Read part 5, possibly the most useful part yet!
Posted: 26 Nov 2013   Updated: 13 Jan 2016   Views: 28,650   Rating: 4.98/5    Votes: 20   Popularity: 6.47
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 35   Downloaded: 306
The new parser generator for C#: now with syntax highlighting.
Posted: 7 Oct 2013   Updated: 5 Mar 2016   Views: 221,280   Rating: 4.96/5    Votes: 68   Popularity: 9.08
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 162   Downloaded: 1,346
LLLPG, the Loyc LL(k) Parser Generator: now parsing C# itself!
Collections
General
Posted: 2 Apr 2009   Updated: 14 Dec 2009   Views: 42,060   Rating: 4.84/5    Votes: 12   Popularity: 5.19
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 27   Downloaded: 255
A family of array-like list structures that let you take fast snapshots at any instant in time.
Posted: 7 Sep 2013   Updated: 7 Sep 2013   Views: 11,710   Rating: 5.00/5    Votes: 3   Popularity: 2.39
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 10   Downloaded: 220
The BDictionary is like a Dictionary mashed up with List. BList and BMultiMap also say hello.
Posted: 12 Aug 2014   Updated: 12 Aug 2014   Views: 6,180   Rating: 5.00/5    Votes: 7   Popularity: 4.23
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 13   Downloaded: 0
SparseAList and some AList benchmarks
Posted: 13 Aug 2014   Updated: 13 Aug 2014   Views: 6,800   Rating: 5.00/5    Votes: 4   Popularity: 3.01
Licence: The Code Project Open License (CPOL)      Bookmarked: 8   Downloaded: 0
In the netherworld between T[] and List
Posted: 26 Mar 2013   Updated: 20 May 2016   Views: 18,910   Rating: 4.97/5    Votes: 21   Popularity: 6.57
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 38   Downloaded: 160
The A-list is an all-purpose list, a data structure that can support most standard list operation in O(log n) time and does lots of other stuff, too
Macros and Add-ins
Visual Studio Add-ins
Posted: 22 Nov 2013   Updated: 22 Nov 2013   Views: 22,930   Rating: 4.95/5    Votes: 10   Popularity: 4.95
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 16   Downloaded: 696
A technique for installing "Custom Tools" in all VS versions from 2008 to 2013
Debug Tips
General
Posted: 6 Aug 2008   Updated: 6 Aug 2008   Views: 28,150   Rating: 4.67/5    Votes: 15   Popularity: 5.44
Licence: The MIT License      Bookmarked: 27   Downloaded: 0
How to make the debugger give the same special treatment to your custom IList as it gives to List.
Design and Architecture
General
Posted: 15 Jun 2013   Updated: 15 Jun 2013   Views: 5,610   Rating: 5.00/5    Votes: 5   Popularity: 3.49
Licence: The Code Project Open License (CPOL)      Bookmarked: 5   Downloaded: 0
The root of all evil is optimization... or apathy
Reviews on Third Party Products and Tools
Community Reviews
Posted: 20 Aug 2014   Updated: 21 Aug 2014   Views: 8,140   Rating: 5.00/5    Votes: 3   Popularity: 2.39
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 3   Downloaded: 0
GitHub has a "built-in" simple content management system called Jekyll. It's unobtrusive; you can put ordinary HTML files in your webspace and they will be served unchanged, or you can create Jekyll files, which are text files that start with a header block that the Jekyll documentation calls "front

Average blogs rating: 4.59

Client side scripting
Beginners
Posted: 18 Aug 2014   Updated: 13 Jan 2016   Views: 7,430   Rating: 5.00/5    Votes: 2   Popularity: 1.51
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 1   Downloaded: 0
Building a table of contents in JavaScript
C#
General
Posted: 9 Jun 2013   Updated: 9 Jun 2013   Views: 6,940   Rating: 5.00/5    Votes: 2   Popularity: 1.51
Licence: The Code Project Open License (CPOL)      Bookmarked: 2   Downloaded: 0
Ranges are the most important concept in the design of modern D collection code, and I want them to be included under the Loyc umbrella (but for now, don't worry what Loyc is.) As I wrote in an as-yet unpublished article on about the design of my new language, Enhanced C#:
.NET Framework
General
Posted: 25 May 2010   Updated: 25 May 2010   Views: 8,010   Rating: 4.00/5    Votes: 4   Popularity: 2.41
Licence: The Code Project Open License (CPOL)      Bookmarked: 2   Downloaded: 0
I recently wrote a class called CPTrie that stores a sorted collection of strings or integers in less space than a Dictionary or SortedDictionary. It took a long time to develop this data structure in .NET while minimizing memory and CPU usage.
Posted: 18 Aug 2014   Updated: 12 Sep 2014   Views: 13,140   Rating: 4.46/5    Votes: 10   Popularity: 4.44
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 8   Downloaded: 0
.NET just keeps getting more annoying
Libraries
General
Posted: 6 Apr 2011   Updated: 9 Apr 2011   Views: 10,190   Rating: 3.00/5    Votes: 2   Popularity: 1.51
Licence: The Code Project Open License (CPOL)      Bookmarked: 8   Downloaded: 0
UpdateControls not only keeps your GUI up-to-date, but it also separates the GUI from the rest of the code better than any framework I have seen before.
Algorithms & Recipes
Parsers
Posted: 23 Nov 2013   Updated: 23 Nov 2013   Views: 4,860   Rating: 4.83/5    Votes: 3   Popularity: 2.15
Licence: The Code Project Open License (CPOL)      Bookmarked: 3   Downloaded: 0
I decided to write this post to help people understand the theoretical representation of grammars.
Design and Architecture
Design Patterns
Posted: 12 Aug 2010   Updated: 12 Aug 2010   Views: 6,990   Rating: 5.00/5    Votes: 2   Popularity: 1.51
Licence: The Code Project Open License (CPOL)      Bookmarked: 7   Downloaded: 0
Dependency Injection aids loose coupling. But there are some services that are pervasive, services that you would have to pass to a hundred different constructors if you want to use DI "properly". Is there an alternative?
Uncategorised Technical Blogs
General
Posted: 27 Jul 2011   Updated: 27 Jul 2011   Views: 13,430   Rating: 5.00/5    Votes: 2   Popularity: 1.51
Licence: The Code Project Open License (CPOL)      Bookmarked: 1   Downloaded: 0
I want a conditional dot operator
Posted: 22 Apr 2014   Updated: 22 Apr 2014   Views: 4,750   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: The Code Project Open License (CPOL)      Bookmarked: 1   Downloaded: 0
This is a letter that I would like to send to relevant leaders at Google and Mozilla, but I'm not sure to whom I should send it.

Average tips rating: 4.44

C#
General
Posted: 9 Nov 2016   Updated: 9 Nov 2016   Views: 7,380   Rating: 4.70/5    Votes: 12   Popularity: 5.11
Licence: The Code Project Open License (CPOL)      Bookmarked: 12   Downloaded: 0
An alternative set of StringBuilder Extension methods that is closer to the methods of System.String.
How To
Posted: 15 Mar 2017   Updated: 15 Mar 2017   Views: 11,310   Rating: 4.19/5    Votes: 9   Popularity: 3.93
Licence: A Public Domain dedication      Bookmarked: 9   Downloaded: 0
A trick you can do with enhanced C#
.NET Framework
General
Posted: 12 Oct 2011   Updated: 12 Oct 2011   Views: 5,650   Rating: 0.00/5    Votes:    Popularity: 0.00
Licence: The Code Project Open License (CPOL)      Bookmarked: 1   Downloaded: 0
Shuffle in O(N) time, vastly faster than the original version that calls RemoveAt().static Random r = new Random();public static IEnumerable Randomize(this IEnumerable source){ var list = source.ToList(); for (int i = 0; i < list.Count; i++) Swap(list, i,...
Algorithms & Recipes
Algorithms
Posted: 1 Jun 2013   Updated: 4 Jun 2013   Views: 16,420   Rating: 4.43/5    Votes: 3   Popularity: 2.00
Licence: The Code Project Open License (CPOL)      Bookmarked: 8   Downloaded: 0
A fast and simple algorithm.
Programming Tips
General
Posted: 12 Oct 2011   Updated: 12 Oct 2011   Views: 6,050   Rating: 0.00/5    Votes:    Popularity: 0.00
Licence: The Code Project Open License (CPOL)      Bookmarked: 0   Downloaded: 0
Assuming you are writing a class (not a struct), you can basically get a fixed random hashcode simply by NOT overriding GetHashCode() but inheriting the implementation from System.Object. Unfortunately the System.Object implementation is not documented in the standard .NET documentation[^] but I...
No reference articles have been posted.

Qwertie
Software Developer None
Canada Canada
Since I started programming when I was 11, I wrote the SNES emulator "SNEqr", the FastNav mapping component, the Enhanced C# programming language (in progress), the parser generator LLLPG, and LES, a syntax to help you start building programming languages, DSLs or build systems.

My overall focus is on the Language of your choice (Loyc) initiative, which is about investigating ways to improve interoperability between programming languages and putting more power in the hands of developers. I'm also seeking employment.


Advertise | Privacy | Mobile
Web02 | 2.8.170713.1 | Last Updated 20 Jul 2017
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid