<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title>secreci</title>
	<subtitle>Field notes on security, technology, and whatever else needed written down.</subtitle>
	<link href="https://secreci.com/feed/feed.xml" rel="self"/>
	<link href="https://secreci.com/"/>
	<updated>2026-06-13T00:00:00Z</updated>
	<id>https://secreci.com/</id>
	<icon>https://secreci.com/favicon.ico</icon>
	<author>
		<name>Andy Younie</name>
		<email>andy@secreci.com</email>
	</author>
	
	<entry>
		<title>Why the PeopleSoft Victims Were Scanned and Not Chosen</title>
		<link href="https://secreci.com/posts/20260613-peoplesoft-exposure-defence/"/>
		<updated>2026-06-13T00:00:00Z</updated>
		<id>https://secreci.com/posts/20260613-peoplesoft-exposure-defence/</id>
		<summary>ShinyHunters found exploitable PeopleSoft servers by scanning the internet for reachable instances. With no fix available until after the attacks began, exposure determined the victims.</summary>
		<category term="security"/>
		<category term="essay"/>
		<content type="html">&lt;p&gt;Nobody picked the University of Nottingham.&lt;/p&gt;
&lt;p&gt;When the news broke that 454,600 current and former students had their personal and academic records dumped on a leak site, the natural assumption is that someone went after the university. Chose it, studied it, planned the break-in. None of that happened. A criminal group called ShinyHunters was running a scanner across the internet, looking for one specific thing: an Oracle PeopleSoft server that was reachable and vulnerable. The University of Nottingham&#39;s server was both. So were more than a hundred other organisations&#39;.&lt;/p&gt;
&lt;p&gt;It is the digital version of walking down a street pulling on every car door to see which ones are unlocked. The thief doesn&#39;t care whose car it is. They care that it opens.&lt;/p&gt;
&lt;h2 id=&quot;what-actually-happened&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20260613-peoplesoft-exposure-defence/#what-actually-happened&quot;&gt;&lt;span&gt;What actually happened&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The flaw is CVE-2026-35273, a remote code execution bug in Oracle PeopleSoft Enterprise PeopleTools. It scores 9.8 out of 10, which is about as bad as these things get, and the reason is simple: it needs no login and no interaction from anyone. Just network access over HTTP to the server. There is no email to click, no password to phish, no person to trick. If the server can be reached, it can be taken.&lt;/p&gt;
&lt;p&gt;That combination is what makes it so dangerous, because it is trivial to automate. You don&#39;t need a skilled operator carefully working a target. You write a scanner that finds vulnerable PeopleSoft instances, point it at the internet, and let it run. Scan, find, exploit, repeat. ShinyHunters did exactly that, hitting more than 300 instances across over 100 organisations. Around 68% were in higher education, which almost certainly reflects nothing more sinister than universities tending to run PeopleSoft and tending to leave it facing the internet.&lt;/p&gt;
&lt;p&gt;The attacks ran from the 27th of May. Oracle didn&#39;t publish its advisory until the 10th of June, and CISA only added the bug to its &lt;a href=&quot;https://www.cisa.gov/known-exploited-vulnerabilities-catalog&quot;&gt;Known Exploited Vulnerabilities&lt;/a&gt; catalogue yesterday, on the 12th of June. The exploitation came first.&lt;/p&gt;
&lt;h2 id=&quot;there-was-no-patch-to-apply&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20260613-peoplesoft-exposure-defence/#there-was-no-patch-to-apply&quot;&gt;&lt;span&gt;There was no patch to apply&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A lot of the coverage has framed the victims as organisations that fell behind on patching, picking out instances that &amp;quot;had not applied the April Critical Patch Update.&amp;quot; That framing is worth correcting, because the records do not support it. The fix for this flaw did not exist in April.&lt;/p&gt;
&lt;p&gt;The fix shipped as a dedicated out-of-band patch on the 10th of June, separate from any quarterly update (&lt;a href=&quot;https://www.oracle.com/security-alerts/alert-cve-2026-35273.html&quot;&gt;Oracle Security Alert CVE-2026-35273&lt;/a&gt;). The timing matters: the attacks had been running since the 27th of May. The researchers who found the flaw, Trend&#39;s Zero Day Initiative, only shipped their own detection for it on the 9th of June (&lt;a href=&quot;https://www.trendmicro.com/vinfo/us/threat-encyclopedia/vulnerability/9232/26-025-june-9-2026&quot;&gt;Trend security update 26-025&lt;/a&gt;), the day before Oracle&#39;s patch. Oracle shipped the fix out-of-band on the 10th of June, after the attacks were already under way, and there is no public evidence that the April update closed the hole. While the breaches were happening, there was nothing to deploy.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/peoplesoft_zeroday_timeline.svg&quot; alt=&quot;Timeline of the Oracle PeopleSoft zero-day. The routine April Critical Patch Update on the 21st of April did not fix this flaw. Exploitation was observed from the 27th of May, with the reported window running to the 9th of June; Oracle&#39;s out-of-band patch arrived only on the 10th of June, with the CVE published on the 11th of June and added to CISA&#39;s KEV catalogue on the 12th of June.&quot; title=&quot;The routine April patch came and went. The fix for this flaw arrived only on the 10th of June, after roughly two weeks of active exploitation.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;So think about what a vulnerability management programme built around CVEs was actually doing between the 27th of May and the 10th of June. It was waiting. There was no CVE number to prioritise, no severity score to sort by, no vendor bulletin to action. Even the tooling that is supposed to get ahead of this had nothing to say: I could not find any vulnerability management vendor that had shipped a detection for the flaw during the attack window, and the data-driven exploit-probability score many teams lean on, EPSS, sat at around 0.025% (&lt;a href=&quot;https://www.tenable.com/cve/CVE-2026-35273&quot;&gt;Tenable&#39;s record for the CVE&lt;/a&gt;). A team triaging by that number would have ranked this near the bottom of the queue, on the very days it was being used to empty their databases.&lt;/p&gt;
&lt;p&gt;You cannot patch your way out of a threat that arrives before the patch does. And on any given day, the patch backlog is already long: a team that did everything right could still have had no line item for this, because there was no fix to schedule. Patch speed matters, but it only ever answers &amp;quot;what about the bugs with fixes?&amp;quot; The harder question is what protects you on the days when the threat is real and no patch exists yet.&lt;/p&gt;
&lt;h2 id=&quot;the-monster-is-the-pattern%2C-not-the-bug&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20260613-peoplesoft-exposure-defence/#the-monster-is-the-pattern%2C-not-the-bug&quot;&gt;&lt;span&gt;The monster is the pattern, not the bug&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;It helps to be clear about what you are actually fighting. The real enemy is the pattern CVE-2026-35273 belongs to: cheap, automated, opportunistic scanning that never stops and never sleeps. Kill this particular bug and the scanner simply moves on to the next unauthenticated flaw in the next widely deployed product. It is whack-a-mole, and the moles have been automated.&lt;/p&gt;
&lt;p&gt;Once you see the threat that way, the defence changes shape. If you cannot reliably win the race to patch a specific hole, you have to make yourself a worse target for the whole category of attack. Two things follow from that.&lt;/p&gt;
&lt;p&gt;The first is to know what you are exposing, and to expose less. The attackers&#39; entire business model depends on finding things that are reachable. A PeopleSoft server that does not need to face the open internet, and doesn&#39;t, cannot be found by a scanner trawling the open internet. This is harder than it sounds, because keeping an accurate picture of your own external footprint is genuinely difficult at any real scale. The exercise worth doing is to look at your estate the way the scanner does, from the outside, and ask what an attacker can even see.&lt;/p&gt;
&lt;p&gt;The second is to assume the first foothold will eventually happen anyway, and to care about what comes next. In this case the answer was grim. PeopleSoft is where universities keep the crown jewels: student records, HR data, payroll, personal information. The exploit chained several bugs to get there, so the break-in itself was not a single step. But once the attackers had code execution on the server, the valuable data was right there, or a single short hop away. Exposure got them in; proximity to the data is what turned a break-in into a half-million-record breach.&lt;/p&gt;
&lt;h2 id=&quot;what-i-take-from-it&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20260613-peoplesoft-exposure-defence/#what-i-take-from-it&quot;&gt;&lt;span&gt;What I take from it&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Keep patching, but stop assuming patching is the whole game. There will always be days when the bug is real, the exploitation is live, and the fix does not exist yet. On those days the only thing standing between you and a scanner is how much you have exposed and how far an attacker can travel once they are in.&lt;/p&gt;
&lt;p&gt;The University of Nottingham wasn&#39;t unlucky in the way we usually mean it. Its server was visible and reachable, on a day when being visible and reachable was enough. The defenders who came through this untouched were not the ones who patched fastest. They were the ones the scanner never found.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Reading the 2026 DBIR Beyond the Patching Headline</title>
		<link href="https://secreci.com/posts/20260611-dbir-beyond-the-headline/"/>
		<updated>2026-06-11T00:00:00Z</updated>
		<id>https://secreci.com/posts/20260611-dbir-beyond-the-headline/</id>
		<summary>Everyone is quoting the DBIR&#39;s headline stat about vulnerability exploitation. The findings that should change how you prioritise are further in.</summary>
		<category term="security"/>
		<category term="essay"/>
		<content type="html">&lt;p&gt;Verizon published the &lt;a href=&quot;https://www.verizon.com/business/resources/reports/dbir/&quot;&gt;2026 Data Breach Investigations Report&lt;/a&gt; a few weeks ago, and one finding has dominated the coverage: for the first time in the report&#39;s 19-year history, vulnerability exploitation has overtaken stolen credentials as the most common way attackers break in. Cue a wave of posts concluding that we all need to patch faster. &lt;em&gt;Well, no.&lt;/em&gt; The report&#39;s own data shows that organisations, including the best-performing ones, have hit a hard ceiling on patching capacity. The findings that deserve your attention sit further into the report: when exploitation recurs, and what attackers do once they&#39;re through the door. Those chapters are getting far less airtime, and I think they&#39;re the ones that should change how you prioritise.&lt;/p&gt;
&lt;h2 id=&quot;the-headline%2C-briefly&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20260611-dbir-beyond-the-headline/#the-headline%2C-briefly&quot;&gt;&lt;span&gt;The headline, briefly&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The numbers first. Vulnerability exploitation was the initial access vector in 31% of breaches, up from 20% the year before, a 55% jump. Credential abuse dropped to 13%, though &lt;a href=&quot;https://pushsecurity.com/blog/verizon-dbir-2026-review&quot;&gt;Push Security&#39;s review&lt;/a&gt; points out it would be 16% on a like-for-like basis, as Verizon reshuffled some of those incidents into a new &amp;quot;pretexting&amp;quot; category this year. Their read, which I share, is that the identity picture barely moved. Vulnerability exploitation surged past it.&lt;/p&gt;
&lt;p&gt;What&#39;s driving the surge? Volume, mostly. The vulnerability records flowing through Verizon&#39;s remediation dataset have grown almost eightfold since 2022; in the report&#39;s own words, there are often too many vulnerabilities and not enough time for patching all of them. The entry points are familiar. Attackers are increasingly using the same access paths as legitimate users, VPNs and desktop-sharing tools among them, and the report describes exposed systems as &amp;quot;rolling out the red carpet to cybercriminals rather than being the hardened entry points they were thought to be&amp;quot;. The irony of the security stack being the way in does not improve with repetition.&lt;/p&gt;
&lt;p&gt;Attackers are winning this race partly because the defending side has stalled. Organisations fully remediated just 26% of the vulnerabilities on CISA&#39;s &lt;a href=&quot;https://www.cisa.gov/known-exploited-vulnerabilities-catalog&quot;&gt;Known Exploited Vulnerabilities (KEV) catalog&lt;/a&gt;, down from 38% the year before, and the median time to patch stretched from 32 to 43 days (&lt;a href=&quot;https://www.helpnetsecurity.com/2026/05/20/verizon-2026-dbir-findings/&quot;&gt;Help Net Security has a good summary&lt;/a&gt;). Those numbers are the backdrop to &lt;a href=&quot;https://www.cisa.gov/news-events/directives/bod-26-04-prioritizing-security-updates-based-risk&quot;&gt;CISA&#39;s new patching directive&lt;/a&gt;, which moves US federal agencies from blanket deadlines to risk-based patching.&lt;/p&gt;
&lt;h2 id=&quot;the-ceiling&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20260611-dbir-beyond-the-headline/#the-ceiling&quot;&gt;&lt;span&gt;The ceiling&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Here&#39;s the first underreported finding. Verizon ran a survival analysis over more than a billion anonymised vulnerability detection records and found that by day 7, 60% to 70% of KEV vulnerabilities remained open, regardless of year, vulnerability volume, or organisational maturity. Even the best performers only closed 30% to 40% of known-exploited vulnerability instances in their first week. By day 28, 35% were still open, which translated to 184 million open vulnerability instances in the dataset (&lt;a href=&quot;https://nucleussec.com/blog/2026-dbir-confirms-shift-to-exposure-management/&quot;&gt;Nucleus Security&#39;s write-up&lt;/a&gt; collects the page references if you want to check them).&lt;/p&gt;
&lt;p&gt;Maturity barely moves the result. Well-resourced teams with serious tooling still leave two thirds of the worst vulnerabilities open after a week. The ceiling is structural, and it&#39;s getting worse: the median organisation faced 50% more critical vulnerabilities than the previous year.&lt;/p&gt;
&lt;p&gt;So &amp;quot;patch faster&amp;quot; is advice with nowhere left to go. If speed has a ceiling, choice is what you have left. Which bugs you fix first now matters more than how quickly you clear the queue in aggregate.&lt;/p&gt;
&lt;h2 id=&quot;exploitation-has-a-half-life&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20260611-dbir-beyond-the-headline/#exploitation-has-a-half-life&quot;&gt;&lt;span&gt;Exploitation has a half-life&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This is the finding I haven&#39;t seen anyone else write about, and I think it&#39;s the most practical thing in the report. Verizon analysed re-exploitation patterns and found that the probability of a vulnerability seeing resurgent exploitation drops by roughly half at 30 days, halves again around 90 days, and again at about nine months. After roughly a year, Verizon says, the probability of resurgent exploitation is about the same as if the vulnerability had never been exploited at all.&lt;/p&gt;
&lt;p&gt;That&#39;s a decay curve. Exploitation activity has a half-life.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/exploitation_half_life.svg&quot; alt=&quot;Stepped decay curve showing the chance of resurgent exploitation halving at 30 days, 90 days and around nine months, falling to the never-exploited baseline after a year, while a dashed KEV flag line stays constant above it&quot; title=&quot;Exploitation activity decays. The KEV flag never does.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Why does that matter? Because most prioritisation treats the KEV catalog as binary. A CVE that was exploited once in 2023 and a CVE being hit this week carry the same flag, and most patching SLAs treat them identically. The decay data says they&#39;re very different risks. Verizon&#39;s own advice is that when choosing between a recent KEV entry that hasn&#39;t been exploited lately and a vulnerability not yet on the KEV that your threat intelligence shows under active attack, the one with recent activity could be &amp;quot;a smarter bet&amp;quot;. Recency of exploitation is a prioritisation signal in its own right, and very few programmes use it.&lt;/p&gt;
&lt;p&gt;There&#39;s a counterweight, though, and it&#39;s important. Of the KEV vulnerabilities with detectable exploitation over the past year, nearly half were classed as having &amp;quot;persistent&amp;quot; exploitation, and 80% of those had been published for around two years before. Old bugs still earn a living: vulnerabilities in that persistent category were detectable in exploitation traffic on an average of 96% of days. The signal is recency of &lt;em&gt;exploitation activity&lt;/em&gt;, which has little to do with how recently the CVE was published. A two-year-old CVE under active attack this month outranks last week&#39;s critical that nobody has weaponised.&lt;/p&gt;
&lt;h2 id=&quot;what-happens-after-the-door&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20260611-dbir-beyond-the-headline/#what-happens-after-the-door&quot;&gt;&lt;span&gt;What happens after the door&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The second underreported finding sits in the privilege escalation analysis. Verizon grouped the techniques attackers use to escalate privileges and access credentials by the mitigation that would address them: roughly 65% could be addressed by privilege management, 33% by configuration, 30% by password policy, and about 10% by patches.&lt;/p&gt;
&lt;p&gt;Ten percent. And in 83% of the incidents Verizon analysed, the attacker escalated privileges without exploiting a vulnerability at all.&lt;/p&gt;
&lt;p&gt;This makes sense once you describe a breach the way an attacker experiences it: as a chain of state changes. Land a foothold, escalate privileges, move laterally, reach the data or systems you came for. Each link in that chain can be made from different material, and the DBIR shows the mix clearly. The foothold is now most often a vulnerability in something exposed to the internet. Almost everything after it is built from credentials, permissions, and misconfigurations. Credential abuse still appears somewhere in 39% of all breaches, and among ransomware victims who had a prior credential or infostealer leak, half saw it within the 95 days before the attack.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/breach_chain_materials.svg&quot; alt=&quot;Four-link breach chain from foothold to objective. The foothold link is patchable material; privilege escalation, lateral movement and objective are identity and configuration material, with only around 10% of privilege escalation and credential access techniques mitigated by patching&quot; title=&quot;Each link is made from different material. Patching reliably removes only the first.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Thinking in chains also changes what any individual vulnerability is worth. Its value to an attacker depends on which state change it enables and where it sits, and a severity score can see neither. A middling CVE on a well-connected internal server might be the link that joins a foothold to your domain controllers; a critical on an isolated box might lead nowhere. Same score, different position, completely different contribution to the chain.&lt;/p&gt;
&lt;p&gt;The attack graph data shows what happens when nobody measures those chains. In 16% of the organisations Verizon collected attack graphs from, an attacker starting with low-level access had an 80% or better chance of reaching a key administrative account or piece of infrastructure. Better than four chances in five of full compromise from any foothold, in one organisation in six. Patching defends the first link. Everything after it lives in a different queue, usually owned by a different team, often by no team at all.&lt;/p&gt;
&lt;h2 id=&quot;where-i&#39;d-point-the-effort&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20260611-dbir-beyond-the-headline/#where-i&#39;d-point-the-effort&quot;&gt;&lt;span&gt;Where I&#39;d point the effort&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Keep patching, obviously, and use the edge-device numbers to argue for shorter SLAs on anything that terminates a connection from the internet. But use the decay curve too: exploitation recency belongs next to KEV status as a first-class input to your prioritisation, and your threat intelligence feed almost certainly already carries it.&lt;/p&gt;
&lt;p&gt;Then look past the patch queue. When a tenth of post-entry technique is patchable, the queue cannot carry the whole programme, however healthy it looks. Map the chains an attacker could assemble through your environment, the way Verizon&#39;s attack graph contributors do, find the ones that end somewhere expensive, and break each one at its cheapest link. Sometimes that&#39;s a patch. More often it&#39;s a permission nobody remembers granting.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>How to Outwit Attackers with Cyber Deception</title>
		<link href="https://secreci.com/posts/20241129-cyber-deception/"/>
		<updated>2024-11-20T19:24:00Z</updated>
		<id>https://secreci.com/posts/20241129-cyber-deception/</id>
		<summary>What a magician&#39;s toolkit can teach you about keeping attackers away from what matters.</summary>
		<category term="security"/>
		<category term="essay"/>
		<content type="html">&lt;p&gt;I spent several years as a magician and mentalist, and the thing people always got wrong about magic is that they thought the trick was about manual dexterity. Mostly, it isn&#39;t. It&#39;s about psychology. Get someone looking in the right direction and you can do almost anything in plain sight.&lt;/p&gt;
&lt;p&gt;I think about that a lot in the context of cybersecurity, because attackers use exactly the same principles. Phishing is misdirection. Social engineering is cold reading. A well-crafted attack makes the target feel in control right up until the moment they aren&#39;t.&lt;/p&gt;
&lt;p&gt;The interesting question is whether defenders can turn those same principles back on attackers. I think they can, in the right circumstances. That&#39;s what cyber deception is.&lt;/p&gt;
&lt;h2 id=&quot;the-magician&#39;s-toolkit%2C-applied-to-security&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20241129-cyber-deception/#the-magician&#39;s-toolkit%2C-applied-to-security&quot;&gt;&lt;span&gt;The magician&#39;s toolkit, applied to security&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Magicians have a technique called the force. You offer a subject what appears to be a free choice (pick any card, choose any envelope), but through careful setup and subtle steering, they almost always pick the one you want. They feel certain they chose freely. That&#39;s the point.&lt;/p&gt;
&lt;p&gt;A well-designed honeypot works the same way, but the mechanism is indirection. You don&#39;t drop a fake server on your network and hope an attacker stumbles into it. You leave traces that lead them there: a credential in a config file, a reference buried in a log, a share name that looks slightly more interesting than it should. The attacker follows the trail and concludes, entirely on their own, that they&#39;ve found something worth investigating. They feel like they discovered it. That feeling is the trap.&lt;/p&gt;
&lt;p&gt;Misdirection is the other core technique. In magic, you don&#39;t hide what you&#39;re doing. You give the audience something more interesting to watch instead. In security terms, a deceptive environment doesn&#39;t just trap attackers; it occupies them. While they&#39;re spending hours exploring fake systems and chasing false leads, your real assets stay untouched and your security team is watching every move they make.&lt;/p&gt;
&lt;p&gt;Mentalists also have many methods for gathering intelligence about a person well in advance, then revealing it during a performance in a way that appears completely spontaneous, as though the information is arriving in real time. The audience never suspects the groundwork was laid long before they walked in the room. The security equivalent is using threat intelligence to understand who is likely to come after you and what they expect to find. A threat actor that routinely targets Active Directory will be looking for domain controllers; one after financial data will be hunting for database servers and file shares with promising names. That knowledge shapes everything: the systems you build, the data you seed, the trails you lay. A generic honeypot is a speed bump. One built around a specific attacker&#39;s expectations is a trap they&#39;ll walk into confidently.&lt;/p&gt;
&lt;h2 id=&quot;what-deception-actually-is-(and-isn&#39;t)&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20241129-cyber-deception/#what-deception-actually-is-(and-isn&#39;t)&quot;&gt;&lt;span&gt;What deception actually is (and isn&#39;t)&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Deception technology is more than scattering lures and decoys across a network. The real skill is in building a believable narrative. What would an attacker targeting your organisation expect to find? What does your network look like to someone who has just gained a foothold and is trying to work out where they are and what&#39;s valuable? Your deceptive environment needs to answer those questions convincingly, and then use the answers to shape the attacker&#39;s behaviour.&lt;/p&gt;
&lt;p&gt;Crucially, deception works in both directions. Fake systems need to look real, but real systems can also be made to look unremarkable. A payment processing server with a name that gives nothing away is considerably harder to find than one called something obvious. Stripping away the signposts that help an attacker orient themselves is a form of deception in its own right.&lt;/p&gt;
&lt;p&gt;The core tools are:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Honeypots&lt;/strong&gt; are fake systems designed to look like real, valuable targets: a domain controller, a payment system, a file server full of sensitive documents. They&#39;re fully instrumented to log everything an attacker does, which means every technique they use, every vulnerability they probe, and every lateral movement they attempt is recorded. That intelligence can be used directly to build custom detection content tuned to the specific behaviour you&#39;ve observed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Honeytokens&lt;/strong&gt; are fake credentials, API keys, documents, or data. Seeded in plausible locations, they act as tripwires: the moment anyone uses them, you know something is wrong, and you know exactly where that person has been.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Deceptive environments&lt;/strong&gt; are broader deployments where deceptive elements are woven throughout a real network. Done well, an attacker moving through a deceptive environment has no reason to suspect anything is out of the ordinary. Every system they access, every credential they find, looks and behaves exactly like the genuine article.&lt;/p&gt;
&lt;p&gt;There&#39;s also a subtler variant worth considering. Sometimes it makes sense to plant something that looks like a mistake: an overly permissive share, credentials that appear to have been left somewhere carelessly, a system that seems to have slipped through the patching process. The attacker finds it and feels lucky. They think they&#39;ve found a genuine oversight, something the security team doesn&#39;t know about. That belief makes them slow down and proceed carefully, because they want to exploit the advantage without alerting anyone. They don&#39;t suspect a trap at all. They just think they got lucky, and that caution gives you time. The lure has to fit the narrative of the network, though: a believable mistake in the right place reads as human error; the same thing in the wrong place reads as something else entirely.&lt;/p&gt;
&lt;p&gt;I want to be straight about the limitations: deception isn&#39;t a fit for every organisation. Setting it up properly takes thought and ongoing maintenance. Poorly designed decoys are either ignored or detected, and at that point you&#39;ve told the attacker something about how your defences work. Done well, though, it&#39;s one of the few controls that actively benefits from an attacker being present. Most security tools try to keep attackers out. Deception works precisely because it assumes some of them will get in.&lt;/p&gt;
&lt;h2 id=&quot;why-attackers-fall-for-it&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20241129-cyber-deception/#why-attackers-fall-for-it&quot;&gt;&lt;span&gt;Why attackers fall for it&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Even skilled attackers are operating under pressure, in an unfamiliar environment, trying to move quickly and stay hidden. That cognitive load makes them vulnerable to exactly the biases that make magic work on audiences.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Familiarity bias&lt;/strong&gt; means they&#39;ll trust things that look like what they expect. A honeypot with a plausible hostname, a realistic file structure, and aged-looking logs will be treated as a real system.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Overconfidence&lt;/strong&gt; is a more interesting factor than it first appears. You might expect that skilled attackers would be harder to fool, but in my experience doing mentalism, the opposite was often true. Very intelligent people tend to follow a logical narrative: they see evidence, draw a reasonable conclusion, and move on. That same quality that makes them good at what they do means they sometimes skip over details that a less experienced person might stop and question. There&#39;s also a domain knowledge problem: a technically expert attacker knows a great deal about computer systems, but that expertise gives them no particular immunity to deception techniques. A brain surgeon is no harder to fool with a card trick than anyone else.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Confirmation bias&lt;/strong&gt; rounds it out. Once an attacker believes they&#39;ve found a genuine target, they&#39;ll interpret subsequent evidence in its favour. Seed a few additional deceptive elements that confirm their assumption and they&#39;ll dig deeper into the trap rather than questioning it. Their own intelligence works against them: the more the evidence fits the story, the more committed they become.&lt;/p&gt;
&lt;h2 id=&quot;what-it-looks-like-in-practice&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20241129-cyber-deception/#what-it-looks-like-in-practice&quot;&gt;&lt;span&gt;What it looks like in practice&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Here&#39;s an illustrative scenario that captures how this plays out. A financial services company suspects it may be targeted by a threat actor with an interest in payment systems. Rather than just deploying a honeypot and hoping for the best, the security team thinks about the narrative from both directions: what does a genuine payment environment look like, and how do they make the real one harder to find?&lt;/p&gt;
&lt;p&gt;They rename the real payment systems to something unremarkable, strip away any obvious signposting, and build a cluster of honeypots with the kind of names and structure a real payment environment would have: plausible server names, realistic transaction logs, honeytokens seeded in the places a lateral-moving attacker would naturally look.&lt;/p&gt;
&lt;p&gt;A few weeks later, an attacker who has gained a foothold via a phishing email starts moving through the network. They follow the trail the security team laid and find what looks like a payment server. They spend hours enumerating it, trying credentials, and attempting to exfiltrate data, triggering high-fidelity alerts the whole time. The security team watches, collects detailed intelligence on their tools, techniques, and targets, and uses that intelligence to build detection content before cutting them off. The real payment systems were never found.&lt;/p&gt;
&lt;p&gt;The attacker never questioned whether the system was real. The narrative was convincing because it was built around what that attacker expected to find, and the thing they were actually looking for had been made to look like something else entirely.&lt;/p&gt;
&lt;h2 id=&quot;where-to-start&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20241129-cyber-deception/#where-to-start&quot;&gt;&lt;span&gt;Where to start&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;If you&#39;re thinking about adding deception to your environment, I&#39;d start small and focused rather than trying to build a full deceptive environment from the off. It&#39;s also worth knowing that you don&#39;t have to build everything yourself: commercial deception platforms exist that handle much of the deployment and management, and can generate convincing decoys at scale. They vary considerably in quality, but they&#39;re worth evaluating if you&#39;re serious about this as a sustained capability rather than a one-off experiment.&lt;/p&gt;
&lt;p&gt;Honeytokens are the easiest entry point regardless of which route you take. Drop a few fake credentials or API keys in plausible locations: a config file, a shared drive, a code repository. Set up alerting on them. They cost almost nothing to deploy and the signal quality when they trigger is excellent: a honeytoken alert has almost no false positive rate, unlike most security alerts. If someone is using that credential, something is wrong.&lt;/p&gt;
&lt;p&gt;From there, a honeypot or two placed near your most critical assets. The goal isn&#39;t to fake your entire network; it&#39;s to put something irresistible between an attacker and whatever you&#39;re actually trying to protect, and to make the path there feel like a natural discovery rather than a setup.&lt;/p&gt;
&lt;p&gt;The force, applied to security: make the path to your real assets lead through the trap, and make the trap look more valuable than the truth.&lt;/p&gt;
&lt;p&gt;It won&#39;t stop every attacker. Nothing does. But for the ones who get in, it&#39;s a way to slow them down, learn about them, and protect things that matter. If you&#39;ve used deception in your environment, or you&#39;re thinking about it, I&#39;d be interested to hear how you approached it.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>My Rules for Work</title>
		<link href="https://secreci.com/posts/20240229-work-rules/"/>
		<updated>2024-02-29T21:27:00Z</updated>
		<id>https://secreci.com/posts/20240229-work-rules/</id>
		<summary>Things that I find make things better when working with colleagues</summary>
		<category term="essay"/>
		<content type="html">&lt;p&gt;Over the years, I&#39;ve found some minor things which make work harder than it needs to be. These are my recommendations for working better!&lt;/p&gt;
&lt;h2 id=&quot;documentation&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20240229-work-rules/#documentation&quot;&gt;&lt;span&gt;Documentation&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Follow the Style Guide&lt;/li&gt;
&lt;li&gt;Use the structure features of your wordprocessor - Heading levels especially.&lt;/li&gt;
&lt;li&gt;Don&#39;t email files as attachments - use links to SharePoint etc.&lt;/li&gt;
&lt;li&gt;Use version history properly:
&lt;ul&gt;
&lt;li&gt;Major versions (1.0, 2.0) are published versions&lt;/li&gt;
&lt;li&gt;Minor versions (x.1, x.2) are development versions&lt;/li&gt;
&lt;li&gt;Include the version number in document footers&lt;/li&gt;
&lt;li&gt;Have a document history table showing all major versions (and minor versions since the last major one)&lt;/li&gt;
&lt;li&gt;Delete minor versions from the version history as appropriate&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Add concise commit comments to versions when publishing.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;meetings&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20240229-work-rules/#meetings&quot;&gt;&lt;span&gt;Meetings&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Consider whether a meeting is really necessary&lt;/li&gt;
&lt;li&gt;Include an agenda with every meeting invitation&lt;/li&gt;
&lt;li&gt;Schedule an appropriate meeting length&lt;/li&gt;
&lt;li&gt;Include a single online meeting link (is it Teams/Skype/Webex/Zoom? Only have one!)&lt;/li&gt;
&lt;li&gt;Avoid lunchtime if possible&lt;/li&gt;
&lt;li&gt;Start meetings promptly, finish early if you can, don&#39;t overrun - reschedule a follow up if necessary.&lt;/li&gt;
&lt;li&gt;Keep to the agenda - arrange a separate meeting if scope increases.&lt;/li&gt;
&lt;li&gt;Book a meeting room in advance if it is a physical meeting - leave the room on time.
&lt;ul&gt;
&lt;li&gt;Cancel the booking if the meeting is cancelled&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Once a meeting has started, don&#39;t move or delete the invitation. If there is a repeat meeting the next day/week either add recurrence to the original meeting or add another meeting - don&#39;t reschedule the one that has already happened.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;email&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20240229-work-rules/#email&quot;&gt;&lt;span&gt;Email&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Set a 20 second delay on sending - you can&#39;t always recall a message.&lt;/li&gt;
&lt;li&gt;Double check recipient email addresses before sending&lt;/li&gt;
&lt;li&gt;Never use BCC&lt;/li&gt;
&lt;li&gt;Prefix email subjects with &#39;External:&#39; if third parties are on the distribution list.&lt;/li&gt;
&lt;li&gt;Keep the email concise and to the point - one subject per email if possible.&lt;/li&gt;
&lt;li&gt;Include keywords in the email to aid searching later. Consider whether to include acronyms and their expanded version.&lt;/li&gt;
&lt;li&gt;Use priority flags - if it&#39;s urgent, mark it high priority, if it&#39;s low priority, set it to low!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;messages&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20240229-work-rules/#messages&quot;&gt;&lt;span&gt;Messages&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Don’t start an instant message with just &#39;hello&#39; , also include your request. &lt;a href=&quot;https://nohello.net/&quot;&gt;https://nohello.net&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use voice for synchronous communication (Urgent?)&lt;/li&gt;
&lt;li&gt;Use IM for asynchronous communication (Less urgent)&lt;/li&gt;
&lt;li&gt;Use Email for less time-critical comms, or where you need a record.&lt;/li&gt;
&lt;/ul&gt;
</content>
	</entry>
	
	<entry>
		<title>A Markdown Personal Knowledgebase</title>
		<link href="https://secreci.com/posts/20220428-dendron-knowledgebase/"/>
		<updated>2022-04-28T22:14:00Z</updated>
		<id>https://secreci.com/posts/20220428-dendron-knowledgebase/</id>
		<summary>Managing all your notes as markdown</summary>
		<category term="tech"/>
		<content type="html">&lt;p&gt;I spend a lot of time doing research - whether that is evaluating security products, or learning about the latest vulnerabilities. I also do a lot of training courses to keep my skills fresh.&lt;/p&gt;
&lt;p&gt;It&#39;s really important to me to have notes which let me easily retrieve the information when I need it.&lt;/p&gt;
&lt;h2 id=&quot;zettelkasten&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20220428-dendron-knowledgebase/#zettelkasten&quot;&gt;&lt;span&gt;Zettelkasten&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I initially heard about the Zettlekasten (Slip-box) method in a book called &#39;How To Take Smart Notes&#39; by &lt;strong&gt;Sonke Ahrens&lt;/strong&gt; - see &lt;a href=&quot;https://takesmartnotes.com/tools/&quot;&gt;https://takesmartnotes.com/tools/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Originally this was a set of index cards, each one holding a discrete piece of information and &#39;hyperlinked&#39; to other relevant cards by way of a unique reference number on each card. In this way a large knowledgebase can be created - there are a couple of cards which serve as entry points and list the high-level topics and then you can drill into the cards to find information you need. Links can be added across subjects which allows for interesting discoveries to be made. Maybe finding the highest risk vulnerabilities on a network has analogues with panning for gold so a link could be made between those two subjects.&lt;/p&gt;
&lt;p&gt;There are also digital options for doing this using text files written in &lt;a href=&quot;https://www.markdownguide.org/&quot;&gt;Markdown&lt;/a&gt;. Tools which I have tried are &lt;a href=&quot;https://obsidian.md/&quot;&gt;Obsidian&lt;/a&gt;, &lt;a href=&quot;https://zettlr.com/&quot;&gt;Zettlr&lt;/a&gt;, and &lt;a href=&quot;https://bear.app/&quot;&gt;BearApp&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I had most success with Zettlr - it works well with &lt;a href=&quot;https://www.zotero.org/&quot;&gt;Zotero&lt;/a&gt; for storing information about research sources and creating bibliograpies.&lt;/p&gt;
&lt;p&gt;However, I spend a lot of my time using &lt;a href=&quot;https://code.visualstudio.com/&quot;&gt;VS Code&lt;/a&gt; - it works well for writing scripts and for taking notes and means I don&#39;t need to switch between multiple applications.&lt;/p&gt;
&lt;h2 id=&quot;dendron&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20220428-dendron-knowledgebase/#dendron&quot;&gt;&lt;span&gt;Dendron&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.dendron.so/&quot;&gt;Dendron&lt;/a&gt; is a VS Code extension which makes managing your notes as markdown very powerful and it is what I now use.&lt;/p&gt;
&lt;p&gt;After installing the extension, and creating an empty &#39;vault&#39; you can start taking notes. Each note is automatically given a unique reference number and can be linked to other notes just like a Zettlekasten.&lt;br /&gt;
Notes are not stored in subfolders, instead the name of each markdown file is used to create a hierarchy.&lt;/p&gt;
&lt;p&gt;I have files named like:&lt;br /&gt;
&lt;code&gt;book.security.&amp;lt;name of book&amp;gt;.&amp;lt;name of chapter&amp;gt;.md&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;book.programming.&amp;lt;name of book&amp;gt;.&amp;lt;name of chapter&amp;gt;.md&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;learn.conf.&amp;lt;year&amp;gt;.&amp;lt;name of conference&amp;gt;.&amp;lt;talk&amp;gt;.md&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;language.gaelic.&amp;lt;subject&amp;gt;.md&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Each file can be written quickly - all the Markdown formatting can be done from the keyboard without having to reach for the mouse. Files can be linked to each other using the filename, and if you ever rename a file, the links in other files will automatically update.&lt;/p&gt;
&lt;p&gt;Dendron gives you a graph view of all your notes so you can easily find orphaned notes and link to them. There is also a &#39;tree view&#39; which shows the hierarchy and lets you easily navigate that way too.&lt;/p&gt;
&lt;p&gt;The above files would look like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;book
&lt;ul&gt;
&lt;li&gt;security
&lt;ul&gt;
&lt;li&gt;vulnerability-management
&lt;ul&gt;
&lt;li&gt;chapter1&lt;/li&gt;
&lt;li&gt;chapter2&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;pki-uncovered
&lt;ul&gt;
&lt;li&gt;chapter1&lt;/li&gt;
&lt;li&gt;chapter2&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;programming
&lt;ul&gt;
&lt;li&gt;python
&lt;ul&gt;
&lt;li&gt;chapter1&lt;/li&gt;
&lt;li&gt;chapter2&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;learn
&lt;ul&gt;
&lt;li&gt;conf
&lt;ul&gt;
&lt;li&gt;2022
&lt;ul&gt;
&lt;li&gt;purple-hats
&lt;ul&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;language
&lt;ul&gt;
&lt;li&gt;gaelic
&lt;ul&gt;
&lt;li&gt;colours&lt;/li&gt;
&lt;li&gt;numbers&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;github&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20220428-dendron-knowledgebase/#github&quot;&gt;&lt;span&gt;Github&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I intend to keep growing this personal knowlegebase for some time so, to keep it safe, I manage it using git. I use a private Github repo as a remote so that I can access the notes from anywhere.&lt;/p&gt;
&lt;p&gt;I take work and personal notes in the same knowledgebase, but there are obviously some things that need to stay only on my work computer, or on my personal computer. These files all have names starting with &lt;code&gt;local.&lt;/code&gt; and I have an entry in my &lt;code&gt;.gitignore&lt;/code&gt; file to ignore them.&lt;/p&gt;
&lt;p&gt;I am investigating how I can keep these files in my local git repo, but not upload them to Github.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Create a Software Bill of Materials (SBOM)</title>
		<link href="https://secreci.com/posts/20211212-create-an-sbom/"/>
		<updated>2021-12-12T19:20:00Z</updated>
		<id>https://secreci.com/posts/20211212-create-an-sbom/</id>
		<summary>Creating a list of installed software and their version numbers</summary>
		<category term="security"/>
		<content type="html">&lt;p&gt;A Software Bill of Materials (SBOM) is a list of all software installed on a computer. This is extremely useful to quickly identify servers affected by a vulnerability when it is discovered, as happened this week with the Log4Shell &lt;a href=&quot;https://nvd.nist.gov/vuln/detail/CVE-2021-44228&quot;&gt;CVE-2021-44228&lt;/a&gt; vulnerability.&lt;/p&gt;
&lt;p&gt;A SBOM should be created for all computers on the network, and should be updated regularly, especially when a change that affects installed software is implemented.&lt;/p&gt;
&lt;h2 id=&quot;windows&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20211212-create-an-sbom/#windows&quot;&gt;&lt;span&gt;Windows&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;From an administrator command prompt, run the following command:&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;wmic /OUTPUT:SBOM.txt product list BRIEF /format:csv&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;linux&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20211212-create-an-sbom/#linux&quot;&gt;&lt;span&gt;Linux&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Different flavours of Linux have different tools to list installed software.&lt;br /&gt;
One of the following commands should work:&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;dpkg &lt;span class=&quot;token parameter variable&quot;&gt;--list&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; SBOM.txt&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;rpm&lt;/span&gt; &lt;span class=&quot;token parameter variable&quot;&gt;-qa&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; SBOM.txt&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;macos&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20211212-create-an-sbom/#macos&quot;&gt;&lt;span&gt;MacOS&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;On a Mac, the process is more manual.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click the Apple icon in the menu bar of the Finder&lt;/li&gt;
&lt;li&gt;Choose &#39;About this Mac&#39;&lt;/li&gt;
&lt;li&gt;Click the &#39;System Report...&#39; button&lt;/li&gt;
&lt;li&gt;Choose &#39;Applications&#39; under Software in the left panel&lt;/li&gt;
&lt;li&gt;Click one of the applications in the top-right panel, then press Command+A to select all applications&lt;/li&gt;
&lt;li&gt;Click the details in the lower panel, and press Command+A to select all details&lt;/li&gt;
&lt;li&gt;Press Command+C to copy the text&lt;/li&gt;
&lt;li&gt;Paste the text into a text file and save.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;These SBOMs should be stored securely, with the hostname noted in the filename, and queried to check which assets have vulnerable software.&lt;/p&gt;
&lt;p&gt;I may work on a script to ingest the files and store them in a database.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Back to Blogging</title>
		<link href="https://secreci.com/posts/20211205-back-to-blogging/"/>
		<updated>2021-12-05T18:43:00Z</updated>
		<id>https://secreci.com/posts/20211205-back-to-blogging/</id>
		<summary>After a long break, I&#39;m back!</summary>
		<category term="essay"/>
		<content type="html">&lt;p&gt;It&#39;s been two and a half years since I last wrote a blog post. To be honest, I would have written some posts ages ago but I&#39;d kinda forgotten how to use &lt;a href=&quot;https://11ty.dev/&quot;&gt;Eleventy&lt;/a&gt;. It turns out it&#39;s really easy and I should have just done it!&lt;/p&gt;
&lt;p&gt;&lt;em&gt;What have I been up to since we last chatted?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Well, work has been pretty exciting - the company I work for has been going from strength to strength, I&#39;ve been working for a great variety of customers, and getting lots of experience with new technologies.&lt;/p&gt;
&lt;p&gt;I&#39;ve also been doing lots of Python coding for a few of our customers, and learning about CI/CD workflows and automation. I had very little experience of Python a couple of years ago but have had to learn quickly, and am really enjoying it. I&#39;ve found lots of interesting related YouTube channels and Twitch streams which have been a great way to learn.&lt;/p&gt;
&lt;p&gt;As part of working more with code, I&#39;ve been learning about &lt;a href=&quot;https://github.com/&quot;&gt;GitHub&lt;/a&gt; and making the latest versions of my scripts available to the rest of the team who may need to use them.&lt;/p&gt;
&lt;p&gt;I&#39;ve also been lucky enough to be able to work from home since March 2020 - that&#39;s worked pretty well for me. No long commutes, and I can set up my work environment how I like it.&lt;/p&gt;
&lt;p&gt;Now that I&#39;ve worked out how to post new entries to my blog, I hope to be a bit more frequent from now on!&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Fitting a dashcam to a 2018 Skoda Fabia</title>
		<link href="https://secreci.com/posts/20190622-dashcam-fitting/"/>
		<updated>2019-06-22T15:25:00Z</updated>
		<id>https://secreci.com/posts/20190622-dashcam-fitting/</id>
		<summary>Hardwiring a dashcam to a 2018 Skoda Fabia</summary>
		<category term="maker"/>
		<content type="html">&lt;p&gt;Dashcams generally come with a cigarette lighter power connection which means having an ugly cable coming out of the dashboard. Modern Skodas also seem to have &#39;always on&#39; power to the cigarette lighter so a dashcam connected to it would remain on even when the ignition is turned off - this could flatten the battery. Hardwiring the dashcam into the fusebox solves both of these problems - hopefully the instructions below will save you some time!&lt;/p&gt;
&lt;h2 id=&quot;parts&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20190622-dashcam-fitting/#parts&quot;&gt;&lt;span&gt;Parts&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.amazon.co.uk/gp/product/B07GTF1BY9&quot;&gt;Jeemak 7 Inch FHD Rearview Mirror&lt;/a&gt; - should work with other cameras too.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.amazon.co.uk/Samsung-Micro-Class-Memory-Adaptor/dp/B06XW91D41&quot;&gt;32GB Micro SD Card&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.halfords.com/technology/dash-cams/dash-cam-accessories/nextbase-dash-cam-hardwire-kit&quot;&gt;Nextbase Dash Cam Hardwire Kit &lt;/a&gt; - Similar, cheaper options can be found online.&lt;/li&gt;
&lt;li&gt;Small zip ties / tape&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;tools&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20190622-dashcam-fitting/#tools&quot;&gt;&lt;span&gt;Tools&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Plastic trim remover (supplied with camera)&lt;/li&gt;
&lt;li&gt;T20 Torx screwdriver (If you use the same ground connection as me)&lt;/li&gt;
&lt;li&gt;Snips/scissors&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Remember to follow all safety warnings in the hardwire kit and the camera manual&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&quot;steps&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20190622-dashcam-fitting/#steps&quot;&gt;&lt;span&gt;Steps&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Check the camera works - you can do that either with the supplied cable which plugs into the cigarette lighter socket, or with a mini USB cable using a phone charger or plugged into your computer.&lt;/li&gt;
&lt;li&gt;Insert the micro SD card and format it using the appropriate option in the camera settings.&lt;/li&gt;
&lt;li&gt;Mount the camera on the rearview mirror using the supplied rubber fasteners.&lt;br /&gt;
&lt;strong&gt;Turn off the ignition before opening the fusebox&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Open the interior fuse box - on my 2018 Skoda Fabia, this is below the steering wheel and opens by pulling on the bottom.&lt;/li&gt;
&lt;li&gt;Find a suitable fuse to connect the hardwire kit too. This should be a fuse that only gets power when the ignition is turned on.
&lt;ul&gt;
&lt;li&gt;I initially tried connecting it to the rear wiper fuse, but it seems this is powered even with the ignition off, I eventually found that I could use the empty slot for the &#39;Heated Windscreen washer jets&#39; fuse (I don&#39;t have that feature!) See the image below.&lt;br /&gt;
&lt;img src=&quot;https://secreci.com/img/220619-IMG_6933.JPG&quot; alt=&quot;Fusebox&quot; title=&quot;Fusebox&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Choose the appropriately sized connector from the hardwire kit depending on the size of fuse you are replacing.&lt;/li&gt;
&lt;li&gt;Remove the fuse, if you&#39;re not using an empty slot, and plug the fuse into the space on the connector.&lt;/li&gt;
&lt;li&gt;Plug the connector into the fusebox.&lt;/li&gt;
&lt;li&gt;Find an appropriately ground point - the easiest one I could find was behind the panel on the driver&#39;s side of the dashboard (open the door to find it)
&lt;ul&gt;
&lt;li&gt;Use the plastic tool to lever off the dashboard panel and expose the rear of the dashboard.&lt;br /&gt;
&lt;img src=&quot;https://secreci.com/img/220619-IMG_6934.JPG&quot; alt=&quot;Ground Location&quot; title=&quot;Ground Location&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Use the T20 Torx screwdriver to loosen the bolt as shown in the picture above.&lt;/li&gt;
&lt;li&gt;Connect the black wire from the hardwire kit and tighten the bolt again.&lt;/li&gt;
&lt;li&gt;Feed the red wire from the hardwire kit into the fusebox from behind. I used one of the holes at the top of the fusebox which the door clips into. See the top picture above for the location.&lt;/li&gt;
&lt;li&gt;Connect the red wire to the connector you plugged in to the fusebox.&lt;/li&gt;
&lt;li&gt;Connect the micro USB connector at the end of the hardwire kit black cable to the mirror and check it all works as expected when you turn on the ignition.
&lt;ul&gt;
&lt;li&gt;it should turn off a few seconds after powering off the ignition too!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Pull down gently on the ceiling covering by the windscreen above the rearview mirror and tuck the cable in. Work your way along to the pillar at the driver&#39;s side of the windscreen.
&lt;ul&gt;
&lt;li&gt;Push the ceiling cover back into place as you go along, you should feel it &#39;pop&#39; into place.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Gently lever the pillar trim away from the ceiling cover enough to tuck the cable in and work your way round to the black rubber strip that runs down towards the dashboard.
&lt;ul&gt;
&lt;li&gt;Press the trim back into place&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Run the cable down behind the plastic trim under the rubber strip, work it in neatly so that the rubber strip lies flat.&lt;/li&gt;
&lt;li&gt;Once you get the cable down to the apace behind the dashboard, neatly bundle any extra cable and zip-tie or tape it to the metal frame.&lt;/li&gt;
&lt;li&gt;Neatly bundle the red and black wires and zip-tie or tape them similarly.
&lt;ul&gt;
&lt;li&gt;The small box on the hardwire kit can be tucked behind the plastic - make sure nothing will rattle when you&#39;re driving.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Clip the side panel and fusebox covers on - be careful with the red wire which could be caught by the fusebox door (push it to the bottom of the hole)&lt;/li&gt;
&lt;li&gt;Turn on the ignition and test.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Job done! Easy!&lt;/p&gt;
&lt;p&gt;Note: I have not connected the rear camera as I don&#39;t see a tidy way of routing the cable from the rear of the ceiling to the back window (and I don&#39;t want to drill a hole to mount it on the outside by the number plate), but I have tested that it works when plugged in to the front camera. Routing the cable behind the ceiling above the doors should be straightforward.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Building a Chording Keyboard - Part 2</title>
		<link href="https://secreci.com/posts/20190420-chording-keyboard-part-2/"/>
		<updated>2019-04-20T11:55:00Z</updated>
		<id>https://secreci.com/posts/20190420-chording-keyboard-part-2/</id>
		<summary>An attempt at building one-handed chording keyboard</summary>
		<category term="maker"/>
		<content type="html">&lt;p&gt;In &lt;a href=&quot;https://secreci.com/posts/20190414-chording-keyboard-part-1/&quot;&gt;part 1&lt;/a&gt;, I had a first attempt at writing some code to run on a Teensy 2.0 to make a chording keyboard.&lt;/p&gt;
&lt;p&gt;I have now built a working keyboard with a limited set of characters which I will be expanding now that I have a proof of concept working. This post details how I built it.&lt;br /&gt;
I&#39;ve uploaded all required files to &lt;a href=&quot;https://github.com/lesault/chorus&quot;&gt;Github&lt;/a&gt; - feel free to use them!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 1&lt;/strong&gt; Design the keyboard layout.&lt;br /&gt;
As I still have my AgendA, I decided to base the key spacings on that device. Since I am using standard keyboard keycaps, I had to change a few of the spacings to get them to fit. I measeured the centre-to-centre spacing of the keys on the Agenda. This diagram shows the spacings with mx-style switches and keycaps. The two red dimensions are the measurements form the AgendA that I had to change.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/Chorus_Buttons_Layout.jpg&quot; alt=&quot;Keyboard Layout&quot; title=&quot;Keyboard Layout&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 2&lt;/strong&gt; Design and 3d print the case.&lt;br /&gt;
I modelled the case in Sketchup and exported as an STL file ready for slicing and printing.&lt;br /&gt;
After previously printing a case for the steno keyboard, I decided to try making teh holes for the mx-style switches slightly larger. 14x14mm worked out perfectly.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/chorus_case_sketchup.jpg&quot; alt=&quot;Chorus Case Model&quot; title=&quot;Chorus Case Model&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 3&lt;/strong&gt; Install the switches and keycaps.&lt;br /&gt;
I sanded the letters off of the keycaps while the case was printing. I will get some finer sandpaper and tidy them up later.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/chorus_assembled.jpg&quot; alt=&quot;Printed and assembled keyboard&quot; title=&quot;Printed and assembled keyboard&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 4&lt;/strong&gt; Solder the Teensy to the switches.&lt;br /&gt;
I stripped the insulation off of the ground wire and then, after soldering the first connection, slid an approprate length of insulation onto the wire. This was much easier than trying to cut out small sections of insulation.&lt;br /&gt;
I was able to squeeze the USB cable through the small gap I left in the print by squeezing it with some pliers.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/chorus_wiring.jpg&quot; alt=&quot;Switches connected&quot; title=&quot;Switches connected&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 5&lt;/strong&gt; Plug it in and test it!&lt;br /&gt;
I connected the keyboard to my laptop and tried some single buttons, this was successful and I could also type alphabetic characters using chords. The shift button (thumb 2) capitalises as expected.&lt;br /&gt;
As the thumb 3 button is not configured to do anything yet, I opened the serial monitor in Arduino and checked that the thumb button outputs the correct decimal number (64)&lt;/p&gt;
&lt;table border=&quot;0&quot;&gt;
&lt;tr&gt;&lt;td&gt;Thumb3&lt;/td&gt;&lt;td&gt;64&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Thumb2&lt;/td&gt;&lt;td&gt;32&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Thumb1&lt;/td&gt;&lt;td&gt;16&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Index&lt;/td&gt;&lt;td&gt;8&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Middle&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Ring&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Pinky&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;I&#39;ll now look at improving the code to add the missing keys from a standard keyboard.&lt;/p&gt;
&lt;p&gt;More updates will follow in part 3.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Building a Chording Keyboard - Part 1</title>
		<link href="https://secreci.com/posts/20190414-chording-keyboard-part-1/"/>
		<updated>2019-04-14T22:54:00Z</updated>
		<id>https://secreci.com/posts/20190414-chording-keyboard-part-1/</id>
		<summary>An attempt at building one-handed chording keyboard</summary>
		<category term="maker"/>
		<content type="html">&lt;p&gt;A couple of weeks ago, I was building a &lt;a href=&quot;https://secreci.com/posts/20190331-steno-keyboard-part-1/&quot;&gt;DIY Steno Keyboard&lt;/a&gt;. I was quite happy with how the hardware worked out, but I was having some problems with writing the code and confirming that all the buttons were being recognised.&lt;/p&gt;
&lt;p&gt;I decided to try something a little less ambitious first, I will go back to the steno keyboard later.&lt;/p&gt;
&lt;p&gt;I used to use a Microwriter AgendA PDA when I was a teenager, and still remember the majority of the chords required to write all the letters and some punctuation. This means if I can build my own chording keyboard, I can use the same chords and not have to learn new ones.&lt;/p&gt;
&lt;p&gt;Since the AgendA only has 7 buttons, and the Teensy 2.0 board has more than 7 input pins, I can connect each button to a dedicated input pin and not bother with the matrix layout which I was using on the previous keyboard, this means that the only components required are a Teensy 2.0 board, 7 mechanical keyboard switches, and a USB cable. No need for diodes this time!&lt;/p&gt;
&lt;p&gt;I decided that, rather than building the hardware first, I&#39;d get the code working. I think I&#39;ve got the majority of the code written now, although I&#39;d like to tidy it up.&lt;/p&gt;
&lt;p&gt;I&#39;ve yet to connect any switches to the Teensy 2.0, but I am able to type letters using a wire that I&#39;ve soldered to the &#39;GND&#39; pin by touching it to the other pins which will eventually have switches attached.&lt;br /&gt;
&lt;strong&gt;Update 20/04/2019:&lt;/strong&gt; See &lt;a href=&quot;https://secreci.com/posts/20190420-chording-keyboard-part-2/&quot;&gt;Part 2&lt;/a&gt; for further progress!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/Chording_schematic.jpg&quot; alt=&quot;Keyboard Schematic&quot; title=&quot;Keyboard Schematic&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The code uses the &lt;a href=&quot;https://github.com/thomasfredericks/Bounce2&quot;&gt;Bounce 2&lt;/a&gt; library so that each keypress only registers as a single press.&lt;/p&gt;
&lt;p&gt;Pressing a key connects a pin to GND so it becomes low. While no buttons are pressed, the pins are all high.&lt;br /&gt;
The code loops, checking whether any pins are low. If it finds one, it adds a &#39;1&#39; to the appropriate position in the &#39;chord&#39; array.&lt;br /&gt;
It keeps checking until all the buttons go high again. i.e the typist has pressed the chord and has lifted off again.&lt;br /&gt;
At that point, it converts the array of 0&#39;s and 1&#39;s to a decimal number which is stored in the &#39;out&#39; variable. The code then looks up the corresponding ASCII code and stores it in the &#39;key&#39; variable.&lt;br /&gt;
I still have a lot of characters to add to the table - they&#39;re in as place-holder comments at the moment.&lt;/p&gt;
&lt;p&gt;The code then sends the ASCII code for the key to the attached computer using the keyboard.write function.&lt;br /&gt;
&#39;key&#39; and &#39;out&#39; are both set back to 0 ready for the next chord.&lt;/p&gt;
&lt;p&gt;I have a conditional statement which captures a press of the 2nd Thumb Button to toggle the &#39;shift&#39; variable between 0 and 1. No character is sent when the shift button is pressed.&lt;br /&gt;
The next character to be sent has its ASCII code reduced by 32 - this capitalises the lowercase letter. The shift variable is set to 0 after the character is sent.&lt;/p&gt;
&lt;p&gt;I intend changing this to better handle shift, ctrl, alt, and Windows modifiers. Once I have some switches mounted, I will be better able to test these.&lt;/p&gt;
&lt;p&gt;The code so far:&lt;/p&gt;
&lt;pre class=&quot;language-clike&quot;&gt;&lt;code class=&quot;language-clike&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// Include the Bounce2 library found here :&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// https://github.com/thomasfredericks/Bounce2&lt;/span&gt;
#include &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;Bounce2&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;h&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;

#define BUTTON1_PIN &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
#define BUTTON2_PIN &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;
#define BUTTON3_PIN &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;
#define BUTTON4_PIN &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;
#define BUTTON5_PIN &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;
#define BUTTON6_PIN &lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt;
#define BUTTON7_PIN &lt;span class=&quot;token number&quot;&gt;7&lt;/span&gt;

int chord&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//default 7 button chord, all zeros&lt;/span&gt;
int building &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// since we&#39;re not building a chord at the moment&lt;/span&gt;
int out &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
int key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// the key we will type on the keyboard&lt;/span&gt;
int shift &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// have we pressed the shift key to capitalise the next letter?&lt;/span&gt;

Bounce debouncer1 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Bounce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Instantiate a Bounce object&lt;/span&gt;
Bounce debouncer2 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Bounce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Instantiate a Bounce object&lt;/span&gt;
Bounce debouncer3 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Bounce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Instantiate a Bounce object&lt;/span&gt;
Bounce debouncer4 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Bounce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Instantiate a Bounce object&lt;/span&gt;
Bounce debouncer5 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Bounce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Instantiate a Bounce object&lt;/span&gt;
Bounce debouncer6 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Bounce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Instantiate a Bounce object&lt;/span&gt;
Bounce debouncer7 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Bounce&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Instantiate a Bounce object&lt;/span&gt;

void &lt;span class=&quot;token function&quot;&gt;setup&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;

  debouncer1&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;attach&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;BUTTON1_PIN&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;INPUT_PULLUP&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Attach the debouncer to a pin with INPUT_PULLUP mode&lt;/span&gt;
  debouncer2&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;attach&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;BUTTON2_PIN&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;INPUT_PULLUP&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Attach the debouncer to a pin with INPUT_PULLUP mode&lt;/span&gt;
  debouncer3&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;attach&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;BUTTON3_PIN&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;INPUT_PULLUP&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Attach the debouncer to a pin with INPUT_PULLUP mode&lt;/span&gt;
  debouncer4&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;attach&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;BUTTON4_PIN&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;INPUT_PULLUP&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Attach the debouncer to a pin with INPUT_PULLUP mode&lt;/span&gt;
  debouncer5&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;attach&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;BUTTON5_PIN&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;INPUT_PULLUP&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Attach the debouncer to a pin with INPUT_PULLUP mode&lt;/span&gt;
  debouncer6&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;attach&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;BUTTON6_PIN&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;INPUT_PULLUP&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Attach the debouncer to a pin with INPUT_PULLUP mode&lt;/span&gt;
  debouncer7&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;attach&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;BUTTON7_PIN&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;INPUT_PULLUP&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Attach the debouncer to a pin with INPUT_PULLUP mode&lt;/span&gt;
  debouncer1&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;interval&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;25&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Use a debounce interval of 25 milliseconds&lt;/span&gt;
  debouncer2&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;interval&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;25&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Use a debounce interval of 25 milliseconds&lt;/span&gt;
  debouncer3&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;interval&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;25&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Use a debounce interval of 25 milliseconds&lt;/span&gt;
  debouncer4&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;interval&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;25&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Use a debounce interval of 25 milliseconds&lt;/span&gt;
  debouncer5&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;interval&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;25&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Use a debounce interval of 25 milliseconds&lt;/span&gt;
  debouncer6&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;interval&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;25&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Use a debounce interval of 25 milliseconds&lt;/span&gt;
  debouncer7&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;interval&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;25&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Use a debounce interval of 25 milliseconds&lt;/span&gt;
  
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

void &lt;span class=&quot;token function&quot;&gt;loop&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// Update the Bounce instances - should do this with a for loop.&lt;/span&gt;
   debouncer1&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;update&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; 
   debouncer2&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;update&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
   debouncer3&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;update&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
   debouncer4&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;update&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
   debouncer5&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;update&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
   debouncer6&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;update&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
   debouncer7&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;update&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

     &lt;span class=&quot;token comment&quot;&gt;// Get the values - should do this with a for loop (maybe the same loop as above?&lt;/span&gt;
   int value1 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; debouncer1&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;read&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
   int value2 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; debouncer2&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;read&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
   int value3 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; debouncer3&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;read&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
   int value4 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; debouncer4&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;read&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
   int value5 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; debouncer5&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;read&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
   int value6 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; debouncer6&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;read&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
   int value7 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; debouncer7&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;read&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

   &lt;span class=&quot;token comment&quot;&gt;// &lt;/span&gt;
   &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt; value1 &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; HIGH &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; value2 &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; HIGH &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; value3 &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; HIGH &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; value4 &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; HIGH &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; value5 &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; HIGH &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; value6 &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; HIGH &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; value7 &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; HIGH &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token comment&quot;&gt;// all the buttons are released, do the sending stuff&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;building &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token comment&quot;&gt;//check if we are building a chord&lt;/span&gt;
   &lt;span class=&quot;token comment&quot;&gt;// convert the keys pressed from binary to a decimal number&lt;/span&gt;
       int b &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;64&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//1st binary digit in the array is worth 64&lt;/span&gt;
       &lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;int i &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// build the 7 digit output, converting from bin to dec&lt;/span&gt;
       out &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; out &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;b &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt; chord&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
       b &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; b &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//divide b by 2 to get the value of the next column&lt;/span&gt;
       &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      Serial&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// write the chord to serial&lt;/span&gt;
      Serial&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// and a newline&lt;/span&gt;
      &lt;span class=&quot;token comment&quot;&gt;// lookup the key to send based on the chord&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;switch&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;out&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;117&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//u&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;115&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//s&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;103&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//g&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;111&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//o&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;113&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//q&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;110&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//n&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;98&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;  &lt;span class=&quot;token comment&quot;&gt;//b&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;101&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//e&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;118&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//v&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;116&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//t&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;12&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;97&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//a&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;15&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;109&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//m&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;16&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;32&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//space  - would be good if this could repeat while held&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;17&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;104&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//h&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;18&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;107&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//k&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;19&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;106&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//j&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;99&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//c&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;21&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;122&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//z&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;22&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;121&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//y&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;23&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;120&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//x&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;24&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;105&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//i&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;25&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;108&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//l&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;26&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;114&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//r&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;27&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;119&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//w&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;28&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//d&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;102&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//f&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;31&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;112&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//p&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;32&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; shift &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; shift &lt;span class=&quot;token operator&quot;&gt;^&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;   &lt;span class=&quot;token comment&quot;&gt;//Toggle the shift variable. Probably better to send the shift key (129) using keyboard.press and do a keyboard.release or releaseall after sending the next key.&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// Numbers - check how Microwriter did it, I&#39;ve forgotten!&lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;33&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;49&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//   0100001 1 binary 1 with the second thumb key held &lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;34&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;50&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//   0100010 2 binary 2 with the second thumb key held &lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;35&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;51&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//   0100011 3 binary 3 with the second thumb key held &lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;36&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;52&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//   0100100 4 binary 4 with the second thumb key held &lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;37&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;53&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//   0100101 5 binary 5 with the second thumb key held &lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;38&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;54&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//   0100110 6 binary 6 with the second thumb key held &lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;39&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;55&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//   0100111 7 binary 7 with the second thumb key held &lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;40&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;56&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//   0101000 8 binary 8 with the second thumb key held &lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;41&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;57&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//   0101001 9 binary 9 with the second thumb key held &lt;/span&gt;
  case &lt;span class=&quot;token number&quot;&gt;42&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;48&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//   0101010 0 binary 10 with the second thumb key held &lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// Other keys to add: see https://web.archive.org/web/20060806154015/http://www.bellaire.demon.co.uk/page15.gif&lt;/span&gt;
 
  &lt;span class=&quot;token comment&quot;&gt;// Modifiers&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// CTRL - 0110100 key = 128 (kinda like a &#39;c&#39; but with two thumb buttons) should be &#39;sticky&#39; to allow other modifiers to be added&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// WIN - 0111011 key = 131 (kinda like a &#39;w&#39; but with two thumb buttons) should be &#39;sticky&#39; to allow other modifiers to be added&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// ALT - 0111100 key = 130 (kinda like a &#39;a&#39; but with two thumb buttons) should be &#39;sticky&#39; to allow other modifiers to be added&lt;/span&gt;
  
  &lt;span class=&quot;token comment&quot;&gt;// Special Keys&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// TAB - 0111010 key = 179 (kinda like a &#39;t&#39; but with two thumb buttons)&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// ESC - 0111000 key = 177 (kinda like a &#39;e&#39; but with two thumb buttons)&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// HOME - 0110001 key = 210 (kinda like a &#39;h&#39; but with two thumb buttons)&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// END - 0110111 key = 213 (kinda like a &#39;d&#39; but with two thumb buttons)&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// DEL - check what Microwriter used  key = 212 - would be good if this could repeat while held&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// BACKSPACE - check what Microwriter used  key = 178  - would be good if this could repeat while held&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// RETURN - check what Microwriter used  key = 176  - would be good if this could repeat while held&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// UPARROW key = 218&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// DOWNARROW key = 217&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// LEFTARROW key = 216&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// RIGHTARROW key = 215&lt;/span&gt;
 
  &lt;span class=&quot;token comment&quot;&gt;// Punctuation&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// . - 0001110 key = 46 (I think this is the Microwriter code, 3 middle fingers)&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// , key = 44&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// ? - should this just be &#39;shift&#39; + &#39;/&#39;? key = 63&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// ! - should this just be &#39;shift&#39; + &#39;1&#39;? key = 33&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// &quot; - should this just be &#39;shift&#39; + &#39;2&#39;? key = 34&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// £ - should this just be &#39;shift&#39; + &#39;3&#39;? key = (no ascii number!)&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// $ - should this just be &#39;shift&#39; + &#39;4&#39;? key = 36&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// % - should this just be &#39;shift&#39; + &#39;5&#39;? key = 37&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// ^ - should this just be &#39;shift&#39; + &#39;6&#39;? key = 94&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// &amp;amp; - should this just be &#39;shift&#39; + &#39;7&#39;? key = 38&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// * - should this just be &#39;shift&#39; + &#39;8&#39;? key = 42&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// ( - should this just be &#39;shift&#39; + &#39;9&#39;? key = 40&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// ) - should this just be &#39;shift&#39; + &#39;0&#39;? key = 41&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// - key = 45&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// = key = 61&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// _  - should this just be &#39;shift&#39; + &#39;-&#39;? key = 95&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// +  - should this just be &#39;shift&#39; + &#39;=&#39;? key = 43&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// [  key = 91&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// ]  key = 93&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// { - should this just be &#39;shift&#39; + &#39;[&#39;? key = 123&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// } - should this just be &#39;shift&#39; + &#39;]&#39;? key = 125&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// &amp;lt; - should this just be &#39;shift&#39; + &#39;,&#39;? key = 60&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// &gt; - should this just be &#39;shift&#39; + &#39;.&#39;? key = 62&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// ; key = 59&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// : - should this just be &#39;shift&#39; + &#39;;&#39;? key = 58&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// &#39; key = 44&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// @ - should this just be &#39;shift&#39; + &#39;&#39;&#39;? key = 64&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// # key = 35&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// ~ - should this just be &#39;shift&#39; + &#39;#&#39;? key = 126&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// ` key = 96&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// &#92; key = 92&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// | - should this just be &#39;shift&#39; + &#39;&#92;&#39;? | key = 124&lt;/span&gt;
  &lt;span class=&quot;token comment&quot;&gt;// € - this might be tricky, it&#39;s KEY_RIGHT_ALT (134) and &#39;4&#39; (36)&lt;/span&gt;

  &lt;span class=&quot;token comment&quot;&gt;// REPEAT LAST KEY - a nice simple key combination to repeat the previous character?&lt;/span&gt;
 default&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// if an unknown key combination is pressed, set the key to 0, &#39;null&#39;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;shift &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;  out &lt;span class=&quot;token operator&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;32&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; key &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;32&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; shift &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// capitals are the ascii number for the lowercase letter minus 32. This might cause some problems with punctuation later. See comment against Case 32 above&lt;/span&gt;
        Keyboard&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;write&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;key&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// send the key&lt;/span&gt;
        key &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// set the key to ascii null&lt;/span&gt;
      &lt;span class=&quot;token comment&quot;&gt;//  Serial.print(key);&lt;/span&gt;

      out &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// reset the output after writing it.&lt;/span&gt;
      &lt;span class=&quot;token comment&quot;&gt;//Serial.print(out);&lt;/span&gt;
      &lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;int i&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;i&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;//Modify array and set all values back to 0&lt;/span&gt;
       chord&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; 
       &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
      int chord&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// reset chord ready for the next one&lt;/span&gt;
      building &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// we&#39;re no longer building a chord &lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
   &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
   &lt;span class=&quot;token keyword&quot;&gt;else&lt;/span&gt;
   &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token comment&quot;&gt;// one or more buttons are pressed&lt;/span&gt;
    &lt;span class=&quot;token comment&quot;&gt;// add all pressed buttons to the array - this could probably be another loop.&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;value1 &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; LOW&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;chord&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;value2 &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; LOW&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;chord&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;value3 &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; LOW&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;chord&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;value4 &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; LOW&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;chord&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;value5 &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; LOW&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;chord&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;value6 &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; LOW&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;chord&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;value7 &lt;span class=&quot;token operator&quot;&gt;==&lt;/span&gt; LOW&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;chord&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

    &lt;span class=&quot;token comment&quot;&gt;// we&#39;re building a chord so&lt;/span&gt;
    building &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
   &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Other things I&#39;ll consider adding to the code are some shortcuts for common words and/or endings: the, that, have, with, because, -ness, -ment, -ing, -able, -less etc.&lt;br /&gt;
I&#39;d also like to explore having the Teensy read a config file from an SD card - that would make it easy to change the chords without reprogramming.&lt;br /&gt;
It might be good to have multiple profiles with different shortcuts - one profile for programming, one for technical writing etc. Maybe a command chord could be used to switch profiles.&lt;br /&gt;
It might also be good to upgrade the Teensy to one of the later versions which have much more RAM.&lt;/p&gt;
&lt;p&gt;See &lt;a href=&quot;https://secreci.com/posts/20190420-chording-keyboard-part-2/&quot;&gt;part 2&lt;/a&gt; for more...&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Building a DIY Stenographic Keyboard - Part 2</title>
		<link href="https://secreci.com/posts/20190331-steno-keyboard-part-2/"/>
		<updated>2019-03-31T20:18:00Z</updated>
		<id>https://secreci.com/posts/20190331-steno-keyboard-part-2/</id>
		<summary>An attempt at building a chording keyboard</summary>
		<category term="maker"/>
		<content type="html">&lt;p&gt;In &lt;a href=&quot;https://secreci.com/posts/20190331-steno-keyboard-part-1/&quot;&gt;Part 1&lt;/a&gt; I managed to build all the mechanical parts of the keyboard. Now it&#39;s time to start on the electronics.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/keyboard_keycaps_added.jpg&quot; alt=&quot;All keys in place&quot; title=&quot;All keys in place&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The underside of the keyboard is looking quite tidy and the Teensy 2.0 fits in the space I left for it!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/Keyboard_back_before_wiring.jpg&quot; alt=&quot;The underside of the keyboard&quot; title=&quot;The underside of the keyboard&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I found an &lt;a href=&quot;http://blog.komar.be/how-to-make-a-keyboard-the-matrix/&quot;&gt;excellent blog&lt;/a&gt; about how to wire switches as a matrix and use diodes to let NKRO work without ghosting.&lt;/p&gt;
&lt;p&gt;So, time to work out how to fit everything in...&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/keyboard_wiring_diagram.jpg&quot; alt=&quot;Wiring diagram&quot; title=&quot;Wiring diagram&quot; /&gt;&lt;/p&gt;
&lt;p&gt;and then start bending diodes and soldering! Note: my soldering skills are not great, I haven&#39;t done any in years so these joints are ugly. Hopefully they will work.&lt;br /&gt;
&lt;img src=&quot;https://secreci.com/img/keyboard_bending_diodes.jpg&quot; alt=&quot;Pre-bending diodes&quot; title=&quot;Pre-bending diodes&quot; /&gt;&lt;/p&gt;
&lt;p&gt;All the diodes in place - like I said, ugly soldering!&lt;br /&gt;
&lt;img src=&quot;https://secreci.com/img/keyboard_diodes_soldered.jpg&quot; alt=&quot;Diodes in place&quot; title=&quot;Diodes in place&quot; /&gt;&lt;/p&gt;
&lt;p&gt;And then the wires, I stupidly touched the soldering iron to my 3d print a couple of times.&lt;br /&gt;
&lt;img src=&quot;https://secreci.com/img/keyboard_wires_soldered.jpg&quot; alt=&quot;Wires in place&quot; title=&quot;Wires in place&quot; /&gt;&lt;/p&gt;
&lt;p&gt;That is as far as I have got so far - to be continued in Part 3!&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Building a DIY Stenographic Keyboard - Part 1</title>
		<link href="https://secreci.com/posts/20190331-steno-keyboard-part-1/"/>
		<updated>2019-03-31T19:24:00Z</updated>
		<id>https://secreci.com/posts/20190331-steno-keyboard-part-1/</id>
		<summary>An attempt at building a chording keyboard</summary>
		<category term="maker"/>
		<content type="html">&lt;p&gt;I&#39;m attempting to build a stenographic keyboard - this is Part 1 of my attempt - There is no guarantee that it&#39;ll be successful so there may no be a &lt;a href=&quot;https://secreci.com/posts/20190331-steno-keyboard-part-2/&quot;&gt;part 2&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;I found the really interesting software &lt;a href=&quot;http://www.openstenoproject.org/plover/&quot;&gt;Plover&lt;/a&gt; and the &lt;a href=&quot;http://openstenoproject.org/&quot;&gt;Open Steno Project&lt;/a&gt; which is attempting to make stenography open source. I&#39;ve tried the Plover driver and had reasonable success using a mechanical keyboard (a Technnet X705) but felt that having  proper stenographic keyboard would be much better as trying to use the keys on a standard keyboard is a little bit awkward.&lt;/p&gt;
&lt;p&gt;Steno keyboards cost an absolute fortune - hundreds or thousands of dollars for the ones I found - so that was not an option. Enter my 3D printer and a spare weekend!&lt;/p&gt;
&lt;p&gt;The first step was to put together a list of components:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://sites.google.com/site/ploverdoc/lesson-1-fingers-and-keys&quot;&gt;A layout showing what a steno keyboard looks like&lt;/a&gt; Note: I&#39;m only building a keyboard with these keys at the moment as a test - A real steno keyboard has some extra keys such as the number bar.&lt;/li&gt;
&lt;li&gt;22 Mechanical keyboard switches&lt;/li&gt;
&lt;li&gt;22 Keycaps to go on the switches&lt;/li&gt;
&lt;li&gt;Some sort of case to mount the keys on&lt;/li&gt;
&lt;li&gt;Some electronics to make the magic happen!&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I did some research and found that the &lt;a href=&quot;https://www.amazon.co.uk/USB-development-board-keyboard-experiment/dp/B01JFXS2X4/ref=sr_1_2?keywords=teensy+2.0&amp;amp;qid=1554059327&amp;amp;s=gateway&amp;amp;sr=8-2&quot;&gt;Teensy 2.0&lt;/a&gt; board could be used as a keyboard controller and supports NKRO, if you add diodes, which is essential for a steno keyboard. Note: with only 22 keys, I could probably get NKRO without the diodes but I may want to expand this in future.&lt;/p&gt;
&lt;p&gt;Playing about with ideas for the switches and keycaps, I decided to buy a cheap mechanical keyboard and use it for parts. If I mount the switches correctly, I can get the spacing of the keycaps correct.&lt;br /&gt;
I bought a Zalman ZM-K500 USB Mechanical Keyboard from Amazon. When I tried it, I found that the &#39;A&#39; key didn&#39;t work - I&#39;m not impressed with the quality control at Zalman!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/zalman_keyboard.jpg&quot; alt=&quot;Zalman ZM-K500 Keyboard&quot; title=&quot;Zalman ZM-K500 Keyboard&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I pulled the keys off and played about with layouts, and with sanding the letters off the keycaps.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/key_layout.jpg&quot; alt=&quot;Laying out the keys&quot; title=&quot;Laying out the keys&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I desoldered the switches (a solder-sucker made this much easier!) then started taking some measurements to let me design the case.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/switch_measurements.jpg&quot; alt=&quot;Measuring the switches&quot; title=&quot;Measuring the switches&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I then printed a quick test on my 3D printer - it turned out the holes were too small so I increased both dimensions by a mm (13.5 x 14mm) - I deliberately made the measurements smaller so that I could adjust the hole to make the switch a tight fit.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/keyboard-test-print.jpg&quot; alt=&quot;Test print&quot; title=&quot;Test print&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I then did a quick design in Sketchup and exported it for printing.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/keyboard_sketchup.jpg&quot; alt=&quot;Sketchup model&quot; title=&quot;Sketchup model&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The print took about 10 hours to run, so I left it printing overnight.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/keyboard_print_before_cleaning.jpg&quot; alt=&quot;Printed case before cleaning&quot; title=&quot;Printed case before cleaning&quot; /&gt;&lt;/p&gt;
&lt;p&gt;After cleaning up the print, and shaving the inside of the holes to get the switches to fit, I tested a small group of switches and keycaps to make sure they fit correctly and the spacing was good. I had already decided that the big buttons were too large on my original layout so I swapped them for slightly smaller keycaps.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/keyboard_test_fitting_keys.jpg&quot; alt=&quot;Test fitting keys&quot; title=&quot;Test fitting keys&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The keyboard actually looks good with all the keys in place.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/keyboard_keycaps_added.jpg&quot; alt=&quot;All keys in place&quot; title=&quot;All keys in place&quot; /&gt;&lt;/p&gt;
&lt;p&gt;In &lt;a href=&quot;https://secreci.com/posts/20190331-steno-keyboard-part-2/&quot;&gt;Part 2&lt;/a&gt;, I&#39;ll start wiring!&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Making static copies of Wordpress sites</title>
		<link href="https://secreci.com/posts/20190323-making-static-copies-of-wordpress-sites/"/>
		<updated>2019-03-23T22:30:00Z</updated>
		<id>https://secreci.com/posts/20190323-making-static-copies-of-wordpress-sites/</id>
		<summary>Problems I had, and how I made static copies of my wordpress sites</summary>
		<category term="wordpress"/>
		<content type="html">&lt;p&gt;As I&#39;ve mentioned in other posts on this blog, I was previously hosting a number of blogs running on self-hosted &lt;a href=&quot;https://wordpress.org/&quot;&gt;Wordpress&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I wanted to archive the sites so that I could refer to them in future - I wanted to retain the look of the sites, so just exporting the posts to &lt;code&gt;.md&lt;/code&gt; files and adding them to this site with &lt;a href=&quot;https://11ty.io/&quot;&gt;11ty&lt;/a&gt; was not an option.&lt;/p&gt;
&lt;p&gt;I looked at various Wordpress plug-ins which promised to export a whole site to static HTML files, but I didn&#39;t have much luck, you might get on better so they are worth trying:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://wordpress.org/extend/plugins/static-html-output-plugin/&quot;&gt;WP2Static&lt;/a&gt; - This wouldn&#39;t install with the version of PHP which I was running. I didn&#39;t want to update in case it broke any of the other blogs I was running and cause more problems.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://wordpress.org/extend/plugins/really-static/&quot;&gt;Really Static&lt;/a&gt; - This was last updated 5 years ago and had a lot of negative reviews&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fr.wordpress.org/plugins/simply-static/&quot;&gt;Simply Static&lt;/a&gt; - This installed and seemed to run ok, but I couldn&#39;t find all of the posts in the output.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In the end, I decided to just spider the site with &lt;a href=&quot;http://www.httrack.com/&quot;&gt;HTTrack&lt;/a&gt; - I ended up using the Windows version.&lt;/p&gt;
&lt;p&gt;The settings I chose were just the defaults and the following:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Action: Download Website(s)&lt;br /&gt;
Options &amp;gt; Spider &amp;gt; Spider: no robots.txt rules&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;After completing the download, I browsed the local copy of the site and everything looked fine until I right-clicked on an image and chose &#39;View Image&#39; - the image that was displayed was the one hosted on my server, not the local copy.&lt;/p&gt;
&lt;p&gt;On investigation it seems that HTTrack does not handle any &lt;code&gt;srcset&lt;/code&gt; attributes inside &lt;code&gt;&amp;lt;img&amp;gt;&lt;/code&gt; tags.&lt;/p&gt;
&lt;p&gt;srcset is often used to allow alternative sizes of images to be displayed in responsive Wordpress themes. This didn&#39;t really affect my local copy, but a quick fix would be to strip all the &lt;code&gt;srcset&lt;/code&gt; attributes from the HTML files. Happily &#39;Mitch B&#39; had written a Python script which does exactly this. The script can be found on the &lt;a href=&quot;https://forum.httrack.com/readmsg/36162/33879/index.html&quot;&gt;HTTrack Forum&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I&#39;ve included it here in case I need it again:&lt;/p&gt;
&lt;pre class=&quot;language-python&quot;&gt;&lt;code class=&quot;language-python&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;#Given a PATH go through all the html files and delete all of the srcset subtags for img tags.&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;#files will be overwritten&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;#Script from https://forum.httrack.com/readmsg/36162/33879/index.html&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;#Written by Mitch B&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; bs4 &lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; BeautifulSoup
&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; os
&lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; glob &lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; glob
&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; codecs

PATH &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;C:&#92;folder_containing_static_site&quot;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;# No trailing &#92; or it will break!&lt;/span&gt;

result &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;y &lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; x &lt;span class=&quot;token keyword&quot;&gt;in&lt;/span&gt; os&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;walk&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;PATH&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; y &lt;span class=&quot;token keyword&quot;&gt;in&lt;/span&gt; glob&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;os&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;path&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;join&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;x&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;*.html&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; filename &lt;span class=&quot;token keyword&quot;&gt;in&lt;/span&gt; result&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;print&lt;/span&gt; filename
	&lt;span class=&quot;token builtin&quot;&gt;file&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; codecs&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;filename&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;r&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;utf-8&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	data &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;file&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;read&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	soup &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; BeautifulSoup&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;data&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;html.parser&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; p &lt;span class=&quot;token keyword&quot;&gt;in&lt;/span&gt; soup&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;find_all&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;img&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
		&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;srcset&#39;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;in&lt;/span&gt; p&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;attrs&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
			&lt;span class=&quot;token keyword&quot;&gt;del&lt;/span&gt; p&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;attrs&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;srcset&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
	&lt;span class=&quot;token builtin&quot;&gt;file&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;close&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	file1 &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; codecs&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token builtin&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;filename&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;w&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;utf-8&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	file1&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;write&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;soup&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;prettify&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
	file1&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;close&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The script overwrites the files, so run it on a copy in case something goes wrong.&lt;/p&gt;
&lt;p&gt;I saved the script as &lt;code&gt;removesetsrc.py&lt;/code&gt; and ran it with &lt;code&gt;python removesetsrc.py&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;If the script complains about the &lt;code&gt;bs4&lt;/code&gt; module, you will need to install BeautifulSoup by doing &lt;code&gt;pip install BeautifulSoup&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;After running the script, my local sites are working as expected and are ready to be hosted if I decide to.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Wordpress to Eleventy</title>
		<link href="https://secreci.com/posts/20190317-wordpress-to-eleventy/"/>
		<updated>2019-03-17T20:40:00Z</updated>
		<id>https://secreci.com/posts/20190317-wordpress-to-eleventy/</id>
		<summary>How I migrated my website from Wordpress to Eleventy</summary>
		<category term="powershell"/>
		<content type="html">&lt;p&gt;I was self hosting hosting a blog &#39;&lt;a href=&quot;http://www.planetmediocrity.com/&quot;&gt;www.planetmediocrity.com&lt;/a&gt;&#39; and wanted to make it static and port it to Eleventy.&lt;/p&gt;
&lt;p&gt;I exported all content as an XML file and then used &lt;a href=&quot;https://github.com/dreikanter/wp2md&quot;&gt;wp2md&lt;/a&gt; to convert the large xml file into individual .md files.&lt;br /&gt;
Unfortunately, these were not in the correct format for Eleventy, so I threw together the Powershell script below to convert the headers...&lt;/p&gt;
&lt;pre class=&quot;language-powershell&quot;&gt;&lt;code class=&quot;language-powershell&quot;&gt;&lt;span class=&quot;token variable&quot;&gt;$workdir&lt;/span&gt; = &lt;span class=&quot;token string&quot;&gt;&quot;C:&#92;Users&#92;me&#92;11ty&#92;convert&#92;posts&quot;&lt;/span&gt;
&lt;span class=&quot;token variable&quot;&gt;$outdir&lt;/span&gt; = &lt;span class=&quot;token string&quot;&gt;&quot;C:&#92;Users&#92;me&#92;11ty&#92;convert&#92;posts-output&#92;&quot;&lt;/span&gt;

&lt;span class=&quot;token variable&quot;&gt;$files&lt;/span&gt; = &lt;span class=&quot;token function&quot;&gt;Get-ChildItem&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;&lt;span class=&quot;token variable&quot;&gt;$workdir&lt;/span&gt;&#92;*.*&quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;Include &lt;span class=&quot;token operator&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;md
&lt;span class=&quot;token variable&quot;&gt;$separator&lt;/span&gt; = &lt;span class=&quot;token string&quot;&gt;&quot;---&quot;&lt;/span&gt;
&lt;span class=&quot;token variable&quot;&gt;$layout&lt;/span&gt; = &lt;span class=&quot;token string&quot;&gt;&quot;layouts/pmpost.njk&quot;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;Foreach&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$file&lt;/span&gt; in &lt;span class=&quot;token variable&quot;&gt;$files&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;token variable&quot;&gt;$text&lt;/span&gt; = &lt;span class=&quot;token function&quot;&gt;Get-Content&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$file&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;#Get the filename and set output dir&lt;/span&gt;
    &lt;span class=&quot;token variable&quot;&gt;$filename&lt;/span&gt; = &lt;span class=&quot;token variable&quot;&gt;$file&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Name
    &lt;span class=&quot;token variable&quot;&gt;$filename&lt;/span&gt; = &lt;span class=&quot;token variable&quot;&gt;$outdir&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$filename&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;#Get the title&lt;/span&gt;
    &lt;span class=&quot;token variable&quot;&gt;$title&lt;/span&gt; = &lt;span class=&quot;token variable&quot;&gt;$text&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;select-string&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;Pattern &lt;span class=&quot;token string&quot;&gt;&#39;title: &#39;&lt;/span&gt;
    &lt;span class=&quot;token variable&quot;&gt;$title&lt;/span&gt; = &lt;span class=&quot;token variable&quot;&gt;$title&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;ToString&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token variable&quot;&gt;$title&lt;/span&gt; = &lt;span class=&quot;token variable&quot;&gt;$title&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;TrimStart&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;title: &quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;# Set the title as the description since there are none&lt;/span&gt;
&lt;span class=&quot;token variable&quot;&gt;$description&lt;/span&gt; = &lt;span class=&quot;token variable&quot;&gt;$title&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;# Get the date&lt;/span&gt;
    &lt;span class=&quot;token variable&quot;&gt;$date&lt;/span&gt; = &lt;span class=&quot;token variable&quot;&gt;$text&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;Select-String&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;Pattern &lt;span class=&quot;token string&quot;&gt;&#39;created: &#39;&lt;/span&gt;
    &lt;span class=&quot;token variable&quot;&gt;$date&lt;/span&gt; = &lt;span class=&quot;token variable&quot;&gt;$date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;ToString&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;token variable&quot;&gt;$date&lt;/span&gt; = &lt;span class=&quot;token variable&quot;&gt;$date&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;TrimStart&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;created: &quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;# convert to correct format&lt;/span&gt;
    &lt;span class=&quot;token variable&quot;&gt;$date&lt;/span&gt; = &lt;span class=&quot;token variable&quot;&gt;$date&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-replace&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;/&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;-&#39;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;# Get the body of the post by skipping the first 11 lines&lt;/span&gt;
&lt;span class=&quot;token variable&quot;&gt;$body&lt;/span&gt; = &lt;span class=&quot;token variable&quot;&gt;$text&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;select&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;Skip 11

&lt;span class=&quot;token comment&quot;&gt;# Write the file to the output directory&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;Write-Host&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Writing to:&quot;&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$filename&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;# I should add some replaces to fix images but I ran out of time&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;# $body = $body -replace &quot;REGEX TO MATCH WP FORMAT&quot;,&quot;&amp;lt;img src=&quot;../../img/FILENAME FROM REGEX&quot; alt=&quot;ALT FROM REGEX&quot; /&gt;&amp;lt;/br&gt;&lt;/span&gt;

&lt;span class=&quot;token function&quot;&gt;Add-Content&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$filename&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;&lt;span class=&quot;token variable&quot;&gt;$separator&lt;/span&gt;&quot;&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;Add-Content&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$filename&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;title: &lt;span class=&quot;token variable&quot;&gt;$title&lt;/span&gt;&quot;&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;Add-Content&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$filename&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;description: &lt;span class=&quot;token variable&quot;&gt;$description&lt;/span&gt;&quot;&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;Add-Content&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$filename&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;date: &lt;span class=&quot;token variable&quot;&gt;$date&lt;/span&gt;&quot;&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;Add-Content&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$filename&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;tags:&quot;&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;Add-Content&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$filename&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;  - planetmediocrity&quot;&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;Add-Content&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$filename&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;&quot;&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;Add-Content&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$filename&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;layout: &lt;span class=&quot;token variable&quot;&gt;$layout&lt;/span&gt;&quot;&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;Add-Content&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$filename&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;&lt;span class=&quot;token variable&quot;&gt;$separator&lt;/span&gt;&quot;&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;Add-Content&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$filename&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;&lt;span class=&quot;token variable&quot;&gt;$body&lt;/span&gt;&quot;&lt;/span&gt;

&lt;span class=&quot;token function&quot;&gt;Write-Host&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;File written&quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I&#39;m tidying up the body and relinking images etc. manually.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update 13/04/2019:&lt;/strong&gt; I noticed that all my images were followed by a &lt;code&gt;&amp;lt;/br&amp;gt;&lt;/code&gt; tag which is just plain wrong! I made this mistake when manually fixing broken images after running the above script. I decided to convert all the HTML &lt;code&gt;&amp;lt;img&amp;gt;&lt;/code&gt; tags to Markdown using Notepad++ to remove the requirement for a line break and to reduce the amoun of HTML in my source files.&lt;/p&gt;
&lt;p&gt;After doing a couple manually, I decided to write the regex that I should have included in my original script. This will take the alt text from the original link and add it to the markdown version.&lt;/p&gt;
&lt;p&gt;From:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;img src=&amp;quot;../../img/wpid-Screenshot_2013-01-12-17-51-21_0.jpg&amp;quot; alt=&amp;quot;Shark in the meadows!&amp;quot; /&amp;gt;&amp;lt;/br&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;To:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;![Shark in the meadows!](../../img/wpid-Screenshot_2013-01-12-17-51-21_0.jpg &amp;quot;Shark in the meadows!&amp;quot;)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;In Notepad++ find and replace, I used the following regex.&lt;/p&gt;
&lt;p&gt;Find what :&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;img src=&amp;quot;(.*)?&amp;quot;.*&amp;quot;(.*)?&amp;quot; &#92;/&amp;gt;&amp;lt;&#92;/br&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Replace with:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;![&#92;2]&#92;(&#92;1 &amp;quot;&#92;2&amp;quot;&#92;)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This finds a string that starts with &lt;code&gt;&amp;lt;img src=&amp;quot;&lt;/code&gt; followed by 0 or more characters up until the next &lt;code&gt;&amp;quot;&lt;/code&gt;, then 0 or more characters ending in another &lt;code&gt;&amp;quot;&lt;/code&gt; then 0 or more characters before &lt;code&gt;&amp;quot; /&amp;gt;&amp;lt;/br&amp;gt;&lt;/code&gt;&lt;br /&gt;
The sections in brackets &lt;code&gt;( )&lt;/code&gt; are stored as &lt;code&gt;&#92;1&lt;/code&gt; and &lt;code&gt;&#92;2&lt;/code&gt; respectively.&lt;br /&gt;
These are then used in the replace command to enter the file path and alt text.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>PowerShell and Excel RemoveDuplicates</title>
		<link href="https://secreci.com/posts/20170814-power-shell-and-excel-removeduplicates/"/>
		<updated>2017-08-14T09:48:51Z</updated>
		<id>https://secreci.com/posts/20170814-power-shell-and-excel-removeduplicates/</id>
		<summary>PowerShell and Excel RemoveDuplicates</summary>
		<category term="powershell"/>
		<category term="tech"/>
		<content type="html">&lt;p&gt;Well, it&#39;s been a looong time since I added any new posts to my blog - almost 4 years! I was busy ;-)&lt;/p&gt;
&lt;p&gt;In my day job, a lot of my time is spent automating manual tasks. Recently I was asked to look at automating the process of tidying up server reports to give clean data to be used to create a tracker.&lt;/p&gt;
&lt;p&gt;The data was supplied in xlsb format (Excel binary) and contained a lot of duplicate rows which needed to be removed.&lt;br /&gt;
The manual process was to open the file in Excel, navigate to the &#39;Data&#39; tab of the ribbon and choose &#39;Remove Duplicates&#39; - this defaulted to all columns being selected so clicking &#39;OK&#39; did the job.&lt;br /&gt;
The automated script needed to run across many(!) xlsb files and I found that Excel ran out of memory after the first few if I relied on Excel macros to open multiple consecutive files.&lt;/p&gt;
&lt;p&gt;My solution was to use PowerShell - this meant that Excel could be closed between workbooks and so free up memory.&lt;/p&gt;
&lt;p&gt;There was a lot of trial and error to get the .RemoveDuplicates() part of the script to work, the MSDN docs say that columns are optional, but that does not seem to be the case.&lt;br /&gt;
My solution was to make an array with the column numbers.&lt;/p&gt;
&lt;p&gt;The relevant parts of the script are below - hopefully it will help someone!&lt;/p&gt;
&lt;p&gt;PowerShell:&lt;/p&gt;
&lt;pre class=&quot;language-powershell&quot;&gt;&lt;code class=&quot;language-powershell&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;Param&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token namespace&quot;&gt;[String]&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$filepath&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;# to get the file name at the command line. &lt;/span&gt;
&lt;span class=&quot;token variable&quot;&gt;$xl&lt;/span&gt; = &lt;span class=&quot;token function&quot;&gt;New-Object&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;ComObject &lt;span class=&quot;token string&quot;&gt;&quot;Excel.Application&quot;&lt;/span&gt; 
&lt;span class=&quot;token variable&quot;&gt;$wb&lt;/span&gt; = &lt;span class=&quot;token variable&quot;&gt;$xl&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Workbooks&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;open&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$filepath&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;# open the workbook &lt;/span&gt;
&lt;span class=&quot;token variable&quot;&gt;$ws&lt;/span&gt; = &lt;span class=&quot;token variable&quot;&gt;$wb&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Sheets&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;Item&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;Sheet1&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;# specify the worksheet &lt;/span&gt;
&lt;span class=&quot;token variable&quot;&gt;$columns&lt;/span&gt; = 1&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; 2&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; 3&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; 4&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; 5 &lt;span class=&quot;token comment&quot;&gt;# create an array of column numbers &lt;/span&gt;
&lt;span class=&quot;token variable&quot;&gt;$ws&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;UsedRange&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;RemoveDuplicates&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token variable&quot;&gt;$columns&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;# remove duplicates &lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I then had code that saved the deduplicated sheet. Let me know if this helps, or if you have a better way of doing it!&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>How does Public Key Cryptography work</title>
		<link href="https://secreci.com/posts/20131106-how-does-public-key-cryptography-work/"/>
		<updated>2013-11-06T22:04:00Z</updated>
		<id>https://secreci.com/posts/20131106-how-does-public-key-cryptography-work/</id>
		<summary>A high-level description of public key cryptography</summary>
		<category term="security"/>
		<content type="html">&lt;p&gt;Public Key cryptography solves one of the main problems with strong cryptography. How do you securely share the encryption/decryption key? If you have a secure channel for doing that, then why not use the same channel to send your plaintext message?&lt;/p&gt;
&lt;p&gt;Public Key cryptography uses one key to encrypt and a different key to decrypt. This means you can share your Public Key with the world and anyone can use it to encrypt a message to you, but you are the only person with access to the Private Key to decrypt the message. Clever stuff!&lt;/p&gt;
&lt;p&gt;This allows all sorts of exciting things – encryption, signing, non-repudiation and more.&lt;/p&gt;
&lt;p&gt;But how does the maths behind this work? I’ve written a worked example below which shows a simplified version of how RSA encryption works. I’ve used small numbers so that you can follow along with a calculator, or a pencil and paper if you are cleverer than me!&lt;/p&gt;
&lt;p&gt;Choose two &lt;strong&gt;random&lt;/strong&gt; (large) &lt;a href=&quot;https://en.wikipedia.org/wiki/Prime_number&quot;&gt;prime numbers&lt;/a&gt;, p and q:&lt;br /&gt;
&lt;strong&gt;p&lt;/strong&gt; = 13&lt;br /&gt;
&lt;strong&gt;q&lt;/strong&gt; = 7&lt;/p&gt;
&lt;p&gt;Multiply the numbers together to get the modulus, N, (the maximum value we can encrypt).&lt;br /&gt;
&lt;strong&gt;N&lt;/strong&gt; = pq = 13*7 = 91  This is known as a &lt;a href=&quot;https://en.wikipedia.org/wiki/Trapdoor_function&quot;&gt;trapdoor function&lt;/a&gt; – it’s easy to work out N if you know pq but &lt;strong&gt;very&lt;/strong&gt; difficult to discover p and q if you only know N (for bigger numbers than we are using here)&lt;/p&gt;
&lt;p&gt;Choose a public key, e.&lt;br /&gt;
&lt;strong&gt;e&lt;/strong&gt; = 5 (generally chosen from {&lt;a href=&quot;http://mathworld.wolfram.com/FermatNumber.html&quot;&gt;3, 5, 17, 257, 65537&lt;/a&gt;} which are also prime numbers)&lt;/p&gt;
&lt;p&gt;To compute the associated private key, you need to know the two prime numbers (p and q). First compute φ (phi)&lt;br /&gt;
&lt;strong&gt;φ&lt;/strong&gt; = (p-1)(q-1) =(13-1)(7-1) = 12*6 = 72&lt;/p&gt;
&lt;p&gt;Then compute the private key, d.&lt;br /&gt;
&lt;strong&gt;d&lt;/strong&gt; = (1/e) &lt;a href=&quot;https://en.wikipedia.org/wiki/Modulo_operation&quot;&gt;mod&lt;/a&gt; φ  or, written differently,  ed = 1 mod φ&lt;/p&gt;
&lt;p&gt;In English, this means “find a whole number, d, which, when multiplied by ‘e’ and then divided by ‘φ’, leaves a remainder of 1” – there will be multiple values which are suitable.&lt;/p&gt;
&lt;p&gt;Substituting the known values, we get&lt;br /&gt;
5d = 1 mod 72,  so d = 29  (because 5&lt;em&gt;29/72 = 2 remainder 1) or 461 (because 5&lt;/em&gt;461/72 = 32 remainder 1) or 7373(because 5*7373/72 = 512 remainder 1) or other, larger, numbers…&lt;/p&gt;
&lt;p&gt;We’ll choose the smallest number ’29’ here to make the calculations later a bit easier.&lt;/p&gt;
&lt;p&gt;We now have all the required parts to encrypt and decrypt a message.&lt;/p&gt;
&lt;p&gt;The public key which you share with the world is (N, e) = (N = 91, e =5)&lt;br /&gt;
The private key which is known only to you is (N, d) = (N = 91, d = 29)&lt;br /&gt;
The key pair is written ((N,e), d) – in our case ((91, 5), 29)&lt;/p&gt;
&lt;p&gt;Before we can encrypt a message, we need to convert the message from letters to numbers. Lets use the standard Unicode Transformation Format 8-bit (&lt;a href=&quot;https://en.wikipedia.org/wiki/UTF-8&quot;&gt;UTF-8&lt;/a&gt;) encoding where each letter is represented by a number:&lt;/p&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;10&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;A = 65&lt;/td&gt;
&lt;td&gt;G = 71&lt;/td&gt;
&lt;td&gt;M = 77&lt;/td&gt;
&lt;td&gt;S = 83&lt;/td&gt;
&lt;td&gt;Y = 89&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B = 66&lt;/td&gt;
&lt;td&gt;H = 72&lt;/td&gt;
&lt;td&gt;N = 78&lt;/td&gt;
&lt;td&gt;T = 84&lt;/td&gt;
&lt;td&gt;Z = 90&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C = 67&lt;/td&gt;
&lt;td&gt;I = 73&lt;/td&gt;
&lt;td&gt;O = 79&lt;/td&gt;
&lt;td&gt;U = 85&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;D = 68&lt;/td&gt;
&lt;td&gt;J = 74&lt;/td&gt;
&lt;td&gt;P = 80&lt;/td&gt;
&lt;td&gt;V = 86&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;E = 69&lt;/td&gt;
&lt;td&gt;K = 75&lt;/td&gt;
&lt;td&gt;Q = 81&lt;/td&gt;
&lt;td&gt;W = 87&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F = 70&lt;/td&gt;
&lt;td&gt;L = 76&lt;/td&gt;
&lt;td&gt;R = 82&lt;/td&gt;
&lt;td&gt;X = 88&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;– a space would be represented by 32&lt;/p&gt;
&lt;p&gt;So, the message “ATTACK” would be encoded as 65, 84, 84, 65, 67, 75&lt;/p&gt;
&lt;p&gt;To encrypt the plaintext message, m, into cypertext, c&lt;br /&gt;
c = me mod N&lt;br /&gt;
(remember, ‘e’ and ‘N’ are both public information)&lt;/p&gt;
&lt;p&gt;A would be 655 mod 91 = 1,160,290,625 mod 91 = &lt;strong&gt;39&lt;/strong&gt; (1,160,290,625 / 91 = 12,750,446 remainder 39)&lt;br /&gt;
T would be 845 mod 91   = 4,182,119,424 mod 91 = &lt;strong&gt;28&lt;/strong&gt;&lt;br /&gt;
C would be 675 mod 91   = 1,350,125,107 mod 91 = &lt;strong&gt;58&lt;/strong&gt;&lt;br /&gt;
K would be 755 mod 91   = 2,373,046,875 mod 91 = &lt;strong&gt;17&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Our encrypted message is now 39, 28, 28, 39, 58, 17&lt;/p&gt;
&lt;p&gt;to decrypt the cyphertext, c, back to the plaintext, m&lt;br /&gt;
m = cd mod N&lt;br /&gt;
(remember, ‘d’ is only known to us!)&lt;/p&gt;
&lt;p&gt;39 would be 3929 mod 91 = 1.3831637670618865315545398098597e+46 mod 91 = &lt;strong&gt;65&lt;/strong&gt;&lt;br /&gt;
28 would be 2829 mod 91 = 9.2807464717109449615203639109421e+41 mod 91 = &lt;strong&gt;84&lt;/strong&gt;&lt;br /&gt;
58 would be 5829 mod 91 = 1.37851600677743110483676343403e+51 mod 91 = &lt;strong&gt;67&lt;/strong&gt;&lt;br /&gt;
17 would be 1729 mod 91 = 4.8196857210675091509141182522307e+35 mod 91 = &lt;strong&gt;75&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tip:&lt;/strong&gt;&lt;br /&gt;
3929 mod 91 is “the remainder when 39 multiplied by itself 29 times is divided by 91” – The numbers when we worked this out above become enormous – we can keep the numbers smaller by dividing by 91 and keeping just the remainder as we go along. If we do this one step at a time, we get:&lt;br /&gt;
1: 39&lt;em&gt;39 = 1,521 – this is bigger than N (91) so we can divide by 91 to get 16 remainder 65 (just keep the remainder!)&lt;br /&gt;
2: 65&lt;/em&gt;39 = 2,535 – we can divide by 91 to get 27 remainder 78&lt;br /&gt;
3: 78&lt;em&gt;39 = 3,042 – we can divide by 91 to get 33 remainder 39&lt;br /&gt;
…and so on…&lt;br /&gt;
27: 65&lt;/em&gt;39 mod 91 = 78&lt;br /&gt;
28: 78&lt;em&gt;39 mod 91 = 39&lt;br /&gt;
29: 39&lt;/em&gt;39 mod 91 = 65  &amp;lt;— the same answer we got by doing 3929 mod 91&lt;/p&gt;
&lt;p&gt;Our decrypted message, then, is 65, 84, 84, 65, 67, 75 which decodes to ATTACK using the UTF-8 table!&lt;/p&gt;
&lt;p&gt;Let me know in the comments below if this makes sense and is useful…&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Certutil.exe - Undocumented Switches</title>
		<link href="https://secreci.com/posts/20131030-certutil-exe-undocumented-switches/"/>
		<updated>2013-10-30T22:02:25Z</updated>
		<id>https://secreci.com/posts/20131030-certutil-exe-undocumented-switches/</id>
		<summary>Certutil.exe - Undocumented Switches</summary>
		<category term="security"/>
		<category term="tech"/>
		<content type="html">&lt;p&gt;Certutil is a really useful tool for administering various parts of a Microsoft CA, but not all the switches are documented – they don’t even show up when you do a ‘certutil -v -?’ to show the full help.&lt;/p&gt;
&lt;p&gt;So far, I have found the following verbs and options – the verbs have documentation if you specify them on the command line e.g. ‘certutil -setsmtpinfo -v -?’ I have only included the ‘hidden’ verbs and options below – you can find the standard options by checking the certutil help.&lt;/p&gt;
&lt;p&gt;If you have any other verbs and options I’ve missed, please let me know in the comments and I’ll add them to this page. If you have any clever ways of using certutil, please let me know – I’m always looking for better ways of doing things!&lt;/p&gt;
&lt;p&gt;Note: Microsoft may have hidden these options for a reason – use them with care, and at your own risk! Microsoft probably won’t provide support if you hit problems!&lt;/p&gt;
&lt;h2 id=&quot;verbs%3A&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20131030-certutil-exe-undocumented-switches/#verbs%3A&quot;&gt;&lt;span&gt;Verbs:&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;setsmtpinfo&lt;/strong&gt;&lt;br /&gt;
Usage:&lt;br /&gt;
CertUtil [Options] -setsmtpinfo LogonName&lt;br /&gt;
Set SMTP info&lt;br /&gt;
[-config Machine&#92;CAName] [-p Password]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;getsmtpinfo&lt;/strong&gt;&lt;br /&gt;
Usage:&lt;br /&gt;
CertUtil [Options] -getsmtpinfo&lt;br /&gt;
Get SMTP info&lt;br /&gt;
[-config Machine&#92;CAName]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;7f&lt;/strong&gt;&lt;br /&gt;
Usage:&lt;br /&gt;
CertUtil [Options] -7f CertFile&lt;br /&gt;
Check certificate for 0x7f length encodings&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Class&lt;/strong&gt;&lt;br /&gt;
Usage:&lt;br /&gt;
CertUtil [Options] -Class [ClassId | ProgId | DllName | *]&lt;br /&gt;
Display COM registry information&lt;br /&gt;
[-f]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;CNGConfig&lt;/strong&gt;&lt;br /&gt;
Usage:&lt;br /&gt;
CertUtil [Options] -CNGConfig&lt;br /&gt;
Display CNG Configuration&lt;br /&gt;
[-silent]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;csptest&lt;/strong&gt;&lt;br /&gt;
Usage:&lt;br /&gt;
CertUtil [Options] -csptest [Algorithm]&lt;br /&gt;
Test CSPs installed on this machine&lt;br /&gt;
[-user] [-silent] [-csp Provider]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;csplist&lt;/strong&gt;&lt;br /&gt;
Usage:&lt;br /&gt;
CertUtil [Options] -csplist [Algorithm]&lt;br /&gt;
List CSPs installed on this machine&lt;br /&gt;
[-user] [-silent] [-csp Provider]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;delkey&lt;/strong&gt;&lt;br /&gt;
Usage:&lt;br /&gt;
CertUtil [Options] -delkey KeyContainerName&lt;br /&gt;
Delete named key container&lt;br /&gt;
[-user] [-silent] [-csp Provider]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;key&lt;/strong&gt;&lt;br /&gt;
Usage:&lt;br /&gt;
CertUtil [Options] -key [KeyContainerName | -]&lt;br /&gt;
List key containers&lt;br /&gt;
[-user] [-silent] [-csp Provider]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SCDump&lt;/strong&gt;&lt;br /&gt;
Usage:&lt;br /&gt;
CertUtil [Options] -SCDump [ReaderName]&lt;br /&gt;
Dump smart card file information&lt;br /&gt;
[-f] [-silent] [-split] [-p Password]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;URL&lt;/strong&gt;&lt;br /&gt;
Usage:&lt;br /&gt;
CertUtil [Options] -URL InFile | URL&lt;br /&gt;
Verify Certificate or CRL URLs&lt;br /&gt;
[-f] [-split]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SetCASites&lt;/strong&gt;&lt;br /&gt;
Usage:&lt;br /&gt;
CertUtil [Options] -SetCASites [SiteName]&lt;br /&gt;
Set Site Names for CAs&lt;br /&gt;
[-f] [-silent] [-config Machine&#92;CAName] [-dc DCName]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SetCATemplates&lt;/strong&gt;&lt;br /&gt;
Usage:&lt;br /&gt;
CertUtil [Options] -SetCATemplates [+ | -]TemplateList&lt;br /&gt;
Set templates for CA&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;dsAddTemplate&lt;/strong&gt;&lt;br /&gt;
Usage:&lt;br /&gt;
CertUtil [Options] -dsAddTemplate TemplateInfFile&lt;br /&gt;
Add DS Templates&lt;br /&gt;
[-dc DCName]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;dsTemplate&lt;/strong&gt;&lt;br /&gt;
Usage:&lt;br /&gt;
CertUtil [Options] -dsTemplate [Template]&lt;br /&gt;
Display DS Template Attributes&lt;br /&gt;
[-silent] [-dc DCName]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;dsDeltaCRL&lt;/strong&gt;&lt;br /&gt;
Usage:&lt;br /&gt;
CertUtil [Options] -dsDeltaCRL [FullDSDN] | [CRLIndex [OutFile]]&lt;br /&gt;
Display DS Delta CRLs&lt;br /&gt;
[-enterprise] [-user] [-config Machine&#92;CAName] [-dc DCName]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;dsCRL&lt;/strong&gt;&lt;br /&gt;
Usage:&lt;br /&gt;
CertUtil [Options] -dsCRL [FullDSDN] | [CRLIndex [OutFile]]&lt;br /&gt;
Display DS CRLs&lt;br /&gt;
[-enterprise] [-user] [-config Machine&#92;CAName] [-dc DCName]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;dsCert&lt;/strong&gt;&lt;br /&gt;
Usage:&lt;br /&gt;
CertUtil [Options] -dsCert [FullDSDN] | [CertId [OutFile]]&lt;br /&gt;
Display DS Certificates&lt;br /&gt;
[-enterprise] [-user] [-config Machine&#92;CAName] [-dc DCName]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;dsDel&lt;/strong&gt;&lt;br /&gt;
Usage:&lt;br /&gt;
CertUtil [Options] -dsDel CN&lt;br /&gt;
Delete DS DNs&lt;br /&gt;
[-split] [-dc DCName]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ds&lt;/strong&gt;&lt;br /&gt;
Usage:&lt;br /&gt;
CertUtil [Options] -ds [CN]&lt;br /&gt;
Display DS DNs&lt;br /&gt;
[-f] [-split] [-dc DCName]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;getcert&lt;/strong&gt;&lt;br /&gt;
Usage:&lt;br /&gt;
CertUtil [Options] -getcert [ObjectId | ERA | KRA [CommonName]]&lt;br /&gt;
Select a certificate from a selection UI&lt;br /&gt;
[-silent] [-split]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;enumstore&lt;/strong&gt;&lt;br /&gt;
Usage:&lt;br /&gt;
CertUtil [Options] -enumstore [&#92;MachineName]&lt;br /&gt;
Enumerate certificate stores&lt;br /&gt;
MachineName — remote machine name.&lt;br /&gt;
[-enterprise] [-user] [-GroupPolicy]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;exportPFX&lt;/strong&gt;&lt;br /&gt;
Usage:&lt;br /&gt;
CertUtil [Options] -exportPFX [CertificateStoreName] CertId PFXFile [Modifiers]&lt;br /&gt;
Export certificate and private key&lt;br /&gt;
CertificateStoreName — Certificate store name.  See -store.&lt;br /&gt;
CertId — Certificate or CRL match token.  See -store.&lt;br /&gt;
PFXFile — exported PFX data output file&lt;br /&gt;
Modifiers — Comma separated list of one or more of the following:&lt;br /&gt;
NoChain — Do not export the certificate chain&lt;br /&gt;
NoRoot — Do not export the root certificate&lt;br /&gt;
Defaults to personal machine store.&lt;br /&gt;
[-f] [-enterprise] [-user] [-GroupPolicy] [-split] [-p Password] [-t Timeout]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;CAPropInfo&lt;/strong&gt;&lt;br /&gt;
Usage:&lt;br /&gt;
CertUtil [Options] -CAPropInfo&lt;br /&gt;
Display CA Property Type Information&lt;br /&gt;
[-config Machine&#92;CAName]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;getconfig3&lt;/strong&gt;&lt;br /&gt;
Usage:&lt;br /&gt;
CertUtil [Options] -getconfig3&lt;br /&gt;
Get configuration via ICertConfig&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;getconfig2&lt;/strong&gt;&lt;br /&gt;
Usage:&lt;br /&gt;
CertUtil [Options] -getconfig2&lt;br /&gt;
Get default configuration string via ICertGetConfig&lt;/p&gt;
&lt;h2 id=&quot;options%3A&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20131030-certutil-exe-undocumented-switches/#options%3A&quot;&gt;&lt;span&gt;Options:&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;(I can’t find any info about what these do – some experimentation will be required!)&lt;br /&gt;
-admin&lt;br /&gt;
-reverse&lt;br /&gt;
-oldpfx&lt;br /&gt;
-protect&lt;br /&gt;
-v1&lt;br /&gt;
-unicode&lt;br /&gt;
-nocrlf&lt;br /&gt;
-nocr&lt;br /&gt;
-idispatch&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Private Key Compromise</title>
		<link href="https://secreci.com/posts/20130923-private-key-compromise/"/>
		<updated>2013-09-23T21:41:01Z</updated>
		<id>https://secreci.com/posts/20130923-private-key-compromise/</id>
		<summary>Private Key Compromise</summary>
		<category term="security"/>
		<category term="essay"/>
		<content type="html">&lt;p&gt;What happens if an attacker compromises your root private key?&lt;/p&gt;
&lt;p&gt;SSL certificates are used to authenticate clients and servers and to provide a means of securely sharing a secret key which is then used to encrypt communication between the server and client.&lt;/p&gt;
&lt;p&gt;In order to do this, you have to have a level of trust in the body which issues the certificates; the Certification Authority or CA.&lt;/p&gt;
&lt;p&gt;The way this works in practice is that you place the Root Certificate of the Certification Authority in your ‘Trusted Root Certification Authorities’ store on your computer. This says ‘I trust all certificates signed by the private key associated with this certificate’. Since the private key is only known by the Certification Authority, any certificate signed with the key must have been issued by the authority, and passed all the checks as defined in their CPS (Certification Practice Statement).&lt;/p&gt;
&lt;p&gt;Once the infrastructure is in place, the flow is as follows:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The client connects to the web server and requests a secure connection.&lt;/li&gt;
&lt;li&gt;The web server sends its certificate which includes a public key.&lt;/li&gt;
&lt;li&gt;The client verifies the certificate by checking the name matches the site name, that it has not expired (or been revoked) and that it is signed by a trusted authority.&lt;/li&gt;
&lt;li&gt;The client chooses a symmetric encryption key and encrypts it with the public key from the certificate. This is sent to the server&lt;/li&gt;
&lt;li&gt;The server decrypts the message with its private key. The browser and web server now share a symmetric key which is unknown to anyone else. This key is used to encrypt all communication for the rest of the session.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The security of the above transaction relies on the private key being stored securely by the web server. If someone had access to that key, they could decrypt the message containing the secret symmetric session key and therefor read all the encrypted messages which follow during that session. However, its unlikely that the owner of the web server would allow the key to leave the server. If an attacker managed to compromise the server to such an extent that he had access to the key, he would have full control of the server and would be able to access the communication anyway. If a government requested the key through legal means, they would be able to read all the communication but, again, they would get much more information by just requesting full access to the server.&lt;/p&gt;
&lt;p&gt;So everything is nice and safe as long as the private key is kept secure. (There are, of course, other problems if, for example, there is malware on either end, but I’m ignoring that here).&lt;/p&gt;
&lt;p&gt;So, what happens if someone gets access to the Certification Authority’s Private Key either by compromising their key store or by demanding it via legal channels?&lt;/p&gt;
&lt;p&gt;Having the root private key would still not allow the attacker to intercept the symmetric key as it is encrypted using the public/private keypair generated by the web server, and the private key is still only known by the web server. It would, however, allow the attacker to create his own certificate and sign it with the Root CA private key. This would mean that it is trusted by the client computer and it would be very difficult to tell it apart from the genuine server certificate.&lt;/p&gt;
&lt;p&gt;The attacker can now perform a ‘Man-in-the-middle’ (MITM) attack to capture all the traffic between the client and server. He does this by posing as the web server and authenticating with the client. The client now sends the symmetric key to the attacker encrypted with the attacker’s public key. The attacker decrypts the key and sets up a secure connection with the client. At the same time, the attacker connects to the genuine site and poses as the client. The attacker acts as a proxy between the client and server and can read both sides of the communication. Further, the attacker can change the information from either side. Say, for example, you think you are connected to your bank and you check your balance. The attacker can report the correct balance, but in the background could transfer all your money into his own account. If he needs any extra passwords, or a two-factor authentication, he can prompt you for those details and, if its convincing enough, you may be fooled into providing what he needs.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Removing the sidebar from ShutterShot Wordpress Theme</title>
		<link href="https://secreci.com/posts/20130829-removing-the-sidebar-from-shuttershot-wordpress-theme/"/>
		<updated>2013-08-29T22:06:20Z</updated>
		<id>https://secreci.com/posts/20130829-removing-the-sidebar-from-shuttershot-wordpress-theme/</id>
		<summary>Removing the sidebar from ShutterShot Wordpress Theme</summary>
		<category term="wordpress"/>
		<category term="tech"/>
		<content type="html">&lt;p&gt;I recently changed the theme on my &lt;a href=&quot;http://lesault.net/&quot;&gt;photography portfolio&lt;/a&gt; site to the beautiful &lt;a href=&quot;http://www.fabthemes.com/shuttershot/&quot;&gt;ShutterShot&lt;/a&gt; theme from &lt;a href=&quot;https://secreci.com/posts/20130829-removing-the-sidebar-from-shuttershot-wordpress-theme/www.fabthemes.com&quot;&gt;www.fabthemes.com&lt;/a&gt;. I had been looking for a simple full-screen to showcase my photography and this is exactly what I wanted.&lt;/p&gt;
&lt;p&gt;The one thing that I didn&#39;t like was the sidebar which had a space for a Twitter feed and some sponsored ads (which I assume fab themes make some money on if you don&#39;t change the default links) - It seems that lots of other people wanted to remove the sidebar too judging by the comments online.&lt;/p&gt;
&lt;p&gt;The solution I found was to do the following:&lt;/p&gt;
&lt;p&gt;Load your blog in a tab of your browser and navigate to a page which shows the sidebar with Twitter feed and sponsored links.&lt;/p&gt;
&lt;p&gt;In another tab, go to the theme editor by navigating to Appearance &amp;gt; Editor in the dashboard. Choose &#39;Sidebar&#39; from the list of templates on the right.You will now see the code for the sidebar.php page - this is what is displayed in the sidebar. At the very top of this page, type&lt;/p&gt;
&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&amp;lt;!--&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;on a line of its own, then on the very last line type&lt;/p&gt;
&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;---&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This will make all the content be treated as a comment so not display. Click the &#39;Update file&#39; button at the bottom of the page and reload your blog.&lt;/p&gt;
&lt;p&gt;You should see that the sidebar is now empty, but there is still a blank space where it used to be.&lt;/p&gt;
&lt;p&gt;The width of the content on the blog page is controlled by the &#39;content&#39; definition in the CSS. In the editor, click the stylesheet link on the right side, and find the section which has a line beginning&lt;/p&gt;
&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token selector&quot;&gt;#content&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The width of the content is defined two lines below that. change it to read:&lt;/p&gt;
&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token property&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 740px&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Save the page and reload your blog - the content should now fill the space where the sidebar once was.&lt;/p&gt;
&lt;p&gt;While you&#39;re in the stylesheet, you might want to fix the menu so that it works on mobile devices.&lt;/p&gt;
&lt;p&gt;Find the section which reads&lt;/p&gt;
&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token selector&quot;&gt;#submenu&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;token property&quot;&gt;margin&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 0px 0px &lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token property&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;700px&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token property&quot;&gt;padding&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;0px 0px&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and change it to&lt;/p&gt;
&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token selector&quot;&gt;#submenu&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;token property&quot;&gt;margin&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 0px 150px &lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token property&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;auto&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token property&quot;&gt;padding&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;0px 0px&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;changing the value &#39;150px&#39; will move the menu horizontally - 0px will be against the right side, 150px was about right for me.&lt;/p&gt;
&lt;p&gt;I hope this helps you out - let me know in the comments how you get on!&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Hotspot Shield VPN</title>
		<link href="https://secreci.com/posts/20130527-hotspot-shield-vpn/"/>
		<updated>2013-05-27T14:49:58Z</updated>
		<id>https://secreci.com/posts/20130527-hotspot-shield-vpn/</id>
		<summary>Hotspot Shield VPN</summary>
		<category term="security"/>
		<category term="review"/>
		<content type="html">&lt;p&gt;I regularly connect to the Internet using free WiFi hotspots with my Nexus 7 tablet and, although most of the services I connect to use SSL to secure the connection, I felt it would be a good idea to have some extra protection in the form of a VPN.&lt;/p&gt;
&lt;p&gt;A VPN, or Virtual Private Network, is a secure connection from your device to a proxy server which makes all your internet retests on your behalf. This means that anyone attempting to listen in on your connection to the WiFi access point will not be able to read any of your data, and won’t even be able to see what sites you are visiting (of course, you need to trust the VPN operator as they may have access to all your traffic!)&lt;/p&gt;
&lt;p&gt;There are many VPNs to chose from, some free and some who charge. I decided to try Hotspot Shield which has Android, iOS and Windows versions. They offer a free service and a paid subscription – I decided to try the paid version which promises private browsing, malware protection, and data savings and only costs £0.69 / $0.99 per month.&lt;/p&gt;
&lt;p&gt;The client installed with no problem on my Nexus 7 tablet and I was able to purchase the subscription via Google Play without any problem. The connection establishes quickly and seems stable (I found the free version dropped the connection regularly which had the unwanted side effect of leaving you connected to the internet insecurely with no warning). Browsing seems to be a bit quicker when connected to the VPN, and I have seen reports online that the data compression saves approximately 30% which seems about right to me.&lt;/p&gt;
&lt;p&gt;The subscription should allow the client to be run on up to 5 devices but, unfortunately, my account code (which needs to be entered on each additional device) is not displayed when I choose the appropriate option from the menu.&lt;/p&gt;
&lt;p&gt;I have installed the free version on my Motorola RAZR i phone (running Android 4.1.2) but I cannot get it to connect at all. I get an ‘error 1024’ popup which indicates a connection time out. I have submitted a support request to the Anchorfree team who produce Hotspot Shield and I will update the solution here as soon as I have one.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/wpid-Screenshot_2013-05-27-14-25-50.jpg&quot; alt=&quot;Main screen showing successful connection to the VPN&quot; title=&quot;Main screen showing successful connection to the VPN&quot; /&gt;&lt;br /&gt;
Main screen showing successful connection to the VPN&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/wpid-Screenshot_2013-05-27-14-17-52.jpg&quot; alt=&quot;Screenshot showing the missing account code&quot; title=&quot;Screenshot showing the missing account code&quot; /&gt;&lt;br /&gt;
Screenshot showing the missing account code&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/wpid-Screenshot_2013-05-27-14-25-19.jpg&quot; alt=&quot;Screenshot showing unprotected connection on phone&quot; title=&quot;Screenshot showing unprotected connection on phone&quot; /&gt;&lt;br /&gt;
Screenshot showing unprotected connection on phone&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/wpid-Screenshot_2013-05-27-14-25-14.jpg&quot; alt=&quot;Screenshot showing connection error on phone&quot; title=&quot;Screenshot showing connection error on phone&quot; /&gt;&lt;br /&gt;
Screenshot showing connection error on phone&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update 2 July 2013&lt;/strong&gt;, My Hotspot Shield reverted to the free version despite still having an active subscription. This meant that I no longer had malware protection, and I got adverts popping up when i started the VPN. My issue with not being able to use the subscription on multiple devices was never resolved. I contacted AnchorFree to query the new problem and the following day my subscription was mysteriously cancelled. I have had no response from AnchorFree. I have now uninstalled Hotspot Shield and cannot recommend it due to poor technical support and customer service. It’s a shame since the application actually seems to work well.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Creating Multiple Outlook Distribution Lists from Excel</title>
		<link href="https://secreci.com/posts/20130515-creating-multiple-outlook-distribution-lists-from-excel/"/>
		<updated>2013-05-15T23:17:06Z</updated>
		<id>https://secreci.com/posts/20130515-creating-multiple-outlook-distribution-lists-from-excel/</id>
		<summary>Creating Multiple Outlook Distribution Lists from Excel</summary>
		<category term="tech"/>
		<category term="tutorial"/>
		<content type="html">&lt;p&gt;Suppose you have a list of companies you deal with, and each company has more than one contact. You want to send a customised email to each company based on entries in an Excel spreadsheet. You want each of the recipients to be in the ‘To:’ field of the email. You’re out of luck because a mail merge from Excel will only accept a single email address, even if you separate them with semicolons.&lt;/p&gt;
&lt;p&gt;My solution is to create a local distribution list in Outlook for each company and send to the distribution list name – this will resolve to the multiple email addresses and the recipients will be able to see who else received the email.&lt;/p&gt;
&lt;p&gt;Unfortunately, I had over 200 companies with between 2 and 9 contact addresses each. It would have been a huge job to create these distribution lists manually, and keeping them up to date would have been a headache too.&lt;/p&gt;
&lt;p&gt;After some research, I found an &lt;a href=&quot;http://www.jpsoftwaretech.com/automatically-update-outlook-distribution-lists-from-excel/&quot;&gt;Excel macro&lt;/a&gt; which was a great starting point and I was able to customise it to create the distribution lists for me.&lt;/p&gt;
&lt;p&gt;Firstly, my spreadsheet containing the distribution list data looks like this:&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;A&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;B&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;C&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;D&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;E&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;1&lt;/strong&gt;&lt;/td&gt;
&lt;td colspan=&quot;5&quot;&gt;Contact List&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Company Name&lt;/td&gt;
&lt;td&gt;Contact 1&lt;/td&gt;
&lt;td&gt;Contact 2&lt;/td&gt;
&lt;td&gt;Contact 3&lt;/td&gt;
&lt;td&gt;Contact 4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Acme Inc.&lt;/td&gt;
&lt;td&gt;bob@acme.tld&lt;/td&gt;
&lt;td&gt;fred@acme.tld&lt;/td&gt;
&lt;td&gt;joe@acme.tld&lt;/td&gt;
&lt;td&gt;john@acme.tld&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Beta Co.&lt;/td&gt;
&lt;td&gt;kevin@beta.tld&lt;/td&gt;
&lt;td&gt;alice@beta.tld&lt;/td&gt;
&lt;td&gt;tony@beta.tld&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;5&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Carrot Design&lt;/td&gt;
&lt;td&gt;sheila@carrot.tld&lt;/td&gt;
&lt;td&gt;colin@carrot.tld&lt;/td&gt;
&lt;td&gt;gerry@carrot.tld&lt;/td&gt;
&lt;td&gt;jen@carrot.tld&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The original macro was configured to generate a single distribution list and required the spreadsheet to be arranged vertically in two columns. I made a few changes and additions as follows:&lt;/p&gt;
&lt;pre class=&quot;language-vbnet&quot;&gt;&lt;code class=&quot;language-vbnet&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;&#39; Create multiple Outlook distribution lists from Excel spreadsheet&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;&#39; by Andy Younie http://www.planetmediocrity.com&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;&#39; Heavily based on JP&#39;s code which can be found at&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;&#39; http://www.jpsoftwaretech.com/automatically-update-outlook-distribution-lists-from-excel/&lt;/span&gt;
 
&lt;span class=&quot;token keyword&quot;&gt;Const&lt;/span&gt; olDistributionListItem &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;7&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;Const&lt;/span&gt; olFolderContacts &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;10&lt;/span&gt;
 
&lt;span class=&quot;token keyword&quot;&gt;Sub&lt;/span&gt; MaintainDistList&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
 
&lt;span class=&quot;token keyword&quot;&gt;Dim&lt;/span&gt; DNAME &lt;span class=&quot;token keyword&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;String&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;&#39; Distribution list name&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;Dim&lt;/span&gt; outlook &lt;span class=&quot;token keyword&quot;&gt;As&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;Object&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;&#39; Outlook.Application&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;Dim&lt;/span&gt; contacts &lt;span class=&quot;token keyword&quot;&gt;As&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;Object&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;&#39; Outlook.Items&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;Dim&lt;/span&gt; myDistList &lt;span class=&quot;token keyword&quot;&gt;As&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;Object&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;&#39; Outlook.DistListItem&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;Dim&lt;/span&gt; newDistList &lt;span class=&quot;token keyword&quot;&gt;As&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;Object&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;&#39; Outlook.DistListItem&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;Dim&lt;/span&gt; objRcpnt &lt;span class=&quot;token keyword&quot;&gt;As&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;Object&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;&#39; Outlook.Recipient&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;Dim&lt;/span&gt; arrData&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;As&lt;/span&gt; Variant
&lt;span class=&quot;token keyword&quot;&gt;Dim&lt;/span&gt; rng &lt;span class=&quot;token keyword&quot;&gt;As&lt;/span&gt; Excel.Range
&lt;span class=&quot;token keyword&quot;&gt;Dim&lt;/span&gt; numRows &lt;span class=&quot;token keyword&quot;&gt;As&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;Long&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;Dim&lt;/span&gt; numCols &lt;span class=&quot;token keyword&quot;&gt;As&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;Long&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;Dim&lt;/span&gt; i &lt;span class=&quot;token keyword&quot;&gt;As&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;Long&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;Dim&lt;/span&gt; x &lt;span class=&quot;token keyword&quot;&gt;As&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;Long&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;&#39; Counter for groups&lt;/span&gt;
 
&lt;span class=&quot;token keyword&quot;&gt;Set&lt;/span&gt; outlook &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; GetOutlookApp
&lt;span class=&quot;token keyword&quot;&gt;Set&lt;/span&gt; contacts &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; GetItems&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;GetNS&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;outlook&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
 
&lt;span class=&quot;token comment&quot;&gt;&#39; Count how many groups there are in the list&lt;/span&gt;
numRows &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; ActiveSheet.Range&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;A1&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;.CurrentRegion.Rows.Count
 
&lt;span class=&quot;token comment&quot;&gt;&#39; Start loop to create distribution list for each group&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;For&lt;/span&gt; x &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;3&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;To&lt;/span&gt; numRows &lt;span class=&quot;token comment&quot;&gt;&#39;First group is on line 3 of the spreadsheet&lt;/span&gt;
 
&lt;span class=&quot;token comment&quot;&gt;&#39; Set DNAME to the group name in column A&lt;/span&gt;
DNAME &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; ActiveSheet.Cells&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;x&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;A&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;.Value
 
&lt;span class=&quot;token keyword&quot;&gt;On Error&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;Resume&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;Next&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;Set&lt;/span&gt; myDistList &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; contacts.item&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;DNAME&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;On Error&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;GoTo&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;
 
&lt;span class=&quot;token keyword&quot;&gt;If&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;Not&lt;/span&gt; myDistList &lt;span class=&quot;token keyword&quot;&gt;Is&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;Nothing&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;Then&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;&#39; delete it&lt;/span&gt;
myDistList.&lt;span class=&quot;token function&quot;&gt;Delete&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;End&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;If&lt;/span&gt;
 
&lt;span class=&quot;token comment&quot;&gt;&#39; recreate it&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;Set&lt;/span&gt; newDistList &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; outlook.CreateItem&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;olDistributionListItem&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
 
&lt;span class=&quot;token keyword&quot;&gt;With&lt;/span&gt; newDistList
.DLName &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; DNAME
.body &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; DNAME
&lt;span class=&quot;token keyword&quot;&gt;End&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;With&lt;/span&gt;
 
&lt;span class=&quot;token comment&quot;&gt;&#39; loop through worksheet and add each member to dist list&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;&#39; assume active sheet&lt;/span&gt;
numCols &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; Activesheet.Cells&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;x&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;A&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;.CurrentRegion.Columns.count &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;
 
&lt;span class=&quot;token keyword&quot;&gt;ReDim&lt;/span&gt; arrData&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;To&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;To&lt;/span&gt; numCols&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
 
&lt;span class=&quot;token comment&quot;&gt;&#39; take Group Names out of range&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;Set&lt;/span&gt; rng &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; Activesheet.Range&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;A1&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;.CurrentRegion.Offset&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;x &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;.resize&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; numCols&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;&#39; put range into array&lt;/span&gt;
arrData &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; rng.value
 
&lt;span class=&quot;token comment&quot;&gt;&#39; assume 1 row with a variable number of columns&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;For&lt;/span&gt; i &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;To&lt;/span&gt; numCols
&lt;span class=&quot;token keyword&quot;&gt;Set&lt;/span&gt; objRcpnt &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; outlook.Session.CreateRecipient&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;arrData&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; i&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
 
objRcpnt.Resolve
newDistList.AddMember objRcpnt
&lt;span class=&quot;token keyword&quot;&gt;Next&lt;/span&gt; i
 
newDistList.Save
 
&lt;span class=&quot;token comment&quot;&gt;&#39; End loop to create distribution list for each group&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;Next&lt;/span&gt; x
&lt;span class=&quot;token keyword&quot;&gt;End&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;Sub&lt;/span&gt;
 
&lt;span class=&quot;token keyword&quot;&gt;Function&lt;/span&gt; GetOutlookApp&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;As&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;Object&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;On Error&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;Resume&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;Next&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;Set&lt;/span&gt; GetOutlookApp &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; CreateObject&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;Outlook.Application&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;End&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;Function&lt;/span&gt;
 
&lt;span class=&quot;token keyword&quot;&gt;Function&lt;/span&gt; GetItems&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;olNS &lt;span class=&quot;token keyword&quot;&gt;As&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;Object&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;As&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;Object&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;Set&lt;/span&gt; GetItems &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; olNS.GetDefaultFolder&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;olFolderContacts&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;.items
&lt;span class=&quot;token keyword&quot;&gt;End&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;Function&lt;/span&gt;
 
&lt;span class=&quot;token keyword&quot;&gt;Function&lt;/span&gt; GetNS&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;ByRef&lt;/span&gt; app &lt;span class=&quot;token keyword&quot;&gt;As&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;Object&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;As&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;Object&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;Set&lt;/span&gt; GetNS &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; app.GetNamespace&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;MAPI&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;End&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;Function&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;So, where do you put the code to make it work? Open your spreadsheet in Excel, and go to View &amp;gt; Macros (or press Alt+F8) to bring up the Macros dialogue. Type a macro name (it doesn’t matter what name you use at this point) then click the ‘Create’ button. You are now in the VB editor. Delete the code which looks like:&lt;/p&gt;
&lt;pre class=&quot;language-vbnet&quot;&gt;&lt;code class=&quot;language-vbnet&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;Sub&lt;/span&gt; test&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;End&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;Sub&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now, paste in the code from above and close the editor window to get back to your spreadsheet.&lt;/p&gt;
&lt;p&gt;Save your spreadsheet, then press Alt+F8 again, you should see a macro called ‘MaintainDistList’ – highlight it and click the ‘Run’ button.&lt;/p&gt;
&lt;p&gt;You will be prompted to allow access to Outlook, accept that and flick to your contacts list in Outlook – you should see all the new distribution lists being created.&lt;/p&gt;
&lt;p&gt;You will now be able to do a mail merge from a spreadsheet which contains your company names and the data you want to merge into your template document. The company name will resolve to the addresses in the distribution list which has the same name.&lt;/p&gt;
&lt;p&gt;An example spreadsheet containing company information:&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;A&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;B&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;C&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;D&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;E&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;1&lt;/strong&gt;&lt;/td&gt;
&lt;td colspan=&quot;5&quot;&gt;Company Details&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Company Name&lt;/td&gt;
&lt;td&gt;Value&lt;/td&gt;
&lt;td&gt;Number of Orders&lt;/td&gt;
&lt;td&gt;Renewal due&lt;/td&gt;
&lt;td&gt;CEO Name&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Acme Inc.&lt;/td&gt;
&lt;td&gt;$20,135&lt;/td&gt;
&lt;td&gt;23&lt;/td&gt;
&lt;td&gt;May 2013&lt;/td&gt;
&lt;td&gt;John Smith&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Beta Co.&lt;/td&gt;
&lt;td&gt;$13,998&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;July 2013&lt;/td&gt;
&lt;td&gt;Carrie Jones&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;5&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Carrot Design&lt;/td&gt;
&lt;td&gt;$18,268&lt;/td&gt;
&lt;td&gt;58&lt;/td&gt;
&lt;td&gt;January 2014&lt;/td&gt;
&lt;td&gt;Simon Brown&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;I hope this is useful to you, let me know in the comments how you get on!&lt;/p&gt;
&lt;h2 id=&quot;comments&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20130515-creating-multiple-outlook-distribution-lists-from-excel/#comments&quot;&gt;&lt;span&gt;Comments&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130515-creating-multiple-outlook-distribution-lists-from-excel/#61227&quot; title=&quot;2014-03-11 13:27:02&quot;&gt;Adam&lt;/a&gt;:&lt;/strong&gt; Hi there, i wondered if someone can help. It seems in the new excel and outlook 2013 is has a debug error on : - Line 42 - myDistList.Delete do you have any idea what this is? it was working fine before. Thanks in advance. Adam&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130515-creating-multiple-outlook-distribution-lists-from-excel/#127794&quot; title=&quot;2017-05-10 22:29:25&quot;&gt;tye&lt;/a&gt;:&lt;/strong&gt; Awesome Macro... Great for making a DL from contacts. How must the code be changed if I want a Distribution list that is made up of other Distribution lists? Example: DL_Dept_A &lt;a href=&quot;mailto:Tom@comp.com&quot;&gt;Tom@comp.com&lt;/a&gt;; &lt;a href=&quot;mailto:Dick@comp.com&quot;&gt;Dick@comp.com&lt;/a&gt;; &lt;a href=&quot;mailto:Harry@comp.com&quot;&gt;Harry@comp.com&lt;/a&gt; DL_Dept_B &lt;a href=&quot;mailto:Jill@comp.com&quot;&gt;Jill@comp.com&lt;/a&gt;; &lt;a href=&quot;mailto:Jane@comp.com&quot;&gt;Jane@comp.com&lt;/a&gt;; &lt;a href=&quot;mailto:Joy@comp.com&quot;&gt;Joy@comp.com&lt;/a&gt; ... DL_3rd_Floor DL_Dept_A; DL_Dept_B; DL_Dept_C;... ... DL_Denver_Office DL_1st_Floor; DL_2nd_Floor; DL_3rd_Floor&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130515-creating-multiple-outlook-distribution-lists-from-excel/#149101&quot; title=&quot;2018-12-27 13:41:24&quot;&gt;Andre Luiz Emidio Junior&lt;/a&gt;:&lt;/strong&gt; Hi Thanks for you code and knowledge. I was find at last month and you help me a lot. Thank you !!&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Forcing a Jellybean 4.2.2 update for Nexus 7</title>
		<link href="https://secreci.com/posts/20130215-forcing-a-jellybean-4-2-2-update-for-nexus-7/"/>
		<updated>2013-02-15T08:50:21Z</updated>
		<id>https://secreci.com/posts/20130215-forcing-a-jellybean-4-2-2-update-for-nexus-7/</id>
		<summary>Forcing a Jellybean 4.2.2 update for Nexus 7</summary>
		<category term="tech"/>
		<category term="tutorial"/>
		<content type="html">&lt;p&gt;A very quick post today to tell you how to force an update to your Nexus 7 tablet if you have been checking for software updates unsuccessfully.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Stop the Google Services Framework application by choosing settings &amp;gt; Apps &amp;gt; All &amp;gt; Google Services Framework. Click “Force Stop” then “Clear Data”&lt;/li&gt;
&lt;li&gt;Choose Settings &amp;gt; About Tablet &amp;gt; System Update.&lt;br /&gt;
It should say last checked 01/01/1970&lt;/li&gt;
&lt;li&gt;Click “Check Now” and your update should start to load.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The download is 47mb and takes about 10 minutes to install. You will need to reboot the tablet to complete the installation.&lt;/p&gt;
&lt;p&gt;Hope this helps!&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Pure Gym Classes</title>
		<link href="https://secreci.com/posts/20130204-pure-gym-bodyweight-class/"/>
		<updated>2013-02-04T23:02:43Z</updated>
		<id>https://secreci.com/posts/20130204-pure-gym-bodyweight-class/</id>
		<summary>Pure Gym Classes</summary>
		<category term="lifestyle"/>
		<content type="html">&lt;p&gt;I finally decided to rejoin &lt;a href=&quot;http://www.puregym.com/&quot;&gt;Pure Gym&lt;/a&gt;, the gym I signed up with about 3 years ago when it was just opening.&lt;/p&gt;
&lt;p&gt;When I first signed up, I made an effort to go to the gym regularly – probably 3 or 4 times a week. I would do some cardio, mostly on the elliptical trainer, and then do a circuit of the weight resistance machines. Since I wasn’t really changing my duet at the time, I wasn’t losing any weight and I didn’t feel I was getting any fitter. When I moved house, I couldn’t get to the gym for a couple of weeks. That broke the habit and I didn’t go back.&lt;/p&gt;
&lt;p&gt;If you’ve been following my blog, you’ll know that in the last 6 months I have lost a heap of weight by dieting. That’s let me do more exercise and I’m noticing that my fitness is improving steadily. I had read about &lt;a href=&quot;http://www.fitness666.com/&quot;&gt;El Diabolo’s 666 Bodyweight Course&lt;/a&gt; online and decided to give it a try.&lt;/p&gt;
&lt;p&gt;One of the progressions requires a pull-up bar which I don’t have at home, and its too cold at this time of year to use an outdoor one, so I decided to join the gun again.&lt;/p&gt;
&lt;p&gt;Pure Gym has changed quite as lot since I was last there. There are a few new machines, but the biggest change is the number of free classes which they are running now. On my first day back, I signed up for the ‘Pure Bodyweight’ class which I thought might be similar to El Diabolo’s. There were supposed to be another 7 people booked on, but none of them turned up so I got a free one-on- one session with Stuart MacEwan, one of the personal trainers.&lt;/p&gt;
&lt;p&gt;The class was excellent. I found it very hard work and, if I had been doing it on my own, would have probably stopped half way through. Stuart pushed me just enough to get through it. The class consisted of a mix of cardio exercises and some bodyweight exercises – sit ups, pushups, squats etc. We had a bit of a chat afterwards and he gave me some good tips. He is also putting together a duet plan for me to improve my nutrition. At some point, I’ll ask him to put together a tailored exercise plan and maybe have a few personal training sessions.&lt;/p&gt;
&lt;p&gt;Today, I can feel all the muscles was exercising, but I definitely feel better for having done it and am looking forward to booking another class soon! There are lots to chose from – I think I’ll try the Pure Spin, Pure Kettle Bells and Pure Core classes over the next couple of weeks.&lt;/p&gt;
&lt;p&gt;If you fancy trying Pure Gym, you can find out more and sign up using my referral code &lt;strong&gt;D92C2C&lt;/strong&gt; at &lt;a href=&quot;http://www.puregym.com/&quot;&gt;www.puregym.com&lt;/a&gt; – let me know what you think and which classes you find most interesting.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Migrate a guest OS to a new datastore in ESXi 5.1</title>
		<link href="https://secreci.com/posts/20130122-migrate-a-guest-os-to-a-new-datastore-in-esxi-5-1/"/>
		<updated>2013-01-22T02:10:20Z</updated>
		<id>https://secreci.com/posts/20130122-migrate-a-guest-os-to-a-new-datastore-in-esxi-5-1/</id>
		<summary>Migrate a guest OS to a new datastore in ESXi 5.1</summary>
		<category term="tech"/>
		<category term="tutorial"/>
		<content type="html">&lt;p&gt;A step by step guide to moving a virtual machine from one datastore to another in VMware ESXi 5.1 (probably applies to earlier versions too)&lt;/p&gt;
&lt;p&gt;I had been running my VMware host with two small physical hard drives, but added a new SATA III 2TB drive which should be a bit faster and give me space for more images. I needed to migrate my existing guests to the new datastore.&lt;/p&gt;
&lt;p&gt;In the vSphere Client, expand the host in the left window of the inventory screen and highlight the guest you want to migrate. Click the ‘Summary’ tab in the right pane.&lt;/p&gt;
&lt;p&gt;Under ‘Resources’, right-click on the datastore and choose ‘Browse Datastore…’&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/Browse-Datastore.png&quot; alt=&quot;Browse Datastore...&quot; title=&quot;Browse Datastore...&quot; /&gt;&lt;/p&gt;
&lt;p&gt;In the Datastore Browser, click the folder in the left window which contains your guest OS files. Click the ‘Move a file…’ button on the menu bar.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/Move.png&quot; alt=&quot;Move a file…&quot; title=&quot;Move a file…&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Click ‘Yes’ on the Confirm Move pop-up window.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/Confirm-move.png&quot; alt=&quot;Confirm move&quot; title=&quot;Confirm move&quot; /&gt;&lt;/p&gt;
&lt;p&gt;In the ‘Move Items To…’ dialog, choose the new Datastore (and a directory if you like) and click the ‘Move’ button.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/Move-to.png&quot; alt=&quot;Move To…&quot; title=&quot;Move To…&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The directory will be moved – the progress bar shows how long remains.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/Moving.png&quot; alt=&quot;Moving progress bar&quot; title=&quot;Moving progress bar&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Once the move is complete, the virtual machine will still be listed in the inventory, but it still links to the old location, so if you try to power it on you will get an error message.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/Error.png&quot; alt=&quot;Error message&quot; title=&quot;Error message&quot; /&gt;&lt;/p&gt;
&lt;p&gt;To resolve this, right-click the guest in the inventory and choose ‘Remove from Inventory’&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/Remove-Inventory.png&quot; alt=&quot;Remove from Inventory&quot; title=&quot;Remove from Inventory&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Highlight the host at the top of the inventory list, then click the ‘Configuration’ tab. You should see all your datastores listed. Right-click the datastore you moved the guest to and choose ‘Browse Datastore…’, open the directory which you moved in the earlier step and locate the .vmx file. Right click it and choose ‘Add to Inventory…’&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/Add-to-inventory.png&quot; alt=&quot;Add to inventory&quot; title=&quot;Add to inventory&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Choose a new name for the image if appropriate.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/Add-to-inventory2.png&quot; alt=&quot;Choose a name&quot; title=&quot;Choose a name&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Click ‘Next’ on the Resource Pool Screen.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/Add-to-inventory3.png&quot; alt=&quot;Resource pool&quot; title=&quot;Resource pool&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Click ‘Finish’ on the Ready to Complete screen.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/Add-to-inventory4.png&quot; alt=&quot;Ready to complete&quot; title=&quot;Ready to complete&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Your guest will now appear in the inventory list again. When you power the guest on, you will be asked whether you moved or copied the machine. Choose ‘I moved it’ .&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/Virtual-Machine-Question.png&quot; alt=&quot;Virtual Machine Question&quot; title=&quot;Virtual Machine Question&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Your guest OS should now boot from the new datastore.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/Booting.png&quot; alt=&quot;Guest Booting&quot; title=&quot;Guest Booting&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Let me know in the comments how you get on, or if any of the instructions above are unclear.&lt;/p&gt;
&lt;h2 id=&quot;comments&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20130122-migrate-a-guest-os-to-a-new-datastore-in-esxi-5-1/#comments&quot;&gt;&lt;span&gt;Comments&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130122-migrate-a-guest-os-to-a-new-datastore-in-esxi-5-1/#12527&quot; title=&quot;2013-02-17 03:03:26&quot;&gt;Bill B. Ross&lt;/a&gt;:&lt;/strong&gt; Updates file paths to virtual machine files on a datastore after the datastore has been resignatured.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130122-migrate-a-guest-os-to-a-new-datastore-in-esxi-5-1/#30657&quot; title=&quot;2013-09-19 20:08:43&quot;&gt;Paul Davis&lt;/a&gt;:&lt;/strong&gt; Why do I continue to see the original datastore in the summary (as well as the new one)? Is there any potential issues that the old datastore is still linked to this vm?&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>My diet 6 months in</title>
		<link href="https://secreci.com/posts/20130112-my-diet-6-months-in/"/>
		<updated>2013-01-12T17:10:41Z</updated>
		<id>https://secreci.com/posts/20130112-my-diet-6-months-in/</id>
		<summary>My diet 6 months in</summary>
		<category term="lifestyle"/>
		<content type="html">&lt;p&gt;I’m now about 6 months into my diet and fitness challenge and I’m continuing to make good progress!&lt;/p&gt;
&lt;p&gt;Since starting on July 23rd 2012, I’ve lost about 25kg, my weight at the start was 95kg, I’m now 69.6kg. My body fat percentage when I started was &amp;gt;33%, it’s now 18.6%.&lt;/p&gt;
&lt;p&gt;On the fitness side, things are better too. When I started the diet, I could only run for 2 or 3 minutes on the treadmill before my calves would tighten and I had to stop (although I could use the elliptical trainer for 20-30 minutes with a bit of effort).&lt;/p&gt;
&lt;p&gt;I started the Couch to 5k program near the end of September 2012 and managed to work through it without any serious injuries, finishing my last session on 26th December. At that time I was running about 5.8km in the 30 minute session. As an incentive, I signed up for the Bupa Great Winter Run which was held in Holyrood park on 5th January. I completed the 5k in 25:14, although I had a PR of 24:24 during training on a flatter course. I raised £650 for Chest, Heart and Stroke Scotland at the same time.&lt;/p&gt;
&lt;p&gt;I’m continuing to do runs, every 2 or 3 nights at the moment, and did a 10k last night in a time of 56:44 – still a long way of my teenage PR of 43′, but I’ll get closer! I managed to draw a giant shark, too.&lt;br /&gt;
&lt;img src=&quot;https://secreci.com/img/wpid-Screenshot_2013-01-12-17-51-21_0.jpg&quot; alt=&quot;Shark in the meadows!&quot; title=&quot;Shark in the meadows!&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I’ve also signed up for the Edinburgh Spartan Sprint which happens in September, it’s a 5k with obstacles and should be a fun challenge!&lt;br /&gt;
&lt;img src=&quot;https://secreci.com/img/wpid-Fatboy_Slim_zps18b554cc-1_zps2f6a3081.jpg&quot; alt=&quot;Diet results&quot; title=&quot;Diet results&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;comments&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20130112-my-diet-6-months-in/#comments&quot;&gt;&lt;span&gt;Comments&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130112-my-diet-6-months-in/#11515&quot; title=&quot;2013-01-25 23:51:28&quot;&gt;Graham Neale&lt;/a&gt;:&lt;/strong&gt; Andy Love the blog, well done losing the flab. You are like an incentivising star shining bright in the darkness. (Not sure about your security passwords tho&#39;)&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130112-my-diet-6-months-in/#11518&quot; title=&quot;2013-01-26 00:49:14&quot;&gt;Andy&lt;/a&gt;:&lt;/strong&gt; Thanks Graham. The passwords post is a work in progress and I&#39;ll admit I&#39;m not using that system myself. I have KeePass in Dropbox which allows me to have nice long passwords for all my accounts. I&#39;d ideally like to have an algorithmic solution, but it is just too complicated to generate a secure enough password that way :-( Thanks again for the comments!&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Installing Photoshop CS2 on Windows 7 64-bit</title>
		<link href="https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/"/>
		<updated>2013-01-08T14:17:28Z</updated>
		<id>https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/</id>
		<summary>Installing Photoshop CS2 on Windows 7 64-bit</summary>
		<category term="tech"/>
		<category term="tutorial"/>
		<content type="html">&lt;p&gt;Adobe have kindly made Creative Suite 2 (CS2) available to download for free – you can download it at &lt;a href=&quot;http://www.adobe.com/downloads/cs2_downloads/index.html&quot;&gt;http://www.adobe.com/downloads/cs2_downloads/index.html&lt;/a&gt; – however, there are a couple of tricks to getting it to run successfully on Windows 7 64-bit&lt;/p&gt;
&lt;h2 id=&quot;step-1-download-the-required-files&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#step-1-download-the-required-files&quot;&gt;&lt;span&gt;Step 1 Download the required files&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Download the following files from the link above:&lt;/p&gt;
&lt;p&gt;CS2_install_Win.pdf&lt;br /&gt;
CreativeSuiteCS2Disc1.exe&lt;br /&gt;
CreativeSuiteCS2Disc2.exe&lt;br /&gt;
CreativeSuiteCS2Disc3.exe&lt;br /&gt;
VCS2.zip&lt;br /&gt;
CS_2.0_WWE_Extras_1.exe&lt;/p&gt;
&lt;h2 id=&quot;step-2-extract-the-files&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#step-2-extract-the-files&quot;&gt;&lt;span&gt;Step 2 Extract the files&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The Disk1, Disk2 and Disk3 files contain a compressed version of the files which originally came on CDs, the Disk1 file also contains the installer which will run automatically after extracting.&lt;/p&gt;
&lt;p&gt;Run the CreativeSuiteCS2Disc2.exe, CreativeSuiteCS2Disc3.exe and CS_2.0_WWE_Extras_1.exe files and allow them to extract to their default locations. Do not run Disk 1 yet.&lt;/p&gt;
&lt;p&gt;If you get an error “Unable to create the specified output folder!”, click ‘OK’ and retry – it should work the second time.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/Error_CreateFolder.png&quot; alt=&quot;Error when creating folder&quot; title=&quot;Error when creating folder&quot; /&gt;&lt;/p&gt;
&lt;p&gt;You now need to extract the files from CreativeSuiteCS2Disc1.exe, but cancel before the installer tries to install the applications.&lt;/p&gt;
&lt;p&gt;Run CreativeSuiteCS2Disc1.exe and let it extract the files to C:&#92;Creative Suite CS2, but when the white ‘Welcome’ window appears, click ‘Cancel’ then ‘Quit’.&lt;/p&gt;
&lt;h2 id=&quot;step-3-move-the-files-to-the-required-locations&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#step-3-move-the-files-to-the-required-locations&quot;&gt;&lt;span&gt;Step 3 Move the files to the required locations&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;After the files have extracted, you will find that Disk 2 has extracted to C:&#92;Creative Suite&#92;Adobe Creative Suite 2.0&#92;&lt;/p&gt;
&lt;p&gt;Disk1 and Disk3 have extracted to C:&#92;Creative Suite CS2&#92;&lt;/p&gt;
&lt;p&gt;Extras has extracted to C:&#92;CS_2.0_WWE_Extras_2&lt;/p&gt;
&lt;p&gt;You must now move both folders from C:&#92;Creative Suite&#92;Adobe Creative Suite 2.0 to C:&#92;Creative Suite CS2&#92;Adobe Creative Suite 2.0&#92; – you can then delete C:&#92;Creative Suite&#92;&lt;/p&gt;
&lt;p&gt;Check: C:&#92;Creative Suite CS2&#92;Adobe Creative Suite 2.0&#92; should now look like:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/File-list.png&quot; alt=&quot;CS2 Install File list&quot; title=&quot;CS2 Install File list&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The required installation files after extracting and moving them.&lt;/p&gt;
&lt;p&gt;If you do not move these files, you will be prompted to “Insert Disc 2” during the install and it will fail.&lt;/p&gt;
&lt;h2 id=&quot;step-4-check-the-installation-path&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#step-4-check-the-installation-path&quot;&gt;&lt;span&gt;Step 4 Check the installation path&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;When you run the installer in the next step, it will default to install in C:&#92;Program Files (x86)&#92;Adobe but the installer does not like the space in the file name and will fail. If you choose another folder (e.g. C:&#92;ProgramFiles&#92;Adobe), Photoshop will not start successfully and will show an error “‘Your Adobe Photoshop user name, organisation, or serial number is missing or invalid. The application cannot continue and must now exit.”&lt;/p&gt;
&lt;p&gt;Open a command window (Start button,  type CMD, press enter)&lt;/p&gt;
&lt;p&gt;Type “CD &#92;” to change to the root of your c: drive&lt;/p&gt;
&lt;p&gt;Type “DIR /X” to see what the DOS name for your Program Files (x86) directory is. It is likely to be PROGRA~2 – Make a note of this, you need it in the next step.&lt;br /&gt;
CMD Window&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/CMD-window.png&quot; alt=&quot;The highlighted section is the part you need to take note of&quot; title=&quot;The highlighted section is the part you need to take note of&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;step-5-run-the-installer&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#step-5-run-the-installer&quot;&gt;&lt;span&gt;Step 5 Run the installer&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Navigate to C:&#92;Creative Suite CS2&#92;Adobe Creative Suite 2.0 and run Setup. This will run the installer which you cancelled in step 2.&lt;/p&gt;
&lt;p&gt;Read and agree to the license, enter your name, company and the serial number which can be found on the download page.&lt;/p&gt;
&lt;p&gt;When you are prompted for the install location, amend it to read c:&#92;PROGRA~2&#92;Adobe (where PROGRA~2 is the name you found in step 4) If the ‘Next’ button does not become active, press ‘Tab’ and it should become available.&lt;/p&gt;
&lt;p&gt;Choose which components you want to install (probably ‘Entire suite’) and step through the rest of the wizard.&lt;/p&gt;
&lt;p&gt;Register the software if you want to at the end, and check for updates.&lt;/p&gt;
&lt;p&gt;Bonus: If you register, you will receive an email from Adobe which offers you a complimentary benefit – choose from:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Garamond Premier Pro&lt;/strong&gt;&lt;br /&gt;
A new Adobe original typeface family, complete with optical sizes designed by Robert Slimbach.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2 issues of Photoshop® User&lt;/strong&gt;&lt;br /&gt;
An award-winning, cutting-edge “how-to” magazine, packed with tutorials, cool tips and insider information.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2 issues of Layers® magazine&lt;/strong&gt;&lt;br /&gt;
This magazine highlights hidden shortcuts and tutorials, with a more creative look into Adobe products.&lt;/p&gt;
&lt;p&gt;Once the install completes, you should have a working CS2 installation! Try running Photoshop to confirm it starts correctly.&lt;/p&gt;
&lt;p&gt;Let me know in the comments how you get on!&lt;/p&gt;
&lt;p&gt;Update: Thanks to a couple of commenters spotting an error in step 3, I have uninstalled and reinstalled from scratch to make sure I get the steps all correct. Now with added screenshots!&lt;/p&gt;
&lt;h2 id=&quot;comments&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#comments&quot;&gt;&lt;span&gt;Comments&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#10396&quot; title=&quot;2013-01-08 23:38:26&quot;&gt;Andy&lt;/a&gt;:&lt;/strong&gt; Thanks for your comments - I wrote the instructions from memory after some trial and error getting it to work and I made a few mistakes. I&#39;ve uninstalled and done it again from scratch - the instructions above should now work for you - sorry for the inconvenience!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#57235&quot; title=&quot;2014-02-14 20:50:03&quot;&gt;Andrew&lt;/a&gt;:&lt;/strong&gt; Worked a Charm. Thanks so much&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#10966&quot; title=&quot;2013-01-18 18:05:59&quot;&gt;Alex&lt;/a&gt;:&lt;/strong&gt; Thanks, it worked a charm!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#10393&quot; title=&quot;2013-01-08 23:31:04&quot;&gt;Mj&lt;/a&gt;:&lt;/strong&gt; Did exactly as written. Still got insert cd 2 to continue to install. Now what? Sure would appreciate any help.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#10607&quot; title=&quot;2013-01-13 01:05:46&quot;&gt;Kay&lt;/a&gt;:&lt;/strong&gt; Using this method the install went perfectly but I&#39;m still getting an obnoxious freeze on the splash-screen after &#39;initializing&#39; that makes Photoshop CS2 unusable. Do you have any idea what this could possibly be? Thanks so much!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#11977&quot; title=&quot;2013-02-03 17:37:16&quot;&gt;jeremy&lt;/a&gt;:&lt;/strong&gt; The picture of the folder in step 3 appears to also include all the files and folders that you will get once you have extracted Disk1. So if yours doesn&#39;t have nearly all that content, it should once you extract disc 1.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#10977&quot; title=&quot;2013-01-19 05:13:53&quot;&gt;Jake&lt;/a&gt;:&lt;/strong&gt; This guide works perfectly! Thank you so much!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#11304&quot; title=&quot;2013-01-23 09:03:30&quot;&gt;Andy&lt;/a&gt;:&lt;/strong&gt; I&#39;d double check the files are exactly as per the screenshot, and that you have downloaded and extracted all the downloads. All the required files should be there, so there should be no need for it to ask for cd3...&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#11296&quot; title=&quot;2013-01-23 06:13:29&quot;&gt;Joe&lt;/a&gt;:&lt;/strong&gt; Well it worked great, not asking for CD2 anymore, but now its asking for CD3!! Lol this is almost not even worth the trouble! Any suggestions on what to do now? I have all the files moved just like in your illustrations and still get this error message.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#10381&quot; title=&quot;2013-01-08 17:11:10&quot;&gt;jake&lt;/a&gt;:&lt;/strong&gt; It seems like step 3 needs a little clarification, as I think I did what you said, but am still getting the insert cd 2 error. Also, where should I extract disc one? If I let it go to default that&#39;s here- C:&#92;Creative Suite CS2&#92; the folder you said I could delete after I moved the folders in step 3. I have working PS now, but I would really like Illustrator.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#10392&quot; title=&quot;2013-01-08 22:18:58&quot;&gt;hoojacks&lt;/a&gt;:&lt;/strong&gt; Thanks for the tutorial, but it still does not work. Perhaps some clarity is needed. In step 3, you say &amp;quot;You must now move both folders from C:&#92;Creative Suite CS2&#92; to C:&#92;Creative Suite&#92;Adobe Creative Suite 2.0&#92; – you can then delete C:&#92;Creative Suite CS2&amp;quot; There is only one folder and some files in Creative Suite CS2. Or did you mean both the Creative Suite CS2 and the Extras folder? I moved all the contents of Creative Suite CS2 into the specified folder AND the contents of the extras folder in there as well, and it is still asking me for Disc 2. In step 5, should we extract the file into the c:&#92;PROGRA~2&#92;Adobe folder as well, or just the folder it prompts? I imagine this doesn&#39;t make a difference, but it&#39;s worth a shot? Thanks again!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#10403&quot; title=&quot;2013-01-09 02:30:05&quot;&gt;Samuel&lt;/a&gt;:&lt;/strong&gt; Thank you very very much! Your guide worked perfectly for me on Windows XP 32 Bit. You helped me very much. I really appreciate this! Big thanks!!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#10436&quot; title=&quot;2013-01-09 18:42:53&quot;&gt;Baxter Tocher&lt;/a&gt;:&lt;/strong&gt; Thanks for this, Andy - it&#39;s much appreciated. Any idea what we need to do if there&#39;s not enough space on C:? My C: drive is a fairly small SSD, but I have a fair amount of space on D:.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#50905&quot; title=&quot;2014-01-12 20:56:09&quot;&gt;Greg&lt;/a&gt;:&lt;/strong&gt; For install try use direct Adobe Photoshop CS2. msi file. ( no setup.exe )&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#10440&quot; title=&quot;2013-01-09 18:59:57&quot;&gt;Andy&lt;/a&gt;:&lt;/strong&gt; Hi Baxter, I haven&#39;t tried installing to another drive, but there should be no problem moving the installation files to another drive and doing the install from there. I suspect that if you try to install to anywhere other than c:&#92;progra~2&#92;Adobe that the licensing will not work. This will mean that Photoshop will not start successfully - there is probably a change which can be made in the registry to make it work, but I have not tested. I&#39;d start looking in HKEY_CLASSES_ROOT&#92;Applications&#92;Photoshop.exe&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#11519&quot; title=&quot;2013-01-26 00:54:52&quot;&gt;Andy&lt;/a&gt;:&lt;/strong&gt; Hi Sean, glad it&#39;s working for you! The vcs2.zip file contains a video tutorial for the cs2 suite. Just unzip it and run vcs2.exe The extras directory which expands to c: by default contains documentation, sample images and plugins which you can install manually. I hope this helps!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#12957&quot; title=&quot;2013-02-28 07:35:24&quot;&gt;marc&lt;/a&gt;:&lt;/strong&gt; I just followed your instructions exactly on windows 7 64 and it worked perfectly! I&#39;m stoked! Thanks so so much.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#10521&quot; title=&quot;2013-01-11 14:15:39&quot;&gt;Lizzytish&lt;/a&gt;:&lt;/strong&gt; Just wanted to add my thanks for your tut on installing CS2........ found similar on line elsewhere...... but missing the steps you included in yours........... worked perfectly............ like a charm ....... et voila .... found your link after spending hours and hours fiddling and stuff......... so I am a very happy camper!! Thanks a ton!! Your sharing is very much appreciated! LT&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#10901&quot; title=&quot;2013-01-17 14:29:47&quot;&gt;Paul B&lt;/a&gt;:&lt;/strong&gt; Very helpful. Thanks for posting.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#13568&quot; title=&quot;2013-03-11 23:16:14&quot;&gt;Mike&lt;/a&gt;:&lt;/strong&gt; Many thanks for this! I had a similar problem to Joe in that it asked for disk 3 but then found it had still installed the main Photoshop app and I was able to manually create a desktop shortcut and open successfully. Should also note I installed to D drive as I have a small SSD C Drive like Baxter. Then I noticed that Step 3 doesn&#39;t mention moving the folders/files from &amp;quot;Extras&amp;quot; to the installation folder and that is why disk 3 wasn&#39;t found - I should have checked your screencap ;) All it &lt;em&gt;seems&lt;/em&gt; to mean is that Illustrator wasn&#39;t installed so no problem! Thanks again.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#11507&quot; title=&quot;2013-01-25 22:27:39&quot;&gt;Sean&lt;/a&gt;:&lt;/strong&gt; Thanks Andy. Everything worked properly. I had to do a double take on the instructions at step 3 but once I got that straight, it installed just fine. I have a couple questions though: 1) What do you do with the VCS2.zip file? 2) Did the installer do anything with the extras folder? It didn&#39;t get moved into the main folder with the rest of the install files so did it get installed?&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#12975&quot; title=&quot;2013-02-28 19:21:56&quot;&gt;marc&lt;/a&gt;:&lt;/strong&gt; Actually, does anyone know if the Premier Pro free download from Adobe works with windows 7? Is it the same idea, to update the installation path and make sure everything else lines up? Or will it work just fine, or not at all? Thanks!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#28069&quot; title=&quot;2013-08-09 14:55:06&quot;&gt;Isaac&lt;/a&gt;:&lt;/strong&gt; Thank you sooo much i was so confused by the tutorial on Adobe&#39;s site so i did some google&#39;ing i came across your tutorial IT IS AWESOME......!!!!!!!!!!!!!! Thank You Soooo much&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#24908&quot; title=&quot;2013-06-23 04:52:35&quot;&gt;Elaine&lt;/a&gt;:&lt;/strong&gt; Thank you, Thank you. Thank you. Wish I had found this thread 8 hours ago! BUT..Find it I did...finally. Thank you, again!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#27083&quot; title=&quot;2013-07-26 03:54:10&quot;&gt;Nick&lt;/a&gt;:&lt;/strong&gt; Thank you sooo much for posting this!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#25952&quot; title=&quot;2013-07-10 22:57:37&quot;&gt;sathish&lt;/a&gt;:&lt;/strong&gt; is working good. thanku&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#14813&quot; title=&quot;2013-03-21 13:35:25&quot;&gt;Svend&lt;/a&gt;:&lt;/strong&gt; Hi. I installed PS CS2 on win 8 64-bit. The install worked fine (using the Progra~2 fix), but after a short while PS becomes unstable and eventually crashes. Any ideas what is going wrong(other than the fact that cs2 is written to a 32-bit system).&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#23129&quot; title=&quot;2013-05-24 19:22:02&quot;&gt;Philip Knight&lt;/a&gt;:&lt;/strong&gt; Andy, I&#39;ll get to downloading and installing the whole CS2 but all I really need for now is Illustrator, and even that far simpler install is not working; so I&#39;m guessing the same will happen with the whole enchilada. So need to solve this issue first: -- I have looked up and used the Program~2 alternative to Program Files (x86), but the installer hangs at the exact same place on the progress bar as it did when using the latter location -- about 60% in. I have to nuke it through the Task Manager--where there are 4 Installers happening for this. I run the installer as Administrator too. That seems strange: I can understand 2, installers -- one for the 32-bit program itself and maybe another for the 64-bit OS to convert or accept a 32-bit. That said, Firefox shows two Adobe Flash plugins running when fired up. So maybe irrelevant. Whatever the case, what am I doing wrong? Thanks. _____________ PS: The reason I&#39;m primarily interested in Illustrator at this point is because I have Illustrator 8 (yeah, really old -- ca. 1997) and I think it&#39;s a 16-bit program so it won&#39;t install on Win7. It worked on XP.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#23137&quot; title=&quot;2013-05-24 21:19:21&quot;&gt;Philip Knight&lt;/a&gt;:&lt;/strong&gt; PS: I think I know why this install (or any other of CS2 or its parts WON&#39;T work for me: I don&#39;t have a purchased version of CS2 and I don&#39;t do crack or pirated software. I thought the serial number provided was equivalent to a purchased version. IF I&#39;m mistaken and I can make this work without a purchased version, let me know. Please :) Thanks.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#77607&quot; title=&quot;2014-06-10 20:51:20&quot;&gt;tizhimself&lt;/a&gt;:&lt;/strong&gt; Blew my mind1 It installed perfectly. Thanks...&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#34154&quot; title=&quot;2013-11-04 13:58:21&quot;&gt;Lilly&lt;/a&gt;:&lt;/strong&gt; Thank you!!! No more gifts from Adobe for registering but this still works! Thanks!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#29338&quot; title=&quot;2013-08-30 15:22:56&quot;&gt;Tiziana&lt;/a&gt;:&lt;/strong&gt; Thank you sooooooo MUCH!! I was almost hopeless, then I found this!! ^^ THANKS!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#20461&quot; title=&quot;2013-04-24 00:59:25&quot;&gt;Jeff&lt;/a&gt;:&lt;/strong&gt; Thank you very much for writing this article. I have spent over 6 hours on this today with numerous chat windows with adobe and even a gone nowhere phone call that lasted over an hour. It was stupid. I really appreciated finding this. My problem was the renaming the install location. Something so easy, yet so frustrating. (Like Most computer problems. :)) Anyway I just wanted to say thank you and that I appreciated it. --Jeff&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#23299&quot; title=&quot;2013-05-27 11:03:42&quot;&gt;Steve&lt;/a&gt;:&lt;/strong&gt; Just want to add my thanks to those above - very much appreciated. Steve&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#46672&quot; title=&quot;2013-12-25 20:14:11&quot;&gt;Richard&lt;/a&gt;:&lt;/strong&gt; Your tutorial worked for me. I have not run CS2 through its paces so there is not way really to know if I have a fully functioning version. It does seem to be working fine except for the the Help application. When I click on Help, I receive an error message: &amp;quot;There was an error bringing the Help application forward. You may need to re-install the application and the Help component. Is it possible that the Help application was corrupted during the download phase and/or install phase? Thanks for your great contribution! Richard&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#24415&quot; title=&quot;2013-06-14 04:33:01&quot;&gt;Mary&lt;/a&gt;:&lt;/strong&gt; Worked like a charm! Thank you! Thank you! I had CS2 on my old computer. I could not install it on my new laptop -- it would not give me an authentication code. When I called the Adobe help line I got a recorded message sending me to a dead link on Adobe. When I called Adobe and got a live person, they told me they no longer supported CS2 and I was simply out of luck (in other words, gee, why don&#39;t you buy the newest version?) You really saved the day for me. God bless you!&lt;br /&gt;
&lt;em&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#22272&quot; title=&quot;2013-05-14 04:04:57&quot;&gt;Janet&lt;/a&gt;:&lt;/em&gt;* Hi. I&#39;ve followed your instructions to the letter but when I try to run &amp;quot;setup&amp;quot; as per step 5 I get the following error message: Missing or Invalid Personalization Information Missing resources library Any ideas? This is driving me insane!!  &lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#55028&quot; title=&quot;2014-01-30 19:10:09&quot;&gt;Collette&lt;/a&gt;:&lt;/strong&gt; Thank you that was great! One comment (which might have been addressed already) where you say &amp;quot;You must now move both folders from...&amp;quot; it might be clearer if you said &amp;quot;you must now move the two folders from...&amp;quot; But otherwise clear, comprehensive and it worked!!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#40018&quot; title=&quot;2013-11-28 10:19:10&quot;&gt;Don A&lt;/a&gt;:&lt;/strong&gt; The very least that I can do is to say &amp;quot;Thank you.&amp;quot; I worked perfectly as far as I can tell. There were so many other links that were leading me astray. Thanks again.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#97854&quot; title=&quot;2014-11-10 08:37:38&quot;&gt;Debbie&lt;/a&gt;:&lt;/strong&gt; Thank you! I just spent ages typing this exact thing out on someone else&#39;s question on the Adobe forums, only missing out how to find the accurate DOS code. Progra~2 generally works for Win7 64 bit. Thanks!!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#124278&quot; title=&quot;2016-12-07 15:10:10&quot;&gt;Dave&lt;/a&gt;:&lt;/strong&gt; This worked perfectly on a 64 bit Windows 10 install.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#110723&quot; title=&quot;2015-02-27 22:52:34&quot;&gt;Susan&lt;/a&gt;:&lt;/strong&gt; THANK YOU, THANK YOU, THANK YOU!! I just got a new computer and have the old CS2 CDs but the serial number no longer worked. Went to Adobe &amp;quot;chat&amp;quot; and was given a link with serial numbers and programs. Spent hours trying different ways to get CS2 on my computer. At my wits end, I googled and found you. Thank you so much for taking the time to clearly explain how to make it happen because I kept getting hung up on &amp;quot;Insert Disk 2&amp;quot;. Out of desperation, I even tried inserting the old CD 2 I have but that didn&#39;t work!! I&#39;m not overly techy. :) I can&#39;t believe your directions worked. God Bless you for not keeping this fix to yourself.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#68987&quot; title=&quot;2014-04-12 19:23:18&quot;&gt;lezav&lt;/a&gt;:&lt;/strong&gt; The latest version of win7 sp1 now allows &#39;program files (x86)&#39; as folder name in CMD (as opposed to porgam~2).... and since adobe does not allow parenthesis in folder names, what to do now to install cs2?&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#110764&quot; title=&quot;2015-02-28 19:08:14&quot;&gt;Ali&lt;/a&gt;:&lt;/strong&gt; Thank you so much. You have fixed the &amp;quot;user name, organization, or serial number is missing or invalid...&amp;quot; which had suddenly started happening on Photoshop and I tried everything to get rid of. I&#39;m so happy - you&#39;ve made my afternoon. Your instructions were easy to follow (like Susan, I&#39;m not very techy) and they worked. Thanks :)&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#74359&quot; title=&quot;2014-05-11 19:50:40&quot;&gt;Larry Swarts&lt;/a&gt;:&lt;/strong&gt; Awsome, thnx&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#62593&quot; title=&quot;2014-03-16 14:31:23&quot;&gt;Steve M&lt;/a&gt;:&lt;/strong&gt; Hi......followed all the instructions but getting install CD2.....???&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#87794&quot; title=&quot;2014-09-12 16:25:41&quot;&gt;John Howard&lt;/a&gt;:&lt;/strong&gt; I cant tell you enough how helpful this was. It worked just as you said it would. Thank you so very much, you made my week. Please keep up the great work you are doing for all of us. John Howard&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#52132&quot; title=&quot;2014-01-17 04:28:06&quot;&gt;Rob&lt;/a&gt;:&lt;/strong&gt; Thanks so much. Your instructions were invaluable. The installation worked perfectly. You are a savior.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#64596&quot; title=&quot;2014-03-22 13:43:20&quot;&gt;Steve&lt;/a&gt;:&lt;/strong&gt; Hi, I&#39;m having the same trouble as Janet had (comment 23). I followed the direction word for word but must have missed something?&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#117030&quot; title=&quot;2015-08-31 18:53:33&quot;&gt;Avijit Das&lt;/a&gt;:&lt;/strong&gt; Thank you so much. You have fixed the “user name, organization, or serial number is missing or invalid…” which had suddenly started happening on Photoshop and I tried everything to get rid of. I’m so happy – you’ve made my afternoon. Your instructions were easy to follow (like Susan, I’m not very techy) and they worked. Thanks :)&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#120306&quot; title=&quot;2016-02-15 23:10:58&quot;&gt;Cici&lt;/a&gt;:&lt;/strong&gt; These instructions helped a lot. One issue I&#39;m still experiencing is that I can&#39;t get InDesign to work. When I open it, it prompts me to enter the serial number. Once I do, the program shuts. I tried uninstalling and reinstalling just InDesign twice, and I get the same problem every time. I don&#39;t have this problem with the other programs; some of them prompted for the serial number, but once I entered it, the program opened and functioned. Any ideas of why it&#39;s doing this or how to resolve the issue? Thanks.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#119936&quot; title=&quot;2016-01-20 18:55:30&quot;&gt;Dorothy Card&lt;/a&gt;:&lt;/strong&gt; I would hug you if you were here. We struggled for 3 days before we found your instructions. Read them over and over until I understood each step and then went for it. It worked like a charm. Installed on new Dell Optiplex 5040, Win 7 Pro 64 bit. We had purchased Adobe Creative Suite CS2. Yes I know it&#39;s old but it works for us for now. Old Dell died. Saved us big $$$$. Thank you for sharing!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#134878&quot; title=&quot;2018-03-15 22:49:03&quot;&gt;alchemistj&lt;/a&gt;:&lt;/strong&gt; Your Baller! Have saved me doing this a 2nd time now! Thanks!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20130108-installing-photoshop-cs2-on-windows-7-64-bit/#150081&quot; title=&quot;2019-01-16 22:41:03&quot;&gt;Mark&lt;/a&gt;:&lt;/strong&gt; This was EXTREMELY helpful, thank you…&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>How to move from Instagram to Flickr</title>
		<link href="https://secreci.com/posts/20121218-how-to-move-from-instagram-to-flickr/"/>
		<updated>2012-12-18T22:45:18Z</updated>
		<id>https://secreci.com/posts/20121218-how-to-move-from-instagram-to-flickr/</id>
		<summary>How to move from Instagram to Flickr</summary>
		<category term="tutorial"/>
		<content type="html">&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/instagram-logo.jpg&quot; alt=&quot;Instagram logo&quot; title=&quot;Instagram logo&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Today, 18th December 2012, &lt;a href=&quot;http://instagram.com/&quot;&gt;Instagram&lt;/a&gt; announced that they would be changing their &lt;a href=&quot;http://instagram.com/about/legal/terms/&quot;&gt;Terms of Service&lt;/a&gt; effective 16th January 2013. After that date, Instagram will be able to repackage any photo submitted to the service and sell it for advertising purposes without informing the photographer. This means that your photo could be used to advertise any product – even ones you are opposed to. Further, if there are any legal claims about the content of the images used for advertising purposes, the liability will lie with the photographer, not Instagram.&lt;/p&gt;
&lt;p&gt;The only way to opt out of the new rules, is to delete your Instagram account (however, the new TOS will only apply to photos uploaded after the new TOS becomes active) – by logging in either using the mobile app, or the web page confirms your acceptance of the new rules.&lt;/p&gt;
&lt;p&gt;This change in the TOS has angered a number of photographers online and they have been venting on Twitter and Facebook. The Anonymous hacker collective has urged Instagram users to boycott the service (see the hashtag &lt;a href=&quot;https://twitter.com/search?q=%23boycottInstagram&amp;amp;src=typd&quot;&gt;#boycottInstagram&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Instagram is a fabulous tool which allows photos to be taken and instantly uploaded – If you want to, you can add a variety of filters and frames with a couple of clicks. This makes it a very immediate medium for sharing thoughts and breaking news as it happens.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/flickr-logo1.png&quot; alt=&quot;Flickr Logo&quot; title=&quot;Flickr Logo&quot; /&gt;&lt;/p&gt;
&lt;p&gt;There is, however, an alternative in the newly released Flickr Mobile App which is available for &lt;a href=&quot;https://play.google.com/store/apps/details?id=com.yahoo.mobile.client.android.flickr&amp;amp;hl=en&quot;&gt;Android&lt;/a&gt; and &lt;a href=&quot;https://itunes.apple.com/gb/app/flickr/id328407587?mt=8&quot;&gt;iOS&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The Flickr App is very similar to Instagram in that it allows you to take a photo and add one of a number of filters to the image. I don’t see an option in the Flickr App to add frames, but I rarely use them anyway. The Flickr App does not restrict the image to being square, and the image is much higher resolution. The &lt;a href=&quot;http://www.flickr.com/atos/pro/&quot;&gt;Flickr Terms of Service&lt;/a&gt; are much more agreeable to photographers too.&lt;/p&gt;
&lt;p&gt;But, what if you already have photos on Instagram which you would like to migrate to Flickr?&lt;/p&gt;
&lt;p&gt;The best method I have found, is to use the free service at &lt;a href=&quot;https://openphoto.me/&quot;&gt;OpenPhoto.me&lt;/a&gt; which allows you to download photos from Flickr, Facebook or Instagram in bulk. Signing up is free, and you can choose to save your photos to a Dropbox account which is also free. If you would like a larger-than-normal Dropbox account, please sign up using my affiliate link: &lt;a href=&quot;http://db.tt/7Gg69v4h&quot;&gt;http://db.tt/7Gg69v4h&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Note: &lt;a href=&quot;http://openphoto.me/&quot;&gt;OpenPhoto.me&lt;/a&gt; is currently undergoing an upgrade, but if you sign up now, they will let you know when the service is available – you have until January 16th 2013 before the new Instagram TOS becomes active.&lt;/p&gt;
&lt;p&gt;Let me know your thoughts on the new TOS and the Flickr App!&lt;/p&gt;
&lt;p&gt;UPDATE: [22:00GMT 18 Dec 2012] Instagram have issued a clarification of what they meant by the new TOS – &lt;a href=&quot;http://blog.instagram.com/post/38252135408/thank-you-and-were-listening&quot;&gt;http://blog.instagram.com/post/38252135408/thank-you-and-were-listening&lt;/a&gt; U-turn or genuine mistake?&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>16 weeks of dieting</title>
		<link href="https://secreci.com/posts/20121118-16-weeks-of-dieting/"/>
		<updated>2012-11-18T14:50:09Z</updated>
		<id>https://secreci.com/posts/20121118-16-weeks-of-dieting/</id>
		<summary>16 weeks of dieting</summary>
		<category term="lifestyle"/>
		<content type="html">&lt;p&gt;10 weeks ago, I wrote a blog post about my diet progress.&lt;/p&gt;
&lt;p&gt;I am now 16 weeks into my diet and have made great progress.&lt;/p&gt;
&lt;p&gt;I have continued to use the &lt;a href=&quot;https://www.myfitnesspal.com/&quot;&gt;myFitnessPal&lt;/a&gt; Android application which I can’t say enough good things about – it has let me monitor how many calories I am eating each day and how many calories I’m burning through exercise. It also lets me compare foods so I can decide what to eat each day. I don’t feel like I’m skimping on food – last night, I went out for a meal with my girlfriend and had a delicious ribeye steak and a dessert. As long as you balance what you are eating, you don’t need to skimp or only eat rabbit food…&lt;/p&gt;
&lt;p&gt;I decided to try to get fit as well as losing weight, so I enrolled in the &lt;a href=&quot;http://www.nhs.uk/LiveWell/c25k/Pages/couch-to-5k.aspx&quot;&gt;Couch to 5k&lt;/a&gt; (C25K) programme which is a structured training program which takes you from doing no exercise to running 5km (30 minutes) in 9 weeks doing 3 runs per week. I’m currently at the start of Week 6 and did a 4km (20 minute) run a couple of nights ago – that’s the furthest I’ve run since high school. To help with the training, I have been using the &lt;a href=&quot;http://www.rundouble.com/&quot;&gt;Rundouble&lt;/a&gt; Android application which has been excellent – it tells you when to run and when to walk, it tracks your speed and distance via GPS and gives you a map of your run and statistics about your pace and distance at the end. While the NHS podcasts are good, I prefer the extra features offered by Rundouble. I also bought myself a &lt;a href=&quot;http://www.amazon.co.uk/gp/product/B0046BTK14/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1634&amp;amp;creative=19450&amp;amp;creativeASIN=B0046BTK14&amp;amp;linkCode=as2&amp;amp;tag=omination-21&quot;&gt;Garmin Forerunner 410 GPS Sportswatch&lt;/a&gt; with Heart Rate Monitor which gives me more information including my heartrate – this satisfies my inner geek. You can see how I’m doing on my &lt;a href=&quot;http://connect.garmin.com/profile/AndyYounie&quot;&gt;Garmin Connect profile&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I’m so confident that I will be running 5k soon, I have signed up for the &lt;a href=&quot;http://www.greatrun.org/events/event.aspx?id=2&quot;&gt;Bupa Great Winter Run&lt;/a&gt; on January 5th 2013. This is a 5km run through Holyrood Park in Edinburgh, around the base of Arthur’s Seat. Although it’s not a long run, it is hilly and it’ll be very cold!&lt;/p&gt;
&lt;p&gt;To give my self more incentive to keep training, I’m asking for sponsorship from friends and family at &lt;a href=&quot;http://www.justgiving.com/AndyYounie&quot;&gt;JustGiving&lt;/a&gt; – all the money I raise will go to &lt;a href=&quot;http://www.chss.org.uk/&quot;&gt;Chest Heart &amp;amp; Stroke Scotland&lt;/a&gt; who do some great work.&lt;/p&gt;
&lt;p&gt;So, in the past 16 weeks, I’ve lost 19kg (42lbs) – exactly 20% of my original bodyweight and it’s been easy!&lt;/p&gt;
&lt;p&gt;If you doubt you can lose weight and get fit, don’t – get out there and do something about it – it’s not hard. If you’re not going to do that, ease your conscience by sponsoring me at &lt;a href=&quot;http://www.justgiving.com/AndyYounie&quot;&gt;JustGiving&lt;/a&gt; &lt;em&gt;g&lt;/em&gt;&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Wireless adapter problems on Acer Laptop after November 2012 Microsoft Update (Windows 8)</title>
		<link href="https://secreci.com/posts/20121117-wireless-adapter-problems-on-acer-laptop-after-november-2012-microsoft-update-windows-8/"/>
		<updated>2012-11-17T23:29:35Z</updated>
		<id>https://secreci.com/posts/20121117-wireless-adapter-problems-on-acer-laptop-after-november-2012-microsoft-update-windows-8/</id>
		<summary>Wireless adapter problems on Acer Laptop after November 2012 Microsoft Update (Windows 8)</summary>
		<category term="tech"/>
		<category term="tutorial"/>
		<content type="html">&lt;p&gt;On Tuesday, November 13, 2012, Microsoft released 6 security bulletins in their regular &#39;Patch Tuesday&#39;.&lt;br /&gt;
After installing the bulletins and rebooting my Acer V3-571 laptop which is running Windows 8 Pro (64-bit) I found that I no longer had a wireless connection to my network. The Wireless Network Adapter in this laptop is an  Atheros AR5BWB222. The device manager showed that the device was having a problem:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/Device-Manager.png&quot; alt=&quot;Device Manager&quot; title=&quot;Device Manager&quot; /&gt;&lt;br /&gt;
The Windows 8 Device manager showing an exclamation mark against the wireless adapter.&lt;/p&gt;
&lt;p&gt;Further, the properties of the device showed that the device was unable to start.&lt;br /&gt;
Attempting to update the driver reported that the latest driver was already installed - even connecting to a wired network and allowing the Device Manger to search the internet for a better driver was unsuccessful. The solution is to visit the Acer website at &lt;a href=&quot;https://www.acer.com/&quot;&gt;www.acer.com&lt;/a&gt;, go to the  support section and choose driver downloads.&lt;br /&gt;
Enter either your computer model number (in my case V3-571), or the serial number from the sticker which you will find on your machine.&lt;br /&gt;
Choose the &#39;drivers&#39; tab and locate the driver for the Atheros Wireless LAN  (see the screenshot below)&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/Acer-driver-download.png&quot; alt=&quot;Acer driver download&quot; title=&quot;Acer driver download&quot; /&gt;&lt;br /&gt;
The driver download page on the Acer website, &lt;a href=&quot;http://www.acer.com/&quot;&gt;www.acer.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/Device-properties.png&quot; alt=&quot;Device properties&quot; title=&quot;Device properties&quot; /&gt;&lt;br /&gt;
The properties of the wireless device show that it is unable to start.&lt;/p&gt;
&lt;p&gt;The driver is 37Mb in size and comes as a zip file. Save it to your hard drive and, once the download is complete, extract the zip file to a folder. (It may be a good idea to download all the drivers for your computer and store them in case you need them when you don&#39;t have access to the internet)&lt;/p&gt;
&lt;p&gt;Back in the device properties window, choose the &#39;Driver&#39; tab and click the &#39;Update Driver&#39; button. When you are prompted &#39;How do you want to search for driver software?&#39; choose &#39;Browse my computer for driver software&#39; and navigate to the folder into which you extracted the zip file.&lt;/p&gt;
&lt;p&gt;Follow the wizard to completion and the driver will be installed.&lt;/p&gt;
&lt;p&gt;Check the device manager and you should now no longer see the exclamation mark against the wireless adapter.&lt;/p&gt;
&lt;p&gt;Open up the network connections screen and enable the wireless device if necessary.&lt;/p&gt;
&lt;p&gt;Reconnect to the wireless network as normal (you will need to enter your wireless password when prompted).&lt;/p&gt;
&lt;p&gt;You should now have wireless access to your network and the internet.&lt;/p&gt;
&lt;p&gt;I hope this helps you get back online - let me know in the comments how you get on!&lt;/p&gt;
&lt;h2 id=&quot;comments&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20121117-wireless-adapter-problems-on-acer-laptop-after-november-2012-microsoft-update-windows-8/#comments&quot;&gt;&lt;span&gt;Comments&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20121117-wireless-adapter-problems-on-acer-laptop-after-november-2012-microsoft-update-windows-8/#115293&quot; title=&quot;2015-07-01 14:20:37&quot;&gt;Hannan Ahmad&lt;/a&gt;:&lt;/strong&gt; If there are problems with the wireless network, then you should update or reinstall the drivers for the network card. If the problem is with the update then wait for the new update to come, and then install the updates by joining the DSL/Ethernet cable to the computer. &lt;a href=&quot;http://www.cnetsys.com/network-services/network-support/it-support-locations/detroit-it-support/&quot;&gt;http://www.cnetsys.com/network-services/network-support/it-support-locations/detroit-it-support/&lt;/a&gt;&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>A playlist for running</title>
		<link href="https://secreci.com/posts/20121111-a-playlist-for-running/"/>
		<updated>2012-11-11T20:51:54Z</updated>
		<id>https://secreci.com/posts/20121111-a-playlist-for-running/</id>
		<summary>A playlist for running</summary>
		<category term="lifestyle"/>
		<content type="html">&lt;p&gt;When you&#39;re running, it&#39;s really easy to lose enthusiasm and run out of energy.&lt;/p&gt;
&lt;p&gt;I&#39;ve put together some tunes which help me stay motivated - most of the running albums are full of techno music which is fine, but gets a bit boring.&lt;br /&gt;
I think these tunes are good for running to - there&#39;s a mix of tempos and styles.&lt;/p&gt;
&lt;p&gt;Be aware though that some of the songs feature explicit lyrics.&lt;/p&gt;
&lt;p&gt;Let me know in the comments what you think of these choices - and let me know if you have any suggestions - what music do you run to?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Playlist missing!&lt;/strong&gt;&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>iTunes - converting from Music to Books</title>
		<link href="https://secreci.com/posts/20120925-itunes-converting-from-music-to-books/"/>
		<updated>2012-09-25T12:02:07Z</updated>
		<id>https://secreci.com/posts/20120925-itunes-converting-from-music-to-books/</id>
		<summary>Tunes - converting from Music to Books</summary>
		<category term="lifestyle"/>
		<content type="html">&lt;p&gt;So, you have ripped an audiobook from CD and imported it into iTunes, but it&#39;s showing up as an album in amongst your music - how do you move it into the books section?&lt;/p&gt;
&lt;p&gt;The problem with having them amongst your music is that your iPod doesn&#39;t necessarily remember where in the track you were - this means that you end up listening to the first part of the file again if you take a break from the book.&lt;/p&gt;
&lt;p&gt;Luckily, the solution is simple.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open iTunes and, in the music section, highlight all the files which make up your book.&lt;/li&gt;
&lt;li&gt;Right-click (ctrl-click on Mac) one of the highlighted files and choose &#39;Get Info&#39;&lt;/li&gt;
&lt;li&gt;Choose &#39;Yes&#39; when it asks if you want to get information for multiple items&lt;/li&gt;
&lt;li&gt;In the &#39;Info&#39; tab, choose an appropriate genre - maybe &#39;Audiobook&#39;, or &#39;Nonfiction&#39;&lt;/li&gt;
&lt;li&gt;Click the &#39;Options&#39; tab and make these changes:&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;Media kind: Audiobook&lt;/li&gt;
&lt;li&gt;Remember position: Yes&lt;/li&gt;
&lt;li&gt;Skip when shuffling: Yes&lt;/li&gt;
&lt;li&gt;Gapless album: Yes&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&quot;6&quot;&gt;
&lt;li&gt;Click &#39;OK&#39; and wait for iTunes to process all the files Your book will now show up under the Books section of iTunes - Sync your iPod and everything should be as you want it.&lt;/li&gt;
&lt;/ol&gt;
</content>
	</entry>
	
	<entry>
		<title>6 weeks of dieting</title>
		<link href="https://secreci.com/posts/20120904-6-weeks-of-dieting/"/>
		<updated>2012-09-04T19:39:11Z</updated>
		<id>https://secreci.com/posts/20120904-6-weeks-of-dieting/</id>
		<summary>6 weeks of dieting</summary>
		<category term="lifestyle"/>
		<content type="html">&lt;p&gt;When I was a teenager, I was slim and sporty - I was a keen member of my local swimming club and swam at Scottish Schools level, I ran cross country and track at lunchtimes and evenings, I played squash for a while and competed in a few biathalons.&lt;br /&gt;
When I was 18, I went to university and bought a flat right round the corner from &amp;quot;Scotland&#39;s Fish and Chip Shop of the Year 1989, 1990, 1993&amp;quot;.&lt;br /&gt;
After going undercover as a fattie for nearly 20 years, I&#39;ve decided it is time to remove my disguise. I&#39;ve tried dieting before, but I&#39;ve never stuck with them for very long. This time it&#39;s been different, I signed up with &lt;a href=&quot;http://www.myfitnesspal.com/&quot;&gt;myFitnessPal&lt;/a&gt; and downloaded the mobile application for my phone.&lt;br /&gt;
During the sign-up process, you give various information about yourself; your age, sex, weight, height etc. and it gives you recommendations of what your ideal weight is, and how many calories you should be eating in order to lose the excess.&lt;br /&gt;
The mobile application lets you track everything you are eating and drinking so you always know whether you are on target or not. If you are eating prepackaged food, you can scan the barcode and all the nutritional information is automatically recorded for you - I haven&#39;t found many items which are not in their database.&lt;br /&gt;
I&#39;ve only been on the diet for 6 weeks, but I have found it really easy to stay within my calorie target each day and have seen great results. Before I started watching the calories, an average day would have consisted of:&lt;/p&gt;
&lt;h2 id=&quot;breakfast&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20120904-6-weeks-of-dieting/#breakfast&quot;&gt;&lt;span&gt;Breakfast&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Bacon roll with back pudding and brown sauce (at the weekend I might have a fry up)&lt;/li&gt;
&lt;li&gt;Small bottle of fresh orange (gotta be healthy!)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;lunch&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20120904-6-weeks-of-dieting/#lunch&quot;&gt;&lt;span&gt;Lunch&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Fish and chips or Lasagne or whatever was on in the canteen&lt;/li&gt;
&lt;li&gt;Bottle of diet coke&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;dinner&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20120904-6-weeks-of-dieting/#dinner&quot;&gt;&lt;span&gt;Dinner&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Macaroni cheese or Pizza or some other microwave meal&lt;/li&gt;
&lt;li&gt;Bottle of diet coke&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;snacks&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20120904-6-weeks-of-dieting/#snacks&quot;&gt;&lt;span&gt;Snacks&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Chocolate bar or crisps or biscuits&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It&#39;s no wonder I was overweight. My diet now is much better, and I don&#39;t feel hungry as I have with other diets. I also don&#39;t feel guilty about anything I am eating because I know how many calories it has and can &#39;budget&#39;.&lt;/p&gt;
&lt;h2 id=&quot;breakfast-1&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20120904-6-weeks-of-dieting/#breakfast-1&quot;&gt;&lt;span&gt;Breakfast&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Small bowl of All Bran or Bran Flakes with Skimmed Milk&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;lunch-1&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20120904-6-weeks-of-dieting/#lunch-1&quot;&gt;&lt;span&gt;Lunch&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Salad or Soup&lt;/li&gt;
&lt;li&gt;Bottle of sparkling water&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;dinner-1&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20120904-6-weeks-of-dieting/#dinner-1&quot;&gt;&lt;span&gt;Dinner&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Low calorie microwave meal / Steamed chicken &amp;amp; vegetables&lt;/li&gt;
&lt;li&gt;Bottle of sparkling water&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;snacks-1&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20120904-6-weeks-of-dieting/#snacks-1&quot;&gt;&lt;span&gt;Snacks&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Fresh fruit or Cereal with skimmed milk&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;6 weeks ago, I weighed 95kg (209lbs), this morning I was 87.6kg (193lbs) so that&#39;s 8kg(18.5lbs) lost so far.&lt;/p&gt;
&lt;p&gt;This tracker should show any progress which I have made since making this post.&lt;br /&gt;
&lt;img src=&quot;http://tickers.myfitnesspal.com/ticker/show/2662/8651/26628651.png&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
Created by MyFitnessPal -&lt;br /&gt;
&lt;a href=&quot;http://www.myfitnesspal.com/&quot;&gt;Nutrition Facts&lt;/a&gt; For Foods   &lt;/p&gt;
&lt;p&gt;Even though this is not a huge amout of weight lost so far, I have noticed huge changes to how I look and feel. The first thing I noticed was that my face, neck and arms were slimmer. I didn&#39;t initially see any difference in my waist size, but it is now comfortably 2 inches smaller than it was and I have bought new trousers as the old ones were just too loose.&lt;/p&gt;
&lt;p&gt;It&#39;s not just my size which has changed. When I tried jogging recently, I found I could only run for a few minutes before my calves cramped up - I actually tore the muscle due to this - I wasn&#39;t tired or particularly out of breath when this happened, I just couldn&#39;t run longer than a few minutes. Even if I walked briskly, I found my legs getting tight and sore. Now I have none of these problems and I am enjoying walking 40 minutes or so fairly briskly to get home from work each night and have no pain in my legs.&lt;/p&gt;
&lt;p&gt;I used to get regular headaches too, but since changing my diet I have had none - I can only assume that they were caused by the foods I was eating, or a lack of water (I am now drinking much more water). So, if you are a bit overweight, or unfit, give MyFitnessPal a try for a few weeks - dieting isn&#39;t as difficult as everyone makes out and I have had real results in only a few weeks. Let me know in the comments how much you like the new you!  &lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>my1login.com First Impressions</title>
		<link href="https://secreci.com/posts/20120801-my1login-com-first-impressions/"/>
		<updated>2012-08-01T21:55:27Z</updated>
		<id>https://secreci.com/posts/20120801-my1login-com-first-impressions/</id>
		<summary>my1login.com First Impressions</summary>
		<category term="security"/>
		<category term="review"/>
		<content type="html">&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/my1login_logo.png&quot; alt=&quot;My1Login Logo&quot; title=&quot;My1Login Logo&quot; /&gt;&lt;/p&gt;
&lt;p&gt;As you may have seen from some of my recent posts, I have been doing some research into ways of storing passwords securely. I was recently followed on twitter by an account called &lt;a href=&quot;http://www.twitter.com/my1login&quot;&gt;my1login&lt;/a&gt; whose tagline is &amp;quot;The only login you&#39;ll have to remember from now on.&amp;quot; - that sounded intriguing, so I thought I&#39;d find out more.&lt;br /&gt;
They kindly sent me a free pro account trial which I signed up for.&lt;/p&gt;
&lt;h4 id=&quot;overview&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20120801-my1login-com-first-impressions/#overview&quot;&gt;&lt;span&gt;Overview&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;my1login is currently in beta, and I found a few small glitches during sign-up, but the concept seems good. The site stores bookmarks to all the sites you have an account on, along with your username and password.&lt;br /&gt;
The information is encrypted, and my1login claim even they do not have access to the unencrypted data.&lt;br /&gt;
When you want to log into a site, you click the bookmark to take you to the login screen, then click the ((( my1click ))) bookmark in your browser to automatically enter your login details and log you in to the site. This worked smoothly when I tried it with a test account.&lt;br /&gt;
This is a password safe which is accessible from any computer on the internet.&lt;/p&gt;
&lt;h4 id=&quot;sign-up-process&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20120801-my1login-com-first-impressions/#sign-up-process&quot;&gt;&lt;span&gt;Sign-up Process&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Sign up for the service was fairly pain-free. When I used the promotional link they sent me, I was offered a free trial of the pro account for one month. The screen suggested that the pro account will cost $2/month, although clicking on the &#39;more info&#39; shows the pro account is £1.50/month (about $2.32).&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/pro_price.png&quot; alt=&quot;Pro price&quot; title=&quot;Pro price&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/account_types.png&quot; alt=&quot;Account Types&quot; title=&quot;Account Types&quot; /&gt;&lt;/p&gt;
&lt;p&gt;After entering my email address, choosing a password and confirming my email address by clicking a link in the registration message, I was prompted to log in to the system. This was the first annoyance.&lt;/p&gt;
&lt;h4 id=&quot;setup&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20120801-my1login-com-first-impressions/#setup&quot;&gt;&lt;span&gt;Setup&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/login.png&quot; alt=&quot;Login&quot; title=&quot;Login&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Logging in requires the use of a &#39;Partial Password&#39;. That is, you need to enter, say, the 5th, 13th and 17th characters of your password.&lt;br /&gt;
This would be fine if you could type them in, but you have to choose them from dropdown boxes. This means that you have to scroll down a long list of characters to enter your password.&lt;br /&gt;
It also explains the restrictions on the characters you can use in your password.&lt;br /&gt;
&amp;quot;Password must be between 8 and 20 characters and must contain at least 1 number. Only these non alphanumeric characters are allowed: ! @ $ % ^ &amp;amp; * ( )&amp;quot;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/setup_steps.png&quot; alt=&quot;Setup Steps&quot; title=&quot;Setup Steps&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Once I was logged in, the interface is light and airy and not at all intimidating for non-techies. I was given a nice clear list of steps to follow to complete the setup.&lt;br /&gt;
The first step is to create a security key phrase. This is the passphrase which is used to encrypt the password entries (256 bit AES), and there are some good examples of memorable phrases to give you an idea of what a passphrase should look like, and has an onscreen keyboard if you are worried about keyloggers. I suspect that malware would still be able to capture what you type so, as always, it&#39;s important to keep your anti-virus up to date.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/Support_centre_error.png&quot; alt=&quot;Support Centre error&quot; title=&quot;Support Centre error&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I checked the help system at this point but, disappointingly, I got an error - this might be enough to put some users off. I continued on anyway to see what the interface would look like after I completed the setup, and later on, clicking help did work and gave some useful information and support contacts.  &lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/bookmarklet.png&quot; alt=&quot;Bookmarklet&quot; title=&quot;Bookmarklet&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The next step is to set up the &#39;my1click&#39; bookmarklet.&lt;br /&gt;
Adding this to your browser is just a case of dragging the bookmarklet to your bookmarks toolbar. It would have been useful to have instructions on how to display the toolbar if you don&#39;t already see it. (In Firefox, click the Firefox menu, choose &#39;options&#39; and check &#39;Bookmark toolbar&#39;).&lt;br /&gt;
Clicking the bookmarklet will automatically enter your login details into the site you are currently visiting.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/new_bookmark.png&quot; alt=&quot;New bookmark&quot; title=&quot;New bookmark&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The final step is to enter your first bookmark details. This is nicely done.&lt;br /&gt;
You enter the web address of the login page of your site, and it automatically suggests a title. For example, entering &lt;a href=&quot;http://planetmediocrity.com/&quot;&gt;http://planetmediocrity.com&lt;/a&gt; resulted in a suggestion of &#39;PlanetMediocrity&#39; for the title.&lt;br /&gt;
A nice touch.&lt;br /&gt;
You then enter your username and password (which is hidden as you type it). There is an option to display the password if you want to check it, and you get an indication of how strong the password is. You can then add some notes about the login. The notes are also encrypted when you save the entry.&lt;/p&gt;
&lt;p&gt;Another nice touch is the option of adding tags to the entry to assist with finding entries once you have a lot of them in your bookmark list.&lt;br /&gt;
There is an integrated password generator if you don&#39;t want to choose a password yourself. It allows you to choose the length of the password and what characters it should contain: Upper case, Lower case, Numbers, and Symbols.&lt;br /&gt;
When I clicked save after creating a new bookmark, I briefly saw the encrypted values before the screen refreshed - I don&#39;t know if that could be a security risk or not.&lt;/p&gt;
&lt;p&gt;The bookmarks are displayed in a list and there are tabs for &#39;personal&#39;, &#39;work&#39; and &#39;other&#39; to help you organise them.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/glitch.png&quot; alt=&quot;glitch&quot; title=&quot;glitch&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Clicking around, I found an option to share entries with contacts. The person you share the entry with will need to sign up for an account with my1login before they can access the password, but there is the free option if they don&#39;t want a pro account.&lt;br /&gt;
There are a few interface glitches, for example the image problem with the password display shown to the left, but nothing that stops this being a very useful service. If you already have bookmarks saved, my1login will allow you to import from Passpack, keypass, roboform and clipperz, as well as from a spreadsheet or a csv file.&lt;/p&gt;
&lt;h2 id=&quot;comments&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20120801-my1login-com-first-impressions/#comments&quot;&gt;&lt;span&gt;Comments&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20120801-my1login-com-first-impressions/#21743&quot; title=&quot;2013-05-06 12:41:05&quot;&gt;Robert B&lt;/a&gt;:&lt;/strong&gt; Nice review. Looking forward to the follow-up.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Unique Memorable Passwords</title>
		<link href="https://secreci.com/posts/20120715-unique-memorable-passwords/"/>
		<updated>2012-07-15T14:15:28Z</updated>
		<id>https://secreci.com/posts/20120715-unique-memorable-passwords/</id>
		<summary>Unique Memorable Passwords</summary>
		<category term="security"/>
		<content type="html">&lt;p&gt;I’m sure you’ve seen reports in the news recently of all the online services which have been hacked causing their users&#39; passwords to be exposed.&lt;/p&gt;
&lt;p&gt;Assuming the website has followed best practice and only stored salted password hashes, this shouldn’t be a big deal as it will take the hackers some time to decode the password and in that time you can log on and change your password. However, a lot of people will use the same password on multiple services. This means that, if a hacker gets access to one password, he may be able to log into lots of other services using your account.&lt;/p&gt;
&lt;p&gt;The Security industry is constantly reminding people not to use the same password for multiple services, but this is an almost impossible task.&lt;/p&gt;
&lt;p&gt;I recently spent a couple of days tracking down all my online accounts and setting secure passwords on all of them – I found 78 different accounts – there is no way I could remember 78 unique passwords without some sort of reminder.&lt;/p&gt;
&lt;p&gt;A few years ago I came up with one solution, but I think I now have the beginnings of a better one.&lt;/p&gt;
&lt;p&gt;My original solution was to come up with a password which I would be able to remember – I used a line from a book, taking the first letter of each word to make up the password.&lt;br /&gt;
For example, if I chose the line “It was a bright cold day in April, and the clocks were striking thirteen.”, my password would be IwabcdiA,atcws13. That’s not a bad starting point as it’s easily memorable, 17 characters long, it has upper and lower case letters, numbers and symbols. But, we now need some way to make it unique to each site.&lt;/p&gt;
&lt;p&gt;I added the consonants from the site name to the middle of the password. For example, &lt;a href=&quot;http://www.google.com/&quot;&gt;www.google.com&lt;/a&gt; would become “Ggl” and my password would be IwabcdiA,Gglatcws13.&lt;br /&gt;
My twitter password would be IwabcdiA,Twttratcws13.&lt;/p&gt;
&lt;p&gt;The problem with this system is that an attacker who finds one of your passwords might recognise the string “Twttr” as being related to Twitter and be able to guess your other passwords.&lt;/p&gt;
&lt;p&gt;I realised that it would be more secure to have completely unique passwords for every site, and tried to find a way of performing some sort of hashing algorithm on the domain name with and appended salt mentally to produce a unique password. It turns out this is pretty difficult to do.&lt;/p&gt;
&lt;p&gt;I came up with the following system which will allow you to work out your password with a pen and paper – I think this is better than having your passwords written down, and does not rely on having access to a password manager (although I have a &lt;a href=&quot;https://secreci.com/posts/20120713-the-take-anywhere-password-manager/&quot;&gt;solution to that too&lt;/a&gt;!)&lt;/p&gt;
&lt;p&gt;Ok, bare with me – this gets a bit complicated, but after you have done it a couple of times it becomes easier.  &lt;strong&gt;I’m not a cryptographer, so I can’t vouch for this being at all secure, use it at your own risk.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In my opinion, though, it must be more secure than using the same password in multiple places.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Firstly, choose a secret number, say 5 numbers long. I’ll use 35187 as an example – this is used for every password&lt;/li&gt;
&lt;li&gt;Next, take the domain name – &lt;a href=&quot;http://example.com/&quot;&gt;example.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use RotX on each of the numbers where X is a digit of your secret number. RotX just means to count X letters through the alphabet from your starting letter. So, C Rot5 would become H (count in your head “C,d,e,f,g,H”) We will change our domain name e+3, x+5, a+1, m+8, p+7 (then repeat your number as necessary) l+3, e+5, .+1 (I’ll come back to the dot in a second), c+ 8, o+7, m+3&lt;/li&gt;
&lt;li&gt;We now have hcbuwoj.kvp&lt;/li&gt;
&lt;li&gt;Where there is punctuation, count the number of characters before the symbol and use [shift]+number to create a symbol. In this case, hcbuwoj has 7 characters, and [shift]+7 gives an &amp;amp; symbol.&lt;/li&gt;
&lt;li&gt;We now have hcbuwoj&amp;amp;kvp&lt;/li&gt;
&lt;li&gt;Transpose (swap) each pair of characters – this becomes chubow&amp;amp;jvkp&lt;/li&gt;
&lt;li&gt;Capitalise all characters which are on the left side of the keyboard – this becomes ChuBoW&amp;amp;jkp&lt;/li&gt;
&lt;li&gt;Before each group of capital letters, enter the number of preceding lower case letters – we now have 0Chu2Bo1W&amp;amp;jkp&lt;/li&gt;
&lt;li&gt;Before each number insert [shift]+[n+1], that is, increase the number by one and insert the symbol which you get by typing shift and the number. On a UK keyboard, this gives !0Chu£2Bo”1W&amp;amp;jkp which is your final password.&lt;br /&gt;
You can, of course, come up with your own set of steps and customise to suit your own taste. The idea is to come up with a password which looks as random as possible and does not obviously relate to the original domain name.  This system may be useful where you are travelling across borders and do not want to transport passwords which could be intercepted by the authorities.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You can make some changes to the above steps to speed up the generation process – for example step 8 can be done at the same time as step 3.&lt;/p&gt;
&lt;p&gt;Do you have any better systems, or see any holes in the system? Let me know in the comments!&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>The take-anywhere Password Manager</title>
		<link href="https://secreci.com/posts/20120713-the-take-anywhere-password-manager/"/>
		<updated>2012-07-13T21:02:12Z</updated>
		<id>https://secreci.com/posts/20120713-the-take-anywhere-password-manager/</id>
		<summary>The take-anywhere Password Manager</summary>
		<category term="security"/>
		<category term="tutorial"/>
		<content type="html">&lt;p&gt;Recently, there has been a spate of websites being hacked and passwords being exposed. Although I do use unique passwords on all sites they all followed a rule which meant that, if one password was exposed, it wouldn’t take a genius to work out the others.&lt;br /&gt;
I know that a lot of people use the same password for multiple online accounts. And who can blame them, I have found I have 59 different accounts (that I know of!) – who can remember that many unique passwords?&lt;/p&gt;
&lt;p&gt;I decided it was time to come up with a better system. I wasn’t interested storing the passwords on my computer as I wouldn’t have access to them on my phone, or at work, or if I was using a friend’s computer.&lt;br /&gt;
I considered writing them down and carrying them in my wallet as has been &lt;a href=&quot;http://www.schneier.com/news-101.html&quot;&gt;suggested previously by Bruce Schneier&lt;/a&gt;, but I didn’t want to face the mad dash to change my passwords if I ever lost my wallet.&lt;br /&gt;
I came up with a system which will give you a secure(?) password for every site, but it has drawbacks. &lt;a href=&quot;https://secreci.com/posts/20120715-unique-memorable-passwords/&quot;&gt;I may post the method later&lt;/a&gt;. I did some research and found that it is possible to use a password manager and share the database via Dropbox which makes it available on all your computers and on your mobile phone. Problem solved!&lt;br /&gt;
Here are the steps you will need to follow to set it up for yourself.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sign up for a Dropbox account and install the client on your desktop computer. If you use this link, we both get some extra free space and I will be forever thankful to you :-D  &lt;a href=&quot;http://db.tt/4Db0HSpj&quot;&gt;http://db.tt/4Db0HSpj&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Download KeePass from &lt;a href=&quot;http://keepass.info/download.html&quot;&gt;http://keepass.info/download.html&lt;/a&gt; It is available for Windows, Mac and Linux. I suggest you download the Classic Edition rather than the Professional Edition as it will allow you to write passwords on your mobile (The professional edition will only allow read access from your phone)&lt;/li&gt;
&lt;li&gt;Install KeePass, following the wizard and run it when complete.&lt;/li&gt;
&lt;li&gt;Create a new database in KeePass by choosing File &amp;gt; New&lt;/li&gt;
&lt;li&gt;Choose a strong password as the master password – this will be the only password you need to remember.&lt;/li&gt;
&lt;li&gt;Repeat the password when prompted.&lt;/li&gt;
&lt;li&gt;You should now see the main KeePass window with categories under which you can save passwords.&lt;/li&gt;
&lt;li&gt;See the &lt;a href=&quot;http://keepass.info/help/base/firststeps.html&quot;&gt;excellent Keepass FAQ&lt;/a&gt; for details on how to enter and generate secure passwords (it’s easy)&lt;/li&gt;
&lt;li&gt;Save the database to your local Dropbox folder.&lt;/li&gt;
&lt;li&gt;Close the desktop client.&lt;/li&gt;
&lt;li&gt;Download the Dropbox app for your phone and install it – enter the details you used when signing up for your dropbox account.&lt;/li&gt;
&lt;li&gt;Download the appropriate client for your mobile phone. I use Android, so downloaded &lt;a href=&quot;https://play.google.com/store/apps/details?id=com.android.keepass&amp;amp;hl=en&quot;&gt;KeePassDroid&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Open the mobile Dropbox client and you should see the .kdb – click on it and it will open in KeePass.&lt;/li&gt;
&lt;li&gt;Enter the secure password you set up earlier and click ‘OK’&lt;/li&gt;
&lt;li&gt;You will now see the General group - click on it and you will see the same sub-groups which you saw in the desktop client. Once you have stored your passwords, you will be able to access them under the appropriate group. So, now all my passwords are secure, how do I use them on my phone?&lt;/li&gt;
&lt;li&gt;Open the General group, then the Internet sub-group – you will see all your website logins.&lt;/li&gt;
&lt;li&gt;Click the site you want to access.&lt;/li&gt;
&lt;li&gt;In the notifications bar at the top of the screen, you will see two new entries with padlock symbols next to them: Copy username to clipboard and Copy password to clipboard&lt;/li&gt;
&lt;li&gt;Click the URL of the site and navigate to the login screen&lt;/li&gt;
&lt;li&gt;Choose ‘Copy username to clipboard’ from your notification area and paste it into the Username field on the Website&lt;/li&gt;
&lt;li&gt;Choose ‘Copy password to clipboard’ from your notification area and paste it into the Password field on the Website&lt;/li&gt;
&lt;li&gt;Click ‘Login’ – you are in the site without having to memorise your password! Now, go and change all your passwords choosing secure, unique passwords and store them in your password manager. If a hacker gets one of your passwords, your other accounts will still be safe, and if you choose complex enough passwords, the hacker may not even be able to get your password at all if they are stored as hashes by the website.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you’ve found this useful, &lt;a href=&quot;http://db.tt/4Db0HSpj&quot;&gt;please sign up to Dropbox using my link so we both get some extra free space&lt;/a&gt;! Thanks!&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>LP-E6 Charging Problem and solution</title>
		<link href="https://secreci.com/posts/20120519-lp-e6-charging-problem-and-solution/"/>
		<updated>2012-05-19T13:26:19Z</updated>
		<id>https://secreci.com/posts/20120519-lp-e6-charging-problem-and-solution/</id>
		<summary>LP-E6 Charging Problem and solution</summary>
		<category term="review"/>
		<content type="html">&lt;p&gt;This morning, I put my LP-E6 battery for my Canon EOS 7D camera on to charge in the standard LC-E6E charger, but it did not charge at all.&lt;br /&gt;
The charger has a single LED which shows the charging state of the battery.&lt;/p&gt;
&lt;p&gt;While charging, the LED is orange - it flashes once and pauses when the battery is less than 50% charged, twice and a pause when the battery is less than 75% charged and three flashes and a pause when the charge is less than 100%. Once the battery is fully charged, the LED turns green and lights continuously.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;*   *   *   *   *    &amp;lt; 50% 
**  **  **  **  **   &amp;lt; 75% 
*** *** *** *** ***  &amp;lt;100% 
******************** = Problem! 
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;When I connected the battery, it flashed orange rapidly with no pause.&lt;/p&gt;
&lt;p&gt;To fix the problem, I unplugged the charger, I cleaned all four contacts using a dry duster. There are two copper &#39;blades&#39; and two silver &#39;bent wire&#39; contacts. The charger seems to gather lots of dust. I also cleaned the contacts on the battery taking great care not to touch them with anything conductive. The exposed contacts can be rubbed gently with a cloth, but the two slots which connect to the &#39;blades&#39; on the charger are harder to clean. I folded a clean piece of paper in half and gently pushed it into the slots - there was a small amount of fluff which came out of the slots.&lt;/p&gt;
&lt;p&gt;When I put the battery on to charge again, it was showing 50% charged and after a few minutes showed 75%. I hope this will save you spending £75 on a new battery, or £50 or a [new charger!&lt;/p&gt;
&lt;h2 id=&quot;comments&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20120519-lp-e6-charging-problem-and-solution/#comments&quot;&gt;&lt;span&gt;Comments&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20120519-lp-e6-charging-problem-and-solution/#39309&quot; title=&quot;2013-11-24 14:30:39&quot;&gt;Nick&lt;/a&gt;:&lt;/strong&gt; &lt;a href=&quot;http://www.photographybay.com/2013/10/08/canon-lp-e6-battery-pack-service-notice-issued/?awt_l=99YX2&amp;amp;awt_m=Jb9vCN2Y8f62xu&quot;&gt;http://www.photographybay.com/2013/10/08/canon-lp-e6-battery-pack-service-notice-issued/?awt_l=99YX2&amp;amp;awt_m=Jb9vCN2Y8f62xu&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20120519-lp-e6-charging-problem-and-solution/#8673&quot; title=&quot;2012-10-20 20:07:10&quot;&gt;lesault&lt;/a&gt;:&lt;/strong&gt; You could try a different charger, and a different battery to work out whether its the battery or charger at fault.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20120519-lp-e6-charging-problem-and-solution/#8564&quot; title=&quot;2012-10-10 16:04:33&quot;&gt;Ardi&lt;/a&gt;:&lt;/strong&gt; doesn&#39;t work for me, do you think there are other ways to fix this? i just bought this today never used it ugh&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20120519-lp-e6-charging-problem-and-solution/#30805&quot; title=&quot;2013-09-23 06:36:33&quot;&gt;jen&lt;/a&gt;:&lt;/strong&gt; I just purchased three new LP-E6 batteries (Canon) each one won&#39;t charge, constant flashing amber lights, I am not happy with Canon, what gives?? I am using the correct charger supplied by Canon. So I unplugged it, removed the battery, plugged it back in and rammed the darn battery back in, now it works! I am dumbfounded!! Also dumb I could have broken the charger although I am not that strong really. The battery light is showing at one flash. Awesome!! Hope the rest will respond the same way.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20120519-lp-e6-charging-problem-and-solution/#16962&quot; title=&quot;2013-04-04 14:57:57&quot;&gt;John T&lt;/a&gt;:&lt;/strong&gt; I just repaired an LP-E6 battery (third party) that exhibited the same symptom (constant flashing led). First I cleaned the contacts - no change. Then I decided (just out of curiosity) to short the contacts of the hard to get to pair (I had to slide a thin metal ruler, and a metal nail file in the slots). Now it is charging again! Maybe I was just lucky.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20120519-lp-e6-charging-problem-and-solution/#28435&quot; title=&quot;2013-08-15 16:19:48&quot;&gt;Raul&lt;/a&gt;:&lt;/strong&gt; Same problem here, with both lpe6 batteries I have I always have to watch the charger to make sure it does not all of a sudden start flashing continuously, mostly when it does I pull it out, put it back in and it works again, sometimes it takes a couple of tries but now there is one battery that I often plug and the charger doesn&#39;t react at all... I tried cleaning and it didn&#39;t really change anything, am afraid to try the shortcut method though...&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20120519-lp-e6-charging-problem-and-solution/#30494&quot; title=&quot;2013-09-16 06:17:35&quot;&gt;Rich&lt;/a&gt;:&lt;/strong&gt; I took My shirt and began to wipe the metal contacts on the actual charger and found the battery started to charge after that. So again I took my shirt and wiped both the battery and the charger metal contacts and it worked hope this helps .&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20120519-lp-e6-charging-problem-and-solution/#75894&quot; title=&quot;2014-05-23 17:54:33&quot;&gt;Mixed_Noodles&lt;/a&gt;:&lt;/strong&gt; This seems to have worked for me. &amp;quot;I just repaired an LP-E6 battery (third party) that exhibited the same symptom (constant flashing led). First I cleaned the contacts – no change. Then I decided (just out of curiosity) to short the contacts of the hard to get to pair (I had to slide a thin metal ruler, and a metal nail file in the slots). Now it is charging again! Maybe I was just lucky.&amp;quot;&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20120519-lp-e6-charging-problem-and-solution/#31331&quot; title=&quot;2013-10-03 10:43:19&quot;&gt;Alek&lt;/a&gt;:&lt;/strong&gt; Just bought a 60d and had same problem. Wiped leads cleaned with a clean towel and paper towel for the slots in the charger. I also pulled the charger prongs out a bit with a pointed knife and now the battery is charging fine. Thank you for all the advice above.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20120519-lp-e6-charging-problem-and-solution/#78753&quot; title=&quot;2014-06-25 17:37:56&quot;&gt;Ben&lt;/a&gt;:&lt;/strong&gt; I just bought another Canon LP-E6 battery for my Canon 70D camera. When I charged this new battery for 203 hours with LC-E6 charger (as I did for the orignial one caming with the camera), I got a big trouble: My charger and the battery got very hot with orange light flashing quickly; it showed about 50% charged. I took it out and followed Canon&#39;s Official Instructions to fix problems, but the same problem remained unsolved. Then let them cool, and re-charged it witha a fan aiming at the charger place was running. This time the charger did NOT become hot, after about one hour, the green light is ON, and I checked it and it showed 100% charged. This evidence indicates that the trouble was due to increased temperature in the charger. I hope this problem can be solved. Keep the finger crossed for next battery charging.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20120519-lp-e6-charging-problem-and-solution/#27390&quot; title=&quot;2013-07-31 07:21:23&quot;&gt;Sidath&lt;/a&gt;:&lt;/strong&gt; I have the same problem with my 2 Canon LP-E6 battery&#39;s. So I thought problem is in the charger. but I let the battery discharge fully by connecting a PC fan and let it discharge completely(short circuiting a battery can led to a explosion) . it took me one night. then the battery charged fine but newer accomplished the 100%. and my 7D say the condition of the battery is two stars (I used this battery&#39;s more than a year, back then always the condition of the battery is three stars)&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20120519-lp-e6-charging-problem-and-solution/#28557&quot; title=&quot;2013-08-18 07:47:51&quot;&gt;Tim&lt;/a&gt;:&lt;/strong&gt; I just experienced this problem with a relatively new battery and charger. After reading this blog, I took a close look at the 2 spring loaded contacts in the charger and noticed that one wasn&#39;t springing up completely. I used a narrow blade to wiggle the contact (with the charger off!) and now it has sprung out and the battery is charging properly Hope this helps someone.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20120519-lp-e6-charging-problem-and-solution/#114519&quot; title=&quot;2015-06-10 08:04:17&quot;&gt;Ayomide&lt;/a&gt;:&lt;/strong&gt; what if the amber light doesn&#39;t come on at all? got my camera a few days ago and I&#39;ve charged it twice but yesterday I tried to charge it with the Canon charger and the amber light won&#39;t even come on&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20120519-lp-e6-charging-problem-and-solution/#80171&quot; title=&quot;2014-07-14 11:24:03&quot;&gt;jordan&lt;/a&gt;:&lt;/strong&gt; Hi everyone, I&#39;ve fixed the problem with my electrician co-worker teacher&#39;s help. If any of others suggestions and solutions might not seems to work with you guys try these: THE PROBLEM: The battery is dried out, meaning the battery is dead. THE SOLUTION: You need to SHOCK the battery like a dying man being shocked by &amp;quot;Defibrillator&amp;quot; in the hospital. EQUIPMENT NEEDED: -Regulated DC Power Supply -Continuity tester cables -Alligator clips IF you don&#39;t have these resources just go to an electronics shop and do the same procedures OR just buy a new battery. XD PROCEDURE: Step 1: Set the Regulator to at least twice the batteries needed voltage(Depend on you) Step 2: If you see that the battery is alive lowers the voltages to the battery&#39;s need for about 20-30 minutes. Step 3: Try the battery in the charger if the blinking stops, if not repeat step 2(But I think 20-30 minutes is enough) And there you go. You battery is alive and ready for work!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20120519-lp-e6-charging-problem-and-solution/#55619&quot; title=&quot;2014-02-04 12:59:51&quot;&gt;youbache&lt;/a&gt;:&lt;/strong&gt; facing the same problem , my canon 60D wont turn , sometimes it work ! battery showing full charged after few pictures its become 0% ! then a shutdown , when i charge it again , it doesn&#39;t work ! after a time it work , WTF is that !!!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20120519-lp-e6-charging-problem-and-solution/#108686&quot; title=&quot;2015-01-24 11:26:43&quot;&gt;Jose norlito Villanueva&lt;/a&gt;:&lt;/strong&gt; it works for me, I cleaned the contacts both battery and charger then press the battery harder to the charger, it start to charge in normal mode.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20120519-lp-e6-charging-problem-and-solution/#119839&quot; title=&quot;2016-01-13 10:51:12&quot;&gt;Nathanael Coyne&lt;/a&gt;:&lt;/strong&gt; I ran a small 12V bilge pump with the battery for 5 minutes and now the battery is charging ALTHOUGH I did accidentally short the battery with the two prongs I was using to connect the pump so it&#39;s hard to know whether it was loading or shorting the battery that did the trick.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20120519-lp-e6-charging-problem-and-solution/#128575&quot; title=&quot;2017-06-03 17:09:30&quot;&gt;joey skinner&lt;/a&gt;:&lt;/strong&gt; My battery wouldn&#39;t charge after I dropped it on a hard floor. Opened the case and found a broken spot weld on the connector between the two cells.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20120519-lp-e6-charging-problem-and-solution/#137649&quot; title=&quot;2018-07-13 07:00:24&quot;&gt;Nir&lt;/a&gt;:&lt;/strong&gt; I can&#39;t believe it ! It&#39;s really working ! At first I thought the charger is dead. I&#39;ve cleaned it up too with a piece of cloth and a paper fold into half the the battery came back to life ! Thank you very much for the amazing tip ! I wish I would have read your post before I&#39;ve ordered a new charger and two new batteries from eBay. Regards, Nir&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>13 steps to an antique phone case</title>
		<link href="https://secreci.com/posts/20120506-13-steps-to-an-antique-phone-case/"/>
		<updated>2012-05-06T00:47:52Z</updated>
		<id>https://secreci.com/posts/20120506-13-steps-to-an-antique-phone-case/</id>
		<summary>13 steps to an antique phone case</summary>
		<category term="maker"/>
		<category term="tutorial"/>
		<content type="html">&lt;p&gt;My girlfriend wanted a unique and interesting case for her mobile phone to replace the one she was using. She had seen handbags made of old books and I had recently bought a Dodocase for my playbook and that gave us the idea of hacking an old book into a phone case. Here&#39;s how I did it and how it looks...&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/IMG_2521.jpg&quot; alt=&quot;A cheap, but attractive book&quot; title=&quot;A cheap, but attractive book&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 1&lt;/strong&gt;, find an attractive book about the right size for your phone. We looked in book shops and charity shops before finding a nice ivory coloured book titled &amp;quot;An Anthology of Love&amp;quot; - try not to pick a rare or valuable book!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/IMG_2519.jpg&quot; alt=&quot;A cheap eBay case&quot; title=&quot;A cheap eBay case&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 2&lt;/strong&gt;, get a cheap case for your phone which you can steal the mount from - the one we used was from eBay and cost £1.99&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/IMG_2522.jpg&quot; alt=&quot;Pages removed&quot; title=&quot;Pages removed&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 3&lt;/strong&gt;, carefully trim the pages out of the cover, and trim the paper which makes up the inside of the cover to reveal the edges of the fabric which makes up the outside of the cover. Dampening the paper with soapy water helps unstick it. I decided not to remove all of the paper as it could damage the cardboard and make the cover weak.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/IMG_2524.jpg&quot; alt=&quot;Fix the paper, unstick the outer cover&quot; title=&quot;Fix the paper, unstick the outer cover&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 4&lt;/strong&gt;, Glue down any parts of the paper which are hanging off - I used PVA &#39;white&#39; glue. Also unstick the edges of the outer cover and flatten them out.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/IMG_2525.jpg&quot; alt=&quot;Mark where to cut&quot; title=&quot;Mark where to cut&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 5&lt;/strong&gt;, Put your phone, in the mount, in place on the cover and mark where the cardboard needs to be trimmed.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/IMG_2526.jpg&quot; alt=&quot;Mark the cuts and unfold the other sides&quot; title=&quot;Mark the cuts and unfold the other sides&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 6&lt;/strong&gt;, Unfold the other edges and draw straight lines where you are going to cut the cardboard.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/IMG_2527.jpg&quot; alt=&quot;Cut the cardboard&quot; title=&quot;Cut the cardboard&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 7&lt;/strong&gt;, Carefully peel the outer cover away from the cardboard until you are just past the line, then cut the cardboard with a craft knife and steel rule.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/IMG_2528.jpg&quot; alt=&quot;Trim the outer cover&quot; title=&quot;Trim the outer cover&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 8&lt;/strong&gt;, Trim the outer cover to size - use the existing cover as a template.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/IMG_2529.jpg&quot; alt=&quot;Glue the edges and cut holes&quot; title=&quot;Glue the edges and cut holes&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 9&lt;/strong&gt;, Glue the outer cover down nice and tight, and cut any holes you ned for the phone camera etc.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 10&lt;/strong&gt;, Glue a ribbon across the middle of the cover to allow you to tie it closed later. Glue it firmly - I used a hot-melt glue gun.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 11&lt;/strong&gt;, Cover the inside of the cover with a rectangle of paper. Glue it down firmly and take the opportunity to print a fancy inside cover if you like.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 12&lt;/strong&gt;, Glue the plastic mount into place - again I used hot-melt glue, and plenty of it!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/IMG_2530.jpg&quot; alt=&quot;Outside cover&quot; title=&quot;Outside cover&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 13&lt;/strong&gt;, Put your phone in the mount and show it off to your friends :)&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/IMG_2533.jpg&quot; alt=&quot;Inside the case&quot; title=&quot;Inside the case&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/IMG_2532.jpg&quot; alt=&quot;The back cover&quot; title=&quot;The back cover&quot; /&gt;&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Creating an SSL certificate - step by step</title>
		<link href="https://secreci.com/posts/20120226-creating-an-ssl-certificate-step-by-step/"/>
		<updated>2012-02-26T14:17:57Z</updated>
		<id>https://secreci.com/posts/20120226-creating-an-ssl-certificate-step-by-step/</id>
		<summary>Creating an SSL certificate - step by step</summary>
		<category term="security"/>
		<category term="tutorial"/>
		<content type="html">&lt;p&gt;&lt;strong&gt;What is an SSL certificate?&lt;/strong&gt;&lt;br /&gt;
At its most basic level, an SSL certificate is used to encrypt electronic communication, to authenticate users or devices, and to sign electronic communication.&lt;/p&gt;
&lt;p&gt;There are various types of SSL certificate - Web Server certificates, Email certificates, code signing certificates etc. Here, I will describe the process of creating a new SSL certificate for use on a website as this is the most common use for certificates. At some point, I may write further guides describing different types too.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What are the components of an SSL certificate?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;SSL certificates contain a number of pieces of information:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Subject - the name of the entity being identified by the certificate.&lt;br /&gt;
Private key - never seen by the client.&lt;br /&gt;
Public key - associated with the private key.&lt;br /&gt;
Issuer - the name of the Certification Authority who has signed the certificate.&lt;br /&gt;
Serial number - a unique identifier for the certificate&lt;br /&gt;
Validity period - the start and end dates between which the certificate can be considered valid.&lt;br /&gt;
Usage - a description of what the associated public/private key pair can be used for.&lt;br /&gt;
Digital Signature - the signature of the issuer.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The certificate uses Public Key cryptography to encrypt, sign and authenticate. The private key is known only to the owner of the certificate. A piece of information encrypted with this key can only be decrypted by the associated public key.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How do we communicate securely?&lt;/strong&gt;&lt;br /&gt;
Let&#39;s assume a situation where I want to communicate securely with you.&lt;br /&gt;
I make a connection to your web server and request your certificate.&lt;br /&gt;
Your server supplies the certificate which contains your public key.&lt;br /&gt;
I generate a master key which we will both use to encrypt our communication.&lt;br /&gt;
I encrypt the master key with your public key and send it to you. You are the only person who can decrypt the master key as you are the only person who knows your private key.&lt;/p&gt;
&lt;p&gt;We have now securely exchanged a master key without anyone else being able to know it and can communicate securely.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What is signing?&lt;/strong&gt;&lt;br /&gt;
In the same way you can sign a letter to &#39;prove&#39; that it was written by you (assuming no one is capable of forging your signature), you can digitally sign an electronic communication to prove it was created by you - this also confirms that the content has not been changed since you signed it (and means you can&#39;t deny the document was created by you)&lt;/p&gt;
&lt;p&gt;When you digitally sign a document, you hash the content of teh document and encrypt the hash value with your private key. This is then sent with your certificate and the document.&lt;br /&gt;
When I receive the signed document, I can decrypt the hash using your public key from the certificate.&lt;br /&gt;
I then hash the document myself and confirm the two hashes match.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;But, how do I know you are you?&lt;/strong&gt;&lt;br /&gt;
Communicating securely is fine, but how do I know you are who you claim to be and not someone pretending to be you?&lt;br /&gt;
Public Key Cryptography to the rescue again!&lt;/p&gt;
&lt;p&gt;When you create a certificate, you can have it signed by a Certification Authority (CA) - they will do some checks to confirm your identity; generally by doing a WHOIS search against your domain name and verifying your name and address. Once they have established that you own the domain for which you are creating the certificate, they will digitally sign the certificate for you. This means they are vouching for your identity.&lt;/p&gt;
&lt;p&gt;Every web browser comes with a list of CAs which it trusts - there are hundreds of them. When I receive your certificate, I check who it was issued by. If it was issued by a CA which I trust, I am able to confirm that it is signed by them and I know that I can trust the certificate.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Great, how do I create a web certificate then?&lt;/strong&gt;&lt;br /&gt;
The high level steps to create a certificate signed by a CA are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Create a public/private key pair.&lt;/li&gt;
&lt;li&gt;Send the public key and certificate info to a trusted CA&lt;/li&gt;
&lt;li&gt;The CA creates and signs a certificate which contains your domain name and private key.&lt;/li&gt;
&lt;li&gt;You install the certificate on your web sever where it is associated with the private key.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Creating the key pair&lt;/strong&gt;&lt;br /&gt;
I will use the Microsoft IIS web sever as an example because I am most familiar with it. Other web severs use similar steps.&lt;/p&gt;
&lt;p&gt;IIS has a wizard to step you through creating a certificate...&lt;br /&gt;
In IIS, right-click on your website and choose &#39;properties&#39;.&lt;br /&gt;
On the Directory Security tab, click the Server Certificate button this will open the wizard. Choose &#39;Create a new certificate&#39; then &#39;Prepare the request now, but send it later&#39;.&lt;br /&gt;
Enter the details as you are prompted for them and, at the end, save the certificate request somewhere you can find it.&lt;/p&gt;
&lt;p&gt;You have now created the keypair and prepared a Certificate Signing Request (CSR) ready to submit to your favorite Certification Authority.&lt;/p&gt;
&lt;p&gt;The CSR is a block of text which is uploaded to the CA as part of the enrolment process. Once enrolment is complete, the CA will provide you with your new certificate - either as some text displayed on screen or as a file in an email. Either way, it should be saved as a file on your web server.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Installing to certificate&lt;/strong&gt;&lt;br /&gt;
Back in the certificate wizard in IIS, choose &#39;Process the pending request&#39;&lt;br /&gt;
Choose the file supplied by your CA and follow the wizard to install your certificate.&lt;/p&gt;
&lt;p&gt;The certificate should now be served when you visit the website in your browser on port 443. (https://)&lt;/p&gt;
&lt;p&gt;You should probably make a secure backup of the certificate now by exporting it from the certificates snap-in.&lt;/p&gt;
&lt;p&gt;For Apache servers, the CSR is created using the OpenSSL software - there are plenty of guides online.  &lt;/p&gt;
&lt;p&gt;If you have found this article useful, please consider purchasing an SSL certificate from Godaddy using my affiliate link - &lt;a href=&quot;http://x.co/lesault&quot;&gt;http://x.co/lesault&lt;/a&gt; - It will help me keep the site online!&lt;br /&gt;
Thanks.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Edinburgh Castle and the Hub, Edinburgh</title>
		<link href="https://secreci.com/posts/20120122-edinburgh-castle-and-the-hub-edinburgh/"/>
		<updated>2012-01-22T22:56:16Z</updated>
		<id>https://secreci.com/posts/20120122-edinburgh-castle-and-the-hub-edinburgh/</id>
		<summary>Edinburgh Castle and the Hub, Edinburgh</summary>
		<category term="travel"/>
		<content type="html">&lt;p&gt;Today, I visited the Roof Terrace at the National Museum of Scotland and took this Panorama showing the Castle at the top of the royal Mile, the Esplanade in front of it, and a little further down the hill, the tall bell-tower of the Hub.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/IMG_8255-IMG_8259.jpg&quot; alt=&quot;Edinburgh Castle and the Hub&quot; title=&quot;Edinburgh Castle and the Hub&quot; /&gt;&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Burg Wächter Point Safe P2E Safe Review</title>
		<link href="https://secreci.com/posts/20111215-burg-wachter-point-safe-p2e-safe-review/"/>
		<updated>2011-12-15T19:31:53Z</updated>
		<id>https://secreci.com/posts/20111215-burg-wachter-point-safe-p2e-safe-review/</id>
		<summary>Burg Wächter Point Safe P2E Safe Review</summary>
		<category term="review"/>
		<content type="html">&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/Burg_p2e.jpg&quot; alt=&quot;Burg Wächter P2E safe&quot; title=&quot;Burg Wächter P2E safe&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I have recently purchased a free-standing home safe from Burg Wächter (sometimes spelt Burg Waechter). The Pointsafe range comes in four sizes P1, P2, P3 and P4 and is available with an electronic pad lock or a key. I bought the electronic P2E version.&lt;/p&gt;
&lt;p&gt;The electronic version comes with two &#39;override&#39; keys in case you forget the combination. Remember to store these keys securely, but not in your safe!&lt;/p&gt;
&lt;p&gt;The safe is rated for £1000 cash or £10000 jewellery, so is not a high security safe but sounds about right for the things I would store in a home safe (passport and other documents, a small amount of emergency cash and a backup of my photographs on disk).&lt;/p&gt;
&lt;p&gt;The P2E version has single skinned walls (3.5mm steel) and a double skinned door.&lt;br /&gt;
There is an internal metal shelf, and the floor is felt-lined.&lt;br /&gt;
The back and floor each have two holes for fixing the safe to a wall or floor with the supplied bolts, plastic blanking pieces cover the holes at the back.  &lt;/p&gt;
&lt;p&gt;The door seems solid, with two locking bolts which extend 16mm when locked. The door hinge is visible at the bottom of the door - this may be a weakness.&lt;/p&gt;
&lt;p&gt;The external dimensions of the safe are 255(h)x350(w)x300(d), internally they are 248(h)x343(w)x241(d). The volume is 20.5l and the safe weighs 16.5Kg.&lt;/p&gt;
&lt;p&gt;The safe is large enough for A4 paper with a little room to spare, but you will have to bend it to fit it through the door.&lt;br /&gt;
The keypad is responsive and makes a quiet beep when you press the buttons. The single line LCD display is not backlit so can be difficult to read, but you really don&#39;t need to read it when opening or closing the safe.&lt;/p&gt;
&lt;p&gt;When not in use, the display shows the current time.&lt;/p&gt;
&lt;p&gt;The bolts are driven by an internal motor rather than by turning a handle on the front - this should make the safe less susceptible to opening by &#39;bumping&#39;. &lt;/p&gt;
&lt;p&gt;After entering the correct code, the spring-loaded door swings open automatically. The batteries (4xAA) are accessible from the outside of the safe, and the emergency keyhole is located behind them.&lt;/p&gt;
&lt;p&gt;The keys are four-sided cruciform keys which make the lock harder to pick and the keys harder to duplicate than a standard or tubular key. The safe comes with the batteries, keys and two fixing bolts hidden in the packaging - be careful you don&#39;t throw them out!&lt;/p&gt;
&lt;p&gt;The electronic lock has two codes - the user code (1-6 digits) which you would use day to day for opening the safe and a master code (8 digits) which should be stored safely to allow the safe to be opened if the user code is forgotten (again, don&#39;t store this in the safe!)&lt;/p&gt;
&lt;p&gt;The safe can also be set into &#39;hotel mode&#39; which means a new user code needs to be entered in order to lock the safe if it is left open for more than 5 minutes.&lt;/p&gt;
&lt;p&gt;The default user code is 168 and default master code is 12345678 - these should both be changed as soon as possible.&lt;/p&gt;
&lt;p&gt;Overall, this seems to be a reasonable home safe which does not have many of the &lt;a href=&quot;http://www.youtube.com/watch?v=Ane5aApDqo4&quot;&gt;common security problems often seen in cheaper safes&lt;/a&gt;.&lt;br /&gt;
The &lt;a href=&quot;http://www.burg-waechter.de/live_website/file/ff80808226ff808b0127f7539f951b1c.de.0/ba_pointsafe_abbj.04-2006_en.pdf&quot;&gt;user manual&lt;/a&gt;(pdf) is available on the &lt;a href=&quot;http://www.burg-waechter.de/&quot;&gt;Burg-Wächter website&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update 18/03/2019&lt;/strong&gt; I still use this safe, although I don&#39;t open it often, maybe a couple of times a month. The original batteries are still in the safe and it seems to be working fine.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Union Canal Wallpaper</title>
		<link href="https://secreci.com/posts/20111117-union-canal-wallpaper/"/>
		<updated>2011-11-17T19:38:15Z</updated>
		<id>https://secreci.com/posts/20111117-union-canal-wallpaper/</id>
		<summary>Union Canal Wallpaper</summary>
		<category term="travel"/>
		<content type="html">&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/Canal_hdr_1920x1200.jpg&quot; alt=&quot;Union Canal HDR Wallpaper&quot; title=&quot;Union Canal HDR Wallpaper&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Last night, I visited the Union Canal at Lochrin Basin in Edinburgh. I took a series of photographs and combined them to make this HDR image. I have posted it in various sizes which you can use as a desktop wallpaper if you want to. Feel free to download it and use it as a wallpaper if you want it!&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Edinburgh Skyline Wallpaper</title>
		<link href="https://secreci.com/posts/20111029-edinburgh-skyline-wallpaper/"/>
		<updated>2011-10-29T23:57:22Z</updated>
		<id>https://secreci.com/posts/20111029-edinburgh-skyline-wallpaper/</id>
		<summary>Edinburgh Skyline Wallpaper</summary>
		<category term="travel"/>
		<content type="html">&lt;p&gt;Today, I visited the National Museum of Scotland and visited the roof terrace for the first time. The view of the city from there is incredible.&lt;/p&gt;
&lt;p&gt;Here is a photo which you can use as a desktop wallpaper if you want to.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/Skyline-1920x1200.jpg&quot; alt=&quot;Edinburgh Skyline&quot; title=&quot;Edinburgh Skyline&quot; /&gt;&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>My new Workstation spec</title>
		<link href="https://secreci.com/posts/20111001-my-new-workstation-spec/"/>
		<updated>2011-10-01T18:55:45Z</updated>
		<id>https://secreci.com/posts/20111001-my-new-workstation-spec/</id>
		<summary>My new Workstation spec</summary>
		<category term="tech"/>
		<content type="html">&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/IMG_3836-Edit.jpg&quot; alt=&quot;Zalman CPU Cooler&quot; title=&quot;Zalman CPU Cooler&quot; /&gt;&lt;/p&gt;
&lt;p&gt;My current workstation is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Dell_Dimension&quot;&gt;Dell Dimension&lt;/a&gt; 9200 and it has served me well for the past 6 years or so, but it is starting to show its age, so I decided to build myself a new one.&lt;/p&gt;
&lt;p&gt;The most intensive work I do on my workstation is editing large photos from my DSLR, and &lt;a href=&quot;http://www.youtube.com/watch?v=YEWYCSLaGr0&quot;&gt;editing HD video&lt;/a&gt; from the same camera. A nice fast processor and lots of RAM will make a huge difference.&lt;/p&gt;
&lt;p&gt;I found that &lt;a href=&quot;http://amazon.co.uk/&quot;&gt;amazon.co.uk&lt;/a&gt; had very competitive prices and this has the added advantage of only dealing with one supplier - you may be able to find some of the parts cheaper else where, the prices seem to change daily! The prices below are correct as of 30/09/2011.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;CPU:&lt;/strong&gt;&lt;br /&gt;
Intel Sandybridge i7-2600 &lt;a href=&quot;http://en.wikipedia.org/wiki/Intel_Core&quot;&gt;Core i7&lt;/a&gt; Quad-Core Processor (3.40GHz, 8MB Cache, Socket 1155) £230.04 &lt;a href=&quot;http://www.amazon.co.uk/gp/product/B004FA8NLO/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=planetmediocrity-21&amp;amp;linkCode=as2&amp;amp;camp=1634&amp;amp;creative=19450&amp;amp;creativeASIN=B004FA8NLO&quot;&gt;Buy one for yourself at Amazon&lt;/a&gt;&lt;img src=&quot;http://www.assoc-amazon.co.uk/e/ir?t=planetmediocrity-21&amp;amp;l=as2&amp;amp;o=2&amp;amp;a=B004FA8NLO&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Note: When I received this processor, it came with a small heatsink and fan. The heatsink has thermal compound pre-applied. You can probably save yourself some money by not buying the CPU cooler I have specified below.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Motherboard:&lt;/strong&gt;&lt;br /&gt;
Gigabyte Z68X-UD5-B3 (GA-Z68X-UD5-B3) £261.91 Buy one for yourself at Amazon&lt;img src=&quot;http://www.assoc-amazon.co.uk/e/ir?t=planetmediocrity-21&amp;amp;l=as2&amp;amp;o=2&amp;amp;a=B00518I0WG&quot; alt=&quot;&quot; /&gt; This motherboard allows overclocking the CPU, and I have read at least one report of the i7 2600 being overclocked to 4GHz, so I may give this a go. If I was more serious about overclocking, I would have gone for the &lt;a href=&quot;http://www.amazon.co.uk/gp/product/B004FA8NOQ/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=planetmediocrity-21&amp;amp;linkCode=as2&amp;amp;camp=1634&amp;amp;creative=19450&amp;amp;creativeASIN=B004FA8NOQ&quot;&gt; unlocked 2600k&lt;/a&gt;&lt;img src=&quot;http://www.assoc-amazon.co.uk/e/ir?t=planetmediocrity-21&amp;amp;l=as2&amp;amp;o=2&amp;amp;a=B004FA8NOQ&quot; alt=&quot;&quot; /&gt; which is only a few quid more expensive.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RAM:&lt;/strong&gt;&lt;br /&gt;
M4A1600CCorsair CMZ16GX39B 16GB (4x4GB) 1600MHz CL9 DDR3 Vengeance Blu Memory Four Module Kit £90.18 &lt;a href=&quot;http://www.amazon.co.uk/gp/product/B004RFBIUU/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=planetmediocrity-21&amp;amp;linkCode=as2&amp;amp;camp=1634&amp;amp;creative=19450&amp;amp;creativeASIN=B004RFBIUU&quot;&gt;Buy one for yourself at Amazon&lt;/a&gt;&lt;img src=&quot;http://www.assoc-amazon.co.uk/e/ir?t=planetmediocrity-21&amp;amp;l=as2&amp;amp;o=2&amp;amp;a=B004RFBIUU&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Graphics Card:&lt;/strong&gt;&lt;br /&gt;
Gigabyte GV-R687OC-1GD; 1024 MB; GDDR5-SDRAM; 256 bit; 4200 MHz; &lt;a href=&quot;http://en.wikipedia.org/wiki/Radeon&quot;&gt;ATI Radeon&lt;/a&gt;; Radeon HD 6870 (GV-R687OC-1GD) £219.10 &lt;a href=&quot;http://www.amazon.co.uk/gp/product/B004LZPYDS/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=planetmediocrity-21&amp;amp;linkCode=as2&amp;amp;camp=1634&amp;amp;creative=19450&amp;amp;creativeASIN=B004LZPYDS&quot;&gt;Buy one for yourself at Amazon&lt;/a&gt;&lt;img src=&quot;http://www.assoc-amazon.co.uk/e/ir?t=planetmediocrity-21&amp;amp;l=as2&amp;amp;o=2&amp;amp;a=B004LZPYDS&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Power Supply:&lt;/strong&gt;&lt;br /&gt;
&lt;s&gt;CiT 750W Power Supply Unit with PSU and Dual 12V Rails - Black Edition £27.99&lt;/s&gt; &lt;s&gt;&lt;a href=&quot;http://www.amazon.co.uk/gp/product/B002Q8HFEI/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=planetmediocrity-21&amp;amp;linkCode=as2&amp;amp;camp=1634&amp;amp;creative=19450&amp;amp;creativeASIN=B002Q8HFEI&quot;&gt;Buy one for yourself at Amazon&lt;/a&gt;&lt;img src=&quot;http://www.assoc-amazon.co.uk/e/ir?t=planetmediocrity-21&amp;amp;l=as2&amp;amp;o=2&amp;amp;a=B002Q8HFEI&quot; alt=&quot;&quot; /&gt;&lt;/s&gt; &lt;s&gt;This is a pretty cheap power supply - I&#39;ll see how it holds up and maybe upgrade to something better if necessary.&lt;/s&gt; As expected, this power supply wasn&#39;t up to the job. The motherboard needs a 20+4-pin ATX power connecter and an extra 4+4-pin CPU power connector. Additionally, the Graphics card needs 2x6-pin PCI-E power connectors which were not all available on the cheap power supply. I bought an &lt;a href=&quot;http://www.ocztechnology.com/&quot;&gt;OCZ&lt;/a&gt; TECHNOLOGY OCZ-ZS750W-UK OCZ ZS Series 750W Power Supply from the ever helpful &lt;a href=&quot;http://www.amazon.co.uk/gp/product/B005DJJPV8/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=omination-21&amp;amp;linkCode=as2&amp;amp;camp=1634&amp;amp;creative=19450&amp;amp;creativeASIN=B005DJJPV8&quot;&gt;Silicon Edinburgh&lt;/a&gt; &lt;a href=&quot;http://www.amazon.co.uk/gp/product/B005DJJPV8/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=omination-21&amp;amp;linkCode=as2&amp;amp;camp=1634&amp;amp;creative=19450&amp;amp;creativeASIN=B005DJJPV8&quot;&gt;Buy one for yourself at Amazon&lt;/a&gt;&lt;img src=&quot;http://www.assoc-amazon.co.uk/e/ir?t=omination-21&amp;amp;l=as2&amp;amp;o=2&amp;amp;a=B005DJJPV8&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Hard Drive:&lt;/strong&gt;&lt;br /&gt;
Seagate ST31000524AS 3.5 inch Barracuda 1TB GB 7200rpm SATA Drive with 32MB Buffer £44.29 &lt;a href=&quot;http://www.amazon.co.uk/gp/product/B004HBAGSO/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=planetmediocrity-21&amp;amp;linkCode=as2&amp;amp;camp=1634&amp;amp;creative=19450&amp;amp;creativeASIN=B004HBAGSO&quot;&gt;Buy one for yourself at Amazon&lt;/a&gt;&lt;img src=&quot;http://www.assoc-amazon.co.uk/e/ir?t=planetmediocrity-21&amp;amp;l=as2&amp;amp;o=2&amp;amp;a=B004HBAGSO&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;DVD/CD:&lt;/strong&gt;&lt;br /&gt;
Sony AD-7261S-0B 24x Internal DVDRWRAM SATA Black Lightscribe £18.02 &lt;a href=&quot;http://www.amazon.co.uk/gp/product/B003SM3HH0/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=planetmediocrity-21&amp;amp;linkCode=as2&amp;amp;camp=1634&amp;amp;creative=19450&amp;amp;creativeASIN=B003SM3HH0&quot;&gt;Buy one for yourself at Amazon&lt;/a&gt;&lt;img src=&quot;http://www.assoc-amazon.co.uk/e/ir?t=planetmediocrity-21&amp;amp;l=as2&amp;amp;o=2&amp;amp;a=B003SM3HH0&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;CPU Cooler:&lt;/strong&gt;&lt;br /&gt;
Zalman CNPS9900-NT CPU Cooler (PC World £29.97) &lt;a href=&quot;http://www.amazon.co.uk/gp/product/B002F56QVK/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=planetmediocrity-21&amp;amp;linkCode=as2&amp;amp;camp=1634&amp;amp;creative=19450&amp;amp;creativeASIN=B002F56QVK&quot;&gt;Buy one for yourself at Amazon&lt;/a&gt;&lt;img src=&quot;http://www.assoc-amazon.co.uk/e/ir?t=planetmediocrity-21&amp;amp;l=as2&amp;amp;o=2&amp;amp;a=B002F56QVK&quot; alt=&quot;&quot; /&gt; (£36.99) I&#39;ve heard really good things about this CPU cooler, and it should keep the chip a reasonable temperature if I do decide to overclock - besides, it&#39;s got a green LED fan, so it must be good ;-) Note: This cooler comes with a tube of thermal grease, so you don&#39;t need to buy any extra unless you have a preferred brand.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Case:&lt;/strong&gt;&lt;br /&gt;
&lt;s&gt;Antec Three Hundred Midi Case £49.98&lt;/s&gt;&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Intermittent Virgin Media sync problems and solution</title>
		<link href="https://secreci.com/posts/20110605-intermittent-virgin-media-sync-problems/"/>
		<updated>2011-06-05T12:17:22Z</updated>
		<id>https://secreci.com/posts/20110605-intermittent-virgin-media-sync-problems/</id>
		<summary>Intermittent Virgin Media sync problems and solution</summary>
		<category term="tech"/>
		<category term="tutorial"/>
		<content type="html">&lt;p&gt;For the past few days, I have had intermittent sync problems with my &lt;a href=&quot;http://www.virginmedia.com/&quot;&gt;Virgin Media&lt;/a&gt; router.&lt;/p&gt;
&lt;p&gt;The router is a Netgear VMDG280 as supplied by Virgin Media. From time to time, the router falls out of sync: the sync light flashes quickly and the ready light flashes slowly. Web pages are obviously unavailable while the router is in this state.&lt;/p&gt;
&lt;p&gt;Rebooting the router does not resolve the problem.&lt;/p&gt;
&lt;p&gt;I also have a connection problem with the &#39;on demand&#39; TV service where all interactive services are shown as unavailable and there is a flashing heart light on the front of the set top box which apparently indicates there is no network connection available. When attempting to access any on-demand services (movies, catch-up TV etc.) I get a &#39;service currently unavailable&#39; message.&lt;br /&gt;
The router and TV problems do not always happen at the same time.&lt;/p&gt;
&lt;p&gt;Since the router and set-top box are both having problems, it would suggest that the problem is not with either of those boxes as both pieces of hardware are unlikely to fail at the same time. Since they do not always exhibit the problem at the same time, the cable from my external wall to the splitter must be ok, the two cables from the splitter are unlikely to have both failed in the same intermittent manner at the same time. The Virgin Media status screen shows everything is ok in my area. The non-demand cable TV has been fine for the duration so that would also suggest the cabling is fine.&lt;/p&gt;
&lt;p&gt;I was supposed to arrange for an engineer to come out next week, but as the connection is working at the moment I don&#39;t know if he will find any problem, and getting time off work will be a hassle.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; I fixed the problem without resorting to an engineer.&lt;br /&gt;
&lt;strong&gt;Solution:&lt;/strong&gt; The signal does not seem to be strong enough to cope with the splitters which were installed - either the signal has got weaker since it was installed, or the splitters are dodgy.&lt;/p&gt;
&lt;p&gt;The installation was: Telewest box on the wall in my bedroom with a single cable running about 10m to the living room where it was connected to an (old!) 2-way splitter. A single cable from the splitter ran about 5m round the walls to a second (newer) 2-way splitter. Two cables came from this splitter, one to the modem/router and the other to the set top box.&lt;br /&gt;
&lt;strong&gt;I don&#39;t know Virgin Media&#39;s rules on repairing the cabling yourself, so you carry out any of the following at your own risk - if in doubt call your cable company for advice.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I tested the incoming signal by moving the router to the telewest box and connecting it with a short coax cable. The router synced fine - so everything looked fine to there. I then connected the router to the spare socket on the first splitter and that worked fine too. I then connected the router to the cable going to the input of the second splitter and that also worked fine. My suspicion at this point was the second splitter was dodgy, but I thought it could also be that the long cable and two splitters was too much. Each splitter causes a drop in signal so there is no point in having one in the line if only one output is used.&lt;br /&gt;
I bought a new &lt;a href=&quot;http://www.maplin.co.uk/2-way-f-splitter-29530&quot;&gt;2-way F Splitter&lt;/a&gt; (£5.99) and an &lt;a href=&quot;http://www.maplin.co.uk/f-connector-socket-to-socket-coupler-1638&quot;&gt;F Plug Coupler&lt;/a&gt; (£1.89) from &lt;a href=&quot;http://www.maplin.co.uk/&quot;&gt;Maplin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Replacing the second splitter did not resolve the problem, so I removed the first splitter and connected the two cables with the F Plug Coupler and the heart light stopped flashing. I suspect all I needed was the coupler. I hope this saves you a day off work waiting for an engineer!&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Confessions of a Public Speaker - Scott Berkun</title>
		<link href="https://secreci.com/posts/20110508-confessions-of-a-public-speaker-scott-berkun/"/>
		<updated>2011-05-08T13:40:55Z</updated>
		<id>https://secreci.com/posts/20110508-confessions-of-a-public-speaker-scott-berkun/</id>
		<summary>Confessions of a Public Speaker - Scott Berkun</summary>
		<category term="essay"/>
		<content type="html">&lt;p&gt;I have recently finished reading the Scott Berkun book &lt;a href=&quot;https://www.amazon.co.uk/Confessions-Public-Speaker-Scott-Berkun/dp/1449301959/ref=as_li_ss_tl?ie=UTF8&amp;amp;qid=1552933184&amp;amp;sr=8-1&amp;amp;keywords=Confessions+of+a+Public+Speaker&amp;amp;linkCode=ll1&amp;amp;tag=omination-21&amp;amp;linkId=195fd0fbfe401bfc6bb66d959fd3a8ec&amp;amp;language=en_GB&quot;&gt;Confessions of a Public Speaker&lt;/a&gt; and I think it should be compulsory reading for everyone, especially if you speak to groups of people.&lt;/p&gt;
&lt;p&gt;People who will find the book especially useful are not just teachers or lecturers, but anyone who gives any type of performance; actors, magicians, storytellers, tour guides. I wish I had read it while I was still leading ghost tours.&lt;/p&gt;
&lt;p&gt;Scott Berkun is a professional speaker who has had many articles published in top publications such as Wired Magazine,  The Wall Street Journal and The New York Times. In this book, he reveals the secrets of successful public speaking all beautifully illustrated with real life stories and anecdotes. He gives tips on how to properly prepare for a presentation and how to adapt your presentation on-the-fly if the technology fails you, or you don&#39;t get many &amp;quot;bums on seats&amp;quot;.&lt;br /&gt;
The final section of the book has confessions from other public speakers about speeches they gave where their preparation failed them and everything went wrong. I could add lots of examples from my own presentations, from trying to explain the inticracies of the National Covenant in Greyfriars Kirkyard while the &#39;Three Tenors&#39; were performing outdoors at the castle above me. Or the time I stepped backwards out of the final tomb at the end of the tour, tripping on my black leather trench-coat and landing arse first in the muddy puddle behind me.&lt;br /&gt;
The book is fantastic - great advice about what your audience is likely to be expecting, and how they feel about being part of an audience which will help you see your presentation from a different point of view.&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Sony PRS-505 Review</title>
		<link href="https://secreci.com/posts/20110508-sony-prs-505-review/"/>
		<updated>2011-05-08T03:57:46Z</updated>
		<id>https://secreci.com/posts/20110508-sony-prs-505-review/</id>
		<summary>Sony PRS-505 Review</summary>
		<category term="review"/>
		<content type="html">&lt;p&gt;The Sony PRS-505 has been around for a while now. I bought mine from Waterstones on September 3rd, 2008 - the day it was released in the UK after listening to all the hype on various podcasts.&lt;br /&gt;
I&#39;d fallen out of the habit of reading books, and having a love of gadgetry of all kinds, I thought this might spur me on to read a bit more. There were no huge queues outside the bookshop on the morning of it&#39;s release - I suppose the £195 price tag was keeping a lot of people away but I feel, after using it for the last 2 and a half years, it has easily paid for itself.&lt;br /&gt;
The device itself is extremely well made - it feels solid, and has a reassuring weight to it. The leather-like cover gives it a bit of an olde worlde feel like an antique book. The brushed metal of the device itself is smooth and classy, but neutral enough to not distract you while you are reading a book.&lt;br /&gt;
The buttons for turning from page to page are positioned nicely and you soon find yourself pressing them instinctively. The display is sharp and, being reflective, is a lot like paper which means you can read lots of pages without straining your eyes.&lt;br /&gt;
The software feels a bit unfinished, though, but does the job of arranging your library so books are easy to find. And most of your time is spent actually reading books not navigating the operating system.&lt;br /&gt;
The numbered buttons used to select from the menu system and to jump directly to a page by page number are small and fiddly and don&#39;t give much feedback when pressed. This is more of a problem since the e-ink technology means that the screen does not refresh immediately. Sometimes you find yourself pressing buttons twice trying to get it to register only to find it registered the first time but the screen was taking a while to update.&lt;br /&gt;
The screen refresh time is not an issue when you are reading a book, you will soon find yourself pressing the button when you still have a line of text left to read in the same way that you might slip your finger under the page in preparation to turn it before you finish reading. The page inverts a couple of times as it changes to the next page of text, and I find that this is sometimes distracting when you are reading.&lt;br /&gt;
Ideally, you want the technology to disappear into the background so you can immerse yourself in the story.&lt;/p&gt;
&lt;p&gt;There are thousands of free books available online see &lt;a href=&quot;http://www.gutenberg.org/&quot;&gt;Project Gutenberg&lt;/a&gt; which has over 33,000 books available or &lt;a href=&quot;http://www.feedbooks.com/&quot;&gt;Feedbooks&lt;/a&gt; or &lt;a href=&quot;http://www.manybooks.net/&quot;&gt;Manybooks&lt;/a&gt;. These books tend to be classics, or old books where the copyright has lapsed and are now Public Domain.&lt;/p&gt;
&lt;p&gt;More and more new books are also becoming available in ePub format although, disappointingly, they tend to cost as much as a paperback. The PRS-505 has space for an SD card and a Memory Stick. I have a 2Gb memory stick in mine and this gives me space for around 1500 books, so I can carry my whole library around with me in one hand.&lt;br /&gt;
The Sony Reader will also play mp3s while you read, but I do not use that functionality as it drains the battery very quickly. Without playing music, though, the battery lasts about three weeks on a single charge, longer if you turn it off fully when not in use.&lt;br /&gt;
One useful tip is that a PSP charger will fit the PRS-505 and charge it much more quickly than the USB charger does. Overall, I love the PRS-505, but there are some downsides too. Support for PDF files is not fantastic - they are slow to navigate and the formatting is not always correct. The round navigation button in the bottom-left corner can be frustrating to use as it requires a firm push and there is little tactile feedback to let you know it worked.&lt;/p&gt;
&lt;p&gt;As I have had the Sony Reader for almost three years, I am considering buying a Kindle to replace it. The build quality of the Sony would be very hard to beat but the Kindle has the advantage of Wi-Fi/3G connectivity, a keyboard and a better screen. Let me know what your thoughts are on moving to a Kindle. &lt;a href=&quot;http://www.amazon.co.uk/gp/product/B000WPXQ2M/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=planetmediocrity-21&amp;amp;linkCode=as2&amp;amp;camp=1634&amp;amp;creative=19450&amp;amp;creativeASIN=B000WPXQ2M&quot;&gt;Buy a Sony PRS-505 E Reader&lt;/a&gt;&lt;img src=&quot;http://www.assoc-amazon.co.uk/e/ir?t=&amp;amp;l=as2&amp;amp;o=2&amp;amp;a=B000WPXQ2M&quot; alt=&quot;&quot; /&gt; &lt;a href=&quot;http://www.amazon.co.uk/gp/product/B002LVUWFE/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=planetmediocrity-21&amp;amp;linkCode=as2&amp;amp;camp=1634&amp;amp;creative=19450&amp;amp;creativeASIN=B002LVUWFE&quot;&gt;Buy a Kindle 3G Wireless&lt;/a&gt;&lt;img src=&quot;http://www.assoc-amazon.co.uk/e/ir?t=&amp;amp;l=as2&amp;amp;o=2&amp;amp;a=B002LVUWFE&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Fixing the power button on Toshiba Regza Television (DIY)</title>
		<link href="https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/"/>
		<updated>2011-04-29T19:10:42Z</updated>
		<id>https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/</id>
		<summary>Fixing the power button on Toshiba Regza Television (DIY)</summary>
		<category term="maker"/>
		<category term="tutorial"/>
		<content type="html">&lt;p&gt;When I tried to power on my TV this afternoon, pressing the power button did nothing, it felt like the switch inside was not being activated. I decided to void my warranty and take a look inside.&lt;/p&gt;
&lt;p&gt;My TV is a Toshiba Regza model number &lt;strong&gt;32XV555D&lt;/strong&gt;, but I imagine the same switch is used on many Toshiba models and the following instructions may be of use to you too.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Opening your TV is dangerous and will void your warranty - there are high voltages inside and the following steps should only be carried out if you are sure you know what you are doing. I&#39;m not a professional TV engineer and I take no responsibility for any damage you do to yourself or your TV if you are foolhardy enough to follow my description!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The first step to repairing the switch is to remove the back of the TV.&lt;br /&gt;
Unplug the TV from the wall, and remove any HDMI/SCART/Aerial cables. Put the TV screen side down on a soft non-scratch surface.&lt;/p&gt;
&lt;p&gt;The back of the TV is held on by 17 screws - you will need a phillips head screwdriver to remove them.&lt;br /&gt;
The screws are not all the same size, so ensure you remember which screw goes in which hole. The screws to remove are all marked with an arrow, the 17th one took me a while to find - it is located above 2nd SCART connector.&lt;br /&gt;
Once the screws are removed, carefully lift off the back panel - it should come off easily. If not, make sure you have removed all the screws.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/IMG_8327.jpg&quot; alt=&quot;Switch as I found it&quot; title=&quot;Switch as I found it&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The power switch is at the right side of the TV , you will see that the button you push has a cylinder on the back which needs to somehow activate the switch which does not line up with it. The button should push a square plastic plate which should be attached to the switch. In my case, the plate had broken and fallen off the switch. This meant that the button did nothing. You can see in the photograph that the plate has fallen off and is lying underneath the button.&lt;/p&gt;
&lt;p&gt;You have a couple of options at this point; you can either activate the switch manually, put the TV back together again and just use the wall switch to power your TV off an on, or you can repair the switch. From a search of the Internet, it seems that this is a common problem with Toshiba TVs - if your TV is still in warranty, it is probably best to get an official spare fitted, but I decided to make a stronger repair so it does not happen again.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/IMG_8328.jpg&quot; alt=&quot;The plastic piece with broken section&quot; title=&quot;The plastic piece with broken section&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The plastic clip which holds the plate in place seems to be very fragile, and I could not find the small piece of plastic which had broken off. I mixed up some 5-minute epoxy and waited a couple of minutes for it to thicken up a bit. I put a small blob of epoxy onto the clip and put it in place on the switch. You will find this easier if you manually press the switch to put it in the &#39;on&#39; position as this gives a little more space for maneuvering.&lt;br /&gt;
The plate should be able to stay in position by itself while the epoxy cures (why not go and write a how to fix your TV blog post while you&#39;re waiting!)&lt;br /&gt;
Once the epoxy has cured (mine says it is ready to handle in 15 minutes and achieves full strength in 1 hour) you can put the back on the TV by replacing all the screws. Power on your TV and, with a bit of luck, the power switch will work again.&lt;/p&gt;
&lt;p&gt;You have probably missed the programme you were wanting to watch though! I hope this helps you if you have the same problem - the whole thing took me about 20 minutes to fix - much faster than waiting for the repair man!&lt;/p&gt;
&lt;p&gt;Leave a comment if it worked for you. Thanks.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/IMG_8330.jpg&quot; alt=&quot;The plastic piece glued back in place&quot; title=&quot;The plastic piece glued back in place&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;comments&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#comments&quot;&gt;&lt;span&gt;Comments&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#6993&quot; title=&quot;2012-04-28 13:21:38&quot;&gt;Paul&lt;/a&gt;:&lt;/strong&gt; oh so simple when you know how. BIG BIG BIG THANKS&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#7863&quot; title=&quot;2012-07-10 17:16:56&quot;&gt;Emily&lt;/a&gt;:&lt;/strong&gt; Same thing happened to our Toshiba 42inch Xv55 Series TV. After removing all the screws we were able to slot a tiny piece of plastic where the on switch is. I can finally watch all my tv shows on a big screen and play Mario Kart and PS3. Woohoo!!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#6340&quot; title=&quot;2012-03-08 21:30:35&quot;&gt;Simon&lt;/a&gt;:&lt;/strong&gt; Thank you, saved us £65.00 took the wife and I 10mins and all sorted. Kids now v v happy and also me as I can watch the football.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#8052&quot; title=&quot;2012-08-05 09:16:03&quot;&gt;syd&lt;/a&gt;:&lt;/strong&gt; 32&amp;quot; now fixed thanks to your article. The photographs were excellent, thank you. The complete assembly can be bought on line for £15:00. Guess what? They are sold out!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#5406&quot; title=&quot;2012-01-07 15:30:06&quot;&gt;Webby&lt;/a&gt;:&lt;/strong&gt; Thanks for the advice all fixed now; you are right it&#39;s rubbish design though!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#4392&quot; title=&quot;2011-11-04 12:05:22&quot;&gt;Gerald&lt;/a&gt;:&lt;/strong&gt; Cheers buddy, my plastic spacer bit broke too, what a crap design! All fixed now thanks to you ;-) Thank you&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#6939&quot; title=&quot;2012-04-25 12:53:12&quot;&gt;Dude&lt;/a&gt;:&lt;/strong&gt; Seriously, folk have got knighted for less. Respect given!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#9534&quot; title=&quot;2012-12-04 17:45:13&quot;&gt;stephanie&lt;/a&gt;:&lt;/strong&gt; thankyou found this very helpfull, allready had the tv fixed and only lasted 6 weeks so its now sorted.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#7815&quot; title=&quot;2012-07-03 13:20:44&quot;&gt;Steve Jax&lt;/a&gt;:&lt;/strong&gt; Worked great. I used both a cable tie and glue to fix it. To aid access to the switch it is easier if the button mechanism is removed. If it does not press upwards from its mount simply undo the single screw that attaches the strip holding the pcb and switch unit and press the button unit out. Many thanks.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#8114&quot; title=&quot;2012-08-13 15:50:59&quot;&gt;Nick&lt;/a&gt;:&lt;/strong&gt; Genius. Thanks for this. Had exactly the same problem. TV out of warrenty - this saved me a fortune in repair bills. Ta!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#5316&quot; title=&quot;2012-01-03 08:42:57&quot;&gt;nadia&lt;/a&gt;:&lt;/strong&gt; I had the same problem with a previous toshiba last year and was given a replacement which has just buggered off too. I am a single mother and unsure if i can hack this fixing things. Seems pretty straight forward but am all jittery. wish me luck guys. xxx&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#4768&quot; title=&quot;2011-12-03 20:02:46&quot;&gt;Jen&lt;/a&gt;:&lt;/strong&gt; Unfortunately this fix does not work for my toshiba. It seems to have a loose connection which stops it working even when opened up and set permanently to on. Only works if some downward pressure is applied to inside switch. Might try fixing a nylon strip around it otherwise will need new part and a repair man I guess.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#8479&quot; title=&quot;2012-09-28 18:52:29&quot;&gt;Lia&lt;/a&gt;:&lt;/strong&gt; Yay. Thanks so much, worked a treat :)&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#7692&quot; title=&quot;2012-06-21 14:26:14&quot;&gt;DB&lt;/a&gt;:&lt;/strong&gt; Great info, worked perfectly. Many thanks.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#5584&quot; title=&quot;2012-01-17 23:11:15&quot;&gt;Diane&lt;/a&gt;:&lt;/strong&gt; Just wanted to thank you for the brilliant guide to repairing the switch on our Toshiba TV...we&#39;re also now back in business!! Thanks again&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#5156&quot; title=&quot;2011-12-26 12:22:12&quot;&gt;wilf&lt;/a&gt;:&lt;/strong&gt; Having woken up on Christmas morning to find the same problem with my Toshiba Regza 42&amp;quot; LCD, I googled this &amp;amp; found it to be most helpful, I am about to attempt to repair it, so if I don&#39;t return, I have obviously forgotten to unplug it first...tell my wife &amp;amp; kids I died a hero!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#3688&quot; title=&quot;2011-07-17 12:36:05&quot;&gt;andrew jenkinson&lt;/a&gt;:&lt;/strong&gt; its fixed thanks&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#3687&quot; title=&quot;2011-07-17 12:25:57&quot;&gt;andrew jenkinson&lt;/a&gt;:&lt;/strong&gt; thanks. my 42&amp;quot; regza button went last night. undid the screws slid my hand inside pressed it on then screws back on. a five minute fix. once again THANK YOU&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#3772&quot; title=&quot;2011-08-02 23:14:44&quot;&gt;Emily S&lt;/a&gt;:&lt;/strong&gt; Thank you, after my boyfriend came home from work this evening to find the tele mysteriously not working I googled the tele model and found this. Brilliant!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#4179&quot; title=&quot;2011-10-15 11:58:59&quot;&gt;Alistair Campbell&lt;/a&gt;:&lt;/strong&gt; I woke this morning with my day fully planned commencing with watching Wales v France in the RWC semi final. Horror as the eighteen month old 24&amp;quot; Regza would not switch on. Panic followed by frustration and annoyance. I thought I was facing an expensive repair until I found this repair on the internet. I am now waiting for the Araldite to cure and we will be back in business again. Just a pity that the Welsh match hadn&#39;t gone quite as well. Thanks for this, Brilliant!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#3815&quot; title=&quot;2011-08-14 18:03:11&quot;&gt;Ade Sleaford&lt;/a&gt;:&lt;/strong&gt; Thanks for this info. Mine did exactly the same and your instructions worked a treat.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#3818&quot; title=&quot;2011-08-15 11:08:50&quot;&gt;Adrian Sleaford&lt;/a&gt;:&lt;/strong&gt; Just an additional thought. I also unscrewed the orange switch board and rested the end near the switch on top of the lugs so that the cylinder hit more to the middle of the plate. I then screwed the back screws in again and put small cable ties through the front unused screw holes to hold it firm. It works really well and there is a much firmer feel to the button now.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#3924&quot; title=&quot;2011-09-08 21:56:29&quot;&gt;mapplebeck&lt;/a&gt;:&lt;/strong&gt; thanks for the tip- just opened my 32&amp;quot; toshiba TV with an identical fault and flocked the swith to permanently on. Nice one.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#6007&quot; title=&quot;2012-02-15 22:54:28&quot;&gt;Simon Covey&lt;/a&gt;:&lt;/strong&gt; Whoo Hoo!!!! Googled this after we noticed tv had just died! 20 mins of surfing the net, and then half hour following these instructions meant that the tele is back in business!!! Hubby used a cable tie instead of glue-ing. Well done to him and thanks very much to you!!!!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#8152&quot; title=&quot;2012-08-20 07:19:36&quot;&gt;Carey Lawrence&lt;/a&gt;:&lt;/strong&gt; Thanks for this very informative post.. it surely helped me a lot of informational facts that I could refer to in fixing the case you have stated... hope to see more post.. Thanks a lot.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#8172&quot; title=&quot;2012-08-22 14:41:46&quot;&gt;Carl&lt;/a&gt;:&lt;/strong&gt; Thanks for this my 32&amp;quot; regza went a week ago was just using standby. If your only using standby and want to turn it on and leave it on, you can slide a knife in above the button to remove it then slide a 4mm Allen key in the hole angled slightly to the front no need to remove the back. Thanks to this walk thru I now have a working power button cheers. P.s what a stupid overly complicated design seems almost designed to fail.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#4962&quot; title=&quot;2011-12-14 18:43:08&quot;&gt;taff&lt;/a&gt;:&lt;/strong&gt; Thanks woke up today tv wouldnt power on, yep broken switch anyway its fixed now its always on but theres another button on the right of tv for standby so using that and mains to turn on off an standby.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#7760&quot; title=&quot;2012-06-27 07:27:37&quot;&gt;r halliwell&lt;/a&gt;:&lt;/strong&gt; Your instructions worked a treat. The only problem was that some of the screws were hard to remove as they had been screwed in very hard. If the screw heads got damaged then it may have been almost impossible to remove them. I decided to leave the switch permanently on and use the standby button instead and to switch power off completely use the switch on the wall socket. Had the screws been easy to remove then the job would have taken 20 minutes max. Many thanks&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#7528&quot; title=&quot;2012-06-09 12:06:12&quot;&gt;AlanD&lt;/a&gt;:&lt;/strong&gt; Thank you for this very useful information. Came home after a late night to find our Toshiba would not switch on. Having never explored the inner workings of an LCD TV I was a bit reluctant to take the back cover off. Your info gave me the right amount of information and confidence to dive in and fix the problem. Unfortunately my plastic plate broke in several pieces. I decided to leave the switch permanently on and use the standby button instead. Thanks again.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#5465&quot; title=&quot;2012-01-10 22:47:17&quot;&gt;Rich&lt;/a&gt;:&lt;/strong&gt; Thanks loads mate, great guide. Exactly the same had happened to my 42&amp;quot; Regza. Apart from mine having a few more screws keeping the back on it is exactly the same as you described. On examination the spacer had broke into 3 seperate bits! so now i just power down at the wall socket. Thanks again!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#6268&quot; title=&quot;2012-03-03 16:24:03&quot;&gt;Jo Bedford&lt;/a&gt;:&lt;/strong&gt; Thankyou SOOOO much - we just tried this and hey presto it worked, and cost nothing. You are a Legend!!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#5298&quot; title=&quot;2012-01-02 13:10:57&quot;&gt;graham inkersole&lt;/a&gt;:&lt;/strong&gt; Have just fixed the switch. This is a replacement TV as the same thing happened a while ago. Shame on Toshiba, for not recalling the product. The next piece of electrical equipment will not be a Toshiba.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#4013&quot; title=&quot;2011-09-25 13:37:27&quot;&gt;Kristie&lt;/a&gt;:&lt;/strong&gt; Thank you so much! Woke up this morning and the tv wouldn&#39;t turn on - followed your instructions and the exact same bit had snapped!! Bit of glue and 17 screws later and bingo!! All working. Saved us probably a massive call out to fit such a tiny simple thing!!!!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#7088&quot; title=&quot;2012-05-07 12:17:53&quot;&gt;Shelley&lt;/a&gt;:&lt;/strong&gt; I was able to fix my mums tele, Thanks a lot.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#7680&quot; title=&quot;2012-06-20 18:13:36&quot;&gt;Karen&lt;/a&gt;:&lt;/strong&gt; great tip thanks now working again, don&#39;t quite get why Toshiba not sorted the problem themselves, oh well thanks again&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#4000&quot; title=&quot;2011-09-22 10:40:24&quot;&gt;Berloma&lt;/a&gt;:&lt;/strong&gt; I used a similar method, but instead of using glue I used a nylon strip. I posted my video in youtube. &lt;a href=&quot;http://www.youtube.com/watch?v=jVSKjQmZ3g8&quot;&gt;Youtube link&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#8670&quot; title=&quot;2012-10-20 17:20:34&quot;&gt;Georgie&lt;/a&gt;:&lt;/strong&gt; AMAZING! Completely panicked when TV wouldn&#39;t turn on - SO GLAD you wrote this, worked perfectly! Thank you!!!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#8290&quot; title=&quot;2012-09-04 16:16:47&quot;&gt;Ian&lt;/a&gt;:&lt;/strong&gt; Toshiba will fix this FOC, in or out of warranty - their customer service acknowledged this is a common fault. If the TV is in warranty then maybe this is the way to go. My mothers TV just failed today (out of warranty) and they are on the way to fix it FOC.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#10335&quot; title=&quot;2013-01-07 19:05:22&quot;&gt;kath&lt;/a&gt;:&lt;/strong&gt; thank you, you have just saved me £70 this is what it cost me last time it broke.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#10338&quot; title=&quot;2013-01-07 19:32:37&quot;&gt;Andy&lt;/a&gt;:&lt;/strong&gt; Glad I could be of help!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#11513&quot; title=&quot;2013-01-25 23:43:01&quot;&gt;Graham Neale&lt;/a&gt;:&lt;/strong&gt; Carl, you nailed it mate - thanks. Don&#39;t unscrew it, I didn&#39;t even take it off the wall ! Turn it off, slip a dinner knife between the on/off button and the casing, let it spring back outward, then flip it out. It might break it a little.don&#39;t worry, you won&#39;t need it. Once it&#39;s out, push the end of a small modelling type paintbrush in, about an inch, aimed slightly toward the front of the TV. Push the button in. Plug it back into the power socket, and use the on/off on the wall for when you go on holiday Sorted, no gaffer tape, no Araldite, no zip ties. SORTED!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#21358&quot; title=&quot;2013-05-01 21:05:49&quot;&gt;Jill handy&lt;/a&gt;:&lt;/strong&gt; Thank you so much for your instructions.........followed them and feeling very proud of myself for fixing my tv. Got one very pleased 7 year old too! Thanks gain.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#11858&quot; title=&quot;2013-01-31 12:31:09&quot;&gt;Vernon&lt;/a&gt;:&lt;/strong&gt; Firstly it&#39;s very good of you to take the time to post this article to assist other people. Unfortunately I have recently been ripped off by a local TV repair shop for £103 to correct the above discussed fault. At the time I did not know what was going on but now I do. I have purchased two of the plastic moulding that breaks, in preparation for if it breaks again in another three years time. Refferred to as a &amp;quot; Spacer Cap &amp;quot; by the repair man. They are available by post from here ... &lt;a href=&quot;http://www.signalsuk.com/Signalsuk.nsf/ContactPage?OpenForm&quot;&gt;http://www.signalsuk.com/Signalsuk.nsf/ContactPage?OpenForm&lt;/a&gt; They are £2.99 each. The reference number shown is ... #02 ( 75013623 ). They also had the switch readily available which suggested to me that they might be fragile as well so I bought onf of those at £8.87 ref. no. #03 (SW660) NB. I have not used these parts so I cannot confirm that they actually fit. Having said that the replacement spacer cap is the same as the broken one so it is probably correct. I hope that this is helpful and it will help to prevent somebody else from being ripped off. Cheers !&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#10836&quot; title=&quot;2013-01-16 22:04:25&quot;&gt;Adam&lt;/a&gt;:&lt;/strong&gt; Fantastic - I didn&#39;t bother gluing the button back: I get the feeling I&#39;d only be doing it again at some point. Many thanks for the advice - glad to have my tv working again.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#32922&quot; title=&quot;2013-10-22 17:57:05&quot;&gt;Lee&lt;/a&gt;:&lt;/strong&gt; Many Thanks for this advice. Does exactly what it says on the tin! 20 minutes all done and I am far, far from being an expect. Take care and follow the instructions safely.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#25693&quot; title=&quot;2013-07-06 20:34:42&quot;&gt;Richie&lt;/a&gt;:&lt;/strong&gt; Thanks for all the info mate, saved me a lot of money and kept the kids and missus happy. Worked a treat.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#25717&quot; title=&quot;2013-07-07 04:28:13&quot;&gt;Andrew&lt;/a&gt;:&lt;/strong&gt; Thanks tv fixed, good clear instructions and photographs&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#33346&quot; title=&quot;2013-10-28 11:39:52&quot;&gt;Rachel&lt;/a&gt;:&lt;/strong&gt; FanTAStic My internet friend found these instructions for me and I had no problems at all. If you&#39;d not mentioned that illusive screw near the scart socket, I could have been stuck (I&#39;m a girl). Fixing the switch was a doddle.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#123699&quot; title=&quot;2016-11-03 22:00:16&quot;&gt;Owen Aubrey Gallant&lt;/a&gt;:&lt;/strong&gt; When i press the on/off bottom on m Toshiba Bomba tv,it makes a clicking sound but doesn&#39;t switch on. HELP!!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#28584&quot; title=&quot;2013-08-18 22:11:52&quot;&gt;Colin&lt;/a&gt;:&lt;/strong&gt; bought a new switch (not needed) then found this helpful page. You are a star for this, particularly useful is the knowledge of the 17 screws to be removed. Thanks very much for your help.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#111797&quot; title=&quot;2015-03-20 19:24:14&quot;&gt;Ron in Worthing&lt;/a&gt;:&lt;/strong&gt; The Magic of professionals online thank you.I have had my TV about 4 years and like other people with the same problem,I found that the small plastic plate had broken into pieces and with the aid of a Araldite from my local store I added a mall piece of plastic to make it stronger..Job done ...many thanks for the information ..Note ..Lay the screws out on a clear space in the same pattern as they came out...&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#68898&quot; title=&quot;2014-04-12 08:49:57&quot;&gt;Stuart&lt;/a&gt;:&lt;/strong&gt; An excellent work-round, thankyou.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#76272&quot; title=&quot;2014-05-27 22:10:27&quot;&gt;Richard&lt;/a&gt;:&lt;/strong&gt; I have just fixed the power button on my TV using your advice, for which I am extremely grateful. The clips on my square back-plate had just about disintegrated. As they could not be salvaged, I used a single Lego piece (the smallest square one), sawed the top off, and stuck it to the back-plate using araldite. I then lined one side with a slither of cork (from wine bottle) using superglue to ensure a snug fit, and popped it over the internal on/off button. I had to remove the outer on/off button but to do so only required a gentle squeeze at the sides. TV works fine now but for piece of mind I intend switching on/off at the mains.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#115339&quot; title=&quot;2015-07-02 23:55:51&quot;&gt;Daniel&lt;/a&gt;:&lt;/strong&gt; Thank you for your very helpful advice. My wife and I followed it tonight - we found that the plastic connecting plate was broken - we reconnected it to the switch with epoxy resin glue. The TV now works perfectly - believe me, if we can do this, any one can! Thanks again.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#73304&quot; title=&quot;2014-05-04 11:41:37&quot;&gt;Andy&lt;/a&gt;:&lt;/strong&gt; My Toshiba did this after five years...Googled the problem and found this site! My plastic plate broke in half. I then used a two pack epoxy glue left it for 24 hours and replaced it back inthe TV. I then followed Adrian&#39;s advice in post 5 and it works better than before. Great advice and money saving!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#106642&quot; title=&quot;2015-01-07 19:27:50&quot;&gt;Richard&lt;/a&gt;:&lt;/strong&gt; Thank you for this, I have decided to buy a replacement plate and use the TV remote to go to standby as I cant find the broken bit, good thing is it has saved me a trip to a repairer and several days without a television.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110429-fixing-the-power-button-on-toshiba-regza-television-diy/#134250&quot; title=&quot;2018-02-13 14:06:21&quot;&gt;Michael Griggs&lt;/a&gt;:&lt;/strong&gt; Many thanks for the information re Toshiba Regza power button. I could not belive how flimsey this button was. It had broken off inside, i managed to find the bits underneath the button base. I used a heat glue gun to put it together. Not very pretty but it does the job. And yes the screws holding the back on are different sizes. I would suggest placing the tv on a bright cloth and the various screws around the edge. The ones in the centre i used the phone video to remind me. I have never done anything lke this before. Thanks again Mike.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Wordpress Visual Editor buttons missing and solution</title>
		<link href="https://secreci.com/posts/20110227-wordpress-visual-editor-buttons-missing-and-solution/"/>
		<updated>2011-02-27T17:23:17Z</updated>
		<id>https://secreci.com/posts/20110227-wordpress-visual-editor-buttons-missing-and-solution/</id>
		<summary>Wordpress Visual Editor buttons missing and solution</summary>
		<category term="wordpress"/>
		<category term="tech"/>
		<category term="tutorial"/>
		<content type="html">&lt;p&gt;When editing a post in Wordpress 3.1 recently, I found that the visual editor was missing the formatting buttons which usually appear at the top of the editor and the text was invisible (white on white) like this:&lt;br /&gt;
&lt;img src=&quot;https://secreci.com/img/no_buttons.jpg&quot; alt=&quot;no buttons&quot; title=&quot;no buttons&quot; /&gt;&lt;/p&gt;
&lt;p&gt;After some investigation, it seems that the problem was caused by the &lt;a href=&quot;http://dev.huiz.net/2011/02/27/wordpress-plugin-scissors-continued/&quot;&gt;Scissors Continued&lt;/a&gt; plugin which I had recently installed.&lt;/p&gt;
&lt;p&gt;When I disabled the plugin, the problem was solved:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/buttons.jpg&quot; alt=&quot;buttons&quot; title=&quot;buttons&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I have not investigated to find out what the actual problem was, although I could see that the buttons initially loaded then the screen reformats and the buttons are hidden. I have not yet tried the functionality of the Scissors Continued plugin and, although the features sound very useful, I will not be reinstalling it if it means losing formatting options when editing posts. I hope this helps you if you hit the same problem...&lt;/p&gt;
&lt;h2 id=&quot;comments&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20110227-wordpress-visual-editor-buttons-missing-and-solution/#comments&quot;&gt;&lt;span&gt;Comments&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110227-wordpress-visual-editor-buttons-missing-and-solution/#3538&quot; title=&quot;2011-06-20 07:34:19&quot;&gt;rayan&lt;/a&gt;:&lt;/strong&gt; yeah, I solved this problem by disabling some plugin&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20110227-wordpress-visual-editor-buttons-missing-and-solution/#5719&quot; title=&quot;2012-01-26 12:43:52&quot;&gt;Alex&lt;/a&gt;:&lt;/strong&gt; Disabling all the plugins (and re-enabling them) has resolved this -%&amp;amp;#~%&amp;amp;!- problem.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Damage to EX300 light kit</title>
		<link href="https://secreci.com/posts/20110111-damage-to-ex300-light-kit/"/>
		<updated>2011-01-11T09:30:49Z</updated>
		<id>https://secreci.com/posts/20110111-damage-to-ex300-light-kit/</id>
		<summary>Damage to EX300 light kit</summary>
		<category term="maker"/>
		<content type="html">&lt;p&gt;I purchased the Interfit EX300 twin studio flash kit which comes with a softbox and shoot-through umbrella through the Amazon Marketplace from Hawks Photo Video on December 28th 2010. Due to the new year period, delivery took a while as is expected at this time of year. The delivery estimate was good, I received an SMS message from Hawks on the morning of 9th January 2011 to say that the delivery was expected between 2:30 and 5:30 that day. It arrived shortly after 2pm.&lt;br /&gt;
When I arrived home from work that evening, I unpacked the kit.&lt;/p&gt;
&lt;p&gt;The Outer brown cardboard packing box was in good condition, but appears to have been opened and resealed.&lt;br /&gt;
The inner display box was also in good condition.&lt;br /&gt;
Inside the boxes, the flash kit was all packed inside the included carry bag which was unzipped - I found that a bit suspicious.&lt;br /&gt;
On unpacking the kit, everything initially looked fine. I unpacked both lighting stands, put the heads on both, and attached one reflector. When I built the softbox, I noticed some discolouration on the front screen at one corner - it looks like  a burn or scorch mark, but I don&#39;t expect it will affect the flash at all.&lt;br /&gt;
The second reflector has damage to one side and to the attachment slot, so it is not possible to attach it to the flash head. I tried to attach the umbrella to the second flash head, but could not unscrew the lock-nut far enough to put the umbrella shaft into the hole at the front.&lt;br /&gt;
On checking the other flash head, it seems that the holding bracket has been bent about 45 degrees. Only one head is damaged in this way.&lt;/p&gt;
&lt;p&gt;Connecting the first power cable was no problem, but I couldn&#39;t plug in the second cable as the plug has one bent pin.&lt;br /&gt;
This means that although both flash heads work, I can only use one at a time. The damage to the plug would require a lot of force, so I can only assume that this happened before the items were packed in the carry case - possibly an ex-demonstrator model?&lt;br /&gt;
As can be seen from the below screenshot, the item I ordered is described as &#39;New&#39;.&lt;/p&gt;
&lt;p&gt;I contacted Hawks to report the damage the same evening at 10:30pm, and got a response from them today (12/01/11) at 12:00. They have offered to pick up the damaged kit and replace it and want to know when would suit me for collection - sounds like good service to me!&lt;/p&gt;
&lt;p&gt;At 6:50pm the same day, I told them I&#39;d be available on Monday or Tuesday for them to collect it. I suggested they could send out the replacement kit now and have the delivery man pick up the damaged kit. I have had no reply from them and have sent a chaser at 4:40pm 14/01/11 - not such good service after all!&lt;/p&gt;
&lt;p&gt;The items which need to be replaced are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1 x EX300 flash head&lt;/li&gt;
&lt;li&gt;1 x Power cable&lt;/li&gt;
&lt;li&gt;1 x EX300 reflector&lt;/li&gt;
&lt;li&gt;1 x EX300 softbox outer diffuser but it sounds like they are replacing the whole kit.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/amazon_flash_order.jpg&quot; alt=&quot;Screenshot of order on Amazon.co.uk&quot; title=&quot;Screenshot of order on Amazon.co.uk&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;https://secreci.com/img/softbox.jpg&quot; alt=&quot;EX300 softbox with discolouration on front diffuser&quot; title=&quot;EX300 softbox with discolouration on front diffuser&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;https://secreci.com/img/reflector3.jpg&quot; alt=&quot;EX300 reflector with bent attachment slot&quot; title=&quot;EX300 reflector with bent attachment slot&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;https://secreci.com/img/reflector2.jpg&quot; alt=&quot;EX300 reflector with bent attachment slot&quot; title=&quot;EX300 reflector with bent attachment slot&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;https://secreci.com/img/reflector1.jpg&quot; alt=&quot;EX300 reflector with dent and scratches on side&quot; title=&quot;EX300 reflector with dent and scratches on side&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;https://secreci.com/img/plug2.jpg&quot; alt=&quot;Power lead with bent pin on plug&quot; title=&quot;Power lead with bent pin on plug&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;https://secreci.com/img/plug1.jpg&quot; alt=&quot;Power lead with bent pin on plug&quot; title=&quot;Power lead with bent pin on plug&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;https://secreci.com/img/head2.jpg&quot; alt=&quot;EX300 Light Head with bent Umbrella mount&quot; title=&quot;EX300 Light Head with bent Umbrella mount&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;https://secreci.com/img/head1.jpg&quot; alt=&quot;EX300 Light Head with bent Umbrella mount&quot; title=&quot;EX300 Light Head with bent Umbrella mount&quot; /&gt;&lt;/p&gt;
&lt;p&gt;So, they arranged a collection of the damaged kit on Monday 17th, but they refused to send out the replacement kit before they had confirmation the damaged one had been picked up. I wasn&#39;t able to take any more time off work to be in to receive the new one when it arrived, so I asked for it to be delivered on Saturday (22nd). On Saturday morning, I got a text saying my delivery would be between 10:36 and 13:36. it actually arrived at 15:14.&lt;br /&gt;
The new kit is in perfect condition and seems to work well. It&#39;s a shame it took 13 days to get the replacement, and I had to be available in the flat for 3 days. Hawks replaced with no quibbles, but the service could have been much faster. Maybe they should have offered a partial refund too.&lt;/p&gt;
&lt;p&gt;I am delighted with the flash kit - It seems to have plenty of power for portrait and small group shots and I am really happy with the photos I have taken using it.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>VMWare vSphere evaluation downgrade</title>
		<link href="https://secreci.com/posts/20100925-vmware-vsphere-evaluation-downgrade/"/>
		<updated>2010-09-25T11:23:49Z</updated>
		<id>https://secreci.com/posts/20100925-vmware-vsphere-evaluation-downgrade/</id>
		<summary>How to downgrade from an expired VMWare vSphere evaluation to the free version to allow you to continue administering your virtual machines.</summary>
		<category term="tech"/>
		<category term="tutorial"/>
		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.vmware.com/&quot;&gt;VMWare&lt;/a&gt; make their vSphere Hypervisor free to download and use which is an amazing deal, they also offer a free evaluation of VMWare vSphere which adds extra bells and whistles for enterprise level virtualisation. If you take the evaluation version, you have 60 days until the vSphere client locks down and stops you powering on your virtual machines. At that point, you will either have to pay for a full vSphere licence, or downgrade to the free version again. Of course, they haven&#39;t made it very easy to find out how to do the downgrade!&lt;/p&gt;
&lt;p&gt;If your evaluation has expired, your vSphere client should look something like this.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/vclient-expired.jpg&quot; alt=&quot;vSphere Client showing expired license&quot; title=&quot;vSphere Client showing expired license&quot; /&gt;&lt;/p&gt;
&lt;p&gt;To downgrade to the free version and regain control of your virtual machines, you need to get a new licence number - its free. I have heard reports that the licence key would have been sent to you in the initial email which you received from VMWare when you registered for the evaluation, but I couldn&#39;t find it in any of the emails I had received. The best bet is probably to go ahead and re-register at the download page for ESXi - From the VMWare home page, open the &#39;Products&#39; menu and choose &lt;a href=&quot;https://www.vmware.com/products/vsphere-hypervisor/&quot;&gt;VMware vSphere Hypervisor (ESXi)&lt;/a&gt; then click the download button on the left side.&lt;br /&gt;
Login, or hit the continue button and fill out your information.&lt;/p&gt;
&lt;p&gt;Once you have completed the registration process you should receive an email with an &#39;Activate your VMware ESXi 4.1�License&#39; link. Click that and you should be presented with your new license number.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/new-licence-number-2.jpg&quot; alt=&quot;New VmWare license number&quot; title=&quot;New VmWare license number&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Copy the license number and go into your vSphere client.&lt;br /&gt;
At the top of the list of virtual machines, highlight your host machine.&lt;br /&gt;
Go to the configuration tab and choose &#39;Licensed Features&#39; under the software section.&lt;br /&gt;
Click the small &#39;edit&#39; link at the top right corner. You should now see your current evaluation license with no license key.&lt;br /&gt;
Click the &#39;Assign a new license to this host&#39; radio button, click the &#39;Enter Key&#39; button and paste in your new license number.&lt;br /&gt;
Click &#39;OK&#39;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/enter_license.jpg&quot; alt=&quot;New License entered&quot; title=&quot;New License entered&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Check that the new licence key is valid and shows &#39;Expires: Never&#39;&lt;/p&gt;
&lt;p&gt;You&#39;re done.&lt;/p&gt;
&lt;p&gt;You should now be able to administer your virtual servers as before. I&#39;m yet to find out what features are missing from the free version compared to the full vSphere version. Let me know if this works for you!&lt;/p&gt;
&lt;h2 id=&quot;comments&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20100925-vmware-vsphere-evaluation-downgrade/#comments&quot;&gt;&lt;span&gt;Comments&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100925-vmware-vsphere-evaluation-downgrade/#6753&quot; title=&quot;2012-04-10 18:41:26&quot;&gt;lesault&lt;/a&gt;:&lt;/strong&gt; You&#39;re very welcome - glad it helped!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100925-vmware-vsphere-evaluation-downgrade/#6752&quot; title=&quot;2012-04-10 18:07:38&quot;&gt;Paul&lt;/a&gt;:&lt;/strong&gt; Wow. Thank you for posting this. VMWare was little if no help in this matter, I was continuously redirected to my account with instructions on how to obtain my code but NEVER where to put it. Even their youtube instructional made it seem like this could not be done. THANK YOU!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100925-vmware-vsphere-evaluation-downgrade/#1705&quot; title=&quot;2010-10-10 22:52:01&quot;&gt;lesault&lt;/a&gt;:&lt;/strong&gt; Thanks Catherine - I thoroughly enjoyed your blog too - I&#39;ll be a regular visitor.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100925-vmware-vsphere-evaluation-downgrade/#1702&quot; title=&quot;2010-10-10 18:47:42&quot;&gt;Catherine Lockey&lt;/a&gt;:&lt;/strong&gt; Very useful,easy to understand instructions. I dugg, stumbled, tweeted, and bookmarked your post. :)&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100925-vmware-vsphere-evaluation-downgrade/#2863&quot; title=&quot;2011-01-09 04:55:12&quot;&gt;Jesper G&lt;/a&gt;:&lt;/strong&gt; Thanks! This helped me a lot after hours on vmware site ,-)&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100925-vmware-vsphere-evaluation-downgrade/#6167&quot; title=&quot;2012-02-26 23:08:47&quot;&gt;doug&lt;/a&gt;:&lt;/strong&gt; I stumbled around for this one myself! Thanks for the post. I found that I had the license key when I would log in from the link provided in an email from vmware titled: &amp;quot;Access your VMware ESXi License&amp;quot;. The key is on the page after you login. Next.. in case it gets you -- you can&#39;t copy and paste the key. You&#39;ve gotta type it in by hand. Took me a few minutes. &lt;em&gt;thumbs up&lt;/em&gt;&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100925-vmware-vsphere-evaluation-downgrade/#8235&quot; title=&quot;2012-08-30 16:48:02&quot;&gt;Shahryar&lt;/a&gt;:&lt;/strong&gt; Thanks. you are a savior.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100925-vmware-vsphere-evaluation-downgrade/#4081&quot; title=&quot;2011-10-04 22:48:40&quot;&gt;Jim&lt;/a&gt;:&lt;/strong&gt; Did not work for me. They must have taken this feature away. All I get is invalid license file.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100925-vmware-vsphere-evaluation-downgrade/#3769&quot; title=&quot;2011-08-02 09:32:11&quot;&gt;Yoann&lt;/a&gt;:&lt;/strong&gt; Thanks, you saved me time. I understand why they didn&#39;t make it easy to downgrade, but they didn&#39;t make it easy to switch to a commercial license too ^^&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100925-vmware-vsphere-evaluation-downgrade/#3829&quot; title=&quot;2011-08-18 19:42:45&quot;&gt;Charles W&lt;/a&gt;:&lt;/strong&gt; I searched high and low for the solution to this. Thanks.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100925-vmware-vsphere-evaluation-downgrade/#3443&quot; title=&quot;2011-05-17 00:49:23&quot;&gt;raul Mendez&lt;/a&gt;:&lt;/strong&gt; Great post, very useful!!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100925-vmware-vsphere-evaluation-downgrade/#3280&quot; title=&quot;2011-04-12 18:10:45&quot;&gt;Douglas&lt;/a&gt;:&lt;/strong&gt; Wicked thanks! Saved loads of time&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100925-vmware-vsphere-evaluation-downgrade/#14421&quot; title=&quot;2013-03-19 11:40:36&quot;&gt;gustavo&lt;/a&gt;:&lt;/strong&gt; Hi, and thanks for your post. One question remains , though.... I am using ESXi 5, for a few days, for personal use only on a very humble laptop. When i entered the license key, i got the same license screenshot as you which says : &amp;quot;Expires: Never&amp;quot; So, what gives? I have to re-enter the license key every 60 days or so? That &amp;quot;never&amp;quot;, it puzzles me. Thanks, for your answer ! Best regards.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Tunes 10 - Installation problem and solution</title>
		<link href="https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/"/>
		<updated>2010-09-11T19:03:53Z</updated>
		<id>https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/</id>
		<summary>Tunes 10 - Installation problem and solution</summary>
		<category term="tech"/>
		<category term="tutorial"/>
		<content type="html">&lt;p&gt;When attempting an automatic upgrade of iTunes from version 9 to 10, I got a pop-up saying &amp;quot;Service &#39;iPod Service&#39; (iPod Service) could not be installed. Verify that you have sufficient privileges to install system services.&amp;quot;&lt;/p&gt;
&lt;p&gt;The solution I found was to download the installer only and run it manually.  Here&#39;s a step by step guide of the problem you are likely to see. Before carrying this out, please back up your catalogue - I&#39;m not responsible if you lose your music!&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;When installing iTunes, you get an error pop-up &amp;quot;Service &#39;iPod Service&#39; (iPod Service) could not be installed. Verify that you have sufficient privileges to install system services.&amp;quot;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/Itunes-error-1.jpg&quot; alt=&quot;Service &#39;iPod Service&#39; iPod Service could not be installed. Verify that you have sufficient privileges to install system services.&quot; title=&quot;Service &#39;iPod Service&#39; (iPod Service) could not be installed. Verify that you have sufficient privileges to install system services.&quot; /&gt;&lt;/p&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;Without pressing any of the buttons, open the services manager by clicking the start menu, right click &#39;computer&#39; and choose &#39;manage&#39;. Navigate through &amp;quot;Services and Applications&amp;quot; then &amp;quot;Services&amp;quot;. Find the iPod Service.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/Itunes-error-2.jpg&quot; alt=&quot;Services control panel&quot; title=&quot;Services control panel&quot; /&gt;&lt;/p&gt;
&lt;ol start=&quot;3&quot;&gt;
&lt;li&gt;You should find that the iPod Service is stopped and disabled. Double click the service to see its properties.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/Itunes-error-3.jpg&quot; alt=&quot;iPod Service Properties&quot; title=&quot;iPod Service Properties&quot; /&gt;&lt;/p&gt;
&lt;ol start=&quot;4&quot;&gt;
&lt;li&gt;
&lt;p&gt;If you make any changes to the service (try changing it from &#39;Disabled&#39; to &#39;Automatic&#39; and press apply), you will see that &amp;quot;The specified service has been marked for deletion&amp;quot;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;It seems that the service needs to be deleted to allow the new version to be installed, but for some reason it hasn&#39;t. The service will be deleted if you restart your computer though. Did I mention you should back up your catalogue before doing this?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Without cancelling the current iTunes installation, restart your computer. If you do cancel the install, iTunes will roll back to where you were before you started the install and the service will not be marked for deletion.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;After your computer reboots, run the installer again and follow the prompts, it should install fine. In my case, all my music was still there. But if not, you can restore from the backup you took earlier - you did take a back up, didn&#39;t you?!?&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I hope this helps you get iTunes 10 installed - let me know how you get on!&lt;/p&gt;
&lt;h2 id=&quot;comments&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/#comments&quot;&gt;&lt;span&gt;Comments&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/#2013&quot; title=&quot;2010-10-30 01:44:43&quot;&gt;Tony&lt;/a&gt;:&lt;/strong&gt; This did the trick - Thanks!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/#3213&quot; title=&quot;2011-03-29 22:57:34&quot;&gt;Neil&lt;/a&gt;:&lt;/strong&gt; You are a genius. Thanks.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/#2925&quot; title=&quot;2011-02-06 13:59:47&quot;&gt;lesault&lt;/a&gt;:&lt;/strong&gt; Hi Oscar. To back up your catalogue, go to the File menu, choose &#39;Library&#39; and &#39;Back up to disc...&#39;&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/#1445&quot; title=&quot;2010-09-24 18:35:56&quot;&gt;Jeppedy&lt;/a&gt;:&lt;/strong&gt; Here&#39;s a clean fix that seems to hit the iTunes 10 problem on the head: &lt;a href=&quot;http://bit.ly/itunes10prob&quot;&gt;http://bit.ly/itunes10prob&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/#2914&quot; title=&quot;2011-01-30 17:18:47&quot;&gt;oscar&lt;/a&gt;:&lt;/strong&gt; Just one thing: How exactly do you back up your catalogue?&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/#1348&quot; title=&quot;2010-09-16 15:35:06&quot;&gt;Mike&lt;/a&gt;:&lt;/strong&gt; Didn&#39;t work for me. I never got Windows Service Manager to say that the service was scheduled for deletion when the &amp;quot;Abort, Retry, Ignore&amp;quot; dialog popped up. I still rebooted, but no luck. I had to use the more complicated fix of saving my iPod service from 9.2.1 and replacing after 10.0 installed. Don&#39;t know what other bugs I&#39;m going to have because of doing that, but we&#39;ll see...&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/#1349&quot; title=&quot;2010-09-16 15:59:20&quot;&gt;lesault&lt;/a&gt;:&lt;/strong&gt; Mike, thanks for the feedback - hopefully your comments will point people in the right direction if they see the same error you did.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/#6436&quot; title=&quot;2012-03-16 01:52:48&quot;&gt;Dani&lt;/a&gt;:&lt;/strong&gt; Wow! It actually worked :) Thanks so much!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/#4074&quot; title=&quot;2011-10-03 22:27:15&quot;&gt;RHMartin&lt;/a&gt;:&lt;/strong&gt; This bug is still present with iTunes 10.4.1.10 and your workaround still works, lesault. THANK YOU!Shame on Apple for not having addressing the problem by now.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/#4124&quot; title=&quot;2011-10-11 14:03:14&quot;&gt;steve&lt;/a&gt;:&lt;/strong&gt; Thanks helped me fix the problem.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/#4210&quot; title=&quot;2011-10-17 17:22:46&quot;&gt;robram&lt;/a&gt;:&lt;/strong&gt; Top stuff - worked like a dream :o)&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/#4169&quot; title=&quot;2011-10-14 23:46:14&quot;&gt;Brian&lt;/a&gt;:&lt;/strong&gt; Same problem with iTunes 10.5. I saw that the iPod Service was scheduled for deletion. However, instead of just rebooting, I aborted the install and let iTunes revert back all of the changes it made. After the install was successfully aborted, I rebooted my PC. I checked the services and sure enough, the iPod Service had been deleted. I then re-ran the iTunes install and it worked perfectly. I just didn&#39;t feel comfortable rebooting my PC mid-install. I&#39;m glad it worked, and I would have spent hours working on this without your article. Thanks!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/#3856&quot; title=&quot;2011-08-24 23:44:05&quot;&gt;mike&lt;/a&gt;:&lt;/strong&gt; Worked perfectly. Thanks&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/#3426&quot; title=&quot;2011-05-12 16:38:01&quot;&gt;stefano&lt;/a&gt;:&lt;/strong&gt; Thanks mate. I had already installed iTunes 10.2.2, however I followed your procedure, restarted and then re-run the iTunes installer and choosen &#39;rapair&#39; All working fine now, thanks.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/#4426&quot; title=&quot;2011-11-07 01:39:34&quot;&gt;phillin&lt;/a&gt;:&lt;/strong&gt; Worked like a charm! Thanks very much.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/#2334&quot; title=&quot;2010-12-04 22:49:55&quot;&gt;sharon&lt;/a&gt;:&lt;/strong&gt; Works just fine! Thanks a lot! btw it saved me files=]&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/#2945&quot; title=&quot;2011-02-14 06:53:11&quot;&gt;Izzie&lt;/a&gt;:&lt;/strong&gt; MUAH!! Thank you!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/#2942&quot; title=&quot;2011-02-13 13:25:00&quot;&gt;jegormeister&lt;/a&gt;:&lt;/strong&gt; Thanks! This helped.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/#5779&quot; title=&quot;2012-01-29 12:25:49&quot;&gt;Iumie&lt;/a&gt;:&lt;/strong&gt; Thanks very much for this! I took three days trying to fix that problem on my own and looked at several other forums to see if there was a way I could solve it... and this one did it! The amount of times I tried to reinstall iTunes is ridiculous! I did it in many different ways 6`7 times a day... ANYWAY, thanks a bunch! I&#39;m really grateful that you posted a solution.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/#4163&quot; title=&quot;2011-10-14 19:39:50&quot;&gt;lesault&lt;/a&gt;:&lt;/strong&gt; Looks like a lot of people are rediscovering this post with the release of iOS5. I have heard that this fix still works for the new version.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/#22737&quot; title=&quot;2013-05-19 19:54:55&quot;&gt;James Hays&lt;/a&gt;:&lt;/strong&gt; I kept getting this error. I tried the above instructions and they didn&#39;t work. Finally, I uninstalled itunes, used revo uninstaller to clean itunes out of my machine, and then installed itunes after it was all over. An odd thing: itunes tried to install itself twice. The first time it worked fine, but the second time it gave me the exact same error as the one listed above. I aborted, and now itunes is apparently installed. Weird.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/#32022&quot; title=&quot;2013-10-14 15:12:08&quot;&gt;Piers&lt;/a&gt;:&lt;/strong&gt; seriously, thank you SO much for this. iTunes 11 has been broken on my PC for the last few months constantly complaining about the iPod service not being properly installed, plus iTunes updates would never successfully complete. I used &#39;advanced uninstaller pro&#39; (after backing up my library file) to remove all traces of iTunes from my PC and tried to reinstall, but it came up with this error - followed your steps with the deleting and rebooting, installer completed after reboot successfully. At last, I can finally sync my iPod properly :D&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/#79686&quot; title=&quot;2014-07-08 01:10:16&quot;&gt;Gordon&lt;/a&gt;:&lt;/strong&gt; It worked for me and I still have my original library. Thanks for posting this fix and explaining the problem.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/#80580&quot; title=&quot;2014-07-19 15:51:27&quot;&gt;Robert B&lt;/a&gt;:&lt;/strong&gt; Thanks! Encountered the same problem when installing iTunes 11.3 (in-place upgrade from 11.2 to 11.3 kept failing so I downloaded the full installer).&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/#80137&quot; title=&quot;2014-07-13 18:27:54&quot;&gt;Jeff&lt;/a&gt;:&lt;/strong&gt; yep, that did it. Restarted computer and right clicked the installer as administrator to launch. I chose repair as other in this post and the one discrepancy is now resolved.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100911-itunes-10-installation-problem-and-solution/#109476&quot; title=&quot;2015-02-02 02:16:08&quot;&gt;Richard Randall&lt;/a&gt;:&lt;/strong&gt; This suggestion worked for me in upgrading to version 12. Thanks for a clear post! Rick&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Server Gate Cryptography secrets</title>
		<link href="https://secreci.com/posts/20100829-server-gate-cryptography-secrets/"/>
		<updated>2010-08-29T23:55:23Z</updated>
		<id>https://secreci.com/posts/20100829-server-gate-cryptography-secrets/</id>
		<summary>Certification Authorities (CAs) offer two types of SSL certificate, but which should you use?</summary>
		<category term="security"/>
		<category term="essay"/>
		<content type="html">&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/padlock.jpg&quot; alt=&quot;Rusty Padlock&quot; title=&quot;Rusty Padlock&quot; /&gt;&lt;br /&gt;
Padlock photo by Ralph Aichinger&lt;/p&gt;
&lt;p&gt;Certification Authorities (CAs) offer two types of SSL certificate, one type includes Server Gate Cryptography (SGC) and is often promoted as a premium, or high security option and is charged at a much higher price than the non-SGC equivalent. So, it should be a no-brainer that you should buy the best, most expensive certificate you can afford to ensure the security of traffic with your website, shouldn&#39;t it?&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Well, no.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Until late 1999, the United States were imposing restrictions on the export of strong cryptography which resulted in &#39;export versions&#39; of Internet Explorer, Netscape and other web browsers which did not enable high encryption by default. Instead, browsing SSL sites with an &#39;export version&#39; browser resulted in a connection which was encrypted with 40 or 56-bit encryption. A non-export version would negotiate 128-bit encryption.&lt;/p&gt;
&lt;p&gt;To allow very sensitive sites to step-up the encryption to 128-bit even on an export version browser, special certificates were issued to authorised sites, for example government sites and financial institutions, which would unlock the high encryption functionality and allow 128-bit secure connections.&lt;/p&gt;
&lt;p&gt;By 2000, the export restrictions were dropped and the international browser versions began supporting 128-bit encryption by default. At the same time, SGC certificates were offered to anyone who wanted them to allow older export browsers to use high encryption. For a few years after 2000, it made sense to use an SGC enabled certificate if you wanted to ensure everyone could access your site securely and it was worth paying a premium to ensure that your site was available to the maximum number of customers. Now, though, there are many fewer users with the old browsers, so you won&#39;t affect as many customers by removing the SGC capability.&lt;/p&gt;
&lt;p&gt;But, it can&#39;t hurt to use an SGC certificate, can it?&lt;/p&gt;
&lt;p&gt;*Well, yes. *&lt;/p&gt;
&lt;p&gt;These old browsers (e.g. Internet Explorer 4.01 to 5.01, Netscape 4.07 to 4.72) are over 10 years old now, they have not received security updates or patches since 2000. The security patches which have been released for more modern browsers in the past ten years help to protect the system against keyloggers, viruses and other malware which can intercept data on the client, even if it is transmitted across the network securely encrypted. This means that the connection which is assumed to be secure by the user probably isn&#39;t, and malware in the browser could potentially be carrying out unauthorised transactions on your server using the client&#39;s credentials.&lt;/p&gt;
&lt;p&gt;Worse still, the malware could hide the fraudulent transactions from the user so he never sees evidence of a problem. Updating these browsers to modern, secure versions is free and simple.&lt;/p&gt;
&lt;p&gt;High-encryption packs are &lt;a href=&quot;http://www.microsoft.com/windows/ie/ie6/downloads/recommended/128bit/default.mspx&quot;&gt;available from Microsoft&lt;/a&gt; for older operating systems - Windows 95, Windows 98, Windows NT and Windows 2000, and a huge variety of secure browsers are available for free download.&lt;/p&gt;
&lt;p&gt;So, how many customers are likely to be unable to access my site when I move to non-SGC certificates?&lt;/p&gt;
&lt;p&gt;In an &lt;a href=&quot;http://download.entrust.com/resources/download_page.cfm/23568/WP_SGC_July09.pdf&quot;&gt;Entrust Whitepaper&lt;/a&gt; on the subject from July 2009, the estimate is that 0.07% of browsers on the Internet would be affected, less than 1 in a thousand, and this number is likely to be even lower now. This small percentage of users who will be unable to connect to your site are unlikely to be surprised as more and more of the Internet will be becoming unavailable to them every day as other sites move away from these outdated certificates.&lt;/p&gt;
&lt;p&gt;It really is time they dragged themselves into the 21st Century and spent 5 minutes upgrading their browsers to ensure their connection is secure. By making sites unavailable to them, you are doing your customers a favour by encouraging them to upgrade, and are helping to protect your other customers by making it harder for malware to get a foothold on your server. &lt;strong&gt;There is one very important change you need to make to your server though, ensure that weak encryption is not supported otherwise these old browsers will negotiate 40 or 56-bit connections with your server!&lt;/strong&gt;&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Android on three.co.uk</title>
		<link href="https://secreci.com/posts/20100424-android-on-three-co-uk/"/>
		<updated>2010-04-24T19:13:59Z</updated>
		<id>https://secreci.com/posts/20100424-android-on-three-co-uk/</id>
		<summary>Android on three.co.uk</summary>
		<category term="tech"/>
		<content type="html">&lt;p&gt;Today I changed my mobile provider after a number of problem-free years with T-Mobile to Three who have a good deal on at the moment for a 30-day contract SIM only with &#39;unlimited&#39; (1Gb/mo) data for £15.&lt;br /&gt;
I had a T-Mobile G1, but bought a SIM free Nexus One from Google a couple of months ago. Now that my 12 month contract with T-Mobile has finished, I grudged paying them £35 per month. The best deal they could do on a 30 day contract with unlimited data was £20/mo according to their website. The new Three SIM was enabled within an hour of purchasing it but, although I could make and receive calls, I had no network access.&lt;br /&gt;
In order to get access, you need to set up an APN with these settings:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Name - 3&lt;/li&gt;
&lt;li&gt;APN - &lt;a href=&quot;http://three.co.uk/&quot;&gt;three.co.uk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Proxy - not set&lt;/li&gt;
&lt;li&gt;Port - not set&lt;/li&gt;
&lt;li&gt;Username - not set&lt;/li&gt;
&lt;li&gt;Password - not set&lt;/li&gt;
&lt;li&gt;Server - not set&lt;/li&gt;
&lt;li&gt;MMSC - &lt;a href=&quot;http://mms.um.three.co.uk:10021/mmsc&quot;&gt;http://mms.um.three.co.uk:10021/mmsc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;MMS proxy - &lt;a href=&quot;http://mms.three.co.uk/&quot;&gt;mms.three.co.uk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;MMS port - 8799&lt;/li&gt;
&lt;li&gt;MCC - 234&lt;/li&gt;
&lt;li&gt;MNC - 20&lt;/li&gt;
&lt;li&gt;APN type - not set&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To set up the APN on a Nexus One do Menu &amp;gt; Settings &amp;gt; Wireless &amp;amp; networks &amp;gt; Mobile networks &amp;gt; Access Point Names &amp;gt; Menu &amp;gt; New APN&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; This morning, I called T-Mobile to get my pac code and to terminate my contract with them. To tempt me to stay with them, they offered me a £5/mo contract with 1Gb Data allowance, 100 minutes and 100 texts on a 24 month contract. I was extremely tempted, but didn&#39;t want to be tied into a long contract, the rep then said he could do exactly the same deal but leave me out of contract - that means I can still cancel with 30 days notice! This is the best deal I&#39;ve had from a mobile phone operator - good work T-Mobile! Anybody else paying less than 17p per day for their mobile service?&lt;br /&gt;
I called Three to cancel my new contract and they were also extremely helpful. Cancelling my account and promising that I would only pay pro rata for the 23rd to 26th of May (30 day notice required) - I expected to have to pay the full £15 for the month. Excellent service from Three too!&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Domain Renewal Scam</title>
		<link href="https://secreci.com/posts/20100203-domain-renewal-scam/"/>
		<updated>2010-02-03T20:43:36Z</updated>
		<id>https://secreci.com/posts/20100203-domain-renewal-scam/</id>
		<summary>Domain Renewal Scam</summary>
		<category term="security"/>
		<content type="html">&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/domainrenewalgroup.jpg&quot; alt=&quot;The Domain Renewal Group&#39;s bill-like letter&quot; title=&quot;The Domain Renewal Group&#39;s bill-like letter&quot; /&gt;&lt;/p&gt;
&lt;p&gt;When I came home from work, an official looking envelope from the &#39;Domain Renewal Group&#39; was waiting for me. Inside was an equally official looking letter which I initially thought was a bill. It turns out it is just a marketing letter posing as a renewal notice for one of my domains. It seems they look at the WHOIS records for domains which are expiring soon and send out these letters in the hope someone will think it is a bill and give them a cheque or credit card number. They expect me to pay £20 to renew my domain and make them my new registrar, this is vastly more expensive than renewing with my current registrar which would cost only £5.46 for a year.&lt;br /&gt;
I think this is a deliberately deceiving letter designed to look like a bill in the hope that it will just be paid and forgotten - many people with websites don&#39;t really understand the roles of registrar, hosting company etc. and this will just confuse them further.&lt;/p&gt;
&lt;p&gt;In short, if you&#39;re happy with your current registrar, don&#39;t bother changing. If you do decide to change, don&#39;t be forced into it by someone sending you direct marketing letters.&lt;/p&gt;
&lt;h2 id=&quot;comments&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20100203-domain-renewal-scam/#comments&quot;&gt;&lt;span&gt;Comments&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100203-domain-renewal-scam/#367&quot; title=&quot;2010-02-04 17:04:26&quot;&gt;Trevor&lt;/a&gt;:&lt;/strong&gt; That letter looks very similar to the ones I get from Domain Registry of America the first time a domain is due for renewal. Turns out they&#39;re the same people and have already had their wrists slapped: &lt;a href=&quot;http://bit.ly/aBzK0m&quot;&gt;http://bit.ly/aBzK0m&lt;/a&gt; .-= Trevor´s last blog ..Virtual Model Homes from Focus 360 =-.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Invasion of the Not Quite Dead Trailer released!</title>
		<link href="https://secreci.com/posts/20100129-invasion-of-the-not-quite-dead-trailer-released/"/>
		<updated>2010-01-29T08:10:47Z</updated>
		<id>https://secreci.com/posts/20100129-invasion-of-the-not-quite-dead-trailer-released/</id>
		<summary>IndywoodFILMS presents &#39;Invasion Of The NOT QUITE Dead&#39; teaser promo...</summary>
		<category term="essay"/>
		<content type="html">&lt;p&gt;IndywoodFILMS presents: &#39;Invasion Of The NOT QUITE Dead&#39; teaser promo...&lt;/p&gt;
&lt;p&gt;In August 2009, a special teaser promo was created to raise awareness for a horror feature film called &#39;INVASION OF THE NOT QUITE DEAD&#39; which has the support of such names as: Tom Savini, Kevin Pollak, Ken Russell, David Hess, Lloyd Kaufman, HG Lewis, Lee Boardman, Justin Kerrigan &amp;amp; talk show host Jonathan Ross.&lt;/p&gt;
&lt;p&gt;The teaser was shot on 16mm film on location at a small farm in Kent and stars horror veteran Leslie Simpson (Dog Soldiers, The Descent, Doomsday), Efisia Fele and Frank Jakeman.&lt;/p&gt;
&lt;p&gt;Visit &lt;a href=&quot;http://www.theindywoodproject.com/&quot;&gt;www.theindywoodproject.com&lt;/a&gt; and help them to independently raise funds to make the feature film, they are currently receiving an incredible amount of media attention due to them selling pre-order producer packages to help raise their £100,000 budget, so far as of Jan 29th they have sold 449 producer packages to 18 different countries, raising over £16,000 - help them to continue the success...&lt;/p&gt;
&lt;p&gt;I am preorder number 10 and have recently upgraded to VIP Executive Producer status.&lt;/p&gt;
&lt;p&gt;For more information on how you can help the production of &#39;INVASION OF THE NOT QUITE DEAD&#39; please visit: &lt;a href=&quot;http://www.theindywoodproject.com/&quot;&gt;http://www.theindywoodproject.com&lt;/a&gt; or &lt;a href=&quot;http://www.invasionofthedead.com/&quot;&gt;http://www.invasionofthedead.com&lt;/a&gt; and, for real time updates, why not follow them on twitter: @indywoodFILMS and their official facebook page: &lt;a href=&quot;http://www.facebook.com/pages/Invasion-of-the-Not-Quite-Dead/16091146970&quot;&gt;http://www.facebook.com/pages/Invasio...&lt;/a&gt; or contact writer/producer/director Antony Lane: &lt;a href=&quot;mailto:adlane@indywood.co.uk&quot;&gt;adlane@indywood.co.uk&lt;/a&gt;&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Time Travellers</title>
		<link href="https://secreci.com/posts/20100107-time-travellers/"/>
		<updated>2010-01-07T07:19:38Z</updated>
		<id>https://secreci.com/posts/20100107-time-travellers/</id>
		<summary>Time Travellers</summary>
		<category term="essay"/>
		<content type="html">&lt;p&gt;&lt;strong&gt;#IcanChangeThePast2&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&quot;comments&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20100107-time-travellers/#comments&quot;&gt;&lt;span&gt;Comments&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100107-time-travellers/#136178&quot; title=&quot;2018-05-14 21:06:33&quot;&gt;Chris&lt;/a&gt;:&lt;/strong&gt; Are you a time traveler?&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100107-time-travellers/#136180&quot; title=&quot;2018-05-14 21:10:10&quot;&gt;Chris&lt;/a&gt;:&lt;/strong&gt; You did the hashtag the researchers had asked to be placed prior to August 2013 when they made their invitations in September that year. Did you back date the post? Is that possible with the technology of the site? Would you be willing to share data that corroborates the post was indeed made on January 7th, 2010? Did you know I was the one that would find this?&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20100107-time-travellers/#136183&quot; title=&quot;2018-05-14 21:59:35&quot;&gt;Chris&lt;/a&gt;:&lt;/strong&gt; You put the ad there to geo-locate me, right? You could have just asked. I&#39;m a regular guy, if you didn&#39;t already know that.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Edinburgh Winter Festival</title>
		<link href="https://secreci.com/posts/20091205-edinburgh-winter-festival/"/>
		<updated>2009-12-05T14:15:49Z</updated>
		<id>https://secreci.com/posts/20091205-edinburgh-winter-festival/</id>
		<summary>Rich_Dyson invited me to join him taking some long exposure photos of the Edinburgh Winter Festival in Princes Street Gardens.</summary>
		<category term="travel"/>
		<content type="html">&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/4159263613_129e097b17_o.jpg&quot; alt=&quot;Edinburgh Winter Festival&quot; title=&quot;Edinburgh Winter Festival&quot; /&gt;&lt;br /&gt;
(10&amp;quot; F/9 iso100 92mm)&lt;/p&gt;
&lt;p&gt;Yesterday, &lt;a href=&quot;http://www.twitter.com/rich_dyson&quot;&gt;@rich_dyson&lt;/a&gt; invited me to join him taking some long exposure photos of the Edinburgh Winter Festival in Princes Street Gardens.&lt;br /&gt;
We met near the &#39;Giant Wheel&#39; and set up the cameras in the middle of Princes Street looking towards the wheel, carousel and helter skelter. I knew I wanted a long exposure to blur the wheel and people, and to get some nice light streaks from taxis and buses passing in front of us. With my 18mm lens at the smallest aperature, the exposure was about 15&amp;quot;, so I put put on an ND8 to increase the length of exposure.&lt;br /&gt;
I am happy with about 3 of the 20 or so photos I took, the best is probably this one:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/4159175502_7cf4e6e529_o.jpg&quot; alt=&quot;Edinburgh Winter Festival&quot; title=&quot;Edinburgh Winter Festival&quot; /&gt;&lt;br /&gt;
(20&amp;quot; f/13 iso100 18mm)&lt;/p&gt;
&lt;p&gt;After that we took a wander through the &#39;Scottish Market&#39;. I had taken a photo earlier of &#39;Amelia&#39; who was doing Tarot readings in her Gypsy Caravan (are you still allowed to say &#39;Gypsy&#39;? I can never remember)... although I did see another woman giving readings there earlier - I wonder if there really is only one Amelia.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/4160062430_7e1e688fe3_o.jpg&quot; alt=&quot;Amelia&quot; title=&quot;Amelia&quot; /&gt;&lt;br /&gt;
(1/60 f/1.4 iso800 50mm)&lt;/p&gt;
&lt;p&gt;I did a bit of photoshopping to add detail back into the sitter&#39;s white hat and reduced the exposure of the background which was a bit bright before.&lt;/p&gt;
&lt;p&gt;We set up on the Plaza between the Art Galleries at the bottom of the mound where I took the photo you see at the top of this page. It is actually a merge of 2 photos, the wheel, shed and clock tower are from one, the sky, trees and helter skelter are from another - I think it was worth editing to get the nice sky.&lt;/p&gt;
&lt;p&gt;I had never tried a long exposure with my long lens, so I also took a close-up of the clocktower on the Balmoral Hotel from the same position. &lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/4158414151_8d56653d36_o.jpg&quot; alt=&quot;clocktower on the Balmoral Hotel&quot; title=&quot;clocktower on the Balmoral Hotel&quot; /&gt;&lt;br /&gt;
(5&amp;quot; f/9 iso100 149mm)&lt;/p&gt;
&lt;p&gt;Unfortunately, the nice moonlit clouds were beginning to disappear.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Chomp! Descends on Edinburgh</title>
		<link href="https://secreci.com/posts/20090806-chomp-descends-on-edinburgh/"/>
		<updated>2009-08-06T23:42:39Z</updated>
		<id>https://secreci.com/posts/20090806-chomp-descends-on-edinburgh/</id>
		<summary>Chomp! The new Zombie musical! The cast rocked the Royal Mile tonight - definately worth seeing this festival.</summary>
		<category term="review"/>
		<content type="html">&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/chomp_cast.jpg&quot; alt=&quot;The cast of Chomp! take over the Royal Mile&quot; title=&quot;The cast of Chomp! take over the Royal Mile&quot; /&gt;&lt;/p&gt;
&lt;p&gt;This evening I was doing the City of the Dead Underground City tour at 9pm, but I was on the Royal mile from about 6.30 to see the street performers and generally hang out. At about 7pm, the cast of &amp;quot;Chomp! The new Zombie Musical&amp;quot; took over the High Street.&lt;/p&gt;
&lt;p&gt;Usually at festival time you get hundreds of posh schoolkid luvvies who are in productions and make a fool of themselves on The Mile trying to get people interested in seeing their shows. Chomp! seems a little different - these actors are really getting into the part - a gang of zombies came sprinting up the Royal Mile, chasing each other and terrorising members of the public. Luckily the army arrived and a huge fight broke out between them and the zombies.&lt;/p&gt;
&lt;p&gt;There was some extremely realistic looking punches being delivered between a zombie in a bowler hat and tails (who I assume is the leader) and one of the soldiers. Then suddenly two of the Zombies broke into song... &amp;quot;Shooting Out The Brains of the Dead&amp;quot; - A jolly ditty about DIY zombie lobotomy - brilliant!&lt;/p&gt;
&lt;p&gt;The show is on in C-1, Venue 34. 5:15pm 7-8 August. I&#39;m working both nights so I can&#39;t make it - you should go though!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; If you missed the show live, Andy Evans has made a video of one of the early performances available:&lt;/p&gt;
&lt;p&gt;Chomp! The new Zombie Musical - Act 1   &amp;lt;-- link missing :-(&lt;br /&gt;
Chomp! The new Zombie Musical - Act 2   &amp;lt;-- link missing :-(&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;18/03/2019&lt;/strong&gt; Have a look at these instead:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=k4HqU_8QXzo&quot;&gt;Shooting Out The Brains of the Dead from CHOMP&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://www.youtube.com/watch?v=illH20ub0HM&quot;&gt;Beaten the Zombies from CHOMP: A Zombie Musical&lt;/a&gt;&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>DDOS on Twitter - happening now!</title>
		<link href="https://secreci.com/posts/20090806-ddos-on-twitter-happening-now/"/>
		<updated>2009-08-06T16:04:49Z</updated>
		<id>https://secreci.com/posts/20090806-ddos-on-twitter-happening-now/</id>
		<summary>Twitter.com is currently down. Status.twitter.com reports that they are currently fighting a DDOS attack.</summary>
		<category term="essay"/>
		<content type="html">&lt;p&gt;&lt;a href=&quot;http://twitter.com/&quot;&gt;Twitter.com&lt;/a&gt; is currently down.&lt;br /&gt;
&lt;a href=&quot;http://status.twitter.com/&quot;&gt;Status.twitter.com&lt;/a&gt; reports that they are currently fighting a DDOS (Distributed Denial of Service) attack which has been running by my estimation since shortly before 15:00 BST.&lt;/p&gt;
&lt;p&gt;In a DDOS attack, the server is sent enough requests to overwhelm the server and affect genuine users. In the case of a site like twitter, which has lots of bandwidth, the attack generally comes from a botnet (computers infected with malware which can be turned to a variety of uses - from sending spam emails to DDOSing sites). There is speculation that this attack is being perpetrated by the same &amp;quot;Dastardly Hackers&amp;quot; who brought down Gawker on Sunday while ddosing &lt;a href=&quot;http://consumerist.com/&quot;&gt;consumerist.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/twitter_ddos.jpg&quot; alt=&quot;Twitter status - down!&quot; title=&quot;Twitter status - down!&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Twitter&#39;s status page now reports that the site is back up, but I have found that service is still intermittent. I want my twitter back!&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>My second chain attempt</title>
		<link href="https://secreci.com/posts/20090804-my-second-chain-attempt/"/>
		<updated>2009-08-04T21:06:04Z</updated>
		<id>https://secreci.com/posts/20090804-my-second-chain-attempt/</id>
		<summary>My second attempt at a chain-maille bracelet - trying out new patterns.</summary>
		<category term="maker"/>
		<content type="html">&lt;p&gt;Having made my own jump rings from silverplated copper wire, I decided to put them together into something that looks a bit more like some jewelery. The result, a 7&amp;quot; bracelet with a chain made of double links and a box-chain central section.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/bracelet.jpg&quot; alt=&quot;2x2 chain with Box section&quot; title=&quot;2x2 chain with Box section&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The joins in the links are much tighter this time round than my last attempt. Things to work on for the next one are to scratch the links less with the pliers while closing them, and to make the chain of silver rather than plated copper. I&#39;m quite pleased with the decorative section in the middle though - really tight due to the aspect ratio of the rings.&lt;/p&gt;
&lt;h2 id=&quot;comments&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20090804-my-second-chain-attempt/#comments&quot;&gt;&lt;span&gt;Comments&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20090804-my-second-chain-attempt/#67&quot; title=&quot;2009-08-06 03:54:25&quot;&gt;Daws&lt;/a&gt;:&lt;/strong&gt; Looking good! You&#39;re right about the silver plated copper, it&#39;s good for practising or working out new ideas but you can&#39;t beat silver. Plain copper could be nice, I&#39;ve been thinking about making some copper maille bracelets. Copper also has supposed healing/curative/therapeutic/ability to ward of time-travelling demons* benefits. *maybe I made the last one up .-= Daws´s last blog ..&lt;a href=&quot;http://daws-is-easily-distracted.blogspot.com/2009/07/myspace.html&quot;&gt;Myspace&lt;/a&gt; =-.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20090804-my-second-chain-attempt/#620&quot; title=&quot;2010-05-05 19:12:00&quot;&gt;Karen&lt;/a&gt;:&lt;/strong&gt; Hi there, I was impressed with the ring making. Did you persevere? I&#39;m also addicted to chainmaill and am in the process of trying to figure out so many weaves!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20090804-my-second-chain-attempt/#621&quot; title=&quot;2010-05-05 20:30:23&quot;&gt;lesault&lt;/a&gt;:&lt;/strong&gt; Hi Karen, I haven&#39;t made anything else since the chain above - been far too busy with work, but I&#39;m hoping to get back into it this summer. What are you working on at the moment?&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Moo mini-cards</title>
		<link href="https://secreci.com/posts/20090802-moo-mini-cards/"/>
		<updated>2009-08-02T21:47:16Z</updated>
		<id>https://secreci.com/posts/20090802-moo-mini-cards/</id>
		<summary>Moo mini-cards</summary>
		<category term="review"/>
		<content type="html">&lt;p&gt;My second set of &lt;a href=&quot;http://www.moo.com/&quot;&gt;Moo&lt;/a&gt; mini-cards arrived a few days ago. I&#39;m delighted with this set too. My last set featured photographs of Greyfriar&#39;s Kirkyard and were intended to give to people who had been on my &lt;a href=&quot;http://www.blackhart.uk.com/&quot;&gt;ghost tour&lt;/a&gt; and wanted my details.&lt;/p&gt;
&lt;p&gt;This new set are a bit more colourful and light hearted for general use where I don&#39;t want to scare people away.&lt;/p&gt;
&lt;p&gt;The thing I like about moo mini-cards is their quirky shape and size - they are different to any other business card anyone will have in their wallet (unless you&#39;re at a tweetup where everyone seems to have them!). I love that you can get many different images printed in one order for a reasonable price.&lt;/p&gt;
&lt;p&gt;Anyway, these are my newest cards - let me know what you think!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/moocards.jpg&quot; alt=&quot;Moo mini-cards&quot; title=&quot;Moo mini-cards&quot; /&gt;&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>First attempt at jump-ring making</title>
		<link href="https://secreci.com/posts/20090802-first-attempt-at-jump-ring-making/"/>
		<updated>2009-08-02T00:05:15Z</updated>
		<id>https://secreci.com/posts/20090802-first-attempt-at-jump-ring-making/</id>
		<summary>I successfully made a bunch of jump rings from 0.8mm Silver plated copper wound by hand. Read on to find out how I got the blister on my finger!</summary>
		<category term="maker"/>
		<content type="html">&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/coil_of_wire.jpg&quot; alt=&quot;10m of 0.8mm Silver-plated copper wire&quot; title=&quot;10m of 0.8mm Silver-plated copper wire&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I found a shop on St Mary&#39;s Street in the Old Town which sells jewelery making supplies and picked up a 10m length of 0.8m silver plated copper wire for the bargain price of £4.50. At home I looked around for a suitable mandrel and found a short length of metal bar from an old portable TV aerial (who said jewelery-making wasn&#39;t glamorous?) and set about winding the wire round it.&lt;/p&gt;
&lt;p&gt;Winding will be much easier next time when I get a decent length mandrel and drill a hole in it to hold the wire. In this case, I just did it with my hands. I have a lovely blister on my index finger to prove it. Lesson learned.&lt;br /&gt;
Once the wire was wound, I slid the mandrel out and was left with a (not very springy) spring. It wasn&#39;t as uniform as I had hoped for - the diameter was the same all the way along, but there were a few small gaps between each turn. I suspect this won&#39;t make a huge difference, but some rings will be more open than others when I am finished. Hopefully it will not affect the size of each ring too much.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/wound_wire.jpg&quot; alt=&quot;Wire after removing mandrel&quot; title=&quot;Wire after removing mandrel&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Before cutting it, I decided to make sure that I didn&#39;t lose the rings all over the floor. Paul had recommended taping the wire before cutting, but I am out of masking tape and Sellotape wasn&#39;t sticking so well. I slid a length of thread through the middle of the wire and tied it in a loop - my thinking was that most of the rings would end up hanging on the thread. This was fairly successful although I found a lot of the rings ended up linked round the blade of the saw - this meant that the thread tended to get a bit tangled.&lt;/p&gt;
&lt;p&gt;Next time I may try without the thread or tape. I was holding the rings between my fingers anyway, so I don&#39;t think too many will fall.&lt;/p&gt;
&lt;p&gt;I put beeswax on the blade of the saw as recommended (for silver anyway - not sure what I was supposed to use with copper) and it seemed to do the job. It cut much more quickly right after applying the wax, so I stopped regularly to apply more. After being so careful not to drop any of the rings, I was a bit gutted when I stood up and knocked them all over the floor anyway.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/jump_rings.jpg&quot; alt=&quot;Hand-made jump rings&quot; title=&quot;Hand-made jump rings&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I now have 110 shiny little circles ready to link together. I suspect I&#39;ll need more to make anything useful (Terri&#39;s Byzantine chain bracelet took 200) but I still have plenty of wire left over to make more.&lt;/p&gt;
&lt;h2 id=&quot;comments&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20090802-first-attempt-at-jump-ring-making/#comments&quot;&gt;&lt;span&gt;Comments&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20090802-first-attempt-at-jump-ring-making/#63&quot; title=&quot;2009-08-04 08:33:51&quot;&gt;Daws&lt;/a&gt;:&lt;/strong&gt; Now comes the fun part, tweaking them so they are all flat! .-= Daws´s last blog ..&lt;a href=&quot;http://daws-is-easily-distracted.blogspot.com/2009/07/myspace.html&quot;&gt;Myspace&lt;/a&gt; =-.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Lesault&#39;s Top 10 things to do in Edinburgh</title>
		<link href="https://secreci.com/posts/20090730-lesaults-top-10-things-to-do-in-edinburgh/"/>
		<updated>2009-07-30T18:56:59Z</updated>
		<id>https://secreci.com/posts/20090730-lesaults-top-10-things-to-do-in-edinburgh/</id>
		<summary>My top-ten must do things for your visit to Edinburgh!</summary>
		<category term="travel"/>
		<content type="html">&lt;p&gt;Although Edinburgh is a small city, there are a huge number of things to do. If you’re only here for a few days, here are my top ten things you have to do!&lt;/p&gt;
&lt;h2 id=&quot;1.-edinburgh-castle&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20090730-lesaults-top-10-things-to-do-in-edinburgh/#1.-edinburgh-castle&quot;&gt;&lt;span&gt;1. &lt;a href=&quot;http://www.edinburghcastle.gov.uk/&quot;&gt;Edinburgh Castle&lt;/a&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Edinburgh is internationally famous for its Castle built on a crag of volcanic dolomite rock at the top of the Royal Mile and overlooking the whole city.  Go before 1pm and get a good view of the ‘One O’Clock Gun’ which fires every day except Sunday. See the Scottish Crown Jewels, the beautiful chapel, the huge Mons Meg cannon and much more. If you are here during the festival (August) you may be able to catch the Edinburgh Military Tattoo on the Esplanade.&lt;br /&gt;
&lt;img src=&quot;https://secreci.com/img/Edinburgh-Castle-from-the-V.jpg&quot; alt=&quot;Edinburgh Castle from the Vennel&quot; title=&quot;Edinburgh Castle from the Vennel&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;2.-ghost-tour&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20090730-lesaults-top-10-things-to-do-in-edinburgh/#2.-ghost-tour&quot;&gt;&lt;span&gt;2. Ghost Tour&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Edinburgh has about 6 tour companies who do history and ghost walks of the city – but they vary in quality. My advice would be to avoid the free tours – they don’t go anywhere you can’t go on your own and will waste a few hours of your day! If you do decide to take a free tour, check your guides credentials early – see if they really know about the city or are just going to feed you a script! The other tours are all good – &lt;a href=&quot;http://www.auldreekietours.com/&quot;&gt;Auld Reekie&lt;/a&gt;, &lt;a href=&quot;http://www.mercattours.com/home.asp&quot;&gt;Mercat Tours&lt;/a&gt;, &lt;a href=&quot;http://www.blackhart.uk.com/&quot;&gt;City of the Dead&lt;/a&gt;, &lt;a href=&quot;http://www.realmarykingsclose.com/&quot;&gt;Mary Kings Close&lt;/a&gt;, &lt;a href=&quot;http://www.witcherytours.com/&quot;&gt;The Witchery Tours&lt;/a&gt; – you won’t be disappointed with any of them! &lt;a href=&quot;http://www.blackhart.uk.com/&quot;&gt;City of the Dead&lt;/a&gt; is, of course, the scariest by far! Disclaimer: I user to work for &lt;a href=&quot;http://www.blackhart.uk.com/&quot;&gt;City of the Dead&lt;/a&gt; (tell them Lesault sent you!), these views are mine and not necessarily those of City of the Dead!&lt;/p&gt;
&lt;h2 id=&quot;3.-arthur%E2%80%99s-seat&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20090730-lesaults-top-10-things-to-do-in-edinburgh/#3.-arthur%E2%80%99s-seat&quot;&gt;&lt;span&gt;3. Arthur’s Seat&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A beautiful Highland Landscape only a few minutes walk from the centre if Edinburgh. A climb to the top isn’t too hard (if I can make it, anyone can!) Arthur’s Seat is another extinct volcano, it’s in the beautiful Holyrood park and gives an amazing view of the city. If you don’t fancy climbing all the way to the top, you can get similar views from the Salisbury Crags which are a good bit lower and a much easier walk. Also worth seeing is the ruined St Anthony’s Chapel perched above St Margaret’s Loch. Take a sandwich with you and enjoy the view of the city and the Firth of Forth to the north.&lt;br /&gt;
![Arthur&#39;s Seat](../../img/Arthurs Seat.png &amp;quot;Arthur&#39;s Seat&amp;quot;)&lt;/p&gt;
&lt;h2 id=&quot;4.-national-museum-of-scotland&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20090730-lesaults-top-10-things-to-do-in-edinburgh/#4.-national-museum-of-scotland&quot;&gt;&lt;span&gt;4. &lt;a href=&quot;http://www.nms.ac.uk/&quot;&gt;National Museum of Scotland&lt;/a&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;If you’re after a bit more culture, you can’t beat the museum. The Story of Scotland’s land, people and culture. The adjoining Royal Museum is slowly being reopened bit by bit after its renovation and promises to be an amazing attraction in 2011 when it fully reopens. See Dolly the sheep (although, once you’ve seen one clone you’ve seen them all!), Viking and Pictish artifacts and more modern exhibits like Jackie Stewart’s Formula 1 Car.&lt;/p&gt;
&lt;h2 id=&quot;5.-royal-botanic-garden&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20090730-lesaults-top-10-things-to-do-in-edinburgh/#5.-royal-botanic-garden&quot;&gt;&lt;span&gt;5. &lt;a href=&quot;http://www.rbge.org.uk/&quot;&gt;Royal Botanic Garden&lt;/a&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;If you like plants and the outdoors, you could easily spend a full day here looking at all the exotic plants. It’s free to get into, but it’s worth paying the small supplement to get into the Victorian Palm House and the other glasshouses which join onto it. There’s a petrified tree nearby which is really interesting and I especially liked the Chinese Hillside, although there are many themed areas to visit.&lt;/p&gt;
&lt;h2 id=&quot;6.-camera-obscura&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20090730-lesaults-top-10-things-to-do-in-edinburgh/#6.-camera-obscura&quot;&gt;&lt;span&gt;6. &lt;a href=&quot;http://www.camera-obscura.co.uk/&quot;&gt;Camera Obscura&lt;/a&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A fantastic exhibition of Illusions and Holograms just outside Edinburgh Castle.  One of the largest exhibitions of holograms in Europe – there is plenty to see on the way up the stairs to the Camera Obscura which sits on top of the building and is a landmark in its own right. The Camera Obscura was the height of Victorian technology and has been entertaining visitors for over 150 years. A mirror and system of lenses project a moving image of edinburgh onto a round table in the centre of the room. You get a humorous and knowledgable guided tour of edinburgh without moving from your seat. Fabulous views of the castle, city and Forth.&lt;/p&gt;
&lt;h2 id=&quot;7.-roslynn-chapel&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20090730-lesaults-top-10-things-to-do-in-edinburgh/#7.-roslynn-chapel&quot;&gt;&lt;span&gt;7. &lt;a href=&quot;http://www.rosslynchapel.org.uk/&quot;&gt;Roslynn Chapel&lt;/a&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;About 40 minutes by bus (Lothian #15) from Edinburgh. The Rosslyn Chapel has been made very famous recently by the Da Vinci Code book and film so it tends to be much busier now than it was a few years ago, but it is definately worth the trip. See how many ‘Green Man’ carvings you can count, and find the carvings of maize which prove America was visited by the Scots before Columbus!&lt;/p&gt;
&lt;h2 id=&quot;8.-bus-tour&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20090730-lesaults-top-10-things-to-do-in-edinburgh/#8.-bus-tour&quot;&gt;&lt;span&gt;8. &lt;a href=&quot;http://www.edinburghtour.com/&quot;&gt;Bus Tour&lt;/a&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;One of the best ways of seeing a lot of the city and to get from place to place is with a bus tour. The buses leave from Waverly Bridge near the train station. My advice it to choose one of the tours with a live guide rather than one with a prerecorded tour and headphones. The live guides know their stuff, are witty and can answer any questions you have. Check out which attractions each bus takes you to and choose the best one for you – you can get on and off the bus as often as you like in a 24 hour period and can go round the route as many times as you want. I still try to do one of these tours every year or so and always learn something new.&lt;/p&gt;
&lt;h2 id=&quot;9.-edinburgh-zoo&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20090730-lesaults-top-10-things-to-do-in-edinburgh/#9.-edinburgh-zoo&quot;&gt;&lt;span&gt;9. &lt;a href=&quot;http://www.edinburghzoo.org.uk/&quot;&gt;Edinburgh Zoo&lt;/a&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A short bus journey out of the City Centre will take you to Edinburgh Zoo. Over 1000 animals, the Zoo specialises in rare and endangered species. The Budongo Trail lets you get really close to Chimpanzees, there is a penguin parade which is worth seeing. My tip is to see teh feeding of the Steller Sea Eagles – these are huge birds of prey and extremely impressive when in flight. The rhinos are huge too – see if you can catch them fighting!&lt;/p&gt;
&lt;h2 id=&quot;10.-surgeon%E2%80%99s-hall-museum&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20090730-lesaults-top-10-things-to-do-in-edinburgh/#10.-surgeon%E2%80%99s-hall-museum&quot;&gt;&lt;span&gt;10. &lt;a href=&quot;http://www.museum.rcsed.ac.uk/content/content.aspx&quot;&gt;Surgeon’s Hall Museum&lt;/a&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Open weekdays 12pm-4pm (with longer hours during the festival), this is the weirdest museum I have visited. It presents the history of surgery with emphasis on Edinburgh’s contribution. There is also an exhibition of sports medicine, a Sherlock Holmes exhibition, and a history of dentistry. But, my favourite part is the pathology museum – all sorts of diseased body parts in jars! Brilliant! Plan for about 2 hours to see all the exhibits.&lt;/p&gt;
&lt;h2 id=&quot;11.-walk-around-the-old-town&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20090730-lesaults-top-10-things-to-do-in-edinburgh/#11.-walk-around-the-old-town&quot;&gt;&lt;span&gt;11. Walk around the Old Town&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Ok, I said top-ten, but you’ll do this one anyway getting from place to place. Edinburgh’s Old Town is amazing – it’s the reason I like Edinburgh so much. The main street, the Royal Mile, runs from the castle at the top, to the palace at the bottom. Many narrow ‘closes’ branch off from the main street and are worth exploring. Check out the views you get between the buildings, often you get a stunning view of Arthur’s Seat, or the New Town. I especially like how the Old Town is on so many levels with so many bridges.. go and explore!&lt;/p&gt;
&lt;h2 id=&quot;comments&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20090730-lesaults-top-10-things-to-do-in-edinburgh/#comments&quot;&gt;&lt;span&gt;Comments&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20090730-lesaults-top-10-things-to-do-in-edinburgh/#1228&quot; title=&quot;2010-08-30 08:35:41&quot;&gt;Trevor&lt;/a&gt;:&lt;/strong&gt; Nice list. For me the Museum of Childhood is another &amp;quot;must see&amp;quot;, probably because I&#39;m a big kid! And it&#39;s free.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Graze.com - healthy food in a box</title>
		<link href="https://secreci.com/posts/20090730-graze-com-healthy-food-in-a-box/"/>
		<updated>2009-07-30T14:23:22Z</updated>
		<id>https://secreci.com/posts/20090730-graze-com-healthy-food-in-a-box/</id>
		<summary>I&#39;m getting healthy food sent to me by graze.com. This is supposed to make me healthier, but now I don&#39;t even need to walk as far as the vending machine!</summary>
		<category term="review"/>
		<content type="html">&lt;p&gt;On the recommendation of &lt;a href=&quot;http://www.twitter.com/tinyblob&quot;&gt;@tinyblob&lt;/a&gt; on twitter, I subscribed to &lt;a href=&quot;http://graze.com/&quot;&gt;graze.com&lt;/a&gt;‘s healthy-food-in-a-box-by-post service. They offer a variety of fresh fruit, dried fruit, nuts, seeds, savoury snacks, natural treats and olives, all packaged in a brown card box (100% recyclable, made of wood from a sustainable forest) -” just real food, no artificial colours, flavours or preservatives”. You choose what days you want boxes delivered each week and they post them out to arrive on the day you specify.&lt;/p&gt;
&lt;p&gt;They have a nice system where you can browse the foods they offer and ‘bin’ any items you don’t like – fresh pineapple went straight in the bin for me! – and they won’t send you any of that item. You can also tell them you love particular items and they will send you more of that thing.&lt;/p&gt;
&lt;p&gt;Each box is  nutritionally balanced, and tailored to your likes and dislikes. My first (free)box should arrive on Tuesday and another on Thursday. I’m looking forward to eating healthily for a change!&lt;/p&gt;
&lt;p&gt;I’m getting healthy food sent to me by &lt;a href=&quot;http://graze.com/&quot;&gt;graze.com&lt;/a&gt;. This is supposed to make me healthier, but now I don’t even need to walk as far as the vending machine!&lt;/p&gt;
&lt;p&gt;Get your first Graze box &lt;em&gt;free&lt;/em&gt; by entering my ‘Feed your Friends’ code &lt;em&gt;D2W5PT5&lt;/em&gt; at &lt;a href=&quot;http://www.graze.com/p/D2W5PT5&quot;&gt;Graze.com&lt;/a&gt;&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Installing Vista using an OEM product key with a Full Retail Disc</title>
		<link href="https://secreci.com/posts/20090728-installing-vista-using-an-oem-product-key-with-a-full-retail-disc/"/>
		<updated>2009-07-28T22:24:41Z</updated>
		<id>https://secreci.com/posts/20090728-installing-vista-using-an-oem-product-key-with-a-full-retail-disc/</id>
		<summary>-A solution to the problem of installing Vista using an OEM product key when you don&#39;t have the OEM installation disk. Use a borrowed full retail disk and these instructions instead.</summary>
		<category term="tech"/>
		<category term="tutorial"/>
		<content type="html">&lt;p&gt;Often when you buy a new PC or laptop, you don’t get the operating system on CD in order to reinstall it if you hit any problems. Instead, they have a hidden partition on the hard drive which contains all the system software – if you need to restore the PC, you hit one of the function keys while the computer is booting and it takes you into a recovery program. If you wipe your hard drive, though, you can lose that partition and you’re left without an operating system.&lt;/p&gt;
&lt;p&gt;If you bother reading the manual it’ll probably have instructions for creating recovery media – you really should do this as your first action, it’ll save lots of messing about later.&lt;/p&gt;
&lt;p&gt;Suppose the worst has come to the worst, you’ve deleted the partition and haven’t burned any recovery disks.&lt;br /&gt;
&lt;img src=&quot;https://secreci.com/img/vista_label.jpg&quot; alt=&quot;vista_label&quot; title=&quot;vista_label&quot; /&gt;&lt;br /&gt;
On a PC which comes with Vista installed, you’ll find a blue, green and pink sticker on it somewhere with a 25 digit product key (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX). If the sticker mentions the brand of your PC (Dell, Advent, HP etc) then you have an OEM version of the software. If it doesn’t you probably have the full retail version and likely have a boxed Vista installation disk somewhere.&lt;/p&gt;
&lt;p&gt;In my case, I had an Advent OEM product key. I had a full retail version of Vista (Home Premium Upgrade version) which I had bought to upgrade an XP machine a while ago. The good thing is that the Vista installation disk actually contains all versions of the OS – the product key supplied with the disk is what determines which version of the software you can install. I tried installing Vista using the OEM product key from the bottom of my laptop, but it was rejected as not being a valid key!&lt;/p&gt;
&lt;p&gt;After much trial and error, I found a solution. A non-profit organization called &lt;a href=&quot;http://neosmart.net/&quot;&gt;Neosmart&lt;/a&gt; have produced a Vista recovery disk which is intended to allow you to restore from backups if you don’t have an installation disk. It appears to be the installer from the official Vista disk repackaged. It doesn’t contain any of the files which would be required to install a complete working Vista system though.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://neosmart.net/blog/2008/windows-vista-recovery-disc-download/&quot;&gt;Windows Vista 32-Bit (x86) Recovery Disc&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Download the iso file from the link above (you may need to Google to find a working download link) – it’s about 120MB in size,  and burn it to a CD using your favourite CD creation software – I used the excellent and free &lt;a href=&quot;http://infrarecorder.org/&quot;&gt;InfraRecorder&lt;/a&gt; and boot your failed PC from this disk.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/vista-install-welcome-screen.jpg&quot; alt=&quot;Vista Recovery Disk Welcome Screen&quot; title=&quot;Vista Recovery Disk Welcome Screen&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Choose your language and location and then take the install option. You will be prompted at this point for your product key. At this point, eject the recovery CD and insert your Full Retail disc. Enter the product key from the sticker on your PC (don’t use an illegal one – it probably won’t work and you’ll soon have black helicopters circling your house, and guilt is a terrible thing to live with anyway)&lt;/p&gt;
&lt;p&gt;The product key should be happily accepted and the Operating System will install as normal. Once the OS has installed, follow the wizard and set up your Admin user etc.&lt;/p&gt;
&lt;p&gt;Once you are at the desktop go to the start menu, right-click on ‘computer’ and choose properties. Scroll down to the Windows activation section and you should see something like ‘3 days until automatic activation. Activate now‘. If you have an internet connection try activating by clicking the link – in my case this did not work. If this happens to you, choose the ‘automated telephone line‘ activation method. This will involve calling a toll-free number and entering the 54(!) numbers from the activation wizard using your phone, then typing the 48(!) numbers read out to you on the phone – this will result in an activated, legal copy of Vista.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/Vista-Phone-Activation.png&quot; alt=&quot;Vista Phone Activation&quot; title=&quot;Vista Phone Activation&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Now make an image of your freshly installed system so you don’t have to go through all this next time! – I recommend &lt;a href=&quot;http://www.runtime.org/driveimage-xml.htm&quot;&gt;Driveimage-XML&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Please leave me a comment if you found this useful!&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Wordpress 2.8.2 released</title>
		<link href="https://secreci.com/posts/20090720-wordpress-2-8-2-released/"/>
		<updated>2009-07-20T11:47:03Z</updated>
		<id>https://secreci.com/posts/20090720-wordpress-2-8-2-released/</id>
		<summary>Wordpress 2.8.2 fixes a nasty Cross Site Scripting vulnerability in comments.</summary>
		<category term="wordpress"/>
		<content type="html">&lt;p&gt;&lt;a href=&quot;http://wordpress.org/development/2009/07/wordpress-2-8-2/&quot;&gt;WordPress 2.8.2&lt;/a&gt; has been released. It fixes an XSS vulnerability where commenter&#39;s URLs were not properly sanitized before being displayed to the Admin in the moderation queue. This could be exploited to redirect you away from the current site to a malicious page.&lt;/p&gt;
&lt;p&gt;WordPress recommend you upgrade.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Blogging in the real world</title>
		<link href="https://secreci.com/posts/20090715-blogging-in-the-real-world/"/>
		<updated>2009-07-15T23:11:48Z</updated>
		<id>https://secreci.com/posts/20090715-blogging-in-the-real-world/</id>
		<summary>Blogging in the real world</summary>
		<category term="essay"/>
		<content type="html">&lt;p&gt;A couple of years ago, I got a Nokia N-95 mobile phone with a piece of software installed which would read 2d barcodes knows as ‘QR Codes’ (The QR stands for Quick Response). QR Codes were developed by Japanese corporation Denso-Wave in 1994 and were initially used for tracking parts for a car manufacturer. They can store 4,296 alphanumeric characters (or 7,089 numbers) – much better than the standard 10 digits you get with a ‘normal’ barcode.&lt;br /&gt;
The codes are very popular in Japan as most people have a smart phone, and any smart phone equiped with a camera can read and decode the matrix. They are used to store URLs, phone numbers, addresses etc. and are often seen next to contact details in adverts in magazines. They can even be used as billboard adverts to be read at a distance. This allows mobile users to access your website without typing in URLs.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/File:Japan-qr-code-billboard.jpg&quot;&gt;&lt;img src=&quot;https://secreci.com/img/450px-Japan-qr-code-billboard.jpg&quot; alt=&quot;A giant QR Code linking to a website, to be read with a mobile phone.&quot; title=&quot;A giant QR Code linking to a website, to be read with a mobile phone.&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
Photo by &lt;a href=&quot;https://commons.wikimedia.org/wiki/User:Nicolas1981&quot;&gt;Nicolas1981&lt;/a&gt; &lt;a href=&quot;https://creativecommons.org/licenses/by-sa/3.0/deed.en&quot;&gt;CC License&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It occurred to me that 4,296 characters is easily enough to write a short, informative description of a place of interest, and include a URL which could be clicked for more information.&lt;/p&gt;
&lt;p&gt;This would integrate nicely with a blog where you could have a post describing a place and its history, other interesting areas nearby etc. The excerpt could be encoded as a QR code and printed as a sticky label (as small as possible so it is not intrusive) and stuck on a post/wall/information board at the physical location. This would allow any visitor to the area to read the excerpt without an internet connection. The excerpt would contain a link to the full article on the blog and the comments fields could be used by visitors to record their experiences and recommendations of other places to visit.&lt;/p&gt;
&lt;p&gt;As more mobile phones have the ability to read these codes, I think this could be a really useful tool for visitors to a city. A nice crossover between the physical and virtual world!&lt;/p&gt;
&lt;h2 id=&quot;comments&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20090715-blogging-in-the-real-world/#comments&quot;&gt;&lt;span&gt;Comments&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20090715-blogging-in-the-real-world/#52&quot; title=&quot;2009-07-18 20:58:17&quot;&gt;Jon&lt;/a&gt;:&lt;/strong&gt; I whole-heartedly concur, it would make for a very pleasant addition to many blogs to enable readers to quickly scan the QR code and then read the blog at their leisure whilst traveling.. excellent pondering sir! .-= Jon´s last blog ..Seppuku =-.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20090715-blogging-in-the-real-world/#102&quot; title=&quot;2009-08-29 19:25:33&quot;&gt;Trevor&lt;/a&gt;:&lt;/strong&gt; An interesting idea, however I suspect QR technology will be leapfrogged in this area by AR browsers such as Wikitude, Layar and Metaio World. .-= Trevor´s last blog ..Cute Pricing for PS3 Eyepet =-.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>WordPress 2.8.1</title>
		<link href="https://secreci.com/posts/20090714-wordpress-2-8-1/"/>
		<updated>2009-07-14T17:34:21Z</updated>
		<id>https://secreci.com/posts/20090714-wordpress-2-8-1/</id>
		<summary>WordPress 2.8.1</summary>
		<category term="wordpress"/>
		<content type="html">&lt;p&gt;WordPress have released a &lt;a href=&quot;http://wordpress.org/development/2009/07/wordpress-2-8-1/&quot;&gt;bug-fix update&lt;/a&gt; to WordPress which fixes many bugs and tightens up security which was allowing certain plug-ins to leak information to unprivaleged users. Not all plugins were affected, but it is recommended that all WordPress users upgrade at their earliest opportunity.&lt;/p&gt;
&lt;p&gt;There are reports that the dashboard in the new version is much faster than in 2.8.0, but I haven&#39;t noticed a huge difference. I used the automatic upgrade path without any problem - all my plugins worked fine after the upgrade and the theme is unchanged.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Chainmaking tools ordered</title>
		<link href="https://secreci.com/posts/20090710-chainmaking-tools-ordered/"/>
		<updated>2009-07-10T20:54:13Z</updated>
		<id>https://secreci.com/posts/20090710-chainmaking-tools-ordered/</id>
		<summary>Chainmaking tools ordered</summary>
		<category term="maker"/>
		<content type="html">&lt;p&gt;I think it would be extremely satisfying to turn a length of plain silver wire into a beautiful bracelet, so it&#39;s time to try making my own silver jump rings. I&#39;ve ordered a Jeweller&#39;s saw, blades and (for fashion reasons only) a clip on loupe from &lt;a href=&quot;http://myworld.ebay.co.uk/tickintime1/&quot;&gt;TickInTime&lt;/a&gt;. Tickintime has been great so far, he quickly answered my question about combined shipping costs and invoiced me about 2 minutes after I asked for a total price. If they arrive safely, he definitely gets my vote as a top EBay seller.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/saw_frame-300x186.GIF&quot; alt=&quot;German style jeweller&#39;s saw frame&quot; title=&quot;German style jeweller&#39;s saw frame&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I&#39;ll hopefully be able to find some silver wire in town and will take &lt;a href=&quot;http://daws-is-easily-distracted.blogspot.com/&quot;&gt;Daws&#39;&lt;/a&gt; suggestion of using knitting needles as mandrels. 144 blades should keep me going for a while, but I really have no idea how often these extremely thin blades will break.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/loupe-300x156.jpg&quot; alt=&quot;Classy looking loupe!&quot; title=&quot;Classy looking loupe!&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I didn&#39;t order any files yet, and I suspect there will be burrs on all the cuts which will need to be removed - I&#39;ll cross that bridge when I come to it.&lt;/p&gt;
&lt;p&gt;Having looked at the price of silver wire online, it looks like I&#39;m not going to save any money by making my own links but I am really looking forward to making everything from basic materials.&lt;/p&gt;
&lt;p&gt;I&#39;m off to sit by the letterbox an wait for the postie.&lt;/p&gt;
&lt;p&gt;Update: 09:33 11/07/09 Items have been shipped - more great service!&lt;/p&gt;
&lt;p&gt;Update: 10:00 13/07/09 Items arrived safely! - thanks Tickintime!&lt;/p&gt;
&lt;h2 id=&quot;comments&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20090710-chainmaking-tools-ordered/#comments&quot;&gt;&lt;span&gt;Comments&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20090710-chainmaking-tools-ordered/#49&quot; title=&quot;2009-07-13 00:14:19&quot;&gt;Daws&lt;/a&gt;:&lt;/strong&gt; You&#39;ll need some beeswax to lubricate the blades when cutting through silver. I just chopped the bottom off a candle, but it has to be beeswax, normal paraffin wax is no good for silver, although it&#39;s perfect for aluminium. Hit up your local charity shop for a cheap and plentiful supply of knitting needles. Cut the pointy end off, drill a hole through perpendicular to the axis (to hold the wire) and bend it into a crank shape for easy winding! That Loupe is seriously trick! .-= Daws´s last blog ..&lt;a href=&quot;http://daws-is-easily-distracted.blogspot.com/2009/07/tools.html&quot;&gt;Tools&lt;/a&gt; =-.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>My new hobby - Chainmaille Jewelery</title>
		<link href="https://secreci.com/posts/20090708-my-new-hobby-chainmaille-jewelery/"/>
		<updated>2009-07-08T17:46:40Z</updated>
		<id>https://secreci.com/posts/20090708-my-new-hobby-chainmaille-jewelery/</id>
		<summary>My new hobby - Chainmaille Jewelery</summary>
		<category term="maker"/>
		<content type="html">&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/byzantine_chain_complete.jpg&quot; alt=&quot;Byzantine Chain in Sterling Silver&quot; title=&quot;Byzantine Chain in Sterling Silver&quot; /&gt;&lt;br /&gt;
A &lt;a href=&quot;http://daws-is-easily-distracted.blogspot.com/&quot;&gt;schoolfriend of mine&lt;/a&gt; who now lives in Australia has recently been posting some extremely impressive photos of silver jewelery he has been making from scratch. He has designed his own workbench with various size mandrels for winding his own silver wire to make links for his chains. He has been experimenting with many different patterns of joining the links to make some beautiful and intricate jewelery. He has inspired me to have a go myself. Rather than winding and cutting my own links, I thought I’d buy a bunch of links to see if I enjoyed chain making.&lt;/p&gt;
&lt;p&gt;After spending a few hours online looking for good reviews of link makers, I settled on the &lt;a href=&quot;http://www.thedragonflycompany.com/&quot;&gt;DragonFly Company&lt;/a&gt; who had lots of positive testimonials and are based in the UK. I ordered a small batch of jump rings – 200 x 2.75mm x 0.8mm in sterling silver (about £12 including postage). While I waited for them to arrive, I bought a clasp and two pairs of jewelers’ pliers from &lt;a href=&quot;http://www.helios-fountain.co.uk/&quot;&gt;Helios Fountain&lt;/a&gt; which also has a huge range of beads, baubles and bling which I might use in future projects.&lt;/p&gt;
&lt;p&gt;2 days later, my package from the Dragonfly Company arrived – A DVD box-sized cardboard box containing a tiny ziploc bag of 200 super-shiny silver jump rings which it turns out are hand made to order and then tumble polished before they are sent out. I also received a very cute dragonfly charm as a free gift – nice touch! and all safely wrapped in tissue paper.&lt;/p&gt;
&lt;p&gt;I’d been looking online for sites which would explain the different chain patterns and picked up all sorts of tips on the best way to open and close the links. There are hundereds of sites dedicated to chainmaille which show many different patterns of chain. I decided to bite the bullet and go for a reasonably complicated one to start with, a Byzantine chain.&lt;/p&gt;
&lt;p&gt;Following the diagrams at &lt;a href=&quot;http://www.mailleartisans.org/&quot;&gt;Maille Artisans&lt;/a&gt;, I struggled to hold the tiny ring with the pliers and dropped the whole thing on numerous occasions but, after spending a bit of time with it and building up some muscle memory, the whole thing got a bit easier and actually became quite relaxing. As the weather was so nice, I popped the tiny chain, the links and the pliers in the cardboard box and headed out to Greyfriars’ to sit in the sun and finish the chain. After a few hours work, it was complete – I’d used all 200 links without wasting any and the chain fit perfectly round my girlfriend’s wrist.&lt;/p&gt;
&lt;p&gt;I’m delighted that my first chain was a success, and after tidying up a few dodgy joins it looks pretty professional. I’m now looking for something else to make – possibly a necklace with a couple of different patterns or a chainmaille ring.&lt;/p&gt;
&lt;p&gt;I’m also trying to decide whether it is worth the effort of making the jump rings myself, or just continue buying them from a professional who knows what they are doing and makes links with a precision saw and very tight tolerances. I think it would be very satisfying to know that I had made every part of the chain… anyone know how to make silver wire from a lump of silver?&lt;/p&gt;
&lt;p&gt;Do you have any suggestions for a nice challenging second chainmaille project? Leave me a comment with your suggestions!&lt;/p&gt;
&lt;h2 id=&quot;comments&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20090708-my-new-hobby-chainmaille-jewelery/#comments&quot;&gt;&lt;span&gt;Comments&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20090708-my-new-hobby-chainmaille-jewelery/#45&quot; title=&quot;2009-07-09 03:06:27&quot;&gt;Daws&lt;/a&gt;:&lt;/strong&gt; Good work mate! I liken the chain making process to knitting, and as you&#39;ve found out, it&#39;s quite a relaxing thing to do once you get into it. It&#39;s satisfying to make the rings but it&#39;s a bit more of an effort and can be a little tedious. If you want to make wire from bullion, that&#39;s a bit more effort! First of all you need to melt it in a crucible with an oxy-acetylene torch and pour into a round ingot mould, then roll the ingot in a rolling mill, then draw the wire in a drawplate until it&#39;s the required diameter, annealing it constantly. Looking forward to seeing your next piece.&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20090708-my-new-hobby-chainmaille-jewelery/#46&quot; title=&quot;2009-07-09 23:41:44&quot;&gt;beadinggem&lt;/a&gt;:&lt;/strong&gt; Thanks for the comment on my byzantine tutorial. Please check my hubpages (click on free tutorials at the top of my blogpage) for chain maille tips and my first Youtube video on the full persian weave! Chain maille is so addictive! Pearl&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Invasion of the Not Quite Dead</title>
		<link href="https://secreci.com/posts/20090707-invasion-of-the-not-quite-dead/"/>
		<updated>2009-07-07T22:36:13Z</updated>
		<id>https://secreci.com/posts/20090707-invasion-of-the-not-quite-dead/</id>
		<summary>Filmmaker Antony Lane is attempting to revolutionize the way films are funded here in the UK, by putting some life back into an almost dead film industry.</summary>
		<category term="essay"/>
		<content type="html">&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/lesaultzombie_indywood_aged.jpg&quot; alt=&quot;Lesault as a Zombie&quot; title=&quot;Lesault as a Zombie&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Filmmaker Antony Lane is attempting to revolutionize the way films are funded here in the UK, by putting some life back into an almost dead film industry. In a quirky new concept Antony has launched an epic film fundraising website called “&lt;a href=&quot;http://www.theindywoodproject.com/&quot;&gt;THE INDYWOOD MOVIE PROJECT&lt;/a&gt;“. His goal is to independently raise the £100,000 budget needed to make his debut feature film “&lt;a href=&quot;http://www.imdb.com/title/tt0902292/&quot;&gt;INVASION OF THE NOT QUITE DEAD&lt;/a&gt;” which is already being tipped as one of 2010’s most anticipated horror movies. In only 60 days of fundraising he has already raised nearly £8,000&lt;/p&gt;
&lt;p&gt;When the project originally launched In November 2007 Antony was able to make headline news with his Guinness World Record attempt at a zombie gathering in the city centre of Cardiff, this made national TV news, giving the project a huge level of media attention.&lt;/p&gt;
&lt;p&gt;Some of Hollywood’s top film-makers have backed Antony’s enterprising film project including Kevin Pollak, James Gunn, Lloyd Kaufman, Tom Savini, David Hess, Leslie Simpson, Warwick Davis and the infamous Ken Russell who has agreed to take on the role of consulting executive producer.&lt;/p&gt;
&lt;p&gt;“Invasion Of The NOT QUITE Dead” has already become a cult sensation across the internet even before entering pre-production, due to a year long marketing campaign which has reached out to the Zombie fans of the world, giving them nothing more than a poster and synopsis, but at the same time whetting their appetite for more. Within less than a year of promoting the movie Antony has managed to get the film advertised on two of Europe’s leading online DVD rental stores as well as being featured on several theatrical blockbuster lists for 2010.&lt;/p&gt;
&lt;p&gt;Classed as NOT QUITE a Zombie movie, fans of the genre will not be disappointed with the direction Antony has decided to take with his new Zombie horror franchise.&lt;/p&gt;
&lt;p&gt;On the fundraising front, Antony has teamed up with visual arts studio DESTINATION CREATION to give every customer to the project a complete photo Zombie makeover, making it the only place on the net to get yourself transformed into the undead without getting covered in makeup – all for only £20 including a pre-order DVD, or push the boat out and be a VIP Executive Producer for £150 and get a role in the film.&lt;/p&gt;
&lt;p&gt;The Project also plans on raising money through business sponsorship, product placement and to sell 1000 limited edition pre-order DVD’s.&lt;/p&gt;
&lt;p&gt;“Since my pre-order customers won’t get their movie for a while I want to offer them something in the here and now, which is why I am offering them a chance to appear in the movie and to also receive exclusive merchandise, not bad for the price of a DVD.” Antony Lane&lt;/p&gt;
&lt;p&gt;Other filmmakers that have come on board to help Antony include Hollywood Special FX artist RICH KNIGHT (Beowulf), Make up artist CORRINE BOSSU (King Kong), and Emmy award winning composer Misha Segal who will be giving the film a very chilling score.&lt;/p&gt;
&lt;p&gt;Antony has began to negotiate with some of the industries biggest names in horror, including: TOM SAVINI (From Dusk Till Dawn), DAVID HESS (Last House On The Left), EZRA BUZZINGTON (The Hills Have Eyes), LESLIE SIMPSON (Dog Soldiers), WARWICK DAVIS (Leprechaun), DAVID BAILIE (Pirates Of The Caribbean), ANTHONY HEAD (Buffy), and SEAN PERTWEE (Dog Soldiers).&lt;/p&gt;
&lt;p&gt;Shooting has been scheduled for early 2010 at various locations around Kent, Cardiff, Grimsby and the Isle Of Scilly where the movie will be set. A teaser trailer is scheduled to be filmed in August 2009.&lt;/p&gt;
&lt;p&gt;The film will have an official London premiere on Halloween 2010, before being shown at top film festivals worldwide, including Cannes.&lt;/p&gt;
&lt;p&gt;One week before launching the project Antony and Ken Russell auditioned a celebrity for a role which was also filmed for a documentary that will air on BBC 2 in August.&lt;/p&gt;
&lt;p&gt;“We hope that this unique and quirky idea will catch the heart and minds of people around the world and will help us to independently fund our film and put the Kent film industry on the map.”&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.theindywoodproject.com/davidlesault/&quot;&gt;David Lesault&lt;/a&gt; was the 10th person to pre-order a DVD and receive a zombie make-over. He was delighted with the results and is eager to see the finished movie. This is a fantastic opportunity for you to be involved in one of the most exciting films of recent years – if you , too, want to show your support, please visit &lt;a href=&quot;http://www.theindywoodproject.com/&quot;&gt;www.theindywoodproject.com&lt;/a&gt; and get treat yourself to a DVD and a makeover!&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Wordpress &#39;Now Reading&#39; Plugin</title>
		<link href="https://secreci.com/posts/20090707-wordpress-now-reading-plugin/"/>
		<updated>2009-07-07T19:05:59Z</updated>
		<id>https://secreci.com/posts/20090707-wordpress-now-reading-plugin/</id>
		<summary>A quick note on amending the template files for the Wordpress &#39;Now Reading&#39; plug-in to work with the LightWord theme.</summary>
		<category term="wordpress"/>
		<category term="tech"/>
		<content type="html">&lt;p&gt;A quick note on amending the template files for the Wordpress &#39;&lt;a href=&quot;http://robm.me.uk/projects/plugins/wordpress/now-reading&quot;&gt;Now Reading&lt;/a&gt;&#39; plug-in to work with the &lt;a href=&quot;http://wordpress.org/extend/themes/lightword&quot;&gt;LightWord&lt;/a&gt; theme. (Tested on version 2.8 only)&lt;br /&gt;
As per Rob&#39;s excellent &lt;a href=&quot;http://robm.me.uk/projects/plugins/wordpress/now-reading/documentation&quot;&gt;documentation&lt;/a&gt;, the problem is in the following section of the default Now Reading templates:&lt;/p&gt;
&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;content&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt; 
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;content&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;narrowcolumn primary now-reading&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt; 
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;post&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I followed his instructions and the problem was solved easily:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Create a now-reading directory in your Lightword theme directory and copy the default templates into the new folder (&#92;wp-content&#92;themes&#92;LightWord&#92;now-reading&#92;)&lt;/li&gt;
&lt;li&gt;Edit author.php, library.php, search.php, single.php and tag.php (sidebar.php already works) as follows:&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Once in each file, in the first few lines, change:&lt;/p&gt;
&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt; &lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;content&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;now-reading primary narrowcolumn&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;To read:&lt;/p&gt;
&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;content-body&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;now-reading primary narrowcolumn&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;That&#39;s all there is to it.&lt;/p&gt;
&lt;p&gt;Hopefully this will be of use to someone - if it is, leave me a comment to let me know!&lt;/p&gt;
&lt;h2 id=&quot;comments&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20090707-wordpress-now-reading-plugin/#comments&quot;&gt;&lt;span&gt;Comments&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20090707-wordpress-now-reading-plugin/#335&quot; title=&quot;2010-01-03 22:11:03&quot;&gt;lesault&lt;/a&gt;:&lt;/strong&gt; I&#39;m glad I managed to save you a few minutes of frustration. Thanks for leaving me a comment to let me know it helped!&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20090707-wordpress-now-reading-plugin/#334&quot; title=&quot;2010-01-03 22:07:02&quot;&gt;Jaime&lt;/a&gt;:&lt;/strong&gt; It was useful to me =D. I use now reading reloaded and I just edited the files in /wp-content/plugins/now-reading-reloaded/templates as specified in your post and it works now.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Edinburgh&#39;s Graveyard Disgrace</title>
		<link href="https://secreci.com/posts/20090706-edinburghs-graveyard-disgrace/"/>
		<updated>2009-07-06T22:21:03Z</updated>
		<id>https://secreci.com/posts/20090706-edinburghs-graveyard-disgrace/</id>
		<summary>I&#39;m sometimes ashamed to walk through Edinburgh&#39;s graveyards because of the state of disrepair they have fallen in to over the past few years.</summary>
		<category term="travel"/>
		<category term="essay"/>
		<content type="html">&lt;p&gt;&lt;img src=&quot;https://secreci.com/img/greyfriars_erosion.jpg&quot; alt=&quot;Erosion and damage to sculpture, Greyfriars&quot; title=&quot;Erosion and damage to sculpture, Greyfriars&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I&#39;m sometimes ashamed to walk through Edinburgh&#39;s graveyards because of the state of disrepair into which they have fallen over the past few years.&lt;br /&gt;
When I first moved to Edinburgh in 2000, I used to enjoy spending a quiet Sunday afternoon in one of the city centre graveyards, they were a quiet, peaceful, clean and private oasis to sit in and enjoy the sun away from the hustle and bustle of the surrounding city. I liked them so much I even got a job as a tour guide on the City of the Dead Haunted Graveyard tours.&lt;br /&gt;
Over the past five years or so, though, many of the cemeteries have been vandalised beyond recognition. On one evening last year, £10,000 of damage was done to Greyfriars&#39; and the Canongate cemeteries by a gang knocking over and smashing many ancient and irreplaceable graves. &lt;br /&gt;
Over a year later, the broken headstones are still scattered around. Many fragile sandstone graves have been desecrated with graffiti sprayed and scratched into them.&lt;br /&gt;
But it&#39;s not just vandals destroying our heritage. Today I saw a  tour guide from another tour company happily standing on one of the cast iron mort-safes in Greyfriars&#39; Kirkyard, seemingly oblivious to the fact that it was bending and creaking under her weight. Unless people start respecting the graveyards, we will end up with nothing left worth saving.&lt;br /&gt;
The wet Scottish weather has also unfortunately taken its toll on the sandstone graves many of which have swollen and shattered due to frost over winter, and much of the intricate carving is now lost forever. The Martyrs&#39; Monument was recently restored and looks fantastic, this was money well spent by Edinburgh Council and I think it&#39;s time some the rest of the monuments are preserved before they are lost forever.&lt;br /&gt;
The gates to Greyfriars&#39; Kirkyard used to be locked at night, but now they are open 24 hours and frequented by lots of strange people. A recent tour was disrupted by two old, homeless men who had built themselves a large bonfire and one of them set his clothes alight. &#39;Neds&#39; often shout abuse at tourists and I&#39;ve had to call the police on a number of occasions to move on large groups of drunks lurking at the back of the grave yard and hurling expletives at tour groups.&lt;br /&gt;
Edinburgh Council have quietly condoned this &#39;alternative&#39; use of the graveyards by helpfully providing a &#39;sharps bin&#39; inside one of the mausoleum in the Canongate cemetary, is this really an acceptable alternative to doing something about Edinburgh&#39;s drug problem? It hasn&#39;t ended the necessity for visitors to tentatively tip-toe through the syringes littering the grass. Graves once sacred to the memory of Edinburgh&#39;s citizens are now ugly &#39;shooting galleries&#39;.&lt;br /&gt;
Isn&#39;t it time we started taking some pride in the beautiful funereal architecture we have in Edinburgh before it, too, is destroyed?&lt;/p&gt;
&lt;p&gt;Similar views at &lt;a href=&quot;http://edinburghnapiernews.com/2009/04/27/things-to-do-in-edinburgh-when-youre-dead/&quot;&gt;edinburghnapiernews.com&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;comments&quot; tabindex=&quot;-1&quot;&gt;&lt;a class=&quot;heading-anchor&quot; href=&quot;https://secreci.com/posts/20090706-edinburghs-graveyard-disgrace/#comments&quot;&gt;&lt;span&gt;Comments&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://secreci.com/posts/20090706-edinburghs-graveyard-disgrace/#390&quot; title=&quot;2010-02-20 18:53:01&quot;&gt;phil&lt;/a&gt;:&lt;/strong&gt; Its a total disgrace, no one cares about graves anymore, if i was rich i&#39;d pay a group of people to stand up/re-sement/ fix /clean every grave stone in edinburgh, and pay the concil for staff to look after the graveyards, i would hate someone to come along and reck mine, i&#39;d hont them and set they&#39;r cloths on fire when they&#39;r still waring them.&lt;/p&gt;
</content>
	</entry>
</feed>
