In November last year I had a client that was looking for a geospatial situational awareness ecosystem for their security guards. Upon researching I found out the the ATAK (Android Team Awareness Kit) system was released to the public earlier that year (2020)
ATAK is just one team awareness kit medium of many. Other mediums which are integrated into this TAK solution are WinTAK and the FreeTAKServer these are all available to the public at this time. Check out the awesome FreeTAKTeam Github here.
FreeTAKServer works as the connector between the ATAK-CIV and WinTAK-CIV platforms. As of the date today FreeTAKServer is still in development and wonderful new features and plugins are being developed to be shared with the Github community.
The definition of ATAK according to the wiki is as follows:
Android Team Awareness Kit (ATAK) is an Android smartphone geospatial infrastructure and military situation awareness app. It allows for precision targeting, surrounding land formation intelligence, situational awareness, navigation, and data sharing. This Android app is a part of the larger TAK family of products.
For more info on the FreeTAKServer check out the YouTube video series by * DA-B6 *here also please check out the ATAK MAP YouTube page here
Dark themed control and docking library for .NET WinForms.
DarkUI is an attempt to create a simple, extensible control library which emulates the look and feel of popular tabbed document interfaces such as Visual Studio, Photoshop, WebStorm, and XCode. Originally just a collection of bug fixes and enhancements built on top of WinForms, it has now evolved in to a fully working docking and control library.
It’s an inspiring library displaying the power of Windows Forms.
The best way to learn how to use DarkUI is to check out the Example project included with the source code. It’ll show you how to use the majority of the forms, controls, and docking components.
In my previous post I created a very basic telnet only application. So in order to add some new features to the application I will be using the ExtraPutty library.
We need to leverage the ExtraPuTTY.dll in order to use it’s functions in C#. So because ExtraPuTTY.dll is not a COM .dll we can use the DllImport attribute to call the functions within the library.
You can use dependency walker to take a closer look at the methods within a .dll file. This is especially useful when you’re building a program and want to see the capabilities of the library you are using.
Writing a small app to communicate over telnet has never been easier. Of course you could just download Putty or use Telnet in Windows CMD but wheres the fun in that?
Writing your own app has tons of perks, automation is what comes to mind… It’s common for programmers to have small helper scripts (for instance running batch scripts in windows to automate installations etc.) but windows .bat and PowerShell scripts can be limiting at times. Especially when you want the user to be amazed by your custom GUI.
ConsoleControlallows us to embed a CMD terminal into our Windows Forms or WPF application. In this case we are using Windows Forms. TentacleSoftware.Telnet is a Telnet library making connecting to the device much easier since we don’t have to write our own sockets protocol etc.
Object Pascal has been around since the 1980sand is still surprisingly common, holding up its usefulness. The first IDE I was introduced to was Lazarus back in 2015 It was something completely new to me. After being used to all the HTML, PHP development during High School.
Lazarus proved it’s usefulness leveraging the COM port on a windows computer it allows us to program powerful apps with lightning fast communication between embedded devices and our desktop computer.
The object-oriented programming (OOP) nature of pascal proves great for beginners. with in the first 3 months of my introduction to OOP pascal I was able to create a useful email sifter for my senior dev work college. Greatly reducing the time he spent reading emails in the morning.
After some trial and error I was able to create more sophisticated applications still used by my previous employers to this day. Unfortunately the source code is confidential but I can elaborate on my experience building complex applications with the Lazarus IDE.
It was challenging though very rewarding after the application was released and stable. The app basically allowed us to communicate with an embedded chip on a MDVR device through the COM port on our computers. We were able to setup all the settings by simply plugging the device in the USB port.
This alleviated the pressure of using a TV like remote control to setup 100’s of devices especially when staff was minimal and time is of the essence. The saying time is money is very true to one who has experienced these circumstances.
Nowadays I tend to lean more towards C# because of the variety (Xamarin mobile, ASP .NET web based, WPF desktop etc.) Nothing beats C#’s usability, familiarity and legacy.
A small system reader app written in C# WinForms. The application reads the systems ram, processor and user details and displays them on the form. On program form load the application will run DXDIAG in the background and will save the text file to the root directory of the application. Once the program has finished the DXDIAG process you can click on the send button. This will allow us to send the DXDIAG file to any FTP server we have defined in the program.
As default I have replaced all the necessary details with the # symbol.
fontDialog: Shows us the font control menu allowing us to modify our typography inside the text box.
Inside the DarkClass.cs we can change the colors of the menustrip by returning the colors we define in the RGB format Color.FromArgb(46, 204, 113). This class is then called on the application load from the MyRenderer() like so: