summaryrefslogtreecommitdiff
path: root/articles/utkirna-v1.0.0.md
diff options
context:
space:
mode:
authorArnav Bhatt <arnav@ghativega.in>2023-11-04 00:52:28 +0530
committerArnav Bhatt <arnav@ghativega.in>2023-11-04 00:54:18 +0530
commitb17485dec99f5df86620eb15c5ae32dd85d3a4a2 (patch)
tree87c876349dafa643d9ab78fdc582ae06be2356d2 /articles/utkirna-v1.0.0.md
parent71b91fe4c765e52d64d4ec3641747fee5aebb73e (diff)
utkirna
Diffstat (limited to 'articles/utkirna-v1.0.0.md')
-rw-r--r--articles/utkirna-v1.0.0.md25
1 files changed, 25 insertions, 0 deletions
diff --git a/articles/utkirna-v1.0.0.md b/articles/utkirna-v1.0.0.md
new file mode 100644
index 0000000..f93c978
--- /dev/null
+++ b/articles/utkirna-v1.0.0.md
@@ -0,0 +1,25 @@
+Utkirna v1.0.0
+![app](assets/images/utkirna.png)
+
+This is the initial release of Utkirna, a cross-platform application heavily inspired from [Win32DiskImager](https://sourceforge.net/projects/win32diskimager/) that lets you to write a raw disk image to a removable device or backup a removable device to a raw image file. It is useful for preparing bootable drives with "dd like" images for PC, SBC and embedded development boards as well for backing up such drives.
+Utkirna (devanagari: उत्कीर्ण, romanized: Utkīrṇa) means "engraved" in Sanskrit.
+
+### The reason of its creation
+I always wanted to created this sort of application for a long time, perhaps ever since [balenaEtcher](https://etcher.balena.io/) was a thing as I hated the idea of an electron app which basically mimicks what `dd` command does while consuming unnecessary amount of memory for doing such a simple task. I am aware that people don't like using `dd` due to screwing things up easier, but this certainly was not the way. Suprisingly, there are not other cross-platform applications which does similar job to my knowledge even till this day. The only application that I know that was similar to balenaEtcher is Win32DiskImager which obvious by its name, is only for Windows. Hence, this started my interest to develop similar cross-platform application which isn't made using dreaded electron.
+
+### Development
+Earlier on, I was planning to use C with [Nuklear](https://github.com/Immediate-Mode-UI/Nuklear) (for the UI) for the development. However, as I started experimenting with [Go](https://go.dev/), I realised that it would be more sensible to use this language for desktop applications due to its simplicity yet not losing a lot of performance compared to C. And after discovering about [Fyne](https://fyne.io/) a fantastic GUI toolkit, this pretty much sealed the deal for me.
+
+To have some kind of idea on how these type of applications worked (on the basis of how it read or write a disk or a raw image file), Win32DiskImager greatly helped me and even clarified me on what sort of libraries would I require to accomplish this task. The only real issue I had was to implement my own Windows interfaces for some IOCTL and FSCTL operations (which is done through [DeviceIoControl](https://learn.microsoft.com/en-us/windows/win32/api/ioapiset/nf-ioapiset-deviceiocontrol)) as Go didn't have native support for those (which I am going to upstream someday) but it really wasn't hard to do so.
+
+### Features
+In the current state, the program supports:
+- Reading through a removable disk and saving it as a raw image file.
+- Writing a raw image file or anything which is "dd compatible" to the disk.
+- Verification of a raw image through the disk and vice versa.
+
+### Installation & Usage
+Go to the [Github repository](https://github.com/arnavbhatt288/utkirna) for further instructions.
+
+;tags:software open-source
+;description:Initial release of Utkirna