Day 57/365 or day 14/28 for Singing Phoenix

What I accomplished today

  • Working on module 2 [60] Module 3 is addressing issues in deep work. Since I haven't finished module 2 it's not worth doing module 3 because I need to prevent there being overlap.
  • Updating Sapphire Pack Privacy Policy [60]
    I'm trying to figure out how to structure my privacy policy.

    Unfortunatly my website hosting provider tracks information and I'm not aware of exactly what they track.

    Finally, I've come to the realization that I can't in good conscience provide services on systems which continue to undermine democracy by selling people's data and movements to large companies in order to track and manipulate them.

    I'm still figuring out my privacy policy but it's going to be StandardNotes or SmallWeb simple.

Doing it every day for 2 hours is really taking a toll on me. I'm extremely proud of what I have accomplished and how much more I have left to do. However, I'm going to change my interpretation of my rules that I set out just slightly.

I'm still going to do 2 hours every day. However starting this Monday to Saturday, I'm going to work 20 minutes ahead each day. This means that I'll achieve Sunday's 2 hours by the end of Saturday. This means I'm working 140 minutes each day. I'm still going to keep the what I accomplished today section to just 2 hours since that's simplier and continues the spirit of what I intended. But I must face the limitations of continous focus and that I back off now, or my body backs off for me with a big crash. I can't afford to crash so I'll back off.

I need rest, I need a day where I'm not working on Sapphire Pack. I need a day free from Sapphire Pack. Building a buiness is like a relationship, you don't want to be clingly or try to get it all now. It's a long term effort not a short term all out.

Singing Phoenix

Easy day. Nothing much to report.

Difference between stagnant and simplicity

Stagnant software is a disease of complicated software, there is old software that is no longer maintained but still very usable, old software. We're going to assume that stagment means old , no longer usable or "not modern". Not modern" meaning that UI or something is really unusable.

The beauty of simple software like Standard Notes and is that the core function is quite simple.

Standard Notes REALLY just encrypts texts and makes it available everywhere. That's it. Everything else is built on top. The beautiful part of this is that we can add billions of extension and the core functionality woudnl't be compromised. Furthremore we don't have to worry about software rot. The core system is SOO simple that there isn't much to rot and built to such a high standard. Simple in terms of functionality and total lines of code. Why is this good? Because just like Standard Notes demonstrated, it's easier to continually upgrade the core system's security WITHOUT impacting the extensions or having odd breakables happen.

Same with, it's designed to post content to your blog and that's it!! Why is this good? Because let's say we want to add the ability to posting a spreadsheet, we can add a small server extension to post the table and then emmit a HTML blob that the core server just dumbly puts wherever it goes. Do you see the beauty?

It took a long time for me to realize the beauty of simplicity. Simplicity doesn't mean sacrificing complexity, it means "doing more with less" instead of "less with more".

What do I mean?

So "doing more with less", means that if I want to have the software do complicated thing X, it will take alot more commands to get it done. Good thing though!!! That's were programmers come in, they can automate and hide that complexity thru the use of extensions. Sure it'll take them longer or may have to use a few tricks or sideways thinking, but that's why we pay those beautiful people.

However "doing less with more", is the evernote, you can do everything in a single button or so. Everything is burned right into the software, it's hard to maintain and gets slower and harder to maintain. This is what becomes stagnant, so big and bloated that eventually everything fails. You don't have the option to say yes to X or no to Y. You're forced to take it all. (Do you really need 16 formats of dates to insert, convert from JSON to XML or convert all tabs to 4 spaces?). isn't stagnent. Simplicity also breeds something that I saved for last:

The content and extensibility.

I call this next theorem:

--- SN Theorem ---

1) "The simplier the software the higher quality the users are".

Simpler means you spend less time futzing around and more time actually doing.
This immediatly weeds out the people who would never be happy and crave constant novelty from those who want an actual tool.

Evernote has fallen prey to the second group, those who crave constant novelty, billions of way to organize the notes and thousands of way to format your content.

Standard Notes doesn't allow you to "puff up your content with useless visual eye candy or formatting (just a limited amount)". This leads to better content, more satisfied people and using the software for what it's really good at.

--- SN Theorem ----

2) "The simplier the core, with clearly defined seperate code API the easier to extend"

The simplier the core with API's that can be accessed AFTER compilation (that is extensions or something that can communicate post core compilation), the more the software can do.

Wait... didn't I say simplicity, YES. The system is so simple with extensibility that if everyone wants to store voice recordings, we can build such an extension, then throw it away when it's no longer wanted, with the core no better or worse off.

Finally 2 naturally follows the gist of The Zen of Python:

The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex. <---- 1
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules. <--- 2
Although practicality beats purity. <--- 3
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess. <--- 4
There should be one-- and preferably only one --obvious way to do it. <--- 5
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than right now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea. <--- 6
Namespaces are one honking great idea -- let's do more of those!

Pay attention to the numbered items:

1) Simplicity works. We can build complexity out of simplicity but we can't build simplicty out of complexity. This is why the computer you're using right now is probably RISC (Reduced Instruction Set ...). Yes Intel is CISC but really most Complex instructions actually compile down to RISC instructions.
Simplier means we can optimize for the common cases and have the whatever do phenomenal 97.8% of the time.

2) It's tempting to make a special synchronization for the Preferenes note in SN. However it's treated like a regular note with

3) Special handling. So we don't break the rules but BEND them. It works love and that's why you won't loose anything with simple software.

4) How many times has your computer made the wrong decision? How frustrating is that. If it was a person you'd assume they were stuck up and knew what's best for you. We would be pissed and you would also be pissed. Now if we had a friend that in circumstances where they didn't know what we wanted, they asked us? We'd love that friend. We would find that friend super reliable and not think we're playing a slot machine. There's a reason that we don't hangout with slotmachine friends, their irksome and we often get very frustrated. We would hangout with the non slot machine friend any other day. They geniunly care by stopping and asking us. This is what this line is talking about.

5) In something like SN, there's only one way to create a note. In Evernote there are many ways. This leads to confusion and what if I want to do it like X. Furthermore some of these ways can be turned off and on in preferences. Making the software appear to have a mind of it's own to the non tech person.

6) Need I say more?

So that's a really long partially roundabout way of trying to show the difference between stagnant and simplicity. Though it's easy to confuse stagnant with simplicity if you're the type of person whose more intrested in constant novelty over having something that just works and stays out of your way otherwise.

You'll only receive email when Cubes publishes a new post

More from Cubes