website/blog/index.html

354 lines
16 KiB
HTML

<!DOCTYPE html>
<html lang="en"><head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="main.css" type="text/css">
<link rel="stylesheet" href="blog.css" type="text/css">
<link rel="alternate" type="application/rss+xml" title="subscribe to this page..." href="https://gruos.org/blog/feed.xml">
<title>GRU's Blog</title>
</head><body>
<div id="divbodyholder">
<div id="divbody"><div class="content">
<div id="header"><a href="/"><img src="../gru.png" style="width: 35%; height: 68px;"></a></div><hr>
<h3><a class="ablack" href="gru-devlog-27---orion-binutils-e.html">
GRU Devlog 27 - orion, binutils, E
</a></h3>
<!-- bashblog_timestamp: #202202201637.05# -->
<div class="subtitle">February 20, 2022 &mdash;
G1n
</div>
<!-- text begin -->
<p>Previous week I was working on orion. Implemented serial support and page frame allocator.
Also added some functions for serial for better debug output (warnings, todos, errors and other)
Page frame allocator and deallocator will be needed when making memory manager. I am going to
do that next week.</p>
<p>This week I started making binutils and E (from EGG). I am starting to write objdump. It
already can disassemble some instructions, but for now it is very limited. Also yesterday
I found why framebuffer wasn&rsquo;t working and now E (maybe it will be &ldquo;display server&rdquo;)
can write line on screen, but for some reason not more then one line.</p>
<p>I also had a lot of new ideas this week, but maybe they are just ideas. Compiled x86_64
gcc cross compiler, so maybe will be working on support of this arch soon. Also orion&rsquo;s
makefile is cleaner, so it maybe will be easier to port. I thought about making framebuffer
support using GRUB, but first I need to implement memory manager I think.</p>
<p>I feel like I forgot something that I was working on, but maybe they are things that are
not relaleted to GRU (but could be useful in future, for example for testing)</p>
<p>Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_orion.html'>orion</a>, <a href='tag_binutils.html'>binutils</a>, <a href='tag_objdump.html'>objdump</a>, <a href='tag_e.html'>e</a>, <a href='tag_egg.html'>egg</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-26---new-server-oircd-orion-rewrite.html">
GRU Devlog 26 - new server, oircd, orion rewrite
</a></h3>
<!-- bashblog_timestamp: #202202061821.03# -->
<div class="subtitle">February 06, 2022 &mdash;
G1n
</div>
<!-- text begin -->
<p>This 2 weeks were long for me. Previous week chunk donated domain and server for us so now this
blog and webpage is avalible on <a href="https://gruos.org/">https://gruos.org</a>. Also i setupped mail
there and tryed to setup irc network, but we don&rsquo;t have services yet.</p>
<p>Also previous week I tryed to make hashmap and some other things for oIRCd, but it wasn&rsquo;t really success.</p>
<p>This week i started developing Orion rewrite. It already has interrupts working and enabled paging.
For now I don&rsquo;t know how to make timer and keyboard working. Currently I am trying to write page frame
allocator, it will open road to proper memory manager for us. I hope next few weeks I will focus on Orion.</p>
<p>Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_oircd.html'>oircd</a>, <a href='tag_server.html'>server</a>, <a href='tag_orion.html'>orion</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-25---occ-oircd.html">
GRU Devlog 25 - occ, oircd
</a></h3>
<!-- bashblog_timestamp: #202201231705.44# -->
<div class="subtitle">January 23, 2022 &mdash;
G1n
</div>
<!-- text begin -->
<p>So I decided to make this devlog every two weeks. Why? Because I joined ircnow and can be a bit busy
because of school.</p>
<p>Previous week I was trying to make add working in occ. I haven&rsquo;t done it, because I didn&rsquo;t understood
how to make it in proper abstract syntax tree. I don&rsquo;t want publish it until I will make it done.</p>
<p>In the end of that week I joined ircnow and got a lot of cool admin expirience and I hope it will
help me with GRU. Now I am part of the team, but for more info check post on my own blog.</p>
<p>This week I started developing own irc daemon. I have own server now, so i test it there. Currently it
is able to handle simple NICK and USER commands. I tryed to setup PRIVMSG, but got it working only with one user
(when privmsg to someone, user &ldquo;server&rdquo; replies to you). Currently trying to make it in proper way (maybe will use
dictionaries, I don&rsquo;t know yet).</p>
<p>Also maybe I will move our xmpp muc or any other things to my own server.</p>
<p>Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_occ.html'>occ</a>, <a href='tag_oircd.html'>oircd</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-24---occ-and-new-web-design.html">
GRU Devlog 24 - occ and new web design
</a></h3>
<!-- bashblog_timestamp: #202201091702.09# -->
<div class="subtitle">January 09, 2022 &mdash;
G1n
</div>
<!-- text begin -->
<p>This week I was working on occ</p>
<p>First I have done lexer. Seems it is totally working, if we will need to add some new keywords,
just adding if statement is needed. But maybe will be better to rewrite it to linked list,
but I didn&rsquo;t understood how it works so for now just list of tokens.</p>
<p>First thing I have done after lexer is simple code generator. So occ can generate very simple
assembler code! For now it can just generate functions (int) and return (just number). But I
think it was cool progress in 5 days.</p>
<p>Then I started making parser. It took several days to properly implement binary trees, but
seems it is done now. It can make very simple tree with function token and return that can
be understood by code generator function</p>
<p>Also chunk has made very cool website design and logo. If you read this devlog, you can see
how cool is it :)</p>
<p>Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_occ.html'>occ</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-23---more-olibc-and-start-of-occ-and-more-projects-ideas.html">
GRU Devlog 23 - more olibc and start of occ (and more projects ideas!)
</a></h3>
<!-- bashblog_timestamp: #202201021813.55# -->
<div class="subtitle">January 02, 2022 &mdash;
G1n
</div>
<!-- text begin -->
<p>I think this week was productive. I have done a lot of things to olibc. First I finally
implemented working FILE struct. That required to implement malloc and free, so we also
have it now! Then stdio.h was implemented. Still need to make a lot of functions, but
we already have most useful ones (for examples every C11 printf functions implemented and
fully working). Also finally stdin/stdout/stderr file descriptors working properly.</p>
<p>We have full implemented &lt;ctype.h> header now! It wasn&rsquo;t really hard.</p>
<p>This year I started from tryes to make occ - GRU C compiler (maybe it will be GRU Compiler
Collection in future). A lot of things will need to be implemented and a lot of new to know!
I hope it will be fun :)</p>
<p>Happy New 2022 Year! I hope we will make a lot of new tools this year. And more people will
join us :)</p>
<p>Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_olibc.html'>olibc</a>, <a href='tag_occ.html'>occ</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-22---olibc-liblinux-mailing-list.html">
GRU Devlog 22 - olibc, liblinux, mailing list
</a></h3>
<!-- bashblog_timestamp: #202112261650.00# -->
<div class="subtitle">December 26, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>Happy Chirstmas! Next GRU Devlog will be next year so Happy New Year! I hope GRU will grow
and grow next year :D</p>
<p>On last Sunday we have created mailing list after devlog. Currently it is not active, but
but you can message us there - gru@lists.tildeverse.org. Then I tryed to make FILE struct
for liblinux, but it wasn&rsquo;t working so it needed to be reimplemented.</p>
<p>Then youngchief submitted some changes to our webpage. Also robyndrake contributed some fixes
to coreutils.</p>
<p>Also I had implemented printf and vprintf! It currently have %c, %d, %s so it will be useful
for debugging. I have tryed to implement snprintf, but i had several problems with it so
it is not done yet.</p>
<p>Then chunk contributed logo for us! I think it looks nice!</p>
<p>Last useful thing that I have done this week is very minimal FILE, it currently just has
fd and nothing else.</p>
<p>I hope we will make more cool things and finish current projects next year!</p>
<p>Hope you liked this post! I wish everyone cool New Year!
If you would like to help us, contact me via email, xmpp or irc :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_olibc.html'>olibc</a>, <a href='tag_liblinux.html'>liblinux</a>, <a href='tag_mailing-list.html'>mailing-list</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-21---olibc.html">
GRU Devlog 21 - olibc
</a></h3>
<!-- bashblog_timestamp: #202112191709.23# -->
<div class="subtitle">December 19, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>This week I also was making olibc. Now it is published! I have mostly implemented &lt;string.h>, but there
still some funcs that require &lt;locale.h>, so they are not implemented yet.</p>
<p>I found out why olibc wasn&rsquo;t giving correct return value after program is executed. It was because
liblinux wasn&rsquo;t exiting correctly, so it received some random return values from stack.</p>
<p>Also a lot of testing were done. I have found out that several functions wasn&rsquo;t working correctly
and fixed it. We have shell script for testing that compares results from our libc and libc that
installed on user&rsquo;s machine. It prints a diff output if test was failed. It also have other
features, if you want you can check it by running <code>test.sh --help</code> by yourself.</p>
<p>Because of it I have found that several functions were wrong implemented. But now finally
everything is working and strtok is correctly implemented!</p>
<p>Also this blog finally moved totally from my webpage, so we can move this site on different
server just by cloning it from codeberg or tildegit</p>
<p>Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_olibc.html'>olibc</a>, <a href='tag_liblinux.html'>liblinux</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-20---olibc.html">
GRU Devlog 20 - olibc
</a></h3>
<!-- bashblog_timestamp: #202112121746.18# -->
<div class="subtitle">December 12, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>This week I was making olibc. I was implementing &lt;string.h>. Also I was fixing liblinux to
be able to include it without need to use full path in <code>#include</code>. I had several other issues
with it and also fixed them.</p>
<p>My current goal is to implement &lt;string.h> and after that I am planning to publish it.
Currently most of funcs are implemented. Making strtok now but all other functions need
locale.h and I don&rsquo;t know yet how it will be implemented. But it is already cool that we
have most of functions that should be in &lt;string.h>!</p>
<p>Also we now have <a href="https://gru.codeberg.page">gru webpage on codeberg</a>! Maybe next week I
will move all devlogs to gru webpage so it will be easier to move.</p>
<p>Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_olibc.html'>olibc</a>, <a href='tag_liblinux.html'>liblinux</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-19---gic-and-several-libs.html">
GRU Devlog 19 - gic and several libs
</a></h3>
<!-- bashblog_timestamp: #202112051657.11# -->
<div class="subtitle">December 05, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>This week started with making gic (maybe name will be change). As I have written before
it is going to be suckless ii clone. Also I started making girclib - simple C library for irc
protocol. I think it will be published as separate project, because I would like to make it
for both: client and server. I don&rsquo;t yet how it will be done but we will see&hellip;</p>
<p>Then I thought that would be cool to have own libc, but have no knowledge how it speaks with OS.
Then I understood that on linux it is working via syscalls. So started making liblinux -
C library for linux syscalls. Using it we won&rsquo;t need to use assembly a lot in our libc. Currently
write and read syscalls are done and programmer can use it if passed -I, -L and -l flags to compiler.
And it is already published! (check codeberg or tildegit)</p>
<p>After understanding how to create proper makefile with liblinux, I started making olibc. Currently
it has very tiny number of features. But string.h is mostly done! I don&rsquo;t know when I will fill that
it will be ready enough to be published, but hope to have useful functions and test suit there till
that time.</p>
<p>When olibc will be done enough I am going to start making C compiler (already have some code, but it
is old and I not understand how it works, so need to be rewritten). Also I hope that we will have
enough toolchain (or I will have enough knowledge to implement things that are not done faster)
for our own Linux or BSD distribution. But that will be in future&hellip;</p>
<p>Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_gic.html'>gic</a>, <a href='tag_girclib.html'>girclib</a>, <a href='tag_liblinux.html'>liblinux</a>, <a href='tag_olibc.html'>olibc</a>, <a href='tag_libs.html'>libs</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-17-18---coreutils-egg-and-ideas.html">
GRU Devlog 17-18 - coreutils, EGG and ideas
</a></h3>
<!-- bashblog_timestamp: #202111281706.52# -->
<div class="subtitle">November 28, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>Last week I didn&rsquo;t make devlog because was busy and haven&rsquo;t done anything useful except
mkdir for coreutils.</p>
<p>This week I started from try to make something in framebuffer but currently nothing, because
I can&rsquo;t even understand why my code can&rsquo;t see size of my display. I think E will require making
something like Elib for easier communicating with E (but it will be in very far future&hellip;)</p>
<p>Then I made echo and very simple ls for coreutils. I am going to add more flags to ls next week.
This week I also have made simple irc bot in python, so I will try to make simple clone of suckless ii
on C (i think name gic is now really good so if you have ideas please suggest them to me).
Currently I don&rsquo;t reallly understand how to work with sockets but I will try to do something.</p>
<p>Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_coreutils.html'>coreutils</a>, <a href='tag_egg.html'>egg</a></p>
<!-- text end -->
<div id="all_posts"><a href="all_posts.html">archive</a> &mdash; <a href="all_tags.html">all tags</a> &mdash; <a href="https://gruos.org/blog/feed.xml">rss</a></div>
<div id="footer">CC by-nc-nd <a href="https://gruos.org/">G1n</a> &mdash; <a href="mailto:g1n&#64;ttm&#46;sh">g1n&#64;ttm&#46;sh</a><br>
generated with <a href="https://tildegit.org/team/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
<hr>
</div>
</div></div>
</body></html>