<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Sahil Hawal</title>
    <description>The latest articles on Forem by Sahil Hawal (@sahilhawal).</description>
    <link>https://forem.com/sahilhawal</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1264836%2Fee99005a-3bee-41a1-a355-99dfc9166d46.jpeg</url>
      <title>Forem: Sahil Hawal</title>
      <link>https://forem.com/sahilhawal</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/sahilhawal"/>
    <language>en</language>
    <item>
      <title>IMO: MacOS is better than Linux /PC for developers</title>
      <dc:creator>Sahil Hawal</dc:creator>
      <pubDate>Mon, 11 Aug 2025 07:27:33 +0000</pubDate>
      <link>https://forem.com/sahilhawal/imo-macos-is-better-than-linux-pc-for-developers-20a5</link>
      <guid>https://forem.com/sahilhawal/imo-macos-is-better-than-linux-pc-for-developers-20a5</guid>
      <description>&lt;p&gt;Hey, I am a Software engineer with around 6+ YOE at this point. This is my take on Windows vs Linux vs macOS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My Journey&lt;/strong&gt;&lt;br&gt;
I have been using a PC since my childhood, starting with Windows. When I joined a company, I was introduced to macOS.&lt;br&gt;
I immediately fell in love with the smooth and rich experience of Apple’s hardware paired with macOS. Everything felt so smooth and buttery. On top of that, the development experience was far better since it is based on Unix, similar to Linux.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Experience with Linux&lt;/strong&gt;&lt;br&gt;
While working on a Mac provided by the company, my old Windows laptop started showing performance issues, frequently lagging and freezing. So, I formatted it and installed Pop!_OS. The performance improvement was massive, and the development experience also got better since it was a Linux-based OS.&lt;/p&gt;

&lt;p&gt;The freedom to configure, modify, and personalise your setup is amazing. It gives you a sense of ownership and belonging that feels very satisfying. But at the same time, it can be a headache when you get stuck. Even though the Linux community is strong, I often found myself spending a long time troubleshooting certain issues. It might be a skill issue on my part, but you cannot deny that the learning curve for Linux is steeper than for the other two operating systems.&lt;/p&gt;

&lt;p&gt;For me, the best OS choice became obvious: macOS, especially with Apple’s hardware.&lt;/p&gt;

&lt;p&gt;Another drawback of Linux-based systems is the limited app support compared to Windows and macOS. For example, the Comet browser by Perplexity is available for Windows and macOS, but not for Ubuntu.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros &amp;amp; Cons&lt;/strong&gt;&lt;br&gt;
To summarise, here are the pros and cons of each in terms of web development:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Windows&lt;/strong&gt;&lt;br&gt;
Pros &amp;amp; Cons: (Skipping for now) I will cover this in another post. TLDR; I dont like it :)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Linux&lt;/strong&gt;&lt;br&gt;
Pros: Environment similar to where your code will be deployed, freedom to modify and configure your machine as you please, FREE FREE FREE.&lt;br&gt;
Cons: Steep learning curve, lower app availability compared to the other two.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;macOS&lt;/strong&gt;&lt;br&gt;
Pros: Unix-based development environment, wide availability of tools and applications, smooth and buttery experience, excellent battery backup.&lt;br&gt;
easy access to tools like bash, zsh, and brew&lt;/p&gt;

&lt;p&gt;Cons: Expensive AF, less freedom to customise, costly repairs and upgrades.&lt;/p&gt;

&lt;p&gt;At the end of the day the best OS depends on personal preference and workflow needs. For me, macOS is the perfect balance between performance, reliability, and development experience.&lt;/p&gt;

</description>
      <category>developer</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>GCP: Storage Sharing Options for Virtual Machines</title>
      <dc:creator>Sahil Hawal</dc:creator>
      <pubDate>Thu, 25 Jan 2024 08:28:17 +0000</pubDate>
      <link>https://forem.com/sahilhawal/gcp-storage-sharing-options-for-virtual-machines-285p</link>
      <guid>https://forem.com/sahilhawal/gcp-storage-sharing-options-for-virtual-machines-285p</guid>
      <description>&lt;p&gt;While working on a project involving the processing of a large number of photos within a pipeline, we encountered a challenge: efficiently sharing storage across multiple VMs on Google Cloud Platform (GCP). We explored various options to address this issue:&lt;/p&gt;

&lt;h2&gt;
  
  
  1. GCP Cloud Storage
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Pros:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Scalability:&lt;/strong&gt; GCP Cloud Storage provides virtually unlimited scalability to meet growing storage needs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Global Accessibility:&lt;/strong&gt; Storage buckets can be accessed from any location, promoting collaboration across different regions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Managed Service:&lt;/strong&gt; Google Cloud Storage is a fully managed service, reducing administrative overhead.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Cons:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Latency:&lt;/strong&gt; Accessing data from Cloud Storage may introduce some latency compared to local storage solutions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost:&lt;/strong&gt; While the first 5 GB of storage is free, costs can escalate based on usage, potentially making it expensive for large-scale storage needs.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  2. Persisted Disk Sharing
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Pros:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Performance:&lt;/strong&gt; Shared disks on n2 machines can provide high-performance storage solutions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integration:&lt;/strong&gt; Seamless integration with other GCP services for a comprehensive cloud computing environment.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Cons:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cost:&lt;/strong&gt; N2 machines can be expensive, making this solution less cost-effective for smaller budgets.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Limited Sharing:&lt;/strong&gt; Only two VMs can share a single disk, which may not be sufficient for larger deployments.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3. Filestore
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Pros:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Managed NFS:&lt;/strong&gt; Google Cloud Filestore offers a fully managed Network File System (NFS), simplifying storage management.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Performance:&lt;/strong&gt; Filestore is optimized for high throughput and low latency, making it suitable for various workloads.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Cons:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cost:&lt;/strong&gt; Filestore can be relatively expensive compared to other storage options, especially for large storage requirements.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Limited Protocols:&lt;/strong&gt; Filestore primarily supports NFS, which may not be suitable for environments requiring different protocols.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  4. NFS (Network File System)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Pros:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Compatibility:&lt;/strong&gt; NFS is widely supported across various operating systems and platforms.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Simplicity:&lt;/strong&gt; Setting up NFS for sharing storage is relatively straightforward and well-documented.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Cons:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Performance:&lt;/strong&gt; NFS may not be ideal for high-throughput scenarios and may introduce latency compared to other solutions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security:&lt;/strong&gt; NFS relies on the underlying network for security, and proper configuration is crucial to avoid potential vulnerabilities.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After initially implementing GCP Cloud Storage, we encountered a significant performance drop, prompting us to explore alternative solutions. Recognizing the impact of the latency on our processing time, which initially took 2 minutes and 40 seconds to handle 1000 images with a total size of 1.48 GB, we decided to shift to a different approach. &lt;/p&gt;

&lt;p&gt;To address cost considerations, we chose to manage NFS ourselves rather than relying on GCP's managed service. The transition to our self-managed NFS solution resulted in remarkable improvements, reducing the processing time to an impressive 1 minute and 15 seconds for the same set of 1000 images. This not only demonstrated the efficacy of our chosen approach but also underscored its cost-effectiveness. &lt;/p&gt;

&lt;p&gt;For those interested in setting up NFS on a GCP VM and achieving similar performance gains, numerous resources are available in articles and documentation to guide you through the process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Selecting the right storage sharing method for VMs depends on factors such as performance requirements, budget constraints, and specific use cases. Each option has its advantages and drawbacks, and careful consideration is essential to ensure optimal resource utilization in cloud environments. By understanding the pros and cons of GCP Cloud Storage, persisted disk sharing, Filestore, and NFS, cloud architects can make informed decisions when designing storage solutions for virtualized environments.&lt;/p&gt;

&lt;p&gt;Good reads:&lt;br&gt;
What is NFS? - &lt;a href="https://www.atera.com/blog/what-is-nfs-understanding-the-network-file-system/"&gt;https://www.atera.com/blog/what-is-nfs-understanding-the-network-file-system/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Object vs File Storage - &lt;a href="https://blog.purestorage.com/purely-informational/object-vs-file-storage-when-and-why-to-use-them/"&gt;https://blog.purestorage.com/purely-informational/object-vs-file-storage-when-and-why-to-use-them/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feel free to reach out if you have any questions or need further clarification.&lt;/p&gt;

</description>
      <category>googlecloud</category>
      <category>webdev</category>
      <category>devops</category>
      <category>cloud</category>
    </item>
  </channel>
</rss>
