OSDev.org

The Place to Start for Operating System Developers
It is currently Thu Mar 28, 2024 2:11 pm

All times are UTC - 6 hours




Post new topic Reply to topic  [ 14 posts ] 
Author Message
 Post subject: Text Recorder
PostPosted: Sat Feb 27, 2016 1:41 pm 
Offline
Member
Member
User avatar

Joined: Tue Mar 06, 2007 11:17 am
Posts: 1225
NOTE: Absolutely all of my programs and my source code are Public Domain, so they can be used freely and have no author restrictions at all.

Text Recorder version 2016-02-27Image

This is a program that can allow you to save your text typing and more importantly to record your development efforts so that others can understand much better your code as if you were in front of their machines. It is still in a testing stage and it certainly shouldn't fail. Since it's in a testing stage I currently only use it personally for small code snippets and text logs to evaluate any bugs or deficiencies and solving them based on using it for simple real-world in the beginning.

What is good about it is that we aren't watching a video but text and HTML.

It supports several of the most common programming language extensions (.c, .h, .asm, .inc, .php).

The directory tree dialog is draggable. You can use the button beside the text control at the top of the application to create a new recorder with the name you want.

You can use the button beside the progress bar to hide and show the syntax highlight area. It can be useful when editing huge code files since the syntax highlight becomes very slow in those cases unless you hide that colored text area (when hidden no such interpretation happens).

You can also save a self-contained application/recording in HTML format or in TAR (this one is if you want to extract the files you created because it isn't practical to try to save lots of files from the browser).

You can place the program in a given directory and replace it every time you save the new recording with added content. Inside that directory you can place external files such as images for resources global to the project without trying to embed them in Base64, which some browsers like Chrome just don't want to display.

This version can add files and directories. A next version should display the size of each file and directory readme file. I'd also like to add a stable engine to show what I'm typing live, so besides having a regular chat (IRC, etc.) I could have a web-based application that displays exactly what I'm currently writing, or that shows among a list of different text recordings to select from a list.

I also need to add functionality to add directory entries that point to external files or URLs, as well as the capability to drag entries and delete/copy/rename them. Also an integrated image editor canvas and a hex viewer with a VGA font that resembles HIEW and probably machine emulators to test binary code, starting with an 8086 emulator, all of them based on HTML5.

In other words, this project, if done correctly (and if implemented in a compiler that produces native code) would add virtually all of the tools needed to build an operating system or complex projects with the capability to record the whole process, no matter if it's an image, text or other resource, as long as it is done inside this IDE, with the intention to reconstruct it fully and exactly as it was done.

It's like having a virtual copy of the developers' intentions and their whole development process on everyone's computer instead of privately and statically having their original developers write new versions and the rest of advanced and common users just wait it. It would be more practical and interesting than most current YouTube videos, and still would generate views (even ad-based money) based on practical and constructive interests.

It could be like a text YouTube for developers.

It could be better than, or improve, sites like https://www.livecoding.tv if it was implemented instead of using only videos without actual source code that could be accessed.

_________________
Live PC 1: Image Live PC 2: Image

YouTube:
http://youtube.com/@AltComp126/streams
http://youtube.com/@proyectos/streams

http://master.dl.sourceforge.net/projec ... 7z?viasf=1


Last edited by ~ on Thu Mar 10, 2016 11:10 am, edited 5 times in total.

Top
 Profile  
 
 Post subject: Re: Text Recorder
PostPosted: Sun Feb 28, 2016 6:22 am 
Offline
Member
Member

Joined: Wed Jun 03, 2015 5:03 am
Posts: 397
Interesting idea. But honestly, in the long run I can't see something attractive in it. May be recording some sound can make it more interesting. Then you can look at the screen and hear writer's emotional comments like "what a hell I'm doing with my f***d life?!" :)

But seriously, some emotions while coding can be interesting.

_________________
My previous account (embryo) was accidentally deleted, so I have no chance but to use something new. But may be it was a good lesson about software reliability :)


Top
 Profile  
 
 Post subject: Re: Text Recorder
PostPosted: Sun Feb 28, 2016 8:13 am 
Offline
Member
Member
User avatar

Joined: Tue Mar 06, 2007 11:17 am
Posts: 1225
embryo2 wrote:
Interesting idea. But honestly, in the long run I can't see something attractive in it. May be recording some sound can make it more interesting. Then you can look at the screen and hear writer's emotional comments like "what a hell I'm doing with my f***d life?!" :)

But seriously, some emotions while coding can be interesting.
If you could clearly answer, for example:

"What was the very first component of the Linux kernel that was written, and what lines came first so that I can untangle the logic and see its dependencies in order, and then which other component was added?"

With something like this application it's possible to understand, without having to question dozens of questions online about that (and finding questions that make sense).

Try to stay reading for more than a year code written in this sequenced way and you will start to see that it gives a lot more of information to understand the programming style of the developer(s) and in what order the code needs to be implemented so it makes more sense than an archived copy of sequential source code text. It simply accelerates understanding the most advanced and complex parts of any project, and makes source code a bunch more educative, which is part of its main reasons of existing, so programs like this are trying to help at the root of this goal.

_________________
Live PC 1: Image Live PC 2: Image

YouTube:
http://youtube.com/@AltComp126/streams
http://youtube.com/@proyectos/streams

http://master.dl.sourceforge.net/projec ... 7z?viasf=1


Top
 Profile  
 
 Post subject: Re: Text Recorder
PostPosted: Mon Feb 29, 2016 10:33 am 
Offline
Member
Member

Joined: Wed Jun 03, 2015 5:03 am
Posts: 397
~ wrote:
"What was the very first component of the Linux kernel that was written, and what lines came first so that I can untangle the logic and see its dependencies in order, and then which other component was added?"

Dependencies and components can be tracked in a much more convenient manner. How much time is required for you to track all the editing process of the Linux kernel? There are human-years involved. Do you really expect the process of watching the code change can help more than just old plain googling? And do you really expect edition tracking can be more convenient than simple log of code changes/states, like version tracking systems can produce? If a developer has a good habit of commenting his code commits then version tracking is just a lot more informative than simple editing watching.

May be your recorder can be more useful in the areas like paired coding and other extreme programming techniques? Just look that way, may be somebody there is looking for solutions like yours.

_________________
My previous account (embryo) was accidentally deleted, so I have no chance but to use something new. But may be it was a good lesson about software reliability :)


Top
 Profile  
 
 Post subject: Re: Text Recorder
PostPosted: Mon Feb 29, 2016 11:14 am 
Offline
Member
Member
User avatar

Joined: Tue Mar 06, 2007 11:17 am
Posts: 1225
embryo2 wrote:
Dependencies and components can be tracked in a much more convenient manner. How much time is required for you to track all the editing process of the Linux kernel? There are human-years involved. Do you really expect the process of watching the code change can help more than just old plain googling? And do you really expect edition tracking can be more convenient than simple log of code changes/states, like version tracking systems can produce? If a developer has a good habit of commenting his code commits then version tracking is just a lot more informative than simple editing watching.

May be your recorder can be more useful in the areas like paired coding and other extreme programming techniques? Just look that way, may be somebody there is looking for solutions like yours.
Yes, it is expected. It's like having the original developers work on your machine from the start.

The tracking would be done at the same time you program inside the IDE or text recorder. You just save it. Replaying it would then take the same time it took to code and develop it.

You can choose to just save the code as a TAR archive instead of watching it, so there is only a winning side. I have added a very few features since I posted here.

Recording the full development has a different and very particular effect. Nothing else will have the same effect.

You can select to replay only a particular file and/or watch the development from there.

You can fast forward. It allows you to see in a more general way the structure of the program because the higher replay speed allows to see more code in the same time span and thus gather a more unified view of what is involved at any time of the development.

What lines came first? This is of vital importance to know for all outsider developers. It shows how it becomes possible to implement any program.

Or a Linux distribution that does the same to show how to create one. Like having Linux From Scratch replay itself from the beginning to the point where it's useful and with captions that stop the recording so that you know what was done (everything would be much more visible).

Even adding more trivial things like adding a BBCode interpreter, and other more important things like making MathJax/LaTeX/MathML/AsciiMath interpretable to solve math problems automatically and show the steps (to learn and explain Mathematics), would be more enriching, and if these text recordings become common it will undoubtedly make the current state of web content, educative or for entertainment, look much better and be more productive as originally intended.

Considering this tool is part of my operating system and the development of it, I could say that I'm fulfilling my goals (and those of many others) of making difficult things easier to understand and attain and have more relevant information that can be immediately usable at hand.

_________________
Live PC 1: Image Live PC 2: Image

YouTube:
http://youtube.com/@AltComp126/streams
http://youtube.com/@proyectos/streams

http://master.dl.sourceforge.net/projec ... 7z?viasf=1


Top
 Profile  
 
 Post subject: Re: Text Recorder
PostPosted: Mon Feb 29, 2016 12:23 pm 
Offline
Member
Member

Joined: Wed Oct 26, 2011 12:00 pm
Posts: 202
Quote:
What lines came first? This is of vital importance to know for all outsider developers. It shows how it becomes possible to implement any program.


For me? I could absolutely not care less about which lines of code is written when, I would also not care about where they were written. For all I know he could have coded it high while on the toilet.

This to me, would be a massive waste of time, I would use 1 millionth of the time just reading the code of other developers (and trust me, I fix others code for a living) than I would watching how they wrote and modified their code. I can think of no instance or come up with no example where it would be faster or give me better insight to see how a project was coded instead of just analyzing code structure or dependancies by reading through it a couple of times.

You are also forgetting that it does not give a clearer image to see how a project is coded, you need to answer why was it coded like it was, and you can only get that image from clear comments and code context.

_________________
mollenos | gracht (protocol library) | vioarr (window-manager) | bake (package manager)


Top
 Profile  
 
 Post subject: Re: Text Recorder
PostPosted: Mon Feb 29, 2016 12:56 pm 
Offline
Member
Member
User avatar

Joined: Tue Mar 06, 2007 11:17 am
Posts: 1225
MollenOS wrote:
Quote:
What lines came first? This is of vital importance to know for all outsider developers. It shows how it becomes possible to implement any program.


For me? I could absolutely not care less about which lines of code is written when, I would also not care about where they were written. For all I know he could have coded it high while on the toilet.

This to me, would be a massive waste of time, I would use 1 millionth of the time just reading the code of other developers (and trust me, I fix others code for a living) than I would watching how they wrote and modified their code. I can think of no instance or come up with no example where it would be faster or give me better insight to see how a project was coded instead of just analyzing code structure or dependancies by reading through it a couple of times.

You are also forgetting that it does not give a clearer image to see how a project is coded, you need to answer why was it coded like it was, and you can only get that image from clear comments and code context.
I guess I will have to use it to make it useful (without actual interesting content that can be executed in real life and understood to advance everyone's level, there is no point in arguing too much and there is no way to demonstrate the usefulness of this effort).

Even major typos or plain errors, if shown in the full typing sequence, can get to show the hardest parts of an algorithm implementation (the parts, the ways, the time, times and tries that took to get something right).

Just think how it could be used to show how a webpage is created in the order it was created, or to really understand how Firefox or a compiler like GCC works as to be able to create another compiler and understand the peripheral, more generic, more portable concepts/file formats/algorithms/ideas, or how to create a Linux distribution (having it execute all of the command sequences to compile it and show you how it is done step by step in an automated command line).

Or a book or a standards document (Intel/AMD manuals, ATA-ATAPI, USB, the different BIOSes' code...), having it be written not sequentially but in its original order so that you can see what is the first step to make it possible (the easiest), and how to add the other parts (the most complex parts). A book may seem ordered but if we don't have the sequence in which it was done, it is actually disordered in its logical and understandable sense, and without it we need to decipher/untangle/interpret it to do the same thing as sequencing it, but without a tool like this.

If it's done massively (thousands of text recordings, "text-based movies that are executable by the computer/Linux/any virtual or hardware machine"), things would certainly become clearer, for online, offline and educative content.

But that's why I am accompanying it with my operating system and also trying to type snippets posted in this forum, the wiki and other classic code like that of Programmers' Heaven.

It's like having the full contents of a University course that lasts many years packed in a single project file.

_________________
Live PC 1: Image Live PC 2: Image

YouTube:
http://youtube.com/@AltComp126/streams
http://youtube.com/@proyectos/streams

http://master.dl.sourceforge.net/projec ... 7z?viasf=1


Top
 Profile  
 
 Post subject: Re: Text Recorder
PostPosted: Tue Mar 01, 2016 3:09 am 
Offline
Member
Member

Joined: Wed Jun 03, 2015 5:03 am
Posts: 397
~ wrote:
It's like having the full contents of a University course that lasts many years packed in a single project file.

It would require a lot of passion to convince developers to follow you. But it seem you have an energy to move it. May be there is something insightful in using your approach. However, most developers will refuse to use such recorder for code analysis. But it's still possible to find another niche for your product.

_________________
My previous account (embryo) was accidentally deleted, so I have no chance but to use something new. But may be it was a good lesson about software reliability :)


Top
 Profile  
 
 Post subject: Re: Text Recorder
PostPosted: Tue Mar 01, 2016 8:17 am 
Offline
Member
Member
User avatar

Joined: Thu Nov 16, 2006 12:01 pm
Posts: 7612
Location: Germany
Without judging your idea in any way, let me add a few cent of personal experience.

I loathe, I absolutely detest information that does not come as plain (or, markup) text.(1)

I cannot be bothered to watch any of those "how to do X" YouTube videos related to computing, for example.

Why?

I can search text for keywords. I can judge the relevance of whatever I found via search engine literally at a glance. It takes me less than three seconds to find out if the page I am on is likely to answer my question or is a dud.

Video, audio, or any other kind of "sequential" information? Not so much.

I am sitting there, twiddling my thumbs waiting for the information to be spoon-fed at lowest common denominator speeds, not even knowing if it will eventually be enlightening or a complete waste of time.

I don't think I could ever be bothered watching how somebody else writes some code, trying to figure out what he's attempting to do, then watch him delete the code again as it's not making sense to him either.

Repository commit histories are the perfect tool for figuring out how code underwent evolution in a project. Searchable, viewable, at-a-glance judgeable, and you only get to see changes that the author thought to be meaningful in the first place.

Besides, you'd have a really hard time recording my personal workflow, as I usually work on several files at once (header, implementation, build system configuration, test driver, documentation), then interrupt what I am doing to refactor some other files that don't meet my expectations...

----

(1): Why don't I just ignore it? Because it's spamming my search results!

_________________
Every good solution is obvious once you've found it.


Top
 Profile  
 
 Post subject: Re: Text Recorder
PostPosted: Tue Mar 01, 2016 10:41 am 
Offline
Member
Member
User avatar

Joined: Tue Mar 06, 2007 11:17 am
Posts: 1225
Typing the code in the first place is the most sequential thing anyway. I wouldn't have any problem watching someone delete the whole file if I know that I'm looking at the code of a high-quality and/or functional project.

I have been figuring out how to add streaming to this application so that anyone can see exactly how a project goes in real time (like seeing a text stream of the source code of an updated version of Firefox while it's being coded/debugged when entering something like a "Live Firefox Code Development Channel").

I have thought about adding a search engine to this program to search for keywords in any order, no matter if they are together. In this way we can find files that have an exact phrase or have occurrences of at least one of those words.

This application lets edit any file at any time. It's like all of the directory tree entries were permanently open files and it's only necessary to select them. It's an alternative to a tabbed text editor and it's clearer since the directory structure is always visible so one can get used to the structure of the code because it's the most frequently viewed control of the application.

Then being able to contribute changes with several developers simultaneously in real time, making the development in text mode from the Internet live and public, being able to search, pause, stop and use any other function while the remote and distributed development is in course.

If it was done for everything, from books, to online courses, to source code to how an instant message or a forum post is typed (instead of pressing Enter), it would be much more than a YouTube or other sort of regular video from which nothing executable can be directly used.

_________________
Live PC 1: Image Live PC 2: Image

YouTube:
http://youtube.com/@AltComp126/streams
http://youtube.com/@proyectos/streams

http://master.dl.sourceforge.net/projec ... 7z?viasf=1


Top
 Profile  
 
 Post subject: Re: Text Recorder
PostPosted: Tue Mar 01, 2016 10:50 am 
Offline
Member
Member
User avatar

Joined: Thu Nov 16, 2006 12:01 pm
Posts: 7612
Location: Germany
I think you missed my point, so I'll try to sum it up in one line.

I think that, whatever educational information might be won by looking at the work in progress, will be drowned in lots of uneducational noise, a.k.a. "work in progress".

But don't take my word as gospel. If you still think it's a good idea, go ahead. I'm just saying that I don't think this has any advantage over commit logs plus comments.

_________________
Every good solution is obvious once you've found it.


Top
 Profile  
 
 Post subject: Re: Text Recorder
PostPosted: Tue Mar 01, 2016 11:22 am 
Offline
Member
Member
User avatar

Joined: Tue Mar 06, 2007 11:17 am
Posts: 1225
It's probably a good thing to have in the background instead of having nothing really important on the screen or desktop, or nothing at all, besides negative environmental noise.

Those neurons and cells affected in that way need to have a computer (or what is more similar, an interface to the computer) and a very high-level set of tasks to do to avoid having their thought flow degraded or disabled for long times.

I find that when I browse through technical books fast, seeing drawings, schematics and some text, I always get to a point where my mind clicks and synchronizes to find some useful idea that enlightens me suddenly.

Retyping the code or having somebody else do it to watch it later at any other time also allows to free oneself from the effort of such typing but it feels like it guides the mind more towards finding and filling the mind with sudden high level ideas as soon as somebody mentions, types or does something that is at the very end of where the mind was looking for a solution.

_________________
Live PC 1: Image Live PC 2: Image

YouTube:
http://youtube.com/@AltComp126/streams
http://youtube.com/@proyectos/streams

http://master.dl.sourceforge.net/projec ... 7z?viasf=1


Top
 Profile  
 
 Post subject: Re: Text Recorder
PostPosted: Wed Mar 16, 2016 12:44 pm 
Offline
Member
Member
User avatar

Joined: Tue Mar 06, 2007 11:17 am
Posts: 1225
Considering that the keyboard is the main user input and that we basically do everything with it (and also the almost childish and playful fact that the very first key is Esc, as if it was an escape from the current state of the real world), it is very important as a subsystem to keep and implement to fill the void of having the capability of having a centralized way to record all the most important things that we do as users, as if it was some sort of Human Source Code and a convenient format to understand human actions as a log.

The keyboard or any means of typing or drawing (which, as we can feel in an intuitive way, can make AI interpretation at that level much simpler by detecting all sequences as Human Source Code and if we leave already-written texts and drawings, as well as sound for later).

It can be used as a "root" interface from where to do scratch notes and from where do things like take note of the links we visit.

In this way, we can go back and analyze between the normal tasks we perform, understand our patterns better, determine and store the most important resources and become more efficient at them.

We should also remember things like Stuxnet protocols used for good and that this recorder tool and AI can improve if it is left running with no interruptions collecting data and experience. And the same would go for the effort of developing operating systems. No matter how simple, if these things are kept in a nice and light yet optimized way, they can only get things better and provide user-level interfaces (conveniently, in the most user-level language such as HTML5/JavaScript as the end of the whole common/simple toolchain and UI) that allow logging creation and typing of all sorts under an OS in a central way, which can help also to back up efforts and their results in an expanded way.

(I feel like copying some genius ideas from somewhere after just being exposed to a lot of distracting and fatiguing verbal and motor environmental noise in a city that was never so noisy before, despite getting easily distracted and forgetfur of newest high level ideas generated massively and having very little physical energy/half asleep while working and in general being awake).

_________________
Live PC 1: Image Live PC 2: Image

YouTube:
http://youtube.com/@AltComp126/streams
http://youtube.com/@proyectos/streams

http://master.dl.sourceforge.net/projec ... 7z?viasf=1


Top
 Profile  
 
 Post subject: Re: Text Recorder
PostPosted: Thu Mar 17, 2016 12:03 am 
Offline
Member
Member

Joined: Thu Mar 25, 2010 11:26 pm
Posts: 1801
Location: Melbourne, Australia
In another thread kiznit wrote:
I don't know what you are smoking, but I wouldn't mind having some of it.
At first I was with kiznit and thinking "Yeah, give me some of that. It seems like a nice trip", but really, whatever you're smoking is scary and I definitely would not touch it.

_________________
If a trainstation is where trains stop, what is a workstation ?


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 14 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 24 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group