Αυτή την Παρασκευή 7/12 , θα είναι εισαγωγή στο open source και μάλλον και σε χριστουγεννιάτικα pancakes .
Ποιοί είμαστε ;
Τι είναι το ελ/λακ;
Εισαγωγική συζήτηση για τις Διανομές GNU/Linux και τί διαφορές έχουν.
Live interaction με συστήματα GNU/Linux μέσω διαφόρων διανομών σε δικά μας laptop.
InstallFest! ~ φέρτε το laptop σας, να εγκαταστήσουμε τη διανομή της προτίμησής σας επιτόπου.
Pancakes - irc bot ,γραμμένο σε bash από τον ~~Wind~~(aka. c00kiemon5ter )
Re: Foss aueb events 2012-2013
Posted: Tue Dec 04, 2012 10:30 am
by ja_the_invincible
Nice
Re: Foss aueb events 2012-2013
Posted: Mon Dec 17, 2012 4:25 pm
by AmmarkoV
Την Παρασκευή 21/12/2012 ( την τελευταία μέρα του κόσμου :ugeek: )
Θα κάνουμε μια παρουσίαση στην αίθουσα Δ22 17:00 - 19:00 σχετικά με την γλώσσα C και τον AmmarServer..
Λόγω των διαφορετικών γνώσεων ανάλογα με το έτος κτλ το content θα είναι interactive οπότε θα επικεντρωθούμε ανάλογα με το τι θέλει το κοινό έτσι ώστε να αποκομίσουν όσο το δυνατόν περισσότερα περισσότεροι άνθρωποι..
Πτυχές του θέματος θα είναι
σχετικά με την C
Procedural προγραμματισμός
Πώς να ξεκινήσει κανείς να γράφει σε C ( από κονσόλα , από IDE κτλ )
Low Level / High Performance code , gprof
Τι γίνεται σε χαμηλότερο επίπεδο ( assembly , stack , heap )
Πως κάνουμε static link binay libraries μεταξύ τους..
Πώς κάνουμε debugging ( valgrind )
Πώς είναι οργανωμένο το stdout , streams κτλ κτλ
σχετικά με τoν AmmarServer
Τι είναι ένας WebServer
Πώς περίπου setάρεται και λειτουργεί ο Apache
Πώς setάρεται και λειτουργεί ο AmmarServer
Γιατί υπάρχει ο AmmarServer
που μπορεί να χρησιμοποιηθεί κτλ κτλ
AmmarkoV wrote:Την Παρασκευή 21/12/2012 ( την τελευταία μέρα του κόσμου :ugeek: )
Θα κάνουμε μια παρουσίαση στην αίθουσα Δ22 17:00 - 19:00 σχετικά με την γλώσσα C και τον AmmarServer..
Λόγω των διαφορετικών γνώσεων ανάλογα με το έτος κτλ το content θα είναι interactive οπότε θα επικεντρωθούμε ανάλογα με το τι θέλει το κοινό έτσι ώστε να αποκομίσουν όσο το δυνατόν περισσότερα περισσότεροι άνθρωποι..
Πτυχές του θέματος θα είναι
σχετικά με την C
Procedural προγραμματισμός
Πώς να ξεκινήσει κανείς να γράφει σε C ( από κονσόλα , από IDE κτλ )
Low Level / High Performance code , gprof
Τι γίνεται σε χαμηλότερο επίπεδο ( assembly , stack , heap )
Πως κάνουμε static link binay libraries μεταξύ τους..
Πώς κάνουμε debugging ( valgrind )
Πώς είναι οργανωμένο το stdout , streams κτλ κτλ
σχετικά με τoν AmmarServer
Τι είναι ένας WebServer
Πώς περίπου setάρεται και λειτουργεί ο Apache
Πώς setάρεται και λειτουργεί ο AmmarServer
Γιατί υπάρχει ο AmmarServer
που μπορεί να χρησιμοποιηθεί κτλ κτλ
Its History
AmmarServer began as a small sockets project back on 2004 , its main use back then was serving as a portable executable that I could take with me to share static files between different machines without having administrator privilages , setting up shares , on different Operating Systems and network topologies..
Needless to say despite beeing "my own brainchild" , it wasn`t a webserver particularly useful on anything but static content and I always used Apache , MySQL and PHP as infrastructure for serious web-development work which served me well .. until I started working on embedded systems..
The Apache web server is a wonderful piece of software with a very large collection of plugins and modules and a huge percentage of the internet gets served by it every day, it is robust , mature , well documented and it is secure.. But all these positive qualities also mean that it is big and it is complex requiring a relatively large deployment and configuration payload ( for a LAMP installation ).
Using PHP ( or any other interpreted high-level language ) felt right at home from the first time I used it. With its C-like language structure but more goodies like multi line strings and loose variable declaration rules . It proved to be an invaluable tool but gradually also proved a heavy task for computer hosts lacking many computing resources or serving a very large number of requests. The picture got even worse when services like Wordpress ( which is also great ) that have many thousands lines of code generate dynamic content.. The delays , wether they where Disk , CPU or Memory based summed up and this lead to a very bad user experience while accessing and browsing various site configurations. Of course I am not the only one that has observed this and there are many projects to improve the situation and combat performance overheads such as the Hip-Hop library developed by facebook that translated php to a C++ generating a compiled binary and reduced their loads by a respectable 50%.. Other "home-made" solutions I tried was operating on memfs or ramfs partitions and many other hacks which optimized things more and more..
At some point I thought..
All this is good but is it the best that can be done ?
What would be the best way to do it ?
The least overhead possible can only be achieved by closely coupling the webserver with the dynamic content it serves. Compiled php binaries offer a faster way to generate the content but this content is loosely tied with the server that actually sends it.
Instead of having seperate "entities" for the webserver the architecture of AmmarServer statically links the webserver library with the dynamic content which is compiled into the same executable..
Re: Foss aueb events 2012-2013
Posted: Thu Dec 20, 2012 4:24 pm
by ja_the_invincible
Niceee .τούμπανη παρουσίαση
Re: Foss aueb events 2012-2013
Posted: Fri Dec 21, 2012 11:47 am
by moody
+ ότι σήμερα θα γίνει ανάδειξη του καινούριου leader της tboa(The boys of Ammar),καθώς ο προηγούμενος leader,θα βρίσκεται κρήτη από 1 ιανουαρίου
Re: Foss aueb events 2012-2013
Posted: Fri Dec 21, 2012 8:26 pm
by AmmarkoV
Yo :D
Thank you all for coming!
Παρά τις τεχνικές δυσκολίες και το δανεικό laptop ( sorry 'bout that ) .. Ελπίζω να σας φάνηκε ενδιαφέρον το θέμα και να πείρατε μια πρώτη γεύση απο την C , να καταλάβατε οτι δεν είναι και το πιο "δύσκολο" πράγμα στον κόσμο.. καθώς και το οτι είναι αρκετά extendable για πολλές και διάφορες χρήσεις και κατα την γνώμη μου πολύ βασική γνώση για έναν προγραμματιστή..
Αντίστοιχα έχοντας καταλάβει σε γενικές γραμμές έστω και στο περίπου τι συμβαίνει στο παρασκήνιο , για ποιό λόγο μπήκα στον κόπο να φτιάξω τον AmmarServer και πρακτικές εφαρμογές στις οποίες με λίγες μόνο extra γραμμές κώδικα έχουμε πολύ παραπάνω functionality..!
Λόγω του laptop fail ούτε μαγνητοφωνήθηκε ούτε καταγράφηκε τίποτα ( ήταν όλα off the record ) και επίσης τα μικρά samples που έγραφα κατα την διάρκεια με το reboot χάθηκαν καθώς ήμασταν σε live-cd περιβάλλον! Γιαυτό τον λόγο θα αλλάξω λίγο το αρχικό μου υλικό και θα ανεβάσω κάποια βασικά αρχειάκια σύντομα και εδώ και στο foss-aueb..!
Re: Foss aueb events 2012-2013
Posted: Sun Dec 23, 2012 3:37 am
by AmmarkoV
Όπως υποσχέθηκα here you go folks!
Σχετικά με C μπορείτε να κατεβάσετε το attachment
Σχετικά με τον AmmarServer μπορείτε να τον κατεβάσετε δίνοντας
sudo apt-get install git build-essential
Έτσι ώστε να κατεβάσετε το git τον GNU C compiler ( GCC ) κτλ κτλ κτλ
git clone --depth 1 git://github.com/AmmarkoV/AmmarServer
Έτσι ώστε να δημιουργήσετε ένα αντίγραφο του repo στο σκληρό σας δίσκο
cd AmmarServer
( για να μπείτε μέσα στο directory που δημιουργήθηκε )
./make
για να εκτελέσετε το script το οποιό καλεί διαδοχικά gcc μπλαμπλα.c -o κάτι
και με δεδομένο οτι όλα έγιναν σωστά
./run_ammarserver για ένα απλό instance του AmmarServer
./run_myurl για ένα url shortner instance του AmmarServer
Ο κώδικας του project βρίσκεται εδώ ( https://github.com/AmmarkoV/AmmarServer )
για ερωτήσεις και απορίες feel free to drop by #foss-aueb @ irc.freenode.net!