Sapphire

@Sapphire

My online name is Sapphire. I program and I post my rambles here.

4,341 words

Thank
You'll only receive email when Sapphire publishes a new post

Fortheenth Ramble

May 27, 2018

[20180527]
Today wasn't the most productive day. I spent more than half of it avoiding difficult feelings by eating a bag of chips and binging on stupid crap on youtube.

But, no point dwelling on something that I already did.

Other than that it was an okay day. I got 2 hours of JavaScript programming in. Learning the language.
Here's my projected goal that I set out I think 2 weeks from today(?).

End of Sunday 20th Finish learning basics and to Guides>Debugging [Completed. However, not sure how much I retained. Considering that JavaScript at the time was foreign and I didn't understand why this was labelled as such with a semicolon and this didn't end with a semicolon.)
This week (Sunday 27th): I changed from "Finish learning ..." to begin learning about JavaScript I've begun learning and I believe after another week of hard learning I'll be ready to begin (finally) programming task list in SN)
This upcoming week: Continue learning about JavaScript
Two weeks from now: Begin building Task List for Standard Notes and look at preexisting code!

That's all.
Sapphire

Thirteenth Ramble

May 27, 2018

[20180526]

Today was one of those shit days.
I discovered I lost some files but luckally Mr. Bitar was able to recover all of the files. (Thank you for your time and patience)

Who do I want to be? Where do I want to go?
I don't know. That's what I'm struggling with now. I'm not sure exactly what I want in life.

I want to develop the next generation of something related to computers. What I don't exactly know.

That's scary, I tell my friends I want to be a programmer. But that's such a vague term. It's like a cover that I use to protect myself, hidemyself from myself.

So I'm going to solve that right now:

Here's my plan to the end of this year:

Learn React Script and publish 1
extension per month starting June 1st and complete
December 31st with the goal of publishing 6 extensions.

Who is involved?

I am involved, along with the developer
of Standard Notes and several online communites to help me achieve my
goal

What would I like to
accomplish?

I would like to publish 6 extensions.
The first extension is a simple task list, second extension is a
contacts, third extension is a calender, forth extension is a data
bridge connecting external data to the application, fifth app is a
STT application, sixth app is a OneNote features port.

Where is this
happening?

This is happening at a computer using a
text editor, internet and github.

When do I
start/finish?

I’ve already been working at this for
almost 14 days and will finish December 31st which I will
then consider my next set of goals.

Which? Identify
requirement and contraints.

I will need computer, text editor and
other digital tools along with internet. The constraints is I can’t
spend time learning everything I want about React which means I have
to pick and choose. I have approximatly an hour a day I can devote
and I won’t be able to do that ever day. So I really have 229 days
left to achieve my goal which is a total of 229 hours to achieve my
goals. With every thirty days reaching a major milestone.This may not
be possible with other demands on my life so I may have to choose a
subset of extensions to release instead of being able to code and
release 6 extensions.

Why? Why am I doing
this? Specific reasons, purpose and benefits?

I’m doing this so I learn a new
programming language, build my name in the programming community and
possibly earn some income and actually achieve a programming goal and
maintain it.

Measurable

I want to finish learning the basics of
React by end of May.

June I want to release my first
extension a task list.

July I will learn how CardDav works,
learn the appropriate code and connections needed in the extension
and develop the extension and upload.

Auguest I will learn how calenders
work, pattern of days and optimization of rendering and saving
characters, learn the appropriate code and connections needed in the
extensions and develop the extension and upload.

September I will learn how to create a
loopback server, real time encryption and decrytion protocol,
converting binary to base64 along with file size contrains and
communicating the lead developer of StandardNotes to make sure that
I’m not going to cause them unessary expenses.

October I will learn how to do a Speach
to Text application, how it would work. Theory along with
implementing a software solution that keeps data on the device and
not to a central server.

November I will learn how OneNote
works, begin playing around with OneNote features along with reverse
engineering and creating code modules.

December I will code the OneNote clone
extension and post to standard notes.

Attainable

I made it attainable by slowely having
each extension force me to learn new skills that build on previous
skills that I learned. I’m dedicating 1 hour of work towards the
extension per day. I am keeping a goal keeping app so that I feel
rewarded when the amount of hours logged build up and I past
milestones at 10 hours, 15, 20, 30 etc.


Long Term Goal:

Develop an entriely new operating
system based modern web tecnology, high level programming langauge
and secure cores.

Who is involved?

I would be involved along with other
programmers, visionaries and anyone else who wants to be involved in
the project.

What would I like to
accomplish?

Develop an entriely new operating
system based modern web tecnology, high level programming langauge
and secure cores.Itis designed to run on phones/computers similart to
Librem Phone (may even have the honor to run on a Librem phone). It
will be hosted on Github and always remain FOSS.

Where is this
happening?

This is happening this year and in 2029
I will have the operating built by then. It will be happening on the
computer, in libraries, amount friends and anyone who wants to
contribute.

When do I
start/finish?

I’m starting this year and this year
I’m just reading up on theory, exploring operating system concepts,
looking at source code and different programming ways, and language.

Which? Identify
requirement and contraints.

I understand that this wouldn’t be
possible to do along, nor would it be as good code doing it alone. I
will need to work with other developers to design, create and
maintain the system. Since it wouldn’t be able to be developed 24/7
me and the developers would need to priortize features and possibly
consider a linux crutch so that the operating system grows from linux
as more and more core linux functionality is rewritten in a better
language and designed to be virtually unbreakable.This would
eventually all be a self sustaining and executing operating system
called Storm.

Why? Why am I doing
this? Specific reasons, purpose and benefits

Having an operating system that’s not
controlled by a single entity. Built from the ground up to include
the latested programming languages features and running applications
that feel light and speedy. Doing what I believe is right. Offering
an alternative to Linux that plays nice to linux, easy to learn and
completetly secure like Qubes without a radically different display
than what we are used to seeing.
Having
an operating system that is modular means that security defeats,
wierd behaviors arn’t “baked in” but when the time comes, the
old code can be ejected and the new code inserted. The idea isn’t
to make an operating system that follows the one size fits all but
rather one size fits one entity approach, allowing the entity to
decide what they want, don’t want and how they want it to function.

Measurable

This goal is measurable. This goal is
broken down into ten big steps that will each be broken down to
smaller steps as that individual part of the goal begins getting
worked on.

Rest of 2018. Learning everything there
is on operating system, concepts, ideas, how they run, different
concepts to how an OS should work...

2019 Learn C, C++, Rust and Zig/Python.
Develop basic Storm ideas and begin developing documentation and
concept programs

2020 Begin working on this with other
people. Develop a very simple version of the operating system to run
in Virtual Box and work.

2021 Begining looking at BcacheFS and
work with creator to incorporate filesystem. Create a basic installer
and learn how the OS can be installed with FDE. Make it so grub can
boot Storm?

2022 Write
basic utilities and libraries, import programs from other operating
systems like Firefox, Libre Office, VLC, StandardNotes etc.

2023 Design and publish a developers
handbook along with a users handbook. Make the system more
userfriendly, make it more decentralized and modular.

2024 Begin desiging the UI so that it
can work with KDE and GNOME and implement KDE and GNOME desktop.

2025 Have it work on mobile phones and
develop 3 classes of apps (Mobile Mode Only Apps, Computer Only Apps
and Dual Mode Apps (Optimal One))

2026 Design an SDK for the OS and
create and s
how
deliberate communication and API protocols
in use.

2027 Design a full level emulator that
can directly run linux application on Storm.

2028 Design a full level emulation that
can directly run windows application on Storm.

2029 Release Storm officially.


This will give my life for the next ten years a sense of direction. A sense of purpose.


Sapphire

Twelveth Ramble

May 25, 2018

[20180525]
I failed project fox yesterday...again.

Anyway I've achieved my goal of 7 hours of programming in 5 days which means I'm ahead of my goal.

I'm nervous about things that are in my control. I'm going to ground tomorrow. I'm doing well. I'm in control.

Today our Computer Science Class went to a Programming day at our university. Relearned about blockchain and thinking about building some sort of distributed library system that allows storing information permently in a compressed and secure way.

This is a quick entry since I have an evening activity.

Sapphire

Eleventh Ramble

May 25, 2018

[20180524]
Hey!
Today started off bad but I quickly corrected it myself. The problem started with a residual fear that was triggered. Anyway I got that solved.

I got more than 3 hours of programming. It's tiring but near the end of the 3 hours, I began to have a dopamine release and I entered the "zone" for a few glorious moments, before it was time to shut it down for the day.

I wanted to thank Mo Bitmar for answering my questions, some must have seemed so basic and probably many were self answering if I looked a bit before asking. This has made it worth it going thru since I knew I had help, I wasn't alone in trying to figure out the incredible piece of software.

Anyway, the more I begin exploring developing and developed my first extension, a basic word counter (just followed the tutorial). It was then that I felt a jolt, one that was I got the first part thru, I was actually interfacing with someone else's code! It was extremely cool, it's different than a class that's built by some nameless programmer as a core library. It was so cool and the first of many interfaces and excitments with this development.

That's it, began learning JavaScript from a book and the coolest thing that I've so far learned that differients JavaScript from all other programming langauges that I've tried (Java, C, Python) is the ability to introduce methods on the fly to a class and all future instances of that class will inherit the new method (this is done via the prototype class). Then the ability to create fields in a class OTF is incredible and something that I will totally exploit.

//TODO Study Word Counter Bar the "offical one" to see how it looks like it fits in more (compared to the tutorial one which looks like a webpage with a scrollbar

Sapphire out.

Tenth Ramble

May 23, 2018

Tiring day. Got some programming done will do more tomorrow.
Staying alive and keeping well.

Nineth Ramble

May 22, 2018

Heyo,
Today was a good day, I went biking with a few of my friends, watched a movie with another friend and got schoolwork done without overstressing.

However, I need to keep cool for the next two days when my english assignment is going to be due on Wednesday.
I don't like it since it has no rubric. Tomorrow, I'm going to finshish the basics and write intro and conclusion and present for review before handing it in on Thursday or Wednesday.

Alright, with that out of the way I'm going to talk about developing.

I managed to finish learning how props work with React-Native but quickly realized that what I need to learn is four core things:
1) How to have extensions interface with Standard Notes
2) How to compile extensions and run as standalone apps
3) How does said standalone extension also end up writing and storing in standardnotes (when you look at basic view)
4) Learn basic Javascrip so I understand what I'm doing.

You see, I see classes in my React Native tutorial that didn't have super(props) and some that did. I also saw some lines that had ; and others that didn't. Things like that.

Here's what my updated basic vision is for the enhanced task list:

Feature Set:
Unlimited Number of Tasks (Or as close as possible)
Data within a task:
Title
Description
Status: (Need Action, Started, Stalled, In Progress, Done, Cancelled)
Location
Sub tasklist
Start Date and Time
End Date and Time
Time Zone
Percentage Completed
URL
Pin a task
Priority (High, Medium, Low, Whenever)

{Task GUID}{Task Name}{Description}{Status(Int Value (0 is Need action, 3 is Started, 1 is Stalled,2 is In Progress, 4 Done}{Location}{[]Array of Basic Tasks which is (Task Title)(Checkbox)}{StartTimeAndDate}{EndTimeAndDate}{TimeZone}{Percentage(Between 0 and 100)}{URL}{Pin Task (0 Not Pinned)(1 Pinned)}{Priority (0 Whatever and 3 High)}

That's it.

Stay alive.

Eighth Ramble

May 20, 2018

[20180520]

Here's my weekly progress report:
Good news (Mostly!)

End of this week. (Sunday 20th): Finish learning basics (Completed) and to Guides>Debugging(Not Completed)
This upcoming week (Sunday 27th): Finish learning Guides Andriod and Guides>Debugging (Not Completed)

Alright, so I'm running a little behind schedule. I had a bad week, three days I touch programming for about 10 minutes or so and 1 day I didn't touch programming at all. Yet 2.some odd hours today and YEAH, I pulled through and almost successfully meet my week 1 goal.However, I've learned about components, yet I'm still confused about when to put a semi colon here, a { there and a ( somewhere else. I'm picking it up thru osmosis but this week if I completed the learning Guides Andriod and have time (big iff (if and only if)), then I'll find a react tutorial that actually teaches that and not just components and how to use them.

I'm sure we've all had weeks that were bad, however I tried never to give up programming and all but one day I got some programming in, (even if it was a small amount).

Anyway, I want to go over my day.

I have English homework I need to get done, Hunger Game Planning for a Scout Camp and Matricies Math homework that I should get done.

Fitting this into a day that I deliberatly made busy, so I can't spend my entire day in my room stressing.

It's good to be alive and back on track.

Goodnight and Goodmorning,
Sapphire

Seventh Ramble (Late Upload)

May 15, 2018

20180515
Hey, the reason that this Ramble is uploaded a day late is because my computer was blacklisted on the current network and I had to change my computer to a name that included my name in it.

At first I was thinking, the second I get back out of this house,I'm going to change it back to its glorius name. Then as I got thinking I realized that by paying attention to that I wasn't paying attention to what mattered most. As a famous quote goes "A Rose by any other name..." what it means is it really doesn't matter what arbitrary name you use to describe an object it's still viewed as the same object(IE if Apple was called Banana, chances are they would still be a very successful company), this idea doesn't hold however when discribing someone using a negative name will cause a change in perception.

But you get the point.

I was to attached to the name and not the substance, which is a place for me to develop application, do schoolwork and browse the internet (the matrix is real and is already here, I'll describe that inanother journal entry).

Anyway, still working on learning react, couldn't do much development since internet is offline.

Sixth Ramble

May 14, 2018

20180513

I made it thru Mothers day!
I've spend close to two hours trying to install nodejs, react native on my computer. Let me tell you installing on linux makes it hard. I finally settled for a expo project which runs on react native. I'm worried that I'm using the wrong enviroment for developing but I'm putting the metaphorical card before the metaphorical horse. Here's my plan for the next 30 days:

End of next week (Sunday 20th): Finish learning basics and to Guides>Debugging
End of two weeks (Sunday 27th): Finish learning Guides Andriod
End of three weeks: Exploring and using as many components from react native.
End of forth week: Begin building Task List for Standard Notes and look at preexisting code!

Feels good to have a plan, this plan is assuming I'm running on schedule. Hopefully, I get ahead of schedule.

Fifth Ramble

May 13, 2018

This is for @mo in respone to your Simple post on May 9, 2018

As an extended user, please keep the application simple, when the application is as simple as it is, its beautiful.
Beautiful since any thing that a specific user needs can be built by the community and added as an extension, when that's no longer needed, the extension can be removed and presto your stuff is still there.

What I'm trying to say is unlike Word, LibreOffice or Firefox is that I know whatever I create will still be accessible in a beautiful and simple user interface when I'm 90 or 110. That's what promised, not features. Features are extensions, even without extensions this is a beautiful and powerful app since its so simple. I'm able to enter ideas, use it as database, whatever my needs are since you've given just enough core features.

If you're going to grow standard notes, grow the extensions, leave standardnotes core app alone.
Don't feel bad about growth just remember what you said about Evernote

That's all I have to say.

Forth Ramble

May 13, 2018

This is a short blog post on Mothers.
Tomorrow is mothers day. I should be happy, I should be honoring the mother I have. Instead I'm mourning the mother I lost 15+ years ago.

You see, I'm adopted and I carry the grief of my losing my birth mother. She's always haunting me by her absense. It's been 13 years since I was adopted, time is supposed to heal wounds yet it hasn't yet healed this one.

I want her to know that I'm proud to be her son. Even though its because of her that I have this pain, that I'm proud.

I wish I could tell her that I'm about to move onto my next stage of life. I'm working really hard in grade 12 and have gotten a 3000 dollar scolarship. There isn't a month that goes by where I don't think of you. I see you in the homeless men and women that I see on my walks to and from school. I'm always wish that I knew forsure where you are, or if your gone forever from this life.

Not just that but how hard and different I am from the five year old that was adopted from the orphange 13 years ago. That person didn't trust, had difficulty bonding, stole, lied and acted out impulsively and hid emotions.
I'm someone who bonds easily, honest and upstanding person whose very compassionate, I usually act very controlled and am an emotional person.

I love you mom and I love you mom.

Third Ramble

May 11, 2018

Hey,
I'm sorry, life got complicated so I dropped the metaphorical ball on this.
Here's what has transpired:
1) I've migrated over to KDE
2) I've begun earnesstly to work on the tasklist program. (I'm creating a tasklist in java and I'm following some of Qubes coding guidelines. The fact that its eventually going to be (hopefull) seen by many has inspirired my to take my time so that I put my best code forward.)
3) This was just a short entry because I don't have time to make a long entry. In future times I will.

Second and a Half Ramble

May 4, 2018

[20180503]
Alright,
I realized that I needed to a be a lot more honest with myself.
Here's the problem. I'm deliberalty not working hard in certain courses because I'm working to do well in these other courses (or so I tell myself). I'm trying to keep up a high average so that I can get a sizable chuck of univeristy (first year) paid for. My two favorite courses Math and Computer Science, I've deliberalty dropped the ball on earlier in the semester so I could focus on HOWC (History of Western Civilization), Family Studies and English. During that time I did well in these other courses. Now a combination of things have begun to cause this loop which goes like this (I'm not doing any work because I'm not able to focus because theres so much -> I don't know where to start so I don't start).


When I do grounding here's what I come across:

    Study for HOWC (30 Min on Friday, 30 Min on Sunday and 30 Min on Monday)

    English (Use Spare to produce content)

    Math (Work on each part as much I can, when I grind to a halt in one area, switch to another section)

If I'm lucky, I'll begin getting on top of my work. Then next week and weekend, I'll have caught up (in math)!


Anyway, this is a problem I have which is when I percieve a massive amount of tasks, I freeze up. I can't afford that. I'm in the last two months of school. I can do this

Second Ramble

May 4, 2018

[Date 20180503]
Hey, I've had one of those crap days. I got no programming done (alright, I did get half an hour done,but not where I wanted to be)and I binge watched youtube.I'm going to be excited for this week and next week to be done so I can stop stressing about school.

Short ramble.

Sapphire's First Ramble

May 3, 2018

[Date is 20180502]
Hello World. This is my third year programming, first time I'm really committing myself to a project. You see I have a tendency where I have a great idea, run into problems which slows my development. Then I have another great idea and I abandon my old project. This means though I've done a lot of work, none of it's displayable because of its all very partial projects.

This entry is to signify the first project that I'll see all the way through.
Goal:
Design a task list that uses Standard Notes as the backend.Allow multiple categories.
Why:
Many people have online lives where they rely on another company to keep their data safe. For the most part that's fine. But what if you want to have access to the calendar and no one else. I already receive daily email backups. By having my task list run from Standard Notes means that it should work on all platforms and already is protected and syncs (as that is supported by the underlying Standard Notes program). This would allow creation of applications such as contacts and calenders.

Tasks:
Learn an entirely new programming language
Program it
Add to extended notes repository
Feature Set:
Unlimited Number of Tasks (Or as close as possible)
Data within a task:
Title
Description
Status: (Need Action, Started, Stalled, In Progress, Done, Cancelled)
Location
Sub tasklist
Start Date and Time
End Date and Time
Time Zone
Percentage Completed
URL
Pin a task
Priority (High, Medium, Low, Whenever)

Other Useless Information:
Reverse engineering Tasks on Andriod