<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Web on Fazal Majid&#39;s low-intensity blog</title>
    <link>https://blog.majid.info/categories/web/</link>
    <description>Recent content in Web on Fazal Majid&#39;s low-intensity blog</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Tue, 24 May 2022 21:01:00 +0000</lastBuildDate>
    <atom:link href="https://blog.majid.info/categories/web/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>PSA: iCloud Private Relay can make Safari on your iPad unusable</title>
      <link>https://blog.majid.info/icloud-private-relay/</link>
      <pubDate>Tue, 24 May 2022 21:01:00 +0000</pubDate>
      <guid>https://blog.majid.info/icloud-private-relay/</guid>
      <description>&lt;p&gt;After upgrading my iPad to iPadOS 15.5, Safari became unusable. It would take&#xA;forever to load the Reddit login page, and many others like Dilbert.com.&#xA;Opening the same in Firefox Focus had no issues.&lt;/p&gt;&#xA;&lt;p&gt;Going into &lt;code&gt;Settings / Safari / Privacy &amp;amp; Security / Hide IP Address&lt;/code&gt; and&#xA;disabling it fixed this for me. Alternatively you can disable it only for&#xA;specific networks (&lt;code&gt;Settings / Wi-Fi / ⓘ / Limit IP Address Tracing / Off&lt;/code&gt;).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Only the best will do for my readers</title>
      <link>https://blog.majid.info/ssllabs-perfect-100/</link>
      <pubDate>Wed, 18 Jan 2017 20:35:36 +0000</pubDate>
      <guid>https://blog.majid.info/ssllabs-perfect-100/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.ssllabs.com/ssltest/analyze.html?d=majid.info&#34;&gt;&lt;img src=&#34;https://blog.majid.info/images/2017/01/Screen-Shot-2017-01-18-at-12.32.15.png&#34; alt=&#34;Qualys SSL Labs: A+, 100% rating&#34; width=&#34;1101&#34; height=&#34;694&#34; class=&#34;aligncenter&#34; class=&#34;fullwidth&#34; /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://securityheaders.io/?q=blog.majid.info&amp;amp;followRedirects=on&#34;&gt;&lt;img src=&#34;https://blog.majid.info/images/2017/10/sechdr.png&#34; alt=&#34;Securityheaders.io: A+ rating&#34; width=&#34;1213&#34; height=&#34;884&#34; class=&#34;aligncenter&#34; class=&#34;fullwidth&#34; /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Update (2020-11-22):&lt;/p&gt;&#xA;&lt;p&gt;I just switched this blog to use Amazon&amp;rsquo;s Cloudfront CDN to speed up things&#xA;(the old server was in &lt;a href=&#34;https://docs.mnx.io/data-centers&#34;&gt;Mt Prospect, Illinois&lt;/a&gt; near Chicago O&amp;rsquo;Hare airport,&#xA;and particularly painful to access from London due to the&#xA;latency). Unfortunately that also means the perfect A+ is gone, as AWS has&#xA;more lenient compatibility settings for its SSL gateways.&lt;/p&gt;</description>
    </item>
    <item>
      <title>If WordPress updates hang on a 64-bit OS</title>
      <link>https://blog.majid.info/wordpress-updates-gzopen/</link>
      <pubDate>Sun, 26 Aug 2012 11:34:53 +0000</pubDate>
      <guid>https://blog.majid.info/wordpress-updates-gzopen/</guid>
      <description>&lt;p&gt;The WordPress instance running this site was no longer able to automatically update plugins (and presumably not the core either) after I upgraded from a 32-bit to a sparkling fresh 64-bit PHP install at Joyent. It would start the update, and show a spinning logo and then just hang.&lt;/p&gt;&#xA;&lt;p&gt;After much debugging, I found out the problem is that the class-pclzip.php that is responsible for unzipping was failing silently with the message:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Changing the WordPress table prefix</title>
      <link>https://blog.majid.info/wordpress-prefix/</link>
      <pubDate>Sat, 29 Jan 2011 00:48:36 +0000</pubDate>
      <guid>https://blog.majid.info/wordpress-prefix/</guid>
      <description>&lt;p&gt;This may be of use to people experiencing the dreaded &lt;em&gt;“You do not have sufficient permissions to access this page.”&lt;/em&gt; message when trying to reach WordPress’ admin page, even when logging in as a proper administrator. WordPress embeds the table prefix in 4 different locations:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The &lt;tt&gt;wp-config.php&lt;/tt&gt; file&lt;/li&gt;&#xA;&lt;li&gt;The name of the tables&lt;/li&gt;&#xA;&lt;li&gt;The name of user metadata keys&lt;/li&gt;&#xA;&lt;li&gt;The name of blog options&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Thus if you want to change the prefix, you have to:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Incensed at Mozilla</title>
      <link>https://blog.majid.info/incensed-at-mozilla/</link>
      <pubDate>Tue, 31 Aug 2010 23:39:39 +0000</pubDate>
      <guid>https://blog.majid.info/incensed-at-mozilla/</guid>
      <description>&lt;p&gt;One of the greatest features in the Webkit-based browsers (Apple’s Safari and Google Chrome) is &lt;a href=&#34;http://www.w3.org/TR/webdatabase/&#34;&gt;WebSQLdatabase&lt;/a&gt;, the ability for a web site to store information in a SQLite database on your browser accessible via JavaScript. This allows web developers to build database-enabled applications that run entirely in the browser, without requiring a server. This is very useful for mobile devices, which in the US enjoy flaky network connectivity at best. One very handsome example is the iPad-optimized &lt;a href=&#34;http://everytimezone.com/&#34;&gt;Every Time Zone&lt;/a&gt; webapp.&lt;/p&gt;</description>
    </item>
    <item>
      <title>RapidSSL 1 – GoDaddy 0</title>
      <link>https://blog.majid.info/godaddy-incompetent-morons/</link>
      <pubDate>Fri, 25 Jun 2010 04:32:38 +0000</pubDate>
      <guid>https://blog.majid.info/godaddy-incompetent-morons/</guid>
      <description>&lt;p&gt;My new company’s website uses SSL. I ordered an “extended validation” certificate from GoDaddy, instead of my usual CA, &lt;a href=&#34;http://www.rapidssl.com/&#34;&gt;RapidSSL/GeoTrust&lt;/a&gt;, because GoDaddy’s EV certificates were cheap. EV certificates are security theater more than anything else, I probably should not have bothered.&lt;/p&gt;&#xA;&lt;p&gt;Immediately after switching from my earlier “snake oil” self-signed test certificate to the production certificate, I saw SSL errors on Google Chrome for Mac and Safari for Mac, i.e. the two browsers that use OS X’s built-in crypto and certificate store. I suppose I should have tested the certificate on another server before going live, but I trusted GoDaddy (they are my DNS registrars, and competent, if garish).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Scientific papers now citing blogs?</title>
      <link>https://blog.majid.info/scientific-papers-citing-blogs/</link>
      <pubDate>Sun, 14 Mar 2010 08:55:11 +0000</pubDate>
      <guid>https://blog.majid.info/scientific-papers-citing-blogs/</guid>
      <description>&lt;p&gt;In my misspent youth I spent about a year as a visiting scholar researching wavelets under &lt;a href=&#34;https://cpsc.yale.edu/people/ronald-coifman&#34;&gt;Raphy Coifman&amp;rsquo;s&lt;/a&gt; supervision at Yale&amp;rsquo;s small but excellent Mathematics Department. Professor Coifman was head of a department that also featured Benoît Mandelbrot (of fractals fame), the late &lt;a href=&#34;https://news.yale.edu/2004/08/30/memoriam-mathematician-walter-feit-pioneer-finite-group-theory&#34;&gt;Walter Feit&lt;/a&gt; (as in the &lt;a href=&#34;https://en.wikipedia.org/wiki/Feit%E2%80%93Thompson_theorem&#34;&gt;Feit-Thompson theorem&lt;/a&gt;), and Fields medalist Gregory Margulis. He was kind enough to credit me on a &lt;a href=&#34;http://books.google.com/books?id=aHux78oQbbkC&amp;amp;lpg=PA63&amp;amp;ots=Dy4EwoMVIB&amp;amp;dq=majid%20wavelets%20roques&amp;amp;pg=PA63#v=onepage&amp;amp;q=&amp;amp;f=false&#34;&gt;published paper&lt;/a&gt;, even though he did all the work, reverse delegation in action. That paper had modest success and was cited, so I can claim (not with a straight face) to be a published mathematician.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Securing WordPress</title>
      <link>https://blog.majid.info/securing-wordpress/</link>
      <pubDate>Sun, 06 Sep 2009 21:40:16 +0000</pubDate>
      <guid>https://blog.majid.info/securing-wordpress/</guid>
      <description>&lt;p&gt;WordPress has been getting a lot of bad press the last few days, as a &lt;a href=&#34;http://www.guardian.co.uk/technology/blog/2009/sep/05/wordpress-hacked-blogs-threat&#34;&gt;worm is out in the wild&lt;/a&gt; exploiting a security vulnerability. This is leading to somewhat unfair comparisons with Windows, and thoughtful articles from &lt;a href=&#34;http://daringfireball.net/2009/09/regarding_wordpress_and_security&#34;&gt;John Gruber&lt;/a&gt; and &lt;a href=&#34;http://idlewords.com/2009/09/how_to_not_get_your_blog_hacked.htm&#34;&gt;Maciej Ceglowski&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;To be sure, the ease of programming in PHP leads a great many people to contribute to projects, who may not have the experience or security awareness they should. This is not helped by poorly designed features in PHP that were enabled by default in previous versions, and cannot always be disabled outright due to legacy compatibility concerns, reminiscent of the persistent security woes due to the C standard library’s insecure old string processing facilities.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mozilla Weave</title>
      <link>https://blog.majid.info/mozilla-weave/</link>
      <pubDate>Sun, 19 Jul 2009 08:02:45 +0000</pubDate>
      <guid>https://blog.majid.info/mozilla-weave/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://labs.mozilla.com/projects/weave/&#34;&gt;Mozilla Weave&lt;/a&gt; is a project of the Mozilla Labs to build synchronization of bookmarks, tabs, passwords and so on between multiple instances of the Firefox browser. It used to be a private beta, but with the release of version 0.4 recently, it has been opened up to the general public.&lt;/p&gt;&#xA;&lt;p&gt;Where version 0.2 was pretty rough, 0.4 actually works quite well, even if it is not yet feature complete. Bookmarks and passwords are handled just fine. Furthermore, you can &lt;a href=&#34;https://wiki.mozilla.org/Labs/Weave/0.3/Setup/Server&#34;&gt;set up your own server&lt;/a&gt;, all that is needed is PHP. Previous versions required WebDAV support, and the WebDAV module in nginx is not functional enough for Weave (or anything else, for that matter).&lt;/p&gt;</description>
    </item>
    <item>
      <title>@font-face embedding</title>
      <link>https://blog.majid.info/font-face-embedding/</link>
      <pubDate>Fri, 10 Jul 2009 20:01:16 +0000</pubDate>
      <guid>https://blog.majid.info/font-face-embedding/</guid>
      <description>&lt;p&gt;I updated my wife’s &lt;a href=&#34;http://www.shaheenbilgrami.com/&#34;&gt;home page&lt;/a&gt; to use embedded fonts (in this case the Fonthead &lt;a href=&#34;http://www.fonthead.com/fonts/GoodDog&#34;&gt;GoodDog&lt;/a&gt; typeface for headings) with the &lt;a href=&#34;http://craigmod.com/journal/font-face/&#34;&gt;@font-face&lt;/a&gt; CSS primitive. With the introduction of Firefox 3.5, all the major browsers now support embedded typography.&lt;/p&gt;&#xA;&lt;p&gt;As usual, Microsoft had to do its proprietary thing in Internet Exploder and devised a crackpot font format called EOT (Embedded OpenType), ostensibly at font foundries’ request, with weak DRM-like metadata that allows the font supplier to restrict which sites the font can be used on. Microsoft has an incredibly convoluted tool called WEFT (Web Embedded Font Tool) to do this, but I used the open-source and incredibly easy to use &lt;a href=&#34;http://code.google.com/p/ttf2eot/&#34;&gt;ttf2eot&lt;/a&gt; tool instead. The only hitch in this case was that this tool takes a TrueType TTF font as input, and GoodDog is a (PostScript-ish) OpenType OTF instead. Fortunately, &lt;a href=&#34;http://www.fontlab.com/font-editor/typetool/&#34;&gt;TypeTool&lt;/a&gt; can do the conversion.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
