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.
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.
- 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.
Mapping to me always feels like one of the things that is never near complete, and will never be finished. Even when you think something is mapped it could’ve changed when you were not looking. The only way for me to sanely think about it is in baby steps—drive to Socorro panchayat, take photos using Mapillary, come back home and add POIs (Poees 🥖😅) on OpenStreetMap. Slow and steady 🐢
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.
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.
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.
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.
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.
- 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!
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!
It would be so much fun to add all the information here to Wikidata, Wikisource and Commons 😃
I have been a fan of 37Signals since I can remember — I used to use prototype.js, learnt Rails for freelance work, and made everything I worked on look like Basecamp. But, when their book released I assumed it won’t be available in India (it was), or that it would be too expensive to buy anyway (it wasn’t).
Sacrifice some of your darlings for the greater good. Cut your ambition in half. You’re better off with a kick-ass half than a half-assed whole.
When something succeeds, you know what worked-and you can do it again. And the next time, you’ll probably do it even better. Failure is not a prerequisite for success… Success is the experience that actually counts.
The problem with abstractions (like reports and documents) is that they create illusions of agreement. A hundred people can read the same words, but in their heads, they’re imagining a hundred different things.
Their approach to planning is one that I have recently adopted in my daily life, especially my side projects:
When you turn guesses into plans, you enter a danger zone. Plans let the past drive the future. They put blinders on you… Plans are inconsistent with improvisation… Working without a plan may seem scary. But blindly following a plan that has no relationship with reality is even scarier.
Mass is increased by: permanent decisions, inventory (physical and mental) long-term road maps… less mass means you’ll be able to change direction easily. The more expensive it is to make a change, the less likely you are to make it.
Don’t make up problems you don’t have yet…the decisions you make today don’t need to last forever. Decisions are temporary. Optimize for now and worry about the future later.
This year, I have been trying to be more proactive at sharing my work. The ideas in this book, and Show Your Work have greatly influenced how I think about it:
Everything has a by-product. Observant and creative minds spot these by-products and see opportunities.
So build an audience. Speak, write, blog, tweet, make videos – whatever. Share information that is valuable and you’ll slowly but surely build a loyal audience. Then when you need to get the word out, the right people will already be listening.
Instead of trying to outspend, outsell, or outsponsor competitors, try to out-teach them… Teach and you’ll form a bond you just don’t get from traditional marketing tactics… They’ll trust and respect you more.
Don’t be afraid to show your flaws. Imperfections are real and people respond to real. It’s why we like flowers that wilt, not plastic ones.
Don’t be afraid to give a little away for free – as long as you’ve got something else to sell. Be confident in what you’re offering.
Even though I’ve been late in both reading and writing about the book, it couldn’t have been at a better time — 37Signals recently announced their new book It Doesn’t Have To Be Crazy at Work. Looking forward to reading it when it releases in India!
Docker, specifically Docker compose, has served me well in keeping a sane development environment for my WordPress projects. MAMP was too much of a black box, and having a local PHP and SQL for both MediaWiki and WordPress was going to be more maintenance than I would have time for. With compose I have little to no maintenance burden, and my system is squeaky clean.
version: '3.3' services: db: image: mysql:5.7 volumes: - ./dbdata:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: depends_on: - db image: wordpress:latest ports: - "8008:80" volumes: - ./wp-content:/var/www/html/wp-content restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress
The way this is setup is that both the services share a part of their file system with the host. The
mysql one shares all the database data, making it easier for me to move test data around different instances and configurations of WordPress that I might be running. And, to be able to work on plugins and themes the
wordpress service shares the
wp-content directory. This way, I can easily clone and work on anything directly on my local system.
With this, all I need to do now to setup a new WordPress install is — create a new directory, copy this YAML file into it, and run
docker-compose up. I change the
wordpress service’s port mapping when I need to run multiple instances at once. That’s it!
I didn’t pay attention to Civics class in school, so it was time I revisited the syllabus and found out how the Indian government worked. This interest was triggered by the Aadhaar case, and also by my attempt to understand where the ISRO WikiProject lies in the larger Indian government system.
I decided to get Indian Government and Politics from SAGE publishing because I read somewhere that it was a textbook for UPSC exams (of which I learnt more in the book). I supplemented my reading with an entertaining YouTube series called Consti-tuition hosted by Meghnad. I even got a subscription to Newslaundry to access the bonus content.
The video series and the book covered what the constitution said, and what reality is like. This was important for me as it helped me learn where the system fails and what kind of structures are made ad-hoc to deal with it. As Dan Kaminsky points out, this part of my learning will go on for much longer, maybe forever.
I’m increasingly thinking that every functioning system has two forms: The abstraction that outsiders are led to believe, and the reality that insiders actually and carefully operate.
You don’t incrementally learn a system. You eventually unlearn its necessary lies.
— Dan Kaminsky (@dakami) January 17, 2018
It also gave me a lot of new WikiData projects ideas. The first one being to visualize the national political parties and their ideologies. I’ll be working on more as time permits. Click image below for the Wikidata query.
This book was a good first step to learn the system and it’s lies. It seems pretty complex, and I know I’ve only scratched the surface, but at least I’ve begun to understand something… the me in school would have understood nothing, even if he did pay attention.
After I understood how Wikidata worked and had begun contributing to it, I thought it was the solution to everything. It made complete sense — a federated, linked, semantic database of everything. What else would anyone need? It would be the hammer for every nail.
Excited, I began showing it to my friends and family. With each demo, I realized that Wikidata is a difficult hammer to use. A friend pointed out the obvious, “Interesting… but how will people use it? No one is going to learn SPARQL”. Even changing the name of the painter in the “show me paintings of Amrita Sher-Gil query” isn’t trivial. And working with Wikidata’s
Q-id isn’t straightforward either.
The only other way to query this immense dataset is to wait for the big tech companies to eat up all this CC-O data. Siri, Alexa, and Google Assistant will become smarter with it, but they’ll remain a closed ecosystem that often harm the projects they benefit from. On the other hand however, the Google Art Project has helped Commons. Still, it too remains a system of closed collection and curation, with no room for correction or contribution.
While we wait for an open source Virtual Interactive Kinetic Intelligence (VIKI), I wonder what an open virtual museum would be like — a Wikiseum! A VR experience on the open web using open data. Paintings from museums across the world, and a museum guide who speaks your language.
All this is technologically already possible — Wikidata has numerous statements on paintings and museums which is only going to increase with structured data on Commons. Commons itself has scans of many paintings, and Wikipedia has detailed information about paintings, their artists, and the museums they are in.
All that is left to do is some plumbing and a UI.
Silence of dusk — broken,
the pao wala reminds us:
we must eat tomorrow,
like we did yesterday.
Silence of noon — broken,
the kabari wala reminds us:
we’ve been hoarding trash,
like we did last week.
Silent. We are the same.
I read Maus in two sittings when I was alone at home in January. If I had known that the book was about the Holocaust, and that the main character, Mr Spiegelman, would remind me so much of my Dadi, I would have avoided reading it.
I secretly laughed at Dadi’s need for order, and perfection. And not just any order, but one of her design.
I got irritated when she accumulated trash and treated it like treasure.
I felt scared when she had one of her restless nights, not able to lie down nor sit up, only feeling better after Papa put a nitroglycerin patch.
And I cried when she told me how much she still missed Baba.
Even though I have the second part of the book, I am not going to be reading it for a long time. I miss Dadi.
Lately, I’ve been reading a lot about writing, and so, just to make this clever sentence, I must do some writing about my reading.
It must’ve been something I saw on television in my childhood that made me think that writing is done when inspiration strikes and words just flow. The image in my head was of an author writing an entire story, in longhand, in one sitting. This has never been the case with me.
Words, for me, have never flowed. They have never even accidentally leaked. Even when I invited them they didn’t come. In my head they all responded yes, but on paper, they didn’t show. I called them up and reminded them of the great time we had last weekend (we didn’t); they made excuses. I promised to make food they like; they pretended to have tummy issues. After a few tries, I thought to myself that they just don’t want to be friends, and left it at that.
But now, after constant advice from Pooja, Rhea, Amber and reading a few books, I am happy to realize that this isn’t the case. Making an outline, writing a rough draft, re-writing, editing, and endlessly repeating, is what writing is about. That, and tricking you into reading about writing about my reading.