Archief - [PROG][PROG] C/C++ Contest: fretn vs. Vich

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Vich

Legacy Member
Het begon allemaal toen fretn en ik alweer eens over programmeren aan het praten waren. Het gesprek ging over threads programmeren. Zelf heb ik erg weinig ervaring met threads, maar ik wist dat een http servertje erg makkelijk in elkaar te zetten is en dat het een ideale oefening is om threads en sockets aan te leren.
Hierna besloten fretn en ik om een kleine competitie te starten en beide dus een eenvoudige http server te maken.

Dit zijn de regels:
- de code moet duidelijk leesbaar zijn en van comments worden voorzien.
- de code mág maar moet niet OO zijn.
- de server moet tekst en binaire transfers aankunnen. hij moet jpeg, bmp, png, gif en swf kunnen sturen in binary modus en html, htm, xhtml kunnen sturen in tekst modus.
- "source filesize vs leesbaarheid" wint *tromgeroffel* de eer! :P
- geen GUI
- maak de TCP/IP poort-instelling configureerbaar via commandline, default is poort 80
- er moet logging zijn
- via commandline en configuratiebestand(dat met de hand moet kunnen bewerkt worden) moet je het IP en de poort kunnen instellen. De commandline heeft voorrang op het configuratiebestand. Deze 2 instellingen moeten ook via de commandline instelbaar zijn.
- het programma mag niet crashen en moet duidelijk aangeven waarom iets faalt als het faalt

Laatse aanpassing van de regels: [8/6/2006]

Zoals hierboven duidelijk is, kunnen de regels worden aangepast als fretn en ik hier beiden akkoord mee zijn.

Wij hopen dat jullie eventueel met leuke ideeën komen voor nieuwe regels. De bedoeling is ook dat het uiteindelijk resultaat hier gepost wordt en dat jullie door middel van een poll een stem uitbrengen voor de winnaar!

[edit] en dat stom topic-prefix-systeem werkt niet :/

Tyfius

Legacy Member
Wat handig kan zijn is een soort (desnoods via commandline) info paneel met de CPU load, aantal bezoekers op de server, het aantal openstaande threads, ...
Dan kan je eenvoudigweg realtime de performantie nakijken.

kwitters

Legacy Member
In welke taal is het trouwens? Want als je dat bv in python zou doen steekt dat op een paar uur al in elkaar (python heeft "SimpleHTTPServer -- Simple HTTP request handler" ;)). Misschien kan je zeggen dat je zelf ook je request handler moet schrijven, dus dat je vanaf de sockets alles zelf moet programmeren, dan zal het in elke taal al wat langer duren :).

ARG FUCK, den titel niet gezien.... 't is nog vroeg voor mij ;)

Vich

Legacy Member
Tyfius zei:
Wat handig kan zijn is een soort (desnoods via commandline) info paneel met de CPU load, aantal bezoekers op de server, het aantal openstaande threads, ...
Dan kan je eenvoudigweg realtime de performantie nakijken.

Sorry, er komt geen GUI stuff in, maar:
Misschien wel handig om statistieken bij te houden op een bepaalde pagina (/stats) en waar je dan bvb het aantal actieve threads kan lezen, het geheugengebruik, etc.
Ik zal dat met fretn bespreken :)


kwitters zei:
In welke taal is het trouwens? Want als je dat bv in python zou doen steekt dat op een paar uur al in elkaar (python heeft "SimpleHTTPServer -- Simple HTTP request handler" ;)). Misschien kan je zeggen dat je zelf ook je request handler moet schrijven, dus dat je vanaf de sockets alles zelf moet programmeren, dan zal het in elke taal al wat langer duren :).

ARG FUCK, den titel niet gezien.... 't is nog vroeg voor mij ;)

In C of C++. Op dit moment zijn we beide in C bezig, maar ik overweeg om naar C++ over te schakelen binnenkort. Gisteren hebben we ook beide in een paar uur tijd reeds de server werkende gekregen met sockets(in mijn geval winsock, maar dat verander ik misschien nog naar gewone universele sockets), zodat die telkens de pagina "nothing to see here" weergaf.
Onze executable was beide +-12kB en we hadden beide ongeveer 5kB aan sourcecode.

dJeez

Legacy Member
2 nieuwe regels zou ik nog toevoegen :
1. de server moet CGI scripts kunnen aanroepen (vanuit een via config instelbare folder).
2. er moet een logging functionaliteit zijn (liefst in een standaard formaat zodat je analyses kan trekken met bestaande tools)

Nu ja, eigenlijk zijn er al voldoende (Open Source) alternatieven die dat doen, maar ik wil wel eens zien wat jullie ervan bakken.

.Acku.

Legacy Member
Heb er ooit eentje in java gemaakt, tevens vanaf socket niveau. Nu is Java daar wel by default iets beter voor geschikt dankzij goede ondersteuning voor HTTP en networking algemeen in de API. Was wel beetje overkill aangezien er ook zaken bestaan als Jetty :(

Vich

Legacy Member
dJeez zei:
2 nieuwe regels zou ik nog toevoegen :
1. de server moet CGI scripts kunnen aanroepen (vanuit een via config instelbare folder).
PHP/CGI support hebben we er bewust eerst uitgelaten, omdat het toch serieus wat extra werk is. Maar ik houd het wel op de achtergrond, misschien dat we het uiteindelijk wel toevoegen als we samen akkoord gaan. De bedoeling is dat de server natuurlijk erg eenvoudig blijft.

2. er moet een logging functionaliteit zijn (liefst in een standaard formaat zodat je analyses kan trekken met bestaande tools)
fretn gaat hiermee akkoord, dus het wordt aan de regels toegevoegd.

Nu ja, eigenlijk zijn er al voldoende (Open Source) alternatieven die dat doen, maar ik wil wel eens zien wat jullie ervan bakken.
Inderdaad, er zijn alternatieven zat (die van ons worden trouwens ook OS), maar het gaat 'm gewoon om de leut :)

Psychokillah

Legacy Member
Cool project boys :niceone:

brengt hier terug serieus wat leven in de brouwerij.
Na de exames es zien of we hier voor de hele comm. geen challenges kunnen starten.

Qua regels zit alles wel redelijk snor denk ik. Misschien serverload nog als beoordelingspunt toevoegen.

Vich

Legacy Member
Psychokillah zei:
Cool project boys :niceone:

brengt hier terug serieus wat leven in de brouwerij.
Na de exames es zien of we hier voor de hele comm. geen challenges kunnen starten.

Qua regels zit alles wel redelijk snor denk ik. Misschien serverload nog als beoordelingspunt toevoegen.

Thanks :) Meer challenges zou wel leuk zijn ja! Het is dé manier om nieuwe dingen bij te leren en om met deadlines te leren omgaan(alhoewel er nu geen deadline is :P)
Serverload valt te overwegen, alhoewel ik denk dat dit niet echt makkelijk OS-onafhankelijk kan worden gemaakt en dat proberen fretn en ik wel aan te houden.

den Acid Burn zei:
dat ze bij apache maar oppassen :unsure:
LOL :D

Trouwens: ik ben pas dit weekend achter de betekenis van je nick gekomen *schaamt* (had de film wel al vaker gezien, vandaar)

fretn zei:
LOL
Ik heb een 'iets' saaiere "httpd" als naam :$

den Acid Burn

Legacy Member
Vich zei:
Trouwens: ik ben pas dit weekend achter de betekenis van je nick gekomen *schaamt* (had de film wel al vaker gezien, vandaar)

hehe
hackers is eigenlijk niet zo schitterend als film maar het idee vond ik in de tijd wel nice.

als ge ook wel eens graag films bekijkt met computers, hackers etc (ja ik weet het, ik ben een geek, so what!) heb ik wel enkele tips:

- operation takedown (verfilming van de hoogdagen van kevin mitnick - the legend ), maar voor ge deze film bekijkt raad ik u wel aan om eerst freedom downtime te bekijken!
- freedom downtime (documentaire over kevin mitnick, met de man achter 2600 die op onderzoek uitgaat)
- pirates of silicon valley (over het ontstaan van apple en microsoft, steve jobs vs bill gates), historisch niet heel correct maar wel een amusante film imo
- sneakers

ik had er nog meer interessante denk ik maar ik kom ff niet op de titels.

Vich

Legacy Member
den Acid Burn zei:
hehe
hackers is eigenlijk niet zo schitterend als film maar het idee vond ik in de tijd wel nice.
Uhu!

als ge ook wel eens graag films bekijkt met computers, hackers etc (ja ik weet het, ik ben een geek, so what!) heb ik wel enkele tips:

- operation takedown (verfilming van de hoogdagen van kevin mitnick - the legend ), maar voor ge deze film bekijkt raad ik u wel aan om eerst freedom downtime te bekijken!
- freedom downtime (documentaire over kevin mitnick, met de man achter 2600 die op onderzoek uitgaat)
- pirates of silicon valley (over het ontstaan van apple en microsoft, steve jobs vs bill gates), historisch niet heel correct maar wel een amusante film imo
- sneakers

ik had er nog meer interessante denk ik maar ik kom ff niet op de titels.
Thanks voor de tips!
Ik kende enkel Pirates of silicon valley totnogtoe. Swordfish mag ook wel in dat rijtje imo. Vooral die setup met 9 schermen is echt GEIL. *wants one*

.Acku.

Legacy Member
Swordfish is wat geen hackers-film. Het is allemaal een excuus om Hale Berry haar tieten te tonen. Die PC met 9 schermen was trouwens lachen imo: 'Kijk, ziehier de krachtigste PC in heel de wereld, hij heeft negen schermen!'. En een Windows 3.11 GUI. Lollig.

den Acid Burn

Legacy Member
ja ik moet ook wel zeggen dat die zogenaamde hacker in swordfish niet echt goed gecast was :)

ook zijn 3d bouwkit voor het maken van virussen kon me niet bekoren.
en voor elk blokje dat in elkaar paste begon hij overdreven YEAH te roepen en rond te springen enzo...

ik zou me als hacker nogal beledigd voelen :p

Tyfius

Legacy Member
Antitrust is anders ook best een interessante film. Niet super super, maar gaat over het toeeigenen van een monopoly positie door 1 persoon, en het opensource gebeuren langs de andere kant.
Vooral Tim Robbins die hier een prachtige Bill Gates kloon neerzet vind ik subliem aan de film.

@Vich: ik had het niet echt op een GUI, maar eerder een console command ofzo (of een /stats pagina idd) die gewoon de info weergeeft, kan dus in 1 lange string zijn :)

den Acid Burn

Legacy Member
antitrust was idd wat ik zocht!
die film vond ik echt aangenaam om te kijken, zeker een keer of 5 gezien.

en die mylo vond ik dan wel weer goed gecast, net als die gary winston en teddy chin.

de quote die me bijgebleven is:
this business is binary, either you're a 1 or a 0, alive or dead.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan