<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Posts on ZK Punk</title>
		<link>https://www.ZKPunk.dev/posts/</link>
		<description>Recent content in Posts on ZK Punk</description>
		<generator>Hugo</generator>
		<language>en</language>
		
		
		
		
			<lastBuildDate>Wed, 25 Jan 2023 20:09:10 +0530</lastBuildDate>
		
			<atom:link href="https://www.ZKPunk.dev/posts/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Flood Fill: Recursion versus Iterative Solution</title>
				<link>https://www.ZKPunk.dev/posts/recursion_vs_iterative/</link>
				<pubDate>Wed, 25 Jan 2023 20:09:10 +0530</pubDate>
				<guid>https://www.ZKPunk.dev/posts/recursion_vs_iterative/</guid>
				<description>&lt;p&gt;Last Run on Python 3.11.1&lt;/p&gt;&#xA;&lt;h3 id=&#34;intro&#34;&gt;&#xA;  Intro&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#intro&#34;&gt;&#xA;    &lt;i class=&#34;fa fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;I have been working on a SwiftUI app to develop a Pixel Editor inspired by the simplicty of the &lt;a href=&#34;https://www.lexaloffle.com/pico-8.php&#34;&gt;pico8&lt;/a&gt; fantasy game console. One of the most common feature in a drawing application apart from the pencil tool &amp;hellip; doh =P, is the bucket tool. The bucket tool performs a &lt;a href=&#34;https://en.wikipedia.org/wiki/Flood_fill&#34;&gt;flood fill&lt;/a&gt; operation, which basically as the name suggests floods the screen and/or a region in the canvas with the selected color.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Hello 2023</title>
				<link>https://www.ZKPunk.dev/posts/hello-2023/</link>
				<pubDate>Tue, 17 Jan 2023 16:25:02 +0530</pubDate>
				<guid>https://www.ZKPunk.dev/posts/hello-2023/</guid>
				<description>&lt;h1 id=&#34;is-2023-the-year-i-blog-more-frequently&#34;&gt;&#xA;  Is 2023 the year I blog more frequently?&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#is-2023-the-year-i-blog-more-frequently&#34;&gt;&#xA;    &lt;i class=&#34;fa fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h1&gt;&#xA;&lt;p&gt;I have been blogging on/off for the past decade. This is another attempt at rekindling the fire. The motivation this time is that I would like to maintain a central repository of all the various projects/ideas I have worked on &amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;In the last few years I have done some side projects like building a webapp to generate Alexa Skills with no code. A few iOS games using SpriteKit, mobile/web games in love2d, pico8, webapps in React, web3 apps for EVM chains like Ethereum, Polygon, Avalanche and generative art in Processing.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Select Sections From Images of Newspaper clippings, receipts etc Using Opencv and Python</title>
				<link>https://www.ZKPunk.dev/posts/select-sections-from-newspaper-clipping-images-using-opencv-and-python/</link>
				<pubDate>Wed, 25 Sep 2019 13:53:05 -0500</pubDate>
				<guid>https://www.ZKPunk.dev/posts/select-sections-from-newspaper-clipping-images-using-opencv-and-python/</guid>
				<description>&lt;p&gt;We often take pictures of menus, receipts, and message boards etc. They are often not aligned properly. In this post, I will show you how to select the pertinet parts and allign them as correctly as possible.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: center&#34;&gt;Original&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: center&#34;&gt;Processed&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: center&#34;&gt;&lt;img src=&#34;https://www.ZKPunk.dev/img/sudoku_newspaper_small.jpg&#34; alt=&#34;Sudoku &#34;&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: center&#34;&gt;&lt;img src=&#34;https://www.ZKPunk.dev/img/sudoku.jpg&#34; alt=&#34;Sudoku&#34;&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;Let&amp;rsquo;s get started.&lt;/p&gt;&#xA;&lt;h3 id=&#34;1-find-the-anchor-points&#34;&gt;&#xA;  1. Find the anchor points&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#1-find-the-anchor-points&#34;&gt;&#xA;    &lt;i class=&#34;fa fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;We will first load the image of a newspaper clipping containing the sudoku puzzle. Next, we will find out the cordinates of the four corners of the puzzle in the original image.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Create and apply simple filters to an image using OpenCV and Python</title>
				<link>https://www.ZKPunk.dev/posts/create-filters-1/</link>
				<pubDate>Mon, 16 Sep 2019 13:55:46 -0500</pubDate>
				<guid>https://www.ZKPunk.dev/posts/create-filters-1/</guid>
				<description>&lt;p&gt;In this blog post, I will show you how we can enhance our images using colored filters&#xA;and add border backgrounds.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: center&#34;&gt;Original&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: center&#34;&gt;Original w/ color filter&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: center&#34;&gt;Original w/ color border&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: center&#34;&gt;&lt;img src=&#34;https://www.ZKPunk.dev/img/blagaj_resized.jpg&#34; alt=&#34;Blagaj&#34;&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: center&#34;&gt;&lt;img src=&#34;https://www.ZKPunk.dev/img/blagaj_red_filter.jpg&#34; alt=&#34;Blagaj&#34;&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: center&#34;&gt;&lt;img src=&#34;https://www.ZKPunk.dev/img/blagaj_black_border.jpg&#34; alt=&#34;Blagaj&#34;&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;Let&amp;rsquo;s get started.&lt;/p&gt;&#xA;&lt;h3 id=&#34;1-simple-color-filter&#34;&gt;&#xA;  1. Simple color filter&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#1-simple-color-filter&#34;&gt;&#xA;    &lt;i class=&#34;fa fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;Lets start with first creating a color filter - an image with just a single color. This is as simple&#xA;as creating a 3-D array and filling each pixel with the same value. In the code below I create an&#xA;array of the same size (682,512,3) as that of the target image and fill each pixel with the color&#xA;red (0,0,255).&lt;/p&gt;</description>
			</item>
			<item>
				<title>Adding text to an image using OpenCV and Python</title>
				<link>https://www.ZKPunk.dev/posts/add-text-image/</link>
				<pubDate>Thu, 22 Aug 2019 23:08:06 -0700</pubDate>
				<guid>https://www.ZKPunk.dev/posts/add-text-image/</guid>
				<description>&lt;p&gt;In a series of upcoming blog posts, I will be using OpenCV to manipulate images. In this post, I will be adding text to an image (below), I took of a Dervish monastery at the beautiful village of Blagaj in Bosnia.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: center&#34;&gt;Resized Original&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: center&#34;&gt;Resized Original w/ text&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: center&#34;&gt;&lt;img src=&#34;https://www.ZKPunk.dev/img/blagaj_resized.jpg&#34; alt=&#34;Blagaj&#34;&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: center&#34;&gt;&lt;img src=&#34;https://www.ZKPunk.dev/img/blagaj_resized_text.jpg&#34; alt=&#34;Blagaj&#34;&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;Lets get started.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Read Image&lt;/li&gt;&#xA;&lt;li&gt;Resize Image by aspect ratio&lt;/li&gt;&#xA;&lt;li&gt;Add text to resized image&lt;/li&gt;&#xA;&lt;li&gt;Save resized image with text&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;1-cv2imread---read-an-image&#34;&gt;&#xA;  1. &lt;code&gt;cv2.imread()&lt;/code&gt; - Read an Image&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#1-cv2imread---read-an-image&#34;&gt;&#xA;    &lt;i class=&#34;fa fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;The function &lt;code&gt;cv2.imread()&lt;/code&gt; takes a path to the image file and reads it into a variable for further computations. You can use &lt;code&gt;cv2.imshow()&lt;/code&gt; to display the image. However, the execution would be so fast,&#xA;that you won&amp;rsquo;t be able to see the picture loaded. Hence, you would want to pause the program while it&amp;rsquo;s displaying the image using &lt;code&gt;cv2.waitKey()&lt;/code&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>WC implementation in Go Lang</title>
				<link>https://www.ZKPunk.dev/posts/wc_implementation_in_golang/</link>
				<pubDate>Mon, 11 Mar 2019 00:21:00 -0800</pubDate>
				<guid>https://www.ZKPunk.dev/posts/wc_implementation_in_golang/</guid>
				<description>&lt;p&gt;Continuing the theme of exploring &lt;a href=&#34;https://golang.org/&#34;&gt;Go Lang&lt;/a&gt;, today I will be writing a simple version&#xA;of the &lt;code&gt;Unix&lt;/code&gt; utility &lt;code&gt;wc&lt;/code&gt; that displays the number of lines, words, and bytes contained in each&#xA;input file.&lt;/p&gt;&#xA;&lt;p&gt;This exploration process will involve the following pieces&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Getting a file name from command line. &lt;a href=&#34;https://golang.org/pkg/os/&#34;&gt;os&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Opening the file for reading. &lt;a href=&#34;https://golang.org/pkg/os/&#34;&gt;os&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Reading the contents of the file. &lt;a href=&#34;https://golang.org/pkg/bufio/&#34;&gt;bufio&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Count the lines, words and bytes. &lt;a href=&#34;https://golang.org/pkg/unicode/&#34;&gt;unicode&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Display the results.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;1-read-filename-from-the-commandline&#34;&gt;&#xA;  1. Read filename from the commandline&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#1-read-filename-from-the-commandline&#34;&gt;&#xA;    &lt;i class=&#34;fa fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h1&gt;&#xA;&lt;p&gt;Any arguments typed after the programs named are passed into the &lt;a href=&#34;https://golang.org/pkg/os/&#34;&gt;&lt;code&gt;os.Args&lt;/code&gt;&lt;/a&gt; array&#xA;with the name of the program accessible at the first index.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Exploring filesystem in golang</title>
				<link>https://www.ZKPunk.dev/posts/exploring_filesystem_in_golang/</link>
				<pubDate>Wed, 06 Mar 2019 00:12:00 -0800</pubDate>
				<guid>https://www.ZKPunk.dev/posts/exploring_filesystem_in_golang/</guid>
				<description>&lt;p&gt;I am currently dabbling in [GoLang]&#xA;&lt;a href=&#34;https://golang.org/&#34;&gt;go-lang&lt;/a&gt; and trying to get familiar with it&amp;rsquo;s syntax and style of programming. I also want to get familiar with the built-in packages for basic tasks witout having to google for basic features.&lt;/p&gt;&#xA;&lt;p&gt;In this post I will be working my way up to building a simple program that can list the files of a given path to it as a command line argument.&lt;/p&gt;&#xA;&lt;h4 id=&#34;1-print-to-console&#34;&gt;&#xA;  1. Print to console&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#1-print-to-console&#34;&gt;&#xA;    &lt;i class=&#34;fa fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&#xA;&lt;p&gt;Lets start with a simple program that can print a statement to the console using the &lt;a href=&#34;https://golang.org/pkg/os/&#34;&gt;&lt;code&gt;&amp;quot;fmt&amp;quot; package&lt;/code&gt;&lt;/a&gt; and the &lt;code&gt;&amp;quot;Println()&amp;quot; fucntion&lt;/code&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>ls implementation in python3</title>
				<link>https://www.ZKPunk.dev/posts/ls_implmentation_in_python3/</link>
				<pubDate>Thu, 28 Feb 2019 00:08:00 -0800</pubDate>
				<guid>https://www.ZKPunk.dev/posts/ls_implmentation_in_python3/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;http://en.wikipedia.org/wiki/Ls&#34;&gt;&lt;strong&gt;&amp;ldquo;ls&amp;rdquo;&lt;/strong&gt;&lt;/a&gt; is unix utility that lists the  files and directories in the current path or a user passed path. In this post we will explore how to achive such a basic implementation if it using python. Lets explore the &lt;strong&gt;&lt;code&gt;ls&lt;/code&gt;&lt;/strong&gt; command line utility.&lt;/p&gt;&#xA;&lt;h3 id=&#34;some-basic-information&#34;&gt;&#xA;  Some basic information&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#some-basic-information&#34;&gt;&#xA;    &lt;i class=&#34;fa fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;First, we execute &lt;strong&gt;&lt;code&gt;ls&lt;/code&gt;&lt;/strong&gt; command line utility to get some preliminary information of a directory. Here is an example of the output from the &lt;strong&gt;&lt;code&gt;ls&lt;/code&gt;&lt;/strong&gt; command on a sample directory.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Using Python&#39;s map() AND reduce()</title>
				<link>https://www.ZKPunk.dev/posts/using_pythons_map_and_reduce/</link>
				<pubDate>Sun, 29 Jan 2012 00:08:00 -0800</pubDate>
				<guid>https://www.ZKPunk.dev/posts/using_pythons_map_and_reduce/</guid>
				<description>&lt;h3 id=&#34;sum-of-the-squares-of-the-first-5-numbers&#34;&gt;&#xA;  Sum of the Squares of the first 5 numbers&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#sum-of-the-squares-of-the-first-5-numbers&#34;&gt;&#xA;    &lt;i class=&#34;fa fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;In this post I will try to use the &lt;code&gt;map()&lt;/code&gt; and &lt;code&gt;reduce()&lt;/code&gt; functions to compute the sum of the squares of the first five numbers. The &lt;code&gt;map()&lt;/code&gt; function takes a function and an iterable as a parameter. The items of the iterable are fed to the function to create a new list. The &lt;code&gt;reduce()&lt;/code&gt; function also takes a function and an iterable as a parameter. However, this takes two arguments cumulatively to the items of iterable, from left to right, so as to reduce the iterable to a single value.&lt;/p&gt;</description>
			</item>
			<item>
				<title>What is memoization?</title>
				<link>https://www.ZKPunk.dev/posts/what_is_memoization/</link>
				<pubDate>Sat, 07 Jan 2012 00:08:00 -0800</pubDate>
				<guid>https://www.ZKPunk.dev/posts/what_is_memoization/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Memoization&#34;&gt;&lt;code&gt;Memoization&lt;/code&gt;&lt;/a&gt; is a computer science concept to optimize programs by avoiding computations that have already been done and to reuse it. This is achieved by storing the computaions in a lookup table and retrieving them if a need for it arrives in a future computation step.&lt;/p&gt;&#xA;&lt;p&gt;Now, lets try to walk this concept using a &lt;a href=&#34;https://en.wikipedia.org/wiki/Fibonacci_number&#34;&gt;&lt;code&gt;Fibonacci series&lt;/code&gt;&lt;/a&gt; where each number in the series is sum of the previous two numbers. In the subsequent code, we are trying to find the value of the N&amp;rsquo;th term in the series.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Traceroute implementation using scapy</title>
				<link>https://www.ZKPunk.dev/posts/traceroute_implementation_using_scapy/</link>
				<pubDate>Wed, 28 Sep 2011 00:08:00 -0800</pubDate>
				<guid>https://www.ZKPunk.dev/posts/traceroute_implementation_using_scapy/</guid>
				<description>&lt;h3 id=&#34;traceroute&#34;&gt;&#xA;  Traceroute&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#traceroute&#34;&gt;&#xA;    &lt;i class=&#34;fa fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;&lt;code&gt;Traceroute&lt;/code&gt; is a network diagnostic utility used for displaying the path taken by a packet to it&amp;rsquo;s destination. It uses the &lt;code&gt;ICMP&lt;/code&gt; protocol to help traverse the path. Each IP packet has an &lt;code&gt;8 bit TTL&lt;/code&gt; field that gets decremented by every router on the path, to prevent the packet from indefinitely circulating the internet (or network).  When the TTL value reaches zero  an ICMP error &amp;lsquo;Time To Live Exceeded&amp;rsquo; is sent back to the sender.  We can use this fact to our advantage by discovering all the hops between the source and the destination.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Dropbox: LAN Sync Protocol</title>
				<link>https://www.ZKPunk.dev/posts/dropbox_lan_sync_protocol/</link>
				<pubDate>Sat, 10 Sep 2011 00:08:00 -0800</pubDate>
				<guid>https://www.ZKPunk.dev/posts/dropbox_lan_sync_protocol/</guid>
				<description>&lt;p&gt;A year ago, I fired up wire shark on my home network to check out the packet flow of the &lt;strong&gt;DHCP process&lt;/strong&gt;. I closed all my browser windows and other chat/im services, and still noticed a lot of chatter on the network. One that got my particular attention was a packet that was related to the popular service dropbox. I had not updated/edited any files recently, so was surprised to see it. I then decided to dig a little more on wire shark and with some google search came to the conclusion that it was a dropbox feature to sync data changes within the local network.&lt;/p&gt;</description>
			</item>
			<item>
				<title>How does DHCP work?</title>
				<link>https://www.ZKPunk.dev/posts/how_does_dhcp_work/</link>
				<pubDate>Sat, 10 Sep 2011 00:08:00 -0800</pubDate>
				<guid>https://www.ZKPunk.dev/posts/how_does_dhcp_work/</guid>
				<description>&lt;h3 id=&#34;what-is-dhcp-&#34;&gt;&#xA;  What is DHCP ?&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#what-is-dhcp-&#34;&gt;&#xA;    &lt;i class=&#34;fa fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;&lt;code&gt;DHCP&lt;/code&gt; is a protocol used to provide an IP address to a device. It is also used to configure additional networking related parameters on the device like subnet mask, router, domain name, and dns server.&lt;/p&gt;&#xA;&lt;h3 id=&#34;why-dhcp-&#34;&gt;&#xA;  Why DHCP ?&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#why-dhcp-&#34;&gt;&#xA;    &lt;i class=&#34;fa fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;&lt;code&gt;DHCP&lt;/code&gt; stands for &lt;code&gt;dynamic host configuration protocol&lt;/code&gt; and so allows a device to get an IP address without any manual intervention as long as the dhcp client is enabled and running on the device.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
