Tab menu:






Tasks
250 productive things done since 2018 (until 2025)





Website to show the productive things that I did.
Made by Izaque (Stake2, Funkysnipa Cat).

Completed tasks in 2018: 43
Completed tasks in 2019: 3
Completed tasks in 2020: 47
Completed tasks in 2021: 36
Completed tasks in 2022: 57
Completed tasks in 2023: 20
Completed tasks in 2024: 30
Completed tasks in 2025: 14

Task types completed in all years:
Drawings: 16
PHP: 50
Python: 67
Stories: 64
Videos: 10
Watching media: 9
Downloading media: 7
Register things: 4
Social Media: 4
Gaming: 3
Files: 6
Registering media: 1
HTML: 4
Life: 1
Websites: 1
AutoHotKey: 1
Texts: 2








Completed tasks in 2025: 14








PHP: 1
Python: 8
Stories: 5

PHP: 1
14 - 1# - I programmed my websites in HTML, CSS, JavaScript, and PHP a lot (12:19 16/12/2025)

Python: 8
1 - 1# 1# - I programmed in Python a little, coding my module Diary_Slim (01:36 04/01/2025)
2 - I programmed in Python a little, coding my modules Years and Diary_Slim (21:29 16/01/2025)
4 - I programmed in Python a lot, programming my modules Tasks, Diary_Slim, Stories, Watch_History, and GamePlayer (21:13 19/02/2025)
9 - I programmed in Python a lot, programming my modules Watch_History, GamePlayer, Diary_Slim, and Stories (20:22 19/06/2025)
10 - I programmed in Python a lot, programming my modules Watch_History, Language, API, Folder, PHP, JSON, and Stories (12:54 01/11/2025)
11 - I programmed in Python a lot, programming my module Stories (01:35 17/11/2025)
12 - I programmed in Python a lot, programming my modules Stories, Watch_History, GamePlayer, Diary_Slim, Tasks, Christmas, Years, Friends, and Social_Networks (12:33 09/12/2025)
13 - I programmed in Python a lot, programming my modules Years, Christmas, Social_Networks, File, and Text (13:38 15/12/2025)

Stories: 5
3 - 1# - I translated the chapter twelve of my story "The Life of Littletato" from Portuguese to English (20:53 27/01/2025)
5 - I revised the chapter thirteen of my story "The Life of Littletato" (22:15 20/02/2025)
6 - I translated the chapter thirteen of my story "The Life of Littletato" from Portuguese to English (19:38 18/03/2025)
7 - I revised the chapter fourteen of my story "The Life of Littletato" (08:05 06/05/2025)
8 - I translated the chapter fourteen of my story "The Life of Littletato" from Portuguese to English (16:30 04/06/2025)










Past registries: 7




























Other websites: 28








































14 - I programmed my websites in HTML, CSS, JavaScript, and PHP a lot (12:19 16/12/2025):




Task number:
14

Task number by task type:
1

Task title:
I programmed my websites in HTML, CSS, JavaScript, and PHP a lot

Task type:
PHP

When I completed the task:
12:19 16/12/2025

When I completed the task (UTC):
2025-12-16T15:19:44Z

Entry:
14. PHP (12:19 16/12/2025)

States:
First PHP task in year

Task description:
I programmed my websites in HTML, CSS, JavaScript, and PHP a lot.

PHP:
I made the "Years" website copy the website style and colors of the current year website.

Updated websites (18):
Watch History: to update the watched media tab
Play History: to update the gaming sessions played tab
Tasks: to update the completed tasks tab
All six story websites: to update the chapter tabs
All seven year websites from 2018 to 2024: to update any outdated tabs
The website of 2025: to update the year memories tab
The website of 2026: to create it




1 - I programmed in Python a little, coding my module Diary_Slim (01:36 04/01/2025):




Task number:
1

Task number by task type:
1

Task title:
I programmed in Python a little, coding my module Diary_Slim

Task type:
Python

When I completed the task:
01:36 04/01/2025

When I completed the task (UTC):
2025-01-04T04:36:11Z

Entry:
1. Python (01:36 04/01/2025)

States:
First task in year
First Python task in year

Task description:
I programmed in Python a little, coding my module Diary_Slim.

In the "Diary_Slim" module, I added the new methods "Define_Statistics", "Update_Statistics", "Update_Current_Year_Statistics", and "Verify_Input".
The "Define_Statistics" method defines the general statistics dictionary and for each year.
These statistics include things that I did during the year, like bike rides, driving, showers taken, times I washed my clothes, drawings, posted videos, work done, and family visits.
It creates these dictionaries with the data and writes the general statistics dictionary to the "Statistics.json" file, which is located in the data folder of the Diary Slim.
The method also defines a dictionary of years to store the folders and statistics dictionaries for each year.
After that, it iterates through the text dictionary of Diary Slim to find texts that contain the key "Add to statistics".
These texts have a list of custom statistics that will be added.
Then, the "Define_Statistics" method calls the "Update_Statistics" method to update the general statistics file, for all years, and update the "Current year" dictionary of Diary Slim, which will be used later.
The "Update_Current_Year_Statistics" method receives a modified statistics dictionary as a parameter, it updates the statistics file of the current year using that dictionary.
The "Verify_Input" method verifies what the user types.
It defines the input text to be shown to the user in their language.
Furthermore, it checks if the requested input needs to be an integer.
If so, it uses a regular expression to ensure that the input is indeed an integer.
Finally, I updated the "Define_Additional_Information" method to make it more modular.
This helps in defining statistics with responses of "Yes or no", "Type", and "Select".

The statistics have a main key, which is the name of the statistic in English.
For example, the Diary Slim text "Bike" corresponds to the key "Bike rides".
They can include questions, like "How many times did you drive the car?", and the expected type of response, which can be "Yes or no", "Type", or "Select".
Also, there is a dictionary of responses, in the case of "Yes or no", if the user answers "yes", it uses the "yes" dictionary that is inside the "Answers" dictionary.
For instance, if the question is "Did you create new websites?", and the answer is yes, it says "Type how many websites you create".
The statistics can also have additional questions, which are stored in a dictionary called "Questions".
For example, in the case of in-person work, the main question is "What is the name of the workplace?", and an additional question is "How much money did you earn?".
This way, the statistics can have multiple additional questions, each with its own statistic numbers.

In the "Write_On_Diary_Slim" sub-class, I modified the "Define_Item_Variables" method to include the option for alternative text formatting.
Normally, it is the root method "Define_Additional_Information" who formats the texts, in a simple way, just replacing the original text with a new formatted one.
But I needed something more flexible, like the ability to select items from a list to format, as well as using texts with different genders, based on a list that contains them.
For example, I have a text in Diary Slim that I use to register when my siblings come over to my house.
So, I select which sibling visited, and the method checks the gender of that sibling, based on two lists: one with male names, and another with female names.
Then, it formats the text that will be written in the Diary Slim, inserting the name of the sibling, and using "My brother" or "My sister", depending on the gender.

In the same sub-class, I created a new method called "Manage_Statistic" (Gerenciar_Estatística).
This method is executed when the Diary Slim text is also a statistic, and it retrieves the corresponding dictionary for that statistic.
If the statistic has a question, the method calls "Define_Additional_Information" to ask the user for the necessary information.
The responses can be "yes", followed by a question, "no", typing something, or selecting an option from a list.
Next, the method defines a statistic text in the user's language, which will be shown later, considering some conditions that may change which text will be used.
It also sets a key that will be used to locate the statistic in the current year's statistics dictionary.
The method creates a statistics dictionary within the "Text" dictionary of the root dictionary, containing the number of statistics to be updated.
Also, it includes the key "Dictionary", which contains a dictionary of the root statistic, with the text in the user's language, the old number, and the new number, which will still be changed.
This dictionary also has the key "Changed statistic", which has a default value of "False".
Then, the method sets the number to be added as one and checks if the statistic contains a question.
If it does, it tries to get the answer from the information dictionary, if the answer is a digit, it converts it into a number.
If the answer is "no" or zero, the number to be added is also set to zero.
If the key "Questions" is present in the statistic dictionary, the method iterates through the list of questions, sets the old number, and adds the root number to the current year's statistic number.
It also adds the additional statistics to the Diary Slim statistics dictionary, including the text, the old number, and the current number.
After that, the method counts how many statistics need to be changed and increases the statistic number using the amount of the number to be added.
If the old number and the new number are different, the method changes the state of "Changed statistic" to "True".
Then, it checks if there is a text decorator in the Diary Slim text dictionary.
If there is, it modifies the text that will be shown to the user, using the defined text decorator.
For example, if the normal text is "[Name of the Person]" and the text decorator is "Visits of", the text with decorator would become "Visits of [Name of the Person]."
This is a way to present the statistic text in a more appealing manner for the user.
After that, the method updates the statistics for the current year, using the local statistics dictionary that has already been modified.

The "Write" method checks if the Diary Slim text is a statistic and if it has been altered.
If both conditions are true, it sets a text based on the number: "Changed statistic" for a single statistic and "Changed statistics" for two or more.
Then, it displays this text along with the updated statistics.
The text for each statistic appears in the user's language, including " in [Current year]", the current number of the statistic, and " (before: [old number])".




2 - I programmed in Python a little, coding my modules Years and Diary_Slim (21:29 16/01/2025):




Task number:
2

Task number by task type:
2

Task title:
I programmed in Python a little, coding my modules Years and Diary_Slim

Task type:
Python

When I completed the task:
21:29 16/01/2025

When I completed the task (UTC):
2025-01-17T00:29:39Z

Entry:
2. Python (21:29 16/01/2025)

Task description:
I programmed in Python a little, coding my modules Years and Diary_Slim.

On the "Years" module, on the main class and sub-class "Verify_Current_Year", I added the creation of files that I had to create manually before.
These were the files that I added:
Yearly statistics
This Year I (Personal version)
FutureMe

In the "Diary_Slim" module, I made the Diary Slim texts define their own statistics, inside each text's folder.
This way it is much more organized and modular, without having to define statistics in the Python module.
I moved the "Define_Additional_Information" and "Verify_Input" methods from the root class to the "Write_On_Diary_Slim" class.
I changed the "Define" part to "Get" in the first method.
I have greatly improved the way that the Diary Slim texts define root and statistics questions.
Now, all questions are in dictionaries "Question" and "Questions".
The question keys are now more or less the same, such as the question type key (Yes or No, Type, or Select).
In addition, there are also keys for the texts that appear when the user needs to type something or select an item from a list.

The "Get_Additional_Information" method now creates a dictionary of questions, adding each question to it.
If there is only one question, it puts it in the first position.
If there are more questions, it adds them all to the dictionary of questions, with their corresponding position keys.
After that, it iterates over the dictionary of questions, always checking the type of question (Yes or No, Type, or Select).
If it is "Yes or No", it asks the question and tries to find the answer in the dictionary of answers called "Answers".
Then, it stores the answer in the dictionary of user answers called "Response", formatting the answer and changing the text to be written, if necessary.
If it is "Type", it checks the user's input and stores that information in the "Response" dictionary.
If it is "Select", it sets the texts for the list item name and the type text.
Then, it asks the user to select an item from the list and stores that selection in the "Response" dictionary.
If the "Genres" key exists in the question dictionary, it formats the text to be typed with the selected item and a format text for the question, based on the genre.
Finally, it returns a dictionary with the text to be written, the dictionary of questions with their answers, and the state variable "Has questions".
I also changed the "Manage_Statistic" method to reflect the changes in the way the class handles questions, now using the new dictionary of questions.

In the "Write_On_Diary_Slim" class, I improved how the information for statistics with various questions is defined.
Now the "Manage_Statistic" method checks if the current question has the "Create sub-dictionary" key.
If it does, it creates a sub-dictionary using the user's response as the key.
It also checks if the current question has the "Add to sub-dictionary" key.
The method uses the value of that key to find the sub-dictionary and adds the user's response value to it.
Then, it updates the numbers with the values of the responses inside the statistics dictionary.
And it changes the text that will be written using a formatting text.
For example, I can work at the "Potatoes" company and earn money there.
Then, it would create a statistic sub-dictionary called "Potatoes", with the sub-keys "Days that I worked" and "Money that I earned".
I also created a new method called "Define_Money_Text".
It is used to define a text that will accompany a number that represents money.
For example: "$" in "$100" (normal version), and "dollars" in "100 dollars" (extended version).
The question dictionary needs to have the "Money" key for that method to be executed.
And it can have the "Use extended money text" key to use the extended version of the money text.
In the same class and throughout the entire module, I added monthly statistics.
This creates monthly statistics files, allowing for the registration of data for each month separately, rather than just the statistics for the entire year.




4 - I programmed in Python a lot, programming my modules Tasks, Diary_Slim, Stories, Watch_History, and GamePlayer (21:13 19/02/2025):




Task number:
4

Task number by task type:
3

Task title:
I programmed in Python a lot, programming my modules Tasks, Diary_Slim, Stories, Watch_History, and GamePlayer

Task type:
Python

When I completed the task:
21:13 19/02/2025

When I completed the task (UTC):
2025-02-20T00:13:10Z

Entry:
4. Python (21:13 19/02/2025)

Task description:
I programmed in Python a lot, programming my modules Tasks, Diary_Slim, Stories, Watch_History, and GamePlayer.

In the "Tasks" module, I changed how the task types are defined.
I renamed the root method "Define_Types" to "Define_Task_Types".
I changed the way of checking and organizing task types inspired by the way the "Diary Slim" module handles its texts.
Using the new folder "Task types" and a JSON file with the same name.
Now, the task types are defined in their own folders, making them more flexible and modular.
I changed the usage of task types throughout the module to reflect the changes made, and I also improved the code and comments.
I copied the "Get_Additional_Information" method from the "Write_On_Diary_Slim" class of the "Diary_Slim" module.
Then, I pasted the method into the "Register" class of the "Tasks" module.
I renamed the pasted method to "Ask_Questions" and removed functions that only Diary Slim uses.
I also renamed the "Type_Task_Information" method to "Ask_For_Task_Information", to make the name more descriptive.
Next, I cut the "Define_Item_Variables" and "Type_Task_Descriptions" methods from the "Write_On_Diary_Slim" class and pasted them into the "Register" class of the "Tasks" module.
I merged these two methods into a single one, called "Ask_For_Task_Descriptions".
Additionally, I added a function to define grammatical numbers for task texts, implemented in the "Ask_Questions" method.
Now, each task can have texts in singular or plural, for example: "Python module" and "Python modules".
I also updated the files for each task type, adding their respective question dictionaries, following the same pattern of the Diary Slim texts.
Finally, I defined the "Stories" task type as "Module-only", allowing only other modules to register this type of task, and not the "Tasks" class itself.
Now the "Register" class can also register a task's progress, and not just a full task.
This way, the user can register their progress on tasks in the current Diary Slim without needing to register a task.
I did this by creating a new state called "Register task" that can be changed by the "Diary Slim" module.
This state determines if the task will be registered in the database of productive things done (Task History).
Or if the task will only be registered in the current Diary Slim, with the class writing the task description there.
The task types can also use different task titles for the task progress.
For example, the normal title of the Python task type is: "I programmed in Python a lot, programming my module [X]".
And the title for the task progress is: "I have been programming my modules in Python until now".
I also updated how the root method "Show_Information" shows information about the registered task to the user when it is a task progress.
Changing "This task was registered" to "The progress of this task was registered", and changing other texts to talk about the task progress rather than the task itself.

In the "Diary_Slim" module, in the "Write_On_Diary_Slim" class, I have made the following changes:
I added the "Register task" state to the task dictionary (when the selected text is also a task).
After defining the task dictionary with that state, the class asks if the user wants to register the full task or just the progress of the task.
If the user wants to register only the progress of the task, then the "Register task" key will be set to False (No).
I also changed various conditions throughout the class to check if the task was registered or not.
If the text is also a task and has a statistic, even if the task was or was not registered, the root number of the statistic will go up by one.
But the statistic questions will only be asked if the task was registered, not if it is just a task progress.
For example, in the Python task type, the statistic "Times that I programmed in Python" will go up by one even if a task progress is registered.
And in the PHP task type, the statistic "Times that I programmed in PHP, HTML, CSS, and JavaScript" will also go up by one, but the sub-statistic "New websites created" will not.
This is because this sub-statistic depends on a question, and questions are only asked when full tasks are registered, not just a task progress.

In the root class of the "Diary_Slim" module, I created the new method "Create_External_Statistics".
It imports the "Stories", "Watch_History", and "GamePlayer" modules.
Then it runs the new method called "Create_Statistics" that every root class of each module now has.
The method "Create_External_Statistics" receives a statistics dictionary from each imported class.
Inside each received dictionary is a "Years" dictionary, which contains the statistics for each year and month, whether it is be written chapters, watched media, or games played.
Now, the root method "Update_Statistics" of the Diary Slim class processes the external statistics too, updating each statistics file for every year and month to add the received external statistics.
For example, if chapters were written in December of 2025, it adds the "Story chapters" key, with the name of the "Stories" module, the total number of chapters written in the year or month, and the story dictionaries.
The story dictionaries contain the keys "written", "revised", and "translated", with their respective numbers, depending on the writing form.
I have improved how the "Create_External_Statistics" method imports the external modules.
Now, modules with external statistics are only imported if their "Years" dictionary is empty and ready to be filled.
This way, the Diary Slim module runs as fast as it did before the external statistics were created.

Still on the root class of the "Diary_Slim" module, I created the new method "Update_External_Statistics".
It can be used by the "Stories", "Watch_History", and "GamePlayer" modules to update their specific statistics, only for the current year and month, and not for all years and months.
It gets the statistic dictionaries for the current year and month and updates the statistics dictionary of the module that executed the method.
Then, it executes the "Update_Current_Year_Statistics" method to update the statistics of the current year and month.

I created the new method called "Create_Statistics" in the root class of the "Stories", "Watch_History", and "GamePlayer" modules.
These methods can only be called by the Diary Slim module, and they create a statistics dictionary and return it, whether it is for written chapters, watched media, or games played.
The method inside the "Watch_History" and "GamePlayer" classes is not ready yet, but the one inside the "Stories" class is.

In the "Stories" module, in its root class, I created the new method "Update_Statistics".
It is executed by the "Write" class to update the statistic of only one story and only one writing mode (write, revise, or translate).
It updates the story statistics for the current year and month and executes the "Update_External_Statistics" method of Diary Slim to update the statistics files.

In the "GamePlayer" module, I have finalized the root "Create_Statistics" method, and it is ready to be used by the Diary Slim module.
I also created the new method "Update_Statistics" following the same pattern as the method of the same name inside the "Stories" class.

In the "Watch_History" module, I have finalized the root "Create_Statistics" method, and it is ready to be used by the Diary Slim module.
I also created the new method "Update_Statistics" following the same pattern as the method of the same name inside the "Stories" class.




9 - I programmed in Python a lot, programming my modules Watch_History, GamePlayer, Diary_Slim, and Stories (20:22 19/06/2025):




Task number:
9

Task number by task type:
4

Task title:
I programmed in Python a lot, programming my modules Watch_History, GamePlayer, Diary_Slim, and Stories

Task type:
Python

When I completed the task:
20:22 19/06/2025

When I completed the task (UTC):
2025-06-19T23:22:42Z

Entry:
9. Python (20:22 19/06/2025)

Task description:
I programmed in Python a lot, programming my modules Watch_History, GamePlayer, Diary_Slim, and Stories.

In the "Watch_History" module, I updated the "Create_Statistics" and "Update_Statistics" methods.
I updated them to separate watched media by media type.
Now, each media type has its own dictionary to store its watched media.
I added a dictionary with lists of media types in English and Portuguese, which will be used by the "Years" module in the creation of the yearly statistics files for each year.
I also added a dictionary called "Translation dictionary" that will be used by the module mentioned above to translate media titles and their items.
In the "Watch_Media" and "Register" classes, I updated the methods related to the registration of the watched media.
I did this to replace the "Date" key with a new dictionary called "Times", which now stores the detailed times of the watched media.
With this change, the history now includes the specific times for "Started watching", "Finished watching", "Finished watching (UTC)", and "Watching session duration".
These changes were also reflected in the text files that store the information about the watched media.
In addition, the start time, finish time, and session duration are now shown to the user, providing a more complete and detailed overview of the media-watching experience.
I also converted the entire existing history, containing previously registered viewing sessions, to replace the "Date" key with the new format using the "Times" dictionary.
Since the history does not have all the time information, the "Times" dictionary was created with only the "Finished watching" and "Finished watching (UTC)" keys, without including "Started watching" and "Watching session duration".
I updated the keys and texts in the watched media records to make them more descriptive:
"Number" to "Watched media number"
"Type number" to "Watched media number by media type"
"Media" to "Media titles"
"Item" to "Item titles"
And "Type" is now "Media type"
I also updated the "Date" key in the comment dictionaries, it's now a new dictionary with the comment's time and date, both in the user's timezone and in UTC.
I did the same for the "Date" key in the YouTube video dictionaries.
On top of that, I combined the episode IDs and links into a single dictionary with the keys "ID" and "Link".
This change was also applied to the comment and YouTube video dictionaries.
I fixed the PHP file "Watched.php", which handles the processing of watched media, to correctly use the new keys.
Also updated the "Define_Year_Summary_Data" root method and the "Register" sub-class to reflect these changes.
I used the "Convert_History" sub-class from the "Manage" class to convert the watched media records, JSON files, text files, and comment JSON files to the new format I set.
And finally, I fixed the watched media times between November 4, 2018 and February 17, 2019.
The UTC time was already correct, but the user's local time (in this case, Brazil's timezone) was off by three hours instead of two, due to daylight saving time not being accounted for.
So I adjusted that in the entry names, in the "Times" dictionaries, in the entry list files, in the entry file names (renaming them), and also in the content of those files.

I made the following changes to the "GamePlayer" module:
In the "Play" and "Register" classes, I updated the methods related to the registration of the gaming session played.
I did this to replace the "Date" key with a new dictionary called "Times", which now stores the detailed times of the gaming session.
With this change, the history now includes the specific times for "Started playing", "Finished playing", "Finished playing (UTC)", and "Gaming session duration".
These changes were also reflected in the text files that store the information about the game played.
In addition, the start time, finish time, and session duration are now shown to the user, providing a more complete and detailed overview of the game-playing experience.
I also converted the entire existing history, containing previously registered gaming sessions, to replace the "Date" key with the new format using the "Times" dictionary.
Previously, this dictionary only had the keys "Finished playing", "Finished playing (UTC)", and "Gaming session duration".
Now, the key "Started playing" has been included, and its time has been calculated from the time the user finished playing and the gaming session duration, removing the duration from the end time and calculating the difference between the two times.
I updated the keys and texts in the game played records to make them more descriptive:
"Number" to "Gaming session number"
"Type number" to "Gaming session number by media type"
"Game" to "Game titles"
"Sub-game" to "Sub-game titles"
And "Type" is now "Game type"
I fixed the PHP file "Played.php", which handles the processing of the gaming sessions played, to correctly use the new keys.
Also updated the "Define_Year_Summary_Data" root method and the "Register" sub-class to reflect these changes.
I used the "Convert_History" sub-class from the "Manage" class to convert the gaming sessions played records, JSON files, text files, and comment JSON files to the new format I set.

I made various improvements to the statistics methods of the "Diary_Slim", "Stories", and "GamePlayer" classes.




10 - I programmed in Python a lot, programming my modules Watch_History, Language, API, Folder, PHP, JSON, and Stories (12:54 01/11/2025):




Task number:
10

Task number by task type:
5

Task title:
I programmed in Python a lot, programming my modules Watch_History, Language, API, Folder, PHP, JSON, and Stories

Task type:
Python

When I completed the task:
12:54 01/11/2025

When I completed the task (UTC):
2025-11-01T15:54:00Z

Entry:
10. Python (12:54 01/11/2025)

Task description:
I programmed in Python a lot, programming my modules Watch_History, Language, API, Folder, PHP, JSON, and Stories.

I have made the following changes in the "Watch_History" module:
I replaced the "Convert_History" subclass of the "Manage" class with the version of the same name that exists in the "Manage" class of the "GamePlayer" module.
Next, I modified the sub-class to make it conform to the standards and requirements of Watch_History.
After that, I significantly improved the subclass, making it more efficient and visually organized.
I made this change because the last history conversion that I tried to do using the previous version of "Convert_History" resulted in several errors and inconsistencies in the history files.
I did the conversion again using the new version, and from what I have seen, the entire process was completed successfully and without inconsistencies.
I finished refactoring the "Fill_Media_Files" subclass of the "Manage" class.
I renamed it to "Populate_Media_Episode_Files" to better reflect its purpose.
I made its code easier to read and understand, and also improved the code's efficiency.

In the "Language" utility module, in its root class, I imported the "Create", "Open", "Content", and "Edit" methods from the "File" class to handle files, as the methods in the "File" class were prettier and had better comments.
I also imported the "Edit", "Dumps", "From Python", and "To Python" methods from the "JSON" class to handle JSON files and dictionaries, converting "From Python" to JSON, and from JSON "To Python", for the same reasons mentioned in the previous line.
In the "Define_Languages" method, I created the new language dictionary that contains dictionaries for each language.
Each dictionary contains the keys "Small", "Full", and "Translated", referring to the language in question.
The dictionaries receive the language key in small format.
After that, the method updates the "Languages.json" file to add the updated language dictionary.
I removed methods from the "Language" class that were not being used and also improved the code comments throughout the class.
In the usage modules that use full or translated languages, I changed their usage to iterate over the new languages dictionary, to use a more standardized approach.

I completely refactored the "API" utility module because it was very messy and disorganized.
I significantly improved its variables, definitions, and code comments.
I also improved how it handles authentication keys for the YouTube and MyAnimeList APIs and how it creates the YouTube API resource dictionary, making it more beautiful and efficient.

In the "Folder" utility module, I moved the definition of the "links" and "website" dictionaries to the "PHP" usage module.
In the root class of the "PHP" module, in the "Define_Dictionaries" method, the "PHP" class now creates the new root "website" dictionary, which is the fusion of the two previous dictionaries.
This dictionary contains an URL format in the "URL format" key, and two empty keys to store the domain and sub-domain of the website.
Then the method reads the "Website.json" file that is in the folder where my websites are, to get the two items mentioned last.
After that, it creates the "URL" key using the found domain and sub-domain.
And then writes the URL and URL format keys in the "Website.json".
An important PHP file named "Website.php" also has the same functionality of creating the URL and writing it into the "Website.json" file, but written in PHP code, so that PHP is independent of Python.

In the "JSON" utility module, I created the new "Remove_Duplicates_From_List" method to remove duplicate items from a list.
I created the new root method "List_Has_Only_Numbers" to determine if a list contains only numbers.
I changed its root method "Sort_Item_List" to sort the keys of a dictionary or the items of a list based on a list with orders that are numbers.

In the "Stories" module, I changed its root class to create the new "Story links.txt" and "Links.json" files inside the story information folder.
The "Story links.txt" file contains the story website links, both the root link and the language links (Portuguese and English).
It also contains the story links in additional story websites like "Wattpad" and "Spirit Fanfics", if the story was posted on those websites.
While the "Links.json" file contains the story links dictionary in JSON format, with the story website links and the story links in the additional story websites, if they exist.
I also changed the root class to create the new "Story titles.txt" and "History of story titles.txt" files inside the story information folder.
The "Story titles.txt" file is filled by the root class with the story titles in the order of the languages of the "Language" utility module.
While the "History of story titles.txt" file remains empty and can be manually filled by the user, since I do not have a history that registers the change in the story titles.
I also made various code and comment improvements in the root class and its methods.
I started modifying the chapters dictionary of the stories to change it to the new format that I developed.
In the new format, the chapter titles are kept inside the "Lists" dictionary.
The chapter writing dates list in the "Writing dates" key was removed because it is not necessary anymore.
There is a new "List" key to list the chapter numbers from one to the last chapter written.
I still have not finished changing the way the classes of the "Stories" module access the chapters dictionary for each story.
I still need to change that in the root class and in the "Create_New_Story", "Post", and "Write" sub-classes.
Now the definition of the story websites dictionary in the root method "Define_Story_Websites_Dictionary" is dynamic, no longer dependent on predefined story websites like "Wattpad" and "Spirit Fanfics".
I created a new folder called "Story Websites" inside the story database folder.
In this folder, there is a folder for each story website, and inside each website folder, there is a file called "Website.json".
This JSON file contains the name of the story website, the order in which it should appear, and a dictionary of the website's links.
The links contain link templates such as "{Website Link}" and "{Profile Link}" that should be replaced by the respective link in the method that defines the story website dictionary.
And after the template of each link, there are parts of the link that define the pages of a story, such as the main story page, a page to edit the story, manage its chapters, or add a new chapter.
I changed the root method "Define_Story_Websites" that defines the story websites for each story.
I did this to improve how it creates the links for each story to use the new format.
Now the story links on Wattpad no longer include the story title, only the story ID.
I removed the old "Define_Social_Network_Variables" root method because it defined the links for the social networks and story websites "Wattpad" and "Spirit Fanfics" in a non-dynamic way and was no longer needed.
I changed the root method "Define_Stories_Dictionary" to list the stories from their folders, and not from a predefined list in the "Stories.json" file.
Now it lists all the folders inside the stories folder, removes some non-story folders based on a predefined list in the method and also from a list in the new "Ignored Folders.txt" file.
After that, it iterates over all the story folders, reads their "Story.json" files, gets the story titles, and adds them to the "List" key and the "Titles" dictionary.
I also removed the "Language" and "All" keys from the "Titles" dictionary because they were no longer needed.
In its "Write" sub-class, I renamed the root dictionary "dictionary" to "writing" to better reflect its purpose.
I merged the "Define_Steps" and "Run_Steps" methods into a single method called "Define_And_Run_Steps", which now defines and executes the chapter writing steps.
Each step is associated with a method in the "Write" sub-class.
I significantly improved the "Select_Writing_Mode" method.
I improved the definition of each writing mode, now using the new "Finished" status key from the chapter writing dictionaries to check if the chapter has already been written, and if so, advance to the next chapter.
When advancing to the next chapter, the "Current Chapter" key is updated, the "Times" dictionary keys are set to empty, and the "Finished" key is changed to no.
If the user has already revised all chapters, they can now select any chapter to revise, and the "Select Chapter" state is activated.
In translation mode, if all chapters have already been translated, the method disables the translation mode.
And if the current chapter to be translated is the same one to be revised, and the chapter has not yet been revised, the method also disables the translation mode, and it can no longer be selected by the user.
The new "Ongoing writing session" state determines whether that is an ongoing writing session, and the default is no.
If the "Started" writing time is not empty, the state becomes yes, as it is an ongoing writing session.
The method now creates custom texts for each writing mode based on the chapter's current status.
"Start to [write/revise/translate]" for chapters that are yet to be [written/revised/translated].
"Continue to [write/revise/translate]" for chapters that are currently being [written/revised/translated].
I also significantly improved the "Define_Chapter" method.
Now, if the "Select chapter" state is activated, it executes the new "Select_Chapter" method, which prompts the user to select a chapter to revise.
I redesigned the chapter dictionary to make its keys more organized and with nicer names, and I also removed keys that were no longer necessary.
I added the new "Writing language" dictionary as requested in the programming plan for the "Stories" module, to store the language in which the chapter will be written or revised.
I also added the new "Origin language" and "Destiny language" language dictionaries to store the original language of the chapter and the language in which it will be translated, all for translation mode.
Now the "Define_Chapter" method opens the chapter file only in the user's language if the writing mode is writing or revision.
But it still opens the chapter files in all languages if the writing mode is translation.
I improved the "Check_Chapter_Date_Texts" method to update the chapter date texts to a better version.
And also to access the chapter's writing dictionary in the new format I created.
Using the chapter's writing date for the writing mode, and using the last revision and translation dates, all to update the chapter dates in its file.

I started programming the code for the section about the "Language" module and the section [In its "Write" sub-class] of the "Stories" module up to the section [Using the chapter's writing date] at 02:55 on November 1, 2025.
And I stopped programming at 12:48 on the same day.
During that time, I programmed for 5 hours, 39 minutes, and 57 seconds (05:39:57), including breaks.




11 - I programmed in Python a lot, programming my module Stories (01:35 17/11/2025):




Task number:
11

Task number by task type:
6

Task title:
I programmed in Python a lot, programming my module Stories

Task type:
Python

When I completed the task:
01:35 17/11/2025

When I completed the task (UTC):
2025-11-17T04:35:09Z

Entry:
11. Python (01:35 17/11/2025)

Task description:
I programmed in Python a lot, programming my module Stories.

In the "Stories" module, in its "Write" sub-class, I made the following changes:
In its "Select_Writing_Mode" method, I simplified the check for chapters that have already been completed (written, revised, or translated).
If a chapter has already been completed in any of the writing modes, the method checks if it is not the same as the last chapter.
If it is not, it moves on to the next chapter.
If it is and the writing mode is "Write", it also moves on to the next chapter (a new chapter).
If it is and the writing mode is "Revise", it asks the user to choose a chapter to be revised.
In the code near this check, I fixed an error where the current chapter to be written, revised, or translated was not being updated.
So if the user selected chapter 33, and that is the last chapter and it has already been written, the chapter to be written would still be 33.
However, with the error corrected, the chapter to be written becomes 34 in the example I gave.
I created the new "Next_Chapter" method to be used in the part that checks the current chapter.
It updates the current chapter to the next one, resets the chapter's "Times" dictionary, and changes the chapter's "Finished" status to "no".
After that, it returns the chapter number, the updated "Writing" dictionary, and the status dictionary.
In the "Translate" writing mode, I set the "Writing language" key as the destiny language (always English), so that the writing language is used generically later in the class, without needing to check which writing mode it is.
In its "Define_Chapter" method, I changed the text that shows the story title from "Story:" to "Writing this story:", to make it more explanatory.
In its "Check_Chapter_Date_Texts" method, I fixed a bug where the method tried to get the writing dates of a chapter that had not been written yet to create a chapter date text.
Now, the method checks if the chapter has already been written before trying to get the writing date.
In its "Open_Story_Website" method, I changed the old "Language" dictionary to the new "Writing language" dictionary.
I also set the link to the story website in the chapter to be written inside the chapter dictionary.
Additionally, I changed the function of the "System" utility class from "Open" to "Open_Link", to open the story website link in the user's default browser.
I made code and comment improvements to the methods "Check_Chapter_Date_Texts", "Open_Story_Website", "Open_Writing_Pack", and "Create_Discord_Status".
I renamed the "Make_Backup_Of_Time" method to "Make_Backup_Of_Duration" to better reflect its purpose and also made improvements to it.
I renamed the "Update_Writing_Time" method to "Update_Writing_Duration" for the same reasons.
In the "Start_Writing" method, I made several text and code improvements.
I also converted the access and registry in the "Times" and "Duration" dictionaries to the new format.
Now, the "Update_Chapter" method correctly registers previous chapter titles when they are updated in chapter revisions.
I updated the "Update_Chapter_Dictionary" method to update how it accesses and registers chapter data in the "Chapters" dictionary.
Now, it correctly registers the writing, revisions, and translations of each chapter in its own dictionary.
I renamed the "Make_Task_Title" method to "Create_Task_Title" to make it look nicer.
It and the "Register_Task" method were updated to use the text template described in the "Text template.txt" file inside my "The Life of Littletato" story folder.
I started at 22:03 on November 3, 2025 and stopped at 10:30 on November 4, 2025.
I programmed for 6 hours, 18 minutes, and 21 seconds (06:18:21), including pauses.

In the "Stories" module, in its root class, I made the following changes:
I created a new default dictionary "Chapter" that can be used as a template to create chapter dictionaries with its writing, revisions, and translations.
I also fixed an error in the "Register_Task" root method where it was trying to retrieve the task completion time incorrectly and could not find it.
In the "Write" sub-class of the "Stories" module, I made the following changes:
I renamed the "Select chapter" state to "Select a chapter to revise" to better reflect its purpose.
I changed the writing mode text "Continue to" to just "Continue" when the user returned to work on the chapter.
And I also changed the verb tense from the infinitive to the action tense.
The previous sentence would be: "Continue to [write/revise/translate]".
And the new one is: "Continue [writing/revising/translating]".
I did this because, by using the present participle, the text reflects an ongoing action, which makes the sentence clearer and more descriptive.
The sentence to begin working on the chapter is still the same and uses the infinitive verb tense.
In the "Select_Chapter" method, I added the text "Chapters" to show the list of chapters and the text "Select a chapter to revise" in the chapter selection part, to make the selection nicer.
I also added one to the chapter number because it was coming from the selection as zero, and this was generating errors.
Now the "Define_Chapter" method shows the chapter title in all languages.
The "Open_Story_Website" method now uses a parameter dictionary to hold the parameters of the chapter number, "write" mode for the story website, and the "show chapter covers" parameter.
The "urlencode" module is now imported and is used to generate the query string for the chapter URL.
The "Update_Chapter_Dictionary" method now handles the times when the user started writing and when they finished better.
It creates a local dictionary called "Times" with the times when the user started writing, when they finished, and when they finished but in UTC time zone.
In the "Update_Writing_Duration" method, if the selected writing mode is "Revise" and the chapter has finished being revised, and the "Select a chapter to revise" mode is active (the user has selected a chapter to revise)...
The method retrieves the current dictionary from the "Translate" writing mode and checks if the current chapter has already been translated.
If so, it changes the current chapter to be translated to the chapter that has been revised.
Now the "Register_Task" method adds the previous chapter titles when the titles change.
It uses the text "Previous chapter titles" and then adds the previous chapter titles in all supported languages.
As planned in the "Stories" module plans and in the "Text template.txt" file inside the folder of my story "The Life of Littletato".
It also adds the text "along with the previous duration" to the "Totaling" text that shows the total writing duration for the chapter.
And it puts the total duration of the previous writing session in parentheses.
I also fixed several errors of missing data or things being accessed in the wrong ways throughout the "Write" sub-class.
I started programming the code mentioned in this change block at 03:00 on November 6, 2025 and stopped at 12:08 on the same day.
I do not remember exactly how long I spent programming, but I know it was quite a while.

In the "Stories" module, I moved the "Select_Chapter" method from the "Write" sub-class to the module's root class, so that the method can also be used by the "Post" sub-class.
Now the method creates a parameter dictionary with the show text "Chapters" and the select text "Select a chapter" by default.
These parameters will be used in the "Select" method of the "Input" utility class to ask the user to select a chapter.
The "Select_Chapter" method now accepts a parameter called "custom parameters", where the class that calls it can customize the show and select texts, or give a different list of chapters.
In the "Post" sub-class of the "Stories" module, I renamed the root dictionary "dictionary" to "posting" to better reflect its purpose.
I created a new state called "Has chapters to post" and the new methods "Check_Story_Chapters" and "Check_For_Chapters_To_Be_Posted".
The "Check_Story_Chapters" method evaluates two conditions:
If the last written chapter has been completed and has not been posted.
Or if the chapters to be revised and translated are the same, are completed, and have not been posted.
If either of these conditions is true, it indicates that the story has chapters to be posted.
If none of the previous conditions are true, the "Check_For_Chapters_To_Be_Posted" method is executed.
This method continues asking the user to select a story until it finds one that has chapters to be posted.
If no story contains chapters to be posted, the method informs the user and terminates the program.
I started programming the code mentioned in this change block at 18:49 on November 10, 2025 and stopped at 22:31 on the same day.
I programmed for 1 hour, 33 minutes, and 16 seconds (01:33:16), including pauses.

In the "Stories" module, in its "Post" sub-class, I made the following changes:
I replaced the "Define_Steps" method of the "Post" sub-class with the "Define_And_Run_Steps" method of the "Write" sub-class because it is much more useful and organized.
I also copied the "Select_Writing_Mode" method from the "Write" sub-class to the "Post" sub-class and renamed it to "Select_Posting_Mode".
This method makes a copy of the "Writing modes" dictionary and renames it to "Posting modes".
Then it removes the translation mode, since the user can only post written or revised chapters.
Then it iterates through the posting modes dictionary, retrieves the writing dictionary for the current posting mode, its status dictionary, and its current chapter.
If the current chapter has been written or revised and has not been posted, then the method adds that chapter as a postable chapter, with the text "Post chapter [number] that was [written/revised]".
Then it updates the posting mode dictionary with the chapter to be posted along with the selection text.
But if the chapter has been written or revised and has been posted, then it removes that chapter from the list of chapters that can be posted.
In that case, the remaining chapter should only be the one that has been written or revised.
If there is only one posting mode, the method automatically selects it and tells the user this.
The "Define_And_Run_Steps" method currently contains the following steps and methods to execute:
"Select posting mode", "Define chapter", "Create chapter covers", "Update story website", "Post chapter on story websites", "Post on the social networks", and "Register task".
In the root class of the "Stories" module, in the "Select_Chapter" method, I added the "Folders", "Links", and "Dictionary" keys.
Now the method tries to find the chapter dictionary for the chapter to set in the "Dictionary" key.
I started programming the code mentioned in this change block at 21:07 on November 11, 2025 and stopped at 00:40 on November 12, 2025.
I programmed for 1 hour, 39 minutes, and 54 seconds (01:39:54), including pauses.

In the "Stories" module, in its "Post" sub-class, I made the following changes:
I rewrote the "Define_Chapter" method to accommodate the changes made to the root chapter dictionary.
It now uses the root method "Select_Chapter" to select the chapter and define its dictionary.
I modified the root method to define the chapter links on the story websites, and on the additional story websites.
The "Define_Chapter" method now takes the chapter's writing or revision date and total writing duration and creates a new "Writing" dictionary within the chapter dictionary.
It creates the new "Covers" dictionary with the cover folder name for the chapter and also creates the dictionaries for the "Landscape" and "Portrait" cover types.
These dictionaries contain the folders where the chapter covers will be located.
For both types of covers, the cover folder is located inside the story folder.
And for the landscape cover type, the story's website image folder is also defined as the second folder where the cover will be located.
The method also predefines the location where the covers will be stored and their file names.
Then it shows which chapter was chosen to be posted and when it was written or revised.
I removed the old "Create_Cover" method because I moved all its code to the "Create_Chapter_Covers" method.
This method iterates over the cover type dictionary, then iterates over the language dictionaries.
It opens the story cover file in Photoshop for the user to render the chapter covers.
Then it helps the user update the covers by copying the chapter title in each language, and then copying the cover file to its proper place.
I renamed the "Copy_Title" method to "Copy_Chapter_Title" to better reflect its purpose.
Its code and text have been improved to be more descriptive.
I renamed the "Move_Cover" method to "Move_Chapter_Cover" for the same reasons mentioned above.
I changed the method to access the new chapter cover dictionary where the folders, file names, and files are already defined.
Now the "Update_Websites" sub-class of the "PHP" class is imported directly in the "Import_Sub_Classes" method, no longer in the "Update_Story_Website" method.
The "Post_Chapter_On_Story_Websites" method now separates the chapter link provided by the user and uses the link template within the chapter's links dictionary.
It replaces the chapter ID template with the chapter ID to create the chapter link on the story website.
I removed the "Make_Post_Cards" method because it will no longer be used.
I created the new method "Create_Social_Network_Post_Texts" to be used in its place.
It uses the text template that says the user wrote or revised the chapter and formats the template with the posting mode, the chapter number, the story title in the user's language, the writing or revision duration, the chapter link on the story website, and the hashtags.
Now the "Post_On_The_Social_Networks" method uses the "Create_Social_Network_Post_Texts" method to create the post texts.
I also made several improvements to the social network posting method.
It now stores the chapter post texts with the links to the story website and additional story websites within the "Posting" dictionary.
It also uses the new chapter links dictionary to retrieve the chapter links in the story website and additional websites.
I created the new "Update_Chapter_Dictionary" method.
If the posting mode is "Written", it updates the "Last chapter posted" number to be the posted chapter, and creates the posting times dictionary within the "Posting" dictionary inside the chapter dictionary that is inside the "Chapters.json" file.
If the posting mode is "Revised", it adds the posting time to the revision list and dictionary that is inside the "Posting" dictionary, which serves to store the posting dates of when the chapter was revised.
Then it updates the "Chapters.json" file with the new changes.
I updated the "Register_Task" method to add a task description that is quite descriptive, previously, the task only had the title.
Now, the task title and description show the additional story websites where the chapter was posted.
The description shows the chapter titles after writing/revising and the previous chapter titles if the posting mode is "Revised" and the titles changed.
It also shows the time and date I started writing/revising the chapter and the time and date I finished.
Then it shows the total writing or revision time.
I created the new "Write_On_Diary_Slim" method.
It uses a text template that says the user updated the story website to add or update the recently written or revised chapter.
The method formats the template with the story title in the user's language, the languages of the websites, the chapter number and posting mode, the number of link types and the link types, both the story website link and links to additional websites, and the social networks where the chapter was posted.
Then the method writes the created text to the current Diary Slim.
I created the new "Show_Information" method to display information about the selected story and the chapter that will be posted.
It shows the chapter title with the number and when it was written or last revised.
I started programming the code mentioned in this change block at 21:10 on November 15, 2025 and stopped at 08:27 on November 16, 2025.
I programmed for 7 hours, 12 minutes, and 38 seconds (07:12:38), including pauses.




12 - I programmed in Python a lot, programming my modules Stories, Watch_History, GamePlayer, Diary_Slim, Tasks, Christmas, Years, Friends, and Social_Networks (12:33 09/12/2025):




Task number:
12

Task number by task type:
7

Task title:
I programmed in Python a lot, programming my modules Stories, Watch_History, GamePlayer, Diary_Slim, Tasks, Christmas, Years, Friends, and Social_Networks

Task type:
Python

When I completed the task:
12:33 09/12/2025

When I completed the task (UTC):
2025-12-09T15:33:44Z

Entry:
12. Python (12:33 09/12/2025)

Task description:
I programmed in Python a lot, programming my modules Stories, Watch_History, GamePlayer, Diary_Slim, Tasks, Christmas, Years, Friends, and Social_Networks.

In the "Stories" module, I programmed its new sub-class "Convert_Data".
It serves to convert the data of the stories that are in an old format.
In it, I created the root "convert" dictionary and the "Iterate_Through_Stories_List" method.
The method iterates over the list of stories and their dictionaries, showing the story number, the total number of stories, and the story title in the user's language.
It executes the method "Update_Writing_Dictionary", which updates the "Writing" dictionary of each story to the new format.
If the writing mode is "Revision" or "Translation", it sets the current chapter as the first.
If the writing mode is "Writing", it sets the current chapter as the last chapter.
It creates the new "Times", "Durations", "Total duration", and "Status" dictionaries within the writing dictionary for each writing mode.
If the writing mode is "Writing", it creates the "Finished" and "Posted" statuses and sets both to "True".
If the writing mode is "Revision", it creates the same statuses, but sets them to "False".
If the writing mode is "Translation", it only creates the "Finished" status and sets it to "False".
Then, the "Iterate_Through_Stories_List" method executes the "Update_Chapters_Dictionary" method, which iterates over the chapter dictionaries of each story.
It displays the chapter number and the total number of chapters.
If it finds a chapter dictionary in the old format, it removes the old "Dates" dictionary if it does not contain any dates.
Then, it creates the empty dictionaries "Writing", "Revisions", "Translations", and "Posting" inside the chapter dictionary.
If the "Posting" dictionary contains only the "Times" dictionary, it creates the "Writing" and "Revisions" dictionaries and moves the previous "Times" dictionary into the "Writing" dictionary.
The method updates the dates and times in the UTC time zone to the correct dates and times, based on the date and time in the user's time zone, for both writing and revisions and translations.
This was done to correct dates and times that were wrong in the UTC time zone, for example, on dates when Daylight Saving Time was active in Brazil (default time zone).
After that, the two methods mentioned update the "Writing.json" and "Chapters.json" files with their respective dictionaries, which have the same names as the files.
I used the "Convert_Data" sub-class to convert the data of my eight stories.
I started programming the code mentioned in this change block at 19:41 on November 21, 2025, and stopped at 00:44 on November 22, 2025.
I programmed for 1 hour, 22 minutes, and 14 seconds (01:22:14), including pauses.

I improved the root "Import_Usage_Classes" method of the "Watch_History", "GamePlayer", "Stories", "Diary_Slim", and "Tasks" usage classes.
Now, it creates a class dictionary with the list of classes to be imported, and a dictionary containing dictionaries of the classes with their sub-classes to be imported.
The usage classes "Stories" and "Diary_Slim" import the usage class "Tasks" and its sub-class "Register" to register tasks.
The usage classes "Watch_History", "GamePlayer", "Stories", and "Tasks" import the usage class "Diary_Slim" and its "Write_On_Diary_Slim_Module" sub-class.
They use this sub-class to write texts on the current Diary Slim.
I removed the "Import_Sub_Classes" methods from the classes that contained them, because its code was merged with the "Import_Usage_Classes" method.
The usage classes "Watch_History", "GamePlayer", and "Tasks" now use the new root method of the usage class "Diary_Slim" called "Create_Memory_Date_Text" to create the memory date texts.
They come in the format "[[Year]/[Month name with number]/[Day name with number]/[Hours and minutes with colon replaced by semicolon].png]".
An usage example of this format would be: "[2025/01 - January/01 - Monday/12;00.png]".
The "Tasks" class only creates the memory date text if the "Add memory date text" state is active.
-
In the "Stories" module, in its root class, in its root method "Select_Chapter", I made the following changes:
I fixed an error where the chapter titles were only being retrieved for the last chapter of the story, and not for chapters prior to it.
This happened due to an incorrect check that verified if the chapter number was equal to the number of chapter titles.
Now, I fixed the error and instead it checks if the chapter number is equal to or less than the number of chapter titles.
In the "Post" sub-class of the "Stories" module, in its "Post_On_The_Social_Networks" method, I made the following changes:
I improved the use of the chapter posting text for the "Discord" social network.
Now, the method separates the text "read it here" with the chapter link to be copied after the user posts the main post text.
I also added separators in the main post text, chapter link, and additional story websites.
The Discord posting part now uses the new root method "Create_Memory_Date_Text" of the "Diary_Slim" usage class to create the memory date text for Discord.
I modified the "Create_Social_Network_Post_Texts" method to separate the "read it here" text into a key in the "Posting" dictionary.
The "Update_Chapter_Dictionary" method now creates the posting "Date" and "Time" keys in the "Posting" dictionary, just like the "Define_Chapter" method, which creates the same keys but with the date and time of writing/revision.
In the "Register_Task" method, in its task dictionary, I added the new state "Add memory date text" as "true".
This state tells the "Tasks" class to add the memory date text to the registered task text, but only in the Diary Slim and not in the Task History.
Previously, the "Register_Task" method was not being executed when the posting mode was "Revised", now it is.
A "register task" switch is set to "true" for the "Written" posting mode and "false" for the "Revised" posting mode.
This is done so that the chapter posting task is only registered if the chapter has been written.
If it has been revised, the "Tasks" class only registers the task description in the current Diary Slim.
The "Show_Information" method in its "Finish" mode now shows the date and time the chapter was posted.
-
I started programming the code mentioned in this change block at 20:34 on November 24, 2025, and stopped at 02:00 on November 25, 2025.
I programmed for 2 hours, 1 minute, and 33 seconds (02:01:33), including pauses.

I made general improvements, including code and code comments, and fixed errors in the Python modules "Christmas", "Years", "Friends", "Social_Networks", and "Watch_History".
I rewrote the "Start_Christmas" sub-class of the "Christmas" module.
I also rewrote the "Create_Year_Summary", "Show_Year_Information", and "Verify_Current_Year" sub-classes of the "Years" module.
I also improved the code and fixed errors in the classes that are called by the "Create_Year_Summary" sub-class.




13 - I programmed in Python a lot, programming my modules Years, Christmas, Social_Networks, File, and Text (13:38 15/12/2025):




Task number:
13

Task number by task type:
8

Task title:
I programmed in Python a lot, programming my modules Years, Christmas, Social_Networks, File, and Text

Task type:
Python

When I completed the task:
13:38 15/12/2025

When I completed the task (UTC):
2025-12-15T16:38:08Z

Entry:
13. Python (13:38 15/12/2025)

Task description:
I programmed in Python a lot, programming my modules Years, Christmas, Social_Networks, File, and Text.

In the "Years" module, in its root class, I made the following changes:
I renamed the "Define_Folder_Item_Names_Dictionary" method to "Define_Folder_Items_Dictionary".
I significantly improved the structure of the method and its dictionary, iterating over item types, such as folders and files, and over the item dictionaries that contain the names of the folders and files.
Now, the dictionary can have up to three levels of nesting of folder items, allowing me to define folders and files in a more organized way.
With this, I can create a deeper hierarchical structure, where each level can contain specific sub-folders and files.
The method uses the new "Define_Folder_Item_Name" method to define the item name (folder or file) in all necessary languages.
I also renamed its dictionary from "Folder item names" to "Folder items", to make it more concise.
Now, the dictionary has dictionaries to store numbers, lists, and the dictionary, following the pattern I defined.
I added some folders and files to the dictionary that were previously being created manually by me.
- (method separator)
I created the new "Define_Social_Networks" method to define the list of social networks for each type of folder.
The "Merry Christmas" and "New Year" folders have the same list of social networks, while the "Summary" folder has a different list.
This method creates dictionaries to store the names of each social network in different languages.
This is necessary because some social networks have "and" in their name, such as "Instagram and Facebook", so specific names for each language needed to be created.
-
I renamed the "Create_Year_Folders" method to "Create_Text_Folders".
I did this so the name better reflects the method's purpose, since it only created folders for text files for the year, not image folders.
The method now uses the new structure of the new "Folder items" dictionary to create the folders and files for each year.
Then it iterates over the folder item dictionaries named "Root", "Language", "Christmas", "New Year", and "Texts".
It uses the new "Create_Folder_Item" method to create the folder items, which can be a folder or a file.
This new method receives a dictionary with the item type (folder or file), the folder item key, the item name in the defined language, the folder dictionary, and the file dictionary.
The "Create_Text_Folders" method also iterates over the new social network dictionary to create social network files for each root folder, such as "Christmas", "Summary", and "New Year", using a specific list of social networks for each one of these folders.
Now the method no longer defines files in the year's folder dictionary, only in the file dictionary.
I made this change because the year's files were never accessed in the folder dictionary, only in the file dictionary.
-
In the "Create_Image_Folders" method, I changed it to return the entire year dictionary, instead of just the image folder dictionary.
I also added other image folders that were being created outside of the method.
-
I created the new "Define_Format_Strings" method to define formatting texts such as "[Current year]" and "[Next year]".
It creates a dictionary of formatting texts for the current year and the next year, which will be replaced by the corresponding numbers.
For example, "{current_year}" and "[Current year]" would be replaced by "2025", while "{next_year}" and "[Next year]" would be replaced by "2026".
The new "Replace_Year_Format_Strings" method replaces these texts with the year number within the defined text.
----- (sub-class separator)
In the "Verify_Current_Year" sub-class of the "Years" module, I made the following changes:
I created a new root dictionary "verify" to store the year files dictionary, the social network files dictionary, the formatting texts, and the states dictionary.
-
I renamed the "Define_Files" method to "Define_Text_Files".
The method now creates the new "Files" dictionary.
The dictionaries for each file have been updated to contain more data.
There are three new states that change how each file's dictionary is modified.
"File in user's language" specifies whether the file should only be created in the folder named after the user's language.
"Use current date" defines whether the text to be written to the file is the current date or not.
"Use template" defines whether a file template will be used to populate the file.
File dictionaries no longer need to define their own text keys, as these will be created from the dictionary key.
However, dictionaries can define alternative texts to be displayed to the user.
-
I created the new "Define_Social_Network_Files" method to define the dictionary of social network files for the "Summary" and "New Year" folders.
The method iterates over the list of social networks for each folder and creates the social network dictionaries with their names, files, and template files.
-
I took the function to write to files from the "Define_Text_Files" method and put it into a new method called "Write_To_Files".
It has more or less the same function as before, but now it uses the new file dictionary structure and considers the states of each file to determine the text to be written.
The method also makes use of the new root "Replace_Year_Formatting_Texts" method to replace the texts of the current year and the next year within the texts of the files.
In addition, it iterates over the new social network files dictionary to create the files for each social network in each root folder in the dictionary.
-
I took the function to update the year's image folder with the default template image folder "Images", which was in the "Define_Text_Files" method, and placed it in a new method called "Update_Image_Folder".
Unlike its previous operation, the method now checks if the folder does not exist.
If it does not exist, the contents of the default "Images" folder are copied into the year's image folder.
If the folder exists and has no sub-folders within it, the contents of the default folder are also copied.
This prevents the method from replacing pre-existing files with the default files from the "Images" folder, such as Photoshop files used to create the photo of the year.
-
I renamed the "Verify_Current_Year" method to "Show_Information" to better reflect its purpose.
The method now uses the new file dictionary structure to display the text of each file.
In addition, it uses fewer lines of code to display the file texts, since the data for each file has been defined in the root dictionary.
The method also displays the texts of the social network files in the "Summary" and "New Year" folders.

In the "Christmas" module, in its root class, I made the following changes:
In its "Define_Dictionaries" method, I changed the Christmas days from "December 25th" to December 24th and 25th.
This allows the user to start their Christmas on the night of the 24th, since some Christmas steps now need to be completed before the 25th.
- (method separator)
I renamed the "Today_Is_Christmas" method to "Today_Is_Day".
Now, the method can check if the current day is within the list of days defined for December.
For example, it can check if today is December 24th or 25th and return True if so.
-
I created the new method "Current_Month_Is_December" to function similarly to the "Today_Is_the_Day" method, but only checking if the current month is December.
-
Still within the "Define_Dictionaries" method, I changed how files are added to the root file dictionary.
I removed the planning and object files, as they will no longer be used.
I added the new files for "Friends", (Christmas) "Steps", "Profile pictures to change", "Watch", and "Eat".
I updated the root method dictionary to include the new methods I created for the Christmas steps that were changed or created.
All methods that perform an action now display the "Christmas step action" text followed by the action, making the description clearer for the user.
-
The "Open_Music_Player" method can now receive the name of the music player defined by the step within the "Steps" JSON file, instead of using a predefined music player.
-
The "Open_Social_Networks" method has been modified to be more modular and accept more options.
Now, it imports the list of social networks to be opened, a list of social networks to show the text but not open, and input texts to be requested after opening each social network.
It also accepts a custom link dictionary for each social network and a dictionary of states, passing all of this to the "Open_Social_Network" sub-class of the "Social_Networks" class.
-
The "Open_Module" method has been changed to directly access the root file dictionary and access the "Watch" and "Eat" files, no longer using the old "Planning" folder for this.
It now adds the text "Things to " to the "Watch" and "Eat" texts, making the descriptions clearer.
-
I created the new "Define_Christmas_Texts" method to get the Christmas texts for the current year and put them into a dictionary.
It can retrieve the general text, the general text with hashtags, the text in the user's language, the text in the user's language with hashtags, and text intended for friends.
The method uses the new "Dictionary_2" method of the "File" utility class to read the Christmas texts file and collect the texts.
Then, it replaces the user's language keys with English keys, making it easier to access the texts through the module.
-
I created the new "Copy_Christmas_Text" method to be used in the Christmas steps, which can receive a key that is used to access the specific Christmas text corresponding to that key.
-
I created the new "Change_Profile_Pictures" method to help the user change their profile pictures on social networks.
The method reads the "Profile pictures to change" file using the new "Dictionary_2" method of the "File" utility class.
Then, it creates a dictionary of digital identities, which includes the numbers, the list, and the dictionary of identities.
It iterates over the dictionary of digital identities, defining four different versions of the identity name: in English, in the user's language, with the "of" prefix in the user language in the genders of the identities applied, and enclosing the identity name in quotation marks.
The method uses the new gender and prefix function of the "From_List" method of the "Text" utility class to create the identity name with the prefixes.
This is used to formulate the text "Christmas Version of" followed by the identity name, using this key to access the list of social networks associated with each digital identity.
For example, it creates the text "Christmas Version of Stake2" and uses it as a key to access Stake2's social networks.
After that, the method displays the digital identity number and the identity name.
Each identity dictionary can set the "Use profile folder" state to True, which allows opening the "Profile" folder within the identity's image folder.
Next, the method opens the digital identity's image folder so the user can select their profile picture.
The method lists the social networks for each identity and opens each one, waiting for user confirmation (input) that the social network's profile picture has been changed before proceeding to the next.
-
The new "Wish_Merry_Christmas_To_Friends" method copies the Christmas text dedicated to friends and opens the "Friends" file, allowing the user to see the list of friends they need to wish a Merry Christmas to.
The Christmas step that uses this method also uses the "Open_Social_Networks" method to open some social networks, allowing the user to wish a Merry Christmas to friends on those networks.
----- (sub-class separator)
In the "Start_Christmas" sub-class of the "Christmas" module, I made the following changes:
I separated the dictionary of states that was in the root dictionary into its own dictionary, as it was becoming too large.
I removed the uses of the old planning and objects files, replacing them with the use of the new JSON file called "Steps", which contains the Christmas steps.
-
In its "Define_Christmas_Steps" method, I have significantly improved it.
I have modified its steps dictionary to store the total number of steps, the list and dictionary of steps, in addition to new dictionaries for date ranges, categories, and completed steps.
The method now keeps the steps dictionaries from the original file separate from the dictionaries defined during the method's execution.
It defines a list of keys that will be imported from the original dictionaries, if they exist, and removed from the execution dictionary if they do not.
The new keys include:
The step's text dictionary
The list of methods to be used by the step
A list or dictionary of values to pass to the methods
A dictionary of date ranges for the step's completion
Whether the step has been completed
An indication of whether it is a step for the Christmas days
And a parameter to ask if the user wants to pause after completing the step
If the step has no date range, the method sets the range to between December 24th and 25th.
It uses the new "Define_Date_Range" method to establish the date range, which can be just one day, like the 24th, or two days, like the 24th and 25th.
The method gets the step text in the user's language and replaces the "[Current year]" text with the current year number.
Now, the definition of step methods is plural and defines the methods dictionary by default, instead of defining just one method.
Thus, even steps that use only one method will still receive a method dictionary.
The definition of method values is now also plural, and can consist of a list of values where each index in the list refers to a method in the list of methods.
The values can also be a dictionary, like the dictionaries used to open social networks.
If the number of methods is one, the dictionary of values itself is defined as the method's value.
If there are multiple methods and only one dictionary of values, the value for each method is obtained from the dictionary of values using the method name as the key.
The method now defines the category key for each step.
Depending on its "Christmas day step" state, the category can be "Christmas day" or "Non-Christmas day".
Then, the method adds the step to the defined category's list and increments the category's step number.
If the step has been completed, as with steps that are not for the Christmas days, the method adds the step to the defined category's completed steps list.
Finally, the method updates the original steps file only to adjust the "Christmas day step" and "Completed" keys.
-
I created the new "Update_Steps" method to update the "Completed" state of the steps.
It receives the parameter of the step to be completed and then updates its completion state within the steps file, keeping the state of the other steps intact.
If the reset parameter is True, the method sets all steps as not completed.
-
I created the new "Define_List_Of_Days" method to get the list of days that exist between one date and another.
-
I renamed the "Check_For_Christmas_Day" method to "Check_Step_Dates" to better reflect its new purpose.
It checks if today is one of the Christmas days using the root method "Today_Is_Day" and also checks if the current month is December using the root method "Current_Month_Is_December".
If the current month is not December, it uses the "Update_Steps" method to set all Christmas steps as incomplete.
The method then accesses the date range dictionary to get the first step's range and uses the "Today_Is_Day" method to check if the current day is within that range.
If this condition is true, it sets the root state "Today is in the first step date range" to True.
It retrieves the dictionary of the category of steps that are not for Christmas days.
The method then retrieves the list of completed steps that are also not for Christmas days.
If the number of completed steps is equal to the total number of steps, it sets the "Completed non Christmas day steps" state to True.
Next, the method iterates over the list of date ranges and accesses the end date of each range.
If the end date is the 25th and the user has completed the steps that are not for Christmas days, the method checks if the current day is between the current date ranges, which are likely the 24th and 25th.
If this condition is True, it sets the state "Today is a chosen Christmas day" to True.
The method also displays today's date and sets the variable "calculate remaining time" to False.
If the "Current month is December" or "Today is in the first step date range" states are False, the method sets the end date to the date of the first step that is not for Christmas days.
If the state "Today is in the first step date range" is True and the state "Completed non Christmas day steps" is False, the method sets the initial text to talk about the execution of the steps that are not for Christmas days.
It also sets the final text to inform the user that they have completed all the steps that are not for Christmas days, as well as indicating on which day or day range the user should return to complete the steps for Christmas days.
It sets the end date to the date of the first step for Christmas days.
If the state "Completed non Christmas day steps" is True and the state "Today is a chosen Christmas day" is False, the method sets the end date to December 24th, indicating that the user should wait until that date to start their Christmas.
In addition, the method sets the initial text to inform that the user has completed all steps that are not for Christmas days, and that today is not a chosen day to celebrate Christmas.
If the state "Today is a chosen Christmas day" is True, the method sets the initial text to inform that the user's Christmas for the current year is beginning.
Then, it sets the final text to indicate that the user's Christmas is complete.
If the initial text is not empty, the method displays the text "Status of the Christmas steps" followed by the initial text.
If the "calculate remaining time" variable is True, the method displays the text "Wait until" and the defined end date.
Finally, it uses the new "Calculate_Remaining_Time" method to calculate the time difference between the current date and the end date.
-
In the "Execute_Christmas_Steps" method, I made the following changes:
I removed the opening of the planning file, which no longer exists.
If the state "Today is in the first step date range" is True and the state "Completed non Christmas day steps" is False, the method sets the step category key to "Non-Christmas day".
Conversely, if the state "Today is a chosen Christmas day" is True, it sets the step category key to "Christmas day".
The method uses the category key to obtain the list of steps pertaining to the defined category and then removes the completed steps.
The method iterates over the defined list of steps and displays the current step number, the total number of steps, and the step text in the user's language.
It retrieves the date range in which the step can be completed and displays this to the user, but only if the current range is not the same as the previous one.
This prevents the same date range from being displayed repeatedly, as happens for all steps that are completed on Christmas Day, which corresponds to the 24th and 25th.
If the step has methods, the method iterates over the step's methods dictionary, displays a space, and executes the method, passing the defined method value if it exists.
If the "Ask for input" state is True and the step is not the last in the list, or if the input text is present in the step's dictionary, the method waits for user confirmation before proceeding to the next Christmas step.
After the user input, the method marks the step as completed using the "Update_Steps" method.
If the "Ask to make a pause" state is present in the step dictionary, the method asks the user if they want to take a break and continue completing the Christmas steps later.
This is useful when the user wants to complete an important step on the 24th, but does not want to start their Christmas immediately.
If the user chooses to take a break, the method retrieves the text "Come back when you want to continue completing the Christmas steps for the {}!" and formats it with the end date of the current step.
The formatted text is then set as the final text, and the step loop is interrupted, not proceeding to the next step.
Finally, the final text previously defined in the methods is presented to the user.

In the "Open_Social_Network" sub-class of the "Social_Networks" module, I made the following changes:
Its "Define_Social_Networks" method now accepts a list of social networks that should not be opened.
This allows displaying the opening text and the social network link, as well as waiting for user confirmation with the input text before proceeding to the next social network, without actually opening the network.
This list can be useful, for example, to prompt the user to perform some action on the defined social network without opening it, such as when a social network is accessed via phone.
Additionally, the method now accepts a dictionary of input texts containing specific texts for each social network.
-
The "Open_Social_Networks" method has been updated to accommodate the new open definitions, checking the "Do not open" list and retrieving the specific input text for each social network, if any.
-
I also modified the "Show_Information" method to adjust the spacing and eliminate double spaces.

In the "File" utility module, in its root class, I created the new "Dictionary_2" method, which is the new version of the "Dictionary" method.
This method is capable of creating file dictionaries where the keys are lines terminated with a colon and the values are the subsequent lines.
Unlike the previous version, this new version can capture multiple lines to use as dictionary values, not just one.
The method also converts values that are lists into comma-separated or "and"-separated texts.
In addition, it can convert lists containing only one item to the item itself, depending on the parameter defined.

In the "Text" utility module, in its root class, in the "From_List" method, I added a new parameter called "genres".
This parameter accepts a list of genres, where each genre corresponds to an item in the list of items.
The genres are used to add the prefixes "of" to each item in the list, with the prefix depending on the genre of the item.
For example, with the list [Sunset Shimmer, Stake2], it would create the text "of Sunset Shimmer and Stake2", but in languages that are not English, it would add the prefix to all items.

I started programming the code mentioned in this change log at 21:46 on December 13, 2025, and stopped at 11:08 on December 14, 2025.
I programmed for 13 hours and 22 minutes (13:22:00), including pauses.




3 - I translated the chapter twelve of my story "The Life of Littletato" from Portuguese to English (20:53 27/01/2025):




Task number:
3

Task number by task type:
1

Task title:
I translated the chapter twelve of my story "The Life of Littletato" from Portuguese to English

Task type:
Stories

When I completed the task:
20:53 27/01/2025

When I completed the task (UTC):
2025-01-27T23:53:43Z

Entry:
3. Stories (20:53 27/01/2025)

States:
First story chapter in year

Task description:
I finished translating the chapter twelve of my story "The Life of Littletato" from Portuguese to English.

The chapter with the title:
The World of My Little Pony: Friendship Is Magic

I started at 19:54 and stopped at 20:53.
I translated for 58 minutes and 49 seconds (58:49), including pauses.
Totaling 8 hours, 50 minutes, and 36 seconds (08:50:36).




5 - I revised the chapter thirteen of my story "The Life of Littletato" (22:15 20/02/2025):




Task number:
5

Task number by task type:
2

Task title:
I revised the chapter thirteen of my story "The Life of Littletato"

Task type:
Stories

When I completed the task:
22:15 20/02/2025

When I completed the task (UTC):
2025-02-21T01:15:53Z

Entry:
5. Stories (22:15 20/02/2025)

Task description:
I finished revising the chapter thirteen of my story "The Life of Littletato".

The chapter with the title:
The Camping of Littletato and Júlia, Part One

I started at 19:09 and stopped at 22:15.
I revised for 3 hours, 6 minutes, and 20 seconds (03:06:20), including pauses.
Totaling 10 hours, 18 minutes, and 15 seconds (10:18:15).




6 - I translated the chapter thirteen of my story "The Life of Littletato" from Portuguese to English (19:38 18/03/2025):




Task number:
6

Task number by task type:
3

Task title:
I translated the chapter thirteen of my story "The Life of Littletato" from Portuguese to English

Task type:
Stories

When I completed the task:
19:38 18/03/2025

When I completed the task (UTC):
2025-03-18T22:38:48Z

Entry:
6. Stories (19:38 18/03/2025)

Task description:
I finished translating the chapter thirteen of my story "The Life of Littletato" from Portuguese to English.

The chapter with the title:
The Camping of Littletato and Júlia, Part One

I started at 19:12 and stopped at 19:38.
I translated for 26 minutes and 34 seconds (26:34), including pauses.
Totaling 11 hours, 43 minutes, and 2 seconds (11:43:02).




7 - I revised the chapter fourteen of my story "The Life of Littletato" (08:05 06/05/2025):




Task number:
7

Task number by task type:
4

Task title:
I revised the chapter fourteen of my story "The Life of Littletato"

Task type:
Stories

When I completed the task:
08:05 06/05/2025

When I completed the task (UTC):
2025-05-06T11:05:58Z

Entry:
7. Stories (08:05 06/05/2025)

Task description:
I finished revising the chapter fourteen of my story "The Life of Littletato".

The chapter with the title:
The Camping of Littletato and Júlia, Part Two

I started at 07:13 and stopped at 08:05.
I revised for 51 minutes and 44 seconds (51:44), including pauses.
Totaling 9 hours, 28 minutes, and 56 seconds (09:28:56).




8 - I translated the chapter fourteen of my story "The Life of Littletato" from Portuguese to English (16:30 04/06/2025):




Task number:
8

Task number by task type:
5

Task title:
I translated the chapter fourteen of my story "The Life of Littletato" from Portuguese to English

Task type:
Stories

When I completed the task:
16:30 04/06/2025

When I completed the task (UTC):
2025-06-04T19:30:54Z

Entry:
8. Stories (16:30 04/06/2025)

Task description:
I finished translating the chapter fourteen of my story "The Life of Littletato" from Portuguese to English.

The chapter with the title:
The Camping of Littletato and Júlia, Part Two

I started at 15:48 and stopped at 16:30.
I translated for 42 minutes and 36 seconds (42:36), including pauses.
Totaling 13 hours, 15 minutes, and 27 seconds (13:15:27).




Completed tasks in 2018: 43








Drawings: 3
Stories: 2
Watching media: 9
Downloading media: 6
Register things: 4
Social Media: 4
Gaming: 3
Files: 6
Registering media: 1
HTML: 3
Life: 1
Websites: 1

Drawings: 3
12 - 1# - Do the One Punch Man in New World Style or Hologram Style or Basic Hologram New World (2018)
15 - Edit animelist-item in Photoshop/One Punch Man (2018)
37 - Draw screenshot-select New World (2018)

Stories: 2
6 - 1# - Write Littletato (2018)
20 - 1# - Write Littletato (2018)

Watching media: 9
1 - 1# 1# - Watch "Sword Art Online: Ordinal Scale" (beautiful and emotional and beautiful film) (2018)
3 - Watch "Far Cry 5" on Alanzoka (2018)
7 - Watch Avengers: Infinity War (2018)
8 - Watch Spiderman: Homecoming (2018)
19 - Watch Player Number 1 on (20/09/2018 at 03:53) (03:53 20/09/2018)
23 - Watch "Como não pegar um pé grande" (2018)
25 - Watch "Anima Yell" (2018)
38 - Watch K/DA video (2018)
42 - I watched Black Mirror: Bandersnatch (28/12/2018 from 01:30 to 04:57) (05:57 28/12/2018)

Downloading media: 6
2 - 1# - Download "Stein's Gate 0" & "Stein's Gate" (2018)
9 - Download FL Studio (2018)
10 - Download GTA SA (2018)
11 - Download One Punch Man (2018)
21 - Download One Punch Man HD (2018)
22 - Download "Kill The Noise - Roots EP" (2018)

Register things: 4
4 - 1# - Register WhatsApp status (2018)
13 - Register Contacts WhatsApp (2018)
14 - Register Steam Games (2018)
31 - Post status (2018)

Social Media: 4
5 - 1# - Read WhatsApp messages (2018)
16 - Enter Discord (2018)
32 - Send message times WhatsApp (2018)
41 - Post My 2018 (2018)

Gaming: 3
17 - 1# - Play Minecraft (2018)
33 - Login Usermatheus123 (Minecraft DreamCraft) (2018)
40 - Play Doki Doki Literature Club (2018)

Files: 6
18 - 1# - Synchronize Mega music folders (2018)
28 - Move Windowsa Phone photos (2018)
30 - Do things of DreamCraft (2018)
34 - Print SuperAnimes, fix "games" prints (2018)
39 - Put K/DA songs on Foobar2000 (2018)
43 - Fix tets text (2018)

Registering media: 1
24 - 1# - Write Dug And Damp screenplay (2018)

HTML: 3
26 - 1# - Make a website for video and anime statuses (2018)
27 - Put link SAO (Sword Art Online) e AY (Anima Yell!) on Watch History (2018)
36 - Make cool websitey (mega mix) (2018)

Life: 1
29 - 1# - Take a bath (2018)

Websites: 1
35 - 1# - Enter on Workana (2018)







Completed tasks in 2019: 3








PHP: 3

PHP: 3
1 - 1# 1# - I created the "Foobar Albums" website (2019)
2 - I created the "Music" website (2019)
3 - I created the "SpaceLiving" website (2019)







Completed tasks in 2020: 47








Drawings: 10
PHP: 13
Python: 9
Stories: 10
Downloading media: 1
HTML: 1
AutoHotKey: 1
Texts: 2

Drawings: 10
9 - 1# - Downloaded Paint Tool SAI and made a line-art of the drawing 'Anime Girl Test' and painted it, practiced drawing in SAI a lot (06:26 18/01/2020)
10 - Finished and published the new drawing of Funkysnipa Cat on Paint Tool SAI, published on DeviantArt (21:59 19/01/2020)
11 - I published the redrawn version of the drawing 'Cups' on DeviantArt (20:35 22/01/2020)
16 - Cleaned my room and I digitalized the 'Treasure Hunt Book' of my sister on Paint Tool SAI, posted it on DeviantArt and made a video showing the book (00:14 21/02/2020)
17 - Re-drawn 'Anime Girl Test' in Paint Tool SAI and liked it a lot, in probably 10 hours (01:19 09/03/2020)
19 - Made a drawing of my room in the Castle of Friendship of MLP (00:35 22/03/2020)
29 - I continued working on a drawing that I left on pause, I drew for 1 hour and 21 minutes (+ 35 minutes) (22:07 28/05/2020)
31 - I drawn a new version the profile pic from my account called Funkysnipa Cat, it has the new sniper, a book and the Stake2 logo (22:54 21/06/2020)
45 - Organized the files of the drawings of the SpaceLiving spaceships (20:56 29/10/2020)
46 - Started a project to animate the LonelyShips of my story called SpaceLiving in Pixel Art (00:43 31/10/2020)

PHP: 13
1 - 1# 1# - Transform 2019.html into 2019.php (18:53 08/01/2020)
4 - Fixed the read chapter tab of SpaceLiving.php and added a margin (02:51 14/01/2020)
12 - Edited Watch History.php a lot and I made the design of all the tabs (07:00 26/01/2020)
13 - Edited Watch History.php a lot and the only thing left is the mobile version, I also edited the Watch.py (07:33 31/01/2020)
15 - Edited all the backend of SpaceLiving.php and Pequenata.php and I updated the tabs of SpaceLiving (22:40 04/02/2020)
18 - Remade the Pequenata website in VGlobal.php Multi-site PHP and with new things (16:30 15/03/2020)
20 - Made Text Maker, a website that was made for creating a summary of my year, and I used it as the module of the 2019 website (22:14 23/03/2020)
25 - I made the website of the Diary in PHP (19:45 20/04/2020)
27 - Change the tab of Watched Medias from Watch History to separate them by the media type (22:11 22/05/2020)
30 - Make the Website Selector.php for the Index.php (03:55 04/06/2020)
32 - Make the new SpaceLiving website in the new style of VGlobal.php Multi-site PHP (07:18 08/07/2020)
34 - I included the global chapter button and tab generator in the website of the Diary (21:55 09/07/2020)
36 - Added the pt-PT language to the PHP websites (02:27 15/07/2020)

Python: 9
2 - 1# - I made Watch.py rename and move video files (06:45 11/01/2020)
3 - Fixed Core.py making it more beautiful and added a function to publish stories (02:50 14/01/2020)
6 - Made the Python script 'Publish a Website' ask if I want the simple version or not (Only 'Git init' or with PHP server and source code) (17:02 14/01/2020)
28 - Started to remake Watch.py Python script, adding arrays and a lot of stuff to make it easier to use (10:45 28/05/2020)
35 - I programmed Tasks.py a lot and made good progress (03:50 10/07/2020)
38 - Programmed a Python script to help me create Diário Slim files easier (07:28 14/08/2020)
40 - Worked a lot on Watch.py and made good progress, started to make the Watched() function (23:06 18/08/2020)
43 - Finished making the Python Roleplay helper script (20:02 12/10/2020)
44 - Made the 'Year Summary Maker.py' Python script (15:05 25/10/2020)

Stories: 10
21 - 1# - Re-wrote the single chapter story 'My Little Pony - Rise to Equestria' (03:25 30/03/2020)
22 - Wrote the chapter four of 'Desert Island Rewritten' (21:48 07/04/2020)
23 - Reviewed 'The Story of the Bulkan Brothers', made the 7 chapters and translated them to English (23:30 08/04/2020)
24 - Reviewed the chapter seven of The Life of Littletato (01:50 14/04/2020)
33 - Reviewed the first chapter of SpaceLiving (05:08 09/07/2020)
37 - Reviewed the second chapter of SpaceLiving (16:41 23/07/2020)
39 - Reviewed the third chapter of SpaceLiving (16:59 17/08/2020)
41 - Reviewed the chapter eleven of The Life of Littletato (17:50 23/08/2020)
42 - Reviewed the chapter four of The Life of Littletato (23:32 28/08/2020)
47 - Reviewed the chapter thirteen of The Life of Littletato (19:08 24/12/2020)

Downloading media: 1
8 - 1# - Metadated the Said artist and it was very cool (04:14 17/01/2020)

HTML: 1
14 - 1# - Published the Watch History.html website in English and Brazilian Portuguese (18:32 31/01/2020)

AutoHotKey: 1
5 - 1# - Made the AutoHotKey script called 'PlayPause.ahk' ask if you want to control Youtube, YTMusic or SoundCloud (15:31 14/01/2020)

Texts: 2
7 - 1# - Made the PHP Framework (03:38 17/01/2020)
26 - Change 'Productive Network' to 'Todo' and 'Done' (13:40 22/05/2020)






Completed tasks in 2021: 36








PHP: 5
Python: 6
Stories: 24
Videos: 1

PHP: 5
3 - 1# - I programmed my websites in PHP a little (16:53 15/12/2021)
4 - I programmed my websites in PHP a little (16:55 15/12/2021)
6 - I programmed my websites in PHP a little (22:08 15/12/2021)
19 - I programmed my websites in PHP a little (19:11 22/12/2021)
35 - I programmed my websites in PHP a little (15:51 29/12/2021)

Python: 6
1 - 1# 1# - I programmed in Python a little, coding my module "Tasks" (19:05 14/12/2021)
16 - I programmed in Python a little, coding my module "Watch_History" (14:37 21/12/2021)
22 - I programmed in Python a little, coding my module "GamePlayer" (17:18 23/12/2021)
27 - I programmed in Python a little, coding my module "Diary" (14:53 26/12/2021)
31 - 1# 1# - I programmed in Python a little, coding my module "Tasks" (16:05 28/12/2021)
33 - I programmed in Python a little, coding my module "Python_Module_Manager" (02:30 29/12/2021)

Stories: 24
2 - 1# - I translated the chapter fourteen of my story "The Secret of the Crystals" to Portuguese (22:12 14/12/2021)
5 - I translated the chapter fifteen of my story "The Secret of the Crystals" to Portuguese (18:44 15/12/2021)
7 - I posted the chapter one of my story "The Secret of the Crystals" on Wattpad and Stake2 Website (16:03 16/12/2021)
8 - I posted the chapter two of my story "The Secret of the Crystals" on Wattpad and Stake2 Website (12:20 17/12/2021)
9 - I posted the chapter three of my story "The Secret of the Crystals" on Wattpad and Stake2 Website (11:09 18/12/2021)
10 - I posted the chapter four of my story "The Secret of the Crystals" on Wattpad and Stake2 Website (11:20 19/12/2021)
11 - I posted the chapter one of my story "The Story of the Bulkan Siblings" on Wattpad and Stake2 Website (12:26 19/12/2021)
12 - I posted the chapter five of my story "The Secret of the Crystals" on Wattpad and Stake2 Website (14:42 20/12/2021)
13 - I posted the chapter two of my story "The Story of the Bulkan Siblings" on Wattpad and Stake2 Website (15:24 20/12/2021)
14 - I posted the chapter six of my story "The Secret of the Crystals" on Wattpad and Stake2 Website (12:57 21/12/2021)
15 - I posted the chapter three of my story "The Story of the Bulkan Siblings" on Wattpad and Stake2 Website (13:25 21/12/2021)
17 - I posted the chapter seven of my story "The Secret of the Crystals" on Wattpad and Stake2 Website (13:10 22/12/2021)
18 - I posted the chapter four of my story "The Story of the Bulkan Siblings" on Wattpad and Stake2 Website (13:51 22/12/2021)
20 - I posted the chapter eight of my story "The Secret of the Crystals" on Wattpad and Stake2 Website (13:00 23/12/2021)
21 - I posted the chapter five of my story "The Story of the Bulkan Siblings" on Wattpad and Stake2 Website (13:14 23/12/2021)
23 - I posted the chapter nine of my story "The Secret of the Crystals" on Wattpad and Stake2 Website (13:49 24/12/2021)
24 - I posted the chapter six of my story "The Story of the Bulkan Siblings" on Wattpad and Stake2 Website (14:05 24/12/2021)
25 - I posted the chapter ten of my story "The Secret of the Crystals" on Wattpad and Stake2 Website (13:39 25/12/2021)
26 - I posted the chapter seven of my story "The Story of the Bulkan Siblings" on Wattpad and Stake2 Website (14:10 25/12/2021)
28 - I posted the chapter eleven of my story "The Secret of the Crystals" on Wattpad and Stake2 Website (15:06 26/12/2021)
29 - I posted the chapter twelve of my story "The Secret of the Crystals" on Wattpad and Stake2 Website (13:58 27/12/2021)
30 - I posted the chapter thirteen of my story "The Secret of the Crystals" on Wattpad and Stake2 Website (15:21 28/12/2021)
34 - I posted the chapter fourteen of my story "The Secret of the Crystals" on Wattpad and Stake2 Website (13:46 29/12/2021)
36 - I posted the chapter fifteen of my story "The Secret of the Crystals" on Wattpad and Stake2 Website (11:56 30/12/2021)

Videos: 1
32 - 1# - I edited a video a little on Sony Vegas (21:13 28/12/2021)







Completed tasks in 2022: 57








PHP: 20
Python: 28
Stories: 6
Videos: 3

PHP: 20
2 - 1# - I programmed my websites in PHP a little (13:03 05/01/2022)
7 - I programmed my websites in PHP a little (13:25 12/01/2022)
9 - I programmed my websites in PHP a little (13:21 19/01/2022)
11 - I programmed my websites in PHP a little (19:33 22/01/2022)
12 - I programmed my websites in PHP a little (14:48 23/01/2022)
14 - I programmed my websites in PHP a little (17:06 26/01/2022)
16 - I programmed my websites in PHP a little (14:58 07/02/2022)
21 - I programmed my websites in PHP a little (02:45 18/02/2022)
22 - I programmed my websites in PHP a little (23:16 18/02/2022)
27 - I programmed my websites in PHP a little (17:57 01/03/2022)
32 - I programmed my websites in PHP a little (02:54 05/04/2022)
35 - I programmed my websites in PHP a little (08:07 07/07/2022)
36 - I programmed my websites in PHP a little (20:12 07/07/2022)
37 - I programmed my websites in PHP a little (08:26 09/07/2022)
38 - I programmed my websites in PHP a little (16:13 11/07/2022)
39 - I programmed my websites in PHP a little (20:46 11/07/2022)
45 - I programmed my websites in PHP a little (05:26 01/08/2022)
51 - I programmed my websites in PHP a little (19:49 06/10/2022)
55 - I programmed my websites in PHP a little (11:30 20/12/2022)
56 - I programmed my websites in PHP a little (10:08 25/12/2022)

Python: 28
1 - 1# 1# - I programmed in Python a little, coding my module Year_Summary_Manager (10:48 01/01/2022)
3 - I programmed in Python a little, coding my module Unified_Remote_Manager (14:26 07/01/2022)
4 - I programmed in Python a little, coding my module Story_Manager (22:18 08/01/2022)
5 - I programmed in Python a little, coding my modules Tasks, Story_Manager, and GamePlayer (12:35 09/01/2022)
8 - I programmed in Python a little, coding my module Food_Time (15:19 18/01/2022)
10 - I programmed in Python a little, coding my module Friends_Manager (15:34 21/01/2022)
13 - I programmed in Python a little, coding my module Watch_History (17:49 25/01/2022)
15 - I programmed in Python a little, coding my module Project_Zomboid_Manager (14:12 28/01/2022)
17 - I programmed in Python a little, coding my module Code (01:02 08/02/2022)
18 - I programmed in Python a little, coding my modules Diary.Manage_Diary_Slim.Write_On_Diary_Slim, Code.Help_With_Coding, and Python_Module_Manager (14:59 08/02/2022)
19 - I programmed in Python a little, coding my module Diary (14:53 11/02/2022)
20 - I programmed in Python a little, coding my modules Block_Websites, Watch_History, GamePlayer, and Story_Manager (21:32 12/02/2022)
23 - I programmed in Python a little, coding my modules Code and Diary (14:31 22/02/2022)
24 - I programmed in Python a little, coding my module Watch_History (22:40 25/02/2022)
26 - I programmed in Python a little, coding my modules Folder_Variables and Text_Generator (17:18 01/03/2022)
30 - I programmed in Python a little, coding my module Music_Library (16:56 01/04/2022)
34 - I programmed in Python a little, coding my module Watch_History (02:06 03/05/2022)
40 - I programmed in Python a little, coding my module Diary (13:44 15/07/2022)
41 - I programmed in Python a little, coding my modules Code and Diary (14:08 17/07/2022)
46 - I programmed in Python a little, coding my modules Language_Variables, Story_Manager, Code, and Diary_Slim (03:10 04/08/2022)
47 - I programmed in Python a little, coding my modules Watch_History and Story_Manager (20:41 20/08/2022)
48 - I programmed in Python a little, coding my modules Friends_Manager, Python_Module_Manager, Script_Helper, Social_Networks, Block_Websites, and Christmas (16:51 05/09/2022)
49 - I programmed in Python a little, coding my modules Friends_Manager, Social_Networks, Christmas, Watch_History, and Years (21:05 19/09/2022)
50 - I programmed in Python a little, coding my modules Folder, File, Language, Input, Date, Text, and Watch_History (13:35 05/10/2022)
52 - I programmed in Python a little, coding my modules Years, Date, Folder, Python_Module_Manager, and Block_Websites (17:00 17/10/2022)
53 - I programmed in Python a little, coding my modules Code and Diary, Diary_Slim, Food_Time, Friends, GamePlayer, Project_Zomboid, Social_Networks, SproutGigs, and Stories (20:50 13/11/2022)
54 - I programmed in Python a little, coding my modules Diary_Slim, Tasks, Watch_History, GamePlayer, Stories, and Module_Selector (07:27 16/12/2022)
57 - I programmed in Python a little, coding my modules Christmas, Years, Friends, Social_Networks, SproutGigs, and Watch_History (10:09 25/12/2022)

Stories: 6
6 - 1# - I wrote the chapter eighteen of my story "SpaceLiving" (22:43 10/01/2022)
25 - I translated the chapter eigteen of my story "SpaceLiving" to Portuguese (14:10 28/02/2022)
29 - I wrote the chapter four of my story "New World" (16:18 29/03/2022)
31 - I wrote the chapter five of my story "New World" (23:25 03/04/2022)
33 - I posted the chapter eighteen of my story "SpaceLiving" on Wattpad and Stake2 Website (12:45 16/04/2022)
42 - I wrote the chapter 6 of my story "New World" (20:15 22/07/2022)

Videos: 3
28 - 1# - I edited a video a little on Sony Vegas (16:49 06/03/2022)
43 - I edited a video a little on Sony Vegas (17:00 25/07/2022)
44 - I edited a video a little on Sony Vegas (19:42 26/07/2022)







8 - I drew a little on "Paint Tool SAI" (13:14 20/04/2023):



Task number:
8

Task number by task type:
1

Task title:
I drew a little on "Paint Tool SAI"

Task type:
Drawings

When I completed the task:
13:14 20/04/2023

When I completed the task (UTC):
2023-04-20T16:14:52Z

Entry:
8. Drawings (13:14 20/04/2023)

States:
First drawing in year

Task description:
I drew a little on "Paint Tool SAI".

I started to draw my OC pony "Izaque, Stake2, Funkysnipa Cat" on Paint Tool SAI.
I placed the stallion pony base, put the Stake2 logo, made the pony's background and shadow.
I copied the reference texts (eyes, mane, coat) from Ana's OC.
I also copied the name of Ana's OC written in Line Art and used the letters and their size as a base to write the name of the OC.
I got Flash Sentry's mane and Soarin's tail to use on the OC.
I painted the base, mane, and tail with the OC colors (very orange) to have a baseline of what the OC will look like and its colors.
I think it looks really nice, Flash Sentry's mane is very stylish and suits me, and Soarin's tail is the same as the tail of Derpy Hooves.
I'm very happy to see how the OC is turning out, it's very beautiful :3.
I made the line art for the body, tail, and mane and painted the three.
I made the eyes and added the Cutie Mark (Stake2 logo) on the flank and the Cutie Mark reference.
I also added the eyes, mane, and coat colors to the color reference.
I made the line art for the three wings, left, right, and closed left wing.

I started to draw it in "02:36 21/01/2023" (HH:MM DD/MM/YYYY).
And finished drawing it in "13:00 20/04/2023" (HH:MM DD/MM/YYYY).
It took so long for me to finish it because I stopped for three months because I was busy with other things.
When I started the drawing did not have any line art, only the painted base.
I drew for 3 hours.
Totaling 5 hours and 23 minutes (05:23).

I posted the drawing on my profile on DeviantArt here:
https://www.deviantart.com/stake2/art/Izaque-Stake2-Funkysnipa-Cat-958943606



17 - I drew a little on "Paint Tool SAI 2" (19:52 09/12/2023):



Task number:
17

Task number by task type:
2

Task title:
I drew a little on "Paint Tool SAI 2"

Task type:
Drawings

When I completed the task:
19:52 09/12/2023

When I completed the task (UTC):
2023-12-09T22:52:54Z

Entry:
17. Drawings (19:52 09/12/2023)

Task description:
I drew a little on "Paint Tool SAI 2".

I redraw the sniper of one of my Digital Identities called "Funkysnipa Cat".
I chose the "Barrett M107A1 M82" sniper to draw because I think it is a very beautiful sniper with good functions.

I took a line drawing (silhouette) of the sniper and did the line art over it.
Then I painted the parts black and gray, added the logo of my first Digital Identity "Stake2" to four parts of the weapon.
I added a light green background to the black and gray paint.
I also added the signature of the drawing as the "Stake2" logo, and increased the size of the canvas to fit the logo.
I made another painting all in orange with dark orange and light orange parts, and also a dark orange background.
I wrote the sniper's name in black and orange, in their separate layer folders, "Grey" and "Orange", respectively.

I started drawing at "18:25" (six twenty-five in the afternoon).
And I finished drawing at "19:19" (nineteen and nineteen at night).
I drew for 54 minutes.

I posted the drawing on my profile on "DeviantArt" here:
https://www.deviantart.com/stake2/art/Barrett-M107A1-M82-Stake2-1000667376



18 - I drew a little on "Paint Tool SAI 2" (09:08 13/12/2023):



Task number:
18

Task number by task type:
3

Task title:
I drew a little on "Paint Tool SAI 2"

Task type:
Drawings

When I completed the task:
09:08 13/12/2023

When I completed the task (UTC):
2023-12-13T12:08:27Z

Entry:
18. Drawings (09:08 13/12/2023)

Task description:
I drew a little on "Paint Tool SAI 2".

I continued to draw my OC of "My Little Pony: Friendship Is Magic" called "Izaque (Stake2, Funkysnipa Cat)".

Started drawing his first reference sheet on January 21, 2023 at 02:36 (02:36 21/01/2023).
I drew for 2 hours and 23 minutes (02:23).
Stopped for a few months, then continued drawing on April 20, 2023 at 13:14 (13:14 20/04/2023).
I drew for 3 hours, totaling 5 hours and 23 minutes (05:23).

Old reference sheet:
https://www.deviantart.com/stake2/art/Izaque-Stake2-Funkysnipa-Cat-958943606

Current changelog:
I updated the file of "Paint Tool SAI 1" of the cartoon to "Paint Tool SAI 2".
Updated the Stake2 logos to the new logo with an orange fire border around it.

I changed the OC name texts and reference texts to texts created in PTS 2 directly.
Not handwritten texts with line art, but texts typed with the new text tool.
All in the "Impact" font and bold.
I renamed all the layer names to Portuguese names and organized the layers and folders in a better way.

I improved the line art for the mane, tail, body, and wings, I improved the tips too, making them sharper.
Also improved the second color paintings on the mane and tail, making them more beautiful.
I took a base unicorn horn and drew on top to make the horn of my OC.
I remade the texts, colors, and backgrounds of the color reference of the pony.
With better texts with the Impact font, better-painted colors, and better backgrounds.
Before, there was only color reference of the eyes and mane together, and the coat.
Now there is the reference of the colors of the coat, horn, mane, and eyes, all separate.
And now there is also reference texts of colors in Portuguese and English, previously there were only texts in English.

I organized the layers of reference texts and colors into folders with texts in Portuguese and English.
So I can switch between languages of reference texts more easily.
I made the magical aura around the horn of the OC, which appears when he uses his magic.
I moved the name of the OC higher and placed an orange bar below it to give it more contrast.
I also improved the color reference of the horn and magical aura.
Placing the reference colors along with a copy of the horn and magical aura above them, to make it easier to visualize and draw.
I aligned the texts and reference colors of the coat, mane, and eyes, from left to right.

I remade the eyes, improved the reference texts, and added the two other Cutie Marks that were missing, "Izaque" and "Funkysnipa Cat".
Updated the profile picture of Cutie Mark "Funkysnipa Cat" to the new one, with the new sniper weapon drawn.

I made a video of the Cutie Marks of the OC smoothly switching, "Izaque", "Stake2", and "Funkysnipa Cat".
I also made a video of the OC, showing his Cutie Marks switching too.
The videos were made in the "MP4" format, using the video editing program "Sony Vegas Pro 11", and then converted to the "GIF" format.

I finished drawing it on December 10, 2023 at 02:15 (02:15 10/12/2023).
Totaling 11 hours and 30 minutes (11:30) of work since January 21, 2023 at 02:36.

I posted the drawing on my profile on DeviantArt here:
https://www.deviantart.com/stake2/art/OC-Izaque-Stake2-Funkysnipa-Cat-Reference-1001565893

GIF of the Cutie Marks of the OC alternating between each other:
https://www.deviantart.com/stake2/art/Izaque-Stake2-Funkysnipa-Cat-Cutie-Marks-GIF-1001568278



11 - I programmed my websites in PHP a little (17:28 27/05/2023):



Task number:
11

Task number by task type:
1

Task title:
I programmed my websites in PHP a little

Task type:
PHP

When I completed the task:
17:28 27/05/2023

When I completed the task (UTC):
2023-05-27T20:28:39Z

Entry:
11. PHP (17:28 27/05/2023)

States:
First PHP task in year

Task description:
I programmed my websites in PHP a little.

I fixed the writing of the "website template" JSON contents into new "Website.json" files that are created which are empty.
For example, it was causing an error of not finding any keys in the JSON of the "2023" website because the file was empty.
I also added the "add_n" parameter on the "Contents" method of the "File" class, to disable "\n"s (line breaks) in the text to get the JSON file contents.
Because it was causing the "website template" JSON contents to be written with spaced lines.
I started to remake the "Watch History" website to update the "Watched media" tab template and tab content generator.
Utilizing the new way of reading the data of "Watch History", with the new data based on the "Entries.json" file.
I finished making the "Media being watched" and "Past registries" tabs of the "Watch History" website.
I created the new "Sanitize_Title" function to sanitize the media titles.
And the "Generate_Media_Type_Headers" function generates the media type headers with the links to the media type anchors on the website.
I also added the website buttons to each tab, the button on the left is the "previous tab" button.
The button on the right is the "next tab" button.
I converted the old task histories from 2018 to 2022 to convert them to the new JSON format.
I also moved the "Tasks" tab generator from the "Years" website folder to the "Tasks" website folder.
I fixed the code of the generator, making it unique for all of the years, by reading the history in the new format.
I added the creation of entry (media unit or tasks) tabs to the "Watched" and "Tasks" tab content generators.
The "Watched" tab content generator creates the entry tabs of the watched media if the user commented on the watched media.
The "Tasks" tab content generator creates the entry tabs for all tasks if the current year is more or equal to 2023, the year I started writing task descriptions.
The entry tab contains the entry information, which is obtained from the entry file inside the years' folder.
I also added a new module "lib_autolink" to linkify links inside tab content and file reads.

I updated the "2022" website to add the "Goodbye 2022" text to the "Summary" and "This Year I" texts.
I updated the "2021", "2022", and "2023" websites to update the "Watched media" tabs.
I updated the "Watch History" website because I remade it with the new style.
I updated the "2018", "2019", "2020", "2021", "2022", and "2023" websites to update the "Watched media" and "Tasks" tabs.
I updated the year websites from 2018 to 2023 to update the "Watched media" and "Tasks" tabs.
I also updated the "Watch History" website to update the "Watched media" tab.



13 - I programmed my websites in PHP a little (05:35 22/10/2023):



Task number:
13

Task number by task type:
2

Task title:
I programmed my websites in PHP a little

Task type:
PHP

When I completed the task:
05:35 22/10/2023

When I completed the task (UTC):
2023-10-22T08:35:21Z

Entry:
13. PHP (05:35 22/10/2023)

Task description:
I programmed my websites in PHP a little.

I improved the way of inserting variables inside story chapters.
The stories now contain general and language chapter variables files.
The general files contain variables that do not have language texts.
The language files contain language texts of the chapters.
Now, the "insert variables" part of the "Chapter_Text" method of the "Story" class iterates through the chapter text lines and inserts the general variables, and then the language variables.
It replaces the line which contains the variable with the content of the variable, by accessing the line by its number.
I created a way for me to be able to edit the chapter of a story on the local PHP website in the server.
By creating a stylized textarea element with the original chapter text for me to edit it.
I fixed several errors on all websites, especially the story websites, "Watch History", "2023", and "My Little Pony: Friendship Is Magic".
I renamed the "Website_Dictionary.php" file to "Make_Website_Dictionary.php", and improved it a lot.
The "Website_Information.json" file was renamed to "Dictionary.json".
And the "Root websites.json" file from the "Websites" folder was renamed to "Websites.json".
I created a way for websites to have parent websites, which will be located in the source website folder.
By placing the name of the source website in the "Configuration" dictionary, in the "Websites.json" file.
The "Friendship is Magic" site is in the "My Little Pony" parent site folder.
I also created a way for the stories to have parent stories, like the story "Rise to Equestria" being a child of the story and website "My Little Pony: Friendship Is Magic".
Or how the story "SpaceLiving" is a child of the story and website "New World".
I did this in the Python module "Stories.py", which updates and reads the stories "Information.json" files.
You can now remove websites from the website buttons tab by placing their name in the "Remove from websites tab" list in the "Websites.json" file.
I improved the "verbose" mode of the system, now it shows data from all websites when running the "Make_Website_Dictionary.php" file.
And showing website data in a more beautiful and organized way, the mode can now be activated by typing "verbose=True" along with the website link.

I updated all story websites to update the chapter texts and variables.
I updated the "Watch History" and "2023" websites to update the watched media and other website content.
I updated all the JavaScript files to improve and localize the class, method, and function texts shown on the Developer Console.
I created a new function inside the "Functions" JavaScript file to hide the hamburger menu button on scrolling down and show it on scrolling up.
I updated the "Watch History" website to fix errors, update the watched media lists, and layout and styling changes.
I updated the "Stake2" website to update the style, colors, theme, to update the texts and profile pictures of the Digital Identities, and also to update the Social Network links.
I updated the "The Life of Littletato" and "SpaceLiving" websites to fix errors, and to update the chapter titles and texts, readers list, theme, and colors.



15 - I programmed my websites in PHP a little (05:15 25/11/2023):



Task number:
15

Task number by task type:
3

Task title:
I programmed my websites in PHP a little

Task type:
PHP

When I completed the task:
05:15 25/11/2023

When I completed the task (UTC):
2023-11-25T08:15:47Z

Entry:
15. PHP (05:15 25/11/2023)

Task description:
I programmed my websites in PHP a little.

I improved the way of writing website descriptions, now a "Descriptions" folder can be created inside the website folder in PHP.
Files with names of all languages of the websites can be created inside them, containing the language descriptions.
Now the "{website_title}" text or the website title can be used to replace the website title with a colored version of it.
I removed the basic website descriptions and tabs from the "Website.json" file of all year websites, removing duplicated content between website files of all year websites.
So all year websites use the same website descriptions and tabs, defined in the "Website.php" file.
I also removed the basic website tabs for all story websites, now they can use the same tabs defined in the "Story.php" file.
Without having duplicate content on all "Website.json" files of story websites.
I improved the way the story websites create the "write chapter" element on the local version of the websites.
Now it creates a "write chapter" div for each chapter, resizes it to show all lines, and scrolls to it when the chapter tab is opened.
I can now use the "write=True" parameter on the URL to turn on the writing mode and to create "write chapter" text areas for all chapters.
The "Story.js" JavaScript file does the scrolling and resizing trigger of the text areas.
I also fixed the wrong chapter numbers and titles on the "previous" and "next" chapter buttons.
I created a new folder dictionary for the image folders of the websites.
It contains the local and remote forms of the folders.
And using the new website image folder which contains website icons and images.
Not using the old separated folders for icons and images.
In the "HTML" class, I created the new "Image" method, for creating image elements in an easier way.
They only have to give the image source to the method, and maybe custom classes and attributes.
On the "Folder" class, I created the new "Contents" method, to list the folders and files inside of a folder.
It has folder and file arrays (lists), and dictionaries containing the name, extension, path, creation time, and modification time.
On all websites of years, I created the new "Memories" tab, to show the memories of the year in the form of images.
The "Memories" tab content generator generates the contents of the memories tabs.
It reads the contents of the "Memories" folder inside the images folder of the website.
And looks for image files inside it, listing the files in numerical order.
It then creates elements of the images, with the image title, number, and date.
And then adds those elements to the tab content of the "Memories" tab.
I updated the text colors of type numbers and entry titles of the "Watched media" (Watch History) and "Completed tasks" (Tasks) tab content generators.
I changed those text colors to the dark text color of the website style, to give it a highlight, and not use the same color everywhere.
I also used the dark text color to all numbers in tab titles, to give them a highlight.

I improved the "image_size" CSS class on the "Main.css" file.
I fixed the image size for a lot of resolutions because the images were too big on small resolutions.
I also added a scrollbar to the hamburger buttons menu if the buttons overflow to off the screen.
I greatly improved the JavaScript code of the "Story.js" file, improving its log text shown on the console.
I joined the "Define_Chapter" and "Open_Chapter" texts together, to show all in one go.
I also added a way to scroll to the "write chapter" text area if it exists and added the page scrolling log text.

Updated websites:
I updated the "Stake2" website to fix and update the profile pictures of the Digital Identities and some elements of the website.
I updated the "SpaceLiving", "The Life of Littletato", and "The Secret of the Crystals" websites to update the chapters, chapter buttons, style, and "Other stories" tab, and fixed some variables.
I updated the "Watch History" website to update the watched media, titles of the website, descriptions, tab titles, and layout.
I updated the "Stake2" website to update the "Izaque" tab.
I updated the "2023" website to update the tabs and their contents.
I updated the "Watch History" website to update the colors of the "Watched media" tab.



19 - I programmed my websites in PHP a little (00:51 28/12/2023):



Task number:
19

Task number by task type:
4

Task title:
I programmed my websites in PHP a little

Task type:
PHP

When I completed the task:
00:51 28/12/2023

When I completed the task (UTC):
2023-12-28T03:51:49Z

Entry:
19. PHP (00:51 28/12/2023)

Task description:
I programmed my websites in PHP a little.

PHP:
I updated and fixed the keys of folders and files inside the dictionary of folders.
I also made various improvements on the definition of website images, with new image folders, and new file names to look for.
On the "Stake2" website, I improved the way that the profile picture versions of the digital identities are shown.
The different versions and special versions of the profile pictures are now shown in separate sections of the tab.
I also added the "Fandom" and "Stake2 Fandom" social networks to the tab of social networks.
I added the covers of the digital identities to their tabs.

HTML:
Now the users can use the "tab" link variable (GET) to open tabs using the tab id, on the "Tabs.js" JavaScript file.
Before, they would need to know the tab number and use it to open the tab.

Updated websites:
Stake2, to update the tabs of the digital identities, adding and updating the images, adding cover images, and adding sections for the images
My Little Pony: Friendship Is Magic, to update the website image
Watch History, to update the website image
New World
SpaceLiving
The Life of Littletato
The Secret of the Crystals
The Story of the Bulkan Siblings
2018
2019
2020
2021
2022
2023

I updated all year websites to update their website images, and also to add the new "Pictures" tab.



1 - I programmed in Python a little, coding my modules Christmas, Code, Years, Watch_History, Food_Time, Block_Websites, Folder, Tasks, and Date (19:50 04/01/2023):



Task number:
1

Task number by task type:
1

Task title:
I programmed in Python a little, coding my modules Christmas, Code, Years, Watch_History, Food_Time, Block_Websites, Folder, Tasks, and Date

Task type:
Python

When I completed the task:
19:50 04/01/2023

When I completed the task (UTC):
2023-01-04T22:50:00Z

Entry:
1. Python (19:50 04/01/2023)

States:
First task in year
First Python task in year

Task description:
I programmed in Python a little, coding my modules Christmas, Code, Years, Watch_History, Food_Time, Block_Websites, Folder, Tasks, and Date.

In the "Christmas" class, I fixed errors related to getting the folder of the current Year.
On the "Update_Websites" class of the "Code" module, I added the ability to let the user create a website list to update by selecting websites from the websites list.
On the "Verify_Current_Year" class of the "Years" module, I fixed some errors related to creating New Year folders.
In the "Watch_History" class, I fixed errors related to the Watched folder of the New Year, where the "Define_Folders_And_Files" method tries to get the first line of a file of the "watched media number" that is empty.

In the "Food_Time" class, I created the "Set_Timer" method to open a countdown to the "will be hungry" time on the "Time And Date" (timeanddate.com) website.
And to schedule a task on the operating system to play an alarm sound file on the browser when the "will be hungry" time is reached.
I also created the "Play_Alarm" class to be used on the path of the scheduled task, to open the alarm sound file on the browser.

I renamed the "App Text Files" folder to "Module Files".
I also modified all of the "Define_Module_Folder" methods of every class of every non-utility module to make the definition of the contents of the "Module Files" and "Modules" folders dynamic, using the "Contents" method of the "Folder" class.

In the "Unblock" class of the "Block_Websites" module, I added the ability to let the user create a website list to unlock by selecting websites from the websites list.
In the "Block" class of the same module, I updated the text that the class writes to the "hosts" file, adding a header showing the "Block_Websites.py" text.

In the "Food_Time" class of the module of the same name, I improved a lot, adding a "Times.json" file to the "Modules Files" folder of the module.
I created a new dictionary called "times" to contain the time to add to the current time, like the "can_drink_water" and "will_be_hungry" times.
It also contains the time units to be added, like minutes or hours, the texts like "This is the time that you" plus the text of the time type.
And the date and time string of the time, the time string is like "Hours:Minutes", "18:30".

In the "Folder" class, I improved the creation of the folders on the folders dictionary, making it more dynamic with "for" loops, and also added the ability to create files using the "File" class.

In the "Tasks" class, I improved the definition of its folders, using the "Contents" method of the "Folder" class.
I also created a new "Tasks.json" file and added more things to be written inside it.
Like the number of total tasks, the list of task types, task names in English and Portuguese, and task descriptions in English and Portuguese.
The "Tasks.json" file also exists inside all of the "By task type" task type folders, but with only the task type dictionary.
I improved the "Tasks" JSON dictionary a lot, adding "ISO8601" and language times, and this file name format: "Number. Task Type (Time)".
I remade the "Register_Task" class to write on the new "Tasks.json" file and the same files on the tasks type folders.
I also added a "Task list.txt" text file on the root folder and on each task type folder to contain the file names of the tasks.
And a "Files" folder on each task type folder contains the task files, with a text containing all of the information about the task.
I also created a new class called "Show_Tasks" to show all the information about the registered tasks.

In the "Date" class, I improved the keys of the dictionary of the "Now" module, adding more date, time, and datetime formats.
I also added day name, month name, date, and datetime formats in each language, as the "day_names", "month_names", "date_format", and "datetime_format" dictionaries.



2 - I programmed in Python a little, coding my modules Watch_History, Module_Selector, and JSON (16:38 23/01/2023):



Task number:
2

Task number by task type:
2

Task title:
I programmed in Python a little, coding my modules Watch_History, Module_Selector, and JSON

Task type:
Python

When I completed the task:
16:38 23/01/2023

When I completed the task (UTC):
2023-01-23T19:38:00Z

Entry:
2. Python (16:38 23/01/2023)

Task description:
I programmed in Python a little, coding my modules Watch_History, Module_Selector, and JSON.

I started to remake the code of the "Watch_History" module to have the information about the media and media types in JSON format.
And also to register the watched episodes or movies in a file called "Episodes.json" file on the "root watched folder" and "media type watched folder".
I remade all of the methods on the root class to improve them, and to use the same "media dictionary" for selecting a media type and a media.
I also integrated the code of the "Define_Media_Variables" method of the "Watch_Media" class into the "Define_Media_Dictionary" method.
I changed the style of the "media types" dictionary, to have all of the information about the media type, its texts, folders, subfolders, genders, and media list.
Now the "Select_Media_Type" method does not have to define all of the information about the selected media type.
I started to remake the part of the media episode information definition of the "Watch_Media" class, on the "Define_Media_Episode_Variables" method.
I also renamed the "Media_Info_Database_Manager" class to simply "Media_Info" to become smaller.
I renamed the "Define_Media_Episode_Variables" method to "Define_Episode_Variables" and removed the "Update_Media_Dictionary" method.
I renamed the "Define_Media_Episode_Unit" method to "Define_Episode_Unit".
I renamed the "Show_Opening_Media_Info" method to "Show_Information".
I renamed the "Open_Media_Episode_Unit" method to "Open_Episode_Unit".
I renamed the "Make_Discord_Status" method to "Create_Discord_Status".
I finished fixing the "Watch_Media" class.
I removed the need for series media with no media list to have a "Seasons" or "Series" folder to be able to define their media item.
I also fixed the "Comment_Writer" class and changed the way of registering comments, using Python dictionaries and JSON files.
I renamed the "Register_Watched_Media" class to "Register_Media".
I renamed the "Start_Watching_A_New_Media" class to "Start_Watching_Media".
I renamed the "Open_Data_File_Of_Media" class to "Open_Details_File_Of_Media".
I renamed the "Create_New_Media_Info_Entry" class of the "Media_Info" class to "Add_New_Media".
I added a "Descriptions.json" file to the "__init__.py" file of the "Media_Info" folder.
I created the "Define_Episodes_Files" method on the root class to define the default Episodes dictionary to register the episodes.
Or get the already filled dictionary from the "Episodes.json" file and media type JSON files.
I removed the "Ask_For_Food_And_Drink" method from the "Register_Media" class.
I renamed the "Define_Diary_Slim_Watched_Text" method of the "Register_Media" class to "Define_Diary_Slim_Text".
I renamed the "Fetch_Next_Episode" method of the "Register_Media" class to "Check_Media_Status".
I moved the part of the code of the "Check_Media_Status" method where it registers the media (and media item) as completed to the new "Set_Media_As_Completed" method.
I finished fixing the "Register_Media" class, and now it writes into the root "Episodes.json" file and the media-type ones.
I fixed errors related to video media and added the remote dictionary if the media details contain the "remote origin" key.
I did that to use the remote link on the "Comment_Writer" class to open the remote link for the user to post the comment.
I added the "with_title" key to the episode dictionary on media with media list or without.
Now the JSON of comments on video media contains the video YouTube ID, comment link, and comment ID.
I fixed errors of registration on the "Register_Media" class, where keys were inserted in the wrong places in the JSON dictionaries.
I renamed the "Open_Details_File_Of_Media" class of the "Media_Info" class to "Open_Details_File".
I renamed the "Fill_Episode_Titles_File" class of the "Media_Info" class to "Fill_Episode_Titles".
I moved the definition of the media item and its details and variables from the "Define_Media_Dictionary" method of the "Watch_Media" class to the new "Define_Media_Item" method of the root class.
I renamed the "Update_Media_Info_Details" class to "Update_Files".
Its methods are "Iterate" and "Convert_Comments".
This class serves to convert files from the old registry style to the new one.
I made the method of converting old comments only to series media.
Also fixed and improved various things related to media with "Re-Watching" status and media being watched dubbed.
I added the number of times re-watched to the re-watched text, to be used in the file registry of watched episode, in the Diary Slim registry, and in the visual registry of the "Show_Media_Information" method.
I created a "States" dictionary in the comment and episode log dictionary for media that is being re-watched, dubbed, or watched at Christmas.
If the media has any of these enabled states, the "States" dictionary is created, and the enabled state's text is added to the watched episode's log file.

I improved the main class of the "Module_Selector" or "MS" module a lot, improving the definition of the argument parser.
I moved the code related to the argument parser to the new method called "Define_Parser" to make the code more organized.
I added dictionaries for default arguments, options, and function arguments to pass to ArgumentParser.
I created the "Add_Argument" method to add arguments and replaced the original "help" text with a new help text with a description and epilogue.
I also a text explaining each of the "testing", "verbose", and "user information" arguments in the user language.
I added the ability for the modules to define a list of argument names to add to the list of arguments that can be used to run the module.
And the ability for the modules to add a list of additional arguments to be added to the arguments list, using the specified explanatory text in the argument dictionary.
Like the "Food_Time" module that has the additional arguments "set" and "check", the "set" one is for defining the meal time, and the "check" is for displaying it.

I moved the JSON-related methods of the Language class to a new utility module called "JSON".
It has a method to Create files, a method to Edit them (only in "write" mode, not "append"), and a method to Show JSON.
It also has a method called "From_Python" to convert Python to JSON, and "To_Python", to convert the contents of a JSON file to Python.
Now the modules that need to edit a JSON file do not need to use the "JSON.From_Python" method to convert the Python data to JSON, it is converted automatically.
And the modules do not need to provide the "w" parameter to the method to write to the file, it is also added automatically.
I also added the name of the class on the Verbose methods of all utility modules that show information.



3 - I programmed in Python a little, coding my modules Watch_History, Tasks, and Module_Selector (04:53 02/02/2023):



Task number:
3

Task number by task type:
3

Task title:
I programmed in Python a little, coding my modules Watch_History, Tasks, and Module_Selector

Task type:
Python

When I completed the task:
04:53 02/02/2023

When I completed the task (UTC):
2023-02-02T07:53:00Z

Entry:
3. Python (04:53 02/02/2023)

Task description:
I programmed in Python a little, coding my modules Watch_History, Tasks, and Module_Selector.

On the "Watch_History" module, on the "Register_Media" class, I renamed the "Check_First_Episode_In_Year" method to "Add_File_To_Year_Folder".
The current year folder has a "Watched media" folder on each language folder to register watched media by year.
On the root class, I created the "Define_States_Dictionary" method to define "Re-Watching", "Christmas", and "watching dubbed" states of the media.
I also added the "First episode in year" state to the states dictionary, replacing the "episode" text with the container text of the media (the media type by default).
In the "Watch_Media" class, I modified the language media texts (container, item, and unit) to a language dictionary with the texts in all languages.
I also fixed some errors and wrong texts for "videos" media, on the Diary Slim watched text and text of the "Show_Media_Information" method.
I finished the "Convert_Comments" method of the "Update_Files" class, now I just have to get the English titles of the media for the English title to not be empty.
I added the "First media type episode in the year" state to the states dictionary, now the "First episode in year" state represents the first thing watched in the year, not restricted by media type.
I created the new root method called "Get_Media_List" to get the media list of a media type, to be used in the "Define_Media_Types" root method.
It is also used in the "Update_Files" subclass of the "Media_Info" class to get the media list of all "watching" statuses, not just the "Watching" and "Re-Watching" ones.
I created the "Sanitize_Title" root method to remove specific characters from a media title or media item title, to not use duplicate code around the files.
On the "Register_Media" class, I renamed the "Register_Episode_In_JSON" method to "Register_In_JSON", and the method "Create_Episode_File" to "Create_File".
I created a "Watched" folder on each media folder to store a "Watched.json" file with the watched episode or movie data.
I changed the structure of the "Episodes" dictionary, separating lists inside the "Lists" key.
I added the ability for media to define a media item that is a "single unit" media item, just like a movie.
If the item is a single unit, the module does not try to search for episode titles or get the episode number from them.
The "finished watching text" with the dates is also not added to the Diary Slim "watched" text.
I created the root method called "Check_Status" to add a media to its correct "watching status" media list or remove it from its wrong "watching status" media list.
I also created the root method called "Change_Status" to change the "watching status" of a media and update the "Info.json" file of the media type, to update the "watching status" lists.
I added the "episodic" state to the list of states, it is enabled by default but disabled for Videos.
If enabled, the classes and methods will add the episode separator and number to the episode title, and the file names of the comment and "watched" files will be the episode number.
The "episodic" state is only enabled for videos if the "Define_Media_Item" class finds the "Part " or "#" text along with a number on one of the episodes' titles.
The file names for comments and "watched" files of the video series with the "episodic" state disabled will be the video title.
On the "Register_Media" class, I renamed the "Define_Episode_Text" method to "Define_File_Text".

On the "Tasks" module, I separated the task type tasks dictionary from the root tasks dictionary.
I improved the methods of its "Register_Task" class to become more like the methods of the "Register_Media" class of the "Watch_History" module.
I renamed the "Register_Task_In_JSON" method to "Register_In_JSON", and the method "Create_Task_File" to "Create_File".
I created the "Define_File_Text" method to define the file text to be written.
I also added a "states" dictionary to the Tasks dictionary and the file text, just like "Watch_History".
I created the "Define_States_Dictionary" root method to define the states dictionary.

I removed the imports of utility modules from the root files of all usage modules to improve the speed of running the "Module_Selector" (MS) file.



4 - I programmed in Python a little, coding my modules Watch_History, API, Date, Database, and Tasks (04:25 11/02/2023):



Task number:
4

Task number by task type:
4

Task title:
I programmed in Python a little, coding my modules Watch_History, API, Date, Database, and Tasks

Task type:
Python

When I completed the task:
04:25 11/02/2023

When I completed the task (UTC):
2023-02-11T07:25:55Z

Entry:
4. Python (04:25 11/02/2023)

Task description:
I programmed in Python a little, coding my modules Watch_History, API, Date, Database, and Tasks.

On the "Watch_History" module, I made the following changes:
On the root class, on the "Define_Media_Item" method, I added code to count the number of episodes in a media item and write it into the media item details file.
I also added code to count the total number of episodes of all media items of a media, and the number of media items, and write them into the media details.
On the "Update_Files" subclass of the "Media_Info" class, I created the "Check_Titles" method to check for empty episodes' title files.
If the method finds an empty file, it opens the file and asks for user input, waiting for the user to fill the file with episodes' titles.
I also created the "Add_Date" method to add the exact date of release or creation of a media and the creation or release of a media item.
It checks if the "Year" key is inside the media or media item details, and the "Date" key is not.
If that condition is met, the method asks for the exact date, it then adds the date to the details file.
I removed the "Lists" key of the registry format of the "episodes" dictionary template to not have one data two times inside the same file.
I moved the singular and plural media types lists to the "Types.json" folder inside the "Data" folder of the "Audiovisual Media Network" folder.
I moved the default "genders" and "gender items" lists to the "Texts.json" file of the "Language" class.
I renamed the "YouTube IDs" text files to "IDs" to be more general, and moved them to the "Titles" folder, inside the "Media Info" folder of each video media.
I moved the "watched" and "comments" registry dictionaries to a local variable inside the "Define_Media_Item" root method.
I improved the root "comments" dictionary to become more organized, it has the total number, number by year, type, and type by year.
I renamed the "Define_Media_Types" root method to "Define_Types" and the "Define_Episodes_Files" to "Define_Registry_Format".
Those methods follow the template of the "Database" module to define the entry types and registry format.
I also updated and fixed all dictionaries' keys that relate to the registry format, including the numbers of all registries, like JSON files of the registries of "comments" and "watched".
I renamed the "Register_Media" class to "Register" and created a new sub-class called "View".
I moved the "episodes" and "media_type_episodes" dictionaries to a new dictionary called "dictionaries".
I improved the things related to the "Watched" and "Comments" files, related to verifying and editing them.
I added the new "commented" state, to register if the user commented on the watched episode or movie.
I also changed for every media to have a comments folder, even movies or single unit items.
I improved the register class and things related to the "Watched History" database.
I also converted the old style of video comments to the new JSON style using the "Convert_Old_Comments" method of the "Update_Files" class.

I created the new "API" utility module to handle APIs and API calls, the only currently supported API is the "YouTube" one.
It uses the "google" Python module and OAuth2 to give access to the API.
The module has the ability to get channel, playlist, and comment information, and add the information into a dictionary.
But the planning for the future is to support the APIs of "MyAnimeList", "AniList", "AnimeNewsNetwork", and "Wikipedia".
Those APIs will be used inside the "Watch_History" module to collect media information.

I moved all of the utility modules to the new "Utility" folder inside the "Modules" folder.
The "Language" class now can show the user name and timezone in the "Show_User_Information" method.
I created the new "Define_Folders" utility module to define "module" and "module files" folders for utility modules that are not the "Folder" one.
I removed the imports of the utility modules from the outside part of the "Run" classes that runs the sub-classes of usage modules to improve speed.
I also remove the sub-class imports inside the "Run" classes and transformed the "classes" list into a list of strings, and not classes, also to improve speed.
The sub-class is imported after it is selected, using the "importlib" and giving the subclass name to it.
I removed the imports of the "Folder" and "Language" classes inside the "Run" classes to improve speed.

On the "Date" utility module, I added the "UTC" key to define the date in UTC.
I created the new "To_String" method to convert a datetime into a string using the default format "YYYY-MM-DDThh:mm:ssZ".

I created the new "Database" usage module to define a template for databases like the "Watch_History" and "Tasks" databases.
It defines the entry types, registry format, and register class to register entries inside the database.

On the "Tasks" module, I renamed its entry types and registry methods to comply with the entry type and registry template of the "Database" module.
I also renamed the "Register_Task" sub-class to "Register" and created a new sub-class called "View".
I improved its register class a lot, and also defined the items of its task types like the "Database" and "Watch_History" modules define their entry types, inside the "Define_Task_Type" root method.



5 - I programmed in Python a little, coding my modules Tasks, Watch_History, and JSON (13:43 16/03/2023):



Task number:
5

Task number by task type:
5

Task title:
I programmed in Python a little, coding my modules Tasks, Watch_History, and JSON

Task type:
Python

When I completed the task:
13:43 16/03/2023

When I completed the task (UTC):
2023-03-16T16:43:34Z

Entry:
5. Python (13:43 16/03/2023)

Task description:
I programmed in Python a little, coding my modules Tasks, Watch_History, and JSON.

On the "Tasks" module, I added the "item folders" key to the task types dictionaries to be used inside the "Add_Entry_File_To_Year_Folder" method of the "Register" class.
It is used to define a single item folder for the "first task of the year", like "Python", or "story chapter".

On the "Watch_History" module, I converted all of the old anime, cartoon, and series comments to the new registry format with JSON dictionary and UTC time using the "Convert_Old_Comments" method of the "Update_Files" class.
I also removed the "media type comments" folder keys of the dictionaries of media, only having the media comments folder.
I created the new "Count_Comments_Number" method inside the "Update_Files" class to count all of the comments and update the root "Comments.json" file.
I also made the "Define_Registry_Format" root method add the root comments number of media types to the "per media type" entries files.
I added the new "original language" key to the media dictionary, the original language is used for getting episode titles.
The original language is the user language unless the "original language" key is inside the media details.
If that is the case, then the "Select_Media" root method gets the original language from the media details.
I made the "Select_Media" root method and the "Watch_Media" class replace the media title with the media item title if the "replace title" key exists inside the media item details.
I changed the "Comment_Writer" class to add the year and producer of a movie after the movie title inside the comment text.
I changed the "Define_States_Dictionary" root method to also define the states' texts by language.
I added the new "completed media" and "completed media item" states to the states dictionary.
I changed some of the states' names to capitalize them and remove their underline.
I created the new "Add_Anime_Information" method inside the "Update_Files" class.
The method asks the user for the link to the anime in the "MyAnimeList" website and gets the ID from the link.
Then it uses the "API" class to make a call to the API of MyAnimeList to get the anime details.
After that, it uses the new "Format_Anime_Details" method of the "Update_Files" class to format the anime details response that was gotten from the API of MyAnimeList.
Then it adds the start and end time (broadcast time) to the "start date" and "end date" keys inside the details of the media or media item.
It also adds the episode duration, studio(s), ID, and link of the anime to the details of the media or media item.
It writes the anime details dictionary gotten from the "Format_Anime_Details" method to an "Anime.json" file inside the folder of the media or media item.
And also updates the details file with the new updated details with episode duration, dates, studio(s), ID, and link.
On the "Update_Files" class, I renamed the "Format_Anime_Details" to "Format_Anime_Information", and improved it a lot.
I also improved the "Add_Anime_Information" method, I made it not fail when getting information from an anime that did not air yet.
I created the new "Paste_Links" method to ask the user to paste the links related to the media.
On the root class, I gave the "Select_Media" method the ability to define and create the JSON file that contains the media information and define its file name.
For example, in Anime media, the media has the "Anime.json" file name, and a season has the "Season.json" file name.
I wrote the basic code of the new "Add_Media_Information" method of the "Update_Files" class to add media information in JSON format.
It runs the "Paste_Links" method to paste the links related to the media.
And then runs the "Format_Media_Information" to format the media information in the correct JSON format depending on the media type.
I also wrote the basic code of the "Format_Media_Information" method to remove specific keys of the media information dictionary based on the media type.
And wrote comments on the media information dictionary template to better explain what values are going inside each key.
I renamed the "Update_Files" subclass of the "Media_Info" class "Manage" to be more general.
I made various improvements on the root, "Comment_Writer" and "Register" classes in terms of dictionaries and registry format.
On the "Manage" subclass of the "Media_Info" class, I created the new "Convert_History" method to convert the history of the years before "2022" to the new JSON registry format.
I renamed the "Iterate" method to "Iterate_Through_Media_List" and improved it.
I remade the "Fill_Episode_Titles" subclass of the "Media_Info" class to fix it and improve it, I renamed it to "Fill_Media_Files".
I improved the way that the media type and media are selected, removing the "Movies" media type and using the "Select_Media_Type_And_Media" root method to get the media type and media variables.
I remade the "Get_YouTube_IDs" method to use the new "Get_YouTube_Information" root method to get the playlist items (videos), IDs, and video titles.
The method also asks the user to translate the titles into other languages that are not the original media language (original channel and video language).
I also made various improvements related to single-unit media items.
Defining the correct media folders (root media folder) of them.
And also about changing the media language to the user language if the user wants to watch the media dubbed.
I also defined a default media language for anime, videos, and non-anime and non-video media.
The default media language is the user language, the default media language for anime is "Japanese", and the default media language for videos is "Portuguese".
The episode titles by language dictionary continue the same, but the episode title that the "Watch_Media" method uses for opening the media is changed to the media language episode title.
I made various improvements to the root class, the "Register" class, and the "Convert_History" method of the "Manage" subclass of the "Media_Info" class.
I gave the ability for the root class to define the "Type" text other than "season" or "series", like "Movie", "Pilot", "Special", or "OVA".
The type text is used in place of the "unit" and sometimes "item" text.
I programmed a way to set movies of that also exist inside media item lists as "Completed".
If the user watches a movie from a media item list and that movie exists inside the movies folder, the movie is set as "Completed".

On the "JSON" utility class, I created the new "Add_Key_After_Key" method to add a key and value to a dictionary after a specific key.



9 - I programmed in Python a little, coding my modules Database, Watch_History, Tasks, and GamePlayer (15:38 26/04/2023):



Task number:
9

Task number by task type:
6

Task title:
I programmed in Python a little, coding my modules Database, Watch_History, Tasks, and GamePlayer

Task type:
Python

When I completed the task:
15:38 26/04/2023

When I completed the task (UTC):
2023-04-26T18:38:54Z

Entry:
9. Python (15:38 26/04/2023)

Task description:
I programmed in Python a little, coding my modules Database, Watch_History, Tasks, and GamePlayer.

I improved the "Fill_Media_Files" subclass of the "Media_Info" subclass of the "Watch_History" module.
I created the new "Add_To_Videos_List" and "Add_Missing_Titles" methods.
The "Add_To_Videos_List" one helps the user add a new video (with ID and titles) to the videos list of a specific channel.
It also updates the "End date" key inside the media item details file with the newly added video date.
The "Add_Missing_Titles" method asks the user to translate the video titles in the language that is missing, the language that is not the native language of the video.
I made that method because the code of it would get duplicated inside the "Get_YouTube_IDs" and "Add_To_Videos_List" methods.
Now the root class updates the number of Entries inside the dictionary of Entries by iterating through the years list (from 2018 to the current year).
I removed the "Start_Watching_Media" class from the root classes list because its functionality is now inside the "Watch_Media" class.
It wrote the current date and time to the dates file of the media (and media item) that the user was going to start watching.
And it also changed the watching status of the media to "Watching".
Now the "Watch_Media" class can list media with the "Plan to watch" and "On hold" watching statuses for the user to start watching.

I improved the "Database" module and its database-related methods with the improvements made in the database methods of the "Watch_History" module.
I also modified the database-related methods of the "Tasks" module to comply with the database guidelines of the "Database" module.
I created the new "History" guideline inside the "Database" module to list the years inside the history and the number of entries of all years.
I updated all of the data network modules to comply with the new "History" guideline of the "Database" module.
I created the new "Data Information" guideline for defining information about data inside the "Database" module, following the way the "Watch_History" module defines the information about its data.
I also updated all of the data network modules that contain data information to comply with the new "Data Information" guideline of the "Database" module, which includes the modules "Watch_History" and "GamePlayer".
I created the new "Select Data Type" and "Select Data" guidelines for selecting and defining data and data type dictionaries.
And for also defining the folders, files, details, states, and information about the selected data.
I also created the methods of the two guidelines inside the root class of the "GamePlayer" module, following its customs about names of variables and dictionary keys.
I created the new "Registered" guideline for defining a separate JSON file to register the experience of each data inside the folder of each data.
The data that goes inside the main "Entries" JSON file also goes inside the "Registered" file of the registered data.
This guideline was based on the "Watched" feature of the "Watch_History" for registering the watched media inside each media folder.
I also moved the "By data type" entry numbers to a dictionary inside the "Numbers" dictionary with the key as the type name of each data network module.
I created the new "Change_Status" and "Check_Status" methods on the root classes of the "Database" and "GamePlayer" modules.
I also created the new "Check_Data_Status" and "Check_Data_Dates" modules on the "Register" classes of the two modules above, changing the "Data" part to "Game" on the "GamePlayer" module.
The "Change_Status" method changes the status of the data or game to the status given to it, or to "completed" if the status given to it is empty.
The "Check_Status" checks the status of the data or games inside the "Info.json" files, and checks if they are on the correct status list.
If they are on the wrong status list, the method removes it from the list, if they are not in the correct status list, the method inserts it inside the list.
The "Check_Data_Status" asks the user if they finished experiencing or playing the whole data or game, if the user says yes, then the data or game is completed.
The "Check_Data_Dates" defines the date that the user finished experiencing the data or playing the game, gets the difference between the started and finished experiencing or playing dates, and writes both into the data or game dates file.



12 - I programmed in Python a little, coding my modules Date, Database, Watch_History, GamePlayer, and Diary_Slim (22:20 02/06/2023):



Task number:
12

Task number by task type:
7

Task title:
I programmed in Python a little, coding my modules Date, Database, Watch_History, GamePlayer, and Diary_Slim

Task type:
Python

When I completed the task:
22:20 02/06/2023

When I completed the task (UTC):
2023-06-03T01:20:33Z

Entry:
12. Python (22:20 02/06/2023)

Task description:
I programmed in Python a little, coding my modules Date, Database, Watch_History, GamePlayer, and Diary_Slim.

On the "Date" module, I remade the "date" dictionary of the "Now" method to organize it better.
It has the "User timezone" key with the timezone string, UTC offset, and timezone name.
The "UTC" and "Timezone" dictionaries contain the "Object", "Date", "Time", and "DateTime" keys.
The "Object" key holds the datetime object, and each of the other three keys contains the "Object", "Units", "Texts", and "Formats" keys.
All keys inside the "Timezone" dictionary are inserted inside the root date dictionary because the modules usually use the datetime in the user timezone.
I remade the "Difference" method to replace the use of the "timedelta" method with the "relativedelta".
I made that because the "relativedelta" makes calculating the date and time difference between months and years better.
It takes into account leap years and months with different day numbers.
The "timedelta" method does not consider those things and only returns the total number of days of difference.
And with "relativedelta" I do not need to calculate the number of months and years of difference, it does that calculation for me.

On the "Database" module, I made the following changes:
I changed all Data Network modules to create a new "Manage" class inside them, to contain the classes to manage the Information Database and Experience Registry.
I created the new "Add_A_New_Data" guideline to make a base for adding new data to the information databases of the data networks.
It asks the user to type or select the information about the data, be it typing the information, selecting it from a list, or selecting a Yes or No (True or False) value.
Then it creates the data folders, and details file, and writes into the details file.
It also uses the respective "Select_Data" method of the module to define other variables and information about the data.
I created the new "Add_A_New_Media" class inside the new "Manage" class of the "Watch_History" module, using the "Add_A_New_Data" class of the "Database" module as a base.

On the "Watch_History" module, I improved the definition of secondary types for media items, such as pilots, specials, songs, or shorts.
I created the new "secondary types" dictionary to define the singular and plural secondary types by language.
I also improved the "Add_A_New_Media" class a little.
The "Add_A_New_Media" class now asks for "studios" for anime media, and "directors", "producers", and "distributors" for cartoons, series, and movies.

On the "GamePlayer" module, I created the new "Add_A_New_Game" class to add a new game to the database.
I also added the new "directors", "producers", and "distributors" information about the game.
I improved the way that the total gaming time is calculated on the "Calculate_Gaming_Time" root method.
It now adds the current gaming session gaming time (time difference) to the gaming time inside the "Time.json" file.
It then adds the time to the "Added time" key which is a copy of the time of the first gaming session.
Then it gets the time difference between the "First time" and the "Added time".
And finally defines the time units inside the "Time.json" file as the time units of the difference.

On the "Diary_Slim" module, I re-wrote it to use the new JSON format of the database, to register the years, months, and days.
It registers the information about the year, month, days, and Diary Slim files inside JSON files.
The "Year.json" file contains the year number, months number, year days number, and year Diary Slims number.
It also contains the "Months" dictionary that includes the months' dictionaries.
There is also the "Month.json" file which contains the year number, month number, month days number, month Diary Slims number, and month names and formats.
It also contains the "Diary Slims" dictionary that includes the Diary Slims dictionaries.
The "Diary Slim" dictionaries contain the day number and names, formats, creation time, hours and minutes of creation time, and data (like sleep times).



14 - I programmed in Python a little, coding my modules Diary_Slim, File, JSON, Watch_History, GamePlayer, Social_Networks, and Stories (05:38 22/10/2023):



Task number:
14

Task number by task type:
8

Task title:
I programmed in Python a little, coding my modules Diary_Slim, File, JSON, Watch_History, GamePlayer, Social_Networks, and Stories

Task type:
Python

When I completed the task:
05:38 22/10/2023

When I completed the task (UTC):
2023-10-22T08:38:09Z

Entry:
14. Python (05:38 22/10/2023)

Task description:
I programmed in Python a little, coding my modules Diary_Slim, File, JSON, Watch_History, GamePlayer, Social_Networks, and Stories.

I gave the "Diary_Slim" module the ability to create skipped Diary Slims, of days when the user did not create a Diary Slim.
I created the new "Check_Diary_Slims" method inside the "Create_New_Diary_Slim" class for that purpose.
It iterates through the days inside the month, and checks if the day is inside the Diary Slims list of the month.
If the day is not inside the list and the day is not today, it adds the day to the list of Diary Slims skipped.
It then creates the skipped Diary Slims by passing the dictionary with the date to the "Create_New_Diary_Slim" class.

On the "File" and "JSON" utility modules, I created the "Text_Difference" methods to get the text difference between two texts.
The method is used on the "Edit" method to get the text difference between the text on the file and the text to be written to the file.
It only gets the text difference for files with more than twenty lines, to not flood the console with the big file text with the verbose mode activated.
I transformed the "Text_Difference" methods into one method of the same name on the "Language" utility module.
I also added a "settings" dictionary with the "Add deletions" and "All text" filters, and the "Separators" setting.
These two filters change how the text difference is going to be created.

I made various improvements to the "Watch_History", "GamePlayer", "Social_Networks", and "Stories" modules.
I updated the "Post_On_Social_Networks" method of the "Register" classes of the "Watch_History" and "GamePlayer" modules.
I did that to add the "Twitter" Social Network to be opened on the method.
I also improved various utility modules a lot, making them more efficient and their code greater to look at.

On the "Watch_History" module, in the "Watch_Media" class, it is now possible to start re-watching a completed media.
I added a new "Files" folder inside every "Comments" folder of every media (item) folder.
And moved the existing comment files to their respective "Files" folders.
I moved the local media folders to their respective media-type folders.
In the "Manage" class, in the "Convert_History" subclass, I created the new "Fix_Comment_Dictionaries" method.
It was used by me to fix some Comment dictionaries inside watched media Entry dictionaries.
Which had duplicate keys, dates equal to the entry date, or only Entry or Date keys.

On the "Stories" module, I improved the code a lot and changed the keys of the "Stories" dictionary to have the first letter in uppercase.
I create the new "Manage" class, with the "Copy_Chapter_Titles" and "Update_Chapter_Covers" sub-classes.
I also improved the code of the root method called "Cover_Folder_Name", making it more automatic.
I moved the "Show_Story_Information" root method to its own class.
I added the new "Theme" dictionary to the "Pack" dictionary of all stories, and began adding the story colors to the Theme dictionaries.
I also added the new "Parent story" system, updating the old "Website link name" key on all stories that have a parent story.
Now stories can define a parent story, to be used for changing the website link of the story.
The story websites that have a parent story can better define their parent story, with a title, and a custom folder.
I also made improvements on the definition of the "Pack", "Theme", "Parent story", "Chapter dates, and "Authors" dictionaries and lists.



16 - I programmed in Python a little, coding my modules Diary_Slim, Friends, Social_Networks, and Years (20:51 29/11/2023):



Task number:
16

Task number by task type:
9

Task title:
I programmed in Python a little, coding my modules Diary_Slim, Friends, Social_Networks, and Years

Task type:
Python

When I completed the task:
20:51 29/11/2023

When I completed the task (UTC):
2023-11-29T23:51:03Z

Entry:
16. Python (20:51 29/11/2023)

Task description:
I programmed in Python a little, coding my modules Diary_Slim, Friends, Social_Networks, and Years.

On the "Diary_Slim" module, I improved the way the Slim texts are defined.
Now, all Slim texts have a folder, with text files of all languages, with each language text.
They also have a data file containing additional information such as the Slim text item, like the "Python module" for the "Python" Slim text.
Plural and singular item names, a "typing" text, quotes in items, item options lists, and a custom index for the Slim texts options list.
I also removed some texts that existed only in Portuguese.

On the "Friends" and "Social_Networks" modules, I improved them a lot.
I greatly improved the definition and generation of the "Friends" and "Social Networks" dictionaries.
I also improved the definition of the information items of each class, sharing similar code between the classes.
And making more efficient definitions of the information items of both friends and social networks.

On the "Friends" module, on its "Open_Friend_File" subclass, I fixed and greatly improved it.
I improved the way of searching for friends using information items, the states, and the visual aspect of the subclass.
It can search using all of the information items of all friends or do not use a search and only select a friend to open its file.
It can also search through all information items of all social networks.
Finding a social network of a friend that matches the searched query.
And opening the file of the found friend.
On the "Create_Friend_File" subclass, I fixed and greatly improved it.
I created a new default dictionary to store the majority of variables of the class that are used in a lot of places.
Writing the variables in a more beautiful way, without having ugly variables with long names.
I changed the way the information of the new Friend is asked, using the new "information items" dictionary.
And also made various improvements in the typing and selection of information about a Friend to be added.
Including the forcing of a format for information, such as a date or hometown, using Regex (Regular Expression).
Before, you could select an origin Social Network for the Friend, and not add it to the folder of the Friend.
Now, when you select an origin Social Network and finish typing the information of the Friend...
The class automatically asks you to type the information of the profile of the selected Social Network.
I also improved the texts of language and the way the information of the newly added Friend and their Social Networks are shown to the user.

On the "Years" module, I improved its "Create_Year_Summary" class.
I fixed it and improved the generation of the year summary a lot.
I also improved how the class gets the data of the imported modules, like "Tasks", "GamePlayer", and "Watch_History".
Now each module can format its data the way it wants, and can define a list of numbers to be used on the year summary.
I also removed mixed language texts and folders, and improved language variables.



20 - I programmed in Python a little, coding my modules Folder, Years, Christmas, and Friends (00:53 28/12/2023):



Task number:
20

Task number by task type:
10

Task title:
I programmed in Python a little, coding my modules Folder, Years, Christmas, and Friends

Task type:
Python

When I completed the task:
00:53 28/12/2023

When I completed the task (UTC):
2023-12-28T03:53:40Z

Entry:
20. Python (00:53 28/12/2023)

Task description:
I programmed in Python a little, coding my modules Folder, Years, Christmas, and Friends.

On the "Folder" module, I improved the definition of the folder dictionary a lot.
Improving keys, adding new keys that look better, and folder dictionaries with keys and English and folder names in the user language.

On the "Years" module, I improved and fixed its variables, methods, and sub-classes a lot.
I remade its "Years" dictionary using the dictionaries of the "Social_Networks" and "Friends" modules as a base.
I also fixed and improved the "Create_Year_Summary" and "Verify_Current_Year" sub-classes.
I improved the definition of year folders, using the definition of folders of the "Social_Networks" module as a base.

I improved and fixed the "Christmas" module a lot, improving its variables and dictionaries.
The style of showing information to the user, and the texts.
I also improved the opening of Social Networks and added more steps to the Christmas planning.

On the "Friends" module, on its root class, I created a new "Select_Information_Item" method.
It lists the information items of the "Friends" module and asks the user to select one.
And also asks the user to type or select an information for the information item.
Such as typing the name of the friend, or selecting its gender from the list of genders.
It also forces the use of the format of the information item if it is present.
If the user met the Friend in a custom Social Network that is not present inside the Social Networks list.
The method asks for the user to type the custom Social Network.
It also asks if the user wants to add additional information about the Social Network where the user met the Friend.
Now the "Open_Friend_File" and "Create_Friend_Folder" sub-classes can use the new method to select an information item and request the information.
Without having to use a lot of duplicated code between the sub-classes.



6 - I edited a video a little on Sony Vegas (13:02 08/04/2023):



Task number:
6

Task number by task type:
1

Task title:
I edited a video a little on Sony Vegas

Task type:
Videos

When I completed the task:
13:02 08/04/2023

When I completed the task (UTC):
2023-04-08T16:02:15Z

Entry:
6. Videos (13:02 08/04/2023)

States:
First video in year

Task description:
I edited a video a little on Sony Vegas.

This is a video of the song "The Legend of Everfree" of the "Legend of Everfree" movie, of the franchise or cartoon "My Little Pony: Equestria Girls", but the song is in Brazilian Portuguese.
The video has my logo (Stake2), the name of the movie in Brazilian Portuguese, Brazilian Portuguese lyrics and subtitles, the video clip of the original song, and pictures of the logos of the movie and of some scenes that I screenshotted.

I posted the watched text, pictures, screenshots, and the video on Twitter, story, reels, and posts on Instagram and Facebook, and status on WhatsApp.
I watched the movie on "05:20 08/04/2023" (DD/MM/YYYY).

Link to the video on YouTube:
https://www.youtube.com/watch?v=betN7h4CUdk



7 - I edited a video a little on Sony Vegas (23:14 08/04/2023):



Task number:
7

Task number by task type:
2

Task title:
I edited a video a little on Sony Vegas

Task type:
Videos

When I completed the task:
23:14 08/04/2023

When I completed the task (UTC):
2023-04-09T02:14:07Z

Entry:
7. Videos (23:14 08/04/2023)

Task description:
I edited a video a little on Sony Vegas.

I just finished editing a new video called "About my dedication to My Little Pony (Stake2)", but the original title of the video is in Brazilian Portuguese.

Where Rarity from Equestria Girls says:
"My Little Pony is what I live for!
And spending time with My Little Pony fills me with energy!"

But she says it in Brazilian Portuguese, and the dialogue in Portuguese is a little different from the English dialogue.
In Portuguese, she says:
"My Little Pony is my biggest passion!
And putting effort into My Little Pony fills me with energy!"

And then she gets ponified, gaining pony ears and a tail.
The parts where she says "My Little Pony" were edited by me, the first time in the original is "Putting effort into clothes".
The second time is "on my friends", then I replaced those lines of hers with "My Little Pony".
I added my logo (Stake2), and made animated subtitles with zoom and movement, with zoom on the stressed syllables.
And a description of the video below the movie title in Brazilian Portuguese.

The source of the "My Little Pony" audio comes from the "Rainbow Rocks" movie of the franchise "My Little Pony: Equestria Girls", of the Brazilian Portuguese narrator saying the name of the movie.
And the source of the video and audio of Rarity speaking comes from the movie "Friendship Games" of the same franchise or cartoon but in Brazilian Portuguese.

Link to the video on YouTube:
https://www.youtube.com/watch?v=FVZQBB752u0



10 - I edited a video a little on Sony Vegas (17:42 21/05/2023):



Task number:
10

Task number by task type:
3

Task title:
I edited a video a little on Sony Vegas

Task type:
Videos

When I completed the task:
17:42 21/05/2023

When I completed the task (UTC):
2023-05-21T20:42:35Z

Entry:
10. Videos (17:42 21/05/2023)

Task description:
I edited a video a little on Sony Vegas.

I just finished editing a new video called "Bully 21/05/2023 (Stake2)".

Of the game "Bully", with the final part of the game, before the credits, a little of the credits.
With the gaming status pictures that I did, with the Bully theme song.
And also with the last status picture, that contains when I started and finished playing, for how much time I played.
The status and statistics of the game, like 100% complete, and other things.

Link of the video on YouTube:
https://www.youtube.com/watch?v=AsuZ6SMCdLY



Completed tasks in 2023: 20








Drawings: 3
PHP: 4
Python: 10
Videos: 3

Drawings: 3
8 - 1# - I drew a little on "Paint Tool SAI" (13:14 20/04/2023)
17 - I drew a little on "Paint Tool SAI 2" (19:52 09/12/2023)
18 - I drew a little on "Paint Tool SAI 2" (09:08 13/12/2023)

PHP: 4
11 - 1# - I programmed my websites in PHP a little (17:28 27/05/2023)
13 - I programmed my websites in PHP a little (05:35 22/10/2023)
15 - I programmed my websites in PHP a little (05:15 25/11/2023)
19 - I programmed my websites in PHP a little (00:51 28/12/2023)

Python: 10
1 - 1# 1# - I programmed in Python a little, coding my modules Christmas, Code, Years, Watch_History, Food_Time, Block_Websites, Folder, Tasks, and Date (19:50 04/01/2023)
2 - I programmed in Python a little, coding my modules Watch_History, Module_Selector, and JSON (16:38 23/01/2023)
3 - I programmed in Python a little, coding my modules Watch_History, Tasks, and Module_Selector (04:53 02/02/2023)
4 - I programmed in Python a little, coding my modules Watch_History, API, Date, Database, and Tasks (04:25 11/02/2023)
5 - I programmed in Python a little, coding my modules Tasks, Watch_History, and JSON (13:43 16/03/2023)
9 - I programmed in Python a little, coding my modules Database, Watch_History, Tasks, and GamePlayer (15:38 26/04/2023)
12 - I programmed in Python a little, coding my modules Date, Database, Watch_History, GamePlayer, and Diary_Slim (22:20 02/06/2023)
14 - I programmed in Python a little, coding my modules Diary_Slim, File, JSON, Watch_History, GamePlayer, Social_Networks, and Stories (05:38 22/10/2023)
16 - I programmed in Python a little, coding my modules Diary_Slim, Friends, Social_Networks, and Years (20:51 29/11/2023)
20 - I programmed in Python a little, coding my modules Folder, Years, Christmas, and Friends (00:53 28/12/2023)

Videos: 3
6 - 1# - I edited a video a little on Sony Vegas (13:02 08/04/2023)
7 - I edited a video a little on Sony Vegas (23:14 08/04/2023)
10 - I edited a video a little on Sony Vegas (17:42 21/05/2023)







2 - I programmed my websites in HTML, CSS, JavaScript, and PHP a little (07:00 20/01/2024):



Task number:
2

Task number by task type:
1

Task title:
I programmed my websites in HTML, CSS, JavaScript, and PHP a little

Task type:
PHP

When I completed the task:
07:00 20/01/2024

When I completed the task (UTC):
2024-01-20T10:00:01Z

Entry:
2. PHP (07:00 20/01/2024)

States:
First PHP task in year

Task description:
I programmed my websites in HTML, CSS, JavaScript, and PHP a little.

PHP:
I updated the JSON file "Colors.json" with a new format of colors, with the list and dictionary of colors.
Making it more organized and easier to get the Hex code of a specific color.
I also added more colors and updated some colors to look better.
And I updated the colors of some websites.
I updated various dictionary keys and improved various code comments to make it more beautiful and organized.
On the year websites, I added the new tabs "Gaming sessions played" and "Goodbye".
The "Goodbye" tab is to show the goodbye text for the year.
I updated the colors and configuration of the website "Tasks", and created its PHP files which generate the contents of its website and tabs.

HTML, CSS, and JavaScript:
I updated the CSS file "Colors.css", with the new content generated by the new Python module called "PHP", utilizing its "Update_CSS_Colors" sub-class.
I also added more colors and updated some colors to look better.

Updated websites:
Stake2, to update its colors
Watch History, to update the image and description of the website, and the watched media of all years
New World, to update its colors
The Life of Littletato, to update its colors, and its main color purple
2018, to update its colors
2019, to update the tab of websites
2020, to update the tab of websites
2021, to add its new tab "Gaming sessions played"
2022, to add its new tabs "Gaming sessions played" and "Goodbye"
2023, to update the tab of watched media, and add its new tabs "Gaming sessions played" and "Goodbye"
2024, to update the tab of watched media, and add its new tabs "Gaming sessions played" and "Goodbye"

Updated all story websites to update the tab of websites.
Updated all year websites to update the tab of watched media, gaming sessions played, and completed tasks.
To place the buttons for their respective websites in the tabs, and open the website in the tab of the same name.
The "Watch History" button in the "watched media" tab opens the "Watch History" website in the same tab.
And the same for the other two tabs and their websites.

New websites:
Play History, with its tabs "Gaming sessions played", "Games being played", and "Past registries"
Tasks, with its tabs "Completed tasks" and "Past registries"



7 - I programmed my websites in HTML, CSS, JavaScript, and PHP a little (21:08 26/04/2024):



Task number:
7

Task number by task type:
2

Task title:
I programmed my websites in HTML, CSS, JavaScript, and PHP a little

Task type:
PHP

When I completed the task:
21:08 26/04/2024

When I completed the task (UTC):
2024-04-27T00:08:43Z

Entry:
7. PHP (21:08 26/04/2024)

Task description:
I programmed my websites in HTML, CSS, JavaScript, and PHP a little.

PHP:
I have made several improvements to various PHP files, functions, and classes.
And I also made several changes regarding Python programs that generate data that is read by PHP websites.
For example, the programs "Watch_History", "GamePlayer", "Tasks", and "Stories".

HTML, CSS, and JavaScript:
I created the new websites "Stories" and "Years" to list their respective items.
I improved some JavaScript scripts.
And I also moved all images from all websites to the root "Images" folder.
Containing all images from each website, without separating by image type, such as normal and website icon image.

Updated websites:
Stake2, to update the websites tab

To update the data history:
Watch History
Play History
Tasks

To create it as a new website:
Stories
Years

To update all website content:
Desert Island
New World
SpaceLiving
The Life of Littletato
The Secret of the Crystals
The Story of the Bulkan Siblings
2018
2019
2020
2021
2022
2023
2024



25 - I programmed my websites in HTML, CSS, JavaScript, and PHP a little (21:04 26/09/2024):



Task number:
25

Task number by task type:
3

Task title:
I programmed my websites in HTML, CSS, JavaScript, and PHP a little

Task type:
PHP

When I completed the task:
21:04 26/09/2024

When I completed the task (UTC):
2024-09-27T00:04:53Z

Entry:
25. PHP (21:04 26/09/2024)

Task description:
I programmed my websites in HTML, CSS, JavaScript, and PHP a little.

HTML, CSS, and JavaScript:
Now the "W3.js", "Font Awesome.js", and "jQuery.js" files are local, not remote anymore

Updated websites:
I updated all story websites to update the tabs and chapters
I updated all story websites again, to fix the chapter cover images that were not appearing
And also to fix the website images not appearing on the "Other stories" tab
I updated the websites "Watch History", "Play History", "Tasks", and "2024"
I updated the "The Life of Littletato" website to update the newly revised and translated chapters four, five, six, seven, eight, nine, and ten



30 - I programmed my websites in HTML, CSS, JavaScript, and PHP a little (03:39 17/12/2024):



Task number:
30

Task number by task type:
4

Task title:
I programmed my websites in HTML, CSS, JavaScript, and PHP a little

Task type:
PHP

When I completed the task:
03:39 17/12/2024

When I completed the task (UTC):
2024-12-17T06:39:16Z

Entry:
30. PHP (03:39 17/12/2024)

Task description:
I programmed my websites in HTML, CSS, JavaScript, and PHP a little.

HTML, CSS, and JavaScript:
I updated the style of all websites to improve the colors, the accessibility, and the user experience (UX)
I created the new website of 2025 with its own style

Updated websites:
I updated the websites "Stake2", "Watch History", "Play History", "Tasks", "Stories", and "Years"
I updated the year websites from 2018 to 2024
I updated all story websites



4 - I programmed in Python a little, coding my modules GamePlayer, PHP, Python, and Years (10:23 07/03/2024):



Task number:
4

Task number by task type:
1

Task title:
I programmed in Python a little, coding my modules GamePlayer, PHP, Python, and Years

Task type:
Python

When I completed the task:
10:23 07/03/2024

When I completed the task (UTC):
2024-03-07T13:23:04Z

Entry:
4. Python (10:23 07/03/2024)

States:
First Python task in year

Task description:
I programmed in Python a little, coding my modules GamePlayer, PHP, Python, and Years.

In the "GamePlayer" module, I greatly improved its definition of the variables of a game.
I moved the gaming time files from the "Played" folder to a new folder called "Gaming time".
To separate the files of "gaming sessions played" and gaming time, becoming more organized.
I also created the possibility for games to have sub-games, such as DLCs, additional content, and other game modes.
The user creates a folder named after the sub-game type, for example, "DLCs".
And creates the folders and files of the DLCs within this new folder.
Asking the user to choose a sub-game or DLC to play, and defining its variables.
And then register the gaming session played with the DLC name in the JSON and text files.
This sub-game system works the same as the media item (season or series) system of the media in the "Watch_History" module.

I created the new Python module called "PHP", and imported the "Update_Websites" sub-class from the "Code" module.
I created the "Update_CSS_Colors" sub-class, using the "Generate_CSS_Selectors" class from the "Text_Generator" module as a base.
I updated and improved the sub-class, with better, more organized, and beautiful ways of generating the contents of the "Colors.css" file.
Reading the new format of the "Colors.json" file in the "PHP" folder, which now has a list and a dictionary of colors, with the name and Hex code of the colors.
I also removed the "Text_Generator" module from the list of modules as I will no longer use it.

On the "Python" module, I improved its "Create_New_Module" sub-class a lot.
Leaving several things more organized and efficient, making the code more beautiful.
And added several code comments too, to improve the understanding of the code.

On the "Years" module, on its "Verify_Current_Year" sub-class, I improved it a lot.
I improved its dictionary of files and the way it creates and writes to those files.
Before, it would copy the contents of the "Texts" folder and then edit the files.
This would copy files that the year folder did not need.
Now, it creates each file separately and writes to them, using the same file in the "Texts" folder as a template.
Then the files that are not necessary will not be copied.
I also made it create files of social network posts for the "New Year" folder, with a template file from the "Texts" folder.



5 - I programmed in Python a little, coding my modules Stories, Diary_Slim, and Project_Zomboid (06:56 13/04/2024):



Task number:
5

Task number by task type:
2

Task title:
I programmed in Python a little, coding my modules Stories, Diary_Slim, and Project_Zomboid

Task type:
Python

When I completed the task:
06:56 13/04/2024

When I completed the task (UTC):
2024-04-13T09:56:07Z

Entry:
5. Python (06:56 13/04/2024)

Task description:
I programmed in Python a little, coding my modules Stories, Diary_Slim, and Project_Zomboid.

On the "Stories" module, I improved the "Post" sub-class a lot.
I also improved the part about "updating all chapter covers of all chapters".
I improved the root class a lot, making it more organized and beautiful.
I moved some folders and files, renamed and removed some folders and files too.
And I also renamed all the story folders to their title in the user's language, in this case, Portuguese.
I created the new file "Authors.json" in the stories database folder.
To contain the JSON dictionary of story authors.
I also moved the "Stories.json" and "Stories list.txt" files to the stories root folder.
Previously, these files were in the database folder.
Now the titles of the stories in the "Stories list" file are in the user's language (in Portuguese).
And now the story dictionaries are on the "Dictionary" key instead of being thrown into the root JSON dictionary.
I removed unnecessary parts and organized the part of the code that generates the story dictionaries.
I changed the order of the story dictionary keys to be more organized.
Now all stories have a "Story.json" file with the story information dictionary.
I moved all the code that creates the story folders and files to a new root method called "Create_Story_Sub_Folders".
I have also improved the way folders and files are created significantly.
I created a dictionary called "Directories", with each sub-folder of stories, containing the lists of folders and files in each sub-folder.
This dictionary is similar to the directory dictionary of the "Years" module.
With this dictionary, I could translate all the names of the story folders and files into Portuguese, my native language.
I renamed the "Readers and reads" folder to just "Readers".
I added the language folders to the chapter cover folders, in the folder dictionaries of each story.
And I also added the "Photoshop" key for the story cover file on Photoshop, in each cover type (Landscape or Portrait), and each language.
This way it is easier for the "Post" sub-class to open the Photoshop files for story covers.
I also made several optimizations on the generation of the story dictionaries.

On the "Diary_Slim" module, I created a root dictionary called "diary_slim" to contain the folders, files, and texts dictionaries of the module.
I organized this root dictionary a lot, and I also created a folder to contain the language files of the text header of Diary Slim.
I also moved the text header files from the module's "Module files" folder to the "Data" folder inside the "Diary Slim" folder.
I improved the "Write_On_Diary_Slim" sub-class a lot, organizing it more, and making it prettier.
I moved several parts of definition of Diary Slim texts to their own root method called "Define_Diary_Slim_Texts".
I created a new mode called "Multi-selection mode", where multiple Diary Slim texts can be written at the same time.
The user can select multiple Diary Slim texts that do not contain items.
And they will be written on the current Diary Slim file using the same time and date (hours, minutes, day, month, and year).
I improved the "Create_New_Diary_Slim" sub-class a lot, organizing it more, and making it prettier.
I improved the methods, renaming them to prettier and more descriptive names, that makes more sense.
I also improved the dictionaries and checks of the sub-class, and added a lot of documentation that was missing.
I improved the "Write_On_Diary_Slim_Module" sub-class a lot, organizing it more, and making it prettier.
I improved the way the text to be written is defined and modified, removing unnecessary class parameters.
And I also made a root dictionary to better organize all the variables, texts, dictionaries, and switches.
I added the function of text states, with texts containing multiple states.
And on each state written in the Diary Slim, it defines the next state to be written.
Like washing clothes, the first state is washing the clothes, the second is hanging them out, and the third is picking up the clothes from the line.
I also added the function of additional information.
For example, when taking a shower, the program asks if the user did their eyebrows and shaved.
If the user answers yes, additional information will be added to the text to be written, with text formatting.
If not, execution will continue normally and the text to be written will be the first, without additional information.

On the "Project_Zomboid" module, I recreated it to improve it and make it more organized and beautiful.
With new dictionaries and JSON files to be created and written, respectively.



6 - I programmed in Python a little, coding my modules Project_Zomboid and Stories (00:51 26/04/2024):



Task number:
6

Task number by task type:
3

Task title:
I programmed in Python a little, coding my modules Project_Zomboid and Stories

Task type:
Python

When I completed the task:
00:51 26/04/2024

When I completed the task (UTC):
2024-04-26T03:51:54Z

Entry:
6. Python (00:51 26/04/2024)

Task description:
I programmed in Python a little, coding my modules Project_Zomboid and Stories.

On the "Project_Zomboid" module, I have greatly improved how survivors and cities are defined.
Now there is a folder for all survivors, including the deceased.
And each survivor contains the city they live in in their new survivor file.
I have also added each survivor's details to the new "Details" dictionary, such as gender, age, and date of birth.
I added the new method "Update_The_Dictionaries", to update the city and survivor dictionaries.
It sorts lists of cities and survivors alphabetically, ignoring casing.
This method utilizes the second new method called "Update_Dictionary" to update the dictionaries and files for each city and survivor.
The cited method removes the "Folders" keys to make the dictionaries more beautiful and compact.
Now each city dictionary contains the "Locality" key to define the locality in all languages the Python programs support.
The city locality is the city next to the state and country, separated by dashes, like this:
"West Point - Kentucky - United States"

In its sub-class "Create_Survival_Diary_File", I made the following changes:
Now the user must select only the survivor, not the city and then a survivor of that city.
The sub-class now also uses the new "Update_Dictionary" method to update the survivor's dictionary and file.
Now it shows the survivor before its current city.
And it also shows the city with its total locality, including state and country.
I moved the date definition of the diary file to a new method called "Define_Date".
I created the new root method "Define_Date_Dictionary", so as not to repeat the method code in two different places.
Now the "Define_Date" method checks whether the diary's current day is the month's last day.
If so, it utilizes the new root method "Verify_Diary_Date" to verify the date.
The method verifies whether the current month is the last month of the year.
If so, it moves to the next diary year, and changes the month to the first, modifying the year and month folder.
If not, it moves to the next diary month, modifying only the month folder.
In either case, it resets the day to the first, as the month is modified in both cases.

I created its new sub-class "Add_A_New_Survivor".
It asks the user to enter the new survivor's information.
Such as name, gender, and date of birth.
Using a list of genders to be selected.
And checking the correct age (between 27 and 100) and date of birth (any day and month, with the year from 1893 to 1966) formats.
Then the sub-class asks the user to select the survivor's city.
Utilizing the new root method "Select_City", which returns the city dictionary.
After that, the sub-class creates the new survivor's folder and its survivor file, writing to it.
Then it updates the files of survivors and cities when executing the root class again.
After that, the sub-class executes the other sub-class "Create_Survival_Diary_File".
To create the new survivor's first survival diary file.

On the "Stories" module, in its sub-class "Copy_Story_Titles", I made the following changes:
I have greatly improved the documentation and variable names of the sub-class, making them clearer and easier to understand.
I also created a root dictionary containing all the data the sub-class will utilize.
Similar to other sub-classes that do not utilize any other sub-class of the same module.
I renamed the method "Make_Story_Titles_List" to "Create_Titles_Lists".
Now in the two-story join mode, when the first title is selected, it is replaced with a filler text in the title list.

On its sub-class "Create_New_Story", I completely reworked it to improve its methods.
The method "Type_Story_Information" is now much better.
It creates the story dictionary with the new format used by the root class.
Asking for story titles in all supported languages, and story information.
Such as creation date, writing status, synopsis in supported languages, and the author of the story.
Now there is a file called "Information items" in the stories database folder.
It is read by the new root method "Define_Information_Items".
Which defines the texts, formats, and methods of information items.
The information item "Creation date" forces information to be in the format of hours, minutes, days, month, and year.
The synopsis is requested in all supported languages, with various lines in the synopsis for each language.
The new root methods "Select_Status" and "Select_Author" are used to select their respective information items.
These methods are defined in each information item dictionary, by the root method "Define_Information_Items".
Then the method "Type_Story_Information" creates all story information dictionaries, such as readers, pack, and writing, among others.
The new method "Create_Story_Folders" creates the story's root folder.
And also the sub-folders and files, using the root method "Create_Story_Sub_Folders".
The new method "Update_Files" writes story information to the synopsis files and authors file.
And also on the files of creation date, readers, chapters, Wattpad, writing, and the story file in JSON.
Then the new method "Add_To_Stories_List" adds the story to the stories list and dictionary, and story titles lists.
After that, the sub-class "Show_Story_Information" is imported as a module and is executed, showing information about the newly added story.



8 - I programmed in Python a little, coding my modules Stories, PHP, and Tasks (05:18 05/05/2024):



Task number:
8

Task number by task type:
4

Task title:
I programmed in Python a little, coding my modules Stories, PHP, and Tasks

Task type:
Python

When I completed the task:
05:18 05/05/2024

When I completed the task (UTC):
2024-05-05T08:18:41Z

Entry:
8. Python (05:18 05/05/2024)

Task description:
I programmed in Python a little, coding my modules Stories, PHP, and Tasks.

In the "Stories" module, I greatly improved the sub-class "Post".
I created a root dictionary containing all the data the sub-class will utilize.
I improved the definition of the chapter to be posted, improving its chapter dictionary.
I renamed the "Create_Cover" method to "Create_The_Covers".
I greatly improved it, and separated its function of creating covers into a new method called "Create_Cover".
The root method only has the job of asking if the user wants to skip the cover creation process.
The new "Create_Cover" method lists the chapters for which their covers will be created.
This allows the sub-class to be executed as a module, by the "Update_Chapter_Covers" sub-class.
The method does what its old method did, but with checks of the execution mode as a module.
I fixed the "Update_Websites" method, which was using the "Code" module instead of the "PHP" module.
Before the transfer of the sub-class to the "PHP" module.
I have also greatly improved the sub-class documentation and comments, making them more descriptive and easier to understand.

In the root class, I greatly improved the definition of the story links dictionary.
This now contains the keys "Website", "Wattpad", and "Spirit Fanfics".
The class defines the story's website links, and the story IDs, links, and custom links on Wattpad and Spirit Fanfics.
Now the "Website" dictionary is written to its new JSON file of the same name.
The same goes for the "Spirit Fanfics" links dictionary and its new JSON file.
I created the new root method "Define_Story_Websites_Dictionary".
To define the dictionaries of story websites, with their link templates and additional links.
It also creates the "Story websites" dictionary, writing on the JSON file of the same name.
And I also created the "Define_Story_Websites" method.
To define the story website dictionary inside each story dictionary.

In its "Create_New_Story" sub-class, I added more requests for information about the story.
For example, ask the user if the story has a parent story, if so, ask for the title of the parent story.
The sub-class also asks if the user posted the story on the story "Wattpad" and "Spirit Fanfics" story websites.
If so, the sub-class asks for the IDs of the story on both websites and in all supported languages.
Thus creating the story website dictionaries.
I also moved the story dictionary key definition code to the new "Define_Story_Dictionary" method, to make it more organized.

In its "Post" sub-class, I modified how the chapter is posted on the story websites and on the social networks.
Before, the chapter was posted only on Wattpad, but now it is also posted on Spirit Fanfics, with the help of the "Story websites" dictionary.
I renamed the "Post_On_Wattpad" method to "Post_On_Story_Websites".
The method above now asks for the chapter link on each story website.
Previously, it was the "Post_On_Social_Networks" method who did that, and asked only for the Wattpad link.
On the "Post_On_Social_Networks" method, the chapter is now posted on the social networks Discord, WhatsApp, Instagram, Facebook, Twitter, and the two story websites.
I greatly improved how chapter posting cards are created, and how the social networks are open.
I created a new method called "Make_Post_Cards" to help create posting cards, without repeating its code through the sub-class.
Now the creation and copying of posting cards are dynamic, being different for each social network.
Having the first and second part of the card, removing or adding hashtags, and creating secondary cards, depending on the social network.
I also added to the post task record dictionary a new key called "Custom task item".
This custom item contains the type of action done in the chapter, such as posting, writing, revising, and translating.
This item goes to the "Register" sub-class of the "Tasks" module.
Thus changing the task state text "First task type task in year".
The normal text is "First story chapter {} in year".
The "Register" sub-class replaces the text "{}" in the text above with the custom task item.
For example: "First story chapter [posted/written/revised/translated] in year".

In its "Write" sub-class, I greatly improved it, making it more efficient and organized.
I created a root dictionary with the chapters, chapter, steps, writing modes, and writing session dictionaries.
The writing steps are the methods that are executed when writing a chapter.
They are these: "Define writing modes", "Select a writing mode (write, revise, translate)", "Define chapter", and "Start writing".
I created a new dictionary called "Writing modes", a more organized form of the old writing modes.
Now each writing mode has its own dictionary, with its name and texts in verb tenses.
These are the verb tenses: "Infinitive", "Infinitive action", "Action", "Item", "Done", and "Chapter".
The chapter definition become much more organized, defining the chapter folders and files in a single method, the "Define_Chapter" method.
Instead of these functions being separated into different methods.
A source language is also defined for the chapter, now the chapters are written and revised in the user's language, and translated into English.
The " (a new chapter)" text is added to the chapter title when the writing mode is "write".
Previously, the "Obsidian" program was used to write story chapters, with its own methods.
Now, the story website itself made in PHP is used to write the chapters.
For this, the new "Open_Story_Website" method was created.
To open the story website in the correct chapter, and in its source language, with the URL parameter "write".
Now, how the writing session and writing time is registered has been changed, to be similar to the "GamePlayer" module.
This way, the total writing time of a chapter can be registered correctly.
The new "Update_Writing_Time" method is responsible for updating the writing time, whether its time units or text.
And also reset the writing times dictionary to its default mode, when the user has finished writing the entire chapter.
The "Register_Task" method has been drastically modified, improving its writing session text, and using a new text format.
Now, the nomenclature for writing closure is different.
When the user stops that writing session, they do not finish writing the chapter but stop writing it.
And the sub-class asks if the user finished writing the entire chapter.
If the user finished writing the chapter in completely.
Then the sub-class will execute the "Finish_Writing" method.
That is going to rename the chapter files if needed, and will register the writing task, be it the "Tasks", or just in the Diary Slim.
And it will also reset the writing dictionary of the current writing mode.



13 - I programmed in Python a little, coding my modules PHP, Stories, Python, System, and Modules (22:41 10/07/2024):



Task number:
13

Task number by task type:
5

Task title:
I programmed in Python a little, coding my modules PHP, Stories, Python, System, and Modules

Task type:
Python

When I completed the task:
22:41 10/07/2024

When I completed the task (UTC):
2024-07-11T01:41:46Z

Entry:
13. Python (22:41 10/07/2024)

Task description:
I programmed in Python a little, coding my modules PHP, Stories, Python, System, and Modules.

I greatly improved the "Update_Websites" sub-class of the "PHP" module.
I created a root dictionary containing all the data the sub-class will utilize.
I have also greatly improved the sub-class documentation and comments, making them more descriptive and easier to understand.
I also added three custom options.
One to update all websites, one to update all story websites, and one to update all year websites.
This way I can quickly update all story or year websites, without having to select one by one.

In the "Stories" module, I greatly improved the definition of story chapters.
I created a new dictionary of chapters, to contain the information for each chapter.
Each chapter dictionary has its number, titles in supported languages, and dates of writing, revision, and translation.
In its "Write" sub-class, I added information explaining the writing steps, to better inform the user.
Such as the opening of the chapter files, server, story website, and music player.
I moved the server definition and opening methods to the root class of the "PHP" module, to make it easier to use.
I added the ability to pause the writing session, subtracting the pause time from the total duration of the session, with the new "Pause_Writing" method.
I also added the ability to postpone the writing session.
Just registering the writing time, not writing on Diary Slim, and not asking if the user has finished writing the entire chapter.
The sub-class now creates or updates the chapter dictionary, also registering its revision or translation date, not just the writing date.
It does this using the new "Update_Chapter_Dictionary" method, the method also updates the chapter titles inside its dictionary.
I also added the ability to update chapter titles for the "Revision" writing mode.

In the "Python" module, I greatly improved the definition of the data of the module and main class.
I created a new method in the main class called "Define_Python_Dictionary".
The method defines the folders and files the module will utilize, including its folder on the module files folder.
It also defines ConEmu task and bat templates, and code templates to be formatted.
I greatly improved its "Create_New_Module" sub-class.
I updated the files and templates it utilizes, and I also made the code more beautiful and organized.

In the "System" utility module, I created two new methods, "Create_Shortcut" and "Get_Shortcut".
"Create_Shortcut" creates a shortcut file based on the file or link that is passed to it.
And then it creates and returns the shortcut's dictionary, with its file name, folder, file, extension, and destination file or link.
"Get_Shortcut" receives the path to a shortcut file and creates its dictionary, with the data mentioned above.

In all modules, I greatly improved their root code, which asks the user to choose a sub-class to execute it.
I created a new utility module called "Modules", which defines the dictionary for each module and its sub-classes.
Thus, all module sub-classes can be defined and selected only with the "Define_Classes" and "Select_Class" methods, respectively.
Leaving the code much cleaner and more beautiful, without repeating code in several modules.
I also improved the import of utility modules across all modules, utilizing the new "Import_Classes" method.
I improved the definition of switches for all utility modules that contain this dictionary, moving this definition into a separate, more organized method.



22 - I programmed in Python a little, coding my modules Date, Social_Networks, and Stories (04:12 18/09/2024):



Task number:
22

Task number by task type:
6

Task title:
I programmed in Python a little, coding my modules Date, Social_Networks, and Stories

Task type:
Python

When I completed the task:
04:12 18/09/2024

When I completed the task (UTC):
2024-09-18T07:12:30Z

Entry:
22. Python (04:12 18/09/2024)

Task description:
I programmed in Python a little, coding my modules Date, Social_Networks, and Stories.

In the "Date" utility module I created the new method "Create_Time_Format".
It takes a dictionary of time units and creates its time format from it.
Example: 1 hour, 30 minutes, and seconds would be 01:30:04.
I also added several comments to the "Difference" method to make it easier to understand.
I removed the old "Time_Text" method, which performed the function of the two methods "Make_Time_Text" and "Create_Time_Format", and was obsolete.

In the "Social_Networks" module I started to create the "Add_Social_Network" sub-class.
I created the main methods, to enter the social network information and add the information items.
And also add the social network profile, define folders and files, write to them, and show the information.
I improved the definition of information items for the created social network, being able to select existing items to use.
I also greatly improved the part of entering the social network profile information and fixed some errors.
The "Write_To_Files" method now writes to the profile and social network (JSON) files.
I fixed the "Show_Information" method that was not working before, it now shows the correct information about the social network and user's profile.
In the "Select_Information_Items" method, I added the possibility of adding custom information items to the social network.
I also greatly improved the display and request for custom or not-custom information items, explaining better to the user how they can write them.
I created a root dictionary, with the social network and information items dictionaries.
I also created the states dictionary of the sub-class.
The "Write_To_Files" method now writes to the setting and image folders files.

In the "Stories" module, I greatly improved the code of the "Write" sub-class.
I created a new method called "Check_Chapter_Date_Texts", which will be executed by the "Define_Chapter" and "Finish_Writing" methods.
It serves to verify and update the chapter date texts that I put at the beginning of all the chapters of my stories.
These texts contain the date that the chapter was written, and last revised and translated.
This method adds these texts to the chapter files when they do not exist.
And also updates them as I write, revise, and translate the chapters.
Now that addition of chapter dates to the files is no longer manual, but automatic.
This way, there is no chance that I will forget to update the revision and translation dates, as I did before.



9 - I revised the chapter four of my story "The Life of Littletato" (20:42 03/06/2024):



Task number:
9

Task number by task type:
1

Task title:
I finished revising the chapter four of my story "The Life of Littletato"

Task type:
Stories

When I completed the task:
20:42 03/06/2024

When I completed the task (UTC):
2024-06-03T23:42:03Z

Entry:
9. Stories (20:42 03/06/2024)

States:
First story chapter revised in year

Task description:
I finished revising the chapter four of my story "The Life of Littletato".

The chapter with the title:
The New Year and the Relaxing Anime

I started at 19:22 and stopped at 20:40.
I revised for 1 hour, 17 minutes, and 55 seconds (01:17:55), including pauses.
Totaling 4 hours, 2 minutes, and 32 seconds (04:02:32).



10 - I translated the chapter four of my story "The Life of Littletato" from Portuguese to English (18:04 19/06/2024):



Task number:
10

Task number by task type:
2

Task title:
I finished translating the chapter four of my story "The Life of Littletato" from Portuguese to English

Task type:
Stories

When I completed the task:
18:04 19/06/2024

When I completed the task (UTC):
2024-06-19T21:04:49Z

Entry:
10. Stories (18:04 19/06/2024)

Task description:
I finished translating the chapter four of my story "The Life of Littletato" from Portuguese to English.

The chapter with the title:
The New Year and the Relaxing Anime

I started at 17:22 and stopped at 18:04.
I translated for 42 minutes and 14 seconds (42:14), including pauses.
Totaling 4 hours, 27 minutes, and 42 seconds (04:27:42).



11 - I revised the chapter five of my story "The Life of Littletato" (23:14 03/07/2024):



Task number:
11

Task number by task type:
3

Task title:
I finished revising the chapter five of my story "The Life of Littletato"

Task type:
Stories

When I completed the task:
23:14 03/07/2024

When I completed the task (UTC):
2024-07-04T02:14:39Z

Entry:
11. Stories (23:14 03/07/2024)

Task description:
I finished revising the chapter five of my story "The Life of Littletato".

The chapter with the title:
The Dream of the Space Trip

I started at 22:14 and stopped at 23:12.
I revised for 58 minutes and 16 seconds (58:16), including pauses.
Totaling 5 hours, 47 minutes, and 53 seconds (05:47:53).



12 - I translated the chapter five of my story "The Life of Littletato" from Portuguese to English (01:02 10/07/2024):



Task number:
12

Task number by task type:
4

Task title:
I finished translating the chapter five of my story "The Life of Littletato" from Portuguese to English

Task type:
Stories

When I completed the task:
01:02 10/07/2024

When I completed the task (UTC):
2024-07-10T04:02:30Z

Entry:
12. Stories (01:02 10/07/2024)

Task description:
I finished translating the chapter five of my story "The Life of Littletato" from Portuguese to English.

The chapter with the title:
The Dream of the Space Trip

I started at 00:28 and stopped at 01:02.
I translated for 34 minutes and 9 seconds (34:09), including pauses.
Totaling 4 hours, 29 minutes, and 26 seconds (04:29:26).



14 - I revised the chapter six of my story "The Life of Littletato" (22:29 18/07/2024):



Task number:
14

Task number by task type:
5

Task title:
I finished revising the chapter six of my story "The Life of Littletato"

Task type:
Stories

When I completed the task:
22:29 18/07/2024

When I completed the task (UTC):
2024-07-19T01:29:42Z

Entry:
14. Stories (22:29 18/07/2024)

Task description:
I finished revising the chapter six of my story "The Life of Littletato".

The chapter with the title:
The Saturday and the Park

I started at 20:59 and stopped at 22:29.
I revised for 1 hour, 30 minutes, and 20 seconds (01:30:20), including pauses.
Totaling 3 hours, 31 minutes, and 12 seconds (03:31:12).



15 - I translated the chapter six of my story "The Life of Littletato" from Portuguese to English (22:18 25/07/2024):



Task number:
15

Task number by task type:
6

Task title:
I finished translating the chapter six of my story "The Life of Littletato" from Portuguese to English

Task type:
Stories

When I completed the task:
22:18 25/07/2024

When I completed the task (UTC):
2024-07-26T01:18:58Z

Entry:
15. Stories (22:18 25/07/2024)

Task description:
I finished translating the chapter six of my story "The Life of Littletato" from Portuguese to English.

The chapter with the title:
The Saturday and the Park

I started at 21:15 and stopped at 22:18.
I translated for 1 hour, 2 minutes, and 58 seconds (01:02:58), including pauses.
Totaling 3 hours, 49 minutes, and 43 seconds (03:49:43).



16 - I revised the chapter seven of my story "The Life of Littletato" (22:32 07/08/2024):



Task number:
16

Task number by task type:
7

Task title:
I finished revising the chapter seven of my story "The Life of Littletato"

Task type:
Stories

When I completed the task:
22:32 07/08/2024

When I completed the task (UTC):
2024-08-08T01:32:55Z

Entry:
16. Stories (22:32 07/08/2024)

Task description:
I finished revising the chapter seven of my story "The Life of Littletato".

The chapter with the title:
Videogame Session on Sunday

I started at 21:01 and stopped at 22:32.
I revised for 1 hour, 30 minutes, and 26 seconds (01:30:26), including pauses.
Totaling 3 hours, 7 minutes, and 51 seconds (03:07:51).



17 - I translated the chapter seven of my story "The Life of Littletato" from Portuguese to English (14:45 17/08/2024):



Task number:
17

Task number by task type:
8

Task title:
I finished translating the chapter seven of my story "The Life of Littletato" from Portuguese to English

Task type:
Stories

When I completed the task:
14:45 17/08/2024

When I completed the task (UTC):
2024-08-17T17:45:37Z

Entry:
17. Stories (14:45 17/08/2024)

Task description:
I finished translating the chapter seven of my story "The Life of Littletato" from Portuguese to English.

The chapter with the title:
Videogame Session on Sunday

I started at 13:44 and stopped at 14:45.
I translated for 1 hour and 55 seconds (01:00:55), including pauses.
Totaling 3 hours, 44 minutes, and 41 seconds (03:44:41).



18 - I revised the chapter eight of my story "The Life of Littletato" (21:51 29/08/2024):



Task number:
18

Task number by task type:
9

Task title:
I finished revising the chapter eight of my story "The Life of Littletato"

Task type:
Stories

When I completed the task:
21:51 29/08/2024

When I completed the task (UTC):
2024-08-30T00:51:14Z

Entry:
18. Stories (21:51 29/08/2024)

Task description:
I finished revising the chapter eight of my story "The Life of Littletato".

The chapter with the title:
Littletato's Programming and the Exciting Movie

I started at 20:50 and stopped at 21:50.
I revised for 1 hour and 35 seconds (01:00:35), including pauses.
Totaling 2 hours, 9 minutes, and 30 seconds (02:09:30).



19 - I translated the chapter eight of my story "The Life of Littletato" from Portuguese to English (18:37 03/09/2024):



Task number:
19

Task number by task type:
10

Task title:
I finished translating the chapter eight of my story "The Life of Littletato" from Portuguese to English

Task type:
Stories

When I completed the task:
18:37 03/09/2024

When I completed the task (UTC):
2024-09-03T21:37:50Z

Entry:
19. Stories (18:37 03/09/2024)

Task description:
I finished translating the chapter eight of my story "The Life of Littletato" from Portuguese to English.

The chapter with the title:
Littletato's Programming and the Exciting Movie

I started at 17:56 and stopped at 18:37.
I translated for 41 minutes and 21 seconds (41:21), including pauses.
Totaling 2 hours, 32 minutes, and 32 seconds (02:32:32).



20 - I revised the chapter nine of my story "The Life of Littletato" (20:36 06/09/2024):



Task number:
20

Task number by task type:
11

Task title:
I finished revising the chapter nine of my story "The Life of Littletato"

Task type:
Stories

When I completed the task:
20:36 06/09/2024

When I completed the task (UTC):
2024-09-06T23:36:31Z

Entry:
20. Stories (20:36 06/09/2024)

Task description:
I finished revising the chapter nine of my story "The Life of Littletato".

The chapter with the title:
The Relaxing Farm and the Livestream

I started at 20:12 and stopped at 20:36.
I revised for 23 minutes and 45 seconds (23:45), including pauses.
Totaling 2 hours, 57 minutes, and 42 seconds (02:57:42).



21 - I translated the chapter nine of my story "The Life of Littletato" from Portuguese to English (02:57 17/09/2024):



Task number:
21

Task number by task type:
12

Task title:
I finished translating the chapter nine of my story "The Life of Littletato" from Portuguese to English

Task type:
Stories

When I completed the task:
02:57 17/09/2024

When I completed the task (UTC):
2024-09-17T05:57:14Z

Entry:
21. Stories (02:57 17/09/2024)

Task description:
I finished translating the chapter nine of my story "The Life of Littletato" from Portuguese to English.

The chapter with the title:
The Relaxing Farm and the Livestream

I started at 02:03 and stopped at 02:57.
I translated for 53 minutes and 35 seconds (53:35), including pauses.
Totaling 3 hours and 15 minutes (03:15:00).



23 - I revised the chapter ten of my story "The Life of Littletato" (21:22 20/09/2024):



Task number:
23

Task number by task type:
13

Task title:
I finished revising the chapter ten of my story "The Life of Littletato"

Task type:
Stories

When I completed the task:
21:22 20/09/2024

When I completed the task (UTC):
2024-09-21T00:22:22Z

Entry:
23. Stories (21:22 20/09/2024)

Task description:
I finished revising the chapter ten of my story "The Life of Littletato".

The chapter with the title:
The Dreams and the Memories

I started at 18:37 and stopped at 21:22.
I revised for 2 hours, 44 minutes, and 37 seconds (02:44:37), including pauses.
Totaling 5 hours, 47 minutes, and 6 seconds (05:47:06).



24 - I translated the chapter ten of my story "The Life of Littletato" from Portuguese to English (20:53 26/09/2024):



Task number:
24

Task number by task type:
14

Task title:
I finished translating the chapter ten of my story "The Life of Littletato" from Portuguese to English

Task type:
Stories

When I completed the task:
20:53 26/09/2024

When I completed the task (UTC):
2024-09-26T23:53:03Z

Entry:
24. Stories (20:53 26/09/2024)

Task description:
I finished translating the chapter ten of my story "The Life of Littletato" from Portuguese to English.

The chapter with the title:
The Dreams and the Memories

I started at 19:41 and stopped at 20:53.
I translated for 1 hour, 11 minutes, and 36 seconds (01:11:36), including pauses.
Totaling 3 hours, 45 minutes, and 2 seconds (03:45:02).



26 - I revised the chapter eleven of my story "The Life of Littletato" (16:29 30/09/2024):



Task number:
26

Task number by task type:
15

Task title:
I finished revising the chapter eleven of my story "The Life of Littletato"

Task type:
Stories

When I completed the task:
16:29 30/09/2024

When I completed the task (UTC):
2024-09-30T19:29:13Z

Entry:
26. Stories (16:29 30/09/2024)

Task description:
I finished revising the chapter eleven of my story "The Life of Littletato".

The chapter with the title:
The Dream of the Travel and the Park

I started at 15:19 and stopped at 16:28.
I revised for 1 hour, 9 minutes, and 53 seconds (01:09:53), including pauses.
Totaling 3 hours, 6 minutes, and 43 seconds (03:06:43).



27 - I translated the chapter eleven of my story "The Life of Littletato" from Portuguese to English (02:09 16/10/2024):



Task number:
27

Task number by task type:
16

Task title:
I finished translating the chapter eleven of my story "The Life of Littletato" from Portuguese to English

Task type:
Stories

When I completed the task:
02:09 16/10/2024

When I completed the task (UTC):
2024-10-16T05:09:18Z

Entry:
27. Stories (02:09 16/10/2024)

Task description:
I finished translating the chapter eleven of my story "The Life of Littletato" from Portuguese to English.

The chapter with the title:
The Dream of the Travel and the Park

I started at 01:15 and stopped at 02:09.
I translated for 53 minutes and 40 seconds (53:40), including pauses.
Totaling 4 hours, 51 minutes, and 8 seconds (04:51:08).



28 - I revised the chapter twelve of my story "The Life of Littletato" (03:20 16/11/2024):



Task number:
28

Task number by task type:
17

Task title:
I finished revising the chapter twelve of my story "The Life of Littletato"

Task type:
Stories

When I completed the task:
03:20 16/11/2024

When I completed the task (UTC):
2024-11-16T06:20:43Z

Entry:
28. Stories (03:20 16/11/2024)

Task description:
I finished revising the chapter twelve of my story "The Life of Littletato".

The chapter with the title:
The World of My Little Pony: Friendship Is Magic

I started at 01:59 and stopped at 03:20.
I revised for 1 hour, 20 minutes, and 55 seconds (01:20:55), including pauses.
Totaling 6 hours, 11 minutes, and 28 seconds (06:11:28).



1 - I edited a video a little on "Sony Vegas" (02:40 16/01/2024):



Task number:
1

Task number by task type:
1

Task title:
I edited a video a little on "Sony Vegas"

Task type:
Videos

When I completed the task:
02:40 16/01/2024

When I completed the task (UTC):
2024-01-16T05:40:42Z

Entry:
1. Videos (02:40 16/01/2024)

States:
First task in year
First video in year

Task description:
I edited a video a little on "Sony Vegas".

I just finished editing my new media video called:
Anima Yell! EP12 "One for All, All for One" (Re-watched 1x)

I rendered part of the anime episode with the subtitles in a single video.
Then I added the anime title, episode title, and time that I re-watched.
I also added the Stake2 logo, the anime episode itself, and several emojis with my reactions to the scenes.

I improved several things in the video, such as the anime and episode titles fading in important scenes of the episode.
To give more focus to the scene and be able to see its details better.
I repeated a scene from the episode that I liked a lot and was cool to watch.

Then I got the text of thanks to the anime that I wrote in the comment for episode twelve.
And I put it in Adobe Photoshop, with a pink color, and created a light pink background.
I put red emoji hearts in place of the hearts of the text that did not appear.
Then I put the date of the anime, and the year, which is 2018.
And the date I finished re-watching, which was on January 15, 2024 at 03:44.

After that, I copied the part of the episode cover where I wrote "With lots of love, Izaque" and pasted it into the Photoshop file of the thanks text.
Then I exported this image with this text and the big red heart.
At the end of the video, I included the image of the thanks text exported by Photoshop.
And the text "With lots of love, Izaque", one after the other.
All this with the final part of the ending song of the anime playing.

Link of the video on YouTube:
https://www.youtube.com/watch?v=f0UsvnVnsdQ



3 - I edited a video a little on "Sony Vegas" (22:58 01/03/2024):



Task number:
3

Task number by task type:
2

Task title:
I edited a video a little on "Sony Vegas"

Task type:
Videos

When I completed the task:
22:58 01/03/2024

When I completed the task (UTC):
2024-03-02T01:58:20Z

Entry:
3. Videos (22:58 01/03/2024)

Task description:
I edited a video a little on "Sony Vegas".

It is a summary video of an episode from the second season of the series "The Walking Dead".

This is the episode of the season:
EP13(19) "Beside the Dying Fire"

And this is the name of the video:
The Walking Dead Second Season EP13(19) "Beside the Dying Fire" (Re-watched 1x)

I started editing the video on January 31, 2024 at 13:24.
And I stopped editing on the same day, at 20:51.
There were 7 hours and 27 minutes of editing in total.
With breaks to go to the bathroom, drink water, and eat, of course.

I included the video and audio tracks, The Walking Dead logo, the season text, the episode title, and the "re-watched one-time" text.
I also included the Stake2 logo and the episode with the audio.

I started cutting parts of the episode to make it smaller, removing not-so-important parts, silence, and transitions.
And also to reduce the size of the full video so it does not become so heavy and long.
I also put brightness filters on some parts of the episode, as they were too dark.

I also made the series logo and the episode information texts disappear and become more transparent in parts of the video.
I did this to give more focus to the episode, the scene, and what is happening at the moment.
In fact, the series logo and season and episode information are hidden in much of the video.

Then I made the end of the video, where there is an impact on the soundtrack, showing a new settlement.
In the sound impact, I placed the series logo and the season and episode information in the center of the screen, larger.
To give more focus to the end of the episode, and the end of the second season, showing only the series logo, the name of the season, and the Stake2 logo at the end.
And also showing the text "End of the season." at the end of the video.

I still need to make the subtitles for the characters, and put my reactions in emojis.
And also put some specific things, like the "Rest In Peace" photos of the people who died in the episode.
And other edits I want to make, such as references to previous episodes.

After I finish all of this, I also have to do the "30-second" version of the entire video.
Which is the entire video, but cut into 30-second parts, to post on social media.

I continued editing the video on February 2, 2024 at 18:25.
And I stopped editing on the same day, at 22:54.
There were 4 hours and 29 minutes of editing in total.

I also made a track on the timeline for the characters' "Rest In Peace" images, with their name, year of birth and death, and age at death.
I also made a track on the timeline for the gunshots fired in the series.
To represent the sound of gunshots visually with a Discord party popping confetti emoji.

And I made a track for notes, and other things, like memes and edits that I wanted to put up.
For example, a text detailing a zombie made in 3D in the episode, which was: "Zombie in 3D", and a blue car that Glenn was looking at.

I also put a red exclamation mark on top of the head of a zombie.
The exclamation mark appeared above the zombie's head on the highway along with the warning sound from the game "Metal Gear Solid".
To give the warning that he has been spotted by the group of survivors, as happens in the game.
And this exclamation mark accompanied the zombie's movement smoothly as he walked, approaching the group.

I came back to editing the video on February 3, 2024 at 18:32.
And I stopped editing on the same day, at 23:11.
There were 3 hours and 38 minutes of editing in total.

I finished making reactions and notes on the entire episode, I fixed the ending a little.
And I started making subtitles for the characters' speeches in the episode.

I continued editing the video in February 4, 2024 at 19:04.
And I stopped editing on the same day, at 20:44.
There were 1 hour and 40 minutes of editing in total.

I made more subtitles for the episode, from minute 4 to minute 9, the video is 20 minutes in total.

I finished editing the video on February 6, 2024.
Finished making all the subtitles, and added a part of the movie "Over The Hedge" to the video to make it fun.
Then I rendered the video in "Sony Vegas".

And I posted the video on "Dailymotion" here:
https://www.dailymotion.com/video/x8sdyfe

I also posted the video on "YouTube" here:
https://www.youtube.com/watch?v=_8bo14nXn04

Sub-videos:

1 - Gunshot synchronization:
https://www.youtube.com/watch?v=g35QzSdue0A

2 - Exclamation mark:
https://www.youtube.com/watch?v=p0vjVVL9Sdo

3 - Over the Hedge:
https://www.youtube.com/watch?v=LYnZWOnwRNc



29 - I edited a video a little on "Sony Vegas" (18:59 24/11/2024):



Task number:
29

Task number by task type:
3

Task title:
I edited a video a little on "Sony Vegas"

Task type:
Videos

When I completed the task:
18:59 24/11/2024

When I completed the task (UTC):
2024-11-24T21:59:19Z

Entry:
29. Videos (18:59 24/11/2024)

Task description:
I edited a video a little on "Sony Vegas".

I started editing a new video on Sony Vegas at 17:10 on October 5, 2024.

The title of the video will be:
Sansha Sanyou EP12 "I Am Graduating from Bread Crusts" (Watched)

It will be a video showing the opening of the anime, the previews of episodes 1 through 12, and episode 12.
I've already put the anime logo on the video, the date of the anime, part of the opening, and the preview of the first episode.

I returned to editing at 18:18 on the same day.
I edited for 1 hour, 11 minutes, and 18 seconds, with pauses, until 20:51.
I put the titles of the first two episodes, and when I watched and re-watched them.
I also put the part of the first episode where the main character says its title.

I made a copy of the Photoshop file of the anime covers.
In this file, I moved all titles and watched and re-watched times to the center.
I cut the workspace to a correct and fixed size.
So that there would be no problem when adding the images of the titles and (re-)watched times in Sony Vegas to edit the video.
This way, all the images would always be in the correct size and position.

I returned to editing the video at 18:11 on October 9, 2024, and stopped at 19:47.
I edited for 34 minutes and 20 seconds with pauses, totaling 1 hour, 45 minutes, and 38 seconds of editing.
I added the episode preview, title, and the watched date of episodes three through eight to the video.

I returned to editing the video at 18:07 on October 12, 2024, and stopped at 18:34.
I edited for 18 minutes and 22 seconds with pauses, totaling 2 hours and 4 minutes of editing.
I added the episode preview, title, and the watched date of episodes nine through ten to the video.

I returned to editing the video at 22:28 on October 13, 2024, and stopped at 22:40.
I edited for 4 minutes and 26 seconds with pauses, totaling 2 hours, 8 minutes, and 26 seconds of editing.
I added the episode preview, title, and the watched date of episode eleven to the video.

I returned to editing the video at 00:17 on November 1, 2024, and stopped at 01:47.
I edited for 1 hour, 11 minutes, and 55 seconds with pauses, totaling 3 hours, 20 minutes, and 21 seconds of editing.
Added the entire episode 12 and started editing it into the video.
I also added reactions and cool edits to the episode, I edited it up to minute 06:02 of the episode.
I added a laughing reaction when Yoko pulled Futaba's cheek and a distorted sound from Among Us in a distorted face frame.

I returned to editing the video at 21:17 on November 1, 2024, and stopped at 00:09.
I edited for 2 hours, 47 minutes, and 47 seconds with pauses, totaling 6 hours, 8 minutes, and 8 seconds of editing.
Edited episode 12 from minute 06:02 to minute 15:43 of the episode, totaling 9 minutes and 41 seconds of edited content.
I put reactions of emotions that I felt at moments in the episode.
I hid or reduced the opacity of the anime title, episode title, Stake2 logo, and reactions so that they do not get too much on top of the characters' faces or hair.
I also made an animation of the anime and episode title being thrown away when Sakura starts to sing at 07:11 of the episode.
And the Stake2 logo shaking with Sakura's out-of-tune voice xD.

I returned to editing the video at 03:16 on November 5, 2024, and stopped at 06:28.
I edited for 3 hours, 4 minutes, and 45 seconds with pauses, totaling 9 hours, 12 minutes, and 53 seconds of editing.
I edited the episode 12 from minute 15:43 to the end of the episode.
Added reactions and funny things.
I also added the parts of episode one that were mentioned in the episode.
Like the part where Futaba says what Yoko said in the first episode.
And a scene of Futaba and Teru-chan running with food in their hands, which was similar to the scene of Futaba running with food in the first episode.
I edited the part at the end of the episode that has the anime's opening song.
I started putting the titles of the episodes shown while the opening song played at the end.
I also edited the post-credits scene and added reactions to it.
Added the date of the anime and when I finished watching it to parts of the opening song and at the end of the post-credits scene.
I made the closing part of the video, with part of the anime's ending song playing.
Showing the final art of the episode, where the creator of the original manga, Cherry Arai, thanks the fans who watched the anime.
I put the photo of my thank you text after the final art, which has the anime's logo, the text, and the anime's dates.
Then the photo of "With much love", which has the anime logo, final art, text "With much love", the Stake2 logo, and the anime dates.
And at the end, when there is an impact in the ending song, I put the same photo above but without the final art, with the "With much love" text large in the center, zooming in on the screen along with the impact.

I returned to editing the video at 05:14 on November 6, 2024, and stopped at 06:57.
I edited for 36 minutes and 2 seconds with pauses, totaling 9 hours, 48 minutes, and 55 seconds of editing.
I finished putting the titles of the episodes that appear when the opening song plays at the end.
I made some final corrections, and now the video is ready to be rendered, with a duration of 27 minutes and 39 seconds.

I set the video to render at 17:00 on November 7, 2024, and the video finished rendering at 22:44.
A 27-minute and 41-second video took 5 hours and 44 minutes to render in 720p.

I created the video information folder and wrote its titles, descriptions, and other information on November 8, 2024 at 21:02.
I also created the video thumbnail in Photoshop.

Link of the video on Dailymotion:
https://www.dailymotion.com/video/k3oe6Gn3FxMXFZBQeUe

I posted the social media post text for the video on the "art" and "videos" channels of my server on Discord, and also on the status of WhatsApp, Instagram, and Facebook.
I also made posts on Twitter, Bluesky, and Threads.



Completed tasks in 2024: 30








PHP: 4
Python: 6
Stories: 17
Videos: 3

PHP: 4
2 - 1# - I programmed my websites in HTML, CSS, JavaScript, and PHP a little (07:00 20/01/2024)
7 - I programmed my websites in HTML, CSS, JavaScript, and PHP a little (21:08 26/04/2024)
25 - I programmed my websites in HTML, CSS, JavaScript, and PHP a little (21:04 26/09/2024)
30 - I programmed my websites in HTML, CSS, JavaScript, and PHP a little (03:39 17/12/2024)

Python: 6
4 - 1# - I programmed in Python a little, coding my modules GamePlayer, PHP, Python, and Years (10:23 07/03/2024)
5 - I programmed in Python a little, coding my modules Stories, Diary_Slim, and Project_Zomboid (06:56 13/04/2024)
6 - I programmed in Python a little, coding my modules Project_Zomboid and Stories (00:51 26/04/2024)
8 - I programmed in Python a little, coding my modules Stories, PHP, and Tasks (05:18 05/05/2024)
13 - I programmed in Python a little, coding my modules PHP, Stories, Python, System, and Modules (22:41 10/07/2024)
22 - I programmed in Python a little, coding my modules Date, Social_Networks, and Stories (04:12 18/09/2024)

Stories: 17
9 - 1# - I revised the chapter four of my story "The Life of Littletato" (20:42 03/06/2024)
10 - I translated the chapter four of my story "The Life of Littletato" from Portuguese to English (18:04 19/06/2024)
11 - I revised the chapter five of my story "The Life of Littletato" (23:14 03/07/2024)
12 - I translated the chapter five of my story "The Life of Littletato" from Portuguese to English (01:02 10/07/2024)
14 - I revised the chapter six of my story "The Life of Littletato" (22:29 18/07/2024)
15 - I translated the chapter six of my story "The Life of Littletato" from Portuguese to English (22:18 25/07/2024)
16 - I revised the chapter seven of my story "The Life of Littletato" (22:32 07/08/2024)
17 - I translated the chapter seven of my story "The Life of Littletato" from Portuguese to English (14:45 17/08/2024)
18 - I revised the chapter eight of my story "The Life of Littletato" (21:51 29/08/2024)
19 - I translated the chapter eight of my story "The Life of Littletato" from Portuguese to English (18:37 03/09/2024)
20 - I revised the chapter nine of my story "The Life of Littletato" (20:36 06/09/2024)
21 - I translated the chapter nine of my story "The Life of Littletato" from Portuguese to English (02:57 17/09/2024)
23 - I revised the chapter ten of my story "The Life of Littletato" (21:22 20/09/2024)
24 - I translated the chapter ten of my story "The Life of Littletato" from Portuguese to English (20:53 26/09/2024)
26 - I revised the chapter eleven of my story "The Life of Littletato" (16:29 30/09/2024)
27 - I translated the chapter eleven of my story "The Life of Littletato" from Portuguese to English (02:09 16/10/2024)
28 - I revised the chapter twelve of my story "The Life of Littletato" (03:20 16/11/2024)

Videos: 3
1 - 1# 1# - I edited a video a little on "Sony Vegas" (02:40 16/01/2024)
3 - I edited a video a little on "Sony Vegas" (22:58 01/03/2024)
29 - I edited a video a little on "Sony Vegas" (18:59 24/11/2024)