<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blog on Much Ado About IT</title><link>https://it.knightnet.org.uk/posts/</link><description>
Recent content about Blog from Much Ado About IT |
Ramblings and rantings from IT Architect &amp; Designer, Julian Knight</description><generator>Hugo | gohugo.io | Theme twenty-sixteen</generator><language>en-gb</language><copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright><lastBuildDate>Mon, 24 Apr 2023 21:27:28 +0000</lastBuildDate><atom:link href="https://it.knightnet.org.uk/posts/feed.xml" rel="self" type="application/rss+xml"/><item><title>Home working, IT Hints and Tips</title><link>https://it.knightnet.org.uk/blog/home-working-it-hints-and-tips/</link><guid isPermaLink="true">https://it.knightnet.org.uk/blog/home-working-it-hints-and-tips/</guid><pubDate>Fri, 20 Mar 2020 15:45:05 +0000</pubDate><guid>https://it.knightnet.org.uk/blog/home-working-it-hints-and-tips/</guid><description><div>The COVID-19 crisis has meant many more people working from home. From long experience with this kind of working, here are some hints and tips to help.</div><div>&lt;p>This is taken from an article I wrote for work. Some of it is a little Microsoft-centric I&amp;rsquo;m afraid but most of it is generally applicable.&lt;/p>
&lt;p>I really hope you find something useful in here. If you have other ideas, hints and tips, please do share them in the comments.&lt;/p>
&lt;!-- raw HTML omitted -->
&lt;ul>
&lt;li>&lt;a href="#non-it">Non-IT&lt;/a>&lt;/li>
&lt;li>&lt;a href="#wi-fi">Wi-Fi&lt;/a>&lt;/li>
&lt;li>&lt;a href="#alternatives-to-wi-fi">Alternatives to Wi-Fi&lt;/a>&lt;/li>
&lt;li>&lt;a href="#other-network-considerations">Other Network Considerations&lt;/a>&lt;/li>
&lt;li>&lt;a href="#general-hints-and-tips">General Hints and Tips&lt;/a>&lt;/li>
&lt;li>&lt;a href="#collaborative-working-tips">Collaborative working tips&lt;/a>&lt;/li>
&lt;li>&lt;a href="#remote-conferencing">Remote Conferencing&lt;/a>&lt;/li>
&lt;/ul>
&lt;!-- raw HTML omitted -->
&lt;h2 id="non-it">Non-IT&lt;/h2>
&lt;p>First let&amp;rsquo;s say that working from home is great for some and horrible for others. There is no right or wrong. Here are a few thoughts about it in general and some ideas, especially for those people who don&amp;rsquo;t work well when isolated.&lt;/p>
&lt;ul>
&lt;li>
&lt;p>You don&amp;rsquo;t have to be alone!&lt;/p>
&lt;p>The many IT tools for social interaction can be a real distraction but in this case, they can be a boon. Find other people who also need more interaction and use social media tools or video conferencing to keep in touch.&lt;/p>
&lt;p>Maybe try to find a friend or family member (or household) that would be prepared to sometimes share their evening meal time with you and arrange to have screens at your respective tables so that you can eat &amp;ldquo;together&amp;rdquo;. Something like Skype is ideal for that.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Set boundaries and rhythms.&lt;/p>
&lt;p>Most people really need some structure to life and you can easily loose sight of this when working from home. Set your own boundaries and create a rhythm to your work life. It may not need to be as rigid as working in an office (which is nice) but consider some of these:&lt;/p>
&lt;ul>
&lt;li>Have your own private &amp;ldquo;dress code&amp;rdquo; that reminds you you are working&lt;/li>
&lt;li>Try to have some set times to get up and stretch or exercise&lt;/li>
&lt;li>Work, play, socialise. You need all three. Balance your time accordingly.&lt;/li>
&lt;/ul>
&lt;p>You also need to set boundaries with other people. Children especially but even pets! Make it clear when you are working and when you are not. Consider having some kind of signal (a note, flag, certain cloths, anything really) that shows you are working and that people (and pets) should not be disturbing you.&lt;/p>
&lt;p>If younger children are around however, also consider their view of the world. They will not understand you having to work solidly for hours on end. If your job allows it, consider breaking work up more into 1 hour slots for example and spending some time with them in-between.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>Now, onto more IT related matters.&lt;/p>
&lt;h2 id="wi-fi">Wi-Fi&lt;/h2>
&lt;ul>
&lt;li>Get a reliable connection - Wi-Fi signals drop off quite rapidly, especially with cheaper home routers. You may also experience interference from microwaves, cordless phones, baby monitors, and neighbours Wi-Fi. All of these may slow down your connection. &lt;/li>
&lt;li>If you know how and have a router that supports it, try to use a 5ghz Wi-Fi connection. It may have less interference, and can be faster. However, it will have less range. If you need the internet to pass through several walls / doors, then 2.4ghz Wi-Fi may be better.&lt;/li>
&lt;li>If you have a poor signal from your preferred working position, try moving the laptop a couple of CM in either direction, reflections from walls can sometimes reduce or enhance signals. Try to minimise obstructions between your working area and the Wi-Fi aerials.&lt;/li>
&lt;li>Getting the best from your Wi-Fi can be a bit of an art, especially if you are trying to make it reach the whole house. Some routers support a &amp;ldquo;mesh&amp;rdquo; arrangement using additional devices, if so that is worth investing in if you are having difficulties in certain areas. Generally recommended to stay away from Wi-Fi &amp;ldquo;Repeaters&amp;rdquo; or &amp;ldquo;Range Extenders&amp;rdquo; as these sometimes do not work reliably, if you already have one though, by all means try it.&lt;/li>
&lt;li>If you cannot use wired connections and are having ongoing problems with Wi-Fi, consider investing in a dedicated &amp;ldquo;Access Point&amp;rdquo; and turn off the Wi-Fi on your router. AP&amp;rsquo;s such as those from Ubituiti&amp;rsquo;s Unify range (there are plenty of others) will always provide a better signal than one built into a domestic router.&lt;/li>
&lt;/ul>
&lt;h2 id="alternatives-to-wi-fi">Alternatives to Wi-Fi&lt;/h2>
&lt;p>If you cannot get a good and reliable Wi-Fi signal:&lt;/p>
&lt;ul>
&lt;li>You can plug into your router using a wired connection if your work area is not too far away - that&amp;rsquo;s what the little network dongle was for when they gave you your laptop. You may find this better than Wi-Fi. &lt;/li>
&lt;li>If you have a fixed home office desk, you might also consider investing in a USB Dock. This will give you a network connection and sockets to plug into external monitors. If you have a USB-C capable laptop, try to get a USB-C dock but the older (and possibly cheaper) USB docks will also work.&lt;/li>
&lt;li>Powerline networking is also useful if you want a wired connection but cannot be situated near your router. For about £40, you can create a connection to anywhere you have a plug socket. You will need a pair of units, one of which must be near your router. You will need 2 network cables (check if the Powerline devices come with them). Again, you will need the network dongle for your laptop or a USB Dock.&lt;/li>
&lt;/ul>
&lt;h2 id="other-network-considerations">Other Network Considerations&lt;/h2>
&lt;ul>
&lt;li>You may well have other people, including children, around at home and it is all too easy for them to absorb a lot of network bandwidth leaving you with a slow and unreliable connection, especially for conference calls. It is sensible to set early ground-rules. There may be times you need people to avoid Netflix in HD and Skype or intensive online games.&lt;/li>
&lt;li>Remember that most home broadband connections are asynchronous. That is to say that you have a higher download (into the house) speed than upload (out of the house). If a document took 2 minutes to download, it may take several times that to send back to the servers when you save it. Generally, you don&amp;rsquo;t have to think about that except if you are in a hurry to save something, grab the laptop and go somewhere. It is possible to disconnect before the updated document has been fully synchronised back to the servers.&lt;/li>
&lt;li>Saving to SharePoint may be quicker than saving to a shared drive since the data doesn&amp;rsquo;t have to go via the central servers and then back to the Internet, it goes direct to Microsoft&amp;rsquo;s cloud servers. Also, don&amp;rsquo;t forget that, for quick and simple edits, you may be able to do this in the browser which saves having to synchronise everything.&lt;/li>
&lt;/ul>
&lt;h2 id="general-hints-and-tips">General Hints and Tips&lt;/h2>
&lt;ul>
&lt;li>Reboot or shut-down from time-to-time. Always reboot as soon as feasible when asked to.&lt;/li>
&lt;li>If your laptop seems to be running slowly, try closing some applications or browser tabs/windows. Possibly try rebooting. Especially be mindful if viewing/editing large, complex spreadsheets.&lt;/li>
&lt;li>Chromium-based browsers (new Edge, Brave, Vivaldi, Chrome, etc) are currently best for the majority of sites. Only use Internet Explorer (IE) if you really need to (for a legacy app).&lt;/li>
&lt;li>Make use of browser shortcuts and bookmarks. Try creating some bookmark folders for a project or for common files or locations. It can save a lot of time.&lt;/li>
&lt;li>If Microsoft Outlook is being problematic, you can probably access your email via the browser.&lt;/li>
&lt;li>If you can, set aside space and a desk with a decent chair in a room apart from the rest of your household, you will find working from home a lot easier.&lt;/li>
&lt;li>If you cannot set aside a separate room, consider having some kind of signal (a note or light maybe?) that lets people know that you are working and shouldn&amp;rsquo;t be disturbed.&lt;/li>
&lt;li>Be realistic about other family members expectations, especially children. You will probably need to be more flexible about work periods. Consider setting aside some time each hour or two to spend with younger children.&lt;/li>
&lt;/ul>
&lt;h2 id="collaborative-working-tips">Collaborative working tips&lt;/h2>
&lt;ul>
&lt;li>There are many collaborative working tools available. Many organisations will probably have some tools already available for you.&lt;/li>
&lt;li>If you are an independent worker, you may need to use what your customers use or find something for yourself.&lt;/li>
&lt;li>Google G-Suite is easy to setup and good for small organisations. Larger organisations will gain benefit from Microsoft Office 365 with Teams, Yammer, Exchange and SharePoint amongst other powerful tools&lt;/li>
&lt;li>Decide what features are important to you and how much you can afford to pay. Then try a few tools, making sure that you test the features you&amp;rsquo;ve decided are important.&lt;/li>
&lt;/ul>
&lt;h2 id="remote-conferencing">Remote Conferencing&lt;/h2>
&lt;p>When working remotely, many people will have to spend hours on conference/video calls.&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Use a good headset. A good headset ensures good sound for other listeners by eliminating background noise. It protects the wearer&amp;rsquo;s hearing by keeping to sound levels appropriate for long-term use. It covers both ears which allows your brain to process the sounds in both halves which reduces fatigue and increases comprehension.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Do not use your laptop&amp;rsquo;s microphone and speakers. These will cause noise in the meeting, may cause feedback and will be distracting and tiring for everyone.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Do use video, at least to begin with and with new people. We still need to see each other. Many people don&amp;rsquo;t like seeing themselves on video but remember this is for other people, not for you.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>When using video, make sure: &lt;/p>
&lt;ul>
&lt;li>The backdrop is as plain as possible &amp;ndash; this is easier for other people&lt;/li>
&lt;li>There is never movement behind you &amp;ndash; this is distracting to other attendees and increases bandwidth use significantly&lt;/li>
&lt;li>There isn&amp;rsquo;t an exposed window behind you - which puts your face in shadow.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Try to pay attention and not be distracted by emails or other work. If it is worth having a meeting, it should be worth attention. If not possibly reconsider whether the meeting or your attendance is necessary.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Set expectations with other family members who may be at home. Consider having a note on the door if you are in a separate room.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>If/when your meeting audio and video starts to break up or stutter, consider turning off your video. You can also turn off incoming video. Also let others on the meeting know, they may wish to do the same.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>When sharing content or a screen/window from a laptop, this uses quite a lot of bandwidth. You may need to turn off video to compensate. &lt;/p>
&lt;/li>
&lt;li>
&lt;p>Sharing an individual application window takes less bandwidth than sharing a whole screen.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Try to start meetings 5 minutes early. This gives time for everyone to get their equipment working. Better still, start 10 minutes early and give people a few minutes to chat and socialise.&lt;/p>
&lt;/li>
&lt;/ul></div></description><author>Julian Knight</author><category domain="https://it.knightnet.org.uk/categories/it">IT</category><category domain="https://it.knightnet.org.uk/tags/home-working">Home Working</category></item><item><title>Rules for working with dates and times</title><link>https://it.knightnet.org.uk/blog/rules-for-working-with-dates-and-times/</link><guid isPermaLink="true">https://it.knightnet.org.uk/blog/rules-for-working-with-dates-and-times/</guid><pubDate>Sat, 07 Mar 2020 15:35:49 +0000</pubDate><guid>https://it.knightnet.org.uk/blog/rules-for-working-with-dates-and-times/</guid><description><div>Dates and times are incredibly complex. They can be different in different countries, languages. They are often inconsistent and have weird edge-cases. These are some basic rules I apply when working with dates and times.</div><div>&lt;p>when handling dates and timestamps, here are the foundation rules that I work to:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>Always use ISO date format where possible&lt;/strong> (YYYY-MM-DD)&lt;/p>
&lt;p>So that there can be no ambiguity and so that date strings will naturally sort&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Always work in UTC&lt;/strong> (Aka Zulu time or GMT) except when displaying to the user&lt;/p>
&lt;p>To avoid weird errors, especially with timezone and daylight savings transitions. It also makes date/time calculations a LOT easier.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>When needing a string format for timestamps, always use ISO format&lt;/strong>&lt;/p>
&lt;p>e.g. &lt;code>2020-03-07T15:27:46.123Z&lt;/code>&lt;/p>
&lt;p>These are always unambiguous and easily machine parsed.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>When specifying decimal seconds in a timestamp, avoid more than 3 decimal places&lt;/strong>&lt;/p>
&lt;p>The &lt;a href="https://github.com/gr2m/moment-parseformat">parsing tool&lt;/a> used in &lt;a href="">node-red-contrib-moment&lt;/a> to parse input dates in different formats cannot cope with more than 3dp and may return strange dates, a problem that I reported in May 2019 but hasn&amp;rsquo;t been resolved.&lt;/p>
&lt;p>It should also be noted that I&amp;rsquo;m not sure that MomentJS can cope with more than 9dp.&lt;/p>
&lt;p>Also worth noting that JavaScript&amp;rsquo;s &lt;code>Date&lt;/code> native object only supports up to 3dp anyway and will turn anything beyond that into zero&amp;rsquo;s.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h2 id="references">References&lt;/h2>
&lt;ul>
&lt;li>
&lt;p>&lt;a href="https://github.com/gr2m/moment-parseformat/issues/96">parseFormat function issue for &amp;gt;3dp seconds resolution&lt;/a>&lt;/p>
&lt;p>The worst thing about this issue is that it can result in an incorrect date being returned but does not give a warning.&lt;/p>
&lt;/li>
&lt;/ul></div></description><author>Julian Knight</author><category domain="https://it.knightnet.org.uk/categories/information-management">Information Management</category><category domain="https://it.knightnet.org.uk/categories/data">Data</category><category domain="https://it.knightnet.org.uk/categories/development">Development</category><category domain="https://it.knightnet.org.uk/categories/software">Software</category><category domain="https://it.knightnet.org.uk/tags/databases">Databases</category><category domain="https://it.knightnet.org.uk/tags/dates">Dates</category><category domain="https://it.knightnet.org.uk/tags/dba">DBA</category><category domain="https://it.knightnet.org.uk/tags/debugging">Debugging</category><category domain="https://it.knightnet.org.uk/tags/development">Development</category><category domain="https://it.knightnet.org.uk/tags/software">Software</category><category domain="https://it.knightnet.org.uk/tags/solutions-architecture">Solutions Architecture</category><category domain="https://it.knightnet.org.uk/tags/standards">Standards</category><category domain="https://it.knightnet.org.uk/tags/timestamps">Timestamps</category></item><item><title>Checking user access to files in Linux</title><link>https://it.knightnet.org.uk/blog/checking-user-access-to-files-in-linux/</link><guid isPermaLink="true">https://it.knightnet.org.uk/blog/checking-user-access-to-files-in-linux/</guid><pubDate>Fri, 18 Jan 2019 17:33:26 +0000</pubDate><guid>https://it.knightnet.org.uk/blog/checking-user-access-to-files-in-linux/</guid><description><div>How can I know if a user has access to a file or a folder in Linux? Also, what groups is a user a member of? A few things I can never remember how to do.</div><div>&lt;h2 id="add-a-user-to-a-group">Add a user to a group&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">sudo usermod -a -G &lt;span class="o">[&lt;/span>userName&lt;span class="o">]&lt;/span> &lt;span class="o">[&lt;/span>groupName&lt;span class="o">]&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="check-what-groups-a-user-is-a-member-of">Check what groups a user is a member of&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">groups &lt;span class="o">[&lt;/span>userName&lt;span class="o">]&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="check-if-a-user-has-access-to-a-file-or-folder">Check if a user has access to a file or folder&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">sudo -u &lt;span class="o">[&lt;/span>userName&lt;span class="o">]&lt;/span> ls &lt;span class="o">[&lt;/span>path&lt;span class="o">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># or perhaps&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">sudo -u &lt;span class="o">[&lt;/span>userName&lt;span class="o">]&lt;/span> namei &lt;span class="o">[&lt;/span>path&lt;span class="o">]&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Note that it isn&amp;rsquo;t always obvious where a blockage may lie in the path.
You may need to walk back up the path to find out.&lt;/p>
&lt;h2 id="give-a-group-access-to-a-folder-or-file">Give a group access to a folder or file&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">sudo chgrp &lt;span class="o">[&lt;/span>grpName&lt;span class="o">]&lt;/span> &lt;span class="o">[&lt;/span>fileOrFolderPath&lt;span class="o">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># or&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">sudo chown &lt;span class="o">[&lt;/span>userName&lt;span class="o">]&lt;/span>:&lt;span class="o">[&lt;/span>grpName&lt;span class="o">]&lt;/span> &lt;span class="o">[&lt;/span>fileOrFolderPath&lt;span class="o">]&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="change-the-level-of-group-access-for-a-folder-or-file">Change the level of group access for a folder or file&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">sudo chmod -R g+rwx &lt;span class="o">[&lt;/span>fileOrFolderPath&lt;span class="o">]&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="references">References&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://unix.stackexchange.com/questions/82347/how-to-check-if-a-user-can-access-a-given-file">StackExchange: How to check if a user can access a given file?&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://serverfault.com/questions/136826/add-group-rwx-permissions-to-a-folder">ServerFault: Add group rwx permissions to a folder&lt;/a>&lt;/li>
&lt;/ul></div></description><author>Julian Knight</author><category domain="https://it.knightnet.org.uk/categories/linux">Linux</category><category domain="https://it.knightnet.org.uk/tags/linux">Linux</category><category domain="https://it.knightnet.org.uk/tags/bash">BASH</category></item><item><title>Creating GitHub Releases from git Tags</title><link>https://it.knightnet.org.uk/blog/creating-github-releases-from-git-tags/</link><guid isPermaLink="true">https://it.knightnet.org.uk/blog/creating-github-releases-from-git-tags/</guid><pubDate>Sun, 30 Dec 2018 21:23:20 +0000</pubDate><guid>https://it.knightnet.org.uk/blog/creating-github-releases-from-git-tags/</guid><description><div>The workflow for updating version numbers and doing git/GitHub/npm releases is far too complex to easily remember when you aren't doing it very often. This post is a reminder of the various steps.</div><div>&lt;p>Just a quick reminder for myself mainly.&lt;/p>
&lt;p>GitHub will automatically create a release from a git tag. Having had a request for this from an issue with node-red-contrib-uibuilder, I
decided that I&amp;rsquo;d better look into how to do it.&lt;/p>
&lt;p>Why is everything harder than it should be!? Anyway, here is the raw workflow for committing changes to a git managed repository of code,
creating a tag, pushing both master and the tag to GitHub and then publishing to npm.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># This could be minor or major instead of patch, it updates package.js&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">npm npm version patch -m &lt;span class="s2">&amp;#34;Patch version bump to %s&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># We might want to stage instead of committing everything at once&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">git commit -m &lt;span class="s2">&amp;#34;Commit message&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">git push
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Create a tag to match the npm version&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">git tag -a v1.4.1 -m &lt;span class="s2">&amp;#34;my version 1.4.1&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">git push origin --tags
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Publish to npm&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">npm publish
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Of course, the commit and push are easier done direct from VScode.&lt;/p>
&lt;p>It is annoying that I can&amp;rsquo;t link the tag to the npm version.&lt;/p>
&lt;h2 id="references">References&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://git-scm.com/book/en/v2/Git-Basics-Tagging">git docs 2.6 Git Basics - Tagging&lt;/a>&lt;/li>
&lt;/ul></div></description><author>Julian Knight</author><category domain="https://it.knightnet.org.uk/categories/development">Development</category><category domain="https://it.knightnet.org.uk/tags/git">git</category><category domain="https://it.knightnet.org.uk/tags/github">github</category><category domain="https://it.knightnet.org.uk/tags/npm">npm</category><category domain="https://it.knightnet.org.uk/tags/node.js">node.js</category><category domain="https://it.knightnet.org.uk/tags/nodejs">nodejs</category></item><item><title>Use an Authenticator App to Login to PayPal</title><link>https://it.knightnet.org.uk/blog/use-an-authenticator-app-to-login-to-paypal/</link><guid isPermaLink="true">https://it.knightnet.org.uk/blog/use-an-authenticator-app-to-login-to-paypal/</guid><pubDate>Sun, 11 Nov 2018 16:52:21 +0000</pubDate><guid>https://it.knightnet.org.uk/blog/use-an-authenticator-app-to-login-to-paypal/</guid><description><div>PayPal seem to think that SMS text messages are a secure two-factor authentication method.
Sadly, they are greatly mistaken. This article explains why and what to do about it.</div><div>&lt;h2 id="history">History&lt;/h2>
&lt;p>PayPal were early adopters of two factor authentication at a time when there was significant distrust in them
as an organisation. Depending on what country you were in, you could get one of their own hardware tokens or use a
Symantec VIP security token. &lt;em>Neither of these hardware tokens are available any more&lt;/em>.&lt;/p>
&lt;p>However, they never did adopt what the rest of the world started doing. Using &amp;ldquo;soft&amp;rdquo; tokens from a standard authenticator
app on smartphones. Examples of these apps are: LastPass Authenticator, Authy, Microsoft Authenticator and Google Authenticator.&lt;/p>
&lt;p>Instead, they adopted the use of SMS text messages - which were also adopted by many others due to the fact that most people were, by
then, carrying mobile phones of some sort.&lt;/p>
&lt;h2 id="the-problem">The Problem&lt;/h2>
&lt;p>Unfortunately, over the years since then, the weaknesses of SMS have been discovered. Not only can SMS text messages be intercepted
relatively easily (a problem particularly in the USA) but there is now an epidemic of phone account hijacking. Phone account hijacking
is where an attacker gets enough information about you that they can pretend to be you and then go on to be able to persuade your mobile
phone service provider that you need a replacement SIM card. Once they have a new SIM, they hijack your account and go about changing
passwords to key systems such as PayPal, Email, etc. If the second-factor for those systems uses your phone then they hijack those
accounts as well.&lt;/p>
&lt;p>These are really well-known issues and it is appalling that PayPal haven&amp;rsquo;t allowed people to use authenticator apps for two-factor
authentication as these are a lot more secure. Especially since you can backup the authenticator details and use them on another
phone in the case that yours is lost, stolen or broken. That way, you can keep control of your important accounts.&lt;/p>
&lt;p>So, when you go onto PayPal and try to activate two-factor authentication, they try to force you to register a phone.
Once registered, that phone will receive SMS text messages when you try to log in. You can also have PayPal phone you
and you get some backup manual codes that you can type in instead. Using those alternatives isn&amp;rsquo;t especially obvious.&lt;/p>
&lt;p>&lt;strong>Please help everyone by complaining to PayPal directly and on social media so that they understand that customers no longer find this behaviour acceptable.&lt;/strong>&lt;/p>
&lt;h2 id="a-solution">A Solution?&lt;/h2>
&lt;p>In fact, though, PayPal&amp;rsquo;s alternative token registration &lt;strong>does&lt;/strong> still exist on their website (at least for now).&lt;/p>
&lt;p>It is just *&lt;em>really&lt;/em> hard to get to.&lt;/p>
&lt;p>It is called &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_activate-security-key-any">Activate your PayPal Security Key&lt;/a>.&lt;/p>
&lt;p>But how do we get a mobile app that will generate the right codes to go with this page?&lt;/p>
&lt;h2 id="solution-1---the-symantec-vip-app">Solution 1 - the Symantec VIP app&lt;/h2>
&lt;p>The old Symantec VIP access tokens are long gone. However, they did replace it with a mobile app.&lt;/p>
&lt;p>You can download the app from your phone&amp;rsquo;s app store. It will show you a &amp;ldquo;Credential ID&amp;rdquo; that you will use to plug into
the &amp;ldquo;Serial number&amp;rdquo; field on the &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_activate-security-key-any">Activate your PayPal Security Key&lt;/a> page.&lt;/p>
&lt;p>Then you also provide the Security Code from the app that is currently showing, wait for the next code to show and enter that as well.&lt;/p>
&lt;p>Great! Pretty simple when you know how!&lt;/p>
&lt;p>There is, however, a little problem. There doesn&amp;rsquo;t appear to be any way to back up that configuration in case your phone is lost, broken or stolen. It would be FAR better if we could use on of the more standard authenticator apps such as those listed above.&lt;/p>
&lt;h2 id="solution-2---using-a-standard-authenticator-app">Solution 2 - Using a Standard Authenticator App&lt;/h2>
&lt;p>So, it turns out that we &lt;em>can&lt;/em> use a standard authenticator app. But it is certainly pretty painful to do it. The advantage is that
some of the better authenticator apps such as LastPass Authenticator and Authy provide the ability to back up your accounts.&lt;/p>
&lt;p>Here is a work around that will let you use a standard authenticator app with PayPal. It is involved and clunky but
it does - currently at least - work. You will need some minimal knowledge of using a command line.&lt;/p>
&lt;p>We will use a set of scripts called &lt;a href="https://github.com/dlenski/python-vipaccess">&lt;code>python-vipaccess&lt;/code>&lt;/a>. This will let us pretend to be a Symantec VIP hardware token. There are several versions of this application but only one seems to be maintained, the version by &lt;a href="https://github.com/dlenski">Dan Lenski&lt;/a>.&lt;/p>
&lt;p>In order to use this work around, you will need a computer that can run &lt;a href="https://en.wikipedia.org/wiki/Python_(programming_language)">Python&lt;/a>.
So the first step is to install it. You will need &lt;a href="https://www.python.org/downloads/">v3.x of Python&lt;/a>. How you install this will
depend on your operating system. The following instructions have been tested on Linux on a Raspberry Pi. You may need to tweak things
on other OS&amp;rsquo;s such as Windows.&lt;/p>
&lt;p>You will also need the Python 3 version of something called &lt;a href="https://pip.pypa.io/en/stable/installing/">pip&lt;/a>. If using Linux,
you should install pip via your package manager. The examples below use Rasbian which is derived from Debian Linux. The package
manager for Debian is &lt;code>apt&lt;/code> or &lt;code>apt-get&lt;/code>.&lt;/p>
&lt;p>Finally, the following also assumes that you have an application called &lt;a href="https://git-scm.com/">&lt;code>git&lt;/code>&lt;/a> installed. If you don&amp;rsquo;t have and don&amp;rsquo;t want
to install that, you can manually download the required &lt;code>python-vipaccess&lt;/code> application archive from &lt;a href="https://github.com/dlenski/python-vipaccess/releases">GitHub&lt;/a> directly &amp;amp; unpack the archive. We will assume that you are starting on the command line from the folder immediately above the place you&amp;rsquo;ve unpacked the application (the &lt;code>git clone&lt;/code> command does the equivalent).&lt;/p>
&lt;ol>
&lt;li>Install the Python 3 version of pip if needed: &lt;code>sudo apt install python3-pip&lt;/code>&lt;/li>
&lt;li>Download an application from GitHub. &lt;code>git clone https://github.com/dlenski/python-vipaccess.git&lt;/code>&lt;/li>
&lt;li>&lt;code>cd python-vipaccess&lt;/code>&lt;/li>
&lt;li>&lt;code>pip3 install -r requirements.txt&lt;/code> (takes quite a while on a Pi3. Not entirely sure you need this step or whether the next step does the same thing)&lt;/li>
&lt;li>&lt;code>pip3 install .&lt;/code>&lt;/li>
&lt;/ol>
&lt;p>The next problem is that this method of installation does &lt;strong>not&lt;/strong> create an executable!&lt;/p>
&lt;p>You have to execute using the following command:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">python3 ./vipaccess/cli.py provision -p
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Next, open your favoured OTP/Authenticator tool (I prefer LastPass Authenticator). Add a new account using a barcode. Now run the command:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">qrencode -t ANSI256 &lt;span class="s1">&amp;#39;ZZZ&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Where &lt;code>ZZZ&lt;/code> is the long URI output by the provisioning command and looks something like &lt;code>otpauth://totp/VIP%20Access:XXXXXXXXXXXX?issuer=Symantec&amp;amp;algorithm=SHA1&amp;amp;digits=6&amp;amp;period=30&amp;amp;secret=YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY&lt;/code>. Don&amp;rsquo;t forget to add the wrapping single quotes.&lt;/p>
&lt;p>&lt;code>XXXXXXXXXXXX&lt;/code> being the &lt;em>credential&lt;/em> from the provisioning command and &lt;code>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY&lt;/code> being the long code you would also use with &lt;code>oathtool&lt;/code>. The whole &lt;code>otpauth&lt;/code> URI is given to you so you can simply copy and paste it between the single quotes in the &lt;code>qrencode&lt;/code> command.&lt;/p>
&lt;p>This generates a visual, 2D barcode in your terminal that you can use in your authenticator app to finish creating the new account. The account will be named &amp;ldquo;Symantec&amp;rdquo; by default.&lt;/p>
&lt;p>Now go to &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_activate-security-key-any">https://www.paypal.com/cgi-bin/webscr?cmd=_activate-security-key-any&lt;/a>&lt;/p>
&lt;p>In the resulting form, &amp;ldquo;Serial Number&amp;rdquo; is the &lt;code>XXXXXXXXXXXX&lt;/code> value. Then you have to enter &lt;strong>two&lt;/strong> security codes from your authenticator app. Enter the code that is currently showing. Then wait 30 sec for the next code to show and enter that.&lt;/p>
&lt;p>All being well, you should now have a new activated security key. The key should last for 3 years after which you can create a new one following the same process.&lt;/p></div></description><author>Julian Knight</author><category domain="https://it.knightnet.org.uk/categories/security">Security</category><category domain="https://it.knightnet.org.uk/tags/paypal">PayPal</category><category domain="https://it.knightnet.org.uk/tags/finance">Finance</category><category domain="https://it.knightnet.org.uk/tags/security">Security</category></item><item><title>Windows 10 1803 Timeline Feature</title><link>https://it.knightnet.org.uk/blog/windows-10-1803-timeline-feature/</link><guid isPermaLink="true">https://it.knightnet.org.uk/blog/windows-10-1803-timeline-feature/</guid><pubDate>Tue, 29 May 2018 09:42:53 +0100</pubDate><guid>https://it.knightnet.org.uk/blog/windows-10-1803-timeline-feature/</guid><description><div>The May 2018 version of Windows 10 has an updated alt-tab view called the timeline. While it will eventually be more useful, its current implementation is poor.</div><div>&lt;p>When you press &lt;!-- raw HTML omitted -->win&lt;!-- raw HTML omitted -->+&lt;!-- raw HTML omitted -->tab&lt;!-- raw HTML omitted -->, you used to get a sticky view that showed all of the open application windows for each monitor with a miniature picture of the window.&lt;/p>
&lt;p>As of the 1803 update in May, this view has slightly changed so that view now includes a timeline that you can scroll through rather than just a list. There is also a search box to make it easier to find what you want if you have lots of windows open.&lt;/p>
&lt;p>&lt;img src="https://it.knightnet.org.uk/uploads/2018/05/W101803-timeline.png" alt="W10 Timeline Screenshot">&lt;/p>
&lt;p>The new view also includes application tabs as well as windows. But only if the application has been adapted.&lt;/p>
&lt;p>I have to say, though, that the feature has been very poorly implemented so far:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Tabs only show if the application has been altered to make use of the new feature.&lt;/p>
&lt;p>Currently these mainly seem to be Microsoft applications such as Edge and the Office 365 versions (Click-to-run) of Office applications.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Search only works with applications amended to work with it as above.&lt;/p>
&lt;p>This is especially annoying as it should give a nice way to quickly search through all of the open window titles at least. That information is clearly shown above each window in the list but you can&amp;rsquo;t search it. Seems like a petty limitation.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Windows opened on a secondary monitor for applications not adapted to timeline don&amp;rsquo;t appear in
the main timeline display (on the primary monitor) but applications that &lt;em>have&lt;/em> been adapted &lt;em>do&lt;/em> appear.&lt;/p>
&lt;p>This is, in my view, a poor UX decision since it is confusing to people.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>The search function is only available on the primary monitor even though it searches
applications on other monitors (though only if they have been adapted for the timeline as already mentioned).&lt;/p>
&lt;p>Again, this is unnecessarily confusing to users.&lt;/p>
&lt;/li>
&lt;/ul></div></description><author>Julian Knight</author><category domain="https://it.knightnet.org.uk/categories/windows">windows</category><category domain="https://it.knightnet.org.uk/categories/operating-systems">operating-systems</category><category domain="https://it.knightnet.org.uk/categories/microsoft">microsoft</category><category domain="https://it.knightnet.org.uk/tags/windows-desktops">windows-desktops</category><category domain="https://it.knightnet.org.uk/tags/microsoft">microsoft</category></item><item><title>Cloud Automation for IoT</title><link>https://it.knightnet.org.uk/blog/cloud-automation-for-iot/</link><guid isPermaLink="true">https://it.knightnet.org.uk/blog/cloud-automation-for-iot/</guid><pubDate>Sun, 06 May 2018 22:09:44 +0000</pubDate><guid>https://it.knightnet.org.uk/blog/cloud-automation-for-iot/</guid><description><div>Having just brought a Google Home, I've quickly realised that, although Google are supposedly fairly open about allowing people to develop for it, there are still far too many limitations. To try and get round these, I've been looking at automation tools. In this article, I will list some of the key tools and their strengths and weaknesses.</div><div>&lt;p>If you want to go beyond the relatively simplistic capabilities provided by the original vendor, you need to look for
additional automation tools. Unfortunately, none of the vendors make the creation of personalised actions easy (or even possible
sometimes!). So you are highly dependent on third-party integrations.&lt;/p>
&lt;p>I&amp;rsquo;ve focussed here, mainly on tools that will integrate to Google Home. Please feel free to chip in others in the comments.&lt;/p>
&lt;p> &lt;/p>
&lt;h2 id="overall-conclusions">Overall Conclusions&lt;/h2>
&lt;p>Sadly, despite several years in which to mature, alternatives to IFTTT seem to be poorly designed and executed.&lt;/p>
&lt;p>IFTTT itself has not matured as a platform and remains very restricted. It is fine if you just want to automate
a few, simple tasks. However, they have seriously failed to capitalise on their head start.&lt;/p>
&lt;p>So it seems as though I will be forced to continue to use IFTTT &amp;amp; will have to live with its limitations.&lt;/p>
&lt;h3 id="security-and-safety">Security and Safety&lt;/h3>
&lt;p>The need to interlock several cloud services to overcome the current limitations of smart speakers continues to be a real concern.&lt;/p>
&lt;p>It is not clear how secure these 3rd party services are nor is it always clear what interconnectivity you are giving away.&lt;/p>
&lt;p>While you are only turning on or off a few lights, this may not be too much of an issue unless you are someone with a high profile
or are an annoyance to certain governments, you should be very cautious if considering using any of these services in a more
sensitive environment or to control more critical hardware.&lt;/p>
&lt;p>&lt;em>Under no circumstances should you ever allow any of these services to have access to anything important (like your financial
systems for example). Try to limit the number of interlocked services and &lt;strong>always&lt;/strong> use separate id&amp;rsquo;s and passwords where
possible. For example, &lt;strong>never&lt;/strong> use your Facebook id to log into any of these services.&lt;/em>&lt;/p>
&lt;h3 id="why-would-i-want-to-use-these-services-then">Why would I want to use these services then?&lt;/h3>
&lt;p>Some ideas of things you might want to do with a Google Home but cannot without external help:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Ask where your spouse, partner or children are or when they will be home (at least if not all using Android phones)&lt;/p>
&lt;p>Always nice to have a meal waiting when you&amp;rsquo;ve just come back from work - but my daily commute can vary between 50 minutes and 2 hours!&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Ask to turn on/off lights connected to a custom home automation system&lt;/p>
&lt;p>Rather than the over-priced and insecure branded light systems&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Take one or more actions when all of the families mobile phones have left the area around your house&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h2 id="ifttt">IFTTT&lt;/h2>
&lt;p>&lt;a href="https://ifttt.com">IFTTT&lt;/a> was one of the earlier cloud automation tools. As such, it has generally excellent access to
many services including a useful selection of IoT related ones.&lt;/p>
&lt;h3 id="ifttt-advantages">IFTTT Advantages&lt;/h3>
&lt;ul>
&lt;li>Lots of cloud services and IoT platforms you can connect to&lt;/li>
&lt;li>If all you want to do is a very simple flow or 2, IFTTT makes it fairly painless&lt;/li>
&lt;li>Flows can be created and edited both from the web and the app&lt;/li>
&lt;/ul>
&lt;h3 id="ifttt-disadvantages">IFTTT Disadvantages&lt;/h3>
&lt;ul>
&lt;li>Only ever a single input and single output - impossible to create more complex and interesting flows&lt;/li>
&lt;li>Very limited parameters available for each connection&lt;/li>
&lt;li>Have to activate an applet before you can see what parameters are available&lt;/li>
&lt;li>No possibility to duplicate an applet - for example, if wanting an &amp;ldquo;on&amp;rdquo; and &amp;ldquo;off&amp;rdquo; version of a flow&lt;/li>
&lt;li>Very little flexibility&lt;/li>
&lt;/ul>
&lt;h3 id="ifttt-conclusion">IFTTT Conclusion&lt;/h3>
&lt;p>Really, IFTTT is horrible to work with. It is impossible to look into an applet until you&amp;rsquo;ve gone through configuration and turned it on.
This is especially galling where it means that you have to connect to an external service just to see if it will even be of any use.&lt;/p>
&lt;p>It&amp;rsquo;s extremely limited configuration also leaves you needing to make several (sometimes many) similar versions but you have to do this
by hand with lots of unnecessary typing and clicking since you cannot make a copy of existing applets unless they belong to someone
else.&lt;/p>
&lt;p>Also, it used to be clear whether you were creating an applet that was public or private - this is no longer the case - so you don&amp;rsquo;t
really know whether you are leaking private information.&lt;/p>
&lt;h2 id="stringify">Stringify&lt;/h2>
&lt;p>&lt;a href="https://www.stringify.com/">Stringify&lt;/a>&lt;/p>
&lt;h3 id="stringify-advantages">Stringify Advantages&lt;/h3>
&lt;ul>
&lt;li>The flow editing interface in the mobile app is actually not bad&lt;/li>
&lt;li>Complex(ish) flows can be created with multiple inputs and outputs with multiple intermediate processing steps - making it potentially
far more useful than IFTTT&lt;/li>
&lt;/ul>
&lt;h3 id="stringify-disadvantages">Stringify Disadvantages&lt;/h3>
&lt;ul>
&lt;li>No web signup - you can only sign up for the service via a painful mobile interaction in their app. This is pointlessly and needlessly
complex and painful.&lt;/li>
&lt;li>Can only edit flows using the app - !?!? Why ?!?! They created 1/2 a web interface.&lt;/li>
&lt;/ul>
&lt;h3 id="stringify-conclusion">Stringify Conclusion&lt;/h3>
&lt;p>The lack of a useful web interface is a foolish error. Stringify &lt;em>does have&lt;/em> a web interface but you can only view your flows
not edit them. Very poor showing.&lt;/p>
&lt;p>Setting up multiple integrations on a mobile phone is unnecessarily painful and pointless. You have to go back and forth between multiple
different id/password entry screens and sometime it doesn&amp;rsquo;t look like the data &amp;ldquo;took&amp;rdquo; so you end up trying to do the same again.
Frustrating, why would you put customers through that.&lt;/p>
&lt;p>Stringify cannot be recommended for anyone other than someone with technical knowledge and a lot of patience.&lt;/p>
&lt;h2 id="yonomi">Yonomi&lt;/h2>
&lt;p>&lt;a href="https://www.yonomi.co/">Yonomi&lt;/a> is rather like Stringify and shares many of the issues and failings.&lt;/p>
&lt;h3 id="yonomi-advantages">Yonomi Advantages&lt;/h3>
&lt;ul>
&lt;li>None that I could see&lt;/li>
&lt;/ul>
&lt;h3 id="yonomi-disadvantages">Yonomi Disadvantages&lt;/h3>
&lt;ul>
&lt;li>The same annoyances and pain as for Stringify since this is another tool that forces you to do everything via the app
and completely fails to provide a more user friendly web interface&lt;/li>
&lt;li>Completely failed to find the Google Home that is quite happily working on my network. But did claim to find a non-existant Amazon Echo.&lt;/li>
&lt;/ul>
&lt;h3 id="yonomi-conclusion">Yonomi Conclusion&lt;/h3>
&lt;p>Appears to be a poor copy of Stringify. Or perhaps the reverse is true.&lt;/p>
&lt;p>The fact that it couldn&amp;rsquo;t even discover our Google Home device but did discover an Amazon Echo (which we don&amp;rsquo;t possess)
immediately ruled it out for me.&lt;/p>
&lt;p>Even had it worked, Yonomi, like Stringify, cannot be recommended for anyone other than someone with technical knowledge and a lot of patience.&lt;/p>
&lt;h2 id="other-services">Other services&lt;/h2>
&lt;p>There are plenty of other automation services, some of which are long established. However, few, if any of them have Google Home integration:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://zapier.com">Zapier&lt;/a>&lt;/li>
&lt;li>Microsoft Flow&lt;/li>
&lt;/ul>
&lt;p>So they may be useful for other things but not here.&lt;/p>
&lt;h2 id="home-automation-platforms">Home automation platforms&lt;/h2>
&lt;p>There are a number of home automation platforms that support Google Home.&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Node-RED&lt;/p>
&lt;p>This is generally my &amp;ldquo;go to&amp;rdquo; tool for home automation and rapid IoT prototyping. However, it is not really the best tool
for Google Home. It has 2 contributed modules, one of which is for sending audio to the Google Home - useful enough. The
other integrates to Google&amp;rsquo;s Action platform which is far too complex for most people to us and is designed specifically
for creating public, reusable actions and not for personalised automation.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Home Assistant&lt;/p>
&lt;p>This Python-based home automation platform looks promising since it uses configuration files rather than complex programming
to integrate.&lt;/p>
&lt;p>I&amp;rsquo;ve not yet tried it so I cannot yet comment on how good or useful it may be.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&amp;hellip;&lt;/p>
&lt;/li>
&lt;/ul></div></description><author>Julian Knight</author><category domain="https://it.knightnet.org.uk/categories/development">Development</category><category domain="https://it.knightnet.org.uk/tags/iot">IoT</category><category domain="https://it.knightnet.org.uk/tags/cloud">Cloud</category></item><item><title>iTunes Finally Hits the Windows Store - What Does it Mean?</title><link>https://it.knightnet.org.uk/blog/itunes-finally-hits-the-windows-store-what-does-it-mean/</link><guid isPermaLink="true">https://it.knightnet.org.uk/blog/itunes-finally-hits-the-windows-store-what-does-it-mean/</guid><pubDate>Fri, 27 Apr 2018 08:11:13 +0000</pubDate><guid>https://it.knightnet.org.uk/blog/itunes-finally-hits-the-windows-store-what-does-it-mean/</guid><description><div>iTunes on Windows has always been a horrible application. It is highly intrusive, installing many background services. It also has a terrible UX/design. So, now that it is available in the Windows Store, is there a difference? Improvement?</div><div>&lt;p>Yes, this &lt;strong>will&lt;/strong>, or at least &lt;em>should&lt;/em>, make a difference.&lt;/p>
&lt;p>The reason is that Windows Store apps are actually wrapped in a &lt;a href="http://www.dictionary.com/browse/sandbox">&lt;em>sandbox&lt;/em>&lt;/a> environment. This means that your actual Windows environment, including your registry, will not
be littered with rubbish.&lt;/p>
&lt;p>It also means that, not only will iTunes be updated for you automatically by the Store, but if (when!)
you decide to uninstall it, it will be &lt;em>totally&lt;/em> gone. Unlike the standard installation that leaves
behind all sorts of rubbish that slows down your PC.&lt;/p>
&lt;!-- raw HTML omitted -->
&lt;p>Here are some articles that describe the Windows Store Sandbox and its implications:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.makeuseof.com/tag/desktop-vs-windows-store-apps-download/">Desktop vs. Windows Store Apps: Which Should You Download?&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blogs.msdn.microsoft.com/cdndevs/2013/03/19/building-secure-windows-store-apps/">Building Secure Windows Store Apps&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.theregister.co.uk/2017/05/03/s_is_for_soon_behind_microsofts_new_windows/">S is for Sandbox: The logic behind Microsoft&amp;rsquo;s new lockdown Windows gambit • The Register&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://labs.sogeti.com/windows-store-apps-live-sandbox/">Windows Store Apps live in the Sandbox - SogetiLabs&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>And one more link that is relavent to the Windows Store version of iTunes as this is very likely
how it has been built: &lt;a href="https://blogs.msdn.microsoft.com/appconsult/2016/10/13/desktop-bridge-the-bridge-between-win32-apps-and-the-universal-windows-platform/">Desktop Bridge – The bridge between desktop apps and the Universal Windows Platform – App Consult Team&lt;/a>&lt;/p>
&lt;p>Unfortunately, the expected raft of announcements on the various tech news sites, as so often, miss the whole
point of why this is an important release. Most make no mention of the protections, performance and update
benefits or if they do, they don&amp;rsquo;t explain why they are important:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.engadget.com/2018/04/26/itunes-windows-store-s-mode/">Apple&amp;rsquo;s iTunes software comes to the Windows Store&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://techcrunch.com/2018/04/26/apple-itunes-finally-arrives-in-the-windows-store/">Apple iTunes finally arrives in the Windows Store | TechCrunch&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.macrumors.com/2018/04/26/itunes-app-windows-10-store/">Apple&amp;rsquo;s iTunes App Now Available Through Microsoft&amp;rsquo;s Windows 10 Store - Mac Rumors&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://gadgets.ndtv.com/apps/news/itunes-app-microsoft-store-windows-10-apple-how-to-download-install-1843650">iTunes Finally Available on the Microsoft Store for Windows 10 | Technology News&lt;/a>&lt;/li>
&lt;/ul></div></description><author>Julian Knight</author><category domain="https://it.knightnet.org.uk/categories/windows">Windows</category><category domain="https://it.knightnet.org.uk/tags/apple">Apple</category><category domain="https://it.knightnet.org.uk/tags/itunes">iTunes</category><category domain="https://it.knightnet.org.uk/tags/windows-store">Windows Store</category></item><item><title>Migrated from WordPress to Hugo and Netlify</title><link>https://it.knightnet.org.uk/blog/migrated-from-wordpress-to-hugo-and-netlify/</link><guid isPermaLink="true">https://it.knightnet.org.uk/blog/migrated-from-wordpress-to-hugo-and-netlify/</guid><pubDate>Sat, 21 Apr 2018 22:00:00 +0000</pubDate><guid>https://it.knightnet.org.uk/blog/migrated-from-wordpress-to-hugo-and-netlify/</guid><description><div>The migration from WordPress is now completed. This blog and the new Knowledgebase are generated using Hugo and hosted with Netlify.</div><div>&lt;p>It&amp;rsquo;s done!&lt;/p>
&lt;p>Please see the &lt;a href="https://it.knightnet.org.uk/kb/hugo/">section of the Knowledgebase on Hugo&lt;/a> for more information.&lt;/p></div></description><author>Julian Knight</author><category domain="https://it.knightnet.org.uk/categories/blogging">Blogging</category><category domain="https://it.knightnet.org.uk/tags/hugo">Hugo</category><category domain="https://it.knightnet.org.uk/tags/hosting">Hosting</category></item><item><title>Switching from WordPress to Hugo</title><link>https://it.knightnet.org.uk/blog/switching-from-wordpress-to-hugo/</link><guid isPermaLink="true">https://it.knightnet.org.uk/blog/switching-from-wordpress-to-hugo/</guid><pubDate>Fri, 06 Apr 2018 22:00:00 +0000</pubDate><guid>https://it.knightnet.org.uk/blog/switching-from-wordpress-to-hugo/</guid><description><div>I've been fed up with the speed of WordPress for years but haven't had the time to learn how to properly switch to an alternative. Until I discovered Hugo!</div><div>&lt;p>Hugo is a static file website generator written in Go. It generates an updated site pretty quick on a laptop
for the kind of size of blog and information site I&amp;rsquo;m running.&lt;/p>
&lt;p>I have also been trying out Jekyll since that is natively supported on GitHub pages - for example, GitHub
itself will generate your site when you &amp;ldquo;push&amp;rdquo; changes to the repo that underpins the site.&lt;/p>
&lt;p>There are several problems with using GitHub and Jekyll:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Unless you pay, you cannot hide the source code for your site on GitHub&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Jekyll&amp;rsquo;s build process is very &lt;em>sensitive&lt;/em>. It fails fairly often for the most trivial of reasons and
when the build does fail, the help information is obscure to say the least.&lt;/p>
&lt;p>You can build locally and you &lt;em>might&lt;/em> get more information but then you have to install and maintain
an installation of Ruby. This is a significant pain, especially on Windows. I don&amp;rsquo;t know Ruby and I
don&amp;rsquo;t &lt;strong>want&lt;/strong> to know it either.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Jekyll itself is also more than a little strange in places. With things that don&amp;rsquo;t work for no obvious
reason.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>While there are some themes for Jekyll, I couldn&amp;rsquo;t find any that really met my needs and writing your
own seems harder than for Hugo. Though that might just be me.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>So Jekyll/GitHub was not a viable alternative to Wordpress. It just about works for a simple information
site like a documentation one but I certainly wouldn&amp;rsquo;t want it to be my main blogging site.&lt;/p>
&lt;h2 id="moving-away-from-wordpress">Moving away from WordPress&lt;/h2>
&lt;p>Of course, when you switch away from WordPress, you immediately inherit a number of issues that you have to deal with:&lt;/p>
&lt;ul>
&lt;li>No dynamic content - unless you build it yourself.&lt;/li>
&lt;li>No WYSIWYG content editing - unless you integrate with Forest.IO (see below). Hint: it is &lt;strong>easy&lt;/strong>.&lt;/li>
&lt;li>No search. WordPress gives this via its MySQL database integration.&lt;/li>
&lt;/ul>
&lt;h2 id="moving-to-hugo">Moving to Hugo&lt;/h2>
&lt;p>But you also get a number of advantages when using Hugo:&lt;/p>
&lt;ul>
&lt;li>Blazing speed from the final output - it is HTML &amp;amp; CSS, no messin'&lt;/li>
&lt;li>Hugo is (mainly) very comprehensible and logical. In the time it took me to learn Jekyll (a fair bit less actually), I&amp;rsquo;ve been able to
start from scratch, even building my own theme from scratch. Export my WordPress blog (which I could never
get to work with the Jekyll export tool) &amp;amp; begin fixing up the content. I&amp;rsquo;ve even merged in the pages from Jekyll.&lt;/li>
&lt;li>Working with a theme is very easy. You make it a submodule using Git. That way it can be in an entirely different
repository - either belonging to someone else or belonging to you (maybe cloned and edited).&lt;/li>
&lt;/ul>
&lt;h2 id="issues-to-resolve">Issues to resolve&lt;/h2>
&lt;p>I&amp;rsquo;ve not got everything worked out yet. There are some things I need to get working.&lt;/p>
&lt;ul>
&lt;li>Site Search&lt;/li>
&lt;li>RSS Feeds&lt;/li>
&lt;/ul>
&lt;h2 id="additional-tools">Additional Tools&lt;/h2>
&lt;p>Of course, you still have to host your site somewhere. I&amp;rsquo;ve been hosting my WordPress and other sites on a low-cost
VPS for some years. It works well enough but recently the VPS has been filling its hard drive and is in serious need
of some maintenance. Finding a cloud service to do the heavy lifting would be nice.&lt;/p>
&lt;p>So, like many, I&amp;rsquo;ve integrated a few cloud tools with Hugo to give me hosting and other utilities.&lt;/p>
&lt;h3 id="source-code-and-content-backup">Source Code and Content Backup&lt;/h3>
&lt;p>This one is simple. The site is generated by Hugo either on my local PC (Hugo is a single binary install, no messing with Golang) or
in the cloud. That leaves the site structure which is a load of HTML and Markdown files with some static content files.&lt;/p>
&lt;p>All of the structural and content files are easily stored in a git repository. This also gives multi-versioning.&lt;/p>
&lt;p>I&amp;rsquo;m using &lt;a href="https://gitlab.com/TotallyInformation">GitLab&lt;/a> for the main site content and structure because it lets me have &lt;strong>private&lt;/strong> repos for free (unlike GitHub).
But I&amp;rsquo;m using &lt;a href="https://github.com/TotallyInformation/hugo-theme-twenty-sixteen">GitHub for my theme&lt;/a> since this can be public -
indeed, I want it public so that other people can use it if they want to.&lt;/p>
&lt;h3 id="hosting">Hosting&lt;/h3>
&lt;p>I am using &lt;a href="netlify.com">Netlify&lt;/a> to actually host the site.&lt;/p>
&lt;ul>
&lt;li>I don&amp;rsquo;t have to faff with or worry about my own server.&lt;/li>
&lt;li>Netlify hosts everything for you. Not only the site but also the build process. You can bring your own Domain as well.&lt;/li>
&lt;li>It is free for small sites.&lt;/li>
&lt;li>You get TLS/SSL integration without having to faff with Let&amp;rsquo;s Encrypt - they do it all for you. Or you can provide your own certificate.&lt;/li>
&lt;li>Netlify is also a CDN so files are replicated and delivered regionally.&lt;/li>
&lt;li>You get full build messages so you can see if something goes wrong.&lt;/li>
&lt;li>You get some automatic optimisations if you want them - a valid TLS certificate for HTTPS, Some file optimisations.&lt;/li>
&lt;li>You get form submission for free (with some sensible limits).&lt;/li>
&lt;li>You get identity management for free (with some sensible limits) using OAuth.&lt;/li>
&lt;li>You get alerting with integration to email, Slack, etc. All for free.&lt;/li>
&lt;li>You even get integrated Amazon AWS Lambda serverless functions for free! These are great for building small utility functions
that run in the cloud and can be called using a simple REST web API. They can be a pain to set up and manage though but Netlify
makes it easy.&lt;/li>
&lt;li>It has a local command-line interface in case I want to control everything locally. The CLI also simulates the running of Lambda functions.&lt;/li>
&lt;/ul>
&lt;h3 id="online-content-management">Online Content Management&lt;/h3>
&lt;p>It isn&amp;rsquo;t always convenient to fire up my code editor and run the Hugo development server on my laptop.&lt;/p>
&lt;p>Also, it can be nice to have a WYSIWYG writing experience, or at least something close.&lt;/p>
&lt;p>Forest.IO gives me a convenient web editing experience.&lt;/p>
&lt;ul>
&lt;li>Very quick and easy to set up.&lt;/li>
&lt;li>Edits data (e.g. JSON), not just pages and blog posts.&lt;/li>
&lt;li>Merges changes direct back to the GitLab repo - git takes care of merging so it isn&amp;rsquo;t a problem to edit
&lt;em>both&lt;/em> locally and in the cloud.&lt;/li>
&lt;li>It provides editable templates for frontmatter and other metadata.&lt;/li>
&lt;/ul>
&lt;h3 id="other-cloud-tools">Other cloud tools&lt;/h3>
&lt;ul>
&lt;li>Site search - I&amp;rsquo;ve not yet got this set up. There are several possibilities but I think it will take some work.&lt;/li>
&lt;li>Image optimisation&lt;/li>
&lt;li>Website testing and optimisation&lt;/li>
&lt;/ul>
&lt;h3 id="tools-for-local-editing-and-development">Tools for Local Editing and Development&lt;/h3>
&lt;ul>
&lt;li>Hugo - the single binary install, very easy.&lt;/li>
&lt;li>Microsoft Visual Studio Code - makes an excellent editing and testing environment.&lt;/li>
&lt;li>Chrome, Edge &amp;amp; Firefox browsers - with their development tools.&lt;/li>
&lt;li>Cmder - an enhanced command shell. Not really needed but it makes working with the command prompt
a lot nicer on Windows.&lt;/li>
&lt;/ul></div></description><author>Julian Knight</author><category domain="https://it.knightnet.org.uk/categories/blogging">Blogging</category></item><item><title>Presentation: Security and Governance in the Cloud</title><link>https://it.knightnet.org.uk/2016/11/cloud-security-and-governance.html</link><guid isPermaLink="true">https://it.knightnet.org.uk/2016/11/cloud-security-and-governance.html</guid><pubDate>Mon, 28 Nov 2016 12:54:25 +0000</pubDate><guid>https://it.knightnet.org.uk/2016/11/cloud-security-and-governance.html</guid><description><div/><div>&lt;p>Here is a presentation that I did recently for NHS CIO’s and CCIO’s.
It is all about how NHS England has followed a journey to cloud services and the IT Security &amp;amp; Information Governance issues we had to deal with along the way. It tries to also show other NHS organisations how they might work towards similar aims.&lt;/p>
&lt;!-- raw HTML omitted --></div></description><author>Julian Knight</author><category domain="https://it.knightnet.org.uk/categories/enterprise">Enterprise</category><category domain="https://it.knightnet.org.uk/categories/it-security">IT Security</category><category domain="https://it.knightnet.org.uk/categories/microsoft">Microsoft</category><category domain="https://it.knightnet.org.uk/tags/cyber-security">cyber security</category><category domain="https://it.knightnet.org.uk/tags/enterprise-architecture">Enterprise Architecture</category><category domain="https://it.knightnet.org.uk/tags/enterprise-systems">Enterprise Systems</category><category domain="https://it.knightnet.org.uk/tags/governance">Governance</category><category domain="https://it.knightnet.org.uk/tags/government">government</category><category domain="https://it.knightnet.org.uk/tags/microsoft">Microsoft</category><category domain="https://it.knightnet.org.uk/tags/nhs">nhs</category><category domain="https://it.knightnet.org.uk/tags/office-365">Office 365</category><category domain="https://it.knightnet.org.uk/tags/presentation">Presentation</category><category domain="https://it.knightnet.org.uk/tags/security">Security</category><category domain="https://it.knightnet.org.uk/tags/solutions-architecture">Solutions Architecture</category></item><item><title>Open Source vs Proprietary in UK Central Government Organisations</title><link>https://it.knightnet.org.uk/blog/open-source-vs-proprietary-in-uk-central-government-organisations/</link><guid isPermaLink="true">https://it.knightnet.org.uk/blog/open-source-vs-proprietary-in-uk-central-government-organisations/</guid><pubDate>Mon, 20 Jun 2016 00:00:00 +0000</pubDate><guid>https://it.knightnet.org.uk/blog/open-source-vs-proprietary-in-uk-central-government-organisations/</guid><description><div/><div>&lt;p>&lt;em>NB: This article is incomplete - it was converted from a previous blog site. It is included as a draft.&lt;/em>&lt;/p>
&lt;blockquote>
&lt;p>Open source does not necessarily mean that open integration and open data is facilitated&lt;/p>
&lt;/blockquote>
&lt;p>The issue of open source vs proprietary applications for organisations related to the UK government comes up regularly. the UK’s Cabinet Office have issued clear guidance that open source is preferred and should always be considered when procuring new systems.&lt;/p>
&lt;p>However, this actually leads to confusion with many people then assuming that choosing proprietary applications will lead to trouble.&lt;/p>
&lt;p>The truth is rather more nuanced and it is worth thinking about. For me, the best approach is to deliver open data and open integration rather than focusing on open source per se.&lt;/p>
&lt;p>The following notes have been extracted from some internal documentation I did for our organisation. That is why is focuses on Microsoft. I am not advocating a specific vendor nor am I prioritising proprietary over open source. I am simply recommending a balanced and holistic view to get the best possible deal for the public purse.&lt;/p>
&lt;p> &lt;/p>
&lt;p>My view, and the view of quite a number of other people I’ve had the opportunity to talk to across government, is that the focus should be on &lt;strong>&lt;em>open integration&lt;/em>&lt;/strong> rather than necessarily open source. Using &lt;strong>&lt;em>open source does not necessarily mean that open integration and open data is facilitated&lt;/em>&lt;/strong>. Conversely, some proprietary vendors have made great strides in ensuring that systems can be integrated and data shared.&lt;/p>
&lt;p>At present, Microsoft, Google and Amazon all seem to &amp;ldquo;get&amp;rdquo; the issues of open integration and open data to one degree or another.&lt;/p>
&lt;p>Discussion in the open source debate tends to focus on license costs. OS is license free by definition; however, you will still pay for support. OS software is often also (much) harder to implement and support due to patchy documentation and many individuals contributing different code. &lt;em>Not always true of course but there is certainly a degree of truth in this.&lt;/em>&lt;/p>
&lt;p>In the case of something like the Microsoft platforms, the implementation and support costs of the core software (such as Office 365) have been driven down massively and the economies of scale we are bringing to bear through greater cross-government collaboration is improving that still further. At the same time, large license scales enable organisations to make use of additional funding that comes out of our EA agreements. This gives us access to additional planning, design and implementation services that all would have to be separately paid for with open source software. These all have a tendency to balance out the books.&lt;/p>
&lt;p>User and administrative training is the final element and again, proprietary vendors tend to provide more and better quality training/documentation resources than open source (again, in general). Proprietary software also has a tendency to have better developed user interfaces requiring less training. This further balances the cost equation.&lt;/p>
&lt;p>So while I fully support the need to evaluate OS vs proprietary software, we must do so holistically otherwise we will not get the expected benefits and there is plenty of evidence to support this view from the likes of Germany and Brazil both of whom have extensively switched to open source software.&lt;/p>
&lt;p>The bottom line is that Microsoft are often currently viewed as the best strategic partner we can have in areas of desktop operating systems, general office applications and general cloud computing facilities. They have already made good progress in opening a lot of previously proprietary code and supporting open interface standards &amp;amp; they currently see the health sector as one of their primary growth areas. We have made good use of this while continuing to keep an eye out for changes in their policies that will happen inevitably. The key things are to ensure that we have strategies for exiting Microsoft platforms should we need to in the future and that we continue to evaluate the value of our investment. We don’t do this blindly though. As a specific example, the use of Microsoft Dynamics Online, their cloud CRM, is relatively expensive. It is a good platform where a full CRM is required but it is expensive when only limited CRM tools are needed and we recommend other tools in those cases.&lt;/p></div></description><author>Julian Knight</author><category domain="https://it.knightnet.org.uk/categories/enterprise">Enterprise</category><category domain="https://it.knightnet.org.uk/tags/design">Design</category><category domain="https://it.knightnet.org.uk/tags/government">government</category><category domain="https://it.knightnet.org.uk/tags/integration">integration</category><category domain="https://it.knightnet.org.uk/tags/open-data">open data</category><category domain="https://it.knightnet.org.uk/tags/open-source">open source</category><category domain="https://it.knightnet.org.uk/tags/planning">Planning</category><category domain="https://it.knightnet.org.uk/tags/proprietary">proprietary</category><category domain="https://it.knightnet.org.uk/tags/software">software</category></item><item><title>A simple mail filer for Microsoft Outlook (VBA)</title><link>https://it.knightnet.org.uk/blog/a-simple-mail-filer-for-microsoft-outlook-vba/</link><guid isPermaLink="true">https://it.knightnet.org.uk/blog/a-simple-mail-filer-for-microsoft-outlook-vba/</guid><pubDate>Sun, 19 Jun 2016 00:00:00 +0000</pubDate><guid>https://it.knightnet.org.uk/blog/a-simple-mail-filer-for-microsoft-outlook-vba/</guid><description><div/><div>&lt;p>Like many people I receive an unmanageable amount of email each day. Many days I get through only around 1/3 of the email I receive.&lt;/p>
&lt;p>However, the role I am in professionally requires me to retain a large proportion of correspondence. Some because it relates to ongoing projects, other because of security, audit or compliance reasons.&lt;/p>
&lt;p>In addition, I work across many projects. It isn&amp;rsquo;t unusual for me to be involved in two dozen or so projects at any one time on top of my day-to-day management work.&lt;/p>
&lt;p>So I have many folders &amp;ndash; hundreds in fact &amp;ndash; and filing email into the right folder has become a real drag. It can take an appreciable amount of time to hunt down the correct folder and Outlook does not provide any way to search/filter folder names in the UI.&lt;/p>
&lt;p>Thankfully, I have access to VBA macros in Outlook. While the experience of using VBA macros to control Outlook is rarely pleasant, it does get the job done &amp;ndash; mainly.&lt;/p>
&lt;p>My requirements for the utility were as follows:&lt;/p>
&lt;ul>
&lt;li>Must let me select multiple emails, if any have already been filed, show me the folder(s) so I can quickly file new email to the same folder as the rest of the conversation.&lt;/li>
&lt;li>Must give me a list of all my folders with a simple way of filtering the list by typing a few letters.&lt;/li>
&lt;li>Must also let me open a folder for viewing instead of filing or cancelling.&lt;/li>
&lt;/ul>
&lt;p>A couple of hours later, I was able to create a new utility which you can grab the code for from my GitHub repository: &lt;!-- raw HTML omitted -->&lt;a href="https://github.com/TotallyInformation/outlook-filer">https://github.com/TotallyInformation/outlook-filer&lt;/a>&lt;!-- raw HTML omitted -->&lt;/p>
&lt;p>There are a few tweaks I&amp;rsquo;d like to incorporate but as it is, it is highly useful and I use it many times a day.&lt;/p></div></description><author>Julian Knight</author><category domain="https://it.knightnet.org.uk/categories/general">General</category><category domain="https://it.knightnet.org.uk/categories/microsoft">Microsoft</category><category domain="https://it.knightnet.org.uk/categories/windows">Windows</category></item><item><title>DSC vs. GPO vs. SCCM vs. MDM (Intune)</title><link>https://it.knightnet.org.uk/2016/06/dsc-gpo-sccm-mdm.html</link><guid isPermaLink="true">https://it.knightnet.org.uk/2016/06/dsc-gpo-sccm-mdm.html</guid><pubDate>Sat, 18 Jun 2016 17:42:13 +0000</pubDate><guid>https://it.knightnet.org.uk/2016/06/dsc-gpo-sccm-mdm.html</guid><description><div/><div>&lt;p>Microsoft Windows administrators now have a number of ways for managing their estates.&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;em>Group Policy (GPO)&lt;/em>&lt;/p>
&lt;p>Allows very fine-grained control over every aspect of Windows. Primarily aimed at Windows desktops. Requires Active Directory (AD) and very careful configuration. Requires well trained specialist staff to get it right.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;em>System Center Configuration Manager (SCCM)&lt;/em>&lt;/p>
&lt;p>Allows central control over software delivery. Also requires AD. Configuration of delivery packages can be complex and very careful change control is required. Software delivery via SCCM can also be intrusive to users. Requires well trained specialist staff to get it right.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;em>Desired State Configuration (DSC)&lt;/em>&lt;/p>
&lt;p>Though extended by Microsoft this is actually part of a wider open standard &amp;ldquo;Open Management Infrastructure&amp;rdquo; and so applies to other platforms as well including Linux. Mainly aimed at server configurations. Falls into the DevOps camp as it defines server configurations in purely text format and so can be put under source control easily. DSC is typically dynamic and enforces the correct configuration (normally every 15 minutes) which greatly helps ensure secure configurations.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;em>Mobile Device Management (MDM)&lt;/em>&lt;/p>
&lt;p>Primarily aimed at mobile devices, this style of configuration is increasingly applicable to Windows Desktops with the advent of Windows 10. Microsoft InTune is leading the way with other MDM vendors following on. Not everything on the desktop can yet be controlled this way, even with W10 but many key settings and controls are already available. A much simpler method for enforcing desktop settings than the other methods, it allows fewer administrators and much less specialist knowledge.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>The article from FoxDeploy covers the first three of those and lays out the purpose of each. Well worth a read.&lt;/p>
&lt;p>What is missing is the 4th method which uses Mobile Device Management tooling. The leading contender for this is Microsoft InTune. However, InTune is really only focussed on Windows 10 (desktop and mobile), it has limited control in other Operating Systems.&lt;/p>
&lt;blockquote>
&lt;p>Servers only ever exist in a given state. If they deviate or we make changes, we refactor and redeploy. DSC drives it all and the machine will be up and running on a new OS, with data migrated in a matter of minutes.&lt;/p>
&lt;/blockquote>
&lt;blockquote>
&lt;p>For all practical purposes, the first true large scale management tool we had for Windows systems in the modern era was Group Policy, or GPO as it is commonly truncated.&lt;/p>
&lt;/blockquote>
&lt;blockquote>
&lt;p>Comparatively, SCCM and MDT allow us to we import an image from a Windows install disk and then run dozens of individual steps which are customized based on the target machines platform, model, office location and other factors. The sky is the limit.&lt;/p>
&lt;/blockquote>
&lt;p>Curated from &lt;!-- raw HTML omitted -->&lt;!-- raw HTML omitted -->DSC vs. GPO vs. SCCM, the case for each. – FoxDeploy.com&lt;!-- raw HTML omitted -->&lt;!-- raw HTML omitted -->&lt;/p>
&lt;h2 id="update-2018-05-04---intune-and-autopilot">Update 2018-05-04 - Intune and Autopilot&lt;/h2>
&lt;p>It should be noted that Intune is now much more capable than when this was originally written.&lt;/p>
&lt;p>Intune now has mobile device management that easily rivals any of the other MDM tools across all platforms. It is also
well able to manage Apple OS X as far as Apple actually allow remote management of this type (they provide only a restricted
set of API&amp;rsquo;s unlike Windows).&lt;/p>
&lt;p>It should now be possible to manage and configure Windows desktops (at least Windows 10) just using Intune via the Cloud without
any input from the other tools.&lt;/p>
&lt;p>Intune coupled with &lt;a href="https://docs.microsoft.com/en-us/windows/deployment/windows-autopilot/windows-10-autopilot">Microsoft Autopilot&lt;/a> provides
a massively powerful and attractive set of tools for the deployment and configuration of Windows 10 based devices.&lt;/p>
&lt;p>Autopilot lets you ship devices straight from the manufacturer to the end user with no build needed. The user only requires a broadband
Internet connection. Devices are unboxed by the user and connected to the Internet. The user logs in with their cloud identity. Intune
&amp;ldquo;knows&amp;rdquo; which organisation the device belongs to and begins configuration. The whole process takes about 10 minutes to give a device
that can browse the Internet and 1 to 2 hours at most before all local client applications are installed and configured (in the background)
depending on the complexity of your configuration.&lt;/p></div></description><author>Julian Knight</author><category domain="https://it.knightnet.org.uk/categories/enterprise">Enterprise</category><category domain="https://it.knightnet.org.uk/categories/linux">Linux</category><category domain="https://it.knightnet.org.uk/categories/microsoft">Microsoft</category><category domain="https://it.knightnet.org.uk/categories/operating-systems">Operating Systems</category><category domain="https://it.knightnet.org.uk/categories/software">Software</category><category domain="https://it.knightnet.org.uk/categories/windows">Windows</category><category domain="https://it.knightnet.org.uk/tags/configuration">Configuration</category><category domain="https://it.knightnet.org.uk/tags/cross-platform">Cross-Platform</category><category domain="https://it.knightnet.org.uk/tags/enterprise-systems">Enterprise Systems</category><category domain="https://it.knightnet.org.uk/tags/group-policy">Group Policy</category><category domain="https://it.knightnet.org.uk/tags/microsoft">Microsoft</category><category domain="https://it.knightnet.org.uk/tags/microsoft-intune">Microsoft InTune</category><category domain="https://it.knightnet.org.uk/tags/microsoft-windows-administrators">Microsoft Windows administrators</category><category domain="https://it.knightnet.org.uk/tags/mobile-device-management">Mobile Device Management</category><category domain="https://it.knightnet.org.uk/tags/operations">Operations</category><category domain="https://it.knightnet.org.uk/tags/software-delivery">software delivery</category><category domain="https://it.knightnet.org.uk/tags/system-center-configuration-manager">System Center Configuration Manager</category><category domain="https://it.knightnet.org.uk/tags/windows-desktops">Windows desktops</category></item><item><title>Why I Still Don’t Use Bing For Searching</title><link>https://it.knightnet.org.uk/2016/01/why-i-still-dont-use-bing-for-searching.html</link><guid isPermaLink="true">https://it.knightnet.org.uk/2016/01/why-i-still-dont-use-bing-for-searching.html</guid><pubDate>Sat, 23 Jan 2016 13:12:13 +0000</pubDate><guid>https://it.knightnet.org.uk/2016/01/why-i-still-dont-use-bing-for-searching.html</guid><description><div>Microsoft continue to reinvent themselves for the 21st Century but Bing lags behind compared to its competition.</div><div>&lt;p>Whilst Microsoft seem to continue to reinvent themselves for the 21st Century and are coming out with some excellent products and services that are far more reactive to the views of their customers, there is one product that still lags far behind the competition – at least if you are not in the USA.&lt;/p>
&lt;p>The Bing search engine.&lt;/p>
&lt;p>With my recent move to a Surface Pro 4 and various recent updates to Windows 10, I thought it a good idea to revisit using Edge as my default browser and to try to stick with Bing as the default search.&lt;/p>
&lt;p>But I’m sorry Microsoft, it doesn’t work! Even when not logged in to Google, it consistently returns far more relevant answers as evidenced by the following search for the latest Raspberry Pi flavoured version of the Scratch programming environment “NuScratch”&lt;/p>
&lt;p>.&lt;!-- raw HTML omitted -->
&lt;a href="https://it.knightnet.org.uk/uploads/2016/01/bing_comaprison.png">&lt;!-- raw HTML omitted -->&lt;/a>&lt;!-- raw HTML omitted -->Search in Google vs Bing&lt;!-- raw HTML omitted -->&lt;!-- raw HTML omitted -->&lt;/p>
&lt;p>Need to do better!&lt;/p></div></description><author>Julian Knight</author><category domain="https://it.knightnet.org.uk/categories/microsoft">Microsoft</category><category domain="https://it.knightnet.org.uk/tags/google">Google</category><category domain="https://it.knightnet.org.uk/tags/microsoft">Microsoft</category><category domain="https://it.knightnet.org.uk/tags/search">Search</category></item></channel></rss>