Tag Archives: Blogging

5 Years of Blogging

5 years ago today, I wrote my first English blog post.

At the time I was using Hugo, the hosting was (and still is) provided by me, with the electricity that comes to my house, with an ISP that gave me IP addresses for (kinda-)free and all of it using FreeBSD.

These days, it’s not much different. I still use FreeBSD, I still use electricity, but I’ve moved from Hugo to WordPress and I write using MarsEdit, my favorite macOS software.

So, what have I done in the last 5 years? Well, not much, here are some basic statistic.

I have

  • Published 96 posts
  • Written 27,245 words
  • Uploaded 102 images
  • Told myself 256 times that “From now on I will blog every day

And I want to thank you all, for being here, with me, during my hardest days and happiest nights.

I love you all 🙂


Reply via email.

Domains as Verification

Couple of days ago when I was browsing the internet I stumbled upon Jim Nielsen’s blog, where at the top it said

Verified ($10/year for the domain)

Screenshot 2023 05 26 at 9 37 20 PM

Luckily, his blog is so organized (unlike mine) where I found the post named Verified Personal Website in which he talked about this.

Personally, I don’t have enough CSS skills to do that, but I added a check mark next to my name on my blog (thank you Unicode!).

IMG 6638

I think this is amazing and it should be used more by bloggers everywhere. If someone opens a blog they should see a check mark. Maybe a cute one in SVG, maybe a CSS trick, maybe it’s just an image, but it should be there.

Why? so we remind people that on the internet, whenever you have a domain, you are already verified.

Can scammers scam and criminals phish? yes, indeed. But unlike the not-very-social-media, it’s hard to do that.

Ironically, having a website on the internet costs less than having a “verified” social media account, say on Twitter.

Currently, Twitter Blue costs $8/month or $84/year.

Let’s see how much would it cost to have a blog on the internet.

First thing first, you need a domain, and it can be anything that you feel awesome with. Awesome-ness is the first and only rule.

Here’s an awesome domain that I found is available using NameCheap.

Screenshot 2023 05 26 at 9 23 37 PM

This is awesome!

Next, we need to host our website. Well, lemme check my favorite server hosting platform, Vultr.

Vultr pricing

A machine with a single CPU and a 1GB of RAM, that’s plenty!

I mean, with that much power, you can easily run WordPress (if you’re using caching).

Or, if you don’t want to get techy-techy at all, you can use a static site generator. You like Markdown and text files? There’s Hugo for you. Do you want to just click on buttons and BOOM, your website is ready? Have a look at Publii!

So, how much does it cost in the end? Here’s how it looks like if you pay annually or monthly, per year.

A/M Twitter Blue Website on the Internet
Monthly $8×12 = $96 $8×12 + $10 = $70
Annually $84 $8×12 + $10 = $70

So yes, it is cheaper to have a website on the internet.

Wait a second, annually vs monthly looks the same? OF COURSE IT DOES! THIS IS THE INTERNET! We want you to think “huh, 70 dollars? well that’s dope” and not about “well, if I pay annually now, I will save 12 dollars” and then completely forget about that service anyway.

Oh, and did I tell you about the features of having a website on the internet? Well we don’t have a list, but here’s some things from the top of my head.

  • You get to be verified, because welcome to the internet
  • You get to post whatever you want
  • you get to edit them! can you believe that?
  • You can upload photos and make it looks like a photo blog
  • Unlike other platforms, which seemed to be for photographers but not anymore, you can tag things, and make albums!
  • You can upload podcasts!
  • Hell, and if you ever want to leave, you can just redirect your domain to somewhere else 🙂

And I’m not even talking about the other awesome features of having a domain, like, custom emails! Be that person that does NOT have a @gmail.com, but @AwesomeIsHere.net!

And hey, Twitter Blue might die, Twitter might die, every other company might die, but the internet will not 🙂

That’s all folks…

Reply via email.

Antranig Vartanian ✔

March 26, 2023

Couple of years ago, I saw an article that said “By the year 20XX 70% of all created content will be video”. Unfortunately, I didn’t bookmark the article, so I can’t link it.

But I did not believe that. More importantly, I did not want to believe that, and for a long time, I thought that it was wrong.

But couple of weeks ago, while sitting next to my girlfriend, I watched her scroll in Instagram, and oh my god, that article was very much accurate. Everything was a video.

This is specifically sad, because Instagram was a photo sharing platform and now most of the content there is indeed video.

After weeks of researching, looks like that most things ARE video these days.

I have mixed feelings about this.

I wonder if there are any non-Instagram, non-TikTok, actually a real world wide web, video blogs. We’ve seen web logs, we’ve seen photo blogs, but video blogs wold be very interesting. Maintaining them too!

Reply via email.

Software Review: #MarsEdit version 5

I haven’t done anything like this before, so please, be gentle 🙂

I first heard of MarsEdit when I was browsing Gruber’s website and I saw it listed in his Essential Apps. At the time I was using Hugo as my “content manager” for my blog, so I moved on. Fast forward a year-or-two, I migrated to WordPress.

A week-or-so ago Gruber blogged about MarsEdit 5.0, so I decided to give it a go.

After 10 days of using it, here is my feedback.

First Impressions

I downloaded the app from Red Sweater Software’s website, at the time I didn’t know that it was also available on the App Store. A simple Zip file which contained the App, I moved it to the application folder and I started it.

Right from the start, it asks you two simple questions: Your blog’s name and the address.

I entered my Armenian blog’s name “Ազատութիւն Ամենեցուն” and address “անդրանիկ.հայ”. As you have noticed, it’s a unicode domain 🙂 This info will be important later.

MarsEdit automatically figured that I’m running WordPress and that it should use the WordPress API!

The interface is nice and intuitive. At first, you will see information about your blog, It’s made of two “parts”

SCR 20221219 kng

At the top is list of your posts and pages
At the bottom is a live preview of your selected page/post

The live preview doesn’t actually fetch things from your server, instead, you can have a template. Luckily, you can edit the preview settings and download your template. Unfortunately, there was (is?) a bug and MarsEdit was not able to download the template of my blog. First thing that came to my mind “I’m using a unicode domain, that might be the issue!” and turns out I was right. As soon as I added my English blog with its domain (the one that you’re reading right now!) the “Download Template…” button worked like a charm!

Screenshot 2022 12 19 at 3 09 40 PM

The Editor

This is, easily, the best editor I’ve seen for blogging.

SCR 20221219 lbx

You start with selecting your blog (1) and the post type (2), you can give your post a title (3), but turns out that’s not mandatory at all. As you start typing in the input box (4), you will notice the toolbar at the top (5), which has the basic formatting buttons such as Bold, Italic, Underline. There’s “adding a link” and paragraph formatting. For example —

This is a plain paragraph style

This is a quoted paragraph style

And this is a preformatted paragraph style

Depending on your theme, it will look different in preview/website and in the editor.

You can (and should!) also add tags (6), which MarsEdit will autocomplete while typing and select Categories (7). There is also the option to specify a “Featured Image”, I’ve never used this in MarsEdit nor in the WordPress editor, so no comments from me!

Finally, you can specify the server settings (9), such as the status of the post (Published, Draft, etc), Password protection, author (I actually DO run a multi-author blog!), comments and TraceBacks!

But the most impressive feature for me is the ability to save things locally, hence the Edited (10) at the title bar! I’m mostly on the move (well, not these day, it’s cold outside), while I don’t travel a lot, I do have daily work-things, such as going to a government office, a bank, a notary office, etc., which means I’m either commuting or waiting for my turn. While I have a mobile internet with me, we all know how old buildings are not built for the wireless era, so it amazes for me that I can just ⌘S and save my post locally to continue later.

All the local drafts are available in the… Local Drafts 😅

SCR 20221219 o9p

Amazing Niceties

The first nicety that I noticed was in the editor and it’s called “Typewriter Scrolling”. It does exactly what it says. The input box’s cursor will always be at the middle of the editor.

Screenshot 2022 12 19 at 5 33 31 PM

The second nicety is that everything is customizable, and I mean everything! For example, I blog a lot with coding samples, so I need a code tag. All I had to do was to go to Format → Customize… and I was able to create a new HTML tag for my code formatted text. Like this:
uname -a

And the final nicety that I noticed was the editor’s integration with TimeMachine-style restore points. I wish if every software had a feature like this!

Screenshot 2022 12 19 at 5 51 33 PM

Common (Personal?) Issues

I wasn’t planning on writing this review, at all, but since I wanted to try out MarsEdit before purchasing it, I wanted to use it intensively. In the last two weeks we had a Capture The Flag hacking competition and an Armenian InfoSec conference, so I blogged every details of these two events using MarsEdit. Actually, I was an organizer of the CTF competition, so I used MarsEdit to blog about everything from server installation, platform setup to “the food is here!” status updates 😄

That’s where I had my first issue! I set the Paragraph Style to Preformatted and I pasted some code, here’s how it looked like, if the code was multi-line;

Screenshot 2022 12 19 at 5 59 09 PM

It took me a while to realize, that I had to 1) set the Paragraph Style to Preformatted 2) Paste the code by doing Edit → Paste HTML Source. I’m not sure if this is an issue with my theme or not, but in case you get a similar issue, that’s how to solve it! Now, the code looks perfect 😇

Screenshot 2022 12 19 at 6 02 30 PM

The only other issue that I had was with the microposting feature, which is new in MarsEdit 5. It looks like a “status update” on Twitter or Mastodon.

Screenshot 2022 12 19 at 6 05 42 PM

When I first used this on MarsEdit 5, MarsEdit crashed. So finally, I’d like to talk about how

Daniel Jalkut is Amazing!

Like I said, I used MarsEdit 5 as soon as it came out, and the “New Micropost” feature crashed every time. Just 6 days after its initial release, Daniel released MarsEdit 5.0.1 which fixes the Micropost issue that I was having.

Finally, I send an email to Daniel saying

Greetings Daniel! how are you?

Looks like that MarsEdit is not crashing after upgrading to Version 5.0.1 (10611), however, a small question (feature request?):

In MarsEdit -> File -> New Post, I can set the Kind (Post Format) to Post, Aside, Status, etc.

I was wondering if there was a built-in way to make sure that my micro-posts are always set to Status? Microposts with no title look silly on WordPress, but in Status mode they look like a twitter/social-media status update!

I was wondering if I can implement that by using the Custom Fields tab in Blog Preferences.

Let me know!

Daniel replied to me just an hour later saying

Hi Antranig – this is a great idea and I’ll try to get it added as a preference ASAP. I’ll let you know when I have it in there!



MarsEdit 5 is amazing. Currently it costs $59.95 for a Single User license and $89.95 for a Family Pack license (5 people in a private household), and let me tell you, it’s totally worth it!

MarsEdit 5 is my Christmas gift to myself.

If you are also a blogger who uses one of the platforms that MarsEdit supports (WordPress, Micro.blog, Tumblr, TypePad, Movable Type, and any blog that supports a standard MetaWeblog or AtomPub interface) and don’t want to open your browser every time an idea comes to your mind, then MarsEdit is for you.

P.S. WordPress’s Block Editor is also amazing. The WordPress team has done an amazing work with Gutenberg. And while I’ll be using MarsEdit for my personal blogs while writing from my Mac, Gutenberg has been amazing with my other WordPress blogs while writing from my FreeBSD laptop! Give that a try too! 😉

Reply via email.

Moving (back) to WordPress

Our story starts 2-3 weeks ago, when my younger sister asked me to open a blog for her (it runs in the family, I think). Like any sane person, I created a FreeBSD Jail, configured its networking and followed an online article on how to deploy WordPress on FreeBSD. That’s the proper way to do it, right?

And I fell in love! Last time I used WordPress was in 2018, but this time it felt different, I’m not sure why (yet), but it feels like it came back to its roots. It has a simple screen that helps you to write.

Usually, I would say that tools don’t matter, and yet, I (narcissistically) rant about tools and that Docker is awful FreeBSD Jails is amazing. But I think that tools matters, they always mattered, it’s just that, we say such things in order to not sound like gatekeepers to newcomers.

Next was my girlfriend Lilith, she migrated from Blogspot to WordPress, she also blogged about that. Also deployed in a FreeBSD Jail in my home server.

Before making such decisions I look at data, so I downloaded my posts and did Unix magic.

$ xmlstarlet select -t -v '/ul/li/span' posts.txt | cut -d ' ' -f 3 | sort | uniq -c | sort
   2 2017
   2 2019
   3 2018
   7 2020
  14 2022
  29 2016
  35 2014
  47 2021
  90 2015

This comes from my Armenian blog, where I used to have WordPress, and yes, during 2015 I was very busy AND I used WordPress.

My Armenian blog is my “lab”, so I moved it not only to WordPress, but to a whole new domain, a Unicode domain with a Unicode TLD, անդրանիկ.հայ.

My English blog used to live at https://antranigv.am/weblog_en/, so I migrated it to a new subdomain, weblog.antranigv.am.

Migrating from Hugo to WordPress is not what I want to talk about, that’s a story for another day and that day is tomorrow!

I did some basic things on WordPress, such as disabling comments, which incidentally Rubenerd just blogged about and I added “Reply via email” as noted in Kev’s blog.

Oh and I added a plugin that publishes all the articles to ActivityPub, now you can follow @antranigv@weblog.antranigv.am from Fediverse (e.g. Mastodon, Pleroma, etc).

In the first week I blogged more on my Armenian blog than I did in months.

Expect a flood of posts (well, not really, more like 2-3 posts a day).

That’s all folks…

Reply via email.

Blogging on static generated sites with OPML and XSLT in 2022

This is gonna be a long blog-post, so bare with me.

I started blogging in February of 2014. A friend of mine, my mentor, norayr, got me my first domain, pingvinashen.am (literally means: the town of penguins), because I did not have money back then. I started hosting WordPress on it, tried to blog as much as I can, anything from technical knowledge to personal opinions.

Over the years I moved from a WordPress blog to a statically generated website using Hugo, and then I started an English blog with the same framework as well.

This worked all fine for me, because everyone was doing the same and it did fulfill my needs anyway.

Until I realized that many of my title-less posts (actually, the title was just »»») were kinda “icky”.

So I started researching about the origins of blogging. Now, I already knew about Adam Curry and how he started the PodCasting “industry”, but I never knew about blogging itself.

Obviously, I found DaveNet, the oldest running blog.

Currently, Scripting.com (Dave Winer’s updated blog) has been running for: 27 years, 6 months, 9 days, 21 hours, 20 minutes, 42 seconds. (taken from his website).

Learning more about Dave, I learned a lot about the origin of OPML, which stands for Outline Processor Markup Language. I knew a bit about it since it’s the standard format to export and import RSS/Atom feeds into news aggregators, but I never actually KNEW what it was about. If you are interested, checkout opml.org/Spec2.opml.

My interest of OPML got boomed when I saw my favorite blogger, Rubenerd, was using it for his Omake page.

Okay, so you can host OPML pages WITH styling using XSLT, the Extensible Stylesheet Language Transformations language.

As you know, I’m a huge fan of XML, while it’s not as “modern” as JSON or “cool” as YAML, I think it has a proper place for its usage. This seems to be one of them.

I started copying Rubenerd’s XSL file and ended up with this, which is not close to it anymore. I learned about recursive calling, templating with matches, etc.

First, I would love to tell you that my homepage is finally made in OPML+XSLT. Here’s my process:

  • Write the content using an outliner and export as OPML
  • Use xsltproc (part of macOS base, BTW) to generate an HTML output
  • Export that HTML to where-ever you want.

Does this sound similar to static site generators? Because it is, except that static site generators have their own templating language, while in this case, I’m using XSLT.

Okay, let’s talk more about the details.

First, I was using Zavala, my outliner of choice for Apple-ecosystem. First issue was that the links in there are markdown (which is [text](link)). The second issue was that (and I’m not sure about this) I was not able to edit the attributes of a node/outline.

I wanted to use Drummer, but I didn’t want to log-in with Twitter to use it. I’ve had issues with Twitter in the past, where they deleted my 6-year-old account in 2015.

Luckily, there’s a version called Electric Drummer (hereafter D/E), it’s a bit outdated, but it was good enough for my needs.

First thing first, I “converted” my homepage to OPML.

After that I wrote the XSLT code.

The xsltproc tool is actually very interesting, the usage is pretty simple and it follows the standards very well. The error messages are pretty human readable.

On my first try, I had an issue with links, as in <a HREF=""> tags, because XSLT does not allow < in the field by default. So my idea was to see what would D/E do after saving. Turns out it would convert to HTML encoded text, i.e. &lt;a href=&quot;https://antranigv.am/&quot;&gt;antranigv&lt;/a&gt; . Which meant that I could use disable-output-escaping to achieve my <a> tag needs.

This got me thinking, maybe I could also use the HTML <img> tag?

Technically, there’s no way to add an image tag in D/E, however, you can script your way around it, so here’s what I did:

<outline text="Add image" created="Mon, 11 Apr 2022 23:37:14 GMT">
    <outline text="url = dialog.ask(&quot;Enter image URL&quot;, &quot;&quot;, &quot;&quot;)" created="Tue, 12 Apr 2022 21:45:09 GMT"/>
    <outline text="op.insert('&lt;img src=&quot;' + url + '&quot;&gt;', right)" created="Tue, 12 Apr 2022 21:46:01 GMT"/>

Basically, I used Dialog to ask the user for the link and then paste the outline as a new first child of the bar cursor.

After that I just do xsltproc -o index.html opml.xsl index.opml. Wait, can’t I just include the XSL page into OPML like Rubenerd’s Omake? Yes, I can, but I’m not sure how things will work out in other people’s browser, so I just generate the HTML file locally and publish it remotely.

In an ideal world, I would use these technologies for my day-to-day blogging with a bit of change.

  • I would either do some changes in E/D, e.g.
    • Add a dialog.form, which is similar to dialog.ask, where the input can be a text field instead of a single line (more on that later)
    • Make it understand Operating System commands using Shell (execute publish.sh) or add more Node-like JS in it.
  • Or, do changes in Zavala to support HTML links, HTML image tags. I would love this more, because it’s native to macOS. I’ve been playing around with Swift lately, I’ll try this next month.

Assuming I would use this for my day-to-day blogging software, how would this look like? Well, I started experimenting, this is what I got for now.

The nice thing about Drummer is that it adds the calendarMonth and calendarDay types automatically.

The last missing piece for me would be the ability to add a code block. Ideally, I would use dialog, but oh boy it does not understand \n or \r, which meant doing a very dirty hack. If anyone knows a better way, please let me know.

First, I wrote a Drummer script that takes in the code encoded as base64, decodes it, replaces the newlines with <br/>, and puts them in a <code><pre> tag as a new first child of the bar cursor. Here’s the script:

Like I said, in an ideal world 🙂

So, here are my conclusions.

I started tinkering with all this because I wanted title-less posts like Dave (here’s an example of how that would look like in RSS). I learned a lot about OPML and XSL, I got motivated by Rubenerd to write my own XSL which ended up looking like a mini-hugo.

I think I will spend some time making patches to Electric Drummer and Zavala, and I will try building a PoC for blogging.

I think XSLT is very interesting in this day and age, it has a huge potential when used correctly and most importantly, there’s a lot of history behind it.

The questions is, where do we go from here? Should I do this because it’s old-school and cool, or should I find another way to blog more with title-less posts?

All that aside, this was very fun.

Thank you for reading.

P.S. If you have any questions, ideas, suggestions or want to chat with me, I’m always available.

That’s all folks…

Reply via email.

Comments are back

When I started blogging 8 years ago I used WordPress. One of its features was comments. However, when I started my English blog (the one that you are reading right now) I chose Hugo and then migrated my Armenian blog to Hugo as well.

This had two amazing features. First, no more managing PHP and MySQL, since Hugo is a static sigh site generator, second, no more dealing with comments.

During the last years more and more people have been contacting me over email/Twitter/Telegram to give me feedback about a post that they read. This is mostly about my Armenian blog. I don’t get much feedback from the English blog, unless someone posts it on HackerNews (then I get A TON).

I started missing comments, a centralized place to read all the feedback and an easy way for the reader to post them.

In Hugo’s documentation I see there’s a section about comments but it recommends Disqus. I don’t like 3rd party services. Lucky someone on Twitter recommended an alternative, Isso!

Isso was very easy to deploy. I created a FreeBSD Jail, did a pip install isso and then setup a reverse proxy. Add some JS scripts here and there in the template, and it’s all done!

I’m not sure if I’ll be able to fight spam. I still need to setup an SMTP server so it emails the commenters if someone replied to their comments, but that’s a project for the weekend.

That’s all folks…

Reply via email.

Good bloggers write a lot

I’ve been thinking lately that I am NOT able to blog a lot and I always blame external factors, “Oh I don’t have time” or “oh there’s no pagination in my theme so there’s no point of blogging daily, yet.”

But in reality, turns out I’m just being lazy.

I’ve been reading Jamie Zawinski’s blog for years, via RSS, of course. Couple of days ago I opened it via my web browser, an woah those number hit me hard!

As you can see, there are 366 days in a year but jwz happens to have more posts per year than that! Look at year 2012, there are 870 posts!

I mean, I know that my favorite blogger, Rubenerd blogs a lot, but I never knew how much.

I know he has 10 posts per, and his blog currently says

Page 1 of 758 → Older posts

And I know he started blogging since 2004, so if you do the math using bc,

$ echo '(758 * 10) / (2021 - 2004)' | bc -l

Actually, lately I’ve learned about expr, it’s very handy in command line scripts!

$ expr \( 758 \* 10 \) / \( 2021 - 2004 \)

What I’m trying to say is, I don’t know how people blog regularly, it’s not that I don’t have any ideas in my head, there’s always something to say, something to share, something to write about. If it’s not technical then at least it’s political.

Recently Lilith suggested that I should try to allocate 30 minutes a day to write some posts, even if it would end up into the drafts. This is me trying to do that, while drunk 🙂

That’s all folks!

Reply via email.

Blogging Regularly

Ruben blogged recently about blogging regularly and it kind of hit me: Why don’t I blog regularly?

I love blogging. I improved my Armenian by blogging for years, I wanted to be a blogger so bad that I asked my friends to rent me a domain and a hosting service since I didn’t have money when I moved to Armenia after the war.

But yet again, it’s very hard for me to write my thoughts in English. Armenian? Yes, sure, I can write a very complex sentence very easily. English, however, the language that I think in, the language that I grew up having a love&hate relationship with, is not the language that I’m good at writing. I can talk English very well, at least I’ve been told, but writing is not there yet.

There are a lot of points that Ruben made that I love to be more mainstream. Use ANY blogging platform, literally any, as long as they don’t treat you as the product (Medium as an example). Write about anything, everything. I would love to hear about your daily life, how you solve problems, no matter if it’s about that very complex DB issue you’ve been having or the water pipe that has been leaking. They are all interesting.

At the end of the day the internet is the place that allowed everyone to speak. Now we are fighting over who gets to be heard.

But with blogs and RSS, everyone will be.

That’s all folks.

Reply via email.