Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
SeFHT
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Operate
Terraform modules
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
josc941e
SeFHT
Commits
25d8fdac
Commit
25d8fdac
authored
1 year ago
by
Jonathan Schöbel
Browse files
Options
Downloads
Patches
Plain Diff
docs: added rationale section
parent
cc814f39
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
docs/sefht.texi
+67
-1
67 additions, 1 deletion
docs/sefht.texi
sefht.geany
+1
-1
1 addition, 1 deletion
sefht.geany
with
68 additions
and
2 deletions
docs/sefht.texi
+
67
−
1
View file @
25d8fdac
...
...
@@ -48,12 +48,15 @@ Toolkit, is a library for creating web applications on a webserver
on runtime. It is written for my personal use, but may be useful for
others.
A rationale about the project can be found in @ref
{
About
}
, while
In @ref
{
About
}
the projects benefits and use-cases are being described,
and a rationale why the project's existence is deemed necessary in
the way it is, can be found in @ref
{
Rationale
}
, while
a short remark about the evolving of the project and it's name can be
found in @ref
{
History
}
.
@menu
* About::
* Rationale::
* History::
@end menu
...
...
@@ -84,6 +87,69 @@ at any time, as it is not yet stable. Of course, this will be changed,
once the project reaches version 1.0.
@node Rationale
@section Rationale
For some developers the idea of generating static HTML on a webserver
is not straightforward and doing this with some C library would be
considered a crime. However as I have grown up with less powerful
devices, a static website has a huge usability advantage. It is also
more useful for users using a text-based webbrowser.
Sometimes a website using javascript is also better viewed with a
textbrowser, as a lot of bloat and advertisement can't be displayed
and it can be focused on the information. But most modern webpages are
really annoying to view, because there is so much div-bloat and some
don't show anything at all.
Secondly, I really like semantic markup. I think, that HTML is a way
of marking text in a way, that it is clear (for computers), what type
of information is being displayed. I definitely don't like the idea of
using HTML as a cheap way of describing the GUI of some application.
I also don't like, that work, that really ought to be performed on
a server, is performed on a client.
(This might be actually useful for some offline "web"app, but this is
completely different from an actual website, which is inherently
online.)
This also leads to a website, where URLs can be used by something
different than a user agent.
Thirdly, I like the idea of webpages being readable without a browser.
This is not the case, for webpages containing div-bloat and
definitely not for webpages, which contain nothing besides a linked
javascript file, which is minified and then creates even more div-bloat.
This idea is, why the library is capable of indenting HTML.
Contralateral, I also know that even carefully handcrafted HTML is not
perfectly readable, because tags containing attributes can be quite
long, but on webpages actually containing text content, this is usually
not a problem.
Apparently, these issues influence and support each other,
i.e.@: a beautiful website is also readable in a textbrowser.
C is often criticized, for reasons not exactly pointless, but
eventually I really like C, e.g. for manually managing memory.
Not using generic data structures (which would be possible in C)
slows down development, but enables also to think about how data
is really managed in the memory. Also C doesn't imposes restrictions
on what a developer can do, which is quite flattering.
Regarding vulnerabilities, which is obviously an important issue,
for a program running on a webserver, hopefully, there won't be so much,
but I am not so blindly to assume, that there aren't any.
To help with that, of course the library is tested with valgrind and
UBSan from time to time.
However, often undefined behaviour is invoked (besides for nasty bugs)
on code paths, where something would have to be caught independently
from the used programming language. For example, if in python an
unconsidered code path is executed, there might also be an exception
(if you are lucky), which might also yield a website containing data
not intended for the public. Also the trickiest bugs are always in
a way, where type checking doesn't help much, because the logic itself
written down in the programming language is relying on wrong
assumptions.
@node History
@section History
...
...
This diff is collapsed.
Click to expand it.
sefht.geany
+
1
−
1
View file @
25d8fdac
...
...
@@ -36,7 +36,7 @@ FILE_NAME_3=84;Make;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fp
FILE_NAME_4=73;Make;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2FMakefile.am;0;8
FILE_NAME_5=19;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Fmain.c;0;8
FILE_NAME_6=85;Make;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fdocs%2FMakefile.am;0;8
FILE_NAME_7=
1679
;None;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fdocs%2Fsefht.texi;0;8
FILE_NAME_7=
5722
;None;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fdocs%2Fsefht.texi;0;8
FILE_NAME_8=3883;None;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fdocs%2Fcommit_messages.txt;0;8
FILE_NAME_9=1867;Make;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2FMakefile.am;0;8
FILE_NAME_10=18;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fcms.c;0;8
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment