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

Why browsers are bloated

Name: Anonymous 2014-07-27 0:20

https://github.com/WebKit/webkit/blob/master/Source/WebCore/platform/Scrollbar.cpp
https://github.com/WebKit/webkit/blob/master/Source/WebCore/platform/win/ScrollbarThemeWin.cpp
Let's reinvent the fucking scrollbar, which every goddamn platform with a UI already has, and make it behave subtly different from the native one!

Right-click a native scrollbar in some other app:
- Scroll Here
- Top
- Bottom
- Page Up
- Page Down
- Scroll Up
- Scroll Down

Right-click a scrollbar in Chrome:
- Back
- Forward
- Reload
- Save As...
...

Right-click a scrollbar in Firefox and Opera:
Absolutely fucking nothing happens!

What the fuck!? How did these terminally retarded idiots get involved in creating one of the most important pieces of software to the average user?

Name: Anonymous 2015-07-22 13:47

>>674
Sorry, I only wanted to help.
I'm ashamed, Cudder-sama!

Name: Anonymous 2015-07-22 21:29

Please forgive >>675-kun Cudder-sama! I don't want ze to commit sepuku!

Name: Anonymous 2015-07-22 23:18

'>ze

Epic!

Name: Marisa Kirisame 2015-07-23 1:10

Requires the /Ze option.

Name: Anonymous 2015-07-23 2:13

>>678
OrdinaryMagician?

Name: Anonymous 2015-07-23 11:13

>>679
He is Cudder's second personality.

Name: Anonymous 2015-07-24 18:05

Name: Anonymous 2015-07-24 18:25

>>681
godoc
golang
Utter garbage.

Name: Anonymous 2015-08-09 16:19

Name: Anonymous 2015-08-09 16:29

With the CSS3 border-radius property, you can give any element "rounded corners".

Name: Anonymous 2015-08-09 18:23

>>684
HTML+CSS is all people should need. http://codepen.io/philhoyt/pen/ujHzd
But they use JavaShit for everything, for our sadness.

Name: Cudder !cXCudderUE 2015-08-10 6:17

>>683
What's the point? Does someone really think Win95 predates Ethernet?

Name: Cudder !cXCudderUE 2015-08-11 13:33

For those now-borked links to the old /prog/, you will need to get the archive from here:

http://bbs.progrider.org/prog/read/1437614471

Name: Anonymous 2015-08-11 14:01

>>686
>>687
Hi there!

You seem to have made a bit of a mistake in your post. Luckily, the users of /prog/ are always willing to help you clear this problem right up! You appear to have used a tripcode when posting, but your identity has nothing at all to do with the conversation! Whoops! You should always remember to stop using your tripcode when the thread it was used for is gone, unless another one is started! Posting with a tripcode when it isn't necessary is poor form. You should always try to post anonymously, unless your identity is absolutely vital to the post that you're making!

Now, there's no need to thank me - I'm just doing my bait to help you get used to the anonymous text-board culture!

Name: Anonymous 2015-08-11 20:36

>>686
LAN networking was the point of ethernet at the time. Since the only real way to access the internet for home users was dialup, the computers sold then rarely had NICs. I doubt that anyone still makes drivers for a Win95, much less hardware that fits a motherboard that old.

This makes me think of a new vaporware I'm going to work on for ten minutes and forget about. How about a BBS that you have to dial in to, but that's hosted over the various free VoIP things like Jewgle Voice or Skype?

Name: Anonymous 2015-08-11 22:16

>>688
Hi there!

You seem to have gotten dubs with your post. Luckily, the users of /prog/ are always willing to check your dubs right up! You appear to have gotten a post number ending in repeating digits when posting! Great! We will always remember to check your dubs when the board you are posting in is a textboard! Posting with a dubs when it is always necessary is great form. We will always try to check your dubs following the culture of the site, since your dubs are absolutely vital to the post that you're making!

Now, there's no need to thank us - we're just doing our best to help your GET in the text-board culture!

Name: Anonymous 2015-08-12 23:46

This thread is bloated

Name: Anonymous 2015-08-13 11:12

>>689
What in the nigger shit are you spouting? There's no difference at the OS endpoint of LAN vs internet networking. Go kill yourself.

Name: Anonymous 2015-08-13 14:27

>>692
Dailup and ISDN modems used RS-232 not Ethernet, cretin.

Name: Anonymous 2015-08-14 20:47

>>693
What the fuck does that have anything to do with IP?

If your machine can route IP over a LAN, there's no difference in routing IP over the internet, fuckwad.

Name: Anonymous 2015-08-14 21:07

>>694
You're the one that's going off on some retarded tangent. Follow the conversation, muttonhead.

Name: Cudder !cXCudderUE 2015-11-09 6:17

Finally with a little more time to work on the CSS part, I've done the matcher and some of the datastructures but still need to figure out a good way to store the properties and their values. Most of them could be stored together with their values in a single 32-bit integer. I just need to map them all...

Name: Anonymous 2015-11-09 17:00

All word and action none!

Name: Anonymous 2015-11-09 19:33

>>696
a good way to store the properties and their values
You need a map from properties to values? How about a fucking map?

Name: Anonymous 2015-11-09 19:36

Does C even have maps?

Name: Anonymous 2015-11-10 2:41

>>699
Nice dubs
>>700
These too.

Name: Cudder !cXCudderUE 2015-11-10 3:53

>>698
Yes, it will be a map, but exactly what type of map? There's plenty of generic types of map but the space of properties and values is small enough that it should be possible to represent e.g. background-color: black in a single 32-bit value.

Careful design of the data structures is important because it's what sets this browser apart - it's not just another Firefox or Chrome or IE clone. Everthing has been designed from the beginning to be as efficient as it could be, before I write a single line of code. I know you might be thinking "just use a std::map<something, something>" but have you ever seen the actual implementation of such things? They're great for mapping a great many arbitrary objects to other arbitrary objects, but horribly bloated for what this particular application needs: a mapping from ~256 or less keys, to a similarly restricted set of small values ("inherit", "none", one of 2^24 colours, one of 256 opacity levels, etc.) A DOM node is not going to have several thousand CSS properties set on it (there aren't even that many in total in CSS3!), and even a hundred is going to be rare. Using a datastructure designed and optimised for 2 or 3 orders of magnitude more items for this is retarded in the same way as invoking Quicksort on a 4-element array.

>>697
The pen is mightier than the sword.

Name: Anonymous 2015-11-10 4:14

Why didn't K&R make it to the standardization committee?

They got lost because C doesn't have a map.

Name: Anonymous 2015-11-10 5:01

>>701
And here we see a Cudder adding unmaintainable bloat to his shit, in a futile attempt to reduce bloat.

Name: Cudder !cXCudderUE 2015-11-10 6:39

>>703
unmaintainable
Buzzword detected.

Name: sage 2015-11-10 7:44

sage

Name: Anonymous 2015-11-10 14:03

>>705
Epic sage meme image/b/oard/b/ro!

Name: Anonymous 2015-11-10 19:27

>>701
What's wrong with just a bitmap of a node's specified properties and a corresponding list of values? The values can be "fat", i.e. background-color, background-repeat squashed into one "background" struct.

Name: Anonymous 2015-11-10 22:07

>>701
That's a genius idea.

Name: Cudder !cXCudderUE 2015-11-11 16:15

>>707
I'd considered that, but that's 32+ bytes just to keep the bitmap in addition to the values, and the list would still need to be searched. A hash table is a bit rich for the purpose, although something resembling hashing might be a good idea.

>>708
I don't think it's that genius of an idea. Maybe to the incompetents that pass as programmers these days, but the demosceners and other old-school programmers would think nothing of it.

Name: Anonymous 2015-11-11 16:23

dubs

Name: Anonymous 2015-11-11 18:06

>>710
NO U

Name: Anonymous 2015-11-11 22:52

>>704
"Unmaintainable" is a non-ENTERPRISE term learned by any learning programmer who's looked at their own personal projects from 6 months ago.

Name: Cudder !cXCudderUE 2015-11-12 4:57

>>712
s/learning/degrading/

If you can't understand code you wrote before, you're not getting any better - you're getting worse.

http://www.linusakesson.net/programming/kernighans-lever/

I noticed that there's a CSS 2.2 spec being developed:
https://drafts.csswg.org/css2/

Name: Anonymous 2015-11-12 8:24

>>713
Truly a non-programming poster.

If you can't maintain the project you wrote 6 months ago, and the code looks like bullshit, you've made a step towards satori.

If you've never experienced this early in your programming, you have never learned anything and are destined to be a shit apper.

Name: Cudder !cXCudderUE 2015-11-12 8:52

>>714
You make no sense. But then again, neither do most of the stupid trends in "software engineering".

Name: Anonymous 2015-11-12 9:04

>>713
No way. I couldn't even begin to explain how http://bbs.progrider.org/prog/read/1444460614 works and I wrote it only a month ago. I certainly don't agree that I've gotten worse.

Your problem, Cudder, is that all those hormone replacement drugs have eaten a hole in the part of your brain that lets you do academic circlejerking properly. You spend too much time on long projects like writing that web browser in 6502 assembly or the IDA killer or the SoftICE replacement or whatever and never just program something that popped into your head on a whim. You're a Michelangelo in a world that needs Picassos. Lighten up a bit, light up a blunt, and program something fun.

Name: Anonymous 2015-11-12 14:50

>>716
That is expected, you are using lisp.

Name: Cudder !cXCudderUE 2015-11-13 8:26

>>716
You are certainly degrading. That's just Church numerals done using lists instead of function applications. Nothing interesting about that. (I do know about "academic circlejerking" and all that abstract bullshite, but whether I actually want to do that stuff is a different matter.)

light up a blunt
That explains a lot...

Name: Anonymous 2015-11-14 10:39

>>716
No wonder you can't explain how it works: it's unreadable from all the define bloat! Should've used def instead.

Name: Anonymous 2015-11-14 16:47

>>719
Clojure is not a LISP.

Name: Anonymous 2015-11-14 17:33

>>720
But Scheme with

(define-syntax def
(syntax-rules ()
((def a ...)
(define a ...))))

(define-syntax lam
(syntax-rules ()
((lam a ...)
(lambda a ...)))))


is.

Name: Anonymous 2015-11-14 22:00

>>716
I remember everything I write. It's like a photographic memory for concepts.

Name: Anonymous 2016-02-06 20:46

What do you think will be the hardest part on the browser?
The rendering engine, I guess?
Could you make a release of what you have so far once the CSS layout is done?

Name: Anonymous 2016-02-07 10:49

>>723
The rendering engine isn't necessarily hard, just tedious with all the tiny bits of configurability that it needs to support.

What's hard is making sure it's secure, and trying to optimize it.

Name: Anonymous 2016-02-07 11:01

>>720
Clojure is a Lisp.

Name: Anonymous 2016-02-07 11:09

>>723
Don't count on it.
*Cudder is all talk and no action*

Name: Anonymous 2016-02-07 13:00

>>724
What's hard is making sure it's secure, and trying to optimize it.
*optimise
And no, it isn't.

Name: Anonymous 2016-02-07 13:29

>>727
Yes it is. Cudder's solution is incomplete as he decided to ignore the full range of the specification. Feel free to prove me wrong by writing a full spec, fully secure and fully optimized web renderer.

Name: Anonymous 2016-02-07 13:31

>>728
Feel free to prove yourself right.

Name: Cudder !cXCudderUE 2016-02-07 16:34

>>723
What do you think will be the hardest part on the browser?
JavaScript
Could you make a release of what you have so far once the CSS layout is done?
Once Acid2 passes.

>>724
What do you mean exactly by "secure"? It seems everyone is throwing this word around like some kind of holy grail when it could mean anything from DRM and other user-hostile shit (fuck no, it's not going to be "secure" if you mean that) to buffer overflows (won't happen, there's very little dynamic allocation and what there is will have lengths checked very thoroughly...)

just tedious with all the tiny bits of configurability that it needs to support.
Calculating widths/heights is the most annoying part. One of the reasons why it's taking so long is because I'm trying to simplify it --- the spec is almost always more verbose and complex than it needs to be. Earlier in this thread I shrunk the HTML tokeniser from the absolutely bloated spec into a <1KB binary, so I expect some level of savings for the CSS parser and renderer... optimisation comes naturally from design.

Name: Anonymous 2016-02-07 17:11

>>730
Alrigiht bitch. Forget showing us the web browser. How about you just show us ANYTHING you have written. You see, we aren't even quite sure you know how to program.

Name: Cudder !cXCudderUE 2016-02-07 17:59

>>731
RTFT, I've posted code and screenshots already.

Name: Anonymous 2016-02-07 18:35

>>732
40 lines of asm, lol

Name: Anonymous 2016-02-07 22:30

>>730
JavaScript

I don't think many people care about that.
Good part of the web works without it. Of course it'd be a nice addition to your browser, but I don't think it's essential.

Once Acid2 passes.

How far is it into passing Acid2?

Name: Anonymous 2016-02-07 22:39

Mr. Cudder, do you think your Asm/C performant browser will allow users who have an Intel DX4 to browse the modern web? What do you expect will be the requirements?

Name: Anonymous 2016-02-08 0:53

Shank those who bully Cudder!

Name: Cudder !cXCudderUE 2016-02-08 1:13

>>734
The JS comes later. I'll definitely release a version without any JS support. I don't know how far, since I'm still designing the layout algorithm.

Name: Anonymous 2016-02-08 4:55

Cudder is a male jew roleplaying as a girl.

Name: Anonymous 2016-02-08 12:55

can we get a roadmap with what's done so far and what's missing before the first release (acid2 pass)?

Name: Cudder !cXCudderUE 2016-02-09 3:39

>>739
Done:
- HTML tokeniser
- HTML parser
- DOM tree

In progress:
- CSS tokeniser
- CSS parser
- CSS box generation
- layout

Planned:
- Network
- Rendering UI
- Configurator

Name: Anonymous 2016-02-09 4:25

>>740
Of those, which won't be portable?
Network, of course.
For rendering UI, have you looked into Vulkan? Or do you still plan on doing Win32 and then Xlib, separately?

Name: Cudder !cXCudderUE 2016-02-09 11:12

Vulkan
No. No fucking "cross platform" bullshit, especially something that isn't even really out yet. We don't need another bloody layer of bloat or a dozen multi-MB libraries. Windows version will be single binary expected to be <1MB and usable on Win98SE up to (probably, won't test) 10.

I don't really know what to do with *nix yet. Horribly fragmented ecosystem with tons of unstable dependencies. AFAIK there's nothing like a MSVCRT.DLL that I can just link with and get all the standard C library functions on any version of Linux. Instead there is this whole fucked-up symbol-versioning GNU bloatstrosity with all the different libc versions. And that's not even getting into the retarded ELF symbol export/import system which is more like "throw everything together randomly". The PLT/GOT/etc. crap is headache-inducing every time I have to deal with it.

If I was making a hybrid OS with the best features of Windows and *nix, it would definitely have dynamic linking more like the Windows system.

Name: Anonymous 2016-02-09 11:27

>>742
Forget loonix, it's too shitty to use anymore. Stick with real UNIX® and VMS.

Name: Anonymous 2016-02-09 12:13

Instead there is this whole fucked-up symbol-versioning GNU bloatstrosity with all the different libc versions

Just static link against musl libc and forget GNU anything.
http://www.etalabs.net/compare_libcs.html

Static linking against musl will make it work on any linux, regardless of the installed libc.

Name: Anonymous 2016-02-09 14:35

>>740
Lol, just parsing the text into the proper data structures can be done in an afternoon, you fucking n00b.

Name: Anonymous 2016-02-09 17:54

>>742
Static link you fucking ifiot

Name: Anonymous 2016-02-09 18:23

If cudder ever releases anything (I know, let me dream for a second), I'd put money on it being slower than modern browsers, with a similar footprint as browsers of similar limited functionality.

Name: Anonymous 2016-02-09 21:16

CUDDLER why aren't you implementing your own PCB traces and transistors?

Name: Anonymous 2016-02-09 21:17

>>748
Real world considered harmful.

Name: Anonymous 2016-02-09 21:19

>>749
Did somebody just say "Haskell"?

Name: Anonymous 2016-02-09 21:24

>>749-750
Stop making it look like I'm replying to myself. I'd like a real reply, preferably from CLUTTER shirmself.
Anyway, CUTLERY lives in a world with neither deadlines nor abstract thinking, so >>749 is right and >>750 is wrong.

Name: Anonymous 2016-02-09 21:25

>>751
But >>750 didn't claim anything, how can he be wrong?

Name: Anonymous 2016-02-09 21:26

>>752
You know when you show your sister your hentai collection, and she says "that's just wrong"? It's like that.

Name: Anonymous 2016-02-09 21:27

>>753
Cudder should rewrite Windows in Haskell, though.

Name: Anonymous 2016-02-09 21:51

I'll show all you cocksuckers when I make a web browser out of vacuum tubes!

Name: Anonymous 2016-02-09 22:01

>>755
I'll show all you cocksuckers when I make a hydraulic computer!

Name: Anonymous 2016-02-10 3:14

I'll show all you cocksuckers when I make a penis pump computer!

Name: Cudder !cXCudderUE 2016-02-10 4:38

>>744,746
static link
That's even worse.

>>745
Yes, a shitty inefficient version can be done in almost no time. I could probably have an acid2-passing horribly bloated browser-ish thing if I just used C++ and banged out classes all day long for a week. That's not the point. It's taking so long because [1] I have tons of other stuff to do and [2] I'm thinking carefully, very carefully, about how to do it. Amortised over the past few months I've probably been spending less than an hour a day on this.

>>747 start reading around >>123. Parser is overall twice as fast as Chrome's, less than 1/10th the size, and that's with a stupid C part I haven't done much optimisation on yet.

Name: Anonymous 2016-02-10 4:47

Couldn't CUDDER, you know, fork Webkit and add his own transvestite assembly code instead of reinventing the wheel?

Name: Anonymous 2016-02-10 5:04

>>758
namefags need to go

Name: Anonymous 2016-02-10 8:40

What's a "cudder"? I remember "cudder jobs" in the Jewish Guild in Skyrim, they were about planting dicks in people's anuses. So are /prog/ cudders the ones who post jewish material to make the government vote degenerate laws?

Name: Cudder !cXCudderUE 2016-02-10 12:04

>>759
You missed the first few hundred posts in this thread?

Name: Anonymous 2016-02-10 12:23

>>761
Read sicp you bastard!

Name: Anonymous 2016-02-10 19:53

>>758
That's even worse.
Well-reasoned, rational argument presented with excellent points, counterpoints and examples as always, Cűnther.

Name: Anonymous 2016-02-11 0:10

>>758
Even if that's true (which it isn't), it's probably fucking terrible Russian code that's hardcoded to everything at hand right now, and as soon as there's any change to HTML/CSS/JS for you to support, you'll have to start over because you don't know what the fuck you're doing.

Name: Anonymous 2016-02-11 20:33

>>765

Russian code
terrible
What've you been smoking? Russians are twice smarter than you.

Name: Anonymous 2016-02-11 21:59

Russians are masters at micro-optimizing useless shit at the expense of everything else, yielding unusable garbage that happens to run 1 brittle scenario quickly.

Name: Anonymous 2016-02-11 23:25

>>767
Is FV russian?

Name: Anonymous 2016-02-12 1:32

>>768
I hear that Russia sends furries to gulags, so probably not.

Name: Anonymous 2016-02-12 12:06

>>768
A couple of years ago he was a 14yo Russian kid living in Finland. Many things could've changed since then.

Name: Anonymous 2016-02-13 15:20

Scrollbars aren't even useful.

Name: Anonymous 2016-02-13 17:07

holy shit remember the get the trips that come soon here!

Name: Anonymous 2016-02-15 19:55

bump for trips

Name: Anonymous 2016-02-16 10:20

Fuck

Newer Posts