<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>JeffProd | Blog</title>
    <link>https://en.jeffprod.com/blog/</link>
    <description>Recent posts on JeffProd.com</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Fri, 22 Oct 2021 01:38:39 +0200</lastBuildDate>
    
        <atom:link href="https://en.jeffprod.com/blog/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>Web scraping by watching requests</title>
      <link>https://en.jeffprod.com/blog/2021/web-scraping-by-watching-requests/</link>
      <pubDate>Fri, 22 Oct 2021 01:38:39 +0200</pubDate>
      
      <guid>https://en.jeffprod.com/blog/2021/web-scraping-by-watching-requests/</guid>
      <description>&lt;p&gt;Web scraping is a technique used to extract content from websites in order to archive data in a structured way. The data is extracted directly from the source code. The work consists in searching it in a jungle of HTML tags.&lt;/p&gt;
&lt;p&gt;It is however much easier to retrieve this data in a structured format. This is possible by intercepting web requests between your browser and the website.&lt;/p&gt;
&lt;p&gt;This method works, among others, on social networks or classifieds websites (but make sure to respect their terms of use).&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>How to clone a PC and boot it into a virtual machine</title>
      <link>https://en.jeffprod.com/blog/2021/how-to-clone-a-pc-and-boot-it-into-a-virtual-machine/</link>
      <pubDate>Sun, 20 Jun 2021 09:36:58 +0200</pubDate>
      
      <guid>https://en.jeffprod.com/blog/2021/how-to-clone-a-pc-and-boot-it-into-a-virtual-machine/</guid>
      <description>&lt;p&gt;Backing up a complete computer and booting it into a virtual machine is possible with just a few Linux commands.
The tools are free and open source.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Create your own i3/sway status bar with some bash and python</title>
      <link>https://en.jeffprod.com/blog/2020/create-your-own-i3-sway-status-bar/</link>
      <pubDate>Sun, 21 Jun 2020 11:19:31 +0200</pubDate>
      
      <guid>https://en.jeffprod.com/blog/2020/create-your-own-i3-sway-status-bar/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://i3wm.org/&#34;&gt;i3&lt;/a&gt; is a tiling window manager on Linux. It supports tiling, stacking, and tabbing layouts, which it handles dynamically.
The advantage is that you no longer waste time organizing your windows with the mouse.
With &lt;code&gt;i3&lt;/code&gt; the layout is automatic. The windows open by occupying the available space.
Using customizable keyboard shortcuts, you can move them around, display them full screen, arrange them horizontally or vertically.
This is much more convenient and faster than using the mouse.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Svelte JS : VSCode configuration and internationalization</title>
      <link>https://en.jeffprod.com/blog/2020/svelte-configuration-de-vscode-et-internationalisation/</link>
      <pubDate>Wed, 06 May 2020 10:04:05 +0200</pubDate>
      
      <guid>https://en.jeffprod.com/blog/2020/svelte-configuration-de-vscode-et-internationalisation/</guid>
      <description>&lt;img class=&#34;py-2&#34; src=&#34;https://en.jeffprod.com/img/blog/svelte.png#floatright&#34; alt=&#34;svelte&#34; width=&#34;64&#34; height=&#34;64&#34;&gt;
  
&lt;p&gt;Svelte is a set of tools to develop Javascript applications (yet another new JS framework). It is a direct competitor of React or VueJS. After having tried it, I confirm that this project is to be followed with interest.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Automating tasks in a virtualized OS</title>
      <link>https://en.jeffprod.com/blog/2019/automating-tasks-in-a-virtualized-os/</link>
      <pubDate>Thu, 05 Dec 2019 11:06:16 +0100</pubDate>
      
      <guid>https://en.jeffprod.com/blog/2019/automating-tasks-in-a-virtualized-os/</guid>
      <description>&lt;p&gt;Or how to perform actions in a virtual machine without leaving the terminal&amp;hellip;&lt;/p&gt;
&lt;p&gt;From Linux, I was looking for a way to automate the compilation of a software on Windows, and without using &lt;a href=&#34;https://www.winehq.org/&#34;&gt;Wine&lt;/a&gt; which is not an official Microsoft product.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.virtualbox.org/&#34;&gt;VirtualBox&lt;/a&gt; is a multi-platform virtualization software. It comes with &lt;a href=&#34;https://www.virtualbox.org/manual/ch08.html&#34;&gt;VBoxManage&lt;/a&gt;, a command line tool for managing virtual machines.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Web scraping with Electron</title>
      <link>https://en.jeffprod.com/blog/2019/web-scraping-with-electron/</link>
      <pubDate>Sat, 09 Mar 2019 08:12:35 +0100</pubDate>
      
      <guid>https://en.jeffprod.com/blog/2019/web-scraping-with-electron/</guid>
      <description>&lt;p&gt;Web scraping is a technique for extracting content from websites in order to archive data in a structured way. Be careful, however, to respect the terms of use of the website concerned.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://electronjs.org&#34;&gt;Electron&lt;/a&gt; is a framework for creating native Windows/Mac/Linux applications with web technologies (Javascript, HTML, CSS). It includes the browser &lt;a href=&#34;https://www.chromium.org/&#34;&gt;Chromium&lt;/a&gt;, fully configurable.&lt;/p&gt;
&lt;p&gt;Is there a better way to code a portable application with a graphical user interface to scrape a given site ?&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Rate limiting API requests</title>
      <link>https://en.jeffprod.com/blog/2018/rate-limiting-api-requests/</link>
      <pubDate>Sat, 22 Dec 2018 14:25:59 +0100</pubDate>
      
      <guid>https://en.jeffprod.com/blog/2018/rate-limiting-api-requests/</guid>
      <description>&lt;p&gt;You have released a public API and you want to avoid abuse ? It is possible to limit access to a specific number of requests within periods of time. For example, if a user sends two successive requests when you only allow one request every 5 seconds, he will get the following answer :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Rate limit exceeded, please try again in 4 seconds.&lt;/p&gt;&lt;/blockquote&gt;</description>
    </item>
    
    <item>
      <title>Build your own Hugo website search engine</title>
      <link>https://en.jeffprod.com/blog/2018/build-your-own-Hugo-website-search-engine/</link>
      <pubDate>Wed, 05 Sep 2018 07:36:39 +0200</pubDate>
      
      <guid>https://en.jeffprod.com/blog/2018/build-your-own-Hugo-website-search-engine/</guid>
      <description>&lt;p&gt;The goal is to build a static site search :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;without installing any JS module on your computer&lt;/li&gt;
&lt;li&gt;without indexing stop words, i.e. words like &amp;ldquo;and, or, with, the&amp;hellip;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;indexing words once by page (no duplicates)&lt;/li&gt;
&lt;li&gt;your next created pages will be added automatically, without any additional work.&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    
    <item>
      <title>Solving a Rubik&#39;s pocket cube with a graph database</title>
      <link>https://en.jeffprod.com/blog/2017/solving-a-rubik-s-pocket-cube-with-a-graph-database/</link>
      <pubDate>Fri, 17 Mar 2017 19:14:01 +0200</pubDate>
      
      <guid>https://en.jeffprod.com/blog/2017/solving-a-rubik-s-pocket-cube-with-a-graph-database/</guid>
      <description>&lt;p&gt;A pocket cube can have &lt;a href=&#34;https://en.wikipedia.org/wiki/Pocket_Cube&#34;&gt;3 674 160&lt;/a&gt; different positions.
For a &amp;ldquo;No-SQL&amp;rdquo; database, it&amp;rsquo;s a piece of cake.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://neo4j.com/&#34;&gt;Neo4j&lt;/a&gt; is a graph database. In this tool, each node could be a cube position, and eges from one node to another could be a move.&lt;/p&gt;</description>
    </item>
    
  </channel>
</rss>
