summaryrefslogtreecommitdiff
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
parent71b91fe4c765e52d64d4ec3641747fee5aebb73e (diff)
utkirna
-rw-r--r--articles/utkirna-v1.0.0.md25
-rw-r--r--blog/@open-source.html1
-rw-r--r--blog/@software.html1
-rw-r--r--blog/atom.xml13
-rw-r--r--blog/index.html1
-rw-r--r--blog/rss.xml7
-rw-r--r--blog/utkirna-v1.0.0.html57
-rw-r--r--data/assets/images/qr.pngbin7547 -> 0 bytes
-rw-r--r--data/assets/images/utkirna.pngbin0 -> 58520 bytes
-rw-r--r--data/donate.html40
-rw-r--r--tags/utkirna-v1.0.02
11 files changed, 105 insertions, 42 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
diff --git a/blog/@open-source.html b/blog/@open-source.html
index 4c4e7e5..bab2d5a 100644
--- a/blog/@open-source.html
+++ b/blog/@open-source.html
@@ -16,6 +16,7 @@ img { border: none ;}
<meta type="og:name" content="Ghativega - Ghativega.in - Articles tagged open-source">
<main><p><a href="index.html">&lt;-- Back to main page</a></p><br><p>Ghativega.in - Articles tagged open-source</p>
<ul class = "blog">
+<li><a href="utkirna-v1.0.0.html">Utkirna v1.0.0</a><p>Date of publish: 04/11/2023</p></li>
<li><a href="copyleft-the-god-that-failed.html">Copyleft: The God That Failed</a><p>Date of publish: 04/09/2023</p></li>
<li><a href="indian-government-e2ee-ban-is-useless.html">Indian Government Ban on Element Is Stupid</a><p>Date of publish: 18/06/2023</p></li>
<li><a href="2023-update.html">2023 Update</a><p>Date of publish: 17/02/2023</p></li>
diff --git a/blog/@software.html b/blog/@software.html
index 6f20007..ad6cba3 100644
--- a/blog/@software.html
+++ b/blog/@software.html
@@ -16,6 +16,7 @@ img { border: none ;}
<meta type="og:name" content="Ghativega - Ghativega.in - Articles tagged software">
<main><p><a href="index.html">&lt;-- Back to main page</a></p><br><p>Ghativega.in - Articles tagged software</p>
<ul class = "blog">
+<li><a href="utkirna-v1.0.0.html">Utkirna v1.0.0</a><p>Date of publish: 04/11/2023</p></li>
<li><a href="copyleft-the-god-that-failed.html">Copyleft: The God That Failed</a><p>Date of publish: 04/09/2023</p></li>
<li><a href="indian-government-e2ee-ban-is-useless.html">Indian Government Ban on Element Is Stupid</a><p>Date of publish: 18/06/2023</p></li>
<li><a href="2023-update.html">2023 Update</a><p>Date of publish: 17/02/2023</p></li>
diff --git a/blog/atom.xml b/blog/atom.xml
index 071d4b2..b3d6f8a 100644
--- a/blog/atom.xml
+++ b/blog/atom.xml
@@ -2,16 +2,25 @@
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
<title type="text">Ghativega.in</title>
<subtitle type="text">Personal site of arnavbhatt288.</subtitle>
-<updated>2023-09-05T01:09:55Z</updated>
+<updated>2023-11-04T00:52:36Z</updated>
<link rel="alternate" type="text/html" href="https://ghativega.in"/>
<id>https://ghativega.in/atom.xml</id>
<link rel="self" type="application/atom+xml" href="https://ghativega.in/atom.xml"/>
<entry>
+<title type="text">Utkirna v1.0.0</title>
+<link rel="alternate" type="text/html" href="https://ghativega.in/utkirna-v1.0.0.html"/>
+<id>https://ghativega.in/utkirna-v1.0.0.html</id>
+<published>2023-11-04T00:52:28Z</published>
+<updated>2023-11-04T00:52:28Z</updated>
+<author><name>Arnav Bhatt</name></author>
+<summary type="text">Initial release of Utkirna</summary>
+</entry>
+<entry>
<title type="text">Copyleft: The God That Failed</title>
<link rel="alternate" type="text/html" href="https://ghativega.in/copyleft-the-god-that-failed.html"/>
<id>https://ghativega.in/copyleft-the-god-that-failed.html</id>
<published>2023-09-04T00:20:06Z</published>
-<updated>2023-09-05T01:09:52Z</updated>
+<updated>2023-09-04T23:18:22Z</updated>
<author><name>Arnav Bhatt</name></author>
<summary type="text">Copyleft: The God That Failed</summary>
</entry>
diff --git a/blog/index.html b/blog/index.html
index e583e19..de0793f 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -24,6 +24,7 @@ img { border: none ;}
<main>
<p>Tags:
<a href="@anti-consumer.html">anti-consumer</a>, <a href="@eepsites.html">eepsites</a>, <a href="@government-moment.html">government-moment</a>, <a href="@i2p.html">i2p</a>, <a href="@monopoly.html">monopoly</a>, <a href="@open-source.html">open-source</a>, <a href="@privacy.html">privacy</a>, <a href="@rant.html">rant</a>, <a href="@reactos.html">reactos</a>, <a href="@software.html">software</a>, <a href="@update.html">update</a></p><ul class = "blog">
+<li><a href="utkirna-v1.0.0.html">Utkirna v1.0.0</a><p>Date of publish: 04/11/2023</p></li>
<li><a href="copyleft-the-god-that-failed.html">Copyleft: The God That Failed</a><p>Date of publish: 04/09/2023</p></li>
<li><a href="indian-government-e2ee-ban-is-useless.html">Indian Government Ban on Element Is Stupid</a><p>Date of publish: 18/06/2023</p></li>
<li><a href="2023-update.html">2023 Update</a><p>Date of publish: 17/02/2023</p></li>
diff --git a/blog/rss.xml b/blog/rss.xml
index 290ec9c..74ecdd8 100644
--- a/blog/rss.xml
+++ b/blog/rss.xml
@@ -5,6 +5,13 @@
<link>https://ghativega.in</link>
<description>Personal site of arnavbhatt288.</description>
<item>
+<title>Utkirna v1.0.0</title>
+<link>https://ghativega.in/utkirna-v1.0.0.html</link>
+<guid>https://ghativega.in/utkirna-v1.0.0.html</guid>
+<pubDate>Sat, 04 Nov 2023 00:52:28 +0530</pubDate>
+<description>Initial release of Utkirna</description>
+</item>
+<item>
<title>Copyleft: The God That Failed</title>
<link>https://ghativega.in/copyleft-the-god-that-failed.html</link>
<guid>https://ghativega.in/copyleft-the-god-that-failed.html</guid>
diff --git a/blog/utkirna-v1.0.0.html b/blog/utkirna-v1.0.0.html
new file mode 100644
index 0000000..9b8dbf5
--- /dev/null
+++ b/blog/utkirna-v1.0.0.html
@@ -0,0 +1,57 @@
+<!DOCTYPE html>
+<html>
+<head>
+<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
+<link rel='stylesheet' type='text/css' href='style.css'>
+<meta property="og:title" content="Utkirna v1.0.0">
+<meta property="og:description" content="Initial release of Utkirna">
+<meta http-equiv="pragma" content="no-cache">
+<meta http-equiv="cache-control" content="no-cache">
+<title>Ghativega</title>
+<style>
+img { border: none ;}
+</style>
+</head>
+<body>
+<div class="blog-content"><p><a href="index.html">&lt;-- Back to main page</a></p>
+<div id="post">
+<h2>Utkirna v1.0.0</h2>
+<p>Posted on 04/11/2023 12:52:28 AM GMT</p>
+<br>
+<p>
+<img src="assets/images/utkirna.png" alt="app"/>
+</p>
+<p>
+This is the initial release of Utkirna, a cross-platform application heavily inspired from <a href="https://sourceforge.net/projects/win32diskimager/">Win32DiskImager</a> 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.
+</p>
+
+<h3> The reason of its creation</h3>
+<p>
+I always wanted to created this sort of application for a long time, perhaps ever since <a href="https://etcher.balena.io/">balenaEtcher</a> was a thing as I hated the idea of an electron app which basically mimicks what <code>dd</code> command does while consuming unnecessary amount of memory for doing such a simple task. I am aware that people don't like using <code>dd</code> 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.
+</p>
+
+<h3> Development</h3>
+<p>
+Earlier on, I was planning to use C with <a href="https://github.com/Immediate-Mode-UI/Nuklear">Nuklear</a> (for the UI) for the development. However, as I started experimenting with <a href="https://go.dev/">Go</a>, 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 <a href="https://fyne.io/">Fyne</a> a fantastic GUI toolkit, this pretty much sealed the deal for me.
+</p>
+<p>
+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 <a href="https://learn.microsoft.com/en-us/windows/win32/api/ioapiset/nf-ioapiset-deviceiocontrol">DeviceIoControl</a>) 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.
+</p>
+
+<h3> Features</h3>
+<p>
+In the current state, the program supports:
+</p>
+<ul>
+<li>Reading through a removable disk and saving it as a raw image file.</li>
+<li>Writing a raw image file or anything which is "dd compatible" to the disk.</li>
+<li>Verification of a raw image through the disk and vice versa.</li>
+</ul>
+
+<h3> Installation &amp; Usage</h3>
+<p>
+Go to the <a href="https://github.com/arnavbhatt288/utkirna">Github repository</a> for further instructions.
+</p>
+</div>
+</main><div class = footer><p>2023 ghativega.in | Powered by <a href="https://pedantic.software/git/blogit/">blogit</a> | <a href="atom.xml">Atom RSS</a></p></div></body></html>
diff --git a/data/assets/images/qr.png b/data/assets/images/qr.png
deleted file mode 100644
index 1ea3423..0000000
--- a/data/assets/images/qr.png
+++ /dev/null
Binary files differ
diff --git a/data/assets/images/utkirna.png b/data/assets/images/utkirna.png
new file mode 100644
index 0000000..5ea4cec
--- /dev/null
+++ b/data/assets/images/utkirna.png
Binary files differ
diff --git a/data/donate.html b/data/donate.html
deleted file mode 100644
index 6df233e..0000000
--- a/data/donate.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html>
-
-<html>
- <head>
- <link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
- <link rel='stylesheet' type='text/css' href='style.css'>
- <meta property="og:title" content="Ghativega.in">
- <meta property="og:description" content="Personal site of arnavbhatt288.">
- <meta http-equiv="pragma" content="no-cache">
- <meta http-equiv="cache-control" content="no-cache">
- <title>Ghativega - Donate</title>
- <style>
- img { border: none ;}
- </style>
- </head>
-
-<body>
- <div class = logo><img src="assets/images/logo.png" alt="Ghativega"></div>
- <ul class = navbar>
- <li><a href="index.html">Home</a></li>
- <li><a href="about.html">About</a></li>
- <li><a href="contact.html">Contact</a></li>
- <li><a href="https://git.ghativega.in">Softwares</a></li>
- <li><a class="active" href="donate.html">Donate</a></li>
- </ul>
- <hr>
- <main>
- <h3>Donate</h3>
- <p>The only currency I accept for donations is Monero.</p>
- <p>If you don’t have any Monero, I recommend you donate using any crypto (Bitcoin, Litecoin, or whatever) through some <a href="https://localmonero.co">crypto exchange</a>.</p>
- <br>
- <p>Wallet: <code>46rqYsvW4tXAbPsfACha53KBW83CsiXrKGfJneziQG3XesYu6Es72c5BuWBT482epvVBUK8ByezTj6he31ebyrgEJWchT6P</code></p>
- <p>QR Code:<br><br><img src="assets/images/qr.png" alt="46rqYsvW4tXAbPsfACha53KBW83CsiXrKGfJneziQG3XesYu6Es72c5BuWBT482epvVBUK8ByezTj6he31ebyrgEJWchT6P"></p>
- </main>
-
- <div class = footer>
- <p>2023 ghativega.in</p>
- </div>
-</body>
-</html>
diff --git a/tags/utkirna-v1.0.0 b/tags/utkirna-v1.0.0
new file mode 100644
index 0000000..dfeee31
--- /dev/null
+++ b/tags/utkirna-v1.0.0
@@ -0,0 +1,2 @@
+open-source
+software