====== Softwareentwicklung ======
In dieser Sektion sollen nützliche Programme, Code-Schnipsel, Links zu interessanten Frameworks, etc. stehen.
====== Bibliotheken ======
===== C / C++ =====
* ELM FatFs (FAT Dateisystemtreiber) - [[http://elm-chan.org/fsw/ff/00index_e.html]]
* lwIP (Lightweight TCP/IP Stack) - [[http://savannah.nongnu.org/projects/lwip/]]
===== .NET =====
* AForge.NET: Computer Vision, Artificial Intelligence, Robotics - [[http://www.aforgenet.com]]
* Chaining Assertion: Method chaining based Unittest extension - [[http://chainingassertion.codeplex.com/]]
* CUDAfy.NET: GPGPU Programme in .NET (unterstützt OpenCL und CUDA) - [[http://cudafy.codeplex.com/]]
* Command Line Parser Library: Parser für Kommandozeilenargumente - [[http://commandline.codeplex.com/]]
* EmguCV: .NET Wrapper für das OpenCV Computer Vision Framework - [[http://www.emgu.com]]
* MailSystem.NET: Mailprotokolle in .NET (z.B. POP3, IMAP, SMTP, OpenPGP, etc.) - [[http://mailsystem.codeplex.com/]]
* Monitor Power Control: Monitor mit C# in den Standby Modus schalten - [[http://www.codeproject.com/Tips/1013694/Monitor-Power-Control-Using-Csharp]]
* stateless: State Machine Bibliothek - [[https://github.com/nblumhardt/stateless]]
* solid-state: State Machine Bibliothek mit Fluent-Interface - [[https://code.google.com/p/solid-state/]]
====== Code-Schnipsel ======
===== C# =====
==== Allgemeine Array-Compare Methode ====
static bool ArraysEqual(T[] a1, T[] a2)
{
if (ReferenceEquals(a1,a2))
return true;
if (a1 == null || a2 == null)
return false;
if (a1.Length != a2.Length)
return false;
EqualityComparer comparer = EqualityComparer.Default;
for (int i = 0; i < a1.Length; i++)
{
if (!comparer.Equals(a1[i], a2[i])) return false;
}
return true;
}
==== Byte Array nach Hex-String ====
private string ByteArrayToHexString(byte[] arr)
{
return Regex.Replace(BitConverter.ToString(arr), "[^A-F0-9]", "");
}
==== ASCII Byte Array nach String / String nach ASCII Byte Array ====
private byte[] StringToByteArray(string str)
{
System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
return enc.GetBytes(str);
}
private string ByteArrayToString(byte[] arr)
{
System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
return enc.GetString(arr);
}
====== Links ======
* LightCore - Lightweight Dependency Injection-Container - [[http://lightcore.ch]]
* Spracherkennung / -ausgabe mit C# - [[http://www.codeproject.com/Articles/483347/Speech-recognition-speech-to-text-text-to-speech-a]]
* Largest collection of FREE Microsoft eBooks ever - [[http://blogs.msdn.com/b/mssmallbiz/archive/2014/07/07/largest-collection-of-free-microsoft-ebooks-ever-including-windows-8-1-windows-8-windows-7-office-2013-office-365-office-2010-sharepoint-2013-dynamics-crm-powershell-exchange-server-lync-2013-system-center-azure-cloud-sql.aspx]]
===== Tutorials =====
* Building an Image Resizer using .NET Parallel Dataflow Library in .NET 4.5 - [[http://www.dotnetcurry.com/ShowArticle.aspx?ID=886]]
* Task Parallel Library (TPL) - [[http://stefanhenneken.wordpress.com/category/task-parallel-library/]]
====== Projekte ======
* Gamepark GP2x Toolchain (ein von mir zusammengestelltes GCC Development Kit für Windows) - [[http://dl.openhandhelds.org/cgi-bin/gp2x.cgi?0,0,0,0,14,1362]]
====== Tools / Add-Ins ======
* ArgoUML (UML-Werkzeug) [[http://argouml.tigris.org/]]
* Machinations (Feedback Diagramme zum Test von Spielmechaniken): [[http://jorisdormans.nl/machinations]] - Heise News: [[http://www.heise.de/newsticker/meldung/GDC-Weltraumspiel-in-20-Minuten-1668571.html|GDC: Weltraumspiel in 20 Minuten]]
* Visual Studio Design Patterns add-in - [[http://www.codeproject.com/Articles/767200/Visual-Studio-Design-Patterns-add-in]]