diff options
author | Arnav Bhatt <arnav@ghativega.in> | 2023-11-04 00:52:28 +0530 |
---|---|---|
committer | Arnav Bhatt <arnav@ghativega.in> | 2023-11-04 00:54:18 +0530 |
commit | b17485dec99f5df86620eb15c5ae32dd85d3a4a2 (patch) | |
tree | 87c876349dafa643d9ab78fdc582ae06be2356d2 /blog | |
parent | 71b91fe4c765e52d64d4ec3641747fee5aebb73e (diff) |
utkirna
Diffstat (limited to 'blog')
-rw-r--r-- | blog/@open-source.html | 1 | ||||
-rw-r--r-- | blog/@software.html | 1 | ||||
-rw-r--r-- | blog/atom.xml | 13 | ||||
-rw-r--r-- | blog/index.html | 1 | ||||
-rw-r--r-- | blog/rss.xml | 7 | ||||
-rw-r--r-- | blog/utkirna-v1.0.0.html | 57 |
6 files changed, 78 insertions, 2 deletions
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"><-- 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"><-- 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"><-- 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 & 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> |