Anything You Want

Cover of the book "Anything you Want" by Derek Sivers

I tend to take things seriously, more seriously than I’d like, and more seriously than it is good for me. Anything You Want by Derek Sivers is a good lesson on taking most things as they come, but taking your core values seriously:

Make sure you know what makes you happy, and don’t forget it.

Page 73

It also reminds the reader to focus on what they want to do and not what they want to have.

The whole point of doing anything is because it makes you happy! …its about what you want to be, not what you want to have. To have something (like an album, or a million dollars) is the means, not the end. To be something (like a good singer, or just plain happy) is the real point.

Page 58

The book also had tons of advice for small business owners, while I couldn’t agree with all of it, some points really stuck with me:

  • The customers are more important than the business itself. The business’ objective should be customer satisfaction, not survival.
  • Tiny details of design and customer experience delight and thrill people enough to make them tell their friends about you.

It was a very quick read, and I’d recommend it to anyone thinking of starting something of their own and have an hour to spare 😊

The Backlog

All of us have a bunch of different backlogs — emails, todo tasks, articles to read. New backlogs get added all the time too — recipes to make, podcasts to listen to, places to see. While we keep working on our backlogs, the problem is, that we add to them faster than we subtract.

The book you just finished reading references others that are now on your reading list. After releasing your new project you already have a list of things that you need to fix in it. As you constantly move closer to death – the time you have is decreasing, but, your backlog is increasing, often exponentially. This is not sustainable!

the backlog graph
I wish I had better memory of this day

So what are we supposed to do? Prune? Prioritize? Panic? I’ve been practicing an unhealthy balance of these three for a while and am increasingly getting comfortable with its constant hum bothering me. As long as I keep making new spreadsheets and projects on Todoist, I’ll be just fine 😅

Dark mode & accessibility improvements in Zuari

This update has been a long time coming. I had added a ticket to support dark mode almost a year ago when I first came across the Webkit support blog post. The code sample was straightforward:

Philip added the initial support and with a few adjustments to the Customizer we added the ‘Allow the operating system’s dark mode to override my color settings‘ checkbox. I didn’t want to force this change on every site because it would break the colors that people have picked for their page and headers. But if you do select it, the site changes colors based on the operating system’s setting:

Notice the increased line-height in the dark mode to improve readability

More recently, I was able to complete my laundry list of accessibility improvements including:

  • Adding aria markers where needed
  • Making sure all HTML was semantic
  • Improving keyboard navigation

You can get all these changes in version 1.4.0 from Github, or the latest from the themes repository. I have also requested another round of review from the WordPress theme review team so that I can officially add the accessibility-ready tag, but, I am not sure what the process here is. Hoping someone picks it up soon 🤞🏽

Interactive dashboard for COVID-19 India

I stumbled across the Covid-19 India Ops telegram group and through that the covid19india.org dev group. The people there have setup a website for live tracking, a way to report new patients and even a cluster map. They also have a live updated API end-point that provides patient data in JSON. Not limited to the total number of cases and their location, the data has patient demographics and reporting dates.

I started working on a tool that others can use to make sense of the data. Since I don’t understand the domain and nuances of the data, I have made no attempt to interpret it.

You can check-out the live dashboard here — Interactive Covid-19 India Dashboard — please share it with someone who might find it useful.

The above dashboard was made using dc.js which brings crossfilter and d3 together to be able to filter the visualisation on the fly by interacting with the charts. While making this I had help from two Sanjaya’s — one Sanjay helped me figure out the GeoJSON file and the projects, and another Sanjaya pointed out some key UX improvements. There are still quite a few things to fix and I’ve noted them in Github issues. As always, pull requests are welcome on Github.

Logicomix

Knowing that I’ve been trying to learn about Bertrand Russell and logic, Amber recommended this book to me. Since I was travelling at the time I decided to read it on the Kindle app instead of shipping a paperback home. This was the first time I read a comic on the phone and was surprised at how good the reading experience was. I sometimes had to zoom in to read the text, but most pages weren’t dense, so it was fine.

I did not like the meta comic when I started the book but it grew on me. By the end of the book, I was waiting to read more commentary, and learn about the process behind the book.

My favourite panel was when Russell visits Frege for the first time:

This other panel is very close to a theme my dad often takes in his conversations. I was happy to see that others share his point of view.

The book helped me learn a complex concept while keeping me entertained. Alecos Papadatos next work, Democracy is certainly on my wish-list. Paperback this time, but only because I want it on my shelf 🙂

How to add {{missing images}} on Wikisource

Coming back to Wikisource after a few months’ hiatus I have forgotten how to do common tasks like adding images to pages. Making notes here to refer back to:

Photoshop Levels dialog
  • Open the purple links (problematic pages with the {{missing image}} template).
  • Open that page on Commons and download the biggest available JPEG.
  • Open the file in Photoshop.
  • Command + Shift + U, to desaturate the image (if applicable).
  • Command + L, to bring up Levels. Use the “Sample the image to set a white point” options to get the correct colors.
  • Use the perspective crop tool if the image has a frame (lets you pick corners instead of a frame), normal crop if not.
  • Save with a naming convention, usually – Title – Page Number – Book name.
  • Use UploadWizard to upload images in bulk and copy over information like categories, date etc.
  • Remove the {{missing image}} template in pages and use pre-established convention to add the images to the page.

Also see the help section on Wikisource, specifically about making some of these changes using a command line tool. I still need to understand what kind of templates to use when uploading the images to Commons.

Goa Homebrew Website Club #2

With the help of the usual WordPress Goa group (Siddharth, Abhishek and me), we hosted the second Homebrew Website Club. Since we were expecting more people this time we needed a bigger venue, and the good folks at Diet Code were kind enough to provide one.

Work and discussion at the Homebrew Website Club. In attendance: Abhishek, Abhinav, Sidney,
Prateek, Milosha, Janosh, Rhea, Jane, Harshit, Meesha, Jitin, Salil, Siddharth, Wazid and Snehal

After some quick introductions we dove into to some deep topics:

  • Identity and anonymity on the Internet, especially in the current political climate.
  • Reliable hosting options that wont get affected by government blocking or trade sanctions.
  • Distributed web protocols like IPFS and Dat.
  • Data trails linked to our various online identities.
  • Differing Terms of Use on various Mastodon servers.
  • Customization limitations on Wix

In the peer-to-peer time I demoed WordPress to a few people who were contemplating using it. Their main concern was if they’d be able to find the right theme for their requirments and if it’ll be customizable enough to make their site look the way they want. I spent some time helping setup a travel blog. I also triaged issues for my WordPress theme—Zuari.

Sausages & Hamburgers

New Wink Docdash theme

Over the last few weeks I have been giving the WinkJS’s JSDoc theme some much needed attention. When we started using JSDoc for WinkJS packages we used the docdash theme. It was clean and simple, exactly what we needed at the time. After we update the main website though, the theme needed to look more on brand and so we forked it to add our colors and a navigation bar on top. We want to add tutorials for our packages soon and this means some more layout and design changes.

After initially adding the navigation bar, everything looked alright on desktop, but on mobile the two menus were fighting for attention—one would open a dropdown with the site-wide navigation, and the other would open a slide out with the API’s table of contents. The icons were quite close to each other and it was a mess.

hamburger and sausage menu diagram
Diagram of a few mobile menu options

So, when Siddharth showed me what sausage links were, I knew they would be perfect for this problem. I did some research and found some other documentation websites using them too. It is elegant and uses a simple horizontal scroll to show more items in the navigation. The trick is to be able to cut-off one of the menu items and show a fade on top of it so that its clear that there is something else there to see. Different screen widths mean that you can’t always control what is hidden so I decided to show a bigger fade on the left.

Demo of hamburger and sausage menus in action

🌭🍔😉

Goa Homebrew Website Club #1

After more than a year of trying to be part of the IndieWeb and working on my website alone, I thought I should try to start a Homebrew Website Club in Goa. So, with the help of the usual WordPress Goa group (Siddharth and Abhishek), we decided to host the first such meetup at the GrandWorks office on the 24th of July.

We saw a mix of people of attending—from seasoned developers, to graphic designers, and to people just thinking of making their first website.

Hampus, Mikhail, Siddharth, Abhishek, Wazid, Prateek, Nupura, Anika, Sameera, Salil, Shanon and Kimberly at the GrandWorks office for the Goa Homebrew Website Club #1
Hampus, Mikhail, Siddharth, Abhishek, Wazid, Prateek,
Nupura, Anika, Sameera, Salil, Shannon and Kimberly at the GrandWorks office
for the Goa Homebrew Website Club #1

Since this was the first such meetup I gave a quick introduction of the IndieWeb movement and technology, and encouraged everyone to join the wider community on the wiki and chat. After that, we went around the room introducing ourselves, talking about our websites and experiences in building them. Some of the topics we covered were:

  • Differences in using WordPress, and services like Wix and Squarespace.
  • Hitting certain limitations on Wix, and how in WordPress there is always a plugin for that.
  • Cost (time and money) of hosting your own server vs the price of Squarespace.
  • How one-click WordPress installs offered by hosting services aren’t really easy to use for beginners.
  • Wix’s AI in design feature.
  • How the Balance Project would like to run their own community website and not give all their data to Facebook.
  • Finding an audience on one’s own blog vs on platforms like Medium and LinkedIn.

We didn’t have a lot of peer-to-peer time left after the discussions, but I was able to show a photographer how they could design their portfolio website using Gutenberg on WordPress.com.

There was quite some interest in a group like this, the technical folks wanted to dive deeper into Webmentions and Micropub, and others expressed a need for a place to ask their questions and get their doubts clarified. So, we’re thinking of hosting another one on the 21st of August. Join the WordPress Goa meetup group to get notified when we do.

Zuari on WordPress.org

After staying in review for nearly seven weeks, my WordPress theme finally got approved and deployed on the WordPress.org theme directory. Big thanks to @rabmalin for the review 🙏🏽

The Zuari theme on latest page of WordPress.org theme directory.
The Zuari theme as seen on WordPress.org

I wanted to make a theme that supported the new Gutenberg block styles, and gave a lot of customization options to the users. I have been working on it on and off since November last year. The idea was to give it an hour everyday, but travel and life did not let me be as consistent as I’d like. By March I realized that it might be better to work on a subset of features and do a version one release first. Now that this is done, I am excited about making improvements.

Roadmap

  • Use ITCSS to better architect the CSS. It’ll also help in getting the editor styles out.
  • Add microformats support for the IndieWeb.
  • Plugin support for the IndieWeb plugins.
  • Improve animations.
  • Bug fixes.
  • More customization options.
  • Accessibility improvements.

Hopefully by the end of the year I can actually recommend the theme to people who want to join the IndieWeb 🤞🏽 If you give it a spin and run into problems do raise an issue and I’ll try to help. Pull requests are welcome too!

Migrating to Dreamhost

My websites have been hosted on WebFaction since I can I remember, but with them recently getting acquired by GoDaddy, I started to look for alternatives. Looking for a cheap shared host to keep the three WordPress sites I maintain, I decided to check WordPress.org for recommendations. They suggested Bluehost, DreamHost and SiteGround. After a week of trying, Bluehost support couldn’t convert my domain account to a hosting account so I setup a new one on DreamHost.

The migration went smoothly but it took me a while to get used to the way DreamHost manages users, sites, and apps. Now that the DNS has (hopefully) fully propagated, the website is up and running on the new server, on https (for the first time 🥳), and using the new theme I am working on. Excited to be working on my site again!