<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Ben's Full Stack Entrepreneur Blog]]></title><description><![CDATA[Ben's Full Stack Entrepreneur Blog]]></description><link>https://blog.benpmd.com</link><image><url>https://cdn.hashnode.com/res/hashnode/image/upload/v1660221458556/grWJkWp5I.png</url><title>Ben&apos;s Full Stack Entrepreneur Blog</title><link>https://blog.benpmd.com</link></image><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Apr 2026 18:02:25 GMT</lastBuildDate><atom:link href="https://blog.benpmd.com/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[What does Svelte look like? Basic Svelte Code Examples]]></title><description><![CDATA[I created this post for future reference, with my own examples as I was following along some basic Svelte tutorials that can be found here ( https://svelte.dev/tutorial/ )
Svelt script for first letter uppercase/capital
<!-- App.svelte -->
<script>
l...]]></description><link>https://blog.benpmd.com/what-does-svelte-look-like-basic-svelte-code-examples</link><guid isPermaLink="true">https://blog.benpmd.com/what-does-svelte-look-like-basic-svelte-code-examples</guid><category><![CDATA[Svelte]]></category><category><![CDATA[Web Development]]></category><category><![CDATA[Frontend Development]]></category><category><![CDATA[Frontend frameworks]]></category><category><![CDATA[frontend]]></category><dc:creator><![CDATA[Benjamin Papadakis]]></dc:creator><pubDate>Tue, 07 Dec 2021 23:18:23 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1638919051512/c4dENxi1G.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I created this post for future reference, with my own examples as I was following along some basic Svelte tutorials that can be found here ( https://svelte.dev/tutorial/ )</p>
<h1 id="heading-svelt-script-for-first-letter-uppercasecapital">Svelt script for first letter uppercase/capital</h1>
<pre><code><span class="hljs-operator">&lt;</span><span class="hljs-operator">!</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span> App.svelte <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">&gt;</span>
<span class="hljs-operator">&lt;</span>script<span class="hljs-operator">&gt;</span>
let name <span class="hljs-operator">=</span> <span class="hljs-string">'hashnode'</span>;

<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">capitalizeFirstLetter</span>(<span class="hljs-params"><span class="hljs-keyword">string</span></span>) </span>{
  <span class="hljs-keyword">return</span> <span class="hljs-keyword">string</span>.charAt(<span class="hljs-number">0</span>).toUpperCase() <span class="hljs-operator">+</span> <span class="hljs-keyword">string</span>.slice(<span class="hljs-number">1</span>);
}
<span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>script<span class="hljs-operator">&gt;</span>

<span class="hljs-operator">&lt;</span>h1<span class="hljs-operator">&gt;</span>Hello {capitalizeFirstLetter(name)}<span class="hljs-operator">!</span><span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>h1<span class="hljs-operator">&gt;</span>
</code></pre><p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1638916235398/cfOmi0PMv.png" alt="image.png" /></p>
<hr />
<h1 id="heading-dynamic-attributes-example-with-a-random-image">Dynamic attributes example with a random image</h1>
<pre><code><span class="hljs-operator">&lt;</span><span class="hljs-operator">!</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span> App.svelte <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">&gt;</span>
<span class="hljs-operator">&lt;</span>script<span class="hljs-operator">&gt;</span>
    let src <span class="hljs-operator">=</span> <span class="hljs-string">'https://picsum.photos/200/200'</span>;
    let alt <span class="hljs-operator">=</span> <span class="hljs-string">'Some random image'</span>;
<span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>script<span class="hljs-operator">&gt;</span>
<span class="hljs-operator">&lt;</span>h1<span class="hljs-operator">&gt;</span>Image <span class="hljs-number">1</span><span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>h1<span class="hljs-operator">&gt;</span>
<span class="hljs-operator">&lt;</span>img alt<span class="hljs-operator">=</span>{alt} src<span class="hljs-operator">=</span>{src}<span class="hljs-operator">&gt;</span>
<span class="hljs-operator">&lt;</span>h1<span class="hljs-operator">&gt;</span>Image <span class="hljs-number">2</span><span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>h1<span class="hljs-operator">&gt;</span>
<span class="hljs-operator">&lt;</span>img {alt} {src}<span class="hljs-operator">&gt;</span>
</code></pre><p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1638917013142/EOjqRQljp.png" alt="image.png" /></p>
<hr />
<h1 id="heading-adding-css-to-a-component">Adding CSS to a component</h1>
<pre><code><span class="hljs-operator">&lt;</span><span class="hljs-operator">!</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span> App.svelte <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">&gt;</span>
<span class="hljs-operator">&lt;</span>style<span class="hljs-operator">&gt;</span>
    span {
        color: blue;
        font<span class="hljs-operator">-</span>family: sans<span class="hljs-operator">-</span>serif;
    }
<span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>style<span class="hljs-operator">&gt;</span>

<span class="hljs-operator">&lt;</span>h1<span class="hljs-operator">&gt;</span>Hi <span class="hljs-operator">&lt;</span>span<span class="hljs-operator">&gt;</span>Hashnode<span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>span<span class="hljs-operator">&gt;</span><span class="hljs-operator">!</span><span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>h1<span class="hljs-operator">&gt;</span>
</code></pre><p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1638917258634/LPTNaULFI.png" alt="image.png" /></p>
<hr />
<h1 id="heading-nested-components-with-scoped-styles">Nested components with scoped styles</h1>
<pre><code><span class="hljs-operator">&lt;</span><span class="hljs-operator">!</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span> App.svelte <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">&gt;</span>
<span class="hljs-operator">&lt;</span>script<span class="hljs-operator">&gt;</span>
    <span class="hljs-keyword">import</span> <span class="hljs-title">Nested</span> <span class="hljs-title"><span class="hljs-keyword">from</span></span> <span class="hljs-string">'./Nested.svelte'</span>;
<span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>script<span class="hljs-operator">&gt;</span>

<span class="hljs-operator">&lt;</span>style<span class="hljs-operator">&gt;</span>
    span {
        color: blue;
        font<span class="hljs-operator">-</span>family: sans<span class="hljs-operator">-</span>serif;
    }
<span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>style<span class="hljs-operator">&gt;</span>

<span class="hljs-operator">&lt;</span>h1<span class="hljs-operator">&gt;</span>Hi <span class="hljs-operator">&lt;</span>span<span class="hljs-operator">&gt;</span>Hashnode<span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>span<span class="hljs-operator">&gt;</span><span class="hljs-operator">!</span><span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>h1<span class="hljs-operator">&gt;</span>
<span class="hljs-operator">&lt;</span>Nested<span class="hljs-operator">/</span><span class="hljs-operator">&gt;</span>
</code></pre><pre><code><span class="hljs-operator">&lt;</span><span class="hljs-operator">!</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span> Nested.svelte <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">&gt;</span>
<span class="hljs-operator">&lt;</span>style<span class="hljs-operator">&gt;</span>
    span {
        color: green;
    }
<span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>style<span class="hljs-operator">&gt;</span>
<span class="hljs-operator">&lt;</span>h2<span class="hljs-operator">&gt;</span>Hello fellow <span class="hljs-operator">&lt;</span>span<span class="hljs-operator">&gt;</span>reader<span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>span<span class="hljs-operator">&gt;</span><span class="hljs-operator">!</span><span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>h2<span class="hljs-operator">&gt;</span>
</code></pre><p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1638917794142/zxVvMXRUw.png" alt="image.png" /></p>
<hr />
<h1 id="heading-nested-components-with-global-styles">Nested components with global styles</h1>
<pre><code><span class="hljs-operator">&lt;</span><span class="hljs-operator">!</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span> App.svelte <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">&gt;</span>
<span class="hljs-operator">&lt;</span>script<span class="hljs-operator">&gt;</span>
    <span class="hljs-keyword">import</span> <span class="hljs-title">Nested</span> <span class="hljs-title"><span class="hljs-keyword">from</span></span> <span class="hljs-string">'./Nested.svelte'</span>;
<span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>script<span class="hljs-operator">&gt;</span>

<span class="hljs-operator">&lt;</span>style<span class="hljs-operator">&gt;</span>
    :global(span) {
        color: blue;
        font<span class="hljs-operator">-</span>family: sans<span class="hljs-operator">-</span>serif;
    }
<span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>style<span class="hljs-operator">&gt;</span>

<span class="hljs-operator">&lt;</span>h1<span class="hljs-operator">&gt;</span>Hi <span class="hljs-operator">&lt;</span>span<span class="hljs-operator">&gt;</span>Hashnode<span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>span<span class="hljs-operator">&gt;</span><span class="hljs-operator">!</span><span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>h1<span class="hljs-operator">&gt;</span>
<span class="hljs-operator">&lt;</span>Nested<span class="hljs-operator">/</span><span class="hljs-operator">&gt;</span>
</code></pre><pre><code><span class="hljs-operator">&lt;</span><span class="hljs-operator">!</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span> Nested.svelte <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">&gt;</span>
<span class="hljs-operator">&lt;</span>h2<span class="hljs-operator">&gt;</span>Hello fellow <span class="hljs-operator">&lt;</span>span<span class="hljs-operator">&gt;</span>reader<span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>span<span class="hljs-operator">&gt;</span><span class="hljs-operator">!</span><span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>h2<span class="hljs-operator">&gt;</span>
</code></pre><p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1638918767850/DFe3T9rY7.png" alt="image.png" /></p>
<hr />
<h1 id="heading-html-tags-remember-to-sanitize-them-b4-displaying-them">HTML tags / Remember to sanitize them b4 displaying them</h1>
<pre><code><span class="hljs-operator">&lt;</span><span class="hljs-operator">!</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span> App.svelte <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">&gt;</span>
<span class="hljs-operator">&lt;</span>script<span class="hljs-operator">&gt;</span>
    let <span class="hljs-keyword">string</span> <span class="hljs-operator">=</span> `Withount html tag <span class="hljs-operator">&lt;</span>strong<span class="hljs-operator">&gt;</span>HTML CONTENT<span class="hljs-operator">!</span><span class="hljs-operator">!</span><span class="hljs-operator">!</span><span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>strong<span class="hljs-operator">&gt;</span>`;
    let string2 <span class="hljs-operator">=</span> `With html tag <span class="hljs-operator">&lt;</span>strong<span class="hljs-operator">&gt;</span>HTML CONTENT<span class="hljs-operator">!</span><span class="hljs-operator">!</span><span class="hljs-operator">!</span><span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>strong<span class="hljs-operator">&gt;</span>`;
<span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>script<span class="hljs-operator">&gt;</span>

<span class="hljs-operator">&lt;</span>p<span class="hljs-operator">&gt;</span>{<span class="hljs-keyword">string</span>}<span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>p<span class="hljs-operator">&gt;</span>
<span class="hljs-operator">&lt;</span>p<span class="hljs-operator">&gt;</span>{@html string2}<span class="hljs-operator">&lt;</span><span class="hljs-operator">/</span>p<span class="hljs-operator">&gt;</span> <span class="hljs-operator">&lt;</span><span class="hljs-operator">!</span><span class="hljs-operator">-</span><span class="hljs-operator">-</span> <span class="hljs-built_in">this</span> still needs sanitization <span class="hljs-operator">-</span><span class="hljs-operator">-</span><span class="hljs-operator">&gt;</span>
</code></pre><p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1638918405908/2Ij7hNmZY_.png" alt="image.png" /></p>
]]></content:encoded></item><item><title><![CDATA[Time and space complexity]]></title><description><![CDATA[Assume we have 2 different sets of code written differently but solve the same problem and run like this:
{ Code 1 }
# after execution:
runtime: 3 seconds
memory allocated: 20 GB
{ Code 2 }
# after execution:
runtime: 40 seconds
memory allocated: 1 G...]]></description><link>https://blog.benpmd.com/time-and-space-complexity</link><guid isPermaLink="true">https://blog.benpmd.com/time-and-space-complexity</guid><category><![CDATA[algorithms]]></category><category><![CDATA[Data Science]]></category><category><![CDATA[data structures]]></category><category><![CDATA[introduction]]></category><dc:creator><![CDATA[Benjamin Papadakis]]></dc:creator><pubDate>Sat, 04 Dec 2021 10:36:43 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1638614594441/s9k5yc35L.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Assume we have 2 different sets of code written differently but solve the same problem and run like this:</p>
<pre><code>{ <span class="hljs-string">Code</span> <span class="hljs-number">1</span> }
<span class="hljs-comment"># after execution:</span>
<span class="hljs-attr">runtime:</span> <span class="hljs-number">3</span> <span class="hljs-string">seconds</span>
<span class="hljs-attr">memory allocated:</span> <span class="hljs-number">20</span> <span class="hljs-string">GB</span>
</code></pre><pre><code>{ <span class="hljs-string">Code</span> <span class="hljs-number">2</span> }
<span class="hljs-comment"># after execution:</span>
<span class="hljs-attr">runtime:</span> <span class="hljs-number">40</span> <span class="hljs-string">seconds</span>
<span class="hljs-attr">memory allocated:</span> <span class="hljs-number">1</span> <span class="hljs-string">GB</span>
</code></pre><p>Which do you think is the better code?</p>
<p>What is a way of measuring which code is better?</p>
<p>On the one hand, for the human senses and logic, readability could be a determining factor. Meaning how easily do you understand what the code does just by looking at it.</p>
<p>On the other hand, it can also be scored on "how much time it needs to run until it's finished". However, because the time it needs to run is relative to the hardware of the computer, we will have to go an extra step and take out the time factor and think in terms of operations, instead of time. So although we call this complexity of operations <strong>time complexity</strong> it has more to do with the computational complexity. So let's try explaining this again.</p>
<p>"Time complexity" refers to the computational complexity of an algorithm's execution time. Assuming that each operation takes a set amount of time, time complexity can be determined by counting how many basic operations the algorithm performs. As a result, the algorithm's execution time and the number of basic operations it performs are assumed to be proportional. (Hopefully, you didn't get lost in the last sentence.)</p>
<p>Another way of measuring code is by <strong>space complexity</strong>. Space complexity is the amount of memory space needed to run the code. In other words, when an algorithm completes running, it is the amount of memory it had to take up to solve the computational problem.</p>
<p>From the two examples above it depends on what we measure.</p>
<p><code>Code 1</code> runs much much faster but needs more memory. So when talking about time complexity this one is better.</p>
<p><code>Code 2</code> needs much more time but required a lot less memory. So when talking about space complexity this one is better.</p>
<pre><code>{ <span class="hljs-string">Code</span> <span class="hljs-number">1</span> }
<span class="hljs-comment"># after execution:</span>
<span class="hljs-attr">runtime:</span> <span class="hljs-number">3</span> <span class="hljs-string">seconds</span>
<span class="hljs-attr">memory allocated:</span> <span class="hljs-number">20</span> <span class="hljs-string">GB</span>
</code></pre><pre><code>{ <span class="hljs-string">Code</span> <span class="hljs-number">2</span> }
<span class="hljs-comment"># after execution:</span>
<span class="hljs-attr">runtime:</span> <span class="hljs-number">40</span> <span class="hljs-string">seconds</span>
<span class="hljs-attr">memory allocated:</span> <span class="hljs-number">1</span> <span class="hljs-string">GB</span>
</code></pre>]]></content:encoded></item><item><title><![CDATA[Hello Javascript with Google Dev Tools. How to run and learn Javascript Code using Google Dev Tools.]]></title><description><![CDATA[Download and install the Google Chrome browser if you don't already have it installed
Open the dev tools with F12 or by following the picture below



For better control open the dev tools in a separate window



Then you can fullscreen it and naviga...]]></description><link>https://blog.benpmd.com/hello-javascript-with-google-dev-tools-how-to-run-and-learn-javascript-code-using-google-dev-tools</link><guid isPermaLink="true">https://blog.benpmd.com/hello-javascript-with-google-dev-tools-how-to-run-and-learn-javascript-code-using-google-dev-tools</guid><category><![CDATA[JavaScript]]></category><category><![CDATA[learning]]></category><category><![CDATA[#howtos]]></category><dc:creator><![CDATA[Benjamin Papadakis]]></dc:creator><pubDate>Sat, 04 Dec 2021 09:25:21 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1638609838393/xKKKiSgaY.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<ul>
<li>Download and install the Google Chrome browser if you don't already have it installed</li>
<li>Open the dev tools with F12 or by following the picture below</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1638608149188/POK2B_FCo.png" alt="image.png" /></p>
<ul>
<li>For better control open the dev tools in a separate window</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1638608297676/Pc0HHpDRl.png" alt="image.png" /></p>
<ul>
<li>Then you can fullscreen it and navigate to the sources menu</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1638608404855/G2usEPkx1.png" alt="image.png" /></p>
<ul>
<li>Then go to snippets</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1638608479796/wNxlXQGBO.png" alt="image.png" /></p>
<ul>
<li><p>Click "New snippet" and name it whatever you wish. I'll name it "Hello Javascript"</p>
</li>
<li><p>Type in the following code:</p>
</li>
</ul>
<pre><code><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">basicFunction</span>(<span class="hljs-params">first, second, border, link</span>) </span>{    
    <span class="hljs-keyword">return</span> border <span class="hljs-operator">+</span> first <span class="hljs-operator">+</span> link <span class="hljs-operator">+</span> second <span class="hljs-operator">+</span> border;
}

let var1 <span class="hljs-operator">=</span> <span class="hljs-string">'Hello'</span>
let var2 <span class="hljs-operator">=</span> <span class="hljs-string">'Javascript'</span>
let sides <span class="hljs-operator">=</span> <span class="hljs-string">'!!'</span>
let between <span class="hljs-operator">=</span> <span class="hljs-string">' '</span>

let result <span class="hljs-operator">=</span> basicFunction(first<span class="hljs-operator">=</span>var1, second<span class="hljs-operator">=</span>var2, border<span class="hljs-operator">=</span>sides, link<span class="hljs-operator">=</span>between);

console.log(result)
</code></pre><p>Click the run icon/button</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1638609657159/VXR_Q2QkW.png" alt="image.png" /></p>
<p>Notice the output in the console</p>
<pre><code><span class="hljs-operator">!</span><span class="hljs-operator">!</span>Hello Javascript<span class="hljs-operator">!</span><span class="hljs-operator">!</span>
</code></pre>]]></content:encoded></item><item><title><![CDATA[What a website for a business really is and why it is critical to choose a designer who knows about conversion rates]]></title><description><![CDATA[A company's success or failure may be determined by the ability of a website to effectively communicate its message, encourage customers to do certain activities, and promote its products or services through various marketing channels.  If a company ...]]></description><link>https://blog.benpmd.com/what-a-website-for-a-business-really-is-and-why-it-is-critical-to-choose-a-designer-who-knows-about-conversion-rates</link><guid isPermaLink="true">https://blog.benpmd.com/what-a-website-for-a-business-really-is-and-why-it-is-critical-to-choose-a-designer-who-knows-about-conversion-rates</guid><category><![CDATA[Web Design]]></category><category><![CDATA[marketing]]></category><category><![CDATA[Web Development]]></category><category><![CDATA[business]]></category><dc:creator><![CDATA[Benjamin Papadakis]]></dc:creator><pubDate>Sat, 27 Nov 2021 20:34:12 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1638045214180/EGJ61kPzc.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A company's success or failure may be determined by the ability of a website to effectively communicate its message, encourage customers to do certain activities, and promote its products or services through various marketing channels.  If a company doesn't have the correct website, it might go under, but if it does, it can see a big rise in sales and profitability.</p>
<p>For this reason, companies can fail when they hire someone to create their website on a budget. They might choose someone with a competitive price but will overlook their lack of knowledge on this topic. Sure they will be able to deliver a website but it will not necessarily be a website that can lead to a high conversion rate.</p>
<p>Websites aren’t just headings, images, and buttons. Neither are they meant to be eye-candy. Websites need to communicate the right message to the right audience and guide the user to what action they must take next to get what they need from the business it is representing.</p>
<p>It is up to the designer of making their client understand the importance of the right website for profitable conversion rates. They need to educate their clients on various aspects in that manner and help them choose a designer who understands this. This also allows the designer to separate themselves from most freelancers who do just website building without taking into account conversion rates.</p>
]]></content:encoded></item><item><title><![CDATA[Tips on how to learn Python by yourself]]></title><description><![CDATA[Learn python by finding a tutorial series in a form that fits your learning style and stick to it. It can be a video course, a book, or something in between. Apply what you are being taught and mix it up while you do so with examples of your own. To ...]]></description><link>https://blog.benpmd.com/tips-on-how-to-learn-python-by-yourself</link><guid isPermaLink="true">https://blog.benpmd.com/tips-on-how-to-learn-python-by-yourself</guid><category><![CDATA[python beginner]]></category><category><![CDATA[Python]]></category><category><![CDATA[Learning Journey]]></category><category><![CDATA[learning]]></category><dc:creator><![CDATA[Benjamin Papadakis]]></dc:creator><pubDate>Sat, 27 Nov 2021 11:47:13 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1638012331724/Svt9J_EAV.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Learn python by finding a tutorial series in a form that fits your learning style and stick to it. It can be a video course, a book, or something in between. Apply what you are being taught and mix it up while you do so with examples of your own. To profit from your journey make sure to apply the following tips.</strong></p>
<h1 id="heading-practice-coding-daily">Practice coding daily</h1>
<p>When it comes to mastering a new programming language, maintaining a level of consistency is critical. The best way to learn to code is to make it a daily habit. Having a daily coding habit can help you build muscle memory, which has a significant impact on programming. Follow along with tutorials, either video, or text and type it all out on your own (instead of copying and pasting). From experience, I can tell you that the best thing you can do is have a project of your own and practice solving it every day.</p>
<h1 id="heading-give-emphasis-on-python-fundamentals">Give emphasis on Python fundamentals</h1>
<p>You must address the essentials of the subject. Working through complicated tutorials, projects, or challenges will be difficult if you don't comprehend the fundamental concepts and terminology used. Some of the important ones follow.</p>
<ul>
<li>Variables and variable types</li>
<li>Classes and objects</li>
<li>Operators</li>
<li>Lists, dictionaries, and sets</li>
<li>Conditions</li>
<li>Loops</li>
<li>Functions</li>
<li>String operations</li>
<li>String formatting</li>
<li>List comprehensions</li>
</ul>
<h1 id="heading-google-it">Google it!</h1>
<p>One of the easiest methods to solve problems when working on Python exercises, examples, and projects is to learn from other Python developers. Run a search on the internet using terms related to your mistake. StackOverFlow, Stack Exchange, and Quora are just a handful of the prominent community-based forums where you may get answers to common questions about programming. </p>
<h1 id="heading-join-a-social-group">Join a social group</h1>
<p>Join a Python group on Reddit, Facebook, or any other network you might be using. If you can't find the answer on the results of Google then you can always post in one of these groups. There are many developers who will gladly help you out with your code and will happily explain to you anything you don't understand.</p>
<h1 id="heading-python-shell-or-print">Python shell or print()</h1>
<p>The interactive Python shell is a great way to learn about fundamental Python data structures (such as lists or dictionaries) for the first time or to troubleshoot an application. Another way of understanding your code better is by using print all over your code.</p>
<h1 id="heading-solve-bugs-and-understand-them">Solve bugs and understand them</h1>
<p>Encountering a problem in your code is something we have to address. When you begin building sophisticated programs (let's call them that), you will encounter flaws in your code at some point, and the code will either create errors or not execute the way you want it to. These are called "bugs". It is not only normal, it is part of the daily routine for every programmer. So don't let bugs get the better of you. Instead, take pleasure in these situations to learn why the code isn't running as it should and even revisit some of the fundamentals of python.</p>
<h1 id="heading-practice-on-paper-and-create-notes">Practice on paper and create notes</h1>
<p>Studies show that writing down your thoughts is a good method for retaining information over the long term. If you're interested in working as a full-time software developer, you'll want to practice writing code on a sheet of paper. Writing down your ideas by hand might help you organize your thoughts before switching to a computer. Also, summarizing what you've learned can be essential. This can take the form of a cheat sheet, which will help you in the future tremendously. Ideally, I'd suggest you keep notes in your hashnode blog. You'll always have access from everywhere, and other people will benefit from your notes as well. Don't forget that you can always benefit from notes and cheat sheets made by others if you search for them.</p>
<h1 id="heading-educate-others">Educate others</h1>
<p>Learning something is best done through teaching it. In the case of Python, or any other programming language really, this is very beneficial. Writing blog entries describing new ideas, making videos outlining what you've learned, or just the act of preparing tutorials by yourself are all excellent options for this. Heck, you might even write a book while you're at it! The most important part of teaching is that it helps you strengthen and identify any gaps in your knowledge.</p>
]]></content:encoded></item><item><title><![CDATA[What is visual hierarchy and why is it important in web design?]]></title><description><![CDATA[Visual hierarchy is the order of importance we perceive of the elements of a particular scene.
In web design, it is important because when applied correctly we can guide the eye of the user to what we want them to notice first in our website.
Large h...]]></description><link>https://blog.benpmd.com/what-is-visual-hierarchy-and-why-is-it-important-in-web-design</link><guid isPermaLink="true">https://blog.benpmd.com/what-is-visual-hierarchy-and-why-is-it-important-in-web-design</guid><category><![CDATA[Web Design]]></category><category><![CDATA[webdesign]]></category><dc:creator><![CDATA[Benjamin Papadakis]]></dc:creator><pubDate>Fri, 26 Nov 2021 05:26:54 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1637904667988/9X8WLL8yrz.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Visual hierarchy is the order of importance we perceive of the elements of a particular scene.</p>
<p>In web design, it is important because when applied correctly we can guide the eye of the user to what we want them to notice first in our website.</p>
<h1 id="heading-large-headings">Large headings</h1>
<p><strong>strong letters</strong> 
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1637903264084/c_RTsL-Nu.png" alt="image.png" />
Are all some examples of how to catch the attention of the user.</p>
<p>Just remember not to overdo it. Because if you do, the user won't know where to look first, and they would rather leave your site than try to figure out what is what.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1637903526426/FLbcD8Jmp.png" alt="image.png" /></p>
<p>So, emphasize what you really have to! Start with <strong>what the site is all about</strong> and then emphasize the <strong>call to action</strong>. I might provide better examples in a future post. For now, I'll give it my best just by using text.</p>
<p>E.g.</p>
<h1 id="heading-cybersecyrity-consulting-for-small-to-medium-businesses">Cybersecyrity consulting for small to medium businesses</h1>
<p>Blah blah blah. Blah blah.</p>
<p><strong>&gt;  <a target="_blank" href>Schedule meeting now</a>  &lt;</strong></p>
]]></content:encoded></item><item><title><![CDATA[The best way to learn how to program. From idea to  design, from design to tutorial, from tutorial to development.]]></title><description><![CDATA[I am convinced that a very effective way to learn how to program is getting a quick introduction from a few tutorials and by following along with just doing what you are being shown. Then, as soon as you can, start your own project . Work on it paral...]]></description><link>https://blog.benpmd.com/the-best-way-to-learn-how-to-program-from-idea-to-design-from-design-to-tutorial-from-tutorial-to-development</link><guid isPermaLink="true">https://blog.benpmd.com/the-best-way-to-learn-how-to-program-from-idea-to-design-from-design-to-tutorial-from-tutorial-to-development</guid><category><![CDATA[General Programming]]></category><category><![CDATA[Programming Blogs]]></category><category><![CDATA[Programming Tips]]></category><category><![CDATA[learning]]></category><category><![CDATA[Learning Journey]]></category><dc:creator><![CDATA[Benjamin Papadakis]]></dc:creator><pubDate>Wed, 10 Nov 2021 14:22:18 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1636471963150/Ux-dfkXMC.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I am convinced that a very effective way to learn how to program is getting a quick introduction from a few tutorials and by following along with just doing what you are being shown. Then, as soon as you can, <strong>start your own project </strong>. Work on it parallel to your learning.</p>
<p>In the past I've tried taking up so many programming languages, so many times. In the end I would get too bored after too many tutorials and I'd just abandon it.</p>
<p>The past year however my approach was different. First I had an idea, then I would design it on paper or I would wire-frame it and then I would search on how to do that. I tried hiring someone from Fiverr but my budget wasn't enough so it didn't really lead where I wanted. Still, it was very beneficial for me because I had to create wire-frames for the then hired developer. This created a deadline for me so I had to do a lot of brainstorming and designing and researching in a very short time. In the end I had a better understanding of what I have to do.</p>
<p>When you have a real project in mind during your learning path, it motivates you to learn the necessary technologies to realize that idea. I had to understand how databases work, what the back end and what the front end is. Etc. etc. There are countless courses and videos online that can help you reach your goal. Also do not underestimate books. They have been a tremendous help as well.</p>
<p>Three courses I would recommend are the ones below, if you want to get started with programming. (I won't post them as affiliate links because I don't want you to believe that I have a monetary incentive with giving away this information.)</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1636551473781/-PYCejUuU.png" alt="image.png" /></p>
<p>[ Pro-tip on getting courses on Udemy. Open a new private browser window there will be a sale going on. You can also try this with different browsers and see if there is a better price with some other browser. ]</p>
<p>If you notice I never completed them. Why? Because in my world courses aren't meant to be finished, they are meant to guide you in the right direction. Once I felt that I knew enough I moved on to what I thought I should learn next that will bring me closer to my goal.</p>
<p>Then I kind of stumbled across the Codemy courses, https://codemy.com/ . I was lured into buying a lifetime subscription through his YouTube videos. You can find a coupon code somewhere in his videos description. In the end it was like 25 or 40 $. I don't remember the exact amount. Again I never really finished a course.</p>
<p>After these courses I was lead to Django. In particular I liked the crash course of just Django which is free ( https://learn.justdjango.com/ ). </p>
<p>Last week I paid $69 on an text course that shows you how to combine Nuxt with Djano ( https://djangowaves.com/django_vuejs_course/ ). After the first few chapters I decided to put it on hold because I realized I need to fill some gaps. Thus, I continued with something more fundamental, that is Vue js.</p>
<p>Again, always while I was doing the courses, I was practicing on my own projects. Yes, I do follow along. But then I stop, sit back, think if I already know enough to start working on my project.</p>
<p>With Django I made my personal study app. Now with Vue js I want to create an improved version of the same study app. I might even publish it one day if it becomes good enough.</p>
<p>Sometimes I'm thinking maybe I shouldn't have taken all these shortcuts. Maybe I should be more focused on some specific courses-tutorials until I finish them. But I'll forget them anyways, if I don't use the knowledge acquired. Unfortunately, I don't have the time luxury as well. In the end if you don't create anything why bother at all?</p>
<p>Go ahead and search on YouTube "tutorial hell". You'll find some interesting videos you might like. I liked the one of Joshua Fluke which you can find here https://www.youtube.com/watch?v=-GB9qKbmGko</p>
]]></content:encoded></item><item><title><![CDATA[Install Vue CLI, start a Vue Project and add Vuetify]]></title><description><![CDATA[Download and install  Node js 
Install vue with the following command through the terminal using the command:
npm install -g @vue/cli
Start a Vue Project
Make sure you are in the folder where you want to create the project and run in the terminal:
vu...]]></description><link>https://blog.benpmd.com/install-vue-cli-start-a-vue-project-and-add-vuetify</link><guid isPermaLink="true">https://blog.benpmd.com/install-vue-cli-start-a-vue-project-and-add-vuetify</guid><category><![CDATA[Vue.js]]></category><category><![CDATA[Node.js]]></category><dc:creator><![CDATA[Benjamin Papadakis]]></dc:creator><pubDate>Mon, 08 Nov 2021 19:34:49 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1637904753796/Afr62BQNV.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Download and install  <a target="_blank" href="https://nodejs.org/">Node js</a> </p>
<p>Install vue with the following command through the terminal using the command:</p>
<pre><code><span class="hljs-built_in">npm</span> install -g @vue/cli
</code></pre><p>Start a Vue Project</p>
<p>Make sure you are in the folder where you want to create the project and run in the terminal:</p>
<pre><code>vue <span class="hljs-keyword">create</span> projectname
</code></pre><p>Select your prefered preset</p>
<pre><code>Vue CLI v4.5.15
? Please pick a preset: (<span class="hljs-keyword">Use</span> arrow <span class="hljs-keyword">keys</span>)  
&gt; <span class="hljs-keyword">Default</span> ([Vue <span class="hljs-number">2</span>] babel, eslint)
  <span class="hljs-keyword">Default</span> (Vue <span class="hljs-number">3</span>) ([Vue <span class="hljs-number">3</span>] babel, eslint) 
  Manually <span class="hljs-keyword">select</span> features
</code></pre><p>Move to the created project directory</p>
<pre><code><span class="hljs-built_in">cd</span> projectname
</code></pre><p>To add Vuetify run</p>
<pre><code>vue <span class="hljs-keyword">add</span> vuetify
</code></pre><p>Start the test server</p>
<pre><code><span class="hljs-built_in">cd</span> processqueue
npm run serve
</code></pre>]]></content:encoded></item><item><title><![CDATA[How to clone a Node js repository and install the required dependencies and start the project]]></title><description><![CDATA[Have git and node js installed
Clone the git repo with the following command using the terminal. [ Example git link: https://github.com/username/directory.git ]
git clone https://github.com/username/directory.git
Go into the the directory
cd director...]]></description><link>https://blog.benpmd.com/how-to-clone-a-node-js-repository-and-install-the-required-dependencies-and-start-the-project</link><guid isPermaLink="true">https://blog.benpmd.com/how-to-clone-a-node-js-repository-and-install-the-required-dependencies-and-start-the-project</guid><category><![CDATA[Node.js]]></category><category><![CDATA[Git]]></category><category><![CDATA[GitHub]]></category><dc:creator><![CDATA[Benjamin Papadakis]]></dc:creator><pubDate>Sun, 07 Nov 2021 21:17:13 GMT</pubDate><content:encoded><![CDATA[<p>Have git and node js installed</p>
<p>Clone the git repo with the following command using the terminal. [ Example git link: <code>https://github.com/username/directory.git</code> ]</p>
<pre><code>git <span class="hljs-keyword">clone</span> https:<span class="hljs-comment">//github.com/username/directory.git</span>
</code></pre><p>Go into the the directory</p>
<pre><code>cd <span class="hljs-built_in">directory</span>
</code></pre><p>Then run</p>
<pre><code><span class="hljs-built_in">npm</span> install
</code></pre><p>Finally to start the project</p>
<pre><code><span class="hljs-built_in">npm</span> run serve
</code></pre>]]></content:encoded></item><item><title><![CDATA[Which programming language I chose for rapid prototype development? A tribute to the Django Web Framework]]></title><description><![CDATA[A while ago I took it upon myself to create my own study app. It should run on my laptop, manipulate and format text (setting text to bold, underlining, etc.), with clipboard features (that are copy & paste) and image manipulation within the text (co...]]></description><link>https://blog.benpmd.com/which-programming-language-i-chose-for-rapid-prototype-development-a-tribute-to-the-django-web-framework</link><guid isPermaLink="true">https://blog.benpmd.com/which-programming-language-i-chose-for-rapid-prototype-development-a-tribute-to-the-django-web-framework</guid><category><![CDATA[Python]]></category><category><![CDATA[Django]]></category><dc:creator><![CDATA[Benjamin Papadakis]]></dc:creator><pubDate>Sun, 07 Nov 2021 15:14:40 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1637904844966/pJmZBn1KC.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A while ago I took it upon myself to create my own study app. It should run on my laptop, manipulate and format text (setting text to bold, underlining, etc.), with clipboard features (that are copy &amp; paste) and image manipulation within the text (copying and pasting images). All this so I could create nicely formatted notes in combination with reviewable questions and answers.</p>
<h2 id="heading-why-did-i-want-to-create-my-own-study-app">Why did I want to create my own study app?</h2>
<p>I tried so many existing study apps. Anki, RemNote and many others. Unfortunately they never did exactly what I wanted them to do. Often the notes would be limited to the platform and I could not back them up in a way I wanted. I could not manipulate the whole way the notes are represented if I didn't like it. RemNote was the closest thing to what I was seeking. However, the way you review your questions was too limited for my taste and I didn't like the question-answer format. Also, it was very important for me to be able to print my notes, if need be.</p>
<h2 id="heading-why-i-chose-python">Why I chose Python</h2>
<p>At some point I took up python for 2 main reasons</p>
<ul>
<li>among other things it is a science oriented language i.e. it will be useful for me if I want to do something with data collection, statistics, artificial intelligence</li>
<li>it is very freaking easy to learn</li>
</ul>
<h2 id="heading-trying-out-different-python-extensions">Trying out different Python extensions</h2>
<p>Once I started consuming the Python language, I took it upon myself to create a sort-of flashcard app using a package for Python called "tkinter" (packages are "extensions" for a language, meaning they are pre-programmed code shared by other people so other programmers can reuse their code). With the tkinter package, a programmer can create a program that has a visible user interface (see image below). So I was able to create a window with buttons and text boxes for the user, so they can interact with the program in an intuitive way. It was a good learning experience but tkinter had a lot of limitations. For one, image manipulation in text is very difficult to implement and you need to code everything by hand. At that time I chose the app name "Ugly Note Generator", which was true for the most part. It looked like this:
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1636293025409/dHyIc8egp.png" alt="image.png" /></p>
<p>After realizing the limitations of tkinter I did some more digging and started giving the "Kivy" framework a shot. It is an open source, MIT licensed, cross-platform framework for Python. Again it allowed me to create an interface for the user. It was similarly painful to code in this framework, and thus, I came across the Django framework.</p>
<h2 id="heading-django-to-the-rescue">Django to the rescue</h2>
<p>If what I felt for Django when I stumbled across it wasn't love at the first sight, I really don't know what is. I'll quote them right from their  <a target="_blank" href="https://www.djangoproject.com/">website</a>:</p>
<blockquote>
<p>Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design. Built by experienced developers, it takes care of much of the hassle of web development, so you can focus on writing your app without needing to reinvent the wheel. It’s free and open source.</p>
</blockquote>
<p>It follows a "batteries included" philosophy. Thus, many things that I would have to code manually, come with Django out-of-the-box. A login system, database integration (for storing, retrieving and updating data), etc. etc. The best part being that it is a web framework. Anything I create using Django can be extended to the web at some point. Not only that, but the visual interface for the user is a combination of HTML, CSS and Javascript. This triad is not too difficult to master and one can create beautiful interfaces almost effortlessly (see images below).</p>
<p>In the end, using Python with Django, I managed to create a satisfying study app which I now often use to do some "serious studying". I import the slides of a lecture and then I create review questions for each slide along with any other comment I see fit. When the time is right, I can revise the studied material through the review questions and I can mark how well I know their answers.</p>
<p>I am grateful to the Django community and I am almost sure that without their framework I wouldn't have a working prototype by now.</p>
<p>Let's end this article with some screenshots of the said prototype (note that almost all of my notes are in Greek).</p>
<p>Notebook section</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1636299343727/vJAYhSj-8.png" alt="image.png" /></p>
<p>Chapters of a notebook</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1636295390010/jGHulLCY6.png" alt="image.png" /></p>
<p>Viewing notes in focused mode</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1636295471044/TnZWqQHCT.png" alt="image.png" /></p>
<p>Creating new review questions example</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1636295508546/1OkMQ0kJG.png" alt="image.png" /></p>
<p>Reviewing the questions. Color-coding represents confidence level</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1636295716396/N8N2m45v8.png" alt="image.png" /></p>
]]></content:encoded></item><item><title><![CDATA[How to start a new Vue project]]></title><description><![CDATA[Install Node js

Install Vue js with npm install vue in terminal

Run in terminal the following command to start a new project
vue create projectname
instead of projectname use whatever you want

Then select whichever option suits you
Vue CLI v4.5.15...]]></description><link>https://blog.benpmd.com/how-to-start-a-new-vue-project</link><guid isPermaLink="true">https://blog.benpmd.com/how-to-start-a-new-vue-project</guid><category><![CDATA[Vue.js]]></category><category><![CDATA[vue]]></category><dc:creator><![CDATA[Benjamin Papadakis]]></dc:creator><pubDate>Sat, 06 Nov 2021 23:01:51 GMT</pubDate><content:encoded><![CDATA[<ol>
<li><p>Install Node js</p>
</li>
<li><p>Install Vue js with <code>npm install vue</code> in terminal</p>
</li>
<li><p>Run in terminal the following command to start a new project</p>
<pre><code>vue <span class="hljs-keyword">create</span> projectname
</code></pre><p>instead of <code>projectname</code> use whatever you want</p>
</li>
<li><p>Then select whichever option suits you</p>
<pre><code>Vue CLI v4.5.15
? Please pick a preset: (<span class="hljs-keyword">Use</span> arrow <span class="hljs-keyword">keys</span>)  
<span class="hljs-keyword">Default</span> ([Vue <span class="hljs-number">2</span>] babel, eslint)         
&gt; <span class="hljs-keyword">Default</span> (Vue <span class="hljs-number">3</span>) ([Vue <span class="hljs-number">3</span>] babel, eslint) 
Manually <span class="hljs-keyword">select</span> features
</code></pre></li>
</ol>
]]></content:encoded></item><item><title><![CDATA[Create a virtual environment with Python's venv on Windows]]></title><description><![CDATA[Have python installed / install python

Create virtual environment
In windows run from console (cmd)
python -m venv venv

Activate virtual environment
venv\Scripts\activate

Then Install packages, e.g. Django
pip install django]]></description><link>https://blog.benpmd.com/create-a-virtual-environment-with-pythons-venv-on-windows</link><guid isPermaLink="true">https://blog.benpmd.com/create-a-virtual-environment-with-pythons-venv-on-windows</guid><category><![CDATA[Python]]></category><category><![CDATA[Django]]></category><dc:creator><![CDATA[Benjamin Papadakis]]></dc:creator><pubDate>Fri, 05 Nov 2021 18:25:14 GMT</pubDate><content:encoded><![CDATA[<p>Have python installed / install python</p>
<ol>
<li><p>Create virtual environment
In windows run from console (cmd)</p>
<pre><code><span class="hljs-attribute">python</span> -m venv venv
</code></pre></li>
<li><p>Activate virtual environment</p>
<pre><code>venv\Scripts\activate
</code></pre></li>
<li><p>Then Install packages, e.g. Django</p>
<pre><code><span class="hljs-attribute">pip</span> install django
</code></pre></li>
</ol>
]]></content:encoded></item></channel></rss>