Sunday, April 10, 2011

irc comedy in cat-v

[01:13] == curious_page [4a6fc587@gateway/web/freenode/ip.74.111.197.135] has joined #cat-v
[01:14] smalltalk considered harmful?
[01:14] <__20h__> EthanG, script kiddie. :P
[01:14] bah XD
[01:15] <__20h__> curious_page, I like brackets.
[01:15] oh?
[01:16] http://book.seaside.st/book/introduction/what-is-seaside
[01:18] <__20h__> curious_page, I really like brackets.
[01:18] <__20h__> I still don't consider interpreted languages to be worth today.
[01:19] <__20h__> They did too much harm to our environment.
[01:19] even for web?
[01:19] hmm
[01:19] <__20h__> The Web should be written in C.
[01:19] <__20h__> All web pages using some scripting language are in prototype stage.
[01:19] <__20h__> The end-product is always written in C.
[01:19] <__20h__> C++ is a prototyping language too.
[01:19] hmm
[01:20] does it work nicely?
[01:20] <__20h__> C works nicely, if you can handle it.
[01:20] I have a copy of the k+r
[01:20] but many say something else better for web page
[01:21] <__20h__> curious_page, that's because it's harder.
[01:21] ah
[01:21] <__20h__> You have to write more glue for the web.
[01:21] <__20h__> The scripting languages have extended libraries and features for making it easier to produce a web page.
[01:21] <__20h__> But there is no sense in wasting resources.
[01:22] <__20h__> If the African population gets full Internet access, web pages have to scale even more.
[01:22] <__20h__> But we can add more hardware and inefficient load-balancing.
[01:23] what is it like to know c?
[01:23] I dont know it yet.
[01:23] <__20h__> curious_page, you feel superior to EthanG.
[01:24] <__20h__> And his brothers and his ghetto gang.
[01:24] <__20h__> Then you get all the chicks and they get none.
[01:24] this one guy wrote a webserver called hiawatha in c
[01:24] thats really cool I think
[01:24] 1 guy and c
[01:24] bam!
[01:24] <__20h__> No, actually, if you know C, you know another language, which is really useful.
[01:24] he uses php for his pet web framework tho
[01:25] <__20h__> Yeah, because he's copying models.
[01:25] <__20h__> There is no sane way to allow the stupid user to compile their website, without exposing the system libraries.
[01:25] <__20h__> A »framework« is missing.
[01:25] <__20h__> Althought, frameworks shouldn't be created anymore, they only lessen your freedom.
[01:25] <__20h__> You can use libraries, but frameworks force you into a certain environment.
[01:26] uriel mentions lib task
[01:26] I wonder if that could be used to make a nice web server.
[01:26] <__20h__> You can make a webserver with just your local libc.
[01:27] <__20h__> But you won't do it, if you don't start.
[01:28] true
[01:28] has anyone made some kind of webserver
[01:28] where the broswer sort fo nfs mounts the webserver fielsystem
[01:28] <__20h__> I think we have done many daemons.
[01:29] and the web calls beocme file mvoements using nfs or something similar?
[01:29] <__20h__> curious_page, sounds like a stupid design.
[01:29] <__20h__> Your requests will be based on NFS latency.
[01:29] why do
[01:29] oh
[01:29] hm
[01:29] it seems it would take care of th ewhole session problem
[01:29] <__20h__> If you think of a single functionality, try to imagine, that all Chinese try to access this feature at once.
[01:29] much liek they try to now with continuations
[01:29] <__20h__> Would it work?
[01:30] hmmm
[01:30] maybe not
[01:30] <__20h__> See, then make it work for all the Chinese.
[01:30] unles slots fo file descritors allowed in linux config
[01:30] ok
[01:30] <__20h__> You will need locking or atomized operations.
[01:30] on linux can 9p be used instead of nfs?
[01:30] is is way faster?
[01:30] <__20h__> curious_page, have you actually written the C code?
[01:30] no
[01:31] only liek first few exercises in k+r
[01:31] <__20h__> Being horny to use some technology won't help you in writing C code.
[01:31] <__20h__> Your web server problem is a simple one, but adding certain protocols is a difficult one.
[01:32] <__20h__> You will have concurrency and race conditions.
[01:32] :(
[01:32] <__20h__> You should start with something single-threaded and move on to select()/poll() based servers.
[01:32] <__20h__> Many programmers never made it beyond select()/poll().
[01:32] <__20h__> But you can do nearly everything with it.
[01:32] on linux nginx etc use epoll
[01:32] problem is tho you need one of those per cpu
[01:32] <__20h__> But that's just the interface.
[01:33] <__20h__> If you use the interfaces, you know how to apply them.
[01:33] aolserver is threaded and can use 16 cpu from 1 aolserver
[01:33] hm
[01:33] <__20h__> curious_page, your »special knowledge« sounds like an excited amateur, without you having written the C code yourself.
[01:34] are select and poll coveren in k+r or wil tha tbe further into unix?
[01:34] <__20h__> Use Google.
[01:34] it sounds correct I am amatuer
[01:34] :(
[01:34] <__20h__> »select tutorial C«.
[01:35] == __20h__ [~some_one@r-36.net]
[01:35] == realname : some_one
[01:35] == channels : #cat-v
[01:35] == server : holmes.freenode.net [London, UK]
[01:35] == : is using a secure connection
[01:35] == account : __20h__
[01:35] == End of WHOIS
[01:59] Wait, what's all this about dictatorship of programming projects?
[02:01] == foocraft [~dsc@dyn-86-36-42-99.wv.qatar.cmu.edu] has joined #cat-v
[02:04] curious_page: Go already has a pretty good web server
[02:07] actually, Go is perfect to build the kind of single-binary-zero-configuration http server I want to bundle with werc
[02:09] something uriel does *not* hate o_o
[02:10] uriel: would you distribute a binary or Go code?
[02:10] yes
[02:10] been considering bundling 9base binaries for some time..
[02:12] uriel: i'm currently writing a concurrent IRC server in Go
[02:13] aiju: cool
[02:17] curious_page: get The Unix Programming Environment
[02:17] no bullcrap about poll and select idioticy there
[02:17] hell, get the Lions book
[02:17] or the fucking Plan 9 man pages
[02:18] select/poll are like mmap and other such abominations grafted onto Unix by crackhead morons that never understood shit about unix
[02:18] oh, and sockets
[02:19] when I pass by Berkley I'm going to set up some fires...
[02:21] uriel: what's the problem with select/epoll? That you should use threading instead?
[02:21] *FACEPALM*
[02:22] because of course there always was 'threading' on unix
[02:22] (and on Plan 9)
[02:23] god fucking christ, what's the problem with communism? should we implement fascism instead?
[02:23] uriel: so, what do you suggest?
[02:24] getting a clue
[02:24] and before one starts pusshing around 'solutions', to figure out what the fucking problem is
[02:25] having multiple connections?
[02:25] By "threading" I mean any mechanism by which multiple blocking operations can be done in parallel.
[02:25] you fucking morons are talking about unix and you never heard of proceses?
[02:26] god fucking christ, why are you wasting my fucking time?
[02:26] even apache got this shit right twoenty fucking years ago
[02:27] forking a copy is ok for a webserver but e.g. for databases not so possible
[02:27] taruti: go fuck yourself and your fucking 'databases'
[02:27] that we have to put up with such innane idiotic comments in this channel is mind-boggling
[02:28] shouldn't you people be in #solaris or something?
[02:28] haha
[02:28] or wirting Factory classes in J2EE projects or other such shit?
[02:29] because after all, that is the only possible way to build software this days
[02:29] sorry for being such a moron, but how do you have processes communicate while they block?
[02:29] you don't?
[02:30] will you ask next how you make your laoptop give you a blowjob?
[02:30] simple problem: remote terminal, you have to watch for input from remote and from local
[02:30] simple answer: go fucking inform yourself about how the universe was able to function before the fucking morons in Berkeley started to pollute unix with turds
[02:31] what is next? somebody asking how can one upgrade software without having dynamic linking?
[02:31] are you all gone fucking total retard? or are you all trolling me?
[02:31] because I got to sleep
[02:31] or maybe "how can I reuse code without class inheritance?"
[02:32] Are you on your period or something?
[02:32] == ucasano [~ucasano@81.81.36.49] has quit [Quit: ucasano]
[02:32] uhu?
[02:32] I think I'm being *WAY* too nice
[02:32] given the kind of rubish people have been writting around here
[02:33] but now I got to sleep
[02:34] aiju: idea for that remote terminal thing: a single controlling process that reads commands from a file, with two helper processes that read input from remote and local, then send messages to the controller.
[02:34] Although this doesn't seem very simple.
[02:34] Athas: actually i've been stupid
[02:35] just have two processes read from one end and write to another
[02:36] an IRC server should be more fun
[02:36] but IRC is probably just considered harmful
[02:36] An IRC server needs to scale to thousands of connections.
[02:36] In UNIX, the universal interface is the shell.
[02:36] Athas: just get more hardware
[02:37] Ideally, your shell isn't a bloated mess.
[02:37] But what about serving a billion connections?
[02:37] Simple: Don't.
[02:38] so why do you irc if you consider that harmfull?
[02:38] taruti: that was sarcasm
[02:38] Simply refusing to scale is not very ambitious.
[02:38] UNIX is not very ambitious.
[02:38] What is the point of simplicity if you just end up making something that does less, and badly too?
[02:39] Athas: and is actually more complicated
[02:39] In doing less, you make tools.
[02:39] In making tools, you do more.
[02:39] Yeah, I'd say that a network of multiple servers is more complicated than a single server running properly written software.
[02:39] Properness is relative.
[02:40] In UNIX, you are improper.
[02:40] Are you saying UNIX is about inefficient programming?
[02:40] [03-48-08]#cat-v @: In UNIX, the universal interface is the shell.
[02:41] == Aram [~Aram@unaffiliated/aramdune] has joined #cat-v
[02:41] If your shell is slow, well nuts.
[02:41] Rather, I should say /your/ shell.
[02:41] The interface is not the system.
[02:42] Right, the system is built from the simple interface.
[02:44] Wait, are you implying a hackers project shouldn't be used in production?
[02:49] i'm really wondering how an IRC server built on processes would look like
[02:51] SmoothPorcupine: the shell was never the interface for everything
[02:53] == Tanami [~carnage@150.101.97.171] has quit [Read error: Connection reset by peer]
[02:54] == cesia [~carnage@150.101.97.171] has joined #cat-v
[02:55] The shell is nothing without tools.
[02:57] i wonder whether his rant also applies to alt()/select{}
[03:01] As long as you don't write to anything but standard output, your binary can be constructed however you wish.

No comments: