<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/atom.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Posts tagged: homepage</title>
  <id>https://pype.dev/tags/homepage/atom.xml</id>
  <updated>2022-03-23T00:00:00Z</updated>
  <subtitle>All posts with the tag &#34;homepage&#34;</subtitle>
  <link href="https://pype.dev/tags/homepage/" rel="alternate" type="text/html"></link>
  <link href="https://pype.dev/tags/homepage/atom.xml" rel="self" type="application/atom+xml"></link>
  <author>
    <name>Nic Payne</name>
  </author>
  <generator uri="https://github.com/WaylonWalker/markata-go">markata-go</generator>
  <entry>
    <title>Skimpy</title>
    <id>https://pype.dev/skimpy/</id>
    <updated>2022-03-23T00:00:00Z</updated>
    <published>2022-03-23T00:00:00Z</published>
    <link href="https://pype.dev/skimpy/" rel="alternate" type="text/html"></link>
    <summary type="text">I work with data a lot, but the nature of my job isn&#39;t to dive super deep into a small amount of datasets, I&#39;m often jumping between several projects every...</summary>
    <content type="html">&lt;h2 id=&#34;eda&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;EDA&lt;/span&gt; &lt;a href=&#34;#eda&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;I work with data a lot, but the nature of my job isn&amp;rsquo;t to dive super deep into a small amount of datasets,&#xA;I&amp;rsquo;m often jumping between several projects every day and need to just get a super quick glance at some tables to get a high level view.&lt;/p&gt;&#xA;&lt;p&gt;When I&amp;rsquo;m doing more interactive exploration I&amp;rsquo;ve graduated from Jupyter cells with &lt;code&gt;df_N.head()&lt;/code&gt; to using an amazing tool called &lt;a href=&#34;https://www.visidata.org/&#34;&gt;visidata&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;However, Visidata is a terminal based application and I&amp;rsquo;m often in an iPython console&amp;hellip; so is there a way to move even faster for my super quick summary views?&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;yes!&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;skimpy&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Skimpy&lt;/span&gt; &lt;a href=&#34;#skimpy&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;First thing to do is &lt;code&gt;pip install skimpy&lt;/code&gt; and then it&amp;rsquo;s as easy to get some summary stats with &lt;code&gt;skimpy &amp;lt;data&amp;gt;&lt;/code&gt;&lt;/p&gt;&#xA;&lt;img src=&#34;https://cdn.statically.io/gh/pypeaday/images.pype.dev/main/blog-media/skimpy-zsh.png&#34; alt=&#34;Skimpy ZSH&#34; title=&#34;A fancy data summary in the shell&#34; /&gt;&#xA;&lt;p&gt;This is super nice for seeing missing values in particular as well as the distribution shape of the data.&lt;/p&gt;&#xA;&lt;h2 id=&#34;ipython&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;iPython&lt;/span&gt; &lt;a href=&#34;#ipython&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;But wait&amp;hellip; I just said I&amp;rsquo;m normally in an iPython session but that was called from zsh.. If I&amp;rsquo;m hoping back into zsh I might as well use visidata to have more powerful exploration at my fingertips.&#xA;So&amp;hellip; can I see this table quickly without breaking my iPython workflow?&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Of course you can with magic!&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;img src=&#34;https://cdn.statically.io/gh/pypeaday/images.pype.dev/main/blog-media/skimpy-ipython.png&#34; alt=&#34;Skimpy iPython&#34; title=&#34;A fancy data summary in iPython&#34; /&gt;&#xA;&lt;p&gt;The above assumes you&amp;rsquo;re looking at a file, like you would in the terminal.&#xA;&lt;code&gt;skimpy&lt;/code&gt; works even better in iPython with &lt;code&gt;from skimpy import skim&lt;/code&gt; then pass any DataFrame to &lt;code&gt;skim&lt;/code&gt;!&lt;/p&gt;&#xA;&lt;img src=&#34;https://cdn.statically.io/gh/pypeaday/images.pype.dev/main/blog-media/skimpy-ipython2.png&#34; alt=&#34;Skimpy iPython2&#34; title=&#34;A fancy data summary in iPython&#34; /&gt;&#xA;</content>
    <author>
      <name>Nic Payne</name>
      <uri>https://pype.dev</uri>
    </author>
  </entry>
  <entry>
    <title>Wireguard</title>
    <id>https://pype.dev/wireguard/</id>
    <updated>2022-03-12T00:00:00Z</updated>
    <published>2022-03-12T00:00:00Z</published>
    <link href="https://pype.dev/wireguard/" rel="alternate" type="text/html"></link>
    <summary type="text">Virtual Private Networks are a big deal, and this shouldn&#39;t be considered anything even close to a guide on using them. Here are just my notes and some setup...</summary>
    <content type="html">&lt;h2 id=&#34;vpn&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;VPN&lt;/span&gt; &lt;a href=&#34;#vpn&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Virtual Private Networks are a big deal, and this shouldn&amp;rsquo;t be considered anything even close to a guide on using them.&#xA;Here are just my notes and some setup for how I use &lt;a href=&#34;https://www.wireguard.com/&#34;&gt;wireguard&lt;/a&gt; at home.&lt;/p&gt;&#xA;&lt;h2 id=&#34;wireguard&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Wireguard&lt;/span&gt; &lt;a href=&#34;#wireguard&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Wireguard is an awesome peer-to-peer VPN tunnel that makes it really easy for me to get into my home network when I&amp;rsquo;m out and about.&#xA;My main reasons for this are 1. I don&amp;rsquo;t trust public wi-fi and 2. I want to use pi-hole for ad blocking when I&amp;rsquo;m not at home&lt;/p&gt;&#xA;&lt;p&gt;Wireguard can be configured as a &amp;ldquo;peer-to-site&amp;rdquo; VPN tunnel as well.&#xA;My vpn setup let&amp;rsquo;s me jump to various machines on my network from anywhere!&lt;/p&gt;&#xA;&lt;p&gt;I use &lt;a href=&#34;https://pivpn.io/&#34;&gt;pivpn&lt;/a&gt; in a VM that&amp;rsquo;s already running &lt;code&gt;pi-hole&lt;/code&gt; to host my wireguard server.&#xA;It&amp;rsquo;s super easy to setup just by following the instructions on the pivpn site.&lt;/p&gt;&#xA;&lt;p&gt;The reason I like it is that I have a nice &lt;code&gt;cli&lt;/code&gt; for managing wireguard configs.&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;dumbledore@pihole-vpn:~$ pivpn&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;::: Control all PiVPN specific functions!&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;:::&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;::: Usage: pivpn &amp;lt;command&amp;gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;option&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;:::&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;::: Commands:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;:::    -a, add              Create a client conf profile&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;:::    -c, clients          List any connected clients to the server&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;:::    -d, debug            Start a debugging session &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; having trouble&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;:::    -l, list             List all clients&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;:::   -qr, qrcode           Show the qrcode of a client &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; use with the mobile app&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;:::    -r, remove           Remove a client&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;:::  -off, off              Disable a user&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;:::   -on, on               Enable a user&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;:::    -h, &lt;span class=&#34;nb&#34;&gt;help&lt;/span&gt;             Show this &lt;span class=&#34;nb&#34;&gt;help&lt;/span&gt; dialog&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;:::    -u, uninstall        Uninstall pivpn from your system!&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;:::   -up, update           Updates PiVPN Scripts&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;:::   -bk, backup           Backup VPN configs and user profiles&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;When I&amp;rsquo;m ready to add a new client to my &lt;code&gt;wg&lt;/code&gt; network, it&amp;rsquo;s as easy as &lt;code&gt;pivpn add&lt;/code&gt; and follow the instructions.&#xA;The easiest part here is that you&amp;rsquo;ll be given a QR code in the terminal that you can just scan with the client (like a smart phone) and you&amp;rsquo;ll have your wireguard config handled by the app (oh right, download the wireguard app) in no time!&lt;/p&gt;&#xA;</content>
    <author>
      <name>Nic Payne</name>
      <uri>https://pype.dev</uri>
    </author>
  </entry>
</feed>