Rezha Julio

The Hard Coded Chemist

What happened to self-hosted blogs?


I remember a while ago when all of us run a personal blog on the Internet. And I mean personal, not hosted on some side platform or an addition to their website. I mean personal.

Companies and individuals are now using Medium platforms to host and support all their articles, essays and case studies. I understand the drawing and can even list the positive elements:

  1. Under the Medium brand there is already a large community.
  2. Promoting your own work and following others is easy.
  3. The platform can be set up and implemented relatively easily.

Unfortunately, this has had a very severe impact on the blogging community - nobody controls their own blogs. It was an interesting and fun experience for me when I found a new blog:

  • How did they choose to design the page ?
  • What typefaces did they choose to use ?
  • What are they using as back-end ?
  • How do it look and feel on your mobile phone ?

These personalized self-hosted blogs have inspired other developers to build their own or tweak current blogs. In some ways this was a small factor when we pushed what we can do further and further on the web as developers went on to compete with each other.

I also think this inspired people to write better content instead of choosing clickbait garbage to get “featured” or boosted promotion on the main blogging platform, but I don’t think that’s the worst thing to come from this mass migration to a single blogging platform.

I’m not sure if it is the intention of Medium, but I personally believe that it is awful either way. The personality of most design and development blogs has been completely removed from them. All blogs look the same now.

Perhaps I was just a salty developer, with a narrow, pessimistic perspective about where our bloggers seem to lead – or perhaps I have only higher standards.

Your Own Python Calendar

The Python calendar module defines the Calendar class. This is used for various date calculations as well as TextCalendar and HTMLCalendar classes with their local subclasses, used for rendering pre formatted output. Import the module: import calendar Print the current month: import calendar year = 2016 month = 1 cal = calendar.month(year, month) print(cal) The output will look like this: January 2016 Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Set the first day of the week as Sunday: Continue reading

Get the Most of Floats

Similar to the int data type, floats also have several additional methods useful in various scenarios. For example, you can directly check if the float number is actually an integer with is_integer(): >>> (5.9).is_integer() False >>> (-9.0).is_integer() True Integer values might be preferred over floats in some cases and you can convert a float to a tuple matching a fraction with integer values: >>> (-5.5).as_integer_ratio() (-11,2) # -11 / 2 == -5. Continue reading

Format text paragraphs with textwrap

Python’s textwrap module is useful for rearranging text, e.g. wrapping and filling lines. Import the module: import textwrap Wrap the text in the string “parallel”, so that all lines are a maximum of x characters long: # When x = 2 textwrap.wrap("parallel", width=2) # Output: # ['pa', 'ra', 'll', 'el'] # When x = 4 textwrap.wrap("parallel", width=4) # Output: # ['para', 'llel'] Returns a list of lines (without trailing newlines). Continue reading

Unicode Character Database at Your Hand

Python’s self explanatory module called unicodedata provides the user with access to the Unicode Character Database and implicitly every character’s properties. Lookup a character by name with lookup: >>> import unicodedata >>> unicodedata.lookup('RIGHT SQUARE BRACKET') ']' >>> three_wise_monkeys = ["SEE-NO-EVIL MONKEY", "HEAR-NO-EVIL MONKEY", "SPEAK-NO-EVIL MONKEY"] >>> ''.join(map(unicodedata.lookup, three_wise_monkeys)) '🙈🙉🙊' Get a character’s name with name: >>>'~') 'TILDE' Get the category of a character: >>> unicodedata.category(u'X') 'Lu' # L = letter, u = uppercase Also, using the unicodedata Python module, it’s easy to normalize any unicode data strings (remove accents, etc): Continue reading
Older posts