Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-4041-8081-120121-160161-200201-240241-280281-320321-360361-400401-440441-

Why browsers are bloated [Part 2]

Name: Anonymous 2016-04-23 22:49

Cudder is all talk and no action!

Name: Anonymous 2016-04-23 23:34

My cousin met Cudder at a party in London last year. They ended up fucking. He said it was totally sub-par. She got shit all over his dick, and violently queefed at the end.

Name: Anonymous 2016-04-23 23:55

Is the roadmap the same since last time?
http://bbs.progrider.org/prog/read/1406427616/740

Name: Anonymous 2016-04-24 0:11

JACKSON 5 GET

Name: Cudder 2016-04-24 2:25

Why browsers are bloated
740 Name: Cudder !cXCudderUE : 2016-02-09 03:39
>>739
Done:
- int main(int, char**)
- fork of libcurl
- email alerts whenever someone posts /Cudder/gi

In progress:
- HTML tokeniser
- HTML parser
- DOM tree
- CSS tokeniser
- CSS parser
- CSS box generation
- layout

Planned:
- Network
- Rendering UI/any graphics at all
- Configurator

Name: Anonymous 2016-04-24 5:07

The original thread wasn't started by, nor about, Cudder at all. He hijacked it.

Name: Cudder !cXCudderUE 2016-04-24 14:50

WTF, 1000 post limit? This is a programming board. 1023 or 1024 would make more sense.

Name: Anonymous 2016-04-24 15:01

>>7
Not even 1000, but 1001.
Off-by-one error?

Name: Anonymous 2016-04-24 15:56

i have come to take away your meme's

Name: Anonymous 2016-04-24 16:34

check 'em

Name: Anonymous 2016-04-24 17:42

THEY'RE AFTER ME MEMES

Name: Dubs_Fan_69 2016-04-25 11:55

>>11
Nice dubz bro! xD

Name: Anonymous 2016-04-30 23:52

I have come to take your lucky dubs. Give them up at once.

Name: Anonymous 2016-05-01 13:31

the problem is random snippets of Python sometimes don't work because where they were pasted didn't preserve the whitespace correctly – MkV Oct 31 '10 at 15:38

Name: Forwarding email I received 2016-05-01 14:58

The main issue is java/ecma script on the "www DOM" (Document Object Model):
Between noscript www browser code requirements and script-able www browser code
requirements, there is an abyss in size and complexity.

Additionnaly, the "modern" www tends to force the user to have a script-able
www browser, even though many www sites could provide their services with a
noscript www browser through a cleverly crafted main www portal or a dedicated
noscript www portal on the side of the main (with all bells and whistles) www
portal.
----------------------------------------------------------------------------
^
|
That's where the real fight is

For instance, youtube could provide a noscript www portal with <video> and/or
<audio> html elements. EZ and reasonable to implement even for inexperienced
coders around the globe. But no. You _must_ have a script-able www browser to
enjoy youtube (the terms of use even forbid users to employ anything else in
order to watch/listen to a video/audio stream). I have to admit, html needs a
little extension to <video>/<audio> in order to support split video/audio
streams. Basically, we would need a simple html-ed "DASH" manifest. But
vp[98]/opus high/med/low qualities video/audio combined streams should be
enough in most cases. (remainging cases would be handled with the standard
"download then view" way).

Another example: online banking. http, xhtml1.1 and css2.1 with basic forms are
hell enough to provide banking services to www users. But no. You _must_ have a
script-able www browser. And lately, it does apply to "verified by visa" and
online payments...

Sometimes, it does not work. For instance, soundcloud. Soundcloud needs a rich
GUI to provide its services. But they could provide a simple http API to let
people have their own GUI components. Many www sites have their www APIs, but
need a redirection on a script-able www browser on the side for authentication...
Ooops!

----

You have only 2.5 modern open source engines which "can run the www":
- webkit (massive and c++ is brain damaged)
- blink (webkit google's fork, see above)
- gecko (firefox, massive and c++ is brain damaged)

BTW, I wonder if there is a http/mime way for a www browser to tell a http server:
"noscript please".

----

There is a team working on a C implemented www browser: netsurf. I got a little
chat with one of its devs: "www DOM dynamicity through script is insane".

Name: Cudder !cXCudderUE 2016-05-01 15:36

CSS matching: the best way to do this might be a two-dimensional regex-like state machine, which simplifies to an array and a queue of bits. One dimension for matching descendant and child combinators, and then another dimension for general sibling and previous-sibling. As far as I know, this is not something any other browser engine has discovered, although there's some mention of it elsewhere:

http://stackoverflow.com/questions/4656975/use-css-selectors-to-collect-html-elements-from-a-streaming-parser-e-g-sax-str/4752067

If there's 32 (64 for the 64-bit version) or fewer width/height combinators, which is very likely, we can store the state array entirely in a register and get even more efficient... but even the basic implementation should beat the backtracking (:facepalm:) that contemporary implementations do.

https://swtch.com/~rsc/regexp/regexp1.html

There is a team working on a C implemented www browser: netsurf.
It works and is "lightweight" compared to the big ones but, could be much better... https://bbs.progrider.org/prog/read/1406427616/549-556

Name: Anonymous 2016-05-01 15:47

>>13
You wouldn't know what to do with a dubs even if it was right in your face.

Name: Anonymous 2016-05-02 15:13

>>16
I find it really disappointing that something like NetSurf, which is both unusable and insecure, but also relatively well-written and infinitely far from "bloated," could get this kind of nitpicking, dismissive review.

The real problems with NetSurf:
1. It has no sandbox <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=810491>
2. It's broken on most real web sites

The fact that it is not written in assembly is not the real problem.

Name: Anonymous 2016-05-05 15:07

Name: Anonymous 2016-05-05 15:56

>>19
medium.com
No thank you!

Name: Anonymous 2016-05-05 16:10

Name: Anonymous 2016-05-05 17:28

>>21
Check 'em

Name: Cudder !cXCudderUE 2016-06-13 1:34

Found another HTML parser/tokeniser, and it's no better than any of the existing ones I've seen:

https://github.com/google/gumbo-parser/blob/master/src/tokenizer.c

Nearly 3k lines of disgustingly verbose, redundant C. Look at the functions handle_doctype_system_id_double_quoted_state and handle_doctype_system_id_single_quoted_state, or handle_attr_value_double_quoted_state and handle_attr_value_single_quoted_state for good examples of this utter idiocy. I refuse to believe that a programmer with a functioning brain could generate such filth. Did the thought "this state looks almost exactly like that state exact for this one thing, I should probably merge them" ever cross that retard's mind? Probably not, because there was no mind for the thought to cross!

The most valuable part of that file is contained within these 4 lines:
// Initial size chosen by statistical analysis of a corpus of 60k webpages.
// 99.5% of elements have 0 attributes, 93% of the remainder have 1. These
// numbers are a bit higher for more modern websites (eg. ~45% = 0, ~40% = 1
// for the HTML5 Spec), but still have basically 99% of nodes with <= 2 attrs.


Ironically, the description here...

https://github.com/google/gumbo-parser

... says it's "relatively lightweight". No, it's not - far from it. You just haven't seen what real "lightweight" is.

Name: Anonymous 2016-06-13 2:09

>>23
ENTERPRISE

Name: Anonymous 2016-06-13 11:34

>>23
You are disliking that code for all the wrong reasons. You're butthurt that it's not C-ish enough. I don't even know where to begin with how fucked up your mentality is.

Name: Anonymous 2016-06-13 12:08

>>25
Check 'em

Name: Anonymous 2016-06-13 12:12

Instead of writing a browser in C which has already been done perhaps thousands of times, why not write it in something more advanced like Scheme, CL, clojure, or even elisp? You would be able to get done faster as well, since most of the parsing can be macros.

Name: Anonymous 2016-06-13 12:40

>>27
Cudder is making an efficient asm browser.
You want an inefficient lisp one? Then do it yourself, bitch.

>>23
How far are you from passing acid2?

Name: Anonymous 2016-06-13 13:12

>>27
It would be a miracle if Cudder produces something at all.

Name: Anonymous 2016-06-13 13:29

Cudder is all talk and no action

Name: Anonymous 2016-06-13 13:39

>>27
Because she isn't your bitch. She can do whatever she wants with her time.

Name: Anonymous 2016-06-13 18:56

Check em!

Name: Anonymous 2016-06-13 18:57

Damn, I missed.

Name: Anonymous 2016-06-13 18:57

No, wait, NOW check'em!

Name: Anonymous 2016-06-13 18:58

FUCK!!!!!!!!!!

Name: Anonymous 2016-06-13 19:16

>>32
>>33
>>34
>>35

lol u suck at getting dubs kiddo

Name: Anonymous 2016-06-13 22:14

>>36
lol u suck at optimizing quotes kiddo

Name: Anonymous 2016-06-13 23:40

>>36
SO DO YOU!

Name: Anonymous 2016-06-14 1:26

I enjoyed >>32-35

Name: /cudder/ 2016-06-14 1:59

/cudder/

Name: Anonymous 2016-06-14 4:30

>>39
I didn't.

Name: Anonymous 2016-06-14 4:50

>>39
Anybody shitting up already shitty boards with dubs shit needs to die.

/kills self

Name: Anonymous 2016-06-15 1:11

>>42
What's wrong with you dude? Everybody loves checking these dubs.

Name: Anonymous 2016-06-15 3:34

<----- Check em ^___^

Name: Cudder !cXCudderUE 2016-06-15 3:52

>>28
I don't know. I'm very busy with IRL, and if you're really desperately curious about what I'm doing there, you can get some glimpses from https://bbs.progrider.org/prog/read/1458323194 and https://bbs.progrider.org/prog/read/1465119006 .

CSS selector matching and DOM tree rendering is absolutely trivial compared to what I'm currently working on, but I just don't just have the time for it now.

Name: Anonymous 2016-06-15 10:35

>>45
Can I get glimpses of your tits?

Name: Anonymous 2016-06-15 17:58

Cudder, does this work in your browser?

data:text/html;base64,PGhlYWQ+DQogICAgPHN0eWxlPg0KICAgICAgICBib2R5LA0KICAgICAgICBodG1sIHsNCiAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjsNCiAgICAgICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjsNCiAgICAgICAgICAgIG1hcmdpbjogMDsNCiAgICAgICAgICAgIHBhZGRpbmc6IDA7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC5jdW0gew0KICAgICAgICAgICAgZGlzcGxheTogbm9uZTsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLmFudXMgew0KICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpOw0KICAgICAgICB9DQogICAgPC9zdHlsZT4NCjwvaGVhZD4NCg0KPGJvZHk+DQogICAgPGRpdiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2EucG9tZi5jYXQvbGxqdnR5LmdpZicpOyBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0OyBoZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAlIiBpZD0ibmlnZ2VyIj4NCiAgICAgICAgPGNlbnRlcj4NCiAgICAgICAgICAgIDwhLS0gc2F0b3JpIC0tPg0KICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vYS5wb21mLmNhdC9hbm53bncuZ2lmIiBoZWlnaHQ9IjQwMCIgd2lkdGg9IjQwMCIgY2xhc3M9ImFudXMiPg0KICAgICAgICAgICAgPCEtLSBzaGlua3UgLS0+DQogICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9hLnBvbWYuY2F0L3dmd21uai5naWYiIGhlaWdodD0iNDAwIiB3aWR0aD0iNDAwIiBjbGFzcz0iYW51cyI+DQogICAgICAgICAgICA8IS0tIGNpcm5vIC0tPg0KICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vYS5wb21mLmNhdC9mcnRndnUuZ2lmIiBoZWlnaHQ9IjQwMCIgd2lkdGg9IjQwMCIgY2xhc3M9ImFudXMiPg0KICAgICAgICAgICAgPCEtLSBzYWt1cmFrbyAtLT4NCiAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2EucG9tZi5jYXQvZGlkenlnLmdpZiIgaGVpZ2h0PSI0MDAiIHdpZHRoPSI0MDAiIGNsYXNzPSJhbnVzIj4NCiAgICAgICAgICAgIDwhLS0gcmluIC0tPg0KICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vYS5wb21mLmNhdC9udHNyZ2YuZ2lmIiBoZWlnaHQ9IjQwMCIgd2lkdGg9IjQwMCIgY2xhc3M9ImFudXMiPg0KICAgICAgICAgICAgPCEtLSByaWthIC0tPg0KICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vYS5wb21mLmNhdC9zdmh3eXIuZ2lmIiBoZWlnaHQ9IjQwMCIgd2lkdGg9IjQwMCIgY2xhc3M9ImFudXMiPg0KICAgICAgICAgICAgPCEtLSBnaXJsIGZyb20gdGhhdCBkaXJlY3RvciB0aGF0IGFsc28gZGlkIG1hZG9rYSAtLT4NCiAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2EucG9tZi5jYXQvamp2cHhqLmdpZiIgaGVpZ2h0PSI0MDAiIHdpZHRoPSI0MDAiIGNsYXNzPSJhbnVzIj4NCiAgICAgICAgICAgIDwhLS0gc3Vpa2EgLS0+DQogICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9hLnBvbWYuY2F0L3JkdG92Yy5naWYiIGhlaWdodD0iNDAwIiB3aWR0aD0iNDAwIiBjbGFzcz0iYW51cyI+DQogICAgICAgIDwvY2VudGVyPg0KICAgIDwvZGl2Pg0KICAgIDxicj4NCiAgICA8ZGl2IGNsYXNzPSJjdW0iPg0KICAgICAgICA8aWZyYW1lIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvWFA5MFduajBMVG8/YXV0b3BsYXk9MSIgZnJhbWVib3JkZXI9IjAiPjwvaWZyYW1lPg0KICAgIDwvZGl2Pg0KICAgIDxzY3JpcHQ+DQogICAgICAgIGZ1bmN0aW9uIGxlbCgpIHsNCiAgICAgICAgICAgIHNldFRpbWVvdXQobGVsLCAxMDAwKTsNCiAgICAgICAgICAgIGlmIChkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygiYW51cyIpKSBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoImFudXMiKTsNCiAgICAgICAgICAgIGVsc2UgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCJhbnVzIik7DQogICAgICAgIH0NCiAgICAgICAgc2V0VGltZW91dChsZWwsIDUwMDApOw0KICAgIDwvc2NyaXB0Pg0KPC9ib2R5Pg==

Name: Anonymous 2016-06-16 1:58

Check em

Name: Cudder !cXCudderUE 2016-12-27 15:30

No CSS yet; just decided to do a quick and horribly noncomformant DOM renderer so I could at least see something.

http://i67.tinypic.com/ezpctv.png

Name: Anonymous 2016-12-27 15:44

>>49
OMG Cudder delivars!!1!1!!

Name: Anonymous 2016-12-27 15:48

sage

Name: Anonymous 2016-12-27 18:37

>>49
You wrote this in FASM, right? Pretty cool.

Name: x153@live.com 2016-12-27 19:24

wisit me shite.

Name: Anonymous 2016-12-27 20:27

>>55
good dubs

Name: Anonymous 2016-12-27 22:38

stop being a namefag

Name: Anonymous 2016-12-28 4:41

>>55
nice dubs

Name: Cudder !cXCudderUE 2016-12-28 13:29

>>52
MASM for HTML tokeniser, everything else still in C. Binary is 28KB.

Name: Anonymous 2016-12-28 13:39

fibs get

Name: Anonymous 2016-12-28 21:54

fizzbuzz GET

Name: Cudder !cXCudderUE 2017-01-01 18:08

27.5KB. Still no CSS or any real element support yet. Goal is still 64KB for an Acid2-passing browser.

http://i65.tinypic.com/6iqusp.png

Name: Anonymous 2017-01-01 18:35

>>60
Why reinvent the wheel, just fork elinks/links and replace critical parts with hard-rolled asm.

Name: Anonymous 2017-01-01 18:49

>>60
What the fuck, are you using Windows 2000?

Name: Anonymous 2017-01-01 18:57

>>62
Pretty sure she uses Anondows.

Name: Anonymous 2017-01-01 19:02

>>62
Actually, WinXP has themes like that.

Name: Anonymous 2017-01-01 23:18

>>64
WinXP
Nobody uses that anymore.

Name: Anonymous 2017-01-01 23:19

>>65
Check 'em

Name: Nobody 2017-01-02 2:50

>>65
I sure do!

Name: Anonymous 2017-01-02 3:35

Name: Cudder !cXCudderUE 2017-01-02 3:38

>>61
No CSS support. Text-only. If I was writing yet another text-only browser I wouldn't've bothered with an HTML5 parser.

>>62
WINE

Name: Anonymous 2017-01-02 4:50

Cudder uses Linux?

Name: Anonymous 2017-01-02 10:50

>>65
It is the best version of Windows ever and nobody uses it anymore? What a laugh.

Name: Anonymous 2017-01-02 13:37

>>49,60
Really cool to see you progress, even if the harder work is still to be done. I hope it passes Acid2 soon and you make the public release.
BTW, tinypic wouldn't show me the images until I enabled javascript. You should start using an image hosting site that doesn't need this crap.

Name: Anonymous 2017-01-02 15:20

wow, Cudder actually delievers. it's a nice surprise, although I'd rather see that decompiler.

hey, is your browser going to be full-featured, with javascript and cookies and other stuff used by THE WEB? and is it going to be open source?

Name: Cudder !cXCudderUE 2017-01-02 15:21

>>72
I only had the time to do this because of the year-end break, but there surprisingly isn't actually that much more left until Acid2. It needs a CSS parser and selector matcher, and the rendering needs to be finished, but passing Acid2 will already put it ahead of Dildlo and NetSurf.

Incidentally, I downloaded NetSurf 3.6 to see if it's improved since the last time I tried it. It's a single binary, but... FOURTEEN bloody megabytes!? That's bigger than Opera 9.x (which includes a JS engine, and passes Acid2...)! I run it and the first thing I see is a "Warning: CSSBase" popup; not a good start. When I try visiting the Acid2 site, I get an assertion and a completely blank page. The Options dialog (there isn't much in there) has one tab named "Apperance". EPIC FAIL.

But then again, looking at the NetSurf code ( https://bbs.progrider.org/prog/read/1406427616/549 ), perhaps I shouldn't have been so optimistic.

I have JS off (obviously...) and the images work fine for me.

Name: Anonymous 2017-01-02 19:34

>>74
It's not just >>72, I can't see the image without JS too (Firefox, NoScript).

Name: Anonymous 2017-01-02 19:53

Name: Anonymous 2017-01-02 20:37

Name: Dubs Police 2017-01-03 0:29

>>77
OPTIMIZEM

Name: Cudder !cXCudderUE 2017-01-03 1:55

>>75
konata@kagami:~$ nc i65.tinypic.com 80
GET /6iqusp.png HTTP/1.0
Host: i65.tinypic.com

HTTP/1.0 200 OK
Accept-Ranges: bytes
Cache-Control: max-age=21600
Content-Type: image/png
Date: Tue, 03 Jan 2017 01:52:38 GMT
Etag: "641c-5450c49b31834"
Expires: Tue, 03 Jan 2017 07:52:38 GMT
Last-Modified: Sun, 01 Jan 2017 18:06:01 GMT
Server: ECS (pae/377A)
Via: 1.1 varnish
X-Cache: HIT
X-Varnish: 1855206942
X-Varnish-Server: den2tpv65
Content-Length: 25628
Connection: close

臼NG


IHDR ) ・ $「ケ
gAMA ア・・ cモIDATx^晳・=Kモ・
タGFEDrDA@? JホArT$ィ$%凭櫞ノIノAノ痴・@寨彎w・ェ鉀樣={5マ鋿w・==ンォェヨ・栲^C
konata@kagami:~$

Name: Anonymous 2017-01-03 2:15

>>60

27.5KB.
Nice job adding more features and managing to go down on size at the same time.
Back in 2014 your binary was closer to 32KB, no? http://bbs.progrider.org/prog/read/1406427616/117

Goal is still 64KB for an Acid2-passing browser.
Why ``still''?
Back then you were aiming for 256KB, no?
http://bbs.progrider.org/prog/read/1406427616/117

It's nice to finally see some progress.
I hope you get to implement css soon and make the first release.
Good luck.

Name: Anonymous 2017-01-03 4:51

>>80
NO ACTION

Name: Cudder !cXCudderUE 2017-01-03 10:12

>>80
It's called refactoring done right. I expect it'll get even smaller when I fully analyse and rewrite the HTML parser in Asm, because it currently is a pretty dumb direct translation of the standard and there's still plenty of redundancy to remove.

Goal was 256K originally but a long time ago I moved to 64K, maybe I didn't announce it in that thread but I think I did say so somewhere...

As work starts up I'll be busy again so don't expect the progress to accelerate.

Name: Anonymous 2017-01-03 10:14

>>82
so this is 64K for the whole thing or just for parsing and rendering HTML, without a JS interpreter?

Name: Anonymous 2017-01-03 10:49

Name: Anonymous 2017-01-03 13:01

>>82
Can you give us an updated roadmap?
When does your work start again?
I'd be hoping for the first release (passes Acid2) soon... Not gonna happen?

Name: Anonymous 2017-01-04 0:46

Name: Cudder !cXCudderUE 2017-01-05 1:31

>>83
64k for Acid2 pass, so no JS required in that.

>>85
It's the same as it has always been. When I have time to work on it, I do.

Name: Anonymous 2017-01-05 1:33

>>87
Work on checking these dubs

Name: Anonymous 2017-01-05 2:21

>>87
hi cudder
will your asm rewrite run on my 68k? no mmu/floating point or anything just classic 68k

Name: Anonymous 2017-01-05 3:03

>>89
Are you seriously implying that Intel ASM is equivalent to 68k ASM?

Name: Anonymous 2017-01-05 3:41

>>90
no im asking in case he's doing 68k also

Name: Anonymous 2017-01-05 3:52

Cudder is all talk and no action.

He will keep teasing you forever.
Even after claiming to have implemented everything, he will invent something new he has to do before releasing the source. Optimization... Clean-up... Size-reduction...
The years will go by and you fools will keep waiting for a release.

Name: Anonymous 2017-01-05 4:37

Name: Anonymous 2017-01-05 4:43

Name: Anonymous 2017-01-05 4:43

Name: Anonymous 2017-01-05 7:30

>>69
why are you using wine? is your browser natively windows-only? if so, why? I guess the point is to avoid linking external GUI libraries

Name: Anonymous 2017-01-05 9:03

Name: Anonymous 2017-01-05 9:53

are dubs bloat?

Name: Anonymous 2017-01-05 9:53

>>99
check my bloats

Name: Anonymous 2017-01-05 9:53

>>100
bloats after bloats, that's a gift that keeps on bloating

Name: Anonymous 2017-01-05 13:16

Name: Anonymous 2017-01-05 14:47

>>101
le pedophile sage

Name: Anonymous 2017-01-05 15:14

>>92
This is the way of the premature optimizer. Apparently bloat is more important than something that works ASAP so therefore, their pie in the sky perfection of no bloat will be delivered 10 times slower than every one else.

Name: Anonymous 2017-01-05 16:56

>>103
Premature optimization is better than premature bloat.

Name: Anonymous 2017-01-05 17:51

Name: Anonymous 2017-01-05 20:11

Name: Cudder !cXCudderUE 2017-01-06 11:44

>>96
Why not? Win32 API is far more common and less annoying to deal with than the mess of bloated *nix "you are in a maze of GUI libraries, all almost alike".

The *nix CLI is awesome, but the GUI situation is horrible. Windows is pretty much the opposite. WINE helps get the best of both worlds.

>>103
No optimisation is premature when you're competing with huge existing implementations that have probably spent person-centuries on optimisation (and adding bloat...) I could probably get some huge libraries and release Yet Another WebKit Browser in a halfternoon, but that's not really useful.

Name: Anonymous 2017-01-06 12:52

>>107
you don't need a bloated GUI lib for a minimalist browser, just call the most basic X functions. granted, X is itself pretty bloated but so is windows. but maybe I'm just saying it because I'd rather have a browser run natively on linux or openbsd than go through a compatibility layer.

as for windows GUI API, I dunno. when I worked with it, it felt like they tried to force a C++-shaped peg into a C-shaped hole. you have many types (devices, device contexts, windows, window handles and a fuckton of stuff I don't remember) and functions to put one type in another type which would make sense if done under the hood in a sepples-style language but feels like a lot of boilerplate and busy work. but keep in mind that I have a different perspective because my work with windows GUI stuff was about reverse engineering it, so maybe it's possible to write it in a more concise way but the programmer who did the original work was a dumbass.

Name: Anonymous 2017-01-06 13:12

>>107
You have inherently different goals to everyone else. The cost of "perfect no bloat" optimization is programmer time which translates to a bigger per hour bill at the end. Another issue with what you aim for is that you're happy to target only one specific platform. The cost of these goals are fine when the commissioner of the project is willing to pay for it. In your case, nobody's paying you for a low so these issues don't matter.

In the real world, the normal goals of software development are the speed of software delivery, cross platform execution, easily maintainable, reusable modules and architecture, and the accountability of development concerns. Programmer time is generally much more expensive than computer time so most software commissioners aim for these goals. The big "bloated" libraries exist because it's normally more cost effective for programmers to piece together libraries of flexible and general logic blocks rather than your approach of perpetually reinventing the wheel.

Name: Anonymous 2017-01-06 14:42

>>107
Why not just use plain Xlib?
It's the equivalent of Win32 API for *nix.
Every *nix has X11 and Xlib available.
You don't need toolkits.

Name: Anonymous 2017-01-06 15:13

People who argue from a business standpoint are spooked to the max.

This isn't ENTERPRISERIDER. Nobody gives a fuck about ``the real world"

Name: Anonymous 2017-01-06 16:18

Name: Anonymous 2017-01-06 16:59

Guys, stop asking Cudder for support for more platforms and other crap.
The way it is now, it's possible we won't see the first release of the browser in 10 years. If you keep pushing other stuff, we will never see it.

Name: Anonymous 2017-01-06 18:36

Name: Anonymous 2017-01-06 23:48

>>111
Most users care about seeing releases earlier rather than later. Solve the immediate problem first then afterwards, you can improve the performance in the subsequent releases.

Name: Anonymous 2017-01-07 6:23

Name: Cudder !cXCudderUE 2017-01-08 16:08

>>108
You may have RE'd something written with MFC, AFX, ATL, or whatever bloated library MS put on top of Win32, or the developers just had "class envy".

>>110
Xlib is only window management and basic graphics. It's like gdi32. Win32 has user32, comctl32, comdlg32, etc. which contain the UI widget implementations.

Name: Cudder !cXCudderUE 2017-01-09 5:40

Non-ASCII pages appear to work too:

http://i66.tinypic.com/adou3b.png

Name: Anonymous 2017-01-09 6:57

Name: Anonymous 2017-01-09 7:14

Where is activex support Cudder?

Name: Anonymous 2017-01-09 7:34

>>111
it's funny that basic stuff like maintainability is considered 'enterprise' by optimization zealots. a web browser is a good example why even a minimalist one-man project needs to be maintainable: because web standards (HTML, JS and to a lesser extent HTTP) are changing and to stay useful, a browser needs to change with them.

Name: Anonymous 2017-01-09 7:35

also check dubs

Name: Anonymous 2017-01-09 8:04

Name: Cudder !cXCudderUE 2017-01-09 9:10

>>120
Is it needed for Acid2? If not, it's not in the immediate future.

Name: Anonymous 2017-01-09 12:38

>>124
what happens after Acid2? do you have plans for Acid3?

Name: Anonymous 2017-01-09 15:11

Guys, guys...
Let's just hope Cudder actually delivers for the first time and releases a browser that passes Acid2.
Let's not get ahead of ourselves.

Name: Anonymous 2017-01-09 15:58

cudder-kun, what is it written in?

Name: Anonymous 2017-01-09 22:14

Name: Anonymous 2017-01-10 0:05

>>126
*Cudder is all talk and no action*

Name: Cudder !cXCudderUE 2017-01-10 11:03

>>125
In the very distant future.

Name: Anonymous 2017-01-10 17:22

Name: Anonymous 2017-01-11 5:29

yall a bunch of fools, cdr'ing down Cudder's list.

Name: Anonymous 2017-01-11 7:29

>>132
check my cdrs
* (car >>133)
1

* (cdr >>133)
33

* (dubcheck >>133)
T

Name: Anonymous 2017-01-11 11:23

Name: Cudder !cXCudderUE 2017-01-16 12:30

I've discovered that all of the HTML5 character entity references (&xxxx;) are at least as long as the codepoints they represent in UTF-8, meaning that I can do the conversion in-place or on an allocation the exact same size as the original string...

...except for these two bastards which are one more byte longer:

&nGt; U+226B U+20D2 ; E2 89 AB E2 83 92
&nLt; U+226A U+20D2 ; E2 89 AA E2 83 92

Two out of 2000+! I'm not going to support those, because it's absolutely idiotic to have to redo and complexify the whole buffer allocation logic just to handle these 0.1% of them which is probably very rarely going to occur in real pages anyway.

What's even more idiotic, is that if someone paid some attention to implementation and made them just a single byte longer e.g. &nGGt; or &nLLt; , they would've fit in perfectly with the rest of them. But it might be too much to expect of the W3C.

"Plan Ahead"

Name: Anonymous 2017-01-16 12:42

Name: Anonymous 2017-01-16 15:22

>>135
what are those entities?
Will they break the browser?

Name: Anonymous 2017-01-16 16:36

>>137
Wtf man. Of course not.
http://www.w3schools.com/html/html_entities.asp
It's just that ≪ and ≫ won't be supported, all other 2000(+) entities will be.

HIBT? Can't you google simple shit like this yourself?

Name: Anonymous 2017-01-16 19:53

Mr. >>137, I'm the guy that posted >>138.
Sorry if I was a little rude, but you really have to think more and research more before posting.
I hope we're on good terms.
Have a nice one.

Name: Cudder !cXCudderUE 2017-01-17 12:04

>>137
They are probably almost never going to be used. They just won't be recognised.

Name: Anonymous 2017-01-17 19:25

Name: Anonymous 2017-01-27 16:52

Can't you just create a browser? I mean, most languages have sockets and also graphics.

Name: Anonymous 2017-01-27 17:07

>>142
Yes, I can.

Name: Anonymous 2017-01-27 20:53

Name: Anonymous 2017-01-28 9:44

>>143
Feel the empowerment taking hold of you. Yes, you can. You are no longer a subject to the caprices of others, but are taking matters into your own hands. Yes, you can!

Name: Anonymous 2017-01-28 10:04

>>142
Think of it: Can you build a house all by yourself?

Name: Anonymous 2017-01-28 10:21

>>142
Also, people asking:why can't I create an OS? Should ask themself: can you create a car from scratch?

Name: Anonymous 2017-01-28 13:23

>>147
It's certainly all possible in theory. The real question is whether the individual is willing to invest their life into making it happen.

Name: Anonymous 2017-01-28 16:52

Name: Anonymous 2017-01-28 17:53

>>147
Can you create a cdr from scratch?

Name: Anonymous 2017-01-28 18:18

>>148
Yes. The actual question is what kind of car it will be?
https://i.imgur.com/Vwdionk.jpg

Name: Anonymous 2017-01-28 18:21

>>151
From the address, I thought it'd be a Volkswagen Dionk.

Name: Anonymous 2017-01-28 19:06

I'm going to build a car fuelled by feces and redpills.

Name: Anonymous 2017-01-28 20:04

Name: Anonymous 2017-01-29 0:31

Name: Anonymous 2017-01-29 2:11

Name: Anonymous 2017-01-29 8:40

>>155
that's pretty cool tbh

Name: Anonymous 2017-01-29 9:26

Name: Cudder !cXCudderUE 2017-02-02 11:39

Upon closer examination, there's even more retardedness in the entities list --- some are defined more than once! What sort of fucked-up design-by-committee lead to this idiocy?

We start with some "only slightly retarded" duplication...
ast; U+0002A
midast; U+0002A


lbrack; U+0005B
lsqb; U+0005B


...move onto WTF-inducing "you're an idiot if you think this is even the slightest bit useful"...

lowbar; U+0005F
UnderBar; U+0005F


grave; U+00060
DiacriticalGrave; U+00060


nbsp; U+000A0
NonBreakingSpace; U+000A0


...and finish with "ARE YOU FUCKING INSANE!?!?"

die; U+000A8
Dot; U+000A8
DoubleDot; U+000A8
uml; U+000A8


ap; U+02248
approx; U+02248
asymp; U+02248
thickapprox; U+02248
thkap; U+02248
TildeTilde; U+02248


Bonus level:

NegativeMediumSpace; U+0200B
NegativeThickSpace; U+0200B
NegativeThinSpace; U+0200B
NegativeVeryThinSpace; U+0200B
ZeroWidthSpace; U+0200B

Completely different names, yet the exact same codepoint. :quintuple-facepalm:

See it yourself at https://www.w3.org/TR/html5/syntax.html (scroll to bottom, extract table, sort by codepoint.)

Now I know why there are 2K+ entities. Around half of them are duplicates with an extra ';' at the end (easily handled by the parsing code, but the brainless turds that wrote the spec did not even think...), the other 1/4 are useless duplicates, and what's left is possibly, maybe sometimes, actually useful. But supposedly to be "HTML5 compliant" you would need to parse them all, regardless of whether anyone will actually use them except in demo pages and the like (probably not). Fuck that bullshit.

"Why browsers are bloated".

Name: Anonymous 2017-02-02 11:49

>>159
Horrible!
I hope in the end you report all this bullshit so they update their spec.

Name: Anonymous 2017-02-02 13:33

>>159
If that's your definition of bloat, then your definition is a buzzword that's as good as meaningless.

Name: Anonymous 2017-02-02 14:54

>>161
So you think it's an intelligent design to have duplications like those?
Get real.

Name: Anonymous 2017-02-02 16:29

Name: Anonymous 2017-02-02 19:00

>>162
You think it's an intelligent design to have duplications like those >>166?
Get real.

Name: Anonymous 2017-02-02 20:04

>>163
You think it's an intelligent design to sage a thread like that? Get real.

Name: Anonymous 2017-02-02 20:18

🇨🇳🇨🇳🇨🇳🇨🇳🇨🇳🇨🇳🇨🇳🇨🇳🇨🇳🇨🇳🇨🇳🇨🇳
DUBS FOR DA PEOPLE
🇨🇳🇨🇳🇨🇳🇨🇳🇨🇳🇨🇳🇨🇳🇨🇳🇨🇳🇨🇳🇨🇳🇨🇳

Name: Anonymous 2017-02-02 21:27

Name: Anonymous 2017-02-02 23:45

>>167
GOSUB >>165

Name: Anonymous 2017-02-03 1:52

Name: Anonymous 2017-02-03 2:18

>>166
You think it's intelligent to get duplicated digits like that?
Get real.

Name: Anonymous 2017-02-03 2:46

Name: Anonymous 2017-02-03 7:26

>>170
Beat you to it, sucker! See here: >>164

Name: Anonymous 2017-02-03 13:56

Firefox 53 will be the last upstream release where rust is optional.

https://www.mail-archive.com/dev-platform@lists.mozilla.org/msg20816.html

Name: Anonymous 2017-02-03 14:05

>>162
The problem is an identity problem, it is not bloat. The committee had overlooked this specific part of the standard and it is good to point it out to them so that they can get to assigning unique identities (codepoints) for the characters. It would only be insane if they respond by saying this is "not bug, it's a feature".

Name: Anonymous 2017-02-03 14:49

I looked at HTML 5.1 spec.
Not fixed there either.
https://www.w3.org/TR/html51/syntax.html

This is where you go to file an issue.
https://github.com/w3c/html/issues

Name: Anonymous 2017-02-03 14:54

Also, for anyone here, please ignore W3C. They are asshats. WHATWG is doing proper standardizations since '04.
Source - http://bbs.progrider.org/prog/read/1406427616/641

So why are you going with W3C now?

Name: Anonymous 2017-02-03 14:55

I looked at the WHATWG spec.
Not fixed there either.
https://html.spec.whatwg.org/multipage/syntax.html

This is where you go to file an issue.
https://github.com/whatwg/html/issues

Name: Anonymous 2017-02-03 21:42

Name: Cudder !cXCudderUE 2017-02-05 2:29

>>174
No, they need to remove them completely because they're essentially useless. The original purpose of named entities, besides escaping (e.g. &gt;), was so you could use Unicode/ISO10646 characters in a file with non-Unicode encoding. With the proliferation and recommendation of UTF-8, the need for that has decreased significantly.

>>175-177
I'm not going to get into the whole W3C vs WHATWG debate, but if anyone wants to tell them about this bloat, they should tell both of them.

But the fact that absolutely no one on either committee discovered or pointed it out is an epic fail. These are people whose main job is to read and discuss the spec, and yet apparently none of them saw it or decided to say something...

Here's a cleaned up entity list, less than 1.5K entities from the original 2K+. In other words, 25% of the spec was bloatshit:

http://pastebin.com/2gth3uPv

Name: Anonymous 2017-02-05 3:26

>>135,138,159,160,162,174,175,177,179
It's called ≪⃒freedom≫⃒, the benefit of living in a free country where you don't get put to death for calling it &NonBreakingSpace; instead of &nbsp; (or vice versa). If you don't like it, move to one of those Middle Eastern places.

Name: Anonymous 2017-02-05 3:44

>>177
Need an account

Name: Anonymous 2017-02-05 4:54

>>180
``freedom" is a codeword for bloat

Name: Anonymous 2017-02-05 5:18

Name: Anonymous 2017-02-05 6:29

>>183
``sage" is codeword for bloat

Name: Anonymous 2017-02-05 14:43

``Lulz'' is a corruption of L O L, which stands for "Laugh Out Loud"

Name: Anonymous 2017-02-05 16:51

>>185
Thanks, I've been trying to figure that one out for years.

Name: Anonymous 2017-02-06 14:56

Cudder is all talk and no action

Name: Anonymous 2017-02-06 15:31

Name: Anonymous 2017-02-15 7:33

What's the point of writing a browser in assembly anyways, when Java is nearly twice as fast these days?

https://i.4cdn.org/g/1487142333422.png

Name: Anonymous 2017-02-15 7:44

>>189
Go back there

Name: Cudder !cXCudderUE 2017-02-15 9:11

>>189
Multiply speed by size and compare again. If you unroll all the loops and make a CPU execute code in a straight line of course it will look faster in microbenchmarks. What it doesn't show is that it has made everything else much slower.

Name: Admin 2017-02-15 11:14

>>189
Sharing a image that will be deleted in minutes, nice going idiot, only on /prog/rider could this happen.

Name: Anonymous 2017-02-15 14:01

>>189
Your IP or IP range is blocked from accessing 4chan.
LOLWUT

Name: Anonymous 2017-02-15 14:28

>>193
yeah same
get back to the meeting discussing synergies u enterprise cocuck

Name: Anonymous 2017-02-15 14:36

>>191
How much have you managed to implement, as of 2017?

Name: Anonymous 2017-02-15 17:54

Cudder is all talk and no action!

Name: Cudder !cXCudderUE 2017-02-16 10:04

>>195
Look at the thread.

Currently figuring out better entity parsing and Unicode(-ish) support. IRL work is busy so not much time to work on it.

Name: Anonymous 2017-02-16 10:05

>>197
Cudder, do you have a repo somewhere so I can look at your code? I wanted to write a browser myself and I'm looking for a starting point.

Name: Anonymous 2017-02-16 10:22

>>198
Look at netsurf.

Name: Anonymous 2017-02-16 12:12

>>199
Netsurf is "lightweight" compared to the big ones but could be much better... https://bbs.progrider.org/prog/read/1406427616/549-556

Name: Anonymous 2017-02-16 12:15

>>198
I wanted to write a browser myself
Why don't you help Cudder instead?

Name: Steve 2017-02-16 12:20

>>199,200
wow 2 dubs in a row that's incredible

Name: Anonymous 2017-02-16 19:14

>>194
I dont get it

Name: Anonymous 2017-02-16 21:32

>>201
Cudder wants perfection. If it isn't perfect, it's bloat. This leads to a lot of talk but very little action.

Name: Anonymous 2017-02-16 23:29

>>204
I write perfect code though.

Name: Anonymous 2017-02-17 7:23

>>204
s/'a lot'/all
s/'very little'/no

Name: Cudder !cXCudderUE 2017-02-17 10:24

>>198
No. I've posted bits and pieces in this and previous threads, that should be enough.

Name: niggers 2017-02-17 10:56

niggers

Name: dave 2017-02-18 1:04

boner penis

Name: Anonymous 2017-02-18 17:43

I want Cudder to humiliate my small and pitiful penis with her giant and strong futa dick.

Name: Anonymous 2017-02-18 18:20

>>210
That would be cool.
But getting a decent browser that passes Acid2 would already make me happy as hell.
One can dream…

Name: Anonymous 2017-02-18 19:51

Cudder is all talk and no action!

>>211
First of all, congrats on the dubs.

>>211
You must be very gullible to believe Cudder will ever release anything. He'll keep making excuses for not releasing the source code for years to come. Eventually he will say he gave up and will present a new shiny project he's working on.

>>211
Nice dubs.

Name: Anonymous 2017-02-18 20:01

>>212
Cudder will never succeed because writing a browser in assembly is so hard it's almost impossible and would require millions of man-hours.

Name: Anonymous 2017-02-18 22:19

Kudder-kun ur kawaaii~~~~~~uguuu

Name: Anonymous 2017-02-19 10:50

>>213
Cudder's strategy is to ignore the inconvenient parts of the standard. This will have the effect of improving the completion time from 20 years down to 19 years.

Name: Anonymous 2017-02-19 15:51

>>215
19 years starting now?
Or should we subtract the 3 years he's already been working on it?

Name: Cudder !cXCudderUE 2017-02-19 16:58

>>215
s/inconvenient/useless and almost never encountered/

Name: Anonymous 2017-02-20 1:21

>>217
Isn't this the leaked tripcode?

Name: Anonymous 2017-02-20 2:10

>>218
Not unless there was a tripcode leak in the last few weeks. The one that got leaked a long time ago was the MhMRSATORI one.

Name: Steve 2017-02-20 2:14

i want to marry cudder's penis

Name: Anonymous 2017-02-20 8:08

$ sed s/inconvenient/useless and almost never encountered/
sed: -e expression #1, char 22: unterminated `s' command

Name: Anonymous 2017-02-20 8:16

>>222
nice trips!

Name: Anonymous 2017-02-20 8:23

>>220
Mike "Queer Lightning" Pence will not allow it

Name: Anonymous 2017-02-20 20:24

All talk, talk, talk - no action or results. Sad!

Name: Anonymous 2017-02-20 23:15

>>224
To be honest it looks Cudder isn't that far from passing Acid2 and releasing the first version of the browser.

Name: Anonymous 2017-02-21 2:36

>>225
Fantastic. We only have to wait 3 more years for an incomplete release! I take it all back, Cudder is all talk and some aciton!

Name: Anonymous 2017-02-21 3:30

Too bad it only runs on x86 Win32

Name: Anonymous 2017-02-21 4:50

>>227
The GUI is the only windows-only component, right?
Also it shouldn't be hard to port to other archs once the x86 version is released. If it ever is, that is...

Name: Anonymous 2017-02-21 8:23

>>225
a browser passing Acid2 would be impressive a decade ago!

>>228
it shouldn't be hard to port to other archs once the x86 version is released
depends on how much asm it uses. also, depends on whether it's open sores or not.

Name: Anonymous 2017-02-21 11:53

>>229
a browser passing Acid2 would be impressive a decade ago!
Even today it's impressive.
Netsurf, Dillo and all other `lightweight'' browsers out there can't pass Acid2.
And Acid2 is just the milestone Cudder wants to release the source code. Read the previous thread.

Name: Anonymous 2017-02-21 12:25

>>230
Netsurf, Dillo and all other `lightweight'' browsers out there can't pass Acid2.

which is why they're far from usable. I want a lightweight browser but there's something I want more than that: a browser that can display websites correctly.

Name: Cudder !cXCudderUE 2017-02-22 12:18

>>228
GUI and maybe the HTTP(S) libs. Asm is tokeniser only, but I want to extend it to the parser too, and entity parsing/copy-to-DOM is also being rewritten in Asm. Looking at compiler output makes me want to facepalm continuously. Fixed calling conventions are stupid. In C I can't pass 6 parameters by reference and have them all in registers; easy with Asm but turns into bloated memory accesses in C.

>>230,231
Yes, that's the point. Netsurf and Dildlo (the former is even larger than a fully-featured browser which does pass Acid2, Opera 9.x) are not "lightweight". They just pretend to be. The former has a ridiculously bloated parser created by GSoC noobs. The latter doesn't have much of a parser at all, yet oddly enough still has this useless crap: https://en.wikipedia.org/wiki/File:Dillo%27s_bug_meter_on_www.nasa.gov.png --- since HTML5 standardised parsing there is really no such thing as a "parse error", and any stream of bytes turns into a DOM. What they call "parse error"s in the spec are just semantic "I don't like this" bullshit. For example <foo a="b"c="d"e='f'g=h> parses sensibly but the prescriptivists shout "no, that's an error, you must have whitespace between attributes" --- even when it's not actually necessary and both human and machine would know exactly how to parse it.

IRL is getting very busy again, not much time for this now.

Name: Anonymous 2017-02-22 16:36

>>232
Just wondering, is your asm code dependent on AMD64 extensions, or would it run without modification on 32-bit x86 as well?

Name: Anonymous 2017-02-22 22:46

>>232
lmao > any stream of bytes turns into a DOM

what does
faggot
a
g
g
o
t

turn into?

Name: Cudder !cXCudderUE 2017-02-23 2:47

>>233
32-bit only.

>>234
A single text node.

Name: Anonymous 2017-02-26 1:02

age

Name: Anonymous 2017-02-26 12:26

Are you planing on making your own tls library?

Name: Cudder !cXCudderUE 2017-02-26 23:09

>>237
No.

Name: Anonymous 2017-02-27 7:51

>>238
so which one are you going to use? libressl?

Name: Cudder !cXCudderUE 2017-02-27 10:55

>>239
Whatever the platform HTTP(S) client (WinInet) uses.

Name: Cudder !cXCudderUE 2017-04-24 11:18

The HTML5 entities list and code, after cleaning out the dupes and other crap, still turns into >20k of binary (i.e. around 2/3 as big as everything else so far; which includes a HTML tokeniser/parser, DOM viewer, UI, and crude renderer)... the HTML4 ones are a slightly better ~4k.

Especially since it's not needed for Acid2 pass and would otherwise contribute to >30% of my 64k budget, I'll stay with the 253 HTML4 entities. It'll be easy to add the rest of them anyway.

Name: Anonymous 2017-04-24 11:26

>>241
if it doesn't pass Acid3--it's shit

Name: Anonymous 2017-04-24 11:47

>>241
xir's back, everyone.
/prog/spoiler] is complete again

Name: Anonymous 2017-04-24 14:25

Cudder is back! Cudder is back!!!
I love you Cudder, stay strong!

Name: Anonymous 2017-04-24 14:25

>>243
Where is LAC.

Name: Anonymous 2017-04-24 14:36

>>245
I recall that LAC appeared on the /prog/rider IRC once to say that he was done playing his character and while that might have been an imposter he hasn't posted since. I really miss his rants about stakboi retoids.

Name: Cudder !cXCudderUE 2017-04-25 0:47

Name: /jewtube/ 2017-04-25 7:48

/jewtube/

Name: Anonymous 2017-04-25 14:02

>>246
Sad
Is there any other /prog/rider irc?

Name: Anonymous 2017-04-25 14:27

>>249
/prog/rider is dead, so no. There was progrider@conference.jabber.ccc.de during the shutdown, but it pretty much became the goatfinger chatroom after a while. No idea if it's even alive anymore.

Name: Anonymous 2017-04-25 17:52

Jabber and XMPP in general are ugly so I don't think that I missed much.

Name: Anonymous 2017-04-25 17:55

Will Cudder's browser support Jabber and XMPP?
These are the questions on everyone's mind.

Name: Anonymous 2017-04-25 19:49

I want to browse NNTP, can I?

Name: Cudder !cXCudderUE 2017-05-01 10:51

>>252-253
If it's not HTML it's not.

I just noticed the WhatWG can't spell either:

https://html.spec.whatwg.org/multipage/syntax.html#hexademical-character-reference-start-state

They've also introduced a bunch of completely unnecessary states and a "temporary buffer" just for character references. What a load of bullshit. The spec was already disgustingly verbose, and they made it even worse.

Name: Anonymous 2017-05-01 10:55

>>254
Well opera has an email and irc client, yet they both aren't HTML

Name: Anonymous 2017-05-01 11:11

>>254
I never took a look at web specs until now, but what the fuck is this? This looks like spec-by-implementation, except that the implementation isn't in a programming language.

Name: Anonymous 2017-05-01 11:49

>>255
Bloat

>>254,256
Why don't you email the committee with all the mistakes and foolishness that you have found? I am actually interested to see how they are going to defend this cancerous radioactive mess.

Name: Anonymous 2017-05-01 11:50

>>257
Committees don't listen to hobbyists.

Name: Anonymous 2017-05-01 11:53

The www should have used postscript!

Name: Anonymous 2017-05-01 21:59

>>259
They should have used scheme

Name: Anonymous 2017-05-01 22:21

Scheme should replace TEX!

Name: Cudder !cXCudderUE 2017-05-02 11:34

>>257,258
Many years ago when this first started I tried to ask them to replace a quadratic-time algorithm in the spec with a linear-time one which produced the identical results, but they didn't care. You are welcome to try, however.

Name: Anonymous 2017-05-03 3:21

>>5
- email alerts whenever someone posts /Cudder/gi
Um, what?

Name: Anonymous 2017-05-03 7:14

>I tried to ask them to replace a quadratic-time algorithm in the spec with a linear-time
Which one?

Name: Cudder !cXCudderUE 2017-05-03 11:33

>>264
https://html.spec.whatwg.org/multipage/syntax.html#adoption-agency-algorithm
See if you can figure out how it actually works by reading that description... it is really a simple algorithm, but the W3C managed to fuck it up as usual and turn it into a monsterously verbose mess.

Name: Anonymous 2017-05-03 12:48

>>262
Many years ago when this first started I tried to ask them to replace a quadratic-time algorithm in the spec with a linear-time one
Read https://wiki.whatwg.org/wiki/FAQ

Name: Cudder !cXCudderUE 2017-05-04 11:42

>>266
Exactly. I'm not wading through that bureaucratic bullshit.

Name: Anonymous 2017-05-04 12:57

>>267
That's why they didn't care

Name: Cudder !cXCudderUE 2017-05-10 3:35

Some unintentional humour I found while cleaning up the code.

#define IDonkeydown 199
#define IDonkeypress 200
#define IDonkeyup 201

Name: Anonymous 2017-05-13 17:18

Is this a direct competitor to the aging elinks?

Name: Cudder !cXCudderUE 2017-05-14 3:44

>>270
Does elinks support CSS at all?

Read the thread and the previous one ( https://dis.tinychan.org/read/prog/1406427616 ) --- it will be competing with Dildo, Netsurf, and IE6.

Name: Anonymous 2017-05-14 9:25

>>271
Elinks supports CSS 2.1

Name: Cudder !cXCudderUE 2017-05-15 11:45

>>272
It's still text-only.

I found some interesting benchmarks (featuring most of the parsers discussed in the last thread):

https://lexborisov.github.io/benchmark-html-persers/

It's mostly an advert for MyHTML, which turns out to be faster than the others, but I haven't been able to benchmark it against mine since his benchmark code is not usable on Windows... and I don't have the same hardware so the results there aren't comparable.

Meanwhile, I've improved mine so it parses the original HTML5 spec page I was using for testing in 46ms. It started at ~170ms, then moved down to 70ms, 60ms, and now 46ms. Amusingly enough, assembling and linking the compiler output vs. letting the compiler do it, makes it faster by ~3ms (to 43ms.) The original progrider page took 8ms; it's down to 1.2ms.

Maybe it's good enough now, and I should move onto CSS parsing...

Name: Anonymous 2017-05-15 14:05

Will anyone design a new car from scratch, just because others are expensive and bloated? Thats seems like a waste of effort

Name: Anonymous 2017-05-15 14:48

>>274
Is it still​ a waste if you design it to be easily produced, say with a 3D printer?

Name: Cudder !cXCudderUE 2017-05-16 2:28

I think I have a competitor, who coincidentally also seems to be Russian:

https://lexborisov.github.io/myhtml/

His code is rather WTF, however --- you wouldn't do this if you were actually thinking about what you're writing:

https://github.com/lexborisov/Modest/blob/master/source/modest/style/default.c

In any case, I should try to compile and benchmark it...

Name: Anonymous 2017-05-16 7:15

I had no idea that Cudder-sama was Russian!

Name: Cudder !cXCudderUE 2017-05-16 11:51

Preliminary benchmarks (MyHTML in single-threaded mode, so it's operating in a similar fashion to mine)!

Some basics:


Parser Binary Size Contents
------------------------------------------------
MyHTML 1123KB DLL + 30KB EXE parser+CLI
parseh(mine) 29.5KB EXE parser+GUI


Huge size advantage in my favour.

The ~1MB HTML5 spec:

Parser Mem Time
------------------------------
MyHTML 11.3MB 27.7ms
parseh(mine) 3.72MB 43.6ms


Mine looks significantly slower, but MyHTML is reading the whole file into memory and processing it in one go whereas I'm doing it in 4KB blocks (much like a real browser would, for incremental rendering). I'm also using 1/3 of the memory, and there is some GUI stuff too --- the crude DOM viewer and renderer is part of this, whereas MyHTML is only the parser with the bare minimal CLI needed to make it parse.

How about something bigger... much bigger?

100MB of HTML:

Parser Mem Time
------------------------------
MyHTML 1850MB 32957ms
parseh(mine) 540MB 8506ms


This eliminates any startup overhead and shows that even when it's reading 4KB at a time, mine is almost 4x faster and uses 3/10ths of the memory. Cache effects are important here.

Name: Anonymous 2017-05-16 21:48

>>278
The main difference is that MyHTML didn't take 4 years and is cross-platform.

Name: Anonymous 2017-05-16 23:28

>>278
where did you get the 100mb of html?

Name: Anonymous 2017-05-17 2:28

How about something bigger... much bigger?

That's what she said

Name: Cudder !cXCudderUE 2017-05-17 10:36

>>279
I could probably make something in a week if I didn't care about efficiency at all.

>>280
I generated it.

Name: Anonymous 2017-05-17 12:30

>>282
I generated it.
That's not a real world case though

Name: Anonymous 2017-05-18 20:38

Are you going to make a public release after you're done with the css parser?

Name: Anonymous 2017-05-18 20:42

>>284
Of course she will!
Just give her 5-7 years to iron the kinks!

Name: Anonymous 2017-05-18 21:33

>>278
The average web page is way less than 1MB though. Shouldn't you be optimizing for the most common case rather than for some arbitrarily large document?

Name: Anonymous 2017-05-18 22:07

>>286
I just went on Trump's shitter and clicked the first tweet; the HTML alone was 1.7MB.

Name: Anonymous 2017-05-18 22:12

>>287
Twatter, facefuck and the other social media sites are all like that.
They have a very bloated DOM.

Name: Anonymous 2017-05-18 22:13

>>288
What is the average webpage then?

Name: Anonymous 2017-05-18 22:22

>>289
2ch

Name: Anonymous 2017-05-18 22:35

>>290
I just checked some boards and they are all around 600KB.

Name: Cudder !cXCudderUE 2017-05-19 11:44

>>283
Generated from webserver access logs.

>>284
Acid2 pass, like I've been saying all along.

>>286
This page takes 6.7ms in my parser (+GUI processing), MyHTML took 4.3ms (without GUI or anything else.) Being slightly faster on tiny pages will make no noticeable difference to the user.

Name: Anonymous 2017-05-19 16:35

>>292
What if it goes over your 64KiB goal tho

Name: Anonymous 2017-05-19 19:07

>>293
start removing features

Name: Anonymous 2017-05-20 1:56

>>293
It already did.

Name: Anonymous 2017-05-20 2:28

>>291
Yeah that's normal.

Name: Anonymous 2017-05-20 6:51

I am Heron of Alexandria. I have a large beard and I create mathematical formulas. If you don't repost this comment on 10 other pages, I will use my primitive steam engine to induce mold in your walls.

Name: Cudder !cXCudderUE 2017-05-20 17:00

>>293
What the fuck is a "KiB"?

Name: Anonymous 2017-05-20 17:20

>>298 XB=Binary Xbytes XiB=Decimal Xbytes "10KB= 10.24KiB"

Name: Anonymous 2017-05-20 19:12

How the does anyone working with computers not know fucking SI prefixes? Absolutely pathetic.

Name: Anonymous 2017-05-20 20:40

Name: Anonymous 2017-05-20 21:50

>>298
Kibibyte. It means 1,024 bytes. KiB, MiB, GiB, TiB and so on seem to be used a lot in the modern Linux environment, whereas Windows calls everything KB, MB, GB, TB (even though I think it calculates some things as 1024 bytes per KB, other things as 1000 bytes per KB). Strictly speaking, ``normally" KB, MB, GB etc means a factor of 1000, while JEDEC uses those terms, but applies a factor of 1024 instead. KiB, MiB etc are IEC units, which ALWAYS use a step of 1024 rather than 1000.

>>301
What exactly does that have to do with SI prefixes or ignorance of computer-related matters? Yes, it's not completely correct to say that ``ReactOS is Wine", however ReactOS does use a considerable amount of code from Wine, so it's not hard to understand her reasoning.

Name: Cudder !cXCudderUE 2017-05-20 22:51

>>299-302
I don't give a shit about those stupid prefixes. In everything I post, 1KB = 1024 bytes. 64KB = 65536 bytes (216.)

Name: Anonymous 2017-05-21 3:49

kilometres = 1024 metres
kilograms = 1024 grams

Name: Anonymous 2017-05-22 1:42

1 kikeshekel = 6.000.000.000 shekels

Name: Cudder !cXCudderUE 2017-05-27 15:57

https://www.w3.org/TR/css-syntax-3/#tokenization

They didn't need to define so many fucking tokens: The colon-token, semicolon-token, comma-token, etc. are all just delim-token, the same one-character type! It doesn't make any sense.

Of course, my competitor went the full-retard route with ridiculous bloat, as usual:

https://github.com/lexborisov/mycss/blob/master/source/mycss/tokenizer.c

In other news, I've shrunk the HTML tokeniser to slightly under 1KB. The CSS one may only be slightly larger.

Name: Anonymous 2017-05-27 20:40

>>306
What about the JS parser?

Name: Cudder !cXCudderUE 2017-05-28 5:10

>>307
What about it?

Name: Anonymous 2017-05-28 7:53

>>308
The size of it

Name: Cudder !cXCudderUE 2017-05-29 11:08

>>309
How would I know. Read the fucking thread.

Name: Anonymous 2017-06-07 8:12

>>310
tl;dr

Name: Anonymous 2017-06-07 11:28

>>107

Most slowdown comes from JavaScript and PHP server side. Relational databases are pretty slow too. Optimizing parsing and rendering won't improve much.

Name: Anonymous 2017-06-07 12:23

>>312
unless you optimize parsing, compiling (JIT) and rendering JavaScript

Name: Anonymous 2017-06-07 12:28

>>313

You can't optimize JS. It is badly designed and favors writing inefficient code.

Name: Anonymous 2017-06-07 12:43

>>314
you can optimize everything. JS is now going in the functional direction so it will probably be possible to use all the same tricks that optimizing compilers for lisp and friends use. you won't get C/C++ performance out of it but you can make it less slow

Name: Anonymous 2017-06-07 13:40

>>315
There are clear limits on what you can optimize in JS. For example, JS method calls go through a hash table, which is just overly slow. Of course you can try caching table-lookups, having dirty flags invalidating cache, but that is an exercise in futility, that won't make it observably faster.

Name: Anonymous 2017-06-07 13:44

>>316
ES6 has class-based OOP, this could be optimized down to vtables as opposed to hashes

Name: Anonymous 2017-06-07 13:57

>>317

Yet everyone uses table-based OOP.

Name: Anonymous 2017-06-07 14:03

>>318
browsers don't support ES6 yet, but I'm sure that CudderBrowser will keep up with modern standards!

Name: Anonymous 2017-06-07 16:38

>>319
browsers don't support ES6 yet,
You mean every modern browser that isn't IE do

Name: Anonymous 2017-06-07 22:16

>>319-320
ES6 is turdware.

Name: Anonymous 2017-06-08 6:01

check my dubs

>>320
web monkeys have to write for IE-using idiots

>>321
it's not good but it still makes the language much less painful to use. kind of like Java 8 - nobody in the right mind would say that it does FP, monads or parallelism right but even such half-assed implementations make the language less cumbersome and boilerplate'y.

Name: Anonymous 2017-06-14 6:50

will uzbl ever be good?

Name: Anonymous 2017-06-15 17:12

>>278
parseh (mine)
wait a minute...
HOLY SHIT IS THAT A MOTHERFUCKING
Touhou
REFERENCE??!!?!

Name: Anonymous 2017-06-15 22:59

>>322
Java 8 also ruined what made Java good. It has all this retarded crap now.

Name: Anonymous 2017-06-16 1:23

>>325
Java 8 also ruined what made Java good.
Java was never good. It's just too verbose, and then you get into performance issues whenever you write anything more than Hello World applications.

Name: Anonymous 2017-06-17 12:44

Name: Cudder !cXCudderUE 2017-06-17 15:23

>>324
No. parseh = parse HTML.

However, this is: http://www.hnng.moe/f/Rzi

>>327
hacks
Idiotic name, or perhaps appropriate.

Name: Anonymous 2017-06-19 17:05

Parsee is an aho!

Name: Anonymous 2017-06-20 5:43

they are bloated because of the botnet inside them

Name: Anonymous 2017-10-20 13:32

Where are the updates??

Name: Anonymous 2017-10-20 19:22

Cudder has been ambushed by an unknown attacker wielding an inprovised bludgeoning weapon consisting of a brick in a sock.

Name: Anonymous 2017-10-20 19:24

>>332
hope she's fine

Name: Anonymous 2017-10-20 20:08

>>333
she's dead

Name: Anonymous 2017-10-20 21:10

>>334
Is it serious?

Name: Anonymous 2017-10-20 21:13

>>335
yes.

Name: Anonymous 2017-10-20 21:16

>>332
Inshallah I will behead Nikita and his fellow niggers

Name: Anonymous 2017-10-20 21:20

>>337
African Americans*
Tsk

Name: Anonymous 2017-10-20 21:21

>>337
* Africa Americans

Name: Anonymous 2017-10-20 21:21

I hope cudder-sama is ok

Name: Anonymous 2017-10-20 23:04

Cudder should go back to translating Visual Novels instead of this.

Name: Anonymous 2017-10-21 1:48

Cudder should start sucking my dick instead of this.

Name: Anonymous 2017-10-21 2:00

>>342
rude

Name: Anonymous 2017-10-21 2:37

Cudder should check my dubs instead of this.

Name: Anonymous 2017-10-21 3:47

Where is the source code?

Name: Anonymous 2017-10-21 3:53

>>343
russian gals love rude bois

Name: Anonymous 2017-12-23 10:05

Will this eventually be finished and released?
I'm sick of firefucks and chromiumshit

Name: Anonymous 2017-12-23 13:41

>>347
It's not. Just use qutebrowser instead.

Name: Anonymous 2017-12-23 14:18

>>348
No uMatrix.

Name: Anonymous 2017-12-23 16:29

>>349
Neither will cudder's browser have it.

Name: Cudder !cXCudderUE 2018-05-28 11:33

https://blogs.msdn.microsoft.com/vcblog/2015/03/03/introducing-the-universal-crt/

https://blogs.msdn.microsoft.com/vcblog/2014/06/10/the-great-c-runtime-crt-refactoring/

FUCK YOU, Microsoft!!

You turned a single-DLL CRT that comes with Windows into a bunch of bloated ones, then exploded those into dozens of tiny files and said you made it "simpler"? What a piece of retarded bloated bullshit!!

Of course, not surprisingly that their actual reason for doing this shit is to make it harder for people to write tiny portable programs that work on every version of Windows from Win95 onward...

Name: Anonymous 2018-05-28 11:41

>>351
make your're are browser

Name: Anonymous 2018-05-28 12:37

>>351
That is how you maintain job security: by fixing something that was working perfectly for ages. Same way they pushed SystemD.

Name: Anonymous 2018-05-28 13:13

>>351
The catch is that there are many functions that you may consider standard features of C that are not included in the libc.a library itself. For example, all the math functions that are declared in math.h are defined in a library called libm.a which is not linked by default. So if your program is using math functions and including math.h, then you need to explicitly link the math library by passing the ‘-lm’ flag. The reason for this particular separation is that mathematicians are very picky about the way their math is being computed and they may want to use their own implementation of the math functions instead of the standard implementation. If the math functions were lumped into libc.a it wouldn't be possible to do that.

Name: Anonymous 2018-05-28 13:18

I'm all dubs and no action!

Name: Anonymous 2018-05-28 18:53

>>351,355
Lack of modularity is one of libc's major defects. Users shouldn't have to link in malloc just to use sprintf, but that's exactly what the most common implementations require. Inability to define custom stream sources is another big shortcoming (why can't I printf to a circular buffer? Too bad, has to be a FILE *).

You might argue that only embedded programmers care about this, but you'd be wrong. The Plan 9 C libraries recognized and fixed many of these problems. The IO library in particular is great; too bad no one will ever use it.

Name: 356 2018-05-28 18:56

>>355
Sorry, I mena
>>354

Name: Cudder !cXCudderUE 2018-05-29 1:45

>>353
Not on Windows. MSVCRT.DLL has everything. It's perfectly fine to use your own math functions, just name them differently than the standard ones, or if you must use the same names, then load them dynamically yourself.

>>356
I'm talking about dynamic linking, where it makes sense to just link to one DLL, shared in the whole system, containing all the functions.

Name: Anonymous 2018-05-29 4:52

Just lol at Microsoft DLLs. Insane that you’re unironically trying to target Windows desktop.

You’ve literally procrastinated so long that an entire era of computing has passed you by.

Name: Anonymous 2018-05-29 5:18

>>358
I'm talking about dynamic linking, where it makes sense to just link to one DLL, shared in the whole system, containing all the functions.

In general you shouldn't have to link in a single mega DLL for the same reasons you shouldn't have to link a large static library. An unnecessary dependency is an unnecessary dependency; even if dynamic linking amortizes the memory cost over many applications, the problem is still there.

That being said, MSVCRT's ABI specifically is a nightmare. It's not worth it to do as Microsoft has done without commitment to maintain the exact same partition of functions between DLLs in future releases; without that everyone will just bundle the entire set of DLLs rather than deal with breakage when the boundaries move.

Given that classic libc was never really designed to be subdivided in this way, any failure here is unsurprising. musl explicitly does not try to do this because (they claim) robust implementation of the full set of standard libc APIs is impossible without much coupling. It may be that the only practical way out is to abandon the standards.

Name: Anonymous 2018-09-08 1:08

*burp*

Name: Anonymous 2018-09-08 2:23

>>361
broke: *burp*
woke: *brap*

Name: Anonymous 2018-10-18 19:05

>>250
Oh better still is https://dis.4ct.org/prog/ which has no shitposts on there threads.

Name: Anonymous 2019-05-15 4:40

bumping this thread so it doesn't get locked

Name: Anonymous 2019-05-15 7:02

>>364
Cudder is all talk and no action!

Name: Anonymous 2019-05-15 7:14

I am all dubs

Name: Cudder !cXCudderUE 2019-05-16 3:52

I have been ridiculously busy with so many other projects I didn't realise it was another year already...

but I haven't forgotten this one --- just haven't had the time to do anything with it. What's left is mainly CSS processing and rendering.

Name: Anonymous 2019-05-16 6:23

>>367
what about javashit interpreter? no browser would be really complete without it

Name: Anonymous 2019-05-16 8:52

>>368
wrong

Name: Anonymous 2019-05-16 9:31

Why browsers are "bloated and sluggish by design", is a myth, and just plain wrong. I just wanted to give you this example, especially because this topic has been discussed quite a bit on this board.
The only reason I mention it is because if you look closely, most of the things that are said about modern browsers are actually true. As a consequence, I am not entirely surprised to see people on the forums complaining about this in terms of performance issues but I think it would be easier if we focused less (or even just less) on browser performance than on other aspects such as compatibility, security and usability.

We have a few reasons to use a web browser but I would argue that browser performance and compatibility are both far more important than just speed. As it is, most of the browsers out there have performance problems, some of them far deeper than others. However, browsers are always improving and when we see an improvement in browser performance we tend to applaud it as being significant.
WebGL is becoming a serious contender for high-performance video, and it doesn't get any faster that using direct hardware calls.
With that said, let's look at some of the major browsers and see what they are doing to improve performance and performance scalability (or in my case I mean performance of all their parts in comparison to each other).


Firefox : Firefox has an awesome WebGL implementation , allowing us to render any scene using WebGL with the ease of an app in modern browsers and it seems to go a bit faster overall, with less rendering overhead than Chrome. However, performance is still not perfect, and I think I'll stick to Firefox as my default browser for future web video work since it's a bit more mature.

Chrome : Chrome has a ton of WebGL support and it is very easy to see what the performance is about on various devices and the WebGL implementation works really well with some of these devices (a tablet works fine on me). It's not even as good as Firefox for video work yet - but I think that will change.

Safari : As a browser with some nice WebGL support, Safari has a very decent performance on a modern phone, laptop or web browser, but performance is not great when working with 4k at a higher resolution. The good news is that WebGL support is quite open.

Edge: Edge is the most basic WebGL browser and the reason for this is that Chrome and Safari both have their own open WebGL driver, Open GL, built in. There is also a newer version of Edge with support for WebGL but even so, it's still far behind Firefox.

Name: Anonymous 2019-05-16 9:51

>>370
Nobody cares about webgl.
Also, another new API makes browser more bloated, not less.

Name: Anonymous 2019-05-16 11:19

>>371
WebGL is the most powerful platform for online gaming since it is the most widely available and most scalable, enabling gamers to enjoy stunning gaming experiences on virtually every device available directly through the web.

While legacy platforms such as Windows or MacOS may provide a basic infrastructure, games may require further modifications at runtime to enable the full power of the OS.
To support this, a full-featured cross-platform game engine is required.

Game engines may be written for either hardware or software platforms, with the latter having great advantage due to the ease of portability that allows developers to leverage over legacy platforms in order to achieve faster performance, smoother frame rates, support for advanced video modes and new features.

On a larger scale, the cost advantage of using a cross-platform engine is that developers no longer need to rely so heavily on the CPU for their game development cycle and can afford to use a low-end hardware to get a playable game in under the cost of a high-end machine.

An obvious advantage for the developer is that they still be able to target a younger audience with a higher quality experience, especially from a financial perspective.

Name: Cudder !cXCudderUE 2019-05-16 12:04

>>367
Remember, Acid2 pass --- no JS required.

>>370,372
Spoken like a true shill manageretard. Fuck off with that bullshit.

Name: Anonymous 2019-05-16 13:34

WebGL leverages the powerful DOM-based canvas to provide simple interactions between elements in a web context (like a web page or screen), allowing for powerful ersatz applications with minimal effort.
WebGL is especially well suited for game development since a huge majority of users today (especially the mobile market) don't know the difference between a canvas and a native renderer in their browsers or games.

Name: Anonymous 2019-05-17 6:54

>>373
I thought the point of the browser was to browse the internet, no to pass outdated tests

Name: Anonymous 2019-05-17 12:08

>>375
It's literally the same thing if you been browsing with lynx

Name: Anonymous 2019-05-17 12:09

This weekend I'll unironically change my sight to be compliant with the cudder browser.
I've just read http://harmful.cat-v.org/software/xml/s-exp_vs_XML lol.

Name: Anonymous 2019-05-18 20:30

I really enjoy webgl and webcl because mining bitcoins is what I use my browser for.

Name: Anonymous 2019-05-20 7:09

>>377
After making the changes I realized that nobody will ever give a shit.
I'm wasting my life on something irrelevant.

At least I got this insight.

Name: Anonymous 2019-12-08 14:38

bump

Name: Anonymous 2019-12-08 16:48

>>5
fork of libcurl

Why

Name: Anonymous 2020-03-30 19:32

-why browsers are bloated
-browsers are overengineered, and standardly so, as a means of monopolizing, by setting the cost of reimplementation too high

Name: Cudder !cXCudderUE 2020-04-17 2:30

I had a little more time to work on this recently. Mostly doing some UI stuff so it is starting to look a lot like a browser.

Adding NPAPI support is actually easier than I thought - you just create a plugin instance, give it a window to draw into and feed it data, it will take care of itself. I'll do that so you can use any plugins including Flash. Installing and enabling them on the pages you trust is your responsibility. I give you freedom. Fuckings to the authoritarian "security" dipshits who are ruining the Internet.

Name: Anonymous 2020-04-22 23:49

bump

Name: Anonymous 2020-04-23 2:08

>>383

Why implement the plugin API? It's dead, mostly replaced by better standards.

Is this a minimal browser project, or just some weird boner for 2000s web technology with all its flaws intact?

Name: Cudder !cXCudderUE 2020-04-23 3:39

>>385
Why not? It's simple and allows viewing content that would otherwise be inaccessible from a more "modern" browser. Who gets to decide what's "better"?

The browser will be minimal but extensible.

Currently working on cleaning up/shrinking the HTML parser and fitting it into the rest of the "shell" of a UI that I have already, which only displays text and images so far. The HTML parser had its own GUI before, now it will actually go into something that looks more like a browser, althoug I really want to keep the DOM inspector. I may take the crude renderer with it too, just for lulz.

Also, 386GET! I do actually have a 386DX-33 with Win95 and a Tolkien Ring NIC to try it on once I'm done...

Name: Anonymous 2020-04-24 5:33

How do you handle TLS?

Name: Anonymous 2020-04-24 5:36

>>386
Why not Activex?

Name: Anonymous 2020-04-24 8:13

>>388
Why not MentifeX?

Name: Forthcoder Diaries 2020-04-24 16:06

Name: Cudder !cXCudderUE 2020-04-25 6:23

>>387
By using the OS's libraries.

>>388
I actually considered that, but ActiveX is COM-based bloatshit while NPAPI is much simpler.

Name: Anonymous 2020-04-25 8:34

Forget it, writing a web browser is a million man-year job.

Name: Anonymous 2020-04-25 12:47

Name: Cudder !cXCudderUE 2020-05-02 0:57

Did most of >>386 and the binary doubled in size from 24K to 48K... most of it is the HTML parser that's still in unoptimised C and far too close to being literal to the incredibly bloaty spec (https://html.spec.whatwg.org/multipage/parsing.html) --- but nonetheless far ahead of previous "lightweight" browsers like NetSurf.

Since fitting a CSS parser and DOM renderer in 16K is probably going to be impossible, I still need to shrink the parsee a bit.

Name: Anonymous 2020-05-02 1:33

>>394
Use Rust

Name: Cudder !cXCudderUE 2020-05-02 5:22

>>395
DO NOT WANT

https://lifthrasiir.github.io/rustlog/why-is-a-rust-executable-large.html

Something is seriously retarded when Hello World with the defaults is bigger than the whole distribution of MS-DOS 2.0, and only with an insane amount of work can it be gotten down to slightly below 5KB --- when this is what can be done in only 4KB: https://www.youtube.com/watch?v=9l8a4M4afLk

Name: Anonymous 2020-05-02 6:21

>>396
mados2 is even more ancient that the DO NOT WANT meme. What is your point?

Name: Anonymous 2020-05-03 2:09

>>396

I'm not even a Rust programmer but this was hardly any work at all to set up. You basically add the libc crate and implement a
panic_handler
since you're not using the Rust runtime. The binary is 6128 bytes

$ cargo build --release && strip target/release/print
Finished release [optimized] target(s) in 0.06s
$ ll target/release/print
-rwxrwxrwx 2 anus anus 6128 May 2 21:53 target/release/print*


Meanwhile, let's see how C is doing. Oh, too bad

$ gcc -Os hello.c -o hello && strip hello
$ ll ./hello
-rwxrwxrwx 1 anus anus 6312 May 2 22:02 ./hello*



Something is seriously retarded when gcc's Hello World optimized for size is bigger than the whole distribution of MS-DOS 0.02, etc etc.

Name: Anonymous 2020-05-03 2:50

(setcdr status '(fuqin told))

Name: Cudder !cXCudderUE 2020-05-03 4:12

>>398
C:\Documents and Settings\konata\Desktop\test>clx hello.c
C:\Documents and Settings\konata\Desktop\test>dir hello.exe
Volume in drive C is FS390-105
Volume Serial Number is DEAD-BEEF

Directory of C:\Documents and Settings\konata\Desktop\test

2020-05-03 09:03 1,536 hello.exe
1 File(s) 1,536 bytes
0 Dir(s) 61,918,518,249,984 bytes free

Name: Cudder !cXCudderUE 2020-05-03 4:40

Looks like yet more retardation has infected the HTML spec...

https://html.spec.whatwg.org/multipage/custom-elements.html

A bunch of related shit was added to the parsing spec. Fuck Google and its attempt at taking over the Internet by constantly churning the spec and its browsers. Stop torturing the Firefox folks who are trying to keep up. Fuck this "progress" bullshit. And big fuckings to all those mentally retarded trendchasing "developer" cunts who blindly parrot their drivel and follow them into their monopolistic plans.

This is war. We need to fight these companies and their attempts to enslave us through their propaganda and fearmongering. We need to reject their herding of the sheeple. We need to bring back the document-oriented hypertext markup system and fight against the compulsory use of JS and DRM-oriented user-hostility. Make Internet Great Again!

Name: Anonymous 2020-05-03 14:32

>>401
The rest of your post is correct, too bad you fucked up with the neonazi koolaid at the end.

Array.from (document.getElementsByClassName ("trip")).forEach (e => { e.parentNode.parentNode.children [1].innerHTML = "I am a child seeking attention."; })

Name: !Ps1ivhrO6w 2020-05-04 23:25

>>402
The sentence "Make Internet Great Again" contains two suppositions:

1. We should make the internet great in the future
2. The internet has been great in the past

If you disagree with the sentence then you must disagree with either of its suppositions, or both, or else you agree with it entirely.
I, for one, agree with both the suppositions, and don't feel any nazier due to it.

Name: Anonymous 2020-05-05 4:45

>>403
What would you know about how was Internet in the past? Seriously?

Name: Anonymous 2020-05-05 4:48

Do you have very old childhood memories from 2011 and already thought that Instagram wasn't great at all?

Name: !Ps1ivhrO6w 2020-05-05 11:50

>>404
I have nitid memories of non-dynamic, non ad-infested internet, yes.
>>405
I was 19 years old in 2011. Edited on 05/05/2020 11:51.

Name: Cudder !cXCudderUE 2020-05-05 13:41

>>402
neonazi

I'm libertarian.

Name: Anonymous 2020-05-05 19:28

>>407
I'm libertarian.

The founder of libertarianism, Ayn Rand, was Jewish, and she hated racists and Nazis, same way she hated uneducated lumpenproletariat manipulated by populist dictators, like Stalin and Hitler.

You're not libertarian, Cuddder. You're a braindead conservative and just a thoughtless scumbag, who can only code very basic stuff in C. Edited on 05/05/2020 19:29.

Name: Cudder !cXCudderUE 2020-05-06 2:11

>>408
The founder of libertarianism, Ayn Rand
Stopped reading there.

In more related news, I might have to rewrite the HTML parser/tree construction in Asm -- the compiler is far too stupid and fails to identify all the common code shared by all the state functions, which currently occupies 9.5KB+. 64K to pass Acid2 is looking a little tight... maybe 64K after packing? That feels like cheating, but it's what the demoscene does all the time...

Name: Anonymous 2020-05-06 4:04

>>409
run it through an obfuscator to save bytes

Name: Anonymous 2020-05-06 9:26

>The founder of libertarianism, Ayn Rand
Yikes

Name: Anonymous 2020-05-06 11:09

>>409
Please finish it. It's a very cool project, we're not going to count bytes.

Name: Anonymous 2020-05-06 11:21

>>411
>>409
alt-Right butthurt

nice.

Name: Anonymous 2020-05-07 2:06

>>413
As far as alternatives to right-wing politics go, libertarianism isn't that bad.

Name: Anonymous 2020-05-07 9:25

>>413
Optimize and source your quotes, kudasigh.

Name: Anonymous 2020-05-07 10:57

Name: Cudder !cXCudderUE 2020-05-07 13:43

Started rewriting tree construction in Asm. First 5 functions now 105 bytes vs 323. 64k goal seems more reasonable now.

Name: Anonymous 2020-05-07 15:41

>>417
Way beyond the post limit. Show us your code, Cudder.

Name: Cudder !cXCudderUE 2020-05-10 0:42

>>418
Look in previous threads.

I tried to optimise the C parser anyway to see how far I could take it, and now the binary is down to 44K, which means I took off 4K just by optimising C. The 44K binary contains:

- A GUI that looks somewhat like a browser, complete with progress/status bar
- Address bar with configurable history
- URL sourcing for http,https,ftp,file, and data (one thing IE6 doesn't have!) schemes (~4.5KB)
- Text file viewer (~1KB)
- Image file viewer (~1.3KB)
- JPEG decoder (~5.4KB)
- GIF decoder (~2.1KB)
- HTML tokeniser/parser/tree construction (~20KB)

When I originally made the 64K goal I was not expecting to write image decoding too, but maybe I can squeeze those in there too...

Name: Anonymous 2020-05-10 2:36

Name: Cudder !cXCudderUE 2020-05-10 6:33

https://i.imgur.com/TQGrQhl.png

The binary is 45.5KB, or in other words the very crude renderer is only 1.5KB. It just needs a CSS subsystem and implementations of "irregular" elements (e.g. interactive stuff) and Acid2 pass will not be far off. It's been almost 10 years since I started... and the Web and mainstream browsers have only gotten (much) worse.

Keep in mind that in those 10 years, Dillo and NetSurf, which I am competing against, have not managed to pass Acid2 either, and their binaries are 1-2 orders of magnitude bigger.

Name: Anonymous 2020-05-10 16:43

>>421
Now you need a time machine to sell it back when they still needed such crap. Fucking autismatic loser.

Name: Anonymous 2020-05-10 23:25

>>421
Very cool. I like it.

Name: Anonymous 2020-05-11 0:38

>>421
congrats on reinventing elinks, man XDDDDDDDDDDDDD

Name: Anonymous 2020-05-24 18:13

>>421
I thought you said it already had CSS support?

Name: Cudder !cXCudderUE 2020-06-01 13:39

>>425
No. I wrote part of the CSS parser before but other things took priority.

Name: Anonymous 2020-06-02 23:26

>>426
Please finish it, please finish it, please finish it and release it.
I'll forgive you everything if you do that.

Name: Anonymous 2020-06-03 2:11

Release Anonix first cowards

Name: Anonymous 2020-06-03 10:32

Unfortunately Anonix is organized as a stack so the first cowards can only be released last.

Name: Cudder !cXCudderUE 2020-06-06 23:31

>>427
It gets worked on as time permits, and every time I get pissed off by some "modern web" shit that gets in my way.

Name: Anonymous 2020-06-08 16:20

>>430
You're too perfectionist. Better is the enemy of good.
If you relaese something as functional as Dillo, I'll use it.

Name: Cudder !cXCudderUE 2020-06-21 5:12

>>431
What's the point? Just use Dillo then.

Name: Anonymous 2020-06-21 15:58

>>432
You suffer from the inability to finish a project, but that's because you make announcements before you even start. You get a false feeling of accomplishment and that's why you don't feel the need to acutally work on your projects. It's a well-known pattern.
Do something and then show it, that's how it works.
Don't announce something and make announcements about it for 10 fucking years. When was it when you ``started''? 2013?

Name: Anonymous 2020-06-22 2:13

>>433
Cudder gives us 7 years of entertainment for free, and you have the gall to judge her? For shame.

Name: Cudder !cXCudderUE 2020-12-01 4:21

Adding a PNG decoder increased the size to 48.5K, but that's not counting the almost 100K of zlib DLL that it now depends on... I could probably shrink the latter to a few K by rewriting it myself, but at this rate I don't think I'll make it in 64K, without rewriting even more in Asm first.

Name: Anonymous 2020-12-01 7:42

>>435
Bloat shitware. Start anew.

Name: Anonymous 2020-12-02 13:07

to fit an ACID2-compliant browser into 64kb, you must first create the universe

Name: Anonymous 2020-12-05 4:49

>>437
there is not point making a 64kb browser, every desktop has at least 128mb
of RAM, so minimum would be 64MB.
(Unless in some exotic cache-as-ram runtime case that is meant to fit in CPU cache or microcontroller memory.)

Name: Anonymous 2020-12-05 9:45

>>438
on a micro it would probably just be a text editor without edit capabilities

Name: Cudder !cXCudderUE 2020-12-06 6:02

>>437,438
Binary size, not total memory consumption --- it will try to use all your RAM if you really want it to, e.g. by opening very large pages, but initial tests already suggest it will use far less than existing browsers.

For example, open this image:

https://img2.gelbooru.com/images/c3/12/c3122cb134055e78e3a35c4819c0dfc7.png

Make a note of the RAM usage of your browser, then minimise it and look again at how much RAM it uses.

Mine takes less than 27M maximised, and only 384K minimised.

Name: Anonymous 2020-12-07 0:02

post the source code cudder

Name: Cudder !cXCudderUE 2020-12-09 4:38

>>441
Acid2 pass

Name: Anonymous 2020-12-09 15:55

>>442
proof?

Name: Cudder !cXCudderUE 2020-12-11 1:11

Name: Cudder !cXCudderUE 2020-12-17 4:29

A challenger appears...

http://www.litehtml.com/download.html

The binary (actually 3 of them) is closer to 6MB, or roughly in the same range as Dillo and NetSurf.

How well does it work? The first thing I did was visit https://dis.tinychan.net/prog/, upon which it immediately displays:

"Something Wrong
The message received was unexpected or badly formatted."

Not off to a good start. How about http://acid2.acidtests.org/ ?

An immediate crash! 0xc0000094 (divide by zero exception.)

Two sites, neither of them webapps nor anywhere near as complex as most of what's out there, on which it fails horribly.

It also takes around 14MB of RAM just to show a blank page (mine currently takes around 3MB.)

If I can pass Acid2 -- or even attempt to show something -- in what I would consider an incredibly bloated 1MB, I will already be ahead of that one. But I am still aiming for 64K.

Currently looking into the details of CSS layout and rendering, so that I can show something better than >>421 (but at least it doesn't crash.)

Name: Cudder !cXCudderUE 2021-03-30 2:46

Acid2 pass in 64k may seem unrealistic if the binary is already close to 50k for >>421, but that's because it contains a lot of other things which aren't technically needed for Acid2 - JPG and GIF decoding, for example (but PNG is needed.)

If I strip it down to pass Acid2 in 64k, and perhaps even pack the binary (but not do something obviously cheating like a prerendered page whenever it detects that URL), does that still qualify? Is it merely a "creative interpretation of the rules", as the demoscene would say...?

Name: Anonymous 2021-03-30 4:12

maybe if u used rust

Name: Anonymous 2021-03-30 7:49

Have you thought about recruiting rms for your browser project? He has the experience and similar ideals.

Name: Anonymous 2021-03-30 7:50

Show your code cudder.

Name: Anonymous 2021-03-30 9:56

>>449
Here is his code (leaked by Nigerian hackers):
org 100h
mov dx,hello_world
mov ah,9
int 21h
mov ah,4Ch
int 21h

Name: Anonymous 2021-03-30 12:50

>>450
Pretty good for a Serb.

Name: Cudder !cXCudderUE 2021-03-30 13:27

>>448
Experience with Lisp and the highly bloated coreutils as well as the rest of the GNUshit (GAS syntax is fucking retarded)?

Name: Anonymous 2021-03-30 16:45

>>452
POOR STALLMAN

Name: Anonymous 2021-03-30 19:22

>>452
He knows what's important: the original (lost) Unix philosophy: do a thing right!

Name: Anonymous 2021-03-31 10:03

6 Name: Cudder !MhMRSATORI!FBeUS42x4uM+kgp 2011-11-21 4:12

I'll admit I've been writing a web browser myself too, in C. I've gotten not much more than the HTML tokenizer done, because it's a time-killing thing. If only there were 64KB web browser competitions...

https://archive.tinychan.net/read/prog/1321853871/6

We've been waiting for 10 years, Cudder.

Name: Anonymous 2021-03-31 11:30

>>455

What happened to the Cudder's Unix-like OS?

Name: Anonymous 2021-03-31 11:51

>>456
One of the two other girls who contributed to Anonix OS had a car accident in Osaka, Japan. Cudder was requested to send nudes and subsequently nuked REchan and also ragequitted from the MhMRSATORI tripcode.
The source code of the anonymously-developped by Cudder, Haruhi and the 3rd namefag girl whose name I forgot utilities is lost forever.
Anonix OS had unbloated and anonymous clones of true, false, cat, echo, tail, head, wc (this one was approx. 40% complete)

Name: Anonymous 2021-03-31 12:10

On a side note, 4-ch's /code/ is dead. Its threads have been merged with /tech/

https://4-ch.net/tech/kareha.pl/1210401680/

1 Name: Cudder !MhMRSATORI!!L0f5nl0+ : 2008-05-10 06:41 ID:apPW4NZm
This thread was merged from the former /code/ board. You can view the archive here.

Since 4chan's /prog/ has become little more than meme spamming, I decided I'd try here.

Me and a group of anons are working on a POSIX-compliant OS, which will be developed anonymously and be public domain. Currently we've started on replacing GNU's Coreutils with Anoncoreutils, and have around 1/3 of the utilities finished. This is both an experiment in anonymous software development and an attempt to eliminate the bloat that GNU's programs tend to have.

Anyone is welcome to join in with this, as long as they don't leave a name and don't mind writing code for the public domain.

More info at https://web.archive.org/web/20130508104541/http://rechan.eu.org/ac/ and https://web.archive.org/web/20130508104100/http://rechan.eu.org/ax/

(The 3rd girl was w4lolitaKs)

Name: Anonymous 2021-03-31 12:46

I can't find the first thread related to "anon coreutils" but a repo still exists
https://repo.or.cz/4chanprog.git/commit/7e86bccb1387e5e53855b96ab6d61458c3fcd33c
coreutils/README [new file with mode: 0644] blob
coreutils/cat.c [new file with mode: 0644] blob
coreutils/echo.c [new file with mode: 0644] blob
coreutils/false.c [new file with mode: 0644] blob
coreutils/pwd.c [new file with mode: 0644] blob
coreutils/sync.c [new file with mode: 0644] blob
coreutils/true.c [new file with mode: 0644] blob
coreutils/tty.c [new file with mode: 0644] blob
coreutils/whoami.c [new file with mode: 0644] blob
coreutils/yes.c [new file with mode: 0644] blob

Name: Cudder !cXCudderUE 2021-03-31 13:45

>>455
So have I... if only I had more time to work on it instead of IRL stuff. Thanks for finding that thread, it confirms that the web has NOT gotten better in a decade, and if anything, much worse! If you can find the rest of the threads it would make a good read for the newfags. I remember making some predictions in subsequent ones.

>>456-459
You can find the last ACU release here:
http://rechan.eu.org/misc/anoncoreutils-20080617-2.tar.bz2
I still want to REvive REchan someday. It was a fun few years but HAHAHaruhi and lolita moved on to other things and IRL got in the way, like usual.

Name: Anonymous 2021-03-31 14:08

>>460
http://rechan.eu.org/misc/anoncoreutils-20080617-2.tar.bz2
Thanks! I looked everywhere and it actually hasn't moved.

I still want to REvive REchan someday.
I would really love that! Reading its archive with the Fravia links made me nostalgic.

Name: Anonymous 2021-03-31 14:23

Not so bad, eh?
[anon@machine ]$ time ./md5sum ABOUT.HTM
36ecdcd50f5eeee897084163a99e977a ABOUT.HTM

real 0m0.002s
user 0m0.002s
sys 0m0.000s
[anon@machine ]$ time md5sum ABOUT.HTM
36ecdcd50f5eeee897084163a99e977a ABOUT.HTM

real 0m0.004s
user 0m0.004s
sys 0m0.000s
[anon@machine ]$ wc -l anoncore/md5sum.c
164 anoncore/md5sum.c
[anon@machine ]$ wc -l coreutils/src/md5sum.c
1110 coreutils/src/md5sum.c

Name: Anonymous 2021-03-31 14:43

>>460
If you can find the rest of the threads it would make a good read for the newfags. I remember making some predictions in subsequent ones.
Yes, that was more or less the purpose. We seem to have an influx of Discord kids, who, for some reasons, are overly enthusiastic about textboards. I thought we could scare them away welcome those with a genuine interest.

https://archive.tinychan.net/read/prog/1207068959
https://archive.tinychan.net/read/prog/1209524717
https://archive.tinychan.net/read/prog/1210044469

The thread I was looking for had an ASCII banner of sorts.

Name: Anonymous 2021-04-01 13:11

>>457
One of the two other girls who contributed to Anonix OS had a car accident in Osaka, Japan. Cudder was requested to send nudes and subsequently nuked REchan and also ragequitted from the MhMRSATORI tripcode.
3 tranner attention whores working on the same project
what an accomplishment

Name: Anonymous 2021-04-01 23:05

>>464
Now that Free Software is dead, Anonix is our only hope.

Name: Cudder !cXCudderUE 2021-04-02 2:04

>>463
I was talking about the browser threads.

>>465
There's still BSD.

Also, 466GET!
https://www.youtube.com/watch?v=Ke9WAcH9KX0

Name: Anonymous 2021-04-02 19:18

>>466
Marry me!

Name: Cudder !cXCudderUE 2021-04-03 4:37

https://archive.tinychan.net/read/prog/1332379866
https://archive.tinychan.net/read/prog/1375659016/65-

Firefox has indeed gotten worse, with Mozilla recently taken over by SJWs, and continues to deepthroat Google while the latter's propaganda campaign is indoctrinating more innocent developers by brainwashing them into believing that Chrome's monopoly and Chrome-only sites is good; so much that they were even able to force Microsoft to surrender.

Fuck the "modern web". Fuck this "progress" and "move the web forward" bullshit.

Name: Cudder !cXCudderUE 2021-10-09 3:49

Firefox has now gone full-adware:

https://www.bleepingcomputer.com/news/security/firefox-now-shows-ads-as-sponsored-address-bar-suggestions/

Instead of begging for more money, Mozilla needs to fire all its designers, retarded "diversity and inclusion" SJWs, and all the other people doing useless shit. Everyone except the hardcore developers need to fuck off. Revert all the user-hostile changes, remove the "telemetry" spyware/adware, and turn Firefox back into a completely neutral browser that obeys no one but the user. Mozilla needs to debloat itself.

...but we know that's never going to happen, so every time those fucktards make things worse, I'm motivated to go work on my browser a little more. It's currently around 50KB and can display text and images. Acid2 pass in 64K might be very difficult, and in 1MB is definitely possible, but whatever the size ends up to be, it will be a saner browser than the insanity that the web has become.

Name: Anonymous 2021-10-09 5:42

everyone's runnin round, no place to go

Name: Cudder !cXCudderUE 2021-10-10 7:30

https://i.postimg.cc/Xv29t2qz/bowse.png

Currently working on layout. CSS parser development was started long ago, but set aside to focus on other things.

In celebration of post 471, let's roll some coal:

https://www.youtube.com/watch?v=HU9-3XRRCk4

Name: Anonymous 2021-10-11 13:37

>>469
Firefox has now gone full-adware:

RMS is fine with telemetry in audacity; why would he oppose it in firefox.

Name: Anonymous 2021-10-11 15:38

because hes making Icedinternet. a cool new web browser that comes with 3gb ram absorber and cpu spiker.

Don't change these.
Name: Email:
Entire Thread Thread List