<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Stefan&#39;s Blog</title>
    <link>https://sstoichev.eu/</link>
    <description>Recent content on Stefan&#39;s Blog</description>
    <generator>Hugo</generator>
    <language>en-gb</language>
    <lastBuildDate>Fri, 23 Feb 2024 10:00:39 +0000</lastBuildDate>
    <atom:link href="https://sstoichev.eu/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Get app reload progress (enigma.js mixin)</title>
      <link>https://sstoichev.eu/post/enigma-mixin-reload-progress/</link>
      <pubDate>Fri, 23 Feb 2024 10:00:39 +0000</pubDate>
      <guid>https://sstoichev.eu/post/enigma-mixin-reload-progress/</guid>
      <description>&lt;p&gt;When I was writing the code for &lt;a href=&#34;https://github.com/Informatiqal/qlbuilder&#34;&gt;qlBuilder&lt;/a&gt; &lt;code&gt;reload&lt;/code&gt; command I knew I&amp;rsquo;ll have to come back to it, at some point, and refactor the part that is displaying the reload progress. The plan was to separate this functionality as a separate module or even a package so it can be used elsewhere as well.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Qlik Error/Messages Codes</title>
      <link>https://sstoichev.eu/post/qlik-error-messages-codes/</link>
      <pubDate>Fri, 09 Feb 2024 13:40:36 +0000</pubDate>
      <guid>https://sstoichev.eu/post/qlik-error-messages-codes/</guid>
      <description>&lt;p&gt;While working with Qlik we can encouter errors or messages that can be a bit cryptic and contain just an error/message code.&lt;/p&gt;
&lt;p&gt;Very often these codes are followed by a short description. But sometimes either the description is missing or its &amp;hellip; to short :)&lt;/p&gt;
&lt;p&gt;Finally found some free time to compile a list of the error/messages codes, their short and long description.&lt;/p&gt;
&lt;p&gt;My data source is a few years old so most likely is not complete. But still there are 300+ codes there.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automatiqal CLI Beta! (Cross-Post)</title>
      <link>https://sstoichev.eu/post/automatiqal-cli-beta-cross-post/</link>
      <pubDate>Wed, 14 Jun 2023 08:30:32 +0000</pubDate>
      <guid>https://sstoichev.eu/post/automatiqal-cli-beta-cross-post/</guid>
      <description>&lt;p&gt;The original announcement can be found here&lt;/p&gt;
&lt;p&gt;Automatiqal CLI is officially entering its Beta phase!&lt;/p&gt;
&lt;p&gt;You might not be aware but Automatiqal CLI allows Qlik Sense (QSEoW) deployments/administration tasks to be described in YAML/JSON files.&lt;/p&gt;
&lt;p&gt;Automatiqal CLI supports:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;multiple authentication methods&lt;/li&gt;
&lt;li&gt;multiple ways to define variables&lt;/li&gt;
&lt;li&gt;define onError blocks&lt;/li&gt;
&lt;li&gt;and a lot more!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Please have a look at the introduction video below. More videos will be added soon!&lt;/p&gt;
&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/ZU13H9uw1lM?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;

&lt;!-- https://youtu.be/?si=bVvksGnSBwMxEolC --&gt;
&lt;p&gt;Any feedback is greatly appreciated!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Web app authentication with QSEoW (web ticket &#43; session cookie)</title>
      <link>https://sstoichev.eu/post/web-app-authentication-with-qseow-web-ticket-session-cookie/</link>
      <pubDate>Wed, 05 Jan 2022 11:50:00 +0000</pubDate>
      <guid>https://sstoichev.eu/post/web-app-authentication-with-qseow-web-ticket-session-cookie/</guid>
      <description>&lt;p&gt;In one of the previous &lt;a href=&#34;__GHOST_URL__/2021/09/09/qseow-authentication-svelte/&#34;&gt;post&lt;/a&gt; we saw how to use web ticket to establish connection with Qlik Sense Engine. And probably for most cases the approach there is enough.&lt;/p&gt;
&lt;p&gt;But what if our web app have a requirement to communicate with other Qlik service(s) (in addition to the Engine)? For example, we want to list the reload tasks to which the user have access (this information is provided by &lt;a href=&#34;https://help.qlik.com/en-US/sense-developer/May2021/Subsystems/RepositoryServiceAPI/Content/Sense_RepositoryServiceAPI/RepositoryServiceAPI-Introduction.htm&#34;&gt;Qlik Repository Service REST API&lt;/a&gt;)?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Meet Informatiqal</title>
      <link>https://sstoichev.eu/post/informatiqal/</link>
      <pubDate>Tue, 02 Nov 2021 15:37:11 +0000</pubDate>
      <guid>https://sstoichev.eu/post/informatiqal/</guid>
      <description>&lt;p&gt;The initial idea was simple &amp;hellip; on paper. Spend few days just to prove that its possible. And it was doable. But to achieve it I had to build solid foundation.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m not going to say what was the initial idea &amp;hellip; yet. But will share where it&amp;rsquo;s &amp;ldquo;home&amp;rdquo; will be and will release all the components of the &amp;ldquo;foundation&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Since there will be multiple components I&amp;rsquo;ve decided that it&amp;rsquo;s a good idea to separate them in their own space.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Web app authentication with QSEoW (web ticket)</title>
      <link>https://sstoichev.eu/post/qseow-authentication-svelte/</link>
      <pubDate>Thu, 09 Sep 2021 13:35:33 +0000</pubDate>
      <guid>https://sstoichev.eu/post/qseow-authentication-svelte/</guid>
      <description>&lt;p&gt;This post is long overdue but finally found the time to complete it.&lt;/p&gt;
&lt;p&gt;Here we&amp;rsquo;ll have a look how to establish connection (via &lt;a href=&#34;https://github.com/qlik-oss/enigma.js/&#34;&gt;enigma.js&lt;/a&gt;) to Qlik Sense Enterprise on Windows (&lt;code&gt;QSEoW&lt;/code&gt;) when hosting an web app outside of Qlik (not as an extension). And more specifically we&amp;rsquo;ll have a look at what is the authentication work flow.&lt;/p&gt;
&lt;p&gt;The (very simple) web app will just list the apps that are available for the logged in user. I&amp;rsquo;ll be using &lt;code&gt;Svelte&lt;/code&gt; as web framework (more specifically &lt;a href=&#34;https://kit.svelte.dev/&#34;&gt;SvelteKit&lt;/a&gt;) but the general work flow should work in the same way with other frameworks as well.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Export QMC tables</title>
      <link>https://sstoichev.eu/post/export-qmc-tables/</link>
      <pubDate>Fri, 08 Jan 2021 10:00:00 +0000</pubDate>
      <guid>https://sstoichev.eu/post/export-qmc-tables/</guid>
      <description>&lt;p&gt;Administrating Qlik Sense sometimes means spending a lot of the time in QMC.&lt;/p&gt;
&lt;p&gt;And sometimes I need to export some of the tables there just to keep the info somewhere else while I&amp;rsquo;m on a different screen in QMC.&lt;/p&gt;
&lt;p&gt;Finally sat down to solve this specific issue - &lt;code&gt;Chrome&lt;/code&gt;/&lt;code&gt;Edge&lt;/code&gt; extension that can export QMC tables to CSV file or copy the content to the clipboard.&lt;/p&gt;
&lt;h3 id=&#34;ui&#34;&gt;UI&lt;/h3&gt;
&lt;p&gt;The extension layout is &amp;ldquo;separated&amp;rdquo; into two areas:&lt;/p&gt;</description>
    </item>
    <item>
      <title>enigma.js - interceptors</title>
      <link>https://sstoichev.eu/post/enigma-js-interceptors/</link>
      <pubDate>Wed, 08 Jul 2020 09:00:00 +0000</pubDate>
      <guid>https://sstoichev.eu/post/enigma-js-interceptors/</guid>
      <description>&lt;p&gt;Another interesting feature of enigma.js are interceptors. Interceptors are similar to the mixins functions but they are executed on lower level - request/response level.&lt;/p&gt;
&lt;p&gt;Request interceptors are invoked right before the request is send to the Engine and response interceptors are invoked right after the response from the Engine is received and before the data is send to the calling function.&lt;/p&gt;
&lt;p&gt;You can think of the interceptors as &amp;ldquo;enigma.js middleware&amp;rdquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Custom enigma.js mixins</title>
      <link>https://sstoichev.eu/post/introducing-enigma-mixin/</link>
      <pubDate>Fri, 03 Jul 2020 09:00:00 +0000</pubDate>
      <guid>https://sstoichev.eu/post/introducing-enigma-mixin/</guid>
      <description>&lt;p&gt;In the &lt;a href=&#34;__GHOST_URL__/2020/06/23/enigma-js-mixins/&#34;&gt;previous post&lt;/a&gt; we saw what are &lt;a href=&#34;https://github.com/qlik-oss/enigma.js&#34;&gt;enigma.js&lt;/a&gt;  &lt;a href=&#34;https://github.com/qlik-oss/enigma.js/blob/master/docs/api.md#mixins&#34;&gt;mixins&lt;/a&gt;. I&amp;rsquo;ve started an repo some time ago (and &lt;em&gt;npm&lt;/em&gt; package) where I&amp;rsquo;ve been adding mixins that I&amp;rsquo;ve found useful (or mixins that I&amp;rsquo;ve found boring to write all the time). And want to introduce you to this list.&lt;/p&gt;
&lt;p&gt;At the moment the repo contains only mixins that are relevant to application/document.&lt;/p&gt;
&lt;p&gt;(to distinct the mixins methods from the default enigma.js ones all mixin methods, from this package, are having prefix &lt;code&gt;m&lt;/code&gt;)&lt;/p&gt;</description>
    </item>
    <item>
      <title>enigma.js - mixins</title>
      <link>https://sstoichev.eu/post/enigma-js-mixins/</link>
      <pubDate>Tue, 23 Jun 2020 09:15:00 +0000</pubDate>
      <guid>https://sstoichev.eu/post/enigma-js-mixins/</guid>
      <description>&lt;p&gt;You know it already but &lt;a href=&#34;https://github.com/qlik-oss/enigma.js&#34;&gt;enigma.js&lt;/a&gt; is the JavaScript wrapper around the Qlik&amp;rsquo;s Engine API.&lt;/p&gt;
&lt;p&gt;If you are building a mashup/web app or some sort of automation that require Engine communication you&amp;rsquo;ll have to use Engine API and here enigma.js is your friend.&lt;/p&gt;
&lt;p&gt;Just to mention that JavaScript is not the only &amp;ldquo;flavor&amp;rdquo; of Enigma. You can find enigma for &lt;a href=&#34;https://github.com/qlik-oss/enigma-go&#34;&gt;&lt;em&gt;Go&lt;/em&gt;&lt;/a&gt; and &lt;a href=&#34;https://github.com/q2g/enigma.net&#34;&gt;&lt;em&gt;.NET&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;
&lt;!-- &lt;figure class=&#34;kg-card kg-bookmark-card&#34;&gt;
  &lt;a href=&#34;https://github.com/qlik-oss/enigma-go&#34; class=&#34;kg-bookmark-container&#34;&gt;
    &lt;div class=&#34;kg-bookmark-content&#34;&gt;
      &lt;div class=&#34;kg-bookmark-title&#34;&gt;qlik-oss/enigma-go&lt;/div&gt;
      &lt;div class=&#34;kg-bookmark-description&#34;&gt;Go library for consuming Qlik’s Associative Engine. - qlik-oss/enigma-go&lt;/div&gt;
      &lt;div class=&#34;kg-bookmark-metadata&#34;&gt;
        &lt;img src=&#34;https://github.githubassets.com/favicons/favicon.svg&#34; class=&#34;kg-bookmark-icon&#34;&gt;
        &lt;span class=&#34;kg-bookmark-author&#34;&gt;qlik-oss&lt;/span&gt;
        &lt;span class=&#34;kg-bookmark-publisher&#34;&gt;GitHub&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    
    &lt;div class=&#34;kg-bookmark-thumbnail&#34;&gt;
      &lt;img src=&#34;https://avatars3.githubusercontent.com/u/23365920?s=400&amp;amp;v=4&#34;&gt;
    &lt;/div&gt;
    
  &lt;/a&gt;
  
&lt;/figure&gt; --&gt;
&lt;!-- &lt;figure class=&#34;kg-card kg-bookmark-card&#34;&gt;
  &lt;a href=&#34;https://github.com/q2g/enigma.net&#34; class=&#34;kg-bookmark-container&#34;&gt;
    &lt;div class=&#34;kg-bookmark-content&#34;&gt;
      &lt;div class=&#34;kg-bookmark-title&#34;&gt;q2g/enigma.net&lt;/div&gt;
      &lt;div class=&#34;kg-bookmark-description&#34;&gt;.NET library for consuming Qlik’s Associative Engine. - q2g/enigma.net&lt;/div&gt;
      &lt;div class=&#34;kg-bookmark-metadata&#34;&gt;
        &lt;img src=&#34;https://github.githubassets.com/favicons/favicon.svg&#34; class=&#34;kg-bookmark-icon&#34;&gt;
        &lt;span class=&#34;kg-bookmark-author&#34;&gt;q2g&lt;/span&gt;
        &lt;span class=&#34;kg-bookmark-publisher&#34;&gt;GitHub&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    
    &lt;div class=&#34;kg-bookmark-thumbnail&#34;&gt;
      &lt;img src=&#34;https://avatars2.githubusercontent.com/u/29521584?s=400&amp;amp;v=4&#34;&gt;
    &lt;/div&gt;
    
  &lt;/a&gt;
  
&lt;/figure&gt; --&gt;
&lt;p&gt;But in this post I want to introduce you to one very cool (but not very popular) functionality that Enigma provides - &lt;strong&gt;mixins.&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introducing qlbuilder</title>
      <link>https://sstoichev.eu/post/introducing-qlbuilder/</link>
      <pubDate>Tue, 08 Oct 2019 08:30:00 +0000</pubDate>
      <guid>https://sstoichev.eu/post/introducing-qlbuilder/</guid>
      <description>&lt;h3 id=&#34;qlbuilder&#34;&gt;qlbuilder&lt;/h3&gt;
&lt;p&gt;In general &lt;code&gt;qlbuilder&lt;/code&gt; is a tool that communicates with Qlik apps (using the Engine API) and set the script. The script is located on the local machine and can be &amp;ldquo;stitched&amp;rdquo; from multiple files.&lt;/p&gt;
&lt;h3 id=&#34;why&#34;&gt;Why?&lt;/h3&gt;
&lt;p&gt;Everyone have their own preferred IDE/text editor and we can write own &lt;code&gt;Qlik Sense&lt;/code&gt; load scripts there and use &lt;code&gt;include&lt;/code&gt;/&lt;code&gt;must_include&lt;/code&gt; inside the app to &amp;ldquo;bring&amp;rdquo; the script inside the app.&lt;/p&gt;
&lt;p&gt;But it will be nice if we can write the scrips locally and upload them directly to the app as it is.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Deploy Qlik extension/mashup with Qlik-CLI</title>
      <link>https://sstoichev.eu/post/deploy-extension-mashup-with-qlik-cli/</link>
      <pubDate>Thu, 18 Jul 2019 08:15:00 +0000</pubDate>
      <guid>https://sstoichev.eu/post/deploy-extension-mashup-with-qlik-cli/</guid>
      <description>&lt;p&gt;Creating Qlik extensions/mashups is usually quite fun. But it will be better if you have a way to develop locally and deploy to Qlik.&lt;/p&gt;
&lt;p&gt;Usually I&amp;rsquo;m using &lt;a href=&#34;link-here&#34;&gt;qExt&lt;/a&gt; or &lt;a href=&#34;link-here&#34;&gt;sense-go&lt;/a&gt; but in this specific case I didn&amp;rsquo;t had the chance to use either (enterprise restrictions)&lt;/p&gt;
&lt;p&gt;Luckily for me &lt;a href=&#34;https://github.com/ahaydon/Qlik-Cli&#34;&gt;Qlik-CLI&lt;/a&gt; was available. And &lt;code&gt;Qlik-CLI&lt;/code&gt; is doing a great job dealing with Qlik Repository API.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve decided to write a small &lt;code&gt;PowerShell&lt;/code&gt; script that can be used to import the extension from my local PC to Qlik.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Global Environment Values Approach (Qlik Sense)</title>
      <link>https://sstoichev.eu/post/qlik-sense-environment-values-approach/</link>
      <pubDate>Tue, 16 Jul 2019 08:49:00 +0000</pubDate>
      <guid>https://sstoichev.eu/post/qlik-sense-environment-values-approach/</guid>
      <description>&lt;p&gt;With multi-stage Qlik environment (DEV, TEST, PROD etc) the load scripts are usually including some kind of a check - &amp;ldquo;&lt;strong&gt;In which environment am I?&lt;/strong&gt;&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Based on the result different/additional actions might be performed. For example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;if the environment is not PROD then mask/scramble the client names&lt;/li&gt;
&lt;li&gt;use different data connection names (providers) on each environment&lt;/li&gt;
&lt;li&gt;&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It will be nice if there is something more centralised that can provide this information (and not only) to any app on the cluster. Something like a global meta-data &amp;ldquo;storage&amp;rdquo; that can be changed/updated (by the administrators)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Qlik for Visual Studio Code</title>
      <link>https://sstoichev.eu/post/qlik-for-visual-studio-code/</link>
      <pubDate>Sun, 23 Apr 2017 19:48:56 +0000</pubDate>
      <guid>https://sstoichev.eu/post/qlik-for-visual-studio-code/</guid>
      <description>&lt;p&gt;Recently I&amp;rsquo;ve started working on one of the idea from my wild ides list. For info &lt;a href=&#34;https://github.com/countnazgul/qlikview-projects-documentation&#34;&gt;click here&lt;/a&gt; (but more on it later when there is something working to be shown). For this we need to write our QV scrips in external text editor. My personal choose is &lt;a href=&#34;https://code.visualstudio.com/&#34;&gt;VS Code&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Quick search in the VS Code extension marketplace shows that there is &lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=Gimly81.qlik&#34;&gt;Qlik for Visual Studio Code&lt;/a&gt; extension for highlighting QV code developed by &lt;a href=&#34;https://github.com/Gimly&#34;&gt;Xavier Hahn&lt;/a&gt;. The extension is working very nice and if we open a file with &lt;code&gt;.qvs&lt;/code&gt; extension then the text will be highlighted with the QV syntax.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Qlik Sense Custom Hub</title>
      <link>https://sstoichev.eu/post/qlik-sense-custom-hub/</link>
      <pubDate>Sun, 13 Nov 2016 22:12:34 +0000</pubDate>
      <guid>https://sstoichev.eu/post/qlik-sense-custom-hub/</guid>
      <description>&lt;p&gt;I like how flexible Qlik Sense is. With its massive API if we want we can re-build the GUI (and not only) from scratch and just use the background services (like the Engine or Repository).&lt;/p&gt;
&lt;p&gt;I have some (small) issues with how the current Hub looks and behaves and decided to build something simple that fits my needs.&lt;/p&gt;
&lt;p&gt;At the end I&amp;rsquo;ve wanted something simple that will provide me with quick search capabilities, few shortcuts and the options to create, delete and duplicate files.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Termux</title>
      <link>https://sstoichev.eu/post/termux/</link>
      <pubDate>Mon, 31 Oct 2016 01:40:33 +0000</pubDate>
      <guid>https://sstoichev.eu/post/termux/</guid>
      <description>&lt;p&gt;Recently I&amp;rsquo;ve found a very neat &lt;code&gt;Adnroid&lt;/code&gt; app which I can run on my Chromebook - &lt;a href=&#34;https://play.google.com/store/apps/details?id=com.termux&#34;&gt;Termux&lt;/a&gt;- &lt;strong&gt;&amp;ldquo;Termux combines powerful terminal emulation with an extensive Linux package collection.&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In essence after installing it you will have a nice Linux distro on your Android device without root.&lt;/p&gt;
&lt;p&gt;In my case I&amp;rsquo;ve decided to try if I can use Termux for Node development.&lt;/p&gt;
&lt;h2 id=&#34;node-development&#34;&gt;Node development&lt;/h2&gt;
&lt;p&gt;The initial plan was to install &lt;code&gt;node&lt;/code&gt; inside Termux and to use it to install &lt;code&gt;npm&lt;/code&gt; packages and run code.&lt;/p&gt;</description>
    </item>
    <item>
      <title>qSocks snippets extension for VSCode</title>
      <link>https://sstoichev.eu/post/qsocks-snippets-extension-for-vscode/</link>
      <pubDate>Mon, 10 Oct 2016 10:55:03 +0000</pubDate>
      <guid>https://sstoichev.eu/post/qsocks-snippets-extension-for-vscode/</guid>
      <description>&lt;p&gt;At the moment &lt;a href=&#34;https://code.visualstudio.com&#34;&gt;VSCode&lt;/a&gt; is my preferred code editor (although I&amp;rsquo;m side using &lt;a href=&#34;https://atom.io/&#34;&gt;Atom&lt;/a&gt; sometimes as well). And when I&amp;rsquo;m writing something which uses &lt;a href=&#34;https://github.com/mindspank/qsocks&#34;&gt;qSocks&lt;/a&gt; I&amp;rsquo;ve always have GitHub and &lt;a href=&#34;http://help.qlik.com/&#34;&gt;Qlik Sense help site&lt;/a&gt; open so I can check the available methods and what parameters need to be provided for these methods. Plus I&amp;rsquo;m a &amp;ldquo;bit&amp;rdquo; lazy and always copy/paste code from another projects I have and adapt it to the current needs.&lt;/p&gt;
&lt;p&gt;For these reasons I&amp;rsquo;ve made &lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=stefanstoichev.qsockssnippet&#34;&gt;VSCode snippets extension&lt;/a&gt;. The extension is used from within VSCode and include all qSocks methods as snippets. Just type &lt;code&gt;qsocck&lt;/code&gt; and pick the method that you need.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Qlik Sense Mail Notifications</title>
      <link>https://sstoichev.eu/post/qlik-sense-tasks-notifications/</link>
      <pubDate>Sun, 24 Apr 2016 10:23:00 +0000</pubDate>
      <guid>https://sstoichev.eu/post/qlik-sense-tasks-notifications/</guid>
      <description>&lt;p&gt;One feature that is missing in Qlik Sense is to send mail notifications when task is completed (fail or success). This feature is available in QlikView Server and I&amp;rsquo;m finding it very useful.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve found 3 ways that this can be achieved in QS:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Log files scraping&lt;/li&gt;
&lt;li&gt;QRS API&lt;/li&gt;
&lt;li&gt;log4net&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I&amp;rsquo;ll cover the third option in details&lt;/p&gt;
&lt;h2 id=&#34;log-files&#34;&gt;Log files&lt;/h2&gt;
&lt;p&gt;Every QS service have it&amp;rsquo;s own log folder where the activity is logged. Batch file can be written that monitor the &lt;code&gt;Scheduler&lt;/code&gt; service log file and on change to scrap the content and mail the result.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Qlikview Notify</title>
      <link>https://sstoichev.eu/post/qlikview-notify/</link>
      <pubDate>Sun, 10 Apr 2016 11:57:07 +0000</pubDate>
      <guid>https://sstoichev.eu/post/qlikview-notify/</guid>
      <description>&lt;p&gt;Recently we had data issue and few documents was affected by this. We notified the users by adding textboxes in these documents with a warning an explanation. But while this particular data issue was still active 2-3 more data issues was found and editing the text boxes was not quite an option.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;We didn&amp;rsquo;t had enough space in the main sheet&lt;/li&gt;
&lt;li&gt;there was no guarantee that the users will navigate straight to the main sheet&lt;/li&gt;
&lt;li&gt;editing all the documents, saving and publish them again was a bit slow process since the apps was few GB each in size&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For these reasons I&amp;rsquo;ve made a small QV extension that can show notifications which are setup in the server part of this solution&lt;/p&gt;</description>
    </item>
    <item>
      <title>GetProgress() (Qlik Sense)</title>
      <link>https://sstoichev.eu/post/getprogress-qlik-sense/</link>
      <pubDate>Mon, 14 Mar 2016 04:42:01 +0000</pubDate>
      <guid>https://sstoichev.eu/post/getprogress-qlik-sense/</guid>
      <description>&lt;p&gt;Part of one of my projects was to reload app on the fly. The whole process is working fine (more on this in a different post) but wanted to show the reload progress to the user.&lt;/p&gt;
&lt;p&gt;For this purpose we can use GetProgress() method from Qlik Sense Engine API&lt;/p&gt;
&lt;p&gt;The code below uses qsocks and shows how to get the reload progress from NodeJS app:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;qsocks.Connect(qsConfig).then(function(global) {
    global.productVersion()
        .then(function(version) {
            return console.log(&#39;*** Connected to QS Engine Service&#39;)
        })
        .then(function() {
            return global.openDoc(&#39;DOCUMENT ID&#39;)
        })
        .then(function(doc) {

            var reloaded = null; // when the app is finished to reload
            doc.doReload().then(function() {
                reloaded = true;
                console.log(&#39;Reloaded&#39;);
            });

            var persistentProgress = &#39;&#39;;

            var progress = setInterval(function() {

                if (reloaded != true) {
                    global.getProgress(0).then(function(msg) {
                        if (msg.qPersistentProgress) {
                            persistentProgress = msg.qPersistentProgress;
                            console.log(msg.qPersistentProgress + &#39; &amp;lt;-- &#39; + msg.qTransientProgress)
                        } else {
                            if (msg.qTransientProgress) {
                                console.log(persistentProgress + &#39; &amp;lt;-- &#39; + msg.qTransientProgress)
                            }
                        }
                    })
                } else {
                    clearInterval(progress)
                }
            }, 500); // get the reload progress every 500ms
        })
})
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Hope you like it!&lt;/p&gt;</description>
    </item>
    <item>
      <title>US Map Simplified (Qlik Sense Extension)</title>
      <link>https://sstoichev.eu/post/us-map-simplified-qlik-sense-extension/</link>
      <pubDate>Mon, 14 Mar 2016 02:47:28 +0000</pubDate>
      <guid>https://sstoichev.eu/post/us-map-simplified-qlik-sense-extension/</guid>
      <description>&lt;p&gt;Couple of weeks back Alexander Karlsson (&lt;a href=&#34;https://twitter.com/mindspank&#34;&gt;@mindspank&lt;/a&gt;) posted a &lt;a href=&#34;https://twitter.com/mindspank/status/654129751519395840&#34;&gt;tweet&lt;/a&gt; with idea for a new Qlik Sense extension.
The extension should look like this:
&lt;img alt=&#34;US states&#34; loading=&#34;lazy&#34; src=&#34;https://pbs.twimg.com/media/CRPhNXWUEAAblV7.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;Basically the extension should have a rectangle for each state. The rectangles should be ordered so they will look like USA map. In each rectangle there should be two text values - top one is the state name in short format (WA, ID, MT etc.) and some value (user specified)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Qlikview IP --&gt; IP Range mapping</title>
      <link>https://sstoichev.eu/post/qlikview-ip-ip-range-mapping/</link>
      <pubDate>Sun, 18 Oct 2015 09:02:34 +0000</pubDate>
      <guid>https://sstoichev.eu/post/qlikview-ip-ip-range-mapping/</guid>
      <description>&lt;p&gt;Recently I had a task to map set of ip addresses to country in Qlikview. I&amp;rsquo;ve found a nice dataset that can give me this link but the dataset was for ip range to country.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;RangeFrom   , RangeTo      , Country
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;1.0.0.1, 1.10.0.1, US
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The solution I&amp;rsquo;ve come up with is to use &lt;code&gt;IntervalMatch()&lt;/code&gt; function and map the ip list with the range. But the ip addresses are not a normal numeric so I need to convert it to numeric somehow.
My solution is to make the following covertion:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Radial Tree and Zoomable Sunburst (Qlikview extensions) (Updated)</title>
      <link>https://sstoichev.eu/post/radial-tree-and-zoomable-sunburst-qlikview-extensions/</link>
      <pubDate>Wed, 23 Sep 2015 13:47:36 +0000</pubDate>
      <guid>https://sstoichev.eu/post/radial-tree-and-zoomable-sunburst-qlikview-extensions/</guid>
      <description>&lt;p&gt;We have a project in which we are working with menu navigation data (more like parent-child relation / hierarchical data).&lt;/p&gt;
&lt;p&gt;Although there are few approaches and solutions we&amp;rsquo;ve picked few visualisations that might be better to be used with our data.&lt;/p&gt;
&lt;p&gt;We had our POC app build in Qlikview using only QV charts and the solutions looked ok. But we&amp;rsquo;ve decided to spend more time in this and bring some D3 charts in QV.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Check for updates for Qlikview extension</title>
      <link>https://sstoichev.eu/post/check-for-updates-for-qlikview-extension/</link>
      <pubDate>Sat, 12 Sep 2015 15:30:00 +0000</pubDate>
      <guid>https://sstoichev.eu/post/check-for-updates-for-qlikview-extension/</guid>
      <description>&lt;p&gt;After installing Qlikview extension I&amp;rsquo;m usually forgetting to check if the extension have new versions. From time to time I&amp;rsquo;m remembering to check but this is not on very regular basis.&lt;/p&gt;
&lt;p&gt;Last week I&amp;rsquo;ve started a new extension (more about it in the next couple of weeks) and gave the initial version to one of my colleagues for opinion. But to mail him every time when I release new version (especially in the active development phase) will be a bit annoying. So I&amp;rsquo;ve start to think if there a was to notify him more discreet that new version is there.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Qlik Sense Console (Chrome extension)</title>
      <link>https://sstoichev.eu/post/qlik/</link>
      <pubDate>Tue, 07 Jul 2015 20:52:41 +0000</pubDate>
      <guid>https://sstoichev.eu/post/qlik/</guid>
      <description>&lt;p&gt;In Qlikview if there is a need to test/debug something developers are just creating some textboxes or straight/pivot tables right next to the dashboard (or in another sheet). In Qlik Sense it&amp;rsquo;s bit more tricky because the free space is kinda limited and if the need to check is on top of already fixed dashboard then some free space need to be made which involve some re-arrangement which I&amp;rsquo;m not big fan of.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Save Qlikview table as csv without header</title>
      <link>https://sstoichev.eu/post/save-qlikview-table-as-csv-without-header/</link>
      <pubDate>Sat, 02 May 2015 11:30:41 +0000</pubDate>
      <guid>https://sstoichev.eu/post/save-qlikview-table-as-csv-without-header/</guid>
      <description>&lt;p&gt;Few months back I&amp;rsquo;ve needed a way to save Qlikivew table (during reload) to csv/txt file but without the field header (still cant remember the reason for this). But today I&amp;rsquo;ve saw that someone else is needing this so I&amp;rsquo;ve decided to solve this.&lt;/p&gt;
&lt;h2 id=&#34;the-issue&#34;&gt;The issue&lt;/h2&gt;
&lt;p&gt;If we have the following script:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;RawTable:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Load * Inline [
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  id, value
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  1 , 10
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  2 , 20
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  3 , 30
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;];
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Store RawTable Into CSVOutput.csv (txt);
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The output CSVOutput.csv file will look like this:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Wearable Qlikview</title>
      <link>https://sstoichev.eu/post/wearable-qlikview/</link>
      <pubDate>Mon, 27 Apr 2015 02:15:26 +0000</pubDate>
      <guid>https://sstoichev.eu/post/wearable-qlikview/</guid>
      <description>&lt;p&gt;While waiting for my new and shiny Pebble Time I&amp;rsquo;ve finally managed to spend some time and play with Pebble API. And of course one of the first questions was is it possible to make a link between Pebble and Qlikview/Qlik Sense.&lt;/p&gt;
&lt;p&gt;Since I&amp;rsquo;m more familiar with Qlikview QMS API I&amp;rsquo;ve started with it.&lt;/p&gt;
&lt;h2 id=&#34;limitations&#34;&gt;Limitations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Display - since Pebble display is black and white showing charts is kinda obsolete (will check with the color Pebble Time display later). That&amp;rsquo;s why I&amp;rsquo;ve decided to try and show only number based reports.&lt;/li&gt;
&lt;li&gt;API - Qlikview API is limited when you try and get data from qvw. The only method I&amp;rsquo;ve found was to get specific field content. But think that this is enough since I don&amp;rsquo;t need complicated data. (Qlik Sense API on other side provide more options - building calculation on the fly, get data from objects etc.)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;workflow&#34;&gt;Workflow&lt;/h2&gt;
&lt;p&gt;The overall idea/workflow that worked for me is:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Get Active Qlikview Users&lt;-&gt;Docs</title>
      <link>https://sstoichev.eu/post/get-qlikview-users-docs/</link>
      <pubDate>Tue, 24 Mar 2015 03:26:53 +0000</pubDate>
      <guid>https://sstoichev.eu/post/get-qlikview-users-docs/</guid>
      <description>&lt;p&gt;The Technology team asked me these days is it possible to provide them with live data who are the active qlikview users and which documents are accessed. This info is visible in the Management console but since our environment is a cluster with 3 QV servers if you want to check the active users you need to constantly click around to get the info.&lt;/p&gt;
&lt;p&gt;So I&amp;rsquo;ve ended making small c# console app that uses the Management API to extract this info in csv or json format and store the data in file. So now I can schedule the execution for the app and give Technology the link to the output file.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Styled listbox (Qlik Sense Extension) (Updated)</title>
      <link>https://sstoichev.eu/post/styled-listbox-qlik-sense-extension/</link>
      <pubDate>Sat, 29 Nov 2014 21:35:32 +0000</pubDate>
      <guid>https://sstoichev.eu/post/styled-listbox-qlik-sense-extension/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m missing the option to present Qlik Sense listboxes in a different ways (Not that I don&amp;rsquo;t like the default one I&amp;rsquo;m just missing it)&lt;/p&gt;
&lt;p&gt;So I&amp;rsquo;ve made an extension that can represent field values as Checkboxes, Radio buttons or Buttons.&lt;/p&gt;
&lt;p&gt;As you can see from the screenshots below few more options are available:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Orientation: display the list as single row or multiple rows&lt;/li&gt;
&lt;li&gt;Toggle select: if &amp;ldquo;false&amp;rdquo; the behavior of the selection will be * more like &amp;ldquo;only one selected&amp;rdquo; option in Qlikview&lt;/li&gt;
&lt;li&gt;Active style (css): style the selected value(s) with valid CSS&lt;/li&gt;
&lt;li&gt;InActive style (css): style the non selected value(s) with valid CSS&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can find the source code and the zip file in the &lt;a href=&#34;https://github.com/countnazgul/Qlik-Sense-Styled-Lists-Extension&#34;&gt;Github repo&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>QMC Viewer</title>
      <link>https://sstoichev.eu/post/qmc-viewer/</link>
      <pubDate>Fri, 28 Nov 2014 04:50:07 +0000</pubDate>
      <guid>https://sstoichev.eu/post/qmc-viewer/</guid>
      <description>&lt;p&gt;If you manage multiple Qlik servers (Qlikview or Sense) and need to access the management consoles multiple times per day you usually keep a list of servers urls somewhere (at least this is what I have). In this case opening this list every time or try to remember server url might be a bit frustrating sometimes.&lt;/p&gt;
&lt;p&gt;For this reason I&amp;rsquo;ve made a little Chrome packaged app that can help a little.
The app itself is pretty simple. It is possible to add all the QMC urls and the app will display the selected server url in webview control
The app will also generate shortcuts for all main QMC categories (like Source Documents, User Documents, Licenses etc.)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Develop Qlik Sene extension with Chromebook</title>
      <link>https://sstoichev.eu/post/develop-qlik-sene-extension-with-chromebook/</link>
      <pubDate>Wed, 12 Nov 2014 12:13:34 +0000</pubDate>
      <guid>https://sstoichev.eu/post/develop-qlik-sene-extension-with-chromebook/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve started playing with Qlik Sense extensions these days and pretty much I&amp;rsquo;m happy with the process in overall.&lt;/p&gt;
&lt;p&gt;You can develop extensions using Workbench (if you have Qlik Sense Desktop installed) or any text editor. But if you have Sense Server installed you need to develop directly on the server or upload your files every time a change is made.&lt;/p&gt;
&lt;p&gt;From 7-8 months I&amp;rsquo;m a proud owner of Chromebook and I&amp;rsquo;m trying to use it as many as possible. At this point I can use it as my default laptop for work.&lt;/p&gt;</description>
    </item>
    <item>
      <title>FixedContent (Qlikview Extension)</title>
      <link>https://sstoichev.eu/post/fixedcontent-qlikview-extension/</link>
      <pubDate>Sun, 19 Oct 2014 22:19:42 +0000</pubDate>
      <guid>https://sstoichev.eu/post/fixedcontent-qlikview-extension/</guid>
      <description>&lt;p&gt;Every QlikView app have a section with available selections (usually on top or in the left side or both). This sections are static and are not visible all the time when the user scroll (if the tab contains more content which cannot fit on the visible screen).&lt;/p&gt;
&lt;p&gt;I was missing &amp;ldquo;fixed&amp;rdquo; selections areas in QlikView from time to time but never did anything about it.&lt;/p&gt;
&lt;p&gt;In desktop/IE plugin is not possible to have it but AJAX client is a different story. And the result is &lt;a href=&#34;https://github.com/countnazgul/Qlikview-Fixed-Content&#34;&gt;FixedContent&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Text Diff (Chrome App)</title>
      <link>https://sstoichev.eu/post/text-diff-chrome-app/</link>
      <pubDate>Thu, 09 Oct 2014 19:42:48 +0000</pubDate>
      <guid>https://sstoichev.eu/post/text-diff-chrome-app/</guid>
      <description>&lt;p&gt;At every point everyone had a need to compare two texts to spot the differences between them.&lt;/p&gt;
&lt;p&gt;In my case I wanted to compare two csv files. There are a lot of options how to perform this. But I wanted to be online.&lt;/p&gt;
&lt;p&gt;So I&amp;rsquo;ve found &lt;a href=&#34;http://cemerick.github.io/jsdifflib/demo.html&#34;&gt;jsdifflib&lt;/a&gt;. Small JS lib that do the job.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve took the demo page (with very small changes) and package it as Chrome App, which can be used offline.&lt;/p&gt;</description>
    </item>
    <item>
      <title>QlikView Access Point as Chrome Extension (Updated)</title>
      <link>https://sstoichev.eu/post/qlikview-access-point-chrome-extension/</link>
      <pubDate>Sun, 28 Sep 2014 06:26:02 +0000</pubDate>
      <guid>https://sstoichev.eu/post/qlikview-access-point-chrome-extension/</guid>
      <description>&lt;p&gt;If you have one Qlikview Access Point then you have no problems but when you have few Qlikview environments and multiple customers and want to open qv document then you are in trouble (kinda).&lt;/p&gt;
&lt;p&gt;Organizing bookmarks is one solutions that helps.&lt;/p&gt;
&lt;p&gt;I was thinking recently how to speed up the process of open document quickly and decided to make a little Chrome extension that will help.&lt;/p&gt;
&lt;p&gt;The idea of the extension is simple - define few Qlikview Access Points links and get the documents that are available. Then just search the list for document and jump in it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pack Bookmarks (Chrome) (Update 3)</title>
      <link>https://sstoichev.eu/post/pack-bookmarks-chrome-update-3/</link>
      <pubDate>Sun, 21 Sep 2014 08:57:40 +0000</pubDate>
      <guid>https://sstoichev.eu/post/pack-bookmarks-chrome-update-3/</guid>
      <description>&lt;p&gt;Extension update (v1.2.4):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;extension now have a button to short the current tab.
The short link point directly to current tab url.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&#34;https://chrome.google.com/webstore/detail/extensions-update-notifie/nlldbplhbaopldicmcoogopmkonpebjm?hl=en&#34;&gt;Chrome web store link&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hope you like it!
Stefan&lt;/p&gt;</description>
    </item>
    <item>
      <title>MongoDB bulk update and insert</title>
      <link>https://sstoichev.eu/post/mongodb-bulk-update/</link>
      <pubDate>Mon, 15 Sep 2014 11:05:58 +0000</pubDate>
      <guid>https://sstoichev.eu/post/mongodb-bulk-update/</guid>
      <description>&lt;p&gt;Just a note to myself (kinda) how to perform bulk update in MongoDB. (it took me some time to figure it out)&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;// OrderId = [1,2,3,4,5,6] 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;BulkUpdate(OrderId, function() {
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	console.log(&amp;#39;done&amp;#39;);
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;});
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;function BulkUpdate(OrderId, callback) {
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    Model.update(
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                    { orderid : { $in: OrderId } },
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                    { $set: { status: &amp;#39;complete&amp;#39; } },
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                    { multi : true}).exec(callback);
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;update-2014-09-16&#34;&gt;Update (2014-09-16)&lt;/h4&gt;
&lt;p&gt;And here is the bulk insert code example:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pack Bookmarks (Chrome) (Update 2)</title>
      <link>https://sstoichev.eu/post/pack-bookmarks-chrome-update-2/</link>
      <pubDate>Fri, 12 Sep 2014 00:22:30 +0000</pubDate>
      <guid>https://sstoichev.eu/post/pack-bookmarks-chrome-update-2/</guid>
      <description>&lt;p&gt;Well this was easy.&lt;/p&gt;
&lt;p&gt;The extension is updated and now you have an option to &amp;ldquo;pack&amp;rdquo; and set of currently open tabs.
Below is a screenshot with the new functionality:&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;alt&#34; loading=&#34;lazy&#34; src=&#34;https://sstoichev.eu/images/2014/Sep/OpenTabs.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;Hope you like it!
Stefan&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pack Bookmarks (Chrome) (Update)</title>
      <link>https://sstoichev.eu/post/pack-bookmarks-chrome-update/</link>
      <pubDate>Thu, 11 Sep 2014 21:54:48 +0000</pubDate>
      <guid>https://sstoichev.eu/post/pack-bookmarks-chrome-update/</guid>
      <description>&lt;p&gt;Aaaaaand its done ..&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;web server is moved on more permanent host&lt;/li&gt;
&lt;li&gt;changes in the server code base is made&lt;/li&gt;
&lt;li&gt;extension is also updated - few bugs where fixed and also is added functionality to auto copy the result link to clipboard&lt;/li&gt;
&lt;li&gt;database is moved to &lt;a href=&#34;https://www.compose.io/&#34;&gt;MongoHQ/Compose&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you are interested, the extension source is published &lt;a href=&#34;https://bitbucket.org/countnazgul/bookmark_pack/overview&#34;&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The extension itself is now public and can be found &lt;a href=&#34;https://chrome.google.com/webstore/detail/pack-bookmarks/behnbnpefkgolldpingmeabfnbkdjhno&#34;&gt;here&lt;/a&gt;
The server doesn&amp;rsquo;t have dedicated domain but can be found at &lt;a href=&#34;http://146.185.148.8/&#34;&gt;146.185.148.8&lt;/a&gt;. Will try to make more user friendly home page in the future.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pack Bookmarks (Chrome)</title>
      <link>https://sstoichev.eu/post/pack-bookmarks-chrome/</link>
      <pubDate>Fri, 05 Sep 2014 13:53:49 +0000</pubDate>
      <guid>https://sstoichev.eu/post/pack-bookmarks-chrome/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s been a while since I wrote something here. A lot of personal and professional  changes happened to me in this period. But this is a different story.&lt;/p&gt;
&lt;p&gt;Below is another story &amp;hellip;&lt;/p&gt;
&lt;h3 id=&#34;the-issue&#34;&gt;The issue&lt;/h3&gt;
&lt;p&gt;Recently I had a need to send few links to friend of mine. All links was saved as Chrome Bookmarks. I&amp;rsquo;ve opened all of them and send him the all the links.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve lost some time to open all the links and then copy and paste them. So I&amp;rsquo;ve decide to make a little chrome extension and small node.js app/server that will help me in the future to simplify this process.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Qlikview and Gist</title>
      <link>https://sstoichev.eu/post/qlikview-and-gist/</link>
      <pubDate>Sun, 29 Dec 2013 04:42:52 +0000</pubDate>
      <guid>https://sstoichev.eu/post/qlikview-and-gist/</guid>
      <description>&lt;p&gt;Until now I didn&amp;rsquo;t find a good way to re-use code in Qlikview. I&amp;rsquo;ve tried few ways to achieve it but was never totally happy with the result.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m using &lt;a href=&#34;&#34;&gt;Gist&lt;/a&gt; from time to time but a lot of my gists are private (most of them are project specifics) and for this reason I was thinking that it&amp;rsquo;s impossible to use Gist snippets from inside Qlikview.&lt;/p&gt;
&lt;p&gt;But recently I&amp;rsquo;ve found that private gists are not so private after all. If you know the exact url the gist is displayed even when you&amp;rsquo;re not log in.&lt;/p&gt;</description>
    </item>
    <item>
      <title>QlikView script resources</title>
      <link>https://sstoichev.eu/post/qlikview-script-resources/</link>
      <pubDate>Wed, 30 Oct 2013 20:22:01 +0000</pubDate>
      <guid>https://sstoichev.eu/post/qlikview-script-resources/</guid>
      <description>&lt;p&gt;My &lt;a href=&#34;__GHOST_URL__/process-cpuram-usage/&#34;&gt;previous post&lt;/a&gt; was about little tool which is capable to show and export CPU and RAM usage of a specific Windows process.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve used this tool to grab resource usage of QlikView during reload. Combining the exported csv file and QlikView log file I was able to build qvw file that shows resources per script part. So I was able to see which script part(s) grab the most of resources and try to optimize it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Process CPU/RAM Usage</title>
      <link>https://sstoichev.eu/post/process-cpuram-usage/</link>
      <pubDate>Mon, 28 Oct 2013 01:22:33 +0000</pubDate>
      <guid>https://sstoichev.eu/post/process-cpuram-usage/</guid>
      <description>&lt;p&gt;Recentyl I&amp;rsquo;ve needed a way to watch CPU and RAM usage of a speciffic Windows process real-time and also to export the result. I&amp;rsquo;ve made a quich search but finally decided to write it by myself.&lt;/p&gt;
&lt;p&gt;Here is the image of the final result:&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://sstoichev.eu/images/2013/Oct/PID_Resources.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;The only setting that need to be made is to enter the PID of the monitored process (and press &amp;ldquo;Start&amp;rdquo; ofc)&lt;/p&gt;
&lt;p&gt;The tool will grab CPU/RAM usage of the process each second and will display the results in a grid view and in two basic line charts (one for CPU and one for RAM usage)&lt;/p&gt;</description>
    </item>
    <item>
      <title>About</title>
      <link>https://sstoichev.eu/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://sstoichev.eu/about/</guid>
      <description>about</description>
    </item>
  </channel>
</rss>
