<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="https://softkube.com"  xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>SOFTKUBE</title>
 <link>https://softkube.com</link>
 <description></description>
 <language>en</language>
<item>
 <title>Displaying the Current Running Process and its Arguments in the Window Title Bar of WezTerm</title>
 <link>https://softkube.com/blog/displaying-current-running-process-and-its-arguments-window-title-bar-wezterm</link>
 <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;h2&gt;Introduction&lt;/h2&gt;
&lt;p&gt;When working with multiple terminal sessions, quickly identifying which process is running in each window becomes critical. By dynamically setting the window title to include the current running foreground process and its arguments, developers, system administrators, and power users can improve their workflows and multitasking.&lt;/p&gt;
&lt;p&gt;Our terminal of choice is &lt;a href=&quot;https://github.com/wezterm/wezterm&quot; target=&quot;_blank&quot;&gt;WezTerm&lt;/a&gt;, a powerful cross-platform terminal emulator and multiplexer written in Rust, extensible via Lua, and of course, fully open source.&lt;/p&gt;
&lt;h2&gt;Solution&lt;/h2&gt;
&lt;p&gt;WezTerm allows dynamic window titles using the &lt;a href=&quot;https://wezterm.org/config/lua/window-events/format-window-title.html&quot; target=&quot;_blank&quot;&gt;format-window-title&lt;/a&gt; event which is emitted when the text for the window title needs to be recomputed.&lt;/p&gt;
&lt;p&gt;The tricky part was getting the foreground process info from the currently active panel within the currently active tab. Apparently, the pane object that is passed to the event does not include that information and we had to get it in a different way. Check the code below to see how we get it via the main WezTerm object.&lt;/p&gt;
&lt;p&gt;Of course you need to set this up in your &lt;a href=&quot;https://wezterm.org/config/files.html&quot; target=&quot;_blank&quot;&gt;WezTerm config file&lt;/a&gt; properly as detailed in the official docs.&lt;/p&gt;
&lt;p&gt;[CODE]&lt;/p&gt;
&lt;h2&gt;Reference Non-Optimal Solution&lt;/h2&gt;
&lt;p&gt;This was written while developing the main solution above and here we present the lessons learned from it.&lt;/p&gt;
&lt;p&gt;The below code was used before we discover we could just get the pane object inside format-window-title handler. The pane object passed in the arguments is a simplified version of the full object and does not support the method called get_foreground_process_info() which is needed.&lt;/p&gt;
&lt;p&gt;This was working well but of course the latest version works much better and is improved and it just uses wezterm.mux.get_pane(tab.active_pane.pane_id) to solve the issue we were trying to work around here.&lt;/p&gt;
&lt;p&gt;Kept as reference to see how you can use arrays and how to avoid using zero based indices in Lua which is an edge case to always keep in mind.&lt;/p&gt;
&lt;p&gt;[CODE]&lt;/p&gt;
&lt;p&gt;Happy coding!&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-tags field-type-taxonomy-term-reference field-label-above clearfix&quot;&gt;&lt;h3 class=&quot;field-label&quot;&gt;Tags: &lt;/h3&gt;&lt;ul class=&quot;links&quot;&gt;&lt;li class=&quot;taxonomy-term-reference-0&quot;&gt;&lt;a href=&quot;/blog/development&quot;&gt;Development&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-1&quot;&gt;&lt;a href=&quot;/blog/cli&quot;&gt;CLI&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-2&quot;&gt;&lt;a href=&quot;/blog/code&quot;&gt;Code&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</description>
 <pubDate>Wed, 18 Feb 2026 20:14:28 +0000</pubDate>
 <dc:creator>mario.awad</dc:creator>
 <guid isPermaLink="false">101 at https://softkube.com</guid>
</item>
<item>
 <title>How to Inspect Dynamic and Disappearing UI Elements with the DevTools Debugger</title>
 <link>https://softkube.com/blog/how-inspect-dynamic-and-disappearing-ui-elements-devtools-debugger</link>
 <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;h2&gt;Introduction&lt;/h2&gt;
&lt;p&gt;If you have ever tried to inspect an autocomplete dropdown, tooltip, popup, or similar dynamic elements in DevTools, you&#039;ve probably hit this frustrating problem of them disappearing. This usually happens because the UI element is tied to focus, hover, or keyboard input listeners.&lt;/p&gt;
&lt;p&gt;The moment you hit CTRL+SHIFT+C or even try any other way to click around and open the inspector tool, the element or widget disappears. Even pressing F8 in the sources panel to pause JavaScript execution can sometimes fail since the focus now moves away from the element.&lt;/p&gt;
&lt;p&gt;Debugging such elements will always be a bit annoying, but with this timeout pattern to open the debugger after a small time delay, you&#039;ll be on your way to properly inspecting any dynamic element.&lt;/p&gt;
&lt;h2&gt;Solution&lt;/h2&gt;
&lt;p&gt;The most reliable way I have found to inspect such UI elements is to pause JavaScript execution via the browser debugger after a few seconds of delay with this code snippet.&lt;/p&gt;
&lt;p&gt;[CODE]&lt;/p&gt;
&lt;p&gt;Here&#039;s how to use it:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open DevTools with the F12 hotkey and then go to the console panel.&lt;/li&gt;
&lt;li&gt;Paste the code snippet from above then hit enter.&lt;/li&gt;
&lt;li&gt;Quickly trigger your dynamic element by typing or interacting with it. If you need more than 3 seconds to do so you can adjust the timeout value accordingly.&lt;/li&gt;
&lt;li&gt;When the timeout triggers, the debugger now stops JavaScript execution and your element will stay in its current state no matter how you interact with the browser page or DevTools.&lt;/li&gt;
&lt;li&gt;Switch to the elements panel and freely inspect the element styles now.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Happy coding and good luck!&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-tags field-type-taxonomy-term-reference field-label-above clearfix&quot;&gt;&lt;h3 class=&quot;field-label&quot;&gt;Tags: &lt;/h3&gt;&lt;ul class=&quot;links&quot;&gt;&lt;li class=&quot;taxonomy-term-reference-0&quot;&gt;&lt;a href=&quot;/blog/development&quot;&gt;Development&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-1&quot;&gt;&lt;a href=&quot;/blog/design&quot;&gt;Design&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-2&quot;&gt;&lt;a href=&quot;/blog/code&quot;&gt;Code&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</description>
 <pubDate>Mon, 22 Dec 2025 16:40:20 +0000</pubDate>
 <dc:creator>mario.awad</dc:creator>
 <guid isPermaLink="false">100 at https://softkube.com</guid>
</item>
<item>
 <title>Gaining Access to a Legacy Google Apps Account When Phone Verification Fails</title>
 <link>https://softkube.com/blog/gaining-access-legacy-google-apps-account-when-phone-verification-fails</link>
 <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;If you have an old admin account for Google Apps and you can&#039;t sign in, try this little trick that just worked for us.&lt;/p&gt;
&lt;p&gt;We had a phone number set as our primary verification method, but when we went to sign in, we were getting an error that the system was unable to send us a verification message and that our mobile number was recently changed; even though it was not.&lt;/p&gt;
&lt;p&gt;As such, we could not get a verification code to sign in. We spent multiple hours searching for a solution, but none worked. Until we decided to try and use the &lt;a href=&quot;https://accounts.google.com/signin/recovery&quot; target=&quot;_blank&quot;&gt;account recovery feature of Google&lt;/a&gt; and we just went through the steps. We basically changed nothing since we already know our username and password.&lt;/p&gt;
&lt;p&gt;As soon as that was done, Google Apps now properly sent us a verification code to our mobile, and we were able to successfully sign in. Hurray!&lt;/p&gt;
&lt;p&gt;Maybe our Google Apps account is ancient, and the recovery process refreshed some necessary snippets in their databases, allowing them to properly send the code. Maybe it was something else. In all cases, it did work.&lt;/p&gt;
&lt;p&gt;Hope this helps anyone who might be having the same issue.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-tags field-type-taxonomy-term-reference field-label-above clearfix&quot;&gt;&lt;h3 class=&quot;field-label&quot;&gt;Tags: &lt;/h3&gt;&lt;ul class=&quot;links&quot;&gt;&lt;li class=&quot;taxonomy-term-reference-0&quot;&gt;&lt;a href=&quot;/blog/google-apps&quot;&gt;Google Apps&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-1&quot;&gt;&lt;a href=&quot;/blog/email&quot;&gt;Email&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-2&quot;&gt;&lt;a href=&quot;/blog/security&quot;&gt;Security&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</description>
 <pubDate>Fri, 26 Jul 2024 10:09:29 +0000</pubDate>
 <dc:creator>mario.awad</dc:creator>
 <guid isPermaLink="false">99 at https://softkube.com</guid>
</item>
<item>
 <title>Custom Theme Migration from Drupal 9 to Drupal 10</title>
 <link>https://softkube.com/blog/custom-theme-migration-drupal-9-drupal-10</link>
 <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;The upgrade path from Drupal 9 to Drupal 10 depends on the modules and themes you have installed and on the custom ones your team have developed.&lt;/p&gt;
&lt;p&gt;Following the &lt;a href=&quot;https://www.drupal.org/docs/upgrading-drupal/upgrading-from-drupal-8-or-later/how-to-upgrade-from-drupal-9-to-drupal-10&quot;&gt;official guide&lt;/a&gt; of this upgrade will hopefully take you through the process and resolve all the issues you might encounter.&lt;/p&gt;
&lt;p&gt;In our case we had a custom built theme started on Drupal 9 and it did follow all the latest standards and recommendations of the time. After the migration process completed successfully we kept seeing warnings in our admin status reports about the stable theme being deprecated. We could not find a straightforward guide to handle this issue and hence after a bit of research and resolution we are writing this guide. We have taken a few ideas from &lt;a href=&quot;https://www.drupal.org/node/3309392&quot;&gt;this change record&lt;/a&gt; about the stable theme being removed from core.&lt;/p&gt;
&lt;p&gt;Below is a step by step guide on how to fully migrate your custom coded theme from Drupal 9 to Drupal 10 and removing all warnings from the status report.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Remove the dependency on the stable theme. In your theme.info.yml file do set the base theme attribute to false instead of stable.&lt;/li&gt;
&lt;li&gt;Copy any needed template files from the stable theme to your custom theme. In our case, our theme was fully custom and hence this step was not necessary. This might be a complex and time consuming step depending on how you wrote your theme.&lt;/li&gt;
&lt;li&gt;Refresh caches and check your new theme and it should be working properly in Drupal 10. However, a warning about the stable theme being deprecated persists in the status report. This is because the stable theme is still enabled but is hidden from the appearance section. It was enabled previously since your theme was based on it but it does not get auto disabled.&lt;/li&gt;
&lt;li&gt;To disable the stable theme, open the /web/core/themes/stable/stable.info.yml file and set the hidden attribute to false. Now uninstall the stable theme from the appearance section of Drupal. Set the hidden attribute back to true for consistency.&lt;/li&gt;
&lt;li&gt;Refresh caches and the warning should be gone from your status reports.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Congratulations on your proper upgrade to Drupal 10 and enjoy the new features!&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-tags field-type-taxonomy-term-reference field-label-above clearfix&quot;&gt;&lt;h3 class=&quot;field-label&quot;&gt;Tags: &lt;/h3&gt;&lt;ul class=&quot;links&quot;&gt;&lt;li class=&quot;taxonomy-term-reference-0&quot;&gt;&lt;a href=&quot;/blog/development&quot;&gt;Development&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-1&quot;&gt;&lt;a href=&quot;/blog/drupal&quot;&gt;Drupal&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-2&quot;&gt;&lt;a href=&quot;/blog/open-source&quot;&gt;Open Source&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</description>
 <pubDate>Fri, 17 Feb 2023 14:05:11 +0000</pubDate>
 <dc:creator>mario.awad</dc:creator>
 <guid isPermaLink="false">98 at https://softkube.com</guid>
</item>
<item>
 <title>How to Change the Most Recent Git Commit Message</title>
 <link>https://softkube.com/blog/how-change-most-recent-git-commit-message</link>
 <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;When programming and working with your preferred version control system, Git of course, you might find yourself committing a change with a misspelled or wrong message.&lt;/p&gt;
&lt;p&gt;Luckily for us developers, there is a simple Git command to change the most recent local commit which is usually the one you want to modify. Just run the below command in your repo&#039;s directory.&lt;/p&gt;
&lt;p&gt;[CODE]&lt;/p&gt;
&lt;p&gt;If you need to modify a commit that has been pushed online or older or multiple commits then check the &lt;a href=&quot;https://docs.github.com/en/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/changing-a-commit-message&quot;&gt;GitHub Docs on Changing a Commit Message&lt;/a&gt; or this article by &lt;a href=&quot;https://linuxize.com/post/change-git-commit-message/&quot;&gt;Linuxize on How to Change a Git Commit Message&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As a bonus, you might want to look into this excellent article by &lt;a href=&quot;https://devconnected.com/how-to-git-commit-with-message/&quot;&gt;DevConnected on How To Write Good Git Commit Messages&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Good luck and have fun programming.&lt;/p&gt;
&lt;p&gt;[IMAGE]&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-tags field-type-taxonomy-term-reference field-label-above clearfix&quot;&gt;&lt;h3 class=&quot;field-label&quot;&gt;Tags: &lt;/h3&gt;&lt;ul class=&quot;links&quot;&gt;&lt;li class=&quot;taxonomy-term-reference-0&quot;&gt;&lt;a href=&quot;/blog/development&quot;&gt;Development&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-1&quot;&gt;&lt;a href=&quot;/blog/cli&quot;&gt;CLI&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</description>
 <pubDate>Sat, 10 Sep 2022 09:34:12 +0000</pubDate>
 <dc:creator>mario.awad</dc:creator>
 <guid isPermaLink="false">97 at https://softkube.com</guid>
</item>
<item>
 <title>How to Make Google Chrome Forget a Permanent HTTP 301 Redirect</title>
 <link>https://softkube.com/blog/how-make-google-chrome-forget-permanent-http-301-redirect</link>
 <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;During web development and testing you might need to setup redirections from one domain name or URL to another. Google Chrome will cache those redirects for a long time and if you need to change them you&#039;ll need to clear the HTTP 301 redirections first and then setup new ones if still needed.&lt;/p&gt;
&lt;p&gt;Below we present three methods you can use to clear the redirections cache from the Google Chrome browser.&lt;/p&gt;
&lt;h2&gt;Disabling cache temporarily via developer tools&lt;/h2&gt;
&lt;p&gt;This is the easiest method and targets only the redirect you want to remove.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open a new tab&lt;/li&gt;
&lt;li&gt;Open the Chrome developer tools in that new tab (Easiest way is to press F12 on your keyboard)&lt;/li&gt;
&lt;li&gt;Go to the network tab and tick the disable cache checkbox (Disables cache while devtools are open)&lt;/li&gt;
&lt;li&gt;Navigate to the link you no longer want to have redirected while keeping the dev tools open&lt;/li&gt;
&lt;li&gt;The redirect for that link is now cleared from the cache of Google Chrome&lt;/li&gt;
&lt;li&gt;Untick the disable cache checkbox cause it&#039;s no longer needed and close the dev tools&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Preserving logs and clearing via developer tools&lt;/h2&gt;
&lt;p&gt;If the first method doesn&#039;t work for you, try this more elaborate one which also deletes a specific 301 redirect only.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open a new tab&lt;/li&gt;
&lt;li&gt;Open the Chrome developer tools (F12)&lt;/li&gt;
&lt;li&gt;Go to the network tab and tick the preserve log checkbox&lt;/li&gt;
&lt;li&gt;Navigate to the link you no longer want to have redirected while keeping the dev tools open&lt;/li&gt;
&lt;li&gt;Right click the request that results in the 301 redirect and click clear browser cache&lt;/li&gt;
&lt;li&gt;Untick the preserve log checkbox and close the dev tools&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Fully clear your browser cache&lt;/h2&gt;
&lt;p&gt;In case the above methods don&#039;t work for you, you might want to just clear the whole cache of Google Chrome. Please make sure you have nothing in your history for example that you want to preserve before proceeding.&lt;/p&gt;
&lt;p&gt;Go to settings, privacy and security, and then click clear browsing data, select advanced, and clear everything. If you&#039;ve just followed the redirect, you only need to delete data from the past hour for example.&lt;/p&gt;
&lt;p&gt;Alternatively, from now on, make sure to test and develop in incognito mode as the cache will be flushed after the browser is closed in that case.&lt;/p&gt;
&lt;p&gt;Happy coding!&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-tags field-type-taxonomy-term-reference field-label-above clearfix&quot;&gt;&lt;h3 class=&quot;field-label&quot;&gt;Tags: &lt;/h3&gt;&lt;ul class=&quot;links&quot;&gt;&lt;li class=&quot;taxonomy-term-reference-0&quot;&gt;&lt;a href=&quot;/blog/development&quot;&gt;Development&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</description>
 <pubDate>Wed, 06 Oct 2021 10:17:12 +0000</pubDate>
 <dc:creator>mario.awad</dc:creator>
 <guid isPermaLink="false">94 at https://softkube.com</guid>
</item>
<item>
 <title>Finding and Fixing Unintended Body Overflow to Remove Horizontal Scrollbars</title>
 <link>https://softkube.com/blog/finding-and-fixing-unintended-body-overflow-remove-horizontal-scrollbars</link>
 <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;h2&gt;Introduction&lt;/h2&gt;
&lt;p&gt;During the development and testing phases of a website&#039;s frontend, finding and fixing horizontal overflow issues can be challenging.&lt;/p&gt;
&lt;p&gt;In some cases, it might be easy via DevTools to find and select the element that is wider than the document is and then fixing its CSS accordingly.&lt;/p&gt;
&lt;p&gt;Most times though such elements are dynamically generated and maybe by a third party plugin and are more difficult to find unless you use some of the below tricks to identify the offending elements.&lt;/p&gt;
&lt;h2&gt;Solution Steps&lt;/h2&gt;
&lt;p&gt;Open your favorite browser&#039;s developer tools panels. Under Windows, the F12 key opens DevTools on both Chrome and Firefox.&lt;/p&gt;
&lt;p&gt;Copy/paste this into the console panel and run it. It will print out the offending elements. Doesn&#039;t work for all elements though which leads us to the CSS attempt below.&lt;/p&gt;
&lt;p&gt;[CODE]&lt;/p&gt;
&lt;p&gt;Add this style to the elements panel (Click the add style button then add the * match all selector and then copy/paste the styles to it).&lt;/p&gt;
&lt;p&gt;Then you can scroll around and see the offending element highlighted in red.&lt;/p&gt;
&lt;p&gt;[CODE]&lt;/p&gt;
&lt;p&gt;Steps in this article are based on the &lt;a href=&quot;https://css-tricks.com/findingfixing-unintended-body-overflow/&quot;&gt;Finding/Fixing Unintended Body Overflow&lt;/a&gt; article and its comments originally published on the excellent &lt;a href=&quot;https://css-tricks.com/&quot;&gt;CSS Tricks&lt;/a&gt; website. Please refer to it as it has more in depth discussions on the overflow issue and possibly more tricks to try in case the above ones don&#039;t work for you.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-tags field-type-taxonomy-term-reference field-label-above clearfix&quot;&gt;&lt;h3 class=&quot;field-label&quot;&gt;Tags: &lt;/h3&gt;&lt;ul class=&quot;links&quot;&gt;&lt;li class=&quot;taxonomy-term-reference-0&quot;&gt;&lt;a href=&quot;/blog/development&quot;&gt;Development&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-1&quot;&gt;&lt;a href=&quot;/blog/design&quot;&gt;Design&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-2&quot;&gt;&lt;a href=&quot;/blog/code&quot;&gt;Code&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</description>
 <pubDate>Wed, 18 Nov 2020 12:54:47 +0000</pubDate>
 <dc:creator>mario.awad</dc:creator>
 <guid isPermaLink="false">92 at https://softkube.com</guid>
</item>
<item>
 <title>Responsive Logo Design Overview</title>
 <link>https://softkube.com/blog/responsive-logo-design-overview</link>
 <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;A responsive logo is one with design elements that adapt slightly depending on the device or screen size on which they are displayed without compromising the brand identity.&lt;/p&gt;
&lt;p&gt;Design elements that might be replaced or changed may include icons or symbols, company names and slogans, colors, backgrounds, outlines, and other small details.&lt;/p&gt;
&lt;p&gt;Take a look at the below images to get an idea of how a logo might change orientation (horizontal vs vertical) and how it might omit certain details to look clearer on smaller displays.&lt;/p&gt;
&lt;p&gt;For more info please check the original blog post &lt;a href=&quot;https://dribbble.com/stories/2020/10/20/responsive-logo-design-process&quot;&gt;A step‑by‑step process for creating responsive logo designs&lt;/a&gt; by &lt;a href=&quot;https://dribbble.com/&quot;&gt;Dribble&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;[IMAGE]&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;[IMAGE]&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;[IMAGE]&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-tags field-type-taxonomy-term-reference field-label-above clearfix&quot;&gt;&lt;h3 class=&quot;field-label&quot;&gt;Tags: &lt;/h3&gt;&lt;ul class=&quot;links&quot;&gt;&lt;li class=&quot;taxonomy-term-reference-0&quot;&gt;&lt;a href=&quot;/blog/design&quot;&gt;Design&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</description>
 <pubDate>Thu, 22 Oct 2020 15:32:43 +0000</pubDate>
 <dc:creator>mario.awad</dc:creator>
 <guid isPermaLink="false">90 at https://softkube.com</guid>
</item>
<item>
 <title>How to Disable Open File Security Warnings on Windows by File Type</title>
 <link>https://softkube.com/blog/how-disable-open-file-security-warnings-windows-file-type</link>
 <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;h2&gt;Introduction&lt;/h2&gt;
&lt;p&gt;As a web developer, you often set your JavaScript files to open with a text editor instead of being executed. As a result, such files open for code reading and editing do not pose any security threat.&lt;/p&gt;
&lt;p&gt;However, the operating system still thinks that JavaScript files are run when double clicked and tries to protect you from any malicious code that might run when the file is open.&lt;/p&gt;
&lt;p&gt;You can disable this warning for each and every file you open (check the example screenshot below) but that quickly becomes tedious.&lt;/p&gt;
&lt;p&gt;The policy we will edit allows you to configure the list of low-risk file types known to Windows. If the attachment is in the list of low-risk file types, Windows will not prompt you before accessing the file, regardless of the file&#039;s zone information.&lt;/p&gt;
&lt;h2&gt;Solution Steps&lt;/h2&gt;
&lt;p&gt;Open your Group Policy by pressing Windows Key + R on your keyboard and then entering gpedit.msc and pressing enter.&lt;/p&gt;
&lt;p&gt;In the left pane navigate to User Configuration, Administrative Templates, Windows Components, Attachment Manager. &lt;/p&gt;
&lt;p&gt;Double click on the &quot;Inclusion list for low file types&quot; policy and select Enabled and paste the following line in the Specify low-risk extensions input field: .js and click ok.&lt;/p&gt;
&lt;p&gt;This change works immediately on Windows 10 Pro version 2004. You might need to restart if you have an earlier version of Windows. Unfortunately, this looks like it is only available on Pro and Enterprise versions of Windows.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-tags field-type-taxonomy-term-reference field-label-above clearfix&quot;&gt;&lt;h3 class=&quot;field-label&quot;&gt;Tags: &lt;/h3&gt;&lt;ul class=&quot;links&quot;&gt;&lt;li class=&quot;taxonomy-term-reference-0&quot;&gt;&lt;a href=&quot;/blog/windows&quot;&gt;Windows&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-1&quot;&gt;&lt;a href=&quot;/blog/development&quot;&gt;Development&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</description>
 <pubDate>Wed, 30 Sep 2020 10:27:22 +0000</pubDate>
 <dc:creator>mario.awad</dc:creator>
 <guid isPermaLink="false">91 at https://softkube.com</guid>
</item>
<item>
 <title>Quick Reference on the Number of Keys on a Standard Keyboard Layout</title>
 <link>https://softkube.com/blog/quick-reference-number-keys-standard-keyboard-layout</link>
 <description>&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;h2&gt;Introduction&lt;/h2&gt;
&lt;p&gt;This post is a quick summary of the number of keys found on standard keyboards. I wanted to order some switches for one of my keyboards and a quick Google search didn&#039;t reveal much results and as such, for now and for future reference, I&#039;m creating this blog post.&lt;/p&gt;
&lt;p&gt;There are plenty of keyboard layouts currently on the market with different sizes. In this post, we quickly glance over the layout and the number of keys available on the standard US ANSI layouts: 104 key full size, 87 key tenkeyless, the rare 84 keys keyboard, and the 61 key compact layouts.&lt;/p&gt;
&lt;h2&gt;Keyboard Layouts Info&lt;/h2&gt;
&lt;p&gt;To create the below graphics, I used the amazing &lt;a href=&quot;http://www.keyboard-layout-editor.com/&quot;&gt;Keyboard-Layout-Editor.com&lt;/a&gt; online tool. Please note that the below naming conventions and color annotations are not standardized. I&#039;m just following the commonly used terms on popular mechanical keyboards related content creators like &lt;a href=&quot;https://www.youtube.com/channel/UCMHXMAeKkI6HXlPfLiYvo9g&quot;&gt;Taeha Types&lt;/a&gt;, &lt;a href=&quot;https://www.youtube.com/channel/UCdfrYMwAJ8LHvy8-j_WIxAw&quot;&gt;Mech Merlin&lt;/a&gt;, and &lt;a href=&quot;https://www.youtube.com/channel/UCllGwtW6scxAjM28fIgEozg&quot;&gt;Tae Keyboards&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;[IMAGE]&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;[IMAGE]&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;[IMAGE]&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h2&gt;Number of Keys&lt;/h2&gt;
&lt;p&gt;Full size (100%): 104 keys&lt;/p&gt;
&lt;p&gt;Tenkeyless TKL (80%): 87 keys&lt;/p&gt;
&lt;p&gt;Seventy five percent or Compact TKL (75%): 84 keys&lt;/p&gt;
&lt;p&gt;Exploded seventy five percent: 82 keys (Excluding the rotary knob key)&lt;/p&gt;
&lt;p&gt;Compact sixty percent (60%): 61 keys&lt;br /&gt;
 &lt;/p&gt;
&lt;p&gt;Function keys (purple): 12&lt;/p&gt;
&lt;p&gt;Modifiers (orange): 17&lt;/p&gt;
&lt;p&gt;Numbers row (dark blue): 12&lt;/p&gt;
&lt;p&gt;Alphas (light blue): 33&lt;/p&gt;
&lt;p&gt;Alphas and numbers row (both blues): 45&lt;/p&gt;
&lt;p&gt;Navigation cluster (light green): 10&lt;/p&gt;
&lt;p&gt;Full navigation cluster (both greens): 13&lt;/p&gt;
&lt;p&gt;Numpad (gray): 17&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h2&gt;More Info&lt;/h2&gt;
&lt;p&gt;For more info, please check this this &lt;a href=&quot;https://en.wikipedia.org/wiki/Keyboard_layout&quot;&gt;Wikipedia article about keyboard layouts&lt;/a&gt; and this &lt;a href=&quot;https://trauring.org/how-many-keys-are-there-on-a-keyboard/&quot;&gt;post about keyboards by Philip Trauring&lt;/a&gt; on their personal blog page.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-tags field-type-taxonomy-term-reference field-label-above clearfix&quot;&gt;&lt;h3 class=&quot;field-label&quot;&gt;Tags: &lt;/h3&gt;&lt;ul class=&quot;links&quot;&gt;&lt;li class=&quot;taxonomy-term-reference-0&quot;&gt;&lt;a href=&quot;/blog/technology&quot;&gt;Technology&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-1&quot;&gt;&lt;a href=&quot;/blog/hid&quot;&gt;HID&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-2&quot;&gt;&lt;a href=&quot;/blog/keyboards&quot;&gt;Keyboards&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;taxonomy-term-reference-3&quot;&gt;&lt;a href=&quot;/blog/cheat-sheets&quot;&gt;Cheat Sheets&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</description>
 <pubDate>Tue, 09 Jun 2020 19:43:33 +0000</pubDate>
 <dc:creator>mario.awad</dc:creator>
 <guid isPermaLink="false">89 at https://softkube.com</guid>
</item>
</channel>
</rss>
