Indihiang 1.0

by Agus Kurniawan 25. March 2010 18:33
I would like to share information that my open source project, Indihiang – Web log analyzing, released on version 1.0. You can read detail of these features on my blog, 


Indihiang | .NET

New Feature on Indihiang tool for FTP Log File Analyzing

by Agus Kurniawan 2. January 2010 10:50
Indihiang Project is a IIS log analyzing tool. The tool analyzes IIS Web server in comprehensive graphs and reports.  Detail for this project, check: Ali Özgür from İstanbul Bilgi University added a new functional to support for FTP log file analyzing. You can download this fitur on his blog,  Here are samples of screenshots


.NET | Indihiang

Indihiang tool was certified by Softpedia

by Agus Kurniawan 16. July 2009 15:53
Thanks for Softpedia Labs ( team (special thanks to Radu Bogdan) that has certified my open source project, Indihiang tool. Information about Indihiang tool on Softpedia can be found on  Detail Note: Indihiang 0.1 Alpha - SOFTPEDIA "100% FREE" AWARD This product was last tested in the Softpedia Labs on 6th of July 2009 by Radu Bogdan Softpedia guarantees that Indihiang 0.1 Alpha is 100% Free, which means it does not contain any form of malware, including but not limited to: spyware, viruses, trojans and backdoors. This software product was tested thoroughly and was found absolutely clean; therefore, it can be installed with no concern by any computer user. However, it should be noted that this product will be retested periodically and the award may be withdrawn, so you should check back occasionally and pay attention to the date of testing shown above.


Indihiang | .NET

Release Indihiang 0.2.1 – Improvement on Parallel Computing Feature

by Agus Kurniawan 8. July 2009 16:11
Thanks for using Indihiang to analyze IIS log files or remote IIS. I try to improve Indihiang application such as features, performance, usability, etc. Today I uploaded updated Indihiang application version 0.2.1. What’s the improvement in Indihiang 0.2.1? As you know, Indihiang 0.2 used parallel computing feature to analyze log IIS simultaneously. I improved parallel algorithm in Indihiang. Here are the improved codes: 1: try 2: { 3: var resultData = new Future<List<BaseLogAnalyzeFeature>>[listFiles.Count]; 4: _mainTask = Task.Create( 5: delegate 6: { 7: Parallel.For(0, listFiles.Count, index => 8: { 9: List<BaseLogAnalyzeFeature> features = IndihiangHelper.GenerateParallelFeatures(LogFileFormat); 10: resultData[index] = Future.Create( 11: () => ParseLogFile(features, listFiles[index]) 12: ); 13: resultData[index].Wait(-1); 14: }); 15:  16: }, 17: _taskManager.Value, 18: TaskCreationOptions.None 19: ); 20:  21: _mainTask.Wait(-1); 22: for (int i = 0; i < resultData.Length; i++) 23: { 24: List<BaseLogAnalyzeFeature> items = resultData[i].Value; 25: items.ForEach(delegate(BaseLogAnalyzeFeature item) 26: { 27: for (int j = 0; j < _paralleFeatures.Count; j++) 28: if (_paralleFeatures[j].FeatureName == item.FeatureName) 29: _paralleFeatures[j].SynchData(item.Items); 30: }); 31:  32: items.Clear(); 33: resultData[i].Dispose(); 34: } 35: Thread.Sleep(100); 36:  37: }   _mainTask object hold a task all analyzing computation. In this task, I created parallel task using Future<T> object to handle analyzing for a log file. I also passed TaskManager object in _mainTask object to optimize processor usage. I also implemented Lazy initialization for TaskManager object, here is the illustration code as below: 1: _taskManager = new LazyInit<TaskManager>(() => new TaskManager( 2: new TaskManagerPolicy(1, Environment.ProcessorCount)), 3: LazyInitMode.AllowMultipleExecution); After all tasks created by Future<T> object, I tried to wait and make sure all tasks completed. After completed, Indihiang consolidated all log IIS files and rendered data on GUI.   What’s the Next? Now, you download Indihiang 0.2.1 for x86 and x64 platforms. You also can download the latest source code on  If you have any feedback please report on Indihiang portal


Indihiang | .NET

How to Analyze Remote IIS 7 Log using Indihiang 0.2

by Agus Kurniawan 1. July 2009 11:28
When you use Indihiang 0.2 to analyze IIS log via IIS Remote on IIS7 on Windows Server 2008, sometimes you get error although you have filled administrator level. This problem occurs because Indihiang 0.2 uses WMI to get all log files on remote IIS so IIS7 should be configured for WMI compatibility using adding features on Server Management as below


Indihiang | .NET

Release Indihiang 0.2

by Agus Kurniawan 1. July 2009 01:59
Finally I can deliver Indihiang 0.2 today. You can download Indihiang 0.2 on CodePlex portal There are many new features and enhancement from previous version. What’s new? New features are Hits analyzing for month Bandwidth analyzing Processing Request IIS log files consolidation IIS log files analyzing for Remote IIS Parallel processing using Microsoft Parallel Extensions to the .NET Framework 3.5 June 2008 I also improve the previous version. There are some enhancement features on Indihiang 0.2. General analyzing Hits analyzing enhancement Processing monitoring GUI and its functionalities enhancement I try to write the detail of these. Please keep on my blog.


Indihiang | .NET

Indihiang 0.2 Inside :: Support Parallel Tasks and Processes

by Agus Kurniawan 9. June 2009 00:31
To increase scalability Indihiang 0.2 provides features to enable web log analyzing with multi processes. Each process can do parallel tasks. Technical Design Once you open file, multi files, or remote IIS Indihiang 0.2 will create an Indihiang Log Parser for you. This means one analyzing process has one an Indihiang Log Parser so if an Indihiang Log Parser get problems (it may corrupt log files) then this will not impact for another Indihiang Log Parser. Each Indihiang Log Parser will create parallel tasks if there are multi log files to be analyzed. I use Microsoft Parallel Extensions to .NET Framework 3.5 technology to implement parallel computing. Due to implementing parallel tasks so you will not get sequential process on status Multiple Process with Parallel Tasks Indihiang 0.2 enables you to open log file again without waiting finishing previous process. This means Indihiang 0.2 can work multiple process. Each process will do parallel tasks to analyze Analyzing Indicators Indihiang 0.2 provides indicators you can monitoring the process is working or not. There are two Indicators. The first indicator is a progress bar as below The second indicator is status. Every activity will log on this status window.


Indihiang | .NET

Indihiang 0.2 Inside :: Log File Consolidation and Remote IIS

by Agus Kurniawan 9. June 2009 00:26
Today I just finished Indihiang 0.2 for log file consolidation for local file and IIS remote. Indihiang 0.2 will help you to analyze IIS log file wherever log file located. Multiple Log File Consolidation Consider you got IIS log files from another machine and then you want to analyze what’s happening on these log. Just run Indihiang 0.2 and open log file with selecting all these log files. After selected log files, a consolidation form dialog will show and entry consolidation name Indihiang 0.2 will analyze the selected log files and then show the result of analyzing in graphical. Analyzing Web Log for Remote IIS Indihiang 0.2 enables your job to analyze web log easily although web log file inside on remote machine. With remote IIS in Indihiang 0.2 you just open a remote IIS dialog After clicked Connect button, you will get the list of website on remote IIS. Choose website on remote IIS you want to analyze.


Indihiang | .NET

IIS Log File Consolidation Feature will be Released on Indihing 0.2

by Agus Kurniawan 6. May 2009 07:26
Finally I finished the IIS log file consolidation for Indihiang tool two weeks ago. With this feature, you can analyze multiple IIS log files. I have tested with 276 IIS log files (thanks for Erudeye Enterprise team for providing test data). It spent less than 20 seconds on Intel Core Duo 1.8 GHz on Windows Vista 32-bit. Remember it still used the sequential processing!!. It’s fast because I changed data structure to store IIS log file object on the previous Indihiang version. I utilize generic dictionary collection with custom binary tree data structure. Currently I’m implementing Indihiang tool using parallel processing approach using Microsoft Parallel Extensions to .NET Framework 3.5 so I must change processing algorithms. I would like to utilize fully all processor cores to compute IIS log analyzing. Here are figures of the sample of Indihiang tool analyzing result.   You will get this feature on Indihiang tool on the next release, Indihiang 0.2. I’ll announce when Indihiang 0.2 will be released.


Indihiang | .NET

Indihiang Project Roadmap for Indihiang 0.2

by Agus Kurniawan 6. May 2009 06:53
Since first released on 15 April 2009, total download of Indihiang tool is 559 (today) [V]. I would like to thank to all you for supports. I also got feedbacks via email about requested features.  Please contact me if you any idea or new feature for this project. Today I would like to share the Indihiang roadmap for the next version , Indihiang 0.2. Here is the highlight feature for Indihiang 0.2 IIS Log File Consolidation Fortunately, IIS log file consolidation can be released on Indihiang 0.2. I know one of you sent emails about multiple IIS log files analyzing. Yeah, on the original roadmap this feature should be release on Indihiang 0.1 but I postponed so I confirm this feature will be released on the next version of Indihiang tool (version 0.2). Bandwidth Analyzing I got feedbacks from Indihiang users that want to analyze bandwidth usage on web server based on IIS log file. On the next release, I put this feature to be released on version 0.2. With the feature you can see bandwidth usage such as bandwidth In/Out. This tool also analyze the bandwidth usage relate to IP Address client so we can know how many bandwidth IP Address client utilize on web server. Updated Hits Analyzing by Month and Year On current released version, you can only see the Hits analyzing by day so the next version Indihiang tool will implement Hits analyzing by day, month and year. Parallel Processing To improve the performance of Indihiang tool I’ll implement parallel processing approach. This means Indihiang tool will utilize all processor cores to compute analyzing. Parallel processing technology that I’ll implemet on Indihiang tool is Microsoft Parallel Extensions to .NET Framework 3.5. Any Feedback? If you have idea(s) to improve Indihiang tool and to enrich Indihiang tool features, please let me know..


Indihiang | .NET

About Agus Kurniawan

Agus Kurniawan

For more detail about me click here [V]

Please entry your name into my guestbook [V]

If you want to contact me, please go here [V]

Go here for my professional services [V]

My Books

Arduino Pro Mini A Hands-On Guide for Beginner 

Arduino Pro Micro A Hands-On Guide for Beginner  Arduino Nano A Hands-On Guide for Beginner

Python and SQL Server Development  Coral Dev Board I/O Programming Using Python

Digi XBee3 Zigbee 3 Development Workshop  Microchip MPLAB Xpress Development Workshop

DFRobot Romeo V2 Development Workshop  Getting Started with Coral Dev Board

Arduino Sketch for ESP8266 Development Workshop  Internet of Things Projects with ESP32

Teensy LC Development Workshop  Arduino Sketch for STM8 Development Workshop

Sigfox Development with SiPy, LoPy4, FiPy  Sigfox Development with STM32 B-L072Z-LRWAN1

Arduino Sketch for STM32 Development Workshop  Arduino MKR ZERO Development Workshop

Administering and Developing Azure SQL Database  Pycom WiPy 3.0 Development Workshop

Getting Started with Ubuntu Core for Raspberry Pi 3  Practical Kotlin Programming

Arduino Sketch for ESP32 Development Workshop  Building Wireless Sensor Networks with ESP32 LoRa

Getting Started with ACKme Mackerel AMW004 Development  NodeMCU for ESP32 Development Workshop 

Arduino MKR WIFI 1010 Development Workshop  IOIO-OTG Development Workshop

MicroPython for STM32 Nucleo Technical Workshop  STM32 Nucleo-32 Development Workshop

Learn CloudFormation  SparkFun nRF52832 Development Workshop

LinkIt Smart 7688 and LinkIt Smart 7688 Duo Development Workshop  CircuitPython Development Workshop

MicroPython for BBC micro:bit Technical Workshop  RedBear Blend v2 Development Workshop

Realtek Ameba RTL8195 Technical Workshop  Practical Contiki-NG: Programming for Wireless Sensor Networks

ESPectro32 Technical Workshop STEMTera Development Workshop

BeagleBone Black Wireless Technical Workshop Arduino MKR GSM 1400 Development Workshop

Dragino LoRa Development Workshop Learning AWS IoT

Tessel 2 Development Workshop Raspberry Pi Compute Module 3 Technical Workshop

Vue.js Programming by Example Administering and Developing SQL Server 2017 for Linux

Arduino MKRFOX1200 Development Workshop  Intelligent IoT Projects in 7 Days

Teensy Development Workshop Teensy 3.5 and Teensy 3.6 Boards Edition OpenMV Development Workshop

ESPresso Lite V2.0 Development Workshop  MicroPython for ESP32 Development Workshop

Arduino FIO Development Workshop  Getting Started with Android Things for Raspberry Pi 3

Pycom WiPy 2.0 Development Workshop  XBee ZigBee Development Workshop

SparkFun ESP32 Thing Development Workshop Getting Started With BBC micro:bit

Getting Started With Raspberry Pi Zero W Espruino Pico Development Workshop

Getting Started with ASP.NET Core for OS X, Linux, and Windows  Arduino TIAN Development Workshop

SimpleLink Wi-Fi CC3200 LaunchPad Development Workshop  MicroPython for ESP8266 Development Workshop

Smart Internet of Things Projects  Arduino UNO WiFi Development Workshop

XBee Wi-Fi development workshop SparkFun Simblee BLE Development Workshop

Mengenal Microsoft Azure ML Getting Started with Windows 10 IoT Core for Raspberry Pi 3

Arduino and Genuino Zero Development Workshop Go and SQL Server Programming By Example

Arduino and Genuino MKR1000 Development Workshop  Mengenal Microsoft Azure IoT

Getting Started with Raspberry Pi 3 PHP and PostgreSQL Programming By Example

Arduino and Genuino 101 Development Workshop Getting Started with Raspberry Pi Zero

Getting Started with Arduino Wiring for Windows 10 IoT Core Getting Started with Wolfram Language and Mathematica for Raspberry Pi

Arduino Uno: A Hands-On Guide for Beginner Arduino Leonardo and Arduino Micro: A Hands-On Guide for Beginner

RedBearLab CC3200 Development Workshop The Photon Kit Development Workshop

Python Programming by Example Raspberry Pi LED Blueprints

Bluno Beetle Development Workshop BeagleBone Black Programming using Matlab

Arduino Programming using MATLAB Digispark USB Development Workshop

Near Field Communication (NFC) for Embedded Applications Arduino Development for OSX and iOS

SparkFun ESP8266 Thing Development Workshop Teensy Development Workshop

Getting Started with Windows 10 for Raspberry 2 NodeMCU Development Workshop

Getting Started with ASP.NET 5 for OS X, Linux, and Windows Getting Started with Windows Remote Arduino

Redis Programming by Example The Hands-on ARM mbed Development Lab Manual

Getting Started With STM32 Nucleo Development Getting Started with Windows IoT and Intel Galileo

Learning C by Example Getting Started with Raspberry Pi 2

Getting Started with Arduino and Go The Hands-on Arduino Yún Manual Lab

The Hands-on MEAN Lab Manual, Volume 1 Go Programming by Example

Getting Started with Scratch for pcDuino Raspberry Pi Wireless Networks

BeagleBone Black Programming by Example Database Programming Using R

Learning R in 120 Minutes The Hands-on Intel Edison Manual Lab

Getting Started with pcDuino3 TI ARM Cortex-M LaunchPad Programming by Example

Raspberry Pi I/O Programming using Python Getting Started with Intel IoT and Intel Galileo

Pemrograman Java Tingkat Lanjut PHP and MongoDB Programming By Example

ASP.NET SignalR Programming By Example KnockoutJS Programming by Example

Getting Started with Java ME Embedded 8 and Raspberry Pi XBee IEEE 802.15.4 Programming

Raspberry Pi System Programming for Beginner Backbone.js Programming By Example

PHP and SQL Server Programming By Example AngularJS Programming by Example

jQuery Programming by Example Getting Started with Arduino and Ruby

Raspberry Pi Command Line for Beginner Getting Started with Arduino and Python

MSP430 LaunchPad Programming TypeScript Programming by Example

Getting Started with Matlab Simulink and Arduino SQL Server for Node.js

Pocket Reference: Netduino for Beginner Database Programming using Matlab

Pocket Reference: Basic Sensors in Windows 8 Getting Started with Matlab Simulink and Raspberry Pi

Getting Started with Arduino and Java  Pocket Reference: Raspberry Pi Programming

Getting Started with Arduino and Matlab Getting Started with Arduino and .NET

Pocket Reference: Raspberry Pi Getting Started with Arduino and Node.js

MongoDB for VB.NET Panduan Praktis Windows Azure

Network Forensics: Panduan Analisis Dan Investigasi Paket Data Jaringan Menggunakan Wireshark Object-Relational Mapping (ORM): MongoDB, Mongoosejs and Node.js By Example

Nodejs Programming by Example MongoDB for by Example

Pemrograman Parallel Dengan MPI dan C Panduan Lengkap iPad 2 Untuk Pemula

Pemrograman Jaringan Dengan Java Aplikasi Pilihan iPad Untuk Anak-Anak

Buku lainnya [V]

Agus Kurniawan is Microsoft MVP (Most Valuable Professional)

Agus Kurniawan- Github Profile

Agus Kurniawan- Codeplex Profile

Follow Me

Follow agusk2010 on Twitter

Month List