From 8ec8e9bee29ecf1febbaa2b549067ab2bf6f0220 Mon Sep 17 00:00:00 2001 From: infl00p Date: Wed, 23 Mar 2022 20:14:33 +0200 Subject: [PATCH] =?UTF-8?q?=CE=A0=CF=81=CF=8E=CF=84=CE=BF=20commit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 38 + archetypes/default.md | 6 + config.toml | 16 + content/articles/01/01_editorial.md | 40 + content/articles/01/02_hellas.md | 90 + content/articles/01/03_free-software.md | 138 ++ content/articles/01/04_coffee-howto.md | 336 ++++ content/articles/01/05_realworld.md | 34 + content/articles/01/06_redhatinst.md | 47 + content/articles/01/07_kerncomp.md | 84 + content/articles/02/01_editorial.md | 54 + content/articles/02/02_managers.md | 165 ++ content/articles/02/03_realworld.md | 64 + content/articles/02/04_smbconf.md | 171 ++ content/articles/02/05_news.md | 61 + content/articles/02/06_dianomes.md | 105 ++ content/articles/02/07_fromwtol.md | 55 + content/articles/02/08_mailbox.md | 49 + content/articles/03/01_editorial.md | 53 + content/articles/03/02_kde.md | 84 + content/articles/03/03_soffice.md | 200 ++ content/articles/03/04_heybilly.md | 60 + content/articles/03/05_cd.md | 65 + content/articles/03/06_mailbox.md | 426 +++++ content/articles/04/01_editorial.md | 37 + content/articles/04/02_zone.md | 66 + content/articles/04/03_ios.md | 61 + content/articles/04/04_soffice1.md | 72 + content/articles/04/05_babel.md | 180 ++ content/articles/04/06_skepseis.md | 64 + content/articles/04/07_mailbox.md | 507 +++++ content/articles/05/01_editorial.md | 39 + content/articles/05/02_lz2.md | 56 + content/articles/05/03_suse.md | 170 ++ content/articles/05/04_giatros.md | 41 + content/articles/05/05_ipmasq.md | 119 ++ content/articles/05/06_xisp.md | 53 + content/articles/05/07_mailbox.md | 244 +++ content/articles/06/01_editorial.md | 30 + content/articles/06/02_lz3.md | 66 + content/articles/06/03_greekfonts.md | 180 ++ content/articles/06/04_w98.md | 26 + content/articles/06/05_xisp2.md | 67 + content/articles/06/06_monitors.md | 65 + content/articles/06/07_mailbox.md | 352 ++++ content/articles/07/01_editorial.md | 34 + content/articles/07/02_lz4.md | 56 + content/articles/07/03_fs.md | 86 + content/articles/07/04_wacom.md | 128 ++ content/articles/07/05_analysi.md | 78 + content/articles/07/06_mailbox.md | 606 ++++++ content/articles/08/01_editorial.md | 44 + content/articles/08/02_lz5.md | 95 + content/articles/08/03_analysi.md | 105 ++ content/articles/08/04_giafka.md | 51 + content/articles/08/05_bash1.md | 199 ++ content/articles/08/06_thea.md | 34 + content/articles/08/07_GreekTeXFAQ.md | 298 +++ content/articles/08/08_mailbox.md | 598 ++++++ content/articles/09/01_editorial.md | 70 + content/articles/09/02_programing.md | 87 + content/articles/09/03_groff.md | 301 +++ content/articles/09/04_nls.md | 97 + content/articles/09/05_calctut.md | 270 +++ content/articles/09/06_bash2.md | 99 + content/articles/09/07_mailbox.md | 453 +++++ content/articles/10/01_editorial.md | 42 + content/articles/10/02_altera.md | 66 + content/articles/10/03_gnome.md | 107 ++ content/articles/10/04_grredhat.md | 112 ++ content/articles/10/05_TTFlinux.md | 92 + content/articles/11/01_editorial.md | 59 + content/articles/11/02_LUGistics.md | 167 ++ content/articles/11/03_happening.md | 117 ++ content/articles/11/04_ote.md | 215 +++ content/articles/11/05_mailbox.md | 408 +++++ content/articles/12/01_setup.md | 256 +++ content/articles/12/02_lin_for_dummies.md | 270 +++ content/articles/12/03_nls2.md | 370 ++++ content/articles/12/04_opti.md | 240 +++ content/articles/12/05_kernel.md | 155 ++ content/articles/12/06_mailbox.md | 582 ++++++ content/articles/13/01_boot.md | 74 + content/articles/13/02_peripeteies.md | 73 + content/articles/13/03_grredhat2.md | 112 ++ content/articles/13/04_lin_for_dummies2.md | 459 +++++ content/articles/13/05_mailbox.md | 529 ++++++ content/articles/14/01_enlightenment.md | 371 ++++ content/articles/14/02_slrn.md | 195 ++ content/articles/14/03_sig11.md | 146 ++ content/articles/14/04_rpm.md | 211 +++ content/articles/14/05_glimpse.md | 66 + content/articles/14/06_mailbox.md | 612 +++++++ content/articles/15/01_kdevelop.md | 169 ++ content/articles/15/02_5oTEE.md | 138 ++ content/articles/15/03_digital2000.md | 839 +++++++++ content/articles/15/04_opti.md | 133 ++ content/articles/15/05_mailbox.md | 712 +++++++ content/articles/16/01_editorial.md | 119 ++ content/articles/16/02_grlinux.md | 112 ++ content/articles/16/03_august.md | 163 ++ content/articles/16/04_sgmledit.md | 106 ++ content/articles/16/05_gtk.md | 68 + content/articles/16/06_mailbox.md | 1080 +++++++++++ content/articles/17/01_editorial.md | 50 + content/articles/17/02_linuxmangr.md | 442 +++++ content/articles/17/03_xfs.md | 34 + content/articles/17/04_redhat6.md | 60 + content/articles/17/05_java.md | 1048 +++++++++++ content/articles/18/01_editorial.md | 79 + content/articles/18/02_infohellug99.md | 66 + content/articles/18/03_sysrq.md | 86 + content/articles/18/04_wmaker.md | 250 +++ content/articles/18/05_raid.md | 148 ++ content/articles/19/01_editorial.md | 45 + content/articles/19/02_infosystem.md | 104 ++ content/articles/19/03_cvs.md | 331 ++++ content/articles/19/04_boot.md | 112 ++ content/articles/19/05_benchmarks.md | 181 ++ content/articles/20/01_editorial.md | 63 + content/articles/20/02_basilisk.md | 129 ++ content/articles/20/03_xinit.md | 128 ++ content/articles/20/04_gtk.md | 518 ++++++ content/articles/20/05_civ.md | 69 + content/articles/21/01_editorial.md | 37 + content/articles/21/02_opensource.md | 114 ++ content/articles/21/03_community_thought.md | 167 ++ content/articles/21/04_gidoboskoi.md | 181 ++ content/articles/21/05_linuxdoc.md | 245 +++ content/articles/22/01_editorial.md | 40 + content/articles/22/02_swapping.md | 449 +++++ content/articles/22/03_vi.md | 569 ++++++ content/articles/22/04_internet.md | 78 + content/articles/22/05_fvwm2.md | 449 +++++ content/articles/23/01_editorial.md | 30 + content/articles/23/02_xbasic.md | 238 +++ content/articles/23/03_gawk1.md | 590 ++++++ content/articles/23/04_perldbi.md | 223 +++ content/articles/23/05_apachejserv.md | 290 +++ content/articles/24/01_editorial.md | 46 + content/articles/24/02_xbasic.md | 236 +++ content/articles/24/03_gawk.md | 505 +++++ content/articles/24/04_perldbi.md | 88 + content/articles/24/05_odigos.md | 45 + content/articles/25/01_editorial.md | 51 + content/articles/25/02_tcpip.md | 213 +++ content/articles/25/03_htmlhell.md | 150 ++ content/articles/25/04_xbasic.md | 343 ++++ content/articles/25/05_esr.md | 147 ++ content/articles/26/01_editorial.md | 65 + content/articles/26/02_xbasic3.md | 357 ++++ content/articles/26/03_beginners.md | 117 ++ content/articles/26/04_kernel24.md | 388 ++++ content/articles/26/05_lfs.md | 194 ++ content/articles/27/01_editorial.md | 52 + content/articles/27/02_vitips.md | 272 +++ content/articles/27/03_odigos.md | 329 ++++ content/articles/27/04_proc.md | 159 ++ content/articles/27/05_lfs.md | 118 ++ content/articles/28/01_editorial.md | 69 + content/articles/28/02_xbasic.md | 329 ++++ content/articles/28/03_rithimis.md | 240 +++ content/articles/28/04_linuxvswin.md | 233 +++ content/articles/28/05_passwd.md | 198 ++ content/articles/29/01_editorial.md | 60 + content/articles/29/02_erevna.md | 248 +++ content/articles/29/03_hellenic-status.md | 372 ++++ content/articles/29/04_xbasic.md | 336 ++++ content/articles/29/05_bash.md | 197 ++ content/articles/30/01_editorial.md | 108 ++ content/articles/30/02_xbasic.md | 386 ++++ content/articles/30/03_yacas.md | 325 ++++ content/articles/30/04_procmail.md | 217 +++ content/articles/30/05_lids.md | 175 ++ content/articles/31/01_editorial.md | 52 + content/articles/31/02_KDE_IOSlaves.md | 308 ++++ content/articles/31/03_icewm.md | 100 + content/articles/31/04_unixevo.md | 430 +++++ content/articles/31/05_blender_intro.md | 257 +++ content/articles/32/01_editorial.md | 23 + content/articles/32/02_msvcd.md | 105 ++ content/articles/32/03_grlinux.md | 400 ++++ content/articles/32/04_traffic.md | 250 +++ content/articles/32/05_rce1.md | 682 +++++++ content/articles/33/01_editorial.md | 18 + content/articles/33/02_iptun.md | 534 ++++++ content/articles/33/03_qos1.md | 320 ++++ content/articles/33/04_mobile.md | 431 +++++ content/articles/33/05_rce2.md | 1280 +++++++++++++ content/articles/34/01_editorial.md | 32 + content/articles/34/02_texinfo.md | 326 ++++ content/articles/34/03_security.md | 686 +++++++ content/articles/34/04_tips.md | 357 ++++ content/articles/34/05_rce3.md | 1631 +++++++++++++++++ content/articles/35/01_X-Windows.md | 416 +++++ content/articles/35/02_kernel-shrink.md | 240 +++ content/articles/35/03_squid.md | 324 ++++ content/articles/35/04_pubkey-gr.md | 241 +++ content/articles/35/05_rce4.md | 1253 +++++++++++++ content/articles/magaz_rebuild.sh | 88 + static/03/img/gates.gif | Bin 0 -> 96437 bytes static/03/img/gates.jpg | Bin 0 -> 10850 bytes static/03/img/gates_ap.jpg | Bin 0 -> 9254 bytes static/03/img/godin2.jpg | Bin 0 -> 16521 bytes static/04/img/giatr1sm.jpg | Bin 0 -> 4947 bytes static/04/img/line2sm.jpg | Bin 0 -> 7313 bytes static/04/img/linv2sm.jpg | Bin 0 -> 8986 bytes static/04/img/mse4sm.jpg | Bin 0 -> 11736 bytes static/04/img/msv2sm.jpg | Bin 0 -> 14675 bytes static/05/img/kala1.jpg | Bin 0 -> 13608 bytes static/05/img/kala2.jpg | Bin 0 -> 13905 bytes static/05/img/latexeq.png | Bin 0 -> 1118 bytes static/05/img/xisp1.png | Bin 0 -> 8140 bytes static/05/img/xisp2.png | Bin 0 -> 11044 bytes static/05/img/xisp3.png | Bin 0 -> 10782 bytes static/05/img/xisp4.png | Bin 0 -> 12421 bytes static/05/img/xisp5.png | Bin 0 -> 11187 bytes static/06/img/badday-anim.gif | Bin 0 -> 582419 bytes static/07/img/wacom.png | Bin 0 -> 1729 bytes static/08/img/bolis.jpg | Bin 0 -> 3686 bytes static/08/img/exidaridis.jpg | Bin 0 -> 3943 bytes static/08/img/georgatos.jpg | Bin 0 -> 5382 bytes static/08/img/kabrianisbw.jpg | Bin 0 -> 2739 bytes static/08/img/maistrelis.jpg | Bin 0 -> 4597 bytes static/08/img/manos.jpg | Bin 0 -> 3668 bytes static/08/img/papakostas.jpg | Bin 0 -> 3950 bytes static/08/img/sanida.jpg | Bin 0 -> 4244 bytes static/08/img/tsakaloglou.jpg | Bin 0 -> 3363 bytes static/08/img/vryonis.jpg | Bin 0 -> 3139 bytes static/09/index.nif | 167 ++ static/11/img/Hap1.jpg | Bin 0 -> 61251 bytes static/11/img/Hap10.jpg | Bin 0 -> 65964 bytes static/11/img/Hap15.jpg | Bin 0 -> 56392 bytes static/11/img/Hap6.jpg | Bin 0 -> 49852 bytes static/11/img/Hap8.jpg | Bin 0 -> 51524 bytes static/11/img/members1.jpeg | Bin 0 -> 69595 bytes static/11/img/projects1.jpeg | Bin 0 -> 86909 bytes static/15/img/arvanitidis.jpg | Bin 0 -> 14292 bytes static/15/img/arvanitidis_sm.jpg | Bin 0 -> 5734 bytes static/15/img/ergastirio.jpg | Bin 0 -> 19055 bytes static/15/img/evris.jpg | Bin 0 -> 19810 bytes static/15/img/evris_sm.jpg | Bin 0 -> 6569 bytes static/15/img/kabrianis.jpg | Bin 0 -> 17593 bytes static/15/img/kabrianis_sm.jpg | Bin 0 -> 6223 bytes static/15/img/karla.jpg | Bin 0 -> 19141 bytes static/15/img/karla_sm.jpg | Bin 0 -> 6797 bytes static/15/img/mama.jpg | Bin 0 -> 13592 bytes static/15/img/mama_sm.jpg | Bin 0 -> 5471 bytes static/15/img/martinos.jpg | Bin 0 -> 17466 bytes static/15/img/martinos_sm.jpg | Bin 0 -> 6553 bytes static/15/img/panos.jpg | Bin 0 -> 18979 bytes static/15/img/panos_sm.jpg | Bin 0 -> 6287 bytes static/15/img/papaioannou.jpg | Bin 0 -> 16525 bytes static/15/img/papaioannou_sm.jpg | Bin 0 -> 5719 bytes static/15/img/pavloudis.jpg | Bin 0 -> 13004 bytes static/15/img/pavloudis_sm.jpg | Bin 0 -> 5129 bytes static/15/img/prothimos.jpg | Bin 0 -> 15908 bytes static/15/img/prothimos_sm.jpg | Bin 0 -> 5938 bytes static/15/img/some1.jpg | Bin 0 -> 19285 bytes static/15/img/some1_sm.jpg | Bin 0 -> 6449 bytes static/15/img/stavroulakis.jpg | Bin 0 -> 17198 bytes static/15/img/stavroulakis_sm.jpg | Bin 0 -> 5803 bytes static/15/img/tsiounis.jpg | Bin 0 -> 14735 bytes static/15/img/tsiounis_sm.jpg | Bin 0 -> 5496 bytes static/15/img/voula.jpg | Bin 0 -> 18268 bytes static/15/img/voula_sm.jpg | Bin 0 -> 6560 bytes static/15/img/xristina.jpg | Bin 0 -> 14851 bytes static/15/img/xristina_sm.jpg | Bin 0 -> 5797 bytes static/16/img/buttons.jpg | Bin 0 -> 21326 bytes static/16/img/toolbar.jpg | Bin 0 -> 14742 bytes static/17/img/perm.png | Bin 0 -> 2483 bytes static/18/img/applications.jpg | Bin 0 -> 8982 bytes static/18/img/logo.png | Bin 0 -> 8142 bytes static/18/img/menugr.jpg | Bin 0 -> 9848 bytes static/18/img/ntscpgr.jpg | Bin 0 -> 2541 bytes static/18/img/run.jpg | Bin 0 -> 5560 bytes static/18/img/rungr.jpg | Bin 0 -> 7472 bytes static/18/img/titlebar.jpg | Bin 0 -> 3216 bytes static/18/img/wmclip.jpg | Bin 0 -> 1591 bytes static/18/img/wmdock.jpg | Bin 0 -> 5824 bytes static/18/img/wprefs.jpg | Bin 0 -> 34213 bytes static/20/img/12.png | Bin 0 -> 164110 bytes static/20/img/12_sm.png | Bin 0 -> 48956 bytes static/20/img/2.png | Bin 0 -> 212225 bytes static/20/img/2_sm.png | Bin 0 -> 40816 bytes static/20/img/9.png | Bin 0 -> 175332 bytes static/20/img/9_sm.png | Bin 0 -> 51492 bytes static/20/img/civ.png | Bin 0 -> 258455 bytes static/20/img/civ_sm.png | Bin 0 -> 47280 bytes static/23/img/xbasic.gif | Bin 0 -> 36189 bytes static/24/img/guiguide10.gif | Bin 0 -> 176 bytes static/24/img/guiguide11.gif | Bin 0 -> 159 bytes static/24/img/guiguide12.gif | Bin 0 -> 176 bytes static/24/img/guiguide13.gif | Bin 0 -> 185 bytes static/24/img/guiguide14.gif | Bin 0 -> 208 bytes static/24/img/guiguide15.gif | Bin 0 -> 177 bytes static/24/img/guiguide16.gif | Bin 0 -> 144 bytes static/24/img/guiguide17.gif | Bin 0 -> 191 bytes static/24/img/guiguide18.gif | Bin 0 -> 227 bytes static/24/img/guiguide19.gif | Bin 0 -> 168 bytes static/24/img/guiguide2.gif | Bin 0 -> 6118 bytes static/24/img/guiguide20.gif | Bin 0 -> 177 bytes static/24/img/guiguide21.gif | Bin 0 -> 178 bytes static/24/img/guiguide22.gif | Bin 0 -> 182 bytes static/24/img/guiguide23.gif | Bin 0 -> 209 bytes static/24/img/guiguide24.gif | Bin 0 -> 182 bytes static/24/img/guiguide25.gif | Bin 0 -> 189 bytes static/24/img/guiguide26.gif | Bin 0 -> 189 bytes static/24/img/guiguide27.gif | Bin 0 -> 156 bytes static/24/img/guiguide28.gif | Bin 0 -> 174 bytes static/24/img/guiguide29.gif | Bin 0 -> 198 bytes static/24/img/guiguide3.gif | Bin 0 -> 237 bytes static/24/img/guiguide30.gif | Bin 0 -> 206 bytes static/24/img/guiguide31.gif | Bin 0 -> 182 bytes static/24/img/guiguide32.gif | Bin 0 -> 217 bytes static/24/img/guiguide33.gif | Bin 0 -> 222 bytes static/24/img/guiguide34.gif | Bin 0 -> 204 bytes static/24/img/guiguide35.gif | Bin 0 -> 6551 bytes static/24/img/guiguide36.gif | Bin 0 -> 6878 bytes static/24/img/guiguide4.gif | Bin 0 -> 333 bytes static/24/img/guiguide5.gif | Bin 0 -> 179 bytes static/24/img/guiguide6.gif | Bin 0 -> 180 bytes static/24/img/guiguide7.gif | Bin 0 -> 205 bytes static/24/img/guiguide8.gif | Bin 0 -> 180 bytes static/24/img/guiguide9.gif | Bin 0 -> 187 bytes static/24/img/intro3.gif | Bin 0 -> 6444 bytes static/24/img/xbdev1.gif | Bin 0 -> 10269 bytes static/24/img/xbdev2.gif | Bin 0 -> 3888 bytes static/27/img/linux-greek-users.jpg | Bin 0 -> 18192 bytes static/27/img/lists-hellug-gr.jpg | Bin 0 -> 20210 bytes static/29/img/linux_counter.jpg | Bin 0 -> 113421 bytes static/29/img/ypepth1.gif | Bin 0 -> 414108 bytes static/29/img/ypepth2.gif | Bin 0 -> 199361 bytes static/29/img/ypepth3.gif | Bin 0 -> 222134 bytes static/31/img/blues.jpg | Bin 0 -> 73617 bytes static/31/img/bottes.jpg | Bin 0 -> 60547 bytes static/31/img/couteau.jpg | Bin 0 -> 44293 bytes static/31/img/cup.jpg | Bin 0 -> 91356 bytes static/31/img/doogieducati.jpg | Bin 0 -> 52550 bytes static/31/img/lagrangedwarf.jpg | Bin 0 -> 174453 bytes static/31/img/material.jpg | Bin 0 -> 5569 bytes static/31/img/rgb.jpg | Bin 0 -> 13178 bytes static/31/img/robot.jpg | Bin 0 -> 13155 bytes static/31/img/smooth.jpg | Bin 0 -> 13187 bytes static/31/img/sphere.jpg | Bin 0 -> 8533 bytes static/31/img/tank.jpg | Bin 0 -> 99653 bytes static/31/img/zippo.jpg | Bin 0 -> 25925 bytes static/32/challenge0.bz2 | Bin 0 -> 10493 bytes static/32/img/fig1.png | Bin 0 -> 5896 bytes static/32/img/fig2.png | Bin 0 -> 10635 bytes static/32/img/fig3.png | Bin 0 -> 3324 bytes static/32/img/fig4.png | Bin 0 -> 2414 bytes static/32/img/fig5.png | Bin 0 -> 2058 bytes static/32/img/fig6.png | Bin 0 -> 1419 bytes static/32/img/fig7.png | Bin 0 -> 34289 bytes static/33/challenge1.bz2 | Bin 0 -> 6465 bytes static/33/img/net.gif | Bin 0 -> 12475 bytes static/33/img/stack01.png | Bin 0 -> 22172 bytes static/33/img/stack02.png | Bin 0 -> 7326 bytes static/33/img/stack03.png | Bin 0 -> 6943 bytes static/33/img/stack04.png | Bin 0 -> 11682 bytes static/33/magaz-ch0-src.tar.bz2 | Bin 0 -> 15263 bytes static/33/rce2.bz2 | Bin 0 -> 1722 bytes static/34/fw.rules | 159 ++ static/34/img/ads.png | Bin 0 -> 155017 bytes static/34/img/dynamic1.png | Bin 0 -> 7217 bytes static/34/img/dynamic2.png | Bin 0 -> 9207 bytes static/34/img/dynamic3.png | Bin 0 -> 9993 bytes static/34/img/elf_header.png | Bin 0 -> 22794 bytes static/34/img/elf_section.png | Bin 0 -> 13217 bytes static/34/img/elf_segment.png | Bin 0 -> 10101 bytes static/34/img/elf_string.png | Bin 0 -> 1587 bytes static/34/img/elf_views.png | Bin 0 -> 23399 bytes static/34/img/flexEMACS.png | Bin 0 -> 18967 bytes static/34/img/flexINFO.png | Bin 0 -> 8512 bytes static/34/img/hands_on_stack.png | Bin 0 -> 4205 bytes static/34/img/kmail.png | Bin 0 -> 70627 bytes static/34/img/konqueror_cookie.png | Bin 0 -> 87653 bytes static/34/img/linking.png | Bin 0 -> 31802 bytes static/34/img/mem_map.png | Bin 0 -> 13850 bytes static/34/img/moz_mail.png | Bin 0 -> 22511 bytes static/34/img/mozilla_cookie.png | Bin 0 -> 22169 bytes static/34/img/noads.png | Bin 0 -> 130264 bytes static/34/img/sampleHTML.png | Bin 0 -> 8795 bytes static/34/img/sampleINFO.png | Bin 0 -> 7704 bytes static/34/img/samplePDF.png | Bin 0 -> 13037 bytes static/34/img/unpacking1.png | Bin 0 -> 9690 bytes static/34/img/unpacking2.png | Bin 0 -> 10763 bytes static/34/img/unpacking3.png | Bin 0 -> 13164 bytes static/34/rce2-files/alf-rce1sol.tgz | Bin 0 -> 1430 bytes static/34/rce2-files/challenge2.tar.gz | Bin 0 -> 3715 bytes static/34/rce2-files/hands-on.cpp.gz | Bin 0 -> 1188 bytes static/34/rce2-files/hands-on.gz | Bin 0 -> 4330 bytes static/34/rce2-files/listing1.txt | 32 + static/34/rce2-files/listing2.txt | 28 + static/34/rce2-files/listing3.txt | 3 + static/34/rce2-files/listing4.txt | 4 + .../34/rce2-files/prekas_giorgos-rce1sol.tgz | Bin 0 -> 2797 bytes .../rce2-files/stampoulis_antonis-rce1sol.tgz | Bin 0 -> 1573 bytes static/35/alf-rce2sol.tar.gz | Bin 0 -> 2818 bytes static/35/img/X-win.png | Bin 0 -> 5734 bytes static/35/img/central-control.png | Bin 0 -> 8292 bytes static/35/img/client-server.png | Bin 0 -> 5526 bytes static/35/img/distributed.png | Bin 0 -> 7958 bytes static/35/img/integrated.png | Bin 0 -> 3009 bytes static/35/img/mem.png | Bin 0 -> 21335 bytes static/35/img/modular.png | Bin 0 -> 11398 bytes static/35/img/pcode.png | Bin 0 -> 18926 bytes static/35/memread.c.gz | Bin 0 -> 846 bytes static/35/prekas_geo-rce2sol.tar.gz | Bin 0 -> 8494 bytes themes/archie-hellug/LICENSE | 20 + themes/archie-hellug/README.md | 126 ++ themes/archie-hellug/archetypes/default.md | 2 + themes/archie-hellug/assets/css/dark.css | 159 ++ themes/archie-hellug/assets/css/fonts.css | 38 + themes/archie-hellug/assets/css/main.css | 330 ++++ themes/archie-hellug/images/archie-dark.png | Bin 0 -> 109628 bytes themes/archie-hellug/images/screenshot.png | Bin 0 -> 207481 bytes themes/archie-hellug/images/theme.png | Bin 0 -> 128732 bytes themes/archie-hellug/images/tn.png | Bin 0 -> 63396 bytes themes/archie-hellug/layouts/404.html | 0 .../layouts/_default/baseof.html | 11 + .../archie-hellug/layouts/_default/list.html | 17 + .../layouts/_default/single.html | 32 + .../archie-hellug/layouts/_default/term.html | 17 + .../archie-hellug/layouts/_default/terms.html | 20 + themes/archie-hellug/layouts/index.html | 38 + .../layouts/partials/footer.html | 19 + .../archie-hellug/layouts/partials/head.html | 14 + .../layouts/partials/header.html | 63 + .../layouts/partials/paginator.html | 15 + .../layouts/shortcodes/callout.html | 6 + .../fonts/fira-sans-v10-latin-regular.eot | Bin 0 -> 25059 bytes .../fonts/fira-sans-v10-latin-regular.svg | 330 ++++ .../fonts/fira-sans-v10-latin-regular.ttf | Bin 0 -> 54984 bytes .../fonts/fira-sans-v10-latin-regular.woff | Bin 0 -> 25888 bytes .../fonts/fira-sans-v10-latin-regular.woff2 | Bin 0 -> 21244 bytes .../ibm-plex-mono-v6-latin-500italic.eot | Bin 0 -> 17474 bytes .../ibm-plex-mono-v6-latin-500italic.svg | 365 ++++ .../ibm-plex-mono-v6-latin-500italic.ttf | Bin 0 -> 40032 bytes .../ibm-plex-mono-v6-latin-500italic.woff | Bin 0 -> 19900 bytes .../ibm-plex-mono-v6-latin-500italic.woff2 | Bin 0 -> 15224 bytes .../fonts/roboto-mono-v12-latin-regular.eot | Bin 0 -> 13517 bytes .../fonts/roboto-mono-v12-latin-regular.svg | 405 ++++ .../fonts/roboto-mono-v12-latin-regular.ttf | Bin 0 -> 22224 bytes .../fonts/roboto-mono-v12-latin-regular.woff | Bin 0 -> 15160 bytes .../fonts/roboto-mono-v12-latin-regular.woff2 | Bin 0 -> 12312 bytes themes/archie-hellug/static/js/feather.min.js | 13 + themes/archie-hellug/static/js/main.js | 0 themes/archie-hellug/static/js/themetoggle.js | 23 + themes/archie-hellug/theme.toml | 15 + 451 files changed, 46736 insertions(+) create mode 100644 .gitignore create mode 100644 archetypes/default.md create mode 100644 config.toml create mode 100644 content/articles/01/01_editorial.md create mode 100644 content/articles/01/02_hellas.md create mode 100644 content/articles/01/03_free-software.md create mode 100644 content/articles/01/04_coffee-howto.md create mode 100644 content/articles/01/05_realworld.md create mode 100644 content/articles/01/06_redhatinst.md create mode 100644 content/articles/01/07_kerncomp.md create mode 100644 content/articles/02/01_editorial.md create mode 100644 content/articles/02/02_managers.md create mode 100644 content/articles/02/03_realworld.md create mode 100644 content/articles/02/04_smbconf.md create mode 100644 content/articles/02/05_news.md create mode 100644 content/articles/02/06_dianomes.md create mode 100644 content/articles/02/07_fromwtol.md create mode 100644 content/articles/02/08_mailbox.md create mode 100644 content/articles/03/01_editorial.md create mode 100644 content/articles/03/02_kde.md create mode 100644 content/articles/03/03_soffice.md create mode 100644 content/articles/03/04_heybilly.md create mode 100644 content/articles/03/05_cd.md create mode 100644 content/articles/03/06_mailbox.md create mode 100644 content/articles/04/01_editorial.md create mode 100644 content/articles/04/02_zone.md create mode 100644 content/articles/04/03_ios.md create mode 100644 content/articles/04/04_soffice1.md create mode 100644 content/articles/04/05_babel.md create mode 100644 content/articles/04/06_skepseis.md create mode 100644 content/articles/04/07_mailbox.md create mode 100644 content/articles/05/01_editorial.md create mode 100644 content/articles/05/02_lz2.md create mode 100644 content/articles/05/03_suse.md create mode 100644 content/articles/05/04_giatros.md create mode 100644 content/articles/05/05_ipmasq.md create mode 100644 content/articles/05/06_xisp.md create mode 100644 content/articles/05/07_mailbox.md create mode 100644 content/articles/06/01_editorial.md create mode 100644 content/articles/06/02_lz3.md create mode 100644 content/articles/06/03_greekfonts.md create mode 100644 content/articles/06/04_w98.md create mode 100644 content/articles/06/05_xisp2.md create mode 100644 content/articles/06/06_monitors.md create mode 100644 content/articles/06/07_mailbox.md create mode 100644 content/articles/07/01_editorial.md create mode 100644 content/articles/07/02_lz4.md create mode 100644 content/articles/07/03_fs.md create mode 100644 content/articles/07/04_wacom.md create mode 100644 content/articles/07/05_analysi.md create mode 100644 content/articles/07/06_mailbox.md create mode 100644 content/articles/08/01_editorial.md create mode 100644 content/articles/08/02_lz5.md create mode 100644 content/articles/08/03_analysi.md create mode 100644 content/articles/08/04_giafka.md create mode 100644 content/articles/08/05_bash1.md create mode 100644 content/articles/08/06_thea.md create mode 100644 content/articles/08/07_GreekTeXFAQ.md create mode 100644 content/articles/08/08_mailbox.md create mode 100644 content/articles/09/01_editorial.md create mode 100644 content/articles/09/02_programing.md create mode 100644 content/articles/09/03_groff.md create mode 100644 content/articles/09/04_nls.md create mode 100644 content/articles/09/05_calctut.md create mode 100644 content/articles/09/06_bash2.md create mode 100644 content/articles/09/07_mailbox.md create mode 100644 content/articles/10/01_editorial.md create mode 100644 content/articles/10/02_altera.md create mode 100644 content/articles/10/03_gnome.md create mode 100644 content/articles/10/04_grredhat.md create mode 100644 content/articles/10/05_TTFlinux.md create mode 100644 content/articles/11/01_editorial.md create mode 100644 content/articles/11/02_LUGistics.md create mode 100644 content/articles/11/03_happening.md create mode 100644 content/articles/11/04_ote.md create mode 100644 content/articles/11/05_mailbox.md create mode 100644 content/articles/12/01_setup.md create mode 100644 content/articles/12/02_lin_for_dummies.md create mode 100644 content/articles/12/03_nls2.md create mode 100644 content/articles/12/04_opti.md create mode 100644 content/articles/12/05_kernel.md create mode 100644 content/articles/12/06_mailbox.md create mode 100644 content/articles/13/01_boot.md create mode 100644 content/articles/13/02_peripeteies.md create mode 100644 content/articles/13/03_grredhat2.md create mode 100644 content/articles/13/04_lin_for_dummies2.md create mode 100644 content/articles/13/05_mailbox.md create mode 100644 content/articles/14/01_enlightenment.md create mode 100644 content/articles/14/02_slrn.md create mode 100644 content/articles/14/03_sig11.md create mode 100644 content/articles/14/04_rpm.md create mode 100644 content/articles/14/05_glimpse.md create mode 100644 content/articles/14/06_mailbox.md create mode 100644 content/articles/15/01_kdevelop.md create mode 100644 content/articles/15/02_5oTEE.md create mode 100644 content/articles/15/03_digital2000.md create mode 100644 content/articles/15/04_opti.md create mode 100644 content/articles/15/05_mailbox.md create mode 100644 content/articles/16/01_editorial.md create mode 100644 content/articles/16/02_grlinux.md create mode 100644 content/articles/16/03_august.md create mode 100644 content/articles/16/04_sgmledit.md create mode 100644 content/articles/16/05_gtk.md create mode 100644 content/articles/16/06_mailbox.md create mode 100644 content/articles/17/01_editorial.md create mode 100644 content/articles/17/02_linuxmangr.md create mode 100644 content/articles/17/03_xfs.md create mode 100644 content/articles/17/04_redhat6.md create mode 100644 content/articles/17/05_java.md create mode 100644 content/articles/18/01_editorial.md create mode 100644 content/articles/18/02_infohellug99.md create mode 100644 content/articles/18/03_sysrq.md create mode 100644 content/articles/18/04_wmaker.md create mode 100644 content/articles/18/05_raid.md create mode 100644 content/articles/19/01_editorial.md create mode 100644 content/articles/19/02_infosystem.md create mode 100644 content/articles/19/03_cvs.md create mode 100644 content/articles/19/04_boot.md create mode 100644 content/articles/19/05_benchmarks.md create mode 100644 content/articles/20/01_editorial.md create mode 100644 content/articles/20/02_basilisk.md create mode 100644 content/articles/20/03_xinit.md create mode 100644 content/articles/20/04_gtk.md create mode 100644 content/articles/20/05_civ.md create mode 100644 content/articles/21/01_editorial.md create mode 100644 content/articles/21/02_opensource.md create mode 100644 content/articles/21/03_community_thought.md create mode 100644 content/articles/21/04_gidoboskoi.md create mode 100644 content/articles/21/05_linuxdoc.md create mode 100644 content/articles/22/01_editorial.md create mode 100644 content/articles/22/02_swapping.md create mode 100644 content/articles/22/03_vi.md create mode 100644 content/articles/22/04_internet.md create mode 100644 content/articles/22/05_fvwm2.md create mode 100644 content/articles/23/01_editorial.md create mode 100644 content/articles/23/02_xbasic.md create mode 100644 content/articles/23/03_gawk1.md create mode 100644 content/articles/23/04_perldbi.md create mode 100644 content/articles/23/05_apachejserv.md create mode 100644 content/articles/24/01_editorial.md create mode 100644 content/articles/24/02_xbasic.md create mode 100644 content/articles/24/03_gawk.md create mode 100644 content/articles/24/04_perldbi.md create mode 100644 content/articles/24/05_odigos.md create mode 100644 content/articles/25/01_editorial.md create mode 100644 content/articles/25/02_tcpip.md create mode 100644 content/articles/25/03_htmlhell.md create mode 100644 content/articles/25/04_xbasic.md create mode 100644 content/articles/25/05_esr.md create mode 100644 content/articles/26/01_editorial.md create mode 100644 content/articles/26/02_xbasic3.md create mode 100644 content/articles/26/03_beginners.md create mode 100644 content/articles/26/04_kernel24.md create mode 100644 content/articles/26/05_lfs.md create mode 100644 content/articles/27/01_editorial.md create mode 100644 content/articles/27/02_vitips.md create mode 100644 content/articles/27/03_odigos.md create mode 100644 content/articles/27/04_proc.md create mode 100644 content/articles/27/05_lfs.md create mode 100644 content/articles/28/01_editorial.md create mode 100644 content/articles/28/02_xbasic.md create mode 100644 content/articles/28/03_rithimis.md create mode 100644 content/articles/28/04_linuxvswin.md create mode 100644 content/articles/28/05_passwd.md create mode 100644 content/articles/29/01_editorial.md create mode 100644 content/articles/29/02_erevna.md create mode 100644 content/articles/29/03_hellenic-status.md create mode 100644 content/articles/29/04_xbasic.md create mode 100644 content/articles/29/05_bash.md create mode 100644 content/articles/30/01_editorial.md create mode 100644 content/articles/30/02_xbasic.md create mode 100644 content/articles/30/03_yacas.md create mode 100644 content/articles/30/04_procmail.md create mode 100644 content/articles/30/05_lids.md create mode 100644 content/articles/31/01_editorial.md create mode 100644 content/articles/31/02_KDE_IOSlaves.md create mode 100644 content/articles/31/03_icewm.md create mode 100644 content/articles/31/04_unixevo.md create mode 100644 content/articles/31/05_blender_intro.md create mode 100644 content/articles/32/01_editorial.md create mode 100644 content/articles/32/02_msvcd.md create mode 100644 content/articles/32/03_grlinux.md create mode 100644 content/articles/32/04_traffic.md create mode 100644 content/articles/32/05_rce1.md create mode 100644 content/articles/33/01_editorial.md create mode 100644 content/articles/33/02_iptun.md create mode 100644 content/articles/33/03_qos1.md create mode 100644 content/articles/33/04_mobile.md create mode 100644 content/articles/33/05_rce2.md create mode 100644 content/articles/34/01_editorial.md create mode 100644 content/articles/34/02_texinfo.md create mode 100644 content/articles/34/03_security.md create mode 100644 content/articles/34/04_tips.md create mode 100644 content/articles/34/05_rce3.md create mode 100644 content/articles/35/01_X-Windows.md create mode 100644 content/articles/35/02_kernel-shrink.md create mode 100644 content/articles/35/03_squid.md create mode 100644 content/articles/35/04_pubkey-gr.md create mode 100644 content/articles/35/05_rce4.md create mode 100755 content/articles/magaz_rebuild.sh create mode 100755 static/03/img/gates.gif create mode 100755 static/03/img/gates.jpg create mode 100755 static/03/img/gates_ap.jpg create mode 100755 static/03/img/godin2.jpg create mode 100755 static/04/img/giatr1sm.jpg create mode 100755 static/04/img/line2sm.jpg create mode 100755 static/04/img/linv2sm.jpg create mode 100755 static/04/img/mse4sm.jpg create mode 100755 static/04/img/msv2sm.jpg create mode 100755 static/05/img/kala1.jpg create mode 100755 static/05/img/kala2.jpg create mode 100755 static/05/img/latexeq.png create mode 100755 static/05/img/xisp1.png create mode 100755 static/05/img/xisp2.png create mode 100755 static/05/img/xisp3.png create mode 100755 static/05/img/xisp4.png create mode 100755 static/05/img/xisp5.png create mode 100755 static/06/img/badday-anim.gif create mode 100755 static/07/img/wacom.png create mode 100755 static/08/img/bolis.jpg create mode 100755 static/08/img/exidaridis.jpg create mode 100755 static/08/img/georgatos.jpg create mode 100755 static/08/img/kabrianisbw.jpg create mode 100755 static/08/img/maistrelis.jpg create mode 100755 static/08/img/manos.jpg create mode 100755 static/08/img/papakostas.jpg create mode 100755 static/08/img/sanida.jpg create mode 100755 static/08/img/tsakaloglou.jpg create mode 100755 static/08/img/vryonis.jpg create mode 100644 static/09/index.nif create mode 100755 static/11/img/Hap1.jpg create mode 100755 static/11/img/Hap10.jpg create mode 100755 static/11/img/Hap15.jpg create mode 100755 static/11/img/Hap6.jpg create mode 100755 static/11/img/Hap8.jpg create mode 100755 static/11/img/members1.jpeg create mode 100755 static/11/img/projects1.jpeg create mode 100755 static/15/img/arvanitidis.jpg create mode 100755 static/15/img/arvanitidis_sm.jpg create mode 100755 static/15/img/ergastirio.jpg create mode 100755 static/15/img/evris.jpg create mode 100755 static/15/img/evris_sm.jpg create mode 100755 static/15/img/kabrianis.jpg create mode 100755 static/15/img/kabrianis_sm.jpg create mode 100755 static/15/img/karla.jpg create mode 100755 static/15/img/karla_sm.jpg create mode 100755 static/15/img/mama.jpg create mode 100755 static/15/img/mama_sm.jpg create mode 100755 static/15/img/martinos.jpg create mode 100755 static/15/img/martinos_sm.jpg create mode 100755 static/15/img/panos.jpg create mode 100755 static/15/img/panos_sm.jpg create mode 100755 static/15/img/papaioannou.jpg create mode 100755 static/15/img/papaioannou_sm.jpg create mode 100755 static/15/img/pavloudis.jpg create mode 100755 static/15/img/pavloudis_sm.jpg create mode 100755 static/15/img/prothimos.jpg create mode 100755 static/15/img/prothimos_sm.jpg create mode 100755 static/15/img/some1.jpg create mode 100755 static/15/img/some1_sm.jpg create mode 100755 static/15/img/stavroulakis.jpg create mode 100755 static/15/img/stavroulakis_sm.jpg create mode 100755 static/15/img/tsiounis.jpg create mode 100755 static/15/img/tsiounis_sm.jpg create mode 100755 static/15/img/voula.jpg create mode 100755 static/15/img/voula_sm.jpg create mode 100755 static/15/img/xristina.jpg create mode 100755 static/15/img/xristina_sm.jpg create mode 100755 static/16/img/buttons.jpg create mode 100755 static/16/img/toolbar.jpg create mode 100755 static/17/img/perm.png create mode 100755 static/18/img/applications.jpg create mode 100755 static/18/img/logo.png create mode 100755 static/18/img/menugr.jpg create mode 100755 static/18/img/ntscpgr.jpg create mode 100755 static/18/img/run.jpg create mode 100755 static/18/img/rungr.jpg create mode 100755 static/18/img/titlebar.jpg create mode 100755 static/18/img/wmclip.jpg create mode 100755 static/18/img/wmdock.jpg create mode 100755 static/18/img/wprefs.jpg create mode 100755 static/20/img/12.png create mode 100755 static/20/img/12_sm.png create mode 100755 static/20/img/2.png create mode 100755 static/20/img/2_sm.png create mode 100755 static/20/img/9.png create mode 100755 static/20/img/9_sm.png create mode 100755 static/20/img/civ.png create mode 100755 static/20/img/civ_sm.png create mode 100755 static/23/img/xbasic.gif create mode 100755 static/24/img/guiguide10.gif create mode 100755 static/24/img/guiguide11.gif create mode 100755 static/24/img/guiguide12.gif create mode 100755 static/24/img/guiguide13.gif create mode 100755 static/24/img/guiguide14.gif create mode 100755 static/24/img/guiguide15.gif create mode 100755 static/24/img/guiguide16.gif create mode 100755 static/24/img/guiguide17.gif create mode 100755 static/24/img/guiguide18.gif create mode 100755 static/24/img/guiguide19.gif create mode 100755 static/24/img/guiguide2.gif create mode 100755 static/24/img/guiguide20.gif create mode 100755 static/24/img/guiguide21.gif create mode 100755 static/24/img/guiguide22.gif create mode 100755 static/24/img/guiguide23.gif create mode 100755 static/24/img/guiguide24.gif create mode 100755 static/24/img/guiguide25.gif create mode 100755 static/24/img/guiguide26.gif create mode 100755 static/24/img/guiguide27.gif create mode 100755 static/24/img/guiguide28.gif create mode 100755 static/24/img/guiguide29.gif create mode 100755 static/24/img/guiguide3.gif create mode 100755 static/24/img/guiguide30.gif create mode 100755 static/24/img/guiguide31.gif create mode 100755 static/24/img/guiguide32.gif create mode 100755 static/24/img/guiguide33.gif create mode 100755 static/24/img/guiguide34.gif create mode 100755 static/24/img/guiguide35.gif create mode 100755 static/24/img/guiguide36.gif create mode 100755 static/24/img/guiguide4.gif create mode 100755 static/24/img/guiguide5.gif create mode 100755 static/24/img/guiguide6.gif create mode 100755 static/24/img/guiguide7.gif create mode 100755 static/24/img/guiguide8.gif create mode 100755 static/24/img/guiguide9.gif create mode 100755 static/24/img/intro3.gif create mode 100755 static/24/img/xbdev1.gif create mode 100755 static/24/img/xbdev2.gif create mode 100755 static/27/img/linux-greek-users.jpg create mode 100755 static/27/img/lists-hellug-gr.jpg create mode 100755 static/29/img/linux_counter.jpg create mode 100755 static/29/img/ypepth1.gif create mode 100755 static/29/img/ypepth2.gif create mode 100755 static/29/img/ypepth3.gif create mode 100755 static/31/img/blues.jpg create mode 100755 static/31/img/bottes.jpg create mode 100755 static/31/img/couteau.jpg create mode 100755 static/31/img/cup.jpg create mode 100755 static/31/img/doogieducati.jpg create mode 100755 static/31/img/lagrangedwarf.jpg create mode 100755 static/31/img/material.jpg create mode 100755 static/31/img/rgb.jpg create mode 100755 static/31/img/robot.jpg create mode 100755 static/31/img/smooth.jpg create mode 100755 static/31/img/sphere.jpg create mode 100755 static/31/img/tank.jpg create mode 100755 static/31/img/zippo.jpg create mode 100755 static/32/challenge0.bz2 create mode 100644 static/32/img/fig1.png create mode 100644 static/32/img/fig2.png create mode 100644 static/32/img/fig3.png create mode 100644 static/32/img/fig4.png create mode 100644 static/32/img/fig5.png create mode 100644 static/32/img/fig6.png create mode 100644 static/32/img/fig7.png create mode 100644 static/33/challenge1.bz2 create mode 100644 static/33/img/net.gif create mode 100644 static/33/img/stack01.png create mode 100644 static/33/img/stack02.png create mode 100644 static/33/img/stack03.png create mode 100644 static/33/img/stack04.png create mode 100644 static/33/magaz-ch0-src.tar.bz2 create mode 100644 static/33/rce2.bz2 create mode 100644 static/34/fw.rules create mode 100644 static/34/img/ads.png create mode 100644 static/34/img/dynamic1.png create mode 100644 static/34/img/dynamic2.png create mode 100644 static/34/img/dynamic3.png create mode 100644 static/34/img/elf_header.png create mode 100644 static/34/img/elf_section.png create mode 100644 static/34/img/elf_segment.png create mode 100644 static/34/img/elf_string.png create mode 100644 static/34/img/elf_views.png create mode 100644 static/34/img/flexEMACS.png create mode 100644 static/34/img/flexINFO.png create mode 100644 static/34/img/hands_on_stack.png create mode 100644 static/34/img/kmail.png create mode 100644 static/34/img/konqueror_cookie.png create mode 100644 static/34/img/linking.png create mode 100644 static/34/img/mem_map.png create mode 100644 static/34/img/moz_mail.png create mode 100644 static/34/img/mozilla_cookie.png create mode 100644 static/34/img/noads.png create mode 100644 static/34/img/sampleHTML.png create mode 100644 static/34/img/sampleINFO.png create mode 100644 static/34/img/samplePDF.png create mode 100644 static/34/img/unpacking1.png create mode 100644 static/34/img/unpacking2.png create mode 100644 static/34/img/unpacking3.png create mode 100644 static/34/rce2-files/alf-rce1sol.tgz create mode 100644 static/34/rce2-files/challenge2.tar.gz create mode 100644 static/34/rce2-files/hands-on.cpp.gz create mode 100644 static/34/rce2-files/hands-on.gz create mode 100644 static/34/rce2-files/listing1.txt create mode 100644 static/34/rce2-files/listing2.txt create mode 100644 static/34/rce2-files/listing3.txt create mode 100644 static/34/rce2-files/listing4.txt create mode 100644 static/34/rce2-files/prekas_giorgos-rce1sol.tgz create mode 100644 static/34/rce2-files/stampoulis_antonis-rce1sol.tgz create mode 100644 static/35/alf-rce2sol.tar.gz create mode 100644 static/35/img/X-win.png create mode 100644 static/35/img/central-control.png create mode 100644 static/35/img/client-server.png create mode 100644 static/35/img/distributed.png create mode 100644 static/35/img/integrated.png create mode 100644 static/35/img/mem.png create mode 100644 static/35/img/modular.png create mode 100644 static/35/img/pcode.png create mode 100644 static/35/memread.c.gz create mode 100644 static/35/prekas_geo-rce2sol.tar.gz create mode 100644 themes/archie-hellug/LICENSE create mode 100644 themes/archie-hellug/README.md create mode 100644 themes/archie-hellug/archetypes/default.md create mode 100644 themes/archie-hellug/assets/css/dark.css create mode 100644 themes/archie-hellug/assets/css/fonts.css create mode 100644 themes/archie-hellug/assets/css/main.css create mode 100644 themes/archie-hellug/images/archie-dark.png create mode 100644 themes/archie-hellug/images/screenshot.png create mode 100644 themes/archie-hellug/images/theme.png create mode 100644 themes/archie-hellug/images/tn.png create mode 100644 themes/archie-hellug/layouts/404.html create mode 100644 themes/archie-hellug/layouts/_default/baseof.html create mode 100644 themes/archie-hellug/layouts/_default/list.html create mode 100644 themes/archie-hellug/layouts/_default/single.html create mode 100644 themes/archie-hellug/layouts/_default/term.html create mode 100644 themes/archie-hellug/layouts/_default/terms.html create mode 100644 themes/archie-hellug/layouts/index.html create mode 100644 themes/archie-hellug/layouts/partials/footer.html create mode 100644 themes/archie-hellug/layouts/partials/head.html create mode 100644 themes/archie-hellug/layouts/partials/header.html create mode 100644 themes/archie-hellug/layouts/partials/paginator.html create mode 100644 themes/archie-hellug/layouts/shortcodes/callout.html create mode 100644 themes/archie-hellug/static/fonts/fira-sans-v10-latin-regular.eot create mode 100644 themes/archie-hellug/static/fonts/fira-sans-v10-latin-regular.svg create mode 100644 themes/archie-hellug/static/fonts/fira-sans-v10-latin-regular.ttf create mode 100644 themes/archie-hellug/static/fonts/fira-sans-v10-latin-regular.woff create mode 100644 themes/archie-hellug/static/fonts/fira-sans-v10-latin-regular.woff2 create mode 100644 themes/archie-hellug/static/fonts/ibm-plex-mono-v6-latin-500italic.eot create mode 100644 themes/archie-hellug/static/fonts/ibm-plex-mono-v6-latin-500italic.svg create mode 100644 themes/archie-hellug/static/fonts/ibm-plex-mono-v6-latin-500italic.ttf create mode 100644 themes/archie-hellug/static/fonts/ibm-plex-mono-v6-latin-500italic.woff create mode 100644 themes/archie-hellug/static/fonts/ibm-plex-mono-v6-latin-500italic.woff2 create mode 100644 themes/archie-hellug/static/fonts/roboto-mono-v12-latin-regular.eot create mode 100644 themes/archie-hellug/static/fonts/roboto-mono-v12-latin-regular.svg create mode 100644 themes/archie-hellug/static/fonts/roboto-mono-v12-latin-regular.ttf create mode 100644 themes/archie-hellug/static/fonts/roboto-mono-v12-latin-regular.woff create mode 100644 themes/archie-hellug/static/fonts/roboto-mono-v12-latin-regular.woff2 create mode 100644 themes/archie-hellug/static/js/feather.min.js create mode 100644 themes/archie-hellug/static/js/main.js create mode 100644 themes/archie-hellug/static/js/themetoggle.js create mode 100644 themes/archie-hellug/theme.toml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9af535a --- /dev/null +++ b/.gitignore @@ -0,0 +1,38 @@ +# generated files by hugo +/public/ +/resources/_gen/ + +# executable may be added to repository +hugo.exe +hugo.darwin +hugo.linux + +### Vim ### +# Swap +[._]*.s[a-v][a-z] +[._]*.sw[a-p] +[._]s[a-rt-v][a-z] +[._]ss[a-gi-z] +[._]sw[a-p] + +# Session +Session.vim + +# Temporary +.netrwhist +*~ +# Auto-generated tag files +tags +# Persistent undo +[._]*.un~ + +### VisualStudioCode ### +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + +### VisualStudioCode Patch ### +# Ignore all local history of files +.history diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..00e77bd --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..467ad3d --- /dev/null +++ b/config.toml @@ -0,0 +1,16 @@ +baseURL = 'https://magaz.hellug.gr/' +languageCode = 'el-GR' +defaultContentLanguage = "el" +title = 'Magaz' +theme = 'archie-hellug' +timeZone = 'Europe/Athens' + +paginate=3 # articles per page + +[params] + mode="auto" # color-mode → light,dark,toggle or auto + useCDN=false # don't use CDNs for fonts and icons, instead serve them locally. + subtitle = "The Greek Linux magazine" + +[taxonomies] + issue = 'issue' diff --git a/content/articles/01/01_editorial.md b/content/articles/01/01_editorial.md new file mode 100644 index 0000000..02ca9b4 --- /dev/null +++ b/content/articles/01/01_editorial.md @@ -0,0 +1,40 @@ ++++ +title = 'Editorial' +date = '1998-01-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης' +issue = ['Magaz 01'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Καλώς ορίσατε στο **Magaz**, το πρώτο (νομίζουμε) ελληνικό *on-line* Linux περιοδικό.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αυτό δεν είναι ένα γράμμα του εκδότη, γιατί αυτό το περιοδικό δεν έχει εκδότη :-) Είναι μία αναφορά, μία πρόκληση - πρόσκληση. Ας τα πιάσουμε όμως με τη σειρά: + +- Αρκετοί στο παρελθόν έκαναν πολλές προσπάθειες για χρήση ελληνικών στην κονσόλα και στα X-Windows. Ξέρω ότι είναι πάνω από 5 τα άτομα που ασχολήθηκαν με + αυτό, και γι\' αυτό δεν θα αναφέρω ονόματα, από το φόβο μην ξεχάσω ή/και υποβιβάσω κανέναν. +- Στις αρχές του 1997, δημιουργήθηκε η linux-greek-users στο [argeas.argos.hol.gr](http://argeas.argos.hol.gr). από τον [Ι. Ιωάννου](mailto:roryt@hol.gr). Μία + mailing list με σκοπό να μαζέψει τους Έλληνες χρήστες του Linux σε μία κοινότητα. Μία κοινότητα που ο ένας θα βοηθούσε τον άλλο και όλοι μαζί θα + προσπαθούσαν να λύσουν κοινά (ή όχι και τόσο κοινά) προβλήματα. Με τη βοήθεια των παλαιοτέρων και αυτών που είχαν περισσότερες γνώσεις, πολλοί από μας + καταφέραμε να δούμε ότι το Linux δεν είναι απάνθρωπο, και ο χρήστης του Linux δεν είναι απομονωμένος. +- Το καλοκαίρι του 1997 ξεκίνησε η μετάφραση του Linux-FAQ και πολλών HOWTOs στα ελληνικά, με συντονιστή το [Φώτη Γεωργάτο](mailto:gef@ceid.upatras.gr). +- Κάπου στις αρχές του χειμώνα ξεκίνησε, από τον [Παναγιώτη Βρυώνη](mailto:vrypan@hol.gr) η ελληνικοποίηση του KDE, ενός γραφικού περιβάλλοντος για Linux. + Παρουσίασή του θα υπάρχει σε ένα από τα υπόλοιπα τεύχη. +- Το Δεκέμβριο του 1997, δημιουργήθηκε το [Linux.gr](http://www.linux.gr) ένα website το οποίο θα παρουσίαζε τα Linux-related resources στην Ελλάδα. + Ευκολότερη πρόσβαση στον αρχάριο. Ευκολότερο να βρεις τη σελίδα, παρά τη mailing list. +- Τώρα, ήρθε ο καιρός για ένα περιοδικό. Ένα newsletter με νέα, ειδήσεις, αναλύσεις, συμβουλές, χιούμορ και ότι άλλο χωράει στην ιδέα ενός περιοδικού + \"παρέας\". Το περιοδικό που διαβάζετε τώρα, δεν έχει αρθρογράφους, δεν έχει εκδότες, δεν έχει έσοδα και έξοδα, δεν έχει σκοπιμότητες. Είναι μία κατάθεση + ψυχής, μία πίεση του ελεύθερου χρόνου, όποιου ενδιαφέρεται να βοηθήσει στην ιδέα του Linux. + +Η ιδέα γεννήθηκε μέσα στη λίστα, και σταθεροποιήθηκε σε ένα cafe στην Αθήνα. Μέσα από το περιοδικό θα παρουσιαστούν εν καιρώ όλες οι προσπάθειες για \"Ελληνικό +Linux\". Όλες αυτές οι αξιόλογες προσπάθειες, οι οποίες αποδόσανε, άλλες περισσότερο και άλλες λιγότερο, όλες όμως βάλανε το λιθαράκι τους στην ανάπτυξη του +Linux. Σας προκαλούμε - προσκαλούμε, όλους, να βοηθήσετε όσο μπορείτε, στην ανάπτυξη του περιοδικού, καθώς και σε όλες τις άλλες προσπάθειες που γίνονται για +την ανάπτυξη και διάδοση του Linux. Συχνά πυκνά θα βλέπετε μέσα στις \"σελίδες\" του περιοδικού, προσκλήσεις βοήθειας σε διάφορα on-going projects. Μην τις +αγνοήσετε. Όλα ξεκίνησαν από χόμπυ και φιλότιμο. Αν χαθούν αυτά θα χαθεί και η ουσία. Θα μας ξαναδιαβάσετε, και ελπίζουμε να σας διαβάσουμε και εμείς, σε ένα +από τα επόμενα τεύχη. + +Δεχόμαστε παρατηρήσεις, άρθρα, σχέδια, ιδέες, κριτική (αλλά μόνο καλόπιστη) και ότι άλλο έρθει στο μυαλό σας, στην ηλεκτρονική διεύθυνση του +**[Magaz](mailto:magaz@linux.gr)**. diff --git a/content/articles/01/02_hellas.md b/content/articles/01/02_hellas.md new file mode 100644 index 0000000..4dcfee5 --- /dev/null +++ b/content/articles/01/02_hellas.md @@ -0,0 +1,90 @@ ++++ +title = '\Ελληνες και Linux' +date = '1998-01-01T00:00:00Z' +description = '' +author = 'Γεωργάτος Φώτης gef@ceid.upatras.gr(mailto:gef@ceid.upatras.gr?subject=LINUX-MAGAZ)' +issue = ['Magaz 01'] +issue_weight = 2 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το 1997 είναι αναμφισβήτητα η χρονιά που το Linux κέρδισε τους \'Ελληνες. Η χρονιά που έφυγε, μας αφήνει με σημαντικές προόδους στην ελληνική υποστήριξη του +Λ.Σ., αναλυτική τεκμηρίωση στην Ελληνική γλώσσα, πληθώρα σελίδων στο Δίκτυο και ένα σύνολο από ένθερμους Linuxάδες που από ότι φαίνεται θα τραγανίσουν +οποιοδήποτε πρόβλημα παρουσιαστεί στους \'Ελληνες το 1998.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Ας δούμε αναλυτικά την κατάσταση. + +Αυτή την στιγμή η ελληνική Linux κοινότητα έχει περί τα 200 μέλη. Τα κυριότερα προβλήματα σε σχέση με τα Ελληνικά έχουν επιλυθεί μέσα από διάφορα πακέτα και +καταγραφεί σε κείμενα. Το σύνολο της δουλειάς αυτής που έχει γίνει ή θα γίνει είναι η [ελληνική τεκμηρίωση του +Linux](ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/translations/el/) + +Τόσο το παρόν άρθρο, όσο και τα κείμενα και λογισμικό που αναφέρονται σε αυτό επιδέχονται βελτιώσεων. Εάν έχετε υπ\' όψιν σας κάτι που μας διαφεύγει ή δεν είναι +ακριβές μην διστάσετε να ενημερώσετε το αντίστοιχο άτομο σχετικά. Ας μην ξεχνάμε ότι πάνω σε αυτή την φιλοσοφία είναι χτισμένο όλο το Linux. Παρ\' όλα αυτά, +**σεβαστείτε τον χρόνο των εθελοντών** που είναι έτσι και αλλιώς πιεσμένος, και μην τους κάνετε ερωτήσεις χωρίς να έχετε διαβάσει τα HOWTO, FAQ, INFO-SHEET, τις +οδηγίες, κλπ προσεχτικά. Για οτιδήποτε χρειαστείτε η Ελληνική Linux Κοινότητα είναι στη διάθεσή σας. + +**1. Πακέτα εξελληνισμού του Linux** +------------------------------------------------------------- + +**2. Ελληνική τεκμηρίωση** +--------------------------------------------------- + +**3. Ελληνικό Linux στο Internet** +----------------------------------------------------------- + + +### [1. Πακέτα εξελληνισμού του Linux]{#s1} + +- [grISOXkbd-1.1](ftp://argeas.argos.hol.gr/pub/unix/linux/GREEK/grISOXKb-1.1.tar.gz) (Δημήτρης Μπούρας και Λευτέρης Τσιντζέλης). Είναι το σημαντικότερο + πακέτο για εξελληνισμό του Linux σε γραφικό περιβάλλον. Είναι αρκετά πλήρες, μόνο μειονέκτημα είναι η δυσκολία εγκατάστασής του για αρχάριους. Μην ξεχάσετε + να βάλετε και [γραμματοσειρές](ftp://argeas.argos.hol.gr/pub/unix/linux/GREEK/fonts) πρώτα! +- greek12 (Αλέξιος Κουκούλας). Μάλλον είναι το πρώτο πακέτο που κυκλοφόρησε ευρέως για εξελληνισμό του Linux. Έχει πλέον ξεπεραστεί και αντικαθίσταται από το + επόμενο: +- [greek-console](ftp://argeas.argos.hol.gr/pub/unix/linux/GREEK/greek-console-1.0.0-2.i386.tar.gz) (Κεραμίδας Γιώργος). Είναι εύκολο στην εγκατάσταση ακόμη + και για αρχάριους, (υπάρχει και σε [rpm](ftp://argeas.argos.hol.gr/pub/unix/linux/GREEK/greek-console-1.0.0-2.i386.rpm) ) και δίνει ελληνικά 737 και 928 σε + περιβάλλον κονσόλας. +- Υπάρχουν επίσης τα εξής στον [Αργέα](ftp://argeas.argos.hol.gr/pub/unix/linux/GREEK/): **greekXfonts-full-1.1.tgz** (\'Αγγελος Χαρίτσης), **XgreekFonts** + (Μωραϊτάκης Κωνσταντίνος), **X11greek** (Παναγιώτης Χρηστιάς), **a2ps** (Μανώλης Λουράκης και Γιάννης Μουζάκης), **ispell** (Γιάννης Καβακλής), **minicom** + (Γιάννης Ιωάννου), **moreH** (Μανώλης Λουράκης). + + +### [2. Ελληνική τεκμηρίωση]{#s2} + +Τα κείμενα που βρίσκονται αυτή τη στιγμή στο στάδιο της ολοκλήρωσής τους είναι: + +- [Linux-Hellenic-FAQ](http://students.ceid.upatras.gr/~gef/linux/docs/FAQ/). Συντηρείται από το Γεωργάτο Φώτη. Αυτό το κείμενο είναι η απευθείας μετάφραση + του αγγλικού Linux-FAQ. Το περιεχόμενο του είναι **τυπικές ερωτήσεις** σχετικά με το Linux. +- [Hellenic-HOWTO](http://students.ceid.upatras.gr/~gef/linux/docs/HOWTO/). Συντηρείται από το Γεωργάτο Φώτη. Αυτό το κείμενο έχει οτιδήποτε αφορά + αποκλειστικά έναν Έλληνα, και στο μεγαλύτερο μέρος του ασχολείται με την σωστή **ρύθμιση των Ελληνικών** στο σύστημα. +- [Hellenic-INFO-SHEET](http://students.ceid.upatras.gr/~keramida/linux/doc/INFO-SHEET/). Συντηρείται από τον Κεραμίδα Γιώργο. Αυτό το κείμενο έχει ουσιαστικά + τις **προδιαγραφές του Linux**, και είναι, επίσης, μετάφραση του αγγλικού INFO-SHEET. Περιέχει συνοπτικά όλες τις τεχνικές λεπτομέρειες και δυνατότητες που + έχει το λειτουργικό. + + +### [3. Ελληνικό Linux στο Internet]{#s3} + +Εκτός από την τεκμηρίωση μπορεί να κανείς να βρεί στο Internet τα εξής. + +- Κόμβος [www.linux.gr](http://www.linux.gr/) Συντηρείται από το Γεωργάτο Φώτη και (φιλοδοξεί να) είναι το εστιακό σημείο για το Linux στην Ελλάδα. Περιέχει + κυρίως τις τελευταίες εκδόσεις της ελληνικής τεκμηρίωσης και συνδέσμους σε άλλες σχετικές σελίδες στο Internet όπως τα παρακάτω. +- Κόμβος [ftp.linux.gr](ftp://ftp.linux.gr) Συντηρείται από τον Γιώργο Κουλογιάννη και έχει μέχρι και 9GB λογισμικό για το Linux. Εκεί θα βρείτε τα τελευταία + distributions, πυρήνες, κλπ. +- Κανάλι IRC: [\#linux-gr](http://www.co.umist.ac.uk/~vp/irc/). Συντηρείται από το Βάϊο Παπαϊωάννου και είναι κατάλληλο για άμεσες ερωτήσεις και κουβέντα\... +- Η ελληνική λίστα συζητήσεων [linux-greek-users](http://argeas.argos.hol.gr/linux-greek-users). Συντηρείται από το Γιάννη Ιωάννου και είναι ο σπόρος που τα + γέννησε όλα :-). Μία πύλη προς [ομάδα συζητήσεων (news gateway)](news://edessa.topo.auth.gr/local.linux.greek.users), έχει στηθεί από τον Χρήστο Ρικούδη και + Κώστα Λιαλιαμπή. Εάν θέλετε να γραφτείτε, στείλτε email στο , με τη γραμμή \"subscribe linux-greek-users\" στο σώμα του + μηνύματος. +- Κόμβος ftp [argeas.argos.hol.gr](ftp://argeas.argos.hol.gr/pub/unix/linux/GREEK/). Συντηρείται από το Γιάννη Ιωάννου και είναι ο βασικός κόμβος για αρχεία + που έχουν σχέση με εξελληνισμό. Όλα τα προγράμματα που έχουν σχέση με ελληνικά θα τα βρείτε εδώ, συγκεντρωμένα. +- Το νέο μας on-line περιοδικό [magaz](http://www.linux.gr/magaz). Συντηρείται από το Μιχάλη Καμπριάνη, Παναγιώτη Βρυώνη, Γεωργάτο Φώτη. +- Πρόσθετες σελίδες - που θα βρείτε και στο www.linux.gr - έχουν γράψει και άλλοι, αναφέρω όμως τα ονόματά τους: Αντώνης Παπαγεωργίου (Hellenic Linux + Resources), Κώστας Βλάσσης (HELLUG), Βούλα Σανιδά, Θαλής Καλφιγόπουλος, Νίκος Αράχωβας. Ο Νίκος Αράχωβας έχει φτιάξει επίσης τον πιγκουίνο με την ελληνική + σημαία, που φαίνεται σε πολλές ελληνικές σελίδες του Linux. Τρία ακόμα σημαντικά μέλη της ενεργής Ελληνικής Linux Κοινότητας είναι ο Αντώνης Καβαρνός, ο + Λάμπρος Π. Ρορρής και ο Ευθύμιος Μαυρογεωργιάδης. Ο τελευταίος έχει αναλάβει και την συντήρηση της λίστας ελληνικής ορολογίας, μίας φιλόδοξης προσπάθειας να + έχουμε έναν τυποποιημένο τρόπο για μετάφραση των αγγλικών όρων. Οι Τάσος Κάπιος, Κοξαράς Άρης, Σωτήρης Τσιμπόνης, Παπαδημητρίου Σπύρος, Γιάννης Μήτσος, + Σακαλής Γιώργος, Μάματας Λευτέρης έχουν βοηθήσει σημαντικά στην ελληνική τεκμηρίωση. Ο Παναγιώτης Βρυώνης έχει αναλάβει τον [εξελληνισμό του + KDE](http://users.hol.gr/~vrypan/cactus/kde.html), ενός πολλά υποσχόμενου γραφικού περιβάλλοντος για Unix. + diff --git a/content/articles/01/03_free-software.md b/content/articles/01/03_free-software.md new file mode 100644 index 0000000..a3863be --- /dev/null +++ b/content/articles/01/03_free-software.md @@ -0,0 +1,138 @@ ++++ +title = 'Περί ελεύθερου (τζάμπα) λογισμικού.' +date = '1997-01-01T00:00:00Z' +description = '' +author = 'Παναγιώτης Βρυώνης' +issue = ['Magaz 01'] +issue_weight = 3 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Αφού εφυγα από την συνάντηση που είχαμε με τους υπόλοιπους linux-άδες, πηγα να συναντήσω την κοπέλα μου. Εντάξει, είχα αργήσει, αλλά αυτό που δεν μπορουσε να +καταλάβει είναι γιατί κάποιος θα μπορούσε να διαθέτει τόσο μεγάλο μέρος του χρόνου του χωρίς να πληρώνεται. Όταν μαλιστα της εξηγησα ότι δεν είμαι μόνο εγώ ο +\"τρελός\" αλλά οτι υπάρχουν εκατομύρια άλλοι (μάλλον πιο τρελαμένοι) τότε το μυστήριο έγινε μεγαλύτερο\...* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Θυμάμαι και τις δικές μου πρώτες σκέψεις όταν βρέθηκα στον κόσμο του linux. Γιατί όλοι αυτοί οι άνθρωποι να προσφέρουν πόρους για να δημιουργηθεί κάτι το οποίο +δεν θα τους αποφέρει οικονομικά οφέλη; Ακόμη και αν αυτό γίνεται, πώς είναι δυνατό κάτι τόσο πολύπλοκο όσο ένα ολόκληρο λειτουργικό σύστημα να δημιουργηθεί από +εκατοντάδες ή χιλιάδες hackers που ο καθένας βάζει ένα λιθαράκι; Και για να πάω ένα βήμα παρακάτω, πως είναι δυνατόν το αποτέλεσμα αυτό να είναι ίδιας ποιότητας +και σταθερότητας με το αποτέλεσμα μιας καλά οργανωμένης και στελεχωμένης ομάδας ειδικών που πληρώνεται πλουσιοπάροχα από μία εταιρεία; + +**1. Τι κερδίζει ο προγραμματιστής;** +--------------------------------------------------------------------- + +**2. Πώς μπορεί το αποτέλεσμα να είναι ποιοτικό;** +---------------------------------------------------------------------------------- + +**3. Επιγραμματικά** +---------------------------------------------------- + + +### [1. Τι κερδίζει ο προγραμματιστής;]{#s1} + +Ας πάρουμε τα πράγματα με την σειρά και ας προσπαθήσουμε να ρίξουμε λίγο φώς στο \"γιατί\". Αν και δεν είναι δυνατό να προσδιορίσουμε τα ακριβή κίνητρα του κάθε +προγραμματιστή που χωρίς να πληρώνεται κάθεται και συνεισφέρει σε μία ομάδα τον χρόνο του, τις ικανότητές του, τις γνώσεις του καθώς και το μηχάνημά του (εκεί +δουλεύει), μπορούμε να σκιαγραφήσουμε κάποια από αυτά. + +Είναι δεδομένο ότι όποιος ασχολείται με τον προγραμματισμό χωρίς να πληρώνεται το κάνει γιατί του αρέσει. Είναι το χόμπι του. Όπως κάποιος άλλος μπορεί να +διέθετε όλο το Σαββατοκύριακό του για να φτιάξει μία βιβλιοθήκη στο δωμάτιό του ή ακόμη περισσότερο, θα πήγαινε να βοηθήσει ένα φίλο του που μαστορεύει και +ζήτησε την βοήθειά του, έτσι και ο προγραμματιστής μας, διαθέτει τον χρόνο του για να γράψει ένα driver ή μία εφαρμογούλα ή να προσφέρει βελτιώσεις στην +εφαρμογή που έγραψε κάποιος άλλος, ή ακόμη και να γράψει τα εγχειρίδια μίας εφαρμογής. + +Βλέποντας τα πράγματα από την παραπάνω οπτική γωνία, μπορεί κανείς να καταλάβει ότι και μόνο η ικανοποίηση της ενασχόλησης με κάτι το οποίο θεωρούμε ενδιαφέρον +είναι μια ουσιαστική ανταμοιβή. Υπάρχει όμως και μία ακόμη σημαντικότερη κατά την γνώμη μου: η δόξα και η αναγνώριση. Ένα καλό πρόγραμμα σημαίνει για τον ή τους +δημιουργούς του αναγνώριση από ένα σωρό κόσμο (που στον χώρο του linux κατά κανόνα είναι και γνώστες του αντικειμένου). Μπορεί να μην δέχεται ο προγραμματιστής +λεφτά για τις υπηρεσίες του, γίνεται όμως αποδέκτης αυτού που οι περισσότεροι θα ψάξουν να αγοράσουν με τα λευτά που κερδίζουν από την δουλειά τους: αναγνώριση. +(Δεν είμαι εναντίον της αγοράς εργασίας, μην με παρεξηγήσετε, σκεφθείτε όμως σε μία καταναλωτική κοινωνία με ποιό βασικό κριτήριο ξοδεύουμε το μεγαλύτερο μέρος +των χρημάτων μας.) Άλλωστε, η αναγνώριση και η φήμη μπορεί στο μέλλον να σας προσφέρουν μία πολύ καλη δουλειά\... + +Δεν πρέπει να παραγνωρίσουμε και ένα ακόμη παράγοντα που οδηγεί κάποιον στο να γράψει (ή να συνεισφέρει ιδέες και κώδικα σε κάποιους που γράφουν) προγράμματα: +την επίλυση ενός προβλήματος που αντιμετωπίζει ο ίδιος. + +Ας πούμε για παράδειγμα ότι χρησιμοποιείτε ένα απλό διευθυνσιογράφο που βρήκατε χωρίς χρέωση στο Internet. Όλα καλά, αλλά θα σας βόλευε πάρα πολύ να μπορείτε να +τυπώνετε καρτέλες με τις διευθύνσεις για να τις κολλάτε σε φακέλους. Επειδή όμως έχετε το σαράκι του προγραμματισμού κοιτάτε τον πηγαίο κώδικα (source code) και +κάνετε μερικές προσθήκες που σαν αποτέλεσμα έχουν την ζητούμενη δυνατότητα. Από το σημείο αυτό κι έπειτα έχετε δύο επιλογές. + +Η μία είναι να κρατήσετε τις αλλαγές για τον εαυτό σας θεωρώντας οτι είναι άδικο να επωφεληθεί κάποιος άλλος από τον δικό σας κόπο (αν και εσείς χρησιμοποιείτε +το πρόγραμμα που προσφέρει κάποιος δωρεάν). + +Η άλλη επιλογή είναι να στείλετε τις αλλαγές στον δημιουργό του προγράμματος. Αν αυτός θεωρεί ότι πρέπει να ενσωματωθούν στο πρόγραμμα του, θα το κάνει στην +επόμενη έκδοση. Στην έκδοση αυτή θα δείτε και το όνομά σας ανάμεσα σε αυτούς που βοήθησαν και ίσως μετά από αρκετό καιρό να διαβάσετε σε ένα περιοδικό ότι το +πρόγραμμα αυτό έχει εξελιχθεί σε ένα από τα πιο δυνατά προγράμματα της κατηγορίας του! + +Εσείς τί θα επιλέγατε; + +Οι λόγοι που ανέφερα μέχρι στιγμής δεν είναι βέβαια οι μοναδικοί. Σε αυτούς μπορούμε να συμπεριλάβουμε τον πειραματισμό με αντικείμενα που ένας συγκεκριμένος +προγραμματιστής να μην έχει την δυνατότητα να ασχοληθεί στην εργασία του, την ανάπτυξη λογισμικού από μη κερδοσκοπικούς οργανισμούς και/ή πανεπιστήμια καθώς και +τις περιπτώσεις που ένα πρόγραμμα ξεκιναέι σαν εμπορικό αλλά οι δημιουργοί/χρηματοδότες του χάνουν το ενδιαφέρον τους σε αυτό και αντί να το θάψουν το δίνουν +στο ευρύ κοινό να κάνει ότι νομίζει καλύτερο με αυτό. + + +### [2. Πώς μπορεί το αποτέλεσμα να είναι ποιοτικό;]{#s2} + +Ας εξετάσουμε τώρα το ερώτημα πώς μπορεί ένα τόσο μεγάλο project όπως ένα λειτουργικό σύστημα να αναπτυχθεί τζάμπα και μάλιστα το αποτέλεσμα να είναι ποιοτικό. + +Για να καταλάβουμε την απάντηση πρέπει πρώτα να δούμε τί είναι το GPL. Το GPL (GNU General Public Licence ή αλλιώς copyleft) είναι ένας τρόπος έκδοσης και +διανομής προγραμμάτων που διασφαλίζει την ελευθερία στο λογισμικό. Όπως αναφέρει και το κείμενο που περιγράφει το GPL, όταν λέμε ελευθερία δεν εννοούμε μόνο +χωρίς χρέωση, αλλά την ελευθερία να διανέμει κανείς το χωρίς χρέωση λογισμικό (και να πληρώνεται για αυτό αν το επιθυμεί) την δυνατότητα να δει τον πηγαίο +κώδικα, να τον αλλάξει ή και να χρησιμοποιήσει τμήματά του σε άλλα προγράμματα και όλα αυτά τα δικαιώματα να είναι κατοχυρωμένα από τον νόμο. + +Το Linux για παράδειγμα είναι κατοχυρωμένο με το GPL. Ο αρχικός δημιουργός του, ο Linus Torvalds, λειτουργεί περισσότερο σαν μάνατζερ του όλου εγχειρήματος: +είναι αυτός που δέχεται τις τροποποιήσεις και τις νέες δυνατότητες, τις ενσωματώνει ή τις απορίπτει και εκδίδει την νέα έκδοση του κυρίως μέρους του Linux, του +πυρήνα όπως λέγεται. Ο πηγαίος κώδικας (που από το GPL ορίζεται ως η μορφή στην οποία μπορούν να γίνουν ευκολότερα αλλαγές στο πρόγραμμα) είναι διαθέσιμη σε +όποιον ενδιαφέρεται να την δει και να την τροποποιήσει. + +Ο περισσότερος κόσμος θεωρεί ότι για να γίνει ένα καλό πρόγραμμα χρειάζεται κάποιος, ή έστω μία μικρή ομάδα, που θα είναι αρκετά ευφυής για να συλλάβει την +αρχική ιδέα και να την υλοποιήσει χωρίς λάθη. Αυτή η αντίληψη όμως απέχει πολύ από την πραγματικότητα. Μερικοί από τους λόγους; + +- Ένα καλό πρόγραμμα έχει ανάγκη από χρήστες και μόνο αυτοί μπορούν να προσδιορίσουν με ακρίβεια τις ανάγκες τους. +- Όταν μιλάμε για μεγάλα προγράμματα, δεν είναι δυνατό η υλοποίηση να γίνει χωρίς λάθη (bugs), είτε στην λογική (στον αλγόριθμο) είτε στην συγραφή του + προγράμματος. Λυπηρό ίσως, αλλά ΔΕΝ ΥΠΑΡΧΕΙ ΤΕΛΕΙΟ ΠΡΟΓΡΑΜΜΑ !!! +- Ένα καλό πρόγραμμα πρέπει να συνοδεύεται από κατατοπιστικά εγχειρίδια που θα βοηθήσουν τους χρήστες του. +- Πρέπει να μπορεί να προσαρμόζεται με νέες εκδόσεις στα δεδομένα που επικρατούν στον χώρο και τα οποία αλλάζουν κάθε τόσο. + +Η αντιμετώπιση όλων των παραπάνω στον χώρο του Linux, με την βοήθεια του GPL είναι πραγματικά εντυπωσιακή. + +Η πολιτική του ελεύθερου λογισμικού και της αναγνώρισης όσων βοηθούν με τον ένα ή τον άλλο τρόπο κάνουν πολλούς από τους χρήστες να αισθάνονται ότι είναι και +μέρος της ομάδας ανάπτυξης του προγράμματος. Έτσι διασφαλίζεται μία συνεχής ροή παρατηρήσεων, εντοπισμού λαθών τροποποιήσεων και ιδεών προς τους +προγραμματιστές. Τα bugs εντοπίζονται πολύ γρήγορα και συχνά η αναφορά για αυτά συνοδεύεται και από τον προσδιορισμό του κοματιού του πηγαίου κώδικα που είναι +ελλατωματικός καθώς και από την προτεινόμενη διόρθωση (βλέπετε ο πηγαίος κώδικας δεν είναι επτασφράγιστο μυστικό όπως στην περίπτωση των εμπορικών +προγραμμάτων!). Όπως λέει και ο Eric S. Raymond στο άρθρο του The Cathedral and the Bazzar , *\"Δοθέντων +αρκετών ματιών, όλα τα bugs είναι ρηχά\"*. Το παράδειγμα του Linux είναι αρκετό για να πείσει και τον πιο δύσπιστο: Θεωρείται από τα πιο σταθερά λειτουργικά +συστήματα! + +Νομίζω ότι ενδιαφέρον είναι και αυτό που απάντησε σε μία σχετική ερώτηση ο ίδιος ο Linus ( [σε μια συνέντευξή +του.](http://students.ceid.upatras.gr/~keramida/linux/doc/linus.html)) *\"Όταν μιλάμε για λογισμικό προτιμώ σαφώς το ελεύθερο λογισμικό γιατί πολύ σπάνια έχω +δεί ένα πρόγραμμα που να δουλεύει αρκετά καλά για τις ανάγκες μου και το να έχεις τον πηγαίο κώδικα μπορεί να σε γλιτώσει.\"* + +Ένα άλλο θέμα είναι η ταχύτητα με την οποία αναπτύσεται μία εφαρμογή. Ειδικά στα εμπορικά προγράμματα, είναι δεδομένο ότι η επιτυχία ενός προγράμματος μπορεί να +κριθεί από το αν βγήκε στην διανομή έγκαιρα, που σημαίνει ότι η ταχύτητα με την οποία το πρόγραμμα θα αναπτυχθεί είναι κρίσιμος παράγοντας. Στην περίπτωση του +ελεύθερου λογισμικού (GPL) οι προγραμματιστές έχουν ένα ακόμη πλεονέκτημα: μπορούν να χρησιμοποιήσουν κώδικα που είναν γράψει άλλοι! Όπως λένε, οι καλοί +προγραμματιστές ξέρουν τί να γράψουν, οι μεγάλοι προγραμματιστές ξέρουν τί να ξαναγράψουν (και να ξανα χρησιμοποιήσουν). + +Η ελεύθερη πρόσβαση στον πηγαίο κώδικα, η εύκολη και άμμεση επικοινωνία με τους προγραμματιστές καθώς και το κλίμα αλληλοβοήθειας που επικρατεί στον χώρο του +ελέυθερου λογισμικού επιτρέπουν και οδηγούν πολλούς από τους χρήστες να γράψουν εγχειρίδια χρήσης και άλλα βοηθητικά κείμενα σχετικά με το πρόγραμμα. Όποιος +έχει αμφιβολία για αυτό, ας ρίξει μία ματιά στο για να δει το πλήθος και ποιότητα των κειμένων σχετικά με την χρήση και εγκατάσταση +του Linux. + +Ο κώδικας που γράφεται στο πλαίσιο του ελεύθερου λογισμικού είναι κατά μέσο όρο πολύ υψηλών προδιαγραφών. Ο λόγος είναι ότι οι προγραμματιστές χρειάζονται (αφού +συνήθως θέλουν να καλύψουν κάποια δικιά τους ανάγκη) και αγαπούν τον κώδικα που γράφουν (κάτι που δεν ισχύει πάντα στην περίπτωση εμπορικού κώδικα που γράφεται +γιατί πρέπει να καλύψει την ανάγκη κάποιου πελάτη). + +Τέλος, καθώς ο χώρος αλλάζει, κάποιοι θα χρειαστούν μία νέα δυνατότητα που ή θα ζητήσουν από τους προγραμματιστές που αρχικά ανέπτυξαν την εφαρμογή ή θα την +προσθέσουν μόνοι τους, άν γνωρίζουν προγραμματισμό. Ανακοινώσεις της μορφής *\"Ο τάδε πρότεινε αυτή την δυνατότητα, υπάρχει κάποιος που ενδιαφέρεται να την +υλοποιήσει\"* είναι πολύ συχνές σε χώρους που αναπτύσεται ελεύθερο λογισμικό. Το πρόγραμμα θα συνεχίσει να εξελίσεται και να προσαρμόζεται όσο οι +χρήστες-προγραμματιστές του το θεωρούν χρήσιμο. Ακόμη και αν ο αρχικός προγραμματιστής κάποια στιγμή αποφασίσει να αποτραβηχθεί, πολύ συχνά θα το \"υιοθετήσει\" + +### [3. Επιγραμματικά]{#s3} + +Προσπάθησα μέσα από αυτό το άρθρο να εξηγήσω πώς δουλεύει ο κόσμος του ελεύθερου λογισμικού, ένας κόσμος που σε εμάς που έχουμε μάθει να λειτουργούμε με τους +κανόνες της αγοράς μπορεί να φαίνεται παράλογος. + +Άν ενδιαφέρεστε να μάθετε περισσότερα, επισκευθείτε τις διευθύνσεις: + +- +- και + diff --git a/content/articles/01/04_coffee-howto.md b/content/articles/01/04_coffee-howto.md new file mode 100644 index 0000000..cc6cc26 --- /dev/null +++ b/content/articles/01/04_coffee-howto.md @@ -0,0 +1,336 @@ ++++ +title = 'Πώς φτιάχνεται ένας γκαϊφές' +date = '1998-01-01T00:00:00Z' +description = '' +author = 'Γεωργάτος Φώτης gef@ceid.upatras.gr(mailto:gef@ceid.upatras.gr?subject=COFFEE-HOWTO)' +issue = ['Magaz 01'] +issue_weight = 4 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Μία από τις πιο ενοχλητικές ερωτήσεις που έχω ακούσει για λογισμικό είναι εάν φτιάχνει καφέ. Ε, ναι λοιπόν, φτιάχνει. Και καλό καφέ.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Επί μακρόν την ανθρωπότητα την εβασάνιζε το πώς θα ημπορούσε να χρησιμοποιήσει τον υπολογιστή, ώστε να παράγει καφέ. Τον καφέ τον χρειαζόμαστε για καθόμαστε +στον υπολογιστή με τις ώρες χωρίς να νυστάζουμε, διότι ως γνωστόν την νύχτα γράφεται ο καλύτερος κώδικας. + +Το κυριότερο πρόβλημα είναι να συνδέσουμε την καφετιέρα με τον υπολογιστή και να την ελέγχουμε μέσω λογισμικού. Αυτό συνήθως ανάγεται σε ένα κύκλωμα διακόπτη +ON/OFF, που ελέγχει την τροφοδοσία της καφετιέρας. + +**1. Είδη καφέ** +----------------------------------------------- + +- [1.1 Ελληνικός](#ss1.1) +- [1.2 Γαλλικός](#ss1.2) +- [1.3 Nescaffe](#ss1.3) +- [1.4 frappe](#ss1.4) +- [1.5 freddo](#ss1.5) +- [1.6 cappuccino](#ss1.6) +- [1.7 espresso](#ss1.7) + +**2. Κυκλώματα σύνδεσης της καφετιέρας** +----------------------------------------------------------------------- + +- [2.1 Οδήγηση με 0-5V από τον υπολογιστή](#ss2.1) +- [2.2 \'Ελεγχος με Relay](#ss2.2) +- [2.3 \'Ελεγχος με TRIAC \#1](#ss2.3) +- [2.4 \'Ελεγχος με TRIAC \#2](#ss2.4) + +**3. Λογισμικό** +----------------------------------------------- + +- [3.1 Πρόγραμμα σε C](#ss3.1) +- [3.2 Σαν device driver](#ss3.2) +- [3.3 Διασύνδεση με Internet](#ss3.3) + +**4. Συμπτώματα υπερδοσολογίας** +--------------------------------------------------------------- + +**5. Επεκτάσεις** +------------------------------------------------ + +**6. Αναφορές** +---------------------------------------------- + + +### [1. Είδη καφέ]{#s1} + +### [1.1 Ελληνικός]{#ss1.1} + +Είναι επίσης γνωστός και ως τούρκικος, αλλά είναι παραλλαγή του. Παλιά είχαν για σηματάκι τον παπαγάλο, αλλά τώρα χρησιμοποιούν τον πιγκουίνο. Χαρακτηριστικό +του καφέ αυτού είναι το κατακάθι στον πάτο του ποτηριού, που μπορεί να χρησιμεύσει για να μαντέψετε την ατυχία σας. + +Αναμιγνύουμε καφέ και ζάχαρη στη σωστή αναλογία, με ποσότητα νερού αντιστοίχου του φλιτζανίου. Παραδοσιακά παρασκευάζεται σε ζεσεοδοχείο (μπρίκι) με γκαζιέρα, +αλλά απουσία φτηνών εξαρτημάτων για τον έλεγχο του αερίου, θα χρησιμοποιήσουμε ένα απλό μάτι. (εεε! της κουζίνας) + +Οι κατηγορίες του ελληνικού καφέ είναι: (κουταλιές) + +- Γλυκός: 1 καφέ, 2 ζάχαρη +- Βαρύ γλυκός: 2 καφέ, 3 ζάχαρη +- Γλυκύβραστος: 1/2 καφέ, 1 ζάχαρη +- Μέτριος: 1 καφέ, 1 ζάχαρη +- Σκέτος (Πικρός): 1 καφέ +- Πολλά βαρύς και όχι: 2 καφέ, συνοδεύεται με ναργιλέ + +Ανακατεύουμε συνεχώς μέχρι το μίγμα να αρχίσει να ξεχειλίζει, οπότε με γρήγορες κινήσεις το παίρνουμε από τη φωτιά. Αργείς-χάνεις, απλή λογική. Το βήμα αυτό +συζητείται να υλοποιηθεί με robot. + +### [1.2 Γαλλικός]{#ss1.2} + +Δημοφιλής καφές για προγραμματιστές μιας και δεν χρειάζεται προσοχή. Η ανάρπαστη γεύση του έχει εμπνεύσει χιλιάδες προγραμματιστών σε έργα λογισμικού αμύθητης +τελειότητας, υλοποιημένα άγρια χαράματα. Τα Windows για παράδειγμα είναι γραμμένα 5:00 το πρωί, με τα νεύρα ΝΑ. Εγγυημένο αποτέλεσμα. + +### [1.3 Nescaffe]{#ss1.3} + +Το κουνάς πριν + +### [1.4 frappe]{#ss1.4} + +Το κουνάς μετά + +### [1.5 freddo]{#ss1.5} + +Δύσκολος καφές. + +Μην τον ζητήσετε από τον τύπο στο Πάρκο της Ειρήνης/Πανεπιστήμιο Πάτρας + +### [1.6 cappuccino]{#ss1.6} + +### [1.7 espresso]{#ss1.7} + + +### [2. Κυκλώματα σύνδεσης της καφετιέρας]{#s2} + +Το σχηματικό είναι κάπως έτσι: + +**ΣΗΜΕΙΩΣΗ: \'Εχει παρατηρηθεί ότι μερικά σχήματα δεν φαίνονται σωστά. Σε τέτοια περίπτωση, δείτε τα με \"View-\>Document source\".** + +> --------- 0-5V --------- ~220V ----------- +> | Η/Υ |===>===|Ελεγχος|========|Καφετιέρα| +> --------- --------- ----------- + +Η γενική ιδέα είναι ότι παίρνουμε μία τάση ελέγχου από τον υπολογιστή, ο οποία οδηγεί ένα κύκλωμα με απομόνωση (OPTOTRIAC ή RELAY). + +Εάν η καφετιέρα είναι μεγάλη (πχ περισσότερο από 200W), χρησιμοποιείστε οπωσδήποτε RELAY, αλλιώς μπορείτε να βάλετε TRIAC. Εάν δεν κάνετε ακριβώς αυτό, απλά θα +πετάξετε τα λεφτά σας με τον ή με τον άλλο τρόπο. + +Σημειώστε ότι τα κυκλώματα που έχουμε παρακάτω, είναι όλα τουλάχιστον μια φορά δοκιμασμένα, αλλά η διασύνδεση με τον υπολογιστή γίνεται με ΔΙΚΗ ΣΑΣ ΕΥΘΥΝΗ. Εάν +δεν έχετε εμπειρία με ηλεκτρονικά, καλόν θα είναι να μην την αποκτήσετε με αυτά τα κυκλώματα, γιατί θα είναι κακή μάλλον\... + +Να είστε πολύ προσεχτικοί στους πειραματισμούς με τα 220V, και δεν θα είναι πολυτέλεια να χρησιμοποιήσετε ασφάλεια ανάλογη του φορτίου σας\... + +### [2.1 Οδήγηση με 0-5V από τον υπολογιστή]{#ss2.1} + +Εδώ είναι ένα απλό παράδειγμα για το πώς θα πάρετε μια απλή τάση 0-5V από τον υπολογιστή, μέσω της παράλληλης θύρας. + +> Back View ----- Pin 10 - ACK +> Male DB-25 | | Pin 9 - D7 +> Connector | | Pin 2 - D0 +> v v v Pin 1 - +> ~Strobe +> ____________________________________________________________ +> / \ +> \ 13 12 11 10 9 8 7 6 5 4 3 2 1 / +> \ / +> \ 25 24 23 22 21 20 19 18 17 16 15 14 / +> \______________________________________________________/ + +Ο ακροδέκτης 1 είναι το Strobe( αρνητικής λογικής) + +Οι ακροδέκτες 2-9 είναι τα σήματα του DATA BUS, όπως αυτά διαμορφώνονται, έπειτα από μία εντολή τύπου OUT στην παράλληλη θύρα. + +Ο ακροδέκτης 10 είναι το ACK, δηλαδή τον ελέγχετε εσείς, παράγοντας interrupt. + +Τα 18-25 είναι βραχυκυκλωμένα και είναι η γείωση. + +Πιο αναλυτικά: + +> <= in DB25 Cent Name of Reg +> => out pin pin Signal Bit Function Notes +> ------ ---- ---- -------- --- ----------------------------- +> => 1 1 -Strobe C0- Set Low pulse >0.5 us to send +> => 2 2 Data 0 D0 Set to least significant data +> => 3 3 Data 1 D1 ... +> => 4 4 Data 2 D2 ... +> => 5 5 Data 3 D3 ... +> => 6 6 Data 4 D4 ... +> => 7 7 Data 5 D5 ... +> => 8 8 Data 6 D6 ... +> => 9 9 Data 7 D7 Set to most significant data +> <= 10 10 -Ack S6+ IRQ Low Pulse ~ 5 uS, after accept +> <= 11 11 +Busy S7- High for Busy/Offline/Error +> <= 12 12 +PaperEnd S5+ High for out of paper +> <= 13 13 +SelectIn S4+ High for printer selected +> => 14 14 -AutoFd C1- Set Low to autofeed one line +> <= 15 32 -Error S3+ Low for Error/Offline/PaperEnd +> => 16 31 -Init C2+ Set Low pulse > 50uS to init +> => 17 36 -Select C3- Set Low to select printer +> == 18-25 19-30, Ground + +### [2.2 \'Ελεγχος με Relay]{#ss2.2} + +Το πιο απλό κύκλωμα που μπορεί να φτιάξει κανείς είναι το εξής: + +> Vcc +> | +> +------+ +> | __|__ +> Relay /^\ Diode 1N4002 +> Coil /---\ +> | | +> +------+ +> | +> | / +> 4.7K B |/ C +> parallel port >-\/\/\/\/---| NPN Transistor: BC547A or 2N2222A +> data pi |\ E +> | V +> | +> parallel port >--------------+ +> ground pin | +> Ground + +Συνδέστε το Vcc με τάση αντίστοιχη με τον τύπο του relay που έχετε βρει (5 ή 12V). Προφανώς το relay πρέπει να διαλέξετε να είναι επαρκές για την καφετιέρα σας. +Αυτό ίσως εξηγεί τους κακούς καφέδες: Οι barmen συχνά κάνουν το λάθος να βάζουν το relay αντί στον συλλέκτη (C), στον εκπομπό (E) του τρανζίστορ, πολώνοντάς το +έτσι με λάθος τρόπο. Η δίοδος 1N4002 είναι για να προστατεύει το τρανζίστορ από τα ανάστροφα ρεύματα του Relay, όταν το ρεύμα σε αυτό αλλάζει. Εάν δεν την +βάλετε, λογικά το τρανζίστορ θα γίνει πιο μαύρο και θα μυρίζει. + +### [2.3 \'Ελεγχος με TRIAC \#1]{#ss2.3} + +Εάν θέλετε ένα απλό κύκλωμα μπορείτε να χρησιμοποιήσετε ένα Motorola MOC301\[012\] (οδηγός για TRIAC), μαζί με ένα γενικής χρήσης TRIAC όπως το SC141D. Το +πλεονέκτημα αυτού του κυκλώματος είναι ότι δεν χρειάζεται τάση τροφοδοσίας. + +Για μη επαγωγικό φορτίο το κύκλωμα είναι ως εξής: + +> 270 1 +-------+ 6 180 +> +5v -VAVAVA-----+ +----VAVAVA-----+-------------- Line Hot +> 2 | MOC | | +> TTL in ---------+ 3012 +nc VA SC141D +> | | 4 / | +> nc+ +------------/ | +> +-------+ +----\/\/\/---- Line Neutral +> LOAD + +Εάν πρόκειται να δουλέψετε με 220V, προτιμήστε ένα 3021. Εάν έχετε επαγωγικό φορτίο ενδείκνυται να βάλετε bypass πυκνωτές, δείτε σχετικά Motorola Application +Note AN-780. Οι καφετιέρες είναι κυρίως ωμικά φορτία (το θερμαντικό νήμα) και όχι επαγωγικά (όπως είναι πχ ένα μοτέρ) αλλά επειδή ποιος ξέρει τι καφετιέρα +έχετε\... + +### [2.4 \'Ελεγχος με TRIAC \#2]{#ss2.4} + +> +5VDC +> | 180 180 2.2k +> +---/\/\/\----+-----+ +----/\/\/-+--/\/\/\---+-------> 120V +> | 1| |6 | | Hot +> | +=====+ | | MT1 +> | | MC | TRIAC | +-+ +> | | 3032| Driver | G | | TRIAC +> | +=====+ | /| | +> \ 2| |4 | / +-+ +> 2N3904 |----+ | | | | MT2 +> / | +--------- | -------+ | +> V \ | | | +> | / | \ | +> | \ 43 .01u --- 10k / | +> | / 500V --- \ | +> | | | / | +> +------+ | | | Neutral +> | +--------+--+---o o--> 120V +> / load +> >-/\/\--| 2N3904 +> \ +> V +> | +> --- +> /// +> You should change resistors accordingly for 220V. + +Περιγραφή κυκλώματος: + +Το MC3032 είναι ένας οπτοαπομονωτής, κατάλληλος για οδήγηση TRIAC. Η αντίσταση των 180Ω ρυθμίξει το ρεύμα για τον εκπέμπον LED του οπτοαπομονωτή. Εάν +χρειάζεται, αλλάξτε την τιμή της αντίστασης για να πάρετε μία λογική τιμή ρεύματος (πχ 15 mA). + +Δώστε σημασία στην ένδειξη 500V για τον πυκνωτή των .01μF. Σημειώσατε ότι δεν μπορείτε να ελέγξετε αυτό το κύκλωμα δίχως φορτίο. Το TRIAC δεν θα αλλάξει +αγωγιμότητα παρά μόνον εάν συνδεθεί με την πηγή παροχής εναλλασόμενου ρεύματος (δίκτυο) και με το φορτίο. Προσέξτε το φορτίο να μην είστε ΕΣΕΙΣ. + + +### [3. Λογισμικό]{#s3} + +\'Εφτασεεεε\... + +### [3.1 Πρόγραμμα σε C]{#ss3.1} + +Φτιάξτε ένα εκτελέσιμο, που θα κάνει χοντρικά τα εξής: + +- Θα παίρνει τα κατάλληλα δικαιώματα για την διεύθυνση I/O, με αίτηση στον πυρήνα, μέσω της ioperm: πχ ioperm( BASE, range ,1); +- θα εκτελεί το κατάλληλο out request, για να επιβάλει την σωστή τάση στην παράλληλη θύρα. πχ outb( 1, BASE ); +- Θα περιμένει κατάλληλο χρονικό διάστημα για να ψηθεί ο καφές, ( καλόν θα είναι αυτό να το διαβάζει από την γραμμή εντολών ) +- στην συνέχεια θα κλείνει την καφετιέρα. outb( 0 , BASE ); +- Προαιρετικά, θα δίνει πίσω την θύρα με ioperm( BASE, range, 0); + +Όπου BASE = 0x3bc για /dev/lp0, 0x378 για /dev/lp1, και 0x278 για /dev/lp2, range=8. + +Καλόν θα είναι να το κάνετε setuid, για να μπορεί όλος ο κόσμος να φτιάχνει καφέ. + +### [3.2 Σαν device driver]{#ss3.2} + +Δεν έχετε παρά να διαβάσετε το kernel hacker\'s guide, να υλοποιήσετε έναν device driver (μπορεί να είναι και user space). Πλιιζ, κάνετέ το module, να μην +κάνουμε compile όλη την ώρα. Μετά θα γράφετε: + + echo baryglykos >/dev/coffee + +Και θα έχετε ζεστό καφέ σε 1 λεπτό. Θυμηθείτε να δώσετε τα σωστά permission στο /dev/coffee, ανάλογα με το εάν θέλετε να φτιάχνει καφέ μόνο ο root ή όχι. + +Το πλεονέκτημα αυτής της μεθόδου είναι ότι επιτρέπει να χρησιμοποιηθεί το ACK της παράλληλης θύρας, ώστε οι \"έξυπνες\" καφετιέρες να μπορούν να παράγουν +interrupt. + +Αφήνεται σαν άσκηση. + +### [3.3 Διασύνδεση με Internet]{#ss3.3} + +Αφού έχετε υλοποιήσει το πρόγραμμα σε C (βλέπε παραπάνω), δεν έχετε παρά να φτιάξετε ένα cgi τσι σειράς (ας είναι και β\' διαλογής), που θα καλεί το +προγραμματάκι για να φτιάξει τον καφέ. Τι web server? apache φυσικά\... + + +### [4. Συμπτώματα υπερδοσολογίας]{#s4} + +- ευεξία +- νευρικότητα +- ταχυκαρδία ή καρδιακή αρυθμία +- τέντωμα μυών +- δυσκοιλιότητα :-( + + +### [5. Επεκτάσεις]{#s5} + +Αυτές είναι μερικές ιδέες που είχαμε: + +- Με λίγη προσπάθεια η ηλεκτρονική καφετιέρα μπορεί να επεκταθεί ώστε να υποστηρίζει τοστ, παστίτσιο, κουραμπιέδες κλπ. +- Cluster με 8 καφετιέρες. Αυτό θα επιτρέπει να έχετε καφέ ακόμη και όταν \"πέφτει\" η μία καφετιέρα, με αντίστοιχη μείωση της απόδοσης. Η παράλληλη + ανυσματική καφετιέρα είναι στα υπ\' όψιν. +- Εάν θέλουμε πλήρη αυτοματοποίηση χρειαζόμαστε επιπρόσθετα κυκλώματα και αισθητήρες, ώστε να ελέγχουμε την ροή του νερού, την θερμοκρασία του, την ποσότητα + του καφέ κλπ. +- Στο μέλλον σκεφτόμαστε να υλοποιήσουμε και SNMP. Α μα πια, αυτές οι καφετιέρες να μην έχουν έθερνετ ιντερφέις\... +- Σειριακή καφετιέρα στα 115Kbps. + + +### [6. Αναφορές]{#s6} + +- [Χριστόφορος Κολόμβος](http://sunsite.unc.edu/expo/1492.exhibit/c-Columbus/columbus.html). Το πραγματικό του όνομα είναι Cristobal Colon. \'Εφερε πρώτος τον + καφέ από την Αμερική, την οποία πρώτος (από τους Ευρωπαίους) ανακάλυψε το 1492. +- Το απόλυτο κείμενο σχετικά με τον καφέ. Βασικά, είναι το coffee-FAQ από το Internet. +- Πολλά κυκλώματα σε ASCII, ανάμεσά τους και με έλεγχο από παράλληλη +- \'Οτι θέλατε να μάθετε για την παράλληλη θύρα και δεν τολμούσατε να ρωτήσετε. +- Προγραμματισμός I/O θυρών σε Linux. +- Πώς να γράψετε τους δικούς device drivers. Εμπρός λοιπόν, τι κάθεστε; +- Ας το θέσουμε έτσι: εάν ασχολείστε με ηλεκτρονικά, οι σελίδες του Tomi Engdahl είναι + must. +- Καφετιέρες on-line. Δυστυχώς, + δεν έχει συγκριτικά test. +- Η εν λόγω συσκευή προσφέρει μόνο cappuccino. \'Αντε αναβαθμίστε το, ρε παιδιά. +- Ζεστός ολλανδικός καφές +- http://circe.chinalake.navy.mil/cgi-bin/spion/snapit.cgi +- http://www.cl.cam.ac.uk/coffee/coffee.html +- http://www.menet.umn.edu/coffeecam/ + diff --git a/content/articles/01/05_realworld.md b/content/articles/01/05_realworld.md new file mode 100644 index 0000000..c56b2c4 --- /dev/null +++ b/content/articles/01/05_realworld.md @@ -0,0 +1,34 @@ ++++ +title = 'Ορισμένοι το παίρνουν σοβαρά - CISCO Systems' +date = '1997-01-01T00:00:00Z' +description = '' +author = 'Παναγιώτης Βρυώνης' +issue = ['Magaz 01'] +issue_weight = 5 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Πολλές μεγάλες επιχειρήσεις και οργανισμοί ανά τον κόσμο χρησιμοποιούν το Linux. Αυτό τον μήνα παρουσιάζουμε την CISCO Systems.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Η CISCO Systems είναι μία εταιρεία κολλοσός στον χώρο της δικτύωσης για το Internet. Πουλάει τα προϊόντα της (High-end Routers, WAN switches, LAN switches, Hubs +κ.λ.) σε 90 χώρες μέσω ενός δικτύου απ\'ευθείας πωλήσεων, αντιπροσώπων, μεταπωλητών και systems integrators. Εκτός από τα κεντρικά γραφεία της στο San Joze της +Καλιφόρνιας, έχει 200 ακόμη γραφεία πωλήσεων και υποστήριξης σε 54 χώρες. Ο ημερήσιος τζίρος της είναι πάνω από 6 εκατομμύρια δολάρια και το οικονομικό έτος +1997 ανήλθε συνολικά στα 6,44 δισ. δολάρια!!! (βλ. ) + +Πριν από δύο χρόνια είχαν ένα τεράστιο πρόβλημα με την διαχείρηση των εκτυπωτών τους (1600 εκτυπωτές που χρησιμοποιούνται από 10.000 ανθρώπους σε όλο τον +κόσμο!). Ήταν αδύνατο να ξέρουν κάθε στιγμή την κατάσταση ενός εκτυπωτή στο δύκτιο, αφού εκατοντάδες χρήστες σε δεκάδες συστήματα μπορούσαν να στέλουν +εκτυπώσεις σε αυτόν. + +Ο υπεύθυνος διαχειριστής συστήματος για τους εκτυπωτές, σχεδίασε ένα σύστημα στο οποίο όλες οι εκτυπώσεις για ένα συγκεκριμένο εκτυπωτή θα περνούσαν από ένα +μηχάνημα που θα λειτουργούσε ως spooler. Οι spoolers αυτοί θα έπρεπε όμως να μπορούν να επικοινωνούν με κάθε λογής \"πελάτες\" (Windows, NT, Unix, Novell κ.λ.). +Έπρεπε να είναι αρκετά φθηνοί ώστε να μπορούν να αγοραστούν εκατοντάδες από αυτούς. Τέλος, έπρεπε να μπορεί κανείς να βασιστεί σε αυτούς, από τεχνικής απόψεως. + +Σήμερα, όλοι αυτοί οι 10.000 άνθρωποι ανά τον κόσμο μπορούν να εκτυπώνουν σε οποιονδήποτε από τους 1600 εκτυπωτές. Και όλες αυτές οι εκτυπώσεις περνάνε μέσα από +μηχανήματα που τρέχουν Linux. + +Η ιστορία αυτή αναφέρεται στο *Linux Journal (Dec 1997/Issue 44, σελ.35)* . + +Ακόμη, στο αναφέρεται ότι η CISCO χρησιμοποιεί Linux μηχανήματα σαν Network file servers, για συγγραφή κειμένων +(με ApplixWare), για σύνδεση με το Internet (Netscape Navigator, e-mail) καθώς και για software development\... diff --git a/content/articles/01/06_redhatinst.md b/content/articles/01/06_redhatinst.md new file mode 100644 index 0000000..347d591 --- /dev/null +++ b/content/articles/01/06_redhatinst.md @@ -0,0 +1,47 @@ ++++ +title = 'Πώς να εγκαταστήσετε το Redhat Linux από το Internet' +date = '1998-01-01T00:00:00Z' +description = '' +author = 'Γεωργάτος Φώτης gef@ceid.upatras.gr(mailto:gef@ceid.upatras.gr?subject=LINUX-MAGAZ) Κεραμίδας Γιώργος' +issue = ['Magaz 01'] +issue_weight = 6 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Από τους μεγαλύτερους πονοκέφαλους στο Linux είναι η εγκατάστασή του, γιατί συνήθως είναι χρονοβόρα και εάν \"σκαλώσει\" σε κάποιο πρόβλημα, θέλει κάποια +εμπειρία για να καταλάβει κανείς τι είναι καλύτερο να κάνει και πώς. Η κατάσταση αυτή αλλάζει σιγά-σιγά, καθώς η εγκατάστασή του γίνεται όλο και πιο εύκολη.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Τελευταία, δοκιμάσαμε μία διανομή του Linux, που φάνηκε πολύ εύκολη στην εγκατάσταση ακόμη και για αρχάριους: το Redhat 5.0. Επιπρόσθετα, εάν κανείς είναι +συνδεδεμένος με καλή ταχύτητα στο Internet (\>100Kbps, όχι modem!), το μόνο που απαιτεί είναι να φτιάξει κανείς δυο δισκέτες, και να κάνει εκκίνηση με αυτές. + +Η εγκατάσταση έγινε με χαρακτηριστική ευκολία, καθώς οι πιο πολλές ρυθμίσεις έγιναν αυτόματα. Οι σημαντικότερες πληροφορίες που έπρεπε να παρέχουμε εμείς ήταν η +διεύθυνση IP, το domainname, ο εξυπηρέτης DNS, ο ftp server που είχε το Linux σε μορφή εγκατάστασης (πχ ftp.linux.gr), και η διαδρομή μέσα σε αυτον +(/pub/redhat/redhat-5.0/i386/). Επίσης ενημερώσαμε στο πρόγραμμα εγκατάστασης το λογισμικό (πακέτα) που θέλαμε. + +Από την στιγμή που πατήσαμε το τελευταίο ENTER, για 2 ώρες η εγκατάσταση προχώρησε ομαλότατα, ξεπερνώντας τις δυσκολίες ενός πολύ ασταθούς δικτυακού +περιβάλλοντος, όπως είναι ένα υπολογιστικό κέντρο σχολής Η/Υ, που την συγκεκριμένη στιγμή ήταν και εξαιρετικά φορτωμένο. Υποθέτουμε ότι με μία καλή σύνδεση και +επιλέγοντας ώρα που το δίκτυο δεν είναι φορτωμένο, μπορεί να γίνει σε 20\'. + +Αφού τελείωσε η εγκατάσταση, μπήκαμε στο νέο σύστημα και διαπιστώσαμε ότι η RedHat έχει κάνει πολλές επιλογές και αυτοματισμούς για λογαριασμό ενός νέου χρήστη, +που αυξάνουν σημαντικά την ευχρηστία του Linux. Χαρακτηριστικό είναι το περιβάλλον του fvwm-95, που δίνει την αίσθηση που έχει κανείς σε άλλα δημοφιλή γραφικά +περιβάλλοντα. Μεγάλη ευκολία είναι ο Redhat Package Manager (RPM), που δίνει μεγάλη ευκολία στην (απ)εγκατάσταση εφαρμογών. Δεν χρειάστηκε kernel compile, καθώς +όλες οι ρυθμίσεις έγιναν αυτόματα. + +Εμείς δοκιμάσαμε και στήσαμε και το KDE-beta2, το οποίο αν και beta δείχνει αρκετά όμορφο και σχετικά σταθερό. Σας συνιστούμε τουλάχιστον να το δείτε: + + +Το Redhat 5.0, το βρήκαμε και στα εξής μέρη στην Ελλάδα: ( Επιλέξτε αυτό που είναι πιο γρήγορο σε εσάς ) + +- +- [ftp://ftp.csi.forth.gr/sunsite/linux/sunsite\_archive/ + distributions/redhat/redhat-5.0/i386/](ftp://ftp.csi.forth.gr/sunsite/linux/sunsite_archive/distributions/redhat/redhat-5.0/i386/) +- + +Στον υποκατάλογο images θα βρείτε τα boot.img, supp.img που είναι οι 2 δισκέτες για την εκκίνηση, που θα φτιάξετε χρησιμοποιώντας το ./dosutils/rawrite.exe. +Στον ίδιο κατάλογο υπάρχει το fips, ένα εργαλείο για να \"κόψετε\" τον σκληρό σας δίσκο σε partitions, διατηρώντας τα δεδομένα που ήδη έχει. + +Να έχετε υπ\' όψιν σας ότι η εγκατάσταση του Redhat 5.0 μπορεί να γίνει και από τα ανάλογα bootable CD της Redhat. Επίσης, ενημερωθήκαμε ότι τέλος Ιανουαρίου θα +κυκλοφορήσει το [Linux Developer\'s Resource](http://www.infomagic.com/infomagic/2linux.html) της Infomagic (6CD, περιλαμβάνει το Redhat). diff --git a/content/articles/01/07_kerncomp.md b/content/articles/01/07_kerncomp.md new file mode 100644 index 0000000..9d259ee --- /dev/null +++ b/content/articles/01/07_kerncomp.md @@ -0,0 +1,84 @@ ++++ +title = 'Επιτάχυνση της κατασκευής πυρήνα μέσω NFS' +date = '1998-01-01T00:00:00Z' +description = '' +author = 'Γεωργάτος Φώτης gef@ceid.upatras.gr(mailto:gef@ceid.upatras.gr?subject=LINUX-MAGAZ)' +issue = ['Magaz 01'] +issue_weight = 7 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Από τις πιο εντυπωσιακές διαφορές του Linux από τα άλλα λειτουργικά συστήματα, είναι η μεταγλώττιση του πυρήνα (kernel).* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Όταν πρωτοστήνει κανείς ένα Linux σύστημα, συνήθως παίρνει ένα πυρήνα που να δουλεύει, αλλά σπάνια αυτός αντιστοιχεί στις πραγματικές ανάγκες ενός χρήστη, άρα η +κατασκευή ενός νέου είναι επιβεβλημένη. Η διαδικασία αυτή είναι μάλλον διασκεδαστική - γιατί αφήνει την αίσθηση του πλήρη ελέγχου στον Η/Υ - αλλά και λίγο +χρονοβόρα, συνήθως είναι υπόθεση 15 λεπτών. + +Θα σας δείξω, τώρα, πώς χάρις στην μεγάλη ευελιξία του Unix (άρα και του Linux), κατάφερα να μειώσω στο 1/20, τον χρόνο μεταγλώττισης, χρησιμοποιώντας την +ταχύτητα και μνήμη ενός γρήγορου συστήματος, που δούλευε για λογαριασμό ενός αργού. + +Είχα ένα τοπικό δίκτυο ethernet με δύο Linux Η/Υ, έναν 386SX-20, 6MB RAM, 340MB HDD (Πόρος), και έναν 486DX-100, 20MB RAM, 1.2GB HDD (Κατελειός). + + |----*---------------*------| + | | + -------- ----------- + |ΠΟΡΟΣ | |ΚΑΤΕΛΕΙΟΣ| + |386-20| | 486-100 | + -------- ----------- + +Ο 486-100 ήθελε γύρω στα 30 λεπτά, αλλά ο 386-20 ήταν απαράδεκτα αργός στην κατασκευή πυρήνα γιατί ήθελε 17 ώρες (1 προς 34). + +Την πρώτη φορά που έκανα το compile στον 386, νόμιζα ότι είχε κολήσει γιατί δούλευε όλη την ώρα στον δίσκο (swapfile). Αιτία ήταν ότι το compile, και ειδικά του +πυρήνα, απαιτεί μεγάλες ποσότητες μνήμης τις οποίες ο 386 με 6MB τις παρείχε σαν ιδεατή μνήμη (virtual memory). Δεν ήμουν σίγουρος για το τι συμβαίνει και έτσι +διέκοψα την μεταγλώττιση (απλά με control-c). Λίγες μέρες αργότερα τον έβαλα να φτιάξει πυρήνα και μέτρησα περίπου 17 ώρες. + +Κάποια στιγμή χρειάστηκε ο Πόρος νέο πυρήνα οπωσδήποτε, αλλά δεν ήμουν πρόθυμος να τον περιμένω 17 ώρες\... Το να φτιάξω πυρήνα στον 486 μέσα σε ένα μισάωρο, +και να τον αντιγράψω δεν έστεκε σαν λύση, γιατί το compile εκτός από το 1 αρχείο που φτιάχνει και είναι ο πυρήνας (zImage), κάνει πολυάριθμα άλλα πράγματα όπως +τα modules και κάποιες ρυθμίσεις στο /boot και στα include αρχεία, νομίζω. Κοντολογίς, θα έφτιαχνα \"μισό\" πυρήνα και θα χάλαγα ενδεχομένως τον 486 στις +ρυθμίσεις του. + +Ιδού λοιπόν η λύση: Κάνω **export** το / (root filesystem) του Πόρου, + + echo "/ kateleios(rw,no_root_squash)" >>/etc/exports + kill -HUP `pidof rpc.nfsd rpc.mountd` + +και το προσαρτώ στον 486 σε έναν υποκατάλογο του: + + mount poros/ /mnt. + +Αυτό το σύστημα λέγεται **NFS** (Network FileSystem), και είναι η τυπική μέθοδος για την διανομή αρχείων μεταξύ Unix συστημάτων. + +Στην συνέχεια εκτελώ την εντολή **chroot** στον Κατελειό, ως root: + + chroot /mnt sh + +Αυτή η εντολή λέει στον πυρήνα ότι η διεργασία sh (που τρέχει στον Κατελειό) και τα παιδιά της, αλλάζει το root directory και όταν θα αναφέρεται στο +/usr/local/src ας πούμε, θα εννοεί το /mnt/usr/local/src. Τι σύμπτωση, εκεί είναι ο πηγαίος κώδικας του πυρήνα του Πόρου\... Ότι κάνουμε από εδώ και στο εξής, +\"τρέχει\" σαν διεργασία στον Κατελειό αλλά φορτώνει και δουλεύει από τον δίσκο του Πόρου. + +Αρχίζουμε λοιπόν, μέσα από το \"περίεργο\" shell: + + cd /usr/src/linux + make config + make dep + make clean + make zImage + +Σε ένα 40λεπτο ο πυρήνας είναι έτοιμος, χρησιμοποιώντας την άπλετη μνήμη και υπολογιστική ισχύ του 486. Δεν τελειώσαμε όμως: + + make modules + make modules_install + +Ο νέος πυρήνας υπάρχει στο /usr/src/linux/arch/i386, αλλά δεν είναι ακόμα ενήμερο το LILO στον Πόρο. Όχι!!! μην γράψετε lilo στο shell αυτό, γιατί μόνο το MBR +του 486 είναι ορατό στο lilo. Απλά, βγήκα από το shell και έκανα telnet poros, μπήκα σαν root, αντέγραψα τον πυρήνα στο /zImage (εγώ τον τοποθετώ εκεί) και +εκτέλεσα lilo. Το σύστημα ενημερώθηκε για την αλλαγή του πυρήνα και στο επόμενο reboot δούλεψε μια χαρά. + +Υποδείξεις: + +- Το όταν παίξετε με τη chroot, δοκιμάστε με το directory /bin, ώστε να μπορείτε να κάνετε ls. +- Το read-write export του /, πιθανόν να είναι πρόβλημα ασφάλειας για το σύστημά σας. Εάν το τοπικό δίκτυό σας το παραμονεύει κανένας cracker, θα έπρεπε να + προσέχετε. +- Τα νέα συστήματα (πχ PPro-200,32MB) κάνουν την κατασκευή πυρήνα μέσα σε 5 λεπτά, σχεδόν interactive\... +- Ο τελευταίος πυρήνας υπάρχει στο , και είναι ο linux-2.0.33 (31-12-97). diff --git a/content/articles/02/01_editorial.md b/content/articles/02/01_editorial.md new file mode 100644 index 0000000..edd8063 --- /dev/null +++ b/content/articles/02/01_editorial.md @@ -0,0 +1,54 @@ ++++ +title = 'Editorial' +date = '1998-02-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης' +issue = ['Magaz 02'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Τι έγινε ρε παιδιά; Aλλη δουλειά δεν είχατε, το *Magaz* επισκεπτόσασταν; Αλήθεια, **800** άτομα; Καλά, το δέχομαι, οι 25 επισκέψεις είναι δικές μου, οπότε +φαντάζομαι ότι γύρω στις 50 - 100 είναι από τους συντελεστές του περιοδικού. Αλλά αυτό δεν αλλοιώνει την πραγματικότητα. Η προσέλευση του κόσμου ξεπέρασε τις +προσδοκίες μας.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Επειδή ίσως να μην ξέρετε τι σημαίνει αυτό, θα σας πω τα εξής: στο [Linux counter](http://leangen.uninett.no:29659), είναι καταχωρημένοι περίπου 250 Έλληνες +χρήστες του Linux. Αλήθεια, εσείς από το Ηράκλειο, συντονιστείτε. Έχει τουλάχιστον 5 ή 6 κατηγορίες, με το Ηράκλειο Κρήτης να γράφεται με κάθε δυνατό συνδυασμό +αγγλικών χαρακτήρων! Στην λίστα linux-greek-users είναι 150 άτομα. Αν υποθέσουμε ότι τα 100 άτομα είναι κοινά, μας κάνουν σύνολο 300 άτομα. Μάλλον μικρό νούμερο +σε σχέση με τα 800. Τελικά είμαστε περισσότεροι Έλληνες χρήστες Linux απ\' ότι φανταζόμασταν. Oι υπόλοιποι, δεν περνάτε μια βόλτα από το [Linux +counter](http://leangen.uninett.no:29659), να γραφτείτε; Έτσι, για να ξέρουμε τελικά τι μας γίνεται. + +Επίσης καλό θα ήταν να γραφτείτε και στη λίστα. Στείλτε ένα mail στο γράφοντας απλώς στο κείμενο του μηνύματος subscribe +linux-greek-users. + +Τον Παναγιώτη Βρυώνη τον πήρανε φαντάρο (όχι, δεν είναι σχήμα λόγου, αλήθεια είναι). Βασικά οχι φαντάρο, ναύτη απ\' ότι ξέρω. Του ευχόμαστε καλή θητεία, και εκ +μέρους σας :-) Ο Παναγιώτης υποσχέθηκε να \"στείλει αγωνιστικούς χαιρετισμούς, μόλις βρει σύνδεση\". Τον βλέπω να ξεκινάει στήλη \"Ανταπόκριση από το μέτωπο: +Πως πείστηκε ο Ελληνικός στρατός να χρησιμοποιήσει Linux για τα μηχανήματά του\" (Παναγιώτη πιστεύω -και περιμένω- ότι μπορείς να το κάνεις. Εμείς πάντως +είμαστε μαζί σου). Μια που ο Παναγιώτης δεν θα μπορεί να βοηθήσει για μερικά τεύχη, να σας πληροφορήσω ότι \"ορφάνεψε\" η στήλη RealWorld. Ζητείται\... πατέρας. +(Ευχάριστο περιβάλλον εργασίας, υψηλός μισθός και ιδιαιτέρα γραμματέας, δεν παρέχονται\...) + +Επίσης, να επαναλάβω για άλλη μία φορά, ότι το *Magaz* δεν είναι κλειστό περιοδικό. Aρθρα (και κάθε είδους βοήθεια γενικά) δεν είναι απλώς καλοδεχούμενα. Είναι +μία προϋπόθεση για να έχει το περιοδικό μία συνέχεια και ένα υψηλό επίπεδο. Σκεφτείτε το σαν να γράφετε μία έκθεση με \"ελεύθερο θέμα\". Εξάλλου, κάποτε διάβασα +σε ένα βιβλίο του Καζαντζάκη, ότι ένας άντρας πρέπει να κάνει τρία πράγματα στη ζωή του: Να γεννήσει παιδί, να φυτέψει ένα δέντρο και να γράψει ένα βιβλίο. Ε, +φαντάζομαι ότι τα άρθρα σε ένα τέτοιο περιοδικό θα μπορούσαν να θεωρηθούν βιβλίο. Και για να μην κατηγορηθώ για φαλλοκράτης, πιστεύω ότι και μία γυναίκα πρέπει +να κάνει αυτά τα τρία (ο Καζαντζάκης πάλι, δεν το πίστευε απ\' ότι φαίνεται\...) + +Θα θέλαμε να σας ευχαριστήσουμε για τα γράμματα που πήραμε. Το οποίο μου θυμίζει να σας προτείνω να κοιτάξετε τη νέα στήλη, αυτή της αλληλογραφίας.\ +Σε αυτό το τεύχος, εκτός από τη νέα στήλη της αλληλογραφίας, έχουμε και μερικές από τις παλιές.\ +Το Editorial, το οποίο και διαβάζετε.\ +Η πάντα καλή στήλη του Παναγιώτη Βρυώνη, \"Μερικοί το παίρνουν σοβαρά\", έχει μία πολύ κατατοπιστική συνέντευξη με τον Reinhold Schoeb από την Daimler-Benz (πιο +γνωστή ίσως ως Mercedes).\ +Η ανάλυση αυτού του τεύχους, ασχολείται με το τι έχει να αντιμετωπίσει το Linux.\ +Τα μαστορέματα έχουν να κάνουν με το γνωστό σε όλους πρόγραμμα Samba. + +Ελπίζουμε να μας συγχωρέσετε για το \"φτωχό\" αυτού του τεύχους. Κάτι οι εξετάσεις των Πανεπιστημίων, κάτι ο στρατός, κάτι η έλλειψη (ακόμα) οργάνωσης, και όπως +πάντα η έλλειψη ελεύθερου χρόνου, συνέβαλαν σε αυτό. Δεν θεωρώ ότι το τεύχος αυτό υπολείπεται του πρώτου. Απλά \"φαίνεται\" λιγότερο. + +Για τα επόμενα τεύχη, θέλουμε να προσθέσουμε μια - δυο στήλες ακόμη. Θα τα καταφέρουμε αν μας βοηθήσετε. Έχουμε ήδη ορισμένους υπ\' όψη μας οι οποίοι εξέφρασαν +την πρόθεση να βοηθήσουν, καθώς έχουμε και θέματα να προσφέρουμε σε \"εθελοντές αρθρογράφους\". Δείτε και τη στήλη Νέα - Ανακοινώσεις αυτού του τεύχους να +καταλάβετε για τι βοήθεια μιλάμε. Για να τελειώνω αυτό τον κουραστικό μονόλογο, νας σας πω ότι ο,τιδήποτε έχει να κάνει με Linux (και ειδικά Linux και Ελλάδα), +έχει χώρο στο περιοδικό. Η δική σας στήλη σας περιμένει. + +Aντε και το φάγαμε το Linux Journal!!! diff --git a/content/articles/02/02_managers.md b/content/articles/02/02_managers.md new file mode 100644 index 0000000..bfa082a --- /dev/null +++ b/content/articles/02/02_managers.md @@ -0,0 +1,165 @@ ++++ +title = 'Η μάχη της αγοράς' +date = '1998-02-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης' +issue = ['Magaz 02'] +issue_weight = 2 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Ένα από τα θέματα που απασχολούν πολλούς στην κοινότητα του Linux, είναι η διασπορά του στην ελεύθερη αγορά. Αν είναι το Linux έτοιμο να κυριαρχήσει ως το +λειτουργικό του μέλλοντος, και αν ναι, τι το κρατάει. Αν όχι, τι πρέπει να γίνει για να φτάσουμε σε αυτό το σημείο.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Ιστορικά στοιχεία** +--------------------------------------------------- + +**2. Η πραγματική μορφή της κατάστασης** +------------------------------------------------------------------- + +**3. Δηλαδή υπάρχουν άνθρωποι που το χρησιμοποιούν, πέρα από τους φοιτητές;** +-------------------------------------------------------------------------------------------------------- + +**4. Το στοίχημα των managers** +---------------------------------------------------------- + +**5. Και τι μπορούμε να κάνουμε;** +------------------------------------------------------------- + + +### [1. Ιστορικά στοιχεία]{#s1} + +Πριν από όχι πολλά χρόνια, το 1993 συγκεκριμένα, ο Bill Gates και η Microsoft βγάλανε τα Windows 3.1, την πιο ώριμη έκδοση του GUI αυτού, το οποίο έτρεχε πάνω +από το DOS, βγάζοντας έξω από το παιχνίδι δύο ισχυρούς ανταγωνιστές. + +Την Digital Research, η οποία με το DRDOS 6.0 είχε τραβήξει πολύ κόσμο από το MSDOS 5.0, την πολέμησε με ένα πολύ απλό κόλπο του marketing. Τα Windows 3.1 δεν +δούλευαν με το DRDOS 6.0 αλλά μόνο με το MSDOS 5.0, λόγω ασυμβατότητας στον memory manager, το γνωστό HIMEM.SYS. Η αλήθεια είναι βέβαια λίγο διαφορετική, και +όσοι τότε το είχαν καταλάβει, κατάλαβαν και το παιχνίδι του κ. Gates. Αν κάποιος άλλαζε το όνομα του memory manager του DRDOS 6.0 και από HIDOS.SYS το έκανε +HIMEM.SYS, τα Windows 3.1 δούλευαν κανονικότατα!!! Αυτό βέβαια ήταν μάλλον ένα κόλπο για τους \"μυημένους\", και πάλι υπήρχε η αμφιβολία: \"Μα δεν μπορεί να +είναι τόσο απλό!!!\". Κι όμως ήταν τόσο απλό. Και όποιος το δοκίμασε, μεταξύ αυτών και ο υπογράφων, μπορεί να σας διαβεβαιώσει ότι δεν είχε ποτέ κανένα +πρόβλημα. + +Την IBM, η οποία τότε είχε βάλει όλες τις δυνάμεις της στην παραγωγή (από κοινού με την Microsoft) ενός νέου λειτουργικού συστήματος, του OS/2, έπρεπε να την +πολεμήσει με άλλους τρόπους. Έτσι, ο κ. Gates, \"άφησε\" τα Windows 3.1 να αντιγράφονται ελεύθερα, φέρνοντάς τα έτσι σε κάθε σπίτι. Παρανόμως, αλλά ποιος έδινε +σημασία; Τα Windows 3.1 ήταν εκεί και δωρεάν. Ομοίως και το Office (μήπως είναι τυχαίο ότι το πρώτο προιόν της Microsoft το οποίο ΠΡΑΓΜΑΤΙΚΑ χρειάζεται serial +number για να λειτουργησει είναι το Office 97;) Το OS/2 αργούσε ακόμα. Όταν τέλος βγήκε το OS/2 (η έκδοση 3.0-Warp), ένα σταθερό και πολύ αξιόλογο (συγκριτικά +με τα \"αντίστοιχα\" της Microsoft) λειτουργικό σύστημα, ήταν ήδη πολύ αργά. Τα Windows 95 δεν ήταν εκεί, αλλά υπήρχε το \"φάντασμα\" της ασυμβατότητας με τα +Windows 3.1. Βλέπετε, όταν ο κ. Gates αποχώρησε από την ανάπτυξη του OS/2, πήρε από την ΙΒΜ και το δικαίωμα να χρησιμοποιεί κώδικα των Windows 3.1 στο +λειτουργικό που ετοίμαζε. + +H Apple με τη σειρά της, φρόντισε η ίδια να μείνει έξω από το παιχνίδι, δίνοντας το λειτουργικό της μόνο στα συστήματά της (τα οποία ήταν και πολύ ακριβά). Έτσι +ο κ.Gates έμεινε χωρίς αντίπαλο στη μάχη των λειτουργικών. Η αλήθεια βέβαια είναι ότι το πρώτο λειτουργικό που έβγαλε η Microsoft ήταν τα Windows NT 3.1, τα +οποία ήταν επιεικώς απαράδεκτα ως λειτουργικό. Τα Windows NT 4.0 ήταν η πρώτη αρκετά σταθερή έκδοση που μπορούσε να χαρακτηριστεί αξιόπιστο λειτουργικό. Αν +συγκρίνουμε όμως τα Windows NT 4.0 με οποιοδήποτε άλλο λειτουργικό ίδιας κλάσης (OS/2, Linux κλπ) θα δούμε ότι η όποια διάδοσή του στηρίζεται σε αυτή ακριβώς τη +συμβατότητα (με τα Windows 95 εν προκειμένω). Τελικά αυτό που έχει γίνει, είναι να έχουν φτάσει τα Windows95 σε κάθε σπίτι, επειδή υπάρχει software \"δωρεάν\" +διαθέσιμο. Όχι, δεν είναι δωρεάν, πειρατικό είναι, αλλά με τις \"ευλογίες\" (άτυπες βέβαια) του ίδιου του κατασκευαστή. + + +### [2. Η πραγματική μορφή της κατάστασης]{#s2} + +Από την άλλη μεριά, υπάρχει ένα λειτουργικό το οποίο είναι πραγματικά, και όχι ως κόλπο του marketing, δωρεάν. Το Linux, ένα σταθερό Unixοειδές λειτουργικό για +φτηνούς Η/Υ (δηλ. τεχνολογίας x86). Το Linux αναπτύσσεται από ερασιτέχνες. Δεν θα αναλύσω την ιστορία του Linux, η οποία είναι λίγο πολύ γνωστή. Θα αναφέρω μόνο +τα θετικά και αρνητικά σημεία που αυτό έχει, όχι από τεχνική σκοπιά, αλλά από marketίστικη. Το Linux αναπτύσσεται παράλληλα από πάρα πολλούς ανθρώπους σε όλο +τον κόσμο. Αυτό σημαίνει δύο πράγματα. + +- Πρώτον, ότι είναι μπροστά στις εξελίξεις, είναι ευέλικτο και, όσο περνάει ο καιρός και ασχολείται όλο και πιο πολύς κόσμος με την ανάπτυξή του, θα γίνει (αν + δεν είναι ήδη) ένα λειτουργικό το οποίο βρίσκεται στην κορυφή της τεχνολογίας. +- Δεύτερον, ότι δεν υπάρχει υποστήριξη. Ένα κακογραμμένο κομμάτι κώδικα μπορεί να δημιουργήσει αρκετά προβλήματα. Αυτό όμως ισχύει κυρίως για τα προγράμματα, + και όχι για μέρη του λειτουργικού. + +Τα πράγματα είναι απλά τώρα πια. Οι συγκρίσεις είναι μάλλον αστείες. Το Linux, χωρίς την οικονομική στήριξη του Redmond, χωρίς λεφτά να πληρώσει ένα σωρό +(καλούς ή κακούς) προγραμματιστές, βρίσκεται ήδη σε πάρα πολύ καλό δρόμο. Ας δούμε ορισμένα στοιχεία: + +- Αν και ξεκίνησε για να τρέχει σε i386 επεξεργαστές, τώρα τρέχει σε Alpha, Sparc, Mips, PowerPC, 680x0 και μάλλον και άλλους τους οποίους δεν θυμάμαι. + Δηλαδή, είναι αυτή τη στιγμή το μόνο λειτουργικό το οποίο \"τρέχει\" σε οποιοδήποτε σχεδόν hardware. +- Αναπτύσσεται ακολουθώντας την τεχνολογία στην πληροφορική. To ΑΤΜ, αυτό που από πολλούς θεωρειται το μέλλον σε τοπικά και ευρείας περιφέρειας δίκτυα, ήδη + υποστηρίζεται από το Linux (αλλά και από τα Windows 98. Το θέμα είναι το πιο από τα δύο θα δουλεύει). Το Corba, ένα project της ΕΟΚ για τηλεπικοινωνίες, + υποστηρίζεται από το Linux. Και άλλα πολλά τέτοια τα οποία θα ήταν αδύνατο να απαριθμήσω. +- Υπάρχουν εταιρείες λογισμικού οι οποίες \"στηρίζουν\" το Linux. Και δεν μιλάμε μόνο για εμπορικές εταιρείες (οι οποίες έχουν την ευφυία να διαθέτουν τα + προιόντα τους για Linux σε χαμηλότερες τιμές απ\' ότι για τα άλλα λειτουργικά) όπως η Corel (με την πρόσφατα εξαγορασμένη Wordperfect), η Netscape, πρόσφατα + άκουσα και η Informix, αλλά και για εταιρείες οι οποίες πουλάνε τα προγράμματά τους στους άλλους και τα δίνουν δωρεάν στους χρήστες Linux (όπως η + StarDivision με το πολύ καλό StarOffice). Υπάρχει και η Applixware, με το γνωστό σε όλους Applix, μία σουίτα προγραμμάτων πολύ αξιόλογη. + +Το Linux έχει \"κληρονομήσει\" τα καλά του Unix, και έχει αποβάλλει πολλά από τα κακά. Στα καλά που έχει κληρονομήσει, να βάλουμε την σταθερότητα ως λειτουργικό +σύστημα, την ασφάλεια και την πληθώρα freeware λογισμικού. Στα άσχημα που έχει αποβάλλει, να αναφέρουμε ότι το Linux, είναι το πρώτο Unixοειδές λειτουργικό +σύστημα το οποίο μπορεί να χρησιμοποιηθεί για desktop εφαρμογές (Office βασικά). Μόλις πρόσφατα η Sun υπέγραψε μία συμφωνία με την StarDivision για να γίνει +port το StarOffice σε Solaris. Μέχρι πρότινος δεν υπήρχε εύχρηστο Office πακέτο για Unix. Υπήρχαν βέβαια όλα αυτά τα οποία χαρακτήριζαν και χαρακτηρίζουν ένα +Workstation (π.χ. Latex).\ +Συγκρίσεις με άλλα Unices δεν μπορούν να γίνουν. Το Linux είναι καθαρό Unix, με όλα τα καλά (όπως είπαμε και προηγουμένως) των Unix, αλλά ένα ακόμα: είναι +δωρεάν. + + +### [3. Δηλαδή υπάρχουν άνθρωποι που το χρησιμοποιούν, πέρα από τους φοιτητές;]{#s3} + +Αν υπάρχουν λέει; Διαβάστε τη στήλη \"Ορισμένοι το παίρνουν σοβαρά\" του Παναγιώτη Βρυώνη, και θα καταλάβετε. Στο προηγούμενο τεύχος μας είπε για την Cisco. Σε +αυτό το τεύχος μας λέει για την Daimler-Benz. Να σας πω εγώ επίσης για την Byte (εκδοτικός οργανισμός) και την Corel Corporation (το καινούριο τους Network +Computer στηρίζεται σε μία μορφή Linux). Να σας θυμίσω επίσης (ή να ενημερώσω όσους δεν ξέρουν την ταινία \"Τιτανικός\" (πού φτιάχτηκε με Alpha επεξεργαστές που +έτρεχαν Linux). Πιστέψτε με, αυτά που σας λέω είναι ένα μικρό μόνο δείγμα. Ένα άλλο στοιχείο το οποίο δεν πρέπει να παραβλέπουμε, είναι η τρομερή διάδοση του +Linux στο Internet. Πάρα πολλοί servers (κυρίως ISPs) τρέχουν Linux. Στην δε Ελλαδίτσα μας, το Linux είναι το πιο διαδεδομένο λειτουργικό σύστημα για ISPs (ΕΕΧΙ +και Matrix-Kapatel είναι δύο μόνο παραδείγματα). Αλήθεια, μία έρευνα των ISP\'s για το τι λειτουργικό χρησιμοποιούν θα ήταν πολύ χρήσιμη. Έχει χρόνο κανείς; + +Το Linux έχει μπει εξίσου δυναμικά στην αγορά των Servers, σε αυτή των Workstation αλλά και σε αυτή των Desktop μηχανημάτων (γραμματειακή υποστήριξη). Και αν +ακόμα ορισμένες εταιρείες οι οποίες βγάζουν αξιόλογα προιόντα αρνούνται να παραγάγουν λογισμικό για Linux (π.χ. Adobe) υπάρχει η δυναμική κοινότητα του Linux η +οποία μπορεί και δημιουργεί ΔΩΡΕΑΝ κυρίως, τουλάχιστον ισάξια προγράμματα (Gimp, σε αντιπαράθεση με το Photoshop). + +Βλέπουμε λοιπόν ότι και σε επίπεδο servers, workstations αλλά και σε επίπεδο desktop, το Linux, αν δεν υπερέχει, \"χτυπάει το παιχνίδι στα ίσια\". Τι μας μένει + +### [4. Το στοίχημα των managers]{#s4} + +Σε κάθε μεγάλη εταιρεία, υπάρχουν οι δευθυντές, μερικοί διευθυντές, προιστάμενοι κλπ, κλπ. Η δουλειά του καθενός είναι να διαμοιράζει τις ευθύνες στους +υφισταμένους του, να μαζεύει δεδομένα από αυτούς και να τα παρουσιάζει στους προισταμένους του. Η διοίκηση μίας επιχείρησης, όσο μεγάλη και αν είναι αυτή, δεν +είναι και τόσο δύσκολη υπόθεση, αν έχεις πολλά διοικητικά στελέχη. Τουλάχιστον τόσα ώστε να μπορεί κάθε στέλεχος να λαμβάνει μία απόφαση κάθε εβδομάδα (και να +μην χρειάζεται η εταιρεία συχνότερες αποφάσεις). Παράξενο; Ναι, πολύ. Αλλά είναι η πραγματικότητα. Αν κάποιος για παράδειγμα, ως προιστάμενος υπηρεσίας +μηχανογράφησης, αν και άσχετος από Η/Υ, αναθέσει την έρευνα αγοράς για λειτουργικό σύστημα σε έναν υφιστάμενό του (κατά προτίμηση έμπειρο χρήστη Η/Υ), την +έρευνα αγοράς για την βάση δεδομένων σε έναν άλλο (κατά προτίμηση ένα αναλυτή με ειδικότητα στις βάσεις δεδομένων), την έρευνα αγοράς για το hardware σε έναν +άλλο (κατά προτίμηση μηχανικό Η/Υ), και αν αυτοί μπορέσουν να \"σπάσουν\" αυτές τις πληροφορίες έτσι ώστε να μπορέσουν να βάλουν άλλους να τις μαζέψουν, τότε το +μόνο που έχει να κάνει ο καθένας τους είναι να \"συνθέσει\" τα δεδομένα που του έρχονται \"από κάτω\" και να τα προωθήσει \"προς τα πάνω\". + +Για να μην παρεξηγηθώ, δεν υποβιβάζω τους managers. Αυτή η δουλειά όπως την παρουσίασα είναι από μόνη της πολύ δύσκολη, άσε δε που προυποθέτει ΠΟΛΥ ΚΑΛΗ επιλογή +προσωπικού. Αυτό όμως δεν αλλάζει τα δεδομένα. Ο κάθε manager έχει μία ευθύνη την οποία πρέπει να μοιράσει, και τελικά, αυτό που κάνει για να λειτουργήσει +αποδοτικά, είναι να κρατάει μόνο τα πολύ σοβαρά κομμάτια ευθύνης πάνω του. + +Ας έρθουμε τώρα στην Ελλάδα. Πόσες εταιρείες έχουν ικανοποιητικό αριθμό managers για να μπορέσουν να μοιράσουν τις δουλειές; Μάλλον καμμία. Το αποτέλεσμα +γνωστό. Η ευθύνη πάλι διασπάται, αλλά αυτή τη φορά βγαίνει και έξω από την εταιρεία. Τι τον νοιάζει τον Α manager αν το Linux (π.χ.) είναι πιο σταθερό από τα +Windows (π.χ.). Τίποτα. Αυτό που τον νοιάzει, είναι, αν κάτι πάει στραβά, να υπάρχει κάποιος άλλος να πάρει την ευθύνη. Πίσω από το Linux υπάρχουν \"ένα μάτσο +φοιτητές\" ενώ πίσω από τα Windows υπάρχει \"μία ολόκληρη εταιρεία\". Είναι καθαρά θέμα ευθυνών. Και όχι, κανένας manager στην Ελλάδα δεν πληρώνεται τόσο καλά, +ώστε να αποφασίσει να \"ρισκάρει\" τη θέση του, κάνοντας έναν απλό συλλογισμό: Τι εναλλακτικές λύσεις έχουμε; + +1. Εμπιστευόμαστε μία μεγάλη εταιρεία, τους πληρώνουμε αδρά για μία τεχνική υποστήριξη (η οποία μπορεί και να μην είναι και τόσο αποδοτική αλλά, υπάρχει εκεί + ένας προιστάμενος να πάρει το φταίξιμο), αγοράζουμε το προιόν τους το οποίο έχει διάρκεια ζωής 5 (π.χ.) χρόνια, πληρώνουμε κάθε μερική αναβάθμιση που θα + χρειαστούμε (ακόμα και το διόρθωμα των bugs το οποίο βγαίνει ως άλλη έκδοση του ίδιου προιόντος), και σε αυτά τα 5 χρόνια θα χρειαστώ άλλο ένα τέτοιο ποσό + για αναπλήρωση - αναβάθμιση. Συνολικό ποσό στα 5 χρόνια (οπότε θα έχει λήξει η \"περίοδος απόσβεσης\" 20.000.000 δραχμές). + + **Υπάρχει κάποιος να πάρει την ευθύνη, αν κάτι δεν πάει καλά.** + +2. Εμπιστευόμαστε ένα ελεύθερο (και ελεύθερα αναπτυσσόμενο) λειτουργικό σύστημα, δεν πληρώνουμε τίποτα σε καμμία εταιρεία για τεχνική υποστήριξη, δεν + πληρώνουμε τίποτα σε κανέναν για αναβαθμίσεις, προσλαμβάνουμε ένα - δύο - πέντε άτομα (ανάλογα με το μέγεθος της επιχείρησης και τον όγκο δουλειάς) τα οποία + ασχολούνται με αυτό μόνο το πράγμα, και δεν θα χρειαστώ ποτέ ποσό για αναπλήρωση - αναβάθμιση. Συνολικό ποσό στα 5 χρόνια (για μέτρο σύγκρισης και μόνο, και + χάριν του παραδείγματος, 10.000.000 δραχμές). + + **Η ευθύνη είναι όλη πάνω μας.** + +Δεν χρειάζεται να το συζητήσουμε. Η απόφαση του Έλληνα manager είναι ξεκάθαρη. Δεν τον απασχολεί το κόστος για την εταιρεία, όσο αυτός μπορεί να παρουσιάσει +έργο και *να μην κατηγορηθεί ποτέ για λάθος απόφαση.*\ +Στην Γερμανία, από την άλλη μεριά, και την Αμερική, υπάρχουν εταιρείες οι οποίες πουλάνε Η/Υ με προεγκατεστημένο Linux ως κύριο λειτουργικό. Εκεί είναι πολύ +διαφορετικά τα πράγματα. Οι managers, εκτός από άλλη παιδεία, έχουν και άλλη ελευθερία κινήσεων. Έχουν και καλύτερους μισθούς. Έχουν και την υποστήριξη των +προισταμένων τους σε θέματα μείωσης του κόστους. Το αποτέλεσμα γνωστό. Δεν υπάρχει μεγάλη παραδοσιακή εταιρεία στην Ελλάδα που να χρησιμοποιεί Linux (και μακάρι +να έχω άγνοια και να υπάρχουν). Μόνο οι ISPs οι οποίοι ξεκινούν ως \"παρέα\" και λογικά μόλις πάψουν να είναι παρέες και αρχίζουν να γίνονται επιχειρήσεις, που +ο καθένας πρέπει κάπου να λογοδοτήσει, αλλάζουν οι συσχετισμοί. Πρόσφατο παράδειγμα το Acropolis Net το οποίο από Linux γύρισε σε Windows NT. Ξέρετε τι +φαντάζομαι πως έγινε; (Το φαντάζομαι, δεν ξέρω αν είναι σωστό): + +Όχι, δεν πίστεψε κανείς ότι είναι τόσο πιο καλά τα NT ώστε να υποχρεώσουν μία εταιρεία να προβεί σε τέτοιο κόστος αντικατάστασης (προσωπικά δεν πιστεύω ότι +είναι πιο καλά τα ΝΤ, τελεία). Απλά μπήκαν στο \"κύκλωμα\" άνθρωποι οι οποίοι δεν έχουν σχέση με Η/Υ. Καθαροί managers\... + + +### [5. Και τι μπορούμε να κάνουμε;]{#s5} + +Τελικά αυτό που λείπει από την Ελλάδα είναι μία εταιρεία (ή δύο, ή και τρεις) τεχνικής υποστήριξης του Linux (και επαγελματικό προσανατολισμό το magaz?). Μία +εταιρεία η οποία θα παρέχει τις υπηρεσίες της σε κόστος το οποίο σίγουρα θα είναι ανταγωνιστικό προς τις μεγάλες εταιρείες, μια που το μόνο που χρειάζεται είναι +μία γραμμή προς το Internet, και δυο-τρεις Η/Υ. Μία εταιρεία που με τις κατάλληλες κινήσεις θα πείσει τον κόσμο να εμπιστευτεί το Linux. Όχι, δεν χρειάζεται +κανείς να πείσει τον κόσμο ότι το Linux είναι καλύτερο. Αυτό θα γίνει στην πορεία. Αυτό που χρειάζεται είναι να πειστούν οι μεγάλες εταιρείες να του δώσουν μια +ευκαιρία\... + diff --git a/content/articles/02/03_realworld.md b/content/articles/02/03_realworld.md new file mode 100644 index 0000000..0fca404 --- /dev/null +++ b/content/articles/02/03_realworld.md @@ -0,0 +1,64 @@ ++++ +title = 'Ορισμένοι το παίρνουν σοβαρά - Daimler-Benz AG' +date = '1998-01-01T00:00:00Z' +description = '' +author = 'Παναγιώτης Βρυώνης' +issue = ['Magaz 02'] +issue_weight = 3 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Πολλές μεγάλες επιχειρήσεις και οργανισμοί ανά τον κόσμο χρησιμοποιούν το Linux. Αυτό τον μήνα παρουσιάζουμε την Daimler-Benz.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αυτό τον μήνα θα δούμε πώς η Daimler-Benz AG (η γνωστή μας Mercedes), χρησιμοποιεί το Linux. Στο e-mail που του έστειλα, ο Reinhold Schoeb απάντησε σχεδόν +αμέσως, με τον ενθουσιασμό που χαρακτηρίζει την κοινότητα του Linux. + +Η ανταλλαγή e-mail κατέληξε τελικά με μία μικρή συνέντευξη που σας παραθέτω: + +*MAGAZ:Γράφω ένα άρθρο για το πρώτο τεύχος (τελικά για το δεύτερο\...) ενός ελληνικού περιοδικού για το Linux, που θα ονομάζεται MAGAZ. Θα γράφω μία στήλη που +θα λέγεται \"Το Linux στον πραγματικό κόσμο\" (έγινε \"Ορισμένοι το παίρνουν σοβαρά\").* + +R: Ωραία! Είμαι αναγνώστης των αμερικάνικων και γερμανικών περιοδικών για το Linux από τα πρώτα τους τεύχη. + +*MAGAZ: Έμαθα από το LINUX-BIZ ότι η Mercedes-Benz AG χρησιμοποιεί Linux. Θα εκτιμούσα πάρα πολύ αν θα μπορούσατε να απαντήσετε σε μερικές ερωτήσεις σχετικά με +τον τρόπο που η εταιρεία σας χρησιμοποιεί το λειτουργικό αυτό.* + +R: Βεβαίως. Αλλά πρώτα θα πρέπει να σου πω ότι η Mercedes-Benz ονομάζεται πλέον Daimler-Benz. Μόνο τα αυτοκίνητά μας έχουν τώρα πια το όνομα Mercedes. + +*MAGAZ: Πόσα \"κουτιά\" με Linux έχετε;* + +R: Επειδή η Daimler-Benz έχει περισσότερους από 300.000 υπαλλήλους κάτι τέτοιο είναι δύσκολο να σου το απαντήσω. Γνωρίζω για περίπου 50 συστήματα με Linux. Στην +ομάδα μου έχουμε περίπου 15. + +*MAGAZ: Αντικατέστησαν συστήματα που έτρεχαν κάποιο άλλο λειτουργικό;* + +R: Ναι, στην δικιά μου ομάδα πήγαμε από συστήματα Windows σε workstations της Sun με Solaris και όλο και περισσότερο σε PCs με Linux. + +*MAGAZ: Γιατί;* + +R: Ο λόγος ήταν οτι δεν είμασταν ικανοποιημένοι από την σταθερότητα των Windows. + +*MAGAZ: Σε ποιά τμήματα της εταιρείας χρησιμοποιείτε Linux;* + +R: Στα τμήματα έρευνας και ανάπτυξης. + +*MAGAZ: Τί είδους προγράμματα χρησιμοποιείτε με το Linux;* + +R: Τα πάντα, αλλά κυρίως Matlab/Simulink για γρήγορη ανάπτυξη πρωτοτύπων (rapid prototyping) και από την άλλη πλευρά το StarOffice στην θέση του Microsoft +Office. + +*MAGAZ: Ποιά είναι η γενική εντύπωση που έχετε για το Linux; Είστε ικανοποιημένοι;* + +R: Είμαστε πολύ ικανοποιημένοι. Το Linux είναι σταθερό σαν το Solaris, πολύ φθηνότερο και μπορεί κανείς να βρει κάθε είδος προγράμματος. + +*MAGAZ: Δηλαδή σκοπεύετε να χρησιμοποιήσετε περισσότερα συστήματα Linux στο μέλλον;* + +R: Ναι, νομίζουμε πως μπορούμε να αντικαταστήσουμε όλους τους σταθμούς εργασίας της Sun με συστήματα Linux στο μέλλον. Ο μόνος τομέας που δεν χρησιμοποιούμε +Linux είναι για τα συστήματα πραγματικού χρόνου (real time systems). Εκεί χρησιμοποιούμε το LynxOS, ένα εμπορικό real time Unix. Ο λόγος είναι ότι λόγω του +υπόλοιπου περιβάλλοντος στα αυτοκίνητα δοκιμών δεν μπορούμε να χρησιμοποιήσουμε επεξεργαστές Intel (χρησιμοποιούμε Motorola PowerPC). + +*MAGAZ: Σας ευχαριστώ.* + +R: Ελπίζω να βοήθησα. Καλή τύχη με το περιοδικό σας. diff --git a/content/articles/02/04_smbconf.md b/content/articles/02/04_smbconf.md new file mode 100644 index 0000000..c651545 --- /dev/null +++ b/content/articles/02/04_smbconf.md @@ -0,0 +1,171 @@ ++++ +title = 'SAMBA made easy\...' +date = '1998-02-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης' +issue = ['Magaz 02'] +issue_weight = 4 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Για αυτό το δεύτερο τεύχος του Magaz σας ετοίμασα ένα case study. Πως μπορεί το Linux box που προφανώς έχετε, να επικοινωνήσει με τα Win 95 που έχουν οι +συνάδελφοι / φίλοι σας στον ίδιο χώρο (και προφανώς στο ίδιο ethernet).* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Ας μην μπερδευτούμε. Αυτό δεν είναι ένα HOW-TO (εξάλλου υπάρχει πολύ documentation για το SAMBA, σε αυτό θα αναφερθώ). Αυτό θέλω να είναι ένα dummy\'s guide. +Όχι, δεν θεωρώ κανένα dummy. Μόνο εμένα που πολλά από αυτά που γράφω με δυσκόλεψαν :-) Μία λύση είναι να στήσετε το πρωτόκολλο TCP/IP και στα Win95. Μετά με τα +γνωστά (Telnet, Ftp) μπορείτε να έχετε την ίδια σύνδεση με τα Win95 όπως και με τα άλλα Linux/Unix μηχανήματα. Για να κάνετε όμως mount τους δίσκους τους (και +να κάνουν αυτοί mount τους δικούς σας), χρειάζεται NFS. NFS server καθώς και NFS client έχετε στο Linuxακι σας. Τα ίδια προγράμματα για Win95 δεν υπάρχουν παρά +μόνο Shareware. Και η χρήση τους προϋποθέτει ρυθμίσεις στα μηχανήματα με Win95. Επειδή όμως εσείς είστε οι ειδήμονες και όχι οι Win95 users, ας δούμε πως +μπορείτε να έχετε σύνδεση, χωρίς πολλές παράξενες ρυθμίσεις στα Win95. Μπορείτε λοιπόν να χρησιμοποιήσετε το πρωτόκολλο για Peer-to-Peer σύνδεση που έχουν τα +Win95. Αυτό \"χρησιμοποιεί\" τις λέξεις SMB, NETBeui και NETBIOS. Το τι είναι τι, είναι λίγο μπερδεμένο. Όπως λέει το documentation του Samba, το NETBeui είναι +ένα low-level πρωτόκολλο, και το NetBIOS είναι ένα high-level πρωτόκολλο, που μπορεί να δουλέψει είτε πάνω από TCP/IP, ή πάνω από NETBeui, ή ακόμα και πάνω από +IPX/SPX. Η υλοποίηση που θα δούμε, χρησιμοποιεί το TCP/IP ως underlaying layer. Το πρόγραμμα που σας δίνει αυτή τη δυνατότητα λέγεται +[Samba](http://www.dlr.de/fresh/linux/src/samba-1.9.18.tar.gz). Οι ρυθμίσεις του είναι εύκολες, αν γίνουν με τη σωστή σειρά. (Εδώ υποθέτουμε ότι έχουν ρυθμιστεί +σωστά τα TCP/IP στο Linux και στα Windows 95). + +Στο σημείο αυτό θα ήθελα να ευχαριστήσω το [Χρήστο Ρικούδη](mailto:ricudis@paiko.gr), ο οποίος μου έλυσε πολλές απορίες κατά τη διάρκεια μιας αντιπαράθεσης που +είχαμε πρόσφατα στην linux-greek-users λίστα. Χρήστο ευχαριστώ, ελπίζω να τα κατάλαβα επιτέλους :-) + +**1. Στάδια εγκατάστασης\...** +-------------------------------------------------------- + +**2. Έλεγχος σωστής λειτουργίας\...** +--------------------------------------------------------------- + +**3. Χρήση** +-------------------------------------- + + +### [1. Στάδια εγκατάστασης\...]{#s1} + +- Θα χρειαστεί να ξαναδημιουργήσουμε τον πυρήνα (recompile του kernel), ενεργοποποιώντας στα Filesystems, τα SMB support και SMB Win95 bug workaround. Καλό θα + ήταν επίσης να ενεργοποιηθεί το Win95 vfat. Αυτό δεν είναι για να δούνε τα Win95 μηχανήματα τους δίσκους μας, αλλά για να δούμε εμείς τους δικούς τους. Θα + επανέλθουμε σε αυτό αργοτερα. +- Κάνουμε extract το [Samba](http://www.dlr.de/fresh/linux/src/samba-1.9.18.tar.gz) στο \"smbtar\" directory. Στο Makefile που βρίσκεται στο directory + \"smbtar\"/source πρέπει (αν θέλουμε να μην κάνουμε πολλές ρυθμίσεις αργότερα) να δηλώσουμε ως workgroup αυτό στο οποίο θέλουμε να ανήκουμε (δηλαδή αυτό στο + οποίο ανήκουν οι πιο συχνά χρησιμοποιούμενοι PC). Επίσης ορίζουμε το default guest account, το οποίο εξ ορισμού είναι το nobody (μάλλον όχι και τόσο καλή + ιδέα, όπως λέει και το ίδιο το Makefile, αφού αυτό το account στα Unix μηχανήματα δεν έχει δυνατότητα εκτύπωσης). Το default guest account είναι αυτό που + χρησιμοποιείται όταν κάποιος συνδεθεί στο μηχάνημά μας χωρίς username και password. Προσοχή, πρέπει να υπάρχει αυτό το account στο μηχάνημά μας (ένας + έλεγχος στο /etc/passwd θα σας επιβεβαιώσει την ύπαρξή του ή όχι). +- Οι υπόλοιπες ρυθμίσεις στο Makefile (directories, compiler κλπ) είναι θέμα του κάθε μηχανήματος. Έστω ότι ορίζουμε εγκατάσταση στο \"smbinst\" directory. +- Μετά τα (τυπικά) make, make install, έχουμε τα αρχεία που χρειαζόμαστε στο directory που ορίσαμε, εκτός από το smb.conf, το οποίο δεν υπάρχει και πρέπει να + δημιουργήσουμε. Για αρχή, είναι αρκετό να αντιγράψουμε το smb.conf από το directory \"smbtar\"/examples/simple στο \"smbinst\"/lib, και να αλλάξουμε το + guest account (το οποίο έχει ένα όνομα pcguest), σε αυτό που δηλώσαμε στο Makefile. +- Από το \"smbinst\"/bin, εκτελούμε to testparm, το οποίο ελέγχει το \"smbinst\"/lib/smb.conf για λάθη. Φυσιολογικά δεν πρέπει να υπάρχουν λάθη, οπότε + μπορούμε να συνεχίσουμε. Αν υπάρχουν όμως λάθη, μπορούμε απλά να κάνουμε comment τις γραμμές που μας δημιουργούν πρόβλημα. Αν χρειαζόμαστε όμως αυτές τις + υπηρεσίες, πρέπει να βρούμε που είναι το λάθος. + + +### [2. Έλεγχος σωστής λειτουργίας\...]{#s2} + +- Στο directory \"smbinst\"/bin υπάρχουν τα αρχεία nmbd και smbd. Αυτά είναι οι servers. Το μεν nmbd είναι ο NETBios Name server ενώ το smbd είναι ο SMB + server. Αυτοί οι servers, πρέπει να αρχίζουν όποτε καλούνται για να έχουμε πάντα σύνδεση. Συνεπώς πρέπει να τους προσθέσουμε στο γνωστό /etc/inetd.conf, + όπου ήδη υπάρχουν (ως comments) οι απαραίτητες γραμμές. Αν δεν υπάρχουν, είναι οι εξής: + + netbios-ssn stream tcp nowait root "smbinst"/bin/smbd smbd + netbios-ns dgram udp wait root "smbinst"/bin/nmbd nmbd + +- Καιρός να δοκιμάσουμε άλλη μία εντολή από το \"smbinst\"/bin. Γράφουμε + + nmblookup -B __SAMBA__ + + Το αποτέλεσμα πρέπει να είναι η IP διεύθυνση του μηχανήματος. + + π.χ. 192.168.0.2 __SAMBA__ + + Αν δεν πάρουμε αυτή την απάντηση, κάτι δεν πάει καλά με το nmbd (NETBios nameserver). Aν οι αναφορές στο inetd.conf είναι όπως γράφονται παραπάνω, δεν + πρέπει να έχουμε πρόβλημα. Ένα συνηθισμένο πρόβλημα είναι ότι το port 137 είναι κατηλειμμένο. Ας το εξακριβώσουμε. Με την εντολή netstat -a \| grep netbios + μπορούμε να ελέγξουμε ότι πράγματι το netbios-ssn είναι σε LISTEN mode, καθώς και ότι τα netbios-ns και netbios-dgm είναι ενεργοποιημένα (αυτά δεν πρέπει να + είναι σε LISTEN mode). + + tcp 0 0 *:netbios-ssn *:* LISTEN + udp 0 0 *:netbios-ns *:* + udp 0 0 *:netbios-dgm *:* + + Αν κάποια γραμμή από τις παραπάνω λείπει, πράγματι μία από τις υπηρεσίες δεν λειτουργεί. Γι\' αυτό ελέγχουμε το αρχείο /etc/services στο οποίο πρέπει να + υπάρχουν δηλωμένα τα sockets στα οποία ακούν αυτοί οι daemons. + + netbios-ns 137/tcp # NETBIOS Name Service + netbios-ns 137/udp + netbios-dgm 138/tcp # NETBIOS Datagram Service + netbios-dgm 138/udp + netbios-ssn 139/tcp # NETBIOS session service + netbios-ssn 139/udp + + Με ένα kill -HUP \"pid-of-inetd\" υποχρεώνουμε τον inetd να διαβάσει ότι αλλαγές κάναμε στα /etc/inetd.conf και /etc/services. Αν δοκιμάσουμε τώρα να + γράψουμε + + nmblookup -B "win95-pc" '*' + + πρέπει να δούμε την IP διεύθυνση του WIN95 μηχανήματος. + + π.χ. 192.168.0.1 * + +Tip \#1: Αν όλα τα παραπάνω πήγαν καλά, είμαστε σίγουροι ότι το nmdb (Netbios name-server) δουλεύει σωστά. Αν δεν δουλεύει σωστά, θα μπορούμε πάλι να +χρησιμοποιήσουμε το SMB αλλά με κάποιους περιορισμούς (στη χρήση των ονομάτων των μηχανημάτων). Εν ολίγοις, αν πρόκειται να δουλέψετε μόνο με IP διευθύνσεις, +δεν το χρειάζεστε. + +Tip \#2: Αν κάνετε accounts στο Linux, με username τα ονόματα των Win95 μηχανημάτων, το SMB θα ζητάει και password (το password του account) για τη σύνδεση από +τα Win95 στο Linux. To εύκολο σε αυτό είναι ότι ο χρήστης μπορεί να κάνει login στα Windows95 με το username του account που έχει στο Linux. + +Tip \#3: Δεν θα ήταν άσχημο εδώ, να ρίξουμε μια ματιά στο /etc/hosts.allow για να μην κάνουμε διαθέσιμους τους δίσκους μας σε όλο το Internet :-) + +### [3. Χρήση]{#s3} + +- Τώρα που έχουμε σωστά στημένους τους daemons, καιρός να δούμε πως θα χρησιμοποιήσουμε την υπηρεσία αυτή. Ένα άλλο αρχείο που υπάρχει στο \"smbinst\"/bin + είναι το smbclient, το οποίο μας δίνει τα shares που υπάρχουν σε συγκεκριμένο host. Η σύνταξή του στην απλή της μορφή είναι smbclient -L \"hostname\" και οι + πληροφορίες που δίνει είναι αρκετές: Domain, OS, Server, User, Workgroup, Shares, όλα στα χέρια μας. Η αλήθεια είναι ότι ήδη ξέρουμε τα Domain, OS, Server, + User και Workgroup (αφού εμείς τα ορίσαμε) αλλά είναι καλό να δίνονται αυτές οι πληροφορίες για troubleshooting. Τα shares τα οποία αναφέρονται είναι μία + καινούρια πληροφορία, η οποία έρχεται από το αρχείο \"smbinst\"/lib/smb.conf. Ήρθε λοιπόν η ώρα να \"πειράξουμε\" το αρχείο αυτό.Αυτό το αρχείο αποτελείται + από δηλώσεις, χωρισμένες σε sections. Το section \"global\" έχει τις επιλογές:\ + browsable = {yes/no} αν θα μπορεί κάποιος να δει το PC μας από το Network Neighborhood. Για να δουλέψει αυτό, πρέπει να δουλεύει σωστά το nmbd.\ + printing = {sysv/bsd/aix} ανάλογα με το πως έχουμε στήσει την υπηρεσία printing στο μηχάνημά μας (για Linux με ή χωρίς /etc/printcap, η επιλογή είναι bsd, + εκτός αν έχετε εσείς αλλάξει κάτι).\ + printcap name = {/etc/printcap} μόνο για bsd, το full path για το αρχείο printcap.\ + load printers = {yes/no} αν θα υπάρχει υπηρεσία εκτύπωσης από τα Win95 μηχανήματα.\ + guest account = {guest} Το account που δηλώσαμε στο Makefile (στάδιο 2), το οποίο ανταποκρίνεται σε οποιονδήποτε συνδέεται στο PC μας χωρίς account. Πρέπει + αυτό το account να υπάρχει στο μηχάνημα (συνήθως χωρίς δυνατότητα login και με πολύ λίγα δικαιώματα).\ + log file = {\"smbinst\"/log.%m} μία επιλογή για να γίνεται διαφορετικό logging για κάθε μηχάνημα που συνδέεται (%m).\ + lock directory = {\...} share modes = yes Αυτά τα δύο πρέπει να οριστούν αν θέλετε πολλοι χρήστες να χρησιμοποιούν τα ίδια αρχεία. Το lock directory πρέπει + να είναι world readable.\ + Το section \"Homes\" έχει τις επιλογές:\ + comment = {\...} Το όνομα με το οποίο θα εμφανίζεται το home directory του κάθε χρήστη στον υπολογιστή του (στο Network Neghborhood).\ + browsable = {yes/no} Όπως και στο section global. Μπορεί να γίνει και comment, για να χρησιμοποιηθούν οι ρυθμίσεις του global\ + read only = {yes/no} Αυτονόητο\ + create mode = {\...} Default Mask για νέα αρχεία (όχι umask, όπως σε standard Unix)\ + Το section \"printers\" έχει τις επιλογές\ + comment = {\...} Όπως ανωτέρω\ + browsable = {yes/no} Όπως ανωτέρω\ + printable = {yes/no} Δυνατότητα εκτύπωσης\ + public = {yes/no} αν θα μπορούν να έχουν δυνατότητα και guests (εκτός από normal users).\ + Για τα ανωτέρω sections, υπάρχουν και άλλες επιλογές, λιγότερο συχνά χρησιμοποιούμενες. Η ανάλυσή τους θα ήθελε πολύ χρόνο, οπότε\... man smb.conf Επίσης, + καλό θα ήταν να προστεθεί ένα section \"tmp\" για άτομα χωρίς account. + + "tmp" + comment = Temporary file space + path = /tmp + read only = yes + public = yes + + To νέο smb.conf θα διαβαστεί την επόμενη φορά που θα ξεκινήσει ο smbd. + +- Το εκτελέσιμο \"smbinst\"/bin/smbstatus μας δίνει τις \"ανοιχτές\" συνδέσεις Το εκτελέσιμο \"smbinst\"/bin/smbrun χρησιμοποιείται από το smbd. Το εκτελέσιμο + \"smbinst\"/bin/smbtar έχει ακριβώς την ίδια χρήση όπως το tar, αλλά για SMB shares. + +- Για να κάνετε και εσείς mount τα shares (δίσκους ή directories από Win95) θα χρειαστείτε το πακέτο + [smbfs](ftp://ftp.gwdg.de/pub/linux/misc/smbfs/smbfs.tgz), ενώ για να τυπώσετε σε SMB shared printer, θα χρειαστείτε το \"smbinst\"/bin/smbprint. Με το + πακέτο smbfs, τα πράγματα είναι απλά. Αυτό, μετά το compile θα σας δώσει δύο αρχεία: smbmount και smbumount. Η χρήση τους είναι η αυτονόητη: + + smbmount (smbumount) //"win95"/"share" "mount-point" [options] + + Συνήθως δεν χρειάζονται options, αλλά ένα smbmount -h θα σας δείξει τις πιθανές επιλογές. Το smbprint ωστόσο, δεν είναι εκτελέσιμο αλλά ένα script το οποίο + πρέπει εμείς να φτιάξουμε σύμφωνα με το δίκτυό μας. Νομίζω ότι οι οδηγίες που δίνονται στο αρχείο (ως comments) είναι πολύ κατατοπιστικές, οπότε δεν θα + ασχοληθώ μια που το καλύτερο που μπορώ να κάνω είναι μια\... μετάφραση. + +Σίγουρα υπάρχουν πολλά ακόμα πράγματα σχετικά με το Samba. Αυτό που προσπάθησα να κάνω είναι να δείξω πως \"στήνουμε και τρέχουμε\" ένα Samba server-client στο +Linuxάκι μας. Το σημαντικό βημα όμως, το οποίο θα πρέπει να κάνετε μόνοι σας, είναι το γνωστό \"finetuning\". Βελτιστοποίηση της λειτουργίας (και ασφάλειας) +αυτού του server. Καλή τύχη. + diff --git a/content/articles/02/05_news.md b/content/articles/02/05_news.md new file mode 100644 index 0000000..8fd462e --- /dev/null +++ b/content/articles/02/05_news.md @@ -0,0 +1,61 @@ ++++ +title = 'Νέα - Ανακοινώσεις' +date = '1998-02-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης' +issue = ['Magaz 02'] +issue_weight = 5 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το magaz από αυτό το μήνα εγκαινιάζει μία νέα στήλη. Η στήλη των νέων και των ανακοινώσεων, θα είναι μία πολύ σύντομη στήλη, και θα υπάρχει μόνο όταν έχουμε +κάτι να πούμε. Δεν είναι η στήλη των νέων, γενικά. Είναι η στήλη των νέων των συντακτών του magaz.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +1. Νέες στήλες + + Το magaz χρειάζεται συνεργάτες. Αυτό που σκεφτόμαστε, είναι να προσθέσουμε ΠΟΛΛΕΣ νέες στήλες. Για ξεκίνημα προτείνουμε (και περιμένουμε το O.K. από αυτούς + τους οποίους θέλουμε για αρθρογράφους): + + - Web resources από τον [Αντώνη Παπαγεωργίου](mailto:silent@ath.forthnet.gr). + - Θέματα προγραμματισμού από τον [Αγγελο Σταύρου](mailto:astavrou@ee.upatras.gr). + - Χιούμορ από την [Βούλα Σανιδά](mailto:voulariba@rocketmail.com) + - Νέα από το διεθνή χώρο (Θέση κενή) + - Ότι άλλο σκεφτείτε, από αυτόν που θα το σκεφτεί :-) + +2. Νέα μορφή + + Η ιδέα του Παναγιώτη Βρυώνη ήταν να υπάρχει μία όσο το δυνατόν κεντρική δομή του περιοδικού, ούτως ώστε να εξυπηρετεί το browsing παλιών τευχών και το + mirroring, σε περίπτωση που κάποιος θελήσει να κάνει mirror το περιοδικό. Μία κεντρική δομή με ένα τεύχος θα φάνταζε παράξενη, γι αυτό και περιμέναμε να + φτάσουμε στο δεύτερο για να την εφαρμόσουμε. Ελπίζουμε να σας αρέσει, ενώ προτάσεις βελτίωσεις είναι πάντα ευπρόσδεκτες στην ηλεκτρονική διεύθυνση του + [magaz](mailto:magaz@linux.gr).\ + Εκτός από τις νέες στήλες, υπάρχουν και κάποιες \"μορφολογικές αλλαγές\" τις οποίες θα χρειαστεί το magaz, για να γίνει ανταγωνιστικό προς τα \"παλαιότερα\" + περιοδικά του χώρου και, γιατί όχι, και προς τα έντυπα περιοδικά. Αυτά που σκεφτόμαστε είναι τα εξής: + + - Μεταφραστής για μετάφραση των άρθρων από ελληνικά σε αγγλικά, ώστε το περιοδικό να γίνει δίγλωσσο για να έχουμε και επισκέψεις από το εξωτερικό. + - Επιμελητής κειμένων για ορφθογραφικές και συντακτικές διορθώσεις. Αυτό ειδικά είναι απαραίτητο γιατί τα άρθρα γράφονται συνήθως \"γρήγορα\" και δεν + υπάρχει χρόνος για πολλούς ελέγχους. Υπάρχει γενικώς πρόβλημα με τους τόνους, αφού τα άρθρα γράφονται κάτω από Linux (Δημήτρη Μπούρα, τι κάνουμε λάθος + και δεν έχουμε πάντα τόνους;) + - Προγραμματιστής Java και Javascript για την πρώτη (βασικά) σελίδα του περιοδικού. Αυτό που σκεφτόμαστε είναι ένα drop-down menu το οποίο να οδηγεί στα + υπόλοιπα τεύχη - άρθρα (όχι, δεν θέlουμε να πάρουμε ένα έτοιμο shareware java applet που να λέει \"copyright Sausage inc\" ή κάτι τέτοιο). + +3. Σας τα φορτώσαμε όλα; + + Όχι, δεν σας τα φορτώσαμε όλα. Η στήλη \"Ορισμένοι το παίρνουν σοβαρά\" παραμένει στον Παναγιώτη Βρυώνη, η στήλη \"Ελλάδα και Linux\" με νέα από την + ανάπτυξη του Linux στην Ελλάδα, στατιστικά στοιχεία κ.ά. παραμένει στον Φώτη Γεωργάτο, η στήλη \"Ανάλυση\" με απόψεις και θέσεις για διάφορα θέματα και η + στήλη \"Μαστορέματα\" παραμένουν στους ήδη υπάρχοντες αρθρογράφους. Η μορφοποίηση του περιοδικού παραμένει στον Μιχάλη Καμπριάνη (αν και την ξεκίνησε ο + Παναγιώτης Βρυώνης, λόγω στρατιωτικής θητείας του τελευταίου πέρασε σε άλλα χέρια). Επίσης στους τρεις προαναφερόμενους παραμένει και η δημοσιοποίηση του + περιοδικού. Η οποία, έχει ήδη αρχίσει να αποδίδει. Εξάλλου, αυτό το περιοδικό το ξεκινήσαμε με σκοπό να το συντηρούμε και όχι να το γράφουμε μόνοι μας. Η + βοήθειά σας είναι απαραίτητη. + +4. Μας ξέρουν + + Με την \"έκδοση\" του πρώτου τεύχους, προσπαθήσαμε να κάνουμε το magaz γνωστό και σε άλλους εκτός από τους γνωστούς μας. Ήδη το magaz αναφέρεται στο Linux + WebWatcher, στο Altavista, ενώ το περιοδικό Chip, στο τεύχος του Νο 3/98 (29 Ιανουαρίου 1998) είχε την ευγένεια να δημοσιεύσει το γράμμα μας με την + \"αναγγελία γέννησης\" του περιοδικού, μαζί με ένα screenshot από την πρώτη σελίδα του πρώτου τεύχους του magaz. Ελπίζουμε ότι αυτό το μήνα θα ανταποκριθούν + και άλλα περιοδικά και search engines στην αναγγελία μας, ενώ η προσπάθεια δημοσιοποίησης παραμένει. Αν τα καταφέρουμε να κάνουμε το περιοδικό δίγλωσσο, θα + μπούμε και στο Linux Webring, και γενικώς θα είναι πιο εύκολο να το προωθήσουμε. Κάτι το οποίο μας έκανε εντύπωση είναι η αθρόα προσέλευση στο πρώτο τεύχος. + Αν η προσέλευση αυτή συνεχιστεί και στο δεύτερο, θα μπορούμε να μιλάμε ασφαλώς για πρωτοφανή επιτυχία περιοδικού. Γι\' αυτό, ενημερώστε γνωστούς και φίλους + για την ύπαρξη του περιοδικού. (Όχι, μην πηγαίνετε ο καθένας 10 ή και παραπάνω φορές στο περιοδικό. Αυτό δεν έχει νόημα. Δεν είμαστε εμπορική εταιρεία να + παρουσιάζουμε πολλά hits για διαφημιστικούς ή άλλους λόγους. Θέλουμε να ενημερώσουμε πολλούς για το Linux). diff --git a/content/articles/02/06_dianomes.md b/content/articles/02/06_dianomes.md new file mode 100644 index 0000000..28f65c2 --- /dev/null +++ b/content/articles/02/06_dianomes.md @@ -0,0 +1,105 @@ ++++ +title = 'Διανομές του Linux' +date = '1998-01-01T00:00:00Z' +description = '' +author = 'Φώτης Γεωργάτος(mailto:gef@ceid.upatras.gr) and Γιώργος Κεραμίδας(mailto:keramida@ceid.upatras.gr)' +issue = ['Magaz 02'] +issue_weight = 6 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Υπάρχουν πάνω από 20 διαφορετικές διανομές του Linux, που η καθεμία προσφέρει λίγο πολύ τα ίδια πράγματα όσον αφορά το περιβάλλον των υπηρεσιών του Λ.Σ., αλλά +με αρκετά διαφορετικά χαρακτηριστικά στο (γραφικό) περιβάλλον του χρήστη, και στον τρόπο που γίνεται η εγκατάσταση/αναβάθμιση του λογισμικού. Καμία από αυτές +δεν είναι απαραίτητα καλύτερη από τις άλλες, και η σωστή επιλογή είναι καθαρά θέμα αναγκών. Εμείς, θα ξεδιαλύνουμε εδώ την κατάσταση παρουσιάζοντάς σας τις +κυριότερες δυνατές επιλογές και τα χαρακτηριστικά τους. Να έχετε υπ\' όψιν ότι ανακοινώσεις για την διαθεσιμότητα αυτών στην Ελλάδα θα γίνεται από την λίστα +[linux-greek-users](news://edessa.topo.auth.gr/local.linux.greek.users).* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Το κατανεμημένο μοντέλο ανάπτυξης του Linux είναι η αιτία για την ύπαρξη πολλών διαφορετικών μορφών του λειτουργικού συστήματος σε συνδυασμό με τις εφαρμογές +του. Το γεγονός αυτό συχνά μπερδεύει τους νέους χρήστες, καθώς βρίσκονται αντιμέτωποι με πολλές διανομές και δεν ξέρουν τι να διαλέξουν. + +Υπάρχουν για παράδειγμα πάνω από 20 διαφορετικές διανομές του Linux, που η καθεμία προσφέρει λίγο πολύ τα ίδια πράγματα όσον αφορά το περιβάλλον των υπηρεσιών +του Λ.Σ., αλλά με αρκετά διαφορετικά χαρακτηριστικά στο (γραφικό) περιβάλλον του χρήστη, και στον τρόπο που γίνεται η εγκατάσταση/αναβάθμιση του λογισμικού. +Καμία από αυτές δεν είναι απαραίτητα καλύτερη από τις άλλες, και η σωστή επιλογή είναι καθαρά θέμα αναγκών. Εμείς, θα ξεδιαλύνουμε εδώ την κατάσταση +παρουσιάζοντάς σας τις κυριότερες δυνατές επιλογές και τα χαρακτηριστικά τους. + +**1. Slackware (v3.4)** +-------------------------------------------------- + +**2. RedHat Linux (v5.0)** +----------------------------------------------------- + +**3. Debian Linux (v1.3)** +----------------------------------------------------- + +**4. Linux Developer\'s Resource (Feb. 98)** +----------------------------------------------------------------------- + +**5. Suse Linux (v5.1)** +--------------------------------------------------- + +**6. OpenLinux από την Caldera** +----------------------------------------------------------- + + +### [1. Slackware (v3.4)]{#s1} + +Το Slackware Linux είναι η πιο UNIXοειδής διανομή που κυκλοφορεί. Είναι ιδιαίτερα δημοφιλής, αλλά χρειάζεται μια σημαντική εμπειρία σε UNIX συστήματα για να +επιλύει κανείς γρήγορα τα προβλήματα και ανάγκες που παρουσιάζονται. Η εγκατάστασή του έχει κάποιον σημαντικό βαθμό δυσκολίας για αρχάριο, αλλά η στενή του +σχέση με το UNIX είναι σίγουρα ο λόγος που οι πιο έμπειροι χρήστες του Linux το προτιμούν. Το Slackware φτιάχνει ο Patrick Volkerding, και η εταιρία Walnut +Creek το πακετάρει σε CD μαζί με το sunsite και tsx-11 (4 δίσκοι), με κόστος κοντά στις 6.500 δρχ. + + +### [2. RedHat Linux (v5.0)]{#s2} + +Το RedHat Linux έχει υλοποιηθεί από την ομώνυμη εταιρία στην Αμερική. Είναι μία πολύ εύκολη στην εγκατάσταση διανομή, με μεγάλη έμφαση στην υποστήριξη του +αρχάριου που δοκιμάζει την εγκατάσταση του Linux, χωρίς να έχει κάποιον δίπλα του για βοήθεια. Ειδικά η έκδοση 5.0 που δοκιμάσαμε είναι εξαιρετικά φιλική προς +τον χρήστη, δεν χρειάζεται πουθενά χειρισμό από την γραμμή εντολών για την εγκατάσταση και βγάζει κατευθείαν στον Window Manager fvwm-95, που θυμίζει άλλα +γνωστά περιβάλλοντα εργασίας. Το RedHat κυκλοφορεί από την εταιρία του σε συσκευασία των 2 CD, που περιλαμβάνει και βιβλίο, σε μία τιμή κοντά στις 14.000 δρχ. + + +### [3. Debian Linux (v1.3)]{#s3} + +Το Debian Linux είναι μια διανομή που φτιάχνεται από το GNU project δίνοντας του άδεια χρήσης GPL, όπως ακριβώς και το μεγαλύτερο ποσοστό του Free Software. +Είναι και αυτό όπως το Slackware πολύ κοντά στην δομή του παραδοσιακού UNIX (ιδιαίτερα του system V), και θα χρειαστεί σε αρκετές περιπτώσεις να καταφύγετε στο +command line για να πετύχετε αυτό που θέλετε. + +Η εγκατάσταση γίνεται κι εδώ με τρόπο πολύ εύκολο, πιο εύχρηστο από αυτόν του Slackware, αλλά σχετικά πιο δύσχρηστο από αυτόν του RedHat, τουλάχιστον για τον +αρχάριο χρήστη. + +Το μεγάλο ατού του Debian όμως είναι ότι φτιάχνεται αποκλειστικά από εθελοντές που συνεργάζονται μέσω του Internet, και διανέμεται κάτω από την άδεια χρήσης της +GNU. Αυτό σημαίνει ότι το Debian δεν μπορεί ποτέ να γίνει εμπορικό. Μάλιστα, ένα ποσοστό από τα κέρδη του Debian δίνεται στο [project +Gutenberg](http://www.gutenberg.net/), το οποίο ασχολείται με την μεταφορά κλασσικών λογοτεχνικών έργων σε ηλεκτρονική μορφή. + + +### [4. Linux Developer\'s Resource (Feb. 98)]{#s4} + +Αυτό δεν είναι ακριβώς διανομή, αλλά συλλογή (package) από διανομές μαζί με αντίγραφα άλλου υλικού που κυκλοφορεί στο Internet σχετικά με το Linux, τοποθετημένα +σε 6 CD, με κόστος γύρω στις 8000 δρχ. Περιέχει το Slackware, RedHat, Debian, το κάθε ένα σε δικό του CD, 2 CD με λογισμικό από το sunsite και tsx-11, και ένα +ακόμα CD που περιλαμβάνει υποστήριξη για την Ιαπωνική γλώσσα και ένα πλήρες αντίγραφο του Linux Documentation Project (LDP), που περιέχει εκτενή ηλεκτρονική +τεκμηρίωση σχετικά με το Linux. Το Linux Developer\'s Resource (LDR), είναι το πιο δημοφιλές CD σε πωλήσεις στην Ελλάδα, με ιδιαίτερη προτίμηση στην διανομή +Slackware. Η νέα έκδοση αναμένεται να κυκλοφορήσει στην Ελλάδα το Φεβρουάρη. Γνώμη του γράφοντος είναι ότι αξίζει να περιμένετε μέχρι τότε, για να πάρετε ότι +πιο τελευταίο υπάρχει. Επίσης προτείνουμε για πρώτη φορά να βάλετε το RedHat 5.0. + + +### [5. Suse Linux (v5.1)]{#s5} + +Η έκδοση αυτή έρχεται από την Γερμανία και είναι μια από τις πρώτες \"καθαρά Ευρωπαϊκές\" διανομές του Linux. Η έκδοση του Suse Linux, από την αντίστοιχη +εταιρία, γίνεται και στα αγγλικά και στα γερμανικά, με κόστος περίπου \$ 50. Η διανομή Suse, δεν κυκλοφορεί στην Ελλάδα (μόνο με παραγγελία), αλλά παρουσιάζει +ενδιαφέρον γιατί είναι ιδιαίτερα πρόσφορη για μεταγλώττιση στα Ελληνικά, καθώς χρησιμοποιεί KDE γραφικό περιβάλλον, (για το οποίο ήδη έχει γίνει κάποια +μετάφραση), HTML σελίδες για βοήθεια στα προγράμματα και rpm για την εγκατάσταση πακέτων λογισμικού. + + +### [6. OpenLinux από την Caldera]{#s6} + +Εκτός από κώδικα στο \"κεντρικό\" kernel, όμως, η Caldera έχει φτιάξει, βασισμένη στο Linux, και μια δική της διανομή, το OpenLinux. Το OpenLinux έχει φτιαχθεί +για να συνδέει ανομοιογενή μεταξύ τους περιβάλλοντα, όπως Unix, Windows (95 ή NT) με Silicon Graphics, Digital Alpha, ή οτιδήποτε άλλο χρησιμοποιείται σε ένα +σύγχρονο περιβάλλον εργασίας. Το OpenLinux έρχεται σε τρεις εκδόσεις: την Lite, την Basic και την Standard, οι οποίες έχουν ίδια δομή αλλά διαβαθμίσεις στην +τιμή και άρα στα περιεχόμενα της έκδοσης. Η Lite έκδοση διατίθεται ως απλό περιβάλλον χρήστη. Η Basic έκδοση έχει το Netscape (client) ενώ η Standard έχει και +το server. Αναμένονται αλλαγές σε αυτές τις κατηγορίες, επειδή η Netscape έχει αλλάξει την πολιτική της για τα δικά της προϊόντα. + +Η Caldera είναι μια από τις επιχειρήσεις που προσφέρουν πολλά πράγματα στην ανάπτυξη και διάδοση του Linux. Για παράδειγμα ο κώδικας του Linux kernel για +υποστήριξη SLIP & PPP συνδέσεων έχει φτιαχθεί από την Caldera. + diff --git a/content/articles/02/07_fromwtol.md b/content/articles/02/07_fromwtol.md new file mode 100644 index 0000000..d3c7142 --- /dev/null +++ b/content/articles/02/07_fromwtol.md @@ -0,0 +1,55 @@ ++++ +title = 'Από τον κόσμο των Windows στον κόσμο του Linux' +date = '1998-02-01T00:00:00Z' +description = '' +author = 'Γιάννης Εξηνταρίδης' +issue = ['Magaz 02'] +issue_weight = 7 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Εχοντας την τύχη, την χαρά και την ευτυχία να αποκτήσω ένα δεύτερο σκληρό δίσκο στο PC μου και έχοντας πλέον βαρεθεί να βλέπω τα animated icons των Windows που +το μόνο καλό που προσφέρουν είναι σπατάλη των resources του συστήματος αποφάσισα να εγκαταστήσω το Linux.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Πρώτα από όλα να αναφέρω ότι ασχολούμαι με DOS + WIN αρκετά χρόνια, και ως τώρα η επαφή μου με UNIX ήταν μάλλον αμυδρή. (Το να ξέρει κάποιος τις βασικές και +απλές εντολές δεν νομίζω ότι θεωρείται εμπειρία ). Από την άλλη οι αλλαγές δεν με τρομάζουν ( μάλιστα μου αρέσουν ). Ετσι και έγινε λοιπόν. Τα Win +\"μετακομίσανε¨ στο νέο σκληρό (3.2 GB) και το Linux θα πήγαινε στον παλιό (1 GB). Αγόρασα λοιπόν το Red Hat 5.0 και προχώρησα στην εγκατάσταση. + +Πρώτο θετικό στοιχείο είναι ότι το Red Hat απαιτεί ένα ελεύθερο partition στον δίσκο. Δεν έχει σημασία αν θα είναι ένας φυσικός δίσκος ή όχι, ούτε αν θα είναι +active ή όχι. Η εγκατάσταση ξεκινά από την boot δισκέτα που περιέχεται στον πακέτο. Αμέσως μετά από 1 ή 2 πλαίσια διαλόγου το Red Hat σου δίνει την δυνατότητα +να διαλέξεις ποιο πρόγραμμα θα διαμορφώσει το partition. Χωρίς δεύτερη σκέψη προτείνω σε όλους όσους σκέφτονται να κάνουν τα ίδια, το **Disk Druid** . Ειναι ένα +καταπληκτικό interactive προγραμματάκι το οποίο δεν σε αφήνει να κάνεις μοιραία λάθη και σε ενημερώνει ανά πάσα στιγμή για το τι συμβαίνει. + +Ακολουθεί η επιλογή των πακέτων και προγραμμάτων. Εδώ υπάρχει ένα ευχάριστος προβληματισμός για το τι να εγκαταστήσεις και τι όχι. Σίγουρα η ποικιλία είναι πολύ +μεγάλη και θα ικανοποιήσει και τον πιο απαιτητικό. Αφού γίνει η επιλογή, το επόμενο πλαίσιο διαλόγου σε πληροφορεί για την πρόοδο της εγκατάστσης ( και μάλιστα +με μεγάλη λεπτομέρεια ). οπως ήδη καταλαβαίνεται το Red Hat έχει ένα πολύ καλύ installation μηχανισμό. οπως αργότερα πληροφορήθηκα κάτι τέτοια δεν υπήρχαν ούτε +κατά διάνοια σε παλιότερες εκδόσεις, ούτε στο Slackware. + +Στο τέλος ρωτήθηκα αν θα εγκαθιστούσα τον LILO. Προτίμησα να μην τον βάλω επειδή είχα ακούσει ότι είναι λίγο παράξενος και μπορεί να είχα προβλήματα. Φυσικά +όταν έγινε reboot το σύστημα δεν μπήκε στο Linux. Για αυτόν τον λόγο χρησιμοποίησα το **Loadlin** ( που περιέχεται στο CD του Red Hat ) και περιλαμβάνει ένα +πολύ καλό documentation για την χρήση του η οποία είναι απλή. νομίζω ότι αυτή είναι και η καλύτερη λύση για κάποιον που θέλει να έχει και τα δύο λειτουργικά +στον υπολογιστή του. Η χρήση του Loadlin ενθαρρύνεται πάρα πολύ σε τέτοιες περιπτώσεις. + +Χρησιμοποιώντας το παραπάνω τελικά μπήκα στο Linux και βρέθηκα σε κάτι που μερικοί ίσως το έχουν ξεχάσει πως υπάρχει. Η λιτή αλλά πανίσχυρη command line. +Χρησιμοποιώντας τις απλές εντολές του UNIX που ήξερα, κατάφερα να βγάλω άκρη και να φορτώσω τα X Windows. Η ρύθμιση τους για την ομαλή συνεργασία τους με την +κάρτα γραφικών και την οθόνη θα τελειώσει επιτυχημένα με έναν μόνο όρο: Η κάρτα γραφικών να είναι επώνυμη ( γνωστή ) και όχι τελευταίας τεχνολογίας. με την +δικιά μου ( Diamond Stealth ) δεν υπήρξε πρόβλημα αφού υποστηρίζεται απόλυτα από το λειτουργικό. + +Το παραθυρικό περιβάλλον του Red Hat είναι καταπληκτικό, αρκετά φιλικό και ισχυρό. Υπάρχει άμεση πρόσβαση σε ένα σωρό από utilities, applications, games και +screensavers ( ναι υπάρχουν και αυτά !!! ). Κάτι στο οποίο χρειάζεται να γίνει ιδιαίτερη μνεία είναι ο ΕξοΧοΣ μηχανισμός **Red Hat Package Management (RPM)**. +Δεν είναι τίποτα παραπάνω από ένα installation utility το οποίο έχει τρομερές δυνατότητες. Το πρόγραμμα κάνει verification στις ήδη υπάρχουσες εγκατεστημένες +εφαρμογές, install και φυσικά uninstall, queries , και εξετάζει τα dependencies μεταξύ των διαφόρων modules και libraries των εφαρμογών. Ειδικά το τελευταίο με +άφησε άναυδο. Δεν θυμάμαι να έχω ξαναδεί τέτοιο αξιόπιστο και σταθερό installation πρόγραμμα. Προσωπικά βοηθήθηκα πολύ και είμαι σίγουρος ότι θα βοηθήσει +πολλούς ακόμα. Καλός και ο Midnight Commander. ( Τι θα θυμήσει σε πολλούς !! ). Δυστυχώς το Linux δεν υποστηρίζει την κάρτα ήχου μου, ( τι είπαμε προηγουμένως, +περί επωνυμίας ) και αργότερα διαπίστωσα ότι βρίσκεται όντως στην λίστα των unsupported με μελλοντική υποστήριξη. + +Χρειάζεται βέβαια να συμπληρώσω ότι πολύτιμη βοήθεια σε περαιτέρω ενέργειες μου στάθηκα τα πολυάριθμα και άκρως κατατοπιστικά README\'s και FAQ\'s που υπάρχουν +διάσπαρτα στο CD του Red Hat. Είναι σίγουρο ότι όποιος θέλει να εγκαταστήσει το Red Hat θα πρέπει να ρίξει τουλάχιστον μια ματιά. Αρκετά καλό είναι και το +Installation Guide που περιέχεται στην συσκεασία του Red Hat. + +Το συμπέρασμα που βγαίνει από τα παραπάνω είναι ότι η Red Hat έχει κάνει πολύ καλή δουλειά και στον τομέα της λειτουργικότητας αλλά και φιλικότητας προς τον +χρήστη. Η εγκατάσταση δεν παρουσιάζει πρόβλημα και δεν χρειάζεται \"παράξενες\" ρυθμίσεις και τεχνάσματα. Τώρα κλείνω περίπου ένα μήνα χρήσης του Linux και αφού +έχω αρχίσει να καταλαβαίνω τον τρόπο λειτουργίας του μπορώ να πω ότι είμαι ικανοποιημένος. Συμβουλή μου: οποιος θέλει να προχωρήσει στο Red Hat ας το κάνει και +δεν θα χάσει. diff --git a/content/articles/02/08_mailbox.md b/content/articles/02/08_mailbox.md new file mode 100644 index 0000000..20501a3 --- /dev/null +++ b/content/articles/02/08_mailbox.md @@ -0,0 +1,49 @@ ++++ +title = 'Αλληλογραφία' +date = '1998-02-01T00:00:00Z' +description = '' +author = '' +issue = ['Magaz 02'] +issue_weight = 8 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Με μεγάλη χαρά βλέπουμε οτι το MAGAZ έχει απήχηση. Από αυτή την στήλη θα παρουσιάζουμε και θα απαντούμε στα μυνήματα που δεχόμαστε.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. File systems.** +---------------------------------------------- + + +### [1. File systems.]{#s1} + +Θα ήθελα να μου πείτε πως μπορώ να δω τα περιεχόμενα μίας δισκέτας η οποία έχει filesystem το οποίο δεν υποστηρίζεται από το linuz και συγκεκριμένα το FAT\... +και επίσης πώς μπορώ -αν μπορώ- να κάνω ορατούς από το linux άλλους δίσκους ή άλλα partitions \...που χρησιμοποιούν FAT. ** + +Πρώτα απ\'όλα, το Linux είναι ίσως το πιο ευέλικτο λειτουργικό σύστημα, όσο αφορά την επικοινωνία και την χρήση πόρων από άλλα λειτουργικά. + +Στο συγκεκριμένο ζήτημα του FAT (φαντάζομαι ότι εννοείς MS-DOS FAT). Εάν ο πυρήνας σου (kernel) υποστηρίζει FAT, το μόνο που έχεις να κάνεις είναι να φτιάξεις +ένα κενό directory κάπου στον δίσκο σου, (π.χ. /mnt/floppy ) και μετά να δώσεις + + # mount -tmsdos /dev/fd0 /mnt/floppy + +(υποθέτοντας ότι το floppy disk drive είναι το device /dev/fd0). Από το σημείο αυτό και μετά τα περιεχόμενα της δισκέτας θα είναι στο συγκεκριμένο directory. +Μπορείς να γραψεις και να διαβάσεις σαν να ήταν κανονικά στον δίσκο σου. Ρίξε μία ματιά στα man pages του mount (man mount) για περισσότερες πληροφορίες. +Σημείωσε εδώ ότι αν αντί για το /dev/fd0 βάλεις ένα partition του σκληρού σου δίσκου (π.χ. /dev/hda1 για το πρώτο partition του πρώτου σκληρού IDE δίσκου του +συστήματός σου) θα έχεις ανάλογα αποτελέσματα. + +Αν χρησιμοποιείς Windows95 που έχουν VFAT, για να βλέπεις κανονικά τα ονόματα των αρχείων (long filenames) δοκίμασε αντί για -tmsdos, -tvfat. + +Αν ο πυρήνας σου δεν υποστηρίζει MS-DOS FAT partitions, έχεις δύο επιλογές: + +- να ξαναχτίσεις τον πυρήνα προσθέτοντας υποστήριξη για FAT. Διάβασε το Kernel-HOWTO και ρίξε μία ματιά στο άρθρο του Ιανουαρίου σχετικά με την επιτάχυνση + κατασκευής πυρήνα. Είναι μια εύκολη διαδικασία. +- να χρησιμοποιήσεις τα mtools που είναι ένα πακέτο που κάνει αυτό ακριβώς που χρειάζεσαι. + +Θα σου πρότεινα την πρώτη λύση αφού δεν θα χρειαστεί να μάθεις ένα ακόμη πακέτο και στην περίπτωση που θα ασχοληθείς με την κατασκευή πυρήνα για πρώτη φορά, η +εμπειρία σου αυτή θα είναι χρήσιμη πολλές φορές στο μέλλον. + +*Παναγιώτης Βρυώνης * + diff --git a/content/articles/03/01_editorial.md b/content/articles/03/01_editorial.md new file mode 100644 index 0000000..2a581c0 --- /dev/null +++ b/content/articles/03/01_editorial.md @@ -0,0 +1,53 @@ ++++ +title = 'Editorial' +date = '1998-03-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης' +issue = ['Magaz 03'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Φτάσαμε αισίως και στο τρίτο τεύχος\...* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Δεν ξέρω για σας, ή για τους άλλους συνεργάτες του περιοδικού, αλλά αυτό για μένα αποτελεί μία δικαίωση. Όσο περνάει ο καιρός, βγαίνουν καινούρια τεύχη του +Magaz, και η προσέλευση διατηρείται σε υψηλά επίπεδα (αυτό κατόπιν υπολογισμών και όχι με βάση υπαρκτά στοιχεία), αποδεικνύεται, τουλάχιστον σε εμένα, ότι το +Magaz \"γεννήθηκε\" τη στιγμή που κάτι τέτοιο έλειπε από τον ελληνικό χώρο. Ελπίζω βέβαια το Magaz να συνεχίσει να προσφέρει αυτά που ζητά ο Ελληνας χρήστης +Linux από ένα μηνιαίο newsletter. Είναι θετικό ότι βρίσκουμε συνεργάτες, πρόθυμους εθελοντές, οι οποίοι έχουν όλη την καλή διάθεση να βοηθήσουν στην ανάπτυξη +του Magaz, η οποία όπως έχουμε ξαναπεί, δεν είναι και εύκολο πράγμα. Σιγά σιγά θέλω να πιστεύω ότι θα φτάσουμε κάποτε στο σημείο, να μην προλαβαίνουμε να +ετοιμάζουμε άρθρα για το τεύχος, λόγω πληθώρας άρθρων και όχι λόγω χρόνου (όπως συμβαίνει τώρα :-). Και πιστεύω ότι αυτή η κατάσταση δεν είναι και πολύ μακρινή, +αν αναλογιστεί κανείς το πόσοι Έλληνες χρήστες Linux υπάρχουν. + +Όπως προφανώς θα παρατηρήσατε, ένα τεχνικό πρόβλημα μας κράτησε χωρίς μετρητή για τις πρώτες 20 μέρες κυκλοφορίας του τέυχους. Να ζητήσουμε συγνώμη για αυτό, +αλλά σε ένα νέο περιοδικό, όταν συμβαίνει κάτι απρόβλεπτο, είναι δύσκολο να διορθώνεται άμεσα. Σταδιακά και αυτό θα αλλάξει. Τα προβλήματα θα λύνονται +ευκολότερα, και, το κυριώτερο, γρηγορότερα. + +Ελλείψει μετρητή, δεν είμαστε σε θέση να ξέρουμε αν η προσέλευση του πρώτου τεύχους ήταν ένα γεγονός περιστασιακό ή όχι. Η αλήθεια είναι, ότι θέλω να πιστεύω +ότι τα νούμερα τα οποία εμφανίστηκαν μετά την επαναλειτουργία του μετρητή δείχνουν ότι και αυτό το τεύχος το διάβασαν πολλοί άνθρωποι. Πιο σίγουρα στοιχεία +όμως, και όχι εκτιμήσεις, θα ξέρουμε με βάση το τεύχος που διαβάζετε. Τα ίδια στοιχεία τα βλέπετε και εσείς μόλις μπείτε στην κεντρική σελίδα, αλλά θα +προσπαθήσουμε από εδώ και στο εξής να κρατάμε στατιστικά στοιχεία, τα οποία κάποτε θα παρουσιάσουμε και μέσα από το περιοδικό. + +Ένα άλλο θέμα το οποίο θα ήθελα να αναφέρω εδώ, είναι το θέμα της ευθύνης. Κάθε αρθρογράφος φέρει ακέραια την ευθύνη για αυτά που γράφει και υποστηρίζει. Όλα τα +άρθρα αποτελούν προσωπικές απόψεις ή εμπειρίες ή πληροφορίες. Και τα αναφέρω αυτά θέλοντας να ζητήσω συγνώμη για ένα λάθος που έκανα στο τεύχος 2, στο άρθρο +\"Ανάλυση - Το στοίχημα των managers\" το οποίο παρουσιάστηκε τις τρεις πρώτες μέρες να αναφέρει ότι το Pathfinder χρησιμοποιούσε Linux. Ευτυχώς ο Φώτης +Γεωργάτος μου επισήμανε ότι Linux χρησιμοποιούσε ένα άλλο πρόγραμμα (υδροπονικό) της NASA και όχι το Pathfinder, οπότε και το σχετικό σημείο διεγράφη από το +άρθρο αμέσως, τουλάχιστον μέχρι να ξαναθυμηθώ που το είχα δει (και αν πράγματι αυτό που είδα μιλούσε για το Pathfinder). Δεν έχει νόημα να απολογηθώ γιατί δεν +το έκανα επίτηδες :-) ελπίζω όμως ότι όσοι το διάβασαν τις τρεις πρώτες μέρες είχαν καλύτερη πληροφόρηση από μένα οπότε και θα αγνόησαν την συγκεκριμένη λάθος +πληροφορία. + +Για αυτό το τεύχος, έχουμε νέα στήλη, τη στήλη του \"γιατρού\", φιλικά παραχωρημένη από φίλους και συνLinuxάδες, της ΕΕΕΑ. Ο Παναγιώτης Βρυώνης δεν απολύθηκε +ακόμα, έχει μάλιστα μόλις φτάσει την άδεια ορκωμοσίας (κουράγιο Παναγιώτη), αυτό όμως δεν τον εμπόδισε να γράψει ένα άρθρο για το KDE το οποίο αισίως βρίσκεται +στην τρίτη beta έκδοση. Η beta-3 του KDE βγήκε το πρώτο δεκαήμερο του Φεβρουαρίου, οπότε μπορούμε με ασφάλεια να πούμε ότι είμαστε μέσα στην επικαιρότητα. Μέσα +στην επικαιρότητα βρισκόμαστε και σε άλλα θέματα. Συγκεκριμένα το παρόν τεύχος φιλοξενεί και το πρώτο μέρος μίας παρουσίασης του StarOffice, του πολύ καλού +αυτού WYSIWYG Office προγράμματος από την StarDivision που βγήκε στις 2 Φεβρουαρίου, μαζί με τα απαραίτητα tips για τα Ελληνικά. Δεν λείπει βέβαια και η στήλη +της αλληλογραφίας.\ +Είναι λογικό για κανένα εξάμηνο ακόμα να πειραματιζόμαστε με τις στήλες, μέχρι να βρούμε τελικά τι είναι αυτό που θα ενδιέφερε τους χρήστες να διαβάζουν και πως +ακριβώς θα το υλοποιήσουμε, οπότε θα χρειαστούμε την υπομονή σας και σε αυτό. Ήδη έχουμε κάποιες προτάσεις, οι οποίες μελετώνται, αλλά θα μας ενδιέφερε πολύ να +έχουμε feedback από εσάς. Οι ιδέες είναι δωρεάν, και, τουλάχιστον σε αυτό το περιοδικό, λαμβάνονται σοβαρά υπόψιν. + +Να σας ενημερώσουμε και ότι το περιοδικό \"Ο Κόσμος του Ίντερνετ\" στο τεύχος 31 (Φεβρουάριος 1998) έχει την αναγγελία ίδρυσης του Magaz, μαζί με ένα screenshot +από το δεύτερο τεύχος. + +Να σας ευχηθώ καλή ανάγνωση, ελπίζοντας ότι και αυτό το τεύχος ανταποκρίνεται στις προσδοκίες σας. diff --git a/content/articles/03/02_kde.md b/content/articles/03/02_kde.md new file mode 100644 index 0000000..69581bf --- /dev/null +++ b/content/articles/03/02_kde.md @@ -0,0 +1,84 @@ ++++ +title = 'Ευκολία και Λειτουργικότητα στην Επιφάνεια Εργασίας = KDE' +date = '1998-03-01T00:00:00Z' +description = '' +author = 'Παναγιώτης Βρυώνης' +issue = ['Magaz 03'] +issue_weight = 2 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το K Desktop Environment (KDE) προσφέρει στον απλό χρήστη ένα σύνολο προγραμμάτων και εργαλείων που κάνουν την χρήση του Linux παιχνίδι\...* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Κακά τα ψέματα: σχεδόν όλοι μας έχουμε ξεκινήσει την επαφή μας με τους υπολογιστές με τα Windows, οι παλιότεροι με τα 3.χ και οι νεότεροι με τα 95, άντε και +μερικοί με Mac OS. Καλά, μην διαμαρτύρεστε οι παλαιότεροι, ναι θυμάμαι τον Spectrum, το C-64 και τον CPC-464 αλλά τα πράγματα ήταν πολύ απλά τότε. Αυτό που θέλω +να πω είναι ότι οι περισσότεροι, πριν το Linux είχαν συνηθίσει ένα γραφικό περιβάλλον που έκανε την ζωή τους ευκολότερη (προσοχή, δεν είπα εύκολη!). + +Ας μην κρυβόμαστε πίσω από το δάκτυλό μας. Το Linux είναι ισχυρό, σταθερό, οικονομικό και έχει πληθώρα αρετών αλλά ο αρχάριος χρήστης θα τα βρει σκούρα στην +αρχή. Ο λόγος είναι ότι σχεδόν τα πάντα ρυθμίζονται με scripts και configuration files που το κάθε ένα έχει την δικιά του σύνταξη. Για πολλά πράγματα υπάρχουν +γραφικά front-ends αλλά και εκεί επικρατεί ένα μικρό χάος. Πρώτον πρέπει κανείς να τα βρει και να τα εγκαταστήσει και δεύτερον το κάθε ένα από αυτά έχει +διαφορετική εμφάνιση και υφή (look\'n\'feel) κάτι που ξενίζει στον πρώην χρήστη Windows ή Mac. + +Και εκεί που \"όλα τα \'σκιαζε η φοβέρα και τα πλάκωνε η σκλαβιά\" (των εμπορικών γραφικών περιβαλλόντων) εμφανίζεται το KDE. Το KDE ( ) +είναι ένα σύνολο προγραμμάτων που κάνουν την χρήση του Linux (του Unix γενικά) πολύ φιλική. Είναι \"χτισμένο\" πάνω στην Qt library, ένα \"πλαίσιο εργασίας\" +(framework) για την ανάπτυξη γραφικών εφαρμογών σε C++. Η εταιρεία που το ανέπτυξε, η Troll Tech AS ( ) επιτρέπει την ελεύθερη χρήση του +για εφαρμογές που διανέμονται σαν \"Ελεύθερο Λογισμικό\" (δείτε το τεύχος του Ιανουαρίου για περισσότερες πληροφορίες). Μια και το KDE ικανοποιεί αυτή την +απαίτηση, δεν θα χρειαστεί να πληρώσετε τίποτα για να το χρησιμοποιήσετε. + +Σύμφωνα με τους κατασκευαστές του, *το KDE δημιουργεί ένα ένα σταθερό look and feel για τις εφαρμογές, ορίζοντας ένα τυποποιημένο GUI toolkit και βιβιλιοθήκες +υποστήριξης που όλες οι KDE-εφαρμογές χρησιμοποιούν, καθώς και ένα Οδηγό Μορφής (Style Guide) που οι προγραμματιστές ενθαρύνονται να χρησιμοποιήσουν*. Όλες οι +εφαρμογές που υιοθετούν το KDE παρέχουν βοήθεια με την μορφή HTML και ρυθμίσεις μέσα από γραφικό περιβάλλον. Οι περισσότερες είναι \"δυκτιακές\" με την έννοια +ότι παρέχουν στον χρήστη διαφανή (transparent) πρόσβαση σε δικτυακούς πόρους προσπελάσιμους με τα προτόκολα ftp και http. + +Ας έρθουμε όμως στην ουσία. Τί ακριβώς περιλαμβάνει το KDE; Κατέβασα την τελευταία έκδοση του KDE (Beta3) καθώς και την Qt library v1.32 με μορφή RPM (σχεδόν +9ΜΒ όλα τα πακέτα του distribution μαζί) μιας και έχω RedHat που το υποστηρίζει. Τα πακέτα υπάρχουν και σε tgz μορφή και η εγκατάστασή τους είναι ΠΑΝΕΥΚΟΛΗ +ακόμη και για τον νέο χρήστη, αν όμως έχετε RedHat ή γενικότερα υποστήριξη για RPM σας συμβουλεύω να την χρησιμοποιήσετε. + +Μετά την επιτυχή εγκατάσταση, το μόνο που χρειάζεται να κάνετε είναι να προσθέσετε την γραμμή + + startkde + +στο + + .Xclients + +που βρίσκεται στο home directory σας. Αν έχετε προβλήματα γιατί το .Xclients περιέχει άλλες γραμμές και δεν ξέρετε τι να σβήσετε, μετονομάστε το παλιό .Xclients +σε .Xclients.old και φτιάξτε ένα νέο με τις εξής γραμμές: + + #!/bin/bash + startkde + +Δίνετε startx ή κανετε login από τον xdm και βρήσκεστε σε ένα πολύ καλαίσθητο desktop. Αν είσαστε εξοικιωμένοι με τα Windows95 δεν θα δυσκολευτείτε να +καταλάβετε πώς λειτουργεί η οριζόντια μπάρα στο κάτω μέρος ης οθόνης. Το κουμπί με το κεφαλαίο \"K\" εμφανίζει ένα μενού με υπομενού που οδηγούν στα διάφορα +εγκατεστημένα KDE προγράμματα. + +Σε αυτά περιλαμβάνονται ένας πολύ βολικός editor, διάφοροι viewers για γραφικά (PS, dvi, gif κ.λ.), το kppp που κάνει την ρύθμιση και σύνδεση του υπολογιστή σας +με Internet Providers πανεύκολη, ένας mail client, news client, διάφορα προγραμματάκια που ρυθμίζουν τα Settings του desktop, calculator και μία ακόμη πληθώρα +από πολύ χρήσιμα utilities. + +Σημειώστε ότι ο kfm, ο file manager του KDE, είναι ταυτόχρονα και HTML browser (με μόνο μειονέκτημα το ότι δεν μπορείτε ακόμη να ρυθμίσετε την γραμματοσειρά που +θα χρησιμοποιεί με αποτέλεσμα οι ελληνικές σελίδες να εμφανίζονται με \"κινέζικα\" πολλές φορές) και ftp client. Μπορείτε να ανοίξετε μια ftp διεύθυνση (π.χ. +ftp://ftp.linux.gr) και να κάνετε drag\'n\'drop ή copy-paste αρχεία στο desktop. Κάντε διπλό κλικ σε ένα αρχείο κειμένου και θα ανοιχτεί στον editor, σε ένα +γραφικών και θα το δείτε με το σωστό viewer και ούτο καθεξής. Αν πάλι ένα e-mail που διαβάζετε με το kmail περιέχει μία url, κάνετε κλικ απάνω της και ανοίγει +στον kfm. + +Πέρα από την ευκολία χρήσης και τον τρόπο με τον οποίο συνεργάζονται τα προγράμματα του KDE θα πρέπε να σταθούμε σε μερικά σημεία της όλης αρχιτεκτονικής που +παρουσιάζουν ιδιαίτερο ενδιαφέρον. + +Πρώτον στο ότι όλα ακολουθούν ένα κοινό look\'n\'feel που κάνει την ζωή του χρήστη πιο εύκολη και πιο παραγωγική. Σε όσες εφαρμογές αυτό έχει νόημα, θα βρείτε +μία οριζόντια μπάρα πάνω πάνω που θα περιλαμβάνει τα γνωστά File, Edit και Help καθώς και άλλα υπομενού που έχουν να κάνουν με χαρακτηριστικά της συγκεκριμένης +εφαρμογής. Ναι, κάτω κάτω στο File θα βρείτε το Exit και δεξιά στην άκτη θα είναι το Help. Η επιλογή γραμματοσειρών και αρχείων (καθώς και πολλές άλλες +συνηθισμένες λειτουργίες) γίνεται με τα ίδια widgets μέσα από όλες τις εφαρμογές. + +Μία ακόμη έκπληξη: όλα τα μηνύματα και τα μενού μπορούν να εμφανιστούν στην γλώσσα που επιθυμείτε! Αρκεί να διαλέξετε την γλώσσα από το +Settings-\>Desktop-\>Language. Βέβαια, βασική προϋπόθεση για κάτι τέτοιο είναι να υπάρχουν οι απαιτούμενες μεταφράσεις. Για τα ελληνικά μία πρώτη προσπάθεια για +μερικές εφαρμογές έγινε από εμένα και ακολούθησε με σοβαρότερη διάθεση ο Φώτης Ανδριτσόπουλος. Η διαδικασία τη μετάφρασης είναι εξαιρετικά απλή και προτρέπω +όποιον ενδιαφέρεται να επισκευθεί την για περισσότερες πληροφορίες. + +Πιστεύω ότι σύντομα το KDE θα αναδειχθεί σε ένα από τα σημαντικότερα desktops. Στο mailing list των developers συζητιέται η ανάπτυξη εφαρμογών γραφείου, όπως +spreadsheet και personal information manager που αν ολοκληρωθούν θα έχουν δυνατότητες και ευκολία χρήσης εφάμιλες των αντίστοιχων εμπορικών. Ακόμα και τώρα +όμως, με τις υπάρχουσες δυνατότητες και προγράμματα το KDE αποτελεί την καλύτερη κατά την γνώμη μου λύση για το desktop σας στον χώρο των \"ελεύθερων +προγραμμάτων\". Αν είσαστε ο \"απλός χρήστης\" εγκαταστήστε το για να κάνετε ευκολότερη την ζωή σας. Αν είσαστε προγραμματιστής, ίσως να σας γοητεύσει και να +ενταχθείτε και εσείς στην οικογένεια των KDE developers\... diff --git a/content/articles/03/03_soffice.md b/content/articles/03/03_soffice.md new file mode 100644 index 0000000..751d705 --- /dev/null +++ b/content/articles/03/03_soffice.md @@ -0,0 +1,200 @@ ++++ +title = 'StarOffice 4.0' +date = '1998-03-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης <' +issue = ['Magaz 03'] +issue_weight = 3 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Στις 2 Φεβρουαρίου, τοποθετήθηκε στον FTP server της Stardivision η τελική έκδοση του StarOffice 4.0 για Linux, το οποίο διατίθεται δωρεάν για προσωπική χρήση. +Υπάρχει μία παράξενη τακτική της Stardivision και της Caldera (συνεργάτης της Stardivision στην έκδοση του Staroffice για Linux), η οποία επιτρέπει το download +από το server της Stardivision (και μερικά ακόμα mirrors) αλλά δεν επιτρέπει το upload του προγράμματος σε άλλους ftp servers. Πρόσφατα διάβασα στο site τους +ότι μπορεί κάποιος να τοποθετήσει το πρόγραμμα σε servers εκπαιδευτικών ιδρυμάτων, αρκεί να έχουν πρόσβαση εκεί μόνο τα μέλη του ιδρύματος. Τέλος πάντων, αν +κάποιος ξεπεράσει αυτές τις παραξενιές και αποφασίσει να το κατεβάσει, να τι θα βρει:* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Διαφορές από την προηγούμενη έκδοση** +-------------------------------------------------------------------- + +**2. Τι μας φέρνει** +---------------------------------------------- + +**3. Modules γραφείου** +------------------------------------------------- + +**4. Γραμματοσειρές** +----------------------------------------------- + +**5. Modules για Internet** +----------------------------------------------------- + + +### [1. Διαφορές από την προηγούμενη έκδοση]{#s1} + +Το StarOffice 4.0 έχει επιτέλους ξεπεράσει ένα τουλάχιστον τρομερό πρόβλημα που είχε, και μιλάω βέβαια για το πρόβλημα το οποίο αναφέρεται στο 50% των postings +στα σχετικά newsgroups: την εγκατάσταση του StarOffice 3.1. Η ιδιομορφία της ήταν ότι για να καταφέρει κάποιος να το εγκαταστήσει έπρεπε να έχει master στην C +και διδακτορικό στο administration. Επίσης έπρεπε να έχει πολλή τύχη και μπάρμπα στην Κορώνη (αν και το τελευταίο ελέγχεται ως ανακριβές). Με το StarOffice 4.0 +αυτά όλα είναι πια παρελθόν. Η εγκατάστασή του είναι από εύκολη μέχρι τυφλοσούρτης (κάτι από Windows 95 και MS Office μου θύμισε για να πω την αλήθεια, αλλά +αυτό το παραβλέπω). Ένα παράπονο μόνο. Χάριν της ευκολίας, χάθηκε η δυνατότητα παραμετροποίησης. Εν ολίγοις, δεν έχεις και πολλές επιλογές κατά την εγκατάσταση +(μήπως τα θέλω όλα δικά μου;) Έχει επίσης ξεπεράσει την ανάγκη ύπαρξης των Motif libraries (εναλλακτικά μπορούσε κάποιος να βάλει την προηγούμενη έκδοση +statically compiled, η οποία όμως ήταν πολύ πιο αργή). + +Αυτό που δεν έχει ξεπεράσει, είναι το ότι παραμένει ένα ΤΡΟΜΕΡΑ βαρύ πρόγραμμα. Για να γίνω πιο σαφής, σε ένα Cyrix 6x86 P120+ με 32Mb μνήμης και 80Mb swap +partition, το StarOffice θέλει πιο πολύ χρόνο να φορτώσει απ\' ότι τα X-Windows με KDE ως Window Manager. + +Δεν έχει ξεπεράσει επίσης, το θέμα το οποίο απασχολεί το υπόλοιπο 50% των postings στα σχετικά newsgroups: Το πρόβλημα με τις γραμματοσειρές. Δεν ξέρω πόσο +ικανοποιημένος θα ήταν ένα Αμερικανός με τις γραμματοσειρές που διατίθενται με το StarOffice, εγώ όμως ως Έλληνας έχω τρομερά παράπονα. Πρακτικά είναι σχεδόν +αδύνατο να προσθέσεις γραμματοσειρές. Λεπτομέρειες σε επόμενο κεφάλαιο. + + +### [2. Τι μας φέρνει]{#s2} + +Το StarOffice 4.0 έχει εντελώς διαφορετική νοοτροπία απ\' ότι το StarOffice 3.1. Δεν είναι πια μία σουίτα (sic) προγραμμάτων, αλλά ένα πρόγραμμα με πολλά +modules, τα οποία μπορούν να χωριστούν σε δύο κατηγορίες: Τα modules γραφείου και τα modules για Internet.Όλα αυτά τα καλούδια μπορεί κάποιος να τα διαχειριστεί +μέσα από τον πολύ εύχρηστο file-program manager (ο οποίος ονομάζεται explorer). Ο file-program manager αυτός θα θυμίσει σε πολλούς Windows95, μια που έχει τα +δικά του Workspace, desktop, μέχρι και Recycle bin! Δεν είναι παράξενο αυτό, μια που το StarOffice βγαίνει για Linux, Windows95, OS/2 και Solaris. Αυτή τη +στιγμή υπάρχουν δύο εκδόσεις. Η αγγλική και η γερμανική. Δεν ξέρω αν η γερμανική έχει localized διαλόγους ή μόνο γερμανικό συλλαβισμό, αλλά, εφ\' όσον η +StarDivision είναι γερμανική εταιρεία φαντάζομαι ότι θα είναι πλήρως γερμανοποιημένο. + +Υπάρχει μέχρι και η δυνατότητα επέμβασης στα μενού (αν και δεν βρήκα πως ακριβώς δουλεύει!), και του customization των toolbars. Είναι πολύ θετικό ότι το +StarOffice συνεργάζεται άψογα με το grISOXkbd, και συνεπώς γράφει ελληνικά χωρίς καμία τροποποίηση. Η ερώτηση: το χρησιμοποίησε κανείς; Η απάντηση: ναι, εγώ +όταν έφτιαξα ένα βιογραφικό και μία αίτηση στον κειμενογράφο, με πίνακες, tabs, πλάγια και έντονα γράμματα, με διάφορα διάστιχα κλπ. Ναι, είναι πολύ καλό και +εξυπηρετικό να έχει κάποιος ένα τέτοιο πρόγραμμα στον Υπολογιστή του. + +Σε αυτό το τεύχος, θα ασχοληθούμε με τα Modules γραφείου και με το φλέγον θέμα των γραμματοσειρών: + + +### [3. Modules γραφείου]{#s3} + +**Γενικά**\ +Όλα τα modules, έχουν τα λεγόμενα \"autoformat\" τα οποία σε άλλα προγράμματα ονομάζονται wizards, και είναι πολύ εξυπηρετικά για ανθρώπους που θέλουν να κάνουν +γρήγορα και εύκολα κάποια δουλειά την οποία δεν ξέρουν καλά (όχι, εγώ δεν τα χρησιμοποιώ, ακόμα και για δουλειές που δεν έχω ξανακάνει, αλλά αυτό είναι άλλο +θέμα). Σε όσα modules υπάρχει η έννοια του κειμένου (και εννοούμε κείμενο και όχι λεζάντα ή τίτλος μόνο) υπάρχει spell checking (ναι, καλά καταλάβατε, μόνο στα +αγγλικά ή μόνο στα γερμανικά, ανάλογα με το ποια έκδοση κατέβασε κανείς), autocorrect και autotext. + +- **Κειμενογράφος**\ + Ο Κειμενογράφος του StarOffice, απόγονος του StarWriter, είναι ότι θα περίμενε κανείς από έναν μοντέρνο WYSIWYG κειμενογράφο, και ίσως περισσότερα. Δεν + μπορώ να μην κάνω συνειρμικές συγκρίσεις με το Office 95 το οποίο και είμαι αναγκασμένος να δουλεύω πολύ. Έχει αυτό που λέμε \"τα πάντα\". Γραμματοσειρές, + σε διάφορα μεγέθη, στυλ (Bold, Italics, Bold-Italics, Underline, Strikethrough, Shadow, Outline), με επιλογές ως προς την τοποθέτησή τους (subscript, + superscript οριζόμενα), χρώματα, ελέγχο της απόστασης των γραμμάτων μεταξύ τους (normal, condensed, extended, με τα δύο τελευταία να είναι οριζόμενα), και + τυπογραφικά εφέ (καπιταλάκια ή πεζοκεφαλαία ή κεφαλαιάκια ή όπως αλλιώς τα λέει καθένας, όλοι εννοούν τα Small Caps), με δυνατότητα ελέγχου της παραγράφου + από το διάστιχο μεταξύ των γραμμών (αυτά τα κλασσικά και ακατανόητα από τα Windows 95, μονό, εναμισάρι, διπλό, και ευτυχώς και το πιο normal οριζόμενο), την + κλασική στοίχιση (τρελλό δεξιά, τρελλό αριστερά, κεντραρισμένο, στοιχισμένο και τετραγωνισμένο), τον έλεγχο διάκενου μεταξύ των παραγράφων, με αρχίγραμμα, + και πολλά άλλα που πρέπει κάποιος να ασχολείται με τη σελιδοποίηση για να τα εκτιμήσει.\ + Με ρύθμιση σελίδων (μέγεθος, χρώμα, περιθώρια γύρω-γύρω, headers και footers, αρίθμηση, μονές ή αντικρυστές), με ρύθμιση στηλών (και με άνισα πλάτη) με + ορισμό για υποσημειώσεις.\ + Όλα αυτά δένονται πάρα πολύ ωραία με την δυνατότητα δημιουργίας προκαθορισμένων styles τα οποία μπορεί κανείς να εφαρμόσει και μετά το γράψιμο του κειμένου. + Υπάρχει ακόμα η δυνατότητα εισαγωγής, εκτός από αντικείμενα τα οποία προέρχονται (η δημιουργούνται εκείνη τη στιγμή) από άλλα modules, των κλασικών fields. + Το πρόγραμμα εισάγει αρχεία από σχεδόν κάθε είδους πηγή: Αρχεία γραφικών σε πολλά και γνωστά format, αρχεία κειμένου από Word 6/95, Dos text, Ansi text, Mac + text, Plain text, Rich Text Format, Lotus 1-2-3, Excel 4, 5/95, και άλλα. Ένα πράγμα παράξενο ωστόσο: δεν εισάγει αρχεία από Wordperfect, ούτε από Applix + (τουλάχιστον έτσι λέει, δεν έχω κανένα τέτοιο αρχείο να το δοκιμάσω). Περίμενα ότι αυτές οι χαζές κόντρες που υπάρχουν μεταξύ κατασκευαστών Software για τα + Windows 95 δεν θα πέρναγαν και στο Linux, αλλά\... Αν κάποιος εισάγει μία εικόνα, μπορεί ακόμα να ορίσει και το ποια θα είναι η θέση της σε σχέση με το + κείμενο (το γνωστό wrapping). Γενικά είναι ένα ολοκληρωμένο πρόγραμμα επεξεργασίας κειμένου, το οποίο αντικαθιστά άνετα το οποιοδήποτε άλλο μπορεί να + χρησιμοποιούσατε μέχρι τώρα. +- **Υπολογιστικό φύλλο (spreadsheet κοινώς)**\ + Ένα spreadsheet δεν περιμένει κάποιος να είναι αναγκαστικά όμορφο, ή ακόμα και εύχρηστο. Θέλει όμως να είναι λειτουργικό. Η μόδα θέλει όλα αυτά να + συνυπάρχουν. Έτσι και εδώ, είναι και όμορφο, και εύχρηστο και λειτουργικό. Με το δεδομένο ότι το ίδιο πακέτο απευθύνεται και σε Win95 χρήστες, έχουμε τον + άμεσο ανταγωνιστή του Excel. Ένα spreadsheet με 255 στήλες και 32.000 γραμμές (αν και δεν νομίζω να έχει κανείς ούτε τόσο ισχυρό μηχάνημα ούτε τόσο υψηλές + απαιτήσεις για να το χρησιμοποιήσει) με πολλαπλά worksheets (και δυστυχώς δεν ξέρω αν είναι τρισδιάστατα ή όχι). Με λειτουργίες από sorting μέχρι και goal + seek, scenarios (όχι όμως έτσι όπως θα τα περίμενε κανείς, είναι πολύ user-dependent) και μαθηματικές, οικονομικές και στατιστικές μεταξύ άλλων συναρτήσεις. + Είναι προφανές βέβαια ότι υποστηρίζει τη δημιουργία σχεδιαγραμμάτων αφού μπορεί κάποιος ανά πάσα στιγμή να καλέσει το σχετικό module και να του δώσει τα + στοιχεία από το spreadsheet ως δεδομένα. Το κείμενο στα κελιά μπορεί να τοποθετηθεί οριζόντια ή κάθετα, σε normal, bold, italic, bolditalic και underline, + να στοιχισθεί δεξιά, αριστερά ή στο κέντρο. Υπάρχει η δυνατότητα χρωματισμού των κελιών και των γραμμάτων. +- **Πρόγραμμα παρουσιάσεων (Presentation)**\ + Δεν έχω χρησιμοποιήσει ποτέ ανάλογο πρόγραμμα, αλλά πιστεύω ότι δεν του λείπουν και πολλά. Προσπάθησα να δημιουργήσω ένα slide-show και παρατήρησα ότι + μπορούσα να χρησιμοποιήσω κλειστά σχήματα με ευθείες γραμμές, με καμπύλες γραμμές, ανοιχτά σχήματα με ευθείες γραμμές, με βέλη στις άκρες, τρισδιάστατα + σχήματα, κείμενο αυτόνομο, κείμενο σε μπλοκ. Υπάρχουν πολλά δείγματα για να διαλέξει κανείς ως templates, πράγμα το οποίο είναι πολύ σημαντικό για κάποιον + χωρίς πολλές πολλές γνώσεις που θέλει να κάνει μία παρουσίαση γρήγορα. Υπάρχει βέβαια και η επιλογή τοποθέτησης φόντου στα slides, τα οποία μπορεί να είναι + σε διάφορα μεγέθη. Όταν κάποιος τελειώσει το σχεδιασμό, μπορεί να αλλάξει τη σειρά με την οποία θα παρουσιάζονται τα slides. Η παρουσίαση τέλος μπορεί να + είναι αυτόματη ή interactive. Μπορούμε προφάνως να εισάγουμε κάποιο chart που φτιάξαμε ή ακόμα και να το φτιάξουμε εκείνη τη στιγμή. Εν τέλει, όπως είπα και + προηγουμένως, δεν ξέρω τι χρειάζεται κάποιος που κάνει παρουσιάσεις, αλλά εμένα σίγουρα δεν μου έλειψε τίποτα! +- **Σχεδιαστικό πρόγραμμα**\ + Αυτή τη νέα μόδα σε σχεδιαστικά προγράμματα, η οποία προσπαθεί να συνδυάσει τα vector-based με τα bitmapped-based γραφικά, δεν την βρίσκω και πολύ καλή. Για + να γίνω πιο συγκεκριμένος, υπάρχουν δύο ειδών γραφικά: Πρώτα είναι τα vector γραφικά τα οποία είναι σχήματα που μπορούν να περιγραφούν με συντεταγμένες + (όχι, δεν είναι και τόσο απλή η διαδικασία). Χαρακτηριστικά προγράμματα που παράγουν τέτοια γραφικά είναι (από τον κόσμο των Windows και των Macintosh) το + CorelDraw, το AdobeIllustrator, αλλά ακόμα και το Autocad και άλλα πολλά. Στον κόσμο του Linux υπάρχει σίγουρα το CorelDraw (από την Caldera και αυτό) και + σίγουρα θα υπάρχουν και άλλα που δεν ξέρω. Μετά ήρθαν τα bitmapped γραφικά, όπου κάθε pixel ορίζεται ως προς το χρώμα του. Αντιπροσωπευτικά προγράμματα που + δημιουργούν τέτοια γραφικά είναι το Photoshop και το Photopaint, ενώ για το Linux υπάρχει το πολύ καλό Gimp. Πρόσφατα λοιπόν βγήκαν κάποια προγράμματα τα + οποία είναι για vector γραφικά αλλά μπορούν να επέμβουν (σε πολύ βασικά πράγματα όμως) και σε bitmapped γραφικά, ή ακόμα και να δημιουργήσουν bitmapped + γραφικά. Το πιο γνωστό τέτοιο πρόγραμμα είναι το CorelXara. Μεγάλη εισαγωγή για να πω τελικά ένα και μόνο πράγμα: Προτιμήστε προγράμματα που να κάνουν μία + δουλειά (και καλά). Το module του StarOffice ασχολείται και με τα δύο. Δεν τίθεται βέβαια θέμα σύγκρισης με το Gimp ας πούμε όσον αφορά στα bitmapped + γραφικά. Ούτε τίθεται θέμα σύγκρισης με το CorelDraw για τα vector γραφικά. Συνεπώς αν έχετε μεγάλη ανάγκη για αυτό το module, μάλλον την έχετε άσχημα. + Επειδή όμως βλέπω πολλά προγράμματα Office τα οποία έχουν τέτοια modules με τις ίδιες (απειροελάχιστες) δυνατότητες, φαντάζομαι ότι κάποιος με κάποιο τρόπο + θα τα χρησιμοποιεί. Τέλος πάντων, δεν έχει τίποτα να ζηλέψει από το Kpaint (paint για το KDE) ή το MSpaint των Windows95. Αντιθέτως έχει ορισμένες ωραίες + λειτουργίες, όπως γκρουπάρισμα pixels με το ίδιο χρώμα, αφαίρεση θορύβου και άλλα τέτοια καλούδια, που το κάνουν να μην ντροπιάζει το υπόλοιπο πακέτο. + Μάλλον ο λόγος ύπαρξής του είναι η δημιουργία κάποιου σχήματος πιο πολύπλοκου από μία απλή γραμμή και πιο απλού από δύο τεμνόμενα τρισδιάστατα αντικείμενα! +- **Πρόγραμμα σχεδιαγραμμάτων (Charts)**\ + Εδώ έχουμε ένα module το οποίο δημιουργεί δισδιάστατα και τρισδιάστατα σχεδιαγράμματα. Μπορεί κανείς να διαλέξει μεταξύ 37 δισδιάστατων από 7 διαφορετικές + κατηγορίες και 13 τρισδιάστατων από 5 κατηγορίες. Η αλήθεια είναι ότι όλα αυτά τα έβρισκα ανέκαθεν λίγο πολύ υπερβολικά. Δεν νομίζω ότι χρειάζεται κανείς + πάνω από 10 το πολύ διαφορετικές μορφές σχεδιαγραμμάτων. Βέβαια είναι καλό το ότι υπάρχουν αυτές οι επιλογές. Θεωρείται αυτονόητο ότι τα χρώματα των + σχεδιαγραμμάτων είναι απολύτως οριζόμενα. Μπορεί κάποιος να χρησιμοποιήσει δεδομένα από το spreadsheet για τα σχεδιαγράμματα, ή να τα εισάγει εκείνη τη + στιγμή. Μπορεί να έχει καμβά (grid) οριζόντιο, κατακόρυφο ή και τα δύο. Μπορεί το σχεδιάγραμμα να έχει φόντο. Ένα ωραίο πράγμα, το οποίο χρειάζεται αν + κάποιος θέλει τα σχεδιαγράμματά του τυπωμένα αλλά δεν έχει έγχρωμο εκτυπωτή, είναι ότι τα μέρη του σχεδιαγράμματος (και αυτό βέβαια ισχύει μόνο για τα + bar-charts και τα pie-charts) μπορούν αντί για διαφορετικά χρωματισμένα να είναι διαφορετικά σκιαγραφημένα. Υπάρχουν 9 διαφορετικές διαγραμμίσεις για να + διαλέξει κανείς. Θεωρώ ότι αυτή η δυνατότητα είναι πολύ σημαντική. +- **Equation Editor**\ + Όχι, δεν διάβασα το help-file και έτσι δεν ξέρω πως δουλεύει. Μπορείς να γράψεις κλάσματα, τετραγωνικές ρίζες, ολοκληρώματα, διανύσματα και άλλα πολλά, + αρκεί να βρεις τον τρόπο. Σίγουρα δεν είναι το ευκολότερο πρόγραμμα για να χρησιμοποιήσει κανείς, αλλά από την άλλη μεριά, δεν περιμένει κανείς και + ευχρηστία από ένα τέτοιο πρόγραμμα. Νομίζω ότι όσοι χρειάζονται equations, θα το βρουν αρκετά χρήσιμο, αλλά πάλι αυτό μένει να διευκρινιστεί. Δυστυχώς, και + για αυτό το module, ισχύει ότι ισχύει και για πολλά άλλα modules αυτής της παρουσίασης. Αν δεν έχεις πραγματική ανάγκη χρήσης του, δεν μπορείς να κάνεις + καλή εκτίμηση των δυνατοτήτων του (ή αν κάτι λείπει). +- **Ένα address book**\ + Αυτό τώρα είναι παράξενο. Εγώ σαν Address book θα ονόμαζα ένα rolodex, έναν απλό πίνακα με όνομα, τηλέφωνο, fax, e-mail, διεύθυνση και κάνα δυο άλλα + πράγματα που θα μπορούσε να σκεφτεί το τμήμα marketing της StarDivision. Αντ\' αυτού βρήκα forms, queries, reports και tables! Η πραγματική του χρήση βέβαια + όπως πολύ σωστά υποννοεί η StarDivision είναι για AdressBooks, πολύ παραμετροποιήσιμα όμως. Είμαι σίγουρος ότι με λίγη προσπάθεια θα μπορούσε κάποιος να + φτιάξει μια απλή DataBase, αλλά πάλι και το AdressBook μια DataBase είναι! Είναι καλό πάντως να βλέπεις ότι μπορείς να τροποποιήσεις τόσο πολύ αυτό το + AdressBook ώστε να μην μοιάζει καν με κάτι τέτοιο! Εύχρηστο, με τα κλασικά wizards, σίγουρα δεν είναι η Access αλλά ούτε θέλει να γίνει. Υπάρχουν πιο + εξειδικευμένα προγράμματα για εφαρμογές βάσεων δεδομένων. + + +### [4. Γραμματοσειρές]{#s4} + +Μόνιμο πρόβλημα με το StarOffice ήταν το θέμα των γραμματοσειρών. Θεωρητικά μπορούσε κάποιος να προσθέσει γραμματοσειρές στο StarOffice, αρκεί αυτές οι +γραμματοσειρές να ακολουθούν κάποια πρότυπα. Όχι διεθνώς αναγνωρισμένα πρότυπα, αλλά πρότυπα από την StarDivision. Οι γραμματοσειρές πρέπει να είναι Type1, να +έχουν .pfb και .afm αρχεία, και να μπορούν τα .afm αρχεία να διαβαστούν από το StarOffice. Η διαδικασία, αφού βέβαια έχουμε τις γραμματοσειρές σωστά ορισμένες +να δουλεύουν στα X-Windows, έχει ως εξής: + +1. βάζουμε τα αρχεία .pfb στο directory {office-installation}/xp3/pssoftfonts +2. βάζουμε τα αρχεία .afm στο directory {office-installation}/xp3/fontmetrics/afm +3. ενημερώνουμε το αρχείο {office-installation}/xp3/psstd.fonts με τις γραμματοσειρές που προσθέσαμε, με βάση το αρχείο fonts.scale που υπάρχει στο directory + με τις γραμματοσειρές, αντικαθιστώντας το .pfb στο τέλος κάθε αρχείου με ένα κόμμα (,) και αντικαθιστώντας την σειρά 0-0-0-0 που εμφανίζεται στην περιγραφή + του κάθε αρχείου με την σειρά %d-%d-%d-%d. Μία ματιά στο αρχείο αυτό θα λύσει τυχόν απορίες που δημιουργήθηκαν από το όχι και τόσο κατατοπιστικό αυτό + κείμενο. Ειδικά για τα ελληνικά, βρήκα ότι εμφανίζονται πολύ καλύτερα στην οθόνη αν τα δηλώσω ως 8859-1 αντί για το σωστό 8859-7 +4. εκτελούμε το perl-script που έχει φτιάξει ο Thomas Bartshies στα .afm αρχεία που έχουμε, και αντικαθιστούμε τα πρωτότυπα με τα καινούργια. Θεωρητικά, μετά + από όλα αυτά πρέπει να δουλεύουν οι γραμματοσειρές μας. + +Πραγματικά, να τι έγινε για μένα:\ +α. Γραμματοσειρές από τον Άγγελο Χαρίτση (του 1995) με arial, times και courier, βλέπω κανονικά στην οθόνη τα times, και μπορώ και τυπώνω και τις τρεις +γραμματοσειρές. Τα arial και τα courier δεν μπορώ να τα δω στην οθόνη.\ +β. Γραμματοσειρές από την GR-Soft, με αρχεία .pfb και .pfm (που τα γύρισα σε .afm με το πρόγραμμα afm2pfm) δεν μπόρεσα να τις κάνω καθόλου να δουλέψουν. +Συγκεκριμένα δεν δείχνουν τίποτα!\ +γ. Γραμματοσειρές από την UniBrain με αρχεία .pfb και .afm δεν μπόρεσα να τις κάνω καθόλου να δουλέψουν. Συγκεκριμένα δεν δείχνουν τίποτα!\ +δ. Γραμματoσειρές Bitstream από ένα Solaris 2.5.1 με αρχεία .pfa και .afm δεν μπόρεσα καθόλου να τις κάνω να δουλέψουν. Συγκεκριμένα μόλις τις επιλέξω κλείνουν +το StarOffice.\ +ε. Γραμματοσειρές BH και Monotype από ένα Solaris 2.6 με αρχεία .pfb και .afm, οι μισές δεν δείχουν τίποτα και οι άλλες μισές δεν δείχνουν ελληνικά στην οθόνη, +ούτε και τυπώνουν ελληνικά. + +Τις γραμματοσειρές του Χαρίτση θα τις βρείτε στο ftp.linux.gr, όπως και τα \"πειραγμένα\" .afm αρχεία για το StarOffice, μαζί με το script afm.pl (perl-5.004). +Ελπίζω κάποιος να καταφέρει κάτι και με άλλες γραμματοσειρές και να μας ενημερώσει.\ +Να παρατηρήσουμε ωστόσο ότι τουλάχιστον ένα module (το presentation) δέχεται όλες τις γραμματοσειρές των X-Windows, οπότε εκεί δεν θα έπρεπε να υπάρχει +πρόβλημα. Παρ\' όλα αυτά, όταν δοκίμασα να χρησιμοποιήσω άλλη γραμματοσειρά από την times, η απεικόνιση στην οθόνη είχε πολύ παράξενο kerning. Μάλλον είναι θέμα +πειραματισμού, οπότε αν καταφέρω κάτι σε αυτό θα σας ενημερώσω στο επόμενο τεύχος :-) + + +### [5. Modules για Internet]{#s5} + +- WEB Browser\ + Περιμένετε για το επόμενο τεύχος\... +- HTML Editor\ + Περιμένετε για το επόμενο τεύχος\... +- E-mail (POP & IMAP) client\ + Περιμένετε για το επόμενο τεύχος\... +- FTP client\ + Περιμένετε για το επόμενο τεύχος\... +- News client\ + Περιμένετε για το επόμενο τεύχος\... + diff --git a/content/articles/03/04_heybilly.md b/content/articles/03/04_heybilly.md new file mode 100644 index 0000000..3b449b1 --- /dev/null +++ b/content/articles/03/04_heybilly.md @@ -0,0 +1,60 @@ ++++ +title = 'Billy τσάκω ένα γιαούρτι' +date = '1998-03-01T00:00:00Z' +description = '' +author = 'Ευριπίδης Παπακώστας' +issue = ['Magaz 03'] +issue_weight = 4 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Επικίνδυνη αποστολή: Ο Γιατρός στις Βρυξέλλες για το γιαούρτωμα του Bill Gates.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**Επικίνδυνη αποστολή: Ο Γιατρός στις Βρυξέλλες για το γιαούρτωμα του Bill Gates.** + +Ειναι γνωστό πως ο Bill Gates το είχε παρακάνει. Κόντρα με την Netscape, κόντρα με τη SUN, κόντρα με την Apple, κόντρα με την Αμερικάνικη Νομοθεσία. Ο κομάντο +μας εστάλθηκε σε αποστολή αυτοκτονίας. Αν τον πιάνανε θα αρνιόταν τα πάντα. Ηταν μόνος του. Αυτός και η Κρέπα Σαντιγύ. Και τα κατάφερε\... + +Μετά από τα σχετικά συμβάντα, η ΕΕΕΑ (Ελληνική Εταιρεία Ευρωπαικών Αναλήψεων) με κυρίως έδρα τις Βρυξέλλες επειγόντως συκάλεσε έκτακτο διοικητικό συμβούλιο και +όπως αποφασίστηκε την άλλη μέρα, ο Γιατρός με πλαστό διαβατήριο και μεταμφίεση έσπευσε επι τόπου. + +Σκοπός μας ήταν η ζωντανή συνέντευξη με το μελλοντικό επίτιμο μέλος μας που έριξε την τούρτα. Δυστυχώς παρόλες τις προσπάθειες κατέστη αδύνατη η συνάντηση καθώς +δεν μπορούσε να χορηγηθεί επισκεπτήριο στο κρατητήριο. Παρόλα αυτά, για να θυμούνται πλεον οι παλαιοί και να μαθαίνουν οι νεότεροι ακολουθούν τα ντοκουμέντα: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +![](/03/img/gates.gif) + +Το οδοιπορικό της κρέπας (να διευκρινιστεί εδώ πως το υλικό που κοσμεί τον Βασίλη δεν είναι γιαούρτι αλλά μια μεγάλη κρέπα / τάρτα με σαντιγύ). + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +![](/03/img/gates.jpg) + +We are Microsoft! You\'ll be eliminated! + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +![](/03/img/gates_ap.jpg) + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Where do you want to go tomorrow, Bill? + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Και τέλος. Αφιέρωμα στον Άνθρωπο Θρύλο! Το Επίτιμο Πλέον Μέλος της ΕΕΕΑ! + +![](/03/img/godin2.jpg) + +Η κρέπα κόκκαλα δεν έχει και κόκκαλα τσακίζει. + +**MISSION ACCOMPLISHED** diff --git a/content/articles/03/05_cd.md b/content/articles/03/05_cd.md new file mode 100644 index 0000000..9f5d305 --- /dev/null +++ b/content/articles/03/05_cd.md @@ -0,0 +1,65 @@ ++++ +title = 'CD-ROM ελληνικό? Παρεξηγήσεις και διευκρινήσεις' +date = '1998-03-01T00:00:00Z' +description = '' +author = 'Συντακτική ομάδα του Magaz Magaz(mailto:magaz@linux.gr)' +issue = ['Magaz 03'] +issue_weight = 5 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Πρόσφατα δημοσιεύτηκε στο CHIP ένα e-mail που τους έστειλα, εκ μέρους του Magaz, για την πρόθεση δημιουργίας CD με Linux και όσο πιο πολλά ελληνικά προγράμματα +ήταν δυνατό. Το κείμενο το οποίο ακολουθεί δεν είναι τίποτα άλλο από μία ψυχρή παράθεση δεδομένων και προθέσεων. Υπάρχει λόγος που είναι έτσι: δίνει την +πραγματική διάσταση του γεγονότος.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Για να εξηγήσουμε τι ήταν αυτή η βόμβα που έσκασε στην ελληνική Linux κοινότητα, γιατί εγώ προσωπικά έτσι το βλέπω, πρέπει να αναπτύξουμε το σκεπτικό μας. Οι +αρχική ιδέα υπήρξε στην παρουσίαση της Amtech όπου είχαμε μία συνάντηση. Δυστυχώς βρεθήκαμε μόνο συμμετέχοντες στο magaz, και επειδή είχαμε το καλό προηγούμενο +με το Chip αποφασίσαμε να κάνουμε τις επαφές ως Magaz. Έχουμε λοιπόν και λέμε: + +1. Μία γνωστή distribution, εύκολη στην εγκατάσταση, ως βάση. Λύσεις 2, RedHat και Caldera OpenLinux +2. Ένας ή και δύο εύκολοι και όμορφοι Window Manager (π.χ. KDE, Enlightenment) μαζί βέβαια και με τον γνωστό TWM για ελαφριά περιβάλλοντα +3. Γνωστά προγράμματα, τα οποία δεν περιλαμβάνονται σε όλες τις distributions, και τα οποία καλύπτουν τους εξής τομείς: (Τα παραδείγματα είναι μόνο ιδέες, όχι + αποφάσεις). + - Δίκτυο (Xisp, Netscape, XFMail, Xagent, samba) + - Δουλειά γραφείου, δηλαδή ένα πακέτο Office όπως έχει συνηθιστεί να λέγονται (StarOffice ή Papyrus κλπ) +4. Ελληνικές μεταφράσεις από το LDP (Linuc Documentation Project) δηλαδή τα FAQ, HOW-TO κλπ. +5. Προγράμματα υποστήριξης ελληνικών σε κονσόλα και X-Windows, μαζί με τις αντίστοιχες γραμματοσειρές. + +Αυτή λίγο πολύ ήταν ή πρόβλεψη. Εκτός αυτού είχαμε και τα δεδομένα: + +- Καμία μικρή ομάδα ατόμων (όπως π.χ. είναι αυτή που αποτελεί τον πυρήνα του Magaz) δεν μπορεί να κάνει κάτι τέτοιο ΜΕ ΑΠΟΛΥΤΗ ΕΠΙΤΥΧΙΑ. +- Καμία μη επιχειρηματική ομάδα ατόμων (όπως η ελληνική Linux κοινότητα, το www.linux.gr ή το Magaz) δεν μπορεί να αναλάβει το κόστος παραγωγής CD-ROM σε + πολλά αντίτυπα. +- Η ελληνική κοινότητα του Linux, έχει δείξει όποτε χρειάστηκε ότι μπορεί και συνεργάζεται (π.χ. συνεργασία Μπούρα και Τσιντζέλη για ΕΝΑ πακέτο Ελληνικών στα + X). +- Η ελληνική κοινότητα του Linux έχει τους πόρους (σε ανθρώπινο δυναμικό και ανθρωποώρες) να δημιουργήσει ένα πρότυπο CD (με αυτά τα οποία αναφέρονται + παραπάνω), μία μήτρα δηλαδή, χωρίς να μπει στην οικονομικά δυσάρεστη διαδικασία παραγωγής αντιτύπων. +- Ένα γνωστό περιοδικό το οποίο ΔΙΕΘΝΩΣ έχει δείξει συμπάθεια προς το Linux (το extra τεύχος του Γερμανικού CHIP στην αρχή του χρόνου κυκλοφόρησε με Linux + distribution και KDE), μπορεί να αναλάβει το κόστος αναπαραγωγής του πρότυπου CD και τη διανομή του. +- Το Linux στην Ελλάδα μπορεί να εξαπλωθεί κι άλλο, αρκεί να γίνει πιο προσιτό σε τρία θέματα: + 1. Ευκολία εγκατάστασης + 2. Υποστήριξη ελληνικών + 3. Πληρότητα Software. + +Είναι νομίζω αυτονόητη τώρα πια η κίνησή μας να στείλουμε αυτό το μήνυμα στο Chip. Να σας πληροφορήσουμε όμως ότι ΔΕΝ ΠΗΡΑΜΕ απάντηση. Την απάντηση τη διαβάσαμε +από τις σελίδες του CHIP, και σίγουρα ποτέ δεν είχαμε σκοπό να γνωστοποιηθεί κάτι τέτοιο από άτομα εκτός ελληνικής Linux κοινότητας. Είχαμε σκοπό, σε περίπτωση +που οι \"διαπραγματεύσεις\" είχαν αίσιο τέλος, να ενημερώσουμε τη λίστα (linux-greek-users) και μέσα από αυτήν και το Magaz να καλέσουμε σε συστράτευση για ένα +αξιόλογο αποτέλεσμα. + +Στην παρούσα φάση, υπάρχουν δύο λύσεις:\ +α) Προχωράμε χωρίς την υποστήριξη του Chip μόνοι μας, δημιουργούμε το CD-image και το τοποθετούμε στο ftp.linux.gr ούτως ώστε όποιος θέλει και μπορεί, να το +κατεβάσει και να το γράψει σε CD για προσωπική του χρήση, οπότε χάνουμε το πλεονέκτημα του να μάθουν και άλλοι για το Linux.\ +β) Συνεχίζουμε τις επαφές με το CHIP και ελπίζουμε σε κάποιο αποτέλεσμα. + +Οι δύο παραπάνω λύσεις δεν αποκλείουν η μία την άλλη. Αντιθέτως, μπορούν να συνυπάρξουν. Δηλαδή να δημιουργείται το Image και αν δεχτεί το CHIP να αναλάβει την +παραγωγή τους το δίνουμε, αλλιώς το αφήνουμε εκεί που είναι. + +Τέλος, να διευκρινήσουμε ότι σε καμία περίπτωση δεν υπήρξε η διάθεση δημιουργίας \"Ελληνικής distribution\", τουλάχιστον όχι με τη στενή έννοια του όρου. +Κανένας μας δεν μίλησε για εξελληνισμό κανενός προγράμματος (πλην του KDE το οποίο έρχεται από μόνο του με υποστήριξη ελληνικών μηνυμάτων), λειτουργικού, file +system, ή άλλα τέτοια τα οποία προσωπικά θεωρώ ευτράπελα, και πιστεύω ότι την ίδια άποψη έχουν και οι υπόλοιποι συντελεστές του Magaz. + +Αν και δεν είχαμε σκοπό να λέμε αερολογίες (και πριν πάρουμε απάντηση από το Chip αυτά ΕΙΝΑΙ αερολογίες) θα θέλαμε τις απόψεις όλων για το θέμα ώστε να +ξεκινήσει αυτή η προσπάθεια. Το magaz μπορεί να αναλάβει εργασία συντονισμού, αλλά εξελίξεις ελληνικών προγραμμάτων θα πρέπει να τις αναλάβουν οι +προγραμματιστές που τα έφτιαξαν. Περιμένουμε mails από εθελοντές, για να οργανωθούμε!!! diff --git a/content/articles/03/06_mailbox.md b/content/articles/03/06_mailbox.md new file mode 100644 index 0000000..e71c1d4 --- /dev/null +++ b/content/articles/03/06_mailbox.md @@ -0,0 +1,426 @@ ++++ +title = 'Αλληλογραφία' +date = '1998-03-01T00:00:00Z' +description = '' +author = '' +issue = ['Magaz 03'] +issue_weight = 6 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Και αυτό το μήνα είχαμε \"ηλεκτρονικά γράμματα\" από αναγνώστες του περιοδικού, κυρίως με ερωτήσεις. Επίτηδες παρελήφθησαν ορισμένα e-mails τα οποία +απαντήθηκαν μεν, αλλά ήταν πολύ ειδικές λύσεις προβλημάτων και θα κούραζαν. Επίσης παρελήφθησαν (όχι επίτηδες) όσα e-mails \"χάθηκαν\" κατά το τελευταίο crash +ενός δίσκου :-(* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. FTP πρόσβαση στο περιοδικό.** +------------------------------------------------------------ + +**2. Ερωτήσεις, πολλές ερωτήσεις\...** +---------------------------------------------------------------- + +**3. Γράμματα σε συνέχειες\...** +---------------------------------------------------------- + +**4. Περιοδικό έντυπο** +------------------------------------------------- + +**5. Πρόβλημα με ελληνικά στη Web page σας.** +----------------------------------------------------------------------- + +**6. Μικρή ερώτηση (που έγινε μεγάλη).** +------------------------------------------------------------------ + +**7. Linux Distributions** +---------------------------------------------------- + +**8. SOS- help me** +--------------------------------------------- + +**9. Συνεργασία** +------------------------------------------- + +**10. Συγχαρητήρια για το περιοδικό σας!** +---------------------------------------------------------------------- + + +### [1. FTP πρόσβαση στο περιοδικό.]{#s1} + +Από : [Μαιστρέλη Κώστα](mailto:fm94@tee.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@auadec.aua.gr) + +Νομίζω πως καλή ιδέα θα ήταν να υπάρχουν τα html και οι εικόνες του περιοδικού σε κάποιο συμπιεσμένο αρχείο (κατά προτίμηση στο ftp) έτσι ώστε να μπορούμε να το +κατεβάσουμε ολόκληρο και να το αρχειοθετήσουμε.. Επίσης το ftp νομίζω ότι είναι καλύτερη θέση για ένα τέτοιου είδους αρχείο μιας και είναι διαθέσιμο σε +περισσότερους ανθρώπους και είναι πιο μόνιμη θέση από μια http διεύθυνση. + +*Όπως ίσως θα είδες, στην πρώτη σελίδα του περιοδικού, υπάρχει η δυνατότητα download ενός συμπιεσμένου αρχείου, το οποίο περιέχει τα τρία πρώτα τεύχη. Θα +ακολουθήσει η \"διάθεση\" των τευχών και κατ\' αυτή τη μορφή. Επί τη ευκαιρεία, να σας πληροφορήσουμε ότι το περιοδικό είναι (κατά την πάγια φιλοσοφία του +Linux) copyleft! Αν κάποιος θέλει, μπορεί να το βάλει (εν είδει mirror) στο site του. Είναι τέτοια η δομή των αρχείων, ώστε να μην χρειάζεται καμία αλλαγή! Μία +παράκληση μόνο, αν κάποιος κάνει κάτι τέτοιο, να μας ενημερώσει ούτως ώστε να αναφέρουμε κάπου και τα mirrors.*\ +*Επίσης, θα θέλαμε να μην γίνονται αλλαγές στα πιθανά mirrors, αλλά αντ\' αυτού οι προτεινόμενες αλλαγές να στέλνονται σε εμάς με e-mail.* + + +### [2. Ερωτήσεις, πολλές ερωτήσεις\...]{#s2} + +Από : [Μπισογιάννη Αλέξη](mailto:biso@otenet.gr) + +Απάντηση : [Φώτης Γεωργάτος](mailto:gef@ceid.upatras.gr) + +Γειά σας και εύγε γιά το περιοδικό!!!\ +Λοιπόν είμαι ένας υπερnew user του Linux και όπως καταλαβαίνετε έχω μεγάλη ανάγκη απο help :(((((((((((((((( + +*Χτύπησες την σωστή πόρτα. :-)* + +Έχω το Red Hat 5.0 στο σκληρό αλλά και το Slackware 3,2 και το MCC 1,0, και το Debian 1,2,13 σε CD. Από τα τελευταία είχα βάλει μόνο το Slackware. Από ότι +διάβασα -και είδα- το Red Hat είναι το πιο εύκολο και το συνιστώ σε όλους τους newbies. Έχω όμως πρόβλημα με το CD-ROM drive. Πώς μπορώ να το κάνω να κάνει +mount στο boot ?? Και αφού το κάνω mount με το χέρι μετά δεν κάνει eject.\'Η μάλλον γενικά δεν κάνει eject στο Linux. Απο ότι έχω καταλάβει όμως το CD-ROM δεν +μπορεί να κάνει mount-unmount αυτόματα, έτσι δεν είναι ?? + +*Αυτά που ζητάς είναι εφικτά, αλλά πρέπει να ξέρεις τα εξής:\ +Κατ\' αρχήν το Linux όταν του βάζεις ένα cdrom, πρέπει να το κάνεις εσύ mount εκτός και εάν έχεις έναν automounter daemon (amd). Ξέρω ότι αρκετοί έχουν λύσει το +πρόβλημα αυτό έτσι, αλλά έχω την εντύπωση ότι δεν αξίζει τον κόπο, καθώς μέσα από το γραφικό περιβάλλον συνήθως μπορείς να κάνεις εύκολα mount/umount. Επίσης +στο Linux όταν κάνεις mount ένα cdrom (πχ mount /dev/hdc /cdrom -t iso9660), το λειτουργικό κλειδώνει (lock) την μονάδα του οπτικού δίσκου, για αυτό δεν μπορείς +να το βγάλεις. Η άποψή μου είναι ότι αυτό είναι πολύ λογικό, όσο λογικό είναι ότι δεν βγάζεις τον σκληρό δίσκο την ώρα που δουλεύει ο Η/Υ. Για να αλλάξεις το +δισκάκι, απλά κάνε umount. Αντίστοιχο φαινόμενο εμφανίζεται με το floppy όπου εάν βγάλεις την δισκέτα και δεν έχει γίνει umount προηγουμένως, το λειτουργικό +μπερδεύεται στην χρήση της δισκέτας.* + +Δεύτερη ερώτηση. Ποιά είναι η διαφορά των files /X11, /XFree86. (Δεν ξέρω άν τα έγραψα σωστά). + +*Στον δίσκο σου πρέπει να έχεις ένα ή παραπάνω directories από τα: /usr/X11, /usr/X11R6, /var/X11. Αν μιλάς για αυτά, τότε όλα είναι το ίδιο (βασικά το ένα +είναι directory και τα άλλα symlinks, ή shortrcuts για τους Win95 users. Αν τώρα μιλά γενικά, το X11 είναι το X Window περιβάλλον από το X Consortium, ενώ το +Xfree86 είναι η υλοποίηση του X11 για i386 συμβατούς υπολογιστές.* + +Ερώτηση 3. Ρε παιδιά εγώ είμαι ένας κακόμοιρος Windoze user. Όπως όλοι του είδους μας είμαστε καλομαθημένοι με τα αυτόματα install και configuration utilities. +Για παράδειγμα πώς μπορώ να εγκαταστήσω ένα προγραμμα απο το CD σε περιβάλλον Χ??? + +*RPM, είναι η μαγική λέξη που πρέπει να ψάχνεις. Είναι μια ειδική δομή αρχείου εγκατάστασης, που κάνει την εγκατάσταση πακέτων παιχνιδάκι. Δυστυχώς μόνο το +RedHat, Caldera και Suse Linux, υποστηρίζουν εγγενώς το rpm (στα άλλα γίνεται με λίγη δουλίτσα και όχι απαραίτητα με τον καλύτερο τρόπο). Ψάχνε πάντα για το +πακέτο που σε ενδιαφέρει σε rpm μορφή. Νομίζω ένας λογικός τρόπος για να το ψάξεις είναι να πας στην σελίδα του προγράμματος που σε ενδιαφέρει, να βρεις το +ακριβές όνομα του πιο πρόσφατου rpm, και να το ψάξεις στο , πρώτα στην Ελλάδα και μετά στο εξωτερικό. Ακόμα η εμπειρία μας με τα rpm +δεν είναι μεγάλη, όμως αργά ή γρήγορα θα δείς ένα αρθράκι στο magaz.* + +Ή πώς μπορώ να κάνω ένα \"shortcut\" ενός προγράμματος στο \"desktop\"?? Όπως βλέπετε αυτό που ζητάω είναι να έχω τα καλά των Windoze με τη σταθερότητα και την +ταχύτητα του Linux (πρέπει να το δείτε να τρέχει τον Pentium II που έχω!!!!!!!!!!!!!! :)))) + +*Εάν έχεις KDE είναι απλό (κάνε δεξί κλικ στο πρόγραμμα που σε ενδιαφέρει), εάν έχεις Redhat με fvwm-95 νομίζω δεν είναι απλό :-(. Το θέμα είναι πολύ μεγάλο για +να το καλύψει κανείς εδώ και εν συντομία σου λέω τα εξής:\ +H ιδέα του shortcut στα UNIX-like (άρα και στο Linux) λειτουργικά υλοποιείται σε επίπεδο filesystem, με τους συνδέσμους (links). (πχ γράψε ln -s /home/ftp/pub +/spiti, ls -las /, cd /spiti). Οι σύνδεσμοι του UNIX παρέχουν πολλές ευκολίες για την διαχείριση του συστήματος και λύνουν πολλά προβλήματα με κομψό τρόπο.* + +Ερώτηση quattro (έχω σπουδάσει στη Ιταλία βλέπετε). Οι window managers είναι μία έκδοση των Χ σαν το MetroX που περιέχεται το RH 5?? + +*Ο Xserver (Xfree86, AcceratedX, MetroX) είναι το πρόγραμμα που παρέχει τις δυνατότητες της κάρτας γραφικών για υψηλές αναλύσεις, και άρα η βάση του γραφικού +περιβάλλοντος. Οι δυο τελευταίοι που ανέφερα είναι εμπορικοί αλλά τείνουν να είναι και πιο γρήγοροι, υποστηρίζοντας πολύ μοντέρνες κάρτες. Οι window managers +είναι η πρώτη εφαρμογή που τρέχει στο γραφικό περιβάλλον για να μπορεί ο χρήστης να ζητήσει τις υπόλοιπες υπηρεσίες και εφαρμογές, όπως περίπου είναι το +λειτουργικό σύστημα για τον υπολογιστή. Ο window manager (twm, kde, fvwm, fvwm-95, ovwm κλπ) είναι ουσιαστικά ένα απλό πρόγραμμα και υπάρχουν κατάστάσεις που +λείπει παντελώς και στην θέση του είναι για παράδειγμα ένα xterm (παράθυρο με shell για να γράφεις εντολές). Εάν γράψεις απλά X (κεφαλαίο), λογικά θα δεις ένα +άδειο dekstop (xserver χωρίς window manager) που μπορείς να \"σκοτώσεις\" με ctrl+alt+backspace (πρόσεξε: backspace).* + +Ερώτηση 5 (cinque). Επειδή το WWW το χρησιμοποιώ κατα κόρον πείτε μου σας παρακαλώ πώς να κάνω το πιγκουϊνάκι να κάνει dial up. Απο ότι διάβασα υπάρχει ένα +προγραμματάκι που κάνει αυτή τη δουλειά, έτσι δεν είναι? + +*Το Redhat υποθέτω έχει το δικό του εργαλείο. Εάν έχεις KDE είναι πολύ απλό να μπεις στο Internet μέσα από το Kppp (για να μην πω πιο εύκολο από τα windows, +ιδιαίτερα στο scripting). Υπάρχει και το XISP του Δημήτρη Μπούρα που χρησιμοποιεί πολύς κόσμος και στο εξωτερικό, χρήσιμο ειδικά αν στήσεις slackware.* + +Ερώτηση 6. Υπάρχει κάτι που αντιστοιχεί στο defrag των Windoze?? Aν χρειάζεται βέβαια ;) + +*Όχι δεν χρειάζεται, γιατί το filesystem ext2, είναι ειδικά σχεδιασμένο για να έχει ελάχιστο fragmentation, και αυτόματο έλεγχο λογικών λαθών (αυτό που αργεί +μερικές φορές στην εκκίνηση, σπαστικό μεν σωτήριο δε).* + +Ερώτηση sette, εφτά, ευτά (7). Μπορώ να κάνω install διάφορα προγράμματα εκεί που θέλω εγώ και όχι στα διάφορα /bin, /etc, /usr, και τα λοιπά? Αυτό το λέω γιατί +εκει πέρα έχει τόσα πολλά που χάνει η μάνα το παιδί και το παιδί τη μάνα. + +*Μάλλον όχι και δεν θα πρέπει και να σε ενδιαφέρει. Συνήθως μπορείς να επιλέξεις να βάζεις τα δικά σου προγράμματα στο /usr/local. Εκεί έχει θέσεις για τα πάντα +πχ bin,lib,man,src κλπ και εάν χρειαστεί μπαίνει και κάνα netscape :-). Να αφήνεις τα υπόλοιπα σημεία του λειτουργικού ανέγγιχτα για να έχεις έλεγχο της +κατάστασης, εκτός και εάν ξέρεις τι κάνεις.* + +Ερώτηση 8. Ρε παιδιά γίνεται να μας πείτε μερικά προγράμματα γενικής χρήσεως όπως editors κ.λ.π και πώς τα χρισιμοποιούμε γιατί έχω μπλέξει τα μπούτια μου?? + +*Λοιπόν προτείνω να δεις αυτά:* + +- Netscape, Nedit (editor), +- http://members.xoom.com/tucols/main.html +- KDE, KDE, KDE (αντί να κάθεσαι να στήνεις προγραμματάκια, πάρε αυτό και φτιάξε το περιβάλλον σου μια και έξω) + +Question 9. Τί θα πεί custom Kernel?? Αντιστοιχεί στο Autoexec και στο config?? (sorry για την αντιπαράθεση αλλά όπως εξήγησα είμαι τελείως γκάγκα με τα non +Bill OS). + +*Στο Linux το λειτουργικό είναι ο πυρήνας, και για αλλάξεις τις ρυθμίσεις του ξαναφτιάχνεις πυρήνα (καλά στον Pentium II, θα θέλει κάνα 3λεπτο\... ). Αυτό +χρειάζεται συνήθως όταν αλλάζεις κάρτα ήχου, γραφικών, ή θες να κάνεις κάτι εξεζητημένο στο λειτουργικό. Στο Redhat Linux πολλά πράγματα γίνονται αυτόματα και +μάλλον δεν χρειάζεται να φτιάξεις πυρήνα αρχικά, αλλά σίγουρα κάποια στιγμή θα σου χρειαστεί. Η διαδικασία είναι πολύ συγκεκριμένη αλλά μεγάλη και θα αναλυθεί +κάποια στιγμή από στήλη του περιοδικού.* + +10\. Με το Wine τί γίνεται? Όχι τίποτα άλλο αλλά θα ήθελα να παίζω και κανένα game;) + +*Μην βασίζεσαι και πολύ σε αυτό ακόμα. Υπάρχει και το Wabi, που τρέχει αρκετά win 3.11 apps, αλλά εάν με ερωτήσεις, η κατάσταση στα windows είναι τόσο κλειστής +αρχιτεκτονικής (doc: τι έχει μέσα το doc?), που πρέπει να είμαστε σκεπτικοί απέναντι τους. Απεναντίας μπορείς να βασίζεσαι στο DOSEMU, που -το έχω ξαναπεί- +τρέχει πολύ DOS λογισμικό: μου έχουν τρέξει κάτι ελληνικές εφαρμογές γραμμένες σε clipper που δεν τρέχαν κάτω από win95 dos box! Επίσης κάτω από αυτό έχουν +τρέξει πολλά δύσκολα παιχνίδια όπως το Doom (τότε).* + +Προς το παρόν αυτά (χεχεχεχεχεχεχεχε satanik γέλιο) και θα ήθελα να προτείνω κάτι. Θα μπορούσα να βοηθήσω ώς πηγή ερωτήσεων νέων χρηστών. Δηλαδή να σας στέλνω +ερωτήσεις και να τις \"δημοσιεύετε\" σε μία στήλη. Σαν να λέμε ένα F.A.Q. αλλά για τους πολυυυυυυυ άσχετους. Θα μπορούσε δηλαδή η στήλη να λέει τί είναι και πώς +χρησιμοποιήται το fdisk (το ξέρω ότι υπάρχει man για αυτό αλλά πάλι πως βλέπω τις man pages??). Καταλάβατε τι εννοώ? Αυτό το λέω γιατί υπάρχουν χρήστες οι +οποίοι ναι μεν θέλουν Linux αλλά δέν μπορούν λόγω γνώσεων ή χρόνου να το ψάξουν τόσο πολύ. + +*Φίλε μου καλώς ήρθες. Υπάρχει μεγάλη ανάγκη από άτομα που μπορούν να βοηθήσουν με όποιο τρόπο μπορούν και σίγουρα η απάντηση εδώ είναι θετική. Γράψου στην +linux-howto, και δήλωσε παρών και άνεργος.* + +Ευχαριστώ για το χρόνο και την υπομονή σας. (κλάψ, λύγμ) + +*Πσσσσσσσσσσσσσ. Αυτό είναι.\ +Φιλικά\ +Γεωργάτος Φώτης* + + +### [3. Γράμματα σε συνέχειες\...]{#s3} + +Από : [THE MAGE](mailto:mage@acropolis.net) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@auadec.aua.gr) + +Γεια σας.\ +Τελικά κατέληξα μετά από αρκετή σκέψη στο redhat, αφού σύμφωνα με τις πιο πολλές απόψεις είναι το πιο εύχρηστο για έναν αρχάριο στο linux. Μετά από καμιά +δεκαριά αποτυχημένες εγκαταστάσεις του ( :))) τελικά κατάφερα να το κάνω να δουλέψει.Παρόλα αυτά όμως, δεν ξέρω πως να φτιάξω μια dial-up σύνδεση στο internet. +Έχω σύνδεση στην acropolis και μετά μάλλον θα πάρω στη hol η στη kapatel.Μπορείτε να βοηθήσετε? + +*Acropolis, έχω σύνδεση και εγώ και είναι πανεύκολο. Αυτό που χρειάζεσαι είναι το πακετάκι XISP το οποίο ή θα το έχουν τα CD της REDHAT, ή θα το βρεις από το +. Όταν το πάρεις επικοινώνησε πάλι μαζί μας να σου πούμε τις ρυθμίσεις σύνδεσης.* + +Ακόμα,δεν μπορώ να χρησιμοποιήσω τους dos-emulators για το shell η τα X-windows, ενώ τα έχω installarei. Όταν είμαι στο shell και γράφω dos μου βγάζει κάτι +μηνύματα του στυλ ERROR in module /usr/f60 ή κάπως έτσι. Έχετε καμιά ιδέα για το που οφείλονται αυτά? + +*Από dos emulator δεν έχω ιδέα. Sorry* + +Τέλος, θα ήθελα να σας ρωτήσω πως μπορω να δω τα περιεχόμενα μιας δισκέτας,του cd-rom, καθώς και το πόσο χώρο καταλαμβάνει κάθε αρχείο στο δίσκο, πως μπορώ να +διαβάσω ένα δίσκο με FAT32 Η FAT16 μέσα από linux? Τέλος, πως μπορώ να αλλάξω το default λειτουργικό, από το οποίο ξεκινά το lilo?? + +*Περιεχόμενα με ls αφού το έχεις κάνει mount.\ +man mount\ +man ls\ +Το πόσο χώρο πιάνει στο δίσκο, ls -l\ +Για το lilo, μια ματιά στο /etc/lilo.conf θα σου λύσει την απορία.* + +Θα ήθελα ακόμα να πω ότι μια καλή ιδέα για άρθρο θα ήταν να μας παρουσιάσετε τους εαυτούς σας :)) Πόσοι είστε, πως σκεφτήκατε να κάνετε το περιοδικό, κτλ. +Αλήθεια,στο irc έρχεστε? + +*Η παρουσίαση των αρθρογράφων είναι άσχετη με το περιοδικό, αλλά αν γίνουμε διάσημοι θα το μάθετε:-)\ +Εγώ δεν μπαίνω στο irc (έλλειψη χρόνου) αλλά άλλοι μπαίνουν. Το linux-gr δενξέρω σε ποιο δίκτυο είναι, αλλά το βρίσκεις στον server irc.forthnet.gr* + +Υ.Γ. Όλο λέτε για τα windows και τα αποκαλείτε winbloze όμως ξεχνάτε ότι και το linux έχει τα x-windows :)) + +*Ναι αλλά το ένα είναι λειτουργικό ενώ το άλλο gui.* + +Υ.Γ.2 Τελικά στις mailing-lists πως μπορώ να εγγραφώ? + +*Στείλε mail στο majordomo\@argeas.argos.hol.gr και στο body γράψε:\ +subscribe linux-greek-users* + +Eπειδή σκέφτομαι να ξαναπεράσω το linux για να του δώσω πιο πολύ χώρο στο δίσκο (εχω 1gb και θα του δωσω 400mb),τι partitions με συμβουλεύετε να φτιάξω και πόσα +mb το καθένα? (έχω 64mb ram,αν έχει κάποια σημασία). + +*Με τόση Ram, 50 Mb swap πρέπει να είναι και περισσευούμενη (εγώ έχω 32 Mb Ram και 80 swap και δεν εχω ΠΟΤΕ πρόβλημα - ούτε όταν δεν είχα καθόλου swap είχα +πρόβλημα, αλλά σε ένα compilation ενός ΤΡΟΜΕΡΑ απαιτητικού προγράμματος μου χτύπησε με ένα message \"virtual memory exhausted\" και τα πήρα στο κρανίο που λέμε, +οπότε\...)\ +Partitions:\ +/ (root) ας είναι και 30 Mb\ +/var (το var) ας είναι και 30 Mb\ +/usr (to usr)\ +/opt (τα προγράμματα που δεν μπαίνουν στο usr)\ +Στα δύο τελευταία χώρισε 60 (usr) - 40 (opt) τον εναπομείναντα χώρο.* + +Κατάφερα να σετάρω το linux και είμαι για αρκετό διάστημα στο internet. Τώρα το πρόβλημά μου είναι ότι στο web δεν μπορώ να δω ελληνικά παρόλο που στον +comunicator 4.04 του βάζω επιλογή για greek enconding. + +*Και έχεις εγκαταστήσει τα [greek fonts](ftp://ftp.ntua.gr/pub/fonts/) του NTUA πιστεύω???\ +Αν θέλεις βοήθεια για το πως να στήσεις τα fonts, στείλε ξανά mail.* + + +### [4. Περιοδικό έντυπο]{#s4} + +Από : [Σταύρο Μαραγκουδάκη](mailto:elhellas@delta1.elea.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@auadec.aua.gr) + +Καλημέρα σας,\ +Θέλω να ρωτήσω εάν το περιοδικό του Linux κυκλοφορεί στα περίπτερα ή από που θα μπορούσα να το προμηθευτώ. + +*Όχι, λυπάμαι αλλά το περιοδικό \"κυκλοφορεί\" μόνο στο Internet. Βλέπετε, συντηρείται από ερασιτέχνες και δεν έχει οικονομικούς πόρους, οπότε μια έντυπη έκδοση +θα ήταν αδύνατη (λόγο κόστους και χρόnου μόνο. Η τεχνογνωσία υπάρχει).* + + +### [5. Πρόβλημα με ελληνικά στη Web page σας.]{#s5} + +Από : [Νικόλαο Φώτη](mailto:webmasterxl@dolnet.gr) + +Απάντηση : [Γιώργος Κεραμίδας](mailto:keramida@ceid.upatras.gr) + +Βρε παιδιά, προσπαθώ να διαβασω τα magazines σας, αλλά δεν μπορώ (μόνο το index του 1ου τεύχους μπορώ να διαβάσω) Μήπως τα\' χετε βγάλει σε IBM 437 ?? Ναι, έχω +Elot-928 fonts\... + +*Δεδομένα:* + +- Ελληνικά fonts έχεις +- Είναι και 928. +- Σε όλους εμάς τα ελληνικά δουλεύουν με το \"Greek Encoding\" του Navigator kai tou Communicator. + +*Απορία:\ +Εσύ χρησιμοποιείς \"Greek\" document encoding, ή \"English\".?\ +Δοκίμασε να επιλέξεις \" View \| Document Encoding \| Greek (iso-8859-7) \" και μάλλον θα δεις ελληνικά\...* + + +### [6. Μικρή ερώτηση (που έγινε μεγάλη).]{#s6} + +Από : [Χαζάπη Α.](mailto:hazapis@csd.uch.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@auadec.aua.gr) + +Πραγματικά αξίζετε συγχαρητήρια για την φοβερή σας δουλειά. + +*Ε, μην υπερβάλλουμε κιόλας (άκου φοβερή), αλλά ευχαριστούμε :-)* + +Γράφω αυτό το mail καθώς είμαι αρχάριος στο Linux και έχω αρκετές απορίες, αλλά η σημαντικότερη παραμένει αναπάντητη\ +Πως στο διάλο θα συνδεθώ στο Internet?\ +Πραγματικά έχω φάει τον κόσμο να το καταφέρω, έχω κατεβάσει άπειρα προγράμματα που υπόσχονται άμεση σύνδεση με ευκολία, αλλά και έχω διαβάσει αρκετές σελίδες +που λένε πως γίνεται με διάφορα scripts κτλ και δεν γίνεται τίποτα. Το μόνο που έχω καταφέρει είναι να συνδεθώ με το modem, αλλά και πάλι (εκτός του ότι το +minicom για κάποιο ηλίθιο λόγο σέρνεται) ούτε login και password μπορώ να δώσω. + +*Βασικά δεν βοηθάς και πολύ.\ +a) Aς τα πάρουμε από την αρχή: μιλάς για σύνδεση από κονσόλα ή από X-windows?\ +b) Τι πρωτόκολλο authentication χρησιμοποιεί ο Internet provider που έχεις?\ +c) Ποια προγράμματα δοκίμασες, και τι εννοείς όταν λες δεν δουλέψανε\ +d) Ποια προγράμματα έχει τώρα στον H/Y σου (μήπως και βολευτούμε με αυτά)\ +* + +Προτείνω μια στήλη στο magaz για τον αρχάριο στο Linux. Θα ήμουν και ευγνώμων αν είχα μια απάντηση καθώς και mail έχω στείλει σε διάφορους αλλά απάντηση δεν έχω +λάβει καμία. + +*Καλή ιδέα, μας το έχουν ξαναπεί, αλλά ακόμα δεν ξέρουμε. Θα το δούμε για το μεθεπόμενο τεύχος ίσως :-)* + +Ευχαριστώ πολύ\ +Antony + +*Any time\ +Magaz* + + +### [7. Linux Distributions]{#s7} + +Από : [Χριστοδουλάκη Αλέξανδρο](mailto:A.HRISTODOULAKIS@telestet.gr) + +Απάντηση : [Γιώργος Κεραμίδας](mailto:keramida@ceid.upatras.gr) + +Γειά σας,\ +Λέγομαι Χριστοδουλάκης Αλέξανδρος από το Ηράκλειο Κρήτης και αρχάριος στο Linux. Όταν διαbασα το άρθρο σας στο Linuxmag αποφάσισα να προμηθευτώ το LDR Linux. Το +μεγάλο μου πρόβλημα είναι ότι δεν το βρίσκω. + +*Το LDR Linux που λες είναι το \"Linux Developers Resource\" της Infomagic. Αυτό είναι μια συλλογή από 6 CD, που έχει μέσα αρκετά distributions (συνήθως 4 +διαφορετικά distributions υπάρχουν εκεί μέσα), και mirrors σε CD από τα δύο πιο σημσντικά ftp-sites του Linux, το \"sunsite.unc.edu\" και το \"tsx-11.mit.edu\". +Αν περιμένεις λιγάκι ακόμα, θα αρχίσει να κυκλοφορεί η έκδοση του Φεβρουαρίου 1998, γιατί μόλις αυτή την Δευτέρα άρχισε η Infomagic να κάνει \"shipping\" τα +δισκάκια. Αυτή η έκδοση έχει μέσα τα εξής (όπως φαίνονται και στις σελίδες της [Infomagic](http://www.infomagic.com/)* + +Red Hat 5.0 for Intel (installs kernel 2.0.32) + +Slackware 3.4 (installs kernel 2.0.30) + +SuSE 5.1 (installs kernel 2.0.33) + +Metro X-Server from MetroLink (version 4.1 complete commercial version - NOT a demo!) + +Kernel source trees include up to 2.0.33 (stable sources) and up to 2.1.79 (beta sources) + +XFree86 3.3.1(X-Windows) Binaries and sources included with all distributions + +RedHat\'s Powertools 5.0 (with sources) + +Linux archives from tsx-11.mit.edu and sunsite.unc.edu + +### [8. SOS- help me]{#s8} + +Από : [Μιχάλη Μπάχα](mailto:patmosa@hol.gr) + +Απάντηση : [Γιώργος Κεραμίδας](mailto:keramida@ceid.upatras.gr) + +Γεια χαρά.\ +Είμαι σε ένα μικρό νησί της Δωδεκανήσου την Πάτμο και αποφάσισα να ασχοληθώ με το linux. Όπως καταλαβαίνετε βοήθεια δεν υπάρχει από πουθενά\.... + +*Στην Πάτμο δεν ξέρω, αλλά στο δίκτυο, κι ειδικότερα στα \*.linux.gr θα βρεις πολλή βοήθεια :)* + +Έχω κατεβάσει από το ftp σας το redhat το 5.0 (ολόκληρο 237mb) και έχω ένα πρόβλημα με την εγκατάστασή του. Το p.c μου έχει δύο σκληρούς δίσκους. Το linux +βρίσκεται σε αυτόν που τρέχει win95, έχω κάνει τα απαραίτητα partition στον άλλο δίσκο και μου ζητάει να δηλώσω που βρίσκονται τα αρχεία από όπου θα γίνει η +εγκατάσταση\... ότι και αν δοκίμασα απέτυχε (π.χ. /dev/hda1/i386/redhat και άλλα). Τι να κάνω έχω κολλήσει. + +*Στο redhat από ότι θυμάμαι υπάρχει μία επιλογή για \"mounted partition\". Αυτό σημαίνει ότι πρέπει να κάνεις \"mount\" το partition που έχει τα install +αρχειάκια του RedHat. Για να κάνεις mount ένα partition (π.χ. το /dev/hda1) πρέπει να υπάρχει ένα directory που θα το κολλήσεις πάνω του, (π.χ. /win95)\... έτσι +κάνεις:\ +root:darkstar: \# mkdir /win95\ +root\@darkstar: \# mount -t vfat /dev/hda1 /win95\ +και τότε το /dev/hda1 το βλέπεις σαν ένα directory του συστήματός σου (συγκεκριμένα το /win95). Οπότε αν κάνεις, π.χ.:\ +root\@darkstar: \# ls -F /win95\ +θα δείς: total ???\ +. .. Program\\ Files/ My\\ Documents/\ +Μετά από όλα αυτά, στο RedHat δίνεις σαν source directory του installation σου ένα \"mounted partition\" και όταν σου πει για τα directory δίνεις το +\"/win95/RedHat/\" (ή ότι άλλο, ανάλογα με το που έγραψες τα αρχεία του RedHat με το FTP).* + +Θέλω να ξέρεις ότι θέλω να το στήσω σαν webserver, είναι κάτι άλλο που πρέπει να κάνω αργότερα; + +*Πρέπει να εγκαταστήσεις και να \"φτιάξεις\" λιγάκι ένα web-server. Επειδή του δείχνει προτίμηση πάνω από το μισό Internet, και είναι και τσάμπα, θα σου +προτείνω τον [Apache](http://www.apache.org). Και βέβαια στείλε μου mail με ό,τι θέλεις να ρωτήσεις (με Cc: στο magaz\@linux.gr βέβαια).* + +Σε ευχαριστώ πολύ\ +Μιχάλης Μπάχας - Πάτμος + +*Παρακαλώ, κι ό,τι άλλο θελήσεις μην διστάσεις να ρωτήσεις. Εμείς οι σχετικά παλιοί γι\' αυτό είμαστε εδώ πέρα :)))* + + +### [9. Συνεργασία]{#s9} + +Από : [Προκόπη Προκοπίδη](mailto:pproko@essex.ac.uk) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@auadec.aua.gr) + +Γεια σας + +Γράφετε στο δεύτερο τεύχος ότι το περιοδικό θέλει μεταφραστή και διορθωτή - επιμελητή. Κάνω ένα master στη γλωσσολογία στην Αγγλία. Αν σας ενδιαφέρει, +φαντάζομαι ότι μπορώ να μεταφράζω κάποιο/α άρθρο/α από κάθε τεύχος και να κοιτάω τα κείμενα που θέλετε για λάθη. Για να κατοχυρώση αυτή την επίζηλη θέση θα +μεταχειριστώ και πλάγια μέσα, δηλαδή τη γνωριμία μου με τη Σανιδά και τον Παπακώστα. Ρωτήστε τον τελευταίο να σας πει για την καταχώριση, για την καταχώρηση, το +καταχωρίζω και το καταχωρώ :-) Δεν ξέρω αν θα αποτελέσει πρόβλημα ότι τώρα τελευταία ασχολήθηκα με Linux. Ως εκ τούτου δεν έχω ακόμη καταφέρει να γράψω ελληνικά +στα X ή στην κονσόλα, αν και βλέπω, π.χ. στο Netscape. Πιστεύω να το φτιάξω κι αυτό.\ +Χαιρετισμούς.\ +Προκόπης. + +Από : [Ευθύμιο Μαυρογεωργιάδη](mailto:emav@enl.auth.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@auadec.aua.gr) + +Φοβερό το περιοδικό, παιδιά! Πολύ \*με\* άρεσε! ;-)\ +Είδα λοιπόν, πως χρειάζεστε βοήθεια με τη μετάφραση των σελίδων και είπα να lend you a hand. Θα χαιρόμουν, λοιπόν, να βοηθήσω αλλά\... με το μαλακό, ε! Έχω και +ένα διδακτορικό να φροντίσω, καμιά 50αριά παιδιά που με κυνηγάνε στο φροντιστήριο και ανά τη Θεσσαλονίκη, τη λίστα με τους κομπιουτερολινουξάδικους όρους που +πρέπει να μεταφράσω από τα αγγλικά στα ελληνικά και που δεν έχει προχωρήσει και αυτή πολύ πέρα από την πρώτη της έκδοση, κλπ. κλπ. ;-)\ +Τα λέμε. + +*Κύριοι, παιδιά, magez, ή ότι προτιμάτε ως προσφώνηση, ευχαριστούμε πολύ για την προσφορά. Πράγματι είναι θετικό για μας να βλέπουμε τόσο σύντομη απάντηση (και +μάλιστα από δύο άτομα, όχι από ένα ή κανένα όπως περιμέναμε). Σας έχουμε στα υπόψην, όταν το περιοδικό γίνει (αν γίνει κάποτε) δίγλωσσο (ή και τρίγλωσσο, όλα +παίζουν αν έχεις τρέλλα) θα επικοινωνήσουμε μαζί σας για τις λεπτομέρειες. Πιστεύω ότι τρία άτομα φτάνουν για αυτή τη δουλειά της μετάφρασης, οπότε με λίγη +βοήθεια και από μας δεν θα είναι ιδιαίτερα δύσκολο.\ +Παρά ταύτα, σκεφτήκαμε ότι δεν έχει έρθει ακόμα η ώρα για κάτι τέτοιο. Αντ\' αυτού όμως, εφόσον υπάρχει από σας διάθεση βοήθειας, θα μπορούσατε να βοηθήσετε +στην μετάφραση των FAQs, ΗΟWΤΟs και λοιπών documents, από τα ελληνικά στα αγγλικά. Λεπτομέρειες στη λίστα greek-howto\@argeas.argos.hol.gr.\ +Και πάλι ευχαριστούμε για την προσφορά.* + + +### [10. Συγχαρητήρια για το περιοδικό σας!]{#s10} + +Από : [pestilence](mailto:pestilence_7@hotmail.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@auadec.aua.gr) + +Τυχαία λοιπόν αποφάσισα να κάνω ένα web search για linux στην Ελλάδα και να σου τα πρώτα αποτελέσματα. Μετά από μια αρκετά εκτενή ματιά βλέπω ότι το περιοδικό +σας είναι πολύ καλά στημένο με περιεχόμενο και φιλικότητα προς όλες τις ομάδες χρηστών του Linux. Εύχομαι χάρις σε εσάς ο αριθμός users του Linux στην Ελλάδα να +μεγαλώσει και άλλο, και να μάθει επιτέλους ο κόσμος τις δυνατότητες αυτού του φοβερού λειτουργικού :-)\ +Πολλά χαιρετίσματα!\ +Pestilence + +*Ευχαριστούμε για τα καλά λόγια. Ελπίζουμε να βοηθάμε και να ενημερώνουμε όλες τις ομάδες χρηστών, όπως πολύ σωστά αναφέρετε. Χαιρετίσματα και από μας* + diff --git a/content/articles/04/01_editorial.md b/content/articles/04/01_editorial.md new file mode 100644 index 0000000..5f7543b --- /dev/null +++ b/content/articles/04/01_editorial.md @@ -0,0 +1,37 @@ ++++ +title = 'Editorial' +date = '1998-04-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης' +issue = ['Magaz 04'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Και να το τέταρτο τεύχος\... Παρά τα πολλά προβλήματα τα οποία καθυστέρησαν το τρίτο τεύχος, να που αποδεικνύουμε ότι \"είμαστε ακόμα ζωντανοί\".* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Και αυτό δεν το κάνουμε μόνοι μας. Σε αυτό το τεύχος \"φιλοξενούμε\" τρία άρθρα από φίλους συνLinuxάδες. Έτσι γίνεται πραγματικότητα αυτό που λέγαμε από την +αρχή. Το περιοδικό δεν είναι εδώ για να το γράφουμε εμείς. Το περιοδικό είναι εδώ για να γράφουν όλοι τις απόψεις τους, αρκεί να είναι σχετικές με Linux. + +Τι σας έχουμε για αυτό το τεύχος; Ας τα πιάσουμε από την αρχή. Ο ακάβλητος από τον ελληνικό στρατό Παναγιώτης Βρυώνης, ξεκινάει μία νέα στήλη, την [Linux +Zone](02_zone.html)\... Μία στήλη που βοηθάει σε διάφορα κοινά και μη προβλήματα. Μία στήλη η οποία κινείται προς τον αρχάριο. Τι σημαίνει αυτό; Άλλη μία +πρόσκληση από εμάς. Βρήκατε κάτι που σας ταλαιπώρησε όταν πρωτοβάλατε το Linux, και τελικά το ξεπεράσατε; Γράψτε μας τις εμπειρίες σας. Θα θέλαμε πολύ να τις +διαβάσουμε, και σίγουρα πολλοί αρχάριοι (και όχι μόνο) θα εκτιμήσουν αυτή τη βοήθεια. + +Πολλή κουβέντα είχε πέσει πρόσφατα στην λίστα linux-greek-users σχετικά με το θέμα των ελληνικών στο LaTeX. Για να μαθαίνουμε αυτοί οι οποίοι δεν ξέρουμε τίποτα +για αυτό, και να λύνονται οι τυχόν απορίες αυτών που ξέρουν, ο Απόστολος Συρόπουλος μας έστειλε ένα [ωραίο άρθρο](05_babel.html) για το πακέτο babel του LaTeX. + +Ο Νίκος Καραμανώλης μας έγραψε κάποιες [σκέψεις για το Linux](06_skepseis.html). Μία ανάλυση της θέσης του Linux αυτή τη στιγμή, και κάποιες ιδέες για το τι +πρέπει να γίνει ώστε να βελτιωθεί ακόμα περισσότερο αυτή η θέση\... Διαβάστε το και προβληματιστείτε μαζί μας\... + +Δεν είναι όλα όμως τόσο σοβαρά\... Υπάρχει και η αστεία πλευρά του θέματος, την οποία αναλαμβάνουν οι φίλοι μας Ευριπίδης και Βούλα να μας υπενθυμίσουν, από τη +[στήλη του\... γιατρού](03_ios.html). Ή μήπως είναι και αυτό σοβαρό; Μμμμ, τα συμπεράσματα δικά σας. + +Τι άλλο έχουμε; Ε, ένα άρθρο είχαμε αφήσει στη μέση στο τεύχος 3. Το άρθρο για το StarOffice. Όπως περιμένατε, η συνέχειά του βρίσκεται [εδώ](04_soffice1.html). + +Δεν θα μπορούσε βέβαια να λείπει και η [στήλη της αλληλογραφίας](07_mailbox.html), έτσι; Σε λίγο αυτή η στήλη θα φτάσει να είναι η μεγαλύτερη στήλη του τεύχους. +Τα e-mails που λαμβάνουμε μας δίνουν κουράγιο να συνεχίσουμε\... + +Σας ευχόμαστε, καλό διάβασμα και, λόγω των ημερών, καλό Πάσχα. Θα τα ξαναπούμε σύντομα\.... diff --git a/content/articles/04/02_zone.md b/content/articles/04/02_zone.md new file mode 100644 index 0000000..6e10e80 --- /dev/null +++ b/content/articles/04/02_zone.md @@ -0,0 +1,66 @@ ++++ +title = 'Linux Zone' +date = '1998-04-01T00:00:00Z' +description = '' +author = 'Παναγιώτης Βρυώνης' +issue = ['Magaz 04'] +issue_weight = 2 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το Linux Zone είναι μία στήλη που σκοπό της έχει να παρουσιάζει μερικές από τις εμπειρίες μου στον χώρο του Linux.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Πριν από λίγο καιρό αποφάσισα να αντικαταστήσω τον παλιό μου εκτυπωτή, έναν Epson Stylus 800. Οι λόγοι ήταν δύο: πρώτον ο Epson έδειχνε να \"έχει φάει τα ψωμιά +του\" μετά από τις ατελείωτες δοκιμασίες που είχε περάσει μαζί μου τα τελευταία τρία χρόνια και δεύτερον η αδελφή μου που χρησιμοποιεί τον υπολογιστή για +computer graphics ήθελε έναν έγχρωμο εκτυπωτή. Λόγω του ότι με κάλεσαν να παρουσιαστώ στο ναυτικό δεν είχα πολύ χρόνο για να ψάξω το θέμα και έτσι γρήγορα, +γρήγορα κατέληξα να αγοράζω τον Hewlett-Packard Deskjet 720C. + +Ο HP συνδέθηκε, οι σχετικοί drivers για τα Windows95 εγκαταστάθηκαν και πραγματικά το αποτέλεσμα μου έρεσε: οι μαυρόασπρες εκτυπώσεις ήταν ταχύτατες και οι +έγχρωμες εντυπωσιακές. + +Αφού λοιπόν η αδελφή μου μπορούσε να δουλεύει στα Windows ήταν ώρα να δω τί ρυθμίσεις θα χρειαζόντουσαν να γίνουν για να μπορώ να εκτυπώνω από το RedHat Linux +που χρησιμοποιώ σχεδόν αποκλειστικά. Το RedHat παρέχει ένα πολύ βολικό εργαλείο, το printtool, που απολοποιεί την διαδικασία \"εγκατάστασης\" νέων εκτυπωτών στο +σύστημα. Επιλογή για \"HP Deskjet 720C\" δεν υπήρχε και αποφάσισα να δοκιμάσω κάποιες άλλες που έμοιαζαν κοντινές. Δοκίμασα \"cdj550\", \"cdeskjet\", +\"deskjet\" και γενικά ό,τι έμοιαζε να έχει κάποια πιθανότητα να δουλέψει άλλά μάταια. Το αποτέλεσμα σε όλες τις περιπτώσεις ήταν το ίδιο: ο HP δεν αντιδρούσε, +λες και δεν δέχονταν δεδομένα. + +Ευτυχώς ο Epson υπήρχε ακόμη. Το συνέδεσα και πάλι για να βεβαιωθώ ότι ο lpd δουλεύει κανονικά και όντως δεν υπήρχε κανένα πρόβλημα. Άρα, αυτό που θα έπρεπε να +φταίει είναι ότι τα δεδομένα που έστελνα στον HP δεν είχαν την μορφή που θα έπρεπε\... + +Εκείνη την περίοδο φτάνει ένα e-mail στο magaz από τον Νίκο Παπαγρηγορίου που αντιμετώπιζε το ίδιο πρόβλημα. Μόνο που έχει παρατηρήσει κάτι που εμένα μου έχει +διαφύγει: το κουτί του εκτυπωτή λέει \"Windows Printer\"!!! Καλά είναι δυνατόν να υπάρχει κάτι τέτοιο; Οι επισκέψεις στο www site της HP καθώς και τα e-mail +στην RedHat, ενισχύουν την άποψη αυτή. Οι αναζητήσεις συνεχίζονται σε news groups και διάφορα sites, αλλά μάταια\... + +Την λύση θα μου δώσει και πάλι ο Νίκος . Πράγματι, εκεί βρήκα πολλές πληροφορίες. Κατ\' αρχήν, ο HP Deskjet +720C χρησιμοποιεί ένα \"πρωτόκολλο\" επικοινωνίας που η HP ονομάζει PPA αλλά τις λεπτομέρειες τις κρατάει μυστικές. Κατά συνέπεια, μόνο αυτή μπορεί να φτιάξει +drivers (και δεν έχει από ό,τι φαίνεται κανένα ενδιαφέρον να τους μεταφέρει στο Linux\...). + +Αν και τα πράγματα έδειχναν μαύρα, δεν ήταν και τόσο. Ο συγγραφέας των παραπάνω σελίδων, ονόματι Tim Norman, είχε καθήσει με υπομονή και προσπάθησε να +αποκωδικοποιήσει τις εκτυπώσεις που έπαιρνε από τα Windows. Σιγά, σιγά άρχισε να καταλαβαίνει το PPA και αυτό του επέτρεψε να γράψει ένα προγραμματάκι που να +μετατρέπει pbm αρχεία (αυτό είναι ένα format που μπορεί να παράγει και το ghostscript) σε μορφή κατανοητή από τον 720C! + +Download λοιπόν τα σχετικά αρχεία, διάβασμα των README και INSTALL, compilation και η πρώτη εκτύπωση από το Linux μου είναι γεγονός!!! Βέβαια, υπάρχουν κάποια +\"προβληματάκια\" (πολύ μικρή ταχύτητα, μόνο μαύρο-άσπρο) αλλά ο Tim υποστηρίζει ότι δεν θα αργήσουν να λυθούν. + +Ενημέρωσα και τον Νίκο, ο οποίος μου απάντησε ότι δεν έχει καταφέρει να καταλάβει πώς θα χρησιμοποιήσει τα executables που παράγονται από το compilation. Δεν +έχει και άδικο - αν δεν ξέρεις πώς δουλεύει ο lpd θα χρειαστεί πρώτα λίγο διάβασμα (βλ. Printing-HOWTO κ.λ.). Γιατί να μην απλοποιήσω λίγο την διαδικασία; + +Το πρώτο βήμα ήταν να δώ πώς θα προσθέσω τον 720C στους εκτυπωτές που υποστηρίζει το printtool. Ε, αν και το συγκεκριμένο εργαλείο είναι δουλειά της RedHat, ο +κώδικας είναι σε Perl, τα στοιχεία διαβάζονται από ASCII files και διανέμεται σύμφωνα με το CPL. Λίγο ψάξιμο λοιπόν στο source code, μερικοί πειραματισμοί και +το printtool υποστήριζε και Deskjet 720C. + +Το επόμενο βήμα ήταν να φτιάξω ένα RPM που να αυτοματοποιεί την εγκατάσταση. Αν και έχω μία καλή εμπειρία με τα διάφορα εργαλεία που χρησιμοποιούνται για την +αυτοματοποιήση της διαδικασίας του compile και της εγκατάστασης όπως make, autoconf και automake ποτέ μου δεν είχα κάτσει να ασχοληθώ με τον τρόπο που +κατασκευάζονται τα RPMs, αν και πάντα με ενδιέφερε. + +Αυτή ήταν μία καλή ευκαιρία. Επισκεύθηκα το , διάβασα ό,τι μου φαινότανε απαραίτητο και μετά από ένα απόγευμα ευχάριστης ταλαιπωρίας +εγκατέστησα για πρώτη φορά το ppa-0.8.2-1.rpm στο συστημά μου. (Μέχρι να γραψω το άρθρο έχουμε φτάσει στο 8.4 που είναι και σαφώς ταχύτερο\...) Έστειλα την +δουλειά μου στον Tim Norman για να την αξιοποιήσει όπως νομίζει καλύτερα. + +Τώρα; Ε, τώρα περιμένω νέα versions του ppa με περισσότερες δυνατότητες. Ίσως να μπορούσε να γραφτεί και ένα προγραμματάκι για X-Windows (KDE?) αντίστοιχο με το +πρόγραμμα της HP για τα Windows95 που να επιτρέπει την επιλογή της ποιότητας εκτύπωσης κ.λ. Πάντως τώρα που έμαθα πως δουλεύει το rpm σκοπεύω να φτιάξω ένα για +το grISOXkb (νομίζω ότι θα βοηθήσει πολύ κόσμο). + +Περισσότερα από το Linux Zone στο επόμενο τεύχος του magaz! diff --git a/content/articles/04/03_ios.md b/content/articles/04/03_ios.md new file mode 100644 index 0000000..4a0a103 --- /dev/null +++ b/content/articles/04/03_ios.md @@ -0,0 +1,61 @@ ++++ +title = 'Η στήλη του\... Γιατρού' +date = '1998-04-01T00:00:00Z' +description = '' +author = 'Ευριπίδης Παπακώστας' +issue = ['Magaz 04'] +issue_weight = 3 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Nομίζατε ότι ο Ιός Microsoft ΔΕΝ θεραπεύεται; Κάνετε λάθος\...* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**ΣΟΥΗΔΟΣ ΕΡΕΥΝΗΤΗΣ**\ +**ΑΝΑΚΑΛΥΠΤΕΙ ΤΟ ΦΑΡΜΑΚΟ ΚΑΤΑ ΤΟΥ ΙΟΥ MICROSOFT !!!** + +Η γνωστή μάστιγα που ταλαιπωρούσε χιλιάδες ανά τον κόσμο δαμάστηκε επιτέλους από τον **Linus Torvalds** μετά από μακροχρόνια έρευνα. + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + \ + **ΠΑΡΑΔΕΙΓΜΑ 1** + + ![](/04/img/msv2sm.jpg) ![](/04/img/linv2sm.jpg) + + Οπως βλέπουμε, η θήλυ ασθενής ήδη προσβεβλημένη πολύ καιρό από την ασθένεια των Τώρα η ασθενής έχει αποθεραπευτεί πλήρως και μετατραπεί σε καλονή, σύμβολο του + NT, είχε γυρίσει στο στάδιο του πρωτογονισμού. Εκανε κακάκια της παρουσία sex + ξένων, έτρωγε ακαθαρσίες και ήταν γενικά χάλια μαύρα. + + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + +\>code\> + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + \ + **ΠΑΡΑΔΕΙΓΜΑ 2** + + ![](/04/img/mse4sm.jpg) ![](/04/img/line2sm.jpg) + + Άμοιρος υπάλληλος-προγραμματιστής προσβεβλημένος από τον ιό, γελάει βλακωδώς Στη φώτο 2 είναι άνετος, cool, προκαλεί το θαυμασμό των γυναικών οι οποίες + και χειροκροτάει τα windows που τον έφεραν στην κατάσταση αυτή. Το ντύσιμο υγραίνονται αυτομάτως από το άρωμα LINUX που φοράει (2 σταγόνες). + έρχεται σε πολύ προχωρημένο στάδιο των εταιρειών δικτύων Μicrosoft. + + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Ο γιατρός σας απαντά : Εσείς μας ρωτάτε, εμείς σας γράφουμε. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + --------------------------------------------------------------------------------------------------------------------------------------------------------------- + \ + ![](/04/img/giatr1sm.jpg) + + ΤΟ LINUX είναι το φάρμακο που θα αλλάξει την ιστορία. Ατυχώς, ο κόσμος δεν έχει επίγνωση της σοβαρότητας της ασθένειάς του. Η επιτυχία του φαρμάκου αυτού + συνίσταται στη μοναδική του ικανότητα να κάνει τη δουλειά για την οποία δημιουργήθηκε. + + --------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/content/articles/04/04_soffice1.md b/content/articles/04/04_soffice1.md new file mode 100644 index 0000000..9888dc9 --- /dev/null +++ b/content/articles/04/04_soffice1.md @@ -0,0 +1,72 @@ ++++ +title = 'StarOffice 4.0' +date = '1998-04-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης' +issue = ['Magaz 04'] +issue_weight = 4 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Στο τεύχος Μαρτίου [(Magaz \#3)](http://www.linux.gr/magaz/03) είχαμε το πρώτο μέρος της παρουσίασης του StarOffice 4.0 για Linux, η οποία αφορούσε στα modules +γραφείου που έρχονται με αυτό το πρόγραμμα. Σε αυτό το τεύχος θα ασχοληθούμε με τα modules για Internet. Σε αυτό το τέυχος, έχουμε επιτέλους και το περιβόητο +link για τα [ελληνικά που δουλεύουν με το StarOffice](../files/g-fonts.tgz).* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Modules για Internet + +- WEB Browser\ + Ένας WEB Browser δεν θεωρείται σήμερα απαραίτητο κομμάτι ενός μικτού προγράμματος. Αντιθέτως, μάλλον δινεται σαν \"έξτρα\", και τελικά λίγοι το + χρησιμοποιούμε. Με αυτό ως δεδομένο, μάλλον δεν περιμένει κανένας τίποτα ιδιαίτερο. Και όμως, η StarDivision για άλλη μία φορά μας εκπλήσσει ευχάριστα. Ο + Web Browser που έχει είναι τουλάχιστον ικανοποιητικός. Δείχνει πάρα πολύ καλά την πρώτη σελίδα του Magaz :-) αλλά δεν πάει στις επόμενες. Δεν δουλεύει το + Javascript. Αυτό είναι λάθος δικό μας όμως και όχι του StarOffice, αφού σχεδιάστηκε η πρώτη σελίδα με βάση το Netscape (δημοφιλέστερος browser για Linux). + Σύντομα θα αλλάξει πάλι η πρώτη σελίδα, με σκοπό να είναι λίγο - πολύ browser-independent.\ + Κατά τα άλλα, μπορεί να σώσει σελίδες από το Internet \"μιμούμενος\" Netscape 3 ή 4, Internet Explorer 3.01, Standard HTML 3.2, ή, τέλος, σε μία μορφή που + να την διαβάζει (πολύ άνετα) το StarWrite. Έχει επιλογή για Caching, accepting cookies, ορισμούς για διάφορα file types. Έχει επιλογή για ορισμό των μεγεθών + των γραμμάτων, αλλά όχι της οικογένειας. Αυτο σημαίνει ότι αν στη σελίδα δεν αναφέρεται γραμματοσειρά, όπως την αναφέρει ο χρήστης στο σύστημά του, δεν + μπορεί να δει ελληνικά (αυτό μας πειράζει, έτσι;). Σε διάφορες δοκιμές που έκανα, είδα ότι αν ονομάσω τις γραμματοσειρές μου Arial, Times New Roman και + Courier, δεν είχα πρόβλημα να δω ελληνικά, τουλάχιστον στις σελίδες του Magaz (όπου και δοκιμάστηκε η γραμματοσειρά Arial). Το πρόβλημα βέβαια υπάρχει αν + έχω άλλα ονόματα, για παράδειγμα GR-Arial, GRHelv, GR-Times ή άλλα τέτοια που προτιμάω να χρησιμοποιώ, ή αν η σελίδα δεν αναφέρει γραμματοσειρά, οπότε + πρέπει να ελεγχθεί, τι θεωρεί το StarOffice ως default γραμματοσειρά.\ + Το μεγαλύτερο πρόβλημα όμως του WEB Browser, είναι ότι κολλάει. Έχει μία εντελώς απρόβλεπτη συμπεριφορά. Κατά τη διάρκεια των δοκιμών για να γράψω αυτό το + άρθρο είδα ότι κολλάει σχεδόν πάντα στα local documents, ενώ και όταν \"σερφάρεις\", αν αποφασίσεις να μην ακολουθήσεις ένα link, αλλά να γράψεις την + διεύθυνση που θέλεις να δεις, πρέπει να κάνεις ολόκληρη διαδικασία (File-open) με απρόβλεπτα αποτελέσματα. Μάλλον είναι ένα κομμάτι, το οποίο χρειάζεται + βελτίωση. +- HTML Editor\ + Εν αντιθέσει με τον WEB Browser, ο HTML editor θεωρείται λίγο - πολύ στάνταρ κομμάτι του \"πολυπρογράμματος\". Συνεπώς και οι απαιτήσεις μας είναι + διαφορετικές. Σαν HTML editor, έχει δυνατότητα να σχεδιάσει frames, είναι βέβαια WYSIWYG editor, με όλα τα καλούδια που περιμένει κάποιος. Με χρώματα, + backgrounds, links, frames, anchors, αλλά και άλλα που δεν περιμένει κανείς (controls όπως check box, combo κλπ). Ελάττωμα: ένα και μεγάλο, δεν δουλεύει με + τα ελληνικά. Ακόμα χειρότερα: δουλεύει με τα ελληνικά, κάνεις μια χαρά τη δουλειά σου, αλλά όταν έρθει η ώρα να το σώσεις, βλέπεις ότι την έχεις πατήσει\... + Οτιδήποτε ελληνικό, βγαίνει ως ερωτηματικό (κάτι από FrontPage 97 μου θυμίζει). Για αγγλικές σελίδες, συνιστάται ανεπιφύλακτα. Για ελληνικές όμως, vi και + πάλι vi\.... +- E-mail (POP & IMAP) client\ + Ένας mail client, απλός και κατανοητός. Threaded, με φίλτρα, με attachments, με αυτόματο update, τι άλλο θέλει κανείς από έναν mail client? Σταθερότητα. + Όταν έχασα καμιά 20αριά e-mails επειδή στα καλά καθούμενα αποφάσισε να πεθάνει, είδα ότι θα προτιμούσα να έχανα κάτι από την \"ασφάλεια\" που μου παρέχει + και να είχα τα αρχεία με τα mails σε plain-text files. Συμβουλή μου είναι, αν τον χρησιμοποιήσετε (και γιατι όχι άλλωστε, είναι πολύ καλός και όμορφος), ΜΗΝ + σβήνετε τα mail από τον server\... +- FTP client\ + Γι\' αυτό τώρα τι να πω; Ένας Windows Explorer χωρίς καμία αλλαγή μέσα στο Linuxάκι μας; Και όμως. Οι άνθρωποι της Stardivision σκέφτηκαν ότι θα το + εκτιμήσουμε ιδιαίτερα (!!) και μας βάλανε έναν Windows Explorer μέσα στο πακέτο τους, με την προκάλυψη του ftp client. Τέλος πάντων, ας μην γίνομαι κακός. + Αρκετά βολικός και πολύ λίγο παραμετροποιήσιμος. Περίμενα ότι αν πείραζα τα associations των αρχείων, θα μπορούσα να ανοίξω ενα .zip αρχείο (με το KZIP) + αντί να το κατεβάσω, όταν του κάνω διπλό κλικ, αλλά αυτό πέρα βρέχει. Εν ολίγοις, είναι καλός σαν client, αλλά λίγο μεγαλύτερη παραμετροποίηση θα την ήθελα + (όπως παράδειγμα την επιλογή να μην βλέπω τα αρχεία και τα directories με εκείνα τα τεράστια εικονίδια, αλλά μόνο σαν κείμενο). +- News client\ + Ε, καλά, τίποτα το ιδιαίτερο. Απλά ο mail client, με τις κατάλληλες μετατροπές για να διαβάζει News. Με φίλτρα, threads, επιλογή να αποθηκεύονται locally ή + όχι τα news. Βασικά δεν έχω τίποτα άλλο να παρατηρήσω, εκτός βέβαια από το ότι δύσκολα θα τον έλεγα offline newsreader, αν και κινείται προς αυτή την + κατεύθυνση. +- Συμπερασματικά:\ + Δύσκολα τα πράγματα όταν φτάνεις στο στάδιο των συμπερασμάτων. Η αλήθεια είναι ότι το Linux πάσχει από πακέτα όπως WordProcessor, Spreadsheet, Presentation, + WYSIWYG HTML editor, threaded news client, threaded mail client, που να είναι ταυτόχρονα ελκυστικά προς το νέο χρήστη, και λειτουργικά. Το StarOffice + καταφέρνει να δώσει όλα αυτά πολύ όμορφα και ελκυστικά. Μπράβο στους ανθρώπους της StarDivision που κάνανε τόσο καλή δουλειά. Σίγουρα σε κάθε εγκατάσταση + Linux που θα κάνω, από τα δέκα πρώτα πρόγραμματα που θα μπαίνουν, ένα θα είναι το StarOffice. Από την άλλη μεριά όμως, προτιμώ να χρησιμοποιώ το XFmail από + το Mail της StarOffice, προτιμώ το Netscape από τον Browser της StarOffice, δεν χρειάζομαι Equation Editor, δεν χρειάζομαι news reader κλπ. κλπ.\ + Εδώ έπεσα θέμα της Microsoftικής νοοτροπίας. Θα ήθελα να έχω τη δυνατότητα να εγκαταστήσω ΜΟΝΟ τα προγράμματα που θέλω να χρησιμοποιήσω, αλλά ειμαι + υποχρεωμένος να τα εγκαταστήσω όλα\.... Επίσης, ένα άλλο που με δυσαρέστησε (τελικά μήπως είμαι παράξενος;) είναι ότι όλες οι ρυθμίσεις που γίνονται στο + πρόγραμμα, γίνονται μέσω μενού. Τι το κακό έχει αυτό; θα μου πείτε. Ε, λοιπόν, ένα πράγμα που μου αρέσει πάρα πολύ από το Linux, είναι ότι μπορώ να το κόβω + και να το ράβω στα μέτρα μου. Μπορεί να θέλω πενήντα μέρες να βρω άκρη με αυτά τα ακατανόητα για μένα .κάτιrc αρχεία, αλλά το θέλω, το συνήθισα, και δεν + θέλω να το αποχωριστώ. Δεν θα γκρίνιαζα βέβαια, αν μπορούσα να κάνω ΟΤΙ ΘΕΛΩ μέσω μενού. Το κακό είναι ότι μπορώ να κάνω ΟΤΙ ΘΕΛΕΙ Η STARDIVISION μέσω + μενού. Συγνώμμη, αλλά αυτό δεν μου αρέσει. Δεν θα παραβλέψω την τρομερή κατά τη γνώμη μου συνεισφορά της StarDivision στη διάδοση του Linux. Οτιδήποτε + φέρνει το Linux κοντά στον τελικό χρήστη, το θεωρώ καλό. Θα προτιμούσα όμως να μην είχε τόσο Winows ικη νοοτροπία, πράγμα το οποίο απορρέει από την κοινή + ανάπτυξη του προγράμματος για πολλές πλατφόρμες. Θα το χρησιμοποιήσω; Παρά τη γκρίνια μου, ναι!!! Και μόνο ο υπέροχος κειμενογράφος που έχει, θα άξιζε και + να το αγοράσω ακόμα\... diff --git a/content/articles/04/05_babel.md b/content/articles/04/05_babel.md new file mode 100644 index 0000000..2c2df90 --- /dev/null +++ b/content/articles/04/05_babel.md @@ -0,0 +1,180 @@ ++++ +title = 'Η ελληνική επιλογή του πακέτου babel του LaTeX' +date = '1998-04-01T00:00:00Z' +description = '' +author = 'Απόστολος Συρόπουλος' +issue = ['Magaz 04'] +issue_weight = 5 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Σύλλογος Ελλήνων Φίλων του TeX. 28ης Οκτωβρίου 366, 671 00 Ξάνθη, [apostolo\@obelix.ee.duth.gr](mailto:apostolo@obelix.ee.duth.gr?Subject=Magaz-article).* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Εισαγωγή** +--------------------------------------- + +**2. Πώς φτάσαμε στην ελληνική επιλογή?** +----------------------------------------------------------------- + +**3. Η χρήση της ελληνικής επιλογής** +------------------------------------------------------------- + +**4. Τα πακέτα των grtools** +---------------------------------------------------- + +**5. Το βιβλιογραφικό στυλ hellas** +----------------------------------------------------------- + +**6. Το μέλλον** +---------------------------------------- + + +### [1. Εισαγωγή]{#s1} + +Το πακέτο babel, του συστήματος προετοιμασίας εγγράφων LaTeX, είναι η πιο σημαντική προσπάθεια στην καθιέρωση ενός μηχανισμού πολυγλωσσικής επεξεργασίας με +αυτό. Το πακέτο babel, το οποίο σχεδιάστηκε από τον Ολλανδό Johannes Braams, δίνει τη δυνατότητα στο χρήστη του LaTeX να γράφει κείμενο σε όλες σχεδόν τις +ευρωπαϊκές γλώσσες, μεταξύ των οποίων τα ελληνικά και τα ρωσικά. Το LaTeX, πνευματικό παιδί του Leslie Lamport, είναι μια φόρμα του TeX, του πασίγνωστου +συστήματος ψηφιακής στοιχειοθεσίας του Donald Knuth. + +Εδώ και δύο, τουλάχιστον, δεκαετίες το TeX είναι εκείνο το σύστημα που χρησιμοποιείται περισσότερο από οποιοδήποτε άλλο για την προετοιμασία επιστημονικών, +κυρίως, κειμένων αλλά και κειμένων όπου η ποιότητα εμφάνισης αποτελεί βασικό ζητούμενο. Με την εμφάνιση της γλώσσας προγραμματισμού εκτυπωτών PostScript της +Adobe, οι φανατικοί φίλοι του TeX βρήκαν τρόπους συνεργασίας των δύο γλωσσών, με αποτέλεσμα τη δημιουργία ενός πανίσχυρου συνδυασμού εργαλείων. Με την εμφάνιση +της έκδοσης 3 του TeX έγινε δυνατή η ταυτόχρονη επεξεργασία κειμένου σε 256 διαφορετικές γλώσσες. Αυτή η ιδιαίτερη δυνατότητα του TeX αποτέλεσε τη βάση για +πολλές προσπάθειες ενσωμάτωσης κάποιας μορφής πολυγλωσσικής επεξεργασίας στο LaTeX, της πιο γνωστής μορφής του TeX. Η πιο ολοκληρωμένη προσπάθεια, η οποία έγινε +αμέσως δημοφιλής, είναι το πακέτο babel. Βέβαια αξίζει να τονισθεί ότι ούτε το TeX, κατά συνέπεια και το babel, επιτρέπουν τη στοιχειοθεσία κειμένων σε γλώσσες +όπως τα αραβικά, εβραϊκά, μογγολικά, κινέζικά, κλπ. Για τέτοιες γλώσσες θα πρέπει κανείς να χρησιμοποιήσει το **Ω** των Γιάννη Χαραλάμπους και John Plaice. + +Ομως τι ακριβώς κάνει πακέτο babel? Φορτώνει τους κανόνες συλλαβισμού της τρέχουσας γλώσσας εργασίας, έτσι ώστε να γίνεται σωστά ο συλλαβισμός των λέξεων. +Επιπλέον, εξασφαλίζει ότι όλες οι λέξεις-κλειδιά, όπως κεφάλαιο, θεώρημα, κτλ, θα εμφανίζονται στην τρέχουσα γλώσσα εργασίας. Τέλος, λαμβάνει υπ\' όψη του τις +διάφορες στοιχειοθετικές ιδιαιτερότητες της τρέχουσας γλώσσας εργασίας. + + +### [2. Πώς φτάσαμε στην ελληνική επιλογή?]{#s2} + +Στις αρχές του 1995 ο συγγραφέας αγόρασε το LaTeX Companion, το μόνο βιβλίο της εποχής που περιέγραφε τα περισσότερα πακέτα ή/και συστήματα που ήταν διαθέσιμα +για χρήση με το LaTeX. Μεταξύ των άλλων το βιβλίο αναφερόταν στην πολύγλωσση επεξεργασία και φυσικά στο πακέτο babel. Προς έκπληξή του διαπίστωσε πως +υποστηρίζονταν γλώσσες όπως τα βασκικά ή τα τουρκικά, ενώ δεν υποστηρίζονταν τα ελληνικά! (Σας θυμίζω ότι το όνομα TeX προέρχεται από την ελληνική ρίζα +**τεχ**\...) Ομως κάθε τι που αφορά το TeX προέρχεται από την αφιλοκερδή συνεισφορά των χρηστών του συστήματος σε όλο τον κόσμο. Φαίνεται λοιπόν ό,τι είτε οι +Ελληνες δεν χρησιμοποιούσαν το TeX, είτε το χρησιμοποιούσαν μόνο για μη-ελληνικά κείμενα. Τα γεγονότα δείξανε ότι η δεύτερη περίπτωση ήταν αυτή που +ανταποκρίνονταν στην αλήθεια. + +Είναι αλήθεια ότι ο Κωστής Δρυλλεράκης αλλά και ο Γιάννης Μοσχοβάκης δημιουργήσανε συστήματα για την επεξεργασία ελληνικού κειμένου, καμία όμως από αυτές τις +προσπάθειες δεν ήταν δυνατό να χρησιμοποιηθεί εύκολα σε εγκαταστάσεις του TeX εκτός Ελλάδος\... Βέβαια αυτό δεν ήταν το πιο σημαντικό τους μειονέκτημα το οποίο +ήταν η μη-δυνατότητα συνεργασίας με την νέα έκδοση του LaTeX: το LaTeX2ε. Αυτό το γεγονός μαζί με τα παραπάνω αποτέλεσαν το έρεισμα για την μετέπειτα δουλειά +στην ελληνική επιλογή του πακέτου babel. + +Αρχικά χρησιμοποιήθηκε μία συλλογή ανομοιογενών γραμματοσειρών, έτσι ώστε να έχει κανείς στη διάθεσή του όλες τις δυνατότητες LaTeX, ενώ υπήρχε πρόνοια μόνο για +μονοτονικό κείμενο. Μετά την θερμή υποδοχή που επιφύλαξαν οι χρήστες στην όλη προσπάθεια, άρχισε και ο αγώνας για την βελτίωση του συστήματος. Το πρώτο +σημαντικό βήμα έγινε με τις γραμματοσειρές του Claudio Beccari, ο οποίος σε συνεργασία με το συγγραφέα πρόσθεσε χαρακτήρες και βελτίωσε κάποια τεχνικά +χαρακτηριστικά αυτών. Η συνέχεια αποτελεί μια προσπάθεια του συγγραφέα με την τεχνική αρωγή του Johannes Braams. + + +### [3. Η χρήση της ελληνικής επιλογής]{#s3} + +Για να μπορέσει κανείς να γράψει ελληνικά χρησιμοποιώντας την ελληνική επιλογή του πακέτου babel θα πρέπει να βάλει την παρακάτω εντολή στον πρόλογο του κώδικά +του την παρακάτω εντολή: + +> \usepackage[greek]{babel} + +Ενώ αν θέλει να γράψει ελληνικά αλλά και π.χ. ιταλικά θα πρέπει να βάλει την εντολή + +> \usepackage[greek,italian]{babel} + +δηλ. οι γλώσσες εργασίας γράφονται με ένα κόμμα μεταξύ των. Όταν οι γλώσσες εργασίας είναι παραπάνω από μία, τότε διαλέγουμε την τρέχουσα γλώσσα εργασίας με την +εντολή + +> \selectlanguage{greek} + +Σημειώστε ότι η τελευταία γλώσσα που γράφουμε ως όρισμα της εντολής `\usepackage`, είναι η γλώσσα που θεωρεί το LaTeX ως γλώσσα εργασίας αμέσως μετά την εντολή +`\begin{document}`. + +Υπάρχουν δύο τρόποι με τους οποίους μπορεί κανείς να γράψει το ελληνικό του κείμενο: + +- είτε γράφοντας ελληνικά χρησιμοποιώντας το αγγλικό αλφάβητο, όπως για παράδειγμα γινόταν και γίνεται με το ηλεκτρονικό ταχυδρομείο, +- είτε γράφοντας απ\' ευθείας ελληνικά iso8859-7. + +Στη δεύτερη περίπτωση θα πρέπει να χρησιμοποιήσουμε το πακέτο `inputenc` με ενεργή την επιλογή `iso-8859-7`, δηλ.: + +> \usepackage[iso-8859-7]{inputenc} + +Στην πρώτη περίπτωση θα πρέπει να γνωρίζουμε την αντιστοιχία που υπάρχει: + +> α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ ς τ υ φ χ ψ ω +> a b g d e z h j i k l m n x o p r s c t u f q y w + +Ο τονισμός των γραμμάτων γίνεται βάζοντας το τονικό σύμβολο πριν από το φωνήεν, π.χ., η λέξη νερό θα πρέπει να γραφεί ως `ner'o`. Όμως η ελληνική επιλογή +επιτρέπει τη συγγραφή και πολυτονικού κειμένου. Οι συμβάσεις που αφορούν τη συγγραφή πολυτονικού κειμένου είναι οι εξής: `` "`" `` (βαρεία), `"~"` +(περισπωμένη), `"<"` (δασεία), `">"` (ψιλή) και `"|"` (υπογράμμιση). Αν θέλετε να γράψετε πολυτονικό κείμενο γράφοντας σε `iso8859-7`, θα πρέπει να βάζετε τα +πνεύματα ή τα άλλα τονικά σύμβολα σαν να γράφατε ελληνικά με αγγλικούς χαρακτήρες, π.χ., `<ένας`, κτλ. + +Ένα άλλο χαρακτηριστικό αποτελούν τα διάφορα σύμβολα στίξης, τα οποία είναι τα ίδια με αυτά που χρησιμοποιούνται στην αγγλική γλώσσα. Έτσι το `;` αντιστοιχεί +στην άνω τελεία, το `?` στο ερωτηματικό, κτλ. Τα εισαγωγικά σημειώνονται ως δύο παρενθέσεις: δεξιές ή αριστερές. Για παράδειγμα το σύμβολο `«` παράγεται από τα +σύμβολα `((`. + +Όταν χρησιμοποιούμε την ελληνική επιλογή, τότε αυτόματα αλλάζει ο τρόπος που γίνεται η αρίθμηση σε παραρτήματα, υποσημειώσεις σελίδας-νάνου, κτλ. Σε όλες αυτές +τις περιπτώσεις χρησιμοποιείται το ελληνικό αλφαβητικό σύστημα αρίθμησης, δηλ. α\', β\', γ\', κτλ. Επιπλέον, παρέχονται οι εντολές `\Greeknumeral` και +`\greeknumeral` οι οποίες δέχονται ως όρισμα ένα ακέραιο αριθμό και παράγουν τον αντίστοιχο ελληνικό αλφαβητικό αριθμό σε κεφαλαία και πεζή μορφή αντίστοιχα. +Έτσι για παράδειγμα η εντολή `\greeknumeral{12}` παράγει τον αριθμό `ιβ'`. Ως γνωστό στην ελληνική τυπογραφία η πρώτη λέξη που ακολουθεί μια επικεφαλίδα +γράφεται πιο μέσα όπως στην αλλαγή παραγράφου. Όμως αυτό δεν ισχύει στην αμερικανική τυπογραφία. Έτσι αν θέλετε το κείμενο σας να στοιχειοθετηθεί κατά τον +ελληνικό τρόπο, θα πρέπει να χρησιμοποιήσετε το πακέτο `indentfisrt`, δηλαδή θα πρέπει να βάλετε στον πρόλογο του κώδικα σας την παρακάτω εντολή: + +> \usepackage{indentfirst} + + +### [4. Τα πακέτα των grtools]{#s4} + +Τα πακέτα της σειράς εργαλείων grtools προσφέρουν επιπλέον λειτουργικότητα στην ελληνική επιλογή. Τα πακέτα αυτά είναι: το athnum, το grmath και το grsymb. Το +πρώτο παρέχει την εντολή `\athenianumeral` η οποία λειτουργεί όπως η εντολή `\greeknumeral` και παράγει τον αντίστοιχο αθηναϊκό αριθμό. (Οι αθηναϊκοί αριθμοί +είναι το σύστημα αρίθμησης που χρησιμοποιούνταν στις αρχαίες Αθήνες και το οποίο έμοιαζε με το ρωμαϊκό σύστημα αρίθμησης. Για περισσότερες πληροφορίες ο +ενδιαφερόμενος μπορεί να μελετήσει τον κώδικα του πακέτου, δηλ. το αρχείο `athnum.dtx`.) + +Ως γνωστό, σε κατάσταση μαθηματικού κειμένου υπάρχουν ορισμένες εντολές οι οποίες στοιχειοθετούν σωστά το όνομα διαφόρων συναρτήσεων, όπως του λογαρίθμου (log), +κτλ. Στην ελληνική βιβλιογραφία για αρκετές από αυτές τις συναρτήσεις , χρησιμοποιούμε ελληνικά ονόματα, π.χ., λογ αντί για log, κτλ. Το πακέτο `grmath` αλλάζει +την προκαθορισμένη συμπεριφορά αρκετών εντολών ονομάτων συναρτήσεων, με αποτέλεσμα αυτές να παράγουν το ελληνικό όνομα της συνάρτησης αντί του αγγλικού. Οι +εντολές ονόματα συναρτήσεων που ορίζονται εκ νέου είναι: `\sin`, `\cos`, `\tan`, `\arcsin`, `\arccos`, `\arctan`, `\cot`, `\sec`, `\csc`, `\log`, `\ln`, `\gcd` +και `\lcm`. Σημειώστε ότι η εντολή `\lcm` (ελάχιστο κοινό πολλαπλάσιο) είναι νέα εντολή. Έτσι αν δώσουμε την εντολή +`$\cos \pi=-1$` το στοιχειοθετημένο αποτέλεσμα θα είναι: **συν π = -1**. + +Η ελληνική επιλογή του πακέτου babel χρησιμοποιεί τις γραμματοσειρές του Claudio Beccari οι οποίες εκτός από τα γράμματα της ελληνικής περιέχουν και αρκετά +σύμβολα της ελληνικής γλώσσας όπως για παράδειγμα το σύμβολο για το κόππα (χρησιμοποιείται στην ελληνική αλφαβητική αρίθμηση). Παράλληλα παρέχει και ορισμένα +σύμβολα όπως το επί τοις χιλίοις, το σύμβολο του ευρώ (του νέου νομίσματος της Ευρώπης), κ.ά. Εντολές που στοιχειοθετούν τα τρία σύμβολα που χρησιμοποιούνται +στην ελληνική αλφαβητική αρίθμηση παρέχει η ελληνική επιλογή του πακέτου babel. Οι δε εντολές που παράγουν τα σύμβολα αυτά είναι: `\sampi`, `\qoppa` και +`\stigma`. Αν όμως κάποιος θέλει να χρησιμοποιήσει τα επιπρόσθετα σύμβολα, θα πρέπει να χρησιμοποιεί το πακέτο `grsymb`, το οποίο ορίζει τις εξής εντολές: +`\Digamma`, `\ddigamma`, `\Qoppa`, `\varqoppa`, `\Sampi`, `\vardigamma`, `\Stigma`, `\VarQoppa`, `\euro`, `\permill`. Τέλος θα πρέπει να σημειώσουμε ό,τι τα +διάφορα πακέτα της παρούσας ενότητας θα πρέπει να χρησιμοποιούνται μόνο σε συνδυασμό με την ελληνική επιλογή του πακέτου babel. + + +### [5. Το βιβλιογραφικό στυλ hellas]{#s5} + +Ο μέσος χρήστης του LaTeX ετοιμάζει την βιβλιογραφία του κειμένου του χρησιμοποιώντας το πρόγραμμα BibTeX. Δυστυχώς μέχρι πριν από λίγο καιρό αυτό δεν ήταν +δυνατό, αφού δεν υπήρχε κανένα βιβλιογραφικό στυλ το οποίο να μπορεί να χειριστεί σωστά μεικτές ή μόνο ελληνικές βιβλιογραφικές αναφορές. Το πρόβλημα αυτό έλυσε +η εμφάνιση του βιβλιογραφικού στυλ **hellas**, το οποίο σχεδίασε ο συγγραφέας του παρόντος. + +Η φιλοσοφία σχεδιασμού του στυλ αυτού, το οποίο βασίζεται στο βιβλιογραφικό στυλ **plain**, στηρίζεται στον χωρισμό των βιβλιογραφικών φακέλων σε δύο είδη: +*ελληνικούς* και *μη-ελληνικούς*. Η λειτουργικότητα του στυλ για μη-ελληνικούς φακέλους είναι ίδια με αυτή βιβλιογραφικό στυλ plain, με τη διαφορά ότι οι +διάφορες λέξεις-κλειδιά, όπως **επιμελητής**, κτλ, εμφανίζονται στα ελληνικά, ενώ τα ονόματα, τίτλοι, κτλ, με λατινικούς χαρακτήρες. Τα ονόματα των διαφόρων +μη-ελληνικών βιβλιογραφικών φακέλων, αλλά και των πεδίων είναι τα ίδια με αυτά του βιβλιογραφικού στυλ plain. Όσον αφορά τους ελληνικούς φακέλους θα πρέπει να +πούμε ότι τα ονόματα τους ξεκινάνε με το πρόθεμα `gr-`, π.χ., `gr-article`, κτλ. Επιπλέον, δεν υπάρχουν όλα τα είδη βιβλιογραφικών φακέλων, π.χ., προς το παρόν +τουλάχιστον δεν έχει νόημα βιβλιογραφικός φάκελος για διατριβή **Master** ή για τεχνική αναφορά (**technical report**). Ένα άλλο χαρακτηριστικό του +βιβλιογραφικού στυλ hellas αποτελεί η εισαγωγή ορισμένων νέων πεδίων όπως το `original-title` και το `original-author` τα οποία χρησιμοποιούνται όταν ένα +έγγραφο είναι μεν γραμμένο στα ελληνικά, αποτελεί δε μετάφραση ξένου κειμένου. Στο πρώτο πεδίο σημειώνουμε τον πρωτότυπο τίτλο και στο δεύτερο το όνομα του +συγγραφέα, ενώ το όνομα του μεταφραστή σημειώνεται ως τιμή του πεδίου translator. Ειδικά στην περίπτωση που έχουμε αδημοσίευτο κείμενο, αν ο συγγραφέας είναι +ξένος, τότε ο συγγραφέας και ο τίτλος σημειώνονται ως `foreign-author` και `foreign-title` αντίστοιχα. Αυτό γίνεται επειδή δεν υπάρχει φάκελος με όνομα +`gr-unpublished`. + +Ένα πρόβλημα που δυστυχώς δεν λύνει το βιβλιογραφικό στυλ hellas είναι αυτό της σωστής ταξινόμησης των εγγραφών σύμφωνα με το όνομα των συγγραφέων. Αυτό βέβαια +οφείλεται στο τρόπο με τον οποίο είναι σχεδιασμένο το πρόγραμμα BibTeX. (Ίσως αν χρησιμοποιήσετε μια 8-bit έκδοση ή κάποιος σχεδιάσει μια έκδοση 16-bit τα +προβλήματα εξαφανιστούν.) Έτσι θα πρέπει σε κάθε ελληνική αναφορά να σημειώνουμε και το πεδίο `key` με ανάλογη τιμή. (Για παράδειγμα μια ιδέα μπορεί να είναι να +γράφουμε το όνομα του συγγραφέα με λατινικούς χαρακτήρες, κτλ.) Ένα άλλο πρόβλημα προέρχεται από το σύμβολο `~` το οποίο για το BibTeX σημαίνει κενό διάστημα +χωρίς αλλαγή γραμμής. Λόγω αυτού του προβλήματος το βιβλιογραφικό στυλ hellas, δυστυχώς, δεν μπορεί να χρησιμοποιήσει τις ευκολίες που συνεπάγεται η χρήση του. + +### [6. Το μέλλον]{#s6} + +Η προσπάθεια για την βελτίωση του τρόπου στοιχειοθεσίας ελληνικού κειμένου με το LaTeX δεν τελειώνει εδώ. Ηδη έχει ετοιμασθεί η επόμενη έκδοση της ελληνικής +επιλογής του πακέτου babel στην οποία υπάρχει διαχωρισμός μονοτονικού και πολυτονικού κειμένου. Παράλληλα, γίνεται προσπάθεια από διάφορους για τον σχεδιασμό +νέων γραμματοσειρών. Αξίζει να αναφέρουμε τη δουλειά που γίνεται στο Πανεπιστήμιο Ιωαννίνων υπό την επίβλεψη του Στράτου Πάσχου, αλλά και τις ελληνικές +γραμματοσειρές του Γιάννη Χαραλάμπους για το **Ω**. Τέλος, γίνονται προσπάθειες για την σωστή παραγωγή ευρετηρίου ελληνικού και μεικτού. + diff --git a/content/articles/04/06_skepseis.md b/content/articles/04/06_skepseis.md new file mode 100644 index 0000000..dda89da --- /dev/null +++ b/content/articles/04/06_skepseis.md @@ -0,0 +1,64 @@ ++++ +title = 'Μερικές σκέψεις για το Linux' +date = '1998-04-01T00:00:00Z' +description = '' +author = 'Καραμανώλης Νίκος nikosk@studiofm1.cs.teiher.gr(mailto:nikosk@studiofm1.cs.teiher.gr?subject=Magaz-Article)' +issue = ['Magaz 04'] +issue_weight = 6 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Είναι αναμφισβήτητο γεγονός ότι το Linux είναι ένα πολύ σταθερό λειτουργικό με πολλές (σχεδόν απεριόριστες) δυνατότητες, απίστευτη ευελιξία, μεγάλη ποικιλία +λογισμικού και (το μεγαλύτερο ίσως πλεονέκτημα) είναι δωρεάν. Επειδή πολύ συζήτηση γίνετε τελευταία στην λίστα των Ελλήνων Χρηστών Linux, περί προώθησής του +στην ευρύτερη αγορά, τόσο ιδιωτική, όσο και επαγγελματική θα ήθελα να πω μερικές σκέψεις που περνούν απο το μυαλό μου όταν διαβάζω αυτά τα mail.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Θυμάμαι, πολύ προτού αυτό το διαολεμένο πρώην GUI και νύν OS που το ονομά του δεν τολμώ να πώ, όταν έλεγες σε κάποιον, ειδικά στην επαρχία όπου μεγάλωσα, ότι +κάτι ξέρεις απο Η/Υ τις περισσότερες φορές δεν ήξερε για ποιό πράγμα μιλάς. Απο τότε μέχρι σήμερα πολλά έχουν αλλάξει. Σίγουρα βέβαια θα υπήρχαν αλλαγές αλλά +κανείς δεν περίμενε να γινόταν αυτό που συμβαίνει τα τελευταία 3-4 χρόνια. Όλο και περισσότερος κόσμος ασχολείται με τους Η/Υ. Οι αγορές μηχανών αυξάνονται απο +εξάμηνο σε εξάμηνο, και ο Η/Υ μπαίνει ολοένα και σε περισσότερα σπίτια. Σε αυτό, σημαντικό ρόλο έπαιξε η εξέλιξη του προαναφερθέντος OS. Πιό φιλικό (αμα έχεις +τέτοιους φίλους\...), πιό κατανοητό (μα πριν 5 λεπτά δούλευε\...), έκανε τους απλησίαστους, ακαταλαβίστικους \"Ηλεκτρονικούς εγκέφαλους\" μέρος της καθημερινής +ζωής της Ελληνικής οικογένειας.Πόσο όμως απο αυτά που \"νομίζει\" ο πολύς κόσμος είναι;\... Την απάντηση φυσικά την ξέρετε, δεν χρειάζεται να την πω εγώ. Και +εδώ είναι που έρχεται το Linux\... + +Πως όμως θα μπορέσει να πείσει τον απλό χρήστη, τον επαγγελματία, όλους γενικότερα, ότι είναι η λύση; Για το πως θα γίνει αυτό σε σχέση με τους επαγγελματίες +(επιχειρήσεις) έχει αναφερθεί στο περιοδικό \"magaz\" στην διεύθυνση . Τι γίνετε όμως με τους απλούς χρήστες; + +Θα πειστεί ένας απλός χρήστης (όπως είμαι και εγώ) αν όχι να εγκαταλείψει το αγαπημένο του (γκρρρ\...) OS, τουλάχιστον να δοκιμάσει το Linux; Επιτρέψτε μου να +αμφιβάλω. Μπορεί απο αυτά που ακούει στο περιοδικό και στο να του φανεί καλή ιδέα, και το δοκιμάζει. Είναι σίγουρο ότι (επαναλαμβάνω: ο +απλός χρήστης) μόλις δεί-διαβάσει την διαδικασία εγκατάστασης θα απογοητευτεί, τουλάχιστον. Αν δε, τολμήσει να την δοκιμάσει μετά την ολοκλήρωσή της, είμαι +βέβαιος, ότι θα επακολουθήσει ένα μεγαλοπρεπές Fdisk για την διαγραφή της Linux κατάτμησης και επαναφορά του FAT, με την προυπόθεση όμως ότι ξέρει και αυτό να +το κάνει (είπαμε είναι ΑΠΛΟΣ χρήστης). Μερικοί θα αποφασίσουν να κρατήσουν το σύστημα, άλλωστε τόσο κόπο έκαναν να το εγκαταστήσουν. Και βέβαια, όλοι αυτοί θα +θελήσουν κάπποια στιγμή να γράψουν και να διαβάσουν Ελληνικά\... \"Τι;;; δεν έχει Ελληνικά και πρέπει να τα εγκαταστήσω;;;\"\... Φυσιολογική ερώτηση για κάποιον +που έχει καλομάθει απο τα \...μπρρρρ θεέ μου φύλαγε\.... \"Ας είναι, ας τα εγκαταστήσω\... Πού είναι το Setup.exe;;;\" Και άλλη απογοήτευση\... Και πού να δείς +τα δύσκολα θα λένε μερικοί\... + +Μα είναι δυνατόν να πιστεύουν μερκοί ότι θα μπορέσουν να πείσουν αυτούς τους απλούς χρήστες, να χρησιμοποιήσουν το Linux;;; Με ποιό επιχείρημα; Ότι είναι +σταθερό, ή το ότι είναι τσάμπα; Και τα (είπαμε δεν την πίανω στο στόμα μου αυτή τη λέξη) τσάμπα είναι (πρακτικά). Μπορεί να μην είναι σταθερά αλλά τουλάχιστον +είναι εύκολα. Εγκαθιστούνται εύκολα, αυτά και όλα τα προγράμματα σε αυτά βρίσκεις εύκολα πως να κάνεις αυτό που θές και γενικά είναι ότι καλύτερο για έναν +άπειρο (απλό) χρήστη. Ξέρετε δεν έχουν πολλοί την \"τρέλα\" που κουβαλάνε πολλοί απο εμάς. Δεν έχουν την διάθεση όλοι να διαβάζουν 10-20 σελίδες HOWTO, και μετά +άλλες 2-3 οδηγίες εγκατάστασης, και οταν κάτι να μην δουλεύει τελικά μετά από όλα αυτά, να το ψάχνουν λιγάκι. Είναι ανόητο να πιστεύουμε ότι μπορούμε να +πείσουμε ανθρώπους άλλους από αυτούς που θέλουν να μάθουν κάτι παραπάνω και όχι να χρησιμοποιούν τον Η/Υ σαν παιχνιδομηχανή ή σαν μέσο σύνδεσης με το Internet, +ή για την διασκέδασή τους, ότι είναι καλύτερο το Linux επειδή είναι σταθερότερο\... Στο κάτω - κάτω, τι πολύτιμο τρέχουν στον υπολογιστή τους και δεν μπορούν να +ανεχτούν ένα απλό crashακι πότε - πότε. + +Αντίθετα, ξέρετε πόσοι είναι αυτοί, οι απλοί χρήστες που με θεωρούν τρελό που κάθομαι και ασχολούμαι με κάτι άχρηστο, για αυτούς, τόσες ώρες; Και βέβαια δεν το +λένε μόνο για μένα. Όλοι αυτοί βρίσκουν το Linux και γενικότερα το Unix απαράδεκτο. Δεν θα πρέπει να τους αγνοήσουμε, γιατί έχουν δίκιο. Για κάποιον που το μόνο +που θέλει είναι να κάνει την βόλτα του στο Inet είναι υπεραρκετά τα Windows. Γιατί να μπλέξει με την εγκατάσταση, την ρύθμιση, την αναβάθμιση αυτό τον απέραντο +λαβύρινθο των File Systems του Linux; Γιατί να χάνεται κάθε λίγο και στο τέλος να μην ξέρει που βρίσκεται και πού θέλει να πάει; + +Πρέπει λοιπόν να αλλάξουν πολλά στο Linux για να γίνει αποδεκτό από τον πολύ τον κόσμο. Δεν αρκούν (σχετικά) απλοποιημένες διαδικασίες εγκατάστασης, ένα όμορφο +περιβάλλον εργασίας (με πολλές δύσκολες ρυθμίσεις και όχι πλήρη εκμετάλευση των δυνατοτήτων του μηχανήματος\*), θέλει πολύ περισσότερη δουλειά. Αλλά και +οργάνωση. Αλλού έχει η μία distribution κάποια αρχεία, αλλού η άλλη. Κάποιες υποστηρίζουν εύκολες εγκαταστάσεις, άλλες όχι. Καλύτερη βοήθεια, χωρίς αυτή να +είναι πλέον για τους ειδικούς ή να απαιτεί εκ των προτέρων κάποιες γνώσεις. Περισσότερες επαγγελματικές εφαρμογές. Να πειστούν επιτέλους οι εταιρείες που +παράγουν τα πολύ δημοφιλή πακέτα εφαρμογών να βγάλουν και μια έκδοσή τους για Linux (και εμείς θα την αντιγράψουμε\..... εγκαταστήσουμε, εννοώ, αμέσως). + +Έτσι πιστεύω ότι το Linux θα γίνει πιό δημοφιλές και εύχρηστο. Μπορεί δηλαδή να γίνει έτσι ώστε να είναι εύκολο για αυτούς που το θέλουν εύκολο αλλά και δύσκολο +και πολύπλοκο για αυτούς που το προτιμούν έτσι. Σχεδόν όλα αυτά που αναφέρονται παραπάνω υλοποιούνται ήδη. Δεν τα σκέφτηκα εγώ πρώτος. Η διεθνής κοινότητα του +Linux ξέρει πολύ καλά τι να κάνει για να γίνει το Linux το κυρίαρχο σύστημα. Δεν ξέρω πόσα από αυτά είναι εφικτά καθώς το Linux δεν παύει να είναι ένα +Unixοειδές σύστημα. Δεν ξέρω επίσης το πόσο εύκολα θα άφηνε κάποιος τα \.....(διαγράφεται)\.... ειδικότερα εδώ στην Ελλάδα. Εδώ η κυριαρχία των ΜΠΛΙΑΧ είναι +καθολική καθώς η διανομή των προγραμμάτων για αυτά είναι \...σχεδόν ελεύθερη. Αυτό δεν σημαίνει όμως ότι δεν πρέπει να προσπαθήσει κανείς. + +\* Όταν οι περισσότεροι απο τους Servers τρέχουν στα 256 χρώμματα ενώ άλλοι είναι ανύπαρκτοι τότε ποιος ο λόγος α) να βάλουν Linux β) να αγοράσουν καλή +κάρτα\... Μήπως έχει κανείς τίποτα για την Mystique ; diff --git a/content/articles/04/07_mailbox.md b/content/articles/04/07_mailbox.md new file mode 100644 index 0000000..b5568fb --- /dev/null +++ b/content/articles/04/07_mailbox.md @@ -0,0 +1,507 @@ ++++ +title = 'Αλληλογραφία' +date = '1998-04-01T00:00:00Z' +description = '' +author = '' +issue = ['Magaz 04'] +issue_weight = 7 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Και αυτό το μήνα είχαμε \"ηλεκτρονικά γράμματα\" από αναγνώστες του περιοδικού. Γράμματα με παρατηρήσεις για κάποια λάθη - ελλείψεις του περιοδικού, γράμματα +συμπαράστασης και πρόθεσης βοήθειας για το CD, και τέλος, ως συνήθως, γράμματα με ερωτήσεις. Τα γράμματα για λάθη - ελλείψεις του τεύχους 3, καθώς και αυτά που +αναφέρονται ΜΟΝΟ στο CD, παραλείπονται\... Ας δούμε τι μας ρωτήσατε και τι σας απαντήσαμε\... (Σας απαντήσαμε; αν όχι, ξαναγράψτε. Που θα πάει η σκασμένη η +οργάνωση, θα βρεθεί κάποτε\....)* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Linux. Unix shell\...** +------------------------------------------------------ + +**2. Help Linux\... Περί compilation.** +----------------------------------------------------------------- + +**3. Help Linux\... Περί compilation.** +----------------------------------------------------------------- + +**4. Help Linux\... Περί compilation, συνέχεια\...** +------------------------------------------------------------------------------ + +**5. Printing in Linux** +-------------------------------------------------- + +**6. Χώρος στο δίσκο.** +------------------------------------------------- + +**7. Ελληνικά και Netscape\...** +---------------------------------------------------------- + +**8. Ευχαριστούμε\...** +------------------------------------------------- + + +### [1. Linux. Unix shell\...]{#s1} + +Από : [Ανώνυμος](mailto:robotaki@usa.net) + +Απάντηση : [Γιώργος Κεραμίδας](mailto:keramida@ceid.upatras.gr) + +Γεια σας. Θα ήθελα (τι άλλο;;) την βοήθειά σας πάνω σε ένα θέμα που με απασχολεί εδώ και πολύ καιρό, έχω ακούσει για το unix shell, το οποίο θα ήθελα να +αποκτήσω. Θα ήθελα να μου πείτε περισσότερες πληροφορίες πάνω σε αυτό.\ +Ευχαριστώ. + +*Χαίρομαι που μπορώ να βοηθήσω χωρίς να κάνω \*τίποτα\*!!!\ +Το έχεις το UNIX shell, απλά το ξέρεις με άλλο όνομα\...\ +Τα αρχεία:* + + /bin/bash + /bin/tcsh + /bin/csh + /bin/ash + /bin/ksh + +*κι ότι άλλο στο directory /bin τελειώνει σε \`sh\' είναι shells, δηλαδή μικρά προγράμματα, αντίστοιχα του COMMAND.COM στο DOS, που σου δίνουν την δυνατότητα να +\"τρέχεις\" εντολές στο UNIX σύστημά σου και να βλέπεις την έξοδό τους στο τερματικό σου.\ +Βέβαια, στο UNIX (αντίθετα με το DOS που το shell είναι ένα και μοναδικό) υπάρχουν πολλά τέτοια προγράμματα που προσφερουν εκτός από το απλό \"τρέξιμο\" των +εντολών και κάποια δικά του features το καθένα.\ +Για περισσότερα περίμενε λίιιγο ακόμα, μέχρι τον Μάιο που στο Magaz θα γράψω ένα άρθρο με τίτλο: \"Το UNIX Shell\", ok?\ +Χαιρετάω προς το παρόν\...* + + +### [2. Help Linux\... Περί compilation.]{#s2} + +Από : [NIGHTSTALKER](mailto:night@lar.forthnet.gr) + +Απάντηση : [Γιώργος Κεραμίδας](mailto:keramida@ceid.upatras.gr) + +Είμαι ένας τυχερός που ανακάλυψε έγκαιρα τη δύναμη του Linux και σταμάτησε να ασχολείται με σκουπίδια του τύπου WIN 95\...\... + +*Έλα\... ας μην είμαστε υπερβολικοί. Όπως αρέσει σε όσους ασχολούντια με Artificial Intelligence να λένε συνέχεια: \"Κάθε πρόγραμμα έχει ένα σκοπό σε αυτή τη +ζωή.\" Και τα Windows έχουν ένα σκοπό\... να εκπαιδεύουν χρήστες στην χρήση απλών προγραμμάτων, μέχρι αυτοί να μάθουν αρκετά πράγματα για να στήσουν Linux +(χεχε).* + +Έχω το DEBIAN V.1.3.1 με KERNEL 2.0.30 και έχω μερικές ερωτήσεις: Όταν κάνω make για να εγκαταστήσω μερικά utilities για linux που κατεβάζω από το net σχεδόν +πάντα μου βγαίνει το μήνυμα: + + ',needed by xxx.. stop XXXX.c + +*Συγγνώμη που δεν μπορώ να σε βοηθήσω, αλλά οι πληροφορίες που μας έστειλες δεν είναι αρκετές. Και για να γίνω πιο σαφής:* + +1. *Ποια utilities σου βγάζουν αυτό το λάθος.* +2. *Ποιο είναι το ακριβές (ολόκληρο, κι όχι κομμένο) μήνυμα που βλέπεις στην οθόνη σου.* + +*Αν έχεις προβλήματα να σώσεις τα μηνύματα, χρησιμοποίησε την εντολή script(1) πριν κάνεις το compile, που ανοίγει ένα shell, του οποίου \*όλα\* τα μηνύματα +καταγράφονται στο αρχείο \"./typescript\". Τότε κάνε:* + + hades!keramida:~$ script + hades!keramida:~$ make + ... mnvumata scrollarouv edw sav trella ... + hades!keramida:~$ exit # bgaiveis apo to shell tou `script' + +*τότε παίρνεις το αρχείο \"./typescript\", και το στέλνεις mail για να δούμε ακριβώς ποιο είναι το πρόβλημα.* + +εννοείται ότι είμαι στον κατάλογο που έχω κάνει untar το πρόγραμμα και ότι υπάρχει makefile\... έχω το GNU make και δεν ξέρω τι γίνεται\... άλλες φορές όταν +κάνω compile ένα πρόγραμμα σε c με το gcc + + + π.χ.. gcc ***.c -o **** + +μου βγαίνει: UNDEFINED REFERENCE TO \....\ +το πρόγραμμα αυτό έχει και άλλα αρχεία μέσα τύπου \*.O Τι γίνεται;;; Τι φταίει\... Αν μπορείτε απαντήστε. + +*Και πάλι δεν είναι αρκετά όσα μας γράφεις για να καταλάβουμε ακριβώς τι είναι το πρόβλημα, αλλά θα προσπαθήσω να σου δώσω μερικές χρήσιμες συμβουλές που για +εμένα έχουν δουλέψει τα τελευταία 3 χρόνια που ασχολούμαι με Unix και τον τελευταίο 1,5 χρόνο που ασχολούμαι με Linux, μια χαρά.* + +- *Δεν κάνεις ποτέ compile τα προγράμματα με:* + + hades!keramida$ gcc *.c -o kati.exe + + *γιατί μερικά χρειάζονται ειδικά flags στον GCC, άλλα θέλουν βιβλιοθήκες, οπότε πρέπει να γράψεις κάτι σαν:* + + hades!keramida$ gcc *.c -o kati.exe -lm -lz -lrpm /lib/librpm.a + + *κι αυτό είναι σχετικά μικρό command-line. Έχω δει και χειρότερα (ουπς) μεγαλύτερα ήθελα να πω :)))* + +- *Για να εγκαταστήσεις προγράμματα να χρησιμοποιείς \*πάντα\*, \*ΠΑΝΤΑ\* τα Makefiles που έρχονται μαζί με τα προγράμματα. Εμένα στο 99% των εγκαταστάσεων + που έχω κάνει μου δουλεύει πάντα η εξής διαδικασία:* + 1. *Διαβάζω το README.TXT για να δω ό,τι γενικές πληροφορίες θέλει ο προγραμματιστής του πακέτου να διαβάσω. Αυτό είναι σημαντικό και σχεδόν ποτέ δεν έχει + αποβεί άχρηστη ενέργεια, ειδικά όταν στήνω μεγάλα πακέτα (βλ. compilers, βιβλιοθήκες κτλ.)* + + 2. *Διαβάζω το INSTALL.TXT για να δω αν το πρόγραμμα θέλει τίποτα \"περίεργες\" ρυθμίσεις για να στηθεί. Συνήθως, εδώ πέρα γράφει να κάνεις ότι λένε τα + παρακάτω βήματα.* + + 3. *Τρέχω (αν υπάρχει) το script που κάνει το αυτόματο configuration του πακέτου (./configure) με την παράμετρο \--help για να δω αν τίποτα features + (παράμετροι \--enable-something ή μερικές φορές \--with-something, \--without-something) μου αρέσουν σαν defaults ή όχι.* + + hades!keramida$ ./configure --help + + 4. *Τρέχω το script ./configure με τις παραμέτρους που μου άρεσαν.* + + hades!keramida$ ./configure --with-auto --without-ekeivo + + 5. *Και τότε το Makefile είναι έτοιμο να κάνει τα πάντα.* + + hades!keramida$ make + hades!keramida$ make install + +*Μεγάλη και χρονοβόρα διαδικασία, σε σχέση με το απλό ( Start \| Control Panel \| Add/Remove Programs \| Add Program\...) των Windows, αλλά έτσι έχεις και τον +πλήρη έλεγχο του τι θα στηθεί, που θα στηθεί, πως θα το βγάλεις αν θέλεις κάποια στιγμή \... κοκ. πράγματα που {IMHO} μέχρι τώρα μόνο το Unix προσφέρει σε +ικανοποιητικό βαθμό.\ +Τέλος πάντων, άρχισα πάλι να μακρυγορώ και θα σταματήσω εδώ. Ελπίζω να βοήθησα κάπως, τουλάχιστον για τις μελλοντικές εγκαταστάσεις που θα κάνεις.\ +Adios\...*\-- + + +### [3. Help Linux\... Περί compilation.]{#s3} + +Από : [xx](mailto:babylon51@ibm.net) + +Απάντηση : [Γιώργος Κεραμίδας](mailto:keramida@ceid.upatras.gr) + +Καταρχήν συγχαρητήρια για την πολύ καλή δουλειά που κάνετε. + +*Ευχαριστούμε για τα καλά σου λόγια, κι ελπίζουμε σύντομα να μπορείς κι εσύ να βοηθήσεις να κάνουμε ακόμα καλύτερη και πιο πολλή δουλειά :)))* + +\... θα ήθελα τη βοήθεια σας σε μερικά πράγματα.\ +1) Εγκατέστησα το RedHat Linux 5.0 στο δεύτερο σκληρό μου, στον οποίο υπάρχει και ένα partition όπου βρίσκονται τα προγράμματα που κάνω download από το internet +με τα win95. Έχω κατεβάσει τον Communicator για Linux εκεί. Πως θα μπορέσω να δω το partition από linux ώστε να κάνω εγκατάσταση τον Communicator; Και πως +γίνεται η εγκατάσταση του μέσα από X-Windows; + +*Ας πάρουμε τα πράγματα από την αρχή. Τα partitions του δίσκου σου ξέρεις υποθέτω ποια είναι. Επειδή εγώ δεν ξέρω θα υποθέσω ότι το /dev/hda1 είναι το partition +των Windows, και το /dev/hda2 το partition του Linux. Εσύ όταν διαβάζεις το γράμμα, αντικατέστησε τα partitions με τα πραγματικά partitions του δίσκου σου, ok?\ +Στο Unix (άρα και στο Linux) δεν υπάρχουν drive-letters, όπως στα λειτουργικά που βασίζονται στο DOS. Αυτό που κάνει όμως κάθε καλός Unix administrator για να +\`\`δει\'\' ένα partition του είναι να το \`\`κολλήσει\'\' σε κάποιο directory του συστήματος του με την εντολή \`\`mount\'\'. Για να μην ξεχνιόμαστε και για τι +μιλάμε, ας πούμε ότι εσύ θέλεις να κολλήσεις το partition /dev/hda1 στον κατάλογο /windows του Linux σου. Μπορείς να το κάνεις με την εντολή:* + + bash# mount -t vfat /dev/hda1 /windows + +*αφού πρώτα φτιάξεις, βέβαια, τον κατάλογο /windows στο σύστημά σου.* + +2\) Πως μπορώ να ρυθμίσω την κάρτα ήχου μου; Έχω μια Sound Blaster 16 Value.\ +3) Πως κάνω dial up; Ο dialer που βρίσκεται για να τον τρέξω; + +*Για να συνδεθείς υπάρχουν πολλά προγράμματα, αλλά το καλύτερο είναι σαφώς το Xisp, που θα το βρείς στον FTP server του Argea (argeas.argos.hol.gr) στον +κατάλογο /pub/unix\...\ +Ο dialer δεν ξέρω αν υπάρχει, αλλά υπάρχει η επιλογή στο control Pan el του RedHat 5.0 να βάλεις ένα PPP interface. Νομίζω ότι είναι ένα γενικό σύστημα για +\"dial-up\". Δοκίμασέ το, γράψε τις εντυπώσεις σου και τυχόν Tips \'n tricks που θα ανακαλύψεις, και περιμένουμε άρθρο :-)* + +4\) Έχω το cd RedHat Powertools. Πως μπορώ να τα κάνω εγκατάσταση; + +*Δεν έχω RedHat, οπότε δεν μπορώ να σε βοηθήσω, αλλά για να δεις το cdrom, στα RedHat αρκεί συνήθως να βάλεις το δισκάκι στο drive και να κάνεις:* + + bash# mount /mnt/cdrom + +*από τον λογαριασμό του root.*\ +*(Για τα Powertools, βάζεις το CD στο CD-player, το κάνεις mount, διαλέγεις ποια θα εγκαταστήσεις (έχει ένα αρχείο contents) και ξεκινάς την γνωστή διαδικασία, +δηλαδή rpm -i package-name.rpm).* + +5\) Μπορώ να κάνω εγκατάσταση προγράμματα άλλων εκδόσεων Linux; Για παράδειγμα το Star Office είναι για το Open Linux μπορώ να το εγκαταστήσω στο σύστημα μου +αφού έχω το RedHat Linux; + +*Γενικά ναι\... μπορείς.\ +Ειδικά το Star Office, εγώ το έχω στήσει σε Slackware και μου έπαιξε μια χαρά. Πιστεύω ότι και στο RedHat θα σου παίξει αμέσως αν διαβάσεις το INSTALL.TXT που +έχει και κάνεις ότι λέει :)\ +Το StarOffice εγκαθίσταται στο RedHat 5.0 αρκεί να έχει τη libc.5.4.33. Οδηγίες θα βρεις στο [dejanews](http://www.dejanews.com) αν βάλεις να σου βρει άρθρα +σχετικά με StarOffice και RedHat. Εκεί θα βρεις μία σελίδα με κάτι σαν Wahldenn στον τίτλο, και εκεί υπάρχουν αναλυτικές οδηγίες (επαναλαμβάνω ότι χρειάζεσαι +libc.5.4.33 και όχι libc.5.4.38 όπως λέει σ\' αυτήν τη σελίδα).* + +Όσο για το θέμα με το cd καλύτερα να μην περιμένετε βοήθεια ούτε υποστήριξη από κανένα περιοδικό, γιατί για τα περισσότερα περιοδικά δεν υπάρχει τίποτα πέρα από +τα windows 95. + +*Δεν πειράζει\... εμείς δεν κολλάμε. Θα το φτιάξουμε το CD έστω και μόνοι μας. Κι όσο για το τι λειτουργικά υπάρχουν, αναφέρω ενδεικτικά ποια έχουν περάσει από +το ταπεινό μου PC στο σπίτι:* + +- Linux (από την έκδοση 0.99pl7 και μετά) +- FreeBSD 2.0.0 +- MS-DOS (μέχρι την έκδοση 6.22 που το παράτησα για το Linux) +- Windows 3.0, 3.1, 3.11, 95 (κι ευτυχώς όχι NT). +- Minix +- GNU Hurd 0.2 + +*κι όταν βγει το BeOS, θα το στήσω κι αυτό έτσι για πλάκα. Κι όπως έχω πει, σέβομαι μόνο τα λειτουργικά που με αντέχουν για πάνω από μισή ώρα χωρίς να +κολλήσουν. Για την ιστορία, αναφέρω τους χρόνους που έχουν πιάσει τα πιο \"δημοφιλή\" λειτουργικά:* + +- Windows 3.x (περίπου 3 λεπτά) +- Windows 95 (περίπου 5 λεπτά) +- FreeBSD (γύρω στις 4 ώρες) +- Linux (πάνω κάτω 5 ώρες) +- Windows NT (στο πανεπιστήμιο) (1 λεπτό) + +Συγνώμη για τις πολλές ερωτήσεις αλλά δυστυχώς θα υπάρξουν και άλλες. Αν ξέρετε κάποιο βιβλιο για πολύ άσχετους στο Linux πείτε το μου για να το προμηθευτώ και +να μην σας ζαλίζω με τις γελοίες ερωτήσεις μου. + +*Γενικά για UNIX, πολύ καλό είναι το βιβλίο \"The Unix Programming Environment\" του Kernighan. Για Linux, πολύ καλό είναι το \"Linux, Installation and Getting +Started Guide\" του Matt Welsh, που υπάρχει σε όλα τα distributions του Linux στον κατάλογο του LDP (Linux Documentation Project).* + +Με εκτίμηση\ +Θοδωρής Βερτόπουλος + +*Φιλικά,\ +Γιώργος Κεραμίδας* + + +### [4. Help Linux\... Περί compilation, συνέχεια\...]{#s4} + +Από : [NIGHTSTALKER](mailto:night@lar.forthnet.gr) + +Απάντηση : [Γιώργος Κεραμίδας](mailto:keramida@ceid.upatras.gr) + +Ευχαριστώ που μου απάντησες. Για το make άκου: Προσπαθώ να στήσω το john the ripper (passwd cracker για linux). Έχει makefile.. γράφω make και μου βγάζει : + + ', needed by 'default'. Stop.et' + +τι είναι αυτό;;;; + +*Το \`John the Ripper\' είναι λιγάκι δύσκολο να το στήσεις χωρίς να διαβασεις πρώτα τις οδηγίες εγκατάστασής του. Κάποτε που το είχα βάλει δοκιμαστικά στο σπίτι +μου με είχε βασανίσει λίγο. Στείλε μου όμως το συγκεκριμένο .tar.gz που προσπαθείς να εγκαταστήσεις και σου υπόσχομαι να το ψάξω πως στήνεται και να σου στείλω +νεώτερα σύντομα :)* + +Τώρα όταν κάνω GCC σε μερικά utilities μου βγάζει: + + phobia.c:1300 : 'AWK' undeclared (first use this function) + +Αν ξέρεις πές μου\... + +*Αυτό είνα ένα μήνυμα που είναι πολύ χαρακτηριστικό του GCC. Σημαίνει:* + + Παρουσιάστηκε λάθος μεταγλώττισης στο αρχείο `phobia.c' + η γραμμή στην οποία ο GCC κατάλαβε το λάθος είναι η 1300 + +*σε αυτή τη γραμμή χρησιμοοοποιείται (σε κάποια πράξη συνήθως) το όνομα \`AWK\' το οποίο ο GCC μέχρι εκείνη τη στιγμή δεν έχει ξανασυναντήσει και δεν ξέρει ούτε +τον τύπο του, ούτε τι υποτίθεται ότι αποηθκεύεται σε αυτό.\ +Αυτό τις πιο πολλές φορές είναι κάποιο σύμβολο που πρέπει να έχει γίνει πιο πριν \#define σε κάτι που βγάζει νόημα για τον GCC, π.χ. μια σταθερά, ένα macro, +κ.τ.λ.* + +Τώρα θα ήθελα να σε ρωτήσω αν ξέρεις πως μπορώ να κάνω configure το monitor μου, SONY CPD 100SFT 15\" κάτω από τα X για να μπορώ να ανεβαζω ανάλυση 1024X768 85 +HZ. Υπάρχει κανένα utility; + +*Αν έχεις τα XFree86 3.3.2 (ή νεώτερα) απλά τρέξε το πρόγραμμα \`XF86Setup\' που είναι μία έκδοση του παλιού \`xf86config\' με γραφικά, menus, και πολλή καλή +υποστήριξη για τις κάρτες και οθόνες που υποστηρίζουν τα XFree86.* + +Δουλεύω σε 800X600 100hz αλλά αφού μπορεί τόσο το monitor όσο και η κάρτα γραφικών να ανεβάσει 1024X768 γιατί να μην το κάνω; + +*Κάντο μεγάλε, γιατί κι εγώ σε 1024x768 δουλεύω το GIMP σπίτι μου και έχω κατενθουσιαστεί με τα καινούρια μου X-windows :)))* + +thanx anyway\ +Nightstalker + +*Παρακαλώ, τίποτα\ +Γιώργος Κεραμίδας* + + +### [5. Printing in Linux]{#s5} + +Από : [Παπαγρηγορίου Νίκο](mailto:papanikos@usa.net) + +Απάντηση : [Παναγιώτης Βρυώνης](mailto:vrypan@hol.gr) + +Γεια σας,\ +Με λένε Νίκο και σχετικά πρόσφατα άρχισα να ασχολούμε με LINUX. Όμως επίσης πρόσφατα έκανα το λάθος να αγοράσω έναν σχετικά καινούριο εκτυπωτή. Τον HP720C.\ +Τελικά δεν μπορούσα να εκτυπώσω στο Linux και διαπίστωσα ότι εκτός του ότι ο driver δεν υπήρχε (RedHat 5.0) κάπου διάβασα ότι οι εκτυπωτές με την ένδειξη στο +κουτί \"for Windows\" εκτυπώνουν μόνο μέσω του \"windows printing system\".\ +Λοιπόν, τί πρέπει να κάνω; Να αλλάξω εκτυπωτή; Να περιμένω μήκως κάποιος φτιάξει τον driver για το Linux; Να τον πετάξω από το παράθυρο;\ +Ευχαριστώ προκαταβολικά,\ +Νίκος Π. + +*Έχω και εγώ το ίδιο πρόβλημα Νίκο. Έχω στείλει σχετικό e-mail στην RedHat και ψάχνω και μόνος μου να βρω κάτι που θα μου λύσει το πρόβλημα\... Είμαι σίγουρος +πως κάτι θα βρεθεί και θα σε ενημερώσω.\ +Παναγιώτης Βρυώνης.* + +*Κάτι βρέθηκε. Για ρίξε μια [ματιά\...](02_zone.html).* + + +### [6. Χώρος στο δίσκο.]{#s6} + +Από : [Γουβαλή Αλκιβιάδη](mailto:alkisg@egnatia.ee.auth.gr) + +Απάντηση : [Παναγιώτης Βρυώνης](mailto:vrypan@hol.gr) + +Μια πολύ πολύ απλή ερώτηση: πως βρίσκω πόσο χώρο έχω ελεύθερο στο σκληρό δίσκο;\ +Φιλικά, Άλκης + +*\-\-\--Βλέπε την εντολή df.\ +Παναγιώτης.* + + +### [7. Ελληνικά και Netscape\...]{#s7} + +Από : [Τάσος](mailto:tas07klm@compulink.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@auadec.aua.gr) + +Γεια χαρά στο Linux magaz,\ +Μήπως μπορείτε να βοηθήσετε;\ +Χρησιμοποιώ Win3.11 και Netscape 3.0. Με αυτά βλέπω κανονικά τις περισσότερες www σελίδες με ελληνικούς χαρακτήρες (όπως π.χ. την πρώτη σελίδα του www.linux.gr) +εκτός ελαχίστων εξαιρέσεων. Δυστυχώς σ\' αυτές τις εξαιρέσεις περιλαμβάνονται όλες οι σελίδες του magaz μετά την πρώτη. (Κανονικά φαίνονται μόνο οι λέξεις +\"Τεύχος\" μέσα στο παράθυρο επιλογής και η λέξη \"Επιλογή\" στο κουμπί Επιλογή/Selection.). Καμιά αλλαγή στα options του Netscape δεν φαίνεται να λειτουργεί. +Αν αντιγράψω ένα κομμάτι κειμένου από τα μη εμφανιζόμενα μέσα π.χ. στο Notepad, οι ελληνικοί χαρακτήρες εμφανίζονται κανονικά.\ +Μπορεί να γίνει τίποτα;\ +Ευχαριστώ\ +Τάσος + +*Εχω το ίδιο πρόλβημα με Windows NT και Netscape 3.01. Δεν έχω ιδέα γιατί συμβαίνει, αλλά το Netscape σε W95 και Linux μου τα δείχνει κανονικά (όπως και ο +Explorer σε W95). Αν έχει κάποιος καμιά ιδέα, ας την πει. Θα ψάξω και εγώ μήπως βρω από τον HTML κωδικα των σελίδων καμιά διαφορά.* + + +### [8. Ευχαριστούμε\...]{#s8} + +Απάντηση : [Magaz](mailto:magaz@linux.gr) + +Από : [Γιάννη Γιαννακούρα](mailto:ggiannis@vol.forthnet.gr) + +Πολλή καλή προσπάθεια. Μπράβο. + +*Ευχαριστούμε, περιμένουμε και τη δική σου συνεισφορά.* + +Από : [Χρήστο Αθανασόπουλο](mailto:axrst@otenet.gr) + +Παιδιά, συγχαρητήρια για τη δουλειά σας στο περιοδικό. Οσον αφορά το CD ένα θα σας πώ: Θα ήταν το όνειρό μου αν πραγματοποιόταν. Απο τη μεριά μου είμαι +διαθέσιμος για κάθε ταπεινή βοήθεια προς αυτό τον σκοπό.\ +Χρήστος Αθανασόπουλος, υπεύθυνος σπουδών FUTUREKIDS Αμαλιάδας. + +*Ευχαριστούμε. Μακάρι να το καταφέρουμε το CD. Σε μετράμε στους συνεργάτες.* + +Από : [CaptainF](mailto:bytefox@spark.net.gr) + +Γεια σας παιδιά και συγχαρητήρια για την πολύ καλή δουλειά που κάνετε γενικά με το www.linux.gr και ειδικότερα με το magaz. Παίρνω πολύ μεγάλη απόλαυση κάθε +φορά που διαβάζω το περιοδικό σας. Εννοείται ότι μαθαίνω πολλά κάθε φορά μέσα από αυτό γιατί είμαι ένας πολύ καινούριος χρήστης Linux. Η τρίτη μου προσπάθεια +κατά τη διάρκεια του τελευταίου χρόνου να στήσω ένα Linux box όπως το λέτε που να συναγωνίζεται συγκεκριμμένα τα Windows 95 ειδικά στον τομέα της ευχρηστίας και +του \"look and feel\" ήταν και η πιο πετυχημένη. Πριν από μια εβδομάδα έστησα το Red Hat 5.0 και αρχικά το KDE beta 2 και μετά το beta 3. Όλα αυτά μετά από +προσεκτικό διάβασμα των διάφορων άρθρων σας αλλά και της επιστολογραφίας. Είμαι ενθουσιασμένος από το αποτέλεσμα. Το μόνο που δεν έχω στήσει ακόμα είναι τα +Ελληνικά γι αυτό αυτή τη στιγμή σας γράφω μέσα από τα Windows 95. Όλα τα άλλα (κάρτα ήχου, Internet κ.λ.π) δουλεύουν τέλεια και φυσικά συνεχίζω να ψάχνω το +περιβάλλον.\ +Ομολογογώ ότι αφορμή γι αυτό το mail στάθηκε η προσπάθεια μου να κατεβάσω τοπικά και να ξεφυλίσω το magaz Μαρτίου αλλά και τα δύο link της σελίδας δεν βρίσκουν +το directory ftp.linux.gr/pub/magaz. Αυτό συμβαίνει τώρα Σάββατο 21/3 στις 12:30 μεσημέρι.Φυσικά θα συνεχίσω το ξεφύλισμα on-line, απλά το ανέφερα :) + +*Πράγματι ήταν ένα πρόβλημα. Διορθώθηκε μετά τα μηνύματά σας. Αυτή τη στιγμή μπορείτε να κατεβάσετε και όλα τα τεύχη, και μόνο το τέταρτο τεύχος. Διαλέγετε και +παίρνετε :-)* + +Και μιά που σας γράφω θα ήθελα να κάνω δύο ερωτήσεις για το KDE. Δεν ξέρω αν εδώ είναι το σωστό σημείο γιατί δεν τσέκαρα αν δίνετε διαφορετική διεύθυνση e-mail +στην επιστολογραφία του magaz. Ελπίζω να μην υπάρχει πρόβλημα.\ +1) Όταν κάνω minimize ένα παράθυρο αφήνει σκουπίδια στο desktop background, δηλαδή pixels που δεν έχουν ζωγραφιστεί σωστά. Όχι πολλά αλλά σίγουρα φαίνονται. +Παρατήρησα ότι αν από κάτω από το παράθυρο που κάνω minimize υπάρχει άλλο παράθυρο εφαρμογής εκείνο κάνει τον εαυτό του redraw σωστά, μόνο το κομμάτι του +background δεν καταφέρνει να ζωγραφιστεί σωστά. Είναι αυτό γνωστό bug ? Μήπως έχει να κάνει με τα εφφέ της ζωγραφικής των παραθύρων ?\ +2) Πιο σοβαρό αλλά ξεπερνιέται. Καμμιά φορά δείχνει να πεθαίνει ο kfm. Δεν έχω καταλάβει ακριβώς κάτω από ποιες συνθήκες. Το σύμπτωμα είναι το εξής : Σταματάει +το desktop να δέχεται επιλογές από τα μενού κάτω αριστερά καί από όλα τα icons που έχω βάλει μόνος μου στο panel. Πατιούνται αλλά δεν γίνεται τίποτα . Αν τρέξω +ξανά τον kfm (από κονσόλα ας πούμε) το σύστημα επανέρχεται. Μου θυμίζει ανάλογη συμπεριφορά που έχουν τα Windows 95 με τον explorer. Είναι πραγματικό πρόβλημα +αυτό ή μπορώ να κάνω κάτι για να το λύσω μια και καλή ?\ +Αυτά για τώρα. Συγνώμη για το μακροσκελές e-mail μια και καταλαβαίνω ότι ο χρόνος σας είναι πολύ περιορισμένος. Εύχομαι να έχετε τη δύναμη να συνεχίζετε την +πολλή καλή δουλειά που κάνετε. Προς το παρόν απο τη μεριά μου \"πρήζω\" συνεχώς όλους τους φίλους και γνωστούς για το Linux. :)\ +Με αληθινή εκτίμηση Φώτης Καπετανιάς + +*Φώτη θα επανέλθουμε για τις ερωτήσεις αυτές. Συγνώμμη που δεν απαντήσαμε αλλά έπεσε φόρτος\...* + +Από : [Αλέξανδρο Χριστοδουλάκη](mailto:A.HRISTODOULAKIS@telestet.gr) + +Hi σας,\ +είμαι ένας νέος στο Linux (άσχετος από το λειτουρικό, κοινώς) που παρακολουθεί τη λίστα στον Αργέα και το Magaz σιωπηλά μεν, ανελλειπώς δε.\ +Γνώμη μου είναι, όσον αφορά το CD, ότι σημαντικό βήμα θα είναι η δημιουργία του πρότυπου CD (μήτρας όπως αναφέρεται στο άρθρο σας) σε κάποιον server. Έτσι +αφενός θα φανεί ότι υπάρχει θέληση και όρεξη (πιο εύκολα θα βοηθήσουν και οι υπόλοιποι χρήστες), αφετέρου δε, όταν με το καλό προχωρήσουν τα πράγματα, θα +υπάρχει η βάση έτοιμη (που το θεωρώ προυπόθεση για ένα επιτυχημένο ξεκίνημα.\ +Φιλικά\ +Αλέξανδρος + +Υ.Γ.:Συμφωνώ ότι η ιδέα ενός CD σε κάποιο περιοδικό θα φέρει περισσότερους κοντά μας, όμως και με το CD αυτό σε κάποιον server πιστεύω ότι η διαφήμιση και +προώθηση θα είναι τέτοια που αξίζει κάθε προσπάθεια. + +*Φίλε Αλέξανδρε, ούτως ή άλλως, μετά την περίτεχνη άρνηση του Chip, προς αυτή την κατεύθυνση κινούμαστε. Υπάρχει βέβαια το πολύ σοβαρό θέμα, ότι δεν μπορεί ο +καθένας να κατεβάσει ένα αρχείο image 600 Mb, έτσι; Πάντως εμείς θα το φτιάξουμε, και μετά βλέπουμε και το θέμα της διανομής.* + +Από : [Μανώλη Τάβλα](mailto:axon@agn.forthnet.gr) + +Γεια και χαρά!\ +Είμαι ένας 15χρονος μαθητής Λυκείου από τον Άγιο Νικόλαο Κρήτης. Στο σχολείο μου (Ε.Π.Λ.) έχουμε linux. Εκεί το πρωτοείδα και το σύγκρινα με τα windows 95 που +βρίσκονται σε άλλους υπολογιστές παρά δίπλα\... Πολυ καλύτερα φαίνονται \...Snarf! Δυστυχώς έχω windows 95 (OSR2, πάλι καλά\...) αλλά όπου νάναι θα βαλω linux +αν το βρω.\ +Είμαι κατενθουσιασμένος με το περιοδικό. Ωραίες στήλες, καλαίσθητα γραφικά, βοήθεια για τον αρχάριο χρήστη. Όλα πολύ ωραία είναι αν και μπορούν να γίνουν +καλύτερα! Σκέφτομαι να βάλω. + +Αν μπορείτε να βοηθήσετε + +Γεια σας!\ +Εγώ είμαι πάλι\... Λοιπόν επειδή αποφάσισα να κατεβάσω το red hat linux 5 από το ftp του ntua, μπορείτε να μου πείτε τι πρέπει να κατεβάσω από εκεί για να +εγκαταστησω μετά από 2o σκληρό το LINUX ?\ +Φιλικά\ +Μανώλης Τάβλας + +*Φίλε Μανώλη. Ναι, για το RedHat θα σου πούμε. Λόγω Πάσχα είχαμε πρεμούρα να βγει το τεύχος και αμελήσαμε λίγο την αλληλογραφία μας. Από το πρώτο mail βέβαια, +όπως βλέπεις, δεν καταλαβαίνουμε τι ζητάς. Αν δεν σου κάνει κόπο, θα σου ζητούσαμε να περιμένεις λίγο ακόμα\...* + +Από : [Χρήστο Βαρελά](mailto:cvar@math.auth.gr) + +Συνάδελφοι Linux-άδες, φίλοι και φίλες, γεια και χαρά σας!\ +Πραγματικά δεν βρίσκω λόγια για να σας περιγράψω τη χαρά και την έκπληξη που αισθάνθηκα όταν \"σκόνταψα\" στις ιστοσελίδες του περιοδικού σας! Πιστεύω ότι κάτι +τέτοιο χρειαζόταν εδώ και καιρό στο χώρο των Ελλήνων χρηστών του Linux. Εγώ από τη μεριά μου είμαι χρήστης του Linux (τώρα χρησιμοποιώ το RedHat 5.0) εδώ και +δύο περίπου χρόνια και - needless to say - είμαι απόλυτα ικανοποιημένος και συνεχώς μαγεμένος από τη δύναμη, την αξιοπιστία και τα τόσα άλλα εκπληκτικά +χαρακτηριστικά του. Το συστήνω ανεπιφύλακτα σε νέους χρήστες ή σ\' αυτούς που σκέπτονται (ακόμα;) να το εγκαταστήσουν.\ +Όσον αφορά το περιοδικό σας, είμαι προθυμότατος να βοηθήσω με οποιονδήποτε τρόπο μπορώ. Αυτό τον καιρό ασχολούμαι με την εκμάθηση και κατανόηση του Λογικού +Προγραμματισμού με χρήση ProLog (κάτω από Linux βέβαια). Ίσως αργότερα θα μπορούσα να σας στείλω ένα άρθρο-εισαγωγή στο θέμα καθώς και μια περιγραφή του πακέτου +που χρησιμοποιώ\...\ +Keep up the good work!\ +Χρήστος Βαρελάς,\ +Πτυχιούχος (άνεργος) Μαθηματικός,\ +Υποψήφιος Διδάκτωρ Επιστήμης Υ/Η,\ +Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης. + +*Ουπς, σου έχουμε απαντήσει; Αν όχι, συγχώρεσέ μας για την καθυστέρηση. Οσον αφορά στην πρόταση για βοήθεια, να σε ενημερώσουμε ότι το περιοδικό είναι ανοιχτό +σε ΚΑΘΕ βοήθεια. Αρκεί το άρθρο να είναι σχετικό με το Linux.\ +Περιμένουμε νέα σου.* + +Από : [Αριστείδη Κοντογεώργη](mailto:kontogar@talos.cc.uch.gr) + +Γεια χαρά,\ +χρησιμοποιώ text browser (lynx) ο οποίος έχει πρόβλημα στο να δει παραπάνω από την πρώτη σελίδα του περιοδικού σας. Βέβαια μπορώ να διαβασω τον html κώδικα και +να δώσω τη διεύθυνση του τεύχους, αλλά ίσως θα ήταν χρήσιμο να γίνει και μια text page στην αρχή.\ +Συγχαρητήρια για την δουλειά σας.\ +Αριστείδης + +*Αριστείδη, χίλια συγνώμμη. Εχεις απόλυτο δίκιο, έπρεπε να το σκεφτούμε νωρίτερα. Λίγη υπομονή όμως, γιατί αυτή την περίοδο είμαστε πολύ πιεσμένοι. Υπάρχουν δύο +λύσεις. Περιμένεις να την φτιάξουμε (ελπίζω στο τεύχος 1- Ιουνίου), ή την φτιάχνεις εσύ και μας την στέλνεις :-)* + +Από : [Λεωνίδα Τζίμη](mailto:gnx@cha.forthnet.gr) + +Μπράβο!!!\ +Περιμένω το GrLinux CD με αγωνία. Ανυπομονώ να δοκιμάσω το Linux. Δεν αγοράζω ακόμα τα 6 CD από Παπασωτηρίου. Θα περιμένω εσάς. Μπράβο, μπράβο, μπράβο\ +Υ.Γ. αλλά μπορεί να αγοράσω και τα CD από τον Παπασωτηρίου αν αργήσετε + +*ΑΝ ΑΡΓΗΣΟΥΜΕ; Ακόμα δεν ξεκινήσαμε. Μην το υπολογίζεις σε λιγότερο από 3 μήνες (και πολύ αισιόδοξος μου φαίνομαι). Επίσης, το CD που λέμε δεν θα μπορείς να το +αγοράσεις, αλλά μόνο να το κατεβάσεις (αρχικά), οπότε αν μιλάς για dial-up, μάλλον ξέχνα το\... Θα πρέπει να περιμένεις να καταδεχτεί ένα περιοδικό να το +παράγει. Οπότε άλλους 3 μήνες. Κάθε βοήθεια όμως για να βγει το CD νωρίτερα, ευπρόσδεκτη (hint, hint)\ +Υ.Γ. Νέα δεδομένα μιλάνε ίσως για δυνατότητα του HELLUG, αν δημιουργηθεί, να μπορεί και να το διανείμει. Τίποτα σίγουρο ακόμη, μόνο ιδέες.* + +Από : [Νίκο Μαυρογιαννόπουλο](mailto:nmav@freemail.gr) + +Γεια, είδα το άρθρο στο magaz για το staroffice. Πολύ καλό αν και τελικώς δεν κατάφερα να βάλω ελληνικά fonts. Εκανα ότι έλεγε (copy τα files , αλλαγη του +pssd.fonts) αλλά δεν κατάφερα να βρω το perl-script που έλεγες για τα afm αρχεία (τι ακριβώς κάνει αυτό;) Έψαξα για .pl αρχεία αλλά τζίφος. Μπορείτε μήπως να +μου πείτε που / ποιο είναι αυτό το perl script?\ +Ευχαριστώ\.... + +*Ουπς, συγνώμμη, αλλά το αρχείο με τα ελληνικά fonts για το StarOffice είχε την ίδια τύχη με το gzipped αρχείο - ΑΡΧΕΙΟ (αυτό σημαίνει αρχείο από το file και +ΑΑΡΧΕΙΟ από το αρχειοθέτηση). Από αυτό το τευχος θα υπάρχει link στο άρθρο που θα τραβαει ένα αρχείο από τον webserver. Το αρχείο αυτό θα έχει μέσα το afm.pl, +το οποίο είναι το perl-script που μετατρέπει τα afm αρχεία των fonts, σε μορφή που να καταλαβαίνει το StarOffice. Θα έχει μέσα επίσης τα ελληνικά του Χαρίτση, +με \"πειραγμένα\" afm αρχεία.. Αν καταφέρεις τίποτα με άλλες ελληνικές γραμματοσειρές, θα θέλαμε να το ξέρουμε.\ +Happy hacking :-)* + +btw. για το ελληνικό distibution είμαι πρόθυμος να βοηθήσω σε ότι μπορώ\... + +*Ένα mail στη λίστα (linux-greek-users\@argeas.argos.hol.gr) θα ήταν ότι πρέπει, μια που απ\' ότι φαίνεται ο συντονισμός φεύγει από το Magaz και πάει στο +HELLUG\...* + +Από : [Σαράντη Πασχάλη](mailto:paskalis@di.uoa.gr) + +Γεια σας,\ +Κατ\' αρχήν συγχαρητήρια για το περιοδικό που βγαίνει. Πολύ καλό. Δύο σχόλια για το ftp downloading. Το URL για ftp για το magaz στην αρχικη σελίδα είναι + + http://ftp.linux/gr/pub/magaz + +και προφανώς δεν δουλεύει.\ +Όμως ούτε directory /pub/magaz υπάρχει στο ftp.linux.gr + +*Ευχαριστούμε, το διορθώσαμε.* + +Από : [Σηφαλακη Μανώλη](mailto:msifa@ariadne-t.gr) + +Θα ήθελα να ενημερώσω ότι το ftp link δεν λειτουργεί, και στον ftp.linux.gr δεν φαίνεται να υπάρχει magaz directory. + +*Τα links, διορθώθηκαν. Το directory δεν υπάρχει, τα downloads, τελικά γίνονται από τον webserver.* + diff --git a/content/articles/05/01_editorial.md b/content/articles/05/01_editorial.md new file mode 100644 index 0000000..7549d8b --- /dev/null +++ b/content/articles/05/01_editorial.md @@ -0,0 +1,39 @@ ++++ +title = 'Editorial' +date = '1998-06-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης' +issue = ['Magaz 05'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Αυτό κι αν είναι έκπληξη, ε; Αναγκαστήκαμε να βγάλουμε το 5ο τεύχος τώρα, καθυστερημένο όπως φαίνεται. Λάθος υπολογισμός, κακό timing, όταν ήρθαν τα άρθρα +υπήρχαν πολλές δουλειές κλπ κλπ.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Μάλλον το Magaz θα αλλάξει μορφή. Μία σκέψη είναι να μην είναι σταθερά περιοδικό (μήπως και έχουμε καταφέρει να το βγάλουμε ποτέ στην ώρα του;) αλλά να +ανανεώνεται κάθε φορά που έρχεται ένα άρθρο. Αυτό βέβαια ξεφεύγει από τον αρχικό μας σχεδιασμό, αλλά ίσως να είναι ο μόνος τρόπος να επιβιώσει. + +Σε αυτό το τεύχος, έχουμε πολλά άρθρα για τους νέους χρήστες. Είδαμε ότι υπάρχει \"ζήτηση\" και αποφασίσαμε να την ικανοποιήσουμε: Έχουμε λοιπόν, μία παρουσίαση +του SuSE Linux από τον Φώτη Γεωργάτο. Το SuSE Linux είναι μία γερμανική προσπάθεια για ένα Linux το οποίο θα έιναι εύκολο στην εγκατάσταση και ταυτόχρονα +μπροστά στην τεχνολογια. + +Έχουμε και ένα άρθρο για τις ρυθμίσεις του X-ISP, του πολύ καλού προγράμματος του Δημήτρη Μπούρα για dialup σύνδεση με έναν ISP. Θεωρείται, το καλυτερο +πρόγραμμα για εύκολη συνδεση στο Internet, αφήστε δε που είναι και ελληνικό!!! + +Ο Παναγιώτης Βρυώνης, μετά το άρθρο του στο RAM, επιστρέφει και στο Magaz με το γνωστό Linux Zone 2. + +Ο Ευριπίδης Παπακώστας και η Βούλα Σανιδά, ξέκλεψαν λίγο χρόνο από τα της ίδρυσης του Hellug και μας έστειλαν οδηγίες για το IP Masquerading. Πολύ καλό και +χρήσιμο άρθρο\... + +Έχουμε τέλος και το σταθερό πλέον άρθρο από τον φίλο μας το \"γιατρό\", + +Υπάρχει όπως πάντα βέβαια και η [στήλη της αλληλογραφίας](07_mailbox.html), αρκετά περιορισμένη και αυτή, λόγω του χρόνου που λέγαμε στην αρχή, και για άλλους +λόγους που θα διαβάσετε εκεί\... + +Μετά από πολλά παράπονα (δικαιολογημένα όλα), η αρχική σελίδα πλέον είναι εύκολα αναγνώσιμη και από text-browsers (lynx). Συγνώμμη για την καθυστέρηση αυτού, +πιαστήκαμε λίγο αδιάβαστοι. + +Ζητάμε για άλλη μία φορά συγνώμμη για την καθυστέρηση, και ευχόμαστε καλη ανάγνωση\... diff --git a/content/articles/05/02_lz2.md b/content/articles/05/02_lz2.md new file mode 100644 index 0000000..2fef484 --- /dev/null +++ b/content/articles/05/02_lz2.md @@ -0,0 +1,56 @@ ++++ +title = 'Linux Zone' +date = '1998-06-01T00:00:00Z' +description = '' +author = 'Παναγιώτης Βρυώνης' +issue = ['Magaz 05'] +issue_weight = 2 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το Linux Zone είναι μία στήλη που σκοπό της έχει να παρουσιάζει μερικές από τις εμπειρίες μου στον χώρο του Linux.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Όσοι διαβάσατε το προηγούμενο LZ θα θυμάστε ότι άλλαξα τον εκτυπωτή μου και αντιμετώπισα μερικά \"προβληματάκια\" μέχρι να τον κάνω να δουλέψει\... Τώρα όμως +που ο Deskjet 720C μου τυπώνει μια χαρά (αν και μόνο μαυρόασπρα για την ώρα) ήταν καιρός να κάνω τις απαραίτητες ρυθμίσεις για να τυπώνω και ελληνικά. + +Εδώ είπα για μία ακόμη φορά, \"ευτυχώς που μοιράστηκα τις εμπειρίες μου με τον υπόλοιπο κόσμο και δεν τις κράτησα για τον εαυτό μου\". Ο λόγος είναι απλός. Πριν +από αρκετό καιρό είχα κάτσει και είχα βρει τί χρειάζεται να γίνει για να τυπώνει το ghostscript με ελληνικές γραμματοσειρές. Μάλιστα, με βάση αυτά που έμαθα +πρόσθεσα και εγώ το λιθαράκι μου στο [Hellenic-Linux-HOWTO](http://www.linux.gr/docs/HOWTO), γράφοντας το κεφάλαιο των εκτυπώσεων. Αυτό ήταν πριν από αρκετούς +μήνες. Από τότε, πολλά πράγματα έχουν συμβεί στο κακόμοιρο το μηχάνημά μου περιλαμβανομένου και ενός πλήρους format του δίσκου (αουτς\...) Όλες οι σημειώσεις +μου επι του θέματος είχαν εξαφανιστεί και δεν θυμόμουν και πολλά. Ε, όχι και ΟΛΕΣ. Μία ανάγνωση του HOWTO και το πρόβλημα λύθηκε. + +Το [άρθρο](../04/05_babel.html) του Απόστολου Συρόπουλου στο προηγούμενο τεύχος του magaz μου θύμισε πόσο με είχε ενθουσιάσει η πρώτη μου επαφή με το TeX και το +LaTeX. Δυστυχώς, σοβαρή υποστήριξη για ελληνικά δεν υπήρχε, με αποτέλεσμα μετά από κάποιο διάστημα να απομακρυνθώ από αυτό\... Διαβάζοντας το άρθρο λοιπόν, πήρα +νέο κουράγιο και με λίγο κόπο (ε, θέλει μια μικρή ταλαιπωρία\...) εγκατέστησα τα ελληνικά στο TeTeX που περιέχεται στο RedHat Linux 5.0. Επιτέλους! + +Για όσους δεν είχαν κάποια επαφή με τα TeX/LaTeX, πρόκειται για δύο πακέτα στοιχειοθεσίας. Κάτι αντίστοιχο με έναν επεξεργαστή κειμένου, αλλά διαφορετικό! Η +διαφορά δεν έγκειται στις δυνατότητες (αυτές είναι πραγματικά εντυπωσιακές) αλλά στην επικοινωνία με το πρόγραμμα. Με τα πακέτα αυτά, γράφετε το κείμενό σας σε +έναν από text editor. Στο κείμενο, περιλαμβάνονται και ειδικές \"κωδικές\" λέξεις (για όσους γνωρίζουν, κάπως σαν να γράφαμε σε HTML). Το κείμενο το \"περνάμε\" +από το tex ή το latex και πέρνουμε το αποτέλεσμα σε PostScript μορφή. + +Είναι γεγονός ότι τα δύο αυτά πακέτα απαιτούν περισσότερο χρόνο για την εκμάθησή τους από ένα παραδοσιακό WYSIWYG επεξεργαστή κειμένου. Από ένα σημείο και μετά +όμως δεν θα μπορείτε να κάνετε χωρίς αυτά. Ειδικά αν γράφετε κείμενα με πολλά μαθηματικά. Ξεχάστε τα άπειρα κλικ με το ποντίκι για να γράψετε μία απλή +μαθηματική έκφραση. Στα TeX/LaTeX θα γράφετε κάπως έτσι: `\int_0^x f(y)dy = \sum_{i=1}^n {(x_i)^2}^{2i}` για να πάρετε ΑΨΟΓΑ +εκτυπωμένη την εξίσωση [αυτή](/05/img/latexeq.png)!!! Όποιος έχει προσπαθήσει να γράψει έστω και μία μικρή εργασία μαθηματικών στο Word, είμαι σίγουρος ότι θα +εκτιμήσει αυτή την προσέγγιση. + +Μια και μιλάμε για το TeX, αξίζει νομίζω να αναφέρω ένα βιβλίο που θεωρώ ότι είναι (εκτός από ευαγγέλιο για όλους τους TeX-users) ένα υπόδειγμα συγγραφής +τεχνικών βιβλίων. Γραμμένο από τον \"μεγάλο\" Donald Knuth, το `The TeXbook`, εκδόσεις Addison-Wesley, ISBN 0-201-13447-0 και +0-201-13448-9 (για μαλακό εξώφυλλο), καταφέρνει να κάνει συναρπαστική την ανάγνωση ενός manual με πολύ δύσκολο αντικείμενο. Δεν ξέρω άν κυκλοφορεί στην Ελλάδα, +πιστεύω όμως ότι θα σας το φέρουν άμα το ζητήσετε. + +Αφού \"ξεμπέρδεψα\" με το LaTeX, κατέβασα την Beta4 του KDE και την εγκατέστησα. Βελτιώσεις υπάρχουν πολλές, αλλά όχι εντυπωσιακές. Αυτό που με εντυπωσίασε +είναι δύο προγράμματα, το KLyX (υπάρχει μία συγγένεια με το LaTeX, τα ονόματα δεν είναι τυχαία\...) και το KCalendar. Και τα δύο προγράμματα βρίσκονται στο +ξεκίνημά τους (κυρίως το δεύτερο), αλλά μπορείτε να διακρίνετε ένα εντυπωσιακό μέλλον - μιλάμε για σοβαρά και μεγάλα προγράμματα που λείπουν από τον χώρο του +Open Software. Θα τα βρείτε στο /pub/unstable directory του ftp.kde.org, αλλά και σε όλα τα mirror sites (προτιμήστε το κοντινό μας +. + +Αν σας παραξένεψε ο όρος Open Software (αφού μέχρι τώρα χρησιμοποιούσα τον Free Software) διαβάστε το άρθρο . +Αναφέρεται στην απόφαση της Netscape να δώσει στο κοινό τον source code του Communicator 5.0 (και των μελλονικών εκδόσεων). Είναι σίγουρα μία μεγάλη απόφαση που +θα μας επιρρεάσει όλους όσους ασχολούμαστε με το Linux και το Open Software αλλά και όλο τον κόσμο των υπολογιστών. Απορρώ πώς και δεν έχει παρουσιαστεί στον +σχετικό τύπο (διαβάσατε κανένα σχετικό άρθρο σε κάποιο ελληνικό περιοδικό;) + +Κλείνοντας το άρθρο αυτού του μήνα και μία και αναφέρθηκα σε περιοδικά. Στις 14 Απριλίου πήγα στοn Παπασωτηρίου και ζήτησα το Jinux Journal του Απριλίου. Είχε +τελειώσει! Εγω το αγόρασα όμως από το περίπτερο λίγο παρακάτω!!! Έχουμε αρχίσει να γινόμαστε τοσοι πολλοί; Το ελπίζω! diff --git a/content/articles/05/03_suse.md b/content/articles/05/03_suse.md new file mode 100644 index 0000000..eb34e29 --- /dev/null +++ b/content/articles/05/03_suse.md @@ -0,0 +1,170 @@ ++++ +title = 'Suse Linux 5.2' +date = '1998-06-01T00:00:00Z' +description = '' +author = 'Γεωργάτος Φώτης gef@ceid.upatras.gr(mailto:gef@ceid.upatras.gr?subject=SUSE-LINUX)' +issue = ['Magaz 05'] +issue_weight = 3 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*\'Εχοντας περάσει από Slackware, RedHat, Caldera OpenLinux κλπ βρήκα μία διανομή που δείχνει μια αυστηρά επαγγελματική εικόνα και με άφησε ικανοποιημένο τόσο +από την σοβαρή επιμέλεια της διανομής όσο και του συνοδευτικού εγχειριδίου.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Το Suse ( σούσε, ή σούζι ) Linux έρχεται σε κουτί που περιλαμβάνει 4 CDROM, 1 δισκέτα και το 400 σελίδων εγχειρίδιο. Από αυτά η δισκέτα σας είναι πρακτικά +άχρηστη εάν ο υπολογιστής σας υποστηριζει εκκίνηση από CDROM, το 1 CD είναι για την βασική εγκατάσταση (bootable), άλλα 2 CD με πακέτα σε rpm μορφή, και άλλο +ένα CD με το live filesystem, που θα δείτε παρακάτω που χρησιμεύει. Το εγχειρίδιο είναι πολύ καλογραμμένο και περιεκτικότατο, καθώς θα βοηθήσει έμπειρους και +άπειρους χρήστες να φτάσουν γρήγορα στην λύση του προβλήματός τους. Υποθέτω είναι από τα πλέον περιποιημένα εγχειρίδια που συνοδεύουν λειτουργικά συστήματα. + +**1. Εγκατάσταση** +----------------------------------------- + +**2. Λογισμικό** +--------------------------------------- + +**3. \'Αλλα χαρακτηριστικά του Suse: yast, susewm, sdb** +------------------------------------------------------------------------------- + +**4. Live filesystem** +--------------------------------------------- + +**5. Γιατί Suse και όχι κάτι άλλο;** +----------------------------------------------------------- + +- [5.1 Suse vs Slackware](#ss5.1) +- [5.2 Suse vs RedHat](#ss5.2) +- [5.3 Suse vs OpenLinux Caldera](#ss5.3) + +**6. Επίλογος** +-------------------------------------- + + +### [1. Εγκατάσταση]{#s1} + +Η εγκατάστασή του Suse είναι ιδιαίτερα εύκολη, καθώς μπορεί να επιλέξει κανείς έναν έτοιμο σύνολο πακέτων (preconfigured settings: πχ Base, Standard + Xwindows, +Everything, Network Server, Network Client και πάει λέγοντας). Τυπικά, ο γράφων επιλέγει ένα συνδιασμό από τις έτοιμες εγκαταστάσεις και στην συνέχεια +προσθαφαιρεί πακέτα για να φτάσει σε μία επιθυμητή λύση. Το πόσο εύκολα στήνει πχ κανείς ένα Netware (Compatible) Server είναι χαρακτηριστικό - ενώ σε άλλες +διανομές τυπικά κάνουμε μεταγλώττιση ή εγκατάσταση με binaries με το χέρι. Μετά εγκαθιστά κανείς τα πακέτα και το μόνο που χρειάζεται είναι αλλάξει τα CD (3 cd +που έχουν περίπου 1450 πακέτα rpm). + +Η ανανέωση του λειτουργικού με πρόσθετο λογισμικό (σε rpm) είναι παιχνιδάκι. Επίσης, κάπου πρόσεξα ότι μπορείς να κάνεις αυτόματα ανανέωση (update) το σύστημα, +παίρνοντας τις αλλαγές μέσω του Internet από Γερμανία: Αυτό και εάν σώζει χρόνο! + +Ακόμη, έχει κάποια έτοιμη λογική για να στήσει κανείς firewalls, masquerading, Xterminals, www/ftp servers, nfs server, smb server (windows compatible file +sharing), Netware server και άλλα αντίστοιχα συστήματα. + + +### [2. Λογισμικό]{#s2} + +Το Suse 5.2 περιέχει ενδεικτικά τα εξής:\ +XFree86 3.3.2 (X11R6.3 \"Broadway\"), KDE beta3, qt-1.32, netscape communicator 4.04, gimp 0.99.18, samba 1.9.18p3, apache 1.2.5, cd-roast 0.96, xrpm, sane κλπ. + +Περιέχει αρκετούς (14) Window Managers (θυμάμαι τους: Kde, fvwm2, fvwm95, olwm, afterstep, enlightenment, cde\_sim, ctwm, qvwm ), εάν προσπαθήσετε να τους +στήσετε σε slackware θα χρειαστείτε πάνω από μια μέρα. + +Ανάμεσα στα άλλα είδαμε και τα εξής: + +- povray ( περίφημος 3d renderer), +- xanim ( παίζει mov, fli, multimedia αρχεία γενικά) +- snns (για νευρωνικά δίκτυα), +- simcity (το γνωστό παιχνίδι - τρέχει μόνο σε 8bit χρώμα), +- TeX ( typesetting - στοιχειοθεσία ), +- postgres95 (βάση δεδομένων) + +και demos των Maple V ( μαθηματικά++ ), ac3d (πακέτο για δημιουργία εικόνων με 3d αντικείμενα), Flagship (clipper,dbase superset++), Wordperfect, xess (excel +clone). + +Το Suse περιέχει το **applixware** office suite, δηλαδή σουίτα γραφείου που περιλαμβάνει επεξεργαστή κειμένου, λογιστικά φύλλα εργασίας, επεξεργαστή HTML +σελίδων κλπ. Η έκδοση του applixare που συνοδεύει το Suse Linux 5.2 είναι δοκιμαστική και θα εκτελείται μέχρι τις 30 Ιουνίου του 1998. + +Ενδιαφέρον έχουν και οι εξωμειωτές (Emulators) που ουσιαστικά τους στήνεις και δουλεύουν με την πρώτη: **DOSEMU, Atari ST, C64, C128, VIC20, PET, ZX Spectrum, +Gameboy** κλπ. + + +### [3. \'Αλλα χαρακτηριστικά του Suse: yast, susewm, sdb]{#s3} + +Το **yast** (yet another setup tool, μόνο αυτό δεν είναι) είναι το βασικό εργαλείο με το οποίο κάνουμε ρυθμίσεις στο σύστημα ως διαχειριστές. Με αυτό το +εργαλείο εγκαθίστανται και τα rpm ή tgz πακέτα. Ορίζει εύκολα χρήστες, ομάδες, τρόπο εισόδου στο σύστημα, και μύριες ακόμα λεπτομέρειες που μέχρι τώρα γινόνταν +με το χέρι και μετά από αρκετό διάβασμα. *Μεγάλο σχεδιαστικό πλεονέκτημα έναντι του αντίστοιχου εργαλείου του RedHat, είναι ότι δεν σου απαγορεύει να κάνεις και +με το χέρι επεμβάσεις στα αρχεία ρυθμίσεων του συστήματος στο /etc, αλλά και το ότι ΔΕΝ είναι γραφικό ( ΣΩΣΤΟ - έτσι μπορεί κανείς να ρυθμίσει το σύστημα χωρίς +να σηκώσει γραφικό περιβάλλον ή μέσα από telnet παράθυρο).* Θυμάμαι κάτι ιστορίες, όπου έπρεπε να στήσεις το γραφικό περιβάλλον για τρέξεις κάτι σαν Xyast, αλλά +το γραφικό περιβάλλον ήθελε νέο Xserver που έπρεπε να φέρεις από το Internet, άρα έπρεπε να στήσεις την dialup σύνδεση που ήθελε κάτι σαν Xyast ή κάπως έτσι. Το +yast του Suse Linux 5.2 με την ευκαιρία, είδα ότι υποστηρίζει ρύθμιση των dialup παραμέτρων από εκεί. Επιτέλους! Ήταν ανάγκη δηλαδή να μάθουμε το dip ή τον ppp +δαίμονα για να μπούμε στο Internet; + +Ο **susewm** είναι ένα εργαλειάκι που τρέχει σχεδόν αυτόματα και σκοπός του είναι να φτιάχνει τα menu του γραφικού περιβάλλοντος, ξεχωριστά για κάθε window +manager, ανάλογα με το λογισμικό που βάζουμε στο σύστημα. + +Το **sdb** είναι μια βάση δεδομένων με συχνές ερωτήσεις και απαντήσεις γύρω από το Suse. Είναι κάτι σαν FAQ, αλλά είναι τόσο μεγάλο, που εκ των πραγμάτων έγινε +βάση δεδομένων. + + +### [4. Live filesystem]{#s4} + +Εντυπωσιακό ιδιαίτερα είναι το Live filesystem όπου είναι ένα δισκάκι σε rockridge format (αντίστοιχο του ISO, αλλά για Unix), που περιέχει μία έτοιμη +εγκατάσταση στημένη. Αυτό μπορεί να χρησιμεύσει στις εξής δύο περιπτώσεις: + +1. Να τρέξει κανείς το Linux χωρίς να το έχει εγκαταστήσει στο δίσκο, τρέχοντας το μόνο από το CD και έχοντας το root filesystem σε ramdisk - με πιο απλά (;;;) + λόγια έχει την πληροφορία της ριζικής δομής του Unix υλοποιημένη στην κύρια μνήμη και το υπόλοιπο φορτώνει από το CD. Ίσως εάν δεν το δείτε δεν θα το + καταλάβετε. +2. Να αποφύγει να εγκαταστήσει κανείς όλο το Suse Linux, αλλά να βάλει μια μινιμαλιστική εγκατάσταση στο δίσκο και στη συνέχεια να κάνει \"integrate with live + filesystem\" και να τρέχει τα πιο πολλά πακέτα από το CD. Αρκετά ενδιαφέρουσα περίπτωση, ειδικά εάν υπάρχει σοβαρό πρόβλημα χώρου, ή υπάρχει δεύτερο CDROM + drive στον υπολογιστή. Περιττόν ότι δεσμεύεται έτσι το CDROM drive. + +Λέτε να δούμε σύντομα το Linux να τρέχει από CD και να μπαίνουν μόνο τα updates στο δίσκο; ΑΥΤΟ πάει να πει έξυπνα σχεδιασμένο λειτουργικό. + + +### [5. Γιατί Suse και όχι κάτι άλλο;]{#s5} + +### [5.1 Suse vs Slackware]{#ss5.1} + +Μπορεί το slackware να τα ξεκίνησε όλα, όμως δεν παύει να είναι δύσχρηστο για έναν αρχάριο στην φιλοσοφία του Unix. To Suse είναι πολύ εύχρηστο και εύκολα +πετυχαίνει κανείς αυτό που θέλει, είτε θέλει να στήσει έναν εξυπηρέτη είτε θέλει να φτιάξει ένα σύστημα για προσωπική χρήση. Χαρακτηριστικό είναι ότι έχω δει σε +ένα μήνα όλα τα πακέτα που είχα δουλέψει μέχρι τώρα, και πάνω από 100 νέα χωρίς να χρειαστεί ούτε ένα compile (εύγε rpm). Ο μόνος λόγος για να επιλέξει κανείς +το Slackware είναι γιατί είναι φανατικός Unixάς, δεν μπορεί και δεν χρειάζεται την μεγάλη ευχρηστία του γραφικού περιβάλλοντος ή απλά βαριέται να κοιτάξει το +Suse. + +### [5.2 Suse vs RedHat]{#ss5.2} + +Το RedHat είναι και αυτό αρκετά εύχρηστο, αλλά πολλές φορές οι επιλογές που έχουν κάνει οι σχεδιαστές της διανομής αυτής είναι άβολες για κάποιον που θέλει τον +πλήρη έλεγχο του συστήματός του. Το Suse παρέχει το εργαλείο yast για τον έλεγχο του συστήματος αλλά αντίθετα με το RedHat δεν σου απαγορεύει την επιλογή +παραμέτρων με το χέρι (με το vi πχ). + +Εκτός αυτού το RedHat μάς έρχεται από την Αμερική ενώ το Suse από την Γερμανία με άμεσες συνέπειες ως προς το Internationalization ( διεθνοποίηση) του +συστήματος: Το Suse υποστηρίζει ορισμό γλώσσας κατά χρήστη (πολύ βασικό για ένα σύστημα στην Ελλάδα που θα έχει ταυτόχρονα Ελληνόφωνους, \'Αγγλόφωνους, +Γερμανόφωνους κλπ). Τα πακέτα του αναμένεται να είναι σχεδόν όλα 8bit clean (βλέπε σχετικά το Hellenic-HOWTO), ενώ στο RedHat ισχύει περισσότερο η λογική: Δεν +σου δουλεύει; Έχεις τον πηγαίο κώδικα, φτιάξτο. + +Πλεονέκτημα υπέρ του RedHat είναι ότι είναι ΌΛΟ GPLed (General Public License), ενώ το Suse όχι ( όχι όλο - γύρω στο 95%, πιο συγκεκριμένα το yast αντιγράφεται +υπό όρους, και καμιά δεκαριά ακόμα εφαρμογές υποφέρουν από τις μη ελεύθερες άδειες χρήσης τους με πιο σημαντική την σουίτα γραφείου applixware). + +### [5.3 Suse vs OpenLinux Caldera]{#ss5.3} + +Απλά το OpenLinux της Caldera μου φάνηκε ότι θυσίασε την κομψότητα του Linux ως περιβάλλοντος εργασίας για να δώσει σε κάποιο (μάλλον επαγγελματικό) κόσμο ένα +εύχρηστο περιβάλλον. Το Suse μου φάνηκε πιο καλόσχεδιασμένο σε αυτά τα σημεία, και ειδικότερα οι επιλογές των Γερμανών σχεδιαστών του Suse εμένα μου φαίνονται +πιο ορθολογιστικές σε σχέση με αυτές του Caldera (βέβαια από ένα σημείο και μετά είναι θέμα προσωπικών προτιμήσεων). + + +### [6. Επίλογος]{#s6} + +Εν κατακλείδι, το Suse είναι ένας καλός υποψήφιος για το περιβάλλον εργασίας κάποιου τελικού χρήστη ή μία εγκατάσταση σε επαγγελματικό χώρο, αλλά και για το +επερχόμενο δωρεάν CD (Ελληνικό Linux) που θα φτιάξει η ελληνική Linux κοινότητα. Προτείνω σε όλους τους έλληνες χρήστες να το δοκιμάσουν γιατί έτσι θα βοηθήσουν +στην επιλογή. Είναι εξαιρετικά φιλικό προς τον χρόνο του διαχειριστή του συστήματος, καθώς δεν τον υποχρεώνει σε δραστηριότητες που τον αποσπούν από την βασική +εργασία του. + +Τι δεν μας άρεσε: Το γεγονός ότι ξαφνικά εκεί που πετάγεται ένα μύνημα, το διαβάζεις και διαπιστώνεις ότι είναι γερμανικά. Ειδικά η μανία του KDM να έχει ερήμην +επιλογή τα γερμανικά μας έχει \* τα \*. Τουλάχιστον βελτίωσα τα γερμανικά μου. Σημαντικό μειονέκτημα είναι και το ότι αυτή την στιγμή δεν είναι μελετημένα τα +τυχόν προβλήματα με τα ελληνικά, κάτι που μάλλον θα απασχολήσει και τον γράφοντα του άρθρου σύντομα, για να δωθούν έτοιμες λύσεις. + +ΥΓ: Μιας και δεν πληρώνομαι για να παρέχω ή να προωθώ το Suse Linux, θα παρακαλούσα να μην ζητήσετε τεχνική υποστήριξη κατ\' ιδίαν, αλλά μόνο μέσα από την +λίστα. Εάν υπάρχει η διαθεσιμότητα για απάντηση στην ερώτηση θα το διαπιστώσετε μόνοι σας. Επίσης, το παρόν άρθρο εκφράζει κατ\' ανάγκην μόνο την γνώμη του +συγγραφέα του, οπότε ας μην αρχίσουν οι αντιδικίες για το ποια διανομή είναι καλύτερη. + +Το Suse στοιχίζει περίπου 13.000 και θα το βρείτε στην Ελλάδα, στην εταιρία STEP (Πειραιάς, +30 14 18 12 39), στην εταιρία YEP (Θεσσαλονίκη, +30 31 42 45 12) +και στο τεχνικό βιβλιοπωλείο [Παπασωτηρίου](http://www.papasotiriou.gr) (Αθήνα, Πάτρα, Θεσσαλονίκη). + +Δείτε σχετικά: και , + diff --git a/content/articles/05/04_giatros.md b/content/articles/05/04_giatros.md new file mode 100644 index 0000000..e6da0a3 --- /dev/null +++ b/content/articles/05/04_giatros.md @@ -0,0 +1,41 @@ ++++ +title = 'Στρατολογία' +date = '1998-06-01T00:00:00Z' +description = '' +author = 'Ευριπίδης Παπακώστας' +issue = ['Magaz 05'] +issue_weight = 4 ++++ +**ΠΡΟΠΑΓΑΝΔΙΣΤΙΚΟ ΥΛΙΚΟ** + +**Η ΔΙΑΔΙΚΑΣΙΑ ΙΔΡΥΣΗΣ ΤΟΥ HELLUG (Ενωση Χρηστών και Φίλων Linux Ελλάδος) ΞΕΚΙΝΗΣΕ.** + +Η **ΕΕΕΑ** διέθεσε ένα από τα άσπρα ιδιωτικά της αεροπλάνα στον ΙΕΡΟ ΣΚΟΠΟ:\ +Την στρατολόγηση όλων των απανταχού ανά την Ελλάδα Linuxαδων. + +Σε περίπτωση που δεν έχουμε στρατολογήσει ακόμα κάποιον, μπορεί να προσφερθεί εθελοντικά μόνος του. + +Ο σύλλογος αυτός θα αποτελεί την επίσημη φωνή και δραστηριοποίηση των μέχρι τώρα διεσπαρμένων ελλήνων χρηστών Linux. Θα σας κάνει ανθρώπους! Θα σας φτιάξει +ελληνικά! Θα σας φτιάξει distributions! Θα έχει παρουσία σε εκθέσεις! Θα δίνει λύσεις! Θα προωθήσει το Linux όπου μπορεί! Θα κάνει ημερίδες, εκδηλώσεις, +σεμινάρια! Θα σας φτιάξουμε ποτάμια! + +Οσοι μέχρι τώρα δεν το ξέρατε διαβάστε το μέχρι τώρα [καταστατικό του συλλόγου](http://linux.metro.gr/grlinux/060598a.html) (ακόμα δεν είναι οριστικό). + +**ΜΗΝ ΤΟΛΜΗΣΕΙ ΚΑΝΕΙΣ ΟΤΑΝ ΙΔΡΥΘΕΙ Ο ΣΥΛΛΟΓΟΣ ΚΑΙ ΔΕΝ ΓΙΝΕΙ ΜΕΛΟΣ** + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + \ ![](/05/img/kala2.jpg) + ![](/05/img/kala1.jpg) + + *Αποβιβαση Στελεχους Νο 1* *Αποβιβαση Στελεχους Νο 2* + + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + +Στις παραπάνω φωτό, ο Γιατρός και η Μεξικάνα Βοηθός Voulariba αποβιβάζονται κάπου έξω από τα Καλάβρυτα, όπου χιλιάδες πιστών περιμένουν ανυπόμονα να +στρατολογηθούν στο HELLUG. Η τουρνέ θα συνεχιστεί σε όλα τα μήκη και τα πλάτη της Ελλάδας. + +Μικροί έντρομοι χρήστες windows θα φτάσουμε και στα δικά σας μέρη. Όπου και να πάτε. Είναι πλέον θέμα χρόνου. + +Με αγωνιστικούς χαιρετισμούς\ +ΕΕΕΑ. diff --git a/content/articles/05/05_ipmasq.md b/content/articles/05/05_ipmasq.md new file mode 100644 index 0000000..74a3ab3 --- /dev/null +++ b/content/articles/05/05_ipmasq.md @@ -0,0 +1,119 @@ ++++ +title = 'IP Masquerading' +date = '1998-06-01T00:00:00Z' +description = '' +author = 'Ευριπίδης Παπακώστας' +issue = ['Magaz 05'] +issue_weight = 5 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Είχαμε την παρακάτω απορία. Διαβάσαμε ένα παλιό Linux Journal, ρωτήσαμε και ένα δύο φίλους και την λύσαμε* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +- Εχω μόνο ένα account/connection (είτε dialup, είτε permanent) σε κάποιον Internet provider. +- Εχω πάνω από ένα PCs και θέλω όλα να έχουν πρόσβαση στο Internet (ξαδέρφια, συνάδελφοι, το αφεντικό). +- Θέλω επίσης, είτε επειδή δεν μου δίνουν τόσα legal IPs, είτε γιατί θέλω αυξημένο security τα PCs αυτά να έχουν dummy IPs (π.χ 10.0.0.x). + +**Τι χρειάζομαι:** + +- Ενα Linux Box.με kernel κάπως πρόσφατο = 2.0.30 μας κάνει σίγουρα.. +- Μια κάρτα δικτύου προς το εσωτερικό μου δίκτυο και άρα έστω το IP της 10.0.0.1. +- Σε περίπτωση dialup connection, ένα modem. IP θα πάρω δυναμικά (έστω ότι η σύνδεση είναι dynamic IP) και φυσικά να ξέρω να συνδέομαι με τον provider μέσω + Linux. +- Σε περίπτωση permanent connection, μια κάρτα δικτύου προς το εξωτερικό υποδίκτυο (που πάει στον router) και άρα με ένα legal IP που μου δίνει ο provider. + Εστω 195.175.200.1 το IP αυτό. + +**Τι κάνω:** + +Για nameserver στο linux (αν δεν το\'χουμε λυσει αυτο το θεμα αλλοιως) βαζουμε του provider.\ +π.χ. το /etc/resolv.conf μας ειναι\ +search nini.gr\ +nameserver 127.0.0.1 (εμεις οι ιδιοι)\ +nameserver 195.170.0.2 (η ΟΤΕΝΕΤ). + +- Για default gateway πρέπει να έχουμε το internet gateway (ειτε modem ειτε η δευτερη καρτα δικτυου μας). Θα μπορούσαμε και χειροκίνητα π.χ. για την δεύτερη + κάρτα να δώσουμε:\ + route add default eth1 (eth0=1η καρτα, eth1=2η καρτα).\ +- Στην περιπτωση του dialup connection ο τροπος συνδεσης σας, λογικα θετει ως default gateway to ppp0. +- Μαλλον τα default options που έχει ο precompiled kernel μας κάνουν, αλλά όπως και να\'χει αυτά θα χρειαστείτε (αν όχι όλα, να το θέσουμε έτσι: εμάς με αυτά + δουλεύει άψογα):\ + \ + Loadable Module Support\ + Loadable module support = YES\ + Version Information on all symbols = YES\ + Kernel demon support = NO (αυτό παίζεται και αν το θέλετε)\ + \ + \ + Networking Options\ + Network Firewalls = YES\ + Network Aliasing = YES\ + TCP/IP Networking = YES\ + IP: forwarding = YES\ + IP: multicastiong = YES\ + IP: syn cookies = YES\ + IP: rst cookies = YES\ + IP: firewalling = YES\ + IP : packet logging = YES\ + IP : masq = YES\ + \ + Protocol Specific masq modules\ + IP: ipautofw masq = YES\ + IP: ICMP masq = YES\ + IP: transparent proxy support = YES\ + IP: always defrag = YES\ + IP : accounting = YES\ + IP : optimize as router = YES\ + \ + +**ΟΚ. Τώρα τι κάνω:** + +Αν είναι να το ξεκινήσω χειροκίνητα, γράφω τα εξής: + +- ipfwadm -F -p deny (δηλαδή δεν πρόκειται να προωθούμε πακέτα πλεόν με διαφορετικές διευθύνσεις δικτύων από αυτές που έχει το μηχάνημά μας) +- ipfwadm -F -a m -S 10.0.0.0/0 -D 0.0.0.0/0 (εδώ τι λέμε: Θα κάνω modification στα forwarding rules που μέχρι τώρα όρισα, δηλάδη μόνο την παραπάνω εντολή και + θα επιτρέψω το forwarding πακέτων από το εσωτερικό μου υποδίκτυο 10.0.0.0 και για όλα τα 255 IPs 10.0.0.1 - 10.0.0.255 προς οπουδήποτε θέλουν να πάνε. + Επειδή δεν έχω πάνω από δυο κάρτες δεν θέλω τιποτα άλλο) + +Αν θελω το κανω και scriptακι να ξεκινάει αυτοματα: + + #!/bin/sh + PATH=/usr/local/bin; export PATH + # Αυτο το θέλω γιατι εκει ειναι το δικό μου ipfwadm. + #Εσεις κάντε whereis ipfwadm και βάλτε το δικο σας + ipfwadm -F -p deny + ipfwadm -F -a m -S 10.0.0.0/0 -D 0.0.0.0/0 + +Το σώζω σαν π.χ. /etc/rc.d/rc.masq\_rules (αντε και chmod 755 /etc/rc.d/rc.masq\_rules) + +και μετά παω π.χ. στο /etc/rc.d/rc.local και στο τέλος του προσθέτω και: + +/etc/rc.d/rc.masq\_rules + +**Στα εσωτερικά PCs, τι κάνω εκεί;** + +Εστω windows 95 PCs. Δινω IP του τύπου 10.0.0.x (2\<=x\<=254). Για DNS και δίνω το DNS μας (αν το Linux εκτελεί χρέη DNS δώστε αυτό, αλλοιώς δώστε του provider +σας.). Στο Gateway δίνω 10.0.0.1 (να φέυγουν τα πακέτα μέσω του Linux). + +Αρχικά είσαστε έτοιμοι (αν είσαστε με dialup μένει να συνδεθείτε μέσω Linux όπως κάνατε πάντα) και τα PCs μπορούν επίσης να βλέπουν Internet παράλληλα με εσας. +Εντυπωσιακο, πρακτικο, λειτουργικο, κομψο και γρηγορο. Τέλος. + +**Όμως, αυτό λύνει το Internet Browser κομμάτι κλπ. Τι γίνεται με περιπτώσεις όπως το ftp?** + +Καλή ερώτηση , την περιμέναμε. Μέχρι τώρα δεν είναι αναγκαστικό να μπορούν και τα PCs να κάνουν ftp προς τον έξω κόσμο με επιτυχία. Από το Linux, δώστε + + insmod ip_masq_ftp (για ftp) + insmod ip_masq_raudio (για να ακούν και τα PCs real audio) + insmod ip_mas_irc (για να έχετε και το IRC σας, θα πέσει φωτιά να μας κάψει!) + +Για πιο σύνθετα προβλήματα, όπως να περνάει ICQ, CUSEEME κλπ. δεν υπάρχουν έτοιμα modules (τουλάχιστον όταν εμείς κοιτάγαμε αυτο το θέμα) και θα καταφύγετε στην +χρήση της εντολής ipautofw (που κάναμε πιο πάνω include στον kernel μας). Μονο που επειδή θέλει settings\...άλλη φορά. + +Το παραπανω ειναι πολυ γενικο και χοντροκομμενο. Finetunnings μπορουν να γινουν (και μερικες φορες πρεπει) στην περιπτωση που θελουμε να κανουμε forwarding μονο +σε μερος του δικτυου μας η σε συγκεκριμενα IPs, εχουμε πανω απο δυο καρτες δικτυου, θελουμε τα εσωτερικα PCs να ειναι προσπελασιμα απο τους εξω (γιατι; γιατι; +αφου ειναι επικινδυνο) κλπ. Δεν θα ασχοληθουμε, να τα βρειτε μονοι σας, αλλωστε ουτε εμεις τα ξερουμε σε μεγαλο βαθος :-) + +Επισης αν δε δουλεψει, μαλλον κατι ξεχασαμε έξω. Πειτε μας να το συμπεριλαβουμε. + +Τυφλοσουρτι για mail server, DNS server κλπ ισως ακολουθησει\... diff --git a/content/articles/05/06_xisp.md b/content/articles/05/06_xisp.md new file mode 100644 index 0000000..789c761 --- /dev/null +++ b/content/articles/05/06_xisp.md @@ -0,0 +1,53 @@ ++++ +title = 'Οδηγίες για το XISP' +date = '1998-06-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης' +issue = ['Magaz 05'] +issue_weight = 6 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Οι οδηγίες που ακολουθούν προϋποθέτουν ότι έχετε συνδέσει το modem, και λειτουργεί. Απαραίτητη είναι επίσης η υποστήριξη PPP από το λειτουργικό σύστημα, καθώς +και το πρωτόκολλο TCP/IP. Επίσης θεωρούμε ότι έχει γίνει σωστά compiled το XISP, και δεν ασχολούμαστε καθόλου με αυτό. Ασχολούμαστε μόνο με τις ρυθμίσεις που +χρειάζονται.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +![](/05/img/xisp1.png) + +Από την κεντρική οθόνη του X-ISP επιλέγετε Options - \> ISP Selection. Πατάτε το κουμπί Add και δίνετε ένα όνομα. Έτσι μπορείτε να προσθέσετε ISPs ή αλλιώς, +συνδέσεις.\ +Συμπληρώνετε τα πεδία αριθμού τηλεφώνου (Phone No(s)), κωδικού χρήστη (Account name) και κωδικού πρόσβασης (Password) με αυτά που σας δόθηκαν από τον ISP. Ως +πρωτόκολλο πιστοποίησης (Authentication protocol) επιλέξτε αυτό που σας είπαν από τον ISP που έχετε σύνδεση. + +![](/05/img/xisp2.png) + +Πατήστε Ο.Κ. Από την κεντρική οθόνη όπου επιστρέψατε, επιλέξτε Options -\> Dialing and login. Στην επιλογή χειροκίνητης σύνδεσης (Manual login) επιλέξτε το Ναι +ή Όχι (Yes ή No) ανάλογα με τον ISP σας. Αν επιλέξετε Ναι, μπορείτε να \"αυτοματοποιήσετε\" αρκετά τη σύνδεση, βάζοντας τον υπολογιστή σας να κάνει όλη τη +δουλειά, χρησιμοποιώντας τα πεδία Expect και Send για να γράψετε τα στοιχεία που στέλνει και περιμένει ο ISP από εσάς. Αν πάλι επιλέξετε Όχι, πάει να πει ότι η +σύνδεσή σας είναι ήδη αυτοματοποιημένη -)\ +Στο ISP server will call back, νομίζω ότι είναι ασφαλές να βάλετε όχι, αφού δεν ξέρω κανέναν server στην Ελλάδα που να το υποστηρίζει. + +![](/05/img/xisp3.png) + +Στην επιλογη Options -\> Communication options, βάζετε ρυθμίσεις σχετικές με το modem σας. Αν δεν ξέρετε τι να γράψετε, δώστε προσοχή τουλαχιστον στα Device, +init και Baud rate. + +![](/05/img/xisp4.png) + +Τέλος, επιλέγετε Options -\> TCP/IP Options, και συμπληρώνετε τα πεδία όπως σας είπαν πάλι από τον provider με τον οποίο έχετε σύνδεση. Αρκετά συνηθισμένες +είναι οι ακόλουθες ρυθμίσεις: + +![](/05/img/xisp5.png) + + Dynamic local address: Yes + Dynamic remote address: Yes + Add default route: Yes + Support ip-up/ip-down: Yes + Primary DNS Server: χχχ.χχχ.χχχ.χχχ + Secondary DNS Server: ΥΥΥ.ΥΥΥ.ΥΥΥ.ΥΥΥ + +Πατώντας το Ο.Κ. επιστρέφετε στην κεντρική οθόνη από την οποία μπορείτε να συνδεθείτε με το κουμπί Connect. + +Στο επόμενο τεύχος, θα προσπαθήσουμε να έχουμε \"ειδικές\" ρυθμίσεις, για κάθε έναν από τους γνωστούς providers. diff --git a/content/articles/05/07_mailbox.md b/content/articles/05/07_mailbox.md new file mode 100644 index 0000000..c88da9c --- /dev/null +++ b/content/articles/05/07_mailbox.md @@ -0,0 +1,244 @@ ++++ +title = 'Αλληλογραφία' +date = '1998-06-01T00:00:00Z' +description = '' +author = '' +issue = ['Magaz 05'] +issue_weight = 7 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Από αυτό το τεύχος, αλλάζει η τακτική της αλληλογραφίας. Δεν θα δημοσιεύονται όλα τα γράμματα. Θα δημοσιεύονται μόνο τα γράμματα που απαντήθηκαν, και η ερώτησή +τους (και η απάντηση προφανώς) μπορέί να ενδιαφέρουν και άλλους -) Αυτό γίνεται για να λυθεί το πρόβλημα χρόνου που υπάρχει (η μεταγραφή των e-mail σε ελληνικά, +καθώς και η εύρεση των e-mails μέσα από το χαμό των mailboxes είναι αρκετά χρονοβόρες διαδικασίες). Ζητάμε συγνώμμη από όσους δεν απαντήσαμε. Είτε δεν ξέραμε +την απάντηση (ε, μόνο guru που δεν θεωρούμαστε!!!), ή δεν ήμασταν σίγουροι και ήταν πολύ σοβαρό το θέμα (ο φίλος με το rm -r θα καταλάβει για τι θέμα μιλάμε), ή +τέλος, δέν είχαμε χρόνο. Προσπαθούμε πάντως να μην σας αφήνουμε παραπονεμένους -)* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Cyrix και RedHat 5.0** +----------------------------------------------------- + +**2. Ελληνικοί χαρακτήρες** +----------------------------------------------------- + +**3. Απορία - προγράμματα** +----------------------------------------------------- + +**4. Πρόβλημα - X11 και S3** +------------------------------------------------------ + +**5. Linux και Fat32** +------------------------------------------------ + +**6. Δεν μπορώ να κάνω RCP** +------------------------------------------------------ + +**7. Loadlin** +---------------------------------------- + +**8. AMD K6 και Linux** +------------------------------------------------- + + +### [1. Cyrix και RedHat 5.0]{#s1} + +Από : [Ανώνυμος](mailto:vagelist@usa.net) + +Απάντηση : [Γιώργος Κεραμίδας](mailto:keramida@ceid.upatras.gr) + +Η ερώτηση που έχω να κάνω,ίσως σας φανεί χαζή!  + +*Καμία ερώτηση δεν είναι χαζή. Δεν γεννιέται κανένας που να τα ξέρει όλα. Όλοι μετά μαθαίνουν\... ρωτώντας!* + +Χαζεύοντας κάποιες διανομές του LINUX σε ένα κεντρικό κατάστημα, παρατήρησα ότι σε ορισμένες έγραφε το χαρακτηριστικό INTEL. Δηλ. αυτές οι διανομές δεν τρέχουν +σε άλλο επεξεργαστή;Αν ισχύει κάτι τέτοιο ,λόγω του ότι έχω έναν CYRIX 166,μπορώ να τρέξω το RED HAT 5.0; + +*Κοίτα, το Linux είναι αυτή την στιγμή το μοναδικό ίσως λειτουργικό που τρέχει σε μια μεγάλη ποικιλία επεξεργαστών. Πληροφοριακά αναφέρω τους:* + +1. Intel x86 και συμβατούς από 386 και πάνω +2. Digital Alpha/AXP +3. MIPS +4. Sparc +5. PowerPC + +*και αν θυμάμαι καλά υπάρχει και ένα μικρό linux-like kernel που τρέχει σε 8-bit επεξεργαστές!!!\ +Αυτό που είδες, λοιπόν, ήταν ένα distribution με εκτελέσιμα προγράμματα για Intel επεξεργαστές και συμβατούς (Cyrix, AMD, κτλ.) Άρα παίρνεις αυτό το +distribution και το στήνεις χωρίς φόβο στο Cyrix σου.* + + +### [2. Ελληνικοί χαρακτήρες]{#s2} + +Από : [Αβραάμ Γεωργιάδη](mailto:avraam@cytanet.com.cy) + +Απάντηση : [Γιώργος Κεραμίδας](mailto:keramida@ceid.upatras.gr) + +Αγαπητέ κύριε,\ +Όταν κάνω download τις σελίδες του περιοδικού σας, τα γράμματα που εμφανίζονται στην οθόνη του computer μου είναι ακαταλαβίστικα (δεν διαβάζονται). Πως μπορώ να +διορθώσω αυτό το λάθος; + +*Οι προϋποθέσεις για να δει κάποιος τα ελληνικά του Magaz είναι μόνο δύο και λυνονται σχετικά απλά:* + +1. Πρέπει να υπάρχουν ελληνικές γραματοσειρές στο σύστημα, και +2. Πρέπει ο WWW-browser να \"δείχνει\" ελληνικά, που το επιλέγει κανείς με τα μενού του browser συνήθως. Π.χ. στο Netscape ειναι το menu View \| Document + Encoding \| Greek (Windows 8859-7). + +*Ελληνικές γραμματοσειρές υπάρχουν για πολλά λειτουργικά συστήματα στο directory* + + ftp://ftp.ntua.gr/pub/fonts/ + + +*Εγώ στο σπίτι μου στα X-Windows γραμματοσειρές από κει έχω στησει.\ +Ελπίζω να βοήθησα κάπως\...* + + +### [3. Απορία - προγράμματα]{#s3} + +Από : [Χρήστος Κλουκίνας](mailto:kloukin@compulink.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Γεια σας. Πρώτα απ\' όλα συγχαρητήρια για την προσπάθειά σας. Θα ήθελα να σας ρωτήσω μερικά πράγματα σχετικά με το Linux. μήπως γνωρίζετε εάν υποστηρίζει τα : + +1\) Internet phone + +*Το Internet phone, ως πρόγραμμα, όχι.\ +Αντίστοιχα:\ +http://www.wpi.edu/ murti/work.html Ethernet phone και\ +http://www.ssc.com/ roland/work/xztalk.html XZtalk\ +http://www.inria.fr/rodeo/fphone/ FreePhone* + +2\) Java (stand-alone programs, not applets run through Netscape, etc) + +*Enable support for Java Binaries (από τον kernel) Αν δεν το ξέρεις, είναι το μόνο O/S που υποστηρίζει απευθείας java binaries (δηλαδή δνε χρειάζεται να γράψεις +\"java myclass.class\" για να εκτελέσεις το myclass.class, αλλά μπορείς απλά να κάνεις το myclass.class executable, και να το τρέξεις. Χαρακτηριστικά +παραδείγματα τα GetRight for Java και ICQ for Java.* + +3\) DVD devices & MPEG-4 + +*Για DVD δεν ξέρω. Αν μάθεις κ\'άτι, ενημέρωσέ μας\...\ +Για mpeg3\ +http://www.mpeg3.com/programs/\ +http://adam.kaist.ac.kr/ jwj95/\ +Mpeg 4 δεν ήξερα καν ότι υπήρχε\...* + +4\) CD-RW devices + +*Και βέβαια, για το ποια υποστηρίζονται, κοίτα κοίταξε το :\ +http://gnupln8.gnuplanet.com/cdwrite/ (αν και απ\' ότι ξέρω, υποστηρίζονται και άλλα). Για software, κοίταξε και το :\ +http://www.fh-muenchen.de/rz/xcdroast.* + +5\) CD (audio) construction (δηλαδή αντιγραφή μουσικών CD\... ;) + +*cdda2wav, cdparanoia κλπ :\ +http://www.mit.edu/afs/sipb/user/xiphmont/cdparanoia/index.html* + +Αν έχετε υπόψη σας σχετικά προγράμματα, urls, κλπ θα σας ήμουν ευγνώμων εάν με ενημερώνατε. + +*Ελπίζω αυτά να σου φτάνουν. Πάντως, γενικά καλή πηγη πληροφοριών είναι το site:\ +http://www.xnet.com/ blatura* + + +### [4. Πρόβλημα - X11 και S3]{#s4} + +Από : [Μπαλαλή Χαράλαμπο](mailto:kloukin@compulink.gr) + +Απάντηση : [Γιώργος Κεραμίδας](mailto:keramida@ceid.upatras.gr) + +Έχω ένα πρόβλημα με τον xserver του linux.\ +Έχω κατεβάσει τον driver για την κάρτα γραφικών μου, την s3virge 2300 diamond αλλά ενώ την αναγνώρισε και μου φόρτωσε τελικά τα X windows σε καλύτερη ανάλυση, +μου τα φορτώνει μόνο σε μία 1600 X 1200 (virtual) και αυτό γιατί δεν έχω τα modelines της κάρτας για να τα βάλω στο αρχέίο.\ +Μήπως υπάρχει κανένας τρόπος να λυθεί αλλιώς αυτό το πρόβλημα; + +Ευχαριστώ + +*Ποια X11R6 χρησιμοποιείς;\ +Αν χρησιμοποιείς τα XFree86, ποια έκδοση είναι;\ +Γιατί στα XFree86 3.3.2 το προγραμματάκι XF86Setup που έρχεται μαζί τους είναι πολυ εύκολο στη χρήση και έχει ειδικό option για απενεργοποίηση του \"virtual\" +desktop.\ +Από την άλλη, πάντα μπορείς να πειράξεις το /etc/XF86Config αρχείο με το χέρι και να βγάλεις το \"Virtual HORIZxVERT\" από παντού, και το startx θα ξεκινάει +κανονικά στο default mode του color-depth σου.\ +Αν όλα αυτά που ακούς σου ακούγονται λίγο προς κινέζικα, διάβασε το manual του XF86Config (\`man XF86Config\'), είναι μια καλή ευκαιρία.* + + +### [5. Linux και Fat32]{#s5} + +Από : [Γιώργο Τσαρμπόπουλο](mailto:gtsar@ath.forthnet.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Πολλή καλή η δουλεια που κανετε. Μια ερωτηση μονο. Υπαρχει ή προβλεπεται να υπάρξει εκδοση του linux που να υποστυριζει fat32? + +*Ευχαριστούμε για τα καλά σου λόγια. Linux που να υποστηρίζει Fat32, δεν υπάρχει ακόμα. Αυτό με την εξής έννοια: Δεν έχει βγει ακόμα kernel που να έχει +ενσωματωμένη υποστήριξη για fat32. Από τον kernel 2.0.27 και μετά, υπάρχει ένα patch, στηγ διεύθυνση \ +Επίσης, ακούγεται ότι ο kernel 2.0.34 θα το έχει ενσωματωμένο. (αλλά αυτό ακουγόταν και για τον 2.0.33, και τον 2.0.32).\ +Δεν ξέρω για τους μη σταθερούς kernels, της σειράς 2.1.xx, αλλά αν έχεις τέτοιο kernel, θα σου πρότεινα να κάνεις λίγη υπομονή. Απ\' ότι φαίνεται, σε λίγο +βγαίνει ο 2.2.0* + + +### [6. Δεν μπορώ να κάνω RCP]{#s6} + +Από : [Κωστή Μεντζελό](mailto:mentzelos@lycosmail.com) + +Απάντηση : [Γιώργος Κεραμίδας](mailto:keramida@ceid.upatras.gr) + +Καλημέρα, καταρχήν διαβασα τα τευχη του magaz και τα βρήκα παρα πολύ καλά. Ειδικά το άρθρο για τον HP720. Κάποτε πούλησα έναν lexmark για τον ίδιο λόγο. Λοιπόν +το προβλημα μου είναι το εξής:\ +Δεν μπορώ με τίποτα να κάνω rcp. + + πχ: rcp lll linuxbox:/tmp/lll + permission denied. + +Οτι και να έχω κάνει, ότι και να έχω διαβάσει δεν εχω βρει λύση. Στο hosts.equiv γράφω τα εξής: + + linuxbox + +και στο hosts δηλώνω 171.0.0.1 linuxbox\ +Δηλαδή, telnet linuxbox λειτουργεί κανονικά. + +*Σε μερικά συστήματα οι administrators απενεργοποιούν τα RSH/RCP γιατί είναι πολυ εύκολο ένας αρκετά επιτήδειος χρήστης τους να εκτελέσει εντολές είτε στο +local\' είτε στο \`remote\' μηχάνημα σαν superuser\'.\ +Δοκίμασε το πιο νέο SSH/SCP που υποστηρίζει και κρυπτογραφία και το προτιμούν οι administrators. Χωρίς παρόλα αυτά και το SSH/SCP να έχει αποδειχτεί +unbreakable\'.* + + +### [7. Loadlin]{#s7} + +Από : [Ισαάκ Τσαλίκογλου](mailto:alfisti64@mailexcite.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Τι παραμέτρους πρέπει να γράψω στο loadlin για να φορτώσω το redhat 5 αν βρίσκεται στο hdb και root είναι το hdb1 ;\ +Ευχαριστώ + +*Φαντάζομαι ότι θα υπάρχει και πιο εύκολος τρόπος, αλλά εγώ αυτόν ξέρω:\ +α) Παίρνεις το FSDEXT2 από το και το εγκαθιστάς στα win95.\ +β) Κάνεις mount το /dev/hdb1 κάτω από τα windows, και αντιγράφεις το αρχείο /vmlinuz στο directory του loadlin.\ +γ) Δίνεις την εντολή (από το directory του loadlin)\ +./loadlin root=/dev/hdb1 ./vmlinuz\ +δ) Καλή τύχη.* + + +### [8. AMD K6 και Linux]{#s8} + +Από : [Wave](mailto:wave013@hempseed.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Γεια σας,\ +Είμαι ένας νέος linux χρήστης και από τότε που το έβαλα (πριν 5 μέρες περίπου) δεν ξεκολάω εύκολα από το PC.\ +Εγκατέστησα το Netscape και κάθε φορά αφού το ξεκινήσω μετά από λίγο κολάει. Κολάει όταν ψάχνει ένα site και είμαι εκτός internet (δεν έχω καταφέρει να συνδεθώ +ακόμα), κολάει όταν αλλάζω κάτι στα properties και γενικά κολάει όλη την ώρα. Αυτό δεν είναι φυσιολογικό, έτσι; Ούτε τα win95 δεν κολάνε τόσο πολύ. + +*Είναι φυσιολογικό :-( Δεν ψάχνει να βρει το site, και δεν κολάει. Καθυστερεί γιατί ψάχνει να βρει τον Name server. Μετά από λίγο πρέπει να επανέλθει\...* + +Μου είπαν ότι μπορεί να είναι πρόβλημα το ότι έχω AMD K6 (200). Επίσης έσω 16MB RAM. Αληθεύει αυτό, πως δηλαδή το linux έχει πρόβλημα με τον K6 ; Υπάρχει κάτι +που μπορώ να κάνω (εκτός του να πάρω Intel) ; + +*Από ότι έχω ακούσει, ο K6 δεν έχει πρόβλημα με Linux :-)* + +P.S. Το linux δεν κολάει, μόνο το Netscape. Όταν κάνω kill στο netscape συνεχίζω κανονικά. + +*Όπως λέγαμε και πιο πάνω\...* + diff --git a/content/articles/06/01_editorial.md b/content/articles/06/01_editorial.md new file mode 100644 index 0000000..8e53be3 --- /dev/null +++ b/content/articles/06/01_editorial.md @@ -0,0 +1,30 @@ ++++ +title = 'Editorial' +date = '1998-07-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης' +issue = ['Magaz 06'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Τεύχος καλοκαιρινό αυτό\... Ελπίζουμε να σας γεμίσει \"σκέψεις\" για τις διακοπές. Κατά την παράδοση των έντυπων περιοδικών, φαίνεται αυτό το τεύχος να έχει +διπλή ημερομηνία :-)* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Σε αυτό το τεύχος, υπάρχει η συνέχεια του άρθρου για το XISP που υπήρχε στο προηγούμενο. Έχουμε πλέον [ρυθμίσεις για τους μεγαλύτερους +providers](05_xisp2.html), ή τουλάχιστον έτσι νομίζουμε. Ρίξτε του μια ματιά και πείτε μας αν λείπει ο δικός σας. + +Υπάρχει επίσης ένα άρθρο για [τις ρυθμίσεις των modelines των monitors στα Χ](06_monitors.html). Αν μέχρι τώρα δεν βλέπατε καλά, ήρθε η ώρα αυτό να διορθωθεί. + +Η [Linux zone](02_lz3.html) είναι βέβαια εδώ, με σκοπό να σας λύσει τα προβλήματα που πιθανόν έχετε με το Laptop σας. + +Και για τα προβλήματα με τις [γραμματοσειρές](03_greekfonts.html), ε, καιρός ήταν να ασχοληθεί κάποιος σοβαρά. Το έκανε λοιπόν ο Ευθύμιος Μαυρογεωργιάδης. +Τιμητική η θέση που του προσφέρει το Magaz αυτό το μήνα, και ευχόμαστε να τον μιμηθείτε σύντομα. + +Το μάθατε ότι ήρθαν τα Windows 98; Εμείς το μάθαμε, και όχι απλώς το μάθαμε, αλλά τα δοκιμάσαμε κιόλας!!! [Ιδού τα αποτελέσματα](04_w98.html) + +Και βέβαια, δεν θα μπορούσε να λείπει η [στήλη της αλληλογραφίας](07_mailbox.html). Εσείς μας γράφετε, κι εμείς\... + +Καλή ανάγνωση, καλό καλοκαίρι και ραντεβού τον Σεπτέμβρη - Οκτώβρη. diff --git a/content/articles/06/02_lz3.md b/content/articles/06/02_lz3.md new file mode 100644 index 0000000..1f57b8e --- /dev/null +++ b/content/articles/06/02_lz3.md @@ -0,0 +1,66 @@ ++++ +title = 'Linux Zone' +date = '1998-07-01T00:00:00Z' +description = '' +author = 'Παναγιώτης Βρυώνης' +issue = ['Magaz 06'] +issue_weight = 2 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το Linux Zone είναι μία στήλη που σκοπό της έχει να παρουσιάζει μερικές από τις εμπειρίες μου στον χώρο του Linux.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Ένα από τα πράγματα που ζήλευα πάνατα ήταν οι διάφοροι τύποι που έβλεπα κατά καιρούς να γυρνάνε από δώ και από κει με έν laptop. Τα πράγματα ήρθαν βολικά και +μπόρεσα και εγώ να αποκτήσω ένα\... Μοντέλο HiNote VP717 της Digital, ένα πραγματικά πολύ ωραίο μηχάνημα. + +Με το που έκανα την πρώτη εκκίνησή του, εγκατέστησε τα Windows95, που αποφάσισα να κρατήσω σε ένα partition ώστε να μπορώ αν χρειαστεί να ανοίξω κάποια κείμενα +στο Word κ.λ. + +Το θέμα βέβαια ήταν να μπεί Linux στο μηχάνημα και την εγκατάσταση απλοποίησε λίγο το γεγονός ότι ο 2.1GB σκληρός δίσκος ήταν ήδη χωρισμένος σε 2 partitions, +στο ένα είχαν ήδη καθίσει τα Windows95 και το άλλο ήταν κενό. Έβαλα το CD του RedHat 5.1 (όχι το official, αλλά από ένα άγγλο διανομέα που ονομάζεται Genesis) +και επανεκίνησα το μηχάνημά μου\... Έκανε boot από το CD και ξεκίνησα την διαδικασία εγκατάστασης. Ένα μικρό repartitioning του δίσκου για να έχω το root +directory, το /usr/local και το swap σε διαφορετικά partitions και όλα έδειχναν να πηγαίνουν τέλεια, μέχρι που το installation με ενημέρωσε ότι θα +χρησιμοποιήσει τον XF86\_VGA16 X Server!!! + +Δεν είναι δυνατόν! Με 2MB RAM στην κάρτα γραφικών (που απέδιδε πολύ καλά στα Windows) και θα αναγκαζομουν να δουλεύω σε 640x480 και 16 χρώματα; Δεν μπορεί, κάτι +δεν κάνω σωστά, σκέφτηκα. Πίσω στον παλιό καλό 486, σύνδεση στο Internet και αναζήτηση για Linux και Neomagic (ο κατασκευαστής του chipset του συστήματος +γραφικών). Τότε ήταν που τα χρειάστηκα: το πρώτο πράγμα που βρήκα ήταν μία σελίδα που έλεγε ότι η Neomagic είναι από τις λίγες εταιρείες που δεν δίνουν στην +δημοσιότητα τις απαραίτητες λεπτομέρειες για να φτιαχθεί ένας X Server που να είναι συμβατός με το chipset της!!! Δεν ήταν δυνατόν, την είχα πατήσει τόσο +άσχημα; + +Τελικά η ιστορία επαναλαμβάνεται (βλ. HP720C στο LZ του Απριλίου). Στην διεύθυνση βρήκα ένα \"πειραγμένο\" XF86\_SVGA +που μπορεί να μην χρησιμοποιεί όλες τις δυνατότητες της κάρτας, της επιτρέπει όμως να λειτουργεί σε 800x600 με 16bit χρώμα που εμένα μου είναι ικανοποιητικό. +Δίδαγμα: πρίν αγοράσετε laptop (όπου δεν έχετε την δυνατότητα να αλλάξετε κάρτα οθόνης) επισκευθείτε το www.xfree.org και σιγουρευτείτε ότι δεν θα έχετε +παρόμοια προβλήματα! Ακόμη, ρίξτε μία ματιά στο για να δείτε αν κάποιος άλλος έχει εγκαταστήσει Linux στο +μηχάνημα που θέλετε να αγοράσετε - τα φορητά έχουν ένα σωρό ιδιορυθμίες που δεν αποκλείεται να σας δημιουργήσουν προβλήματα. + +Ευτυχώς, εγώ δεν αντιμετώπισα τίποτα άλλο ιδιέταιρο, τα πάντα πήγαν ρολόι, ακόμη και η PCMCIA κάρτα fax/modem (ActionTec DataLink 33.6Kbps) βρέθηκε αυτόματα +κατά την επανεκίνηση. Ένα rebuilt του kernel (τί γρήγορα που γίνεται στον 200MMX!) μου επέτρεψε να κλείνω το καπάκι και να μπαίνει σε suspend mode το Linux και +εγώ είμουν ένας ευτυχισμένος χρήστης\... Μόνο η κάρτα ήχου δεν παίζει, μάλλον όμως φταίω εγώ, θα το ψάξω αργότερα το θέμα. + +Αφού έβαλα και το KDE Beta4 (τώρα που γράφω το άρθρο έχει βγεί το Version1-preview) και το GNOME 0.20 (που αν και δείχνει να έχει εντυπωσιακό μέλλον βρίσκεται +πολύ πίσω από το KDE) ξεκίνησα να εγκαταστήσω ελληνικά. + +Ο Δημήτρης Μπούρας μου είχε δώσει να δω το νέο grISOXKb (version1.2). Δουλειά ολοκληρωμένη και προσεγμένη μέχρι τελευταίας λεπτομέρειας, αρκούσε ένα απλό +`make install-R6.3` και τα ελληνικά μπήκαν στα X-Windows!!! Βέβαια, χρειάστηκε να αλλάξω και το XF86Config λίγο, πάντα σύμφωνα με +τις οδηγίες που περιέχονται στο πακέτο, ήταν δεν ήταν ένα λεπτό υπόθεση. Έκλεισα τον X Server και τον ξαναανέβασα. +`xedit -fn fixedgr` για δοκιμή (ναι, έχω βάλει και ελληνικές γραμματοσειρές\...) και μπορώ να γράφω ελληνικά! Δοκιμή και στο kedit +του KDE και\... η απογοήτευση\... Όταν πατάω το alt αντί για ελληνικά, βλέπω (ή μάλλον δεν βλέπω) ΤΙΠΟΤΑ. + +Το ψάξιμο που κράτησε περίπου δύο εβδομάδες πήρε μορφή μανιώδους αναζήτησης, αφού εκτός των άλλων ο Ευριπίδης μου έστελνε απειλητικά μυνήματα ότι θα +εγκαταστήσει Windows για να προχωρήσει με την μετάφραση των HOWTOs (ο Ευριπίδης και η Βούλα το έχουν πάρει πατριωτικά το θέμα). Τελικά η λύση βρέθηκε και είχε +σχέση με την glibc που χρησιμοποιείται από την RedHat. Απλά προσθέστε στο .bashrc τις παρακάτω γραμμές: + + export LANG=gr_GR + export LC_ALL=gr_GR + _XKB_CHARSET=iso8859-7 + +Τώρα ΟΛΑ δούλευαν σωστά. Αφού μπόρεσα και κατάλαβα τα \"ενδότερα\" της εγκατάστασης που γίνεται από το grISOXKb κάθησα και προσπάθησα να φτιάξω ένα RPM. Ίσως +και να μην είναι τόσο απαραίτητο, νομίζω όμως ότι βασικά πράγματα όπως η ενεργοποίηση του ελληνικού πληκτρολογίου και μερικές ελληνικές γραμματοσειρές πρέπει να +εγκαθίστανται εντελώς αυτόματα και χωρίς καμία απαίτηση από τον χρήστη. Τα αποτελέσματα θα τα βρείτε στο το +XF-GreekKBD.noarch.rpm βάζει ελληνικά και το XF-GreekFNTS.noarch.rpm αρκετές ελληνικές γραμματοσειρές που βρήκα στο internet. Προς το παρόν, το FNTS δεν +μπορείτε να το κατεβάσετε, γιατί δεν έχω συμπεριλάβει σε αυτό τα απαραίτητα αρχεία που να δηλώνουν που βρήκα την κάθε γραμματοσειρά (και τον δημιουργό της), +κάτι που είναι απαραίτητο\... Σύντομα όμως αυτό θα διορθωθεί. Αν τα δοκιμάσετε, στείλτε μου ένα e-mail για να μου πείτε το distribution στο οποίο τα +εγκαταστήσατε καθώς και πιθανά προβλήματα που παρουσιάστηκαν. diff --git a/content/articles/06/03_greekfonts.md b/content/articles/06/03_greekfonts.md new file mode 100644 index 0000000..4565a34 --- /dev/null +++ b/content/articles/06/03_greekfonts.md @@ -0,0 +1,180 @@ ++++ +title = 'Προσθέτοντας γραμματοσειρές στο StarOffice (και όχι μόνο)' +date = '1998-07-01T00:00:00Z' +description = '' +author = 'Ευθύμιος Μαυρογεωργιάδης' +issue = ['Magaz 06'] +issue_weight = 3 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Όταν πριν από έναν χρόνο αποφάσισα να ξεφύγω από τον κόσμο του \"General Protection Fault\" και την γνωστή τριδάχτυλη κίνηση που το ακολουθούσε, εγκατέστησα το +Linux στον υπολογιστή μου επιδιώκοντας να γλυτώσω και νεύρα και χρήμα.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Στην αρχή το σύστημα που ξεκίνησε ο Linus Torvalds κατελάμβανε μόνο ένα μικρό μέρος του σκληρού μου δίσκου. Αυτό που κρατούσε ακόμη το αντίπαλον δέος εν ζωή +ήταν η έλλειψη ενός εύχρηστου πακέτου επεξεργασίας κειμένου για Linux. Το τελευταίο, βέβαια, θα έπρεπε να προσφέρεται και δωρεάν. Τότε ήταν που στις αναζητήσεις +μου ανά το διαδίκτυο ανακάλυψα το StarOffice, ένα πακέτο προγραμμάτων που προσφέρεται δωρεάν για προσωπική χρήση. Η χαρά μου μετριάστηκε όμως όταν προσπάθησα να +βρω πώς θα μπορούσα να εγκαταστήσω ελληνικές και άλλες γραμματοσειρές για χρήση από το StarOffice. Απότοκος των επισκέψεών μου σε διάφορα απίθανα μέρη του +δικτύου προκειμένου να βρω τις πληροφορίες που με ενδιέφεραν είναι το παρόν αρθρίδιο (όπως λέμε υβρίδιο ;-) + +Η εγκατάσταση γραμματοσειρών στο StarOffice είναι λίγο προβληματική καθώς δεν υπάρχει κάποιο πρόγραμμα που να την αυτοματοποιεί. Επιπλέον, επειδή το StarOffice +τρέχει κάτω από περιβάλλον X-Windows και χρησιμοποιεί Ghostscript για τις εκτυπώσεις των αρχείων του, πρέπει οι γραμματοσειρές τις οποίες θέλουμε να +χρησιμοποιήσουμε να είναι διαθέσιμες όχι μόνο στο StarOffice αλλά και στα X-Windows και στη Ghostscript. Πρέπει ακόμη να σημειωθεί ότι το StafOffice μπορεί να +διαβάζει μόνο γραμματοσειρές τεχνολογίας Type-1 (.pfa και .pfb). Για να περιπλακούν μάλιστα τα πράγματα περισσότερο, οι τελευταίες μπορούν να απεικονιστούν +σωστά επί της οθόνης μόνο αν συνοδεύονται από μία ιδιάζουσα μορφή αντίστοιχου αρχείου .afm. Όσο παράξενα ακούγονται όλα αυτά, τόσο εύκολη είναι η εγκατάσταση +αυτή καθ\' αυτή ;-) Απλώς ακολουθήστε προσεκτικά τα παρακάτω βήματα έτσι ώστε οι γραμματοσειρές που θέλετε να εγκαταστήσετε να είναι διαθέσιμες και στα +X-Windows και στη Ghostscript αλλά, φυσικά, και στο StarOffice: + +**1. Προετοιμασία γραμματοσειρών για χρήση από το StarOffice** +------------------------------------------------------------------------------------------- + +**2. Εγκατάσταση των καινούριων γραμματοσειρών στα X-windows** +------------------------------------------------------------------------------------------- + +**3. Εγκατάσταση των καινούριων γραμματοσειρών στη Ghostscript** +--------------------------------------------------------------------------------------------- + +**4. Εγκατάσταση των καινούριων γραμματοσειρών στο StarOffice** +-------------------------------------------------------------------------------------------- + + +### [1. Προετοιμασία γραμματοσειρών για χρήση από το StarOffice]{#s1} + +1. Αποσυμπίεσε το αρχείο με τις καινούριες γραμματοσειρές σου σε κάποιο υποφάκελο, π.χ. /fonts/greek. + +2. Διάγραψε οποιαδήποτε παραπανίσια αρχεία υπάρχουν (π.χ. README, .afm, .ttf, και δεν ξέρω εγώ τι άλλο) αφήνοντας μόνο τα .pfb ή .pfa αρχεία που περιέχονται + στο /fonts/greek. (Δεν πειράζει αν δεν διαγράψεις τίποτε, αλλά συνήθως η πληθώρα αρχείων σε κάποιον υποφάκελο μόνο να μας μπερδέψει μπορεί). + +3. Εφόσον έχεις εγκαταστήσει Ghostscript στον υπολογιστή σου, πρέπει να έχει ήδη εγκατασταθεί και κάποιο πρόγραμμα γνωστό ως printafm (αν δεν βρίσκεις τίποτε + τέτοιο, προφανώς πρέπει να αναβαθμίσεις την Ghostscript σου στην τελευταία έκδοση). Για κάθε γραμματοσειρά στο /fonts/greek πρέπει να κάνεις: + + printafm font0.pfb > font0.afm + printafm font1.pfb > font1.afm κλπ. + + Έτσι θα δημιουργήσεις τα αρχεία .afm που πρέπει να συνοδεύουν τις γραμματοσειρές σου (αυτά που έρχονται με το συμπιεσμένο αρχείο προτιμώ να τα σβήνω και να + δημιουργώ καινούρια με αυτόν τον τρόπο). + +4. Προσοχή! Τα αρχεία που δημιούργησες δεν μπορούν να χρησιμοποιηθούν από το StafOffice ως έχουν (υπάρχει κάποιο πρόβλημα με τη σειρά με την οποία εμφανίζονται + τα διάφορα δεδομένα). [Πάρε](../files/afm.pl.gz) και αποσυμπίεσε το αρχείο που κάνει την μετατροπή, και τοποθέτησέ το στο /fonts/greek. Έπειτα δημιούργησε + καινούρια αρχεία .afm (τα οποία θα μπορούν να χρησιμοποιηθούν χωρίς πρόβλημα και από όλα τα άλλα προγράμματα που τυχόν θα τα χρειαστούν) δίνοντας τις + παρακάτω εντολές για κάθε αρχείο .afm σε αυτόν τον υποφάκελο (ελπίζω να έχεις εγκατεστημένη την perl στο σύστημά σου): + + perl ./afm.pl font0.afm + rm -f font0.afm + mv font0.afm.new font0.afm + +5. Τώρα πρέπει να δημιουργήσεις τα αρχεία Fontmap, fonts.dir, και fonts.scale. Αυτό το κάνεις με το [type1inst](../files/type1inst.tgz). Απλώς πληκτρολόγησε + type1inst μέσα στο /fonts/greek και το πρόγραμμα θα κάνει τη δουλειά του. + +6. Με κάποιον κειμενογράφο \[editor\] διόρθωσε τη γραμμή 2 των αρχείων .afm ως εξής:\ + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + \ Διορθωμένο + Παλιό + + StartFontMetrics 2.0 StartFontMetrics 2.0 + + `FontName mgpmab__.pfb` FontName MgPolMemApla-Bold + + FullName MgPolMemApla-Bold FullName MgPolMemApla-Bold + + FamilyName MgPolMemApla FamilyName MgPolMemApla + + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + + Απλώς δηλαδή αντίγραψε το FullName στη θέση του FontName.\ + Σημείωση: Το συγκεκριμένο βήμα είναι δική μου προσθήκη (δεν αναφέρεται πουθενά στο διαδίκτυο, απ\' όσο ξέρω) γι\' αυτό δοκιμάστε την εγκατάσταση με και + χωρίς αυτό. Στο δικό μου σύστημα το StarOffice, αν και απεικόνιζε σωστά τις γραμματοσειρές στην οθόνη, δεν τύπωνε σωστά. Μόνο όταν έκανα την παραπάνω αλλαγή + κατάφερα να το κάνω να εκτυπώνει και σωστά. + + +### [2. Εγκατάσταση των καινούριων γραμματοσειρών στα X-windows]{#s2} + +1. Για να βλέπεις τις καινούριες γραμματοσειρές στα X-Windows πρόσθεσε στο .xinitrc τις γραμμές: + + xset +fp /fonts/greek + xset fp rehash + + Αν είσαι super user τότε καλύτερα να προσθέσεις το /fonts/greek απευθείας στο /etc/X11/XF86Config. Ταυτόχρονα, έλεγξε τους υποφακέλους γραμματοσειρών που + υπάρχουν στο /etc/X11/XF86Config και άλλαξε τη σειρά με την οποία τους διαβάζουν τα X-Windows τοποθετώντας πρώτα αυτούς που περιέχουν κλιμακωτές + \[scalable\] (Type-1) γραμματοσειρές και έπειτα αυτούς που περιέχουν γραμματοσειρές τύπου .pcf. + + Επειδή το StarOffice ψάχνει για την κατά περίπτωση ζητούμενη γραμματοσειρά με τη σειρά που αυτές έχουν φορτωθεί, αν φορτωθούν πρώτα οι γραμματοσειρές .pcf + και ζητείται μια γραμματοσειρά η οποία είναι διαθέσιμη και σε .pcf και σε μορφή Type-1, τότε θα επιλεγεί η μη κλιμακωτή \[unscalable\] γραμματοσειρά για την + απεικόνιση του κειμένου στην οθόνη. Κάτι τέτοιο είναι τουλάχιστον αντιαισθητικό αν όχι εκνευριστικό! Πάντως, αν για κάποιο λόγο δεν θέλεις να πειράξεις τη + σειρά με την οποία φορτώνονται οι γραμματοσειρές, τότε μπορείς απλώς να προσθέσεις την ένδειξη \":unscaled\" (χωρίς τα εισαγωγικά) στο τέλος της διαδρομής + \[pathname\] του υποφακέλου όπου υπάρχουν μη κλιμακωτές γραμματοσειρές, π.χ.: + + FontPath "/usr/X11R6/lib/X11/fonts/misc/:unscaled" + FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled" + FontPath "/usr/X11R6/lib/X11/fonts/Type1/" κλπ. + + Αν οι γραμματοσειρές του συστήματός σου φορτώνονται από το αρχείο  /.xinitrc, τότε οι αντίστοιχες αλλαγές εκεί θα έμοιαζαν κάπως έτσι: + + xset +fp /usr/applic/X/lib/fonts/misc:unscaled + xset +fp /usr/applic/X/lib/fonts/75dp:unscaled + xset +fp /usr/applic/X/lib/fonts/Type1 + xset fp rehash + + Σε κάθε περίπτωση οι οποιεσδήποτε αλλαγές θα πρέπει να γίνουν και στα δύο αρχεία (/etc/X11/XF86Config και  /.xinitrc). Προσωπικώς, στον δικό μου υπολογιστή + έχω αλλάξει τη σειρά με την οποία φωρτώνονται οι γραμματοσειρές (έτσι ώστε να φορτώνονται πρώτα οι τύπου 1) και, για καλό και για κακό, έχω προσθέσει και + την ένδειξη \":unscaled\" στις διαδρομές των υποφακέλων που περιέχουν μη κλιμακωτές γραμματοσειρές. Έτσι τουλάχιστον ξέρω πως όταν τα γράμματα φαίνονται + τετράγωνα στην οθόνη μάλλον γραμματοσειρά πρέπει να αλλάξω παρά οθόνη. ;-) + + +### [3. Εγκατάσταση των καινούριων γραμματοσειρών στη Ghostscript]{#s3} + +1. Για να μπορεί η Ghostscript να χρησιμοποιεί τις καινουριές γραμματοσειρές που προσθέτεις κάνε τα ακόλουθα: + + Με έναν κειμενογράφο άνοιξε το αρχείο /fonts/greek/Fontmap. Αυτό που βλέπεις πρέπει να μοιάζει κάπως έτσι: + + MgPolMemApla-Bold (mgpmab__.pfb) ; + MgPolMemApla-BoldItalic (mgpmad__.pfb) ; + MgPolMemApla-Italic (mgpmai__.pfb) ; + MgPolMemApla-Normal (mgpman__.pfb) ; + + Πρόσθεσε ένα \"/\" (χωρίς τα εισαγωγικά) στην αρχή κάθε σειράς και συμπλήρωσε το όνομα της κάθε γραμματοσειράς με την πλήρη διαδρομή υποφακέλου \[full path + name\] του κάθε αρχείου. Έτσι πρέπει να έχεις: + + /MgPolMemApla-Bold (/fonts/greek/mgpmab__.pfb) ; + /MgPolMemApla-BoldItalic (/fonts/greek/mgpmad__.pfb) ; + /MgPolMemApla-Italic (/fonts/greek/mgpmai__.pfb) ; + /MgPolMemApla-Normal (/fonts/greek/mgpman__.pfb) ; + + Μην σώσεις το αρχείο, απλώς άνοιξε το /usr/share/ghostscript/(version-number)/Fontmap με έναν κειμενογράφο και αντίγραψε το μεταλλαγμένο αυτό + /fonts/greek/Fontmap μέσα στο Fontmap του ghostscript (ας πούμε, στην αρχή). Σώσε μόνο το Fontmap του Ghostscript, όχι το /fonts/greek/Fontmap! + + +### [4. Εγκατάσταση των καινούριων γραμματοσειρών στο StarOffice]{#s4} + +1. Το StarOffice στο σύστημά μου είναι εγκατεστημένο στον υποφάκελο /opt/Office40. Κάνοντας, λοιπόν, τις ανάλογες αλλαγές, δώσε τις πρακάτω εντολές: + + cd /opt/Office40/xp3/pssoftfonts/ + ln -s /fonts/greek/*.pfb . + cd /opt/Office40/xp3/fontmetrics/afm/ + ln -s /fonts/greek/*.afm . + +2. Με έναν κειμενογράφο άνοιξε το /fonts/greek/fonts.dir (Προσοχή! Και σε αυτή την περίπτωση θα κάνουμε μόνο αλλαγές προς αντιγραφή. Δεν πρέπει να σώσεις το + αρχείο κλείνοντάς το!). Πρέπει να φαίνεται κάπως έτσι: + + 4 + mgpmab__.pfb --mgpolmemapla-bold-r-normal--0-0-0-0-p-0-iso8859-1 + mgpmad__.pfb --mgpolmemapla-bold-i-normal--0-0-0-0-p-0-iso8859-1 + mgpmai__.pfb --mgpolmemapla-medium-i-normal--0-0-0-0-p-0-iso8859-1 + mgpman__.pfb --mgpolmemapla-medium-r-normal--0-0-0-0-p-0-iso8859-1 + + Σβήσε τον αριθμό στην αρχή του αρχείου και αντικατέστησε τα \".pfb\" με \",\" και τα \"-0-0-0-0-\" με \"-%d-%d-%d-%d-\" (φυσικά χωρίς τα εισαγωγικά). Το + έκτρωμα που θα δημιουργηθεί αντίγραψέ το στο τέλος του αρχείου /opt/Office40/xp3/psstd.fonts + +3. Βγες από τα X-Windows, ξαναμπές και τρέξε το StarOffice! Τι περιμένεις; ;-) + +Κανονικά, μετά απ\' όλ\' αυτά, τα πάντα θα πρέπει να δουλεύουν τέλεια. Θα πρέπει να μπορείς και να βλέπεις και να εκτυπώνεις με τις καινούριες γραμματοσειρές +που έχεις εγκαταστήσει. Αν όμως παρ\' ελπίδα και πάλι δεν γίνεται τίποτε, τότε αυτό μάλλον οφείλεται στο γεγονός ότι οι καινούριες (ελληνικές;) γραμματοσειρές +σου έχουν το ίδιο όνομα με κάποια άλλη (ξένη;) γραμματοσειρά (π.χ.times, arial, κλπ.) - το ότι προφανώς ανήκουν σε διαφορετικές οικογένειες δεν φαίνεται να +πολυνοιάζει το StarOffice). Σε αυτή την περίπτωση, αλλάζεις την ονομασία των γραμματοσειρών σου στα αρχεία /fonts/greek/fonts.dir, /fonts/greek/fonts.scale, και +/opt/Office40/xp3/psstd.fonts από π.χ times σε timesgr (ή κάτι τέτοιο, τέλος πάντων) και αν δεν είσαι εξαιρετικά γκαντέμης θα πρέπει επιτέλους κάτι να αρχίσει +να δουλεύει! ;-) + diff --git a/content/articles/06/04_w98.md b/content/articles/06/04_w98.md new file mode 100644 index 0000000..d3af52f --- /dev/null +++ b/content/articles/06/04_w98.md @@ -0,0 +1,26 @@ ++++ +title = 'Δοκιμάσαμε τα Windows 98' +date = '1998-07-01T00:00:00Z' +description = '' +author = 'Γεωργάτος Φώτης' +issue = ['Magaz 06'] +issue_weight = 4 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Ο συντάκτης μας δοκίμασε τα Windows 98, δεν βρήκε όμως σημαντικές διαφορές από τα Windows 95:* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +![](/06/img/badday-anim.gif) + +Για να καταλάβετε καλύτερα τι έγινε δείτε εδώ: [Video\@416Kb](http://www.linux.gr/logos/misc/badday.mpg) +[Video\@5mb](http://wwwcn.cern.ch/~rigaut/badday/badday.mpg) + +Ο συντάκτης μας, αποκαμωμένος, έβριζε την Μικρομαλακή όλη νύχτα. + +Δυστυχώς, δεν ακούσαμε, ακόμα, για κανένα windows-patch που να περιλαμβάνει πληκτρολόγιο με Hardware Reset, ώστε να μην σκύβουμε τουλάχιστον. Τι θα γίνει ο +απλός χρήστης; + +Ας μην ξεχνάμε ότι η M\$ είναι η εταιρία που καθιέρωσε το RESET ως το πλέον χρήσιμο κουμπί ενός \"σύγχρονου\" ηλεκτρονικού υπολογιστή. \'Οχι τίποτα άλλο, μην +χαλάσουμε **ΚΑΙ** το hardware με τα πολλά άνοιξε κλείσε του διακόπτη\... diff --git a/content/articles/06/05_xisp2.md b/content/articles/06/05_xisp2.md new file mode 100644 index 0000000..df53ec0 --- /dev/null +++ b/content/articles/06/05_xisp2.md @@ -0,0 +1,67 @@ ++++ +title = 'Ρυθμίσεις XISP για Ελληνικούς Providers' +date = '1998-07-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης' +issue = ['Magaz 06'] +issue_weight = 5 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Όπως είχαμε υποσχεθεί στο περασμένο τεύχος, επικοινωνήσαμε με τους περισσότερους (και μεγαλύτερους) ISPs στην Ελλάδα και φτιάξαμε έναν πίνακα με ρυθμίσεις για +να συνδεθείτε πιο εύκολα\... Αν ο δικός σας ISP λείπει από τον πίνακα, ελέγξτε πρώτα μήπως είναι από αυτούς που δεν μας απάντησαν. Αν δεν είναι σε αυτούς, απλά +στείλτε μας ένα [e-mail](mailto:mkabrian@acropolis.gr?subject=ISPs) και θα φροντίσουμε να επικοινωνήσουμε μαζί του, ούτως ώστε να προστεθεί στον πίνακα. Καλές +συνδέσεις\...* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Εφόσον πολλοί providers δεν μας απαντούν, κι εμείς γράφουμε από προσωπικές μας γνώσεις τις ρυθμίσεις σύνδεσης. Προσοχή: Για αυτές τις ρυθμίσεις δεν φέρει καμία +ευθύνη ο provider. + + --------------- --------------- ---------------- --------------- --------------- --------------- --------------- --------------- --------------- --------------- + \ Emulation Authentication Terminal after Flow-control Software IP Primary DNS Secondary DNS + ISP protocol dialing Compression + + HellasNet PPP PAP Όχι Hardware Dynamic 212.54.192.10 212.54.192.1 + + EEXI \#1 PPP PAP Όχι Hardware Ναι Dynamic 195.167.28.4 195.167.28.3 + + EEXI \#2 Emulated PPP PAP Ναι Hardware Ναι Dynamic 195.167.28.4 195.167.28.3 + + Forthnet PPP CHAP Κατ\' επιλογή Hardware Ναι Dynamic 194.219.227.2 139.91.1.1 + + Groovy-Net PPP PAP Όχι Hardware Ναι Dynamic Αποδίδονται αυτόματα + + Hiway PPP None Ναι Hardware Όχι Dynamic 195.170.22.41 195.170.22.50 + + SparkNet PPP PAP Όχι Hardware Ναι Dynamic 195.66.98.1 195.66.98.2 + + Matrix PPP / SLIP None Όχι Hardware Ναι Dynamic 193.92.133.33 193.92.133.34 + + Otenet \#1 PPP None Ναι Hardware Ναι Dynamic Αποδίδονται αυτόματα + + Otenet \#2 PPP PAP Όχι Hardware Ναι Dynamic Αποδίδονται αυτόματα + --------------- --------------- ---------------- --------------- --------------- --------------- --------------- --------------- --------------- --------------- + +**Providers που δεν μας έχουν απαντήσει** Εγώ προσωπικά, από εδώ και κάτω τους βάζω στη **δική μου** μαύρη λίστα :-) + + ----------------- ----------------- ----------------- ----------------- ----------------- ----------------- ----------------- ----------------- ----------------- + \ Emulation Authentication Terminal after Flow-control Software IP Primary DNS Secondary DNS + ISP protocol dialing Compression + + HellasOnLine PPP None Κατ\' επιλογή Hardware Ναι Dynamic 194.30.220.118 194.30.220.119 + + Acropolis PPP PAP Όχι Hardware Ναι Dynamic 195.200.64.24 195.200.64.80 + + Compulink + + IBM net PPP PAP-s Dynamic 165.87.194.244 165.87.201.244 + + ΤΕΕ + + + ----------------- ----------------- ----------------- ----------------- ----------------- ----------------- ----------------- ----------------- ----------------- + +Αν σε κάποιον από τους providers που αναφέρονται παραπάνω, έχει αυτοματοποιήσει κάποιος τη σύνδεση με script στο XISP, θα θέλαμε να μας το στείλει στη [γνωστή +διεύθυνση](mailto:magaz@linux.gr), αφαιρώντας βέβαια τα προσωπικά του πεδία. Θα βοηθήσει πολλούς συναδέλφους και θα έχει και την ευγνωμοσύνη μας :-)\ +Επίσης αν κάποιος έχει στοιχεία για τους providers που δεν μας απαντήσανε, πάλι θα θέλαμε να ξέρουμε τι ρυθμίσεις χρησιμοποιεί. diff --git a/content/articles/06/06_monitors.md b/content/articles/06/06_monitors.md new file mode 100644 index 0000000..4fb2799 --- /dev/null +++ b/content/articles/06/06_monitors.md @@ -0,0 +1,65 @@ ++++ +title = 'Monitor Setup Under Linux' +date = '1998-07-01T00:00:00Z' +description = '' +author = 'Γιάννης Εξηνταρίδης' +issue = ['Magaz 06'] +issue_weight = 6 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Είναι αλήθεια πως το στήσιμο του monitor σε PC είναι ένα από τα πιο απλά και εύκολα πράγματα. Τι γίνεται όμως όταν οι ανήσυχοι χρήστες θέλουν να εκμεταλλευθούν +στο έπακρο τις δυνατότητές του και να μην μείνουν στα καθιερωμένα ;* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Πριν από μερικές εβδομάδες απόκτησα επιτέλους το 17άρι monitor της ΕΙΖΟ. Πιο συγκεκριμένα το F55S. Το monitor αυτό επιβεβαιώνει για μια ακόμη φορά τους λόγους +για τους οποίους η EIZO αναδεικνύεται κάθε φορά πρώτη στα αντίστοιχα συγκριτικά τέστ. Η απόδοση του στα Win είναι κορυφαία με μέγιστο refresh rate 120 Hz και +ειδικά στα 1024χ768 έχει refresh rate 100 Hz. Ολα αυτά βέβαια σε συνδυασμό με την αντίστοιχη κάρτα γραφικών. Η δικιά μου (Diamond Stealth 3D 2000 ) συνεργάζεται +άψογα με το monitor με αποτέλεσμα να έχω μια καταπληκτική και ξεκούραστη εικόνα. + +Και αφού έγιναν όλα αυτά ήρθε και η σειρά του Linux. Στο RedHat 5.0 που διαθέτω, ανάλογες ρυθμίσεις γίνονται μέσω του configX ( κάτι αντίστοιχο υπάρχει και στις +άλλες διανομές ). Δυστυχώς επειδή το μοντέλο ήταν από τα σχετικά καινούρια, δεν υπήρχαν αντίστοιχες έτοιμες ρυθμίσεις έτσι αναγκάστηκα να το δηλώσω σαν GENERIC +17\" . Πράγματι λειτούργησε αλλά\.... + +Αλλά τι; Στα 1024χ768 είχα refresh rate 85Hz και στα 1152χ864 είχα 70Hz. Αυτό ήταν αδιανόητο ! Για ποιό λόγο να μην μπορεί το Linux να εκμεταλλευθεί στο μέγιστο +το Monitor ; Προφανώς έφταιγε το GENERIC 17\". Για βέλτιστες ρυθμίσες έπρεπε να \"παίξω\" με το XMetroConfig (αντίστοιχα Xfree86config, για όποιον δεν διαθέτει +MetroX server) το αρχείο δηλαδή που είναι υπεύθυνο για τις περισσότερες και πιο ζωτικές ρυθμίσεις των X. Οι ρυθμίσεις που αφορούν το monitor περιλαμβάνονται στο +Section \"Monitor\". O ρόλος των γραμμών με τίτλο Identifier και ModelName είναι μάλλον προφανός. Τα πιο σημαντικά ακολουθούν μετά. Οι γραμμές που αρχίζουν με +τις λέξεις HorizSync, VertRefresh και ModeLine. Οι δύο πρώτες δίνουν τους ρυθμούς ανανέωσης (οριζόντιους και κάθετους) που υποστηρίζονται από το monitor ενώ το +Modeline είναι υπεύθυνο για τον ρυθμό ανανέωσης σε μια συγκεκριμένη ανάλυση. Οπότε λογικά έπρεπε να φτιάξω τα δικά μου Modelines για να έχω τα refresh rate που +θέλω. Και επειδή οι αριθμοί που ακολουθούσαν δεν μου έδιναν καμμία ένδειξη για το τι έπρεπε να κάνω (καθώς έμοιαζαν περισσότερο με κάποιο γρίφο) κατέφυγα μετά +από ψάξιμο στο αντίστοιχο HOWTO. ( Video Timings HOWTO ) + +Το HOWTΟ πράγματι εξηγεί το τι σημαίνουν αυτοί οι αριθμοί, δεν είναι όμως και το πιο εύκολο πράγμα η εξαγωγή τους, καθώς σχεδόν όλοι αφορούν ορισμένες +\"φρικτές\" τεχνικές λεπτομέρειες. (άσε που πρέπει να είναι διαιρετοί με το 8). Η αλήθεια είναι πως πρέπει να πειραματιστεί κανείς αρκετά και να έχει χρόνο στην +διάθεσή του για να πετύχει το ποθητό αποτέλεσμα. Για να μην περάσω λοιπόν μια μέρα ολόκληρη κάνοντας πολλαπλασιασμούς και διαιρέσεις αναζήτησα στο Web άλλες +πληροφορίες σχετικά. Υπάρχουν αρκετές διάσπαρτες πληροφορίες για monitor σε Χ, για Modelines τα οποία λίγο - πολύ αναφέρουν τα ίδια πράγματα αλλά \... + +\... βρήκα τελικά ένα μικρό προγραμματάκι που κάνει όλη αυτή την δουλειά δηλαδή να υπολογίζει Modelines. Ονομάζεται videogen και δέχεται σαν είσοδο την +επιθυμητή ανάλυση, το μέγιστο Horizontal και Vertical refresh rate που υποστηρίζεται από το Monitor και το dot clock rate της κάρτας γραφικών. ( Προσοχή αυτό +δεν είναι η συχνότητα του RAMDAC της κάρτας ). Σαν αποτέλεσμα το videogen σου βγάζει την μαγική γραμμή που αποτελεί το Modeline. Σίγουρα υπάρχουν και άλλα +τέτοια προγραμματάκια ή και μερικά έτοιμα scripts που κάνουν παρόμοια δουλειά. Αρκεί λίγο ψάξιμο στους γνωστούς ftp servers. Επίσης αν είστε και λίγο τυχεροί +μπορεί να βρείτε έτοιμο το Modeline της οθόνης σας. Υπάρχουν και μερικές άλλες παράμετροι που δέχεται το Modeline αλλά δεν θα αναφερθώ σε αυτές. Πληροφορίες +υπάρχουν σε man pages και απλά λέω ότι αφορύν επί μέρους τεχνικά στοιχεία του monitor. Το αποτέλεσμα των παραπάνω τελικά είναι να βλέπω το KDE σε ανάλυση +1024χ768 με refresh rate 100 Hz. + +Να θυμίσω ότι χρειάζεται ιδιαίτερη προσοχή σε ότι αφορά τα εξαγόμενα refresh rates ( είτε κάνοντας υπολογισμούς με το χέρι, είτε χρησιμοποιώντας κάποιο +πρόγραμμα όπως έκανα εγώ ). Δεν πρέπει σε καμμία περίπτωση να υπερβείτε τα specifications του Monitor γιατί το πιθανότερο θα είναι η καταστροφή του. Σε ακόμη +χειρότερη θέση βρίσκονται παλιά 14\" monitor και γενικά όλα τα ονομαζόμενα fixed - scan, που υποστηρίζουν δηλαδή μόνο ορισμένες συχνότητες και όχι ένα εύρος +συχνοτήτων σε αντίθεση με όλα τα μοντέρνα τα ονομαζόμενα Multisync ( ή Multiscan ή Flexscan ή τέλος πάντων όπως τα ονομάζει ο κάθε κατασκευαστής). Είναι κάτι +που ευτυχώς επισημαίνεται σε οτιδήποτε σχετικό με αυτό το θέμα. + +Ανάφερα παραπάνω τον όρο dot clock rate. ( Είναι ο πρώτος αριθμός στην σειρά των αριθμών που απαρτίζουν το modeline και οποίος δηλώνει τον μέγιστο αριθμό των +pixels που μπορεί να \"γραφτούν\" στην οθόνη από την κάρτα ). Δυστυχώς πολλές κάρτες γραφικών δεν το αναφέρουν στο manual τους. Μια λύση δίνουν τα Χ. Δίνοντας +την εντολή X -probeonly ανάμεσα στα άλλα επιστρέφεται το μέγιστο dot clock rate που υποστηρίζεται από την κάρτα ( χωρίς να ξεκινήσουν τα Χ ). Για την ακρίβεια +τα αποτελέσματα του probing γράφονται στο αρχείο /var/log/Xerrors. Πάντως αν δοθεί κατά λάθος μεγαλύτερο dot clock rate από το υποστηριζόμενο μην ανησυχείτε. +Απλά τα Χ δεν θα ξεκινήσουν και θα αναφέρουν σχετικό μήνυμα λάθους. + +Ισως αντιληφθήκατε ότι με τον παραπάνω τρόπο παρέχεται μια τεράστια ευελιξία σε ότι αφορά τις αναλύσεις. Πράγματι μπορεί άνετα κάποιος να χρησιμοποιήσει +οποιαδήποτε ανάλυση εκτός από τις συνηθισμένες ( 800χ600 , 1024χ768 κ.λπ ) με πάντα την απαραίτητη προϋπόθεση τα αντίστοιχα refresh rates να είναι +υποστηριζόμενα από το monitor. Αυτό είναι κάτι που δεν πρέπει να εκπλήσσει. Πράγματι αρκετά DOS-based games τρέχουν σε δικιά τους ανάλυση εκτός από τις +συνηθισμένες. Είναι ένα ευπρόσδεκτο αποτέλεσμα των low - level ρυθμίσεων. + +Τα παραπάνω ελπίζω να βοηθήσουν αρκετούς να πετύχουν το μέγιστο δυνατό αποτέλεσμα από το monitor τους πάντα με την απαραίτητη προσοχή. Τo Linux αποδεικνύεται +και σε αυτό τον τομέα αρκετά ισχυρό και ευέλικτο. diff --git a/content/articles/06/07_mailbox.md b/content/articles/06/07_mailbox.md new file mode 100644 index 0000000..826fe22 --- /dev/null +++ b/content/articles/06/07_mailbox.md @@ -0,0 +1,352 @@ ++++ +title = 'Αλληλογραφία' +date = '1998-07-01T00:00:00Z' +description = '' +author = '' +issue = ['Magaz 06'] +issue_weight = 7 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Ουφ, τι πανικός ήταν από γράμματα και αυτή την φορά\... Προετοιμαζουμε μια φόρμα ερώτησης ούτως ώστε να αρχειοθετούνται πιο εύκολα τα γράμματα, και να μην +χανονται στα mailboxes. Προς αναμονή του καλύτερου, διαβάστε τι μας ρωτήσατε και τι σας απαντήσαμε αυτό το μήνα.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Iomega Parallel ZIP drive** +---------------------------------------------------------- + +**2. Ρυθμίσεις modem** +------------------------------------------------ + +**3. Ελληνικές γραμματοσειρές** +--------------------------------------------------------- + +**4. Editor για την κονσόλα** +------------------------------------------------------- + +**5. Κάτι για την IP** +------------------------------------------------ + +**6. AMD K6 και Linux** +------------------------------------------------- + +**7. Προβλήματα Xisp** +------------------------------------------------ + +**8. Βιβλία** +--------------------------------------- + +**9. Uninstall Linux!!!** +--------------------------------------------------- + +**10. Πολλές ερωτήσεις** +---------------------------------------------------- + +**11. Slackware Linux** +--------------------------------------------------- + +**12. NT σε Linux** +----------------------------------------------- + +**13. Σύνδεση στο Internet** +-------------------------------------------------------- + + +### [1. Iomega Parallel ZIP drive]{#s1} + +Από : [Χρήστος Βαρελάς](mailto:cvar@startrek.csd.auth.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Hi guys,\ +Does anyone of you know how to get IOMEGA Parallel ZIP Drive to work under Linux? I\'m runnin\' RedHAt Linux 5.1 with 2.0.35 kernel. What settings do I have to +make on kernel\'s configuration? + +*The only thing I know about that, is a kernel option in the scsi section for PPA (iomega parallel adapter). I do know that you can\'t operate your printer and +Zip together, so load ppa as module.* + +Thanks in advance for your time and help. + +*Sorry for not being so helpfull -(* + + +### [2. Ρυθμίσεις modem]{#s2} + +Από : [Λεωνίδας Τζίμης](mailto:tzimis@usa.net) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Γειά σας.\ +Εχω το REDHAT 5.0 και δεν μπορώ να το κάνω να δουλέψει με τo dialup. Το modem μου θέλει την εντολή \"atx3\" για να καθαρίσει το buffer του. Στα win και στο dos +βάζω την εντολή atx3 στις \"άλλες παράμετροι\". Στο REDHAT πως το κάνω? Παρακαλώ εαν είναι εύκολο δώστε μου λεπτομέρειες. + +*Πρώτα από όλα, να ξεκαθαρίσουμε ότι το atx3 ΔΕΝ καθαρίζει κανένα buffer, απλά λέει στο modem (μεταξύ άλλων) να μην περιμένει να ακούσει dialtone για να πάρει. +Αυτό, για τον απλούστατο λόγο ότι το dialtone του OTE δεν το καταλαβαίνουν πολλά modems.\ +Τώρα για το RedHat δεν ξέρω (μια που δεν το έχω) αλλά γενικά, αν δεις κανένα init string οπουδήποτε, βάλε του ένα x3 κάπου. Λογικά θα παίξει. Βέβαια η πιο +εύκολη λύση είναι να το γράψεις στο modem αυτό.\ +Συνδέεσαι με το minicom.* + +- Δνεις at και το modem απαντάει ok +- Δίνεις atx3 και το modem ξαναπαντάει ok +- Δίνεις at&w0 και το modem (για άλλη μια φορά) απαντάει ok + +*Αυτό που έχεις κάνει τώρα, είναι να βάλεις το atx3 στην μνήμη του modem και να το χρησιμοποιεί ως default.* + +Στο KDE πως θα βάλω τις παραμέτρους για το modem? + +*Στο kppp έχει σίγουρα την επιλογή Init string. Όπως είπαμε και πιο πάνω\...* + + +### [3. Ελληνικές γραμματοσειρές]{#s3} + +Από : [Χρήστος Βαρελάς](mailto:cvar@startrek.csd.auth.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Γεια σας παιδιά!\ +Αναρωτιέμαι αν υπάρχει κάποιο CD με ελληνικές γραμματοσειρές (Postscript, Type 1, κλπ) που μπορούν να εγκατασταθούν και να δουλέψουν σωστά στα X. Γνωρίζω ότι +κυκλοφορούν κάτι τέτοια CDs για Macintosh. Το θέμα είναι ότι εδώ στη Θεσσαλονίκη όσο κι αν έψαξα δεν μπόρεσα να βρω κάτι σχετικό. Γνωρίζει κάποιος από εσάς +κάτι; + +*Όχι, δεν έχω ιδέα. Εγώ προσωπικά χρησιμοποιώ τις γραμματοσειρές που βρίσκει κανένας σε οποιοδήποτε ελληνικό site (argeas, ntua, forthnet, hol κλπ)* + +Και κάτι άλλο\... χρησιμοποιώ το Netscape Navigator 4.05 κάτω από το KDE 4.0 και ενώ βλέπω κανονικά τα ελληνικά στη σελίδα σας, στην title bar όπως και σε +κάποια buttons, στη θέση των ελληνικών βλέπω κινέζικα. Κάποια ιδέα που θα έλυνε το πρόβλημα; Εγκατάσταση κάποιων γραμματοσειρών ίσως;  + +*Με την τελευταία έκδοση του KDE (1.0) βγήκε στο incoming του ένα αρχείο Communicator.ad Αυτό λέει στο Netscape να χρησιμοποιεί τα +fonts του KDE, οπότε στο Title bar (αν το έχεις ρυθμίσει έτσι το KDE) θα βλέπει ελληνικά. Για τα buttons δέν ξέρω. Θα το ψάξουμε όμως και θα ενημερώσουμε τη +λίστα αν βρούμε άκρη. Εξάλλου, γι\' αυτό και τα buttons του magaz είναι δίγλωσσα -)* + +Ευχαριστώ προκαταβολικά για το χρόνο και τη βοήθειά σας \-- συνεχίστε την πραγματικά πολύ καλή δουλειά στο Magaz!!!\ +Χρήστος Βαρελάς + +*Ευχαριστούμε για τα καλά σου λόγια\ +Για το Magaz* + + +### [4. Editor για την κονσόλα]{#s4} + +Από : [Μαγκλάρας Δημήτρης](mailto:mlf@eexi.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Το μεγαλύτερό μου πρόβλημα με το Linux είναι η μη ύπαρξη ενός εργονομικού editor (editor που να υποστηρίζει πολλαπλά παράθυρα, και όχι να αποθηκεύει διαφορετικά +κείμενα σε buffers, να ακολουθεί την Uniform SAA της ΙΒΜ, και να επιδέχεται παραμετροποιήσεως). Ιδανικό και αξεπέραστο θεωρώ τον Aurora 3.0 (for DOS).\ +Υπάρχει αντίστοιχος στο Linux? H μήπως πρέπει γιά να εργασθείς ικανοποιητικά να το αποφασίσεις ότι πρέπει να χρησιμοποιηθεί το γραφικό περιβάλλον, όπου κάποια +λύση προσφέρει ο nEdit? + +*Προσωπικά αγνοώ, και αφού δεν απάντησαν οι υπόλοιποι, θεωρώ ότι αγνοούν και αυτοί.\ +Sorry -(* + + +### [5. Κάτι για την IP]{#s5} + +Από : [Σταματόπουλος Θοδωρής](mailto:thodoris@evronet.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Διάβασα το IP MASQUERADING και είχα την εξής απορία. Μπορώ άμα δεν έχω ethernet να μπωψ με dummy ip και όταν θα έιμαι π.χ. στο irc και μου κάνουν whois να +βλέπουν αυτή τη dummy ip για να ποφεύγω κολήματα; + +*Λογικά όχι, γιατί η IP του \"router\" (ας το πούμε έτσι αν και είναι πολύ λάθος η έκφραση) που είναι η IP του dial-up adapter, φαίνεται προς τον έξω κόσμο, +οπότε\...\ +Μια δοκιμή όμως θα σε πείσει (και θα μας ενημερώσεις, έτσι;)\ +Για το Magaz* + + +### [6. AMD K6 και Linux]{#s6} + +Από : [Βελέντζας Αλέξανδρος](mailto:belale@it.teithe.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Αρχικά θα ήθελα να σας πω ότι δεν έχω το linux, αλλά διαβαζοντας τους τελευταίους μήνες σε περιοδικά (κυρίως το RAM) γι αυτό, ενθουσιάστηκα και αποφάσισα να το +βάλω στο συστημά μου, γι αυτό και θα ήθελα να σας κάνω κάποιες ερωτήσεις.  + +*Ουφ, καιρός ήταν να το βάλεις. οσο για τις ερωτήσεις, ιδού οι απαντήσεις.* + +1\. Διάβασα ένα γράμμα στο τελευταίο σας τεύχος όπου γράφατε ότι δεν εχετε ακούσει το linux να έχει πρόβλημα με τον AMD K6. Υπάρχει κάποιος που να έχει +δοκιμάσει το linux με αυτόν τον επεξεργαστή και να ξέρει ότι σίγουρα δεν έχει πρόβλημα? + +*Ναι. Για περισσότερες πληροφορίες θα πας στα [archives της λίστας](http://argeas.argos.hol.gr/lists) και θα ψάξεις για AMD K6. Εκεί θα δεις τις συζητήσεις που +έχουν για αυτό το θέμα.* + +2\. Επειδή δεν θέλω να αποχωριστώ τα windows και το dos (βλ. συμβατότητα με τα προγραμματα που χρησιμοποιούν οι φίλοι μου, games diablo, starcraft, riven \... , +γνώριμο περιβάλλον κ.τ.λ.) θέλω να ρωτήσω το εξής μπορώ να εγκαταστήσω το linux σε ένα ξεχωριστό partition και να εχω και windows και linux ΧΩΡΙΣ προβλήματα? + +*Φυσικά. Εξάλλου, το 90% των χρηστών Linux, κάπου έχει και ένα partition με Windows 95 (για τους ίδιους λόγους που το θέλεις και εσύ).* + +Αυτά προς στιγμήν, ευχαριστώ για το χρόνο που διαθέσατε να διαβάσετε και να απαντήσετε (ελπίζω) το γράμμα, και συνεχίστε την καλή δουλειά. + +*Κανένα πρόβλημα.\ +Για το Magaz* + + +### [7. Προβλήματα Xisp]{#s7} + +Από : [Βαγγέλης Τσουλής](mailto:vagelist@usa.net) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Παιδιά, ακόμα δεν έχω πάρει απάντηση για το προηγούμενο ερώτημα που σας είχα θέσει σχετικά με το signal 11 του compiler. Κατάφερα όμως να βρώ την λύση. Ας είναι +καλά το Dejanews.com + +*Sorry, το mail σου θα ξεχάστηκε σε κανένα από τα mailboxes!!!* + +Το προβλημα όμως με το compilation  του Xisp (μάλλον το linking τώρα) εξακολουθεί να υπάρχει με την μορφή δεκάδων!!! μυνημάτων της μορφής (xisp.o (.text+AAAAAA) +Undefined reference to \'BBBBBBBBBB\'.) οπου ΑΑΑΑΑ κάποιος αριθμός σαν τον 0χ14076 (φαντάζομαι κάποια διεύθυνση μνήμης) και ΒΒΒΒΒΒBΒ κάτι σαν το +\"fl\_add\_text\" (φαντάζομαι κάποια συνάρτηση την οποία ψάχνει να βρεί). Το Dejanews εδώ δεν κατάφερε να με βοηθήσει. Υποθέτω ότι κάπου μέσα στα RPMS του CD +του RedHat θα υπάρχει κάποια βιβλιοθήκη την οποία δεν έχω κάνει Install. Ψάχνω και δεν τη βρίσκω!. Ισως το Xisp να υπάρχει σε μορφή RPM (δέν το έχω ψάξει). Όμως +επειδή έχω πεισμώσει με το  compilation, please δώστε μου μια λύση. Εχω το RedHat τόσες μέρες και ακόμα δεν έχω κάνει σύνδεση με το Net. + +*Μάλλον για το XISP το πιο καλό θα ήταν να στείλεις ένα bug-report στον [Δημήτρη Μπούρα](mailto:dbouras@hol.gr) που το έχει γράψει, αλλά πριν το κάνεις αυτό, +δοκίμασε να κατεβάσεις από [την σελίδα του](http://users.hol.gr/~dbouras) την τελευταία έκδοση (2.5)* + + +### [8. Βιβλία]{#s8} + +Από : [Mητριτσάκης Βαλέριο Πάρις](mailto:gri@teihan.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Ονομάζομαι Βαλέριο Πάρις Mητριτσάκης και είμαι ένα από τα νέα μέλη της ελληνικής κοινότητας Linux. Δυστυχώς δυστυχώς δεν ξέρω τόσα όσα θα έπρεπε να είχα μάθει +στους 2 - 3 μήνες που έχω εγκαταστήσει το RedHat 5.0. Παρόλα αυτά η αναζήτηση πληροφοριών για το Linux από τις παραδοσιακές οδούς (βλέπε βιβλία) στα Χανιά είναι +αδύνατη. + +*Καλώς ήρθες!* + +Τέλος πάντων για να μην σας κουράζω, συγχαρητήρια για τις προσπάθειες σας. Θα ήθελα αν ειναι εύκολο να μου προτείνεται μερικά βιβλία να ξεστραβωθώ και έτσι την +επόμενη φορα να σας στειίλω email από Linux και όχι από Outlook express και Windows (ούπς!!!) + +*Ένα καλό βιβλίο είναι το Running Linux του Welsh. Δυστυχώς δεν έχα άλλα υπόψιν μου κατά τίτλο να σου πω, αλλά μπορείς να βρεις αρκετά και για πιο συγκεκριμένα +θέματα στον εκδοτικό οίκο [O\'Reilly](http://www.oreilly.com/).* + + +### [9. Uninstall Linux!!!]{#s9} + +Από : [Βαγγέλης Τσουλής](mailto:vagelist@usa.net) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Παιδιά χρειάζομαι την βοήθειά σας. Εχω εγκαταστήσει το RedHat 5.0 σε ένα partition  του σκληρού μου. Πρόσφατα όμως απόκτησα και έναν δεύτερο σκληρό.Αυτό σημένει +ότι θέλω να απεγκαταστήσω το linux από το partition που είδη υπάρχει και να το εγκαταστήσω στον δεύτερο σκληρό.Από τα win βέβαια δεν μπορώ να δώ το partition +του linux, άρα δεν μπορω να το σβήσω.Πως μπορώ να κάνω το Linux partition ξανά dos partition; να ξαναδώ δηλ τα γνωστα C και D; + +*Υποθέτω ότι έχεις βάλει το Linux στο δεύτερο partition. Αν πράγματι είναι έτσι, ανάβεις τον υπολογιστή σε καθαρό dos (από το Lilo διαλέγεις την επιλογή για +windows, πατάς F8 και επιλέγεις το Command mode) και τρέχεις το Fdisk, το οποίο θα σου αναφέρει το D partition ως άγνωστο. Το κάνεις delete και ξανά create και +είσαι έτοιμος.\ +Ουυυπς, παραλίγο να το ξεχάσω. Μετά το fdisk και πριν κάνεις reboot, γράψε ένα fdisk /mbr για να σου σβήσει το LILO (μόνο αν το έχεις στο mbr)* + +κατ\'αρχήν ευχαριστώ για την γρήγορη απάντηση! Το προβλημα όμως δεν λύθηκε. Έκανα ακριβώς αυτά που μου γράψατε, αλλά δεν είχα αποτέλεσμα. το fdisk βλεπει το +linux partition  σαν extended Dos partition. Δινω Delete partition or logical dos drive και μετά Delete extended Dos Partition. Η απάντηση Cannot delete extened +dos partition while logical drives exists. Δινω Delete logical Dos Drives in the extended dos partition. Απαντηση No logical drives defined No logical dos +drives to delete. Και το κουφό!!! Δινω Display partition information και μου λέει ότι the exteneded dos partition contains logical dos drives. Do you want to +display the logical drive information? Δινω yes και απαντά νο logical drives defined.!!!!!!! ΤΑ ΝΕΥΡΑ ΜΟΥ!!!!!!!!! Εχω win 95 osr2 με FAT32. Όλα αυτά τα +δοκίμασα κάνοντας boot και με δισκέτα με προηγούμενη έκδοση του DOS. + +*Ιδέα!!! Στήσε το Linux στον δεύτερο δίσκο, τρέξε το fdisk από το Linux, άλλαξε το flag του partition του πρώτου δίσκου που έχει το (D) από linux (82 ή 83 αν +θυμάμαι καλά) σε dos (αυτό δεν το θυμάμαι καθόλου) και ξανακάνε τη διαδικασία. Αυτή τη φορά, μην κάνεις fdisk /mbr (αφού θα έχει μπει το νέο lilo που δεν θέλεις +να σβηστεί.)\ +Καλή επιτυχία.* + + +### [10. Πολλές ερωτήσεις]{#s10} + +Από : [Κώστας Καλεβράς](mailto:mkalevra@central.ntua.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Γειά σας.Έχω αρκετές απορίες σχετικά με το Redhat Linux 5.0. Δεν έχω καταλάβει πως πηγαίνουν τα links για τα Χ. Καποια φορά κατα λάθος άλλαξα κάποιο απο αυτά +και απο τότε δεν μπορώ να βγάλω άκρη με τίποτα. Please help me. + +*Αν εννοείς το link του X-server, τρέξε το xf86config και θα στο φτιάξει μόνο του. Αν εννοείς άλλα links\....\ +* 2)Αν θέλω σε ασχετη στιγμή να περάσω τα Χ και οχι κατα το install πως ακριβώς μπορώ να το κάνω? + +*Πας στο CD του Redhat, στο directory RPMS και γράφεις\ +ls X\*\ +επιλέγεις τα πακέτα που θέλεις και γράφεις\ +rpm -i \"όνομα πακέτου που θέλεις\"\ +Αν τώρα τα ονόματα δεν τα βρίσκεις και πολύ κατατοπιστικά, μπορείς να πας σε αυτό το directory με το midnight commander (mc) και να \"ανοίξεις\" τα rpms να δεις +τι περιέχουν.* + +3\) Επειδή μου την έχουν δώσει τα Windows 98 μπορείται να μου πείτε πως μπορούν να μπουν πολλαπλές οθόνες στο Linux? + +*Δες το . Δεν το έχω δοκιμάσει ποτέ, αλλά\... Επίσης, η τελευταία έκδοση (4.3) του MetroX από την Metrolink +υποστηρίζει πολλές οθόνες στα X με πολλές κάρτες οθόνης, αλλά μόνο με κάρτες Matrox.* + +4\) Έχω ένα παλιό 286 με hercules και 640 Kb RAM.Θα ήθελα να ξέρω αν υπάρχει κάποιος τρόπος με PLIP ETHERNET or whatever να τον χρησιμοποιήσω ως τερματικό; Όταν +λέω τερματικό εννοώ μόνο shell prompt και τίποτα αλλο. + +*Ναι, τρέχεις ένα kermit (ή κάτι τέτοιο) και του κάνεις σύνδεση στην σειριακή θύρα. Θα χρειαστείς ένα \"null-modem\" cable. Πιο πολλές πληροφορίες στο +NET-3-HOWTO* + +5\) Πώς μπορώ με telnet ή κατι άλλο απο δίκτυο ή Internet να τρέξω τα Χ?Έχω περάσει και το ΚDE αν αυτό χρειάζεται σε τίποτα. + +*Στον client δίνεις την εντολή xhost\ +client/\> xhost + server.ip.address\ +Στέλνεις το display, από τον server στον client\ +server/\> export DISPLAY=client.ip.address:0.0\ +Γράφεις\ +server/\> xterm &\ +Έχεις το xterm του server στην οθόνη του client.* + +6)Ποιό πακέτο ελληνικών θα τρέξει στο Redhat? Κυρίως τα χρειάζομαι για τα Χ. Επίσης στο Netscape παρότι αλλάζω το encoding σε ό,τι ελληνικό έχει βλέπω πάλι +αραβικά.Υπάρχει καμια σωτηρία? + +*Από το δεύτερο ξεκινώντας, έχεις περάσει ελληνικά fonts? Αν όχι, δοκίμασε να τα πάρεις από το . Για το πρώτο, υπάρχουν 3 +υλοποιήσεις αυτή τη στιγμή: Κατά αλφαβητική σειρά, του Δημήτρη Μπούρα το grXISOkbd, στην έκδοση 1.2 beta 3, του Γιάννη Τσακίρη το grkbd, στην έκδοση 1.2, +κάποιου άλλου (sorry αλλά δεν θυμάμαι το όνομα), ένα map για το kikbd.* + +7\) Τέλος υπάρχει κανένα site για προγραμματισμό σε Χ και για Στήσιμο δικτύων (Web servers, ethernet lan\'s, IP masquerading \...)? + +*Δεν ξέρω καθόλου σελίδες με τέτοια θέματα, αλλά μπορείς να πας για αρχή στα και και από εκεί να +ακολουθήσεις τα αντίστοιχα links.* + + +### [11. Slackware Linux]{#s11} + +Από : [Βαγγέλης Βλάχος](mailto:vagous@hol.gr) + +Απάντηση : [Γιώργος Κεραμίδας](mailto:keramida@ceid.upatras.gr) + +Γεια σας,\ +μόλις άρχισα την περιήγησή μου στον κόσμο του linux και ενώ έχω αγοράσει ένα βιβλίο για το slackware linux θέλω να ρωτήσω τα εξής:\ +Πρώτον εάν μπορώ να αγοράσω το slackware σε cd  + +*Ναι, μπορείς\... βγαίνει από το Walnut Creek CD-ROM και το έχουν τα πιο πολλά καταστήματα που πουλάνε σχετικά με Linux πράγματα (π.χ. Παπασωτηρίου)* + +και δεύτερον, εαν έχουν μεγάλη διαφορά τα διάφορα είδη linux π.χ. debian, red hat  από το slackware ως προς τις εντολές ή οτιδήποτε άλλο. + +*Κοίτα, ως προς τις εντολές, \.... όχι, δεν έχουν διαφορές. Τουλάχιστον σημαντικές διαφορές που να επηρεάζουν τον απλό χρήστη. Υπάρχουν διαφορές όμως στον τρόπο +που εγκαθιστάς καινούρια πακέτα, στον τρόπο που διαχειρίζεσαι γενικότερα το σύστημά σου, πως φτιάχνεις χρήστες, κτλ. Αυτά όμως είναι που κάνουν κάποιον να +προτιμήσει το alpha distribution από το beta, και το ανάποδο\...* + + +### [12. NT σε Linux]{#s12} + +Από : [Βαγγέλης Βλάχος](mailto:vagous@hol.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Ευχαριστώ που απαντήσατε στο προηγούμενο mail μου, πλέον έχω αποκτήσει το slackware linux αλλά θέλω και να δουλεύω και τα winNT. Θα ήθελα να μου απαντήσετε στο +πως θα μπορέω να έχω σαν κύριο OS το linux και μέσα από αυτό να τρέχω τα win NT, τα οποία βέβαια να βρίσκονται σε άλλο partition. (με εντολές linux). Ευχαριστώ +για τον χρόνο που μου αφιερώνετε + +*Μμμ, αυτό το \"με εντολές linux τι σημαίνει\"; Βασικά ψάχνεις για τρόπο να βαλεις στο Linux τα ΝΤ; Δεν υπάρχει. Το κοντινότερο που υπάρχει σε αυτό που θέλεις +είναι το BOCHS, αλλά δεν νομίζω ότι είναι για δουλειά ακόμα. Δηλαδή είναι σε alpha έκδοση κλπ κλπ κλπ συν το ότι δεν ξέρω αν δουλεύει με τα NT. Θα το βρεις στο +.* + + +### [13. Σύνδεση στο Internet]{#s13} + +Από : [Δημήτρης Τζέμος](mailto:djemo@tee.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Εχω το RedHat 5.0 Linux. Πως μπορώ να συνδέομαι με το modem provider (TEE Τεχνικό Επιμελητήριο Ελλάδος). Πως θα δώσω το DNS και χρησιμοποιώντας ποιό εργαλείο το +Network Configuration. Στο σύστημα μου εχω dos 6.22, windows 95 και σε άλλο partition Linux.(redhat 5). + +*Κατεβάζεις το xisp από το . Διαβάζεις το άρθρο για τις ρυθμίσεις του στο [τεύχος 5](../05/06_xisp.html). Είσαι έτοιμος :-)* + diff --git a/content/articles/07/01_editorial.md b/content/articles/07/01_editorial.md new file mode 100644 index 0000000..d7fd265 --- /dev/null +++ b/content/articles/07/01_editorial.md @@ -0,0 +1,34 @@ ++++ +title = 'Editorial' +date = '1998-09-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης' +issue = ['Magaz 07'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Να και το πρώτο τεύχος του Φθινοπώρου\... Τι καλό έχουμε εδώ; Το καλύτερο. Επέκταση της συντακτικής ομάδας του Magaz.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Εκτός από τους τέσσερις που ξεκινήσαμε δηλαδή οι [Βρυώνης Παναγιώτης](mailto:vrypan@hol.gr), [Γεωργάτος Φώτης](mailto:gef@ceid.upatras.gr), [Κεραμίδας +Γιώργος](mailto:keramida@ceid.upatras.gr) και [Καμπριάνης Μιχάλης](mailto:mkabrian@acropolis.gr) και τον [Ευριπίδη Παπακώστα](mailto:epapakostas@ametro.gr) που +προστέθηκε σιωπηρά λίγο αργότερα, τώρα έχουμε δύο νέα μέλη: τους [Κόκρα Νίκο](mailto:kokni@eexi.gr) και [Παπαδογιαννάκη Βαγγέλη](mailto:papas@rocketmail.com). +Αν φτάσουμε να είμαστε πιο πολλοί εμείς που γράφουμε από εσάς που διαβάζετε, να μας το πείτε να συμμαζευτούμε :-) + +Σε αυτό το τεύχος, υπάρχει το κλασικό πλέον [Linux zone](02_lz4.html) από τον Παναγιώτη Βρυώνη. + +Υπάρχει ένα πολύ χρήσιμο άρθρο από τον Νίκο Κόκρα σχετικά με το [σύστημα αρχείων του Linux](03_fs.html) + +Ο Ευριπίδης, πάντα πολυτεχνίτης, μας βοηθάει να στήσουμε το [wacom πενάκι μας στα X-Windows](04_wacom.html). Πιο κοντά στους γραφίστες; + +Ο Βαγγέλης Παπαδογιαννάκης προσπαθεί να βρει [σε ποιους απευθυνόμαστε και πως να τους προσεγγίσουμε](05_analysi.html). Σε όλους, Βαγγέλη :-) + +Τέλος, υπάρχει και η ανανεωμένη [λίστα Ελλήνων χρηστών Linux](../glist.html). Εσείς γραφτήκατε; Αν όχι, τρέξτε\... + +Και βέβαια, δεν θα μπορούσε να λείπει η, τεράστια αυτή τη φορά, [στήλη της αλληλογραφίας](06_mailbox.html). Εσείς μας γράφετε, κι εμείς\... + +Να σας υπενθυμίσω, ότι όπως πάντα, το magaz φιλοξενεί άρθρα, από όλους τους φίλους συνlinuxάδες, ενώ έχουμε ακόμα \"ανοιχτές θέσεις\" συνεργατών\... + +Καλή ανάγνωση, και καλό φθινόπωρο. diff --git a/content/articles/07/02_lz4.md b/content/articles/07/02_lz4.md new file mode 100644 index 0000000..43d85e0 --- /dev/null +++ b/content/articles/07/02_lz4.md @@ -0,0 +1,56 @@ ++++ +title = 'Linux Zone' +date = '1998-09-01T00:00:00Z' +description = '' +author = 'Παναγιώτης Βρυώνης' +issue = ['Magaz 07'] +issue_weight = 2 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το Linux Zone είναι μία στήλη που σκοπό της έχει να παρουσιάζει μερικές από τις εμπειρίες μου στον χώρο του Linux.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Δυστυχώς, λόγω χρόνου, το LinuxZone αυτού του μήνα θα είναι λίγο μικρό. Ας ελπίσουμε κάτι καλύτερο για το επόμενο. + +Πρώτα πρώτα, σχετικά με τα XFGreekFNTS και XFGreekKBD. Χρειάστηκαν λίγη ακόμη δουλειά και τώρα πια μπορείτε να τα βρείτε και τα δύο στο + Από τα e-mails που μου έχετε στείλει, έχω καταλάβει ότι τουλάχιστον σε RedHat 5.1 δουλεύουν χωρίς κανένα ιδιαίτερο πρόβλημα. +Λέω \"ιδιαίτερο\" γιατί όταν ξεκινάτε προγράμματα στα X-Windows μπορεί να δείτε μηνύματα όπως \"unknown character set\". Νομίζω ότι ο λόγος είναι μία +ασυμβατότητα μεταξύ glibc και X-Windows, αφού στην μέν πρώτη τα ελληνικά ορίζονται με gr\_GR ενώ στα δεύτερα με el\_GR. Παρά τα μηνύματα πάντως, δεν φαίνεται να +υπάρχει κανένα ουσιαστικό πρόβλημα. Αν κάποιος ξέρει την λύση στο παραπάνω πρόβλημα, ας μου στείλει ένα e-mail\... + +Μετά από τρείς μήνες που δεν είχα μπεί στα Windows95 ούτε μία φορά, αποφάσισα να χαρίσω στο Linux και το partition των Windows95. Το φορμάρισα λοιπόν σαν ext2 +partition (με + + mkfs -t ext2 /dev/hda1 + +), αντέγραψα τα περιεχόμενα του /usr/local σε αυτό και το έκανα mount στο /usr/local. + +Ένας από τους λόγους που ήθελα επιπλέον χώρο για το linux ήταν για να κατεβάσω ολόκληρο το CVS tree του GNOME (GNU Network Object Model Environment). Το +[GNOME](http://www.gnome.org) είναι ένα desktop environment (σκεφτήτε το κάτι σαν KDE). Αν και ακόμη βρίσκεται πολύ πίσω από το KDE (το οποίο από την version 1 +είναι πια σταθερότατο, λειτουργικότατο και ολοκληρωμένο) όλα δείχνουν όμως ότι δεν θα αργήσει να το φτάσει. Με δυνατότητες όπως η υποστήριξη του CORBA και +εντυπωσιακό look, πιστεύω ότι θα αποτελέσει ένα ακόμη πόλο έλξης για χρήστες και προγραμματιστές. Το σίγουρο είναι ότι KDE και GNOME θα κάνουν όλο και πιο +ενδιαφέρον το linux. + +Μετά από αρκετές δυσκολίες (οι οποίες τελικά προέρχονταν από το γεγονός ότι δεν κατέβαζα όλα τα modules την ίδια μέρα και δεν ήταν συγχρονισμένα) κατάφερα να το +κάνω compile αλλά δυστυχώς όχι και να το τρέξω\... Όποιος δεν έχει όρεξη να ταλαιπωρηθεί λοιπόν ας περιμένει λίγο καιρό, μέχρι οι εκδόσεις να γίνουν πιο +σταθερές, αλλά ας του δώσει μία ευκαιρία να αποδείξει τί αξίζει. + +Τα καλά νέα αρχίζουν και αποκτούν μορφή χιονοστηβάδας. Μετά την Netscape που δήλωσε την αμέριστη συμπαράστασή της στο linux, την πλατφόρμα \"μας\" αποφάσισαν να +υποστηρίξουν και οι Informix, Oracle και Corel!!! Όλα αυτά δείχνουν ότι αρχίζουν και μας παίρνουν σοβαρά. + +Για εμένα όμως τα καλύτερα νέα που άκουσα τον τελευταί καιρό προέρχονται από το φιλικό μου περιβάλλον\... Ένας φίλος που μετά από πλύση εγκεφάλου αποφάσισε να +βάλει linux μου δήλωσε εντυπωσιασμένος. Το θέμα είναι πρώτον ότι ο άνθρωπος δεν είναι κανένας unix-guru, ούτε είναι φοιτητής να έχει ατελείωτες ώρες να +\"ταλαιπωρεί\" και να ταλαιπωρείται από το μηχανημά του. Απλά του έδωσα το RedHat 5.1 και με λίγη τηλεφωνική υποστήριξη από εμένα κατάφερε να το εγκαταστήσει, +να βάλει το KDE, να κάνει να δουλέψει το ZIP drive, ο εκτυπωτής κ.λ. Αυτό που είναι όμως πιο ωραίο, είναι ότι είναι εντυπωσιασμένος από μία εφαρμογή που δεν +είναι web/mail/proxy/file/οτιδήποτε server, αλλά ένα πακέτο μαθηματικών, το octave. + +Το Octave είναι ένα free implementation του matlab, συμβατό με αυτό σε εντυπωσιακό βαθμό αλλά όχι 100%. Αφού το εγκατέστησε, μου δήλωσε ότι είναι καταπληκτικό +(αυτό από ένα χρήστη του Matlab σε Windows95\...) και ότι έχει βρει πράγματα που δεν μπορούσε να κάνει στο Matlab! Εγώ από μέρους μου θα συνεχίσω να τον βοηθάω, +αλλά του έχω πει ότι ΠΡΕΠΕΙ να γράψει ένα άρθρο για το magaz που να παρουσιάζει το Octave. Μείνετε συντονισμένοι. + +Κάτι ακόμη. Από έγκυρη πηγή έμαθα ότι ένα πρόγραμμα που χρησημοποιήται από τον στρατό μεταφέρθηκε από τα ακριβα συστήματα που είχαν σε ένα Pentium 100 με 16 ΜΒ +και linux με εντυπωσιακά αποτελέσματα. Οι άνθρωποι δεν πιστεύουν στα μάτια τους! + +Τελικά όποια πέτρα και να σηκώσεις, από κάτω θα βρεις το linux. Λέτε να γινόμαστε mainstream ; diff --git a/content/articles/07/03_fs.md b/content/articles/07/03_fs.md new file mode 100644 index 0000000..46ecd2c --- /dev/null +++ b/content/articles/07/03_fs.md @@ -0,0 +1,86 @@ ++++ +title = 'The Linux filesystem standard' +date = '1998-09-01T00:00:00Z' +description = '' +author = 'Νίκος Κόκρας mailto:kokni@eexi.gr(mailto:kokni@eexi.gr)' +issue = ['Magaz 07'] +issue_weight = 3 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Όπως όλοι γνωρίζουμε ακόμη και η πιο \"γυμνή\" εγκατάσταση του αγαπημένου μας λειτουργικού, έχει μια σειρά από directories, τα οποία δημιουργούνται αυτόματα +και είναι στην πλειονότητά τους απαραίτητα για την ορθή λειτουργία του συστήματος.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Η δομή του λεγόμενου directory tree είναι πιθανώς οικεία σε όσους έχουν εμπειρία και από άλλα \*nix-οειδή λειτουργικά. Το Linux δεν αποτελεί εξαίρεση, αν και +μικροδιαφορές πάντοτε παρατηρούνται. Αυτό που ακολουθεί είναι μια \*σύντομη\* παρουσίαση του filesystem. Για όποιον ενδιαφέρεται, υπάρχει το +[FSSTND](ftp://ftp.funet.fi/pub/Linux/docs/fsstnd). Αυτό είναι ένα standard που εξηγεί πολύ κατανοητά, τι υπάρχει, που και γιατί στην δομή του Linux filesystem + +Στο root, κανονικά δεν πρέπει να υπάρχουν αρχεία, προκειμένου να διατηρείται μικρό. Τα directories που περιέχει είναι: + +- /boot Σε αυτόν το κατάλογο βρίσκουμε τα απαραίτητα αρχεία για τον boot loader. Οι πυρήνες συχνά φυλάσσονται εδώ και γενικά όποιος χαλάσει αυτόν το κατάλογο, + κατά την επανεκκίνηση θα έχει\... κάποια\...προβλήματα. Σε συνδυασμό με το /sbin σηκώνουν το λειτουργικό.\ +- /etc (κλπ) Εδώ βρίσκει κανείς το μεγαλύτερο μέρος των configuration files τα οποία είναι ειδικά για κάθε σύστημα (δεν έχει νόημα ο διαμοιρασμός του). Γενικά + απαγορεύονται ρητά τα binaries (δεν ξέρω γιατί, καμία ιδέα ?) και τα υπό-directories που περιέχει είναι συνήθως: + - ppp Configuration για το PPP(d) + - init.d, rc.d Ανάλογα με το SysV ή το BSD στύλ, εδώ έχουμε τα αρχεία εκκίνησης του συστήματος + - X11 configuration gia το X Window system, + - skel configuration για το σκελετό των αρχείων που κατασκευάζονται όταν προστίθεται ένας χρήστης. +- /bin (binaries) Εκτελέσιμα αρχεία, απαραίτητα για την εκκίνηση του λειτουργικού, τα οποία μπορούν όμως να χρησιμοποιηθούν και από κανονικούς χρήστες μετά + την εκκίνηση. Γενικά λίγα πράγματα μπαίνουν εδώ, που χρειάζονται τόσο στον root όσο και στους απλούς χρήστες. Εάν κάτι δεν χρειάζεται στον root, τότε πάει + στο /usr/bin +- /sbin (system binaries) Ομοίως, το /sbin περιέχει εκτελέσιμα αρχεία απαραίτητα για την εκκίνηση, με την διαφορά όμως ότι αυτά δεν προορίζονται για χρήση από + τους κανονικούς χρήστες. Μαζί με τα /usr/sbin και /usr/local/sbin αποτελούν το \"οπλοστάσιο\" του root και καλόν θα ήταν να ρίξετε μια ματιά στα + permissions. +- /root Προφανώς το homedir του root. Δεν ισχύει για όλα τις Linux dists αφού συχνά ο root έχει σαν homedir το /. +- /proc Αυτός ο κατάλογος δεν υπάρχει πραγματικά στον δίσκο, αλλά αντίθετα αποτελεί δημιούργημα του πυρήνα αποκλειστικά στην μνήμη του συστήματος. Περιέχει + πολύ σημαντικές πληροφορίες τόσο για το hardware όσο και για το λειτουργικό. Εξερευνήστε ελεύθερα το σύστημά σας (π.χ. cat /proc/cpuinfo). +- /dev (devices) Σε αυτό το directory περιέχονται όλα τα devices. Απολύτως απαραίτητο και ο γενικός κανόνας είναι ότι δεν θέλετε να πειράξετε τίποτε εκεί + μέσα, πλην ίσως των sumbolic links π.χ. για το modem ή το mouse (καλύτερα να χρησιμοποιείτε τα πραγματικά devices και όχι symlinks). Περιέχει φυσικά και το + περίφημο MAKEDEV, τον καλύτερο τρόπο για να εκβιάσετε το \"που\_έβαλα\_το\_cdrom\_για\_την\_εγκατάσταση\_του\_Linux\" σε περίπτωση που παίξετε μαζί του + χωρίς να κατέχετε το αντικείμενο. +- /mnt (mount) Ένα dir, στην κορυφή του filesystem, κάτω από το οποίο οι sysadmins μπορούν προσωρινά να τοποθετούν filesystems που δεν φορτώνονται αυτόματα. + Καλόν είναι όλα τα εικονικά dirs (cdrom, floppy, poly\_spania\_mounted\_fs) να βρίσκονται κάτω από το /mnt και όχι στο / για να μην μπλέκονται στα πόδια + μας. +- /home Ο κατάλογος αυτός περιέχει τους υποκαταλόγους που αποτελούν τα homedirs των χρηστών. Εκτός από αυτούς, πολλοί server του συστήματος όπως π.χ. ο fptd, + η samba, o apache χρησιμοποιούν υποκαταλόγους κάτω από το home. Από τους καταλόγους που συνηθέστερα διαμοιράζονται και προτείνεται ανεπιφύλακτα η τοποθέτησή + του σε ξεχωριστό partition +- /tmp (temporary) Όπως λέει και το όνομά του είναι το temporary (προσωρινό) μέρος για την τοποθέτηση αρχείων. καμία σχέση με το \"swap\". Πολλοί ενώνουν το + /tmp με το /var/tmp προκειμένου να υπάρχει μόνο ένα tmp στο σύστημα (ιδανικά σε δικό του partition ή στο γενικά \"βρώμικο\" partition του /var). Θυμηθείτε, + ότι εδώ έχουν rwx permissions όλοι οι χρήστες. Πολλοί τολμηροί βάζουν το /tmp στην μνήμη, ιδίως σε μικρά συστήματα. +- /lib (libraries) Εδώ θα βρούμε πολύ βασικές shared libraries, οι οποίες είναι απαραίτητες σχεδόν για τα πάντα. Ένα directory που γενικά θέλει πολύ προσοχή + όταν παίζουμε με το root account. Περιέχει τον κατάλογο modules, όπου βρίσκονται τα modules που χρειάζεται ο kernel.. +- /usr (user) Το μεγαλύτερο directory του Linux, αφού σχεδόν όλα τα αρχεία εγκαθίστανται εδώ. Πολύ συχνά διαμοιράζεται σε ένα ολόκληρο τοπικό δίκτυο. Κανονικά + δεν χρειάζεται να γράψει κανείς τίποτε όποτε το ro στο mount είναι μια πιθανή επιλογή. Τα dirs που συχνά περιέχει είναι: + - X11R6 εδώ τοποθετούνται όλα τα αρχεία του X11R6, πλην του configuration (=/etc/X11) + - X386 ομοίως για το X11R5 + - bin Όλες οι εντολές που δικαιούνται να τρέξουν οι χρήστες που δεν έχουν ειδικά προνόμια + - dict κατάλογοι λεξικών + - doc όταν σας λένε RTFM, έρχεστε εδώ + - etc αντίστοιχο του /etc αλλά για χρησιμοποιείται για το configuration ενός ολόκληρου τοπικού δικτύου + - games χμμμμ\... + - include Header files για τα διάφορα προγράμματα + - info Ο κατάλογος του GNU-Info + - lib Βιβλιοθήκες + - local εδώ τοποθετούνται διάφορα αρχεία, για \"τοπική\" χρήση. Αν το /usr γίνεται mount από nfs server τότε το /usr/local ιδανικά έχει δικό του partition + - man on-line manuals + - sbin εκτελέσιμα για την διαχείριση του συστήματος, που δεν είναι όμως ζωτικής σημασίας + - share δεδομένα που διαμοιράζονται και δεν εξαρτώνται από αρχιτεκτονική (i386, alpha κλπ) + - src εδώ τοποθετείται ο πηγαίος κώδικας +- /var (variable data) Εδώ περιέχονται μια σειρά από καταλόγους και αρχεία. Μερικοί υποκατάλογοι μπορεί να διαμοιραστούν σε περισσότερα συστήματα (π.χ. + /var/spool/mail) ενώ άλλα, όπως το /var/log ή /var/lock είναι ειδικά για κάθε σύστημα. Οι συνηθέστεροι και σημαντικότεροι υποκατάλογοι είναι: + - catman εδώ βρίσκουμε τις man pages που έχουν φορμαριστεί + - lib σε αυτόν το κατάλογο υπάρχουν πληροφορίες σχετικά με την κατάσταση των προγραμμάτων που τρέχουν + - local σε αυτόν τον κατάλογο αποθηκεύονται δεδομένα από προγράμματα του /usr/local + - lock αρχεία που υποδηλώνουν το \"κλείδωμα\" μιας συσκευής. + - log logs (ημερολόγια) που κρατούνται από όσα προγράμματα το υποστηρίζουν. + - named αρχεία του DNS, όπως παράγονται από το bind. + - nis περιέχεται η database για το nis + - preserve εδώ με λίγη τύχη θα βρείτε το υπόλοιπο της δουλείας σας, μετά από crashes. + - run εδώ βρίσκουμε αρχεία που παράγονται από προγράμματα που τρέχουν. + - spool εδώ βρίσκετε η \"ουρά\". Σε υποκαταλόγους βρίσκουμε e-mail, news, printer jobs κλπ + - tmp προσωρινά αρχεία που καταχωρούνται εδώ με σκοπό να περιοριστεί το μέγεθος του /tmp +- /opt (optional) Αυτό το directory δεν δημιουργείται πάντα από τις γνωστές διανομές και δεν περιγράφεται στο Linux Filesystem Standard. Είναι η τελευταία + μεγάλη προσθήκη στο /, και σκοπός της είναι να δωθεί η δυνατότητα σε μεγάλα commercial προγράμμα να έχουν ένα δικό τους top-level directory (ιδανικά σε + ξεχωριστό partition). Ουσιαστικά εδώ μπαίνουν προγράμματα που δεν μπορούν να πάνε στο /usr γιατί το τελευταίο έχει μεγαλώσει υπερβολικά. diff --git a/content/articles/07/04_wacom.md b/content/articles/07/04_wacom.md new file mode 100644 index 0000000..f456e51 --- /dev/null +++ b/content/articles/07/04_wacom.md @@ -0,0 +1,128 @@ ++++ +title = 'WACOM PAD and X11' +date = '1998-09-01T00:00:00Z' +description = '' +author = 'Ευριπίδης Παπακώστας' +issue = ['Magaz 07'] +issue_weight = 4 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Τι θα κάνετε το Wacom πενάκι σας τώρα που θα σβήσετε τα windows;* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**![](/07/img/wacom.png)** + +Το ότι αποφασίσατε να πετάξετε τα windows, δεν είναι λόγος να χάσετε και τις μέχρι τώρα ευκολίες που είχατε και τα λεφτά που δώσατε για να αγοράσετε τοWacom +πενάκι σας. + +Επιχειρήσαμε λοιπόν να το στήσουμε σε Linux πράγμα που τελικά αποδείχθηκε τετριμμένο. Το μόνο μας πρόβλημα είναι πως δεν μπορέσαμε να βρούμε συγκεκριμένες +οδηγίες και βοήθεια κάπου στο Internet (παρόλο που σε όλα τα sites που επισκεφθήκαμε όλοι λέγανε πως είναι πλεον πολύ εύκολο να εγκτασταθεί κλπ) και +αναγκαστήκαμε να πάμε μόνοι μας με την μέθοδο trial and error. + +Τα συστήματα που χρησιμοποιήσαμε είναι: RedHat 5.0 και RedHat 5.1 (στα distributions αυτά υπάρχει μια library - module υποστήριξης Wacom στα Χ που ονομάζεται  +xf86Wacom.so) + +**Συνδεση του WACOM PAD** + +Συνδέουμε το πενάκι μας στη δεύτερη σειριακή του υπολογιστή μας, στο δικό μας παράδειγμα είναι η ttyS1. Επειδή το δικό μας πενάκι έχει 9πινο βύσμα και στην +9πινη σειριακή είχαμε το ποντίκι, χρησιμοποιήσαμε μετατροπέα βύσματος. + +**/etc/X11/XF86Config** + + cd /etc/X11/ + + cp XF86Config XF86Config.old + +(Αυτό για backup γιατί κανείς δεν είναι τέλειος).\ +Αλλάζουμε τώρα το XF86Config :\ +Βγάζουμε από τα σχόλια ή δημιουργούμε εάν δεν υπάρχει κάτι τέτοιο, τις παρακάτω γραμμές : + + Section "Files" + + ... + +     ModulePath "/usr/X11R6/lib/modules" + + ... + + EndSection + + Section "Module" + + ... + +  Load "xf86Wacom.so" + + ... + + EndSection + + Section "Xinput" + + ... + +    SubSection "WacomStylus" + +        Port "/dev/ttyS1" + +        DeviceName "Wacom" + +    EndSubSection + +    SubSection "WacomCursor" + +        Port "/dev/ttyS1" + +    EndSubSection + +    SubSection "WacomEraser" + +        Port "/dev/ttyS1" + +    EndSubSection + + ... + + EndSection + +\ +Το σώζουμε. + +**XWindows** + +Αρχίζουμε τα X. Ακόμα τα X χρησιμοποιούν σαν συσκευή οδήγησης του κέρσορα το ποντίκι. Για να αλλάξουμε σε Wacom από ένα xterm γράφουμε: + + xsetpointer Wacom + +Αν τα πράγματα πήγαν καλά, τότε τον έλεγχο του κέρσορα αναλαμβάνει το Wacom και το ποντίκι δεν κάνει πλέον τίποτα. + +Για να ξαναδώσουμε τον έλεγχο στο ποντίκι, από ένα xterm γράφουμε: + + xsetpointer Pointer + +Σε περίπτωση που έχετε kde, μπορείτε να δώσετε τις παραπάνω εντολές πατώντας: + + Alt-F2 + +όπου θα εμφανιστεί ένα command line.\ + +**.xinitrc** + +Σε περίπτωση που θέλουμε να ξεκινάμε πάντα με pointing device το Wacom, πηγαίνουμε στο \$HOME/.xinitrc και προσθέτουμε τις γραμμές : + + xsetpointer Wacom + +αμέσως πριν τα + + if [ -f ....... + +Το σώζουμε. + +**Παρατηρήσεις** + +Αντίθετα με τα Windows, στο Linux ο κέρσορας μπορεί να ελεγχθεί από μια μόνο τη φορά συσκευή, το ποντίκι ή το Wacom (αυτό μπορεί και να μην ισχύει για κάποια +άλλη προσέγγιση, αλλά στην δική μας δεν μπορέσαμε να χρησιμοποιήσουμε ταυτόχρονα και τις δύο pointing devices). + +Αντε και καλές δημιουργίες :-) diff --git a/content/articles/07/05_analysi.md b/content/articles/07/05_analysi.md new file mode 100644 index 0000000..d33748b --- /dev/null +++ b/content/articles/07/05_analysi.md @@ -0,0 +1,78 @@ ++++ +title = 'Ποιοί έρχονται στο Linux' +date = '1998-09-01T00:00:00Z' +description = '' +author = 'Βαγγέλης Παπαδογιαννάκης' +issue = ['Magaz 07'] +issue_weight = 5 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Εν αρχή είναι η σκέψη\...* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Έτσι τουλάχιστον νομίζω εγώ, και κάτι ντος και κάτι γουίντοους που υποτιμούν τη νοημοσύνη μου, τα έχω γραμμένα με ανεξίτηλη μπογιά στα παλαιότερα των υποδημάτων +μου. Δεν είμαι αναγκασμένος -τώρα πια- να έρχομαι σε επαφή με τέτοιου είδους λειτουργικά\... Χάρη στο Linuxάκι μου φυσικά, που τώρα τελευταία έχει γίνει ο +αχώριστος σύντροφός μου σε όλες τις περιηγήσεις μου στον κόσμο των πισιών. ΣΣ: Στο εξής τα γουίντοους θα αναφέρονται ως \"ακατονόμαστα\", Το ότι τα ακατονόμαστα +είναι το πλέον άχρηστο των αχρηστοτέρων λειτουργικών, είναι αυταπόδεικτο. Δεν θα ασχοληθώ με αυτό. Έχω βαρεθεί να το εξηγώ, και δεν θέλω να ξαναμπώ σε τέτοιου +είδους ψυχοφθόρα διαδικασία, μια και μόνο το να τα αναφέρω μου φέρνει αναγούλα. Όσοι θέλουν να πληροφορηθούν για τις ελλείψεις, τις κλεψιές και τις ατέλειές +τους, μπορούν να ψάξουν λίγο στο δίκτυο, και θα βρουν πολλές πηγές. Η πιο αξιόπιστη φυσικά, είναι η ίδια η μαμά τους, και φυσικά εννοώ το \"κόλλημα\" που έφαγαν +τα ακατονόμαστα 98 κατά την παρουσίασή τους. Αλλά, ο σκοπός αυτού του άρθρου, δεν είναι αυτός\... Σκοπός του είναι να αναλύσει γιατί οι περισσότεροι χρήστες δεν +στρέφονται στο Linux, αλλά προτιμούν την πλατφόρμα των ακατονόμαστων. + +ΠΡΟΣΟΧΗ!!! Εδώ, υπάρχει μια παγίδα (και αυτό είναι το λάθος που κάνουμε οι περισσότεροι προσπαθώντας να φέρουμε κόσμο στον κόσμο μας). Αρχίζοντας λοιπόν, ας +κάνουμε μερικές παραδοχές. + +1. Τα ακατονόμαστα είναι πολύ απλά (Δες και πάτα - View & click). +2. Τα ακατονόμαστα είναι (και) ελληνικά. +3. Τα ακατονόμαστα είναι γεμάτα εφαρμογές, οδηγούς για συσκευές και έχουν πολλές ευκολίες. +4. Τα ακατονόμαστα είναι πολύ καλαίσθητα. + +Μετά από όλα αυτά, ας δούμε τι θα μπορούσε να κάνει ένας χρήστης. Αλλά και εδώ υπάρχει παγίδα, γιατί χρήστης είναι ο πιτσιρικάς που αγόρασε υπολογιστή την +προηγούμενη εβδομάδα, αλλά και αυτός που θέλει το πισί για να βλέπει τσόντες στο δίκτυο. Είναι επίσης ο σχεδιαστής μακέτας, αλλά και η γραμματέας μιας +επιχείρησης που το αφεντικό της της είπε να κρατήσει ένα \"αρχείο\" με τους πελάτες. Ποίος λοιπόν από τους ανωτέρω θα κάνει χρήση Linux ;;; ΚΑΝΕΝΑΣ. Και +εξηγούμαι πάραυτα. + +- Ο μικρός που αγόρασε πισι την προηγούμενη βδομάδα, θέλει να παίξει το παιχνιδάκι του, και φυσικά θα το κάνει στα ακατονόμαστα, αφ\' ενός γιατί θα βάλει το + CD και θα παίξει αμέσως, και αφετέρου γιατί παιχνίδια θα βρει σε αυτή την πλατφόρμα κυρίως. Αλλά δεν είναι αυτοί οι μοναδικοί λόγοι που θα τον οδηγήσουν σε + αυτή την απόφαση. Που θα βρει οδηγούς για την \"βουντού ΘριΝτι\" με τα 8 μεγαβύτια που αγόρασε πρόσφατα; Και αν βρει για το Linuxάκι, πως θα τους + εγκαταστήσει; (είναι παραδεκτό ότι η υποστήριξη σε συσκευές από το Linux είναι σχετικά δύσκολη υπόθεση) Αλλά και να το εγκαταστήσει, που θα βρει παιχνίδια + να διασκεδάσει το παιδί; Aρα λοιπόν, τον ξεχνάμε\... Η μόνη λύση για αυτόν είναι να του δώσουμε να καταλάβει ότι τα παιχνίδια φτιάχτηκαν για τον υπολογιστή, + και όχι ο υπολογιστής για τα παιχνίδια. Να τον σπρώξουμε δηλαδή σε σοβαρότερα πράγματα, ώστε να μπορεί να εκτιμήσει τις αρετές του Linux. ΔΕΝ πρέπει όμως να + τον τραβήξουμε από τα \"γκέιμς\" του, τουλάχιστον στην αρχή. Όλοι κάπως έτσι ξεκινήσαμε\... Για το συγκεκριμένο χρήστη, ισχύουν οι παραδοχές (3) και (4). + Και -φυσικά- δεν έχει κανένα λόγο να χρησιμοποιήσει έτερα λειτουργικά πλην τα ακατονόμαστα. +- Επόμενη κατηγορία, ο τσοντόβιος. Και να λείπουν τα σχόλια του τύπου \"Σιγά μωρέ, και πόσοι είναι αυτοί\" γιατί αν ήταν λίγοι, το δίκτυο δεν θα ήταν μια + απέραντη τσόντα. (Aλήθεια, what a waste of bandwidth\...). Στη συγκεκριμένη περίπτωση, τον υπολογιστή χειρίζεται ένας τυπάκλας (μουστακαλής και σαπιοκοιλιάς + κατά κύριο λόγο) που (άντε και αν) ξέρει τα βασικά αγγλικά. Τι θέλει λοιπόν αυτός; Να ανοίξει τον υπολογιστή του, να πατήσει \"κονέκτ\", και να γράψει + \"www.playboy.com\". Να βάλει τον κώδικα, και να δει την πάμελα με τα πόδια ανοικτά. Πως λοιπόν να χρησιμοποιήσει Linux? Από τη μια θέλει (τουλάχιστον) μια + βδομάδα μέχρι να καταφέρει να βάλει τα ελληνικά, και άλλη μια εβδομάδα (επίσης τουλάχιστον) να καταφέρει να συνδεθεί. Και με την προυπόθεση ότι έχει + εγκαταστήσει τα Χ, γιατί, πως να το κάνουμε, θέλει να βλέπει παραθυράκια. Πάει κι αυτός!!! +- Προχωρώντας, φτάνουμε στο μακετίστα που δεν μπορεί να φτιάξει τις μακέτες του στο CorelDraw! 3.5 (το μόνο Corel για UNIX), γιατί πως θα κάνει Μπλέντ στα δύο + σχήματα; Και πώς θα κάνει όλα αυτά που κάνει το Corel8 που έχει (κλέψει) για το ακατονόμαστο λειτουργικό του? Πως θα τυπώσει χωρίς όλες αυτές τις ευκολίες + που του παρέχουν τα ακατονόμαστα; Να χρησιμοποιήσει Ghostscript; Τς-τς-τς\... Για ποιόν τον περάσατε? +- Για την γραμματέα της \"μεγαλοεπιχείρησης\" της γειτονιάς, δεν νομίζω ότι χρειάζονται αποδεικτικά. Η γυναίκα, γεννήθηκε πριν 30 χρόνια, και φυσικά δεν ξέρει + τίποτα από υπολογιστές. Το αφεντικό της όμως μέσα στην παραζάλη του για τη μηχανογράφηση της εταιρίας του (είναι πολύ τις μόδας αυτό τώρα τελευταία), της + πήρε ένα πισι, την έχωσε και σε ένα σεμινάριο να μάθει γουόρντ και εξέλ, την έκατσε σε μια καρέκλα, και της είπε: \"κάνε μου ένα αρχείο με όλους τους + πελάτες μου, και μετά γράψε αυτή την προσφορά\". Η γυναίκα λοιπόν (πολύ φυσικά) άνοιξε τον κομπιούτορα (όπως συνηθίζει να τον αποκαλεί), άναψε τσιγάρο + περιμένοντας να μπει στα ακατονόμαστα, εμφανίστηκε μπροστά της το γραφικό περιβάλλον με τα ελληνικά (μάλιστα κύριοι, ελληνικά) και άνοιξε και το γουόρντ + (πολύ πιθανόν να το είχε και στο \"Εκκίνηση\" για να φορτώνει αμέσως). Έγραψε την προσφορά, πάτησε στο κουμπί με τον εκτυπωτή, και το πήρε έτοιμο! Μετά + άνοιξε το εξέλ, έγραψε τις επικεφαλίδες, και άρχισε να γράφει τους πελάτες. Το αφεντικό της έδωσε συγχαρητήρια, και όλοι ήταν χαρούμενοι! Το καλύτερο + φυσικά, είναι ότι γυρίζοντας στο σπίτι της, η γυναίκα έβριζε τους υπολογιστές και τη νέα τεχνολογία γιατί της κάνει τη ζωή \"δύσκολη\". Αυτού του είδους + τους χρήστες ΔΕΝ ΤΟΥΣ ΘΕΛΟΥΜΕ στο Linux. + +Ποιοι λοιπόν έμειναν να χρησιμοποιήσουν το Linux; Μα φυσικά εμείς, οι χρήστες που είχαμε από το 198x υπολογιστή, που στο πανεπιστήμιο ή το ΤΕΙ μας κάναμε μάθημα +πληροφορικής σε UNIX BOXES, εμείς που έχουμε βαρεθεί να μας κολλάνε τα λειτουργικά. Εμείς που δεν μας ενδιαφέρει τόσο η καλαισθησία όσο η αποτελεσματικότητα του +λειτουργικού μας, η ασφάλεια των δεδομένων μας και η ομοιογένεια του οικοδομήματος \"Υπολογιστής\". Ο κόσμος που θα έρχεται στο Linux, θα είναι αυτός και μόνο +αυτός που έχει σιχαθεί τα σικέ σκηνικά και τα προγράμματα με τις αυτόματες ρυθμίσεις. Θα είναι τα άτομα που θέλουν το λειτουργικό τους έτσι, αλλά όχι ακριβώς +έτσι, θέλουν να υποστηρίζουν αυτό που έχουν, και όχι αυτό που θα μπορούσαν να έχουν αν είχαν λεφτά με ουρά. Θα είναι τα άτομα που δίνουν σημασία στην ανθρωπιά, +που νοιάζονται για τη γνώση. Είναι τα ίδια άτομα που δίνουν τον κώδικα του προγράμματος για χρήση ή/και αλλαγές από τον καθένα, φυσικά για τον καθένα, από άτομα +με ευρείς πνευματικούς (και κατ\' επέκταση ψυχικούς) ορίζοντες, που δεν θέλουν να πλουτίσουν από τη δουλειά που έκαναν\... Ξέρουν άλλωστε ότι η γνώση δεν +περιορίζεται σε τσέπες. Βοηθήστε τον κόσμο να έρθει κοντά στο Linux. Μην αφήνετε κανέναν να φεύγει. Ακόμα και τη γραμματέα, ακόμα και τον τσοντόβιο. Απαντάτε σε +όλες τις ερωτήσεις του κόσμου, όσο απλές και ηλίθιες και αν είναι. Δείξτε τους τι σημαίνει να είσαι άνθρωπος ελεύθερος, και σίγουρα θα το εκτιμήσουν. Μην κάνετε +το λάθος να νομίζετε ότι επειδή χρησιμοποιείτε ένα (εξελιγμένο και δύσκολο) λειτουργικό σύστημα που απαιτεί πολλές γνώσεις σε όλα τα επίπεδα των υπολογιστών +είσαστε ανώτεροι από το νεαρό που παίζει TombRaider. Βάλτε ανθρωπιά στο χώρο, και μην αντιμετωπίζετε ειρωνικά τους νέους στον χώρο. + +ΣΣ: Τα ανωτέρω αναφέρονται ως παράπονα για την αντιμετώπισή μου από κάποιους Linuxάδες\... Στην πορεία κατάλαβα ότι μέσα σε 3-4 μήνες που ασχολούμαι με το Linux +έχω μάθει πολύ περισσότερα πράγματα από αυτούς. Και πάντα θα είμαι πρόθυμος να απαντήσω (εφόσον μπορώ, μια και το επίπεδό μου δεν είναι ικανοποιητικό ακόμα) σε +όλες τις ερωτήσεις που θα μου απευθυνθούν. Όχι τίποτα άλλο, αλλά μέσα από τις απαντήσεις που δίνω, μαθαίνω περισσότερα και εγώ\... diff --git a/content/articles/07/06_mailbox.md b/content/articles/07/06_mailbox.md new file mode 100644 index 0000000..8204064 --- /dev/null +++ b/content/articles/07/06_mailbox.md @@ -0,0 +1,606 @@ ++++ +title = 'Αλληλογραφία' +date = '1998-09-01T00:00:00Z' +description = '' +author = '' +issue = ['Magaz 07'] +issue_weight = 6 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Και, για άλλη μια φορά, είχαμε τόσα πολλά γράμματα που μας δίνουν κουράγιο να συνεχίσουμε. Τόσα πολλά, που ορισμένα \"κόπηκαν\" λόγω χρόνου και πολύ +συγκεκριμένων προσωπικών θεμάτων.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Δύο παρακλήσεις μόνο έχουμε να κάνουμε:\ +α) Να βάζετε ένα θέμα σχετικό με την ερώτηση στο mail σας. Ένα θέμα της μορφής Ερώτηση περί Linux δεν βοηθάει ιδιαίτερα.\ +β) Να ρίχνετε και καμιά ματιά στα περασμένα τεύχη, και εννοώ και την στήλη της αλληλογραφίας, αλλά και τα άρθρα. Ίσως κάποιες ερωτήσεις να απαντούνται από +εκεί.\ +Τέρμα οι \"γκρίνιες\", ας διαβάσουμε τώρα τι μας ρωτήσατε και τι σας απαντήσαμε αυτό το μήνα. + +**1. Εγκατάσταση του RedHat, πρόβλημα χώρου.** +------------------------------------------------------------------------ + +**2. Γενικές ερωτήσεις για X, KDE, παιχνίδια του RedHat** +----------------------------------------------------------------------------------- + +**3. Scanner** +---------------------------------------- + +**4. Metro-X server** +----------------------------------------------- + +**5. Προβλήματα με το compilation του KDE** +--------------------------------------------------------------------- + +**6. Νίκος Πασσάς** +--------------------------------------------- + +**7. Σχετικά με κάποιες μεταβλητές περιβάλλοντος** +---------------------------------------------------------------------------- + +**8. AOL για Linux** +---------------------------------------------- + +**9. Σύνδεση OTEnet, Graphical Development tool και compilation** +------------------------------------------------------------------------------------------- + +**10. Προβλήματα με το compilation του KDE** +------------------------------------------------------------------------ + +**11. Ρυθμίσεις pppd** +-------------------------------------------------- + +**12. Χμμμ, ένα πολά βαρύ** +------------------------------------------------------- + +**13. Ερώτηση για μνήμη μεγαλύτερη από 64 Mb** +-------------------------------------------------------------------------- + +**14. PPP ρυθμίσεις, modem.** +--------------------------------------------------------- + +**15. Πολλαπλοί επεξεργαστές** +---------------------------------------------------------- + +**16. Κάρτα γραφικών και KDE** +---------------------------------------------------------- + +**17. MS Word σε html ή txt** +--------------------------------------------------------- + +**18. AMD, KDM, CDE και αναλύσεις οθόνης.** +----------------------------------------------------------------------- + + +### [1. Εγκατάσταση του RedHat, πρόβλημα χώρου.]{#s1} + +Από : [Νίκος Γιαντσίδη](mailto:nickg@otenet.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Αγαπητοί Linuxάδες γειά σας,\ +Έχοντας βαρεθεί τα Windows αγόρασα το Red hat Linux 5.0.Οι προσπάθειες για την εγκατάστασή του στον υπολογιστή μου δεν έφεραν αποτέλεσμα γι\' αυτό ζητώ την +βοήθειά σας αφού έχουν περάσει οι 30 ημέρες από την αγορά του λειτουργικού και η Red hat δεν μου δίνει βοήθεια. + +Έχω 2 σκληρούς δισκους: 2.3GΒ και 500 MB. Προσπάθησα να εγκαταστήσω το Linux στον σκληρό των 500 ΜΒ βάζοντας στο disk druid τα εξής: + + όνομα "/" hdb1 80MB Linux native + + "main" hdb5 372MB Linux native + + hdb6 66MB Linuxswap + +Αφού όρισα τι θέλω να εγκαταστήσω άρχισε η διαδικασία της μεταφοράς των δεδομένων στο σκληρό δίσκο.Ύστερα από κάποια λεπτά είδα στην οθόνη μου τα εξής μυνήματα +το ένα μετά τo άλλo: + + Rpm install of gimp failed:unpacking of archive failed on + file/s/share/gimp/0.99.12/patterns/blob.pat:-1:success + + Rpm install of gimp-develfailed:unpacking of archive failed on file + /usr/lip/lipgimp-a:-1 success + +Αφού έβγαλε κάποια μηνύματα ακόμη η εγκατάσταση σταμάτησε. Σας παρακαλώ να μου πείτε γιατί δεν εγκαταστήθηκε σωστά και τι θα πρέπει να δηλώσω στο disk druid για +να εγκαταστήσω σωστά το Linux σε ένα σκληρό 500ΜΒ.\ +Συγχαρητήρια για την προσπάθειά σας να στήσετε ένα web server για το Linux. + +*Φίλε Νίκο.\ +Αν και οι πληροφορίες που μας στέλνεις δεν είναι αρκετές, θα κάνω μία πρόβλεψη: Απ\' ότι φαίνεται, ο δίσκος σου γέμισε. Και για να γίνω πιο σαφής: Το standard +filesystem του Linux (όπως και όλων των Unix) αποτελείται από τα εξής ειδικά directories:\ +/ ή root. Κάτω από αυτό υπαρχουν όλα τα άλλα. Μπορεί να είναι αρκετά μικρό, σαν μέγεθος.\ +/usr το μεγαλύτερο directory του συστήματος. Συνήθως εκεί μπαίνουν τα προγράμματα. Το πιο προβλέψιμο directory. Το αρχικό του μέγεθος μετά την εγκατάσταση, κατά +πάσα πιθανότητα θα παραμείνει το ίδιο και μετά από πολύ καιρό.\ +/usr/local ως μέρος του /usr, καταλαβαίνεις ότι έχει και αυτό προγράμματα.Υπάρχουν κάποιες διαφορές σχετικά με το τι μπαίνει στο ένα και τι στο άλλο, αλλά +γενικά θεώρησε το το ίδιο. Όχι όμως τόσο σταθερού μεγέθους όπως το /usr.\ +/var τα logs του συστήματος, το mail, η ουρά (spool) των εκτυπωτών κλπ. Το πιο απρόβλεπτο directory του συστήματος.\ +/home τα home directories των χρηστών.\ +/opt τα optional προγράμματα. Αυτό νομίζω ότι ξεκίνησε από τα Sun αλλά υπάρχει σίγουρα και στα RedHat, Caldera, Suse.\ +Ο διαχωρισμός αυτός έχει έννοια κυρίως για μεγάλα συστήματα με πολλούς δίσκους, όπου βάζεις μερικά από αυτά τα directories σε άλλους δίσκους (οπότε και δεν +ονομάζονται πλέον directories αλλά filesystems, αφού δεν είναι στον ίδιο φυσικό δίσκο με το /).\ +Μία τυπική εγκατάσταση θέλει γύρω στα 380 Mb νομίζω για το RedHat. Το πρόβλημά σου είναι το εξής: Του έχεις δώσει μόνο 80 (αφού όπως είδες κανένα filesystem που +να το καταλαβαίνει το σύστημα δεν ονομάζεται main). Άρα πρέπει να του δώσεις πιο φυσιολογικές τιμές στα filesystems που θα φτιάξεις (ή αλλιώς, partitions). Το +main καλό είναι να μην υπάρχει καθόλου, αφού δεν νομίζω να βάλεις τελικά τίποτα εκεί μεσα :-) Για μία πρότσαη μεγέθους τρων filesystems, δες το τεύχος 3, γράμμα +3 (Γράμματα σε συνέχειες). Έχε υπόψη σου ότι αν τελικά κάνεις ένα μόνο partition (το /) δεν θα έχεις πρόβλημα, εκτός αν για κάποιο λόγο γεμίσει το var (αν ας +πούμε αρχίσει να σου πετάει ο kernel ΠΟΛΛΑ μηνύματα και δεν το πάρεις χαμπάρι, ή αν αρχίσει κόσμος να στέλνει πολλά και μεγάλα αρχεία για εκτύπωση, πολύ πιο +γρήγορα απ\' ότι μπορεί να τυπώσει ο εκτυπωτής σου).\ +Η απάντηση δεν είναι σωστή ως προς τον ορισμό των directories, filesystems, partitions, αλλά έκανα επίτηδες αυτό το \"λάθος\" για να το κάνω πιο κατανοητό. +Ελπίζω να τα κατάφερα (και να μην τα έκανα θάλασσα!).\ +Σου ευχόμαστε καλή τύχη.* + + +### [2. Γενικές ερωτήσεις για X, KDE, παιχνίδια του RedHat]{#s2} + +Από : [Νίκος Γιαντσίδη](mailto:nickg@otenet.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Ευχαριστώ πολύ για την βοήθεια .Άργησα να σου στείλω e-mail αφού δεν ήξερα οτι αν έγραφα win δίπλα από το lilo boot θα μπορούσα να μπω στα windows 95 για να +συνδεθώ στο Internet. Αλήθεια μήπως ξέρεις πως μπορώ να συνδεθώ στο Internet από το Red Hat Linux;(Ο navigator υπάρχει ήδη εγκατεστημένος) + +*Όπως έχουμε απαντήσει πολλές φορές στο Magaz, δεν μπορούμε να ξέρουμε για κάθε distribution τι χρειάζεται. Μπορούμε όμως να ξέρουμε ένα υπέροχο προγραμματάκι +που λέγεται XISP και κάνει αυτή τη δουλειά ανεξαρτήτως distribution. Λεπτομέρειες, στο τεύχος 5 του Magaz.* + +Μερικά παιγνίδια που έχω εγκαταστήσει δεν τρέχουν όταν κάνω κλίκ στο μενού. Μήπως ξέρεις τι φταίει; + +*Έλεγξε αν πράγματι υπάρχουν αυτά τα εκτελέσιμα, και αν υπάρχουν, αν το μενού δείχνει στα σωστά σημεία.* + +Από που μπορώ να δω πόσο ελεύθερο χώρο έχω στο σκληρό δίσκο όπου έχω εγκατεστημένω το linux; + +*Magaz τεύχος 4, ερώτηση 7* + +Ακόμη μπορώ να εγκαταστήσω στο σύστημά μου το KDE; Τι θα γινουν ύστερα τα x windows; Μπορώ χωρίς να έχω εγκαταστήσει το KDE να εγκαταστήσω το star office; + +*Τα X windows με το KDE δεν έχουν καμία σχέση. Το ένα είναι GUI ενώ το άλλο είναι Working Environment με έναν Window Manager που, προφανώς, δουλεύει πάνω από τα +X. Συνοπτικά: και βέβαια μπορείς να εγκαταστήσεις το KDE, οπως και το Afterstep, ή το Gnome, η το fvwm, ή όποιο άλλο Window Manager θέλεις. Το KDE και το +StarOffice, επίσης δεν έχουν καμία σχέση. Το StarOffice όμως ως γραφικό πακέτο, χρειάζεται τα X.* + +Βλέπεις έκανες μεγάλο λάθος να μου απαντήσεις την προηγούμενη φορά αφού τώρα επέστρεψα με περισσότερες απορίες . ;-) + +*Κανένα πρόβλημα να απαντάμε στις απορίες. Δύο μόνο παρατηρήσεις:\ +α) Οι ερωτήσεις αυτές να απευθύνονται στο Magaz και όχι σε εμένα προσωπικά.\ +β) Καλό θα ήταν πριν κάνεις μια ερώτηση να ελέγχεις τα παλιότερα τεύχη του Magaz για την περίπτωση που έχει απαντηθεί.\ +Βλέπεις, δυστυχώς ο χρόνος μας είναι περιορισμένος και δεν είναι το πιο ευχάριστο πράγμα να απαντάς μία ερώτηση που την έχεις ξανααπαντήσει. Σε παρακαλώ, σε +καμία περίπτωση μην πάρεις την απάντησή μου σαν επιθετική (κλασικό πρόβλημα με το e-mail, δεν βλέπεις την έκφραση του άλλου όταν σου μιλάει για να καταλάβεις με +τι ύφος σου μιλάει). Είμαστε πάντα εδώ να σου λύσουμε την οποιαδήποτε απορία.* + + +### [3. Scanner]{#s3} + +Από : [Γιώργο Κολοζώφ](mailto:gio@andromeda.kke.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Γεια σας, έχω ένα scanner HP-ScanJet format A4 και δέν έχω ούτε driver για dos και ούτε για linux. Που μπορώ να βρώ drivers για scanner για linux ?! :) + +*Το πακέτο που υποστηρίζει scanners στο Linux λέγεται sane και θα το βρείς στο * + +Έχω το kernel 2.0.35 και κάτι άλλο, που μπορώ να βρω το πακέτο για Linux της CALLDERA στην Αθήνα; Έψαξα ζε όλη την Στουρνάρα και δεν το βρήκα\... :( + +*Δεν θα το βρεις, δεν το φέρνει κανένας.* + +bye byte\..... + +POWARE TO THE PEAPLE\...\... + +*Bye byte (μου άρεσε!!!)* + + +### [4. Metro-X server]{#s4} + +Από : [Χρήστος Βαρελάς](mailto:cvar@startrek.csd.auth.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Γεια σας παιδιά,\ +Πώς πάτε εκεί στο Magaz; Ναι, ξέρω, σαν πολλές οικειότητες, φαίνεται παραπήρα θάρρος :-)\ +Ας έρθω όμως στο θέμα του mail μου. Τρέχω το RedHat Linux 5.1 σ\' έναν Pentium 133 με μπόλικη RAM και χρησιμοποιώ το τελευταίο XFree86 πακέτο για να οδηγώ την +Diamond Stealth 3D 2000 κάρτα μου. Είμαι αρκετά ευχαριστημένος από την απόδοση του server, ωστόσο θα ήθελα κάτι γρηγορότερο, οπότε και προσανατολίζομαι στους +servers της MetroLink, συγκεκριμένα την έκδοση 4.3 \-- η τιμή τους είναι αρκετά ελκυστική και διαθέτουν υποστήριξη για την κάρτα μου. Αναρωτιέμαι όμως αν θα έχω +ένα κάποιο κέρδος στην ταχύτητα\... με τις ελληνικές γραμματοσειρές που έχω εγκαταστήσει θα υπάρχει κάποιο πρόβλημα; Κάποιο conflict με τις βιβλιοθήκες των +XFree86; Εάν δεν κάνω λάθος, με κάποια όχι πολύ παλαιότερη έκδοση των MetroX υπήρχαν κάποια προβλήματα στο RedHat, κάτι αδικαιολόγητα κολλήματα που οδηγούσαν σε +αναπόφευκτα hardware shutdowns κι έτσι\...\ +Έχει μήπως κανείς από εσάς δοκιμάσει τους νέους Metro Servers; Κάποια υπόδειξη ή συμβουλή;\ +Ευχαριστώ προκαταβολικά για το χρόνο σας,\ +take it easy and keep up the good work. + +*Ένα ένα. Πρώτον, οι servers της Metrolink δεν νομιζω ότι είναι για αύξηση ταχύτητας τόσο πολύ, όσο για τα extra features που προσφέρουν, όπως υποστήριξη +πολλαπλών οθονών (με συγκεκριμενες κάρτες οθόνης), υποστηριξη touchscreens, σταθερότητα, καλύτερη εκμετάλλευση των δυνατοτήτων της κάρτας οθόνης, πιο πολλές AGP +κάρτες κλπ. Πρόσεξε, δεν λέω ότι δεν προσφέρουν αύξηση στην ταχύτητα\...\ +Είχα την τελευταία έκδοση (4.3) για τρεις μέρες, δοκιμαστικά. Από ταχύτητα δεν είδα διαφορά (αλλά και πως να την δω; Μόνο το Xmame δοκίμασα, που σερνότανε στα +Χ, σερνότανε και στα Metro-X και σερνότανε και στο Accelarated-X. Μηπως τελικά φταιει το X-mame και όχι ο server;)\ +Είχα την έκδοση για libc γιατί το σύστημά μου είναι libc-based. Δεν είχα κανένα πρόβλημα ούτε με γραμματοσειρές, ούτε με πληκτρολόγιο (ελληνικά) ούτε με +libraries. Δεν έχω δηλαδή RedHat. Και ναι, η τιμή του είναι πολύ ελκυστική.\ +Αν θα τον αγόραζα; Σίγουρα, αν χρειαζόμουνα κάποιο τέτοιο feature, οπως πολλαπλές οθόνες. Τώρα μάλλον όχι. Αλλά με τέτοια τιμή, είναι καθαρά θέμα γούστου :-)* + + +### [5. Προβλήματα με το compilation του KDE]{#s5} + +Από : [Ανδρέας](mailto:kinetik@hotmail.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Αγαπητοί φίλοι,\ +Δεδομένης της αποδοχής του site σας από την κοινότητα των χρηστών linux στην Ελλάδα, θα ήθελα και εγώ να σας μεταφέρω τα συγχαρητήρια μου και τις θερμότερες +ευχές για επέκταση και βελτίωση. Στο κάτω κάτω της γραφής, το να βοηθάς ανθρώπους που είναι άσχετοι με κάποιο θέμα, να το γνωρίσουν καλύτερα.\ +Τέλος πάντων, το περιεχόμενο είναι σαφώς σημαντικότερο από το περιτύλιγμα γι\' αυτό και προχωρώ!\ +ριν μερικούς μήνες διάβασα στο RAM για το KDE και λόγω του ότι δουλέυω 95 με τις πολλές ιδιοτροπίες τους, αποφάσισα να δοκιμάσω και κάτι διαφορετικό. Οπότε και +αγοράζω ένα set με κάποια linux distributions, RH4, Slack 3.1, Debian 1.1.1, και άλλα, και εγκαθιστώ το slack 3.1.\ +Κατεβλαζω και τα XFree86 3.3.2, τα σετάρω, φέρνω τα KDE\*1.0.tgz, το QT1.40 τα περνάω και αφού έχω περάσει το qt, το kdelibs, kdesupport και ότι άλλο πρέπει να +περαστεί πρώτα ΧΩΡΙΣ πρόβλημα, πάω να περάσω το kdebase. Εκεί, κατά το make έχω το εξής πρόβλημα. Σταματάει με το παρακάτω error message. + + /usr/i486-linux/bin/ld + + cannot open -lXau + + make[2]: ***[kde] Error 1 + + make[2]: Leaving directory /usr/src/kde/kdebase/kde + + make[1]: ***[all-recursive] Error 1 + + make[1]: Leaving directory + + make[2]: ***[all-recursive-am] Error 2 + +\ +Τι συμβαίνει; Το Xau είναι specific σε κάποια συγκεκριμένη έκδοση των X? Αν υπάρχει στα 3.3.2, τι ακριβώς πρέπει να φέρω για να περαστεί και αυτό;\ +Κάθε βοήθεια ευπρόσδεκτη + +*Γειά σου Αντρέα.\ +Πρέπει να περάσεις το XFree86-devel-static. Νομίζω ότι το Xau είναι εκεί μέσα. Αν δεν είναι εκεί, ρίξε μια ματιά με το mc σε όλα τα πακέτα Xfree86-3.3.2 που +έχεις, στο dir /usr/X11R6/lib και όταν το βρεις, εγκαθιστάς το αντίστοιχο πακέτο.\ +Ελπίζω να βοήθησα.* + + +### [6. Νίκος Πασσάς]{#s6} + +Από : [Βελέντζας Αλέξανδρος](mailto:belale@it.teithe.gr) + +Απάντηση : [Γιώργος Κεραμίδας](mailto:keramida@ceid.upatras.gr) + +Χαιρετώ, ονομάζομαι Πασσάς Νικόλαος ασχολούμαι με υπολογιστές διόμιση χρόνια από χόμπυ. Από τα windows3.1 πέρασα στα 95, σε αυτό το διάστημα έκανα +επανεγκατάσταση 11 φορές τα 3.1 και 30?? τα 95. Πρόσφατα αποφάσισα να βάλω Linux, αγόρασα το slackware 3.4 και παρόλο που δεν μπόρεσα να βρω κάποιο βιβλίο στα +ελληνικά (δεν έχω γνώση αγγκλικής) δοκίμασα να το εγκαταστήσω δυο φορές, αποτέλεσμα μηδέν, μάλλον θα περιμένω να βγη βιβλίο στα ελληνικά, στο μεταξύ ο δίσκος +απο 1Gb έχει απολέσει τα 300 και δεν ξέρω πως να αναιρέσω το fdisk. Κάθε βοήθεια δεκτή, γράψε στο kormoran\@spark.net.gr, ευχαριστώ για τον χρόνο σου. + +*Φίλε Νίκο\...\ +Το Slackware Linux είναι από τα πιο αγαπημένα μου στην εγκατάσταση, αν και δεν είναι κι από τα πιο εύκολα πράγματα που έχω κάνει στη ζωή μου!\ +Η απορία σου είναι πάντως απλή να λυθεί αν έχεις αγοράσει κάποιο από τα CD που κυκλοφορούν στο εμπόριο με το Slackware Linux. Κι αυτό γιατί όλα τα CD-ROM του +εμπορίου έρχονται, συνήθως, με κάποιο μικρό βιβλιαράκι που εξηγεί συνοπτικά την διαδικασία της εγκατάστασης.\ +Αν παρόλ\' αυτά δεν έχεις το βιβλιαράκι, γιατί έχεις κατεβάσει το Slackware από το Internet, ή γιατί απλά δεν το έχεις αγοράσει αλλά έχεις κάποιο αντίγραφο +(πράγμα καθόλου περίεργο και αρκετά συνηθισμένο, αφού έχεις κάθε δικαίωμα να το κάνεις), τότε\...\ +Τα βήματα μιας εγκατάστασης με το Slackware είναι τα εξής:* + +1. Φτιάχνεις δυο δισκέττες εκίννησης, την BOOT-disk και την ROOT-disk.\ + Αυτές τις φτιάχνεις από τα disk-images που υπάρχουν στους καταλόγους /bootdisk.144 και /rootdisk στο CD-ROM του Slackware, με το utility που υπάρχει στο + ίδιο directory και λέγεται RAWRITE.EXE\ + Πχ. αν το CD-ROM είναι στο (drive F:) κάνεις: + + F:\ROOTDSKS> RAWRITE.EXE + Enter filename: color.gz + Write to which floppy: A: + Writing.....done + + και το ίδιο με το αρχείο F:\\BOOTDSKS.144\\BARE.I (αν έχεις απλό IDE δίσκο, γιατί αν έχεις κάποιο SCSI δίσκο ή κάποιες άλλες συσκευές που δεν υποστηρίζονται + από το BARE.I διαλέγεις κάποιο άλλο image. + +2. Ξεκινάς το σύστημά σου με την BARE.I δισκέττα (γι\' αυτό και την έφτιαξες τελευταία, ώστε να μείνει στο floppy σου.\ + Από εδώ και μετά απλώς ακολουθείς τις οδηγίες στην οθόνη σου, αλλά γενικά η διαδικασία είναι:\ + α. Φτιάχνεις τα partitions με το FDISK του Linux.\ + β. Φορμάρεις τα Linux-native partitions σου.\ + γ. Διαλέγεις ποια πακέτα να εγκαταστήσεις.\ + δ. Εγκαθιστάς τα πακέτα.\ + ε. Επιλέγεις configuration options στο μενού \"CONFIGURE\"\ + ζ. Εγκαθιστάς το LILO ή φτιάχνεις δισκέττα εκίννησης\ + και είσαι έτοιμος να ξεκινήσεις. + +*Το README του Slackware που υπάρχει στον ROOT κατάλογο του CD-ROM έχει πιο πολλές λεπτομέρειες για κάθε βήμα της εγκατάστασης\...\ +Ελπίζω να βοήθησα κάπως :)* + + +### [7. Σχετικά με κάποιες μεταβλητές περιβάλλοντος]{#s7} + +Από : [Χρήστος Βαρελάς](mailto:cvar@startrek.csd.auth.gr) + +Απάντηση : [Παναγιώτης Βρυώνης](mailto:vrypan@hol.gr) + +Φίλοι συν-Linux-άδες,\ +Διαβάζοντας το πρόσφατο Linux Zone στο Magaz με τις περιπέτειες του Παναγιώτη Βρυώνη με το Laptop του, πρόσεξα τις μεταβλητές περιβάλλοντος LANG και LC\_ALL. +Στο σύστημά μου χρησιμοποιώ το KDE με επιλογή για ελληνικά (φυσικά έχω εγκατεστημένες ελληνικές γραμματοσειρές). Επειδή, όμως, έχω προσέξει ότι κάποιες +εφαρμογές παραπονούνται για \"unsupported locale\" και κατά τη διάρκεια κάποιων μετταγλωτίσεων (π.χ. του lesstif) έχω ανάλογα παράπονα με τη μορφή warnings, +πρόσθεσα στο /etc/profile τη γραμμή + + export LANG=gr_GR LC_ALL=gr_GR + +Μετά από αυτή την κίνηση τα παράπονα εξαφανίστηκαν. Επίσης, όταν έδωσα σε κάποια κονσόλα \'ls -l\' παρατήρησα ελληνικά ονόματα μηνών! (αργότερα διαπίστωσα ότι +γι\' αυτό \"ευθύνεται\" η μεταβλητή LC\_ALL). Ωστόσο, αργότερα ήρθα αντιμέτωπος μ\' ένα περίεργο πρόβλημα: όταν έδινα π.χ. + + rm goddamn.file + +το bash με ρωτούσε αν θέλω να σβύσω το αρχείο, εγώ έδινα \"y\", αλλά όταν έκανα ένα \'ls\' το αρχείο ήταν εκεί! Ο μόνος τρόπος για να το σβύσω ήταν με \"rm -f +goddamn.file\"! Όταν έκανα unset την LC\_ALL το πρόβλημα έφυγε!\ +Καμιά ιδέα στο που οφείλεται αυτή η περίεργη συμπεριφορά; Έχει να κάνει μήπως με το shell; (έχω εγκατεστειμένο το bash-1.14.7-7 από το RedHat 5.1).\ +Ευχαριστώ προκαταβολικά για το χρόνο σας. + +*Λοιπόν, το προβλημά σου είναι το ότι δεν περιμένεις μερικά πραγματα από το Linux. :) Εφόσον έχεις ορίσει ότι θα χρησιμοποιείς ελληνικά (και έχεις και ένα alias +rm rm -i, ή κάνω λάθος?) στην ερώτηση remove .. η απάντηση δεν είναι y(es) αλλά ν(αι) !!! Αν δεν κάνω λάθος, η έκδοση του bash που χρησιμοποιείς δεν θα σου +επιτρέψει να γράψεις ελληνικά στο command prompt, οπότε καλό είναι να βάλεις κάποια πιο νέα (\>2.0).* + + +### [8. AOL για Linux]{#s8} + +Από : [DJ Art](mailto:arturok@usa.net) + +Απάντηση : [Γιώργος Κεραμίδας](mailto:keramida@ceid.upatras.gr) + +Έχω κατεβάσει τον AOL Instant Messenger σε μορφή Java. Όμως δεν ξέρω τί να κάνω με το αρχείο, το οποίο έχει extension .sh. Χρειάζομαι οδηγίες για την +εγκατάστασή του. + +*Αν κρίνω σωστά από το extension του αρχείου, είναι ένα Bourne shell script (ένα \*batch\* αρχείο στην ορολογία του DOS). Οπότε κάνεις απλά:* + + /bin/sh MESSENGER.SH + +*και αν είμαι τυχερός (κι εσύ μαζί με μένα) το messenger θα στηθεί στο μηχάνημά σου μια χαρούλα\...* + + +### [9. Σύνδεση OTEnet, Graphical Development tool και compilation]{#s9} + +Από : [Βασίλης Βλάχος](mailto:vsvlahos@otenet.gr) + +Απάντηση : [Γιώργος Κεραμίδας](mailto:keramida@ceid.upatras.gr) + +Τρελαμένοι Linuxades,\ +Τα θερμά μου συγχαρητήρια για το περιοδικάκι σας, είναι απλά καταπληκτικό. Πιστεύω ότι θα αφήσει εποχή. Είμαι και εγώ φοιτητής πληροφορικής και τρελαμένος +computeras. Έχοντας κάποιες θεωρητικές γνώσεις στο χώρο δε μπορώ παρά να συμφωνήσω μαζί σας στο ότι το Linux είναι πράγματι ιδιαίτερα σταθερό, αποδοτικό, +ελάχιστα απαιτητικό σε πόρους του συστήματος, ασφαλές, παραμετροποιήσιμο και αλλά πολλά που έχετε πολλές φορές αναφέρει. Το πρόβλημα όμως μου είναι ότι διαβάζω +το περιοδικάκι σας από το Communicator μέσα από τα Windows, ενώ τώρα\_ σας γράφω από το Microsoft Word. Θέλω να πω δηλαδή ότι το Linux μου αποδείχτηκε ιδιαίτερα +χρήσιμο μόνο για να γράφω κάποια προγράμματα σε περιβάλλον Unix και κάποια προγράμματα που χρειάζονται ειδικά βιβλία (και πολλά λεφτά ) για να βρεθούν οι +αντίστοιχες βιβλιοθήκες και συναρτήσεις για να τρέξουν σε windows, ξέρετε sockets και τέτοια. Παρόλα αυτά το Linux μου είναι ιδιαίτερα συμπαθητικό και προσπαθώ +να το κάνω το κύριο λειτουργικό σύστημα για μένα στο μέλλον, όμως κατά τη γνώμη μου κάτι τέτοιο είναι εξαιρετικά δύσκολο αν δεν απλοποιηθούν κάποιες διαδικασίες +που για τα Windows είναι ρουτίνα. Αν δεν υπάρξει πλήρως γραφικό περιβάλλον δεν νομίζω ότι θα έχει τύχη το Linux, ίσως το KDE να αποτελέσει μια καλή λύση, +διαφορετικά δε νομίζω να πιστεύετε ότι κάποιος θα παραμείνει στην Command Line και θα ψάχνει με τις ώρες σε man pages, βιβλία και γνωστούς για να δει πως +συντάσσεται μια εντολή τι παραμέτρους παίρνει και άλλα τέτοια χαριτωμένα ενώ θα μπορούσε τσεκάροντας δύο Check Boxes στα Windows να έχει τελειώσει τη δουλειά +του. + +*Συμφωνώ, και γι\' αυτό κι εγώ είμαι φανατικός των KDE/GNOME. Αλλά επειδή είμαι πολύ παλιός στο UNIX (πριν ακόμα το Linux αρχίσει να μπουτάρει αυτόνομα σε PC), +είμαι επίσης φανατικός του command-line :) Αλλά, επειδή είμαι λίγο παλιός, και οι γέροι έχουν μια τάση να είναι παράξενοι και μονόχνωτοι (ξεροκέφαλοι, φανατικοί +κλπ κλπ) μην το αναλύσουμε πολύ το θέμα\... Μου αρέσει και το CLI (command line interface) και το GUI (graphical user interface), αλλά το CLI το αγαπάω πιο πολύ +γιατί το ξέρω χρόνια τώρα και πολύ καλύτερα:) Τεσπα\...* + +Για μένα πάντως το Linux αποτελεί μια μεγάλη πρόκληση και είμαι σίγουρος πως κάποια φορά θα καταφέρω να το δαμάσω και να το παίζω στα δάκτυλα (όπως κάτι +τρελαμένοι στο magaz ) για αυτός θα σας παρακαλέσω για τρεις απαντήσεις\ +α) Πως συνδεόμαστε στο Internet (έχω otenet και μια υπεραναλύτικη περιγραφή θα ήταν κάτι παραπάνω από χρήσιμη για μένα). + +*Σαν μη δικτυωμένος χρήστης δεν μπορώ να απαντήσω, αλλά υπάρχουν κάποια άρθρα για το πρόγραμμα Xisp σε πρόσφατα τεύχη του Magaz (5 και 6). Πιστεύω ότι εκεί θα +βρείς πιο έγκυρες πληροφορίες.* + +β) Υπάρχει κάποιο Development Tool για C/C++ σε στυλ ας πούμε Visual C++ (πλήρως γραφικό περιβάλλον ) που να κάνει το Debugging εύκολο (μη μου πείτε μόνο το +xgdb) + +*Ναι, αλλά είναι commercial, και τα πληρώνεις λίγο. Υπάρχει το Xbuilder της Sun Microsystems, που βγάζει κώδικα για Motif libraries, αλλά την τελευταία φορά που +ρώτησα έκανε γύρω στα \$200-300, που δεν είναι και πολύ φτηνό για τον \"μέσο προγραμματιστή\".* + +γ) Όταν χρησιμοποιώ μαθηματικές συναρτήσεις (πχ sqrt με τον gcc εννοείται ) αν και έχω κάνει include όλες τις απαραίτητες libraries και περνάει απ τον Compiler +κατά τη διάρκεια του Linking μου χτυπάει error. Τι να κάνω; + +*Κατ\' αρχήν \#include δεν κάνεις τις βιβλιοθήκες (libraries ελληνιστί), αλλά τα αρχεία επικεφαλίδας (header files). Και στον GCC μπορείς να δεις +compile-εντολές όπως:* + + gcc -o papari main.c papari.c -I/local/include/ncurses \ + -L/local/lib -lm -lgdk -lgtk -lX11 + +*Το \"-lm\" του λέει να βάλει την βιβλιοθήκη των μαθηματικών, και μάλλον πρέπει να την χρησιμοποιήσεις κι εσύ :)))\ +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--\ +Α, και μην ξεχάσω, τις libraries τις βάζουμε \*πάντα\* \*στο\* \*τέλος\*!\ +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--\ +\ +Ελπίζω να βοήθησα κάπως* + +Ευχαριστώ για το χρόνο σας και να είστε έτοιμοι να δεχτείτε καλόπιστη κριτική (όχι για το περιοδικάκι σας αυτό είναι άριστο ) αλλά για το Linux που από ότι +φαίνεται το υπεραγαπάτε.\ +Φιλικά\ +Βασίλης + + +### [10. Προβλήματα με το compilation του KDE]{#s10} + +Από : [Κώστας Σακελλαρίδης](mailto:kos_sak@otenet.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Δεν λέω, πολύ ωραίο το Linux αλλά πολύ δύσκολο το άτιμο. Έφτυσα αίμα να το κάνω να δουλέψει, και αυτό μόνο για το demo! (S.u.S.E) + +*Έλα μωρέ, κάθε αρχή και δύσκολη (αν και κάτι δεν πάει καλά γιατί το SuSE είναι πάρα πολύ εύκολο).* + +και για αυτό θέλω να σας κάνω κάποιες ερωτήσεις.\ +1)Το Mouse μου είναι MouseMan αλλά δεν δουλεύει ότι και να κάνω. Μήπως φταίει το demo? + +*Άγνοια :-(. Το δήλωσες ως Mouseman?* + +2)Έχω μόνο ένα σκληρό και δεν θέλω να τον φορμάρω. Υπάρχει κάποιος ασφαλής τρόπος να χωρίσω τον σκληρό χωρίς να χάσω δεδομένα; + +*Ναι, αν δεν έχει FAT32 υπάρχει το fips. Πρέπει να υπάρχει μέσα στο SuSE, αλλιώς ψάξε στο Internet [Ftp search](http://ftpsearch.ntnu.no) για fips.* + +3\) Πόσο καλό είναι το S.u.S.E. σε σχέση με το RedHat; Γιατό ΟΛΟΙ έχουν RedHat; + +*Πολύ καλό, σχεδόν το ίδιο μόνο που (αν δεν κάνω λάθος) είναι libc-based. Έχουν όλοι RedHat γιατί\ +α) αυτό έρχεται στην ελλάδα\ +β) αυτό ξέρει ο κόσμος, αυτό προτείνει\ +γ) η RedHat είναι μεγάλη εταιρεία και μπορείς να είσαι λίγο - πολύ σίγουρος. Πάντως για το SuSe δες το σχετικό άρθρο στο τεύχος 5.* + +Συγχαρητήρια για την ωραία δουλειά που κάνατε! Σας ευχαριστώ για τη βοήθεια. + +*Any time :-)* + +ΥΓ: Δεν κατάλαβα καλά, ΜΗΠΩΣ το Magaz θα βγει σε χαρτί; Αν ναι, πότε; + +*Όχι, τα σχέδια είναι να παραμείνει ηλεκτρονικό. Αν γίνει έντυπο, θα γίνει υπό την αιγίδα του HELLUG ίσως, οπότε δεν είναι θέμα δικό μας να απαντήσουμε αλλά του +Hellug (όταν αυτό δημιουργηθεί).* + +Αν όχι πόσο δύσκολο θα ήταν αυτό; + +*Ούτε πολύ ούτε λίγο. Δυστυχώς είναι μεγάλη ιστορία να στην εξηγήσω σε μία απάντηση περιοδικού\...* + + +### [11. Ρυθμίσεις pppd]{#s11} + +Από : [Ισαάκ Τσαλίκογλου](mailto:isaakt@hotmail.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Θα ήθελα να μου πείτε την σύνταξη της εντολής pppd με την οποία θα δημιουργήσω ppp σύνδεση στην HellaNet, και όποιες άλλες παρεμβάσεις σε αρχεία, έτσι ώτσε να +συνδεθώ στο Internet, καθ\' ότι είμαι αρχάριος, έχω το redhat 5 με τον metro-X server και δεν έχω το KDE. + +*Διαβάζεις το τεύχος 5 για τις [ρυθμίσεις του XISP γενικά](../05/06_xisp.html) και βρίσκεις στο τεύχος 6 τις [ειδικότερες για Hellasnet](../06/05_xisp2.html)* + + +### [12. Χμμμ, ένα πολά βαρύ]{#s12} + +Από : [Χριστίνα Γουδέλη](mailto:christina@hotmail.com) + +Απάντηση : [Γιώργος Κεραμίδας](mailto:keramida@ceid.upatras.gr) + +Διάβασα το πως να συνδέσεις την καφετιέρα με τον υπολογιστή και μου άρεσε πολύ\...\..... αλλά και από της άποψης πως μπορεί να χρησιμοποιηθεί και αλλού, αλλά τι +γίνεται αν δεν ξέρεις C \...\...?????????????????? + +*Ναι, είναι πολύ ωραία ιδέα η καφετιέρα, και μάλιστα, μετά από συζητήσεις με τον Φώτη σκέφτομαι να φτιάξω το /dev/coffee για όσους δεν ξέρουν να προγραμματίσουν +σε C. Όπως και να το κάνουμε είναι δύσκολο να γράφεις C πρόγραμμα κάθε φορά που θέλεις απλά να \*πιεις\* \*ένα\* \*καφέ\*, ειδικά αν είναι πρωί και το βλέφαρο +δεν έχει ανοίξει ακόμα και πολύ καλά :)))* + +*Διαβάζω που λες το βιβλίο \"LINUX Device Drivers\" του φίλου μου του Alessandro Rubini (εκδόσεις O\' Reilly & Associates) και σύντομα ελπίζω να έχω έτοιμο έναν +οδηγό για σύνδεση καφετιέρας σε \*σειριακή\* ή \*παράλληλη\* θύρα απλού PC!* + +*Το /dev/coffee θα μπορεί να δέχεται εντολές όπως:* + + bash# echo "frappes, metrios" >/dev/coffee + bash# echo "freddo" >/dev/coffee + bash# echo "espresso" >/dev/coffee + +*ή ακόμα και το πιο μάγκικο:* + + bash# echo "polla barus" >/dev/coffee + +*Το τι θα στέλνει στην θύρα εξόδου είναι ακόμα θέμα προς συζήτηση, αφού το hardware κομμάτι δεν ξέρω ακόμα τι ακριβώς πρέπει να κάνει.* + +*Anyway, το παλεύω το πράγμα, κι άμα θέλει κάποιος να βοηθήσει, είμαι ανοικτός σε κάθε ιδέα / πρόταση\... Τι λες, αξίζει τον κόπο?* + + +### [13. Ερώτηση για μνήμη μεγαλύτερη από 64 Mb]{#s13} + +Από : [Αλέξανδρο Ναούμ](mailto:ovelix@hotmail.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Χαίρεται. Πρώτα πολλά συγνώμμη για τα greeklish αλλά αδυνατώ να έχω ελληνικό πληκτρολόγιο μέσα στο KDE. Τέλος πάντων αυτό είναι μια άλλη ιστορία. Είμαι ένας +νέος σχετικά χρήστης με το linux και ψάχνοντας μου γεννήθηκε μια απορία. Το μηχάνημά μου (K6-233) διαθέτει 96MB SDRAM. Όμως το linux βλέπει και χρησιμοποιεί +μόνο τα 64MB. Γιατί αυτό και πως μπορώ να δω και τα υπόλοιπα; + +*Αυτό συμβαίνει γιατί το BIOS του μηχανήματός σου (όπως και όλων των PC αν δεν κάνω λάθος) έχει περιορισμό στο πόση μνήμη μπορεί να δεί. Για να δει όλη τη μνήμη +πρέπει να του βάλεις στο lilo την εντολή append=\"mem=96M\" ή την ώρα που φορτώνει (δηλαδή όταν βγάλει το \"lilo\", του γράφεις linux append=\"mem=96M\") ή μέσα +στο /etc/lilo.conf, ως τελευταία γραμμή των ρυθμίσεων του συγκεκριμένου kernel.* + +Ευχαριστώ πολύ και πολύ συγνώμμη για τα greeklish. + +*Χμμ, υπάρχουν διάφοροι τρόποι για ελληνικά στα Χ. Δες στα archives της linux-greek-users.* + + +### [14. PPP ρυθμίσεις, modem.]{#s14} + +Από : [Magna](mailto:magnawarez@usa.net) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Γεια σας, είμαι ένας 17χρονος Linux user ασχολούμαι εδώ και ένα μήνα και το βρήκα πολύ τέλειο (αλλά δύσκολο) + +*Καλώς ήρθες!!!* + +Θα ήθελα να σας ρωτήσω σχετικά με τις ρυθμίσεις της Compulink αν ξέρετε τι πρέπει να βάλω στο pppsetup. + +*Λυπάμαι, η Compulink δεν (κατα)δέχτηκε να μας απαντήσεις για ρυθμίσεις σύδεσης με Linux. Δες τα archives της linux-greek-users* + +Ακόμα θα ήθελα να ρωτήσω γιατί το modem μου δεν μπορεί να καλέσει από linux (έχω microcom 33600 office porte voice). Μήπως ξέρετε ποια strings πρέπει να +χρησιμοποιήσω; + +*Τα strings (init string κλπ) πρέπει να αναφέρονται στο manual του modem. Δυστυχώς ο μόνος που θα μπορούσε να τα ξέρει εκτός από σένα, θα ήταν κάποιος άλλος με +το ίδιο modem.* + + +### [15. Πολλαπλοί επεξεργαστές]{#s15} + +Από : [Στέρνας Στέφανος](mailto:sternas@hol.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Μετά από 5 μήνες περίπου που παρακολουθώ την υπέροχη σελίδα σας αποφάσισα και εγώ γνωρίσω το κόσμο του linux (μέχρι τώρα NT Server User) Μια και μόνο ερώτηση: +Ποια έκδοση του linux να χρησιμοποιήσω για τους δυο επεξεργαστές μου (2xPentium 200 MMX); + +*Οποιοδήποτε distribution και να βάλεις, θα μπορέσει να δει τους 2 επεξεργαστές, αρκεί να το δηλώσεις στο compilation του πυρήνα. Η επιλογή είναι η SMP και πιο +πολλές λεπτομέρειες μπορείς να βρεις στο αρχείο /usr/src/linux/Documentation/SMP.txt (αν δεν έχεις πρόσβαση σε linux, στείλε μας ένα e-mail να στο στείλουμε +αυτό το αρχείο).* + + +### [16. Κάρτα γραφικών και KDE]{#s16} + +Από : [Γαλανόπουλος Γιώργος](mailto:microgenesi@yahoo.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Είμαι νέος χρήστης του Slackware και θα ήθελα να μάθω τι πρέπει να κάνω για να χρησιμοποιήσω στο maximum την κάρτα γραφικών μου και να εγκαταστήσω το KDE. Έστω +και το Βετα4 που υπάρχει στο CD. + +*Τι εννοείς να χρησιμοποιήσεις στο maximum την κάρτα γραφικών και να εγκαταστήσεις το KDE? Γίνε πιο συγκεκριμένος στα θέματα που δε καταλαβαίνεις\...* + +Ακόμα δεν ξέρω που πρέπει να στέλνω τα μεταφρασμενα howtos. + +*Μεταφρασμένα howtos στον συντηρητή και οργανωτή αυτών, [Γεωργάτο Φώτη](mailto:gef@ceid.upatras.gr)\ +Υ.Γ. Αν έχει αλλάξει ο συντηρητής, θα σε ειδοποιήσει ο ίδιος μόλις του στείλεις το πρώτο how-to :-)* + + +### [17. MS Word σε html ή txt]{#s17} + +Από : [Κολοζώφ Γιώργος](mailto:kolozofO@hermes.kke.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Ψάχνω ένα πρόγραμμα για linux που να μετατρέπει από word 6.0 σε TXT ή σε HTML, σας παρακαλώ βοηθήστε με\.... + +*Υπάρχει το [MSwordview](http://www.csn.ul.ie/~caolan/docs/MSWordView.html). Αυτό μετατρέπει Word97 αρχεία σε html.\ +Αν θέλεις μετατροπή από word 6 πρέπει να πάρεις το [laola](http://wwwwbs.cs.tu-berlin.de/~schwartz/pmh/laola.html) ή όπως αλλιώς λέγεται τώρα.\ +Έχε υπόψη σου ότι και τα δύο, έχουν πρόβλημα με τα ελληνικά, αν και αν θυμάμαι καλά, το laola το έχει διορθώσει στις τελευταίες εκδόσεις.* + + +### [18. AMD, KDM, CDE και αναλύσεις οθόνης.]{#s18} + +Από : [Θοδωρής Βερτόπουλος](mailto:babylon51@ibm.net) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Μόλις εγκατέστησα το SuSe Linux 5.3 και το KDE 1 και χρειάζομαι λίγη βοήθεια.\ +1) Έχω επεξεργαστή AMD k6 όταν θα κάνω compile τον kernel θα πρέπει να τον δηλώσω σαν Pentium ή σαν 486??? Ρωτάω γιατί πάντα όταν κάνω compile τον kernel μου +βγάζει 2 errors και δεν μπορώ να καταλάβω τι άλλο μπορεί να φταίει. + +*Καλή ερώτηση. Αν βρεις την απάντηση ενημέρωσέ μας :-) Εγώ τον έχω ως Pentium και μου βγάζει 4 λάθη, αλλά έχω εντοπίσει ότι δεν προέρχονται από τον επεξεργαστή +αλλά από το chipset (VIA). Αν έχεις τέτοιο chipset, πρόσεξε τα λάθη τι ακριβώς λένε. Αν δεν βγάλεις άκρη, ξαναγράψε μας. Πάντως ο kernel 2.2 λέγεται ότι θα έχει +ξεχωριστή επιλογή για AMD.* + +2)Ωραίο το KDE αλλά πως το κλείνω ώστε να βγώ σε command line??? Για να τρέξω το KDE τρέχω αναγκαστηκά το kdm γιατί με startkde μου βγάζει \" can\'t connect to +x- server\". Αφού τρέξω το kdm το kde ανοίγει κανονικά αλλά όταν θέλω να κάνω logout τρέχει πάλι το kdm και ανοίγει και ένα παράθυρο console (στο οποίο δεν +μπορώ να γράψω ούτε να το μετακινήσω) που καλύπτει όλα τα κουμπιά ( οκ, cancel, shutdown, κλπ). (Φοβάμαι ότι αυτό θα είναι μάλλον κανένα τελείως χαζό πρόβλημα.) + +*Ναι, είναι χαζό πρόβλημα, αλλά μην ανησυχείς\... Λοιπόν, όταν τρέχεις το startkde του λες να ξεκινήσει κάποια προγράμματα (του KDE μεταξύ των οποίων και ο kwm +- KDE window manager) χωρίς όμως να έχεις X-server. Οπότε η λύση είναι απλά να του πεις να ξεκινήσει το KDE γράφοντας την γραμμή startkde τελευταία στο .xinitrc +σου, και αφαιρώντας βέβαια οποιονδήποτε άλλο window - manager τρέχει από εκεί και να ξεκινήσεις κανονικά με startx. Όταν ξεκινάς το KDM (Κ Display Manager) +θεωρητικά δεν μπορείς να βγεις σε CLI (Command line interface) γιατι το KDM αναλαμβάνει να διαχειρίζεται το DISPLAY. Η λύση (αρκετά βάρβαρη) είναι να σκοτώσεις +(kill) το kdm ή τα X (δεν θυμάμαι πιο από τα δύο).* + +3\) Συγκριτικά ποιός window manager είναι καλύτερος; O KDE ή το CDE??? + +*Έλα ντε? Με δεδομένο ότι το CDE είναι εμπορικό, δεν το έχω δοκιμάσει, αλλά και να το δοκίμαζα δεν θα ήξερα διαφορά να σου πω :-)* + +4\) Πως μπορώ να έχω ανάλυση 1024x768 στο KDE?? Έχω μια Diamond 3d 2000 4MB και ότι και να κάνω η ανάλυση παραμένει 800x600, ίσως και χειρότερη!!! + +*Δεν έχει να κάνει με το KDE αυτό, αλλά με τον X-server που χρησιμοποιείς. Τρέξε το xf86config και από εκεί του δίνεις τις απαραίτητες ρυθμίσεις για κάρτα +οθόνης, μνήμη αυτής και αναλύσεις.* + diff --git a/content/articles/08/01_editorial.md b/content/articles/08/01_editorial.md new file mode 100644 index 0000000..67561b2 --- /dev/null +++ b/content/articles/08/01_editorial.md @@ -0,0 +1,44 @@ ++++ +title = 'Editorial' +date = '1998-10-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης' +issue = ['Magaz 08'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Φτάσαμε και στον Οκτώβριο, που προβλέπεται μήνας συνταρακτικός για την Ελληνική κοινότητα Linux. Μέχρι την Τρίτη 6 Οκτωβρίου υποβάλλονται υποψηφιότητες για το +πρώτο Δ.Σ. του Hellug. Τετάρτη και Πέμπτη (7 και 8 Οκτωβρίου αντίστοιχα) έχουμε την ψηφοφορία, και από Τετάρτη 14 Οκτωβρίου το πρώτο εκλεγμένο Δ.Σ. του Hellug +θα αναλάβει τα ηνία.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Στα δικά μας τώρα, σε αυτό το τεύχος, έχουμε το κλασικό πλέον [Linux zone](02_lz5.html) από τον Παναγιώτη Βρυώνη. + +Υπάρχει μία πολύ σημαντική ανάλυση από τον Νίκο Κόκρα σχετικά με την ολέθρια όπως αποδεικνύεται σχέση [Windows και Linux](03_analysi.html) + +Σε αυτό επάνω να κάνω μία γρήγορη παρατήρηση. Όλοι ξέρουμε ότι το Linux δεν είναι για όλους. Προς Θεού, δεν το λέω ρατσιστικά, ταξικά ή με οποιαδήποτε άλλη +έννοια. Αυτό που εννοώ είναι απλά ότι το Linux είναι για αυτόν που το χρειάζεται, και ξέρει ΓΙΑΤΙ to χρειάζεται. Δυστυχώς τελευταία, λαμβάνουμε όλο και +περισσότερα mails στο περιοδικό, και βλέπουμε και αντίστοιχα mails στην linux-greek-users τα οποία δείχνουν ότι αυτοί που τα έγραψαν, ακολουθούν μία λάθος +προσέγγιση. Περιμένουν το linux να κάνει τα πάντα, με τον ίδιο τρόπο που τα κάνουν τα Windows. Όταν λοιπόν βλέπουν ότι δεν είναι αυτός ο τρόπος, αντί να κάτσουν +να διαβάσουν, στέλνουν mails τα οποία τελικά είναι και εκνευριστικά. Φίλοι μου, με όλη την καλή διάθεση σας το λέω, το Linux δεν είναι μόδα. Το Linux δεν είναι +αντί-Microsoft. Το Linux δεν είναι ο \"Ινδιάνος\" της υπόθεσης. Μην έρχεστε στο Linux επειδή είναι ο μικρός. Αφήστε αυτή τη νοοτροπία κατά μέρος, βρείτε ΑΝ +χρειάζεστε το Linux, διαβάστε, ξαναδιαβάστε, ψάξτε τη λύση στο πρόβλημά σας, και αν αυτά δεν βοηθήσουν ελάτε να το λύσουμε μαζί. + +Ο Ευριπίδης, αποφάσισε να μας κάνει να χάσουμε τον ύπνο μας. Έβγαλε (άκουσον άκουσον) τις φάτσες μας στη φόρα. Καλά ήμασταν μέχρι τώρα που δεν μας ξέρανε, τώρα +θα έχουμε και πληρωμένους φονιάδες να μας κυνηγούν; Γιατί αν δεν το καταλάβατε, [καταζητούμαστε](04_giafka.html) + +Ο Βαγγέλης Παπαδογιαννάκης βοηθάει σε απλές καθημερινές δουλειές. Οι νέοι χρήστες μας ζητάγανε μία στήλη ειδικά για αυτούς. Ε, να λοιπόν η ευκαιρία να δείτε +πόσο [απλή σας κάνει την ζωή το Linux](05_bash1.html) αν το ψάξετε λίγο. + +Επέστρεψε η στήλη [Πραγματικός κόσμος](06_thea.html) που για αυτό το τεύχος παρουσιάζει την ΤΗΕΑ. Και αν δεν την ξέρετε, είστε μάλλον ασυγχώρητοι. + +Ο Προκόπης Προκοπίδης και ο Αποστόλης Συρόπουλος, μας έστειλαν ευγενικά και τους υπερευχαριστούμε για αυτό, ένα άρθρο που λύνει μια και καλή το πρόβλημα με τα +[Ελληνικά στο TeX](07_GreekTeXFAQ.html). Διαβάστε το και δεν θα χάσετε. Πρέπει να θεωρηθεί ένα από τα καλύτερα άρθρα που είχε ποτέ το Magaz. + +Και βέβαια, δεν θα μπορούσε να λείπει η σταθερή [στήλη της αλληλογραφίας](08_mailbox.html). Εσείς μας γράφετε, κι εμείς\... + +Να σας υπενθυμίσω, ότι όπως πάντα, το magaz φιλοξενεί άρθρα, από όλους τους φίλους συνlinuxάδες, ενώ έχουμε ακόμα \"ανοιχτές θέσεις\" συνεργατών\... + +Καλή ανάγνωση, και καλό φθινόπωρο. diff --git a/content/articles/08/02_lz5.md b/content/articles/08/02_lz5.md new file mode 100644 index 0000000..c90bcc5 --- /dev/null +++ b/content/articles/08/02_lz5.md @@ -0,0 +1,95 @@ ++++ +title = 'Linux Zone' +date = '1998-10-01T00:00:00Z' +description = '' +author = 'Παναγιώτης Βρυώνης' +issue = ['Magaz 08'] +issue_weight = 2 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το Linux Zone είναι μία στήλη που σκοπό της έχει να παρουσιάζει μερικές από τις εμπειρίες μου στον χώρο του Linux.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Πολλά και διάφορα τα θέματα που πραγματεύεται το LZ αυτό τον μήνα, δείτε το σαν αποζημίωση για το \"σπαρτιάτικο\" LZ του προηγούμενου\... + +Πρώτα, πρώτα, να ξεκινήσουμε από ένα bug που παρατήρησα στο RedHat 5.1 όταν έκανα recompile τον kernel. Κατά την εκκίνηση, έβλεπα ένα σωρό λάθη που είχαν να +κάνουν με τα modules, αλλά και μετά, τα modules μου δεν δούλευαν σωστά. Ο λόγος ήταν ότι το /etc/rc.d/rc.sysinit δεν κοιτούσε στο σωστό directory. Η λύση +δώθηκε, με μία μικρή παρέμβαση στο εν λόγω αρχείο στις παρακάτω γραμμές: + +> if [ -x /sbin/depmod -a -n "$USEMODULES" ]; then +> # Get ready for kerneld if module support in the kernel +> echo -n "Finding module dependencies... " +> if [ -f /lib/modules/preferred ]; then +> depmod -a preferred +> else +> depmod -a `uname -r` +> fi +> echo "done" +> fi + +Με την νέα εκκίνηση όλα πήγαν ρολόι. Ίσως να υπάρχει και αντίστοιχο patch στην RedHat, που να λύνει σωστότερα το πρόβλημα. + +Κάποιοι φίλοι με ρωτούσαν αν μπορεί κανείς να δημιουργήσει ΕΝΑ αρχείο html από το αντίστοιχο sgml, χωρίς δηλ. να σπάει το κείμενο σε τόσα αρχεία ανά κεφάλαιο. +Έ, ρε παιδιά, δώστε \"sgml2html\" χωρίς καμία παράμετρο και αρχείο και δείτε το σχετικό help. Τέλος πάντων, η λύση είναι να χρησιμοποιείτε την παράμετρο \"-s +0\" που κάνει ακριβώς το ζητούμενο. Α, και όταν θέλετε να πάρετε ascii text, μην ξεχνάτε το \"-f\" στο sgml2txt γιατί αλλιώς θα πάρετε man page. + +Α, και μιας και μιλάμε για options, ανακάλυψα (ίσως εσείς να το ξέρετε) την παράμετρο \"f\" στην εντολή `ps`. Με αυτή, βλέπετε ένα \"δεντρο\" που σχηματίζεται +από τα processes, ανάλογα με το ποιό \"σήκωσε\" πιο. Πολύ χρήσιμο. (Δοκιμάστε και `ps axf`.) + +Έκανα και μία αποτυχημένη προσπάθεια να στήσω το HylaFax ένα πρόγραμμα που αναλαμβάνει την διαχείρηση (αποστολή/λήψη) φαχ, αλλά απέτυχα. Πρέπει να ομολογήσω +όμως ότι δεν έψαξα το πράγμα αρκετά σε βάθος (και δεν είχα και δεύτερη γραμμή τηλεφώνου για να κάνω δοκιμές), υποψιάζομαι λοιπόν ότι κάπου φταίω εγώ. Από τα +κείμενα που διάβασα, το συγκεκριμένο πρόγραμμα δείχνει πολύ δυνατό, αν λοιπόν έχετε ανάγκη κάτι τέτοιο, δοκιμάστε το. + +Ξεφυλίζοντας παλιά Linux Journal έπεσα πάνω σε κάτι που ήξερα πόσο χρήσιμο είναι αλλά που ποτέ δεν χρησιμοποιούσα. Το RCS (Revision Control System) σας +επιτρέπει να \"σώζετε\" ένα αρχείο κάθε φορά που κάνετε αλλαγές σε αυτό. Αν αργότερα θελήσετε να δείτε πώς ήταν το αρχείο σε ένα παλαιότερο revision, τότε +μπορείτε να το κάνετε πολύ εύκολα. Ένα άλλο χρήσιμο χαρακτηριστικό είναι ότι μπορείτε να σώζετε και ένα σχόλειο με κάθε revision έτσι ώστε αν θελήσετε να δείτε +σε πιο συγκεκριμένο revision αλλάξατε το τάδε. + +Η χρήση του RCS μπορεί να γίνει πολύ εύκολη αν περιορισθείτε στα βασικά. Αν από την άλλη χρειαστείτε να το δουλεύετε σε ένα περιβάλλον με πολλούς χρήστες που +όλοι κάνουν αλλαγές σε ένα συγκεκριμένο αρχείο, τα πράγματα περιπλέκονται (αλλά είναι λογικό αυτό, δεν είναι;). + +Μερικές πολύ απλές συμβουλές για την χρήση του RCS. Στο directory που βρίσκεται το αρχείο με το οποίο δουλεύετε, δημιουργήστε ένα sub-directory με το όνομα RCS. +Δώστε \"ci \\" για να κάνετε check in το αρχείο. Θα σας ζητηθεί μία περιγραφή, καλό θα ήταν να την δώσετε. Αν μετά από αυτό δώσετε \"ls\" θα δείτε +ότι το αρχείο σας έχει εξαφανιστεί! Μην ανησυχείτε, βρίσκεται φυλαγμένο με μία ειδική μορφή στο RCS directory που δημιουργήσατε (\"ls RCS\"). Για να το κάνετε +check-out δώστε \"co -l \\". Αυτό, θα σας δώσει πίσω το αρχείο σας και θα το \"κλειδώσει\" έτσι ώστε μόνο εσείς να μπορείτε τα το κάνετε πάλι +check-in. Μέχρι τότε, όποιος άλλος θέλει μπορεί να το κάνει check-out αλλά όχι check-in. Με την εντολή \"rcsdiff \\" μπορείτε να δείτε την ιστορία +των αλλαγών. Για πολλές περισσότερες πληροφορίες, man rcs, man co, man ci, man rcsdiff,\... + +Ειδικά αν γράφετε προγράμματα, μετά από ένα μικρό διάστημα προσαρμογής και εξοικίωσης δεν θα διανοείστε να δουλέψετε χωρίς το RCS. + +Αφήνουμε τώρα το RCS και πάμε σε ένα πολύ σημαντικό θέμα (κατά την γνώμη μου). Τα ελληνικά στα TeX/LaTeX. Το LZ Έχει παινέσει επανηλειμένως τα συγκεκριμένα +πακέτα. Το μόνο αρνητικό είναι ότι η υποστήριξη των ελληνικών είναι κατά κάποιο τρόπο ελλειπής, κυρίως λόγω του ότι δεν υπάρχουν οδηγίες για την εγκατάστασή +τους. Άντε πάλι από την αρχή για να μπούν στο laptop\... Δεν ξέρω αν ακολούθησα σωστά βήματα, πάντως κατέβασα το TeXgreek.tag.gz από τον +[obelix](ftp://obelix.ee.duth.gr). Μέσα του βρήκα ένα σωρό αρχεία τα οποία τοποθέτησα κάτω από το /usr/lib/texmf/texmf και σε directories που είχαν αρχεία με +όμοια κατάληξη. Τέλος, έτρεξα `texconfig -rehash` και `texconfig -confall` και όλα δούλεψαν σωστά\... + +Θα ήθελα πολύ να μπορώ να μετατρέπω τα sgml files που έχουν ελληνικά (όπως τα ελληνικά HOWTOs, αλλά και τα άρθρα του magaz) σε latex, τώρα που το πακέτο +υποστηρίζει και ελληνικά, αλλά αντιμετώπισα δύο προβλήματα: + +- Το πρώτο είναι ότι πρέπει κάθε ελληνικό κομμάτι κειμένου να περικλείεται σε μία εντολή της μορφής /textgreek{}. Αυτό το έλυσα με ένα μικρό σκριπτάκι, μικρό + το κακό. +- Το δεύτερο όμως είναι ότι τα sgml-tools χρησιμοποιούν κάποια styles τα οποία δεν συνεργάζονται με το babel και άρα με τα ελληνικά. Αποτέλεσμα, ό,τι ελληνικό + γράφεται μέσα σε \, \ κ.λ. να χάνονται\... Αν υπάρχει κάποιος που να μπορεί να διορθώσει το πρόβλημμα αυτό\... + +Όσο για το σκριπτάκι, λίγο ακόμη χρειάζεται δουλειά και θα \"δωθεί στο κοινό\"\... + +Αν θυμάστε την περιπέτεια που είχα με τον X Server και την κάρτα γραφικών της NeoMagic, θα θυμάστε ότι η λύση δόθηκε από ένα \"πειραγμένο\" XF86\_SVGA server +που βρήκα στο Internet. Δεν θυμάμαι αν ειχα αναφέρει αργότερα, ότι βρήκα αυτό που χρειαζόμουν ακριβώς στο site της RedHat. Την περίοδο εκείνη, η RedHat είχε +έρθει σε συμφωνία με την εν λόγω εταιρεία ώστε να γράφει servers για τις κάρτες της και να τους διανέμει δωρεάν - όχι όμως και τα sources αφού η NeoMagic δεν +επιθυμούσε κάτι τέτοιο. Ακόμη και αυτό όμως άλλαξε! Στο θα βρείτε και τα binaries αλλά και τα sources των εν λόγο servers (και +αν δεν είναι ακόμη, θα είναι σύντομα)! + +Όπως σύντομα θα υπάρχουν και ένα σωρό πακέτα για το [GNOME](http://www.gnome.org), που από version σε version γινεται όλο και πιο εντυπωσιακό και χρήσιμο. Ήδη, +την ώρα που γράφω αυτά έχουν βγει τα βασικά πακέτα της version 0.30 και αναμένεται συνέχεια! + +Όσο για τα XFGreekKBD και XFGreekFNTS, όλο και κάποιος τα χρησιμοποιεί και χαίρομαι όταν λαμβάνω σχετικά mails\... + +Στην παγκόσμια Linux-ική σκηνή, τα νέα τα ξέρετε, αλλά αν όχι, μπορείτε να τα μάθετε σε δύο πολύ καλές διευθύνσεις: + +- (\"News for nurds. Staff that maters\")\... +- + +Εμένα πάντως μου έκανε εντύπωση ότι μετά από τις Sybase, Informix, Oracle ακούγεται και port της DB2 για Linux! (Εγώ πάντως θέλω τον SQLServer της +Microsoft\...) diff --git a/content/articles/08/03_analysi.md b/content/articles/08/03_analysi.md new file mode 100644 index 0000000..68f07fb --- /dev/null +++ b/content/articles/08/03_analysi.md @@ -0,0 +1,105 @@ ++++ +title = 'Linux και Windows' +date = '1998-10-01T00:00:00Z' +description = '' +author = 'Νίκος Κόκρας' +issue = ['Magaz 08'] +issue_weight = 3 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Η σύγκρουση/σύγκριση μεταξύ windows και linux είναι γνωστή σε όλους μας.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Ακόμα και από το περιοδικό μας έχει γίνει κάποιες φορές αρκετά εμφανής. Επίσης, καθημερινά πολλοί νέοι χρήστες έρχονται στον κόσμο του Linux. Αυτά τα δύο, αν +και φαινομενικά άσχετα, είναι όχι μόνο αλληλένδετα αλλά και αλληλοεπηρεαζόμενα. Πολύ περισσότερο, ο υπογράφων έχει λόγο να πιστεύει ότι μεταξύ των δύο υπάρχει +μια σχέση θετικής παλίνδρομης ανάδρασης ή πιο απλά όσο περισσότερο μιλάμε περι της Microsoft τόσους περισσότερους linux χρήστες θα έχουμε και παράλληλα όσους +περισσότερους νέους χρήστες έχουμε τόσο περισσότερο θα μιλάμε για την Microsoft.\ +Υπάρχει βεβαίως πρόβλημα αν η παραδοξολογία αυτή αποδειχτεί πραγματικότητα. Ναι μεν όλοι θέλουμε να διευρυνθεί η βάση χρηστών του linux, αλλά κάποια στιγμή θα +πρέπει να αναρωτηθούμε ποιοί πραγματικά έρχονται και γιατί. Ο υπογράφων πολύ φοβάται ότι τον τελευταίο καιρό εισέρχονται στην λίστα των ελλήνων χρηστών του +linux, αλεξιπτωτιστές με αμφίβολα αποτελέσματα για το καλό της κοινότητας.\ +Γιατί συμβαίνει αυτό ? Έχει άμεση σχέση με την κριτική των windows. Κατά την γνώμη του υπογράφοντος αποτελεί τεράστιο λάθος και ακόμα μεγαλύτερο όταν γίνεται σε +επίπεδο συλλογικό (από το Magaz ή το linux.gr). Μια τέτοια κριτική δυστυχώς ήταν της μοδός επί 2 χρόνια περίπου (από το 1996) και σήμερα θεωρείται πλέον cult +(sic ή ότι άλλο θέλετε). Οποιοσδήποτε θέλει να δείξει ότι γνωρίζει τα μέγιστα περί windows, αρχίζει την κριτική για τα άπειρα bugs των windows. Πολύ συχνά δεν +γνωρίζει ούτε καν την διαφορά π.χ. μεταξύ (Ε)IDE και SCSI. Αλλά κανείς δεν κάνει τον κόπο να τον ρωτήσει (πλην του υπογράφοντος). Όπως η αστυνομία πουλά ηρωίνη, +όπως οι γιατροί τα παίρνουν, έτσι και τα windows είναι \"lame\". Αντιλαμβανόμαστε όλοι ότι πρόκειται για γενικεύσεις από άτομα που κάπου, κάποτε άκουσαν κάτι +και το επαναλαμβάνουν, θέλοντας να δείξουν ότι κατέχουν τα μυστικά του σύμπαντος. Καλά βέβαια όλα αυτά, αλλά τι σχέση έχουν με το linux ? Δυστυχώς μεγάλη. Όταν +κάποιος πεφωτισμένος linuxas αρχίζει να \"ρίχνει\" τα windows και να \"ανεβάζει\" το linux, ο άμεσος συνειρμός που κάνει ο φουκαράς που τον ακούει είναι:\ +*\"Αααα, είμαι χαζός που μέχρι τώρα είχα windows. Αφού ο ειδήμονας εδώ μου λέει ότι δεν πάνε μια. Σίγουρα έχει δίκιο αφού το λέει όλος ο κόσμος. Άσε που είναι +και lame. Εγώ είμαι μάγκας (έλληνας κλπ). Θα σκίσω τα windows του \"βασιλάκη πόρτα\" και θα βάλω τα linux που είναι καλύτερα, γρηγορότερα, την έχουν πιο μεγάλη +και είναι και της μόδας\".*\ +Ναι, δυστυχώς το linux είναι της μόδας. Κάπως ξέφυγε ότι τα linux τα έχουν οι σοβαροί, οι κυριλάτοι, οι πολλοί \"έτσι\" power users και φίλοι μου τί είναι η ζωή +χωρίς πρότυπα ? Όταν μάλιστα οι επαϊοντες του χώρου, οι πεφωτισμένοι linux guru (των 2 μηνών που ανάθεμα και εάν ξέρουν τι είναι ο gcc και τι χρειάζεται) +γυρνάνε στα απανταχού φυσικά και ηλεκτρονικά στέκια χλευάζοντας τα windows και τους χρήστες τους, τότε τα πράγματα γίνονται δύσκολα. Ο ίδιος ο υπογράφων έτυχε +αντικείμενο χλευασμού από κάποιον linux guru (γκουχ γκουχ) όταν τόλμησε (!!) να μπεί στο \#linux-gr χρησιμοποιώντας τον καλύτερο irc client (Mirc-Win32). Του +συνεστήθει μάλιστα να forma-ρει άμεσα το δίσκο του και να βάλει πάραυτα linux, γιατί λέει θα serfa-ρει καλλίτερα στο Internet καθώς το linux είναι παιδί του +Internet ενώ τα windows δεν είναι. Γίνεται αντιληπτό ότι τέτοιου είδους \"προπαγάνδα\" μόνο κακό κάνει. Για πολλούς λόγους: + +- Κατ\'αρχήν το linux δεν είναι απαραίτητα καλύτερο των windows. Στις τυπικές εφαρμογές (επεξεργασία κειμένου, γραφικών, internet μέσω dial-up, gaming) τα + windows είναι έτη φωτός μπροστά από το linux από κάθε πλευρά (ταχύτητα, αξιοπιστία, ευκολία χρήσης). Μην ακούσω κανένα έξυπνο να μου εξιστορεί τα πάθη του + με τον Internet Explorer γιατί ο Communicator στο linux είναι \"ο Θεός να σε βοηθήσει\". +- Δεύτερον, για όλες τις τυπικές εφαρμογές (αλλά και τις ά-τυπες) απαιτείται διπλάσιος κόπος στο linux από ότι στα windows. Αν πρόκειται να διδάξει το + περίφημο έθνος τών linux guru UNIX σε όλα τα 17χρονα της χώρας, θα είναι μια μεγάλη συμβολή στον εξυγχρονισμό της Ελάδας. Έως τότε πρέπει να παραδεχτούμε + ότι πιο εύκολα θα δεί κανείς το www.tsonta.com μέσω Win32 παρά μέσω Linux. +- Τρίτον, ακόμα και εάν ο νεαρός μαθητευόμενος θέλει να μάθει, όταν του φορτώνουμε το κεφάλι με κάθε λογής βλακεία, είναι αναπόφευκτο να απογοητευτεί όταν δεί + το CLI (κατά το GUI) να τον περιμένει. Η ακριβής καταγραφή των πλεονεκτημάτων αλλά και των μεινεκτημάτων του Linux προσφέρει σαφώς μεγαλύτερη υπηρεσίες τόσο + στον εν λόγω νεαρό όσο και στο προφίλ του Linux. Η δε ιστορία με το KDE (αλλά και το GNOME) πρέπει να σταματήσει κάποτε. Αν είναι να πείσουμε τον κόσμο να + αφήσει τα MS-Windows για να βάλει τα γιαλαντζί GNU-Windows είμαστε όλοι για το ψυχιατρείο. (Σ.Σ. αυτά κύριοι είναι γραφικά περιβάλλοντα που δρούν + συνεπικουρικά, δεν είναι απομιμήσεις λειτουργικών συστημάτων σε 32bit χρώμα και αλλοίμονο εάν ο κόσμος αρχίζει να βάζει linux για το KDE). + +Δυστυχώς οι απαραίτητες διευκρινήσεις πρίν από το fdisk δεν δίνονται. Πολύ περισσότερο, κριτικάροντας την Microsoft και εξυμνώντας το δικό μας Linux, +συμπεριφερόμαστε σαν τους χειρότερους μπακάληδες, ασφαλιστές, product managers και άλλους τέτοιους χαριτωμένους. Αυτό που καταφέρνουμε λοιπόν είναι να +προσελκύουμε όλους τους χαζούς του ελληνικού computing που με μηδαμινές γνώσεις και καμμία όρεξη για μάθηση θέλουν απλώς να λένε στους φίλους τους ότι έχουν +linux και ως εκ τούτου είναι πολύ \"in\" τυπάδες. Και θέλουν να κάνουν compile το KDE τρομάρα τους γιατί τα binaries είναι lame (o υπογράφων έχει χλευαστεί και +για αυτό) Γιατί ενοχλούμαι από αυτήν την κοσμοσυροή ? **Πρώτον**, γιατί έρχονται και ρωτάνε τι είναι το \"ls\" ενώ είναι προφανές ότι δεν τους πέρασε καν από το +μυαλό ότι θα πρέπει να στρώσουν το κώλο τους να βρούν τι σημαίνει. **Δεύτερον** γιατί μου στερούν το βασικότερο όπλο μου (το Read The Fucking Manual), αφού δεν +ξέρουν καν τι σημαίνει και έτσι δεν προσβάλονται καν όταν το ακούνε (κάποιος μου απάντησε ότι το RTFM βγάζει \"bash: RTFM: command not found\"). **Τρίτο**, +τελευταίο και σημαντικότερο, αυτοί οι χρήστες φέρνουν και άλλους τέτοιους. Όλοι μαζί χλευάζουν την Microsoft, συνιστούν ακόμα και στον παπά της ενορίας να βάλει +linux και το βράδυ μπαίνουν από windows για να κάνουν και καμιά δουλειά.\ +Προς Θεού, δεν αντιμάχομαι την εισαγωγή νέων χρηστών. Αντίθετα την επιζητώ και όσοι γνωρίζουν τα των υπολογιστών και λειτουργικών συτημάτων καταλαβαίνουν και +γιατί. Αλλά, βλέποντας πιο μακροχρόνια, καταλήγω ότι προτιμώ έναν σοβαρό και συνηδητοποιημένο νεό χρήστη παρά 10 γελοίους που θέλουν να εντυπωσιάσουν την +γκόμενα, τον φίλο, τον εργοδότη. Αυτός που με γνώση και προσεκτικά βήματα δοκιμάζει να έρθει στο κόσμο του linux δεν θα το κάνει γιατί τα windows είναι lame. +Ούτε γιατί του είπανε ότι το linux το χρησιμοποιούν οι \"hackers\" (άλλο παιδικό τραύμα και αυτό). Αντίθετα, γιατί ο φίλος μεταξύ καφέ, τσιγάρου και περατζάδας +σε γνωστές πλατείες ανά την επικράτεια του είπε: \"ρε συ, γιατί ταλαιπωρείσαι με τα windows αφού βλέπεις ότι δεν σε καλύπτουν ? έλα σπίτι να σου δείξω την λύση +στο πρόβλημα που έχεις.\" Αυτό όμως προυποθέτει τα εξής: α) ένα πρόβλημα που δεν λύνεται nice and clean στα windows. β) έναν windows χρήστη που ψάχνει λύση γ) +ένα linux χρήστη που μπορεί να του την δείξει. Χωρίς φανφαρολογίες, χωρίς αφορισμούς και χλεύη, απλά, ήρεμα και αποτελεσματικά. Αντίθετα, πολλοί εξ υμών πάνε +σώνει και καλά να δημιουργήσουν ανάγκες: το linux έχει mail server, web server, DNS sever, samba, mamba, lamba κλπ. Θαυμάσια. Έτσι εγώ που έχω ένα υπολογιστή +σπίτι μου και μπαίνω από τον τάδε ISP ξαφνικά θα αρχίζω να τρέχω καμμια δεκαπενταριά daemons γιατί έχω linux και πρέπει να το εκμεταλευτώ. Ρώτησε λοιπόν κανείς +αυτόν τον περίφημο windows χρήστη εάν είναι ευχαριστημένος ? Πολύ περισσότερο αναρωτήθηκε κανείς εάν έχουμε το δικαίωμα (και συνταγματικά ακόμη) να διαταράσουμε +τo ευτυχές computing αυτού του ανθρώπου γιατί θέλουμε οπωσδήποτε να τον αναβαθμίσουμε ? Με πιο δικαίωμα, εσείς οι πολύ \"έτσι\" γκομενάτοι, κυριλάτοι +hackerades, guru\'s από τα γεννοφάσκια σας πάτε και ενοχλείτε τον κόσμο ? Η απάντηση είναι απλή: γιατί κανείς δεν έχει ζήσει το linux (αλλά και πολλά της +ιστορίας πλέον των υπολογιστών) σε τέτοιο βαθμό ώστε να έχει την απαραίτητη κουλτούρα. + +Ένας από τους πρώτους νόμους του Linux Advocacy είναι ότι ΠΟΤΕ δεν πάμε εμείς αλλά έρχονται αυτοί σε εμάς. Όσοι είναι περίεργοι να μάθουν τον δεύτερο είναι ο +εξής: ΔΕΝ μιλάμε ποτέ εναντίον άλλων λειτουργικών. Το δικό μας μπορεί να είναι καλύτερο. αλλά προσπαθούμε να το αποδείξουμε χωρίς να βρίζουμε τα προιόντα του +κόπου κάποιων άλλων προγραμματιστών. Πέρα από τα μυστικά του marketing η στοιχειώδης ευγένεια και συναδελφικότητα με τον \"φίλο\" προγραμματιστή της Microsoft +απαιτεί την καλοπροαίρετη κριτική με σκοπό να τον βοηθήσεις στο debugging του προγράμματός του, όπως θα σε βοηθήσει και αυτός με το δικό σου. Μεταξύ ανθρώπων +που βρίσκονται στην κορυφή μιας από τις ταχύτερα εξελισσόμενες τεχνολογίες του καιρού μας ή κάπως κοντά της (γιατί δεν γνωρίζουμε όλοι τα πάντα σε αυτόν το +μάταιο κόσμο) είναι αδιανόητο να βρίσκονται ένα μάτσο γελοίοι που συμπεριφέρονται σαν ημι-άγριοι Ελληνες computer-άδες που από το Larry και το Quake θέλουν εν +μια νυκτί να γίνουν \"και\_εγώ\_δεν\_ξέρω\_τι\_ακριβώς\" πατώντας πάνω στον ελέυθερο χρόνο σου (γιατί δεν έχουν διαβάσει ούτε καν το manual του αγαπημένου τους +Tomb Raider) και δοκιμάζοντας την υπομονή σου (\"έχω linux εδώ και 2 μήνες και το ξέρω πολύ καλά, αλλά τώρα έβαλα RedHat και έχω πρόβλημα γιατί το rpm δεν κάνει +unrpm, μπορείς να με βοηθήσεις ?) Όλα αυτά είναι σκέψεις καθαρά προσωπικές, που προβληματίζουν τον υπογράφοντα καιρό τώρα, καθώς βλέπει το linux να γίνεται σιγά +σιγά ψιλο-mainstream στην χώρα μας. Δυστυχώς τον τελυταίο καιρό, η αύξηση του linux στην Ελλάδα είναι εις βάρος της σοβαρότητας. Χαρακτηριστικό παράδειγμα +κάποιος \"linuxas\" που συμμετείχε (συμμετέχει ?) ενεργά στις δραστηριότητες ίδρυσης του HELLUG. Σε ένα meeting από τα ελάχιστα όπου είχα παρευρεθεί, +εκμηστηρεύτικε ότι δεν ξέρει και πολλά από linux αλλά έχει βαρεθεί την microsoft (fuck microsoft είχε πει) και θέλει να συμμετάσχει στον HELLUG γιατί θέλει να +πολεμήσει την Microsoft. Το περίλυπο και μάλλον ειρηνικό βλέμμα του υπογράφοντα ομολογουμένως τον απογοήτευσε. Χρειάζεται λοιπόν εγκράτεια και αυτογνωσία, υλικά +που λείπουν τόσο από την χώρα μας εν γένει αλλά και ειδικότερα από τον χώρο του ελληνικού computing. Στους επόμενους μήνες όλο και περισσότερος κόσμος θα ακούει +για το linux και τα hits του linux.gr θα ανεβαίνουν κατακόρυφα. Ελπίζω οι διαχειριστές του να δείξουν την υπευθυνότητα και την σοβαρότητα που απαιτείται. Η +λογική του \"linux everywhere\" που διακατέχει πολλούς στο μαγαζί μας, είναι όχι μόνο ουτοπική αλλά και δυνητικώς καταστροφική για το linux στην χώρα μας. +Πρέπει επιτέλους να φιλτράρουμε το λόγο μας, όχι για να αποθαρρύνουμε τους νέους χρήστες αλλά για να τους συμβουλέψουμε σωστά. Δεν πρέπει να έχουμε το complex +να συστήσουμε WindowsNT ή Windows9x ή οτιδήποτε άλλο όταν βλέπουμε ότι θα καλύψει καλύτερα τις ανάγκες κάποιου. Όσοι εξ υμών γνωρίζουν κάτι παραπάνω από τον +μέσο έλληνα χρήστη θα πρέπει να έχουν στο μυαλό τους όχι πως θα \"πουλήσουν\" περισσότερο linux αλλά πως θα \"προωθήσουν\" το linux. Ποιά η διαφορά ? Μπορεί +κανείς να προωθήσει το linux χωρίς να υπόσχεται λαγούς με πετραχήλια με την υιοθέτηση του linux και φυσικά χωρίς την γελοιότητα της κριτικής χωρίς νόημα +εναντίον της Microsoft. Αλλά με την δημιουργία ενός σοβαρού, αξιόπιστου και αποτελεσματικού πυρήνα ελλήνων χρηστών linux που ξέρει να δίνει λύσεις σε κάθε +πρόβλημα με όλα τα εργαλεία που προσφέρει ο κόσμος του linux OTAN και OΠOY ζητείται η συνδρομή του. Η αντιμετώπιση του μέσου χρήστη που θέλει να βάλει linux δεν +πρέπει να είναι σαν να πήρε το σωστό δρόμο του Θεού μακρυά από τον σατανά και τους πειρασμούς του. Εχουμε φτάσει στο σημείο να συγχαίρουμε τον νεό χρήστη που +βρήκε το δρόμο προς τον παράδεισο και μόνο \"αλληλούια\" δεν ανακράζουμε για τον αδερφό που βρήκε την σωτηρία. Αντίθετα η αντιμετώπισή μας πρέπει να είναι +σκεπτικιστική και η πρώτη ερώτησή μας να είναι ΓΙΑΤΙ θέλεις να βάλεις linux. Oι απανταχού ΑΥΤΟαποκαλούμενοι hackers και guru δεν μπορούν βέβαια να αξιολογήσουν +την απάντηση του ενδιαφερόμενου και να τον καθοδηγήσουν σωστά. Εμείς μπορούμε.\ +Ας αφήσουμε λοιπόν την Μicrosoft στην ησυχία της και ασχοληθούμε με εμάς. Σε αντίθετη περίπτωση θα μας φάνε οι κότες γιατί μαζί με την ενασχόληση με την +microsoft θα αναγκαστούμε να ασχολούμαστε και με τους πελάτες της. Είστε σίγουροι όλοι εσείς που συγκρίνετε το linux με τα windows οτι θέλετε να ασχοληθείτε με +το αντικείμενο αυτό ? + +Υ.Γ. Αντιλαμβάνομαι ότι το άρθρο σε μερικά σημεία είναι λίγο επιθετικό. Δεν περιμένω βέβαια e-mail συγχαρητηρίων. Άλλωστε η κοπέλα μου συμφώνησε απολύτως με την +γνώμη μου (αυτό μας έλλειπε να διαφωνούσε) και συνεπώς είμαι ήσυχος :-) diff --git a/content/articles/08/04_giafka.md b/content/articles/08/04_giafka.md new file mode 100644 index 0000000..1363cfa --- /dev/null +++ b/content/articles/08/04_giafka.md @@ -0,0 +1,51 @@ ++++ +title = 'GPL Licensed to kill' +date = '1998-10-01T00:00:00Z' +description = '' +author = 'Ευριπίδης Παπακώστας' +issue = ['Magaz 08'] +issue_weight = 4 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +***ΠΡΟΣΟΧΗ !!!** Τα παρακάτω άτομα καταζητούνται από την Micro\$oft ζωντανοί ή νεκροί.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**Κατηγορία:** + +Σύσταση συμμορίας δωρεάν προσφερόμενων υπηρεσιών, αφιλοκερδώς, και υποκίνηση πραξικοπήματος κατά των συμφερόντων της εν λόγω εταιρείας. Στις 26/09/98 η +τρομοκρατική τους ενέργεια, επισφραγίστηκε με την επιτυχή συναρμολόγηση ενός, ιδιοχείρου κατασκευής, Linux Server. Φήμες θέλουν να ονομάζεται ***tux***.\ +Η προκλητική αυτή ενέργεια ξεπέρασε κάθε όριο ανοχής. Κάθε προσπάθεια συνετισμού απέτυχε. Ολοι οι παρακάτω εγκληματίες, εμμένουν μέχρι θανάτου στα telnet τους. +Οι άνθρωποι αυτοί είναι αδίστακτοι και αμετανόητοι. Οποιοσδήποτε έχει πλευριστεί με σκοπό την στρατολόγηση από οποιονδήποτε από αυτούς, να το αναφέρει αμέσως. +Κίνδυνος ελοχεύει να καλυφθούν οι τρομοκρατικές ενέργειες της γιάφκας κάτω από την ομπρέλλα του πανίσχυρου \"νομότυπου\" συλλόγου HELLUG. + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + \ ![](/08/img/georgatos.jpg) + ![](/08/img/vryonis.jpg) + + *ΠΑΝΑΓΙΩΤΗΣ ΒΡΥΩΝΗΣ: Ειδικότητα: Διάβρωση της στρατιωτικής μηχανής εκ των έσω. *ΦΩΤΗΣ ΓΕΩΡΓΑΤΟΣ: Καταζητείται από την Interpol. Συνεργασίες με αντίστοιχες + KDE serial killer.* αναρχικές ομάδες του εξωτερικού.* + + ![](/08/img/exidaridis.jpg) ![](/08/img/kabrianisbw.jpg) + + *ΓΙΑΝΝΗΣ ΕΞΗΝΤΑΡΙΔΗΣ: Έχει εγκληματίσει κατά συρροήν στην Πάτρα. Εξαπλώνεται *ΜΙΧΑΛΗΣ ΚΑΜΠΡΙΑΝΗΣ: Η νομότυπη εκπροσώπηση στα ΜΜΕ. Μεγαλοεκδότης περιοδικών.* + και στην Αθήνα.* + + ![](/08/img/maistrelis.jpg) ![](/08/img/manos.jpg) + + *ΚΩΣΤΑΣ ΜΑΙΣΤΡΕΛΗΣ: Ειδικότητα: Η πιο γρήγορη κονσόλα.* *ΚΩΣΤΑΣ ΜΑΝΟΣ: Εμφανίστηκε από το πουθενά. Ακόμα δεν εκρεμμούν κατηγορίες. + Υποπτος.* + + ![](/08/img/bolis.jpg) ![](/08/img/papakostas.jpg) + + *ΣΠΥΡΟΣ ΜΠΟΛΗΣ: Αδίστακτος αν και νεοφώτιστος* *ΕΥΡΙΠΙΔΗΣ ΠΑΠΑΚΩΣΤΑΣ: Ιδιοκτήτης της γιάφκας, του πιγκουίνου. Φέρεται ως ο + εγκέφαλος αυτής της σύναξης.* + + ![](/08/img/sanida.jpg) ![](/08/img/tsakaloglou.jpg) + + *ΒΟΥΛΑ ΣΑΝΙΔΑ: Γυναίκα Δηλητήριο. Συνιδιοκτήκτρια του πιγκουίνου. Οργάνωση.* *ΚΩΣΤΑΣ ΤΣΑΚΑΛΟΓΛΟΥ: Εχει αναπτύξει παρόμοιες δραστηριότητες και το 83. + Διαφεύγει από τότε. Ο θεωρητικός.* + + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- diff --git a/content/articles/08/05_bash1.md b/content/articles/08/05_bash1.md new file mode 100644 index 0000000..d486a16 --- /dev/null +++ b/content/articles/08/05_bash1.md @@ -0,0 +1,199 @@ ++++ +title = 'Απλά μαθήματα Bash μέρος 1ο.' +date = '1998-10-01T00:00:00Z' +description = '' +author = 'Βαγγέλης Παπαδογιαννάκης' +issue = ['Magaz 08'] +issue_weight = 5 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Γεια και χαρά και καλό Φθινόπωρο. Πάλι ήρθε το μελαγχολικό\...* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Από αυτή τη στήλη, θα προσπαθούμε να μάθουμε διάφορα κολπάκια για να κάνουμε τη ζωή μας με το αγαπημένο μας λειτουργικό ακόμα καλύτερη (Χμμμ, μάλλον ευκολότερη +θα ήταν η σωστή λέξη). + +Αρχίζοντας από αυτό το μήνα, θα παρουσιάσουμε κάποια shell scripts, (σα να λέμε batch files) έτσι ώστε να αυτοματοποιήσουμε κάποιες καθημερινές ενέργειες, και +να κάνουμε ορισμένες δουλειές γρηγορότερα. Α, δεν έχετε ιδέα από shell scripts ε; Καλά, θα σας τα εξηγήσω όλα\... Ας αρχίσουμε με κάτι απλό\... + +**ΚΟΛΠΑΚΙ Νο1!!!** + +Πρώτα από όλα, να γλιτώσουμε χώρο στο δίσκο μας. Αν και με τις σημερινές χωρητικότητες δεν πιστεύω να υπάρχει τέτοιο πρόβλημα, εντούτοις μερικές φορές είναι +απαραίτητο. + +Ξέρετε πόσο πολύ χώρο πιάνει το /usr/doc μαζί με τα παρελκόμενά του; Πολύ. Για αυτό θα κάνουμε το εξής: θα συμπιέσουμε το κάθε αρχείο ξεχωριστά με το gzip, και +θα φτιάξουμε ένα shell script που θα το διαβάζει συμπιεσμένο. Με αυτό τον τρόπο γλιτώνουμε πολύ χώρο στο δίσκο μας. + +Κατ αρχάς, να τα συμπιέσουμε. Δεν νομίζω να πιστεύατε ότι θα δίδαμε την εντολή gzip για κάθε αρχείο ξεχωριστά! Και για αυτό θα χρησιμοποιήσουμε script (Μετά θα +σας πω και ένα μυστικό). Γράφουμε λοιπόν: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + #!/bin/bash + DIR_NAMES=`ls -F|grep /` + for n in $DIR_NAMES + do + echo "compressing $n..." + cd `pwd`/$n;gzip *;cd .. + done + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**ΠΡΟΣΟΧΗ! (2)**: το \` που βλέπετε, είναι η βαρεία (αυτό που είναι μαζί με την περισπωμένη, δίπλα στο πλήκτρο \"1\"\...) + +1\. Δίδουμε στην μεταβλητή **DIR\_NAMES** την τιμή της εντολής **\"ls -F\|grep /\"**. Δηλαδή, τα αποτελέσματα της **ls** που περιέχουν το σύμβολο / (δηλαδή +είναι directory) + +2\. Στη συνέχεια μεταφερόμαστε σε κάθε ένα από τα directoryαυτά, και κάνουμε gzip όλα τα αρχεία (τα συμπιέζουμε δηλαδή). + +Φυσικά, αυτό θα γίνει για ένα επίπεδο directories. + +Σώστε το αρχείο με όνομα πχ **zipdir**. Κάντε το εκτελέσιμο με chmod 755 tardir, χώστε το κάπου που να είναι στο path. (πχ **/usr/bin**) + +Μετακινηθείτε στο **/usr/doc** δίνοντας + +**cd /usr/doc** + +και καλέστε το script γράφοντας το όνομα με το οποίο το έχετε σώσει. Για καθένα από τα directories, θα γίνει συμπίεση των περιεχομένων τους. + +ΚΑΛΟ? + +(Τώρα θα σας πω το μυστικό. Δεν ήταν ανάγκη να γράψετε το script αυτό, το gzip μπορεί κάνει το ίδιο πράγμα, δίνοντας του την παράμετρο **\--recurcive**. +Βρισκόμενοι δηλαδή στο **/usr/doc**, θα μπορούσαμε να γράψουμε: + +**gzip -r \*** + +Και μη με ρωτήσει κανείς γιατί το κάναμε\... Μάθαμε τα εξής, πολύ χρήσιμα, για τα **shell scripts**: + +1. Για να δώσουμε σε μια μεταβλητή το αποτέλεσμα μιας (ή και περισσότερων εντολών) χρησιμοποιούμε την/τις εντολή/ες ανάμεσα σε βαρείες\... +2. Μάθαμε την έννοια της **pipe** (\|). Με την pipe, δρομολογούμε την έξοδο της εντολής που είναι αριστερά του pipe στην εντολή που είναι δεξιά του pipe. + Δίνουμε, δηλαδή, σαν όρισμα στην εντολή grep το αποτέλεσμα της εντολής \"ls -F\". Στη συνέχεια η **grep** το \"φιλτράρει\" και, τελικά, αναθέτουμε στην + μεταβλητή DIR\_NAMES το αποτέλεσμα\... Απλό ε? +3. Στο linux, μπορούμε να \"κολλήσουμε\" διάφορα, με αποτέλεσμα το σύνολο να αποτελεί ένα όρισμα. Στην περίπτωσή μας, κολλήσαμε το αποτέλεσμα της pwd (print + working dir) με τη μεταβλητή n (αυτή που παίρνει τις διάφορες τιμές των directories), και με την cd, μεταφερόμαστε κάθε φορά μέσα και έξω από το κάθε + subdirectory του **/usr/doc.** + +Καλά όλα αυτά, αλλά έτσι και χρειαστεί να το διαβάσουμε το άτιμο αυτό το doc του τάδε πακέτου, τι κάνουμε; Να λοιπόν άλλο ένα script: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + #!/bin/bash + gunzip $1 | less + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Σώστε το αρχείο με όνομα πχ **showdoc**. Κάντε το εκτελέσιμο με **chmod 755 showdoc**, και στη συνέχεια χώστε το κάπου που να είναι στο path. (πχ **/usr/bin**) + +Για να δείτε ένα gziped doc, γράψτε στο directory του: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + showdoc "όνομα_του_doc_που_θέλετε_να_διαβάσετε" + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Τι μάθαμε εδώ; Πως χρησιμοποιούμε τις παραμέτρους του χρήστη. Αυτό το \$1, λέει στην gunzip να αποσυμπιέσει το αρχείο στο οποίο αναφέρεται η πρώτη λέξη +(χωριζόμενη με κενά) που γράψατε μετά το κάλεσμα του script. Στη συγκεκριμένη περίπτωση, αφού έχουμε γράψει: + +**showdoc \"όνομα\_του\_doc\_που\_θέλετε\_να\_διαβάσετε\"** + +το bash θα ερμηνεύσει το \$1 με το **\"όνομα\_του\_doc\_που\_θέλετε\_να\_διαβάσετε\".** + +Φυσικά, μπορούμε να ελέγξουμε και τυχόν άλλες εισαγωγές του χρήστη, με τα \$2, \$3, \$4 κ.λπ. + +Λοιπόν, τελικά να δείτε που δεν χρειάζεται να το κάνετε ούτε αυτό\... Εννοώ να συμπιέσετε τα README. Το πολύ να γλιτώσετε 200 ΚΒ, όσα DOC και να έχετε!!! + +Μη νομίζετε όμως ότι σας δουλεύω, η μάθηση είναι πολύ πιο εύκολη όταν συνοδεύεται από παραδείγματα!! + +**ΚΟΛΠΑΚΙ Νο2!!!** + +Δοκιμάστε να δείτε τι έχετε μέσα στο /usr/bin. \'Αμα έχετε δέκα οθόνες τη μια πάνω από την άλλη (και βρείτε τρόπο να τις συνδέσετε), ίσως και να χωρέσουν τα +αρχεία που υπάρχουν εκεί μέσα. \'Ελα μου όμως που είσαστε καινούριοι στο Linux, και δεν ξέρετε τι εκτελέσιμα υπάρχουν εκεί\... (μην παρεξηγηθείτε, ούτε οι +περισσότεροι τα ξέρουν όλα). Πώς θα τα δείτε; ε; Ρωτώ λοιπόν\... Πώς; ε; Πώς;;; + +Γράψτε στη γραμμή εντολών: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ls -1 > ti_exo_edo_kai_den_to_ksero + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Να δείτε ότι θα δημιουργηθεί ένα αρχείο που θα λέγεται \"ti\_exo\_edo\_kai\_den\_to\_ksero\" και θα περιέχει τα αρχεία, όπως αυτά θα προέρχονταν από την ls -1 +(το -1 είναι για να εμφανίσει ένα αρχείο ανά γραμμή). + +Με το σύμβολο \"\>\" λοιπόν, κάνουμε **επαναδρομολόγηση** της εξόδου (Μα καλά, ώρες-ώρες οι λέξεις αυτές με συναρπάζουν\...). Εκεί που ήταν το αποτέλεσμα της +**ls -1** να τυπωθεί στην οθόνη, αυτό γράφτηκε στο αρχείο **\"ti\_exo\_edo\_kai\_den\_to\_ksero\".** + +Θα μου πείτε \"σιγά μωρέ, αυτο το κάνω και με τη **less** ή τη **e**\...\". Έχετε δίκιο λοιπόν, και για αυτό το λόγo θα σας δώσω μερικά πιο καλά +παραδείγματα\... + +**Redirect output** (έτσι λέγεται αυτό το επαναδρομολόγηση της εξόδου) μπορούμε να κάνουμε ακόμα και σε συσκευές του συστήματός μας. Πχ, η εντολή: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + echo "Look at your printer" > /dev/lp1 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +θα στείλει στην lp1 (αυτό είναι, συνήθως, ο printer σας) το \"**Look at your printer\".** + +Αντίστοιχα, η εντολή + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + cat README > lp1 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +θα στείλει στον Printer σας το αρχείο README (φροντίστε να είναι σε μορφή ASCII). + +Για όλα αυτά τα ωραία, πρέπει: + +1. Nα υπάρχει εκτυπωτής +2. Να είναι αναμμένος +3. Να είναι συνδεμένος στο PC +4. Να είναι ONLINE +5. Να έχει χαρτί +6. Να έχει μελάνι (αν είναι inkjet), toner (αν είναι laser), μελανοταινία (αν είναι dot-matrix) +7. Να μην είναι χαλασμένος. + +Αν δεν έχετε εκτυπωτή, μάλλον δε θα μπορέσετε να τυπώσετε, άρα μην το κάνετε. Για εσάς έχω άλλο κολπάκι\... + +**ΚΟΛΠΑΚΙ ΓΙΑ ΟΣΟΥΣ ΔΕΝ ΕΧΟΥΝ ΕΚΤΥΠΩΤΗ:** + +\'Οσοι από εσάς δεν έχουν εκτυπωτή, έχουν Μodem, διαφορετικά πως βλέπετε αυτές τις αράδες; Ε; (\'Εκτός φυσικά αν σας τα έφεραν τυπωμένα. Σε αυτή την περίπτωση +χρησιμοποιήστε των εκτυπωτή που τα τύπωσε για το προηγούμενο κολπάκι) + +Αφού μετά από όριμη σκέψη ανακαλύψαμε ότι έχετε Modem, γράψτε: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + echo "ATX3DT090835398" > /dev/ttyS2 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +(ttyS0=com1, ttyS1=com2, ttyS3=com3 κ.ο.κ. ανάλογα που είναι το modem σας). + +Ο υπολογιστής σας θα καλέσει τον αριθμό 090835398 (αν υπάρχει), και θα μιλάει για σας με το μέντιουμ που βρίσκεται σε αυτή την HotLine + +(Σε αυτό το σημείο να αναφέρω ότι ο συντάκτης, αλλά και ο εκδότης του παρόντος, δεν αναλαμβάνουν οποιαδήποτε ευθύνη για κακή χρήση του κόλπου αυτού, με λίγα +λόγια δηλαδή δεν πληρώνουμε εμείς τον λογαριασμό του ΟΤΕ σας). + +Καλύτερα λοιπόν να βάλετε ένα αστικό νούμερο. Αν το δοκιμάσετε, το Modem σας θα καλέσει αυτό τον αριθμό. + +Για να κλείσετε τη γραμμή δώστε: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + echo "ATΗ" > /dev/ttyS2 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +(ttyS0=com1, ttyS1=com2, ttyS3=com3 κ.ο.κ. ανάλογα που είναι το modem σας). + +Η γραμμή θα κλείσει. + +Αυτά τα ολίγα προς το παρόν\... Τον επόμενο μήνα θα έχουμε πιο προχωρημένα πράγματα\... diff --git a/content/articles/08/06_thea.md b/content/articles/08/06_thea.md new file mode 100644 index 0000000..bfa7b16 --- /dev/null +++ b/content/articles/08/06_thea.md @@ -0,0 +1,34 @@ ++++ +title = 'Thea' +date = '1998-10-01T00:00:00Z' +description = '' +author = 'Σπύρος Τριβυζάς' +issue = ['Magaz 08'] +issue_weight = 6 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Η [THEA](http://www.thea.gr) (θέα), ο πληρέστερος κατάλογος ελληνικών sites, δημιουργήθηκε πριν δύο χρόνια περίπου από την [Powernet](http://www.powernet.gr). +Στην αρχική της μορφή, ήταν ένα σετ στατικών HTML σελίδων που βρισκόντουσαν σε ένα NT (\...) PC server. Φυσικά, αυτό έπρεπε ν\' αλλάξει\... και άλλαξε.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Το Μάιο του 1997, η THEA έγινε \"δυναμική\". Τα περιεχόμενά της καταχωρήθηκαν σε μια database και κατασκευάστηκε ένας μηχανισμός διαχείρισης των εισερχομένων +και ήδη υπαρχόντων καταχωρήσεων, έτσι ώστε η διαχείρηση του καταλόγου να γίνεται εύκολα και γρήγορα. Και ο NT server έγινε Sun Ultra και μετά από μερικούς μήνες +Silicon Graphics ORIGIN. + +Ωραία όλα αυτά, μπράβο στη THEA, αλλά τι σχέση έχουν με το Linux; Το Linux επιλέχτηκε από την Powernet ως το καταλληλότερο σύστημα για την ανάπτυξη της THEA και +παρόμοιων εφαρμογών. Η συμβατότητά του (ή ομοιότητα) με τα άλλα Unix συστήματα σε συνδυασμό με την ευελιξία του, κάνει το Linux ιδανικό για ανάπτυξη Internet +εφαρμογών (και όχι μόνο). Αν μιλάμε για C, ένα compilation είναι όλος ο \"κόπος\" για τη μεταφορά μιας εφαρμογής από το Linux σε άλλο Unix σύστημα. Αν μιλάμε +για Perl ή PHP3, τότε η μεταφορά είναι πιο άμεση. + +Η Powernet συνεχώς αυξάνει την εμπιστοσύνη της στο Linux. Μέσα σε λίγους μήνες έφτασε να χρησιμοποιεί τέσσερα Linux Workstations & Servers, για διάφορες χρήσεις +(ανάπτυξη εφαρμογών, σύνδεση του office-LAN με το Internet, δοκιμαστικούς servers κλπ.). + +Δεν είναι μόνο η THEA που αναπτύχθηκε σε Linux. Σχεδόν όλα τα database projects της Powernet, με αποκορύφωμα το [Zoom](http://www.zoom.gr), τον \"κυβερνοδηγό\" +διασκέδασης, αναπτύχθηκαν επίσης σε Linux. + +Αντί επιλόγου, θα αναφέρω δύο διαφορές μεταξύ Windows και Linux servers, που έγιναν άμεσα αισθητές κατά τη μετάβαση από το πρώτο στο δεύτερο: + +- Tο Linux χρειάζεται 32 Mb RAM λιγότερα\... +- Στο Linux δε χρειάζεται (σχεδόν) ποτέ reboot ! diff --git a/content/articles/08/07_GreekTeXFAQ.md b/content/articles/08/07_GreekTeXFAQ.md new file mode 100644 index 0000000..a43b057 --- /dev/null +++ b/content/articles/08/07_GreekTeXFAQ.md @@ -0,0 +1,298 @@ ++++ +title = 'Εγκατάσταση της Ελληνικής Επιλογής του Babel για LaTeX' +date = '1998-10-01T00:00:00Z' +description = '' +author = '`Προκόπης Προκοπίδης` `Απόστολος Συρόπουλος`' +issue = ['Magaz 08'] +issue_weight = 7 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Αυτό το κείμενο περιγράφει τη διαδικασία εγκατάστασης της Ελληνικής επιλογής του babel, ενός πακέτου για την επεξεργασία πολυγλωσσικών κειμένων με το LaTeX.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Απαραίτητα Αρχεία** +------------------------------------------------------ + +**2. Το Βασικό Μέρος του babel.** +--------------------------------------------------------------- + +**3. Bιβλιογραφικό Στυλ, Ελληνικόs Συλλαβισμόs, και grtools** +------------------------------------------------------------------------------------------- + +**4. Γραμματοσειρές** +--------------------------------------------------- + +**5. Τελικές Ρυθμίσεις** +------------------------------------------------------ + +**6. Editors για το LaTeX και η Χρήση των Ελληνικών** +----------------------------------------------------------------------------------- + +- [6.1 Emacs](#ss6.1) +- [6.2 LyX](#ss6.2) + +**7. Ευχαριστίες** +------------------------------------------------ + + +### [1. Απαραίτητα Αρχεία]{#s1} + +Υποθέτουμε ότι μπορείτε να γράφετε Ελληνικά στο σύστημα σας. Επίσης ότι έχετε μια σωστά εγκατεστημένη έκδοση του LaTeX, μπορείτε να παράγετε π.χ. Αγγλικά +κείμενα χρησιμοποιώντας το και να τα δείτε με το Xdvi ή το ghostview. Αν κάτι από τα παραπάνω δεν ισχύει, πριν να συνεχίσετε, μπορείτε να διαβάστε τα εξής: + +> `ftp://www.linux.gr/pub/linux/HOWTO/Hellenic-HOWTO.html http://linux.forthnet.gr/LDP/HOWTO/TeTeX-HOWTO.html` + +Υποθέτουμε τέλος ότι θα έχετε την κοινή λογική να πάρετε αντίγραφα των αρχείων που θα μετατρέψετε κατά τη διαδικασία της εγκατάστασης. + +Το (La)TeX του παραδείγματός μας στήθηκε σε ένα PC από το Red Hat 5.1 κατά την εγκατάσταση όλου του Linux. Σε περίπτωση που η διάρθρωση του TeX καταλόγου είναι +διαφορετική στο σύστημά σας, μπορείτε να βρείτε τα αρχεία που περιγράφονται παρακάτω χρησιμοποιώντας τις εντολές `locate` και `find`. Ως παράδειγμα, μπορούμε να +δούμε πού τοποθετούν τις γραμματοσειρές οι διάφορες εκδόσεις του teTeX, της διανομής δηλαδή που περιέχει τα TeX, LaTeX, BibTeX, makeindex, κ.λ.π. + +> `RedHat-5.1: tetex-0.4pl8-11 /usr/lib/texmf/texmf/fonts/` + +> `RedHat Rawhide 1.0: tetex-0.9-2 /usr/share/texmf/fonts/` + +> `Open Linux: tetex-0.4pl7-2 /usr/TeX/texmf/fonts/` + +> `SuSe: tetex-0.4pl8-29 /usr/lib/teTeX/texmf/fonts/` + +Γίνετε λοιπόν root στο σύστημα σας και κατεβάστε το αρχείο + +> `ftp://obelix.ee.duth.gr/pub/TeX/TeXgreek.tar.gz` + +Ένα καλό σημείο να το τοποθετήσετε στο δίσκο σας είναι τo `/usr/local/src`. Όταν το αποσυμπιέσετε με την παρακάτω εντολή + +> gunzip xvfz TeXgreek.tar.gz + +θα δημιουργηθεί ένας κατάλογος `Texgreek` με την εξής δομή: + +> Texgreek--- +> | -- BibTeX +> | -- babel +> | -- doc +> | -- grtools +> | -- hyphenation +> | -- iso8858-7 +> | -- misc +> | -- mf +> | -- tfm + +Προαιρετικά μπορείτε να κατεβάσετε το `greek-mode.el` (από το `http://www.ics.forth.gr/~sarantos/`), δηλαδή την Ελληνική επιλογή για τον Emacs που έγραψε ο +Σαράντος Καπιδάκης. + +Προαιρετικά επίσης μπορείτε να στήσετε το LyX, που θα το κατεβάσετε σε tar.gz μορφή από το `http://www.lehigh.edu/~dlj0/LyriX.html` ή σε RPM από το +` http://rufus.w3.org/linux/RPM/contrib/hurricane/i386/lyx-0.12.0-3.i386.html` + +Λεπτομέρειες γι\' αυτά τα δύο προγράμματα στο τέλος του άρθρου. + + +### [2. Το Βασικό Μέρος του babel.]{#s2} + +Όντας στον κατάλογο `Texgreek` πηγαίνετε πρώτα στον υποκατάλογο `babel` για να εγκαταστήσετε το βασικό πακέτο. + +> cd ../babel/ +> cp lg*.fd /usr/lib/texmf/texmf/tex/generic/babel/ + +ή εναλλακτικά + +> cp lg*.fd /usr/lib/texmf/texmf/tex/latex/fd + +Ακολουθεί η εγκατάσταση του `iso8858-7.def` ώστε να μη χρειάζεται να γράφουμε σε greeklish και το TeX να καταλαβαίνει τα Ελληνικά μας κείμενα. + +> cd ../iso8858-7/ +> cp iso-8859-7.def /usr/lib/texmf/texmf/tex/latex/base + +Πλέον, μπορούμε να γράφουμε Ελληνικό LaTeX σε οποιονδήποτε editor, με την προϋπόθεση να υπάρχουν πριν από το κείμενο μας, δηλαδή πριν από την εντολή +`\begin{document}`, οι παρακάτω γραμμές + +> \usepackage[greek]{babel} +> \usepackage[iso-8859-7]{inputenc} + +Αν δεν χρησιμοποιηθεί αυτό το αρχείο, θα πρέπει να πληκτρολογούμε το κείμενο μας κάπως έτσι \... + +> mia dokimastikh grammh + +\... πράγμα που κανείς μάλλον δε θέλει. Το αποτέλεσμα πάντως θα είναι το ίδιο και στις δύο περιπτώσεις. Θυμίζουμε ότι για να έχετε Ελληνικό και ξένο κείμενο στο +ίδιο αρχείο, θα πρέπει να ακολουθήσετε τις οδηγίες στο `http://www.linux.gr/magaz/04/05_babel-3.html` ή στα αρχεία του υποκαταλόγου `doc` του `Texgreek`. + + +### [3. Bιβλιογραφικό Στυλ, Ελληνικόs Συλλαβισμόs, και grtools]{#s3} + +Πηγαίνετε πρώτα στον κατάλογο `bibtex` για να εγκαταστήσετε το Ελληνικό βιβλιογραφικό στυλ. + +> cd ../bibtex +> cp hellas.bst /usr/lib/texmf/texmf/bibtex/bst/base/ + +Παρεμπιπτόντως, ένα εύχρηστο πρόγραμμα για τη δημιουργία και τη διαχείριση της βιβλιογραφίας σας μέσα στα X είναι το bibview. Δουλεύει μια χαρά και με τα +Ελληνικά. Μπορείτε να το κατεβάσετε σε RPM από το ` http://rufus.w3.org/linux/RPM/dld/5.4/i386/RPMS/i386/bibview-2.2-1.i386.html` ή +σε tar.gz από το . + +Ακολουθεί το αρχείο για τον Ελληνικό συλλαβισμό. + +> cd ../hyphenation/ +> cp grhyph.tex /usr/lib/texmf/texmf/tex/generic/hyphen/ + +Εντοπίστε το αρχείο `hyphen.tex` στο σύστημα σας. Μπορείτε να χρησιμοποιήσετε την εντολή + +> locate hyphen.tex + +Χρησιμοποιήστε την εντολή `more` για να δείτε τι περιέχει. + +> more /usr/lib/texmf/texmf/tex/generic/config/hyphen.tex + +Αν η απάντηση που πήρατε είναι + +> \input hyphen.cfg + +το αρχείο είναι εντάξει. Αν δεν υπάρχει αυτή η γραμμή, προσθέστε την με έναν editor. Εναλλακτικά, αλλάξτε το όνομα του σε `UShyphen.tex` και δημιουργήστε ένα +αρχείο με το ίδιο όνομα, που θα περιέχει την παραπάνω γραμμή. + +Το `/usr/lib/texmf/texmf/tex/generic/config/language.dat` είναι άλλο ένα αρχείο που πρέπει να \"πειράξουμε\". Ανοίξτε το σε έναν editor και προσθέστε τη γραμμή + +> greek grhyph.tex + +ώστε το αρχείο σας να μοιάζει κάπως έτσι: + +> % File : language.dat +> % Purpose : specify which hypenation patterns to load +> % while running iniTeX +> +> % The hyphenation pattern files are in the dirctory: +> % texmf/tex/generic/hyphen +> +> +> % The US-english patterns should be loaded *always* and as *first* ones. +> american ushyph1.tex +> =USenglish +> +> % UK english, THREE LINES! +> %british ukhyph.tex +> %=UKenglish +> =english +> +> %catalan cahyph.tex +> %croatian hrhyph.tex +> %czech czhyph2e.tex +> %danish dkhyphen.tex +> %dutch nehyph1.tex +> %dutch nehyph2.tex +> %dutch nehyph3.tex +> %finnish fihyph.tex +> %french frhyph.tex frhyphex.tex +> %german ghyph31.tex +> greek grhyph.tex +> %italian ithyph.tex +> %norsk nohyph.tex +> %polish plhyph.tex +> %portuges pthyph.tex +> %romanian rohyphen.tex +> %slovene sihyph22.tex +> %spanish sphyph.tex +> %swedish sehyph.tex + +\"Τα πακέτα της σειράς εργαλείων grtools προσφέρουν επιπλέον λειτουργικότητα στην ελληνική επιλογή\" σύμφωνα με το +`http://www.linux.gr/magaz/04/05_babel-4.html` όπου και θα βρείτε περισσότερες πληροφορίες για τη χρήση τους. Για να τα εγκαταστήσετε, + +> cd ../grtools +> tex grtools.ins +> mkdir /usr/lib/texmf/texmf/tex/latex/grtools +> cp *.sty /usr/lib/texmf/texmf/tex/latex/grtools + +Επίσης, ο [Απόστολος Συρόπουλος](mailto:apostolo@obelix.ee.duth.gr) προετοιμάζει ένα πρόγραμμα, το οποίο, σε συνεργασία με το makeindex, θα δημιουργεί Ελληνικό +ευρετήριο. + + +### [4. Γραμματοσειρές]{#s4} + +Οι γραμματοσειρές αρκεί να μπούνε κάπου που το TeΧ ψάχνει για τέτοιου είδους αρχεία. Στο παράδειγμα που ακολουθεί, δημιουργείται ένας κατάλογος `cbgreek` για +τις γραμματοσειρές που έρχονται με το πακέτο. + +> cd ../mf +> mkdir /usr/lib/texmf/texmf/fonts/source/public/cbgreek +> cp *.mf /usr/lib/texmf/texmf/fonts/source/public/cbgreek + +Αντίστοιχα για τα \*.tfm αρχεία που περιγράφουν τις διαστάσεις των χαρακτήρων της κάθε γραμματοσειράς. + +> cd ../tfm +> mkdir /usr/lib/texmf/texmf/fonts/tfm/public/cbgreek +> cp *.tfm /usr/lib/texmf/texmf/fonts/tfm/public/cbgreek + +Τέλος θα πρέπει να προσθέσετε με έναν editor τις γραμμές από το αρχείο `special.map` που βρίσκεται στον κατάλογο `misc`, στο αρχείο +`/usr/lib/texmf/texmf/fontname/special.map`. Το αρχείο αυτό αφορά την θέση των \*.pk αρχείων, που είναι υπεύθυνα για τη μορφή των χαρακτήρων. + + +### [5. Τελικές Ρυθμίσεις]{#s5} + +Ενημερώστε το TeX για τις αλλαγές που κάνατε με την εντολή: + +> texhash + +Δημιουργήστε το καινούργιο αρχείο φόρμας για το LaTeX με την εντολή: + +> cd /tmp +> initex latex.ltx + +Mετά από ένα κατεβατό μηνυμάτων του TeX, θα έχετε ένα αρχείο `latex.fmt` που θα μεταφέρετε στο σωστό σημείο: + +> mv latex.fmt /usr/lib/texmf/texmf/web2c/ + +Το νέο σας LaTeX με την Ελληνική επιλογή του babel είναι έτοιμο. Στον υποκατάλογο `doc` θα βρείτε οδηγίες για τη χρήση του πακέτου. + +Για να το δοκιμάσετε, πηγαίνετε πίσω στον κατάλογο `Texgreek` και + +> cd babel +> latex test2 + +Αν όλα πήγαν καλά, μπορείτε να δείτε το `test.dvi` με τους γνωστούς τρόπους (Xdvi, Kdvi) ή να το μετατρέψετε σε postscript με το dvips και να το εξετάσετε με το +ghostview. + + +### [6. Editors για το LaTeX και η Χρήση των Ελληνικών]{#s6} + +Στο PC του παραδείγματος έχουν χρησιμοποιηθεί δύο πακέτα για Ελληνικά στα Χ, το grkbd του Γιάννη Τσακίρη, και το grISO του Δημήτρη Μπούρα στην RPM μορφή του, το +XFGreekKBD. Τον Emacs και το LyX, τις δύο εφαρμογές που χρησιμοποιούν πολλοί για να γράψουν LaTeX, μπόρεσαν να δουλέψουν μόνο με το πρώτο. Οδηγίες χρήσης για το +grkbd στο ίδιο το πακέτο που θα το κατεβάσετε από το ` ftp://argeas.argos.hol.gr/pub/unix/linux/GREEK/GRkbd-1.2.linux.tar.gz`. +Θυμίζουμε ξανά εδώ ότι και στις δύο εφαρμογές δεν αρκεί η αλλαγή γλώσσας στην οθόνη σας για το LaTeX. Θα πρέπει να δηλώνετε την αλλαγή γλώσσας με τις TeX +εντολές όπως αυτές περιγράφονται στα αρχεία του υποκαταλόγου `doc` του `Texgreek`. + +### [6.1 Emacs]{#ss6.1} + +Στον Emacs, υπάρχει η δυνατότητα Ελληνικών είτε με το grkbd είτε με ένα ειδικό mode για τον Emacs, το `greek-mode.el`. Το δεύτερο είναι προτιμότερο γιατί, καθώς +είναι φτιαγμένο ειδικά για τον Emacs, καταλαβαίνει πότε πληκτρολογείτε εντολή του LaTeX και γυρίζει αυτόματα το πληκτρολόγιο στα Αγγλικά. Για να το στήσετε +κάνετε τα εξής. Aφού φορτώσετε στον Emacs to αρχείο `greek-mode.el` θα πρέπει να το μεταγλωττίσετε δίνοντας +`Alt-x byte-compile-file` και να σώσετε το αρχείο `greek-mode.elc` που θα προκύψει στον κατάλογο `/usr/lib/emacs/site-lisp/`. +Κατόπιν, προσθέστε στο αρχείο .emacs που έχετε στον προσωπικό σας κατάλογο την παρακάτω γραμμή: + +> `(load "/usr/lib/emacs/site-lisp/greek-mode.elc")` + +Τέλος τρέξτε τον Emacs με κάποια ελληνική γραμματοσειρά ή ακόμη καλύτερα δημιουργήστε ένα script με όνομα π.χ. `gremacs` που θα περιέχει κάτι σαν το παρακάτω +και θα το τρέχετε κάθε φορά που θα θέλετε τον Emacs με Ελληνικά. + +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- +> +> #! /bin/sh +> # gremacs +> +> emacs -fn -etl-fixed-medium-r-normal--0-0-100-100-c-0-iso8859-7 +> +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Μετά από όλα αυτά τα φοβερά και τρομερά θα μπορείτε να γράφετε Ελληνικά κείμενα, LaTeX και μη. Η αλλαγή του πληκτρολογίου θα γίνεται με `alt-g`. Αξίζει τον κόπο +γιατί ο Emacs προσφέρει ένα πολύ εύχρηστο περιβάλλον για τη συγγραφή κειμένων σε (La)TeX, το TeX mode. Αυτό περιλαμβάνει έλεγχο των εντολών, διαφορετικό +χρωματισμό για τις εντολές και το κυρίως κείμενο κ.λ.π. + +### [6.2 LyX]{#ss6.2} + +Για να γράψετε ελληνικά στο LyX, θα πρέπει να πάτε στο menu `Screen Options` και να αλλάξετε το πεδίο `font-norm` από `iso8859-1` σε `iso8859-7`. Εφόσον έχετε +στήσει το grkbd, με `alt-shift` θα μπορείτε να γράφετε ελληνικά. Θα έχετε ένα σχεδόν WYSIWYG editor που θα σας βοηθήσει αρκετά στο να γράψετε κείμενα για το +LaTeX. Σίγουρα όμως, όταν θα θελήσετε κάτι πιο περίπλοκο, θα χρειαστεί να χρησιμοποιήσετε κώδικα LaTeX. Το LyX παρέχει τη δυνατότητα προεπισκόπησης του κειμένου +σας σε dvi ή postscript μορφή, copy paste και πολλά άλλα. Είναι beta εφαρμογή με ό,τι αυτό συνεπάγεται. + + +### [7. Ευχαριστίες]{#s7} + +Ευχαριστούμε τον Αντώνη Τσολομίτη για τη βοήθεια και τις πληροφορίες σχετικά με τον Emacs και το LyX + diff --git a/content/articles/08/08_mailbox.md b/content/articles/08/08_mailbox.md new file mode 100644 index 0000000..d0938c9 --- /dev/null +++ b/content/articles/08/08_mailbox.md @@ -0,0 +1,598 @@ ++++ +title = 'Αλληλογραφία' +date = '1998-10-01T00:00:00Z' +description = '' +author = '' +issue = ['Magaz 08'] +issue_weight = 8 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Συνεχίζοντας την \"κακή\" παράδοση του περασμένου τεύχους, από την αλληλογραφία κόψαμε ορισμένα mails λόγω χρόνου και πολύ συγκεκριμένων προσωπικών θεμάτων. +Επίσης, θα ξαναγράψω το κομμάτι που έγραψα και τον περασμένο μήνα, γιατί φάνηκε ότι δεν το διαβάσανε πολλοί. :-)* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Δύο παρακλήσεις μόνο έχουμε να κάνουμε:\ +α) Να βάζετε ένα θέμα σχετικό με την ερώτηση στο mail σας. Ένα θέμα της μορφής Ερώτηση περί Linux δεν βοηθάει ιδιαίτερα.\ +β) Να ρίχνετε και καμιά ματιά στα περασμένα τεύχη, και εννοώ και την στήλη της αλληλογραφίας, αλλά και τα άρθρα. Ίσως κάποιες ερωτήσεις να απαντούνται από +εκεί.\ +Επίσης, παρακαλούμε γράφετε στα ελληνικά. Αν το outlook σας δεν βλέπει ελληνικά, βάλτε linux :-) Τέρμα οι \"γκρίνιες\", ας διαβάσουμε τώρα τι μας ρωτήσατε και +τι σας απαντήσαμε αυτό το μήνα. + +**1. K-Desktop 1.0** +---------------------------------------------- + +**2. Questions, ISP and the story** +------------------------------------------------------------- + +**3. RPM σε Slackware** +------------------------------------------------- + +**4. Pcmcia modem card σε slackware linux.** +---------------------------------------------------------------------- + +**5. Soundcard και άλλα** +--------------------------------------------------- + +**6. X-Windows και S3 virge** +------------------------------------------------------- + +**7. Proxy server για RedHat** +-------------------------------------------------------- + +**8. Εγκατάσταση KDE** +------------------------------------------------ + +**9. Περί Samba προβλήματα** +------------------------------------------------------ + +**10. KDE και Sscreen resolution** +-------------------------------------------------------------- + +**11. Πρόβλημα με το mount (fs)** +------------------------------------------------------------- + +**12. Connect από απόσταση** +-------------------------------------------------------- + +**13. Debian FTP** +---------------------------------------------- + +**14. Rendition chipset** +----------------------------------------------------- + + +### [1. K-Desktop 1.0]{#s1} + +Από : [Κυρίτση](mailto:kkyrits@otenet.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Απάντηση : [Νίκος Κόκρας](mailto:kokni@eexi.gr) + +Έχω το RedHat Linux 5.0. \'Οταν προσπαθώ να εγκαταστήσω το KDE 1.0 μου βγάζει μήνυμα λάθους ότι ο C compiler (το gcc) δεν μπορεί να φτιάξει executable files. Τί +λύση προτείνετε; + +***MK:** Να ελέγξεις αν έχεις περάσει σωστά ΌΛΑ τα απαραίτητα πακέτα για να δουλέψει σωστά η GCC. Βιβλιοθήκες κλπ. To RedHat αν δεν κάνω λάθος έχει dependencies +check\...\ +**NK:** Και να μας πεις το μήνυμα λάθους. Ότι ο gcc δεν μπορεί να κάνει executable είναι λίγο γενικό.* + +1ον. Το μήνυμα λάθους είναι το εξής: + + Checking whether the C compiler (gcc ) works ... no + (στην απο κάτω γραμμη της οθόνης) + Configure: error: installation or configuration problem: C compiler cannot create executables + +2ον. Πώς θα κάνω Check αν έχω περάσει σωστά όλα τα απαραίτητα πακέτα για να δουλέψει σωστά η GCC ??? + +***NK:** rpm -V gcc από την γραμμή εντολών. Κανονικά δεν πρέπει να βγάλει τίποτα.* + +Το έκανα και σαν output δεν έβγαλε τίποτα (που σημαίνει οτι μάλλον δεν έχει πρόβλημα). Το πρόβλημα όμως με το KDE παραμένει. + +***NK:** Οκ, άρα είναι σωστά εγκατεστημένος.Δοκίμασε να δεις τώρα αν δουλεύει. Π.χ. πάρε το hello.c και δοκίμασε να το φτιάξεις (gcc -c hello.c). Βεβαιώσου ότι +ο gcc είναι στο path (/etc/profile).* + +1ον Πού θα βρώ το hello.c ??? + +***MK:** Το hello.c είναι το βασικό πρόγραμμα της C που το μόνο που κάνει είναι να γράφει hello world. Θα το βρεις σε οποιοδήποτε βιβλίο για C στις πρώτες 20 +σελίδες. Αν όμως η επαφή σου με την C δεν φτάνει ούτε στο hello.c, θα σου πρότεινα να βάζεις binary προγράμματα για κανένα μήνα, τον οποίο βέβαια θα αφιερώσεις +διαβάζοντας βασικά πράγματα για C και Make. (ούτε εγώ έχω ιδιαίτερη επαφή με την C, γι αυτό και προτιμάω binary πακέτα όποτε μπορώ να τα βρω. Παράλληλα διαβάζω +για να μπορέσω κάποτε να βρω γιατί κάποια (απλά βέβαια) πράγματα που θέλω να κάνω compile χτυπάνε).* + +2ον (Αν και λόγω του οτι είμαι αρχάριος δεν ξέρω ακόμα να βλέπω που είναι γραμμένο το path στο profile) το αρχείο profile περιέχει την εξής γραμμή: + + PATH="$PATH:/usr/X11R6/bin" + +3ον Αν η απο πάνω γραμμή είναι όντως το path, πώς μπορώ να προσθέσω και άλλα directories??? (μήπως με κόμμα??) + +***MK:** Όπως το βλέπεις, με άνω κάτω τελεία. Π.χ. PATH=\$PATH:/neo/dir/gia/path. Μετά θα χρειαστείς και export PATH. Στο /etc/profile είναι οι ρυθμίσεις για +όλους τους χρήστες, ενώ για κάθε χρήστη χωριστά, οι ρυθμίσεις είναι στο  /.profile. Αυτά σε περίπτωση που έχεις bash. Όπως φαίνεται μέχρι τώρα μάλλον δεν έχεις +εγκαταστήσει τα libraries της gcc που είναι απαραίτητα για compilation. Δες (με rpm -q -a \| grep devel) αν έχεις εγκαταστήσει τα gcc-devel και Xfree86-devel ή +όπωs αλλιώς λέγονται, και αν όχι εγκατέστησέ τα, αλλιώς δεν θα μπορέσεις να κάνεις compile τίποτα.* + + +### [2. Questions, ISP and the story]{#s2} + +Από : [DJ Art](mailto:arturok@usa.net) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +1ον. Υπάρχει κάτι αντίστοιχο της εντολής find των Windows στο Linux ? (Το συγκεκριμένο μου πρόβλημα είναι οτι όταν πάω να εγκαταστήσω το XISP μου βγάζει μήνυμα +οτι δεν βρήκε το αρχείο forms.h) + +*Και βέβαια υπάρχει, και λέγεται\... find.\ +man find* + +2ον. Όταν πάω να εγκαταστήσω το KDE 1.0 (απο source) (το kdebase) μου βγάζει μήνυμα οτι δεν μπορεί να μαντέψει το HOST. (Χρησιμοποιώ RedHat 5.0). + +*Ίσως πρέπει να του δώσεις μία παράμετρο στο configure. Γράψε configure \--help να δεις τις παραμέτρους που παίρνει.* + +3ον. Για να τρέξω ένα πρόγραμμα, όπως τον Netscape Communicator απο τα X-windows, ανοίγω ένα shell και απο κει τρέχω το πρόγραμμα με ./netscape. To πρόγραμμα +φορτώνει, το shell όμως παραμένει χωρίς να βγάλει prompt μέχρι να κλείσω τον Netscape. Υπάρχει τρόπος να το αποφύγω αυτό ? + +*Ναι, \"στέλνεις\" το πρόγραμμα στο background. Ή το εκτελείς με \"netscape &\" ή μετά που θα ξεκινήσει, θα το κάνεις suspend (CTRL-Z) και θα γράψεις bg.* + +Είμαστε δυο φίλοι και συμμαθητές: ο DJ Art και ο NTG21. Μένουμε στην Αθήνα και είμαστε μαθητές στην Γ Λυκείου. Ο DJ Art (εκτός απο τη μουσική) ασχολείται με +τους υπολογιστές απο ηλικία κάτω των 7 χρόνων. 1ος υπολογιστής: AMSTRAD 6128. 2ος Η/Υ: AMSTRAD 1640 (PC). 3ος Η/Υ: ο σύγχρονος Pentium, ο οποίος τώρα πια μπορεί +να αναβαθμίζεται. Ο φίλος μου ασχολείται λιγότερα χρόνια με Η/Υ (περίπου 2 χρόνια). Απο περισι, όμως, η ζωή μας έχει αλλάξει, καθώς ασχολούμαστε με το Linux. +Τώρα λοιπόν ψάχνουμε να βρούμε προγράμματα έτσι ώστε κάποια μέρα να χρησιμοποιούμε τα Windows και το DOS μόνο για τα παιχνίδια. Ο φίλος μου ζει με την ελπίδα να +αντικατασταθούν κάποια μέρα τα Windows απο το Linux. Εγώ όμως ελπίζω να μην γίνει αυτό γιατί τώρα μόνο οι \"καλοί\" χρησιμοποιούν Linux. (Όντως, το επίπεδο των +χρηστών Linux είναι ανεβασμένο. Αντιθέτως και ο κάθε άσχετος απο Η/Υ χειρίζεται τα Windows). Το video της ενότητας \"Δοκιμάσαμε τα Windows 98\" του τεύχους 6 +είναι πολύ τέλειο. Πραγματικά γελάσαμε με την καρδιά μας. Τέλος θα ήθελα να ξέρω αν υπάρχουν τα εξής προγράμματα, ποιά είναι αυτά και που μπορώ να τα βρώ: + +1\) Πρόγραμμα FTP το οποίο να υποστηρίζει διακεκομμένο κατέβασμα.(Μήπως η λειτουργία αυτή υποστηρίζεται και από το ftp του Linux ?) + +*Για όνομα του θεού. Δεν είναι (ούτε αυτό) ανακάλυψη του κόσμου των Windows. Είναι standard στο πρωτόκολλο ftp και η εντολή λέγεται \"REGET\"\...* + +2\) MP3 player + +*Πρόσφατα στη λίστα ελλήνων χρηστών Linux κάποιος έστειλε μία διεύθυνση με πολλά προγράμματα για μουσική. Πάρτην: +* + +3\) Πρόγραμμα για εγγραφή CD-R. + +*Δες mailbox τεύχους 5 ερώτηση 3* + +4\) Προγράμματα επεξεργασίας ήχου, εικόνας, video. + +*Το παραπάνω link?* + +5\) Πρόγραμμα για αποστολή/λήψη fax. + +*Efax και hylafax. Το δεύτερο έρχεται μαζί με το RedHat.* + +Ελπίζω να μην σας κούρασα με αυτό το ολίγον μεγάλο e-mail.\ +Ευχαριστώ. + +*Παρακαλούμε* + + +### [3. RPM σε Slackware]{#s3} + +Από : [Surfer](mailto:surfer@otenet.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Έβαλα το rpm στο slack 3.5. τώρα θέλω να βάλω το xisp σε rpm. Κατέβασα το xisp-2.3p4-1.i386.rpm, δίνω rpm -i xisp-2.3p4-1.i386.rpm και παίρνω output: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + failed dependencies: + + /bin/sh required by xisp-2.3p4-1 + libm.so.5 required by xisp-2.3p4-1 + libforms.so.0.86 required by xisp-2.3p4-1 + libc.so.5 required by xisp-2.3p4-1 + libXpm.so.4 required by xisp-2.3p4-1 + libX11.so. required by xisp-2.3p4-1 + xforms >= 0.86 required by xisp-2.3p4-1 + ppp >= 2.2.0f required by xisp-2.3p4-1 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Που θα βρω όλα αυτά; Έχω τα cds του slack 3.5 από το creek υπάρχουν εκεί? Ευχαριστώ και για τις προηγούμενες φορές που με βοηθήσατε. + +*Επειδή έβαλες το rpm στο Slackware, καιαυτά τα πακέτα έχουν μπει χωρίς rpm, είσαι δυστυχώς υποχρεωμένος να ελέγξεις μόνος σου ότι τα dependencies ισχύουν, και +μετά να χρησιμοποιήσεις την επιλογή \--force.\ +Π.χ. τα libm, και libc πρέπει να βρίσκονται στο /usr/lib, τα libX\* στο /usr/X11/lib και το libforms κάπου αλλού που δεν ξέρω. Όσο για τα xforms (μέρος του +οποίου είναι και η libforms) πρέπει να το κατεβάσεις (αν δεν το έχεις ήδη) γιατί είναι το toolkit που χρησιμοποιήθηκε για το GUI του xisp. Το ppp τέλος, θα το +βρεις σίγουρα στα CD του slackware, αλλά πρέπει και να κάνεις compile τον πυρήνα με ppp support.* + + +### [4. Pcmcia modem card σε slackware linux.]{#s4} + +Από : [Αντώνης Μόρτος](mailto:surfer1978@hotmail.com) + +Απάντηση : [Παναγιώτης Βρυώνης](mailto:vrypan@hol.gr) + +Παιδιά γεια σας,\ +καταρχήν συγχαρητήρια για το Linux Magazine Online είναι ότι καλύτερο θα μπορούσε να υπάρχει για το linux και όλους εμάς που αντιμετωπίζουμε linux probs. Λοιπόν +ας ξεκινήσω με το πρόβλημα μου. Είμαι κάτοχος ενός notebook ibm 755cx με pcmcia type3 slots 540 δίσκο dual scan screen lcd color και έχω βάλει το linux το +kernel 2.0.30. Έχω 2 pcmcia cards, η μία είναι μία ethernet η οποία είναι 3com η οποία αναγνωρίζεται κανονικά και η άλλη είναι modem της εταιρείας +[actiontech](http://www.actiontech.com). Δεν μπορώ να βρω πως θα κάνω το linux να δουλέψει το modem. Ενώ το αναφέρει στο boot όταν βρει τις pcmcia cards κάτι +για ttyS2 δεν ξέρω που θα πάω να φτιάξω την pcmcia για να δουλέψει και έτσι είμαι με δεμένα χέρια. ΕΠίσης, την αναγνωρίζει ως serial or pcmcia card, έτσι +ακριβώς. Θα σας παρακαλούσα να μου απαντήσετε αν έχετε κάτι στα υπόψιν σας διότι είμαι απελπισμένος. Drivers για linux δεν βρίσκω και έχω σοβαρό πρόβλημα αυτή +τη στιγμή. Απαντήστε αν είναι δυνατό λίγο γρήγορα. + +*Νομίζω ότι μπορείς να δουλέψεις κανονικά. Αν έχω καταλάβει σωστά, ο kernel βρίσκει το pcmcia modem και του δίνει το serial port ttyS2. Στο δικό μου μηχάνημα, ο +kernel δίνει το ttyS1 και βλέπω το modem (από προγράμματα για dial-up, π.χ. kppp) στο /dev/cua1. Υποθέτω λοιπόν ότι το δικό σου θα έιναι στο /dev/cua2 \... Αν +δεν είμαι σωστός, στείλε μου το /var/log/messages (μόνο τις γραμμές από το τελευταίο login παρακαλώ, έχουν date), για να καταλάβω καλύτερα τι γίνεται. Αν είμαι +σωστός ενημέρωσέ με !!!* + + +### [5. Soundcard και άλλα]{#s5} + +Από : [Σωτήρης Παρμάκης](mailto:paleolithic@iol.it) + +Απάντηση : [Νίκος Κόκρας](mailto:kokni@eexi.gr) + +Γειά !\ +Eίμαι ένας νεος χρήστης του Linux (Red Hat 5.1), εδώ και μια εβδομάδα και έχω πρόβλημα να εγκαταστήσω υποστήριξη για την κάρτα ήχου (Ultrasound PnP -AMD +InterWave-). Απ\'οτι διάβασα στο βιβλίο εγκατάστασης αλλά και το sound configuration το Red Hat υποστηρίζει μονο soundblaster. Υπάρχει κάποιος τρόπος να έχω ήχο +στο μηχάνημά μου; + +*Οχι, το RedHat δεν υποστηρίζει μόνο soyndblaster (TM). Για να είμαστε ακριβείς το RedHat υποστηρίζει ότι υποστηρίζει ο linux kernel, δηλαδή το linux. Μια ματιά +στο σχετικό [how-to](http://linux.forthnet.gr/LDP), (Linux hardware combatibility howto και linux sound howto) θα σου δείξει τι υποστηρίζεται και με πιό τρόπο +θα έχεις ήχο στο Linux.. Πιθανότατα θα χρειαστείς να ξαναφτιάξεις (recompile) τον πυρήνα (kernel) του λειτουργικού (βλ. kernel-howto). Πιθανώς αναφέρεσει όμως +στο soundconfig utility που έχει το RH5.x. Αυτό πράγματι υποστηρίζει μόνο κάρτες της Creative, και αυτό που κάνει είναι να ρυθμίζει αυτόματα τα Ι/Ο, IRQ. Για +τις υπόλοιπες κάρτες ήχου η παραδοσιακή διαδικασία είναι η σωστή δήλωση αυτών κατά το recompile του kernel και πιθανώς η χρήση του utility isa-pnp-utils για την +ρύθμιση της ίδιας της κάρτας.* + +Επίσης θέλω να συνδέομαι στο Internet με το Linux, και διάβασα στο περιοδικό για το XISP. Το πρόβλημα είναι: πού θα το βρώ; Υπάρχει σε πακέτο RPM? Στα CD του +Red Hat distribution δεν υπάρχει. Ευχαριστώ εκ των προτέρων. + +*Στο CD του RedHat δεν είναι δυνατόν να υπάρχει το σύμπαν όλο. Πολλά rpm πακέτα θα βρείς στο contrib directory του ftp της RedHat ή σε ένα +[mirror](ftp://ftp.ntua.gr/mirror/redhat) στην Ελλάδα. To contrib directory είναι ένα σημείο όπου οι διάφοροι χρήστες RedHat τοποθετούν τα rpm που φτιάξανε οι +ίδιοι (και όχι η RedHat) για να διευκολυνθούν άλλοι linuxades που μπορεί να τα χρειαστούν. Εκει θα βρείς το xisp όπως και πολλά άλλα χρήσιμα πράγματα.* + + +### [6. X-Windows και S3 virge]{#s6} + +Από : [Αντώνης Ζαμούτ](mailto:zamouta@ath.forthnet.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Πριν μερικούς μήνες αγόρασα και εγκατέστησα το Slackware 3.1.0. Ωραία μεχρι εδώ, κανένα πρόβλημα στην εγκατάσταση, μέχρι που ήρθε το XF86Config. Μεσ\' στην καλή +χαρά, και αφού δεν είδα την κάρτα γραφικών μου στη λίστα των Servers του XFree86, διάλεξα τον S3. Έλα όμως που δεν δούλευει ό,τι και να κάνω και αναγκάζομαι να +δουλέψω (τι ξεφτίλα!!) σε VGA με 16 χρώματα. Σας παρακαλώ ΒΟΗΘΗΣΤΕ ΜΕ. Η κάρτα γραφικών μου είναι (μάλλον άγνωστη) συμβατη με Diamond Stelth 3d 2240, με τσιπάκι +S3 Virge 86c325 και με 2Mb. Τι πρέπει να κάνω (εάν μπορώ να κανω κάτι φυσικά) + +*Μπορείς να επιλέξεις αυτό που λέει 3325 που είναι για τσιπ S3 Virge 325.* + +Δεν υπάρχει κάτι τέτοιο να επιλέξω!!! Δεν υπάρχει ούτε server ούτε κάρτα στη database με τέτοιο όνομα. Μήπως μπορώ να κατεβάσω επιπλέον accelerated server από +κάπου; + +*Αντώνη, από την έκδοση 3.3.1 και μετά τα XFree86 έχουν υποστήριξη για S3 Virge. Αν η έκδοση των X που έχεις είναι παλαιότερη, θα πρέπει να κατεβάσεις μια +πρόσφατη (από το ftp.ntua.gr και από πολλά άλλα sites και στην Ελλάδα, μόνο που δεν τα θυμάμαι τώρα).* + + +### [7. Proxy server για RedHat]{#s7} + +Από : [Σταύρος Μαραγκουδάκης](mailto:elhellas@hol.gr) + +Απάντηση : [Γιώργος Κεραμίδας](mailto:keramida@ceid.upatras.gr) + +Καλησπέρα σας, έχετε να μου προτέινετε κάποιον καλό Proxy Server για REDHAT linux; Θέλω να συνδέσω το εσωτερικό μου Lan, και αν μπορείτε να μου πείτε που θα τον +βρω; + +*Ένας πολύ καλός proxy που στήνεται σε πολλά UNIX λειτουργικά είναι ο [Squid](http://squid.nlanr.net/Squid/). Δεν τον έχω στήσει ποτέ προσωπικά αλλά έχω ακούσει +ότι είναι εύκολος στην εγκατάσταση.\ +Πιστεύω ότι δεν θα έχεις πρόβλημα αλλά και να έχεις, το [user manual του Squid](http://cache.is.co.za/squid/) είναι κατατοπιστικότατο. Καλή επιτυχία στο caching +:)))* + + +### [8. Εγκατάσταση KDE]{#s8} + +Από : [Καλαϊτσό](mailto:kalaitso@compulink.gr) + +Απάντηση : [Νίκος Κόκρας](mailto:kokni@eexi.gr) + +Θα ήθελα να ρωτήσω κάτι σχετικά με το KDE Έχω κάνει εγκατάσταση τα RPM και τις αλλαγές με EDIT στο user/profile, όμως την τελευταία οδηγία δεν την κατάλαβα +σχετικά με τον να βρώ το αρχείο x.clients και να ορίσω να ξεκινά με KDE όταν γράφω startx. + +*Δημιούργησε ένα αρχείο στο home directory του root που να λέγεται .xinitrc ή .Xclients (με τελείες μπροστά). Πάνω πάνω γράψε \#!/bin/sh και από κάτω βάλε την +γραμμή που λένε οι οδηγίες του KDE (νομίζω /opt/kde/bin/startkde). Save, και μετά άλλαξε τα permissions:* + + chown root:root .Xclients (ή .xinitrc) + chmod ug+rx .Xclients (ή .xinitrc) + +*Τα αρχεία με τελεία μπροστά είναι τα \"hidden\" των windows 95* + +Πρέπει να σας πώ ότι έχω εγκαταστήσει το RedHat Linux 5.1 στόν υπολογιστή μου σε multiuser mode αλλά δεν ανήκω σε κανένα δίκτυο τον έχω για προσωπική χρήση και +μαίνω σαν root, δεν έχω ορίσει άλλους χρήστες. + +*Πολύ άσχημα κάνεις που μπαίνεις σαν root. Κάνε ένα user account και χρησιμοποιήσε αυτό. Εννοείται ότι πρέπει (στο home dir του user account που θα φτιάξεις) να +τοποθετηθούν και εκεί το .xinitrc (ή .Xclients) με τα ανάλογα permissions. Για να ισχύει για όλους τους χρήστες το KDE, πήγαινε σαν root και άλλαξε το +/etc/X11/xinit/Xclients (xwris teleia)* + + +### [9. Περί Samba προβλήματα]{#s9} + +Από : [Αλεξάκο Φώτη](mailto:damonae@hol.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Παιδιά χαιρετώ\ +Λοιπόν είμαι ένας \"νεοφώτιστος\" στο Linux (ναι γιατρέ\... \"θεραπεύτηκα\") και σας γράφω γιατί το Samba με έχει κυριολεκτικά απελπίσει. Η κατάσταση έχει ως +εξής: Θέλω να στήσω ένα πολύ μικρό LAN που αποτελείται από :\ +a) Ένα Win-95 μηχάνημα με local IP address : 147.10.10.2 και όνομα ας πούμε \"linuxclient.mydomain.gr\" το οποίο θέλω να είναι ο Samba client.\ +b) Ένα Linux μηχάνημα με local IP address : 147.10.10.1 και όνομα π.χ. \"linuxserver.mydomain.gr\" που τρέχει το RedHat Linux 5.1 + +*Πρώτα πρώτα, το θέμα που έθιξε ο Νίκος Κόκρας. Χρησιμοποίησε ένα private space, π.χ. 192.168.0.0. ΜΗΝ χρησιμοποιείς πραγματικές διευθύνσεις. Ενδέχεται να +συμβούν πολλά (από το απλό του να μην δουλεύεις, μέχρι να έχει στήσει ο provider σου λάθος τους routers του και να κάνεις ένα Internet μπάχαλο)* + +Διαβάζω το άρθρο του Μιχάλη του Καμπριάνη στο magaz του Φλεβάρη αν θυμάμαι καλά. Κάνω τα πάντα ΑΚΡΙΒΩΣ όπως τα γράφει. Ακολουθούν τα σχετικά αποσπάσματα από το +/etc/services πρώτα: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + + netbios-ns 137/tcp nbns + netbios-ns 137/udp nbns + netbios-dgm 138/tcp nbdgm + netbios-dgm 138/udp nbdgm + netbios-ssn 139/tcp nbssn + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Πολύ ωραία. Μήπως έχεις udp connection και για το netbios-ssn?* + +και το /etc/inetd.conf + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + # ---- Samba + netbios-ssn stream tcp nowait root /usr/bin/smbd smbd + netbios-ns dgram udp wait root /usr/bin/nmbd nmbd + # ---- End Samba + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Και τα nmbd και smbd είναι στο /usr/bin, έτσι;* + +το /etc/hosts + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + + 127.0.0.1 localhost localhost.localdomain + 147.10.10.1 linuxserver linuxserver.mydomain.gr + 147.10.10.2 linuxclient linuxclient.mydomain.gr + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Εδώ βάλε πρώτα το FQDN, κάνε το δηλαδή:* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + 127.0.0.1 localhost + 147.10.10.1 linuxserver.mydomain.gr linuxserver + 147.10.10.2 linuxclient.mydomain.gr linuxclient + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Το \"/etc/hosts.allow\" είναι άδειο + +*Σου χρειάζεται μόνο για τα tcp-wrappers (tcpd) Μπορείς να το αγνοήσεις προσωρινά. Αργότερα θα το χρησιμοποιήσεις για να \"κλείσεις\" την πρόσβαση στο μηχάνημά +σου.* + +Χρησιμοποιώ το default smb.conf και τα αποτελέσματα του \"netstat -a \| grep netbios\" είναι τα ακόλουθα: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + tcp 0 0 *:netbios-ssn *:* LISTEN + udp 0 0 *:netbios-ns *:* + udp 0 0 *:netbios-ns *:* + udp 0 0 *:netbios-dgm *:* + udp 0 0 linuxserver.:netbios-ns *:* + udp 0 0 linuxserver:netbios-dgm *:* + udp 0 0 linuxclient.:netbios-ns *:* + udp 0 0 linuxclient:netbios-dgm *:* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +και το ΤΡΕΛΛΟ output της εντολής: /etc/rc.d/init.d/smb status + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + smbd is stopped + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Ας τα πάρουμε με την σειρά. Έτρεξες το testparm; Αν ναι, τι σου έβγαλε; Το smbd που κάνει stop, γιατί κάνει stop; Το /var/adm/messages δεν λέει τίποτα; ΑΛΛΑ, +αφού είναι στο /etc/inetd.conf ΔΕΝ χρειάζεσαι το /etc/rc.d/init.d/smbd.* + +nmbd (pid 2084) is running\...\ +Αν τώρα δώσω : \"smbclient -L linuxserver\" παίρνω : + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + + doing parameter printing = bsd + doing parameter printcap name = /etc/printcap + doing parameter load printers = yes + doing parameter interfaces = 147.10.10.1/24 147.10.10.2/24 + doing parameter bind interfaces only = True + doing parameter guest account = nobody + doing parameter log file = /var/log/samba-log.%m + doing parameter log file = /usr/local/samba/log.%m + pm_process() returned Yes + adding IPC service + load_client_codepage: filename /etc/codepages/codepage.850 does not exist. + Added interface ip=147.10.10.1 bcast=147.10.10.255 nmask=255.255.255.0 + Added interface ip=147.10.10.2 bcast=147.10.10.255 nmask=255.255.255.0 + Opening sockets + resolve_name: Attempting lmhosts lookup for name LINUXSERVER + resolve_name: Attempting host lookup for name LINUXSERVER + Connecting to 147.10.10.1 at port 139 + Connected + Session request failed (0,0) with myname=LINUXSERVER destname=LINUXSERVER + Unspecified error 0x0 + Your server software is being unfriendly + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Όπως το περιμέναμε δηλαδή εδώ. Αφού δεν τρέχει το smbd, πως να δέχεται connections? Κοίτα το προηγούμενο σχόλιο* + +Παρ\' όλα αυτά η smbmount μου κάνει mount στον δίσκο του Linux όλον τον σκληρό του μηχανήματος (client) που τρέχει Win95 !!!! + +*Ναι, γιατί στα Win 95 το αντίστοιχο του smbd τρέχει κανονικά.* + +Μπορεί κανείς να μου πει τι φταίει; + +*Ναι, το smbd. Έλεγξε αν στην θύρα που πάει να σηκωθεί (139 από default) τρέχει κάτι άλλο Κοίτα το messages καθώς και όλα τα logs του smbd. Κάπου χτυπάει, και +δεν πρέπει να είναι πολύ δύσκολο να βρεις που χτυπάει από τα logs. Αν δεν βρεις άκρη, στείλε το /etc/rc.d/init.d/smbd να του ρίξουμε μια ματιά, μαζί με το +smb.conf (αλλά προσπάθησε πρώτα μόνος σου σε παρακαλώ)* + +Είναι τόσο δύσκολο να έχω ένα Linux ως file server και μερικά Win95 μηχανήματα ως clients σ\' ένα τοπικό δίκτυο; + +*Όχι, δεν είναι :-)* + + +### [10. KDE και Sscreen resolution]{#s10} + +Από : [DJ Art](mailto:arturok@usa.net) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Απάντηση : [Νίκος Κόκρας](mailto:kokni@eexi.gr) + +Χρησιμοποιώ RedHat Linux 5.0 και έχω τις εξής ερωτήσεις: 1) Όταν πάω να εγκαταστήσω το kdebase1.0 μου βγάζει το εξής μήνυμα: + + Checking + for QT... configure: error: QT-1.3 (headers and libriaries) not found. + Please check your installation. + +***ΜΚ:** Χρειάζεσαι το QT (προτίμησε την v. 1.4) την οποία θα βρεις είτε από εκεί που βρήκες το KDE (προτεινόμενο) είτε από το http://www.troll.no\ +**NK:** Και σε RedHat θέλεις εκτός από το qt-1.40\*rpm και το qt-devel-1.40\*rpm για να κάνεις compile.* + +2\) Στα X-Windows μπορώ να επιλέξω ανάμεσα σε 3 αναλύσεις: 640Χ480, 800Χ600 και 1024Χ768. Όταν έχω την μεγάλη ανάλυση (1024Χ768) το desktop εμφανίζεται σε +full-screen mode, ενώ στις άλλες αναλύσεις το desktop κάνει scrolling. Πώς μπορώ να έχω full-screen mode και στις άλλες αναλύσεις; + +***MK:** Από ότι ξέρω, δεν μπορείς. Η μέγιστη ανάλυση που έχεις δηλώσει λειτουργεί ως virtual desktop size για τις μικρότερες αναλύσεις. **NK:** Από την άλλη, +θυμάμαι από τότε που χρησιμοποιούσα εκείνα τα αρχαία fvwm και fvwm95 ότι μπορείς να δηλώσεις το virtual. Δες το /etc/X11/XF86Config, στο section \"accel\" (προς +το τέλος) έχει τις αναλύσεις (πραγματικές) και 1 (μία) δήλωση για virtual (στην περίπτωσή σου 1024 Χ 800). Κάνε edit το σχετικό με αυτά που θέλεις (κρατάμε +πάντα backup: cp -a XF86Config XF86Config-OLD)* + +3\) Που μπορώ να βρώ ένα πρόγραμμα FTP για περιβάλλον X-Windows, το οποίο να είναι κάπως εύχρηστο (δηλαδή να έχει κουμπιά έτσι ώστε να μην χρειάζεται να +πληκτρολογώ ένα σωρό εντολές κάθε φορά που θέλω να κατεβάσω ένα αρχείο) ? + +***ΜΚ:** Μπορείς να δοκιμάσεις το wxftp που θα το βρείς στο και πρόσφατα είδα ένα ftp για KDE αλλά δεν είναι ακόμα έτοιμο, και δεν +θυμάμαι και URL :-(. Τέλος, μπορείς να δοκιμάσεις και τον kfm, δίνοντας εκεί που λέει file: το ftp://ftp.server.com **NK:** Filerunner\ +Xmftp\ +MC (φυσικά)\ +και πολλά άλλα\....\ +Για όλα, κάνεις ένα search στο [ftpwatcher](http://lfw.linuxhq.com)* + + +### [11. Πρόβλημα με το mount (fs)]{#s11} + +Από : [Μπαλαλής Χαράλαμπος](mailto:haribalos@hotmail.com) + +Απάντηση : [Γιώργος Κεραμίδας](mailto:keramida@ceid.upatras.gr) + +Το σύστημά μου είναι ένας Cyrix 150+ με δύο σκληρούς, έναν quantum 1.2 και έναν seagate 2.1. Το Linux το έχω στον Quantum όπως και τα 95, οπότε ο seagate +έρχεται δεύτερος στο σύτσημα μιας και παίζει ρόλο αποθηκευτικό στο λειτουργικό. Το πρόβλημά μου είναι ότι το Linux δεν τον βλέπει όταν τον κάνω mount.. Δηλαδή η +εντολή mount /dev/hdb1 -t msdos /mnt μου λέει bad fs type or superblock και τα λοιπά\.... Σκέφτηκα μήπως φταίει το ότι δεν έχει αρχεία συστήματος έτσι το linux +δεν μπορεί να δει κάποιο ίχνος του dos σε αυτόν\... Εσείς τι λέτε; + +*Το πρώτο που μου έρχεται στο νου είναι \"μήπως όντως δεν είναι msdos partition αυτό που πας να κάνεις mount?\". Δοκίμασε να κάνεις* + + fdisk -l + +*και πρέπει να δεις κάτι σαν* + + Disk /dev/hda: ?? heads, ?? sectors, ?? cylinders + Units = cylinders of 8192 * 512 bytes + + Device Boot Start End Blocks Id System + /dev/hda1 1 5 40162 82 Linux swap + /dev/hda2 6 261 2056320 83 Linux native + + Disk /dev/hdb: ?? heads, ?? sectors, ?? cylinders + Units = cylinders of 8192 * 512 bytes + + Device Boot Start End Blocks Id System + * /dev/hdb1 1 ?? ????? 06 DOS 16-bit >= 32 + /dev/hdb2 ?? ?? ????? 06 DOS 16-bit >= 32 + +*Την γραμμή που σε ενδιαφέρει την έχω σημειώσει με αστεράκι (\*). θα πρέπει να υπάρχει κάποιο partition στον δίσκο /dev/hdb που είναι τύπου \"DOS 16-bit \>= +32\" για να το δει το Linux σαν \"msdos\" τύπου partition στην mount εντολή.\ +Μπορεί, όμως, το partition να είναι δηλωμένο σαν MS-DOS στο partition table, αλλά το Linux να μην το βλέπει γιατί δεν είναι φορμαρισμένο σε FAT (απλό FAT, αυτό +που χρησιμοποιεί το DOS). Αν το partition είναι φορμαρισμένο σε Windows-95 κατά πάσα πιθανότητα είναι πιο καλό να το δεις σαν VFAT partition (οπότε θα βλέπεις +και τα μεγάλα ονόματα).\ +Γενικά οι τύποι partitions που γίνονται mount κάτω από Linux είναι πολλοί, με το FAT, VFAT και FAT-32 να είναι τα πιο κοινά χρησιμοποιούμενα σε μηχανήματα που +τρέχουν κάτι από Microsoft (όχι όπως το δικό μου που είναι pure Linux :). Άν πιστεύεις ότι ο τύπος του filesystem που έχει το εν λόγω partition, μπορείς να πας +στην σελίδα: http://www.ceid.upatras.gr/ gef/fs.html Θα βρεις πολλές όμορφες πληροφορίες για filesystems και drivers που τα υλοποιούν* + + +### [12. Connect από απόσταση]{#s12} + +Από : [Γιώργο Μαραγκουδάκη](mailto:elhellas@hol.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Καλησπέρα σας, θέλω να μου πείτε εάν υπάρχει κάποια εντολή στο Linux η οποία όταν σε ένα Network κάποιος Υπολογιστής ανοίξει τον Internet Explorer για να πάει +στο Internet αυτόματα το Linux να συνδέεται στο Internet και όταν μετά από κάποιο χ χρόνο ο χρήστης δεν κάνει τίποτα να κλείνει τη σύνδεση. Υπάρχει τίποτα +τέτοιο; + +*Περίπου. Δοκίμασε το [connect](http://www.caesium.fr/freeware/connect/index.html). Αυτό σου δίνει την δυνατότητα να ανοίγηει ο χρήστης την σύνδεση από το +workstation του. Νομίζω ότι και κάτι που λέγεται [diald](http://www.loonie.net/~eschenk/diald.html) κάνει την δουλειά που θέλεις, αλλά νομίζω ότι το connect +είναι καλύτερο. Δεν είναι τόσο διάφανο για τον χρήστη, αλλά αν κάποιος ζητήσει κάτι από το Internet που δεν έρθει σε 1 λεπτό (περίπου τόσο παίρνει σε μένα η +διαδικασία σύνδεσης με αναλογική γραμμή), μάλλον θα θεωρήσει ότι το link είναι κάτω και θα ξαναδοκιμάσει αργότερα, που η γραμμή θα έχει κοπεί, κ.ο.κ.* + + +### [13. Debian FTP]{#s13} + +Από : [Λέων Ίσαυρο](mailto:leoniv4@hotmail.com) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@rocketmail.com) + +Γεια σας!\ +Κατ\' αρχήν \"sorry\" για τα greeklish αλλά ο υπολογιστής του Πανεπιστημίου δεν προτιμάει τα Ελληνικά (ναι M\$ τρέχει και μάλιστα NT!) + +*Kακό της κεφαλής τους, που λέμε και εδώ στην Κρήτη* + +και συγχαρητήρια για το περιοδικό σας. Μαθάινω αρκετά κάθε φορά που έρχομαι στο υπολογιστικό και εκνευρίζομαι με τα NT όλαο και περισσότερο. + +*Μην εκνευρίζεσαι, το θέμα είναι να τους κάνουμε να δούν το φως τους\...* + +Θέλω να εγκαταστήσω το Linux στον υπολογιστή μου (386sx 7MB RAM 650MB HDD) και προσπαθώ να κατεβάσω μέσω FTP την καινούργια έκδοση της Debian, εννοώ την 2.0. Το +πρόβλημά μου είναι ότι τρία αρχεία δεν τα \"δίνει\" με τίποτα. Συγκεκριμένα τα Base12-5.bin, resc1200.bin και lowmem.bin. Μήπως ξέρετε που μπορώ να τα βρω +(κάπου στην Ελλάδα έτσι ώστε να μην περιμένω ώρες); Μέχρι τώρα τρέχω το DOS και δεν μπορώ να λειτουργήσω το modem (το μόνο σύγχρονο πράγμα επάνω του - 33.6). + +*\'Ενα site στο δίκτυο που μπορείς να δεις που έχει το debian 2.0, είναι (πάντως, το έψαξα και στην Ελλάδα δεν υπάρχει +τίποτα\...)* + +Τελικά με την έκδοση 2.0 μόνο, τι μπορεί το Linux να κάνει; Είναι απλά ένα λειτουργικό όπως το DOS ή έχει μέσα και κάποια προγράμματα -επεξεργαστή κειμένου, +players ήχου κ.τ.λ.-? Θα ήτανν σωστό να βάλω αμέσως τα X windows ή να μάθω το Linux πρώτα και ύστερα;prwta kai ustera? Φαντάζομαι ότι δεν έχει καμία σχέση με το +DOS (το οποίο παρεπιμπτόντως με έχει βολέψει αρκετά) όσον αφορά τις εντολές\... + +*Η έκδοση 2.0 που αναφέρεις, είναι η έκδοση του Distribution της Debian. Το Linux έχει φτάσει (αισίως) την έκδοση 2.0.35 (σύντομα θα βγει η έκδοση 2.2) Ο +άριθμός αυτός, αναφέρεται στον πυρήνα του λειτουργικού, που ουσιαστικά κάνει όλη τη δουλειά. Όλα τα άλλα (που περιέχονται στις Distributions) είναι +προγραμματάκια που \"απλά τρέχουν\" χρησιμοποιόντας τον πυρήνα. (Μπερδεύτηκες;;) Με τον υπολογιστή που αναφέρεις, δε θα σου συνιστούσα να βάλεις Χ, (όχι ότι δε +θα τρέχουν, αλλά θα είναι πολύ αργά\...) Εξαρτάται φυσικά και από το τι θα τρέχεις, και πόση SWAP θα βάλεις\... (Swap είναι η \"εικονική\" μνήμη που ουσιαστικά +είναι χώρος στο δίσκο) Πάντως, δεν είναι απαραίτητο να μάθεις Linux (τη γραμμή εντολών του εννοώ) για να τρέξεις τα Χ. Εγώ πάντως, προσωπικά δηλαδή, θα σου το +συνιστούσα\... Εξάλλου, πολλές φορές θα χρειαστεί να κάνεις πράγματα, τα οποία είναι καλύτερα και γρηγορότερα να τα κάνεις από το Shell (το command prompt +δηλαδή) \'Οσον αφορά στους επεξεργαστές κειμένου, Players ήχου κ.λπ. που αναφέρεις, υπάρχουν τέτοια και για το SHELL και για τα Χ. Απλά (τουλάχιστον για +επεξεργαστές κειμένου) δεν είναι και τόσο εύχρηστοι\...* + +Περιμένω απάντηση με ανυπομονησία για να γραφτώ και γω μέλος στους περόφημους \"linuxάδες\" + +*Καλώς ήρθες στον κόσμο μας, και όποτε θές είμαστε στη διάθεσή σου.* + + +### [14. Rendition chipset]{#s14} + +Από : [Βαδάκης Ευθύμιος](mailto:evada@tee.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Έχω πρόβλημα με την κάρτα γραφικών μου. Είναι μία Diamond Stealth II με chipset rendition 2100 O Xconfigurator την αναγνωρίζει σαν απλή vga16 με ελάχιστα +χρώματα. (Έχω οθόνη την sony multiscan 100es κατάφερα και την δήλωσα) και linux redhat 5.1,kde 1.0 + +*Φίλε Ευθύμιε,\ +Θα πρέπει να πας στην διεύθυνση και να κατεβάσεις τον X-server για την Rendition. Με αυτόν δουλεύει μια χαρά.* + diff --git a/content/articles/09/01_editorial.md b/content/articles/09/01_editorial.md new file mode 100644 index 0000000..0c4c3af --- /dev/null +++ b/content/articles/09/01_editorial.md @@ -0,0 +1,70 @@ ++++ +title = 'Editorial' +date = '1998-11-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης' +issue = ['Magaz 09'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Όπως λέγαμε και τον προηγούμενο μήνα, το HEL.L.U.G. έχει πλέον εκλεγμένο Δ.Σ. Αυτή τη στιγμή έχουν ανατεθεί θέσεις και αρμοδιότητες, και το HEL.L.U.G. κινείται +σε μία καλή ελπίζουμε κατεύθυνση επίτευξης του κύριου σκοπού του, που είναι η διάδοση του Linux στην Ελλάδα.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Το πρώτο εκλεγμένο διοικητικό συμβούλιο, αποτελείται από τους: + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + \ **Όνομα** + **Θέση** + + Πρόεδρος Καμπριάνης Μιχάλης + + Αντιπρόεδρος Παπακώστας Ευρυπίδης + + Γ. Γραμματέας Βρυώνης Παναγιώτης + + Ταμίας Σανιδά Βούλα + + Έφορος Γεωργάτος Φώτης + + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + +Όπως διαβάσατε στο [προηγούμενο τεύχος](../08/04_giafka.html), μία ομάδα κομμάντο έφτιαξε ένα μηχάνημα, το οποίο αυτή τη στιγμή φιλοξενείται από την [FORTHnet +Α.Ε.](http://www.forthnet.gr) την οποία και ευχαριστούμε. Το μηχάνημα έχει επάνω : + +- Web-server τον οποίο έχει αναλάβει ο Κρεμμύδας Κλεάνθης με τη βοήθεια των Κώστα Μπαρακίτη και Σπύρου Μπόλη, +- Listserver στον οποίο θα μεταφερθούν οι λίστες linux-greek-users, hellug και how-to, υπό την επίβλεψη των Ιωάννου Γιάννη, Κόκρα Νίκου και Μαυρογιαννόπουλου + Νίκου, +- Sendmail για υπηρεσία mail-forwarding των μελών, υπό την επίβλεψη του Νίκου Μαυρογιανόπουλου, και +- PostgreSQL server με στοιχεία για τα μέλη, τον οποίο διαχειρίζεται ο Κώστας Μαϊστρέλης. + +Στα πλάνα του συλλόγου, είναι η μεταφορά του Magaz εκεί, ενώ βέβαια, θα υπάρχει και στο linux.gr, το οποίο συνεχίζει να φιλοξενείται από την [Hellas On +Line](http://www.hol.gr). Έτσι φτάνουμε στον να υποστηρίζεται το Linux έμπρακτα, από τους δύο μεγαλύτερους ISP της Ελλάδας. + +Το Δ.Σ. έχει ήδη αρχίσει να ασχολείται με την πιθανότητα παρουσίασης του Linux σε ειδική εκδήλωση του γνωστού βιβλιοπωλείου Παπασωτηρίου, όπως και την συμμετοχή +σε εκθέσεις. + +Αρκετά είπαμε όμως για το Hellug, ας περάσουμε στην υπόλοιπη επικαιρότητα του τεύχους. + +Υπάρχει ένα άρθρο του Νίκου Μαυρογιαννόπουλου σχετικά με το [National Language Support](04_nls.html) (NLS), τι είναι, γιατί και πως να ασχοληθείτε με αυτό. + +Ο Γιώργος Κεραμίδας επανέρχεται με οδηγίες για να [γράψουμε ελληνικά στο groff](03_groff.html). + +Ο Γιάννης Εξηνταρίδης που τείνει να εξελιχθεί σε έναν από τους σταθερούς - έκτακτους αρθρογράφους, μας μιλάει για τον [Προγραμματισμό σε +C/C++](02_programing.html) + +Ο Βαγγέλης Παπαδογιαννάκης συνεχίζει να ασχολείται με το να βοηθάει σε απλές καθημερινές δουλειές. Η ειδική μας πλέον στήλη για τους νέους χρήστες, πόσο [απλή +σας κάνει την ζωή το Linux](06_bash2.html). + +Ευχαριστούμε ιδιαίτερα τον Βαγγέλη Ρόζο, για το άρθρο του [Εισαγωγή στο μαθηματικό πρόγραμμα Calc](05_calctut.html). Διαβάστε το και θα δείτε πόσες δυνατότητες +έχουν τα προγράμματα που φαίνονται εκ πρώτης όψεως απλά. + +Και βέβαια, δεν θα μπορούσε να λείπει η σταθερή [στήλη της αλληλογραφίας](07_mailbox.html). Εσείς μας γράφετε, κι εμείς\... + +Να σας υπενθυμίσω, ότι όπως πάντα, το magaz φιλοξενεί άρθρα, από όλους τους φίλους συνlinuxάδες. Στο συγκεκριμένο τεύχος μάλιστα, μας σώσανε οι φίλοι μας (αφού +η συντακτική ομάδα του Magaz συμμετέχει σχεδόν σύσσωμη στο Δ.Σ. και τις ομάδες εργασίας του Hellug). + +Καλή ανάγνωση, και καλό φθινόπωρο. diff --git a/content/articles/09/02_programing.md b/content/articles/09/02_programing.md new file mode 100644 index 0000000..793b4b2 --- /dev/null +++ b/content/articles/09/02_programing.md @@ -0,0 +1,87 @@ ++++ +title = 'Προγραμματισμός σε C/C++ στο Linux' +date = '1998-11-01T00:00:00Z' +description = '' +author = 'Γιάννης Εξηνταρίδης' +issue = ['Magaz 09'] +issue_weight = 2 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Αρκετοί που ασχολούνται με προγραμματισμό (είτε ερασιτεχνικά, είτε επαγγελματικά) και έχουν έρθει στον κόσμο του Linux, αναρωτιούνται ίσως τι γίνεται με την +ανάπτυξη εφαρμογών. Τα παρακάτω επιχειρούν να ρίξουν φως σε αυτόν τον τομέα.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Το Linux προσφέρει μια πληθώρα προγραμματιστικών εργαλείων και όπως αντιλαμβάνεστε είναι φυσικό η C/C++ να έχει την τιμητική της στο κόσμο του Linux μια που η +πλειοψηφία των εφαρμογών (όπως εξάλλου και το ίδιο το λειτουργικό) είναι γραμμένες σε αυτή την γλώσσα. Στο Linux κυριαρχεί το κλασικό στύλ ανάπτυξης εφαρμογών. +Δηλαδή editing του κώδικα σε ένα απλό text editor, compiling (από την γραμμή εντολής φυσικά) running και debugging. Το compiling γίνεται από τον πανίσχυρο GNU +compiler (gcc αν πρόκειται για πρόγραμμα C, g++ αν πρόκειται για πρόγραμμα C++). + +Μερικά απλά παραδείγματα θα δείξουν την χρήση του. Για να κάνουμε ένα απλό compiling αρκεί να δώοσυμε την εντολή gcc -c hello.c (όπου hello.c ο source κώδικας +μας). + +Για να κάνουμε compiling + linking θα δώοσυμε την εντολή + +**gcc -o hello hello.c** + +Να τονίσουμε ότι ΠΡΕΠΕΙ να δώσουμε όνομα στο τελικό εκτελέσιμο αρχείο που θα προκύψει. ΔΕΝ εννοείται ότι το αρχείο θα ονομαστεί hello. Αντίθετα το default είναι +να ονομαστεί a.out. + +Οι διάφορες libraries στις οποίες θα γίνει link η εφαρμογή μας δηλώνονται με -l(όνομα library χωρίς το πρόθεμα lib). Π.χ. Αν έχουμε γράψει ένα πρόγραμμα το +οποίο χρησιμοποιεί την I/O library της C++ θα πρέπει να γράψουμε + +**g++ -o hello hello.cpp -liostream** + +To αρχείο που αντιστοίχει στην library iostream είναι το libiostream.a + +Αν θέλαμε να κάνουμε link με την standard C library θα γράφαμε + +**gcc -o hello hello.c -lc** + +Oμοια το αρχείο που αντιστοίχει στην standard C library είναι το libc.a + +Από τα παραπάνω φαίνεται η λογική της διαδικασίας όταν θέλουμε να εκτελέσουμε link σε κάποια library. Στην πραγματικότητα τα παραπάνω ( δηλαδή -lc ή -liostream) +δεν χρειαζόντουσαν γιατί εξ\' ορισμού ο gcc αυτόματα εκτελεί link σε αυτές. Χρειάζεται όμως σε άλλες περιπτώσεις. + +Ο gcc δέχεται πάρα πολλές επιλογές οι οποίες δεν είναι δυνατόν να καλυφτούν σε ένα μόνο άρθρο. Η καλύτερη πηγή για αυτά αποτελεί το ίδιο το manual του (ή οι man +pages). Θα τονίσουμε απλά τις πιο σημαντικές. Κάθε προγραμματιστής που σέβεται τον εαυτό του ξέρει ότι η εφαρμογή πρέπει να είναι όσο το δυνατόν +βελτιστοποιημένη (τόσο από άποψη ταχύτητας όσο και από άποψη μεγέθους) + +Βελτιστοποίση σε ένα ορισμένα βαθμό γίνεται με την επιλογή -Ο1 Π.χ + +**gcc -O1 -o \[output\] \[input\]** + +Ακόμα περισσότερο + +**gcc -O2 -o \[output\] \[input\]** + +Μήπως θέλουμε να αναφέρονται όλα τα warnings ? Τότε αρκεί να δώσουμε ένα + +**gcc -Wall -o \[output\] \[input\]** + +Και το debugging ? Τι γίνεται με αυτό ? Ο GNU debugger είναι ο gdb. Επειδή όμως χρειαζόμαστε και debugging info προτού περάσουμε στην χρήση του χρειάζεται να +δώσουμε ένα + +**gcc -g -o \[output\] \[input\]** πρώτα και είμαστε έτοιμοι. + +Και το profiling ? Μην ανησυχείτε. Υπάρχει και αυτό. Δώστε ένα + +**gcc -pg -o \[output\] \[input\]** + +εκτελέστε την εφαρμογή, μετά δώστε ένα gprof gmon.out (όπου gmon.out το αρχείο που δημουργείται) και θα δείτε ένα σωρό χρήσιμες πληροφορίες. Οπως βλέπετε τίποτα +δεν λείπει. + +Ισως τα παραπάνω να φανούν λιγάκι απαρχαιωμένα στους μοντέρνους προγραμματιστές οι οποίοι έχουν μάθει στα (πολύ καλά ομολογουμένως) ολοκληρωμένα περιβάλλοντα, +στις σουίτες ανάπτυξης εφαρμογών κ.λπ. Η αλήθεια είναι πως είχαν και άλλοι τις ίδιες ανησυχίες, για αυτό και προχώρησαν σε κάτι ανάλογο. Υπάρχουν τέτοια +πράγματα σε Linux και τελείως ενδεικτικά θα αναφέρω το RHIDE (το οποίο στον τρόπο λειτουργίας θα θυμίσει πολύ το IDE της Borland για DOS), το xwke, τον ddd ( +Data display Debugger ), τον kdbg (K Debugger για όσους έχουν KDE στο σύστημά τους ) κ.λπ. Δεν λείπουν επίσης βιβλιοθήκες ρουτινών και συναρτήσεων. Όλα αυτά θα +τα βρείτε στο τμήμα Software/Programming του . + +Η αλήθεια είναι πάντως πως ο GNU έχει την τιμητική του και στον κόσμο του DOS. Πράγματι ο γνωστός DJGPP compiler δεν είναι τίποτα παραπάνω από ένα porting του +gcc στο DOS. Για πολλά χρόνια έχει αποτελέσει την ίσως μοναδική λύση, για 32bit εφαρμογές και φυσικά παιχνίδια στην παραπάνω πλατφόρμα. (Π.χ. το Quake, ο πολύ +γνωστός emulator MAME κ.λπ.) + +Φυσικά τα παραπάνω δεν φιλοδοξούν να καλύψουν το κεφάλαιο \"προγραμματισμός C/C++ στο Linux\". Απλά αποτελούν μια πρώτη εισαγωγή και στην πραγματικότητα μόλις +που αγγίζουν την κορυφή του παγόβουνου. Για παράδειγμα δεν αναφερθήκαμε καθόλου σε X programming ούτε και Assembly programming (Για το τελευταίο επιφυλλασόμεθα +σε μελλοντικό αρθράκι). Καλώς ήρθατε στον κόσμο του Gcc ! diff --git a/content/articles/09/03_groff.md b/content/articles/09/03_groff.md new file mode 100644 index 0000000..ba57c51 --- /dev/null +++ b/content/articles/09/03_groff.md @@ -0,0 +1,301 @@ ++++ +title = 'Γράφοντας Ελληνικά στο GROFF' +date = '1998-11-01T00:00:00Z' +description = '' +author = 'Γιώργος Κεραμίδας(mailto:keramida@ceid.upatras.gr)' +issue = ['Magaz 09'] +issue_weight = 3 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Ένας από τους αρχικούς λόγους ανάπτυξης του UNIX ήταν η ανάπτυξη ενός συστήματος για την στοιχειοθεσία των κειμένων που γραφόντουσαν στα Bell Labs της `AT& T`. +Αυτό το σύστημα ονομάστηκε αρχικά roff από την φράση run off, μετά ονομάστηκε nroff όταν προσαρμόστηκε να βγάζει έξοδο για πολλά τερματικά, και τέλος troff όταν +προσαρμόστηκε ξανά για να τυπώνει typesetter. Όλα τα manual pages του UNIX γράφονται σύμφωνα με μια πολύ παλιά παράδοση σε troff, και η Free Software Foundation +δεν μπορούσε να αφήσει τους χρήστες του Free Software παραπονεμένους! Έτσι φτιάχθηκε το groff, το οποίο μπορεί κάλλιστα να χρησιμοποιηθεί για να γραφτούν +ελληνικά κείμενα. Ας δούμε όμως πως\...* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. ΕΙΣΑΓΩΓΗ** +--------------------------------------- + +**2. ΓΡΑΦΟΝΤΑΣ ΑΠΛΑ ΚΕΙΜΕΝΑ ΣΤΟ GROFF** +--------------------------------------------------------------- + +**3. ΕΛΛΗΝΙΚΟΙ ΧΑΡΑΚΤΗΡΕΣ** +--------------------------------------------------- + +**4. ΟΙ ΓΡΑΜΜΑΤΟΣΕΙΡΕΣ ΤΟΥ GROFF** +---------------------------------------------------------- + +**5. ΟΙ ΑΛΛΑΓΕΣ ΠΟΥ ΧΡΕΙΑΖΟΝΤΑΙ** +--------------------------------------------------------- + +**6. ΚΑΝΟΥΜΕ ΤΙΣ ΑΛΛΑΓΕΣ** +-------------------------------------------------- + +**7. ΔΟΚΙΜΑΖΟΥΜΕ ΤΑ ΕΛΛΗΝΙΚΑ** +------------------------------------------------------ + +**8. ΒΙΒΛΙΟΓΡΑΦΙΑ** +------------------------------------------- + + +### [1. ΕΙΣΑΓΩΓΗ]{#s1} + +Όταν το UNIX ήταν ακόμα σε πειραματικό στάδιο, φτιάχθηκε από τον J. F. Ossana σε assembly για PDP/11! Η αρχική έκδοση ξαναγράφτηκε αργότερα σε C από τον Brian +W. Kernighan (ναι, τον ΕΝΑ και ΜΟΝΑΔΙΚΟ Kernighan εννοώ, που έφτιαξε μαζί με τον ΑΦΘΑΣΤΟ Dennis M. Ritchie την ΤΕΛΕΙΑ γλώσσα, την C) για να τρέχει στο +\"καινούριο\" λειτουργικό σύστημα που τότε εμφανιζόταν δειλά δειλά, το UNIX. Υπάρχει μάλιστα κι ένα ανέκδοτο(;) που λέει πως όταν κάποτε η `AT& T` σκεφτόταν να +σταματήσει το project του UNIX, η τότε πρώτη μορφή του troff, που άκουγε στο όνομα roff, ήταν ο μοναδικός λόγος που δεν έσβησε το UNIX από προσώπου γης! + +Κάποιος manager του project είδε το troff, και την έξοδο που τότε έβγαζε στον θρυλικό CA/T typesetter, και ξετρελλάθηκε. Κράτησε το project του UNIX μόνο και +μόνο για να συνεχίσει να αναπτύσσεται μαζί με το UNIX και το troff, τόσο πολύ του άρεσε. Ίσως από \'κει να ξεκίνησε κι η παράδοση τα manuals του UNIX να +γράφονται σε troff. Όπως και νά \'χει πάντως το πράγμα, η αλήθεια είναι ότι η παράδοση να γράφονται τα εγχειρίδια του UNIX σε troff είναι τόσο παλιά που κανείς +πια δεν πρέπει να θυμάται πως ξεκίνησε. + +Η Free Software Foundation, με σαφή προτίμηση προς τις πιο εξελιγμένες δυνατότητες του TeX, έφτιαξε το δικό της format, με το όνομα Texinfo. Παρόλ\' αυτά, ένα +από τα καλύτερα προγράμματα της FSF είναι ο groff, που δεν είναι τίποτα άλλο από μια καινούρια έκδοση του troff με πιο πολλά (και καλύτερα πολλές φορές) macro +sets, κτλ. + +Με την γνωστή πια επεκτασιμότητα που χαρακτηρίζει τα προγράμματα της GNU, ο groff υποστηρίζει όλους τους 8-bit χαρακτήρες. Αλλά οι απλές εγκαταστάσεις του δεν +έχουν υποστήριξη 8-bit χαρακτήρων για λόγους μεταφερσιμότητας. + +Ένα από τα formats εξόδου του groff είναι και το απλό ASCII κείμενο. Εδώ θα περιγράψουμε τι μπορείτε να κάνετε σε μια απλή εγκατάσταση του groff, για να κάνετε +τον groff να \"καταλαβαίνει\" ελληνικά (κι άλλες γλώσσες), τουλάχιστον για την έξοδο απλού κειμένου. + + +### [2. ΓΡΑΦΟΝΤΑΣ ΑΠΛΑ ΚΕΙΜΕΝΑ ΣΤΟ GROFF]{#s2} + +Το να γράψει κανείς ένα κείμενο στο groff δεν είναι πολύ δύσκολο. Απλά δημιουργεί ένα αρχείο με το κείμενό του, και τρέχει το groff όταν θέλει να μορφοποιήσει +το κείμενο για να το τυπώσει ή να το δει στην οθόνη του. + +Για παράδειγμα, μπορείτε να γράψετε σε ένα αρχείο το κείμενο + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Αυτό είναι ένα μικρό κείμενο γραμμένο σε ένα επίσης μικρό αρχείο. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αν σώσετε αυτό το κείμενο σε ένα αρχείο με το όνομα small.tr και τρέξετε το groff με την εντολή + + groff -Tascii small.tr + +μπορείτε να δείτε μια όμορφα στοιχισμένη μορφή του αρχικού κειμένου. Αν για κάποιο λόγο το κείμενο δεν χωράει στην οθόνη σας, και οι πρώτες γραμμές χάνονται, +γράψτε: + + groff -Tascii small.tr | less -r + +Το -Tascii είναι μια παράμετρος που λέει στο groff να μην βγάλει PostScript έξοδο που είναι το προκαθορισμένο, αλλά έξοδο απλού κειμένου. Αυτό είναι ένα μικρό +μόνο δείγμα του τι μπορεί να κάνει το groff. Για περισσότερες πληροφορίες για το groff, βλ. το τέλος αυτού του κειμένου στο τμήμα ΒΙΒΛΙΟΓΡΑΦΙΑ. + +Αν το groff σας δεν υποστηρίζει σε ascii output όλους τους 8-bit χαρακτήρες η παραπάνω εντολή θα αποτύχει βγάζοντας πολλά μηνύματα του τύπου: + + groff:small.tr:1: illegal character ` 384' + +που σημαίνει ότι το groff συνάντησε στο αρχείο εισόδου του (που αυτή τη στιγμή είναι το small.tr) στην γραμμή 1, κάποιο χαρακτήρα που δεν μπορεί να τον +\`\`αναγνωρίσει\'\'. + +Το groff όπως έρχεται από την FSF σε μορφή πηγαίου κώδικα είναι ένα πρόγραμμα που μπορεί να δεχτεί 8-bit χαρακτήρες στην είσοδό του. Διαβάζουμε στο manual του +groff\_font: + + Groff supports eight bit characters; however some + utilities has difficulties with eight bit charac­ + ters. + +δηλαδή + + Το groff υποστηρίζει 8-bit χαρακτήρες! Όμως κάποια + προγράμματα έχουν δυσκολίες με τους 8-bit + χαρακτήρες... + +Αυτός είναι κι ο λόγος που οι προκαθορισμένες γραμματοσειρές του groff δεν περιλαμβάνουν τους χαρακτήρες που βρίσκονται πάνω από τον ASCII-127 (DEL). Οι +ελληνικοί χαρακτήρες όμως βρίσκονται ακριβώς σε αυτή την περιοχή, και το groff δεν τους αναγνωρίζει. Γι\' αυτό και βγάζει τα μηνύματα \`invalid character\...\' +που είδαμε πιο πάνω. + + +### [3. ΕΛΛΗΝΙΚΟΙ ΧΑΡΑΚΤΗΡΕΣ]{#s3} + +Οι ελληνικοί χαρακτήρες βρίσκονται στην υψηλή περιοχή του extended ASCII σετ χαρακτήρων, πάνω από τον χαρακτήρα ASCII 127 (DEL). Μάλιστα το σετ χαρακτήρων του +MS-DOS ξεκινάει ακριβώς πάνω από το 127, στον χαρακτήρα 128, που αντιστοιχεί το ελληνικό κεφαλαίο \'Α\'. + +Όταν είστε σε κατάσταση κειμένου στην κονσόλα του Linux σας, το παρακάτω μικρό πρόγραμμα θα σας δείξει την γραμματοσειρά που εκείνη τη στιγμή χρησιμοποιείται αν +το τρέξετε. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + /* ascii.c - εκτύπωση του ascii character set στην κονσόλα + * ενός linux μηχανήματος + * + * Ειδική μεταχείριση γίνεται στους μη εκτυπώσιμους + * χαρακτήρες και στον escape χαρακτήρα (128+27) που + * χρησιμοποιεί ο console driver του Linux. + */ + + #include + + int main (void) + { + int i; + + for (i = 0; i < 256; i++) { + if ((i & 15) == 0) + printf("0x%02x: ", i); + printf((isprint(i) || i > 127 && i != (128+27)) ? + " %c %c" : "%03o%c", + i, ((i % 16) == 15) ? '0 : ' '); + } + return 0; + } + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Μεταγλωττίστε το πρόγραμμα αυτό με μια εντολή όπως + + gcc ascii.c + +και τρέξτε το με την εντολή a.out + +Θα δείτε τους ελληνικούς χαρακτήρες στις θέσεις πάνω από 0x80, που είναι το extended σετ χαρακτήρων ASCII. + + +### [4. ΟΙ ΓΡΑΜΜΑΤΟΣΕΙΡΕΣ ΤΟΥ GROFF]{#s4} + +Το groff κρατάει τις γραμματοσειρές του στον κατάλογο /usr/share/groff/font (και τα macros του στον κατάλογο /usr/share/groff/tmac). + +Στον κατάλογο /usr/share/groff/font υπάρχουν υποκατάλογοι για κάθε μορφή εξόδου που υποστηρίζει το groff. Οι διάφορες μορφές εξόδου, όπως PostScript, ascii, +laser­ jet-4, κτλ. στον groff λέγονται και συσκευές εξόδου, όπως και στον troff. Γι\' αυτό και στον κατάλογο /usr/share/groff/font οι υποκατάλογοι των συσκευών +αρχίζουν με το string dev. Για παράδειγμα, ο υποκατάλογος με τις γραμματοσειρές για ascii output λέγεται devascii, ο υποκατάλογος με τις γραμματοσειρές για +PostScript output λέγεται devps, κτλ. + +Στον υποκατάλογο devascii που μας ενδιαφέρει για το ascii output, υπάρχουν τα εξής αρχεία: + +- DESC αρχείο με περιγραφή του συγκεκριμένου output device +- R το σετ χαρακτήρων της Roman γραμματοσειράς +- I το σετ χαρακτήρων της Italic γραμματοσειράς +- B το σετ χαρακτήρων της Bold γραμματοσειράς +- BI το σετ χαρακτήρων της Bold-Italic γραμματοσειράς + +Καθένα από τα αρχεία που καθορίζουν το σετ χαρακτήρων μιας γραμματοσειράς έχουν μια συγκεκριμένη μορφή, που περιγράφεται λεπτομερώς στο manual page του +groff\_font. + +Στο τέλος κάθε αρχείου υπάρχει ένας πίνακας που κάθε γραμμή του αρχείου αποτελεί μια καταχώριση στον πίνακα. Οι γραμμές έχουν την μορφή + + όνομα μετρικές τύπος κωδικός σχόλιο + +και περιγράφουν ένα χαρακτήρα του σετ η κάθε μια. + +Διαβάζοντας το manual του groff\_font βλέπουμε πως το όνομα ενός χαρακτήρα μπορεί να είναι είτε ο ίδιος ο χαρακτήρας, είτε το string \"charXXX\" όπου XXX ο +αριθμός του χαρακτήρα στο extended ASCII σετ χαρακτήρων. + +Οι μετρικές είναι για όλους τους χαρακτήρες ίδιες σε έξοδο απλού κειμένου (ο αριθμός 24 είναι το πλάτος του χαρακτήρα σε device units, την μικρότερη μονάδα +μέτρησης που υποστηρίζει το groff). + +Ο τύπος είναι επίσης ο ίδιος για όλους τους χαρακτήρες σε έξοδο απλού κειμένου. Από τους πρώτους χαρακτήρες του σετ χαρακτήρων βλέπουμε ότι η τιμή του είναι 0 +για όλες τις γραμματοσειρές του devascii. + +Ο κωδικός του χαρακτήρα είναι ο αριθμός του χαρακτήρα που θα βγάζει στην έξοδό του το groff όταν δει στην είσοδο τον χαρακτήρα με το συγκεκριμένο όνομα. Αυτό +συνήθως είναι το ίδιο με το όνομα, και μπορεί να γραφτεί είτε σαν δεκαδικός αριθμός, είτε σαν οκταδικός η δεκαεξαδικός. + + +### [5. ΟΙ ΑΛΛΑΓΕΣ ΠΟΥ ΧΡΕΙΑΖΟΝΤΑΙ]{#s5} + +Μετά από τις προηγούμενες παραγράφους, είναι φανερό πως αν στις γραμματοσειρές του groff προσθέσουμε τις γραμμές που χρειάζονται για τους 8-bit χαρακτήρες, θα +μπορούμε να δουλέψουμε στο groff, χρησιμοποιώντας τουλάχιστον το ascii output device. + +Αλλά πως είναι αυτές οι γραμμές; Στην προηγούμενη παράγραφο (Οι Γραμματοσειρές του GROFF) είδαμε ότι μπορούν να είναι της μορφής: + + charXXX 24 0 YYY + +όπου το XXX είναι ο δεκαδικός αριθμός του χαρακτήρα στο ASCII, και YYY είτε ο ίδιος ο χαρακτήρας, είτε ο αριθμός του σε οκταδικό, δεκαεξαδικό, κτλ. + +Αυτή η γραμμή πρέπει να γραφτεί για όλους τους αριθμούς χαρακτήρα, από 128 έως και 255 (που είναι το υψηλό μέρος του ASCII σετ χαρακτήρων). + +Με το μικρό Perl script που βλέπουμε παρακάτω, μπορείτε να κάνετε αυτή ακριβώς τη δουλειά, χωρίς να τρελλαθείτε στο γράψιμο και μετά να μην είστε και σίγουροι +ότι όλα δουλεύουν. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + #! /usr/bin/perl -w + + ## greek.pl -- ελληνικοί χαρακτήρες για το + ## devascii device του groff + + foreach $i (128 .. 255) { + printf "char%d2400%03o0, $i, $i; + } + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +το οποίο αν το τρέξετε γράφει στην έξοδό του: + + char128 24 0 0200 + char129 24 0 0201 + char130 24 0 0202 + ... πολλές γραμμές ακόμα ... + char254 24 0 0376 + char255 24 0 0377 + +Οι γραμμές που δημιουργεί αυτό το script πρέπει να προστεθούν σε όλα τα αρχεία που ορίζουν το σετ χαρακτήρων του ascii device. Ας δούμε όμως πως μπορεί να γίνει +αυτό. + + +### [6. ΚΑΝΟΥΜΕ ΤΙΣ ΑΛΛΑΓΕΣ]{#s6} + +Οι αλλαγές που χρειάζεται να γίνουν στα αρχεία του καταλόγου /usr/share/groff/font/devascii είναι απλές, αλλά καλό είναι να κρατήσετε πρώτα ένα backup των +αρχείων. + +Κάντε login σαν root και τρέξτε τις εντολές: + + cd /usr/share/groff/font + tar cvf - devascii | gzip -9c -> devascii.tar.gz + +Τώρα υπάρχει ένα αρχείο με το πολύ περιγραφικό όνομα στον κατάλογο \`/usr/share/groff/font\'. Αυτό περιέχει τις αρχικές γραμματοσειρές του groff, έτσι ώστε σε +περίπτωση που κάτι πάει στραβά να μπορείτε να επαναφέρετε την εγκατάσταση του groff σας σε μια κατάσταση που δουλεύει! + +Αντιγράψτε τον κώδικα του greek.pl που φαίνεται παραπάνω σε ένα αρχείο μέσα στον κατάλογο \`/usr/share/groff/font/devascii\'. + +Τρέξτε δοκιμαστικά το script με την εντολή + + perl greek.pl + +Αν το πρόγραμμα βγάλει την αναμενόμενη έξοδο (δείτε παραπάνω) τότε μπορείτε να εκτελέσετε τις εντολές: + + perl greek.pl >> R + perl greek.pl >> I + perl greek.pl >> B + perl greek.pl >> BI + +ΠΡΟΣΕΞΤΕ ΤΟ ΔΙΠΛΟ `">>"` ΣΤΙΣ ΕΝΤΟΛΕΣ ΠΑΡΑΠΑΝΩ! + +Η έξοδος του greek.pl πρέπει να γραφτεί στο τέλος των γραμματοσειρών, κι όχι να τις κάνει overwrite! + + +### [7. ΔΟΚΙΜΑΖΟΥΜΕ ΤΑ ΕΛΛΗΝΙΚΑ]{#s7} + +Για να δοκιμάσετε τα ελληνικά στο groff σας μετά από όλα αυτά, μπορείτε να γράψετε το παράδειγμα που είδαμε στην παράγραφο 2 (ΓΡΑΦΟΝΤΑΣ ΑΠΛΑ ΚΕΙΜΕΝΑ ΣΤΟ GROFF), +ή να γράψετε οποιοδήποτε άλλο απλό κείμενο σε ελληνικά, περνώντας το ύστερα από το groff με μια εντολή όπως: + + groff -Tascii αρχείο_εισόδου | less -r + +για να δείτε αν τα ελληνικά εμφανίζονται σωστά. + +Εννοείται πως αν η κονσόλα σας δεν δείχνει σωστά τα ελληνικά γιατί δεν έχετε κατάλληλη γραμματοσειρά, δεν φταίει το groff, σωστά; Αλλά μην ανησυχείτε, μπορείτε +να στήσετε το greek-console και όχι μόνο να δείτε αλλά τα ελληνικά σας κείμενα, αλλά να γράψετε και καινούρια. + + +### [8. ΒΙΒΛΙΟΓΡΑΦΙΑ]{#s8} + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + [1] Writing Papers with GROFF using -me, Eric P. Allman, Modified for GROFF by James Clark. + + [2] Typing Documents on the UNIX System: Using the -ms Macros with Troff and Nroff. M. E. Lesk, November 3, 1978. + + [3] Troff User's Manual. Joseph F. Ossanna, Brian W. Kernighan. . + +**1. Πώς να βάλετε τα μεταφρασμένα προγράμματα στο σύστημα σας;** +--------------------------------------------------------------------------------------- + +**2. Πώς να μεταφράσετε ένα πρόγραμμα;** +-------------------------------------------------------------- + +**3. Τί μας ωφελεί το NLS αφού οι περισσότεροι ξέρουν αγγλικά;** +-------------------------------------------------------------------------------------- + +**4. Ποιος είναι υπεύθυνος για τις ελληνικές μεταφράσεις;** +--------------------------------------------------------------------------------- + + +### [1. Πώς να βάλετε τα μεταφρασμένα προγράμματα στο σύστημα σας;]{#s1} + +Προγράμματα που θα χρειαστούν: [Autoconf](ftp://prep.ai.mit.edu/pub/gnu/autoconf-2.12.tar.gz)\ +[Gettext](ftp://prep.ai.mit.edu/pub/gnu/gettext-0.10.tar.gz) + +Στο chloe υπάρχουν τα xxx-el.po αρχεία. Αυτά περιέχουν την ελληνική μετάφραση του προγράμματος, και όπως καταλαβαίνετε δεν αρκούν. Πρέπει να κατεβάσετε από +κάποιο mirror της gnu (ή από το δεύτερο cd του slackware, infomagic κλπ) το αντίστοιχο πρόγραμμα. Πχ για τα shar-utils (uuencode κλπ) το shar-utils-4.2.tar.gz. +Αφού το αποσυμπιέσετε και το βάλετε σε κάποιον κατάλογο, αντιγράψετε το shar-utils-4.2.el.po (μην ανησυχήσετε αν κάπου οι εκδόσεις δεν συμφωνούν) στον po/ +κατάλογο σαν el.po. Ανοίξτε το configure.in στον κατάλογο του sharutils και προσθέστε στο ALL\_LINGUAS το \'el\'. Αυτό ήτανε. Τρέξτε το autoconf (Ναι, δυστυχώς +πρέπει να το έχετε μαζί με το gettext, αλλά υπάρχουν σε όλα τα mirror του GNU) και συνεχίστε την διαδικασία της εγκατάστασης έχοντας στην μεταβλητή +περιβάλλοντος LINGUAS την επιλογή \'el\' ,ώστε να προστεθούν μόνο τα ελληνικά (προσοχή τα νέα binaries συνήθως πάνε στο /usr/local/bin οπότε φροντίστε να +ανανεώσετε το PATH σας). Αν τρέξετε κάποιο νέο πρόγραμμα με nls και δείτε ότι δεν \'μιλάει\' ελληνικά, μην τρομάξετε. Το nls θα ενεργοποιηθεί μόνο αν έχετε +δηλώσει την LANG ίση με el (export LANG=el για bash). + +\*Προσοχή: Η Glibc2 έχει(είχε) δύο ατέλειες. 1) Η ελληνική γλώσσα συμβολίζεται με gr αντί του el (iso639 country codes), και 2) το LC\_MESSAGES που δηλώνει τις +εκφράσεις yes-no έχει μόνο τα Ν/ν - Ο/ο (ενώ θα έπρεπε να έχει και τα y/Y - N/n). Ετσι για το πρώτο πρεπει να συνδέσετε τον κατάλογο el με τον gr στο +/usr/share/locale ή /usr/local/share/locale (ln -s /usr/share/locale/gr /usr/share/locale/el) . Για το LC\_MESSAGES μπορείτε να το αλλάξετε και μόνοι σας με +κάποιον κειμενογράφο, ή να κατεβάσετε την τελευταία έκδοση της glibc2 (+localedata) όπου έχει διορθωθεί. + + +### [2. Πώς να μεταφράσετε ένα πρόγραμμα;]{#s2} + +Γιατί εγώ; θα αναρωτιέστε μερικοί. Δικαιολογίες για να μην μεταφράσετε υπάρχουν πολλές:) Εγώ απλώς σας παροτρύνω να μην προτιμάτε το μασημένο φαϊ, προτιμήστε να +συμμετάσχετε στην εξέλιξη του λειτουργικού που επιλέξατε (και μπορείτε γιατί είναι το GNU/Linux!). Ούτε ούτε το GNU ούτε ο Stallman ούτε ο Linus μπορούν να σας +προσφέρουν το linux στα ελληνικά, μόνο εσείς μπορείτε! Δοκιμάστε. Η διαδικασία είναι απλή. Kάθε νέο GNU πρόγραμμα που περιέχει το ABOUT-NLS υποστηρίζει NLS, και +είναι απλό για κάποιον να το μεταφράσει. Αρκεί να κοιτάξει τον po/ κατάλογο. Εκεί υπάρχουν (πάλι για παράδειγμα παίρνω τα shar-utils) τα sharutils.pot fr.po +de.po κλπ\... Το sharutils.pot περιέχει όλα τα μηνύματα του προγράμματος μέσα σε ένα δήλωση msgid και έχει κενή την msgstr. Όπως θα δείτε από τα άλλα .po το +msgstr είναι το πεδίο που θα τοποθετηθεί η μετάφραση. Πχ. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + #: src/chgrp.c:117 + #, c-format + msgid "group of %s changed to %s\n" + msgstr "Η ομάδα του %s άλλαξε σε %s.\n" + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Συμβουλευτήτε και τις γαλλικές μεταφράσεις (fr.po) αφού το συντακτικό τους είναι ίδιο με το ελληνικό (ή μάλλον το αντίθετο:). Οι δηλώσεις με \# αγνοούνται μόνο +όταν υπάρχει κενό μετά τον χαρακτήρα \#. Δηλαδή οι δηλώσεις που βλέπετε παραπάνω δεν μπορούν ούτε και πρέπει να αλλάξουν. Aφού το μεταφράσετε το sharutils.pot +σώστε το σαν el.po (η διαδικασία από εδώ και πέρα είναι ίδια με παραπάνω). + + +### [3. Τί μας ωφελεί το NLS αφού οι περισσότεροι ξέρουν αγγλικά;]{#s3} + +Ξέρουν; Πολλές φορές χρησιμοποιούμε αγγλικές έννοιες χωρίς να ξέρουμε τι ακριβώς σημαίνουν στα ελληνικά, δηλαδή τις χρησιμοποιούμε εμπειρικά, για παράδειγμα +proxy server, verbose mode κλπ. Ο νέος χρήστης δεν είναι ούτε τόσο έμπειρος, ούτε θέλει να ανατρέχει από λεξικό σε λεξικό για να δει τι σημαίνει το buffer. +Επίσης μην ξεχνάμε και τους μη γνώστες της αγγλικής (και δεν είναι λίγοι), γιατί πρέπει να τους αποτρέπουμε από τους υπολογιστές (εδώ από το linux); Ο +υπολογιστής πρέπει να μάθει την γλώσσα μας, όχι εμείς την δική του. + + +### [4. Ποιος είναι υπεύθυνος για τις ελληνικές μεταφράσεις;]{#s4} + +Ο [Σίμος Ξενιτέλης](mailto:simos@teiath.gr). Σε αυτόν πρέπει να στέλνετε τις μετάφρασεις GNU προγράμματων. Για οτιδήποτε άλλο μπορείτε να επικοινωνήσετε [μαζί +μου](mailto:nmav@i-net.paiko.gr). + +ΥΓ. Για τους μέλλοντες μεταφραστές: Για κάθε πρόβλημα συμβουλευτήτε το (προσχέδιο) λεξικό που υπάρχει στο + +Παραπομπές: \ + + diff --git a/content/articles/09/05_calctut.md b/content/articles/09/05_calctut.md new file mode 100644 index 0000000..daa8321 --- /dev/null +++ b/content/articles/09/05_calctut.md @@ -0,0 +1,270 @@ ++++ +title = 'Εισαγωγή στο μαθηματικό πρόγραμμα Calc' +date = '1998-11-01T00:00:00Z' +description = '' +author = 'Βαγγέλης Ρόζος' +issue = ['Magaz 09'] +issue_weight = 5 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το πρόγραμμα Calc πρόκειται για ένα προγραμματιζόμενο κομπιουτεράκι σε C.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Είναι γραμμένο σε C και ακολουθεί την βασική νοοτροπία του Unix δηλαδή πολλά μικρά αλληλεπιδρώντα εργαλεία για την επίλυση ενός προβλήματος. Το Calc μπορεί από +το να εκτελέσει απλούς αριθμητικούς υπολογισμούς μέχρι να επιλύσει πολλαπλά ολοκληρώματα. Για όσους έχουν προμηθευτεί το Linux από την Infomagic το πρόγραμμα +υπάρχει στο τέταρτο CD (/apps/math/calc). Επίσης το πρόγραμμα μπορεί να βρεθεί στην διεύθυνση . + +**Βασικές πράξεις** + +Με μερικά παραδείγματα θα δώσουμε μια γενική εικόνα των δυνατοτήτων του προγράμματος. Πληκτρολογώντας : + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + >3*(4+1) το Calc επιστρέφει + 15 + Δίνοντας τώρα: + >.*2 το Calc επιστρέφει + 30 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Δηλαδή η τελεία σαν όρισμα ισοδυναμεί με το τελευταίο αποτέλεσμα (φυσικά 2\*1.2 θα μου δώσει 2.4). Χρήση μεταβλητών: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + >old=.+19 + >sqrt(old) το Calc επιστρέφει + 7 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +To Calc μπορεί άνετα να χειριστεί μιγαδικούς αριθμούς: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + >(2+3i)*(4-3i) το Calc επιστρέφει + 17+6i + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αν δώσω: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + >1i*1i το Calc επιστρέφει + -1 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**Πίνακες** + +Τώρα μερικά παραδείγματα με πίνακες. Πρώτα δημιουργούμε τον 3\*3 πίνακα a με στοιχεία aij όπου i και j από 1 έως 3. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + >mat a[1:3, 1:3] + >a το Calc επιστρέφει + [1,1] = 0 + [1,2] = 0 + [1,3] = 0 + [2,1] = 0 + [2,2] = 0 + [2,3] = 0 + [3,1] = 0 + [3,2] = 0 + [3,3] = 0 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Γέμισμα πίνακα με σταθερή τιμή: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + >matfill(a,1) + >a το Calc επιστρέφει + [1,1] = 1 + [1,2] = 1 + [1,3] = 1 + [2,1] = 1 + [2,2] = 1 + [2,3] = 1 + [3,1] = 1 + [3,2] = 1 + [3,3] = 1 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Διαγώνιος πίνακας: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + >matfill(a,0,1) + >a το Calc επιστρέφει + [1,1] = 1 + [1,2] = 0 + [1,3] = 0 + [2,1] = 0 + [2,2] = 1 + [2,3] = 0 + [3,1] = 0 + [3,2] = 0 + [3,3] = 1 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Δηλαδή ο μοναδιαίος πίνακας.\ +Μερικές πράξεις με πίνακες τώρα. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Ορισμός του πίνακα: + >mat b[1:3, 1:3] + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Και εισαγωγή τιμών στον πίνακα: + >b[1][1]=3.3 + >b[1][2]=2 + >b[1][3]=-1i + >b[2][1]=5.2 + >b[2][2]=2.1 + >b[2][3]=-1 + >b[3][1]=0.3 + >b[3][2]=-9 + >b[3][3]=4 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Πολλαπλασιασμός πινάκων: + >a*b το Calc επιστρέφει + mat [1:3,1:3] (9 elements, 9 nonzero): + [1,1] = 3.3 + [1,2] = 2 + [1,3] = -1i + [2,1] = 5.2 + [2,2] = 2.1 + [2,3] = -1 + [3,1] = .3 + [3,2] = -9 + [3,3] = 4 + Τον ίδιο πίνακα δηλαδή, αφού πολλαπλασιάστηκε με τον μοναδιαίο. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Αναστροφή πίνακα: + >mattrans(b) το Calc επιστρέφει + mat [1:3,1:3] (9 elements, 9 nonzero): + [1,1] = 3.3 + [1,2] = 5.2 + [1,3] = .3 + [2,1] = 2 + [2,2] = 2.1 + [2,3] = -9 + [3,1] = -1i + [3,2] = -1 + [3,3] = 4 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Αντιστροφή πίνακα: + >(b^-1)*b το Calc επιστρέφει + mat [1:3,1:3] (9 elements, 3 nonzero): + [1,1] = 1 + [1,2] = 0 + [1,3] = 0 + [2,1] = 0 + [2,2] = 1 + [2,3] = 0 + [3,1] = 0 + [3,2] = 0 + [3,3] = 1 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**Συναρτήσεις χρήστη** + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Μπορούμε να ορίσουμε νέες συναρτήσεις: + >define f(x)=exp(1i*x) + >f(3) το Calc επιστρέφει + ~-.98999249660044545727+~.14112000805986722210i + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Ορισμός πιο σύνθετων συναρτήσεων: + > define delta(x) + >> { + >> if (x==0) return 1; + >> return 0;} + + > delta(0) το Calc επιστρέφει + 1 + > delta(1) το Calc επιστρέφει + 0 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**Προγραμματίζοντας το Calc** + +Το μεγαλύτερο όπλο του Calc είναι ότι προγραμματίζεται σε γλώσσα σχεδόν ίδια με την C. Γράφουμε το πρόγραμμα σε έναν editor και το σώζουμε με μορφή \*.cal Μετά +μπορούμε να το φορτώσουμε μέσα από το Calc με την εντολή read \"Path/όνομα προγράμματος\" Τα προγράμματα που θα χρησιμοποιηθούν στα επόμενα παραδείγματα +βρίσκονται στην διεύθυνση \ +Για πρώτο παράδειγμα θα χρησιμοποιήσουμε το πρόγραμμα integr.cal που κάνει αριθμητική ολοκλήρωση με τον τύπο του Simpson. Ξεκινώντας το Calc στο ίδιο directory +με το integr.cal δίνουμε: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + > read integr το Calc επιστρέφει + 1 + 20 + integr(func string, var string, start, finish, tolerance) defined + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Ας υπολογίσουμε το ολοκλήρωμα `0.399*exp(-0.5*x^2)` (που αντιστοιχεί στην συνάρτηση πυκνότητας πιθανότητας κανονικής κατανομής με μέση τιμή 0 και διασπορά 1) ως +προς x από -10 μέχρι 10 με ακρίβεια 0.001. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + >integr('0.399*exp(-0.5*x^2)','x',-10,10,.001) το Calc επιστρέφει + 1.000142 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Έστω ότι θέλουμε τώρα να σχεδιάσουμε την αθροιστική συνάρτηση κατανομής, δηλαδή να πλοτάρουμε όλες τις τιμές που δίνει το παραπάνω ολοκλήρωμα για άκρα +ολοκλήρωσης από -οο (στην ουσία -10) έως x ε \[-οο, +οο\]. Εδώ θα χρησιμοποιήσουμε το πρόγραμμα plotf.cal σε συνδυασμό με το gnuplot. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + >read plotf + >plotf("integr('0.399*exp(-.5*x^2)','x',-5,x,.01)","x",-5,5,.5) + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Μέσα από το gnuplot τώρα δίνουμε: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + >plot [t=-10:10] 0.399*exp(-.5*t**2), 'plot.dat' using 1:4 with lines + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**Συμπέρασμα** + +Πολλά αντικείμενα και ιδιότητες που έχει το Calc όπως οι λίστες, οι σχεσιακοί πίνακες, τα αντικείμενα ορισμένα από χρήστη και άλλα, δεν αναφέρονται όπως είναι +φυσικό σε αυτό το κείμενο. Νομίζω ότι ο μέσος χρήστης δεν χρειάζεται παραπάνω από τρεις μέρες για να εξοικειωθεί με το πρόγραμμα και ίσως του πάρει δύο βδομάδες +για να μάθει όλες του τις πτυχές. Σε αυτό βοηθάει το συνοπτικό help του. Σίγουρα το Calc δεν μπορεί να συγκριθεί με επαγγελματικά πακέτα όπως Mathematica ή +Matlab αλλά είναι ιδανικό σε όσους αρέσει να προγραμματίζουν σε C και θέλουν να ασχοληθούν με αριθμητική ανάλυση. diff --git a/content/articles/09/06_bash2.md b/content/articles/09/06_bash2.md new file mode 100644 index 0000000..1126fca --- /dev/null +++ b/content/articles/09/06_bash2.md @@ -0,0 +1,99 @@ ++++ +title = 'Μαθήματα bash No2' +date = '1998-11-01T00:00:00Z' +description = '' +author = 'Βαγγέλης Παπαδογιαννάκης' +issue = ['Magaz 09'] +issue_weight = 6 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Σ\' αυτό το τεύχος, θα εξετάσουμε τους ειδικούς χαρακτήρες στο Bash\...* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Στο Bash, (γενικότερα, σε όλα τα shells) υπάρχουν διάφοροι χαρακτήρες ή ακολουθίες χαρακτήρων, που δεν είναι (άμεσα τουλάχιστον) προσπελάσιμοι από το shell. +Αυτοί είναι: + +- **\>** Επαναδρομoλόγηση εξόδου, πχ: echo \"hello root\" \> message φτιάχνει το αρχείο με όνομα message που περιέχει το hello root\ +- **\<** Επαναδρομoλόγηση εισόδου, πχ: mail root \< message, στέλνει στον root το message.\ +- **\|** Σωλήνωση πχ: ls \| more χρησιμοποιεί την more στα αποτελέσματα της ls\ +- **&** Εκτέλεση εντολής στο παρασκήνιο. Ακολουθεί εξήγηση παρακάτω\...\ +- **;** Χωρίζει εντολές στην ίδια γραμμή, πχ: clear ; ls καθαρίζει την οθόνη και δείχνει τα αρχεία του τρέχοντος καταλόγου.\ + +\ +\'Εστω οτι θέλουμε να βρούμε ένα αρχείο στο δίσκο μας. Ένας τρόπος είναι να χρησιμοποιήσουμε την εντολή find γράφοντας:\ + +find / -name filename -print + +Αυτό, είναι κάπως αργό γιατί ψάχνει όλο το σύστημα. Καλό θα ήταν να είχαμε το shell ελεύθερο για άλλη δουλειά. Γράφοντας λοιπόν: + +find / -name filename -print & + +η εντολή αυτή θα εκτελεστεί στο παρασκήνιο, και θα έχουμε ελεύθερο το shell για όποια άλλη δουλειά θέλουμε.\ +Αν βρεθεί το αρχείο, θα το εμφανίσει στην οθόνη μας. + +Έστω τώρα ότι έχουμε ανοίξει τον αγαπημένο μας editor, αλλά εκεί που γράφουμε κάτι, θέλουμε να δούμε μία διαδρομή στο δίσκο. Μπορούμε να κάνουμε suspend την +εργασία αυτή (δηλαδή το edit του αρχείου), να βρούμε αυτό που θέλουμε, και να ξαναγυρίσουμε στον editor. Πως; Στο περιβάλλον του editor πατάμε ctrl-z. Ο editor +θα σταματήσει, και θα μας βγάλει στο prompt. Εκεί μπορούμε να κάνουμε ότι θέλουμε. Για να επιστρέψουμε στον Editor, απλά γράφουμε fg.\ +Μα τι έγινε; Να σας εξηγήσω εγώ τι έγινε: Πατώντας ctrl-z, ο editor κατάληξε μια \"σταματημένη δουλειά\" (stopped job). Εξακολουθεί να υπάρχει, αλλά έχει +σταματήσει στο παρασκήνιο (background), δεν εκτελείται, και περιμένει από εσάς να τον βάλετε να συνεχίσει να δουλεύει είτε στο προσκήνιο (foreground) γράφοντας +fg είτε στο παρασκήνιο γράφοντας (πόσο ευπρόβλεπτο\...) bg. + +\ + +- Αν εκτελείτε πολές εργασίες στο παρασκήνιο, μπορείτε να τις δείτε όλες, γράφοντας jobs. +- Για να σταματήσετε για λίγο μια εργασία παρασκηνίου, γράψτε: stop n, όπου n ο αριθμός αυτής της εργασίας. +- Για να τερματίσετε μια εργασία παρασκηνίου, γράψτε kill n, όπου n ο αριθμός αυτής της εργασίας. +- Για να περιμένετε να τελειώσουν οι δουλειές παρασκηνίου, γράψτε wait.\ +- Πολλές φορές, οι εργασίες παρασκηνίου γράφουν στην οθόνη, κάτι πολύ ενοχλητικό. Για να σταματήσουν όταν πάνε να γράψουν στην οθόνη, γράψτε stty tostop + +\ +Άλλοι χαρακτήρες που το bash \"εκτιμά\" διαφορετικά είναι:\ + +- \[\]:\ + Αυτοί περικλείουν ένα εύρος τιμών, ή διάφορες τιμές. πχ η εντολές:\ + ls \[a-f\]\* εμφανίζει όλα τα αρχεία που έχουν πρώτο γράμμα από το a μέχρι το f. Οι ακολουθίες είναι σύμφωνα με τον κώδικα ASCII.\ + ls \[f\]\* εμφανίζει όλα τα αρχεία που έχουν πρώτο γράμμα a ή f.\ + \ +- \`\`:\ + Οποιαδήποτε ακολουθία μέσα στις \"βαρείες\", ερμηνεύεται από το shell σα να είναι εντολή. Δηλαδή:\ + echo \"You are in \\\"\`pwd\`\\\"\...\" θα έχει ως αποτέλεσμα να σας γράψει στην οθόνη:\ + You are in \"/usr/local/bin\...\" (αν τη στιγμή που τη γράψατε βρισκόσασταν στο /usr/local/bin, εντάξει;)\ + \ +- Είδαμε και τον χαρακτήρα \\. Αυτός, είναι ο χαρακτήρας διαφυγής, δηλαδή ΟΤΙ (μα ότι) είναι μετά από αυτόν, εμφανίζεται ώς έχει (ακόμα και ο ίδιος, γράφοντας + \\\\)\ + \ +- \"\":\ + Οτιδήποτε ανάμεσα σε δύο \", ερμηνεύεται ώς έχει, εκτός από:\ + 1. \$: στον οποίο θα γίνει αντικατάσταση με τη μεταβλητή που ακολουθεί τον χαρακτήρα \$ + 2. \`\`: ανάμεσα στους οποίους θα γίνει αντιστίχηση αποτελέσματος εντολής + 3. \\ Ο χαρακτήρας διαφυγής του οποίου τη χρησιμότητα αναφέραμε παραπάνω. + + \ +- \'\':\ + Οτιδήποτε ανάμεσα σε δύο αποστρόφους, ερμηνεύεται ώς έχει, εκτός φυσικά, από άλλη αποστροφο.\ + Και επειδή ξέρω ότι στα παραδείγματα είσαστε καλύτεροι, ορίστε μερικά:\ + \ + - echo \"Καλά, δεν είναι \\\"cool\\\";;;\"\ + Καλά, δεν είναι \"cool\";;;\ + - echo \'Καλά, δεν είναι \"cool\";;;\'\ + Καλά, δεν είναι \"cool\";;;\ + - echo \"You are in \\\" \`pwd\` \\\"\...\"\ + You are in \" /usr/local/bin \"\ + - echo \"Your \\\$PATH variable is set to: \$PATH\"\ + Your \$PATH variable is set to: /usr/bin:/bin:\...\.... (όποιο τελος πάντον είναι το PATH σας\...)\ +- ():\ + Ανάμεσα σε αυτούς τους χαρακτήρες, οι εντολές ομαδοποιούνται και είναι σα να τρέχουν σε ένα ξεχωριστό shell.\ + Δηλαδή, κατα κάποιο τρόπο γίνεται ομαδοποίηση και εξάγεται το συνολικό αποτέλεσμα. πχ:\ + (echo \"user \" ; whoami ; echo \"logged in on \";date) \>\> logfile Αυτό γράφει στο αρχείο logfile το εξής:\ + user **user** logged in on **date**, όπου **user** ο χρήστης που μπήκε στο σύστημα, και **date** η ώρα-ημερομηνία εισαγωγής. Μια τέτοια εντολή καλό θα ήταν + να υπήρχε στο /etc/profile, ώστε να κρατάμε σε ένα logfile τους επισκέπτες στο σύστημά μας ανα πάσα στιγμή. Μην φανταστείτε όμως ότι με αυτό τον τρόπο θα + προστατευτείτε από τους παρείσακτους!!!\ + Στην παραπάνω εντολή, το \>\> είναι το append to file, δηλαδή δε σβήνει το προηγούμενο logfile, αλλά γράφει ότι είναι να γράψει στο τέλος του αρχείου. Δεν + χάνουμε δηλαδή το προηγούμενο logfile.\ + \ + \ + +\ +Στο επόμενο τεύχος του Magaz, συνέχεια του Bash, και εξέταση των μεταβλητών περιβάλλοντος.\ diff --git a/content/articles/09/07_mailbox.md b/content/articles/09/07_mailbox.md new file mode 100644 index 0000000..7795b6d --- /dev/null +++ b/content/articles/09/07_mailbox.md @@ -0,0 +1,453 @@ ++++ +title = 'Αλληλογραφία' +date = '1998-11-01T00:00:00Z' +description = '' +author = '' +issue = ['Magaz 09'] +issue_weight = 7 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*\"Κανόνες\" αλληλογραφίας: Από το επόμενος τεύχος (10) που το Magaz θα τοποθετηθεί στο μηχάνημα του Hellug, θα υπάρχει φόρμα καταχώρησης ερώτησης\... Μέχρι +τότε, παρακαλούμε ακολουθήστε τους κάτωθι κανόνες:* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +α) Να βάζετε ένα θέμα σχετικό με την ερώτηση στο mail σας. Ένα θέμα της μορφής Ερώτηση περί Linux δεν βοηθάει ιδιαίτερα.\ +β) Να ρίχνετε και καμιά ματιά στα περασμένα τεύχη, και εννοώ και την στήλη της αλληλογραφίας, αλλά και τα άρθρα. Ίσως κάποιες ερωτήσεις να απαντούνται από +εκεί.\ +Επίσης, παρακαλούμε γράφετε στα ελληνικά. Αν το outlook σας δεν βλέπει ελληνικά, βάλτε linux :-) + +**1. Defrag για Linux** +------------------------------------------------- + +**2. X-windows και χρώματα** +------------------------------------------------------ + +**3. Viper 330** +------------------------------------------ + +**4. KDE μόνο για το RedHat 5.0.** +------------------------------------------------------------ + +**5. Ελληνικό Πληκτρολόγιο** +------------------------------------------------------ + +**6. Ξανά πρόβλημα Debian** +----------------------------------------------------- + +**7. Εύρεση του XISP** +------------------------------------------------ + +**8. Ελληνικά στο DOSemu** +---------------------------------------------------- + +**9. Ζητείται Linux** +----------------------------------------------- + +**10. Οtenet PPP** +---------------------------------------------- + +**11. Kppp προβλήματα** +--------------------------------------------------- + +**12. Matrox Mystique** +--------------------------------------------------- + +**13. Applixware και Ελληνικά** +----------------------------------------------------------- + +**14. IP-Masquerading** +--------------------------------------------------- + +**15. PINE και ελληνικά** +----------------------------------------------------- + + +### [1. Defrag για Linux]{#s1} + +Από : [Σωτήρη Παρμάκη](mailto:paleolithic@iol.it) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Απάντηση : [Νίκος Κόκρας](mailto:kokni@eexi.gr) + +Γειά (και πάλι από μένα) ;-) Υπάρχει εφαρμογή γιά defragmentation του δίσκου για το Linux? + +***MK:** Όχι, και δεν χρειάζεται. Υπάρχουν ορισμένες τέτοιου είδους εφαρμογές στο sunsite για να είμαι πιο σωστός, αλλά στην πραγματικότητα αναλαμβάνει το +λειτουργικό να κάνει κάτι τέτοιο. (όπως και στα windows NT δεν υπάρχει, αλλά εκεί δημιουργείται fragmentation και από ότι ξέρω έχουν βγει τρίτα προγράμματα, τα +οποία όμως απλά το αναφέρουν, δεν το λύνουν\...)\ +**NK:** Πράγματι στο sunsite υπάρχει ένα defrag το οποίο εδώ και 2 χρόνια είναι μεταξύ alpha και beta. Όπως καταλαβαίνεις τέτοια προγράμματα δεν σηκώνει να +είναι beta και συνεπώς δεν έχει τύχει ευρείας χρήσης. Νομίζω ότι κάπου τώρα τελευταία είδα μία νέα έκδοση του defrag (ψάξε στο +[ftpwatcher](http://lfw.linuxhq.com). Το ότι το linux δεν έχει πρόβλημα defrag δεν είναι απόλυτα ακριβές, χωρίς να είναι λάθος. Πράγματι το ext2 έχει natively +κάποια πρόβλεψη για το fragmentation αλλά κάθε πράγμα έχει τα όριά του. Σε κάθε περίπτωση όσο το fragmentation σου δεν φτάνει σε υπερβολικά νούμερα (δηλ. πάνω +από 10-15%) δεν έχεις πρόβλημα και σίγουρα δεν υπάρχει καμία σχέση με \"άλλα\" λειτουργικά. Μπορείς όμως να κάνεις και εσύ κάτι για το fragmentation: Υπάρχουν +μερικά σημεία του filesystem που είναι επιρρεπή σε fragmentation. Αυτά είναι το /tmp, το /var και το /home (εάν έχεις πολλούς χρήστες ή γράφεις / σβήνεις όλη +την ώρα). Εάν βάλεις το /tmp και το /var σε διαφορετικά partitions έχεις κάνει ότι θα έκανε το καλύτερο defrag πρόγραμμα. Συνοπτικά λοιπόν δεν σου συνιστώ να +τρέξεις το ειδικό πρόγραμμα εάν έχεις σημαντικά πράγματα στο δίσκο σου (δυστυχώς, δεν ξέρω κανένα που να το έχει τρέξει για να μας πει από πρώτο χέρι) και +αντίθετα σου προτείνω μόλις σου δοθεί η ευκαιρία να κάνεις ένα σωστό partitioning ώστε να κοντρολάρεις το fragmentation εν τη γεννέση του.* + + +### [2. X-windows και χρώματα]{#s2} + +Από : [Σωτήρη Παρμάκη](mailto:paleolithic@iol.it) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Γειά,\ +Είμαι νέος χρήστης του Linux και έχω μερικά προβλήματα με τα Xwindows.\ +Έχω ένα σύστημα με Diamond Stealth 3D 2240(Virge 2Mb), 16Mb ram και Red Hat 5.1. Το πρόβλημα είναι ότι δεν μπορώ να έχω 16 ή 24bit χρώμα στα X-windows(με KDE +1.0) (ακόμη κι αν χρησιμοποιώ: startx -bpp 16)(και παρότι στο Xwindow configuration εχω ενεργοποιήσει τις:800x600x8bit, 800x600x16bit, 800x600x24bit). Υπάρχει +τρόπος να έχω περισσοτερα από 8bit χρώμα; + +*Φίλε Σωτήρη,\ +η σωστή εντολή είναι η startx \-- -bpp 16 για 16 bit χρώμα. Βέβαια, για να μπορέσεις να δεις παραπάνω χρώματα πρέπει να το υποστηρίζει και ο server που +χρησιμοποιείς, ο οποίος ΥΠΟΘΕΤΟΥΜΕ ότι τα υποστηρίζει, αλλά για να είμαστε πιο σίγουροι, κάνε ένα \"ls -l /usr/X11/bin/X\*\" για να δεις το αρχείο X που +δείχνει. Αν δείχνει στο αρχείο XF86\_VGA16 πρέπει να ξαναρυθμίσεις τα X-windows με όποιον τρόπο έχει το RedHat, ή με το standard xf86setup. Εκεί θα του δηλώσεις +ως server τον S3virge ή τον SVGA. (Πληροφοριακά, αν ΔΕΝ έχεις εγκαταστήσει αυτούς τους servers δεν θα τους εγκαταστήσει το πρόγραμμα μόνο του).* + + +### [3. Viper 330]{#s3} + +Από : [Μαλάκτα Μαλακταία](mailto:antoula@hotmail.com) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@rocketmail.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Είμαι ένας νέος χρήστης του Linux (2 βδομάδες έχω ασχοληθεί με αυτό σοβαρά). Πρόσφατα αντιμετώπισα το πρόβλημα της κάρτας ήχου μου κάτω από Linux. Έχω μία Opti +c929 (Mad 16 pro -υπάρχει στο menu sound του kernel configuration). Διαβάζοντας πολλά howtos τελικά κατάφερα να την εγκαταστήσω σωστά και τη στιγμή που σας +γράγφω αυτό το γράμμα ακούω ένα CD μου :) Δυστυχώς όμως δεν είναι όλα τόσο καλά! Έχω το redhat 5.1 με πυρήνα 2.0.35. Μόλις λοιπόν έφτιαξα τον καινούργιο πυρήνα +με υποστήριξη κάρτας ήχου και έκανα compile ανακάλυψα ότι δεν μπορώ να μπω στα x windows ! Γράφω startx, η οθόνη γίνεται μαύρη και το σύστημα κολλάει. Τρέχοντας +το Xconfigurator τη στιγμή που επιλέγω probe η οθόνη γίνεται μαύρη και κολλάει πάλι το σύστημα - αντί να αναβοσβήνει μερικές φορές η οθόνη\... Ακόμα και όταν +πατάω \"dont probe\" όταν τελικά προσπαθώ να μπω στα X πάλι κολλάει το σύστημα\... Κάρτα γραφικών μου είναι η viper v330 και χρησιμοποιεί τον XFree86-SVGA +server. Κάτι όμως μέσα μου με έτρωγε και έβαλα στη θέση της την Diamond Stealth 3d 2000 pro και, αφού εγκατέστησα το σωστό server (S3) το σύστημα μπήκε κανονικά +στα X ! Δυστυχώς όμως εγώ δεν μπορώ να κρατήσω την Stealth\....Άλλωστε τσάμπα έδωσα το 20 χιλιάρικα για την viper; Μήπως μπορείτε να μου πείτε τι φταίει; Δεν +ξέρω τι πρέπει να δοκιμάσω\... ότι κάνω αποτυγχάνει. + +***ΒΠ:** Να υποθέσω οτι έψαξες στο: ;;;;; το riva128 δεν έχει η κάρτα σου ;;; (από την άλλη, δεν ξέρω αν είναι για PCI +ή AGP, και τι είδους έχεις εσύ\...)\ +Επίσης, είχε πάρει το μάτι μου κάτι για αυτή την κάρτα, που είχε σχέση με τη suse, αλλά δυστυχώς δε θυμάμαι τίποτα\... Ούτε που, ούτε τι\... sorry \...\ +Επίσης, από το dejanews:* + + ------------------------------------------------ + + > Hi ! + > + > I am having some problems to configure Linux to work with a Diamond Viper + > V330 PCI OEM video board. + > + + This card cannot share an interupt (IRQ setting) with anything else. + Maybe you need to give it a unique IRQ. + + + ------------------------------------------------ + >> Jens Johannesson writes: + + > After startx, the screen becomes dark and the machine hangs + > completely. I have a ASUS P5A motherboard, AMD K6, Diamond Viper + > V330 and use XFree86 3.3.2 as distributed with Debian 2.0. I + > upgraded the BIOS to Version 1003 as the corresponding readme + > indicated improvements regarding the NVIDIA RIVA128. + + > Any hints? + + The RIVA cards use an IRQ. Earlier servers would hang if they shared + an IRQ, but the latest one doesn't have that problem. Try downloading + the latest (pachlevel 3) SVGA server and installing that. + + ------------------------------------------------ + +*και εν πάσει περιπτώσει, κάνε ένα ψάξιμο στο : προφανώς δεν θα είσαι ο +μόνος που έχει αυτό το πρόβλημα!\ +**MK:** Με όλα αυτά που είπε ο Βαγγέλης, θυμήθηκα το εξής: στήσιμο Xfre86-3.3.2 σε μηχάνημα με PCI 3Com και AGP Nvidia Riva 128 (STB Velocity). Το πρόβλημα ήταν +τα shared IRQs. Επειδή δεν ήξερα (και δεν ξέρω) να πω στην τάδε κάρτα AGP να πάρει το τάδε συγκεκριμένο IRQ, άλλαξα τη θέση του Ethernet controller και λύθηκε +το πρόβλημα. Χρησιμοποιείς τον SVGA Server. Επίσης, αν δεν κάνω λάθος, υπάρχει και στο site της SuSE ένας ειδικός x-server για την κάρτα αυτή. Θα το βρεις στο + στο section για τους X-servers.* + + +### [4. KDE μόνο για το RedHat 5.0.]{#s4} + +Από : [Ισαάκ Τσαλίκογλου](mailto:isaakt@hotmail.com) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@rocketmail.com) + +Γειά σας, διαβάζω ανελλιπώς το περιοδικό σας και το βρίσκω ιδιαίτερα ενδιαφέρον. + +*Ευχαριστούμε\... Μας δίνετε θάρρος για τη συνέχεια\...* + +Έχω εγκαταστήσει το RedHat 5.0 εδώ και 2 μήνες και έχω μάθει πάνω κάτω, τα εντελώς χρήσιμα (ls, more, less, minicom). Έχω καταφέρει επίσης να συνδεθώ μέσω του +Metro-X server (γιούπι) και έχω τρέξει το Netscape. Φαίνεται όμως ότι ο ΜέτροΧ έχει κάποιο bugάκι. Με τον Communicator, μετά από τρεις επισ΄κέψεις σε κάποια +σελίδα, τα γράμματα αλλάζουν χρώμα και δεν μπορώ να διαβάσω τίποτα. Ρώτησα κάποιον γνωστό μου (και γνώστη) περί αυτού του φαινομένου, και μου είπε ότι όντως +φταίει ο Metro-X. Εγώ τώρα, δεν έχω χρόνο να επανεγκαταστήσω το Λίνουξ από την αρχή χωρίς Τον ΜέτροΧ (λογική και αυτή, ε; :-)), και επειδή βρήκα στo CD του RAM +το KDE, έκανα ένα query στα rpm του και διάβασα ότι απαιτεί το REdHat 5.1, ή κατι παρόμοιο. Μπορώ να το εγκαταστήσω στο 5.0; Ή μήπως αυτή η παρατήρηση ισχύει σε +ορισμένες περιπτώσεις; + +*Λοιπόν έτσι είναι, το CD του RAM περιέχει τον KDE για το RH 5.1 μόνο, αλλά φυσικά υπάρχει και για το 5.0. Πήγαινε μια βολτίτσα από το και +κατέβασέ το αν θες (Μην ξεχάσεις να κατεβάσεις και τις Qt libs από το )\ +Πάντως, καλό θα είναι να αναβαθμίσεις το RH από 5.0 σε 5.1 (το 5.0 είναι πολύ bug-friendly :)))* + + +### [5. Ελληνικό Πληκτρολόγιο]{#s5} + +Από : [Κώστας Σαπαλίδης](mailto:kalaitso@compulink.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Εχω εγκαταστήσει RedHat Linux 5.1 και KDE τα Ελληνικά \"πακέτα\" XFGreekFNTS-1-1.noarch.rpm και XFGreekKBD-1.2-2.noarch.rpm και βλέπω κανονικά Ελληνικά. Δήλωσα +και το πληκτρολόγιο el\_US και τα λοιπά όπως λέει το readme του installation αλλά το πληκτρολόγιο παραμένει Αγγλικό όταν πατάω right+Alt. Προφανώς δεν το +αναγνωρίζει σαν δίγλωσσο. Τι μπορεί να φταίει και ποιά είναι τα αρχεία που πρέπει να ενημερώσω? + +*Την απάντηση θα βρεις στο Linux Zone, τεύχους 6 του περιοδικού. Γενικά, κάτι δεν πάει καλά με το el\_US.* + + +### [6. Ξανά πρόβλημα Debian]{#s6} + +Από : [Λέων Ίσαυρο](mailto:leoniv4@hotmail.com) + +Απάντηση : [Νίκος Κόκρας](mailto:kokni@eexi.gr) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@rocketmail.com) + +Αγαπητοί φίλοι Linux-άδες Επιτέλους έκανα download από την Debian και εγκατέστησα το Linux 2.0 στον αρχαίο υπολογιστή μου,, γράφτηκα μάλιστα με χαρά στην λίστα +των Ελλήνων χρηστών του περιοδικού σας. + +***NK:** Καλά έκανες* + +Δυστυχώς στην σχέση μου με το Linux τίποτα μέχρι τώρα δεν έχει λειτουργήσει απρόσκοπτα και καταφεύγω πάλι σε σας για να λύσετε το νέο μου πρόβλημα: Ενώ η +εγκατάσταση έγινε κανονικά και όλα τα αρχεία τοποθετήθηκαν στις θέσεις τους, δεν μπορώ να δώσω καμμιά εντολή Unix στο σύστημα. Αντί για το \# έχω \$ για prompt. +Τι μπορεί να έχει πάει στραβά; + +***NK:** Τίποτα. Υπάρχει η συνήθεια ο root να έχει prompt \# και οι χρήστες \$. Αυτό μόνο για να καταλαβαίνει κανείς ότι είναι root και να **προσέχει**. Κάνε +λοιπόν ένα user account (adduser login, μετά passwd login) και παίξε από εκεί.* + +Ίσως να μην εγκαταστάθηκαν κάποια πακέτα από το dselect γιατί έχω την αίσθηση ότι τα έκανα θάλασσα\...Αλλά όταν έκανα login στο root και ξεκίνησα το dselect δεν +μου ανάφερε τόσα πακέτα όσα αμέσως μετά την πρώτη επανεκκίνηση (αμέσως μετά την εγκατάσταση). Θα ήθελα να εγκαταστήσω το TeX το Netscape Navigator και τα +XWindows αλλά πλέον δεν μου τα δείχνει ως διαθέσιμα. + +***NK:** Το dselect είναι το ΜΕΓΑΛΟ πρόβλημα της Debian. Δεν ξέρω τι εγκατάσταση έκανες και πόσο πλήρης είναι αλλά οπωσδήποτε διάβασε το manual του dselect. Για +να δεις ως διαθέσιμο π.χ. το TeX, θα πρέπει το dselect να τα \"δει\" δηλαδή είτε να τα έχεις στον δίσκο σου (και να πεις στο dselect το directory όπου τα έχεις) +είτε να στοχεύσεις το dselect σε ένα official debian ftp site. Και στις 2 περιπτώσεις πρέπει να του πεις να πάρει την λίστα των active πακέτων που υπάρχουν +διαθέσιμα (υπάρχει επιλογή στο menu του dselect).* + +Κάτι άλλο που με παραξενεύει είναι ότι δεν βλέπω το αποτέλεσμα της εντολής μου στο prompt. Έτσι για παράδειγμα αν γράψω: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + $ cd /usr + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +τελικά θα δω: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + $ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +αντί για όπως περιμένω: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + dev/hda1/usr>$ (ή τελοσπάντων κάτι τέτοιο) + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +***NK:** Αυτό δεν είναι βέβαια το αποτέλεσμα της εντολής σου. Για να δεις το αποτέλεσμα της εντολής σου πρέπει για το παράδειγμα που έδωσες να δώσεις την εντολή +pwd. Αυτό που θέλεις είναι μια ιδιότητα του bash (customizable prompt). Ρυθμίζεται από την variable PS2 και οδηγίες θα βρεις στην man page του bash (man bash, +προς το τέλος). Συνοπτικά, θα πρέπει να βάλεις στο /etc/bashrc ή /etc/profile ή  /.bashrc μία εντολή του στυλ PS2=/x/c/s όπου x,c,s είναι switches που θα βρεις +στην manpage του bash.\ +**ΒΠ:** Για την ακρίβεια, για να δεις το path στο οποίο βρίσκεσαι ανά πάσα στιγμή, γράψε PS1=\[\\w\] (είναι κάτι αντίστοιχο με το PROMPT \$p\$g του dos). Το +PS2, είναι το prompt που βγάζει το bash όταν δεν έχεις κλείσει κάποια εισαγωγικά, δηλ. αν PS2=\[\<\] (όπως και είναι το default) και γράψεις\ +echo \"ale a yact \"ENTER\"\ +θα σου βγάλει από κάτω:\ +\<\ +για να συνεχίσεις. Θα σου το βγάζει μέχρι να κλείσεις τα εισαγωγικά. (το αποτέλεσμα της echo, θα περιέχει τα enter που πάτησες\...)* + +Δυστυχώς δεν έχω καμμιά σχέση μέχρι τώρα με Linux, Unix και παρεμφερή με αποτέλεσμα να μην μπορώ να καταλάβω τίποτα. Μάλλον δεν είναι και τόσο φιλικό όσο λένε +το Linux\... + +***NK:** Το ότι δεν έχεις καμία σχέση το καταλάβαμε :-) αλλά κανείς δεν είπε ότι είναι user-friendly το Linux (και αν το είπε κακώς έκανε). Το Linux είναι +sys-admin frendly.* + +Περιμένω την απάντησή σας με ανυπομονησία αφού είστε και η μόνη πηγή που μπορώ να απευθυνθώ. Δυστυχώς όποια άλλη πηγή του LDP και αν έψαξα δεν με κάλυψε. + +***NK:** Προφανώς δεν έψαξες καλά!!!\ +**ΒΠ:** Μάλλον καθόλου θα έλεγα αλλά καταλαβαίνς ότι ήσουνα πολύ χαμένος σε όλα αυτά, ε;;;* + +Σας χαιρετώ με απελπισία (και απογοήτευση) Υ.Γ: Αν καταφέρω να εγκαταστήσω το TeX -αλήθεια πώς γίνεται αυτό;- από που θα πείσω το σύστημα να γράψει ελληνικά; + +***NK:** Άστο αυτό για αργότερα. Ακόμα δεν έβαλες linux και θέλεις TeX ?* + + +### [7. Εύρεση του XISP]{#s7} + +Από : [Γιώργος Ρείζης](mailto:reizis@sit.forthnet.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Θα σε παρακαλούσα να μου πεις από που μπορώ να προμηθευτώ το x-isp ώστε να το χρησιμοποιήσω στη σύνδεσή μου με την Forthnet. Σ.Σ. Χρησιμοποιώ το Redhat 5.1. + +*Γιώργο, το X-ISP θα το βρείς στην σελίδα του Δημήτρη Μπούρα (που το έγραψε) στο: . Για RedHat 5.1 ίσως να βρεις pre-compiled στο +* + + +### [8. Ελληνικά στο DOSemu]{#s8} + +Από : [Παναής](mailto:alexakos@csd.uch.gr) + +Απάντηση : [Νίκος Κόκρας](mailto:kokni@eexi.gr) + +Παιδιά χαιρετώ και ελπίζω να είστε καλά. Έχω το εξής πρόβλημα στο RedHat Linux 5.1 : Έχω εγκαταστήσει αρκετά Ελληνικά fonts και γενικά στα X-Windows δεν έχω +πρόβλημα να \"δω\" και να γράψω Ελληνικά. Χρησιμοποιώ το grISOXKb-1.2. Το ερώτημά μου είναι: Τι γίνεται με τα ελληνικά στο DOSemu. Δηλαδή: Το DOS χρησιμοποιεί +Ελληνικά κωδικοσελίδας 737. Έχω γράψει κάποια προγράμματα για DOS τα οποία τα δουλεύω κανονικά στο DOSemu, αλλά χωρίς Ελληνικά. Το gr2gr.pl του Χαρίτση δεν +κάνει σωστή μετατροπή των Ελληνικών του DOS σε ELOT-928, αλλά και πάλι δεν θέλω να χρησιμοποιώ φίλτρα όταν μεταφέρω αρχεία κειμένου από DOS σε Linux και τ\' +ανάποδο. Με άλλα λόγια, υποθέτω ότι αν είχα στο Linux μία τουλάχιστον γραμματοσειρά σε codepage 737 δεν θα είχα πρόβλημα να ανοίξω ένα xterm -fn \"Η +γραμματοσειρά\" και εκεί να τρέξω το DOSemu και να \"βλέπω\" Ελληνικά. Πάω στο όπου λένε τα HOWTOs ότι βρίσκεις Ελληνικά σε +codepage 737, αλλά είναι μονίμως down. Anyway, υπάρχει κανείς που να έχει καμιά ιδέα για το πως θα λύσω το πρόβλημα των Ελληνικών σε DOSemu ? Σκεφτείτε πόσο +software (ΕΛΛΗΝΙΚΟ) έχει γραφτεί για DOS. Είναι κρίμα όλα αυτά να μην μπορεί να τα \"γευτεί\" ένας Linux user. + +*Όσον αφορά τα ελληνικά δεν μπορώ να σε βοηθήσω συγκεκριμένα αλλά: υπάρχει ένα πρόγραμμα (greek-console) που περιέχει ελληνικές γραμματοσειρές 737 αν δεν κάνω +λάθος (είχα δει κάποτε στο man page) και στο linux κωδικοποιεί θαυμάσια (για το dosemu δεν ξέρω). Αυτές σε συνδυασμό με το i8n του RedHat5.1 λογικά θα πρέπει να +αρκούν. Ο [Γιώργος Κεραμίδας](mailto:keramida@ceid.upatras.gr) είναι ο \"ένοχος\" για το ΠΑΡΑ - ΠΟΛΥ - ΚΑΛΟ greek-console. Δυστυχώς δεν έχω καμία εμπειρία από +DOS για να σε βοηθήσω πιο συγκεκριμένα.* + + +### [9. Ζητείται Linux]{#s9} + +Από : [Γιάννη Α.](mailto:fikip@hol.gr) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@rocketmail.com) + +Χαιρετισμοί. Είμαι χρήστης των Windows και θέλω να ασχοληθώ με το Linux. Το πρόβλημά μου είναι οτι δεν μπορώ να το βρω στο internet και να το \"κατεβάσω\". +Εκτός αυτού άκουσα πως υπάρχουν πολλές εκδόσεις Linux (?) απο διαφορετικές εταιρίες (πχ RedHat). Τελικά τί συμβαίνει; + +*Linux είναι ένα, πολλές distrinutions υπάρχουν. Η κάθε μία έχει καλά και κακά. Όλες όμως, είναι το ίδιο πάνω-κάτω* + +Γιατί υπάρχουν τόσες εκδόσεις του Linux? + +*(distributions) Γιατί όχι;;; Σοβαρά, επειδή η κάθε εταιρία το προσφέρει μαζεύοντας διάφορα προγράμματα κατά την κρίση της, γράφοντας τα σε ένα CD, και μετά το +πουλάει. Θεωρητικά, το κόστος της αγοράς σου είναι το CD, και η δουλειά που έκαναν οι άνθρωποι να τα μαζέψουν όλα αυτά και να σου τα προσφέρουν.* + +Τι έχει να προσφέρει η κάθε μια και ποιά είναι η καλύτερη? + +*Είναι καθαρά υποκειμενικό το θέμα, αλλά για να αρχίσεις σου συνιστώ redhat ή caldera* + +Και το πιό σημαντικό, που μπορώ να προμηθευτώ το Linux? + +*Διάβασες κανα FAQ, κάνα HOWTO? Κάνε μια περασάδα από τα: distributions: + * + + +### [10. Οtenet PPP]{#s10} + +Από : [Ανδρέα Μπινέλα](mailto:andrious@rocketmail.com) + +Απάντηση : [Νίκος Κόκρας](mailto:kokni@eexi.gr) + +Συγχαρητήρια για το περιοδικό για το linux και να συνεχίσετε πάντα έτσι. Είμαι ένας καινούργιος φίλος του linux και έχω κάποιο πρόβλημα δεν μπορώ να κάνω +σύνδεση με τον isp που για μένα είναι η otenet. Σας παρακαλώ πείτε τι να κάνω για να μπω στο δίκτυο με linux. + +*Πρέπει να ρυθμίσεις το ppp και τον δαίμονά του. Πάρε το [XISP](http://users.hol.gr/~dbouras) εάν δεν ξέρεις πως. Αλλιώς γίνε συγκεκριμένος.* + + +### [11. Kppp προβλήματα]{#s11} + +Από : [Κώστα Σακελλαρίδη](mailto:kos_sak@otenet.gr) + +Απάντηση : [Παναγιώτης Βρυώνης](mailto:vrypan@hol.gr) + +Για σας πάλι.Εχω κατι προβληματάκια με το Kppp. Πιο συγκεκριμένα μου βγάζει το μύνημα \"no dialtone\" το οποίο μου εβγαζε και στα 98 αλλα εκει το βρήκα. Ξέρετε +πως μπορώ να το φτιάξω? + +*Στο kppp :* + + Setup -> Modem -> Modem Commands -> Dial String = ATX3DT + +*Αυτό θα πρέπει να δουλέψει\...* + + +### [12. Matrox Mystique]{#s12} + +Από : [Infonorth Computer systems](mailto:xalatas@rodopi.cc.duth.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Έχω ένα πρόβλημα με τα X. Δεν μπορώ να εγκαταστήσω τα X να παίζουν 800x600 με πάνω από 16 χρώματα. Έχω μια κάρτα Matrox Mistique 220 με 2MB ram και από ότι +φαίνεται δεν την βλέπει για SVGA γιατί όταν βάζω SVGA με 2MB Ram από το XF86Setup γυρνάει στο 320x200 με 256! Τι να κάνω; Υπάρχει κάποιο patch για την κάρτα +μου; Ακόμα δεν παίζει με την Matrox Millenium που έχει μία επιλογή στο menu\.... + +*Για Matrox Mystique 220 δεν ξέρω, αλλά μπορείς ίσως να δοκιμάσεις τον Server της [Suse](http://www.suse.de) για Mystique 200. Αν δουλέψει, εμνημέρωσέ μας να +ξέρουμε.* + + +### [13. Applixware και Ελληνικά]{#s13} + +Από : [David Lekic](mailto:dlekic@ee.upatras.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:mkabrian@acropolis.gr) + +Γεια σας. Είμαι ένας παλιός χρήστης στο LINUX. Εδώ και καιρό πήρα το APPLIXWARE για την εργασία μου. Παράλληλα έβαλα και ελληνικές γραμματοσειρές (Type1) και +μετά από πολλές προσπάθειες κατόρθωσα να τις εγκαταστήσω στον FONT SERVER του APPLIXWARE. Το πρόβλημα είναι πως όταν πατώ το δεξιό ALT για να γράψω ελληνικά +εμφανίζονται κάποια άσχετα πράγματα στην οθόνη, δηλαδή αντί για α εμφανίζεται \[\]. Μήπως θα μπορούσατε να μου δώσετε μία λύση; + +*Δυστυχώς όχι. Έχει να κάνει με την υλοποίηση του πληκτρολογίου από την Applix. Αν και δεν αναφέρεις ποιο οδηγό πληκτρολογίου χρησιμοποιείς, υποθέτω ότι +χρησιμοποιείς αυτόν του Δημήτρη Μπούρα (grXisokbd). Θα σου πρότεινα να δοκιμάσεις και αυτόν του Γιάννη Τσακίρη που θα τον βρεις στο +.* + + +### [14. IP-Masquerading]{#s14} + +Από : [Φώτη Αλεξάκο](mailto:alexakos@csd.uch.gr) + +Απάντηση : [Νίκος Κόκρας](mailto:kokni@eexi.gr) + +Linuxάδες χαιρετώ (ξανά), Σας ξαναενοχλώ για ένα θέμα σχετικό με το IP-Masquerading. Κατ\' αρχήν να ρωτήσω για όσους έχουν το RedHat 5.1 : Έχει διαβάσει κανείς +το /usr/doc/HOWTO/mini/IP-Masquerade; Αν ναι, υπάρχει κανείς που να δοκίμασε να εφαρμόσει αυτά που γράφονται εκεί σε ένα σύστημα που αποτελείται από ένα Linux +box που \"βλέπει\" Internet μέσω PPP ενώ είναι συνδεδεμένο σε ένα LAN με Ethernet ? Γιατί εγώ δοκίμασα και απέτυχα οικτρά.\ +Περιγραφή της κατάστασης:\ +Έχω ένα Linux μηχάνημα και συνδρομή στην HOL. Το Linux \"βλέπει\" Internet μια χαρά. Στο Linux συνδέω μέσω κάρτας δικτύου NE-2000 δύο μηχανήματα που τρέχουν +Windows-95. Στο Linux έχω δώσει static IP address ακριβώς (και μάλιστα συμπτωματικά) αυτήν του παραδείγματος στο HOWTO που προανέφερα, δηλαδή 192.168.1.1, το +ένα Win-95 μηχάνημα έχει IP 192.168.1.2 και το άλλο 192.168.1.3 \.... Όλα καλά ως εδώ;\ +Το LAN δουλεύει μια χαρά, με το Linux βλέπω Internet. Εν συνεχεία, προσπαθώ να \"κάνω\" τα Win-95 μηχανάκια να βλέπουν το Internet που βλέπει το Linux. Δίνω: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ipfwadm -F -p deny + ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0 + και: ppp-on /* Μπαίνω στην HOL */ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +στα Win-95 PC στις ρυθμίσεις δικτύου έχω ορίσει στο TCP/IP gateway το: 192.168.1.1 και στο DNS το DNS της HOL: 194.30.193.155 (αυτός είναι και στο +/etc.resolv.conf του Linux).\ +Σύμφωνα με τα παραπάνω θα έπρεπε όταν δίνω π.χ. από ενα Win-95 \"client\": ping 194.30.212.30 (www.hol.gr) να παίρνω απάντηση. Το LAN το βλέπουν κανονικά οι +clients (ping 192.168.1.1 και ping 192.168.1.2 και ping 192.168.1.3 βρίσκουν απάντηση).\ +Ακολούθησα επαναλαμβάνω ΠΙΣΤΑ αυτά που γράφονται στο : /usr/doc/HOWTO/mini/IP-Masquerade του RedHat 5.1 + +Ξέρει κανείς τι μπορεί να φταίει; Το ξέρω έγραψα πολλά, αλλά αν δεν περιγράψεις σωστά το πρόβλημα, δεν θα πάρεις ολοκληρωμένες πληροφορίες. + +*Πολύ καλά έκανες και είπες πολλά γιατί περιέγραψες σωστά το πρόβλημά σου. Η λύση βρίσκεται σε κάτι πολύ απλό. Αποτελεί κανόνα όλα τα unixakia που έχουν πάνω +από 2 routes να ΜΗΝ κάνουν IPforwarding για να μην γίνεται της κακομοίρας. Πήγαινε λοιπόν στο /etc/sysconfig και εκεί θα βρεις ένα αρχείο που λέγεται network. +Πάνω πάνω λέει : \"IPv4 forwarding: no\"\ +Προφανώς το αλλάζεις σε \"yes\". Κάνεις restart το nework (/etc/rc.d/init.d/network stop καιμετά start) και είσαι ok. Το /etc/sysconfig νομίζω ότι είναι το +σωστό directory. Αν όχι θα είναι κάτι εξαιρετικά παρεμφερές στο /etc directory. Θα έπρεπε να αναφέρεται στο IPmasqHOWTO , μου κάνει εντύπωση που δεν το λέει. +Κάθε φορά που ξεκινάει ο kernel λέει πολύ χαρακτηριστικά : disabling IP forwarding. Ένα cat/tail στα boot messages λογικπα θα πρέπει να στο δείξει.* + + +### [15. PINE και ελληνικά]{#s15} + +Από : [Ανώνυμο](mailto:tcup@bigfoot.com) + +Απάντηση : [Νίκος Κόκρας](mailto:kokni@eexi.gr) + +Γεια σας, έχω ένα πρόβλημα. Πως θα ρυθμίσω το pine να παίρνει και να στέλνει mail? Δεν έχω βρει καμιά επιλογή για smtp server. Sorry για τα greeklish, αλλά +είπαμε είμαι από linux και δεν έχω ελληνικά (ένα greek-console.κάτι.rpm που βρήκα από κάποιον στο \#linux-gr, δεν δουλεύει) + +*Για το pine: Main menu : other commands : setup : config : smtp server\ +Το greek console είναι εξαιρετικό πακέτο και δουλεύει σε όλους (από όσο ξέρω). Νομίζω ότι έχει man page (man chcp) ή εν πάσει περιπτώσει δώσε +/usr/local/bin/chcp χωρίς arguments και θα σου δείξει ένα πολύ κατανοητό help.* + diff --git a/content/articles/10/01_editorial.md b/content/articles/10/01_editorial.md new file mode 100644 index 0000000..29b0f90 --- /dev/null +++ b/content/articles/10/01_editorial.md @@ -0,0 +1,42 @@ ++++ +title = 'Editorial' +date = '1998-12-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης' +issue = ['Magaz 10'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Φίλοι, σας χαιρετούμε και αυτό τον σημαντικό μήνα.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Σημαντικός για δύο λόγους: + +- Έρχονται Χριστούγεννα, το οποίο σημαίνει για τους φοιτητές καθηγητές τουλάχιστον 10 μέρες ξεκούραση, για τους εργαζόμενους 2 συνεχόμενα 3ήμερα (βλέπετε + φέτος τα Χριστούγεννα, και η Πρωτοχρονιά πέφτουν Παρασκευή). +- Στις 19 Δεκεμβρίου, γίνεται το **ΠΡΩΤΟ** Linux happening στην Ελλάδα, διοργανωμένο από το HELLUG. Περισσότερες πληροφορίες θα βρείτε στην αντίστοιχη + [διεύθυνση](http://www.hellug.gr/happening). Σας περιμένουμε όλους εκεί. + +Εκτός από αυτά, έχουμε και άλλα νέα. + +- Το Magaz έχει πλέον 2 επίσημα sites. Ένα στο [Linux.gr](http://www.linux.gr/magaz) και ένα στο [Hellug](http://magaz.hellug.gr). +- Η λίστα των Ελλήνων χρηστών Linux με περίπου 250 \"εγγεγραμμένα μέλη\" είναι πλέον μόνιμη στήλη. +- Επίσης, αυτό που από καιρό περιμέναμε, μία [φόρμα ερώτησης](http://magaz.hellug.gr/question.html) για πιο μεγάλη ευκολία για εμάς (και όχι εσάς :-) ). + +Σε αυτήν τη φόρμα, θέλουμε να γράφετε ελληνικά. Αν δεν τα καταφέρνετε με τα ελληνικά στο Netscape, μπορείτε να διαβάσετε το [πολύ καλό άρθρο](04_grredhat.html) +του Δημήτρη Τζέμου, για να λύσετε μια και καλή αυτό το πρόβλημα. + +Και μια που μπήκαμε στα άρθρα, έχουμε επίσης ένα άρθρο του Κώστα Κοτσόκαλη, για [την χρήση TrueType γραμματοσειρών στα X-Windows](05_TTFlinux.html). + +Μία παρουσίαση της πρώτης σοβαρής ελληνικής προσπάθειας για βάση δεδομένων [Altera SQL server](02_altera.html) και ένα άρθρο σχετικά με το +[Gnome](03_gnome.html) συμπληρώνουν τα \"εξωτερικά\" άρθρα αυτού του μήνα. + +Σχετικά με την αλληλογραφία μας, που σας δημιούργησε προφανώς πρόβλημα αυτό το μήνα, ζητάμε συγνώμμη, αλλά κάποιες αναβαθμίσεις στον server (σε συνδυασμό με την +έλλειψη χρόνου) κράτησαν το magaz κλειστό για λίγο διάστημα. Με την νέα μορφή, (φόρμα ερώτησης) αυτό το πρόβλημα λύνεται. Επίσης, από αυτό το μήνα, το magaz +έχει δύο e-mails. Το και το . + +Να σας υπενθυμίσω, ότι όπως πάντα, το magaz φιλοξενεί άρθρα, από όλους τους φίλους συνlinuxάδες. + +Καλή ανάγνωση, και καλά Χριστούγεννα. diff --git a/content/articles/10/02_altera.md b/content/articles/10/02_altera.md new file mode 100644 index 0000000..7d61e8c --- /dev/null +++ b/content/articles/10/02_altera.md @@ -0,0 +1,66 @@ ++++ +title = 'Altera SQL server' +date = '1998-12-01T00:00:00Z' +description = '' +author = 'Altera Development Team' +issue = ['Magaz 10'] +issue_weight = 2 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Δεν βρίσκει κανείς συχνά ελληνικό λογισμικό που να εξάγεται στο εξωτερικό.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Ακόμη σπανιότερο είναι να βρει κανένας λογισμικό που να έχει αναπτυχθεί απο ελληνική εταιρία και μάλιστα σε τομέα που απαιτεί ιδιαίτερα υψηλή τεχνολογία, όπως +αυτός των σχεσιακών βάσεων δεδομένων. Το γεγονός αποκτά ιδιαίτερο ενδιαφέρον, αν λάβει κανείς υπόψη του οτι οι εταιρίες που δραστηριοποιούνται σε αυτό τον +τομέα, σε παγκόσμιο επίπεδο, είναι μετρημένες στα δάχτυλα, και μάλιστα σε αυτές συγκαταλέγονται μάλλον γνωστά ονόματα όπως η Microsoft και η Oracle. Είναι +λοιπόν ιδιαίτερα εντυπωσιακό όταν κανείς ανακαλύπτει ότι το ελληνικής προέλευσης προϊόν, Altera SQL Server version 2.0 , ανταγωνίζεται επι ίσοις όροις τους +πλέον αναγνωρισμένους οίκους ανάπτυξης λογισμικού. + +Ο Altera SQL Server, με την έκδοση 1.0, παρουσιάστηκε στην αγορά την άνοιξη του 1998 στην CEBIT. Η έκδοση 1.0 απευθυνόταν κατά κύριο λόγο σε ISPs και σε +προγραμματιστές που ήθελαν να αναπτύξουν απλές εφαρμογές. Ουσιαστικά η πρώτη αυτή έκδοση κάλυπτε το χώρο των χρηστών που ήθελαν επικοινωνία μιας βάσης δεδομένων +στο web. + +Η version 2.0 του Αltera SQL Server ενώ εξακολουθεί να έχει όλα τα χαρακτηριστικά της πρώτης έκδοσης, είναι στην πραγματικότητα ένα προϊόν πρωτοποριακό που +φιλοδοξεί να καλύψει τις ανάγκες όλων των κατηγοριών χρηστών, ιδιαίτερα αυτών που έχουν ιδιαίτερα υψηλές απαιτήσεις όπως οίκοι λογισμικού και εταιρίες που +διαχειρίζονται μεγάλο αριθμό βάσεων και χρηστών, απο διαφορετικές γεωγραφικές περιοχές. + +Μερικά από τα μοναδικά χαρακτηριστικά που έχει η version 2.0 του Altera SQL Server και τα οποία καθιστούν το προϊόν πραγματικά επαναστατικό είναι : + +1. Ο Altera SQL Server έχει διττή λειτουργία. Αφ\' ενός λειτουργεί σαν μία σχεσιακή βάση δεδομένων transactional και multithreaded, και αφ\' ετέρου σαν ένας + προγραμματιζόμενος web server. +2. Εκτός από όλα τα γνωστά interfaces, όπως ODBC, JDBC κ.λ.π., η βάση επικοινωνεί με τους clients μέσω HTTP πρωτοκόλλου χρησιμοποιόντας σαν interface + οποιονδήποτε από τους Internet browsers (Navigator, Internet Explorer). Συνέπεια του παραπάνω είναι, όλες οι λειτουργίες - όπως η διαχείριση της βάσης ή + ακόμη το SQL τερματικό - να εκτελούνται μέσω του Web browser. Το πλεονέκτημα αυτού του χαρακτηριστικού είναι ότι ο χρήστης αλλά και ο διαχειριστής του + συστήματος, χρησιμοποιύν ένα γνωστό interface με το οποίο είναι εξοικιωμένοι, ενώ το προϊόν ενσωματώνει και επωφελείται από την συνεχώς εξελισσόμενη + τεχνολογία των Internet browsers. +3. Ο Altera SQL Server διαθέτει ένα σύνολο built-in λειτουργιών που του επιτρέπει να διαχειρίζεται MIME-typed BLOBS, και να τις αποδίδει απευθείας στον Web + browser σαν εικόνες, videos, ήχους κ.λ.π., χωρίς την ανάγκη ειδικού προγραμματιστικού κώδικα. +4. Ο Altera SQL Server υποστηρίζει εγγενώς το Unicode. Ετσι ο χρήστης δεν αντιμετωπίζει πρόβλημα ταξινόμισης στα Ελληνικά όπως σε άλλες γνωστές βάσεις + δεδομένων. Πρόσθετα σε αυτά τα Unicode strings μπορούν να ασκηθούν όλες οι λειτουργίες που κάποιος μπορεί να εφαρμόσει και στα ASCII strings. +5. Επί του παρόντος, όλες οι μηχανές βάσεων δεδομένων (database engines), εκτελούν stored procedures χρησιμοποιόντας ιδιόκτητες proprietary προγραμματιστικές + γλώσσες - για παράδειγμα η Oracle την PL-SQL και η Microsoft την SQL-Transact Αντίθετα, ο Altera SQL Server εκτελεί store procedures σε C, C++, Java, Perl, + και Scheme (διάλεκτο της Lisp). Το πλεονέκτημα είναι φανερό αφού ο προγραμματιστής δεν χρειάζεται να μάθει κάποια νέα ιδιόκτητη γλώσσα. Πρόσθετα ο Altera + SQL Server δίνεται με AGI (Altera Gateway Interface) που επιτρέπει στον προγραμματιστή να γράψει store procedures σε οποιαδήποτε γλώσσα προγραμματισμού + θέλει χρησιμοποιώντας τον δικό του compiler. +6. Ο Αltera SQL Server είναι ιδιαίτερα φιλικός στη χρήση. Αυτό τονίζεται ακόμη περισσότερο σε ότι αφορά στους διαχειριστές συστημάτων και στους προγραμματιστές + που το χρησιμοποιύν. Για παράδειγμα ο διαχειριστής του συστήματος μπορεί με τον Altera SQL Server να ελέγχει όλες τις εργασίες και δραστηριότητες στον SQL + αλλά και στον HTTP server και βλέποντας τους πόρους που χρησιμοποιούνται να έχει την δυνατότητα να βελτιστοποιεί την απόδοση του συστήματος εύκολα και + γρήγορα. +7. Ο HTTP server του Altera SQL Server : + - υποστηρίζει server -side scripts, + - συντηρεί μόνιμες συνδέσεις (persistent connections) διατηρώντας την καταστασή τους, + - μπορεί να εκτελεί SQL και Scheme αρχεία καθώς επίσης και CGI. +8. Ο Altera SQL Server χρειάζεται λίγους πόρους : + - περίπου 2 ΜΒ ελεύθερου χώρου στο δίσκο και 100 ΚΒ για κάθε χρήστη της βάσης, + - 2 ΜΒ RAM και 150 ΚΒ για κάθε σύνδεση. + +Φυσικά εκτός από τα παραπάνω χαρακτηριστικά που ξεχωρίζουν τον Altera SQL Server 2.0 από τον ανταγωνισμό, θα πρέπει να αναφερθεί και η σημαντικά οικονομική τιμή +διάθεσής του. Το κόστος της άδειας χρήσης για πέντε χρήστες ανέρχεται στα 275 δολλάρια (περίπου 78.000 δρχ.). + +O Altera SQL Server έχει υλοποιηθεί σε αρκετά περιβάλλοντα όπως : Windows 95/98, Windows NT (Intel & Alpha chip), Solaris 2.x (Intel & SPARC ), IRIX (Silicon +Graphics), UNIX DEC (Alpha chip), UnixWare, SCO Unix, FreeBSD, Linux (Intel & Alpha). + +Για περισσότερες πληροφορίες σχετικά με τον Altera SQL Server version 2.0 μπρείτε να επισκεφθείτε το [web site της εταιρίας](http://www.altera.gr) απ\' όπου +μπορείτε να πάρετε δωρεάν το προϊόν για δοκιμαστική περίοδο δύο μηνών. diff --git a/content/articles/10/03_gnome.md b/content/articles/10/03_gnome.md new file mode 100644 index 0000000..7342137 --- /dev/null +++ b/content/articles/10/03_gnome.md @@ -0,0 +1,107 @@ ++++ +title = 'Γνωριμία με το GNOME' +date = '1998-12-01T00:00:00Z' +description = '' +author = 'Βαγγέλης Παπαδογιαννάκης' +issue = ['Magaz 10'] +issue_weight = 3 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Όσο περνάει ο καιρός, το Linux κερδίζει μεγαλύτερο κομμάτι της πίτας των λειτουργικών συστημάτων. Η εποχή μάλιστα που διανύουμε, μπορεί να χαρακτηριστεί ως \"Η +χρυσή εποχή του Linux\". Όλοι μιλάνε και όλοι γράφουν για αυτό. Μεγάλες εταιρίες όπως οι ORACLE, IBM, NETSCAPE, COREL τείνουν να αγκαλιάσουν το Linux, γιατί (αν +μη τι άλλο) βλέπουν μια νέα αγορά. Αλλά παρόλα αυτά, μια ομάδα από 30 άτομα, δουλεύουν για μας, ώστε να έχουμε ένα γραφικό περιβάλλων εργασίας (Graphical User +Interface, GUI)* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +ΚΑΙ ΕΓΕΝΗΘΗΤΟ GNOME (GNU Network Object Model Interafce) + +Ο σκοπός δεν είναι άλλος από τη δημιουργία ενός GUI που θα είναι εύχρηστο, σταθερό, και αρκετά όμορφο. Και, ευτυχώς για εμάς, η στιγμή αυτή πλησιάζει. Και αν +αυτός είναι ο σκοπός, η ελπίδα είναι να δημιουργηθεί ένα διαπλατφορμικό GUI, τόσο για το Linux, αλλά και για τις άλλες μορφές του Unix, το οποίο θα προσφέρει +στους δημιουργούς προγραμμάτων ένα \`\`έξυπνο\'\' μέσο εργασίας, όμορφο και εύκολο στη χρήση και την κατανόηση του από τους απλούς χρήστες. + +Παρόλο που ένα τέτοιο διαπλατφορμικό GUI (αν και GUI δεν είναι η σωστή λέξη, Interface θα ήταν η σωστότερη) έχει δημιουργηθεί στο παρελθόν (OSF MOTIF) και δεν +είχε τελικά την επιτυχία που όλοι θα θέλαμε, ίσως γιατί οι ανάγκες και η εξάπλωση νέων τεχνολογιών ήταν σφοδρή, είτε γιατί η εγκατεστημένη βάση Linux ήταν πολύ +μικρή, το GNOME θέλει να τα καταφέρει, και σε πολλά σημεία αντιγράφει (στο look, όχι στα crashes) τα ακατονόμαστα. Το αποτέλεσμα είναι ένα περιβάλλον εργασίας +που δεν έχει τίποτα να ζηλέψει από τα ακατονόμαστα, και φυσικά παρέχει όλη την ελευθερία και τη σταθερότητα του Linux σε συνδυασμό με τον ελεύθερο κώδικα. Σε +κάτι βασικό, όμως, διαφέρει από τα γουίντοους, και αυτό είναι το CORBA (Common Object Request Broken Architecture) για το οποίο θα μιλήσουμε αργότερα. Για να +πάρετε μονάχα μια ιδέα, σας πληροφορώ ότι κάτι τέτοιο θα επιτρέπει την αστραπιαία δημιουργία προγραμμάτων, καθώς θα χρησιμοποιεί τις ικανότητες ενός +προγράμματος για να δημιουργήσει ένα άλλο πρόγραμμα, υπερσύνολο σε δυνατότητες του πρώτου. + +Όπως είπαμε, μια ομάδα από 30 άτομα δουλεύει στον πυρήνα του νέου GUI, ο οποίος είναι αρκετά διαδεδομένος αυτή τη στιγμή που σας γράφω όλα αυτά, και υπάρχουν +τουλάχιστον 2000 άτομα που δοκιμάζουν καθημερινά το GNOME και το κατά πόσο είναι σε θέση να προσφέρει όσα υπόσχεται. Είναι -όπως θα περιμένατε - βασισμένο σε +ελεύθερο κώδικα, αλλά όχι υπό τη μορφή των βιβλιοθηκών της TROLL, (QT libraries) όπου δεν μπορείς να δημιουργήσεις ένα πρόγραμμα που προορίζεται για το εμπόριο. +Βασίζεται αποκλειστικά στο GIMP Toolkit (Τις βιβλιοθήκες που χρησιμοποιεί το GIMP) για τη δημιουργία εφαρμογών για τα Χ Windows. + +Μεγάλοι Distributors του Linux (Red Hat, Debian) έχουν ανακοινώσει ότι στις μελλοντικές τους distributions θα συμπεριλάβουν το GNOME σαν το βασικό τους +περιβάλλον εργασίας. Και όχι μόνο αυτό, αλλά μέσα στη Red Hat έχει δημιουργηθεί μια ομάδα εργασίας, η RHAD Labs, ένα μέρος της οποίας έχει επικεντρώσει την +προσοχή της (και μιλάμε τώρα ότι δουλεύουν full time, όχι στον ελεύθερό τους χρόνο) στην ανάπτυξη του GNOME και άλλων μορφών ελεύθερου λογισμικού, όπως του GTK+ +(είπαμε, το Gimp Toolkit). + +Πολλά είπα, και μάλλον δεν ανάφερα το βασικότερο! Το Gnome, σε καμία περίπτωση δεν είναι ένας Window Manager. Είναι ένα περιβάλλον εργασίας (νομίζετε ότι είναι +πολύ λεπτή η διαχωριστική γραμμή; Μέγα λάθος!). Window Manager είναι ένα πρόγραμμα που κάθεται πάνω στα X και προσφέρει στο χρήστη τον τρόπο που θα εικονίζονται +τα desktops, τα παράθυρα, πως θα είναι ο δείκτης του ποντικιού, κοκ. Περιβάλλον εργασίας είναι ο τρόπος που φαίνονται τα κουμπιά, τα βελάκια στις ράβδους +κύλισης, τα μενού, οι μπάρες, και όλα τα χαρακτηριστικά που απαρτίζουν τα όμορφα παραθυράκια. Και δεν είναι μόνο αυτό, είναι και ο τρόπος που θα αντιδράσει το +κουμπί αν απλά περάσετε το ποντίκι από πάνω του, αν σύρετε και αφήσετε πάνω του ένα αντικείμενο και γενικότερα χίλια δυο πράγματα αδιαφανή για το χρήστη. +Πράγματα χωρίς τα οποία δεν θα γινόντουσαν τα πιο απλά πράγματα. + +Το GNOME λοιπόν, μπορεί να τρέξει πάνω από οποιονδήποτε WM, αλλά καλά θα ήταν ο WM αυτός να ξέρει για το GNOME. Με αυτό τον τρόπο θα μπορεί να επικοινωνήσει με +το GNOME και το αποτέλεσμα της συνεργασίας τους να είναι το καλύτερο για το χρήστη. + +Βιβλιοθήκες στις οποίες είναι βασισμένο το GNOME + +- GTK: Είπαμε τι είναι αυτό, αλλά μην νομίζετε ότι το επιλέχθηκε στην τύχη. Πολλά από τα χαρακτηριστικά του είναι ιδανικά για το σκοπό που επιλέχτηκε, και + ορίστε μερικά: + - Υποστήριξη για πολλές γλώσσες προγραμματισμού (C, C++, OBJ C, PERL) + - Εύκολη αλλαγή του τρόπου απεικόνισης, με λίγα λόγια μπορούμε να χρησιμοποιήσουμε διάφορα themes για να αλλάξουμε το look and feel όλων των εφαρμογών που + χρησιμοποιούν το GTK. + - Είναι εντελώς ελεύθερο λογισμικό. +- IMLIB: Είναι μία βιβλιοθήκη για διάφορα είδη εικόνων, όπως xpm, png, jpg, και πολλά άλλα, που καταργεί την ανάγκη ύπαρξης διαφορετικής βιβλιοθήκης για κάθε + διαφορετική μορφή εικόνας. +- Mesa: Είναι μια βιβλιοθήκη που επιτρέπει την εμφάνιση και δημιουργία τρισδιάστατων γραφικών στη γλώσσα OpenGL. Είναι και αυτή ελεύθερη όσον αφορά στον + κώδικα και τη χρήση αυτού. + +Θα πρέπει να αναφέρω και μερικά από τα \`\`άγνωστα\'\' χαρακτηριστικά του GNOME που χρήζουν αναφοράς: + +- Όλες οι εφαρμογές που βασίζονται στο GNOME είναι ικανές να φυλάξουν την κατάσταση πριν από το κλείσιμο (δεν νομίζω να το μετάφερα καλά στην Ελληνική, αλλά + δεν μπορούσα να βρω καλύτερη έκφραση. Η ξένη ορολογία είναι \`\`session aware\'\'). Κάτι τέτοιο σημαίνει ότι αν κλείσετε τον επεξεργαστή κειμένου σας ενώ + γράφετε ένα κείμενο, και μετά τον ανοίξετε ξανά, θα φορτωθεί το ίδιο κείμενο, και όχι μόνο αυτό, αλλά θα εμφανιστούν οι ίδιες toolbars που είχατε ανοιχτές, + και μάλιστα ο δρομέας θα πάει στο ίδιο σημείο που ήταν πριν από το κλείσιμο. Καλό;; +- Τα κείμενα το GNOME βασίζονται στην SGML, κάτι το οποίο επιτρέπει να γραφούν κείμενα σε ένα editor και να μετατραπούν σε HTML, LaTeX, Postscript κατά + βούληση και να εκτυπωθούν. +- Το GNOME υποστηρίζει 3D προγραμματισμό μέσω της OpenGL, κάτι που μας επιτρέπει να χρησιμοποιούμε τρισδιάστατα γραφικά μέσα στις εφαρμογές μας. Η βιβλιοθήκη + που χρησιμοποιεί το GNΟME είναι η Mesa, μια υλοποίηση της OpenGL με ελεύθερο κώδικα. +- Οι επικεφαλείς της δημιουργίας του GNOME, δουλεύουν για να δημιουργήσουν ένα μοντέλο αντικειμένων, το baboon, το οποίο δεν είναι τίποτα άλλο από μια + διασύνδεση ανάμεσα στις εφαρμογές (κάτι ανάλογο με το Object Linking and Embedding (OLE) της Μ\$. + +Αλλά ας δούμε επιτέλους τι είναι αυτό το CORBA που λέμε από την αρχή του κειμένου. CORBA είναι ένα interface για τη διασύνδεση προγραμμάτων. Θα μου πείτε: +\`\`Αυτό είναι όλο και όλο; Σιγά τα ωά!!\'\'. Ακούστε όμως και τη συνέχεια. CORBA, λοιπόν, είναι ένα interface για τη διασύνδεση προγραμμάτων που είναι γραμμένα +σε διαφορετικές γλώσσες, που τρέχουν σε διαφορετικούς υπολογιστές, οι οποίοι δουλεύουν σε διαφορετικά λειτουργικά και οι οποίοι είναι συνδεμένοι μεταξύ τους με +ένα οποιοδήποτε τρόπο. Πως σας φάνηκε; Καλό; + +Και λοιπόν καλά όλα αυτά, αλλά που βρίσκονται; Η κεντρική σελίδα του GNOME βρίσκεται στη διεύθυνση + +, + +από όπου μπορείτε να βρείτε βοήθεια, να κατεβάσετε το GNOME, και να δείτε τα προγραμματάκια που έχουν βασιστεί σε αυτό. Υπάρχει το software map για το GNOME και +βρίσκεται εδώ: + +. + +Α, και μην ξεχάσετε να διαβάσετε το GNOME MANIFESTO στη διεύθυνση: + + + +Ένα φοβερό screenshot μπορείτε να δείτε εδώ: + + + +Φυσικά, μην ξεχάσετε να περάσετε από το + + + +από όπου θα βρείτε την τελευταία έκδοση του GTK, πληροφορίες για αυτό, και χρήσιμα links. Όταν δείτε πόσα πολλά προγράμματα έχουν γραφτεί για το GTK θα +εκπλαγείτε!! + + diff --git a/content/articles/10/04_grredhat.md b/content/articles/10/04_grredhat.md new file mode 100644 index 0000000..864addc --- /dev/null +++ b/content/articles/10/04_grredhat.md @@ -0,0 +1,112 @@ ++++ +title = 'Ελληνικά στο RedHat 5.0' +date = '1998-12-01T00:00:00Z' +description = '' +author = 'Τζέμος Δημήτρης' +issue = ['Magaz 10'] +issue_weight = 4 ++++ +Αγαπητοί φίλοι γειά σας. Μετά απο πολλές περιπέτειες με τα ελληνικά στο RedHat 5.0 , διάβασμα των σχετικών Howto βρήκα πως βάζουμε ελληνικά ΠΑΝΤΟΥ στο RedHat +5.0 (Xwindows και console) Τα Howto έχουν μερικά λάθη με βασικότερο το locale lang=gr\_GR. + +Πρέπει να γίνουν οι παρακάτω ενέργειες: (Πρέπει να είμαστε root) + +1. απο τη γραμμή εντολών ή σε Xterm γράφουμε locale. Πρέπει να πάρουμε τα εξής: + + LANG=POSIX + LC_CTYPE="POSIX" + LC_NUMERIC="POSIX" + LC_TIME="POSIX" + LC_COLLATE="POSIX" + LC_MONETARY="POSIX" + LC_MESSAGES="POSIX" + LC_ALL= + + Πρέπει δηλαδή να ΜΗΝ έχουμε βάλει πουθενά lang=gr\_GR + + - Για Xwindows\ + Κατεβάζουμε τα αρχεία XFGreekFNTS-1-1.noarch.rpm και greekXfonts-BDF-1\_1.tgz που περιέχουν ελληνικές γραμματοσειρές καθώς και το GRkbd-1.2.linux.tar.gz + για αλλαγή πληκτρολογίου (ΟΧΙ το XFGreekKBD-1.2-2.noarch.rpm) Τα εγκαθιστούμε και στο /etc/X11/XF86Config πρέπει να προσθέσουμε το FontPath για τις + ελληνικές γραμματοσειρές του greekXfonts-BDF-1\_1.tgz Οι του XFGreekFNTS-1-1.noarch.rpm προστίθενται αυτόματα. Αντιγράφουμε το grkbd στο /usr/bin για να + είναι στο path ή δηλώνουμε το path που βρίσκεται το grkbd + - Για console κατεβάζουμε το greek-console.rpm και το εγκαθιστούμε. + +2. Δημιουργούμε το αρχείο /root/.inputrc με περιεχόμενα + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + set meta-flag on + set convert-meta off + set output-meta on + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Σημείωση: Για κάθε χρήστη του συστήματος δημιουργούμε και το αντίστοιχο  /.inputrc Π.Χ. για χρήστη nikos στο /home/nikos/ + +3. Στο /root/.Xdefaults διορθώνουμε τη γραμμή xterm\*font: fixed και xterm\_color\*font: fixed με xterm\*font: grfixed και xterm\_color\*font: grfixed + αντίστοιχα. Φυσικά μπορούμε να βάλουμε και άλλη εκτός απο την grfixed + +4. Στο /etc/bashrc δημιουργούμε τα alias προσθέτοντας τις παρακάτω γραμμές: + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + alias xterm="xterm -fn grfixed" + alias rxvt="rxvt -fn grfixed" + alias joe="joe -asis" + alias ls="ls -N --color=yes" + alias less="less -r" + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +5. Για console δημιουργούμε ενα link στο chcp ως εξής: ln -s /usr/local/bin/chcp /chcp οπότε αρκει να δώσουμε /chcp win και με alt-shift εχουμε ελληνικά στη + γραμμή εντολών. Σημείωση: Στο /usr/lib/kbd/consolefonts/ υπάρχουν οι γραμματοσειρές οπότε μπορούμε να χρησιμοποιήσουμε την εντολή setfont + /usr/lib/kbd/consolefonts/γραμματοσειρά για να ορίσουμε ποιά θέλουμε. + +6. Για το Netscape + - Για να βλέπουμε όλες τις ελληνικές σελίδες στο Internet Σαν root γράφουμε + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + cd /usr/X11R6/lib/X11/fonts/greek-PCF + mkfontdir + awk '{printf "%s %s\n", $2, $2}' fonts.dir |sed -e \ + 's/iso8859-7/iso8859-1/' >>fonts.alias + awk '{printf "%s %s\n", $2, $2}' fonts.dir |sed -e \ + 's/iso8859-7/windows-1253/' >>fonts.alias + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + τα ίδια για το cd /usr/X11R6/lib/X11/fonts/greek-Type1 και τα ίδια για το /homes/ah/src/grfonts/INST/misc και το\ + /homes/ah/src/grfonts/INST/75dpi ή\ + /homes/ah/src/grfonts/INST/100dpi\ + αν έχουμε εγκαταστήσει τα greekXfonts-BDF-1\_1.tgz στο /homes/ah/src/grfonts/INST/ διαφορετικά γράφουμε cd κατάλογος που εγκαταστήσαμε τα ελληνικά + + - Για να εχουμε ελληνικά στη γραμμή που δίνουμε τις διευθύνσεις και παντού στο email. Aντιγράφουμε το αρχείο Netscape.ad απο το κατάλογο + /usr/doc/netscape-communicator-4.04-3/ στο /usr/X11R6/lib/X11/app-defaults/ και το μετονομάζουμε σε Netscape. Το ανοίγουμε με τον joe ή με άλλον + επεξεργαστή και στη γραμμή 5167 ,5168, 5169 όπου λέει adobe βάζουμε \* δηλ πρέπει να είναι + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + *XmTextField.fontList: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-* + *XmText.fontList: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-* + *XmList*fontList: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-* + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Επίσης στη γραμμή 5200,5201,5202 αντικαθιστούμε το -\*-helvetica με -greek-helvetica και το 100 με 120 δηλαδή πρέπει να είναι + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + *XmLGrid*fontList:\ + -greek-helvetica-medium-r-*-*-*-120-*-*-*-*-iso8859-*,\ + -greek-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*=BOLD,\ + -greek-helvetica-medium-o-*-*-*-120-*-*-*-*-iso8859-*=ITALIC + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ΤΕΛΕΙΩΣΑΜΕ + + Ξεκινάμε τον Netscape και απο το view -\>encoding επιλέγουμε το Greek (ISO-8859-7) και πάλι απο το ίδιο μενού το \"Set Default Encoding \" και στο + Εdit-\>Preferences-\>Appearance-\>fonts το \"Greek(iso-8859-7)\" και ορίζουμε ποιές γραμματοσειρές θέλουμε. Tο ίδιο κάνουμε για το \"Western(iso-8859-1)\". + +Σημείωση : Αν κάποιος θέλει να έχει ελληνικά και στο tkirc irc και στο circus irc μπορείτε να μου το πείτε για να στείλω κάποιο σχετικό email. diff --git a/content/articles/10/05_TTFlinux.md b/content/articles/10/05_TTFlinux.md new file mode 100644 index 0000000..ce65262 --- /dev/null +++ b/content/articles/10/05_TTFlinux.md @@ -0,0 +1,92 @@ ++++ +title = 'True Type Fonts σε Linux: Γιατί και πως.' +date = '1998-12-01T00:00:00Z' +description = '' +author = 'Κωνσταντίνος Κοτσόκαλης' +issue = ['Magaz 10'] +issue_weight = 5 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Ένα από τα σημαντικότερα προβλήματα των χρηστών Linux έχει να κάνει με τα fonts (γραμματοσειρές) των X-Windows όσον αφορά τόσο στο localization (την δυνατότητα +δηλαδή να διαβάζουμε/γράφουμε σε πολλές διαφορετικές γλώσσες, όσο και την εμφάνιση των γραμματοσειρών στην οθόνη μας αλλά και τις εκτυπώσεις μας συχνά. Στο +κείμενο αυτό θα προσπαθήσουμε να δώσουμε κάποιες σχετικά εύκολες λύσεις στο πρόβλημα αυτό, προτείνοντας ένα τρόπο να χρησιμοποιούνται True Type fonts (τα fonts +που χρησιμοποιούν και τα MS Windows). Το ζήτημα των γραμματοσειρών, του localization, του font rendering κλπ είναι ιδιαίτερα μεγάλο και δυσεπίλυτο και εγώ δεν +έχω σημαντική γνώση επάνω σε αυτό. Ενδεχομένως στο κείμενο που ακολουθεί να υπάρχουν λάθη - ελπίζω όχι χονδροειδή -, εάν βρείτε τέτοια θα παρακαλούσα να με +ενημερώσετε με mail στη διεύθυνση .* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Υπάρχουν δύο είδη γραμματοσειρών, τα scalable και τα bitmap fonts. Τα scalable μπορούν να αλλάζουν μεγέθη ανάλογα με τις απαιτήσεις της εκάστοτε εφαρμογής χωρίς +να χάνουν την ποιότητά τους, ενώ δεν έχουν τυποποιημένα μεγέθη. Αντίθετα, τα bitmap fonts υπάρχουν σε συγκεκριμένα μεγέθη (π.χ. 8,10,12,14,16,18,20,24 κλπ +points). Εάν λοιπόν εσείς επιθυμείτε να χρησιμοποήσετε ένα bitmap font με μέγεθος για παράδειγμα 40 ενώ το μέγεθος αυτό δεν ορίζεται στη συγκεκριμένη +γραμματοσειρά, τότε το αποτέλεσμα θα είναι πολύ άσχημο. Αυτό που θα συμβεί είναι η απλή μεγέθυνση ή σμίκρυνση του αμέσως μικρότερου ή αμέσως μεγαλύτερου font +στο επιθυμητό μέγεθος και αυτό που θα δείτε στην οθόνη σας θα είναι γεμάτο \`\`σκαλάκια\'\' και καθόλου ευχάριστο οπτικά. + +Ο κόσμος του Unix γενικότερα αντιμετωπίζει αυτό το πρόβλημα. Οι γραμματοσειρές Type1 ήλθαν να το λύσουν όντας scalable fonts. Παρόλα αυτά, η ποιότητά τους δεν +είναι τόσο καλή όσο των True Type fonts τα οποία είναι επίσης scalable. Αν λοιπόν θέλετε να έχετε την καλύτερη δυνατή ποιότητα για τα fonts των εφαρμογών που +τρέχετε, ακολουθήστε τις παρακάτω συμβουλές. Πριν ξεκινήσουμε να τονίσω πως σε γενικές γραμμές τόσο οι Type1 όσο και οι TT γραμματοσειρές είναι εμπορικές - ενώ +bitmap μπορείτε να βρείτε και free. Εάν έχετε αγοράσει τα MS Windows, μπορείτε να χρησιμοποιήσετε τα fonts που έρχονται μαζί με αυτά (Κατάλογος: +\\windows\\fonts ή \\winnt\\fonts). Διαφορετικά μπορείτε να αγοράσετε TTF sets από οποιοδήποτε μαγαζί με software. + +Αυτό που πρέπει αναγκαία να έχουμε, είναι ένα truetype engine. Ένα τέτοιο που κάνει πολύ καλά τη δουλειά του και είναι freeware, είναι το freetype. +Προμηθευτείτε το από το και κάντε compile σύμφωνα με τις οδηγίες που έχει μέσα\... Είναι το κλασσικό ./configure; make; make install. +Αφού γίνει αυτό το βήμα, πρέπει να εγκαταστήσετε έναν X11 Truetype font server. Ένας τέτοιος που είναι freeware και δουλεύει τέλεια στο Redhat 5.1 σύστημά μου +είναι ο xfsft που βασίζεται στην freetype. Υπάρχει και ο xfstt που είναι ανεξάρτητος της freetype engine, αλλά δεν τον έχω δοκιμάσει ακόμα. Ο xfsft είναι αυτή +τη στιγμή σε beta version αλλά αυτό δεν πρέπει να σας προβληματίζει. Μπορείτε να τον κατεβάσετε από τη διευθυνση + - βρείτε την πιο πρόσφατη έκδοση, παρτε την και κάντε compiling. Υπάρχει και ένα precompiled binary gia +redhat 5.x (ουσιαστικα για glibc 2). Μέσα στα sources υπάρχουν και χρήσιμα readme files οπότε καλό είναι να τα έχετε κάπου και αυτά. Ένα τελευταίο που θα +χρειαστείτε είναι το ttmkfdir ή το ttinst από το . Αφού έχετε πάρει όλα τα παραπάνω ακολουθείτε τα εξής +βήματα: + +- Εγκατάσταση της freetype +- Αντιγραφή των windows truetype fonts σε κάποιο directory, π.χ. /usr/X11R6/lib/X11/fonts/TTF. **ΜΗΝ ΞΕΧΑΣΕΤΕ ΝΑ ΣΒΗΣΕΤΕ ΟΛΑ ΤΑ ΑΡΧΕΙΑ ΠΟΥ ΔΕΝ ΕΧΟΥΝ ΚΑΤΑΛΗΞΗ + .TTF (ή .ttf :-))!!!** +- Εγκατάσταση του ttmkfdir ή του ttinst. Εγώ δοκίμασα το ttmkfdir. Γίνεται compiling με gcc -o ttmkfdir ttmkfdir.c -lttf και μετά στο directory + /usr/X11R6/lib/X11/fonts/TTF τρέχετε ttmkfdir \< fonts.scale +- Εγκατάσταση του xfsft, π.χ. σαν /usr/local/bin/xfs. Πρέπει να φτιάξετε και ένα configuration file, π.χ. /usr/local/etc/xfs-conf. + +Ένα sample configuration file είναι το παρακάτω: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + clone-self = off + use-syslog = off + + client-limit = 20 + + # Εδώ βάλτε το directory με τα ttfs. + catalogue = /usr/X11R6/lib/X11/fonts/TTF + + error-file = /tmp/xfs.errors + + # in decipoints + default-point-size = 120 + + # x,y + default-resolutions = 100,100,75,75 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Στη συνέχεια προσθέστε στο rc.local του υπολογιστή σας ώστε να εκτελείται κάθε φορά που ξεκινάει, τη γραμμή:\ +/usr/local/bin/xfs -port 7100 -config /usr/local/etc/xfs-conf &\ +όπου έχετε προσαρμόσει κατάλληλα τα paths και filenames, ενώ μπορείτε να την εκτελέσετε και αυτή τη στιγμή ώστε να μη χρειάζεται reboot μέχρι να απολαύσετε τα +αποτελέσματα :-). Εάν είστε σε περιβάλλον X εκτελέστε την εντολή\ +xset +fp tcp/localhost:7100; xset fp rehash\ +και προσθέστε και τις δύο εντολές στο .xinitrc file σας, ώστε να εκτελούνται κάθε φορά που ξεκινάτε τα X-windows: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + xset +fp tcp/localhost:7100 + xset fp rehash + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αμέσως μετά από τα παραπάνω και αν τα έχετε κάνει όλα σωστά, μπορείτε να εκτελέσετε:\ +xlsfonts \| grep microsoft\ +για να δείτε όλα τα standard windows fonts τα οποία μπορείτε να χρησιμοποιήσετε κανονικά στις Χ-εφαρμογές σας! Προφανώς μπορείτε να χρησιμοποιήσετε έτσι και +όποια άλλα fonts για windows, όπως τα ελληνικά της magenta, ή άλλα. Περιττό να πούμε ότι ο συνδυασμός TTF και ελληνικών στο Linux δίνει τεράστια ώθηση στη χρήση +του από Έλληνες. Για το πως θα γραφετε ελληνικά - ενδεχομένως εκμεταλλευόμενοι τα True Type fonts - δείτε το grkbd του Γιάννη Τσακίρη ή τα grISOxkb του Δημήτρη +Μπούρα κλπ. + +CREDITS: Στον Αλέξη Ζάβρα για τα πολύτιμα URLs και τις γενικότερες κατευθύνσεις που μου έδωσε. diff --git a/content/articles/11/01_editorial.md b/content/articles/11/01_editorial.md new file mode 100644 index 0000000..9df9fda --- /dev/null +++ b/content/articles/11/01_editorial.md @@ -0,0 +1,59 @@ ++++ +title = 'Editorial' +date = '1999-01-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης' +issue = ['Magaz 11'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Ένας ακόμα χρόνος πέρασε. Ένας χρόνος όμως, ο οποίος δεν ήταν σαν τους άλλους. Ένας χρόνος με Magaz, ένας χρόνος που έκανε πραγματικότητα το HELLUG.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Τελικά μάλλον ήταν ένας σημαντικός χρόνος για το Linux στην Ελλάδα. + +Μία μικρή ανασκόπηση θα κάνουμε εδώ, του τι έκανε το Magaz αυτό τον ένα χρόνο.\ +Έχουμε λοιπόν: + +- 10 Τεύχη. +- 10 (προφανώς) Editorials. +- 52 Άρθρα. + - 5 Linux Zone. + - 4 Real World. + - 7 Παρουσιάσεις προγραμμάτων. + - 9 Άρθρα για Ελληνικά, γραμματοσειρές, Ελλάδα. + - 6 Χιουμοριστικά άρθρα + - 7 Αναλύσεις, σκέψεις, απόψεις. + - 14 άρθρα με ρυθμίσεις - κόλπα για προγράμματα και δίκτυα. +- 94 απαντημένες ερωτήσεις. + +Μέσα σε αυτά και \"δημοσιογραφικές επιτυχίες\" όπως η παρουσίαση του KDE και του StarOffice 4.0 πέντε μόλις μέρες μετά την επίσημη ανακοίνωσή τους. Οι ρυθμίσεις +των ISPs της Ελλάδας για το XISP. Τα άρθρα για True Type γραμματοσειρές, για πλήρη Ελληνική λύση στο Latex, για οδηγίες εγκατάστασης Type 1 γραμματοσειρών στο +StarOffice, το Ghostscript και τα X-windows. Και άλλα πολλά. + +Μέσα από το Magaz ξεκίνησε η ιδέα του Ελληνικού distribution, η οποία οδήγησε με μία παράξενη μορφή χιονοστιβάδας στην ίδρυση και δραστηριοποίηση του Hellug. + +Στο Magaz, στα 10 αυτά πρώτα τεύχη, έγραψαν οι:\ +Βρυώνης Παναγιώτης, Γεωργάτος Φώτης, Εξηνταρίδης Γιάννης, Καμπριάνης Μιχάλης, Καραμανώλης Νίκος, Κεραμίδας Γιώργος, Κόκρας Νίκος, Κοτσόκαλης Κώστας, +Μαυρογεωργιάδης Ευθύμιος, Μαυρογιαννόπουλος Νίκος, Παπαδογιαννάκης Βαγγέλης, Παπακώστας Ευριπίδης, Προκοπίδης Προκόπης, Ρόζος Βαγγέλης, Σανιδά Παρασκευή, +Συρόπουλος Απόστολος, Τζέμος Δημήτρης, Τριβυζάς Σπύρος, και το Development Team της Altera.\ +Σύνολο 19 άτομα !!! + +Το Magaz ξεκίνησε από το , και απέκτησε τρία mirrors ( , , και ένα +ακόμα στο Γ.Π.Α. το οποίο απώλεσε στα τέλη του έτους), καθώς και δεύτερο \"σπίτι\" ( ). + +Το Magaz αναφέρθηκε στα περιοδικά Chip, Ram, Net. Είναι καταχωρημένο στα εξής έγκυρα sites: [Robby](http://www.robby.gr), [Phantis](http://www.phantis.gr), +[Thea](http://www.thea.gr), [Webwatcher](http://webwatcher.org) και [Linux links](http://www.linuxlinks.com). + +Η συντακτική ομάδα του Magaz αυτή τη στιγμή, αποτελείται από τα εξής μόνιμα μέλη: Βρυώνης Παναγιώτης, Γεωργάτος Φώτης, Καμπριάνης Μιχάλης, Κεραμίδας Γιώργος, +Κόκρας Νίκος, Παπαδογιαννάκης Βαγγέλης, Παπακώστας Ευριπίδης και Σανιδά Παρασκευή. + +To Magaz τέλος, έχει φτάσει να έχει κατά μέσο όρο αυτή τη στιγμή γύρω στα 60 hits την ημέρα. Και για όσους αρέσουν τα μεγάλα νούμερα, αυτό σημαίνει ότι το Magaz +το επισκεφτήκατε 22000 φορές περίπου τον χρόνο που πέρασε!!! + +Το Magaz μπαίνει με αυτό το τεύχος στον δεύτερο χρόνο λειτουργίας του. Ελπίζουμε ότι και αυτός ο χρόνος θα είναι τόσο εποικοδομητικός, όσο και ο προηγούμενος. +Ελπίζουμε επίσης, ότι θα δούμε ακόμα περισσότερα άρθρα από εσάς τους ίδιους στα τεύχη αυτού του χρόνου. + +Σας ευχόμαστε ευτυχισμένο το 1999. Εν όψει της νέας χιλιετηρίδας, να σας φέρει ότι επιθυμείτε. diff --git a/content/articles/11/02_LUGistics.md b/content/articles/11/02_LUGistics.md new file mode 100644 index 0000000..815abf7 --- /dev/null +++ b/content/articles/11/02_LUGistics.md @@ -0,0 +1,167 @@ ++++ +title = 'LUGistics - A Short Presentation' +date = '1999-01-01T00:00:00Z' +description = '' +author = 'Panayotis Vryonis mailto:vrypan@hellug.gr(mailto:vrypan@hellug.gr) Evripidis Papakostas mailto:evris@hellug.gr(mailto:evris@hellug.gr)' +issue = ['Magaz 11'] +issue_weight = 2 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*LUGistics is an ambitious project, aiming to simplify the overall administration needed by a LUG in order to maintain member lists, running projects, news and +events, sponsors, guestbooks, questionaries, electronic votings etc. For non-english speaking LUGs, LUGistics provides a module called LEXIS for keeping a +dictionary of any translating efforts.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Introduction** +----------------------------------------------- + +**2. Itchy** +---------------------------------------- + +**3. \...and Scratchy** +--------------------------------------------------- + +- [3.1 Deciding on the tools](#ss3.1) +- [3.2 and the name.](#ss3.2) + +**4. The outcome** +---------------------------------------------- + +- [4.1 MEMB](#ss4.1) +- [4.2 PRJ](#ss4.2) +- [4.3 SPONSORS](#ss4.3) +- [4.4 LEXIS](#ss4.4) + +**5. What has to be done.** +------------------------------------------------------- + +**6. References** +--------------------------------------------- + + +### [1. Introduction]{#s1} + +When we first founded HELLUG (Hellenic Linux Users Group) it was made clear to us that one of the most time-consuming tasks we\'d have, would be keeping our +home site up to date. Almost any LUG has to maintain a list of its members (normally, continuously increasing), to gather and present all local members\' +activities and projects, to publicaly thank its sponsors and provide a means to conduct votings. Due to our WWW administrator\'s limited time, we had to come up +with a way to automate these \'trivial\' tasks as much as possible, and securely distribute the maintenance to more than one individuals. + +Another disired goal was to uniformly present all of the above, using a consistant look-and-feel through-out our web pages. + +This is the time that we come to Eric S. Raymond\'s words; \"Every \[good\] work of software starts by scratching a developer\'s personal itch\"\... + + +### [2. Itchy]{#s2} + +It was quite clear to us that the interface should be HTML-based. This way, we would be platform independent, the same set of tools is used by both the +administrators and the public. + +All our data should be kept in an SQL database (no justification needed for such an decision) but we wanted to keep our implementation database-independent. + +We decided to de-centralize the administration, breaking it down to smaller areas of responsibilities and assigning them to different individuals. So, there +should be some kind of authentication. + +In some cases, not only administrators but users also, should be able to enter data to the database (suggestions, votes, translations etc). + +Any Project (ours included) that respects itself should have a proper name. + + +### [3. \...and Scratchy]{#s3} + +### [3.1 Deciding on the tools]{#ss3.1} + +We looked around for free (in the sence of OSS) development tools running on Linux, that would fit our needs. Here is what we ame up with: + +#### mod\_php + +We chose PHP as our development tool. The language (c-like) is quite easy to learn, supports an Object-Oriented architecture, documentation is complete and +there are lots of ready-made tools to speed up the development. + +PHP is server-parsed HTML and not CGI which is considered a bigger security risk. (At least, that is what we think\...) + +#### php\_lib + +php\_lib module provides the database independency we hoped for and all the right tools for authenticating users and assigning privileges. + +#### postgeSQL + +It\'s free, it\'s stable, there are many tools, much documentation to help someone find his way around, and is well supported by php. + +#### apache + +what else ? :-) + +### [3.2 and the name.]{#ss3.2} + +Then we had to decide how this project would be called: + +#### LUGistics + +It surely sounds pompous! It also incorporates our target (LUGs) and our hellenic origin (the ending -istics which is hellenic). We also thought that our +product would be easier to promote (eeeh ???) with a name that sounds familiar. Writing it LUGisti**X** was a temptation but we resisted! + +### [4. The outcome]{#s4} + +Though LUGistics is still at an early stage (at the time this is written, v0.45), it is quite functional and four \"modules\" are already present. In order to +create a uniform look\'n\'feel an d avoid rewritting the same code again and again, we created an API that is used by all modules. As an extra benefit from this +approach changing the look in all pages is a piece of cake. + +You may view screenshots here. + +### [4.1 MEMB]{#ss4.1} + +Using the MEMB (members) module, the administrator is able to insert, delete and update members in the database. These data include (apart from the expected +name, e-mail, homepage, occupation, etc.) a photo and a short CV. + +Users are able to query the database and get detailed results. Privacy is respected by keeping \"sensitive\" information, such as telephone numbers, unavailable +to the public. ![](/11/img/members1.jpeg) + +### [4.2 PRJ]{#ss4.2} + +Like MEMB, PRJ (projects) lets the administrator insert/update/remove data about projects. Each project has a title,description and numerous URLs and news.A URL +is considered to be any Uniform Resource Locator such as e-mails, web pages and ftp sites. Special icons are automatically assigned to each type. + +MEMB and PRJ nicelly cooperate and when you click on the e-mail url of a member, you get the full member\'s card. + +There is also a special view, where one can see the latest news from all projects. ![](/11/img/projects1.jpeg) + +### [4.3 SPONSORS]{#ss4.3} + +SPONSORS provide an easy way to administer and browse sponsor-related information. The administrator can easily add/remove/edit sponsors. It is so simple! + +### [4.4 LEXIS]{#ss4.4} + +LEXIS is quite a complicated module. The idea is to create an electronic dictionary that will be used as a reference by any translation effort (believe it or +not, there ARE non-english-speaking countries!!!). Currently, a user can search the database given an english or a greek word, suggest new ones and submit new +synonyms for existing ones. The administrator (or the responsible team), apart from inserting, deleting and editing a word\'s data can also incorporate or +reject suggestions. + +Special care has been taken to prevent uncontrolled number of suggestions that would flood the database. + + +### [5. What has to be done.]{#s5} + +Lots of things! + +First of all, we want to clean up our code. As we used PHP and phplib, we found out many things that were not obvious at the time we started writting the code. +So, older code is a bit incompatible (from a developer\'s and not a user\'s point of view). + +Then we have to introduce some kind of user and privilege management for the administrator, since right now there are only two kind of users, public and admins +(all admins have the same privileges\...) + +When the above will be done, we will release the code under GPL (of course) . + +Install LUGistics on our server (www.hellug.gr) to see if it can really do what it is built for. + +And finally, keep on developing new modules (like VOTE)\... + + +### [6. References]{#s6} + +- The home site of PHP is http://www.php.org/. +- we found phplib at http://phplib.shonline.de/ +- Information about PostgreSQL can be found at http://www.postgresql.org/ + diff --git a/content/articles/11/03_happening.md b/content/articles/11/03_happening.md new file mode 100644 index 0000000..976937d --- /dev/null +++ b/content/articles/11/03_happening.md @@ -0,0 +1,117 @@ ++++ +title = 'Χριστουγεννιάτικο Happening του HELLUG' +date = '1999-01-01T00:00:00Z' +description = '' +author = 'Βούλα Σανιδά(mailto:voulariba@hellug.gr)' +issue = ['Magaz 11'] +issue_weight = 3 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*To HELLUG (Hellenic Linux Users Group), στις 19 Δεκέμβρη 1998 διοργάνωσε υπαίθριο Χριστουγεννιάτικο happening στη Στουρνάρη με σκοπό να μαζευτούν, να +γνωριστούν, και να ενημερωθούν οι ενδιαφερόμενοι για το Linux.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Η γενική ιδέα** +------------------------------------------------ + +**2. Το Υλικό** +------------------------------------------- + +**3. Η ώρα της Αλήθειας** +----------------------------------------------------- + +**4. Μεθεόρτεια** +--------------------------------------------- + +**5. Τελικά \...** +---------------------------------------------- + + +### [1. Η γενική ιδέα]{#s1} + +Επιλέξαμε αυτό το μέρος γιατί η Στουρνάρη αποτελεί την μέκκα των κομπιουτεράδων και αυτή τη μέρα επειδή ήταν το τελευταιο Σάββατο πριν τα Χριστούγεννα και πολύς +κόσμος είχε κατέβει στην Αθήνα για ιερό προσκύνημα. + +Ο καιρός, παρά τις δυσοίωνες προβλέψεις, ήταν αίθριος και αυτό επιβεβαιώνει κάτι που όλοι από καιρό γνωρίζαμε : ο Θεός είναι Linuxας ;-) + + +### [2. Το Υλικό]{#s2} + +Κατά την εκδήλωση, μοιράστηκε ενημερωτικό υλικό, ερωτηματολόγια, καθώς και δωρεάν Linux CDs στους ενδιαφερόμενους. Συγκεκριμένα : + +- 200 CDs Linux +- 500 ερωτηματολόγια +- 500 ενημερωτικά φυλλάδια Linux, HELLUG +- 500 διαφημιστικά φυλλάδια SuSE +- 100 διαφημιστικά φυλλάδια RedHat +- 10 τεύχη Linux Journal +- Τσίπουρο +- Χαλβάς +- Λουκούμια + +Τα CDs που μοιράσαμε αποτελούν κατά βάση προσφορά της SuSE που φάνηκε ιδιαίτερα ευαισθητοποιημένη και πρόθυμη να συνδράμει. Μερικά ακόμα συγκεντρώθηκαν από +διάφορους Linuxάδες, οι οποίοι έχασαν το χρόνο τους κάνοντας αντίγραφα διαφόρων Linux distributions ή και δώρισαν δικά τους (παλαιότερα) Linux Distributions που +δεν χρειάζονταν. Η εταιρεία RedHat έστειλε επίσης και αυτή την βοήθεια της που εστιαζόταν κυρίως σε έντυπο υλικό, αυτοκόλλητα και ελάχιστα πακέτα Linux. + +Τα πυρομαχικά (Τσίπουρο, Χαλβάς, Λουκούμια) προσφερθηκαν από τον συνLinuxa Φωτη Γιαννούλα (εκ Βόλου), τον οποίο και ευχαριστούμε θερμά για την συμμετοχή του. + + +### [3. Η ώρα της Αλήθειας]{#s3} + +Η εκδήλωση σημείωσε αναπάντεχη επιτυχία. Εμεις (οι διοργανωτές) μαζευτήκαμε κατά τις 10 (2 ώρες πριν) ώστε να κάνουμε τις απαραίτητες ετοιμασίες (πάγκος, CDs, +πανώ, τοποθέτηση του πιγκουίνου κλπ). Από εκείνη ήδη την ώρα είχαν αρχίσει και εμφανίζονταν άτομα (κατά κύριο λόγο αποσταλμένοι τρίτων από επαρχία) που ζητούσαν +προκαταβολικά υλικό για τους φίλους/συγγενείς κλπ που δυστυχώς δεν έχουν κάποιο μεγάλο Computer Store ή βιβλιοπωλείο που να διαθέτει Linux Distribs στην περιοχή +τους. (μάλιστα τις τελευταιες μέρες είχαμε ήδη δεχθεί πάνω από 100 κλήσεις, όλες με το ίδιο θέμα : ταχυδρομική αποστολή Linux CDs και εντύπων στην επαρχία). + +Το βαρύ πυροβολικό μας για την επιτυχή έκβαση του happening αποτέλεσε ο (γιγαντο)πιγκουίνος μας (περίπου 1.20m) από χαρτοπολτό, ο οποίος συγκατοικει με δύο από +τα μέλη του HELLUG (Ευριπίδης Παπακώστας, Βούλα Σανιδά), το καπέλο πιγκουίνος του Αντιπροέδρου (φτιαγμένο από πετσέτα θαλάσσης), τα φοβερά πανώ του Θοδωρή +Σολδάτου καθώς και τα Linux related μπλουζάκια των μελών. Τέλος, η συμμετοχή του Άγιου Βασίλη (Βούλα Σανιδά) έδωσε άλλον αέρα στην ομάδα. + +![](/11/img/Hap6.jpg) + +![](/11/img/Hap8.jpg) + +![](/11/img/Hap1.jpg) + +Η σταδιακή συγκέντρωση των ενδιαφερομένων ήταν απίστευτη. Στις 12:00 που αρχίσαμε να μοιράζουμε τα υλικά, έγινε ΠΑΝΙΚΟΣ. + +![](/11/img/Hap15.jpg) + +![](/11/img/Hap10.jpg) + +Φυσικά και τα υλικά που είχαμε δεν φτάσαν για όλους (μια που υπολογίζουμε πως το κιόσκι μας πολιορκήθηκε συνολικά από περίπου 2.000 άτομα). Το θετικό της +υπόθεσης ήταν πως ο κόσμος απλά αρνιόταν να απομακρυνθεί από τον χώρο, είτε είχε πάρει CD και φυλλάδια, είτε όχι, και όλοι συζητούσαν με όλους. Ολοι επίσης ήταν +πρόθυμοι να συμπληρώσουν τα ερωτηματολόγια μας, ώστε να έχουμε μια γενική εικόνα του ποιοί και γιατί ενδιαφέρθηκαν (εμπειρία, επάγγελμα, ηλικία, υπολογιστης, +ενδιαφέρον για συμμετοχή κλπ). + + +### [4. Μεθεόρτεια]{#s4} + +Τα συμπεράσματά μας είναι τα εξής: + +- Αποτέλεσε μια πολύ καλή ευκαιρία να συναντηθούμε μεταξύ μας, μέλη HELLUG ή μη, Linuxαδες ή όχι. Διασκεδάσαμε αρκετά (βοήθησε το τσίπουρο, τα Linux gadgets + μας και το μετά-το-happening-τσιμπούσι). +- Δώθηκε η ευκαιρία σε πολλούς ανθρώπους να καταλάβουν τι ειναι το Linux, η φιλοσοφία του, πως αναπτύσσεται, σε τι θα μπορούσε να τους βοηθήσει, πως θα + μπορούσαν να βοηθήσουν. +- Το ίδιο το γεγονός και η προσέλευση του κόσμου (που για λίγο) διέκοψε ακόμα και την κυκλοφορία των αυτοκινήτων στη Στουρνάρη) αποτέλεσε μια τρανταχτή + εκδήλωση δύναμης στα γύρω μαγαζιά (και ιδιαίτερα στα \*γνωστά\* βιβλιοπωλεία της Στουρνάρη, που ειδικά για εκείνη τη μέρα έκαναν μεγάλες εκπτώσεις στα Linux + προιόντα τους). Ισως αποφασίσουν να φέρνουν πλεον ακόμα περισσότερα Linux προιόντα, δίνοντας μας έτσι ακόμα περισσοτερες επιλογές. Το θέμα καλύφθηκε και από + την τηλεόραση (ΕΤ3). +- Γνωριστήκαμε με δύο από τους αντιπροσώπους της SuSE (Αθήνας και Θεσσαλονίκης) οι οποίοι είναι πρόθυμοι να βοηθήσουν το Linux και πιθανόν να μας στηρίξουν σε + τέτοιες κινήσεις στο μέλλον. Ακόμα μιλήσαμε με μαγαζάτορες που έχουν πλέον αρχίσει να σκέφτονται την προοπτική των preinstalled Linux boxes (όπως έχουν ήδη + κάνει καιρό τώρα κάποιοι στο εξωτερικό). + + +### [5. Τελικά \...]{#s5} + +Πολλοί είναι επιφυλακτικοί για το αν τέτοιες κινήσεις πραγματικά οφελούν την πρόοδο του Linux. Η αλήθεια είναι πως από όσους το πήραν, λίγοι θα το στήσουν, +λιγότεροι θα το συμπαθήσουν, ακόμα λιγότεροι θα το μάθουν και ελάχιστοι θα βοηθήσουν με την σειρά τους την κοινότητα του Linux. Αλλά και μόνο το γεγονός πως +αυτοί οι άνθρωποι ήρθαν, περίμεναν, συζητησαν δείχνει πως έχουν κάποια όρεξη, περιέργεια και επιμονή, που είναι έτσι και αλλοιώς προαπαιτούμενα Linuxαδικα +χαρακτηριστικά. + +οι δικές μας εντυπώσεις από το happening ήταν πάντως θετικότατες, αποζημιωθήκαμε για κάθε λεπτό της προετοιμασίας μας από τη συμμετοχή και το ενδιαφέρον του +κόσμου, και αν υπάρξει μελλοντικά παρόμοια σκέψη για αντίστοιχη διοργάνωση θα χαρούμε να βοηθήσουμε\.... + diff --git a/content/articles/11/04_ote.md b/content/articles/11/04_ote.md new file mode 100644 index 0000000..f73d1be --- /dev/null +++ b/content/articles/11/04_ote.md @@ -0,0 +1,215 @@ ++++ +title = 'Ο ΟΤΕ μας ενώνει;' +date = '1999-01-01T00:00:00Z' +description = '' +author = 'Ομάδα αντίδρασης από το Hack.gr(mailto:action-ote@hack.gr)' +issue = ['Magaz 11'] +issue_weight = 4 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το κείμενο που ακολουθεί είναι το κείμενο που συντάκτηκε από τα μέλη της λίστας [action-ote](mailto:action-ote@hack.gr)* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Συνυπογράφεται από τους κάτωθι συντελεστές του Magaz (με αλφαβητική σειρά): + +- [Καμπριάνης Μιχάλης](mailto:kabrianis@hellug.gr) +- [Παπαδογιαννάκης Βαγγέλης](mailto:papas@hellug.gr) +- [Παπακώστας Ευριπίδης](mailto:evris@hellug.gr) +- [Σανιδά Παρασκευή](mailto:sanida@hellug.gr) + +**1. ΠΕΡΙΓΡΑΦΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ** +------------------------------------------------------ + +**2. Η ΣΗΜΕΡΙΝΗ ΚΑΤΑΣΤΑΣΗ ΤΗΣ ΕΛΛΑΔΑΣ** +------------------------------------------------------------- + +**3. ΖΗΤΑΜΕ/ΠΡΟΤΕΙΝΟΥΜΕ** +----------------------------------------------- + + +### [1. ΠΕΡΙΓΡΑΦΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ]{#s1} + +1. Ακριβή κοστολόγηση της πρόσβασης στο Δίκτυο + + Η ήδη ακριβή (λόγο χρονοχρέωσης) πρόσβαση στη λεωφόρο των πληροφοριών, γίνεται ακόμα πλέον σχεδόν απαγορευτική, όπως φαίνεται και στον πίνακα που ακολουθεί. + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + \ Ώρες αιχμής\ Ώρες μη αιχμής\ + ΚΟΣΤΟΣ ΜΙΑΣ ΩΡΑΣ (08:00-23:00) (23:00-08:00) + + Παλιά τιμολόγια (20μ. \* 13δρχ) + ΦΠΑ = 306.8 δραχμές (8μ. \* 13δρχ) + ΦΠΑ = 122.72 δραχμές + + Νέα τιμολόγια (60μ. \* 6 δρχ) + ΦΠΑ = 424.8 δραχμές (30μ. \* 6 δρχ) + ΦΠΑ = 212.4 δραχμές + + Αύξηση 118 δραχμές (38.46%) 89.68 δραχμές (73.08%) + + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + + Την ίδια στιγμή που τα τιμολόγια αυξάνονται, ο ΟΤΕ παρέχει αποκλειστικά στη θυγατρική του επιχείρηση ΟΤΕnet, μέσω των ειδικών ενιαίων αριθμών κλήσης (0965 + χχχχχ) μειώσεις στην τιμή πρόσβασης: + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + \ Ώρες αιχμής Ώρες μη αιχμής + ΚΟΣΤΟΣ 1 ΩΡΑΣ + + Άλλοι φορείς 424.8 δραχμές 212.4 δραχμές + + ΟΤΕnet 283.2 δραχμές 70.8 δραχμές + + Διαφορά 141.6 δραχμές (+50%) 141.6 δραχμές (+200%) + + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + + Επιπρόσθετα στην ΟΤΕnet οι ώρες μη αιχμής επεκτείνονται κατά μία ώρα (ισχύουν μετά τις 22:00 και όχι μετά τις 23:00). Έτσι στο διάστημα 22:00-23:00 η χρέωση + σε ΟΤΕnet/άλλους είναι 70.8/424.8 δραχμές αντίστοιχα (+500%). + +2. Επιπτώσεις στον υγιή ανταγωνισμό + + Το γεγονός αυτό είναι πιθανό να οδηγήσει σε μονοπωλιακές καταστάσεις στο χώρο της τηλεφωνικής πρόσβασης στο Internet, με δραματικές επιπτώσεις στους τομείς + + - του υγιούς ανταγωνισμού, + - της απασχόλησης εργαζομένων, + - της πραγματοποίησης επενδύσεων, + - της δυνατότητας επιλογής των καταναλωτών, + - της ποιότητας των παρεχόμενων υπηρεσιών. + + Η δυνατότητα απόκτησης του ειδικού ενιαίου αριθμού κλήσης είναι πιθανό να δοθεί και σε άλλους παροχείς, αλλά εκτός του ότι ο Οργανισμός κωλυσιεργεί (όπως + καταγγέλουν και άλλοι μεγάλοι παροχείς) και μάλιστα έχει ήδη τιμωρηθεί από την Εθνική Επιτροπή Τηλεπικοινωνιών με πρόστιμο 80 εκατομμυρίων δραχμών, αυτή η + δυνατότητα περιορίζεται μόνο σε μεγάλες εταιρείες (που πληρούν κάποια τεχνικά κριτήρια). Δηλαδή μικρές εταιρείες (όπως για παράδειγμα όλες οι επαρχιακές), + ακαδημαϊκά και ερευνητικά ιδρύματα, ινστιτούτα, μη κερδοσκοπικοί οργανισμοί, εταιρίες που προσφέρουν υπηρεσίες πρόσβασης στους εργαζόμενούς τους + αποκλείονται. + + Οι μικρές εταιρίες απειλούνται άμεσα με κλείσιμο με προφανείς συνέπειες στον τομέα της απασχόλησης, η έρευνα από πανεπιστήμια, τεχνολογικά και ερευνητικά + ιδρύματα εμποδίζεται, η τηλε-εργασία καθίσταται απαγορευτική. + +3. Επιπτώσεις στην πληροφόρηση και μόρφωση των πολιτών + + Τα ακριβά τιμολόγια, αποκλείουν από την τηλεφωνική πρόσβαση στο Δίκτυο: + + - τους κατοίκους ημιαστικών και αγροτικών κέντρων, που καλούνται να πληρώνουν υπεραστικές κλήσεις για πρόσβαση στην μεγαλύτερη σύγχρονη πηγή πληροφοριών, + - τις κοινωνικές τάξεις με χαμηλά εισοδήματα, που δεν έχουν την πολυτέλεια να πληρώνουν υπέρογκα ποσά για πρόσβαση στο Internet (πρόσβαση 2 ωρών ημερησίως + επιβαρύνει το λογαριασμό του ΟΤΕ κατά περίπου 50.976 δραχμές), + - τους φοιτητές και σπουδαστές, κυρίως αυτούς που φοιτούν μακριά από τον τόπο μόνιμης κατοικίας τους και αυτούς που χρησιμοποιούν το Internet ως κύρια + πηγή συλλογής πληροφοριών. + + Είναι άδικο αλλά και επικίνδυνο η πρόσβαση στο Διαδίκτυο να είναι προνόμιο των λίγων (\"έχοντες και κατέχνοντες\"). Κορυφαίοι μελετητές χαρακτηρίζουν όσους + δεν έχουν πρόσβαση στο Internet ως τους \"αναλφάβητους του μέλλοντος\"). Ο Nicholas Negroponte χαρακτηρίζει την πρόσβαση στο Δίκτυο \"θεμελιώδες ανθρώπινο + δικαίωμα\" και καλεί τους τηλεπικοινωνιακούς οργανισμούς να παράσχουν χρονικά ανεξάρτητη κοστολόγηση. Η Συμβουλευτική Επιτροπή Τηλεπικοινωνιών της Ιρλανδίας + ( [Advisory Commitee on Telecommunications](http://act.iol.ie/)) σε μελέτη της σημειώνει τις σημαντικές αρνητικές επιπτώσεις της χρονοχρέωσης στην ανάπτυξη + του ηλεκτρονικού εμπορίου. + + +### [2. Η ΣΗΜΕΡΙΝΗ ΚΑΤΑΣΤΑΣΗ ΤΗΣ ΕΛΛΑΔΑΣ]{#s2} + +Με βάση την πιο πρόσφατη έρευνα της ΟΤΕnet, ο αριθμός των χρηστών Internet στη χώρα μας είναι 130.000 και από αυτούς οι 90.000 (69%) είναι συνδεδεμένοι μέσω +τηλεφώνου. Ο πολύ μικρός αυτός αριθμός (ποσοστό 1,3% επί του πληθυσμού) καθιστά την Ελλάδα ουραγό στην Ευρωπαϊκή Ένωση, αλλά και πολύ πίσω σε σχέση με άλλες μη +αναπτυγμένες χώρες. Χάριν συγκρίσεως αναφέρεται ότι τα σημερινά ανάλογα ποσοστά στο Κατάρ και το Κουβέιτ κυμαίνονται ήδη μεταξύ 2,15% και 3,1%. Ούτε λόγος +βέβαια για τις ΗΠΑ και τον Καναδά, όπου ο αριθμός των χρηστών Internet με βάση μελέτη της Nielsen Media Research ξεπερνάει τα 80.000.000. + +Αξιοσημείωτο επίσης είναι ότι ο ρυθμός αύξησης των χρηστών στην Ελλάδα είναι πολύ χαμηλότερος σε σχέση με τον αντίστοιχο σε αναπτυγμένες και αναπτυσσόμενες +χώρες, και με τα νέα τιμολόγια του ΟΤΕ είναι φυσικό ο ρυθμός αυτός να ελαττωθεί ακόμα περισσότερο. + +Το κυβερνητικό σχέδιο [Η Ελλάδα στην Κοινωνία της Πληροφορίας - Στρατηγική και Δράσεις](http://www.primeminister.gr/infosoc/), Νοέμβριος 1998 επισημαίνει την +ανάγκη να διαφυλάξει η πολιτεία τον υγιή ανταγωνισμό, την παροχή υπηρεσιών υψηλής ποιότητας με το μικρότερο δυνατό κόστος, την προώθηση της τηλε-εργασίας, την +ελεύθερη πρόσβαση στα δίκτυα και την πληροφορία για όλους, χωρίς διακρίσεις και ανισότητες. Χαρακτηριστικά είναι τα ακόλουθα αποσπάσματα: + +- \"Η πολιτεία έχει σημαντικό ρυθμιστικό και κανονιστικό ρόλο στη διαμόρφωση της αγοράς στην Κοινωνία της Πληροφορίας, τον οποίο εκπληρώνει με τη δημιουργία + ενός ευέλικτου και εξελισσόμενου θεσμικού πλαισίου, καθώς και τη διαφύλαξη συνθηκών υγιούς ανταγωνισμού.\" + + *Είναι γεγονός ότι ο πανελλαδικός αριθμός κλήσης (0965) είναι ένα βήμα προς το μέλλον. Είναι μία λύση στο πρόβλημα απομόνωσης της ελληνικής επαρχίας από τα + τεκταινόμενα στην τεχνολογία. Δυστυχώς όμως, σύμφωνα με την ΕΕΤ (5/10/98), αυτό ακριβώς αποτελεί \"αθέμιτο ανταγωνισμό\" εφόσον παρέχεται μόνο στην ΟΤΕnet. + Πρέπειλοιπόν η πολιτεία να παρέμβει, και να υποχρεώσει τον ΟΤΕ να παραχωρήσει σε άλλες εταιρείες, πανεπιστήμια, ιδιώτες, ότι υπηρεσίες ζητούν και έχει ο ΟΤΕ + τα τεχνολογικά μέσα να δώσει. Για να μην μας οδηγήσει το μονοπώλιο του ΟΤΕ σε ένα εξαναγκαστικό μονοπώλιο της ΟΤΕnet.* + +- \"Στη χώρα μας σήμερα, τείνει να δημιουργηθεί ένας διαχωρισμός ανάμεσα σε λίγους (αλλά ραγδαία αυξανόμενους) χρήστες πληροφορικής ή δικτύων επικοινωνίας + όπως το Internet και σε πολλούς άλλους που αντιμετωπίζουν τις νέες τεχνολογίες στην καλύτερη περίπτωση σαν μυστήριο και στη χειρότερη σαν κίνδυνο για το + μέλλον τους.\" + + *Αυτή η διαφορά νοοτροπίας είναι σε ένα βαθμό θέμα διαφορετικών γενεών και δεδομένης της μεγαλύτερης εξοικείωσης των νέων με τις νέες τεχνολογίες με την + πάροδο του χρόνου θα εξαλειφθεί. Η πολιτεία έχει όμως σημαντικό χρέος ενημέρωσης και διαπαιδαγώγησης για τη διευκόλυνση αυτής της μεταβατικής περιόδου.\ + Και βέβαια είναι απαραίτητο να κατανοήσουν όλοι τις δυνατότητες που μας προσφέρουν οι νέες τεχνολογίες, η πληροφορική και τα δίκτυα. Μεταξύ των λύσεων που + υπάρχουν και προτείνονται, η πιο σημαντική ίσως δεν είναι τόσο η ενημέρωση, όσο ο μη αποκλεισμός κάποιων κοινωνικών ομάδων από την πληροφορική. Ήδη, με την + χρονοχρέωση, οι ώρες απασχόλησης του απλού πολίτη με το Internet έχουν μειωθεί. Ο απλός πολίτης, ο άνεργος, ο στρατευμένος, ο εργαζόμενος σε μία εταιρεία + που δεν έχει σχέση με υπολογιστές, δίκτυα και τηλεπικοινωνίες, είναι καταδικασμένος να πληρώνει τα υπερβολικά ληστρικά τιμολόγια του ΟΤΕ για την ενημέρωσή + του.* + +- \"Στη σύγχρονη ελληνική κοινωνία, η Δημόσια Διοίκηση έχει την υποχρέωση να παρέχει στους πολίτες και στις επιχειρήσεις υπηρεσίες υψηλής ποιότητας, σε + σύντομο χρόνο και με το μικρότερο δυνατό κόστος. Οι τεχνολογίες πληροφορικής και επικοινωνιών προσφέρουν τα απαραίτητα εργαλεία για την επίτευξη αυτού του + σκοπού, ενώ ταυτόχρονα διευκολύνουν τη λειτουργία της Δημόσιας Διοίκησης σε πλαίσιο διαφάνειας και δημοκρατικής συμμετοχής.\" + + *Σίγουρα, σε καμία περίπτωση δεν θα μπορούσαν τα νέα τιμολόγια του ΟΤΕ να θεωρηθούν το χασμηλότερο δυνατό κόστος, ιδιαίτερα δε για τον χρήστη του Internet. + Η εικονική μείωση τιμών με την οποία \"βομβαρδιστήκαμε\" τις τελευταίες μέρες, λόγω της μείωσης της αξίας της αστικής μονάδας χρέωσης από 13 δραχμές ανά + τρίλεπτο σε 6 δραχμές ανά λεπτό, δεν ισχύει στην περίπτωση χρήσης του Internet, εφόσον κανένας δεν συνδέεται για λιγότερο από μισή ώρα. Συνεπώς, μιλάμε για + αυξήσεις της τάξης του 38% για τις ώρε αιχμής, και 85% για τις ώρες μη αιχμής. Μείωση παρατηρείται μόνο σε χρήστες της υπηρεσίας πανελλαδικού αριθμού + κλήσης, η οποία όπως προαναφέρθηκε ΔΕΝ δίδεται σε όσους πρέπει. Και αυτή όμως η μείωση δεν είναι αρκετή.* + +- \"Οι τεχνολογίες πληροφορικής και επικοινωνίας δίνουν τη δυνατότητα σε πολλούς εργαζόμενους να εργαστούν από το σπίτι τους ή από άλλο χώρο σε απόσταση από + τον συνήθη χώρο εργασίας τους, με τη βοήθεια ενός υπολογιστή και μίας τηλεφωνικής σύνδεσης. Παρότι το ποσοστό των εργαζομένων οι οποίοι χρησιμοποιούν + παρόμοιες δυνατότητες παραμένει μικρό στη χώρα μας, η διεθνής εμπειρία δείχνει ότι ως μορφή οργάνωσης της εργασίας η τηλε-εργασία θα εξαπλωθεί. (..) + Επιπλέον, η τηλε-εργασία μπορεί να οδηγήσει σε χωροταξική αναδιανομή της αγοράς εργασίας και σε διαφοροποίηση των δραστηριοτήτων μετατοπίζοντας + δραστηριότητες σε λιγότερο ευνοημένες περιοχές.\" + + *Όπως πολύ σωστά αναφέρει η παραπάνω παράγραφος, η τηλεεργασία, θα εξαπλωθεί, αλλά με κόστος 2.880 δραχμές + Φ.Π.Α. ανά οχτάωρο (σύνολο 3.400 δραχμές, + δηλαδή 50% του ημερομισθίου), και με τα ISDN να κοστίζουν ακόμα περισσότερο (και ως συνδέσεις από τον ΟΤΕ, αλλά και με το πάγιο των 5.000 δραχμών ανά μήνα), + υπάρχει κανένας άνθρωπος που να πιστεύει ότι η τηλεεργασία θα αναπτυχθεί στην Ελλάδα; Οι δε μισθωμένες γραμμές είναι ακόμα ακριβότερες. Η διεθνής εμπειρία, + βασίζεται σε άλλα στοιχεία, όπως ότι στην Αυστραλία ΔΕΝ υπάρχει χρονοχρέωση, σε πολλές πολιτείες της Αμερικής η χρέωση είναι ΜΗΔΕΝΙΚΗ για συνδέσεις + δεδομένων, στην δε Ευρώπη, σε όλες σχεδόν τις χώρες υπάρχουν ειδικές τιμές για συνδέσεις με το Internet. Ο ΟΤΕ που μας ενώνει, αποτελεί έτσι άλλη μία φορά + τροχοπέδη στην εξέλιξη της Ελλάδας. Η λύση σε αυτό το πρόβλημα είναι η εξής απλή: δωρεάν συνδέσεις δεδομένων. Είτε αυτό σημαίνει σε πανελλαδικό αριθμό + κλήσης, ή σε τηλεφωνα που θα χορηγήσουν οι ίδιες οι εταιρείες που ενδιαφέρονται για τηλεεργασία, οι ISPs που παρέχουν εικονικά ιδιωτικά δίκτυα (VPN), οι + ανώτερες και ανώτατες σχολές. Και αυτό να ισχύσει, ανεξάρτητα της απόστασης, για να μπορέσει και ο εργαζόμενος να επιλέξει να μένει έξω από την Αθήνα, στην + επαρχία. Γιατί όπως πολύ σωστά αναφέρεται, θα δοθεί η δυνατότητα στον επιλέγοντα να εργαστεί με αυτό τον τρόπο, να μένει σε άλλα μέρη της Ελλάδας, σε νησιά, + σε πιο \"ανθρώπινες\" πόλεις από την Αθήνα.* + +- \"Η πρόσβαση στα δίκτυα και την πληροφορία θα πρέπει να είναι ελεύθερη για τους χρήστες και για όσους επιθυμούν να παρέχουν υπηρεσίες.\" + + *Και εδώ φτάνουμε στη λογική του παραλόγου, να υπάρχουν ήδη σε όλο τον κόσμο δωρεάν πληροφορίες στο διαδίκτυο, τις οποίες ο μέσος Έλληνας δεν μπορεί να + προσπελάσει, λογώ του κόστους του τηλεφωνήματος!!! Αν αυτό δεν αποτελεί πισωγύρισμα, τι ακριβώς είναι;* + +- \"Ρυθμίσεις για διασύνδεση με βάση τη διαφάνεια, την αντικειμενικότητα, τη χωρίς διακρίσεις αναλογικότητα και τη δημιουργία πολλαπλών κόμβων σε όλη την + Ελλάδα. Η τιμολόγηση της διασύνδεσης πρέπει να είναι προσανατολισμένη στο κόστος, λαμβάνοντας υπόψη τη διεθνή πρακτική.\" + + *Ήδη, έξω από την Αθήνα το κόστος της σύδεσης στο δίκτυο είναι απαγορευτικό. Το ίδιο περίπου γίνεται τώρα και για την Αθήνα. Η τιμολόγηση της διασύνδεσης + ΔΕΝ είναι προσανατολισμένη στο κόστος, αντίθετα είναι προσανατολισμένη στην αύξηση κέρδων του ήδη κερδοφόρου ΟΤΕ. Η διεθνής πρακτική δε, όπως προαναφέρθηκε, + είναι χαμηλότερες χρεώσεις για συνδέσεις δεδομένων. Μία απλή σύγκριση του μισθού του μέσου Έλληνα, και του μισθού του μέσου Ευρωπαίου, και αντίστοιχα, του + κόστους χρήσης του Internet, θα αποδείξει και στον πιο κακόπιστο, ότι τα παραπάνω αποτελούν δυστυχώς μόνο λόγια.* + +- \"Πρόσβαση για όλους σε νέες υπηρεσίες επικοινωνίας και πληροφόρησης. Η ικανότητα συμμετοχής των πολιτών στα κοινά προϋποθέτει την πρόσβαση στις πηγές + πληροφόρησης. Η διάθεση των πληροφοριών, η πρόσβαση στις πηγές πληροφόρησης είναι λειτουργική βάση μιας πλουραλιστικής δημοκρατίας, καθώς μόνο ο + πληροφορημένος πολίτης μπορεί να είναι ενεργός πολίτης. Η Κοινωνία της Πληροφορίας στοιχειοθετεί υπ\' αυτήν την έννοια τμήμα της «ανοιχτής κοινωνίας». Η + εξέλιξη της Κοινωνίας της Πληροφορίας δεν πρέπει να οδηγήσει σε ανισότητες και «αναλφαβητισμούς», σε διάκριση των πολιτών σε έχοντες πρόσβαση στη γνώση και + την πληροφόρηση και σε πληροφοριακά πληβείους.\" + + *Αυτό ακριβώς είναι και το σημείο το οποίο θίγουμε.* + + - *Απομονώνεται η επαρχία με τον εξαναγκασμό υπεραστικής χρέωσης* + - *Απομονώνονται κοινωνικές ομάδες της επαρχίας ακόμα και με τον πανελλαδικό αριθμό κλήσης (μετά τις 10 το βράδυ αστική χρέωση, που για πολλούς αυτό δεν + είναι βολικό)* + - *Απομονώνονται ταξικές ομάδες (χαμηλόμισθοι, και όχι μόνο, όταν το μήνα κοστίζει ΜΟΝΟ η τηλεφωνική σύνδεση στο Internet περί τις 20.000 δραχμές με + μετριοπαθείς προβλέψεις περί των ωρών χρήσης του Internet).* + + *Τελικά αυτές οι ανισότητες και οι \"αναλφαβητισμοί\", αντί να καταπολεμούνται ενθαρρύνονται και διατρανώνονται. Η πολιτεία οφείλει να υλοποιήσει όσα + (σωστά) επισημαίνει στο κείμενο αυτό. Είναι εμφανές ότι τα τιμολόγια του ΟΤΕ (τόσο τα ισχύοντα, όσο και ακόμη περισσότερο αυτά που θα τεθούν σε εφαρμογή από + τον Μάρτιο του 1999) κινούνται στην εντελώς αντίθετη κατεύθυνση. Είναι επιβλητική ανάγκη να ληφθούν επειγόντως μέτρα, πριν τεθούν στο περιθώριο της λεωφόρου + πληροφοριών οι πολίτες αυτής της χώρας, πριν μείνει η χώρα μας έξω από το τρένο της ανάπτυξης.* + + +### [3. ΖΗΤΑΜΕ/ΠΡΟΤΕΙΝΟΥΜΕ]{#s3} + +1. Σταθερή (χωρίς χρονονοχρέωση) σύνδεση μέσω τηλεφώνου στο Internet Αυτό μπορεί να γίνει: + - είτε μέσω ειδικών αριθμών κλήσης (0965) σε όλους τους φορείς πρόσβασης στο Internet (εταιρείες παροχής υπηρεσιών Internet, ακαδημαϊκά ιδρύματα, + εταιρείες/ιδρύματα που παρέχουν υπηρεσίες στους υπαλλήλους/μέλη τους), + - είτε μέσω δημιουργίας πακέτου τύπου \"Friends and Family\" από τον ΟΤΕ, που θα επιτρέπει σε όλους τους πελάτες του να επιλέγουν κάποιο αριθμό τηλεφώνων, + για τα οποία θα χρεώνονται με σταθερή και χρονικά ανεξάρτητη χρέωση. Οι ρυθμίσεις πρέπει να αφορούν όλους τους Έλληνες πολίτες, ανεξάρτητα του τόπου + κατοικίας τους. Είναι απαράδεκτο να χρεώνονται υπεραστικά οι κάτοικοι μικρών πόλεων και χωριών, στα οποία δεν υπάρχουν κόμβοι πρόσβασης. +2. Μείωση του Φόρου Προστιθέμενης Αξίας στους λογαριασμούς του ΟΤΕ Το ίδιο μέτρο ίσχυσε (με θετικά αποτελέσματα στη μείωση του πληθωρισμού) και στους + λογαριασμούς της ΔΕΗ. +3. Μείωση της τιμής προχωρημένων υπηρεσιών. Στην Ελλάδα οι γραμμές υψηλής ταχύτητας τιμολογούνται πολύ πιο ακριβά σε σχέση με τις υπόλοιπες Ευρωπαϊκές χώρες. + Το γεγονός αυτό συνιστά τροχοπέδη τόσο στην ανάπτυξη του Internet και των εφαρμογών του στη χώρα μας, όσο και στη βελτίωση των παρεχόμενων υπηρεσιών. +4. Επιδότηση της τηλε-εργασίας. Η επιδότηση (σε εταιρείες που παρέχουν επιλογή τηλε-εργασίας και εργαζόμενους που εργάζονται με αυτό τον τρόπο) οδηγεί σε νέες + μορφές απασχόλησης, όπως και σε άλλες αναπτυγμένες χώρες στον κόσμο. + diff --git a/content/articles/11/05_mailbox.md b/content/articles/11/05_mailbox.md new file mode 100644 index 0000000..57c72d6 --- /dev/null +++ b/content/articles/11/05_mailbox.md @@ -0,0 +1,408 @@ ++++ +title = 'Αλληλογραφία' +date = '1999-01-01T00:00:00Z' +description = '' +author = '' +issue = ['Magaz 11'] +issue_weight = 5 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Από αυτό το τεύχος, η αλληλογραφία γράφεται αυτόματα. Για οποιαδήποτε ορθογραφικά ή άλλα λάθη, ελπίζουμε να μας συγχωρήσετε. Δεν μπαίνει ανθρώπινο χέρι από εδώ +και κάτω, παρά μόνο για copy και paste.Αυτό έγινε λόγω έλλειψης χρόνου, και ελπίζουμε να έχουμε την κατανόησή σας* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +\ +Παρακαλούμε ακολουθήστε τους κάτωθι κανόνες: + +α) Να βάζετε ένα θέμα σχετικό με την ερώτηση στο mail σας. Ένα θέμα της μορφής Ερώτηση περί Linux δεν βοηθάει ιδιαίτερα.\ +β) Να ρίχνετε και καμιά ματιά στα περασμένα τεύχη, και εννοώ και την στήλη της αλληλογραφίας, αλλά και τα άρθρα. Ίσως κάποιες ερωτήσεις να απαντούνται από +εκεί.\ +Επίσης, παρακαλούμε γράφετε στα ελληνικά. Αν το outlook σας δεν βλέπει ελληνικά, βάλτε linux :-) + +**1. Λίστα Ελλήνων Χρηστών** +------------------------------------------------------ + +**2. Εγκατάσταση του RedHat 5.2 από το δίκτυο** +------------------------------------------------------------------------- + +**3. Θεσσαλονικη;** +--------------------------------------------- + +**4. Ελληνικά σε κονσόλα** +---------------------------------------------------- + +**5. Routing** +---------------------------------------- + +**6. AGP καρτες γραφικων** +---------------------------------------------------- + +**7. FAT32** +-------------------------------------- + +**8. Download Μagaz** +----------------------------------------------- + +**9. Compile του πηρύνα** +--------------------------------------------------- + +**10. YAMAHA OPL3** +----------------------------------------------- + +**11. Dial up connection** +------------------------------------------------------ + +**12. Ως πΟ.Τ.Ε. ?** +------------------------------------------------ + +**13. Συνδεση με Ιnternet** +------------------------------------------------------- + +**14. mirror από δική μου σελίδα** +-------------------------------------------------------------- + +**15. USENET Server** +------------------------------------------------- + +**16. search engine** +------------------------------------------------- + +**17. Πυρηνας 2.1.131** +--------------------------------------------------- + +**18. LINUX** +----------------------------------------- + +**19. HOW?..** +------------------------------------------ + +**20. startx** +------------------------------------------ + +**21. Dial-Up** +------------------------------------------- + +**22. Linux** +----------------------------------------- + +**23. Support G200 Mystique for AGP** +----------------------------------------------------------------- + + +### [1. Λίστα Ελλήνων Χρηστών]{#s1} + +Από : [DJ Art](mailto:arturok@usa.net) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Πρίν από αρκετό καιρό γράφτηκα στην Λίστα με το όνομα DJ Art. Τώρα όμως δεν συμπεριλαμβάνομαι εκεί. Γιατί άραγε? Επίσης θα ήθελα να υπάρχει εκείνο το περίφημο +Download για να διαβάζουμε το Magaz offline. + +*Στην λίστα αναγράφονται όσοι έχουν δηλώσει στοιχεία. Στις τελευταίες γραμμές γράφονται και όσοι δεν θέλουν να δώσουν τα στοιχεία τους (22 άτομα). Προφανως +εντάσσεσαι εκεί, εφόσον δεν έδωσες πλήρη στοιχεία. Όσο για το link για Downloading, θα επιστρέψει στο επόμενο τεύχος, με δύο μορφές. Μία συγκεντρωτική για όλα +τα τεύχη του 1998 και μία για το τρέχον τεύχος.* + + +### [2. Εγκατάσταση του RedHat 5.2 από το δίκτυο]{#s2} + +Από : [Αμπουντώλας Κων/νος](mailto:aboud@dssl.tuc.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +*Διάβασε το magaz, τευχος 1, το αντιστοιχο άρθρο τςν Γιώργου Κεραμίδα και Φώτη Γεωργάτου.* + + +### [3. Θεσσαλονικη;]{#s3} + +Από : [Βασιλειάδης Χρύσανθος](mailto:Xrysan8os@usa.net) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Πότε θα γίνει η συνάντηση των χρηστών του Linux στην Θεσσαλονίκη\....Έχοντας το Α.Π.Θ το ΠΑΜΑΚ και το ΤΕΙ μπορω να πω οτι υπαρχουν αρκετοι Linuxades\... Με +εκτίμηση, Χρύσανθος. + +*Το θέμα μάλλον δεν εχει καμία σχέση με το Magaz.* + + +### [4. Ελληνικά σε κονσόλα]{#s4} + +Από : [Σιδηρόπουλος Αθανάσιος](mailto:msx@the.forthnet.gr) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Αγαποιτοί Linuxάδες. Εγκατεστισα πριν λίγες μέρες το Red hat 5,2 και προσπάθισα να βάλω εληνικά στην κονσόλα Το πρότο που έκανα είτανε να ψάξω εδω για οδιγίες. +Βρίκα οδιγίες πίρα και τα απαρέτιτα από Τον ftp server και ξεκίνισα. Αλλά τσίφος. Το greek-consol-1.1.0-3.i386.rpm το εγκαθιστώ κανονικά Όταν κάνω chcp δεν +βρίσκει το chcp 8-(. Όταν πάω να βάλω το greek-consol-1.1.0-3.tar.gz δεν γινότανε τύποτα. 8-(. Δοκίμασα με tar -x καθός και tar -xz αλλά και αποσιμπιέζοντας το +πρότα με το gzip. Αποτέλεσμα 0. Καμιά ιδέα ? Ευχαριστώ εκ τον προτέρον και σιγνόμη για την ορθογραφία. Ειμαι ανορθόγραφος τι να κάνω 8-). Σιδηρόπουλος +Αθανάσιος. Σημίοση. Δεν είμαι εντελός άσχετος. Είχα εγκαταστίσει και πρίν λίγα χρόνια το Linux άλλα δεν έμαθα αρκετά τότες προφανος. + +*Αν έχεις εγκαταστήσει το rpm πρέπει να δουλεύει\... αν δεν το βρίσκει κάνε τα εξής:\ +1ον: πρέπει να κάνεις \`chcp win\' για να γράψεις ελληνικά.\ +2ον: το chcp πρέπει να είναι στο path σου. Είναι? Αν όχι, κάνε το εξής:\ +α. γράψεις στο prompt \`rpm -ql greek-console-1.1.0-3\'\ +(σου βγάζει λίστα με το που έχει βάλει τα αρχεία)\ +b. πας στο /usr/bin, και γράφεις \`ln -s /ekei/pou/einai/to/chcp\'\ +\ +Για να αποσυμπιέσεις αυτό που λές (το tar.gz) πρέπει να γράψεις \`tar -zxvf όνομα.tar.gz\' αν δεν το αποσυμπιέζει, ξανακατέβασέ το\... μάλλον είναι +κακοκατεβασμένο, ή μισό\...* + + +### [5. Routing]{#s5} + +Από : [Μανιάτης Δημήτρης](mailto:dmaniatis@hyundai.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Θέλω να χρησιμοπoιήσω το linux για φτηνή λύση routing, είναι αποτελεσματικό και ποια distribution να προτιμήσω + +*Φίλε Δημήτρη, μπορείς να μάθεις περισσότερα πράγματα για το Linux Router project στην διεύθυνση: * + + +### [6. AGP καρτες γραφικων]{#s6} + +Από : [Γιωργος Βρεντζος](mailto:antoula@hotmail.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Συγχαρητηρια για το περιοδικο σας ! Μια απορια εχω μονο. Επειδη εχω την viper 500 (AGP) και δεν μπορω να την κανω να δουλεψει στα x-win (το Xconfigurator +βρισκει μονο 64k μνημης απο τα 16mb που εχει !) ηθελα να ρωτησω αν χρειαζεται ειδικος server και αν μπορω να κανω τιποτα για να λυσω το προβλημα. + +*Η κάρτες με viper 500 δεν υποστηρίζονται επίσημα, γιατί η viper αρνείται να δώσει τα στοιχεία του chip. Σύμφωνα με την σελίδα + υποστηρίζονται οι Viper 330 και Viper 550.* + + +### [7. FAT32]{#s7} + +Από : [Σωτήρης Παρμάκης](mailto:sotpar@yahoo.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Γεια! Σας στέλνω αυτο το e-mail γιατί θα ήθελα να μάθω αν γίνεται να bootάρει το lilo σε fat32 και αν ναι πως; επίσης, πως μπορώ (αν γίνεται) να διαβάσω δίσκο +με FAT32; ευχαριστώ προκαταβολικά. + +*Για να μπουτάρει το lilo δίσκο με Fat32 δεν θέλει καμία ιδιαίτερη ρύθμιση. Είναι ακριβώς ο ίδιος τρόπος όπως και με το απλό Fat. Για να διαβάσεις δίσκο με +Fat32 πρέπει να έχεις kernel από 2.0.34 και πάνω, και να έχεις ενεργοποιήσει στον πυρήνα το NLS support.* + + +### [8. Download Μagaz]{#s8} + +Από : [Κεφάλας Απόστολος](mailto:akefalas@hotmail.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Πώς μπορούμε να κάνουμε download τα τεύχη του Μαgaz ; + +*Από το επόμενο τεύχος, θα υπάρχουν δύο links, ένα για όλο το 1998 και ένα για το εκάστοτε τρέχον τεύχος.* + + +### [9. Compile του πηρύνα]{#s9} + +Από : [Νίκος Κωστής](mailto:cygnous@pat.forthnet.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Πριν κάποιο καιρό έβαλα το RH 5.2. Καποια στιγμή θεώρησα ότι πρέπει να κανω δικό μου compile του πηρύνα (για υποστήριξη της κάρτας ήχου, του νέου επεξεργαστή +κα). Πάω λοιπόν στο /usr/src/linux ως root φυσικά και γράφω \"make xconfig\" ή make menuconfig ή make config ή make coffee και οτιδήποτε\... Η απάντηση είναι +παντα η ίδια: \"No rule to make \"xconfig\" (η το αντίστοιχο) \". Διάβασμα του kernel-compiling.HOWTO δεν είχε αποτέλεσμα. Ερώτηση στους λιγοστούς (2) γνωστούς +μου που γνωρίζουν κάτι ψιλά απο linux επίσης δεν είχε αποτέλεσμα. Οπότε ρωτάω και εσάς\... Ευχαριστώ\... ΥΓ. ενα μεγαλύτερο κουτί ερώτησης θα βοηθούσε πολύ\... + +*Εχω την εντύπωση, ότι δεν έχεις εγκαταστήσει τα sources του πυρήνα. Δηλαδή, στο /usr/src/linux δεν υπάρχουν τα απαραίτητα αρχεία (headers και sources) για το +compiling. Δοκιμασε να πάρεις απο το CD τα sources (πρεπει να έχει ένα όνομα όπως linuxsources2.0.36.rpm ή καπως έτσι) και ξαναδοκίμασε. Υ.Γ. Έχεις δίκιο, θα το +φροντισουμε να μεγαλωσει. Ευχαριστούμε* + + +### [10. YAMAHA OPL3]{#s10} + +Από : [MATZIRIDIS MAKIS](mailto:matziridism@yahoo.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +BASIKA TO THEMA EINAI OTI EXO TIN KARTA HXOU YAMAHA OPL3 PANO STO CHIPSET TIS INTEL KAI EXO AKOMI TO RED HAT LINUX.TREXO TO SNDCONFIG GIA NA KANO CONFIG STIN +KARTA ALLA TIPOTA.O KERNEL IPOSTOIRIZEI TIN KARTA AUTI.AKOMI THA ITHELA KAI KAPOIES PLIROFORIES GIA TO PPP .. + +*Τα στοιχεία που μας δινεις είναι πολύ λιγα. Σε παρακαλουμε, γίνε λίγο πιο συγκεκριμενος. Π.Χ. Ολες οι καρτες ήχου (σχεδόν) έχουν το OPL3. Η κάρτα σου είναι pnp +ή οχι; Για το ppp τι θα ηθελες;* + + +### [11. Dial up connection]{#s11} + +Από : [ΔΗΜΗΤΡΗΣ ΔΑΜΑΛΑΣ](mailto:amapola@otenet.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Πως μπορώ να συνδεθώ μεσω MODEM + +*Δημήτρη, για όνομα του Θεού\... Δεν είμαστε μάντεις, γίνε λίγο πιο συγκεκριμένος σε παρακαλώ.* + + +### [12. Ως πΟ.Τ.Ε. ?]{#s12} + +Από : [Κώστας Δαμιανάκης](mailto:lewp@hotmail.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Hail all there usin\' linux.. Re paidia exete skeftei pote na ziparete to kathe teyxos oste na ta katevazoume ston skliro mas kai na to diavazoume me tin isixia +mas? Kserete eseis\... Xoris na anisixoume gia ton logariasmo tou OTE\... Plaka plaka giati den kanoume oloi mia kinitopoiisi kata tou Ote\... As ftiaxoume ena +site, ena newsgroup, kati telos panton gia na ekfrasoume tis apopseis mas\... Ena site tetoio exei dimiourgithei apo oti ksero alla den thimamai distixos tin +url\... As kinitopoiithoume loipon.. ! + +*Κώστα, δεν υπηρχε λόγος να μας το στείλεις 3 φορές, το καταλάβαμε :) Σε ότι αφορά το συμπιεσμένο αρχείο, υπήρχε, και θα υπάρχει από το νέο τεύχος. Προσωρινά +μονο αφαιρέθηκε για λογους ευκολης μεταφοράς.* + + +### [13. Συνδεση με Ιnternet]{#s13} + +Από : [Φλαουνας Ηλιας](mailto:iliasf@hol.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Xrisimopoiw to RedHat 5.0 Prosmathw na syndethw me to minicom apo Xwindow\...Pairnei thlefonwi kanonika, dinw username kai password alla meta tipota. (Episis +enw exei syndethei (Hxoi apo to modem e3akoulithei h antistrofh metrish gia to timeout(!) opote kai pataw cancel ) Meta apo ligh wra katalabainw oti h grammi +exei pesei. Eimai anoixtos se opoiadipote protash\... (Exw dokimasei kai me chat alla den pairnei kan thlefwno) + +*Εφόσον ΔΕΝ διευκρινίζεις ότι το κάνεις, θα υποθέσω οτι δεν το κάνεις. Ποιο; Μα το να τρέξεις pppd μετά την συνδεση. Θα σε βοηθήσουν τα messages του συστήματός +σου* + + +### [14. mirror από δική μου σελίδα]{#s14} + +Από : [Μπλέτσας Δημήτρης](mailto:mplets@yahoo.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Έστειλα e-mail στο wedslave\@linux.gr αν επιθυμούν να ανεβάσω τις σελίδες σας στο δικό μου site και πήρα μήνυμα λάθους.Επιθυμώ να κάνω το ίδιο και για το +magaz.Παρακαλώ να με ενημερώσετε.Καλά Χριστούγεννα. + +*Φιλε Δημητρη, στειλε μας πιο πολλες πληροφοριες (ποιο ειναι το site σου) στο email info\@hellug.gr Ευχαριστουμε.* + + +### [15. USENET Server]{#s15} + +Από : [Panos Le Halachuck](mailto:hpan@nettaxi.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Pos mporo na sthso to linux box moy etsi oste na einai kai newsgroup server, oste oi client pcs (win95) na mporoyn na stelnoyn kai na lambanoyn topika news. +Shmeioteon: Den yparxei monimi syndesi internet (katholoy) kai to linux dist: RED HAT 5.1 + +*Η καλυτερη λύση εφόσον δεν έχεις μόνιμη σύνδεση είναι το DNEWS. Αλλά έχε υπόψη σου ότι μάλλον δεν θα σε βολεύει. Δηλαδή όλες οι ιεραρχίες που θα δηλώσεισ να +έρχονται στο Linux σου θα κατεβαίνουν μόλις συνδέεσαι, με αποτελεσμα να σου πιταρουν την γραμμή. Τέλος, πρεπει να συνεννοηθείς με τον παροχέα newsfeed για να σε +βλέπει σαν server και όχι σαν client.* + + +### [16. search engine]{#s16} + +Από : [Tripolitakis Evangelos](mailto:vtrip@grecian.net) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Re paidia , eimai enas dystyxos root poy 8a ton papsoune apo to programma poy exei analabei ean den brei ena wraio site search poy 8a pernei arguments sta +ELLHNIKA !\#@\$@\# . Ti na pw \... ama den ginei kati 8a to gyrisoune se NT (bliah) kai ena wraio linuxi 8a formaristei anhlews :\^( Apantaxou linuxades aderfoi +boh8hste ! + +*Καλύτερα να στείλεις την ερωτησή σου στην linuxgreekusers μια που εμείς δεν εχουμε καμία εμπειρια απο search engines.* + + +### [17. Πυρηνας 2.1.131]{#s17} + +Από : [Γιωργος Βρεντζος](mailto:antoula@hotmail.com) + +Απάντηση : [Παναγιώτης Βρυώνης](mailto:vrypan@hellug.gr) + +Γεια σας και συγχαρητηρια για το \"περιοδικουλι\" σας. Εχω στο συστημα μου τον πυρηνα 2.0.35 και θα ηθελα να ρωσησω ποιες οι διαφορες της γεννιας 2.0.χ με τη +γεννια πυρηνων 2.1.χ . Αν μπορειτε εξηγηστε μου αναλυτικα τι αλλαζει. + +*Οι αλλαγές είναι πολλές, αλλά γενικά όχι συνταρακτικές για ένα χρήστη που χρησιμοποιούσε το Linux χωρίς προβλήματα με περιφεριακά κ.λ. Βέβαια, ούτε εγώ έχω +δοκιμάσει τον 2.2.xx, τα συμπεράσματα τα βγάζω από το πολύ καλό άρθρο του Linux Journal (Δεκεμβρίου).\ +Σίγουρα, θα είναι πιο σταθερός και πιο γρήγορος (αυτό λέει η ως τώρα εμπειρία\...).* + + +### [18. LINUX]{#s18} + +Από : [Grigoropoulos Dimitris](mailto:dgrigoro@otenet.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Από ποιά sites Μπορώ να κατεβάσω το Linux. Φιλικά DG + +*Φίλε Δημήτρη. Μπορείς να δεις μία λίστα των FTP servers με Linux στην Ελλάδα, στο http://www.hellug.gr στο section \"D\" (εκείνο το ποδαράκι με το D στην +κορυφή)* + + +### [19. HOW?..]{#s19} + +Από : [Κωστας Πασσαδης](mailto:COMCLUB@ATH.FORTHNET.GR) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +How can i install linux on my pc? + +*Insert the CDrom and boot from it. Then follow the instructions.* + + +### [20. startx]{#s20} + +Από : [Δουμάνης Χρήστος](mailto:xdoym@hol.gr) + +Απάντηση : [Παναγιώτης Βρυώνης](mailto:vrypan@hellug.gr) + +YPOSTHRIZEI TO REDHAT 5.2 AGP KARTES GRAFIKWN?EXW THN DIAMOND VIPER 550 ME 16MM SDRAM KAI OTAN TREXW STARTX MOY BGAZEI ANALYSH 320X200.TI NA KANW? EYXARISTW +KALH XRONIA + +*Σύμφωνα με τα κείμενα του xfree86 (βλέπε www.xfree86.org) το XFree863.3.3 υποστηρίζει την Diamond Viper 550 με τον server XF86\_SVGA.\ +Στο RH 5.2 περιέχεται το XFree863.3.2 για το οποίο δεν γνωρίζω\... Σε κάθε περίπτωση πάντως μπορείς να κατεβάσεις τα νέα RPMs.\ +Ρίξε και μία ματιά στο site της Diamond (www.diamondmm.com), γιατί προσπαθεί να υποστηρίξει το Linux, ίσως να βρείς κάτι χρήσιμο.* + + +### [21. Dial-Up]{#s21} + +Από : [Γιώργος Κανελλόπουλος](mailto:loutsos@usa.net) + +Απάντηση : [Παναγιώτης Βρυώνης](mailto:vrypan@hellug.gr) + +Γεια σας, κατ\' αρχην χρόνια πολλά και ευτυχισμένο το 1999.Στη συνέχεια θα ήθελα να κάνω μια μάλλον για εσάς \"χαζή\" ερώτηση αλλά αυτο δεν είναι κακό γιατί +είμαι \"νέος\" με το LINUX. Πριν από λίγες μέρες πήρα το REDHAT 5.2. Στην εγκατάσταση δεν αντιμετώπισα κανένα προβλημα ούτε καν στο εγκαταστήσω την RIVA TNT +αλλα ο μεγάλος μου καημός είναι πως θα κάνω dial-up σε έναν ISP αφού είτε με τον τρόπο που λέει το manual (μέσω των X-Win) είτε με κάποιο τερματικό (π.χ. +commit), από το shell, που καλώ και κανω log-on και στη συνέχεια το pppd δεν μπορώ να έχω αποτέλεσμα δηλαδή να έχω Remote connection με τον ISP. Δεν ξέρω πια τι +να κάνω νιώθω ότι πάω σε διπλανό σπίτι μέσω Ελβετίας. Ευχαριστώ πολύ ελπίζω να να είναι κατανοητά αυτά που σας περιγράφω. Πιθανόν κάνω κάπου κάποιο λάθος. Σας +Ευχαριστώ και εύχομαι ό,τι καλύτερο για το Magaz και για το Linux να έχει το 1999. + +*Ο πιο απλός τρόπος κατά την γνώμη μου είναι το linuxconf (τρέχ\' το σαν root). Από εκεί προσθέτεις ένα ppp interface, οριζεις το νούμερο που καλεί, δίνεις και +το IP του DNS.\ +Αφού βγείς από το linuxconf, δίνεις /sbin/ifup ppp0 και αν όλα πάνε καλά θα έχεις την συνδεσή σου.\ +Για να βλέπεις τι γίνεται κατά την σύνδεση, δώσε \"tail f /var/log/messages &\". Μόλις συνδεθείς, το tail θα γράψει connection established.\ +Προσοχή, ίσως χρειάζεται να βάλεις για dial string το ΑΤΧ3DT αντί του ATDT (είναι θέμα ελληνικών γραμμών τηλεφώνου).* + + +### [22. Linux]{#s22} + +Από : [Χατζόπουλος Γιώργος](mailto:honda@law.auth.gr) + +Απάντηση : [Νίκος Κόκρας](mailto:kokni@hellug.gr) + +Πώς μπορώ να αλλάξω ανάλυση στο Xwindows. + +*Edit to /etc/X11/XF86Config Pros to telos, yparxei to section \"screen\" opou anaferetai h analysh twn X ka8ws kai h eikonikh analysh tou desktop (virtual) To +grafiko programa XF86Setup ths ekdoshs 3.3.3 (nomixw kai 3.3.2) exei sxetiko menu opou ginetai h idia douleia me pio aplo tropo Ean telos ta X einai configured +apo prin gia pollaples analyseis, mporeis na allazeis apo th mia sthn allh me to syndyasmo plhktrwn ctrl+alt kai +(syn) h -(plhn)* + + +### [23. Support G200 Mystique for AGP]{#s23} + +Από : [Ιωακείμ Τελλίδης](mailto:benettor@the.forthnet.gr) + +Απάντηση : [Νίκος Κόκρας](mailto:kokni@hellug.gr) + +Έχω την Matrox Mystique G200 8Mb for AGP slot. Εγκατέστησα το RedHat 5.2 και τα x win. Μου τα εμφανίζει σε ανάλυση 320χ200 και δεν δεχεται τίποτε άλλο!!! +Δοκίμασα και κάρτες τις matrox για AGP που έδινε η λίστα αλλά τίποτε. Παρακαλώ βοηθήστε με όσο το δυνατο γρηγορότερα!!!! Δεν κατάφερα να το σεταρω με τιποτε! + +*Από το http://www.xfree86.org: (δες και τα σχετικά updates του RH5.2)\ +XFree86-3.3.3 is now available!\ +There are quite a few bug fixes in this release. If you are having problems with a prior release, please try XFree86-3.3.3 first before asking for help.\ +Highlights of the new release include\ +Security enhancements including several buffer overrun fixes and other changes to fix security problems reported to us. New chipsets supported including 3Dlabs, +Rendition, Weitek P9x00, Cyrix MediaGX, Matrox G100/G200,* + diff --git a/content/articles/12/01_setup.md b/content/articles/12/01_setup.md new file mode 100644 index 0000000..9216b3a --- /dev/null +++ b/content/articles/12/01_setup.md @@ -0,0 +1,256 @@ ++++ +title = 'Επιλογές Εγκατάστασης του Linux' +date = '' +description = '' +author = 'Παπαδογιαννάκης Βαγγέλης' +issue = ['Magaz 12'] +issue_weight = 1 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Επειδή πολλοί μας ρωτάτε συνεχώς για τις επιλογές εγκατάστασης του Linux, ακολουθεί μια περιγραφή της διαδικασίας με όσο γίνεται απλότερη γλώσσα. Φιλάκια!* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Αρχικές προυποθέσεις** +--------------------------------------------------- + +**2. Modules** +-------------------------------------- + +**3. Προετοιμασία συστήματος** +------------------------------------------------------ + +**4. Code maturity level options** +---------------------------------------------------------- + +**5. Loadable module support** +------------------------------------------------------ + +**6. General setup** +-------------------------------------------- + +**7. Floppy, IDE, and other block devices** +------------------------------------------------------------------- + +**8. Networking options** +------------------------------------------------- + + +### [1. Αρχικές προυποθέσεις]{#s1} + +- Έχετε Υπολογιστή με κάποιο (οποιοδήποτε) Linux. Καλά θα ήταν να έχει πυρήνα \>= 2.0.35 +- Έχετε εγκαταστήσει στο σύστημά σας την ncurses, γιατί θα χρειαστεί να κάνετε **make menuconfig** και όχι **make config**. Με αυτό τον τρόπο είναι ευκολότερο + για εσάς στην εφαρμογή, αλλά και για εμένα στην περιγραφή +- Έχετε όρεξη για διάβασμα (και όχι μόνο από αυτό το άρθρο) +- Δέχεστε οτι δεν φέρω καμία απολύτως ευθύνη για οτιδήποτε μπορεί να συμβεί κατά την πορεία (όχι οτι είναι τίποτα δύσκολο, αλλα ξέρω γω\...) +- Όταν μάθετε πως να κάνετε νέο πυρήνα, θα το διδάξετε τουλάχιστον σε ένα νεοκλή του Linux. + +Δεδομένου ότι δεχόσαστε όλα τα ανωτέρω, προχορώ στο παρασύνθημα: (και εσείς προχωρήστε πατώντας στο **Next**) + + +### [2. Modules]{#s2} + +Καλό θα είναι να εξηγήσουμε ορισμένα πράγματα που θα συναντήσουμε παρακάτω και θα είναι λίγο δύσκολα στην κατανόηση. Και πρώτα από όλα, ας πούμε τι είναι τα +modules. + +**MODULES**: Τα modules είναι (κατά κάποιο τρόπο) κομμάτια κώδικα, τα οποία δεν περιέχονται στον πυρήνα αυτόν καθε αυτόν. Μπορούμε όμως να τα φωρτόσουμε, όταν +τα χρειαστούμε, με αποτέλεσμα να παραμένει ο πυρήνας μικρός σε μέγεθος. Φυσικά, δεν είναι μόνο αυτό το καλό τους. + +Εστω πχ ότι έχουμε ένα εκτυπωτή, που μοιράζεται την παράλληλη θύρα με το ZIP DRIVE μας. Επειδή δεν μπορούμε να έχουμε και τα δύο μαζι, η μόνη λύση είναι να τα +συμπεριλάβουμε και τα δύο σαν modules και να φωρτόνομε κατα βούληση αυτό που χρειαζόμαστε. Με αυτό τον τρόπο έχουμε και την πίτα ολόκληρη, και το σκύλο χoρτάτο +(αρκει να μην τα βάλουμε μαζι είπαμε!) Για τα modules έχουμε δύο επιλογές: ή να τα φορτόνουμε εμείς μόνοι μας, αναλαμβάνοντας πλήρως την ευθύνη, ή να αφήσουμε +τον πυρήνα να κάνει αυτή τη δουλειά. Θα σας συνηστούσα τη δεύτερη λύση, αφού σίγουρα αυτός ξέρει περισσότερα από εσάς. \`Οταν λοιπόν χρειαστεί να +χρησιμοποιείσεται το ZIP, ο πυρήνας \"ξεφορτώνει\" το module του εκτυπωτή, και φορτώνει το module του ZIP DRIVE, και φυσικά το αντίθετο αν απαιτηθεί. Όταν +επίσις (πχ για την υποστήριξη του PPP) ο πυρήνας καταλάβει ότι τρέχει ένα πρόγραμμα που χρειάζεται το PPP, αμέσως το φωρτόνει. Το καλό είναι ότι αν ένα Module +παραμείνει ανενεργό για κάποιο χρονικό διάστημα, το ξεφορτώνει από τη μνήμη, ελευθερώνοντας έτσι περισσότερη. + +Γενικώς, πιστεύω ότι είναι καλή ιδέα να βάζετε ότι μπορείτε Modular. Με αυτό τον τρόπο, κρατάμε μικρό το μέγεθος του πυρήνα, και χρειάζεται λιγότερη μνήμη. +Φυσικά, η διαχείρησή της γίνεται καλύτερα, και γενικώς το σύστημα είναι ανα πάσα στιγμή κομένο και ραμένο στα μέτρα που χρειαζόμαστε. Στο δικό μου κουτί πάντως, +τα περισσότερα είναι Modular. (Βασικά ό,τι ξέρω ότι θα μου χρειαστεί, και μπορεί να μπει σαν Module φυσικά, **είναι** Module.) Δεν το συζητάω! Μπάάάάάά! + +Πιστεύω ότι μέσες - άκρες το πιάσατε το νόημα. Μπράβο σας λοιπόν, αισθάνομαι υπερήφανος, και προχωράμε στα βαθιά. + +(Πάτα στο Next τώρα!) + + +### [3. Προετοιμασία συστήματος]{#s3} + +Όχι δα και καμία φοβερή διαδικασία, απλά μεταφερθείτε στον κατάλογο που περιέχει τον κώδικα του πυρήνα, το /usr/src/linux/ που είναι συνήθως ένα link για ένα +dir της μορφής /usr/src/linux-2.0.xx, όπου (όπως θα καταλάβατε) xx είναι η έκδοση του πυρήνα. + +Αν δεν έχει τίποτα εκεί μέσα, καλά θα κάνετε να εγκαταστήσετε τον κώδικα, που **σίγουρα** υπάρχει μέσα στο δισκάκι της διανομής που έχετε. + +**cd /usr/src/linux/** λοιπόν, και όλα έτοιμα. + +Γράψτε: **make menuconfig** + +Αν δε γίνει τίποτα και έχετε κάνα παράξενο μήνυμα λάθους, εγκαταστήστε την ncurses, και ξαναπροσπαθήστε. Θα πετύχει. + +Μπροστά σας, παρουσιάζεται ένα πλούσιο μενού, με διάφορες επιλογές\... Και τώρα αρχίζει η πραγματική δουλειά. Γενικές οδηγίες για τη μετακίνηση στα Menu +υπάρχουν, άρα σε αυτό δεν θα υπάρξει πρόβλημα. Μην ξεχνάτε, ότι ανά πάσα στιγμή μπορείτε να πάτε στο HELP και να πάρετε πληροφορίες για το τι είναι και το τι +κάνει το καθέτι. **ΠΑΡΑΚΛΗΣΗ:** Χρησιμοποιείτε το κατά κόρον. + + +### [4. Code maturity level options]{#s4} + +Πατώντας σε αυτό, εμφανίζεται ένα άλλο menu που σας λέει: **Prompt for development and/or incomplete code/drivers**. Φροντίστε να το επιλέξετε. Αυτό δείχνει ότι +στη διάρκεια της επιλογής των παραμέτρων του πυρήνα, θα σας ρωτήσει για διάφορα πειραματικά - ατελή υποσυστήματα του πυρήνα, τα οποία όμως δουλεύουν μια χαρα. +Συμπεριλάβετέ το λοιπόν. + + +### [5. Loadable module support]{#s5} + +Αυτά που λέγαμε για τα Modules. Φροντίστε και αυτό να το επιλέξετε, και προχορήστε παρακάτω, λέγοντας στο Linuxάκι σας να αναλάβει αυτό την διαχείριση των +Modules. + +Επιλέξτε λοιπόν **Enable loadable module support** + +και φυσικά το **Kernel daemon support (e.g. autoload of modules)** για να διαχειρίζεται ο πυρήνας τα Modules + +Η άλλη επιλογή που έχει, το **Set version information on all symbols for modules** βοηθάει στο να μπορείτε να χρησιμοποιείσετε τα Modules αυτά ακόμα και αν +αναβαθμίσετε τον πυρήνα σε πιό νέα έκδοση. Καλό λοιπόν θα είναι να το επιλέξετε και αυτό, αφού ούτος ή άλλος δεν μεγαλώνει το μέγεθος του πυρήνα, και στο φινάλε +ρε αδερφέ, δε μας ενοχλεί και καθόλου! + + +### [6. General setup]{#s6} + +Εδώ, αρχίζουν τα ζόρικαααααα. Βάλτε λοιπόν τα γάντια σας, κλείστε μουσικές, αποτραβηχθήτε από οποιαδήποτε ενόχληση (ακόμα και από τη γυναίκα σας, όσοι τυχεροί +έχετε) και ετοιμαστείτε για βουτιές! + +- **Kernel math emulation**: Προσομοίωση του μαθηματικού συνεπεξεργαστή αν δεν έχετε (Δηλαδή το μηχάνημά σας είναι 386SX και κάτω. Και μην ακούσω σχόλιο του + τύπου *\"Τι είναι αυτό το 386SX;\"* +- **Networking support**: Βάλτε το, διαφορετικά δεν θα δουλεύουν τα Χ (\<- Η μεγαλύτερη απειλή που μπορείς να πεις σε πρωτάρη) +- **Limit memory to low 16MB**: Μερικά προβληματικά Motherboards δεν βλέπουν πάνω από 16MB. Ρίξτε μια ματιά και στο HELP που έχει, και απενεργοποιείστε το. + :))) +- **PCI bios support**: \`Εχετε PCI θύρες στο PC σας; Αν ναι, μην το παραλείψετε! Τότε θα εμφανιστεί το παρακάτω: +- **PCI bridge optimization (experimental)**: Πείτε ναι, κατα πάσα πιθανότητα θα αυξήσει λίγο την ταχύτητα επικοινωνίας του διαύλου με το PC σας. +- **System V IPC**: Αν δεν ενεργοποιείσετε αυτό, πολλά προγράμματα δεν θα μπορούν να τρέξουν. Διαβάστε και το HELP, και όπως χαρακτηριστικά αναφέρει στο τέλος + του, *\"Just say YES\"* +- **Kernel support for a.out binaries**: Στα παλιά χρόνια του UXIX, χρησιμοποιόταν αυτός ο τύπος εκτελέσιμων και βιβλιοθηκών (με λίγα λόγια). Τώρα πια, τείνει + να εξαφανιστεί, και αν τελικά αποφασίσετε να βάλετε υποστήριξη για αυτό το format, τουλάχιστον βάλτε το σαν module. Φυσικά, τίποτα δε σας απαγορεύει να το + βάλετε builtin στον πυρήνα, απλά δεν θα έχετε κανένα ουσιαστικό όφελος. **ΔΕ ΧΡΕΙΑΖΕΤΑΙ!!!** Πως να το πώ; Βάλτε το MODULAR. +- **Kernel support for ELF binaries**: Ε, ναι, παρακαλώ, αυτό αντικατέστησε το A.OUT. Αν δεν το βάλουμε και αυτό, ζήτω που καήκαμε. Καλό μάλιστα, θα ήταν να + το βάλουμε built-in στον πυρήνα, (δηλαδή όχι Module) διότι μας χρειάζεται με το που αρχίζει να φορτόνει το Linux, και ίσως να μην έχει φορτοθεί ο Autoloader + ακόμα. (Μπερδευτήκατε ε;). Πάντως δεν έχω δοκιμάσει να το βάλω Modular, συνεπώς δεν ξέρω και τις συνέπειες. \`Ισως τελικά να δουλεύει και έτσι!! +- **Kernel support for MISC binaries**: Απλά, πείτε ναι, καλό είναι, κακό δεν κάνει, ακόμα καλύτερα βάλτε το σαν Module +- **Kernel support for JAVA binaries**:Ξέρετε την Java; Την ξέρετε - δεν την ξέρετε, βάλτε το Modular. Χώρο δεν πιάνει, άστο να βρίσκεται, κ.λπ. +- **Compile kernel as ELF - if your GCC is ELF-GCC**: Μην τα ξαναλέμε, επιλέξτε το\... +- **Processor type**: Τι επεξεργαστή έχετε; Και μην απορείτε γιατί ρωτάει, ανάλογα με τον επεξεργαστή σας, θα παράγει εκτελέσιμα που θα είναι βελτιστοποιημένα + για αυτό τον επεξεργαστή. Αν δηλαδή από 486 πάτε σε Pentium, ξανακάντε ένα νέο Kernel. Μόνο χρόνο παίρνει! + + +### [7. Floppy, IDE, and other block devices]{#s7} + +Γενικές επιλογές για το τι προτόκολλα επικοινωνίας θα εγκατασταθούν για την εποικοινωνία με τις συσκευές αποθήκευσης σε δίσκους, και γενικά σε μονάδες +αποθήκευσης δεδομένων. Αχ!! Αν το ήξερα ότι θα ήταν τόσο πολλά, δεν θα το έκανα αυτό το άρθρο!!! + +- **Normal floppy disk support**: Θέλετε Floppy DiskDrive; Αν ναι πείτε ναι (ή Module). ΜΑ ΦΥΣΙΚΑ ΚΑΙ ΘΕΛΕΤΕ!!! Τι λέμε τώρα; +- **Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support**: Δεν νομίζω να είναι κανένας που θα πεί ΟΧΙ σε αυτό εδώ! Σε αντίθεση με την επόμενη ερώτηση, που δε + νομίζω κανένας να πει ΝΑΙ +- **Use old disk-only driver on primary interface**: Δεν νομίζω να είναι κανένας που θα πεί ΝΑΙ σε αυτό εδώ! Σε αντίθεση με την προηγούμενη ερώτηση, που δε + νομίζω κανένας να πει ΟΧΙ +- **Include IDE/ATAPI CDROM support**: Εδώ θα πείτε ναι αν έχετε CDROM που υπακούει σε προσταγές ATAPI, (δηλαδή το συνδέετε σε καλώδιο που είναι ίδιο με το + σκληρό σας δίσκο) (ΟΧΙ SCSI, εντάξει;). Οι περισσότεροι λέμε ΝΑΙ. +- **Include IDE/ATAPI TAPE support**: Υποστήριξη για συσκευές TAPE που ανταποκρίνονται σε ATAPI προτόκολλο. +- **Include IDE/ATAPI FLOPPY support (new)**: Υποστήριξη για συσκευές FLOPPY (Δισκέτες) που ανταποκρίνονται σε ATAPI προτόκολλο. Υπόψη, ότι αν έχετε το LS-120 + ή το ATAPI (όχι παράλληλο ή SCSI) ZIP DRIVE το θέλετε οποσδήποτε!!! +- **SCSI emulation support**: Προσομείωση του προτοκόλλου SCSI στις συσκευές ATAPI έτσι ώστε να μπορούν να χρησιμοποιειθούν οι DRIVERS από τις αντίστοιχες + SCSI συσκευές (λόγω πχ έλλειψης DRIVERS για το ATAPI). Δεν νομίζω να το χρειαστείτε\... Αλλά, εσείς ξέρετε\... +- **Support removable IDE interfaces (PCMCIA)**: PCMCIA υποστήριξη. Τι να εξηγήσω εδώ; +- **CMD640 chipset bugfix/support**: Λόγο του ότι ορισμένα MBoards είναι λίγο **εντομούχα** (Buggy) χρειάζεται μέσω software να κάνουμε κάποιες παρεμβάσεις, + ώστε να μην δημιουργήσουν προβλήματα. Κάτι τέτοιο είναι αυτό\... + - **CMD640 enhanced support**: Πιθανότατα δεν το χρειζόσαστε, το κάνει το BIOS για εσάς. Αλλά αν έχετε παλαιό BIOS, ίσως να αξίζει να το ενεργοποιείσετε. +- **RZ1000 chipset bugfix/support**: και αυτό είναι για **εντομούχο** chipset +- **Intel 82371 PIIX (Triton I/II) DMA support**: Αν το chipset σας είναι Intel 82371 PIIX (Triton I/II), τότε συμπεριλάβετε αυτή την επιλογή για καλύτερη + απόκριση του σκληρού σας δίσκου. Ρίξτε και μια ματιά στο HELP για να δείτε τι ακριβώς κάνατε. +- **Other IDE chipset support**: Εδώ πρέπει να ρίξετε πολύ διάβασμα. Καταρχάς, πατήστε το για να δείτε για ποια chipset έχουμε κάτι. Αν περιλαμβάνεται το δικό + σας, πηγαίνετε στο HELP το οποίο θα σας παραπέμψει σε ένα README. Διαβάστε το καλά πριν κάνετε κάτι +- **Loopback device support**: Αν γράφετε CD, θα σας φανεί χρήσιμο. Θα μπορείτε πχ. να βλέπετε το IMAGE ενός CDιού που θέλετε να γράψετε, σαν να ήταν + κανονικός δίσκος. +- **Multiple devices driver support**: Αν το επιλέξετε, θα μπορείτε να έχετε υποστήριξη για τα παρακάτω MODES του RAID. Το RAID είναι -χοντρικά- ένας τρόπος + διαχείρισης των δίσκων σας, η εξήγηση του οποίου δεν είναι του παρόντος. Χρησιμοποιείστε το HELP για να δείτε τι ακριβώς κάνει το κάθε ένα, και επιλέξτε αν + θέλετε κάποιο. + - **Linear (append) mode**\\ + - **RAID-0 (striping) mode**\\ + - **RAID-1 (mirroring) mode**/ Κοιτάξτε στο HELP για λεπτομέρειες στα διάφορα MODES του RAID. + - **RAID-4/RAID-5 mode**/ +- **RAM disk support**: Αυτή είναι μια επιλογή στην οποία μπορείτε να χρησιμοποιήσετε ένα κομμάτι από τη RAM σα να ήταν δίσκος, να την φορμάρετε (πολύ γρήγορο + φορμάρισμα!!) να διαβάσετε και να γράψετε σε αυτήν, και οτιδίποτε άλλο κάνετε σε ένα σκληρό δίσκο. Πιθανότατα δεν θα σας χρειαστεί. +- **XT harddisk support**: Δε νομίζω να έχετε (και να θέλετε να χρησιμοποιήσετε) δίσκο από το ΧΤ σας\... Αλλά αν έχετε (και θέλετε να τον χρησιμοποιήσετε) + αυτό είναι που χρειάζεστε! ΖΗΤΩ!!! Επιτέλους, ο 20ΜΒ σκληρός μου δίσκος ξανά προς τη δόξα τραβά!!! +- **Parallel port IDE device support**: Μερικα CD και άλλου είδους αποθηκευτικά μέσα, συνδέονται στην παράλληλη. Διαβάστε στο HELP, και αναλόγως πράξτε. + **ΠΡΟΣΟΧΗ!!! Αν έχετε ZIP DRIVE (PARALLEL) *δεν είναι τούτο \'δώ* αυτό που πρέπει να χρησιμοποιήσετε\... θα το πούμε παρακάτω για το ZIPάκι σας!!!** + + +### [8. Networking options]{#s8} + +Σε αυτό το βήμα της δημιουργίας του πυρήνα, ομολογώ ότι παρόλο που ξέρω πανω-κατω τι κάνει το καθένα, δεν έχω τις απαραίτητες γνώσεις (και φυσικά τα απαραίτητα +μέσα για να μάθω, αλλιώς θα ήξερα) για να σας κατευθύνω. Καλύτερα λοιπόν να μην βασιστείτε μόνο στα γραφόμενά μου, αλλά και σε διάβασμα τόσο της βοήθειας που +απλόχερα δίνεται σε όλο το στάδιο της προετοιμασίας του πυρήνα από το SETUP αλλά και από οτιδίποτε άλλο έχετε (Βιβλία για παράδειγμα). YOU ARE WARNED.- + +Επίσης, να αναφέρουμε ότι εκτός από μερικές επιλογές που πιθανότατα θα χρειαστεί ένας απλός χρήστης, σε αυτό το MENU περιέχονται πολλές **εξειδικευμένες** +λειτουργίες, που πιθανότατα ούτε εσείς δεν θα καταλάβετε. Μην πτοηθείτε, συνεχίστε και να θυμάστε ότι κακό δεν μπορείτε να του κάνετε!!! + +- **Network firewalls**: Το *Firewall (πυροντούβαρο!!)* είναι ένας τρόπος προστασίας από το συνολικό δύκτιο (πχ το internet) του τοπικού σας δικτύου. Όλη η + κίνηση από και πρός το δίκτυό σας, ελέγχεται από τον υπολογιστή με το Firewall πριν συνεχίσει την πορεία του. Αυξημένες απαιτήσεις ασφαλείας έχετε; + **ΔΙΑΒΑΣΤΕ ΚΑΙ ΤΟ HELP** +- **Network aliasing**: Πολλαπλές IP διευθύνσεις σε ένα μηχάνημα! +- **TCP/IP networking**: Ε, εάν θέλετε να έχετε internet, βάλτε το\... Αχρείαστο να ναι!!! χι χι χι! +- **IP: forwarding/gatewaying**: Μήπως θέλεις το Linuxάκι σου να το χρησιμοποιείς σα Router, έτσι ώστε όλο το τοπικό σας δίκτυο να έχει πρόσβαση στο internet, + και ο καθένας να παίρνει αυτά που ζήτησε, και όχι αυτά που ζήτησε ο άλλος; Θέλεις; Στηρίξου σε αυτή την επιλογή του SETUP, και μείνε ήσυχος. +- **IP: multicasting**: Διάβασε το HELP. Αν δεν καταλάβες τι λέει, μην το βάλεις. Τόσο απλά (εγώ δεν κατάλαβα πάντως\...) +- **IP: syn cookies**: **(ΑΠΟ ΤΟ HELP)**. Προστασία από ένα είδος επίθεσης, το SYN FLOODING. Θα μπορούν να συνδεθούν στο δίκτυό σου ακόμα και αν δέχεσαι τη + συγκεκριμένη επίθεση, και καπάκι σου λεει το IP του δράστη! +- **IP: firewalling**: Αν πεις ναι σε αυτό, πρέπει να πεις ναι και στην 1η επιλογή, την **Network firewalls**. Είπαμε τι είναι το firewall. Ρίξε και μια ματιά + στο HELP +- **IP: firewall packet logging**: Με αυτή την επιλογή, θα μπορείς μέσω ενός deamon να παρακολουθήσεις τι έγιναν τα πακέτα δεδομένων που διαχειρίστηκε το + firewall σου. Αν έβαλες firewall, βάλε και αυτό! +- **IP: masquerading**: masquerading είναι μια τεχνική κατά την οποία όλοι οι υπολογιστές ενός τοπικού δικτύου λαμβάνουν και στέλνουν δεδομένα στο ευρύτερο + δίκτυο, σα να τα έστελναν αυτοί (παρόλο που είναι γνωστό ότι αυτή τη δουλειά την κάνει το firewall). Το firewall θα ξέρει που να στείλει τι, και το + εξωτερικό δίκτυο θα βλέπει ότι τα έστειλε το firewall. \`Ετσι, όλοι είναι ευχαριστιμένοι! +- **IP: ipautofw masquerading (EXPERIMENTAL)**: Παιδιά, μακάρι να ξερα τι κάνουν αυτά. +- **IP: ipportfw masq & virtual server support**: Βλέπε προηγούμενη επιλογή +- **IP: ICMP masquerading**: Προσθέτει κάποιες παραπάνω λειτουργίες στον τρόπο που γίνεται το masquerading. Τόσα ξέρω - τόσα λέω +- **IP: transparent proxy support (EXPERIMENTAL)**: Αυτή η επιλογή κάνει το firewall σας να ανακατευθήνει εξερχόμενα πακέτα προς ένα διακομιστή που βρίσκεται + στο τοπικό δίκτυο, ξεγελώντας έτσι τους υπολογιστές που νομίζουν ότι μιλάνε με τον αρχικό τους στόχο. +- **IP: always defragment**: Σιγουρεύει ότι όλα τα πακέτα, πριν επαναδρομολογηθούν θα ενοθούν ξανά, μια και τα περισσότερα κόβονται κατά τη διάρκεια του + ταξιδιού τους. Αυτό από ότι λέει στο HELP είναι καλό, και αν κατάλαβα και εγώ ακριβώς τι εννοεί, είναι όντος καλό διότι υπάρχει περίπτωση να χαθούν + ορισμένες συμαντικές πληροφορίες που είναι κομμένες στη διάρκεια του ταξιδιού τους. +- **IP: accounting**: Είσαστε MANIΑC της στατιστικής και θέλετε να ξέρετε τα πάντα για την κίνηση του firewall η του router σας; Επιλέξτε το! +- **IP: optimize as router not host**: Διεργασία κατά την οποία το λειτουργικό σας βελτιστοποιείται ίνα χρησιμοποίηθεί ως ROUTER. +- **IP: tunneling**: Το tunneling είναι μια τεχνική, κατά την οποία ένα πακέτο IP κλείνεται (ενθυλακόνεται) μέσα σε ένα άλλο πακέτο IP. Παρόλο που δεν είναι + λογικό από πρώτης άποψης (και καλά, ίσως να ήταν πιο λογικό να ενθυλακόνεις ένα προτόκολλο μέσα σε ένα άλλο, θα μου πείτε), το tunneling χρησιμοποιείται + όταν πχ θέλουμε να φαίνεται ένα άλλο δίκτυο από αυτό που είμαστε, ή ένας φορητός υπολογιστής θα μπορούσε να έχει το ίδιο IP από όπου και να συνδεόταν. +- **IP: multicast routing (EXPERIMENTAL)**: Αν θέλεις ο ROUTER σου να στέλνει τα πακέτα προς πολλές κατευθύνσεις, το χρειάζεσαι. +- **IP: aliasing support**: Θα το χρειαστείς μόνο αν θές στον ίδιο υπολογιστή να λαμβάνεις πχ. δύο IP διευθύνσεις, και να στέλνεις πακέτα ανάλογα με τη + διεύθυνση που χρησιμοποίησαν για να συνδεθούν μαζί σου. Είναι αληλένδετη με τη δεύτερη επιλογή σε αυτό το MENU +- **IP: PC/TCP compatibility mode**: Σε μερικές περιπτώσεις, για να επιτευχθεί σύνδεση TELNET στον υπολογιστή σου χρειάζεται αυτό. Για περισσότερες + πληροφορίες, ρίξε μια ματιά στο HELP που περιέχει. +- **IP: Reverse ARP**: Διαβάστε το HELP, και πράξτε ανάλογα με τη συμβουλή της τελευταίας γραμμής. +- **IP: Disable Path MTU Discovery (normally enabled)**: Φαντάσου τους υπολογιστές σαν κροκόδειλους. Ταίζουμε με ένα μεγάλο κομμάτι κρέας, και αν το φάει, + έχει καλως, του ξαναδίνουμε μεγάλο. Αν όμως αρχίσει και το κόβει κομμάτια, τότε το επόμενο που θα του δώσουμε θα πρέπει να είναι μικρότερο (να μη μας + κουραστεί κιόλα). \`Ετσι κάνει και ο υπολογιστής. Στέλνει μεγάλα πακέτα, και αν τελικά αποδειχτουν μεγάλα, τα κόβει σε μικρότερα και τα στέλνει. + (Αναπροσαρμόζει δηλαδή την MTU = MAXIMUM TRANSFER UNIT). Ενεργοποιόντας αυτή την επιλογή, **ΑΠΕΝΕΡΓΟΠΟΙΟΥΜΕ** αυτή τη λειτουργία. ΜΗΝ ΤΟ ΚΑΝΕΤΕ! +- **IP: Drop source routed frames**: Υπάρχει μια επιλογή στο IP προτόκολλο, που εκτός από τον προορισμό, τα πακέτα περιέχουν και την πληροφορία για τη + διαδρομή που θα ακολουθήσει το πακέτο. Εκτός του ότι η χρησιμότητά μιας τέτοιας τακτικής είναι αμφίβολη, μερικές φορές, για λόγους ασφαλείας, είναι καλό να + \"πετάμε\" αυτή την πληροφορία, και να κάνουμε τη δρομολόγηση εμείς. +- **IP: Allow large windows (not recommended if \<16Mb of memory)**: Αν η σύνδεσή σας είναι μεγαλύτερη από 2ΜΒΙΤ, τότε ίσως να σας χρησιμεύσει. Σε αυτή την + περίπτωση, διαβάστε το HELP. +- **The IPX protocol**: Υποστήριξη για το IPX προτόκολλο, το προτόκολλο της NOVELL. Αν στο δίκτυό σας έχετε NOVELL, το θέλετε!!! +- **Appletalk DDP**: Υποστήριξη για το APPLETALK προτόκολλο, για τους υπολογιστές - μήλα. Αν στο δίκτυό σας έχετε APPLE, το θέλετε!!! +- **Amateur Radio AX.25 Level 2**: Εξειδικευμένο προτόκολλο. Δες το HELP για περισσότερες πληροφορίες +- **Amateur Radio NET/ROM**: Εξειδικευμένο προτόκολλο. Δες το HELP για περισσότερες πληροφορίες +- **Amateur Radio X.25 PLP (Rose)**: Εξειδικευμένο προτόκολλο. Δες το HELP για περισσότερες πληροφορίες +- **Bridging (EXPERIMENTAL)**: Αν θέλεις να φαίνονται στον έξω κόσμο όλες οι ETHERNET κάρτες σου σαν μια, χρησιμοποίησε αυτό. Επίσης χρησιμοποίησε το HELP για + να δεις που μπορεί να χρησιμεύσει κάτι τέτοιο. +- **Kernel/User network link driver**: Εξειδικευμένη λειτουργία, για την οποία χρειάζεται κάτι παραπάνω από τις δικές μου γνώσεις. Ρίξτε μια ματιά στο HELP, + και αν καταλάβετε τίποτα, στείλτε μου και εμένα ένα mail να μου εξηγήσετε\... :))) + +\`Οπως είπα και στην αρχή, οι περισσότερες από της επιλογές αυτού του MENU είναι αρκετά εξειδικευμένες, και αφορούν στη χρήση του Linux για σκοπούς SERVER, +PROXY, FIREWALL, και άλλες πολύπλοκες διεργασίες, πράγματα τα οποία στο 99,9% των χρηστών είναι ουσιαστικά άγνωστα (και άχρηστα). Εδώ φαίνεται και η ικανότητα +του Linux να ανταπεξέλθει σε συνθήκες σκληρής δουλειάς, και μεικτού περιβάλλοντος, και φυσικά η εγγενής δικτιακή του υποστήριξη. Καταλαβαίνουμε λοιπόν ότι οι +περισσότεροι από εμάς, δεν χρησιμοποιούν ούτε το 10% αυτού του πολύπλοκου και συνάμα σκληροτράχηλου λειτουργικού. Αντιλαμβανόμαστε επίσης γιατί το Linux είναι +τόσο δύσκολο να χρησιμοποιηθεί από κοινούς χρήστες ώστε να γίνει πλήρης εκμετάλευσή του. **ΦΙΛΑΚΙΑ!!!!** + diff --git a/content/articles/12/02_lin_for_dummies.md b/content/articles/12/02_lin_for_dummies.md new file mode 100644 index 0000000..177590a --- /dev/null +++ b/content/articles/12/02_lin_for_dummies.md @@ -0,0 +1,270 @@ ++++ +title = 'Linux για τους νοητικά ασθενείς,' +date = '' +description = '' +author = 'Κοτσιφάκης Θρασύβουλος' +issue = ['Magaz 12'] +issue_weight = 2 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Ένα άρθρο γι\' όλους εμάς τους αρχάριους που ήρθαμε ουρανοκατέβατοι. Τα πρώτα βήματα στο LINUX με αρκετή δόση χιούμορ.**Strictly for beginers**. Όλοι οι +υπόλοιποι ας προσπεράσουν.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Γιατί μαμά;** +---------------------------------------------------- + +**2. Τα πρώτα του λογάκια!!.** +---------------------------------------------------------------- + +**3. Τα πρώτα μας λογάκια!!.** +---------------------------------------------------------------- + +**4. Τα πρώτα του βήματα.** +------------------------------------------------------------- + +**5. Οδηγίες για την σωστή ανατροφή του.** +---------------------------------------------------------------------------- + + +### [1. Γιατί μαμά;]{#s1} + +Πολλές φορές ακούω από συζητήσεις ότι ο τάδε έβαλε **LINUX** αλλά μετά από λίγο καιρό το παράτησε γιατί ήταν δύσκολο ή ότι ο δείνα δεν βάζει **LINUX** γιατί +φοβάται μην μπλέξει ή να μην (άκουσων άκουσων) χαλάσει τον υπολογιστή του. Η αλήθεια είναι ότι το **LINUX** δεν είναι ούτε ότι πιο εύχρηστο υπάρχει στον χώρο +των λειτουργικών συστημάτων ούτε είναι απλό στην εκμάθηση του.Χρειάζεται πολύς κόπος, χρόνος, διάβασμα και κατανάλωση φαιάς ουσίας για να το κάνει κάποιος κτήμα +του. Όμως το **LINUX** είναι ένα έξυπνο λειτουργικό σύστημα που βάζει τον χρήστη να σκεφτεί, να ψάξει και να γνωρίσει τον υπολογιστή του σε βάθος.Σίγουρα αξίζει +τον κόπο,και τα αποτελέσματα δικαιώνουν τον χρήστη που το επέλεξε σαν λειτουργικό. Ένα άρθρο λοιπόν γι\' όλους αυτούς που ήρθαν ουρανοκατέβατοι και δεν ξέρουν +την τύφλα τους. + + +### [2. Τα πρώτα του λογάκια!!.]{#s2} + +Και ας υποθέσουμε τώρα ότι πήγατε στο Happening του **HELLUG** ήπιατε το τσίπουρό σας και εφοδιαστήκατε με το ασημί δισκάκι που προσέφεραν τα παιδιά εκεί.Πήγατε +στο σπίτι σας και αντί να κάνετε το δισκάκι σουβεράκι, το βάλατε στο cd drive του κουβά,που πριν από λίγους μήνες αγοράσατε πανάκριβα για υπολογιστή, και που +τώρα η Intel τον έχει κάνει\.....το \'παμε κουβά. Αφού βάλατε που βάλατε το δισκάκι στο drive εγκαταστήστε τώρα LINUXάκι. Αυτό πια είναι εύκολο.Με τις ρουτίνες +εγκατάστασης που υπάρχουν σε κάθε distribution το σετάρισμα θυμίζει τα ακατανόμαστα (λέγε με W95). Στο τέλος της εγκατάστασης θα σας ζητηθεί ένα password, +πληκτρολογήστε το επιβεβαιώστε το και μην το ξεχάσετε. Κάποια στιγμή ,επίσης, στο τέλος θα σας ζητηθεί να κάνετε reboot,κάντε το. Την επόμενη στιγμή θα ακούτε +τον κουβά σας να αγκομαχεί στην προσπάθεια του να ξεκινήσει.Κάποια περίεργα μηνύματα θα εμφανιστούν στην οθόνη ενώ ο σκληρός δίσκος θα μαλακώνει από τις +αλλεπάλληλες επισκέψεις των κεφαλών επάνω του. Και ξάφνου σιωπή.Ένα περίεργο και ακαταλαβίστικο μήνυμα στοιχειώνει στην οθόνη . + +**Login:** + +ο κέρσορας αναβοσβήνει δίπλα του κι εσείς ατάραχοι πληκτρολογείται: + +**root** + +Αμέσως μετά κι άλλο μήνυμα έρχεται να στοιχειώσει την οθόνη σας + +**password:** + +Γράφεται το password που βάλατε κάπου στην εγκατάσταση (θυμάστε;) Ακούτε για άλλη μια φορά τον δίσκο να βογγάει και η οθόνη αλλάζει. Τώρα γράφει κάτι σαν το +παρακάτω: + +**localhost:**root\# + +\...\...\...Τώρα αρχίζουν τα δύσκολα!!. + + +### [3. Τα πρώτα μας λογάκια!!.]{#s3} + +Και τώρα τι κάνουμε; Έχουμε μπει στο **LINUX** και κοιτάμε την υπέροχη μαύρη οθόνη μας με τον κέρσορα να αναβοσβήνει απειλητικά.Εμείς όμως απτόητοι πάμε να +ανακαλύψουμε τα μυστικά του.Πως θα δούμε λοιπόν τι περιεχόμενα έχει ο υπολογιστής μας; Πληκτρολογούμε: + +**ls** + +και ως εκ θαύματος παίρνουμε μία λίστα για το τι υπάρχει μέσα στον τρέχοντα κατάλογο.!ΜΑΓΕΙΑ!.Όπως καταλαβαίνεται η εντολή **\"ls\"** είναι για να μας δείχνει +τα περιεχόμενα των καταλόγων μας.Μπορείτε να χρησιμοποιήσετε και διάφορες παραμέτρους όπως: + +- **-l** μας δίνει τα ονόματα των αρχείων,το μέγεθος,πότε άλλαξαν τελευταία φορά,και τι επιτρέπεται στον κάθε χρήστη να τα κάνει. +- **-a** μας δίνει τα ονόματα όλων των αρχείων, και των κρυφών. +- **-A** μας δίνει λίστα χωρίς τα σύμβολα \".\" και \"..\" +- **-F** χαρακτηρίζει τα περιεχόμενα \"\*\" για εκτελέσιμα \"/\" για καταλόγους \"@\" για links (κάτι ανάλογο με τα shortcuts) + +Υπάρχουν κι άλλες παράμετροι αλλά βρείτε τις μόνοι σας. + +Επόμενο βήμα να περιπλανηθούμε στο σύστημα.Τώρα γράψτε: + +**cd /** πατώντας το ENTER βλέπουμε το μήνυμα αριστερά από τον κέρσορα να αλλάζει και από: + + localhost:/root# + +να γίνεται : + +**localhost:/\#** + +Έχουμε αλλάξει πλέον κατάλογο και βρισκόμαστε στην αρχή (root) του δέντρου που σχηματίζει την μορφή των καταλόγων μας.Εάν κάνουμε **ls -F** από εδώ η έξοδος θα +δείχνει κάπως έτσι: + + etc/ mnt/ root/ var/ + bin/ home/ opt/ sbin/ + boot/ lib/ proc/ tmp/ + dev/ lost+found/ root/ usr/ + +Όπως καλά καταλάβατε το σύμβολο **/** χρησιμοποιείται για να υποδείξει καταλόγους.Ας εξηγήσουμε κάποιους απ αυτούς. + +- **bin** εδώ κρύβονται βασικές εντολές του συστήματος. +- **boot** εδώ συνήθως βρίσκονται κρίσιμα αρχεία και ο πυρήνας του λειτουργικού. +- **dev** εδώ υπάρχουν ειδικά αρχεία συσκευών (κάντε ένα ls να πάθετε κολούμπρα). +- **etc** εδώ υπάρχουν αρχεία configuration +- **home** εδώ φυλάγονται τα αρχεία του κάθε χρήστη. +- **usr** μέσα στους υποκαταλόγους του /usr συνήθως κρύβεται το χάος, ανακαλύψτε το. + +Και ένα μικρό μυστικό.*Αν θέλουμε να δούμε που βρισκόμαστε στο σύστημα γράφουμε την εντολή **pwd** (print working directory)*. + +Ωραία η εξερεύνηση ρε παιδιά αλλά ας κάνουμε και κάτι παραγωγικό. + + +### [4. Τα πρώτα του βήματα.]{#s4} + +Ας φτιάξουμε το πρώτο μας αρχειάκι.Πληκτρολογείστε: + +**vi test** + +Ο **vi** είναι ένας πανάρχαιος text editor που απαιτεί να έχεις χέρια πλοκάμια για να τον χρησιμοποιήσεις, αλλά η γνώση του είναι must στους χώρους των Unix +users. + +Πατήστε το πλήκτρο **i** (insert mode) και γράψτε: + + hello .. HELLO + auto einai ena + arxeio dokimhs + telos. + + Πατήστε τώρα το Esc (command mode). + Πατήστε το : και χωρίς να πατήσετε Enter + πατήστε χ πατήστε το Enter. + Τώρα έχετε σώσει στον τρέχοντα κατάλογο + ένα αρχείο με όνομα test + Δώστε cat test + Θα πάρετε σαν έξοδο αυτά που γράψατε στο test. + +Κάντε τα ίδια βήματα πάλι αλλά αυτή τη φορά αλλάξτε το κείμενο και oνομάστε το αρχείο *test1*. + + Δώστε: cat test1 + Θα πάρετε σαν έξοδο αυτά που γράψατε στο test1. + +Τώρα γράψτε: + + cat test test1 > test2 + και πατήστε Enter + +θα δημιουργηθεί ένα αρχείο με όνομα *test2* στο οποίο αν κάνετε **cat test2** θα δείτε τα περιεχόμενα του *test1* κάτω απ \'αυτά του *test*. **Τρομερό +ε;**.Τέλος πάντων αυτός είναι ένας τρόπος να συνδιάζουμε περιεχόμενα αρχείων.Φαίνεται άσκοπο αλλά είναι πολύ χρήσιμο. + +Άς υποθέσουμε τώρα ότι θέλουμε να αντιγράψουμε το αρχείο **test2** στον υποκατάλογο /usr/local/. + +**cp test2 /usr/local** + +Όπως θα δείτε το αρχείο υπάρχει πλέον σε δύο σημεία.Στον κατάλογο που το είχατε δημιουργήσει, και στο /usr/local/.Όμως εμείς σαν ανήσυχα μυαλά που είμαστε δεν +το θέλουμε το αρχείο στο */usr/local* αλλά κάπου αλλού π.χ. στο */home*. + +**mv /usr/local/test2 /home** + +Και ως δια μαγείας το αρχείο εξαφανίζεται από το /usr/local και διακτινίζεται στο /home. + +Ωραία τώρα ξεθαρρέψαμε,φτιάχνουμε δικά μας αρχεία,τα αντιγράφουμε,τα μεταφέρουμε και γενικώς έχομεν χάσει τον μπούσουλα. Ψάχνουμε να τα βρούμε αλλά αυτά έχουν +εξαφανιστεί. + +**find / -name \"όνομα αρχείου που θέλουμε να βρούμε\"** + +Τώρα ξέρουμε και πως να βρίσκουμε αρχεία. Πως τα σβήνουμε όμως; + +**rm \[όνομα αρχείου που θέλουμε να σβήσουμε\]** + +Ωραία λοιπόν κάναμε τα πρώτα μας βήματα στο **LINUX** είμαστε χαρούμενοι πια που δεν κοιτάμε απλώς την οθόνη αλλά της γράφουμε και κάτι απάνω, και γενικώς +ευελπιστούμε οτι μια μέρα θα γίνουμε κι εμείς **LINUX GURU** και θα κοιτάμε τους αρχάριους αφ\' υψηλού. + +Αφού γράψαμε, σβήσαμε, χάσαμε, ξαναβρήκαμε την δουλειά μας καιρός να την μεταφέρουμε κι όλας, βάζουμε την δισκέττα στο drive και ετοιμαζόμαστε να αντιγράψουμε +τα πολύτιμα αρχεία μας σ\' αυτήν.**Πώς όμως;**, το linux δεν είναι msdos εμείς έχουμε όλες μας τις δισκέττες φορμαρισμένες σε dos format τώρα τι γίνεται; + + Ευτυχώς το Linux υποστηρίζει και άλλα συστήματα αρχείων εκτός + του δικού του (ext2fs) + Μερικά απ' αυτά είναι : + a)msdos: Φυσικά μιλάμε για το γνωστό msdos με το κουλό σύστημα ονομασίας 8.3 + b)vfat: Το σύστημα αρχείων των ακατανόμαστων που υποστηρίζει long filenames + +Ουφ! Ησυχάσαμε τώρα αφού μπορούμε να χρησιμοποιήσουμε τις δισκέττες μας όπως είναι χωρίς να μπλέξουμε με φορμαρίσματα και άλλα λοιπά περίεργα.Γράφουμε λοιπόν +*a:* συνηθισμένοι από το dos αλλά δεν γίνεται τίποτα.*Πως θα διαβάσουμε και θα γράψουμε στις δισκέττες μας;*.Η λύση είναι η εντολή **mount**. Πριν πούμε όμως +γι\' αυτήν ας δούμε μια άλλη εντολή. + +**mkdir /floppy** + +Η εντολή αυτή φτιάχνει καταλόγους. Στην συγκεκριμένη περίπτωση φτιάχνει έναν κατάλογο στην αρχή του δέντρου ο οποίος ονομάζετε *floppy* . Όπως θα είδατε κατά τη +διαδικασία της εγκατάστασης οι σκληροί δίσκοι ονομάζονται με την σύντμηση τους (hd για IDE και sd για SCSI) και έναν αριθμό (0 για τον πρώτο 1 για τον δεύτερο +κ.ο.κ) έτσι και τα floppy disk (fd0, fd1 κλπ).Για να δούμε τώρα το floppy του κουβά μας πρέπει να το εντάξουμε στο σύστημα.Αυτό γίνεται με την *mount*.Βάσική +προυπόθεση να γνωρίζουμε τι format είναι οι δισκέττες μας. Ας δώσουμε λοιπόν: + +**mount -t vfat /dev/fd0 /floppy** + +Ακούμε τώρα το drive να δουλεύει και αλλάζουμε κατάλογο. + +**cd /floppy** + +**cp {αρχείο που θέλουμε να αντιγράψουμε-διαδρομή και όνομα-} /floppy** + +**ls -F** + +Βλέπουμε με περηφάνεια ότι καταφέραμε να αντιγράψουμε το αρχείο μας στο floppy και περιχαρείς ετοιμαζόμαστε να βγάλουμε τη δισκέττα απο το drive.OXI MH !! +Πρέπει πρώτα να απενεργοποιήσουμε τη συσκευή. + +**umount /dev/floppy** + +Μ\' αυτήν την εντολή απενεργοποιήσαμε το floppy .Βγάλτε τώρα τη δισκέττα και κάντε την ότι θέλετε. + +Και με το cdrom τι γίνεται; Η εντολή είναι ίδια με την διαφορά ότι εδώ δεν μας απασχολούν τα διαφορετικά format αφού το format είναι ένα το iso9660, οπότε όταν +έχετε να διαβάσετε ένα cd γράψτε: + +**mount -t iso9660 /dev/cdrom /cdrom** + +Και με τα audio cd τι γίνεται;Διαβάστε το Sound HOWTO και θα έχετε και ήχο (Ωραίο πράγμα ρε παιδί μου να ακούς τους **MOTORHEAD** από τα ηχειάκια του υπολογιστή +σου ένώ βλέπεις τις τελευταίες τσοντοφωτογραφίες της Πάμελα που κατέβασες από το internet). + +Αν δεν έχετε */cdrom* φτιάξτε το.Συνήθως οι κατάλογοι /floppy και /cdrom βρίσκονται μέσα στον κατάλογο */mnt* τροποποιείστε ανάλογα το μονοπάτι του δεύτερου +κομματιού της mount και όλα θα δουλεύουν μια χαρά. + +Μετά απ\' όλα αυτά τα εποικοδομητικά καιρός να κλείσουμε τον κουβά μας και να πάμε για ύπνο (το έτερον ήμισυ φωνάζει από το μέσα δωμάτιο ότι θα φύγει και θα +πάρει μαζί της και την kerosan) + +Έτοιμοι πια να αντιμετωπίσουμε άλλον ένα συζυγικό καυγά με θέμα το πόσες ώρες θα αφιερώνουμε σε \'κεινη και πόσες στον υπολογιστή, κατευθύνουμε το χέρι μας στο +κουμπί POWER του αγαπημένου μας(\...!) **ΠΟΤΕ ΜΑ ΠΟΤΕ** μην το κάνετε αυτό (καλά εντάξει καμμιά φορά χρειάζεται).Δώστε την εντολή: + +**shutdown -h now** + +ή την εντολή : **halt** + +Αν πάλι τελευταία στιγμή αποφασίσατε ότι ο υπολογιστής είναι καλύτερος από τη γυναίκα σας τότε δώστε : + +**shutdown -r now** + +ή την εντολή : **reboot** για να επανεκκινήσετε τον αγαπημένο σας(\...!) + +Τελευταίο αλλά καλό. Πατώντας μαζί Ctrl Alt F1 - F6 μπαίνετε σε διαφορετικές κονσόλες και μπορείτε να δουλεύετε πολλά προγράμματα μαζί (multitasking λέγεται) +αλλά αυτό το ξέρατε ε ξεφτέρια μου; + + +### [5. Οδηγίες για την σωστή ανατροφή του.]{#s5} + +Και τώρα φυσικά θα αναρωτιέστε πως τα ήξερα εγώ όλ\' αυτά ή πως όλοι αυτοί οι γκουρού του είδους γνωρίζουν τόσα πράγματα.Η απάντηση είναι απλή. +**DOCUMENTATION** τι είν\' τούτο πάλι ε; Λοιπόν το *documentation* είναι όλα αυτά που έχουν γραφτεί για το LINUX. Και αρχίζουμε: + +- **man** (εντολή) Σύντμηση της λέξης manual.Μία καλή ιδέα είναι να πάτε στο **/bin** και να κάνετε man σε κάθε αρχείο που υπάρχει εκεί μέσα. Xρήσιμες είναι + οι: +- **man ls**: Οδηγίες για την εντολή ls +- **man cp**: Οδηγίες για την εντολή cp +- **man mv**: Οδηγίες για την εντολή mv +- **man bash**: Οδηγίες για το bash (δεν ξέρετε τι είναι ε; Άντε λοιπόν τι περιμένετε). +- **HOWTO** :Οδηγίες για να κάνετε διάφορα πράγματα. Βρίσκονται συνήθως στο **/usr/doc/HOWTO** +- **Internet** :Υπάρχουν άπειρες λίστες με νέα και πληροφορίες για το LINUX .Δοκιμάστε το [www.dejanews.com](http://www.dejanews.com) που συγκεντρώνει τα + email από διάφορες λίστες και το [linuxwebwatcher.org](http://webwatcher.org) που περιέχει καταχωρίσεις για όλα τα γνωστά sites που σχετίζονται με το linux. +- **magaz** :Μα φυσικά το online περιοδικό που διαβάζετε τώρα. +- **Βιβλία** :Υπάρχουν αρκετά καλά βιβλία σχετικά με το linux (μάλιστα έχει εκδοθεί και κάποιο στα ελληνικά).Κάντε μία βόλτα στο γνωστό μεγαλοβιβλιοπωλείο και + ρίξτε μια ματιά.Τα Βιβλία πάντως που χρησιμοποιώ εγώ σαν οδηγούς είναι:a)**linux Complete Command Reference** , b)**Red Hat Linux Unleashed** (αν και + δουλεύω με SuSe) και σαν pocket guide το **Linux in a nutshell** +- **Περιοδικά** :Το **RAM** έχει αρχίσει εδώ και κάποια τεύχη να γράφει για το linux ενώ υπάρχει και το πολύ καλό **Linux journal**. + +Αυτά λοιπόν για την ώρα.Ελπίζω για αρχή να βοήθησα λίγο .Σε κάποιο μελλοντικό άρθρο ελπίζω να μιλήσουμε για τα *configuration files*. Μέχρι τότε..Αντίο και να +θυμάστε :**Linux the operating system with an attitude**. + diff --git a/content/articles/12/03_nls2.md b/content/articles/12/03_nls2.md new file mode 100644 index 0000000..4d6b4bd --- /dev/null +++ b/content/articles/12/03_nls2.md @@ -0,0 +1,370 @@ ++++ +title = 'NLS+GNU - Τι-πώς-πού-πότε-γιατί;' +date = '1999-02-01T00:00:00Z' +description = '' +author = 'Νίκος Μαυρογιαννόπουλος' +issue = ['Magaz 12'] +issue_weight = 3 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Μιας και το nls χρησιμοποιείται όλο και περισσότερο στα νέα προγράμματα (ιδιαίτερα αυτά που αποτελούν το GNU σύστημα), είναι αναγκαίο να κάνουμε μια περιγραφή +της διαδικασίας που χρειάζεται για να το ενσωματώσουμε και στα δικά μας προγράμματα.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Η άδεια του gettext για τα κομμάτια που θα ενσωματώσουμε στο προγραμμά μας είναι η GNU LGPL που δεν μας περιορίζει στον καθορισμό της άδειας του προγράμματός +μας. Κοιτάξτε την πάντως για να δείτε αν είστε συμβατοί(!). + +Ας προσπεράσουμε όμως τα \"τυπικά\" και ας περάσουμε στο ψητό. Τα προγράμματα που θα χρειαστούμε είναι τα GNU autoconf και gettext-0.10, και βρίσκονται στο πιο +κοντινό gnu mirror. + +\* Εδώ θα προσπαθήσουμε να προσθέσουμε υποστήριξη εθνικής/τοπικής γλώσσας (nls) σε ένα προγραμμα γραμμένο σε C. Ας δούμε ένα απλό πρόγραμμα, που τυπώνει την ώρα +στην οθόνη: + + #include + #include + + main () + { + time_t tv; + + printf( "The time is: " ); + time(&tv); + printf ( "%s",ctime(&tv) ); + + } + +\* Η ώρα όπως και το μήνυμα τυπώνεται στα αγγλικά. Επειδή η μετάφραση πρέπει να γίνει γενικά - δηλαδή το ίδιο πρόγραμμα να τρέχει και στα γερμανικά και στα +ελληνικά και σε οποιαδήποτε άλλη γλώσσα - δεν μεταφράζουμε απ\'ευθείας το κείμενο. Χρησιμοποιούμε τα localedata και την βιβλιοθήκη intl της C βιβλιοθήκης. Ας +χρησιμοποιήσουμε τα localedata (τοπικά δεδομένα) για την ώρα. + +Το ίδιο πρόγραμμα τώρα γίνεται: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + #include + #include + #include + + main () + { + struct tm *tp; + char buf[80]; + time_t date; + + /* Θέτει το locale σύμφωνα με την μεταβλητή περιβάλλοντος LANG ή LANGUAGE + * Για τα ελληνικά πρεπει να είναι el (ISO639) */ + setlocale (LC_TIME, ""); /* Για την ώρα και μόνο */ + + printf( "The time is: " ); + + time(&date); + + /* Μετατρέπει την ώρα έκφραση που συνδέεται με την ζώνη ώρας */ + tp = localtime(&date); + strftime(buf, sizeof buf, "%a %b %e %H:%M:%S %z %Y", tp); + + /* εκτυπώνει την ώρα */ + printf ("%s\n",buf); + + } + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Η ώρα τώρα θα τυπωθεί στην μορφή: `Τετ Νοέ 11 22:44:29 +0200 1998` με ελληνικούς χαρακτήρες όπως βλέπετε (αν LANG=el ή gr για τις +παλιές glibc2). Γι\'αυτό ξεχάστε το ctime και ασχοληθείτε με το strftime(). + +\* Σε περίπτωση που δεν είδατε ελληνικούς χαρακτήρες ελέγξτε αν στο /usr/share/locale/el υπάρχουν τα απαραίτητα αρχεία. Αν δεν υπάρχουν προμηθευτείτε ένα νέο +localedata - συμπεριλαμβάνεται συνήθως στην libc ή εγκαταστήστε το tarball που βρίσκεται στο + + +\* Για την μετάφραση των μηνυμάτων, που είναι και η κυριότερη ιδιότητα του NLS χρησιμοποιείται ο εξής τρόπος: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + #include + #include + #include + #include /* αρχείο της GNU libc */ + + main () + { + struct tm *tp; + char buf[80]; + time_t date; + + /* πέρα απο το LC_ALL υπάρχουν τα LC_TIME, LC_MESSAGES κλπ, τα οποία + * προσδιορίζουν επ'ακριβώς τί μεταφράσεις θα χρησιμοποιήσουμε. + */ + setlocale (LC_ALL, ""); + + bindtextdomain ("my_time", "/usr/share/locale"); + textdomain ("my_time"); + + printf( gettext("The time is: ") ); + + time(&date); + tp = localtime(&date); + strftime(buf, sizeof buf, "%a %b %e %H:%M:%S %z %Y", tp); + + printf ("%s\n",buf); + + } + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Οι εντολές bindtextdomain() και textdomain() αφορούν την nls βιβλιοθήκη (libintl) και την πληροφορούν ότι η μετάφραση του προγράμματος βρίσκεται στο my\_time.mo +στον κατάλογο /usr/share/locale/XX, όπου ΧΧ η γλώσσα του χρήστη (καθορίζεται απο την μεταβλητή LANG ή LANGUAGE). + +Επειδή πολλές φορές το να γράφουμε gettext(\...) είναι επίπονο για πολλά μηνύματα, χρησιμοποιούμε το: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + #define _(Text) gettext(Text) /* στις επικέφαλίδες */ + + printf( _("The time is: ") ); + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Το πρόγραμμα δεν θα λειτουργήσει ακομη με ελληνικά. Χρειάζεται ακόμη την δημιουργία του .po αρχείου. Αυτό είναι σχετικά απλό αν γίνει με το πρόγραμμα xgettext +(από το πακέτο GNU gettext). Για το συγκεκριμένο πρόγραμμα η έξοδος του xgettext είναι: (σύνταξη \"xgettext my\_time.c\") + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + # messages.po + # SOME DESCRIPTIVE TITLE. + # Copyright (C) YEAR Free Software Foundation, Inc. + # FIRST AUTHOR , YEAR. + # + #, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" + "POT-Creation-Date: 1998-11-11 22:52+0200\n" + "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" + "Last-Translator: FULL NAME \n" + "Language-Team: LANGUAGE \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=CHARSET\n" + "Content-Transfer-Encoding: ENCODING\n" + + #: c.c:16 + msgid "The time is: " + msgstr "" + + #end of messages.po + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +και εδώ μετονομάζουμε το messages.po σε el.po, προσθέτοντας ταυτόχρονα στο msgstr την μετάφραση, πχ: msgstr \"Η ώρα είναι: \" + +\* Τελευταίο μέλημα του προγραμματιστή είναι να μετατρέψει αυτό το .po αρχείο σε .mo ή .gmo μορφή. Αυτό επιτυγχάνεται με το πρόγραμμα msgfmt (από το GNU gettext +πάλι). πχ msgfmt el.po -o el.gmo και μετά να αντιγραφεί στο /usr/share/locale/el/LC\_MESSAGES/ το el.gmo σαν my\_time.mo (αυτά τα τελευταία καλό είναι να γίνουν +μέσω κάποιου makefile). + +\* Autoconf Το σημαντικότερο τώρα είναι να αυτοματοποιήσουμε αυτή τη διαδικασία. Αυτό επιτυγχάνεται με το GNU autoconf. Ας φτιάξουμε ένα configure.in που θα +ελέγχει κατά πόσο υπάρχει υποστήριξη nls από την libc και καθώς και του strftime. (για καλύτερες διαμορφώσεις κοιτάξτε στο: +) + +Για να απλοποιήσουμε τα πράγματα θεωρούμε την εξής διαμόρφωση των αρχείων του προγράμματος: (έστω ότι το πρόγραμμα είναι στο /xxx) στον κατάλογο /xxx/ +configure.in: Χρειάζεται για το autoconf (δείτε παρακάτω) config.h.in : (δείτε παρακάτω) + + στον κατάλογο /xxx/src/ + my_time.c : Το πρόγραμμα + + στον κατάλογο /xxx/po/ + my_time.pot : Αυτό είναι το messages.po που δημιουργείται απο το + xgettext απλώς μετονομασμένο + el.po : Το my_time.pot μεταφρασμένο στα ελληνικά + POTFILES.in : Εδώ προσθέτετε όλα τα .c αρχεία στο src που χρησιμοποιούν + το gettext. πχ: + /xxx/src/my_time.c + +Αρκεί τώρα να αντιγράψετε απο το πακέτο gettext-0.10 τα po/Makefile.in στον κατάλογο του προγραμματός /xxx/po/ , όλο τον κατάλογο intl/ στον /xxx/intl/ και τα +ABOUT-NLS, aclocal.m4 στον /xxx . + +Πάμε τώρα στον πρωταρχικό κατάλογο του προγράμματός μας (/xxx) και ας φτιάξουμε το configure.in απο το οποίο θα προκύψει το γνωστό(;) script configure. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + # configure.in for my_time.c + AC_INIT() + AC_CONFIG_HEADER(config.h) + + AC_PROG_CC + AC_PATH_PROG(MAKE,make) + AC_PROG_INSTALL + + VERSION=1.0 + PROGRAMS="my_time" + + AC_PREFIX_DEFAULT(/usr/local) + AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE") + AC_DEFINE_UNQUOTED(VERSION, "$VERSION") + AC_SUBST(PACKAGE) + AC_SUBST(VERSION) + AC_SUBST(PROGRAMS) + + dnl υποστηρίζουμε ελληνικά (τό el είναι απο το iso639 που πρέπει να + dnl χρησιμοποιείται για την ένδειξη γλώσσας στις μεταφράσεις σύμφωνα με το + dnl εγχειρίδιο το gettext.) + ALL_LINGUAS="el" + + dnl Για το gettext 0.10. + ud_GNU_GETTEXT + + AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl) + + AC_FUNC_STRFTIME + + AC_OUTPUT([Makefile src/Makefile intl/Makefile po/Makefile.in + [sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile]) + + #end of configure.in + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +και αμέσως μετά δημιουργούμε ένα config.h.in (είναι βάση του αρχείου config.h που θα συμπεριλαμβάνεται στο πρόγραμμά μας. Η δημιουργία του config.h γίνεται απο +το script configure.) Το config.h.in θα περιέχει: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + # config.h.in for my_time.c + /* Το όνομα του πακέτου (θα χρησιμοποιηθεί για το textdomain) */ + #undef PACKAGE + #undef VERSION + + /* strftime */ + #undef HAVE_STRFTIME + #undef ENABLE_NLS + + #end of config.h.in + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Το Makefile.in για το πρόγραμμα (το Makefile δημιουργείται επίσης αυτόματα απο το configure), πρέπει να έχει σε γενικές γραμμές τα: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + # Makefile.in + CC = @CC@ + LIBS = @LIBS@ + CCOPTS = @CFLAGS@ -I. -I.. + LN = @LN_S@ + INSTALL = @INSTALL@ + prefix = @prefix@ + exec_prefix = @prefix@ + datadir = $(prefix)/lib + bin = $(prefix)/bin + localedir = $(datadir)/locale + DEFS = -DLOCALEDIR=\"$(localedir)\" + SUBDIRS = @INTLSUB@ src @POSUB@ + MAKE = @MAKE@ + INSTALL = @INSTALL@ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +\#Εάν ο κώδικας σας δεν είναι στον src/ κατάλογο χρειάζεται ορισμένες αλλαγές + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + all: + @for subdir in $(SUBDIRS); do \ + echo making all in $$subdir; \ + (cd $$subdir && $(MAKE) all) \ + || case "$(MFLAGS)" in *k*) fail=yes;; *) exit 1;; esac; \ + done && test -z "$$fail" + + install: + @$(INSTALL) my_time $(bin) + @$(MAKE) -C po/ install + + # end of makefile.in + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + # src/Makefile.in + # Εδώ οι επικεφαλίδες είναι περίπου ίδιες με πριν: + CC = @CC@ + LIBS = @LIBS@ + CCOPTS = @CFLAGS@ -I../intl -I. -I.. + LN = @LN_S@ + INSTALL = @INSTALL@ + prefix = @prefix@ + exec_prefix = @prefix@ + datadir = $(prefix)/lib + localedir = $(datadir)/locale + DEFS = -DLOCALEDIR=\"$(localedir)\" + + all: my_time + + my_time: my_time.o + $(CC) $(OBJECTS) -o ../my_time $(LIBDIRS) $(LIBS) + + my_time.o: my_time.c + $(CC) -c my_time.c $(CCOPTS) $(DEFS) + + #end of src/Makefile.in + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Το πρόγραμμα τώρα θα γίνει: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + # src/my_time.c + + #include + #include + #include /* ή "config.h" αν δεν βάλετε το -I. στο Makefile */ + + #ifdef ENABLE_NLS + #include + #endif + + main () + { + #ifdef HAVE_STRFTIME + struct tm *tp; + char buf[80]; + time_t date; + #else + time_t tv; + #endif + + + #ifdef ENABLE_NLS + setlocale (LC_ALL, ""); + bindtextdomain (PACKAGE, LOCALEDIR); + textdomain (PACKAGE); + # define _(Text) gettext(Text) + #else + # define _(Text) (Text) + #endif + + + printf( _("The time is: ") ); + + #ifdef HAVE_STRFTIME_H + time(&date); + tp = localtime(&date); + strftime(buf, sizeof buf, "%a %b %e %H:%M:%S %z %Y", tp); + printf ("%s\n",buf); + #else + time(&tv); + printf ( "%s",ctime(&tv) ); + #endif + + } + + #end of src/my_time.c + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Τώρα τρέχουμε το autoconf που δημιουργεί το configure script. Aν όλα πήγαν καλά έχουμε ένα πρόγραμμα που μιλάει ξένες γλώσσες! + +\* Το παραπάνω κείμενο είναι μια εισαγωγή μόνο στο θέμα. Δεν έιναι σε καμιά περίπτωση πλήρες, αν θέλετε παραπάνω πληροφορίες συμβουλευτείτε τα εγχειρίδια των +προγραμμάτων autoconf, gettext. Περισσότερα για το gettext (και την χρήση του με το autoconf) στο: diff --git a/content/articles/12/04_opti.md b/content/articles/12/04_opti.md new file mode 100644 index 0000000..286749a --- /dev/null +++ b/content/articles/12/04_opti.md @@ -0,0 +1,240 @@ ++++ +title = 'ΕΛΛΗΝΙΚΟ OPTi931 Mini-HOWTO' +date = '1999-02-01T00:00:00Z' +description = '' +author = 'Παύλος Παρίσσης' +issue = ['Magaz 12'] +issue_weight = 4 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το κείμενο αυτό περιγράφει την υποστήριξη του Linux για ήχο με την κάρτα ήχου OPTi82C931.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Τα παρακάτω βήματα είναι αυτά που χρειάστηκαν να γίνουν ώστε η OPTi82C931 να δούλεψη κάτω από Linux. + +**1. Ο εύκολος τρόπος:** +----------------------------------------------- + +**2. Ρυθμίζοντας τον Πυρήνα:** +----------------------------------------------------- + +**3. OPTi82C931 και kernel 2.0.x ή 2.1.Χ** +----------------------------------------------------------------- + +**4. Tips** +---------------------------------- + +kernel, τρέχτε τον οδηγό και θα έχετε ήχο. Αυτή είναι μια πολύ εύκολη λύση αλλά κοστίζει \$20. Υπάρχει και μια δοκιμαστική έκδοση αυτού του οδηγού που είχα +κατεβάσει και δούλεψε τέλεια αλλά είχα ήχο μόνο για 3 ώρες σε κάθε τρέξιμο του οδηγού και επιπλέον θα έπρεπε να κατεβάζω και να ξανά κατεβάζω τον οδηγό +συνεχεία!. Επειδή είναι τρελό να δώσετε \$20 για έναν οδηγό για μια κάρτα που κοστίζει \$15 διαβάστε τα παρακάτω και σε 30 λεπτά θα έχετε ήχο για πάντα, δωρεάν +και θα εμπλουτίσετε τις γνώσεις σας. + + +### [2. Ρυθμίζοντας τον Πυρήνα:]{#s2} + +Αυτές οι οδηγίες αρμόζουν μόνο στους kernel 2.0.x για τους kernel 2.1.Χ και 2.2.X θα αναφερθώ αργότερα.\ +Πρέπει να κάνετε compile τον ήχο σαν module. Θα πρέπει να έχετε και τον [OSS Free Sound Driver](../files/ossfree38s9-linux20x_tar.gz) κατεβαστέ την τελευταία +έκδοση κάντε ότι λεει το [README](../files/ossfree38s-linux20x.README) αρχείο και ξεκινήστε την διαδικασία compile με make config(menu ή xconfig) και δώστε τις +παρακάτω σαν απαντήσεις : + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + + M Sound card support + + Y Generic OPL2/OPL3 FM synthesizer support + + Y MPU-401 support (NOT for SB16) + + Y Microsoft Sound System support + + Y FM synthesizer (YM3812/OPL-3) support + + 330 I/O base for MPU401 Check from manual of the card + + 5 MPU401 IRQ Check from manual of the card + + 530 MSS/WSS I/O base 530, 604, E80 or F40 + + 7 MSS/WSS IRQ 7, 9, 10 or 11 + + 0 MSS/WSS DMA 0, 1 or 3 + + 1 MSS/WSS second DMA (if possible) 0, 1 or 3 + + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Είναι χρήσιμο να πατε στο DOS/Windows και στον κατάλογο OPTI931 να τρέξετε sndinit /b έτσι θα δείτε τα IRQ μετά οποία είναι σεταρισμένη η κάρτα σας. Ακόμα αν +θέλετε να δείτε τα IRQ που δέχονται ή όχι οι συσκευές ανοίχτε το /etc/isapnp.conf αλλά είναι σχετικά απίθανο να έχει διαφορετικά από ότι πρέπει να δώσετε +σύμφωνα με τα παραπάνω. + +Μετά κάντε τα κλασσικά βήματα make dep, make clean, make zImage, make modules και make modules\_install. + +- ISAPNPTOOLS: + + Το επόμενο βήμα είναι να κατεβάσετε εάν δεν έχετε και να τρέξετε το isapnp. Μπορείτε να το κατεβάσετε τα [από εδώ](../files/isapnptools-1.17-0.1.i386.rpm). + Μόλις τελειώσετε με το setup των tools τρέχτε isapnp και έτσι θα δημιουργηθεί ένα [/etc/isapnp.conf](../files/isapnp.conf) αρχείο μετά τρέχτε pnpdump \> + isapnp.conf. + + Σε αυτό το σημείο θέλει μεγάλη προσοχή, πρέπει να τροποποιήσετε το isapnp.conf ώστε να ταιριάζει με τις τιμές που δώσατε στο compile. \'Εχω διαθέσιμο το + δικό μου isapnp.conf(κάνε το link το αρχείο) ώστε να το έχετε σαν οδηγώ. Το πιο σημαντικό από όλα είναι να προσθέστε την παρακάτω γραμμή στο isapnp.conf : + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + (CSN 1 (LD 0 (REG 2 (POKE 4)))) + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Αυτή η γραμμή απενεργοποιεί το PnP της κάρτας ώστε να μπορούμε να την ρυθμίσουμε έτσι όπως θέλουμε. Μετά τρέχτε isapnp /etc/isapnp.conf και θα πάρετε τα + παρακάτω + + Board 1 has Identity 74 ff ff ff ff 31 09 14 3e: OPT0931 Serial No + 42949672................. + +- Γράφοντας τις ρυθμίσεις στην OPTi931 : + + Πρέπει να κάνουμε compile και να τρέξουμε ένα [μικρό πρόγραμμα](../files/OPTi82C931.c). Ένα μεγάλο ευχαριστώ στον [Donald + MBurns](mailto:donald@sequel.demon.co.uk).\ + Επισκεφθείτε την [σελίδα του](http://www.sequel.demon.co.uk/opti.html) του για να μάθετε περισσότερα για το πρόγραμμα και την OPTi931. Αυτό που κάνει το + πρόγραμμα είναι να γράφει τις ρυθμίσεις της OPTi931. Εδώ είναι και η γραμμή εντολής που θέτει την OPTi931 στις ρυθμίσεις που περιγράψαμε νωρίτερα + + (MSS io-530, irq-7, dma-0, MPU-401 io-330, irq-5). + + Για να κάνετε compile το πρόγραμμα χρησιμοποιήστε τον gcc compiler ή οποίον άλλον θέλετε, εγώ χρησιμοποιώ τον gcc και κάντε compile έτσι: + + gcc -O3 OPTi82C931.c -o OPTi82C931 + + και μετά τρέχτε το : + + ./OPTi82C931 0 0x07 1 0x07 3 0x09 4 0x14 5 0x3E** 0x92 + + και θα πρέπει να δείτε τα παρακάτω : + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + MCR0 <- 07 + MCR1 <- 07 + MCR3 <- 09 + MCR4 <- 14 + MCR5 <- 3E + MCR6 <- 92 + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + \*\* Στο /usr/src/linux/Documentation/sound/Opti διάβασα ότι ο IO3 base πρέπει να είναι 0x0E0C και όχι 0x0E0E αλλά και τα δύο δουλεύουν! εγώ έχω C εάν + βάλετε E πρέπει να πάτε και στο /etc/isapnp.conf και εκεί που λεει (IO 3 (BASE 0x0E0C)) να βάλτε (IO 3 (BASE 0x0E0E)) καθώς και στην εντολή ./OPTi82C931 να + είναι E αντί C. + +- Φόρτωμα του sound module : + + Είμαστε ένα βήμα πριν να ακούσουμε μουσική, πρέπει να φορτώσουμε το module δίνοντας insmod sound και εάν έχετε ανοιχτά τα ηχεία σας θα ακούσετε ένα μικρό + ήχο. + + Δείτε το /den/sndstat με την εντολή cat /dev/sndstat \| more και επιβεβαιώστε ότι έχετε επιτυχώς φορτώσει την module. Η έξοδος θα πρέπει να είναι η παρακάτω + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + OSS/Free3.8s9-980302 (Mon Jan 25 14:08:59 GMT 1999 root, + Linux localhost.localdomain 2.0.36 #1 Sat Jan 23 00:14:33 GMT 1999 i586 unknown) + Load type: Driver loaded as a module. + Kernel: Linux localhost.localdomain 2.0.36 #1 Tue Jan 26 17:05:59 GMT 1999 i586 + Config options: 0 + + Installed drivers: + Type 10: MS Sound System + Type 27: Compaq Deskpro XL + Type 1: OPL-2/OPL-3 FM + Type 5: Roland MPU-401 + + Card config: + MS Sound System at 0x530 irq 7 drq 0,1 + Roland MPU-401 at 0x330 irq 5 drq 0 + OPL-2/OPL-3 FM at 0x388 drq 0 + + Audio devices: + 0: MSS audio codec (82C930) (DUPLEX) + + Synth devices: + 0: Yamaha OPL-3 + + Midi devices: + 0: MPU-401 0.0 Midi interface #1 + + Timers: + 0: System clock + + Mixers: + 0: MSS audio codec (82C930) + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Το πιο σημαντικό είναι να έχετε ένα device κάτω από κάθε device εάν όχι κάτι δεν έγινε σωστά. + +- Το τελευταίο βήμα + + Όσοι από εσάς κάνατε reset μετά τα παραπάνω δεν θα έχετε ήχο! Και αυτό διότι κάτι λάθος γίνετε στο /etc/rc.d/rc.sysinit. Για αυτό ανοίξτε το και σε κάποιο + σημείο θα λέει τα παρακάτω : + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + # load sound modules + if ! grep -i nomodules /proc/cmdline >/dev/null ; then + if [ -n "$USEMODULES" ]; then + if grep -s "alias sound" /etc/conf.modules > /dev/null ; then + modprobe sound + if grep -s "alias midi" /etc/conf.modules > /dev/null ; then + modprobe midi + fi + fi + fi + fi + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + εσείς θα πρέπει να κάνετε τις παρακατω αλλαγές ωστε να έχετε για πάντα ήχο, κρατήστε και ένα backup κάπου για καλό και για κακό : + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + # load sound modules + if ! grep -i nomodules /proc/cmdline >/dev/null ; then + if [ -n "$USEMODULES" ]; then + # if grep -s "alias sound" /etc/conf.modules > /dev/null ; then + # modprobe sound + OPTi82C931 0 0x07 1 0x07 3 0x09 4 0x14 5 0x3E** 0x92 + insmod sound + # if grep -s "alias midi" /etc/conf.modules > /dev/null ; then + # modprobe midi + # fi + # fi + fi + fi + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Μην ξεχάσετε να αντιγράψετε το OPTi82C931, όχι το OPTi82C931.c, στον κατάλογο /bin + + Αυτός ο τρόπος δούλεψε μετά απο πολύ ταλαιπωρία στο RedHat 5.1 που έχω αλλά προφανώς δουλεύει σε όλα τα άλλα. Ελπίζω με αυτό το κείμενο να γλίτωσα μερικούς + απο την ταλαιπωρία. Τελειώσαμε και καλές μουσικές αναζητήσεις:) + + +### [3. OPTi82C931 και kernel 2.0.x ή 2.1.Χ]{#s3} + +Για αυτούς που έχουν τους παραπάνω kernels δεν θα χρειάζεται να κάνουν τίποτα απο τα παραπάνω διότι η OPTi82C931 υποστηρίζετε απο αυτους. Το μόνο που πρέπει να +κάνουν είναι να διαβάσουν το Opti.txt που βρίσκετε στον κατάλογο με τα docs. + + +### [4. Tips]{#s4} + +1. Για να ακούσετε midi file με το Κmid πρέπει να πάτε στα options και midi setup και να επιλέξετε σαν midi device το Yamaha OPL-3-FM και όχι το MPU-401 0.0 + Midi interface \#1- External Midi port +2. Εάν κάτι δεν γίνει σωστά πρέπει πρώτα να κάνετε compile τον kernel χωρίς sound support και μετά πάλι από την αρχή, είναι ο πιο κουραστικός δρόμος αλλά και ο + πιο σωστός. Μην ξεχάσετε να σβήσετε το /etc/isapnp.conf και να το ξανά δημιουργήσετε με την εντολή isapnp. +3. Θέλει μεγάλη προσοχή στο τη δώσατε όταν κάνατε compile και τη έχετε στο isapnp.conf. Εάν δεν συμβαδίζουν οι ρυθμίσεις μην περίμενε να ακούσετε ήχο + +Σε αυτό το σημείο θέλω να ευχαριστήσω τον [David Rees](mailto:drees@spoke.nols.com) που με το δικό του κείμενο άκουσα ήχο στο PC μου. Το OPTi931 Mini-HOWTO που +έχει γράψει θα το βρείτε [εδώ](http://spoke.nols.com/~drees) καθώς και τα απαραίτητα αρχεία. + diff --git a/content/articles/12/05_kernel.md b/content/articles/12/05_kernel.md new file mode 100644 index 0000000..47519ad --- /dev/null +++ b/content/articles/12/05_kernel.md @@ -0,0 +1,155 @@ ++++ +title = 'KERNEL COMPILE' +date = '1999-02-01T00:00:00Z' +description = '' +author = 'Γεωργάτος Φώτης < gef@hellug.gr(mailto:gef@hellug.gr?subject=Kernel-compile)>' +issue = ['Magaz 12'] +issue_weight = 5 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Με την άφιξη της νέας γενιάς πυρήνων 2.2.0, οι απορίες και τα προβλήματα σχετικά με τον πυρήνα του Linux πληθαίνουν. Ας δούμε μερικές βασικές γνώσεις που +πρέπει να έχει κανείς για να στήσει έναν νέο πυρήνα στο σύστημά του.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Στο Linux τον πυρήνα μπορεί κανείς να τον φτιάξει ο ίδιος, με μια διαδικασία που λέγεται compile. Αν και είναι δυνατόν να δουλέψει καποιος με έναν έτοιμο, είναι +καλή ιδέα να φτιάξει έναν πυρήνα προσαρμοσμένο στο σύστημά του, ιδιαίτερα εάν θέλει εξειδικευμένες δυνατότητες. Η διαδικασία συνιστάται ιδιαίτερα σε αυτούς που +θέλουν να μπλέξουν με τα ενδότερα του λειτουργικού συστήματος. + +Υποθέτουμε ότι έχετε κάποιες στοιχειώδεις γνώσεις γύρω από τα λειτουργικά συστήματα και το Internet. Εάν όχι δείτε αυτό: +[Unix-Internet-Fundamentals-HOWTO](http://metalab.unc.edu/LDP/HOWTO/Unix-Internet-Fundamentals-HOWTO.html). + +**1. Τι είναι ο πυρήνας;** +--------------------------------------------------- + +**2. Πώς τον εγκαθιστώ στο σύστημά μου;** +------------------------------------------------------------------ + +- [2.1 Βάλετε τον πυρήνα σε source μορφή στον δίσκο σας](#ss2.1) +- [2.2 Επιλέξτε τι θέλετε να περιλαμβάνει](#ss2.2) +- [2.3 Κάνετε την μεταγλώττισή του πυρήνα](#ss2.3) +- [2.4 Εγκαταστήστε τον και ενημερώστε το Lilo](#ss2.4) +- [2.5 Κάνετε reboot για να δείτε την διαφορά :-)](#ss2.5) + +**3. Που αλλού θα βρείτε πληροφορίες** +--------------------------------------------------------------- + +**4. Τι είναι το SIG11** +------------------------------------------------- + + +### [1. Τι είναι ο πυρήνας;]{#s1} + +Σε ένα πολυεπεξεργαστικό (multitasking) λειτουργικό σύστημα, υπάρχει ένα σημαντικό τμήμα κώδικα που λέγεται πυρήνας (kernel) και αναλαμβάνει την διανομή της +μνήμης μεταξύ των εφαρμογών (memory management) & την διανομή του χρόνου μεταξύ των διεργασιών (scheduling). Προαιρετικά μπορεί να περιλαμβάνει οδηγούς συσκευών +(device drivers) για δίσκους, κάρτες δικτύου, σειριακές θύρες κλπ, τα διάφορα πρωτόκολλα επικοινωνίας, υποστήριξη filesystems και λοιπό κώδικα για την +διαχείρησή τους. + +Ο πυρήνας στο Linux είναι το σημαντικότερο χαρακτηριστικό του, καθώς εκτός από το λειτουργικό σύστημα περιλαμβάνει και τους οδηγούς συσκευών (device drivers) +και πλήθος υλοποιήσεις πρωτοκόλλων και συστημάτων αρχείων. Αποτελείται από 700.000 γραμμές κώδικα C, γραμμένες από πολλούς προγραμματιστές και συντηρούμενες απο +μια ομάδα περίπου 200 μελών με επίβλεψη του Linus Torvalds, ο οποίος ξεκίνησε τον πυρήνα το 1991, καθώς και του Alan Cox. + +Κάθε πυρήνας ακολουθεί ένα ιδιότυπο σύστημα αρίθμησης του τύπου **x.y.z**, όπου x είναι η γενιά του (είμαστε στην 2, κάθε γενιά θέλει χρόνια για να αλλάξει), y +ο τύπος του και z η έκδοσή του. Ειδικά το y παίζει ένα πολύ σημαντικό ρόλο: δείχνει εάν είναι άρτιος πχ 2.0.z ότι ο πυρήνας είναι σταθερός, ή εάν είναι περιττός +πχ 2.1.z ότι είναι πειραματικός (όχι απαραίτητα και ασταθής βέβαια). Θα ανακαλύψετε γρήγορα ότι οι \"ασταθείς\" πυρήνες του Linux είναι κατά κανόνα πιο σταθεροί +από άλλα γνωστά λειτουργικά συστήματα, παρ\' όλα αυτά χρησιμοποιείστε τους με σύνεση. + +Αυτή την στιγμή είμαστε στον σταθερό πυρήνα 2.0.36 και στον πειραματικό 2.1.132. Από τον 2.1.132 προέκυψαν οι 2.2.0pre1-4, δηλαδή είμαστε λίγο καιρό πριν τον +2.2.0. Από τον 2.2.0 θα προκύψουν πάλι δύο κλάδοι: ο 2.2.z και ο 2.3.0 με τις γνωστές ιδιότητες. + +**ΤΕΛΕΥΤΑΙΑ ΝΕΑ: Βγήκε ήδη ο πυρήνας 2.2.0, 2.2.1 καθώς και ο 2.3.0.** Όσοι τον αλλάξετε, να έχετε υπ\' όψιν σας ότι υπάρχουν κάποιες λειτουργικές διαφορές με +την προηγούμενη ομάδα 2.0.χ, και κάποια πράγματα δεν δουλεύουν όπως πριν. Τα ελληνικά πχ (greekconsole), έχουν πρόβλημα. + +Ένα σημαντικό χαρακτηριστικό του είναι τα modules, δηλαδή τμήματα του πυρήνα δεν περιλαμβάνονται στον βασικό τμήμα του (δεν είναι statically compiled όπως +λέμε), αλλά φορτώνονται κατά απαίτηση - on demand, από ένα ειδικό process τον kerneld. Δηλαδή εάν πχ κάνετε mount το cdrom και υπάρξει ανάγκη για το iso9660 +filesystem που είναι module, αυτόματα ο kerneld το φορτώνει, τρέξτε lsmod για να το δείτε. + +Ο πυρήνας είναι προστατευμένος από ανεξέλεγκτη αντιγραφή χάρις στην άδεια GPL. Η άδεια General Public License συνοπτικά, επιτρέπει την διάδοση του κώδικα είτε +σε source είτε σε compiled μορφή, επιβάλει όμως την ίδια νομική άδεια χωρίς περιορισμούς και στα αντίγραφα, κάτι το οποίο έχει παίξει σοβαρό ρόλο στην διάδοση +του Linux. + + +### [2. Πώς τον εγκαθιστώ στο σύστημά μου;]{#s2} + +### [2.1 Βάλετε τον πυρήνα σε source μορφή στον δίσκο σας]{#ss2.1} + +Βρείτε καταρχήν τον πυρήνα που σας ενδιαφέρει σε rpm, tar.gz, ή bz2 (αυτό είναι καινούριο format, όχι ιδιαίτερα διαδεδομένο), πρέπει να έχει μέγεθος γύρω στα +10MB-15MB. Τον τελευταίο πυρήνα μπορεί κανείς να προμηθευτεί από το [www.kernel.org](http://www.kernel.org) και τα mirror sites του, στην περίπτωσή μας το +[ftp.gr.kernel.org](ftp://ftp.gr.kernel.org/pub/linux/kernel/) + +Για να μαθαίνετε ποιός είναι ο τελευταίος πυρήνας μπορείτε να ελέγχετε τακτικά το [www.linuxhq.com](http://www.linuxhq.com), το +[slashdot.org](http://slashdot.org) ή το [freshmeat.net](http://freshmeat.net). + +Ενδεχομένως, έχετε ήδη έναν πυρήνα πρόσφατο στα CD της διανομής που αγοράσατε. Εγκαταστήστε τον (θα βρίσκεται στον υποκατάλογο /usr/src/linux), πιάνει περίπου +30MB αποσυμπιεσμένος. + +### [2.2 Επιλέξτε τι θέλετε να περιλαμβάνει]{#ss2.2} + +Τρέξτε **make config** ή **make menuconfig** ή **make xconfig**, από τερματικό, κονσόλα ή Xwindows αντίστοιχα. Οι πιο πολλοί θα προτιμήσουν από κονσόλα το +menuconfig. Μπορείτε να διαλέξετε τον κώδικα θέλετε να υπάρχει στον πυρήνα σας, με τα πλήκτρα Y, N, Module, Help, δηλαδή να περιληφθεί, να μην, να γίνει module +(θα φορτώνεται δυναμικά, την στιγμή ακριβώς που χρειάζεται), και βοήθεια σχετικά με κάποια επιλογή. + +Συνήθως περιττές επιλογές δεν δημιουργούν προβλήματα, απλά ο πυρήνας είναι μεγαλύτερος και βγάζει πρόσθετα μυνήματα στην εκκίνηση. Μερικά πράγματα +περιλαμβάνονται υποχρεωτικά στατικά, πχ scsi, scsi disk support σε σύστημα με scsi bootable δίσκο (αλλιώς, θα φορτωθεί μεν ο πυρήνας, αλλά δεν θα μπορεί να +διαβάσει το filsystem και τα υπόλοιπα που χρειάζονται στην εκκίνηση). Επίσης το filesystem ext2 είναι πάντα Y, ή εάν ξέρετε γιατί το βγάζετε, άδικα διαβάζετε +αυτό το κείμενο. Εάν είναι η πρώτη φορά που φτιάχνετε πυρήνα, κάντε τις κάρτες ήχου modules ή αποφύγετε τις εντελώς, γιατί οι ιδιοτροπίες τους (irq, addresses, +dma) και το γεγονός ότι κάποιες είναι plug-n-play, κάνουν την κατάσταση πολύπλοκη. + +### [2.3 Κάνετε την μεταγλώττισή του πυρήνα]{#ss2.3} + + cd /usr/src/linux # Τρέξτε du για να δείτε πόσο χώρο πιάνει. + make config # ή make menuconfig ή make xconfig, έχει πολύ χρήσιμο help! + make dep # αυτό είναι απαραίτητο κάθε φορά που τρέχετε make config + make clean # Σβήνει τυχόν προηγούμενα compiles, υποχρεώνει το πλήρες compile + make zImage # μετά από αυτό, υπάρχει ο πυρήνας στο /usr/src/linux/arch/i386/boot/zImage + make modules # Τα modules κανονικά φτιάχνονται πριν αρχίσει η διαδικασία εγκατάστασης + +### [2.4 Εγκαταστήστε τον και ενημερώστε το Lilo]{#ss2.4} + + make modules_install # Τα modules αντιγράφονται στο /lib/modules/x.y.z/ + make install # προσοχή να υπάρχουν οι σωστές ρυθμίσεις στο /etc/lilo.conf + +Η τελευταία εντολή είναι αυτή που θα στήσει τον πυρήνα (συνήθως στο /vmlinuz), συνδέοντάς τον με τον boot loader LILO. Ένα reboot, θα βάλει τον νέο πυρήνα σε +χρήση\... (μόλις βρήκατε τον μοναδικό λόγο που κάνει κανείς reboot με linux). + +Πρέπει το αρχείο **/etc/lilo.conf**, να περιλαμβάνει την εντολή **image=/vmlinuz**, εάν τρέξετε την εντολή make install Επίσης, εάν κάνετε πρώτη φορά την +ρύθμιση αυτή, να έχετε την εντολή install=/dev/fd0 στο /etc/lilo.conf. + +### [2.5 Κάνετε reboot για να δείτε την διαφορά :-)]{#ss2.5} + +Γενικά, θα πρέπει να είναι και η μοναδική φορά που κάνετε reboot στο σύστημά σας όταν τρέχετε Linux. + +Αλλιώς μάλλον κάτι δεν πάει ή δεν κάνετε καλά: Έχετε αξιόπιστο hardware; Ή μήπως κάνετε reboot ενώ θα μπορείτε να το αποφύγετε; Πολλοί κάνουν reboot πχ μόνο και +μόνο για αλλαγές στο υποσύστημα δικτύου. Δεν είναι απαραίτητο: απλά μπείτε σε Single User mode (συνήθως init S) και ξαναβγείτε (συνήθως init 2). + + +### [3. Που αλλού θα βρείτε πληροφορίες]{#s3} + +Υπάρχουν αρκετά σχετικά HOWTO στο Linux Documentation Project: + +- [Kernel-HOWTO](http://metalab.unc.edu/LDP/HOWTO/Kernel-HOWTO.html) +- [Kerneld-mini-HOWTO](http://metalab.unc.edu/LDP/HOWTO/mini/Kerneld.html) +- [Modules-mini-HOWTO](http://metalab.unc.edu/LDP/HOWTO/mini/Modules.html) + +Επίσης, αυτά μπορεί να είναι χρήσιμα + +- [Hardware-HOWTO](http://metalab.unc.edu/LDP/HOWTO/Hardware-HOWTO.html): overview of supported hardware +- [Sound-HOWTO](http://metalab.unc.edu/LDP/HOWTO/Sound-HOWTO.html): sound cards and utilities +- [PCMCIA-HOWTO](http://metalab.unc.edu/LDP/HOWTO/PCMCIA-HOWTO.html): about the drivers for your notebook +- [NET-3-HOWTO](http://metalab.unc.edu/LDP/HOWTO/NET-3-HOWTO.html): networking +- [PPP-HOWTO](http://metalab.unc.edu/LDP/HOWTO/PPP-HOWTO.html): PPP networking in particular +- [ELF-HOWTO](http://metalab.unc.edu/LDP/HOWTO/ELF-HOWTO.html): ELF: what it is, converting.. +- [BogoMips mini-HOWTO](http://metalab.unc.edu/LDP/HOWTO/mini/BogoMips.html): in case you were wondering + + +### [4. Τι είναι το SIG11]{#s4} + +Το SIG11 (ή SIG13) είναι ουσιαστικά ένα σφάλμα προστασίας (Protection Fault). Είναι αρκετά πιθανό να συμβεί την ώρα που φτιάχνουμε πυρήνα και η αιτία είναι ότι +το σύστημα εκείνη την ώρα ζορίζεται. + +**ΔΗΛΑΔΗ: Πολλά και διαφορετικά SIG11 σημαίνουν κακό υλικό ή προβλήματα συμβατότητας με την μνήμη, τον επεξεργαστή, την μητρική.** + +Για περισσότερες πληροφορίες, δείτε: [http://www.bitwizard.nl/sig11](http://www.bitwizard.nl/sig11/). + diff --git a/content/articles/12/06_mailbox.md b/content/articles/12/06_mailbox.md new file mode 100644 index 0000000..0997731 --- /dev/null +++ b/content/articles/12/06_mailbox.md @@ -0,0 +1,582 @@ ++++ +title = 'Αλληλογραφία' +date = '1999-02-01T00:00:00Z' +description = '' +author = '' +issue = ['Magaz 12'] +issue_weight = 6 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Από το προηγούμενο τεύχος (11), η αλληλογραφία γράφεται αυτόματα. Για οποιαδήποτε ορθογραφικά ή άλλα λάθη, ελπίζουμε να μας συγχωρήσετε. Δεν μπαίνει ανθρώπινο +χέρι από εδώ και κάτω, παρά μόνο για copy και paste.Αυτό έγινε λόγω έλλειψης χρόνου, και ελπίζουμε να έχουμε την κατανόησή σας* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +\ +Παρακαλούμε ακολουθήστε τους κάτωθι κανόνες: + +α) Να βάζετε ένα θέμα σχετικό με την ερώτηση στο mail σας. Ένα θέμα της μορφής Ερώτηση περί Linux δεν βοηθάει ιδιαίτερα.\ +β) Να ρίχνετε και καμιά ματιά στα περασμένα τεύχη, και εννοώ και την στήλη της αλληλογραφίας, αλλά και τα άρθρα. Ίσως κάποιες ερωτήσεις να απαντούνται από +εκεί.\ +Επίσης, παρακαλούμε γράφετε στα ελληνικά. Αν το outlook σας δεν βλέπει ελληνικά, βάλτε linux :-)\ +γ) Απαντήσεις οι οποίες δεν έχουν απαντηθεί, σημαίνει ότι μάλλον δεν ξέρουμε την απάντηση. Ερωτήσεις οι οποίες έρχονται με mail, είναι ΠΟΛΥ ΔΥΣΚΟΛΟ να +απαντηθούν. Προτιμήστε την φόρμα. + +**1. partition** +------------------------------------------ + +**2. VIDEO** +-------------------------------------- + +**3. Πρόβλημα με το X-Win και την Diamond II S220** +----------------------------------------------------------------------------- + +**4. Συμπίεση ?** +------------------------------------------- + +**5. Staroffice** +------------------------------------------- + +**6. Lilo boot** +------------------------------------------ + +**7. ΘΑ ΠΑΙΞΕΙ** +------------------------------------------ + +**8. Opti 931** +----------------------------------------- + +**9. Visual Basic και Linux** +------------------------------------------------------- + +**10. Syndesh me otenet** +----------------------------------------------------- + +**11. Internet Mail** +------------------------------------------------- + +**12. Mp3 with Linux** +-------------------------------------------------- + +**13. Σύνδεση 2 υπολογιστών** +--------------------------------------------------------- + +**14. Σύνδεση στο Internet από το Linux** +--------------------------------------------------------------------- + +**15. PPP** +--------------------------------------- + +**16. Protes erotiseis sto Linux** +-------------------------------------------------------------- + +**17. install linux -\>sco** +-------------------------------------------------------- + +**18. Diamond Monster 3D** +------------------------------------------------------ + +**19. καρτα γραφικων** +-------------------------------------------------- + +**20. Sindesi Internet** +---------------------------------------------------- + +**21. Προμήθεια Linux** +--------------------------------------------------- + +**22. Προμήθεια Linux** +--------------------------------------------------- + +**23. book** +---------------------------------------- + +**24. 2ος Σκληρος Δισκος σε RedHat 5.1** +-------------------------------------------------------------------- + +**25. Cdrecorder** +---------------------------------------------- + +**26. KDE** +--------------------------------------- + +**27. Ελληνικά στο S.u.S.E 5.3** +------------------------------------------------------------ + +**28. sendmail + dbm** +-------------------------------------------------- + +**29. PPP Login** +--------------------------------------------- + +**30. Problhma me ta ellhnika** +----------------------------------------------------------- + + +### [1. partition]{#s1} + +Από : [Makis Domakis](mailto:anama@otenet.gr) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +exo ta windows98. pos mporo na kano partition me sigouria, xoris na xaso tipota apo ta arxeia moy? + +***ΒΠ:**Δεν μπορείς με σιγουριά να κάνεις repartition του σκληρού σου, αν και η πιθανότητα να χάσεις αρχεία είναι πολύ μικρή. Φρόντισε λοιπόν να κάνεις backup. +Use PARTITION MAGIC το οποίο είναι εμπορικό πρόγραμμα. Είναι το μόνο αυτή τη στιγμή που μπορεί να χειρισθεί δίσκους με Fat32 (καθώς και EXT2(linux), HPFS(OS2), +NTFS(WinNT), και άλλα)* + +***MK:**Να συμπληρώσω στην απάντηση του Βαγγέλη, οτι μπορείς να χρησιμοποιήσεις και το FIPS v.2 το οποίο κάνει repartition ένα FAT32 partition. Το Backup +πάντως, ότι και να χρησιμοποιήσεις, κρίνεται απαραίτητο.* + + +### [2. VIDEO]{#s2} + +Από : [Κοντονάσιος Πέτρος](mailto:k_onassis%20@usa.net) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Συγχαρητήρια για το καλύτερο περιοδικό πληροφορικής. Εάν υπάρχουν προγράμματα εισαγωγήs και επεξεργασίας αρχείων video από κάρτες video και drivers για αυτά. Με +τιμή Πέτρος Κοντονασιος . + +*Ναι, υπάρχουν . Θα βρεις drivers για κάρτες video στον kernel 2.2.0 και προγράμματα επεξεργασίας στο * + + +### [3. Πρόβλημα με το X-Win και την Diamond II S220]{#s3} + +Από : [Παπαστεργίου Αποστόλης](mailto:paptol@otenet.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Άλλος ένας νέουκλας με το LINUX σας εύχεται συγχαριτήρια για τη δουλειά σας !!! Η προσπάθειά σας, είναι ίσως η πιό αξιόλογη στον Ελληνικό χώρο. Έτσι πέρνουμε +κουράγιο και εμείς οι νέουκλες για να ασχοληθούμε με κάτι που να αξίζει (χωρίς να κρεμάει \...) Θα σας παρακαλούσα πάρα πολύ (άμα βρείτε λίγο χρόνο!) να +ασχολειθήτε λίγο με το δικό μου προβληματάκι, γιατί εγώ έχω ήδη ΚΡΕΜΑΣΕΙ !!! Λοιπόν πρόσφατα πήρα το RedHat 5.2 και πήγα να το \"βάνω\". Διάβασα ένα τρίμα +γράμμα (άσχετος και γώ, πού να καταλάβω!) τέλος πάντων, τό \"βανα\...\" Μόλις πήγα να δώ εικονίτσες ο καημένος, τις είδα σε \"Πέντε διαστάσεις !!!\" ΑΑΑΑΑ +περίεργο είπα είναι αυτό το LINUX!!! Διάβασα κι άλλο, κι άλλο\... πάλι δεν κατάλαβα.. - Λοιπόν ας σοβαρευτώ (τρώω και τον πολύτιμο χρόνο σας.) Έχω τη Diamond II +S220 με 4ΜΒ και αντιμετωπίζω πρόβλημα με τον Χ-Server. Δοκίμασα τα περισσότερα από τα Configuration Tools αλλά δέν κατάφερα τίποτα\...Δεν μπορώ να ενεργοποιήσω +την κάρτα. Η ερώτηση είναι η εξής : Είναι δυνατόν αυτή η κάρτα να παίξει με Χ-Win ή πρέπει να πάρω άλλη κάρτα που να την υποστηρίζει το LINUX; Ευχαριστώ πάρα +πολύ για το χρόνο σας και πάλι συγχαρητήρια για την δουλειά σας. + +*Δες το [τεύχος 8, ερώτηση 14](../1998/08/08_mailbox-14.html).\ +Επίσης, για ερωτήσεις, υπάρχει ειδική φόρμα στο web, σε παρακαλούμε να προτιμάς αυτήν.* + + +### [4. Συμπίεση ?]{#s4} + +Από : [Αντώνιος Χάψας](mailto:xapsas@med.upatras.gr) + +Απάντηση : [Φώτης Γεωργάτος](mailto:gef@hellug.gr) + +Ενας ανυπόμονος ρωτάει πως αποσυμπιέζω ένα αρχείο με κατάληξη gz ή tar ή tgz και πως μπορώ να διαλέξω το directory που θα αποσυμπιεστούν ? αν γίνεται την +σύνταξη της εντολής ή ένα παράδειγμα ας πούμε. Ευχαριστώ πολύ. + +*Η εντολή είναι: cd \"directory\"; tar -zxvf \"file\" Το z στην εντολή tar σημαίνει να κάνει πρώτα αποσυμπίεση, ακριβώς σαν να εκτελούσε την εντολή gzip.* + + +### [5. Staroffice]{#s5} + +Από : [George Christofilopoulos](mailto:gchrist@diodos.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Αγαπητέ φίλε βοήθα, Κατέβασα το staroffice απο το δικτυο αλλα κατα την εγκατασταση δεν εχω κωδικο για να βαλω. Στο site της staroffice οπου θα επρεπε να μου +ειχαν δωσει τον κωδικο οταν συμπληρωνω την αναλογη φορμα μου δινει κωδικο κενο δηλ δεν μου δινει καποιο συγκεκριμενο αριθμο. Αν εχετε καποιο κωδικο στειλτε τον +μου.Ευχαριστω + +*Οι κωδικοί είναι σε αντίστοιχια με τα emails. Σου προτείνω να πας στο site της StarDivision και να ξανακανεις την διαδικασία \"αιτησης\" γιατί ακόμα και να σου +δωσουμε κωδικό δεν θα μπορεις να κάνεις register και θα σου λήξει σε 60 νομίζω μέρες. Οποτε πάλι θα πρεπει να πάρεις προσωπικό σου κωδικό από την Stardivision, +αλλά τοτε θα πρέπει να το απεγκαταστήσεις και να το ξαναβάλεις, και δεν νομίζω ότι θα θελεις κάτι τέτοιο :)* + + +### [6. Lilo boot]{#s6} + +Από : [Γιωργος Γεωργοπουλος](mailto:ggeorgopoulos@iname.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Εχω ενα δισκο 4 GB με win98 και (ΠΡΟΣΟΧΗ) FAT32. Ο δισκος μου ηταν σε 2 partition απο τοτε που ηταν FAT16. Ετσι δεν ειχα προβλημα να δημιουργησω τα partition +του Linux. Εχω ομως απορια που να εγκαταστησω το Lilo Boot. Μου ειπαν οτι δεν πρεπει να το εγκαταστησω στο MBR. Ειναι σωστο αυτο; Σκεφτομουν το ενδεχομενο να +φτιαξω μια δισκετα εκκινησης που να μου βγαζει ενα A + +***ΜΚ:** Γιώργο, υπάρχουν λύσεις πολλές. Ή το βάζεις στο MBR (δεν είναι δα και τραγικό), ή το βαζεις στο root partition του linux (αν μπορεί να το βρει εκεί το +bios) ή το βαζεις σε μία δισκέτα, και μόλις κάνεις boot απο την δισκέτα θα βρεθείς σε linux. Θα σου πρότεινα το τελευταίο.* + +***ΒΠ:** Συμπληρώνοντας το Μιχάλη, και για να κάνεις τη δουλειά σου πιό εύκολη, μπορείς να το βάλεις άνετα στον MBR. Απλά, φρόντισε να έχεις μια δισκέτα boot +των Windows 98. Ακόμα και αν κάτι πάει στραβά (πράγμα το οποίο είναι λίγο απίθανο μια και οι νέες distribution έχουν πολύ κατατοπιστικές οδηγίες) κάνεις +εκκίνηση με τη δισκέτα των Win98 και γράφεις fdisk /MBR, και όλα είναι όπως πριν βάλεις το Linux (Φρόντισε στη δισκέτα αυτή να γράψεις και το fdisk!). Αν τώρα +επιλέξεις να το βάλεις στο Partition που έχε ις το Linux (πχ στο δίσκο D:, φρόντισε το BIOS σου να μπορεί να κάνει Boot και από αυτό τον δίσκο. Προσωπικά, δε θα +σου συνιστούσα τη δισκέτα, γιατί είναι πολύ ευαίσθητες\... Φιλικά, Βαγγέλης* + + +### [7. ΘΑ ΠΑΙΞΕΙ]{#s7} + +Από : [ΓΏΡΓΟΣ ΑΣΛΑΝΙΔΗΣ](mailto:grg@alico.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +ΣΚΕΦΤΟΜΑΙ ΝΑ ΕΓΚΑΤΑΣΤΗΣΩ ΤΟ LINUX ΣΕ ΙΒΜ ΦΟΡΗΤΟ ΜΕ ΝΤ 4.0. ΘΑ ΧΡΗΣΙΜΟΠΟΙΗΣΩ ΕΝΑ PARTITION ΤΟΥ ΔΙΣΚΟΥ ΚΑΙ ΒΟΟΤ ΑΠΟ ΔΙΣΚΕΤΑ. ΥΠΑΡΧΟΥΝ ΠΛΗΡΟΦΟΡΙΕΣ ΓΙΑ ΚΑΤΙ ΤΕΤΟΙΟ +? + +*Πληροφορίες γενικά; Αν αναφερεσαι σε Howto υπάρχουν στο . Αν αναφέρεσαι σε κάτι άλλο, γίνε πιο συγκεκριμένος. Μην ξεχάσεις να κοιτάξεις +και το τεύχος 8 στο άρθρο linux zone που αναφέρονται κάποιες πληροφορίες για την κάρτα γραφικών που έχουν συνήθως τα φορητά.* + + +### [8. Opti 931]{#s8} + +Από : [Αντώνιος Χάψας](mailto:hapsas@med.upatras.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Υπάρχει driver για κάρτα ήχου Opti με τι τσιπάκι 931 ? Αν υπάρχει θα ήθελα λίγη βοήθεια αν γίνεται στον τρόπο εγκατάστασης μιας και δεν είμαι έμπειρος χρήστης +στο Linux. Ευχαριστώ πολύ. + +*Ναι, υπάρχει driver. Πρώτα θα ελεγξεις τον kernel που έχεις αν εχει κάτι τετοιο (γιατί αυτά αλλάζουν συνεχεια). Αν δεν βρεις τετοιο πραγμα, θα πας στο + και θα ψάξεις για opti. Πίστεψε με, θα σου βγάλει τουλαχιστον 2 links :)* + + +### [9. Visual Basic και Linux]{#s9} + +Από : [Γιωργος Βρεντζος](mailto:antoula@hotmail.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Ηθελα να ρωτησω αν υπαρχει port της visual basic -οποιαδηποτε εκδοση- στο Linux. Αν οχι υπαρχει καμια γλωσσα που να θυμιζει πολυ τη Basic και να εχει γραφικο +περιβαλλον (visual) ; + +*Υπαρχει κάτι που να μοιάζει με visual basic, τελευταία φορά που το είχα δει ήταν commercial, και δεν νομίζω ότι αξίζει τον κόπο να ασχοληθείς. Θα σου πρότεινα +να κοιταξεις προγραμματισμό σε C/C++ με QT ή GTK ή ακομα και Perl σε TCL/TK. Είναι πολύ πιο ωριμες και ισχυρές γλώσσες όλες τους (ναι, ακόμα και η perl)* + + +### [10. Syndesh me otenet]{#s10} + +Από : [Marios Logaras](mailto:marlogag@otenet.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +geia sas eimai poly kenourgios sto linux kai 8a h8ela na mou pite pws syndeome me to diktyo ths otenet giati exei kapia \"idiomorfia\" plz answer me as soon as +posible thanx + +*Μαριε οι πληροφορίες που μας στέλνεις δεν είναι καθολου κατατοπιστικές\... Γενικα, χρησιμοποίησε το xisp. Ειδικά, στείλε μας πληροφορίες για το ακριβές +προβλημα και αν ξέρουμε θα σου πούμε.* + + +### [11. Internet Mail]{#s11} + +Από : [Σταύρος Μαραγκουδάκης](mailto:elhellas@hol.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Εχω το REDHAT 5.1 και εχω καποιο προβληματακι σχετικα με το Internet Mail παρολο που μεσο του Linux μπορω και στελνω μαιλ εξω κανονικα απο τα τερματικα μου +μπορω να στελνω μαιλ μονο στους χρηστες του linux και οχι στους χρηστες του Internet τι μπορει να φτει? Υποψιν + +*Φταίνε μάλλον οι ρυθμίσεις του sendmail σου. Αλλά μπορεί και του mailserver σου. Αν δεις στο αρχείο /var/log/mail θα σου πει γιατί δεν φεύγουν mails. Μπορεί να +σε \"κόβει\" ο ξένος mailserver, επειδή δεν κάνει resolve η διεύθυνσή σου, οπότε πρέπει να φτιάξεις το DNS. Μπορεί πάλι να μην ξέρει το sendmail που να τα +στείλει, γιατί δεν έχει τέτοια πληροφορία, οπότε πρέπει να του δώσεις smart relay host. Μπορεί να μην \"φορμάρει\" κανονικά τα mails, οπότε να μην τα δέχεται ο +ξένος mailserver. Όπως βλέπεις είναι πολλοί οι πιθανοί λόγοι, συνεπώς μάλλον πρέπει να του ζητήσεις full debugging (από το syslog) και να το ψάχνεις σιγά σιγά. +Μην απογοητεύεσαι όμως, μπορεί να είναι και κάτι εντελώς απλό.* + + +### [12. Mp3 with Linux]{#s12} + +Από : [Σταύρος Μαραγκουδάκης](mailto:elhellas@hol.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Ξερετε εαν υπαρχει MP3 Player για Linux αλλα που να μην χρειαζετε να τρεχει στα X WINDOWS αλλα μονο στο Console Prompt..? + +*Ναι, υπάρχουν πολλοί. Θα τους βρεις, μαζι με άλλες ενδιαφέρουσες πληροφορίες, στη διεύθυνση : * + + +### [13. Σύνδεση 2 υπολογιστών]{#s13} + +Από : [Μιχαηλος Γιαννης](mailto:mjohn@compulink.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Εχω 2 Η/Υ με το Linux της Red Hat 5.1. Πως μπορω να τους συνδεσω μεταξύ τους διαβασα το Howto για το dhcpd αλλα δεν καταφερα και πολλα πραγματα. Αν η απαντηση +ειναι μεγαλη που μπορω να βρω τις αναγκαιες πληροφοριες? Υπαρχει τροπος Η/Υ που τρεχει win95 να \"δει\" Η/Υ που τρεχει linux και πως? Ειμαι αρκετα αρχαριος στο +Linux. Το πηρα προσφατα. + +*Το μόνο το οποίο χρειάζεσαι είναι ένα τοπικό δίκτυο. Δηλαδή δύο κάρτες δικτύου και μερικά μέτρα καλώδιο (προσέχεις βέβαια οι κάρτες να έχουν bnc βύσματα γιατί +δεν αξίζει τον κόπο για 2 υπολογιστές να πάρεις hub). Μετά, δηλώνεις IP address από τα registered private spaces (π.χ. 192.168.0.χ) και έχουν σύνδεση TCP/IP +μεταξύ τους. Αυτό σημαίνει ότι μπορείς να δουλέψεις standard δικτυακα προγραμματα που να υποστηρίζονται και από τα δύο μηχανήματα (π.χ. telnet, ftp κλπ) Για πιο +προχωρημένα πράγματα, όπως μοίρασμα δίσκων, κοινή έξοδος στο δίκτυο κλπ μπορείς να κοιτάξεις το αγαπημένο σου περιοδικό στα τεύχη 2 (samba) και 5 (ip +masquerading). Τέλος, το καλύτερο HOWto για αυτή την ιστορία, είναι το NET3HOWto, αλλά είναι σε επί πεδο \"στησίματος\" του δικτύου (ethernet, tcp/ip) οπότε +μπορεί να σου φανεί βαρύ και ίσως λίγο πολυλογάδικο.* + + +### [14. Σύνδεση στο Internet από το Linux]{#s14} + +Από : [Πολυτάρχος Ηλίας](mailto:elias13@mail.otenet.gr) + +Απάντηση : [Ευριπίδης Παπακώστας](mailto:evris@hellug.gr) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Χρησιμοποιώ το KDE στο Linux και προσπαθώ να συνδεθώ στο Internet. Όμως,ο ΟΤΕ δεν εχει Dialtone και έτσι το dialup tool του KDE βγάζει NO DIALTONE (το ίδιο +γινόταν και από τα windows, αλλά αυτά έχουν το μαγικό κουμπάκι Wait for dialtone before dialing, οπότε λυνόταν το πρόβλημα). Υπάρχει καμία διαταγή για το modem +που να κάνει αυτή τη δουλειά; (όπως τα ATZ,ATDT,AT&F πχ) + +***ΕΠ:** Πίσω από το μαγικό κουμπάκι κρύβεται η AT command: ΑΤΧ3. Στην περίπτωσή σου για το kppp του KDE η λύση είναι στα modem settings, στο input box για το +dial string κάτι σαν : ATX3DT0955\....* + +***ΒΠ:** Μα φυσικά και υπάρχει, και είναι η ΑΤΧ3. Πιστεύω ότι ξέρεις που να το γράψεις, έτσι;* + + +### [15. PPP]{#s15} + +Από : [Panagou Ioannis](mailto:nirea@freemail.gr) + +Απάντηση : [](mailto:) + +Ehw ena provlimataki ehw egkatasthsi to redhat 5.2kai den mproro na kanw syndesi meto internet. Kanw syndesh alla me petaei synehos exo. + +*Τα στοιχεία που αναφέρεις δεν είναι και τα πιο κατατοπιστικά :-) Θεωρώ πως παίρνεις αριθμό, συνδέεται το modem, δεν σηκώνει ppp ή σηκώνει ppp αλλά παρόλα αυτά +δεν επικοινωνείς με τον \"έξω\" κόσμο. Σκέψεις: \[1\] Από ποιο πρόγραμμα κάνεις σύνδεση? Αν από kppp του KDE διάβασε τις οδηγίες (help file) που λέει να +αδειάσεις το αρχείο /etc/ppp/options. \[2\] Σαν τι χρήστης πας να μπεις? Αν οχι root θα πρέπει το ομοίως να κάνεις to pppd suid. \[3\] Μήπως επιτυγχάνεις +σύνδεση αλλά δεν μπορείς π.χ. να κάνεις ping? Γράψε route. Αν δεν δεις μια γραμμή με ppp0, δώσε route del default και route add default ppp0 \... ή δώσε +παραπάνω στοιχεία για ποιό συγκεκριμένες απαντήσεις.* + + +### [16. Protes erotiseis sto Linux]{#s16} + +Από : [Nikos Tzelvenzis](mailto:tzelve@yahoo.com) + +Απάντηση : [Ευριπίδης](mailto:evris@hellug.gr) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Thelo na mou peite pou mporo na vro documedation gia Linux apo Net i na mou stiletai. + +***ΕΠ:** * + +***ΒΠ:** Δηλαδή να υποθέσω ότι έκανες μια βόλτα από το: πριν μας στείλεις αυτό το mail ; Kαι ότι δεν διάβασες στην ενότητα +\"Σημαντικότεροι πόροι του Internet για \'Ελληνες\" το \"Βιβλία για το Linux & Unix στο ελληνικό Διαδίκτυο: ONLINE UNIX BOOKS\" Kαι ότι δεν διάβασες στην +ενότητα \"Περιεχόμενα αυτού του κόμβου\" τα διάφορα links που έχει εκεί πέρα σε οτιδήποτε αφορά σε docs του Linux? Κάνε λοιπόν μια βόλτα από εκεί! Vagoulas.* + + +### [17. install linux -\>sco]{#s17} + +Από : [meladianos xr.](mailto:atel@otenet.gr) + +Απάντηση : [Ευριπίδης Παπακώστας](mailto:evris@hellug.gr) + +exoume ena sco unix me 16 termatika se ena hd me 2 partition. Mporoume na to antikatasthsoume me linux xoris na xasoume to allo partition ? Ti prepei na kanoume +? Eimaste sxoleio. geia xara. + +*Γειά χαρά. Τι εννοείς με 2 partitions? Το ένα είναι free και το άλλο έχει SCO? Αν ναι \... τότε μπορείς \...(?!). Ο απλούστερος τρόπος είναι να σβήσεις το free +partition, να το κάνεις repartition σε 2 μικρότερα, ένα SWAP των 100MB και το υπόλοιπο to / tou Linux, και αν σε προβληματίζει τι θα γίνει με τον Loader +boot-αρε από δισκέττα, ή διάβασε το LILO documentation που αναφέρει συνύπαρξη με άλλα λειτουργικά (και SCO). Ενα πρόβλημα ίσως έχεις. Μάλλον είσαστε κάποιο ΤΕΛ, +και σας έχει στήσει το σύστημα η Intrasoft (σωστά;) Τι digiboard έχετε για τα τερματικά σας; Εκει πρέπει πάλι να ρίξεις λίγο διάβασμα στο Serial-HOWTO, μια που +φαντάζομαι είναι κάποια παλιά και θέλει λίγο ψάξιμο. Τι να γίνει\... η πολυτέλεια θέλει και λίγο κόπο. Στο δικό μας το ΤΕΛ πάντως, ακόμα υπάρχει SCO, και το +Linux είναι άλλο ξεχωριστό μηχάνημα\....* + + +### [18. Diamond Monster 3D]{#s18} + +Από : [Στάθης Αραποστάθης](mailto:ufo@compulink.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Που θα μπορούσα να βρω οδηγούς για την Diamond Monster 3d; + +*Θα σου πρότεινα να κοιτάξεις στο : * + + +### [19. καρτα γραφικων]{#s19} + +Από : [γιαννης](mailto:madgr@groovy.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +πως μπορω να εγκαταστησω την 3DFX banshee καρτα στο λινουξ? + +*Κάποιος προσπαθεί να γράψει software για την συγκεκριμένη κάρτα. Θα βρεις πιο πολλές πληροφορίες στο: * + + +### [20. Sindesi Internet]{#s20} + +Από : [Giannis](mailto:rattle13@hotmail.com) + +Απάντηση : [Νίκος Κόκρας](mailto:kokni@hellug.gr) + +Exo prospathisi polles fores na sinthetho sto internet me to programma minicom alla panta i sindesi mou pefti Tha ithela an mporousate na mou dosete kapoies +odigies gia to pos tha sindetho sto internet + +*Το θέμα έχει επανειλειμένα αναφερθεί (..και λυθεί) τόσο στη λίστα linux.greek.users όσο και από τις σελίδες του magaz. Συνοπτικά συνίσταται το XISP του +Δ.Μπούρα.* + + +### [21. Προμήθεια Linux]{#s21} + +Από : [Τζιώλας Θεόδωρος](mailto:tziolas@classic.diavlos.gr) + +Απάντηση : [Νίκος Κόκρας](mailto:kokni@hellug.gr) + +Είμαι κατοικος θεσ/νίκης, που μπορώ να προμηθευτώ και πως να εγκαταστήσω τον λειτουργικό Linux. Μπορώ παράλληλα να έχω και τα windows 98; + +*Φυσικά και μπορεί το Linux να συνυπάρχει με άλλα λειτουργικά (π.χ. win9x). Περισσότερεσ λεπτομέρειεσ για αυτό στο Linux Documentation Project (θα βρείς link +στο linux.gr) Όσον αφορά το που θα βρείς το Linux, ο Παπασωτηρίου (Ε.Αμύνης) έχει. Αν δεν θέλεις να ξοδευτείς, μετά τις 25/1 θα έχω RedHat5.2 να σου δανείσω. +Συνιστώ όμως ανεπιφύλακτα την αγορά μιας Linux διανομής την πρώτη φορά. Φιλικά Kokni* + + +### [22. Προμήθεια Linux]{#s22} + +Από : [Τζιώλας Θεόδωρος](mailto:tziolas@classic.diavlos.gr) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Είμαι κατοικος θεσ/νίκης, που μπορώ να προμηθευτώ και πως να εγκαταστήσω τον λειτουργικό Linux. Μπορώ παράλληλα να έχω και τα windows 98; + +*Σαφώς και μπορείς να έχεις και Win και Linux 98 στο σύστημα σου. Απλά βάλε πρώτα τα Windows. \`Οταν τα βάλεις, και αφού προμηθευτείς το Linux, διάβασε τις +\*απλούστατες\* οδηγίες εγκατάστασής του, και θα δεις ότι είναι πολύ εύκολο. Έχε υπόψη σου ότι δεν θα μπορείς να δεις το Partition του δίσκου σου που περιέχει +το Linux από τα Win, αλλά από το Linux θα μπορείς να δεις το Partition των Win. \`Οσο για το που θα το προμηθευτείς, η πλέον κατάλληλη πηγή είναι το +βιβλιοπωλείο του Παπασωτηρίου (Δεν ξέρω αν έχει υποκατάστημα εκεί, αλλά υποθέτω ότι μπορεί και να σου τα στείλει). Σαν νέος στο χώρο, θα σου πρότεινα να βάλεις +ή το REDHAT Linux , ή το SuSe Linux που είναι και τα πιό εύκολα στην εγκατάσταση και τη συντήρηση (κυριώς το SuSe). Στη διάθεση σου για οτιδήποτε άλλο προκύψει +στην πορεία, εαν μας υποσχεθείς ότι θα διαβάσεις και λίγο πριν ρωτήσεις. ;) Vagoylas* + + +### [23. book]{#s23} + +Από : [chris papa](mailto:sogo@gel.demokritos.gr) + +Απάντηση : [Κοτσιφάκης Θρασύβουλος](mailto:tkots@softhome.net) + +1)tha ithela na rotiso an iparxei kanena episimo vivlio gia linux red hat 5.1 + +*1. Από SAMS PUBLICATIONSQ REDHAT LINUX UNLEASHED (περίπου 20.000) για το ΡΗ5. Για το 5.1 δεν εχει βγει ακομα ( [Παπασωτηριου](http://www.papasotiriou.gr)) 2. + 3. Κανε μια βολτα στο , και θα βρεις ότι θες για το GNOME* + + +### [24. 2ος Σκληρος Δισκος σε RedHat 5.1]{#s24} + +Από : [Σταύρος Μαραγκουδάκης](mailto:elhellas@hol.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Θα ηθελα να μου πειτε πως θα μπορεσω να βαλω στο Linux RedHat 5.1 εναν δευτερο σκληρο δισκο και ποιες θα ειναι οι εντολες που θα πρεπει να τρεξω για να +λειτουργισει ο 2ος μου σκληρος δισκος, Ευχαριστω πολυ\... + +*Ο δεύτερος σκληρός δίσκος πρέπει να γίνει format σε κάποιο από τα γνωστά filesystems που αναγνωρίζει το Linux. Για παράδειγμα e2fs, οπότε γράφουμε την εντολή +mke2fs /dev/hdb1 (υποθέτουμε οτι ο όρος δεύτερος δίσκος αναφέρεται στο πρώτο prtition του slave δίσκου στον primary controler). Στη συνέχεια, αρκεί να κάνουμε +mount το /dev/hdb1 κάτω από κάποιο Mount point, π.χ. /mnt/disk2* + + +### [25. Cdrecorder]{#s25} + +Από : [Γιάννης Πανάγου](mailto:nireas@freemail.gr) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Θα ηθελα να ρωτησο αν υπαρχει καποιο προγραμμα εγραφης για cdrom απο linux (το cdrecord που εχω ειναι ATAPI ) + +*Πρόσφατα δημιουργήθηκε στην Forthnet το: http://linuxberg.forthnet.gr το οποίο είναι κάτι αντίστοιχο με το 2cows από τον κόσμο των ακατονόμαστων. Κάνε μια +βόλτα από εκεί, θα βρείς και για Χ αλλά και για κονσόλα. Δεν θυμάμαι ακριβή URL, sorry\... :(* + + +### [26. KDE]{#s26} + +Από : [Κωνσταντίνος Λούζης](mailto:Lusis@ATH.FORTHNET.GR) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Έχω προσφάτως εγκαταστήσει σε ένα σύστημα RedHat Linux 5.1 το KDE,όμως υπάρχει ένα πρόβλημα,το οποίο είναι ότι όποτε προσπαθώ να εκκινήσω το KDE με την εντολή +startkde απο το bash shell βγάζει συνεχόμενα μηνύματα απο τα διάφορα clients που προσπαθεί να εκκινήσει ότι δεν μπορεί να συνδεθεί στον X Server (cannot connect +to X server).Πρέπει επίσης να σας πω ότι έχω μερικές απαραίτητες αλλαγές σε μερικά configuration files,όπως το να δημιουργήσω ένα αρχείο .Xclients στο home +directory του κάθε χρήστη.Θα ήθελα να με καθοδηγήσετε πάνω σε αυτό το θέμα διότι ακόμη είμαι αρχάριος στο Linux και δεν θέλω να κάνω περίεργους πειραματισμούς. + +*\`Οσον αφορά στο 1ο σκέλος της ερώτησης, θα πρέπει να εκκινείς τα Χ με το γνωστό \`\`startx\'\', αλλά αυτά θα πρέπει να ξέρουν και τον WindowManager που +χρησιμοποιείς. Για να το κάνεις αυτό, δημιουργείς ένα αρχείο \`\`.xinitrc\'\' στο home του κάθε χρήστη, και γράφεις μέσα μόνο τη γραμμή \`\`startkde\'\'. (το +ίδιο μπορεί να επιτευχθεί με το .Xclients. Στο 2ο σκέλος της ερώτησης, τι ακριβώς εννοείς αλλαγές? φυσικά ο κάθε χρήστης μπορεί να εκκινεί διαφορετικούς WM από +το .xinitrc του, ή, αντίστοιχά, το .Xclients. Αν θέλεις συγκεκριμένα σε κάτι θοήθεια, ξαναγράψε στο magaz εξηγόντας τι ακριβώς ψάχνεις,και θα χαρούμε να +απαντήσουμε. Μέχρι τότε, μη φοβάσαι, και -προς Θεού- ΚΑΝΕ περίεργους πειραματισμούς\... (Το Linux δεν χρειάζεται συνεχώς επανεγκαταστάσεις!)* + + +### [27. Ελληνικά στο S.u.S.E 5.3]{#s27} + +Από : [Νίκος Θεοδώρου](mailto:ntheo@math.auth.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Διάβασα το άρθρο στο τεύχος Δεκεμβρίου για την εγκατάσταση Ελληνικών στο RedHat 5.0. Εγώ είμαι χρήστης του S.u.S.E 5.3. Ισχύουν τα ίδια ή πρέπει να κάνω κάποιες +αλλαγές ή\..... ;; + +*Γενικώς, μπορείς να θεωρησεις ότι ισχυουν τα ίδια. Ξεκίνησε την διαδικασία, και αν δεις διαφορες στα pathnames αλλαζεις και την πορεία σου. Πρόσεξε πάντως, τις +ρυθμίσεις που αφορούν σε συστήματα με glibc2. Οταν τελειώσεις, γράφεις ένα αρθρο με τις διαφορές και μας το στέλνεις :)* + + +### [28. sendmail + dbm]{#s28} + +Από : [Νικόλας Μαδωνής](mailto:madonis@physics.upatras.gr) + +Απάντηση : [Νίκος Μαυρογιαννόπουλος](mailto:nmav@hellug.gr) + +Αγαπητοί φίλοι linuxάδες, ουτήξω\" σε πιο βαθιά νερά και να φτιάξω ένα virtual mail server με βάση το linux και το sendmail. παθήσω να ξεκινήσω το sendmail, +παίρνω το μύνημα + +*υποθέτω οτι έχεις ακολουθήσει την διαδικασία βάζοντας στα αρχεία διαμόρφωσης του sendmail (cf/cf κατάλογος) πριν το κτίσιμο το: \"FEATURE(virtusertable, \`dbm +/etc/virtusertable\')dnl\" Επίσης για να κτιστεί το virtusertable χρειάζεται να τρεξει το: \"makemap dbm /etc/virtusertable \< sourcefile\" To λάθος που σου +βγάζει δεν μου έχει παρουσιαστεί σε καμιά περίπτωση, παρόμοια με την δική σου. Το sendmail που έχεις δεν είναι παλιό αλλά πρόσεξε να συμφωνεί με την έκδοση που +χρησιμοποιεί το βιβλίο που έχεις. (στην 8.9.χ υπαρχουν πολλές αλλαγές). Δοκίμασε να κάνεις compile τον κώδικα του, μήπως και η redhat άφησε μερικά features εξω. +Αν δεν λυθεί, επέστρεψε με περισσότερες πληροφορίες όμως για το τί έχεις κάνει με την διαμόρφωση του.* + + +### [29. PPP Login]{#s29} + +Από : [Σταύρος Μαραγκουδάκης](mailto:elhellas@hol.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Εχω το REDHAT πειτε μου τι ρυθμισεις θα πρεπει να κανω ωστε καποιος χρηστης που μπαινει στο Linux να μπαινει σε ppp mode ενω εχω μια συνδεση στο Internet και να +μιραστει το Internet μαζι μου? + +*Φίλε Σταύρο, διάβασε το τεύχος 5, άρθρο για το IPmasquerading του Ευριπίδη Παπακώστα.* + + +### [30. Problhma me ta ellhnika]{#s30} + +Από : [jagged](mailto:jagged@freemail.gr) + +Απάντηση : [Δημήτρης Τζέμος](mailto:djemos@agr.forthnet.gr) + +Paidia boh8eia\ +Prospa8hsa na egkatasthsw ta ellhnika sto linux sumfwna me tis odhgies tou magaz (teuxos 10 , ellhnika sto redhat linux). Afou ekana ola osa elege to ar8ro kanw +ena reboot\... kai hr8e h katastrofh!! Ti ennow: enw apo console mporousa na dw kai na grapsw ellhnika molis phgaina na treksw X me ksanapetage sthn command +line kai mou egrafe to parakatw mhnuma la8ous: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + The XKEYBOARD keymap compiler (xkbcomp) reports: + > Error: Can't find file "grouplock" for compat include + > Exiting + > Abandoning compatibility map "default" + Errors from xkbcomp are not fatal to the X server + Couldn't load XKB keymap, falling back to pre-XKB keymap + + Fatal server error: + could not open default font 'fixed' + + When reporting a problem related to a server crash, please send + the full server output, not just the last messages + + _X11TransSocketUNIXConnect: Can't connect: errno = 111 + giving up. + xinit: Connection refused (errno 111): unable to connect to X + server + xinit: No such process (errno 3): Server error. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Ti ftaiei kai ti mporw na kanw gia na to dior8wsw??? + +*Απο ότι καταλαβαίνω,πρέπει να πήγες στο κατάλογο /usr/X11R6/lib/X11/fonts/misc όπου υπάρχουν οι γραμματοσειρές του συστήματος και η fixed και εκει έκανες +mkfontdir και δημιούργησες τα alias με awk κ.λ.π. Στο άρθρο αναφέρω ότι αυτο το κάνουμε όπου έχουμε τα ελληνικά fonts. Και εγώ είχα κάνει απο περιέργεια το +ίδιο,με την προϋπόθεση ότι είχα κάνει αντίγραφο του misc σε άλλο κατάλογο. Ετσι αντιγράφοντας πάλι όλα τα αρχεία στο κατάλογο misc ,διορθώθηκε το πρόβλημα. Η +λύση νομίζω ότι είναι η εξής: Πιστέυω ότι εχεις το CD με τη διανομή του RedHat. Κανεις mount το CD και αντιγράφεις απο το live/usr/X11R6/lib/fonts/misc όλα τα +αρχεία στο /usr/X11R6/lib/X11/misc. Αυτα με την προϋπόθεση οτι πείραξες όντως το κατάλογο misc.* + diff --git a/content/articles/13/01_boot.md b/content/articles/13/01_boot.md new file mode 100644 index 0000000..7b06434 --- /dev/null +++ b/content/articles/13/01_boot.md @@ -0,0 +1,74 @@ ++++ +title = 'Διαδικασία εκκίνησης του Υπολογιστή.' +date = '1999-03-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης' +issue = ['Magaz 13'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Αναρωτηθήκατε ποτέ ποια διαδικασία ακολουθεί το μηχάνημα μας για να μπουτάρει, και ποια αρχεία διαβάζει κατά την διαδικασία εκκίνησης του Linux; Εγώ πάντως +αναρωτήθηκα, και βρήκα στο Internet ένα posting του [Erik Ratcliffe](mailto:erik@caldera.com) στην mailing list caldera-users όπου το αναλύει, και σκέφτηκα να +το μοιραστώ μαζί σας.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αν και το κείμενο υποτίθεται ότι είναι για συστήματα με Caldera distribution, πρέπει να ισχύει το ίδιο σε όλα τα SysV λειτουργικά, δηλαδή όχι μόνο σε όλες τις +distributions του Linux, αλλά και σε Solaris, και σε άλλα. Μπορεί κάποιο distribution (π.χ. S.u.S.E.) να έχει κάποια \"ειδικά\" αρχεία, αλλά και αυτά δεν +αλλάζουν την γενική ιδέα. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Power On + | + V + BIOS (CMOS) + | + V + Boot Loader (LILO) + | + ________________V_________________ + | | | | + DOS OS/2 Whatever Linux + . . . | + . . . V + V V V Bootstrap Kernel + | + --- V + | /sbin/init is executed + | | + | V + | /etc/inittab is read + | (default runlevel is set here) + | | + | V + | /etc/rc.d/rc#.d stuff is executed + | (default runlevel scripts are here) + | | + SysV Init. --| V + | /etc/rc.d/rc.boot is executed + | | + | V + | /etc/rc.d/rc.modules is executed + | | + | V + | /etc/rc.d/rc.local is executed + | | + | V + | /bin/login is executed + --- + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Για να εκκινήσουμε το σύστημα σε X-Windows, απλά πειράζουμε το default runlevel στο /etc/inittab (είναι η γραμμή \"initdefault\") το οποίο μας λέει σε ποιο +runlevel θα ξεκινήσει το σύστημά μας. Στην Caldera (και αυτό είναι διαφορετικό για κάθε distribution) αν αυτό λέει 3, το σύστημα θα ξεκινήσει σε regular +multi-user mode (όχι X-based login). Αν το αλλάξουμε σε 5, θα ξεκινήσουμε στο ίδιο ακριβώς runlevel αλλά με X-based login, το οποίο αναλαμμβάνει το xdm (by +default). Για το runlevel 3, όλα τα scripts που βρίσκονται στο /etc/rc.d/init.d και έχουν ένα symbolic link στο /etc/rc.d/rc3.d θα εκτελεσθούν. Για το runlevel +5, όλα τα scripts που βρίσκονται στο /etc/rc.d/init.d και έχουν ένα symbolic link στο /etc/rc.d/rc5.d θα εκτελεσθούν. Όπως μάλλον θα καταλάβατε, το \"\#\" στο +σχέδιο πάνω (\"rc\#.d\") αντικαθίσταται με τον αριθμό του runlevel. + +To Xdm, επί τη ευκαιρεία, χρησιμοποιεί το αρχείο etc/X11/wmconfig/xsessionrc για τις ρυθμίσεις του (προσέξτε ότι αυτό είναι ένα hard link στο xinitrc, το οποίο +χρησιμοποιείται για να ξεκινήσει τις default X υπηρεσίες, όταν χρησιμοποιείτε το startx για να ξεκινήσετε τα X windows. Είναι στο ίδιο directory με το +xsessionrc. Αν αλλάξετε ένα από αυτά τα αρχεία, αυτομάτως αλλάζει και το άλλο). Ο window manager συνήθως εκτελείται στο τέλος του xsessionrc (ή, στην περίπτωση +του startx, στο τέλος του xinitrc). diff --git a/content/articles/13/02_peripeteies.md b/content/articles/13/02_peripeteies.md new file mode 100644 index 0000000..80169bf --- /dev/null +++ b/content/articles/13/02_peripeteies.md @@ -0,0 +1,73 @@ ++++ +title = 'Οι περιπέτειες του Βάγγου' +date = '1999-02-01T00:00:00Z' +description = '' +author = 'Παπαδογιαννάκης Βαγγέλης' +issue = ['Magaz 13'] +issue_weight = 2 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Αυτό το κείμενο περιγράφει την περιπέτεια που είχε ο ανωτέρω μνημονευόμενος κατά την επίσκεψη του στο χωριό καταγωγής του. Καμία σχέση με Linux\... \`Όσοι +θέλουν κάτι άλλο, να προσπεράσουν.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αυτό το μήνα δε θα διαβάσετε τίποτα που να πραγματεύεται με το **Linux**. Και αυτό γιατί πρόσφατα έφαγα άλλο ένα HD Crash, με αποτέλεσμα να μην έχω βάλει ακόμα +**Linux** στο μηχάνημα (το οποίο μια μέρα θα πετάξω από το μπαλκόνι\... δεν είναι κατάσταση αυτή: τον Νοέμβρη να καεί το τροφοδοτικό, το Δεκέμβρη να χτυπήσει ο +Fireball και το Φλεβάρη ο Caviar. Μόνο από τη SONY τη MULTISCAN έχω μείνει ευχαριστημένος τόσα χρόνια). + +Το παρόν άρθρο γράφεται σε ένα **INTERNET CAFE** στο χωριό καταγωγής του υπογράφοντα, από το οποίο θα μάθετε και τις περιπέτειες ενός γνώστη των υπολογιστών +(και που, ουσιαστικά, είναι και ο λόγος όλων των οποίων θα διαβάσετε παρακάτω, το ότι ξέρω υπολογιστές). + +Φτάνοντας λοιπόν στο χωριό, ενόψει των αποκριών, μαθαίνω ότι ένας παλιός φίλος έχει ανοίξει ένα μαγαζί με **PLAYSTATION** (ξέρετε, αυτές τις παιχνιδομηχανές της +**SONY**). Σαν παιδί και εγώ, αποφάσισα να ασχοληθώ με την αγαπημένη μου (βλέπε LARA CROFT) για τις 5 μέρες που θα έμενα εδώ, και συγκεκριμένα είπα να παίξω το +TOMB RAIDER III. Φτάνω λοιπόν, και για κακή μου τύχη, το TOMB RAIDER απουσίαζε. Βλέπω και ένα υπολογιστή, με (τι άλλο) ακατονόμαστα 98. Με πληροφόρησε λοιπόν ο +Μανόλης (ο φίλος μου που σας έλεγα) ότι διαθέτει και σύνδεση με INTERNET. Περιττό να σας πω ότι έπρεπε να πληρώνουμε υπεραστικό τηλεφώνημα με το **FORTHNET** +στο Ηράκλειο, για να μπούμε. Δε βαριέσαι, είπα, και λόγω του ότι λαμβάνω (μαζί με τους άλλους από το **magaz** τα ερωτήματά σας για το Linux, είπα να πάρω το +Mail μου. \`Έκατσα λοιπόν, και το πήρα\... Μέχρι εδώ καλά, συμφωνείτε; + +Τα προβλήματα του υπογράφοντα άρχισαν όταν κατάλαβε ότι τόσο ο Μανόλης όσο και οι περισσότεροι δεν ήξεραν ούτε καν τα βασικά από τους υπολογιστές. Και πολύ +περισσότερο δεν ήξεραν τη φιλοσοφία, και τον τρόπο που \`\`δουλεύει\'\' το **Internet** (και λειτουργούσαν **INTERNET CAFE**!!!). Και αυτό ήταν το πρώτο flash +που έφαγα\... Συνηθισμένος από τους άλλους ατσίδες φίλους που έχω στα Χανιά και ασχολούνται με υπολογιστές, δεν μπορούσα να φανταστώ με τίποτα ότι το +αντικείμενο ήταν τόσο άγνωστο σε μια μεγάλη μερίδα ανθρώπων. + +Λόγω λοιπόν και της παλαιάς φιλίας με το Μανόλη, (αλλά λόγω και του ότι πίστευα - και πιστεύω - πως οι υπολογιστές δεν είναι κάτι το \`\`δύσκολο\'\' και είναι +κρίμα να μην έχουν αυτή τη γνώση πολλοί άνθρωποι) αποφάσισα να τους δείξω τα βασικά\... \`\`Ε, γουίντοους 98 είναι\'\', είπα, \`\`ελληνικά, δες και πάτα, δεν θα +είναι δύσκολο\'\'. Κατέβασα λοιπόν από το δίκτυο τον καλύτερο (κατά τη γνώμη μου) IRC Client, το mIRC, και αφού το εγκατέστησα τους έδειξα πώς να +\`\`μπαίνουν\'\' στα διάφορα κανάλια, πώς να συνομιλούν με άλλους, και πώς να στέλνουν και να λαμβάνουν αρχεία. Περιττό να σας πω ότι το πρώτο πράγμα που +\`\`πραγματευτήκαμε\'\' ήταν - τι άλλο - τσόντες. Εξάλλου, όλοι πάντα έτσι αρχίζουν\... Και είμαι σίγουρος ότι με την πάροδο του καιρού θα καταλάβουν ότι δεν +αξίζει στο internet να είναι μια \`\`απέραντη τσόντα\'\' (Αυτό πάλι είναι άλλου παπά Ευαγγέλιο). Δεν πίστευα στα μάτια μου όταν, μετά από απουσία μου περίπου 5 +ωρών, το επίπεδό τους είχε ανέβει κατακόρυφα (το ότι ασχολούνταν ακόμα με ανταλλαγές φωτογραφιών του προσφιλούς μας περιεχομένου μέσω IRC δεν είχε καμία +σημασία). Έπρεπε να τους δείτε να χειρίζονται τον Εχπλόρερ, και ένα viewer φωτογραφιών. Το multitasking σε όλο του το μεγαλείο\... Ακόμα και directories είχαν +φτιάξει για την κατηγοριοποίηση των φωτό! Περιττό να σας πω ότι χάρηκα ιδιαίτερα\... Ακόμα και απλοί λοιπόν, άνθρωποι είναι εύκολο να μάθουν\... Αρκεί να έχουν +κάποιο ερέθισμα (τις τσόντες που λέγαμε). + +Μετά από κάνα - δυο μέρες, και αφού ο Μανόλης είχε μάθει αρκετά, αποφασίσαμε να ασχοληθούμε με πιο \`\`αποδοτικές\'\' χρήσεις του internet. \`Έδειξα λοιπόν στο +Μάνο πώς να φτιάχνει λογαριασμούς mail για τους πελάτες του, και πώς να τους φτιάχνει χρήστες στο ICQ. Προς το παρόν μόνο σε αυτό το επίπεδο έχουμε φτάσει, αλλά +τα πάμε πολύ καλά. Και ξέρετε και κάτι άλλο; Κρίμα που θα φύγω σύντομα, γιατί αυτή η έκφραση στο πρόσωπο αυτού που μαθαίνει, είναι για μένα η καλύτερη +ανταμοιβή. + +\`Όχι ότι δεν έλειψαν και τα ψιλοπροβληματάκια που αντιμετώπισα. Πχ, σήμερα, και πριν κάτσω για να γράψω αυτό το άρθρο, ήταν μια κοπέλα που κάτι προβλήματα +είχαν τα γουίντοους της, και ήθελε να ξανακάνει από πάνω εγκατάσταση τους (μάλλον αυτό πρέπει να ήθελε, δεν κατάλαβα και καλά) αλλά το CD που χρησιμοποιούσε δεν +ήταν αυτό με το οποίο είχε γίνει εγκατάσταση, με αποτέλεσμα όταν της ζητούσε τον κωδικό να μην τον δέχεται. Το σκέφτηκα λιγάκι, και φαντάστηκα ότι την +πληροφορία αυτή την περιείχε η registry. Τρέχω το regedit, και το βάζω να ψάξει για το -oem- που θυμάμαι ότι περιέχουν όλοι οι κωδικοί των ακατονόμαστων και, ω +του θαύματος, βρέθηκε. Της είπα τον τρόπο λοιπόν. Δυστυχώς, εδώ με νομίζουν ότι είμαι \`\`Ο\'\' γνώστης, και μάλλον θα μου σπάνε τα \*!:@\#\$ πολύ καιρό, και +πολλοί άνθρωποι. Δεν βαριέσαι\... + +Ηθικό δίδαγμα; Δεν υπάρχει ακριβώς ηθικό δίδαγμα, αλλά υπάρχουν οι εξής διαπιστώσεις. + +1. Το ποσοστό του πληθυσμού στο οποίο οι υπολογιστές φαντάζουν ακόμα σαν κάτι εξειδικευμένα τρομακτικά κουτιά, είναι ακόμα πολύ μεγάλο στην ωραία μας χώρα\... + και είναι κρίμα. +2. Στη ζωή ισχύει αυτό που ισχύει και στο στρατό. \`Όσο λιγότερα ξέρεις, τόσο καλύτερα για εσένα (αυτό πάντως - και δυστυχώς - δεν το εφαρμόζω εγώ προσωπικά) +3. Το internet είναι ακόμα μια απέέέέέέέέραντη τσόντα (αυτό φυσικά είναι το λιγότερο). +4. Το ελληνικό κράτος δεν κάνει τίποτα για να μάθει ο κόσμος ότι οι υπολογιστές δεν είναι παράξενα ξωτικά που κατέβηκαν από άλλο πλανήτη. Και αυτό ίσως να + είναι το χειρότερο. +5. Υπάρχουν κάτι \`\`αετονύχηδες\'\' που την έχουν δει masters of the computer, και πουλάνε στον κόσμο φύκια για μεταξωτές κορδέλες, και που δεν έχουν τα + κότσια (αφού πουλήσουν τον υπολογιστή) να βοηθήσουν τον κόσμο να καταλάβει τι κάνει αυτό το κο\#\@κουτο. \`\`Πάρε αγόρι μου\'\', λένε, \`\`και θα μπεις στο + Internet !!!\'\' + +Μέχρι τον επόμενο μήνα λοιπόν που θα έχω εγκαταστήσει το Linuxάκι μου στον (καινούριο!!!) υπολογιστή μου, βολευτείτε με ένα άρθρο άσχετο με το Linux, αλλά +σχετικό με την κατάσταση της γνώσης για τους υπολογιστές σε αυτό το άκρο της βαλκανικής χερσονήσου (που λέμε Ελλάδα) + +Φιλάκια, Βαγγούκος diff --git a/content/articles/13/03_grredhat2.md b/content/articles/13/03_grredhat2.md new file mode 100644 index 0000000..40351d3 --- /dev/null +++ b/content/articles/13/03_grredhat2.md @@ -0,0 +1,112 @@ ++++ +title = 'Ελληνικά στο RedHat 5.0' +date = '1999-03-01T00:00:00Z' +description = '' +author = 'Τζέμος Δημήτρης' +issue = ['Magaz 13'] +issue_weight = 3 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Μετά απο πολλές περιπέτειες με τα ελληνικά στο RedHat 5.0 , διάβασμα των σχετικών Howto βρήκα πως βάζουμε ελληνικά ΠΑΝΤΟΥ στο RedHat 5.0 (Xwindows και console) +Τα Howto έχουν μερικά λάθη με βασικότερο το locale lang=gr\_GR.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Πρέπει να γίνουν οι παρακάτω ενέργειες: (Πρέπει να είμαστε root) + +1. απο τη γραμμή εντολών ή σε Xterm γράφουμε locale. Πρέπει να πάρουμε τα εξής: + + LANG=POSIX + LC_CTYPE="POSIX" + LC_NUMERIC="POSIX" + LC_TIME="POSIX" + LC_COLLATE="POSIX" + LC_MONETARY="POSIX" + LC_MESSAGES="POSIX" + LC_ALL= + + Πρέπει δηλαδή να ΜΗΝ έχουμε βάλει πουθενά lang=gr\_GR + + - Για Xwindows\ + Κατεβάζουμε τα αρχεία XFGreekFNTS-1-1.noarch.rpm, **X11greek\_tar.gz και greekXfonts-BDF-1\_1.tgz** που περιέχουν ελληνικές γραμματοσειρές καθώς και το + GRkbd-1.2.linux.tar.gz για αλλαγή πληκτρολογίου (ΟΧΙ το XFGreekKBD-1.2-2.noarch.rpm) **Οι τόποι, από τους οποίους μπορείτε να κατεβάσετε τα παραπάνω + αρχεία, αναφέρονται σε μορφή links στο τέλος του άρθρου.** Τα εγκαθιστούμε και στο /etc/XF86Config πρέπει να προσθέσουμε το FontPath για τις ελληνικές + γραμματοσειρές του greekXfonts-BDF-1\_1.tgz Οι του XFGreekFNTS-1-1.noarch.rpm προστίθενται αυτόματα. **Η εγκατάσταση του X11greek\_tar.gz γίνεται ως + εξής: Το αποσυμπιέζουμε και πηγαίνουμε στον κατάλογο x11greek/fonts. Αντιγράφουμε όλα τα αρχεία εκτός των fonts.alias και fonts.dir στον κατάλογο + /usr/lib/X11/fonts/misc. Μετά πηγαίνουμε στον παραπάνω κατάλογο και εκτελούμε τις εξής εντολές:1) mkfontdir 2) xset fp+/usr/lib/X11/fonts/misc 3) xset + fp rehash. Τεστάρουμε αν εγκαταστάθηκαν με την εντολή xlsfonts \| grep -i greek. Πρέπει να μας δείξει όλες τις ελληνικές γραμματοσειρές.** Αντιγράφουμε + το grkbd στο /usr/bin για να είναι στο path ή δηλώνουμε το path που βρίσκεται το grkbd + - Για console κατεβάζουμε το greek-console.rpm και το εγκαθιστούμε. + +2. Δημιουργούμε το αρχείο /root/.inputrc με περιεχόμενα + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + set meta-flag on + set convert-meta off + set output-meta on + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Σημείωση: Για κάθε χρήστη του συστήματος δημιουργούμε και το αντίστοιχο  /.inputrc Π.Χ. για χρήστη nikos στο /home/nikos/ + +3. Στο /root/.Xdefaults διορθώνουμε τη γραμμή xterm\*font: fixed και xterm\_color\*font: fixed με xterm\*font: grfixed και xterm\_color\*font: grfixed + αντίστοιχα. Φυσικά μπορούμε να βάλουμε και άλλη εκτός απο την grfixed. + +4. Στο /etc/bashrc δημιουργούμε τα alias προσθέτοντας τις παρακάτω γραμμές: + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + alias xterm="xterm -fn grfixed" + alias rxvt="rxvt -fn grfixed" + alias xedit="xedit -fn grfixed" + alias joe="joe -asis" + alias ls="ls -N --color=yes" + alias less="less -r" + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +5. Για console δημιουργούμε ενα link στο chcp ως εξής: ln -s /usr/local/bin/chcp /chcp οπότε αρκει να δώσουμε /chcp 928 και με alt-shift εχουμε ελληνικά στη + γραμμή εντολών. Σημείωση: Στο /usr/lib/kbd/consolefonts/ υπάρχουν οι γραμματοσειρές οπότε μπορούμε να χρησιμοποιήσουμε την εντολή setfont + /usr/lib/kbd/consolefonts/γραμματοσειρά για να ορίσουμε ποιά θέλουμε. + +6. Για το Netscape + - Για να εχουμε ελληνικά στη γραμμή που δίνουμε τις διευθύνσεις και παντού στο email. Aντιγράφουμε το αρχείο Netscape.ad απο το κατάλογο + /usr/doc/netscape-communicator-4.0x/ **(αν ο netscape είναι εγκατεστημένος από μορφή .rpm ή από τον κατάλογο που τον εγκαταστήσατε, σε περίπτωση μορφής + .tar.gz)** στο /usr/X11R6/lib/X11/app-defaults/ και το μετονομάζουμε σε Netscape. Το ανοίγουμε με τον joe ή με άλλον επεξεργαστή και στη γραμμή 5167 + ,5168, 5169 όπου λέει adobe βάζουμε \* δηλ πρέπει να είναι + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + *XmTextField.fontList: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-* + *XmText.fontList: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-* + *XmList*fontList: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-* + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Επίσης στη γραμμή 5200,5201,5202 αντικαθιστούμε το -\*-helvetica με -greek-helvetica και το 100 με 120 δηλαδή πρέπει να είναι + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + *XmLGrid*fontList:\ + -greek-helvetica-medium-r-*-*-*-120-*-*-*-*-iso8859-*,\ + -greek-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*=BOLD,\ + -greek-helvetica-medium-o-*-*-*-120-*-*-*-*-iso8859-*=ITALIC + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ΤΕΛΕΙΩΣΑΜΕ + + Ξεκινάμε τον Netscape και απο το view -\>encoding επιλέγουμε το Greek (ISO-8859-7) και πάλι απο το ίδιο μενού το \"Set Default Encoding \" και στο + Εdit-\>Preferences-\>Appearance-\>fonts το \"Greek(iso-8859-7)\" και ορίζουμε ποιές γραμματοσειρές θέλουμε. **Οι καλύτερες είναι οι Courier (Greek).** Tο + ίδιο κάνουμε για το \"Western(iso-8859-1)\". + +Σημείωση : Αν κάποιος θέλει να έχει ελληνικά και στο tkirc irc και στο circus irc μπορείτε να μου το πείτε για να στείλω κάποιο σχετικό email. + +**Οι παραπάνω οδηγίες εγκατάστασης έχουν δοκιμαστεί με επιτυχία σε σύστημα RedHat 5.2 εφοδιασμένο με τον Netscape 4.07. Επίσης, η δοκιμή πέτυχε και με τον +Netscape 4.5, ενώ ως window managers χρησιμοποιήθηκαν οι: fvwm95, Afterstep, KDE 1.0, KDE 1.1.** + +**ΔΙΕΥΘΥΝΣΕΙΣ ΑΡΧΕΙΩΝ** + +**ftp://argeas.cs-net.gr/pub/unix/linux/GREEK/ ftp://argeas.cs-net.gr/pub/unix/linux/GREEK/fonts http://members.xoom.com/Vrypan** diff --git a/content/articles/13/04_lin_for_dummies2.md b/content/articles/13/04_lin_for_dummies2.md new file mode 100644 index 0000000..884508b --- /dev/null +++ b/content/articles/13/04_lin_for_dummies2.md @@ -0,0 +1,459 @@ ++++ +title = 'Linux για τους νοητικά ασθενείς part II' +date = '1999-03-01T00:00:00Z' +description = '' +author = 'Κοτσιφάκης Θρασύβουλος' +issue = ['Magaz 13'] +issue_weight = 4 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Συνέχεια του άρθρου του προηγούμενου μήνα. Τα πρώτα σας βηματάκια στο Linux και στα τερτίπια του .**Strictly for beginers**.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Ό LI.LO. (άκου όνομα κι αυτός).** +------------------------------------------------------------------------- + +**2. Τα αρχεία συστήματος** +-------------------------------------------------------------- + +- [2.1 /etc/fstab](#ss2.1) +- [2.2 /etc/profile](#ss2.2) +- [2.3 /etc/printcap](#ss2.3) +- [2.4 /etc/rc.config](#ss2.4) +- [2.5 /etc/inittab](#ss2.5) +- [2.6 /etc/conf.modules](#ss2.6) +- [2.7 Τα αρχεία autoexec.bat και config.sys](#ss2.7) + +**3. Επίλογος (άντε γιατί βαρεθήκαμε).** +--------------------------------------------------------------------------- + + +### [1. Ό LI.LO. (άκου όνομα κι αυτός).]{#s1} + +Χαιρετώ τα πλήθη και μπαίνω κατ\' ευθείαν στο ψητό. LI.LO. εστί **Linux Loader**, και τι κάνει αυτός ε; λοιπόν αυτός φροντίζει να ξεκινήσει(σουν) το(τα) +λειτουργικό(ά) μας. Προφανώς όταν κάνατε εγκατάσταση του Linux, σας ζητήθηκε να τον εγκαταστήσετε κάπου. 'ν δεν έχετε κάποιο λειτουργικό με δικό του loader +(π.χ. OS/2) εγκαταστήστε τον στο MBR (master boot record).Φτιάξτε τα boot volumes μέσα από τις ρουτίνες που διαθέτει κάθε Distribution, δώστε τους ονομασία και +όταν ξεκινήσει ο κουβάς σας θα δείτε ένα μήνυμα μετά από την εκκίνηση του bios όπως το παρακάτω: + +**LΙLO:** + +Δώστε τώρα το όνομα που δώσατε στο boot volume του Linux και συνεχίστε με τα βήματα που διαβάσατε στο πρώτο άρθρο της σειράς για να κάνετε login. Πάμε τώρα να +βγάλουμε τα μάτια στον lilo και να μάθουμε μερικά ψιλά για το πως θα τον κάνουμε να δουλεύει όπως θέλουμε εμείς. + +Κατά την εγκατάσταση του συστήματος σας στο σημείο που εγκαταστήσατε τον lilo συνέβησαν τα εξής: + + α. Καθορίστηκαν οι εγγραφές για το τι λειτουργικά συστήματα πρέπει να είναι έτοιμος ο lilo να ξεκινήσει. + β. Καθορίστηκαν οι ονομασίες αυτών (boot labels) + γ. Καθορίστηκε η θέση τους (σε ποιο δίσκο, σε ποιο partition ) + δ. Καθορίστηκε ποιο λειτουργικό θα είναι το default. + ε. Τροποποιήθηκε το MBR + στ. Γράφτηκαν οι αλλαγές στο configuration file του LILO. + +Αυτά βέβαια με απλά λόγια διότι οι διαδικασίες αυτές είναι much much more complicated απ\' όσον ακούγονται, (διαβάστε το /usr/doc/lilo/README και θα καταλάβετε +τι εννοώ.) Πάμε τώρα να αλλάξουμε τα φώτα στον lilo. + +Μεταφερθείτε στο /etc directory και ψάξτε για ένα αρχείο με το όνομα **lilo.conf**. Ανοίξτε το με κάποιον editor (vi, pico, joe ή όποιον άλλο εσείς πλέον +χρησιμοποιείτε -συνιστώ ανεπιφύλακτα τον pico). Αυτό που θα δείτε είναι περίπου το παρακάτω : + + # LILO global section start + boot=/dev/hda + prompt + timeout=100 + vga = normal + # End LILO global section + # + # Linux bootable partition config begins + image = /boot/vmlinuz + root = /dev/hda6 + label = linux + # Linux bootable partition config ends + # + # Winblows bootable partition config begins + other = /dev/hda1 + label = w95 + table = /dev/hda + # Winblows bootable partition config ends + +Νομίζω ότι με κάποια προσεκτική ανάγνωση καταλαβαίνετε τι κάνει αυτό το αρχείο αλλά και πως το κάνει.Βέβαια εδώ δεν διαβάζουμε για να γίνουμε Πυθίες γι αυτό ας +εξηγήσουμε μερικά πράγματα. + +Προσέξτε τις εγγραφές ανάμεσα από τα σχόλια \"\#LILO global section start\" και \"\# End LILO global section\". Εδώ βρίσκονται οι γενικές (σφαιρικές) +καταχωρίσεις για την αρχική συμπεριφορά του συστήματος μας. + +**boot=\...** : Εδώ καθοδηγούμε το σύστημα για το που βρίσκεται το boot record. Συνήθως είναι /dev/hda ή /dev/sda (αν ξεκινάμε τον lilo από hard-disk ) ή και +/dev/fd0 (αν ξεκινάμε από δισκέττα -ναι, και αυτό γίνεται). + +**prompt** : Ενεργοποιείται το LILO prompt που βλέπουμε στην εκκίνηση και μας καλεί να επιλέξουμε λειτουργικό για την εκκίνηση. + +**timeout=\...tenthsofsecs** : Εδώ βάζουμε τον χρόνο που θα καθυστερήσει ο lilo στο prompt πριν ξεκινήσει το default λειτουργικό.Το 100 που έχει το lilo.conf +παραπάνω σημαίνει 10 seconds. + +**vga=\...** : Εδώ μπορούμε να χρησιμοποιήσουμε μία τιμή ανάλυσης σε χαρακτήρες για την απεικόνιση των τερματικών μας. Οι επιλογές που έχουμε είναι normal +(80x25) ext (80x50) ή ask όπου ερωτούμαστε για την ανάλυση (στο 2.2 kernel η παράμετρος ask δείχνει τον πραγματικό της εαυτό αφού μπορούμε να εκκινήσουμε σε +SVGA Mode). + +Προς στιγμήν ας αφήσουμε το global section στο οποίο θα επιστρέψουμε δριμύτεροι για να του αλλάξουμε τα φώτα, και ας ρίξουμε μία ματιά στο section **\# Linux +bootable partition config begins** + +**image=**/boot/vmlinuz : Εδώ λέμε στον lilo πού θα βρεί τον πυρήνα (vmlinuz είναι το όνομα που θα συναντήσετε και που αργότερα θα χρησιμοποιείτε κι εσείς για +την ονομασία των custom kernel που θα φτιάχνετε, π.χ. vmlinuz\_2\_0\_36 vmlinuz\_2\_2 κ.λ.π. /boot φυσικά είναι το directory όπου αποθηκεύετε τους πυρήνες σας. + +**root =**/dev/hda6 : Έδώ φυσικά καθοδηγούμε τον lilo για το που κάνουμε mount το root (/) + +**label** = linux : Έδω του λέμε τι entry να περιμένει στο prompt. Πληκτρολογώντας δηλαδή linux και πατώντας το enter θα ξεκινήσει να φορτώνει το Linux του +οποίου το loadable kernel βρίσκεται στο /boot ,ονομάζεται vmlinuz και το root directory του \"κάθεται\" στο /dev/hda6 + +Ας πειράξουμε τώρα λίγο το συγκεκριμένο αρχείο.Μπείτε σε μια άλλη κονσόλα και ανοίξτε τον editor της αρεσκείας σας. Πληκτρολογείστε ότι σας κατέβει για μήνυμα +έναρξης και σώστε το π.χ. με ένα όνομα όπως my\_welcome\_msg. Γυρίστε τώρα στο τερματικό που έχετε ανοιχτό το lilο.conf και γράψτε στο global section την εξής +εγγραφή. + +**message**=\.../my\_welcome\_msg όπου έχω τελείες εσείς βάλτε το path για το my\_welcome\_msg π.χ. /boot/my\_welcome\_msg + +Επειδή όμως εσείς είσαστε και ολίγον τί αργόστροφοι και όταν ξεκινάτε τον υπολογιστή το μυαλό σας στέλνει τις εντολές στα χέρια σας για πληκτρολόγηση με +τεράστια χρονοκαθυστέρηση, ο χρόνος των 10 δευτερολέπτων είναι λίγος. Ας βάλουμε κι εδώ 30 δευτερόλεπτα. + +**timeout=** 300 + +Επειδή όμως και αυτός ο χρόνος είναι μικρός για το επίσης μικρό και νωθρό νευρικό σας σύστημα ας ανατρέξουμε στις παρακάτω ενότητες για να αλλάξουμε και τα +labels και να τα κάνουμε μικρότερα + +**label=**l + +**label=**w + +Αλλά επειδή αν και πτωχοί τω πνεύματι είμαστε ανήσυχοι και διαβάσαμε το άρθρο του φίλου μου Βαγγέλη στο προηγούμενο τεύχος και έχουμε κάνει complile έναν kernel +τον οποίο θέλουμε να δοκιμάσουμε για να καμαρώσουμε τι ωραία και γρήγορα που (δεν) ξεκινάει το μασίνι μας αφού απαντήσαμε αρνητικά σε ότι μας ρώτησε κατά την +διάρκεια του config ας φτιάξουμε και ένα section για το δικό μας kernel που με περηφάνεια ονομάσαμε vmlinuz\_siga\_kai\_8a\_bootarei. + + + # LILO global section start + boot=/dev/hda + message=/boot/my_welcome_msg + prompt + timeout=300 + vga = normal + # End LILO global section + # + # Linux bootable partition config begins + image = /boot/vmlinuz + root = /dev/hda6 + label = l + # Linux bootable partition config ends + # + # Winblows bootable partition config begins + other = /dev/hda1 + label = w + table = /dev/hda + # Winblows bootable partition config ends + # + #to neo section me to kernel poy ftiajame jekina edw + image= /boot/vmlinuz_siga_kai_8a_bootarei #elpizw oti to antigrapsate sto /boot + root = /dev/hda6 + label = l1 #elpizw na prolauete na to plhktrologhsete + #edw teleiwnoume (ponhroulia mou!) + +Αφού κάναμε τις αλλαγές μας σώζουμε το lilo.conf και περήφανοι για την πρόοδο μας επανεκκινούμε τον κουβά μας, βλέπουμε το LILO prompt και γράφουμε **l**, +πατάμε το enter και παίρνουμε τ\' \_ \_ \_ \_ \_ια μας ,μας λέει ο lilos ότι λέει δεν υπάρχει τέτοιο πράμα. Πατάμε το Tab για να δούμε τι επιλογές έχουμε και τι +θωρούν τα μάτια μας; **linux** και **w95** μα αφού τα αλλάξαμε με τα ίδια τα χεράκια μας , και το καινούριο kernel που είναι; Well αφήστε το linux να μπουτάρει +όσο θα σας εξηγώ. + +Όταν μετατρέπουμε το αρχείο lilo.conf πρέπει να εγκαταστήσουμε τον lilo ξανά για να αλλάξουν τα settings του **/boot/map** το οποίο δεν μεταβάλλεται αν δεν +τρέξουμε το : + +**/sbin/lilo** + +Αφού τώρα το ξέρουμε πάμε να εφαρμόσουμε την γνώση μας. Tο μήνυμα που θα πάρουμε μετά από την εκτέλεση του /sbin/lilo θα είναι + + Added l* + Added w + Added l1 + +Ο αστερίσκος που βλέπετε πλάι στο **l** δείχνει ότι το l είναι το image που θα φορτώσει σε (πολύ) πιθανό timeout . Αν τώρα θέλετε να ξεκινά by default τα +**ΑΚΑΤΑΝΟΜΑΣΤΑ(c)** τότε κάντε σκάντζα το linux section με το Winblows section (το Winblows πρώτο) και ξανατρέξτε το /sbin/lilo, να πάτε τώρα τρέχοντας να +εξομολογηθείτε την αμαρτία σας σ\' ένα παπά (τον αφορισμό τον έχετε σίγουρο, μόνο ο Χριστοδου(λοπου)λος σας σώζει που αυτός όλα τα συγχωρεί). Τέλος πάντων +ξεκινήστε τον κουβά και βλέπουμε.Και τώρα όπως βλέπετε και το μηνυματάκι σας φαίνεται στην οθόνη έναρξης και το νέο kernel δεν μπουτάρει και γενικώς τα κάνατε +θάλασσα. + + +### [2. Τα αρχεία συστήματος]{#s2} + +Τα αρχεία συστήματος είναι κάτι αρχεία τα οποία διαβάζει ο κουβάς μας κατά την διαδικασία εκκίνησης του για να πάρει γενικές κατευθύνσεις και για να ξέρει τι +υπηρεσίες θα ξεκινήσει.Τα αρχεία αυτά θα τα συναντήσετε μέσα στο **/etc** και στα directories των εκάστοτε user (/root , /home/\...).Γενικά οι τροποποιήσεις +αυτών των αρχείων (ειδικά των γενικών αρχείων που βρίσκονται στο **/etc**) κρίνεται απαγορευμένη για μωρά και ηλιθίους αλλά μάλλον -με πάσα επιφύλαξη- εσείς δεν +ανήκετε σε καμμία από τις δύο παραπάνω κατηγορίες.Έχοντας υπ\' όψιν τα παραπάνω λοιπόν συνιστώ ανεπιφύλακτα να κάνετε ένα **backup** των αρχείων πριν ξεκινήσετε +να τα τσακίζετε στις αλλαγές προς το καλύτερο -κούνια που σας κούναγε. + +Αρχεία συστήματος στο **LINUX**, λοιπόν, είναι τα κάτωθι + +- **/etc/fstab** +- **/etc/profile** +- **/etc/printcap** +- **/etc/rc.config** +- **/etc/inittab** +- **/etc/conf.modules** + +Αυτά είναι τα σπουδαιότερα από τα γενικά αρχεία που και θα εξηγήσουμε διεξοδικά. Εκτός όμως από αυτά υπάρχουν και άλλα που δεν είναι του παρόντος να τα +εξηγήσουμε. Επειδή όμως εγώ είμαι καλός άνθρωπος και σας πάω θα τα αναφέρω εν περιλήψη. + +- **/etc/DIR COLORS** Αναθέτει τα χρώματα στην εντολή ls +- **/etc/XF86Config** Το configuration για το παραθυρικό περιβάλλον +- **/etc/passwd** Πληροφορίες για τους χρήστες (ονόματα, τα shell, τα user ID τους κ.λ.π.) +- **/etc/shadow** Τα passwords + +Φυσικά config file είναι και το lilo.conf αλλά και τα παρακάτω που βρίσκονται στους καταλόγους του κάθε χρήστη (συνήθως /home/{username}). + +- **.profile** το προσωπικό script του κάθε χρήστη (για το **bash**) +- **.bashrc** το configuration του bash +- **.xinitrc** Ένα script για να εκκινείτε τα Χ WINDOWS με τα δικά σας γούστα (γραμματοσειρές, προγράμματα που θα ξεκινούν, ο WINDOW MANAGER της αρεσκείας σας + κ.λ.π). + +### [2.1 /etc/fstab]{#ss2.1} + +Λοιπόν αυτό το αρχείο είναι ίσως το πιο απλό στο editing αφού διαβάζεται πανεύκολα. Ας εξηγήσουμε όμως τι κάνει. + +Με απλά λόγια **καθοδηγεί στην εκκίνηση** το linuxoboxo μας για το τι **filesystems** υπάρχουν στον κουβά μας, για το που γίνονται **mount** και τις +**διαδικασίες ελέγχου** για κάθε ένα απ\' αυτά. + +Η μορφή του είναι ως κάτω: + + Συσκευή mount-point filesystem-type mount-options dumps(backups) fschk + +- **Συσκευή** . Εδώ ορίζουμε τις συσκευές μας (hard-drives και partitions π.χ. /dev/hda6, floppy-disks π.χ./dev/fd0, cdrom π.χ. /dev/hdc) +- **mount-point**.Εδώ ορίζουμε κάτω από ποιον κατάλογο θα γίνεται mount η κάθε συσκευή (/ , /usr , /opt , /cdrom , /mnt/floppy κ.λ.π.) +- **filesystem-type**.Εδώ ορίζουμε το είδος του filesystem για την κάθε συσκευή (ext2 , msdos , vfat , iso9660 , hpfs κ.λ.π.) +- **mount-options**.Εδώ ορίζουμε με τι επιλογές θα γίνει mount το κάθε σύστημα αρχείων. Αυτό λέει στο σύστημα για το αν το filesystem είναι read-write (rw), + read-only (ro) κλπ. Συχνά θα συναντήσετε εδώ και τον ορισμό default , αυτό σημαίνει ότι κατά την εκκίνηση θα χρησιμοποιηθούν οι default επιλογές του + συστήματος για το συγκεκριμένο filesystem-type. +- **dumps**. Εδώ καλούμαστε να ορίσουμε αν θα ζητήσουμε να γίνει backup της μορφής του filesystem κατά την εκκίνηση.Οι επιλογές είναι δύο α. μηδέν(0) και β. + ένα (1) .Με μηδέν το filesystem δεν θα γίνει backup. Με ένα (1) θα αναγκάσει να γραφτεί ένα backup του συστήματος. +- **fschk**. Εδώ ορίζουμε αν θα ελέγχεται η συσκευή για λάθη. Οι επιλογές είναι τρείς. α. Μηδέν (0) δεν γίνεται έλεγχος δηλαδή β. Ένα (1) αφορά το root + filesystem **(/)** και κάνει ένα εκτεταμένο fschk . γ. Δύο (2) ένα λιγότερο thorough fschk. + +```{=markdown} +  +``` + Ας δώσουμε όμως και δύο-τρία παραδειγματάκια : +

+ Για ένα filesystem ext2 στο πρώτο partition του πρώτου IDE harddisk που θέλουμε να χρησιμοποιήσουμε σαν root οι εγγραφές στο fstab θα είναι : + + /dev/hda1 / ext2 default 1 1 + +Για το δεύτερο partition του δεύτερου δίσκου που κατά τραγική τύχη είναι Fat32 και γίνεται mount στο directory /winblows οι εγγραφές θα είναι: + + /dev/hdb2 /winblows vfat default(ή και rw) 0 0 + +Για ένα cdrom master στον δεύτερο IDE controller που θέλουμε να γίνεται αυτόματα mount στην εκκίνηση στον κατάλογο /mnt/cdrom οι εγγραφές είναι: + + /dev/hdc /mnt/cdrom iso9660 ro,auto 0 0 + +Αυτά τα ολίγα για το **fstab** και πάμε παρακάτω. + +### [2.2 /etc/profile]{#ss2.2} + +Το **profile** είναι ένα αρχείο, μα τι αρχείο.Εδώ τα πράγματα μπορεί να είναι εύκολα για τους διαβασμένους έως πολύ δύσκολα για τους αδιάβαστους (σας έστειλα +αδιάβαστους που λέμε). Το profile λοιπόν για να ξέρετε ελέγχει την γενική συμπεριφορά του κελύφους εργασίας μας (κάτι λέγαμε για bash την άλλη φορά, θυμάστε;). + +Η δομή του είναι περίπου αυτή που θα είχε και ένα πρόγραμμα της **C**. Από εδώ μέσα ορίζουμε το πως θα συμπεριφέρονται οι μεταβλητές συστήματος , ποια +directories θα είναι μόνιμα στο PATH , που βρίσκονται οι ΜΑΝ σελίδες, τι aliases θα χρησιμοποιηθούν, τι γλώσσα κ.λ.π. + +Αυτό που ακολουθεί είναι ένα μικρό δείγμα profile αρχείου . Οι εξηγήσεις για το κάθε τι βρίσκονται στα comments(\#) + + # /etc/profile + + PATH=/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin #καθορίζεται το path για τα εκτελέσιμα αρχεία + export PATH #γνωστοποιείται στο σύστημα + + export LANG=gr_GR #καθορίζεται η γλώσσα + + LC_ALL=gr_GR #αλλάζουν όλες οι ρυθμίσεις της γλώσσας και συμβολισμών σε ελληνικά (καθαρά C macro) + export LC_ALL=gr_GR #και εδώ γίνονται διαθέσιμες οι νέες ρυθμίσεις στο shell + export LC_CTYPE=iso-8859_7 #αλλάζουν και καθορίζονται οι λειτουργίες που έχουν να κάνουν με επεξεργασία χαρακτήρων + #σε κωδικοσελίδα iso 8859-7 (ελληνική) + + MANPATH=/usr/local/man:/usr/man:/usr/X11R6/man #καθορίζεται το path για το που βρίσκονται οι man σελίδες + export MANPATH #γνωστοποιείται στο σύστημα το path των man + + PS1="\t:\W\\" #καθορίζεται η πρωτεύουσα συμπεριφορά του shell prompt + PS2='> ' #καθορίζεται η δευτερεύουσα συμπεριφορά του shell prompt + export PS1 PS2 #γνωστοποιούνται στο σύστημα + + alias ls='ls -l --color=tty ' + alias dir='ls -l' + alias ll='ls -l' #Διάφορα aliases + alias la='ls -la' + alias l='ls -alF' + alias ls-l='ls -l' + + clear #καθαρίζει τον buffer από τα μηνύματα + + if [ -x /tmp/osslinux-3.7.1z/osslinux.runme ] ; then #κάνει έλεγχο για την ύπαρξη αρχείου με όνομα osslinux.runme + echo "the sound services can be initialized with **/tmp/osslinux-3.7.1z/osslinux.runme **" #ειδοποιεί για την ύπαρξη του αρχείου + else + echo "if you do not have a sound ready kernel compile one" #αν δεν υπάρχει ειδοποιεί και προτείνει + fi + + + +Μέσα στο profile μπορούν να οριστούν εκφράσεις όπως if\...then\.....else , loops και άλλα περίεργα και εντυπωσιακά για καλύτερο έλεγχο και παραμετροποίηση του +συστήματος, αυτό βέβαια απαιτεί από εσάς να μάθετε καλά το πως λειτουργεί το κέλυφος εργασίας. + +Όπως θα καταλάβατε το **profile** μπορεί να γίνει a real pain in our ass με την πολυπλοκότητα που μπορεί να λάβει. Μία προσεκτική ανάγνωση στην **man bash** θα +μας διώξει τις πολλές απορίες. Και συνεχίζουμε ακάθεκτοι. + +### [2.3 /etc/printcap]{#ss2.3} + +Α-χα! εδώ μπαίνουμε στο πιο πονεμένο θέμα για τον στραβόγιαννο χρήστη.**Ο ΕΚΤΥΠΩΤΗΣ ΜΟΥ** και πως αυτός θα δουλέψει. Μεγάλο θέμα και σηκώνει ώρες συζήτησης. +Φυσικά δέν θα σας κάνω την χάρη (εδώ είδα κι έπαθα να κάνω τον δικό μου εκτυπωτή να δουλέψει θα κάνω τον δικό σας;). + +Λοιπόν το printcap είναι το αρχείο που διαχειρίζεται τους εκτυπωτές μας. Μέσα απ\' αυτό περιγράφεται η συμπεριφορά του εκτυπωτή, η ονομασία του, το που θα +γίνονται spool τα έγγραφα προς εκτύπωση, το πώς θα μετατραπεί και θα εκτυπωθεί ένα αρχείο που δεν είναι ASCII. Η απλούστερη μορφή του είναι η παρακάτω η οποία +όμως είναι ικανή να τυπώσει μόνο ASCII κείμενο + + # epson colonas pro: # ονομασία του printer + lp:lp=/dev/lp1 # ποια συσκευή είναι + :sd=/usr/spool/lp1 #το spool directory + :sh #παράμετρος που εμποδίζει την εκτύπωση του ονόματος του + #owner των προς εκτύπωση σελίδων σαν επικεφαλίδα + +Επειδή όμως εσείς δεν θα τυπώσετε μόνο ASCII αλλά όλο και κάποια βρώμικη φωτογραφία θα προσπαθεί να βρει τον δρόμο της προς τον εκτυπωτή σας καλό είναι να +γνωρίζετε ότι υπάρχουν τα λεγόμενα φίλτρα τα οποία αναλαμβάνουν να περιγράψουν στον εκτυπωτή αυτό που του στέλνετε (γυμνή, ψηλή, ξανθιά με πλούσια προσόντα +κ.λ.π.) ώστε το αποτέλεσμα να είναι το αναμενόμενο και ουχί ακαταλαβίστικοι χαρακτήρες που γεμίζουν τις σελίδες σας.\ +Μία ματιά στην **man printcap** και στο **THE LINUX PRINTING HOWTO** θα σας διαφωτίσει για το πώς θα εγκαταστήσετε διάφορα φίλτρα εκτύπωσης. Οι περισσότερες +distributions πάντως έχουν και κάποια φίλτρα για εκτυπωτές. Η RH έχει τα redhat print filters τα οποία μπορείτε να εγκαταστήσετε μέσω του printool. Αντίστοιχα η +SUSE έχει τα apsfilters τα οποία μπορείτε να εγκαταστήσετε μέσω του yast, ενώ επίσης μπορείτε να βρείτε και commercial φίλτρα στο διαδίκτυο. + +### [2.4 /etc/rc.config]{#ss2.4} + +Εδώ έχομεν το αρχείο το οποίο είναι υπεύθυνο για την έναρξη των δαιμόνων (daemons) για την επιλογή της ρύθμισης γλώσσας, της χρησιμοποιούμενης γραμματοσειράς +για την έναρξη και το σετάρισμα των υπηρεσιών δικτύου και άλλων όμορφων και χορταστικών πραγμάτων.Ένα πολύ μικρό δείγμα rc.config είναι και το ακόλουθο + + MOUSE="/dev/psaux" #που βρίσκεται το mouse + MODEM="/dev/ttyS2" #που βρίσκεται το modem + KEYTABLE="us.map.gz"#το console map για τους χαρακτήρες + CONSOLE_FONT="8x14alt"#τίθεται το font της κονσόλας + KBD_NUMLOCK="yes"#αν το numlock θα είναι on κατά την εκκίνηση + KBD_CAPSLOCK="no"#αν το capslock θα είναι on + TIMEZONE="Europe/Athens"#ρυθμίσεις ώρας (/usr/lib/zoneinfo/localtime) + START_LOOPBACK="yes"έναρξη μίας εικονικής υπηρεσίας δικτύου (χρήσιμη για την λειτουργία εκτυπωτή) + NETCONFIG=""#configuration για LAN και δίκτυα γενικά + IPADDR_0="" + IPADDR_1="" + IPADDR_2="" + IPADDR_3="" + NETDEV_0="ppp0"#το όνομα του πρωτοκόλλου (συσκευής) δικτύου που μπορεί να ενεργοποιηθεί + NETDEV_1="eth0" + NETDEV_2="" + NETDEV_3="" + SETUPDUMMYDEV=yes#dummy net device χρειάζεται για σύνδεση με ppp (internet) + FQHOSTNAME="1.local"#το hostname (από το /etc/hosts) + NAMESERVER="193.91.1.1"το DNS του server που επιχειρεί πρώτη σύνδεση (εδώ της forthnet) + START_KERNELD="yes"#εκκίνηση του kernel daemon + START_GPM="yes"εκκίνηση του gpm για την υποστήριξη mouse σε τερματικό + GPM_PARAM=" -t ps2 -m /dev/mouse"#παράμετροι για το mouse και το gpm + START_LPD=yes#εκκίνηση του printer daemon + +Όπως καταλαβαίνετε το rc.config είναι το βασικό αρχείο συστήματος το οποίο και διαβάζουν τα scripts κατά την εκκίνηση του Linux για να πληροφορηθούν για την +μορφή που πρέπει να πάρει το σύστημα.Μην το αλλάζετε εκτός και αν ξέρετε πολύ καλά τι κάνετε. + +### [2.5 /etc/inittab]{#ss2.5} + +Είναι ένα μάλλον απλό αρχείο του οποίου η σημασία όμως είναι πολύ μεγάλη και για να καταλάβουμε πως λειτουργεί θα πρέπει να πούμε μερικά πράγματα για την +**/sbin/init** και τι κάνει. + +Λοιπόν αυτή η init καθορίζει την συμπεριφορά του μηχανήματος . Όλοι φαντάζομαι έχετε δώσει κάποια από τις εντολές reboot, halt, shutdown κλπ, λοιπόν το τί θα +κάνουν αυτές καθορίζεται από τα init scripts που βρίσκονται στο **/sbin/init.d** και τα οποία διαβάζει η init η οποία είναι και το πρώτο πράγμα που φορτώνει ο +kernel στην εκκίνηση για να ελέγξει τις processes που θα εκκινηθούν. Φαίνεται απλό ε; Ε λοιπόν δεν είναι, αφού στο Linux υπάρχουν διάφορα επίπεδα κάτω από τα +οποία μπορεί να τρέξει. Αυτά χαρακτηρίζονται από ένα αριθμό (αν παρατηρήσετε τα μηνύματα στην εκκίνηση θα δείτε που εκκινεί κάθε run-level και πιο είναι το +τελευταίο που χρησιμοποιείται ). + +Ένας πίνακας με τα run-levels παρατίθεται εδώ (με πάσα επιφύλαξη για τα του red hat) + + SUSE + 0 halt + S single user + 1 multi-user χωρίς δίκτυο + 2 multi-user με δίκτυο + 3 multi-user με δίκτυο και γραφικό login (xdm ή kdm καθορίζεται στο rc.config μαζί με τον window manager) + 6 reboot + + RED HAT + 0 halt + 1 single user + 2 multi user χωρίς network + 3 full multi-user + 5 γραφικό login όλες οι υπηρεσίες + 6 reboot + +Έσείς προφανώς με όποια distribution και αν δουλεύετε σε full multi - user περιβάλλον θα κάνετε login. + +Και φτάνουμε τώρα στο inittab το οποίο καθορίζει την συμπεριφορά της init και των ενεργειών που θα γίνουν σε κάθε runlevel. Παρακάτω ένα inittab με τα σχόλια +του. + + # /etc/inittab + id:2:initdefault: #Έδω καθορίζετε ως default runlevel το 2 (#suse multiusr+network) + + si:I:bootwait:/sbin/init.d/boot #το πρώτο script που διαβάζει (αυτό που ξεκινά τον + #kerneld για τα modules + # ενεργοποιεί το swap ,κάνει fschk κ.λ.π.) + + l0:0:wait:/sbin/init.d/rc 0 # + l1:1:wait:/sbin/init.d/rc 1 #ΕΝΤΟΛΕΣ ΓΙΑ ΚΑΘΥΣΤΕΡΗΣΗ ΣΤΗΝ ΜΕΤΑΒΑΣΗ ΤΩΝ + l2:2:wait:/sbin/init.d/rc 2 #RUN-LEVELS ΓΙΑ ΝΑ ΓΙΝΟΥΝ MOUNT ΤΑ FILESYSTEMS + l3:3:wait:/sbin/init.d/rc 3 # + l6:6:wait:/sbin/init.d/rc 6 # + + ls:S:wait:/sbin/init.d/rc S #οδηγίες για περίπτωση που θα μεταβούμε + ~~:S:respawn:/sbin/sulogin #σε single user mode (κατι ανάλογο με safe mode) + + ca::ctrlaltdel:/sbin/shutdown -r -t 4 now #η συμπεριφορά του three finger salute + #(for those about to rock We salute you) + + +Για να καταλάβετε καλύτερα πως λειτουργεί η **init** και το **inittab** καλό θα ήταν να ρίξετε μια ματιά στα script που βρίσκονται στο **/sbin/init.d** και +στους υποκαταλόγους του (rc0.d ,rc2.d κλπ) αλλά και στην **man init** + +### [2.6 /etc/conf.modules]{#ss2.6} + +Εδώ δεν έχουμε και πολλά να πούμε γιατί το αρχείο αυτό το μόνο πράγμα που περιέχει είναι οι ρυθμίσεις αυτών των κομματιών του hardware που ξεκινάνε με το +kerneld τον daemon δηλαδή που φορτώνει τα modules (ας πούμε drivers που φορτώνονται και ξεφορτώνονται δυναμικά) και επίσης aliases δηλαδή μετονομασίες των +modules π.χ. **alias ppp0 ppp** ή **alias iso9660 isofs** . Οι ρυθμίσεις τώρα που αναφέρονται στα modules έχουν να κάνουν με διευθύνσεις **io** και τα **irq**. +Ένα αρχείο λοιπόν που μάλλον δεν θα το αγγίξετε ποτέ αλλά μόνο για να διαγράψετε κάνα δυο comments από συσκευές που θέλετε να φορτώνουν αυτόματα μετά από κάποιο +επιτυχημένο (θα περάσουν χρόνια) kernel compilation που θα κάνετε. + +### [2.7 Τα αρχεία autoexec.bat και config.sys]{#ss2.7} + +Καλά μεγάλε άμα δεν τα ξέρεις αυτά τα αρχεία έπαιξες και έχασες. Μη με ρωτάς καθόλου γιατί. Θα έπρεπε να ξέρεις.Τέλος πάντων ας σας εξηγήσω λίγα πράγματα γι\' +αυτά. Είναι αρχεία που ασχολούνται με το φόρτωμα των απαιτούμενων drivers, που καθορίζουν τα path των εκτελέσιμων (στο dos) και άλλα χορταστικά .Στο **LINUX** +εμφανίζονται με ενιαία μορφή που είναι η παρακάτω. + + #autoexec.bat + #config.sys + set path=/read_my_lips/den_yparxoun_tetoia_arxeia_sto_linux_ma_ _ka/ + fi + +Αυτή η τελευταία παράγραφος αφιερώνεται σ\' αυτόν που μου ζήτησε αυτά τα αρχεία από το linuxoboxo μου γιατί λέει δεν μπορούσε να κάνει δουλειά με τα δικά του +και το linux του δεν ξεκινούσε (ήταν και γιατρός πανάθεμα τον -ψυχίατρος βέβαια). + +Ξεκαθαρίζουμε λοιπόν. **ΔΕΝ ΥΠΑΡΧΟΥΝ ΑΡΧΕΙΑ CONFIG.SYS ΚΑΙ AUTOEXEC.BAT ΣΤΟ LINUX**. 'ντε πια με τρελλάνατε. (Το παραπάνω περιστατικό είναι πέρα για πέρα +αληθινό και συνέβη αρχές Φεβρουαρίου, μάρτυς η γυναίκα μου). + + +### [3. Επίλογος (άντε γιατί βαρεθήκαμε).]{#s3} + +Και αφού διαβάσαμε εδώ για όλα αυτά τα περίεργα και μάλλον δύσκολα -για αρχάριους-, ας παινέψουμε και λίγο το linuxακι μας και την βαβούρα του.Well well τι +μπορούμε να πούμε ,τι strings μπροστά στα πόδια μας, τι παράμετροι συσκευών, τι επικοινωνία με το μηχάνημα. Πείτε μου βρε άθλιοι είδατε πουθενά στα +ΑΚΑΤΑΝΟΜΑΣΤΑ(c) τόση γνώση για τις διεργασίες και τα εσωτερικά της λειτουργίας του κουβά σας; Εδώ με το linux έχει αρχίσει το μυαλό και ξυπνάει που είχε +καταντήσει σαν την βιοχλαπάτσα με όλα αυτά τα λειτουργικά που κάτω από ένα πέπλο μυστικότητας τα έκαναν όλα. Εδώ τα πάντα είναι παραμετροποιήσημα , η +επικοινωνία με τις συσκευές διαφανής και στα χέρια του χρήστη (μέχρι καφέ μπορείτε να φτιάξετε με το linuxακι σας). + +Να θυμίσω ότι στα τεύχη [08/98](../08/05_bash1.html) και [09/98](../09/06_bash2.html) ο φίλος μου Βαγγέλης έγραψε δύο υπέροχα άρθρα (ούτε καν τα διάβασα) για το +bash και πως θα δουλέψουμε παραγωγικότερα μαζί του. Αξίζει να τους ρίξετε μία ματιά αφού μου φαίνεται πως είναι το μοναδικό documentation για το bash στα +ελληνικά. Καλό διάβασμα λοιπόν και φρόνιμα. + + Σημειώνω ότι τα scripts που δίνονται εδώ σαν παραδείγματα, δεν είναι ολοκληρωμένα ούτε, απαραίτητα, λειτουργικά. Ένα copy και paste δεν θα σας σώσει δηλαδή από την διαδικασία του scripting για να βάλετε ελληνικά ή για να κάνετε το Linux σας να αναγνωρίζει τον καινούργιο δίσκο του. + + the expression ΑΚΑΤΑΝΟΜΑΣΤΑ(c) is a copyright of Papadogiannakis Vaggelis. + diff --git a/content/articles/13/05_mailbox.md b/content/articles/13/05_mailbox.md new file mode 100644 index 0000000..685be60 --- /dev/null +++ b/content/articles/13/05_mailbox.md @@ -0,0 +1,529 @@ ++++ +title = 'Αλληλογραφία' +date = '1999-03-01T00:00:00Z' +description = '' +author = '' +issue = ['Magaz 13'] +issue_weight = 5 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Από το προπροηγούμενο τεύχος (11), η αλληλογραφία γράφεται αυτόματα. Για οποιαδήποτε ορθογραφικά ή άλλα λάθη, ελπίζουμε να μας συγχωρήσετε. Δεν μπαίνει +ανθρώπινο χέρι από εδώ και κάτω, παρά μόνο για copy και paste.Αυτό έγινε λόγω έλλειψης χρόνου, και ελπίζουμε να έχουμε την κατανόησή σας. Επίσης, ακόμα γίνεται +κάποια μελέτη σχετικά με το look του Mailbox. Δηλαδή είναι πιθανόν να αλλάξει. Παρατηρήσεις ευπρόσδεκτες.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +\ +Παρακαλούμε ακολουθήστε τους κάτωθι κανόνες: + +α) Να βάζετε ένα θέμα σχετικό με την ερώτηση στο mail σας. Ένα θέμα της μορφής Ερώτηση περί Linux δεν βοηθάει ιδιαίτερα.\ +β) Να ρίχνετε και καμιά ματιά στα περασμένα τεύχη, και εννοώ και την στήλη της αλληλογραφίας, αλλά και τα άρθρα. Ίσως κάποιες ερωτήσεις να απαντούνται από +εκεί.\ +Επίσης, παρακαλούμε γράφετε στα ελληνικά. Αν το outlook σας δεν βλέπει ελληνικά, βάλτε linux :-)\ +γ) Απαντήσεις οι οποίες δεν έχουν απαντηθεί, σημαίνει ότι μάλλον δεν ξέρουμε την απάντηση. Ερωτήσεις οι οποίες έρχονται με mail, είναι ΠΟΛΥ ΔΥΣΚΟΛΟ να +απαντηθούν. Προτιμήστε την φόρμα. + +**1. yamaha opl3-sax** +------------------------------------------------ + +**2. FTPD** +------------------------------------- + +**3. internet connection** +---------------------------------------------------- + +**4. Dialer και Irc** +----------------------------------------------- + +**5. Στησιμο συστηματος** +--------------------------------------------------- + +**6. REDHAT 5.2** +------------------------------------------- + +**7. Installation** +--------------------------------------------- + +**8. Installation Problem** +----------------------------------------------------- + +**9. ppp-on** +--------------------------------------- + +**10. Drop down menu stin selida sas** +------------------------------------------------------------------ + +**11. partitioning** +------------------------------------------------ + +**12. modem -\>No Carrier** +------------------------------------------------------- + +**13. FAT32 (2)** +--------------------------------------------- + +**14. PPP Script** +---------------------------------------------- + +**15. ΠΩΣ ΘΑ ΕΓΚΑΤΑΣΤΗΣΩ ΤΟ LINUX?** +---------------------------------------------------------------- + +**16. egkatastash linux** +----------------------------------------------------- + +**17. partition** +--------------------------------------------- + +**18. Ελληνικα** +-------------------------------------------- + +**19. Locale** +------------------------------------------ + +**20. WindowMaker και Ελληνικα\...** +---------------------------------------------------------------- + +**21. Cuseeme through ipfwadm** +----------------------------------------------------------- + +**22. NTFS file system** +---------------------------------------------------- + +**23. partitioning** +------------------------------------------------ + +**24. Dial up connection** +------------------------------------------------------ + +**25. O pppd πεθαίνει** +--------------------------------------------------- + +**26. Πυρήνας 2.2.1** +------------------------------------------------- + + +### [1. yamaha opl3-sax]{#s1} + +Από : [matziridis makis](mailto:matziridism@yahoo.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +hello.exo ena poli megalo provlima.exo tin karta ixou yamaha opl3-sax ensomatomeni sto tsipaki tis intel.. otan kano omos sound config den paizei i karta. + +*Sound config? Από που? Εννοείς απο τον kernel? Υπάρχουν ειδικές οδηγίες στην σελιδα http://www.bright.net/ dlphilp/linux\_soundapps.html Αν εννοείς κάποιο άλλο +πρόγραμμα, δες τις οδηγίες του προγραμματος.* + + +### [2. FTPD]{#s2} + +Από : [Giorgio Kolosof](mailto:902@mail.902.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +help!!! prin apo 3 kronia se kapio server linux eika settari to user account stp FTP gia na min sgenoune exo apo to shell tou otan kanune ftp alla den fimame +pos to eika kani mipos xerete pos ginete?! bye byte\... + +*Στο wuftpd έχει οδηγίες στο αρχειο NOTES του source. Στον ProFTPd έχει οδηγιες στο documentation. Η γενική ιδέα είναι οτι φτιάχνεις ειδικα accounts που +θεωρουνται ως guests και μπαινουν σε chrooted ftp shell.* + + +### [3. internet connection]{#s3} + +Από : [Χρήστος Ηλιάδης](mailto:heliad@yahoo.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Θα ήθελα αν είναι δυνατόν να μου δώσετε κάποια υπόδειξη για τη σύνδεση στο internet η οποία δεν θέλει μάλλον να υπακούσει παρ΄ολες τις προσπάθειες.Εχω φτιάξει +τον kernel να υποστηρίζει ppp και εχω γράψει στο /etc/resolv.conf + +*Μάλλον το πρόβλημα είναι το routing. Πρέπει να υπάρχει μία επιλογή Set default route ή κάπως έτσι στο προγραμμα που χρησιμοποιείς. Για να δεις τι routing table +έχεις, γράψε την εντολή route rn* + + +### [4. Dialer και Irc]{#s4} + +Από : [Τζουμάκης Βασίλειος](mailto:bilt@otenet.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +1\. Ποιός είναι ο dialer και πως θα το τρέξω? (S.u.S.E. 6.0) νομίζω πως εχω εγκαταστήσει όλα τα υπόλοιπα απαιτούμενα. Δεν μπορω να βρω πως θα καλεσω για να κανω +login στον otenet. Πρωτη φορα ασχολουμαι με Linux. 2. Τι πρεπει να καταχωρησω στο mIRC32 ωστε να εχω επαφη με το \#linux-gr + +*1. Διάβασε τo http://magaz.hellug.gr/1998/05/xisp.html και το archive της λίστας http://lists.hellug.gr ψαχνοντας για XISP. 2. Μάλλον /join \#linuxgr αλλά δεν +ξέρω απο IRC, οπότε\...* + + +### [5. Στησιμο συστηματος]{#s5} + +Από : [Κωστας Καρινιωτακης](mailto:kmkarin@mrpost.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +1.Ποια ειναι η σειρα των εργασιων για να στηση κανεις ενα συστημα εξ αρχης. 2.Ποια αρχεια να κατευασω κατ αρχας. Αυτα προς το παρον. Ευχαριστω.. + +*1) Αγοράζει ένα distribution, και όλα εχουν οδηγίες. 2) Τα πιο πολλά είναι στο distribution, τα υπόλοιπα ανάλογα με το τι χρειάζεσαι.* + + +### [6. REDHAT 5.2]{#s6} + +Από : [Θεωδορος Παπαδοπουλος](mailto:webgallery@grecian.net) + +Απάντηση : [Ευριπίδης Παπακώστας](mailto:evris@hellug.gr) + +Ξερετε τη πυρηνα εχει το REDHAT 5.2? + +*Από την μάνα του : 2.0.36, αν αμφιβάλεις για οποιονδήποτε λόγο : uname -a* + + +### [7. Installation]{#s7} + +Από : [Λώλης Αλέξανδρος](mailto:Crash-O@ath.forthnet.gr) + +Απάντηση : [Φώτης Γεωργάτος](mailto:gef@hellug.gr) + +\'Εχω φτιάξει τα partitions και μολις ξεκινάω το Installation αφου ρυθμίσω τα partitions ,μου έχει ένα πινακάκι και μου λέω να βάλω το \"Mount Point\" που θέλω +και επίσης λέει ότι αυτό που θα γράψω πρέπει να αρχίζει με / .Εγώ δεν ξέρω τι΄είναι αυτό το mount point και τι πρέπει να βάλω και για αυτό ζητάω απεγνωσμένα +βοήθεια.Σας παρακαλώ αν γίνεται να μου στείλεται μια απάντηση σχετικά με το προβλημά μου και άμα δεν ξέρετε ούτε εσεις την λύση θα ήθελα πάλι να με ενημερώσετε +για να μην περιμένω άδικα.Σας ευχαριστώ πολυ. ΥΓ + +*Φίλε Αλέξανδρε, δεν ξέρω τι είναι το πινακάκι που βλέπεις αλλά μάλλον δεν θα χρειάζεται να συμπληρώσεις τίποτα. Λίγη θεωρία: Όλα τα UNIX συστήματα, +συμπεριλαμβανομένου και του Linux έχουν μια διαφορετική φιλοσοφία από ότι αυτήν των drives A:, B:, C:, D: κλπ. Συγκεκριμένα, υπάρχουν τα mount points δηλαδή +σημεία του συστήματος αρχείων στα οποία \"προσαρτώνται\" τα partitions των δίσκων σου (πχ το βασικό filesystem είναι στο /, υπάρχουν επίσης το /mnt, το /cdrom, +άλλες φορές φτιάχνει κανείς δικά του, πχ /diskC, /floppyA κλπ). Δες αυτό το παράδειγμα: mount -t iso9660 /dev/hdc /cdrom Η εντολή αυτή λέει, πάρε την συσκευή +hdc (1ος δίσκος στον secondary controller), και \"κόλλησέ\" την στο mountpoint /cdrom. Εάν όλα αυτά σου φαίνονται περίεργα και δεν μπορείς να καταλάβεις τι +γίνεται, σου προτείνω να αρχίσεις να διαβάζεις τα HOWTO. Καλή επιτυχία* + + +### [8. Installation Problem]{#s8} + +Από : [Λώλης Αλέξανδρος](mailto:Crash-O@ath.forthnet.gr) + +Απάντηση : [Παναγιώτης Βρυώνης](mailto:vrypan@hellug.gr) + +Το προβλημα που έχω είναι το εξής + +*Για να τα πάρουμε με την σειρά: Α. Από όσο ξέρω, δεν μπορείς να τρέχεις το Linux από το CD ROM της RedHat. Το CD αυτό είναι για εγκατάσταση. Β. Άν +δημιουργήσεις μόνο ένα partition για το Linux, αυτό θα είναι αναγκαστικά το root partition, δηλ. θα έχει για mount point το \"/\" (χωρίς τα εισαγωγικά +βέβαια\...).* + + +### [9. ppp-on]{#s9} + +Από : [Georgiadis Petio](mailto:petio@mail.otenet.gr) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Den boro na sindetho meso tis linux sto internet.thelo na mou pite pos mporo na to petixo. + +*\`\`Το αυτοκίνητο μου δεν μπορεί να πάρει μπροστά\... Θέλω να μου πεις πως να το βάλω\...\'\' Συγγνώμη για το μπλάκ χιούμορ, αλλά δεν μας δίνεις άλλα +περιθώρια, και η ερώτησή σου στα αυτιά μας ακούγεταί όπως η παραπάνω στα δικά σου. Αν θέλεις να γίνεις λίγο πιο συγκεκριμένος, θα προσπαθήσουμε να σε +βοηθήσουμε. Μπορείς να μας γράψεις: α. Πώς προσπάθησες να συνδεθείς β. Με ποιον provider θες να συνδεθείς Και εκτός αυτών, πιστεύω να απαντήσεις καταφατικά στην +ερώτηση: \"ΔΙΑΒΑΣΕΣ ΚΑΝΕΝΑ HOW-TO?\" \`Αντε φιλάκια, και χωρίς παρεξηγήσεις σε παρακαλώ ΟΚ? Βαγγελούκος* + + +### [10. Drop down menu stin selida sas]{#s10} + +Από : [Giannis Chronakis](mailto:vamp71@freemail.gr) + +Απάντηση : [Ευριπίδης Παπακώστας](mailto:evris@hellug.gr) + +Pragmati exw problima (elpizw prosorina) na grapsw ellinika sto netscape kai zitw sygnwmi pou grafw greeklish. Exw mia apli erwtish. Einai logiko to drop down +menu kai to button sto aristero frame tis selidas tou periodikou sas na fainetai sto netscape 4.5 me tin morfi (kinezika/agglika) i einai diko mou problima? Mia +monolektiki apantisi mou einai arketi. Eyxaristw prolatabolika Giannis P.S. Molis blepw oti to submit button autis tis selidas einai kai auto sta agglika. + +*Αν γράφεις (ή όχι) ελληνικά στις άλλες εφαρμογές, βλέπεις (ή οχι) ελληνικά στο netscape και δεν γράφεις στο mailer του, στις φόρμες ή δεν βλέπεις στα submit +buttons, τότε μια επίσκεψη στο : [../10/04\_grredhat.html](../10/04_grredhat.html) ίσως σου φανεί διαφωτιστική.* + + +### [11. partitioning]{#s11} + +Από : [Sotiris Parmakis](mailto:sotpar@geocities.com) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Έχω εγατεστημένο το RedHat 5.1 σε ένα ενιαίο partition 700MB (+75MB swap partition). Τώρα θα ήθελα να το χωρίσω σε μικρότερα partition. Θα ήθελα να μου πείτε σε +ποιά directory θα πρέπει να κάνω ξεχωριστά partition και πόσο μέγεθος(περίπου) να τους διαθέσω, με την προυπόθεση πώς στο σύστημά μου δεν υπάρχουν άλλοι +χρήστες, εκτός από εμένα και δεν χρησιμοποιείται για δίκτυο. + +*Πρώτο και κυριότερο, να ξέρεις ότι το να χωρίσεις το δίσκο σου ώστε σε διαφορετικά partitions να βρίσκονται διαφορετικά directories, δεν σε προφυλάσσει από +τίποτα, (ούτε από HD failure), εκτός ίσως από το fragmentation του σκληρού σου δίσκου. Να σημειωθεί ότι το ext2 filesystem, είναι σχεδιασμένο ώστε να μην +χρειάζεται defrag, γιαυτό και δεν υπάρχουν τέτοιου είδους προγράμματα για linux. Επίσης, καλό θα ήταν να ήξερες τι σκοπό εξυπηρετεί το κάθε directory. Υπάρχει +ένα πολύ καλό άρθρο του Ν. Κόκρα στο θέμα, και μπορείς να το βρεις στο Magaz, τεύχος 7, δηλαδή εδώ: http://magaz.hellug.gr/1998/07/fs.html Ρίξε του μια γερή +ματιά πριν κάνεις τίποτα. Δεδομένου ότι ισχύουν αυτά που αναφέρεις, ότι δηλαδή δεν το χρησιμοποιούν άλλοι χρήστες, και εφόσων δεν έχεις αυξημένες απαιτήσεις +ασφάλειας δεδομένων (ώστε να κρατάς τα αρχεία σου σε ξεχωριστό partition), θα σου πρότεινα να μην περιπλέξεις τα πράγματα\... Κράτα όλο το Linux σε ένα +partition. Αν πάλι επιμένεις να δοκιμάσεις κάτι τέτοιο, δοκίμασε το εξής:* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + -------------------- + 1. / (root) 250 MB + 2. /usr 400 MB + 4. /home 50 MB + -------------------- + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*ΠΡΟΣΟΧΗ! Αν στο σύστημα σου υπάρξει το /opt directory, ίσως (μάλλoν) θα χρειαστείς περισσότερο χώρο στο / (κόψε από το /usr λίγο και από το / μπόλικο), δηλαδή +κάντα κάπως έτσι:* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + -------------------- + 1. / (root) 100 MB + 2. /usr 350 MB + 4. /home 50 MB + 5. /opt 200 MB + -------------------- + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Σε μια τέτοια αναλογία τα έχω στο δικό μου μηχάνημα, τα είχα δηλαδή, μέχρι το crash toy HD :(((.* + + +### [12. modem -\>No Carrier]{#s12} + +Από : [Δημητρης Κοσικιδης](mailto:fanatic_gr@hotmail.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Αγαπητοί φίλοι και χρήστες του Linux\... Ευχαριστώ που διαβάζεται το e-mail μου και για τον χρόνο σας. Καταρχήν έχω δύο ερωτήματα + +*Δημήτρη, το περιοδικό δεν κυκλοφορεί σε περίπτερα. Μόνο στο Internet. Όσο για το modem, θα πρέπει πρώτα να κανεις authenticate και μετά να τρέξεις το pppd, αν +είσαι σε καποιον provider που να χρησιμοποιεί τέτοιου είδους authentication, αλλιώς να βάλεις το XISP να σου λύσει τα προβλήματα. Δες τα τεύχη 5 και 6 του 1998 +για πληροφορίες σχετικά με το XISP.* + + +### [13. FAT32 (2)]{#s13} + +Από : [Σωτήρης Παρμάκης](mailto:sotpar@geocities.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Σε προηγούμενη ερώτησή μου για το πως γίνεται απο Linux να διαβάσω δισκο με FAT32 μου είπατε πως πρέπει να έχω kernel από 2.0.34 και πάνω και NLS support στον +πυρήνα. Εκανα λοιπόν ξανά compile στον πυρήνα για να βάλω την πολυπόθητη υποστήριξη για fat32. Το πρόβλημα είναι ότι δεν βρήκα το NLS. Πού βρίσκεται; και πως +μπορώ να το εγκαταστήσω; Και το σημαντικότερο (μιας και είμαι αρχάριος χρήστης) πώς θα αντιστοιχίσω ένα directory του linux στο partition με fat32; (το +partition me to vfat το είχα αντιστ οιχίσει κατά την διάρκεια της εγκατάστασης) Το σύστημά μου + +*Το NLS και το FAT32 βρίσκονται εκεί που λέει filesystems. Θα δεις τον δίσκο με το γνωστό mount. Δες για λεπτομέρειες το +http://magaz.hellug.gr/1998/08/mailbox-11.html Τέλος, ο επεξεργαστής σου δηλώνεται σαν Pentium.* + + +### [14. PPP Script]{#s14} + +Από : [Stavros Maragoudakis](mailto:elhellas@hol.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Θελω να συνδεθω στον proviter μου και θελω να μου δωσετε ενα pppscript που να καλει να δεινει userid & password και να μπενει με τα ετοιμα που εχει το redhat +5.1 δεν εχω καταφερει να κανω connect\... βοηθηστε με\... Ευχαριστω + +*Προτείνουμε να βάλεις το XISP για αυτή τη δουλειά. Άσε δε που καθε provider θέλει και άλλο script. Δες και τα http://magaz.hellug.gr/1998/05/xisp.html και +http://magaz.hellug.gr/1998/06/xisp2.html* + + +### [15. ΠΩΣ ΘΑ ΕΓΚΑΤΑΣΤΗΣΩ ΤΟ LINUX?]{#s15} + +Από : [ΤΟΥΤΟΥΔΑΚΗΣ ΚΩΣΤΑΣ](mailto:yamansa@smartnet.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +ΓΕΙΑ ΣΑΣ ΕΧΩ ΤΟ LINUX2-2-1.TAR.GZ ΚΑΙ ΘΑ ΘΕΛΑ ΝΑ ΤΟ ΕΓΚΑΤΑΣΤΙΣΩ ΚΑΙ ΔΕΝ ΞΕΡΩ ΠΩΣ.ΜΠΟΡΩ ΝΑ ΚΡΑΤΙΣΩ ΤΟ DOS 6.22 KAI TA WINDOWS98?ΠΡΕΠΕΙ ΝΑ ΤΟ ΞΕΣΙΜΠΙΕΣΩ ΑΠΟ ΤΑ +WINDOWS. ΣΑΣ ΕΥΧΑΡΙΣΤΩ. ΤΟΥΤΟΥΔΑΚΗΣ ΚΩΣΤΑΣ + +*Αυτό που έχεις ειναί μόνο ο kernel. Πήγαινε να αγοράσεις (α) ένα βιβλίο (πολυ σημαντικό) και (β) ένα distribution.* + + +### [16. egkatastash linux]{#s16} + +Από : [mixelios vaggelis](mailto:kmvea@otenet.gr) + +Απάντηση : [](mailto:) + +exv ena pentium h/y me sklhro 2.1gb me mia kai monadiki partition opoy exo ta windows95. 1) pos ginete na egkatastiso to linux 2.3 xwris na xaso dedomena. TO +ypoloipo toy diskoy moy einai 1 GB 2) Einai protimotero na agoraso neo disko kai ti partitions prepei na dimioyrgiso? efxaristo ek tvn protervn + +*1) \"Μαζεύεις\" το partition των Windows (δες το http://magaz.hellug.gr/12/mailbox-1.html) και βάζεις το Linux στο νεο partition. ΠΑΝΤΑ ΣΥΝΙΣΤΑΤΑΙ Backup!!! 2) +Ναι, είναι προτιμότερο για θέμα χώρου. Για τα partitions δες τα http://magaz.hellug.gr/1998/07/fs.html και http://magaz.hellug.gr/1998/03/mailbox-3.html* + + +### [17. partition]{#s17} + +Από : [Makis Domakis](mailto:anama@otenet.gr) + +Απάντηση : [Νίκος Κόκρας](mailto:kokni@hellug.gr) + +exo ta windows98. pos mporo na kano partition me sigouria, xoris na xaso tipota apo ta arxeia moy? + +*Με σιγουριά δεν μπορείς :-) Κατά τα άλλα, τόσο το fips όσο και το γνωστό partition magic, συνήθως έχουν καλά αποτελέσματα και το re-partitioning δουλεύει +επιτυχώς. Αν όμως δεν κάνεις ένα backup πρώτα, τότε πας γυρεύοντας. φιλικά kokni* + + +### [18. Ελληνικα]{#s18} + +Από : [Χρήστος Ηλιάδης](mailto:heliad@yahoo.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Μήπως ξέρετε αν το Wordperfect 8 το οποίο έστησα και το βρήκα εξαιρετικό αν λειτουργεί μόνο με τις δικές του γραμματοσειρές η γενικά με όλες των Χ;Πρόβλημα έχω +και με το StarOffice το οποίο επίσης δεν παίζεται..Απαντήστε μου όποτε μπορείτε γιατί η έλλειψη χρόνου από μέρους σας είναι κάτι που πρέπει να +σεβόμαστε..(χρησιμοποιω το linux εδω και 8 μήνες και δεν εχω εμφανιστεί στο σύλλογο)πάντως παιδιά συγχαρητήρια,γεια χαρά. + +*Για το StarOffice θα βρεις οδηγίες στο http://magaz.hellug.gr/1998/06/greekfonts.html Για το wordperfect θα κατεβάσεις τον font installer από το +ftp://mk.aua.gr/pub/xwpfi.tar.gz και αφού το αποσυμπιέσεις στο /opt/wp8 (ή όπου έχεις βάλει το wordperfect) θα τρέξεις το xwpfi και θα εγκαταστήσεις όποιες +γραμματοσειρές θέλεις.* + + +### [19. Locale]{#s19} + +Από : [Μιχαηλος Γιαννης](mailto:mjohn@compulink.gr) + +Απάντηση : [Παναγιώτης Βρυώνης](mailto:vrypan@hellug.gr) + +Πως μπορω να αλλαξω τις Locale ρυθμισεις ? Θελω να βαλω το LANG=gr\_GR. Εχω το Red Hat 5.1. A! Υπαρχει τροπος να γραφω ελληνικα σε προγραμματα οπως το xisp ή το +pgaccess(front end της postgress)? + +*Στο .bashrc που βρίσκεται στο home directory σου προσθέτεις την εντολή: export LANG=gr\_GR.* + + +### [20. WindowMaker και Ελληνικα\...]{#s20} + +Από : [Γιωργος Βρεντζος](mailto:antoula@hotmail.com) + +Απάντηση : [Παναγιώτης Βρυώνης](mailto:vrypan@hellug.gr) + +Γεια σας για αλλη μια φορα, τελικα θα το καθιερωσω ετσι οπως το παω σε μια απορια το μηνα ! Οπως και να\'χει, ευχαριστω που απαντατε σε ολα μου τα ερωτηματα +-και οχι μονο στα δικα μου αλλα και σε αυτα δεκαδων αλλων αναγνωστων του Magaz-. Το προβλημα μου λοιπον ειναι ,γι\'αυτο το μηνα ;-), το εξης αφου εγκατεστησα τα +ελληνικα στο shell,ακολουθωντας τις οδηγιες σας αλλα και αυτες του Ram, ειπα να βαλω κι ελληνικα στο Xfree\... Το προβλημα ειναι οτι απο την στιγμη που +εγκαθιστω το πακετο XFGreekFNTS\_noarh.rpm (ή καπως ετσι), δεν μπορω να ξεκινησω τον WindowMaker -το KDE που δοκιμασα δουλευει κανονικα αλλα προτιμω τον WM-. +Συγκεκριμενα λαμβανω,η μαλλον ελαμβανα, μυνημα οτι δεν υπαρχουν τα καταλληλα fonts.Διαβαζοντας αναλυτικα τις οδηγιες του WM\_Readme, εκανα απο την αρχη +εγκατασταση με υποστηριξη για ξενες γλωσσες και τελικα, αφου προσθεσα στο αρχειο .xinitrc την γραμμη EXPORT LANG; LANG=el ,καταφερα να κανω τον WindowMaker να +δουλεψει \"κανονικα\". Και λεω \"κανονικα\" γιατι προσφατα ανακαλυψα οτι ενω ολα τα προγραμματα λειτουργουν,και με σχεδον αριστη υποστηριξη ελληνικων,το +προγραμμα Wprefs -βασικο και ακρως απαραιτητο- δεν λεει να τρεξει. Μαλιστα στο readme file υπαρχει ειδικο section στο troubleshooting το οποιο με προτρεπει να +αλλαξω ορισμενες γραμμες απο αρχεια του windowmaker.Ε λοιπον,τις αλλαξα και οριστε τι μυνημα παιρνω καθε φορα που προσπαθω να τρεξω το WPrefs ./WPrefs Warning : +Could not load font set : -\*-\*-medium-r-normal-\*-12-\*-\*-\*-\*-\*-\*- Trying fixed Could not load fixed font. Could not load any fonts. Make sure your font +installation and locale settings are correct. Fatal error κλπ\...\..... Το θεμα ειναι οτι εγω δεν εχω πειραξει τιποτα απολυτως απο τους καταλογους των fonts, +ενω ολα τα fonts folders ειναι δηλωμενα στο σωστο αρχειο -χμμ\...ξεχασα και το ονομα του τωρα !-. Στο αρχειο βοηθειας του WindowMaker λεει οτι πρεπει να +\...\"unset the LANG enviroment variable before starting wmaker\" ,δηλαδη πρεπει να βγαλω απο το .xinitrc την γραμμη EXPORT LANG;LANG=el ;;;Μα τοτε δεν θα +ξεκινα καθολου ο WindowMaker !! Γι\'αυτο στελνω αυτο το e-mail απελπισιας ,μπας και καποιος απο σας εχει παρατηρησει αυτο το προβλημα και εχει βρει τη λυση +του.. CLAiRVOYANT + +*Με την εγκατάσταση του XFGreekKBD έχει δημιουργηθεί ένα αρχείο (/etc/profile.d/XF-Greek.sh) που κάνει set τα διάφορα locales (ή μάλλον τις τιμές των +μεταβλητών). Αυτό το αρχείο \"τρέχει\" κάθε φορά που σηκώνεις το bash. Άρα, όταν τρέχεις το .Xclients τα LC\_LANG, LC\_ALL κ.λ. έχουν τιμές και δεν είναι κενα. +Αν θέλεις να τα \"μηδενίσεις\" δώσε unset LANG; unset LC\_ALL Βέβαια, το παραπάνω θα έχει σαν αποτέλεσμα να μην παίζουν καθόλου τα ελληνικά. Δοκίμασε και export +LC\_CTYPE=gr\_GR μετά τα unset. Ίσως να λυθούν όλα τα προβλήματά σου.* + + +### [21. Cuseeme through ipfwadm]{#s21} + +Από : [George Goufas](mailto:ggoufas@lexis.gr) + +Απάντηση : [Φώτης Γεωργάτος](mailto:gef@hellug.gr) + +Γειά σας Έχω ενα προβλημα σχετικα με το cuseeme μεσω ipfwadm Απο ενα εικονικό δυκτιο 10.χ.χ.χ επικοινωνω με ενα meeting point server που λειτουργει κάπου στο +ΝΕΤ και ειναι ΟΚ.Πέρνω την λίστα με τα κανάλια που εχει και οταν φτάνει η ώρα να πάρω video stream πάπαλα,ακομα περιμένω\.....Εδώ πρέπει να σημειώσω οτιεχω +ανεβάσει τα modules για το cuseeme kai vdolive kai irc .Ακομα και αν ανεβάσω τα modules me insmod ip\_masq\_cuseeme port=24032 (ειναι η πόρτα για το stream που +στέλνει ο server για τα data video προς τα clients) πάλι τα ιδια.Αυτο που με τρελενει είναι οτι διολου απιθανο είναι να μην ξερω σωστες πορτες η να μην κάνω +τιποτα σωστά.Επεισης επιχείρησα να ανοιξω τα φιλτρα του ipfwadm για τις συγκεκριμένες πορτες χωρίς επιτυχία. Αν ξέρετε τιποτα παρακαλώ απαντηστε\.... Ευχαριστω +για το χρόνο σας Γιώργος Γκούφας + +*Σύνηθες πρόβλημα στα προγράμματα αυτού του τύπου (εγώ το είδα στο Netmeeting της Microsoft) είναι ότι δίνουν οι clients το IP τους, ως αναγνωριστικό στο +server, ο οποίος με την σειρά του το χρησιμοποιεί για τα πακέτα που στέλνει πίσω. Αναμενόμενο αποτέλεσμα είναι ότι τα πακέτα αυτά ποτέ δεν βρίσκουν το προορισμό +τους εάν είναι της μορφής 192.168.x.y, 10.x.y.z κλπ. Μάλιστα σε μια συγκεκριμένη περίπτωση είδα το εξής: το stream δεδομένων audio/video από το μηχάνημα πίσω +από το firewall έφτανε στο άλλο άκ ρο, αλλά χωρίς να συμβαίνει το αντίθετο! Δεν ξέρω ακριβώς πως λειτουργεί το cuseemee, αλλά ίσως αυτό να είναι το πρόβλημα. +Καλή επιτυχία σε κάθε περίπτωση.* + + +### [22. NTFS file system]{#s22} + +Από : [Μουστάκας Δημήτρης](mailto:dmoustas@otenet.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Στον υπολογιστή έχω ntfs partision πως μπορώ να το δώ απο το linux. + +*Στον kernel 2.2 συμπεριλαμβάνεται στις επιλογές για τα filesystems. Για παλαιότερους kernels πρέπει να κατεβάσεις το εξωτρικό module από το +http://www.informatik.hu-berlin.de/ loewis/ntfs/ Και στις δύο περιπτώσεις είναι Readonly.* + + +### [23. partitioning]{#s23} + +Από : [Δομακής Μάκης](mailto:anama@otenet.gr) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Απάντηση : [evris\@hellug.gr](mailto:) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Help! Λύσσαξα να περάσω στο linux. Ελα όμως που κίνησε ο Εβραίος για δουλειά και ήταν μέρα Σάββατο! Πήρα ένα βιβλίο με το redhat και στρώθηκα στη δουλειά. Ακόμη +και εγώ ο άσχετος κατάλαβα ότι έπρεπε να κάνω πρώτα partiotioning. Για να κάνω όμως partitioning πρέπει πρώτα να κάνω FULL defragmentation. Ελα όμως που και το +σχετικό πρόγραμμα των Win98 αφήνει υπολείμματα στο τέλος του σκληρού (swapfile, image κτλ). Δοκίμασα το speedisc του norton. Τίποτα. 3 μέρες παιδεύομαι. Το fips +δεν μπορεί να δουλέψει χωρίς ΠΛΗΡΗ αποκερματισμό. Δεν θέλω να φορμάρω το δίσκο με τα win98. Θα είναι σαν να παραδέχομαι την παντοδυναμία τους!!!! Βοηθήστε με. +Μήπως υπάρχει κανένα άλλο προγραμμα για αποκερματισμο? Ευχαριστώ πολύ. + +***ΒΠ:** Δοκίμασε να απενεργοποιήσεις την εικονική μνήμη, κάνε restart, και ξαναπροσπάθησε. Εννοείται ότι έχεις τουλάχιστον 32 ΜΒ Μνήμη\... Αν δε σε αφήνει, +βάλε στα Min και στο Max (της εικονικής μνήμης) την ίδια τιμή, θα το φτιάξει σταθερού μεγέθους το swap, και ΔΕΝ θα το βάλει στο τέλος του δίσκου\... Φιλικά, για +το Magaz\... Βάγγουλας* + +***ΕΠ:** Ναι, ευχαρίστως να σε βοηθήσουμε, αλλά δεν βλέπω που άπτεται του Linux το πρόβλημα σου. Απλά θέλεις να κάνεις χώρο σε ένα μηχάνημα win και κάταλαβες +πως ούτε αυτό δεν γίνεται. Με λίγα λόγια πάλι πρόβλημα σου δημιουργείται ακόμα και κατά την απομάκρυνση των windows! ή κατά το defrag τους! ή κατά την +συρρίκνωσή τους (ώστε μετά φαντάζομαι θα χρησιμοποιούσες το fips). Κατ\'εμέ, αντί να παρακολουθήσεις σεμινάριο \"howto defrag windows in 2 days for experienced +win administrators\", ή \"Τhat\'s the way we shrink a win partition to a desired volume size with TheMSPartitioner patch lever 3.2b, twelve illustrated +full-sized images inlcuded\" παραδέξου λοιπόν (που ομολογώ πως δεν κατάλαβα γιατί) την παντοδυναμία τους και βγάλτα εντελώς, να ησυχάσεις μια για πάντα. Σε +τέτοια περίπτωση, μπορώ να σου δώσω μια Linux related βοήθεια, για \<\<\<ριζικούς\>\>\> αποκερματισμούς bootαρε με CD Linux και δώσε fdisk /dev/hda και μετά d 1 +d 2 d 3 d 4 w θα κάνει το PC σου πιο καθαρό και μαζεμένο από ποτέ. Μετά θα\'ναι πάντα Κυριακή\....* + +***ΜΚ:** Φίλε Μάκη, οποιοδήποτε πρόγραμμα και να χρησιμοποιήσεις για το partitioning θα πρέπει να μεταφέρεις όλα τα δεδομένα του δίσκου σου μπροστά. Πρέπει +λογικά να έχουν οδηγίες τα Win98 για το πως το κάνεις αυτό, αλλά αν δεν βρεις άκρη, περίμενε μέχρι να κάνεις το επόμενο format στον δίσκο των W98. Λογικά δεν θα +πρέπει να περάσει πάνω από μήνας :)* + + +### [24. Dial up connection]{#s24} + +Από : [Sotiris Ganouris](mailto:kotsman@usa.net) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +pos mporo na syndetho ston isp mou meso linux (x-windows i console) gia net surfing meso netscape communicator? + +*Καλή ερώτηση\... Διάβασες κανα HOWTO? Όχι τίποτα άλλο, αλλά είναι τόσοι πολλοί οι τρόποι, που μας είναι δύσκολο να σου απαντήσουμε! Αν θες πές μας τι +χρησιμοποιείς (πχ. KDE ή fvwm στα X), που έχεις το modem σου, (σε ποιά σειριακή εννοώ), και ίσως (αν είσαι αρκετά σαφής) να σου απαντήσει κάποιος. Εναλλακτικά, +πάρε το XISP, διάβασε τις οδηγίες, και θα τα καταφέρεις και μόνος σου\... Προσπάθησε φίλε Σωτήρη, και θα δεις ότι όλα είναι πιο απλά από ότι νομίζεις\....* + + +### [25. O pppd πεθαίνει]{#s25} + +Από : [Πολυτάρχος Ηλίας](mailto:elias13@mail.otenet.gr) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Απάντηση : [evripidis papakostas](mailto:evris@hellug.gr) + +Εχω το RedHat Linux 5.2 με τα KDE εγκατεστιμένα. Αφού συνδεθώ με τον isp μέσω του dialup εργαλείου του kde ο pppd πεθαίνει\... Τι γίνεται; + +***ΕΠ:** Κατι μου λέει πως δεν πάτησες το help στο kppp , να πας στο FAQ να δεις για το λάθος \"pppd has died \...\". Η απάντηση είναι εκεί: \"αν εχετε redhat +πηγαίνετε στο /etc/pppd/ και στο αρχείο options διαγράψτε τα περιεχόμενα του (όχι το αρχείο) αφήνοντάς το εντελώς κενό. Εκτός πια και αν δεν μπαίνεις ως root, +αλλά ως κοινός χρήστης και δεν έχεις δικαίωμα να ξεκινήσεις pppd. Τότε ή άλλαξε τα perms (setuid) ή μπες στο pppd group* + +***ΒΠ:** Και εκτός από αυτά που σου αναφέρει ο evris, τα οποία είναι και σωστότατα, είσαι σίγουρος ότι στον πυρήνα έχεις υποστήριξη για ppp? Επίσης αν το έχεις +βάλει modular, φορτώνεις το κατάλληλο module (ppp)?* + + +### [26. Πυρήνας 2.2.1]{#s26} + +Από : [Αγγέλης Κώστας](mailto:kangelis@altavista.net) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Κατ΄αρχάς αισθάνομαι την υποχρέωση να σας συγχαρώ για την αξιόλογη προσπάθειά σας και για τους νέους \"δρόμους\" που μας ανοίγετε.Είμαι παλαιός με τους Η/Υ(από +το 1985)για το LINUX έμαθα απο σας και πριν μερικές ημέρες αγόρασα το πακέτο της INFOMAGIC καθώς επίσης και το βιβλίο \"Running Linux\".Εγκατάσταση και UPDATE +του πυρήνα σε 2.2.1.Πρόβλημα 1ο + +*Η διαδικασία \"φορτωματος\" είναι πολύ σημαντική. Γενικά, θα το δεις από τα messages που βγαινουν, αλλά υπόσχομαι να ψάξω κάπου και να βρω αυτές τις +πληροφορίες, και να γράψω ένα έρθρο. Η παραμετροποίηση σε θέματα δικτύου, έχει αρκετά καλο documentation. Αν δεν τα κατάλαβες, πάει να πει ότι μάλλον δεν ξέρεις +τι σημαίνουν (no offence) οπότε μάλλον δεν τα χρειάζεσαι. Είναι εξάλλου λογικό να μην καταλαβαίνεις πολλά κομμάτια, εκτός αν έχεις κάποιο πτυχίο στα δίκτυα. +Ίσως το modprobe να μην είναι εκεί που πε ριμένει το συστημά σου να το βρει. Δες το script από το οποίο καλείται και βάλε το full path. Για τα maps που δεν +βρίσκει, κάνε του ένα depmod a και μάλλον θα συνέλθει.* + diff --git a/content/articles/14/01_enlightenment.md b/content/articles/14/01_enlightenment.md new file mode 100644 index 0000000..711b559 --- /dev/null +++ b/content/articles/14/01_enlightenment.md @@ -0,0 +1,371 @@ ++++ +title = 'Ένας ιδιαίτερος Window Manager' +date = '1999-03-01T00:00:00Z' +description = '' +author = 'Παπαδογιαννάκης Βαγγέλης' +issue = ['Magaz 14'] +issue_weight = 1 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Για πάμε\... Ας περιηγηθούμε μαζί σε έναν πολύ διαφορετικό αλλά και πολύ όμορφο διαχειριστή παραθύρων. Φανατικοί της κονσόλας, ώρα να την αφήσετε (αστειεύομαι, +φυσικά, αφού και ο ίδιος δύσκολα την αφήνω\...)* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Εισαγωγή.** +------------------------------------------------ + +**2. Απαραίτητες διευκρινήσεις και τα γνωστά\...** +---------------------------------------------------------------------------------- + +**3. Εγκατάσταση** +-------------------------------------------------- + +- [3.1 Πού θα τον βρώ;](#ss3.1) +- [3.2 Τι άλλο πρέπει να εγκαταστήσω;](#ss3.2) +- [3.3 Και πως τα περνάω όλα αυτά μέσα στο κουτί μου;](#ss3.3) + +**4. Ωραία, και τώρα που τον έβαλα, τι κάνω;** +------------------------------------------------------------------------------ + +- [4.1 Προετοιμασία δική μας.](#ss4.1) +- [4.2 Συνεχίζοντας\...](#ss4.2) +- [4.3 Επέμβαση στα .cfg αρχεία του enlightenment.](#ss4.3) +- [4.4 (Ξανα)συνεχίζοντας](#ss4.4) + +**5. Συμπεράσματα πρώτης επαφής** +----------------------------------------------------------------- + +**6. Themes** +--------------------------------------------- + +- [6.1 actionclasses](#ss6.1) +- [6.2 borders](#ss6.2) +- [6.3 buttons](#ss6.3) +- [6.4 cursors](#ss6.4) +- [6.5 desktops](#ss6.5) +- [6.6 imageclasses](#ss6.6) +- [6.7 menustyles](#ss6.7) +- [6.8 slideouts](#ss6.8) +- [6.9 sound](#ss6.9) +- [6.10 textclasses](#ss6.10) +- [6.11 tooltips](#ss6.11) +- [6.12 windowmatches](#ss6.12) + +**7. Επίλογος 1ου άρθρου.** +----------------------------------------------------------- + +**8. READ ME FIRST (έτσι, για αλλαγή βρίσκεται στο τέλος)** +------------------------------------------------------------------------------------------- + + +### [1. Εισαγωγή.]{#s1} + +Επιτέλους, μετά από πολύ - πολύ καιρό, η εποχή της ωριμότητας έφτασε\... Η έκδοση 0.15 (και κάτι ψιλά) του πιο φαντεζί και παραμετροποιήσιμου window manager +είναι εδώ\... + +Για όλους τους τυπάκλες με τους ισχυρούς επεξεργαστές και τα \>=64ΜΒ τους που δεν είχαν τί να τα κάνουν εκτός από το να τα χαραμίζουν σε ακατονόμαστα +λειτουργικά, να η ευκαιρία! + +Αλλά και για όλους εσάς που θέλετε να δείτε την τελευταία λέξη της τεχνολογίας στα γραφικά περιβάλλοντα του Linux, ο \"Οπτικά υπέροχος\" enlightenment είναι ένα +**must have**. + + +### [2. Απαραίτητες διευκρινήσεις και τα γνωστά\...]{#s2} + +Ξεκινώντας, και για να μην την πάθω όπως και στο άρθρο για το **Gnome**, να εξηγηθώ από τώρα ότι τόσο ο **enlightment** όσο και μερικές από τις βιβλιοθήκες που +απαιτεί, είναι \"βαριές\" (μερικές φορές ασήκωτες) και πολύ bugούχες. + +Επίσης, το σύνολο του wm αυτού είναι λίγο αργό, κυρίως λόγω του ότι είναι τόσο, μα **τόσο** παραμετροποιήσιμος, που πρέπει να λάβει πολλά πράγματα υπόψιν +του\... + +Γενικώς, αυτό που τον καθυστερεί πολύ είναι η διαχείριση των γραφικών από την (πολύ καλή) imlib. Πάντως, αν έχετε (πχ) acceleratedX, θα σας πάει σφαίρα!! Και +σίγουρα θα το χαρείτε\... + +Μην αργείτε λοιπόν! + + +### [3. Εγκατάσταση]{#s3} + +Πάμε μαζί;;; + +### [3.1 Πού θα τον βρώ;]{#ss3.1} + +Τον enlightenment μπορείτε να τον βρείτε στο σπίτι του όπου θα βρείτε και πολλές πληροφορίες για αυτόν, στο +[linuxberg](http://linuxberg.forthnet.gr) στο μέρος που ασχολούνται με τα themes του όπου θα βρείτε και πολλά themes αλλά και την τρέχουσα +development version (cvs), αλλά και σε πολλά άλλα σημεία που ίσως για εσάς να είναι πιο γρήγορα στο κατέβασμα. + +Για περισσότερες πληροφορίες ρίξτε μια ματιά στα mirrors που βρίσκονται στην + +### [3.2 Τι άλλο πρέπει να εγκαταστήσω;]{#ss3.2} + +\`Ενα απλό Query στο RPM του enlightenment 0.15.2 μου απήντησε ότι χρειάζεται τα εξής πακέτα. + +- shlibs-99.1.14-0 +- fnlib-0.4-1 +- xshared-3.3.3.1-1 +- imlib-1.9.4-1 +- libaudiofile-0.1.6-1 +- esound-0.2.8-2 +- libjpeg-6b-5 +- libpng-2.1.0.3-1 +- libtiff-3.4.final-8 +- freetype-1.1-32 +- libungif-3.0-3 +- libz-1.1.3-10 + +Κατά πάσα πιθανότητα, μερικά τα έχετε. \`Οσα δεν έχετε, ψάξτε τα. Τώρα, αν εσείς βρείτε πιο καινούρια πακέτα, δεν πειράζει να τα κατεβάσετε. + +Επειδή, ναι μεν σας αγαπώ αλλά να μπω στον (τρομερό) κόπο της αναζήτησης πακέτων στο δίκτυο δεν το κάνω για κανέναν, θα σας δώσω μια διεύθυνση να τα βρείτε όλα. +Είναι η πολύ δημοφιλής του γνωστού σε όλους μας **linux ftp watcher** όπου και μπορείτε να αναζητήσετε και να βρείτε ό,τι τραβά η ψυχή +σας. + +**TIP:** Καλύτερα, αν δεν βρείτε κάτι, ρίξτε και μια ματιά μέσω [ftpsearch](http://ftpsearch.lycos.com) γιατί εκεί ψάχνει σε όλους τους ftp servers, και όχι +μόνο σε όσους ασχολούνται με linux όπως κάνει ο filewatcher. + +### [3.3 Και πως τα περνάω όλα αυτά μέσα στο κουτί μου;]{#ss3.3} + +Αν ξέρετε πως να τα εγκαταστήσετε, προχωρήστε χωρίς να διαβάσετε παρακάτω, μη μου θιχτείτε κιόλα :))) + +Αν δεν ξέρετε πως να τα περάσετε όλα αυτά, κάντε το εξής: + +- Αν τα έχετε σε μορφή TAR.GZ: Αποσυμπιέστε τα και διαβάστε στο README και INSTALL του κάθε πακέτου. +- Αν τα έχετε σε μορφή RPM: πηγαίνετε σε κονσόλα και γράψτε **man rpm**. + +**\`Ετσι, για να σας θυμίζω ότι χρειάζεται και το διάβασμα λιγουλάκι!!!** + + +### [4. Ωραία, και τώρα που τον έβαλα, τι κάνω;]{#s4} + +Έλα μου ντε\... + +### [4.1 Προετοιμασία δική μας.]{#ss4.1} + +Αρχίζουμε με μια ωραία τούμπα από τα αριστερά, στη συνέχεια βαδίζουμε στις μύτες των ποδιών μας, καταλήγοντας σε μια πιρουέτα. Επειδή όμως ξέρω ότι δεν ξέρετε +να κάνετε τούμπες, (ενώ ξέρετε πιρουέτες) μπορούμε να κάνουμε το εξής: + +Βάζουμε στο .xinitrc στο home directory του χρήστη που θέλουμε το **enlightenment** (το οποίο φροντίζουμε να είναι στο path μας) και γράφουμε **startx**. + +Φυσικά και υπάρχουν και άλλοι τρόποι να ξεκινήσει κανείς τον **e**, αλλά δεν είναι του παρόντος η ανάλυσή τους. Γι αυτό, όσοι ξέρουν και θέλουν να το κάνουν +αλλιώς, ας το κάνουν όπως γουστάρουν. + +\`Οσοι δεν ξέρουν, ας βολευτούν με τον τρόπο που περιγράφω. Αν και πάλι δεν τα καταφέρουν, τότε καλύτερα να μάθουν να κάνουν τούμπες, πιρουέτες, και να +περπατάνε στις μύτες των ποδιών τους. + +### [4.2 Συνεχίζοντας\...]{#ss4.2} + +Ξεκινώντας, ο **e** σας δείχνει μια εντυπωσιακή αρχική οθόνη με μια progress bar καθώς φορτώνει. Με το που τελειώσει το φόρτωμα, η οθόνη \"ανοίγει\" +παρουσιάζοντάς σας το νέο περιβάλλον εργασίας σας. Περιττό να σας πω ότι ακόμα δεν έχω ξεπεράσει το σοκ που έπαθα όταν \"άνοιξε\" η οθόνη μου. Έμεινα με τα +μάτια γουρλωμένα και το στόμα ανοιχτό! + +Μάάάιστα! Καλό φαίνεται. Πάνω στην οθόνη βρίσκεται μια μπάρα (**dragbar** η λεγόμενη) που έχει αριστερά και δεξιά της κάτι βελάκια. Αν αφήσετε το ποντίκι για +κάνα-δύο δεπτερόλεπτα πάνω από αυτά, θα εμφανιστούν tooltips! Αλλά τι tooltips! (Αυτά ήταν το 2ο σοκ, μετά την εισαγωγική οθόνη). + +Στη δεξιά μεριά, επίσης, θα δείτε και κάτι άλλα βελάκια, που δυστυχώς δεν δουλεύουν (ακόμα, γιατί παρακάτω θα σας εξηγήσω πως να τα κάνετε να δουλέψουν). Αυτά +είναι για την πλοήγηση ανάμεσα στα desktops, τα οποία έχουν διαφορετική \"φιλοσοφία\" από ότι στους περισσότερους window managers. Θα σας εξηγήσω, αφού πρώτα +κάνουμε μια μικρή \"επέμβαση\" ώστε να μπορούμε να τα δούμε. + +Στη δεξιά μεριά υπάρχουν και κάτι εικονίδια. Τι κάνουν αυτά; Ανάλογα με τα κουμπιά του ποντικιού με τα οποία θα πατηθούν, κάνουν μια ενέργεια ή τρέχουν ένα +πρόγραμμα. Τα tooltips θα σας βοηθήσουν ξανά\... + +Τα εικονίδια που υπάρχουν κάτω δεξιά, εκτελούν κάποιες εργασίες, όπως καθάρισμα (redraw) της οθόνης, τρέχει το help του enlightenment, κλείνει τον **e** ή κάνει +restart. + +Αυτή είναι η πρώτη οθόνη του enlightenment. + +Χρησιμοποιώντας το μεσαίο πλήκτρο του ποντικού σας, εμφανίζεται το menu του **e** που περιέχει μερικές λειτουργίες, μερικά προγράμματα, και (αυτό που περιμένετε +πως και πως οι περισσότεροι) τα themes που έρχονται μαζί με την έκδοση του **e** που κατεβάσατε. + +Ελεύθερα παίξτε, πατήστε τα κουμπάκια του πόντικά σας στο desktop, στην dragbar, σύρτε την dragbar στις πλευρές της οθόνης, στην κάτω μεριά, δοκιμάστε και +κανένα άλλο theme (αν έρχεται κανένα μαζί με την έκδοση που κατεβάσατε) τρέξτε κάνα τερματικό, και παίξτε με τα borders του (κάνοντας δεξί κλικ πάνω στην μπάρα +του παραθύρου, επιλέγετε διάφορες ιδιότητες για το παράθυρο). Προς το παρόν αποφύγετε το **borderless** και **fixed size**, όχι ότι θα γίνει τίποτα φοβερό, αλλά +δεν θα υπάρχουν controls του παραθύρου (για resize και τέτοια). + +Πριν συνεχίσουμε όμως\... + +### [4.3 Επέμβαση στα .cfg αρχεία του enlightenment.]{#ss4.3} + +Λοιπόν, ελπίζω να είσαστε έτοιμοι για μια μικρή επέμβαση. Μέσα στο directory που εγκαταστήσατε τον **e**, υπάρχει ένα άλλο directory που λέγεται **config**. +Μέσα σε αυτό, θα βρείτε το αρχειάκι **control.cfg** + +Πάρτε το με τον αγαπημένο σας editor, και κάπου εκεί έχει μια γραμμή που λέει: + +`__NUMBER_OF_DESKTOPS 1(<-μπορεί να είναι κάτι άλλο, ανάλογα με την έκδοση που έχετε)` + +Σβήστε λοιπόν τον αριθμό που ακολουθεί αυτή την περιγραφή και βάλτε στη θέση του τον αριθμό των desktops που εσείς θέλετε να έχετε. + +Επίσης, κάπου λέει (γράφει δηλαδή, αλλά τέλος πάντων\...): + +`__DESKTOP_AREA_SIZE 2 2` + +Αυτό, καλύτερα κάντε το **1 1**\... (είναι τα **virtual desktops**). Όχι ότι δεν μπορείτε να το κρατήσετε ως έχει, αλλά θα σας πετάει από το ένα **virtual +desktop** στο άλλο, και δεν νομίζω να το εκτιμήσετε\... + +**ΠΡΟΣΟΧΗ!** Πριν ξεκινήσετε ξανά τον e, πηγαίνετε στο **home/.enlightenment** directory του κάθε χρήστη, και σβήστε όλα τα αρχεία που αρχίζουν από . (όλα τα +κρυφά δηλαδή). Αυτό γίνεται ώστε ο **e** να αναγκαστεί να ξαναδιαβάσει το **control.cfg**. + +Τώρα ο **e** σας πρέπει να ξεκινήσει κανονικά, και μάλιστα να έχει και τα πολλά desktops. Για να σιγουρευτείτε, δοκιμάστε να κάνετε δεξί κλικ στην dragbar. Θα +σας βγάλει ένα menu με όλα τα desktops, και με όλα τα προγράμματα που υπάρχουν στο καθένα από αυτά. + +### [4.4 (Ξανα)συνεχίζοντας]{#ss4.4} + +Όπως είσαστε τώρα, δοκιμάστε να παίξετε με τα κουμπάκια που πάνε πάνω-κάτω, και να σύρετε την dragbar. + +Για να μεταφέρετε ένα παράθυρο από το ένα desktop στο άλλο, απλά σύρτε το\... (Φοβερή λογική ε;) + +Μήπως σας ενοχλούν αυτά τα εικονιδιάκια? **CTRL+B** και έφυγαν τα εικονιδιάκια, ή **CTRL+A** και εξαφανίστηκε και η dragbar! (τα επαναφέρετε με τα ίδια +πλήκτρα). + +Αυτή τη στιγμή, πιστεύω ότι θα ήταν καλό να διαβάζατε το HELP που έχει ο **e**. Θα σας βοηθήσει σε ορισμένα shortcuts του πληκτρολογίου, που πραγματικά +χρειάζονται. Επίσης, θα μάθετε πως να κινείστε καλύτερα μέσα στο νέο σας περιβάλλον, και επίσης (δεύτερο επίσης) δεν θα είμαι αναγκασμένος να τα λέω (γράφω) όλα +εγώ! + + +### [5. Συμπεράσματα πρώτης επαφής]{#s5} + +Όπως μάλλον θα καταλάβατε, ο **enlightenment** είναι ένας πολύ απαιτητικός window manager. Απαιτητικός τόσο σε επεξεργαστική ισχύ, όσο και σε πόρους του +συστήματος. + +Αυτό μοιραία τον κάνει να έρχεται σε άμεση αντιπαράθεση με κάτι ακατονόμαστα λειτουργικά, μόνο που ακόμα και αυτός απέναντί τους έχει ένα αριθμό πλεονεκτημάτων. + +Μερικά από αυτά είναι: + +- Σταθερότητα (\*nix είναι αυτό!) +- Παραμετροποίηση (Παρακάτω θα καταλάβετε τι μπορείτε να αλλάξετε σε αυτόν!) +- Ομορφιά (Βασικό, από τη στιγμή που έχουμε τα μέσα, γιατί να μην τα εκμεταλλευτούμε;) +- Ελεύθερο λογισμικό (Αν μη τι άλλο) +- Φανατικό κοινό (Ναι, ανήκω σε αυτούς, όπως φανατικός είμαι και του [gtk](http://www.gtk.org).) + +Με μια πρώτη σκέψη, αυτά μου έρχονται στο νου. Φαντάζομαι ότι αν το σκεφτόμουν λίγο ακόμα, θα εύρισκα πολλά περισσότερα, αλλά με πιέζει ο χρόνος\... Πρέπει να +κλείσω το άρθρο\... + +Πιστεύω ότι μετά από την πρώτη αυτή επαφή, είσαστε και εσείς το ίδιο εθισμένοι σε αυτό το υπέροχο δημιούργημα του rasterman , στον +οποίο έχω ήδη στείλει τα συγχαρητήριά μου, πράγμα που πιστεύω ότι πρέπει να το κάνουμε όλοι. + + +### [6. Themes]{#s6} + +Και φτάνουμε στο χαρακτηριστικό του e που τον έκανε τόσο γνωστό και τον κατέταξε στους κορυφαίους wm που κυκλοφορούν. Ο e είναι μακρά ο πιο παραμετροποιήσιμος, +και οι δυνατότητες που μας παρέχει σε αυτόν τον τομέα είναι απεριόριστες. Κυριολεκτικά, μπορούμε να τον κάνουμε να μοιάζει με οτιδήποτε μας έρθει στο νου και να +του ενσωματώσουμε χαρακτηριστικά που δεν πρόκειται ποτέ να βρούμε σε άλλα περιβάλλοντα εργασίας. + +Όχι κύριοι, δεν υπερβάλλω καθόλου. Και για του λόγου το αληθές, ορίστε μερικά από τα πράγματα που μπορείτε να αλλάξετε: + +- Η background image +- Το πως θα γίνεται το focus (click to focus, sloppy, κ.λπ). +- To πως θα μετακινούνται τα παράθυρα (opaque, με συντεταγμένες, κ.λπ.). +- Πως θα γίνεται η αλλαγή μεγέθους παραθύρων (opaque, με συντεταγμένες, κ.λπ.). +- Πόσα desktops θα έχετε. +- Πόσα εικονικά desktops θα έχετε. +- Αν θα φαίνονται τα ελαχιστοποιημένα παράθυρα. +- Αν θα γίνονται αυτόματα focus όλα τα νέα παράθυρα. +- Αν θα εμφανίζονται (και μετά από πόση ώρα ακινησίας του ποντικιού) tooltips +- Αν θα τοποθετούνται αυτόματα τα παράθυρα στην οθόνη σας, ή αν θα τα τοποθετείτε εσείς όπου θέλετε + +Αργά το πράγμα ε; Αυτά λίγο-πολύ τα κάνουν όλοι οι wm, δίκιο έχετε. Αυτά που δεν κάνουν όμως είναι τα περισσότερα από τα παρακάτω. Για διαβάστε και μην +βιαστείτε να βγάλετε συμπεράσματα πριν σας εξηγήσω και τι είναι όλα αυτά. + +- actionclasses +- borders +- buttons +- cursors +- desktops +- imageclasses +- menustyles +- slideouts +- sound +- textclasses +- tooltips +- windowmatches + +\`Ολα τα παραπάνω έχουν από ένα .cfg αρχείο που περιγράφει τη συμπεριφορά τους. + +Πριν να συνεχίσω, να σας εξηγηθώ ότι σε αυτό το τεύχος του Magaz, διαβάσατε το πρώτο κομμάτι που αφορά στα **themes**. Στο επόμενο τεύχος του περιοδικού μας, θα +διαβάσετε το πως να \"φτιάξετε\" τα δικά σας. Αυτό γίνεται γιατί για άλλο ξεκίνησα (μια απλή παρουσίαση του **enlightenment**) και αλλού κατέληξα (ολική +παρουσίαση και ανάλυση των αρχείων ρυθμίσεων) με αυτό το άρθρο. Αποτέλεσμα; Με πιέζει ο χρόνος και δεν προλαβαίνω να το γράψω όλο, συνεπώς πάμε για δύο +συνέχειες. + +Για αυτό το λόγο, η αναφορά στα cfg αρχεία ήταν απλή, μικρής γενικά έκτασης. Επιφυλάσσομαι όμως στο επόμενο τεύχος να σας γράψω πολλές-πολλές λεπτομέρειες για +να κάνετε τον enlightenment όπως ακριβώς θέλετε! + +### [6.1 actionclasses]{#ss6.1} + +Αυτό το αρχείο ελέγχει (και καθορίζει κατ\' επέκταση) **ο,τιδήποτε** συμβαίνει με τον **enlightenment**. Από το να εκτελούνται νέες εφαρμογές, μέχρι το +καθάρισμα του Desktop, το να γίνεται shade ένα παράθυρο, κλπ. Αν θέλουμε **κάτι** να κάνει **ο,τιδήποτε** πρέπει να το συνδέσουμε με μια actionclass (πχ, το +συνδέουμε με ένα κουμπί, το οποίο περιγράφουμε στο **buttons.cfg**. + +### [6.2 borders]{#ss6.2} + +Σε αυτό το αρχείο περιέχονται όλα όσα απαιτούνται για την επιτυχία (ή αποτυχία) ενός **theme**. Περιέχονται όλες οι ρυθμίσεις που έχουν να κάνουν με τα +*περιθώρια* των παραθύρων σας, το πώς θα σκιάζονται, τί γράμματα θα χρησιμοποιούν, τί **pixmaps** θα χρησιμοποιούνται στις μπάρες τους, ακόμα και το τί κουμπιά +(και σε ποιο σημείο) θα χρησιμοποιούνται και τι θα κάνουν. + +### [6.3 buttons]{#ss6.3} + +Εδώ **περιγράφονται** όλα τα κουμπιά που μπορούν να υπάρξουν στο **theme** σας, και εννοώ τα minimize, maximize, shade, close, και ότι άλλο θα μπορούσε να κάνει +μια δουλειά. Τι δουλειά; Ορίστε μερικά παραδείγματα: Μεγιστοποίηση κατά πλάτος, κατά ύψος, make windows sticky (αυτά που φαίνονται σε όλα τα **desktops** ναι, +τα σπαστικά\...), και γενικά ό,τιδήποτε θα μπορούσαμε να συνδέσουμε με ένα **action** (βλέπε και **actionclasses.cfg**) + +### [6.4 cursors]{#ss6.4} + +Το λέει και ο τίτλος του, εδώ περιγράφονται οι **cursors**, πως θα λέγονται, καθώς και τι εικονίδιο θα χρησιμοποιούν. + +### [6.5 desktops]{#ss6.5} + +Εδώ περιέχονται οι υλοποιήσεις για διάφορα **backgrounds** τα οποία μπορούμε να χρησιμοποιήσουμε στα **desktops** μας, και η αντιστοίχησή τους σε διάφορα +**backgrounds**. + +### [6.6 imageclasses]{#ss6.6} + +Σε αυτό το αρχείο περιέχονται όλες οι **αντιστοιχίες** των ονομάτων που καταλαβαίνει ο **enlightenment** με τα αρχεία γραφικών που έχουμε επιλέξει. + +### [6.7 menustyles]{#ss6.7} + +Τα στυλ που θα έχουν τα διάφορα **menu** του **enlightenment**. Θα το αναλύσουμε περισσότερο στο επόμενο τεύχος. + +### [6.8 slideouts]{#ss6.8} + +Για αυτό θα συζητήσουμε στο επόμενο τεύχος, μια και σαν οντότητα είναι σχετικά πολύπλοκη, και θα ήταν κρίμα να σας μπερδέψω από τώρα. + +### [6.9 sound]{#ss6.9} + +Οι ήχοι του συστήματος, τι θα παίζει και σε ποιες στιγμές (πχ, στην έναρξη, όταν γίνεται κάποιο λάθος, κλπ). + +### [6.10 textclasses]{#ss6.10} + +Να και το αρχείο που καθορίζει πως θα ονομάζονται οι κλάσεις γραμματοαπεικονίσεων (ε, είμαι και γλωσσοπλάστης) και τι χαρακτηριστικά θα έχει η κάθε μία, ώστε να +είναι έτοιμος ο **enlightenment** να τις χρησιμοποιήσει σε borders, menus, και άλλα. + +### [6.11 tooltips]{#ss6.11} + +Αυτό το αρχείο είναι υπεύθυνο για την υλοποίηση αυτών των πανέμορφων tooltips (που έρχονται μαζί με τον **enlightenment**, όχι των δικών σας\...). Περιγράφει +ποια αρχεία γραφικών θα χρησιμοποιούνται για τα συννεφάκια, ποιο εικονίδιο και τί στυλ γραμμάτων θα χρησιμοποιείται. + +### [6.12 windowmatches]{#ss6.12} + +Θα το συζητήσουμε διεξοδικά στο επόμενο τεύχος. Πάντως χοντρικά κάνει μερικές αντιστοιχίες, δηλαδή σαν να του λέμε: + +`"Σε παρακαλώ κύριε enlightenment, όλα τα παραθυράκια που έχουν τίτλο The GIMP να έχουν εξ' ορισμού border που να λέγεται SIDE" USE_BORDER_FOR_CLIENT_WITH_TITLE("The GIMP", "SIDE")` + + +### [7. Επίλογος 1ου άρθρου.]{#s7} + +Αυτά τα ολίγα προς το παρόν για τον αγαπημένο μου window manager. Στο επόμενο τεύχος (πρώτα ο Θεός) σας υπόσχομαι να σας μπάσω βαθιά (πολύ βαθιά) στο themeing. + +Μέχρι τότε, σας εύχομαι καλά μπάνια (Τι;; ακόμα δεν αρχίσατε; Κρίμα!). + +**Επί του πιεστηρίου:** ΑΣ ΕΛΠΙΣΟΥΜΕ ΝΑ ΜΗΝ ΕΜΠΛΑΚΟΥΜΕ ΣΕ ΚΑΝΑ ΠΟΛΕΜΟ ΤΩΡΑ, ΓΙΑΤΙ ΔΕ ΓΟΥΣΤΑΡΩ ΚΑΘΟΛΟΥ. ΑΣΕ ΠΟΥ ΜΟΛΙΣ ΑΠΟΛΥΘΗΚΑ\... + + +### [8. READ ME FIRST (έτσι, για αλλαγή βρίσκεται στο τέλος)]{#s8} + +Παράκληση: + +*Θα το εκτιμούσα αν οποιεσδήποτε πληροφορίες που αναφέρονται σε αυτό το άρθρο δεν αναδημοσιεύονταν, ή σε αυτή την περίπτωση να γίνεται μια αναφορά στο +[hellug](http://www.hellug.gr) και στο [magaz](http://magaz.hellug.gr).* + +*Για ό,τι σχόλια έχετε, για τυχόν παρατηρήσεις και ερωτήσεις σχετικά με τον e, στείλτε μου mail στο . Να ξέρετε ότι ίσως να δημοσιευτεί στο +[magaz](http://magaz.hellug.gr).* + diff --git a/content/articles/14/02_slrn.md b/content/articles/14/02_slrn.md new file mode 100644 index 0000000..968153a --- /dev/null +++ b/content/articles/14/02_slrn.md @@ -0,0 +1,195 @@ ++++ +title = 'Παραμετροποιώντας τον slrn' +date = '1999-03-01T00:00:00Z' +description = '' +author = 'Κώστας Κωτσοκάλης(mailto:C.Kotsokalis@ece.ntua.gr)' +issue = ['Magaz 14'] +issue_weight = 2 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Εισαγωγικά: Ο slrn είναι ένας news (usenet) reader. \'Αλλοι news readers που ενδεχομένως έχετε υπόψη και χρησιμοποιείτε είναι το γνωστό module του Netscape +Communicator, ο knews, ο krn του KDE, ο tin, ο nn, ο News Peruser και άλλοι. Ο slrn ανήκει στον κατηγορία των text-based news readers, δηλαδή μπορείτε να τον +χρησιμοποιείτε στην κονσόλα ή σε κάποιο xterm. Παρ\'όλο που αυτό εκ πρώτης όψεως είναι απωθητικό στον σημερινό everything-should-be-graphical κόσμο των +υπολογιστών, στην πραγματικότητα ο slrn είναι εξαιρετικά εργονομικός και χρησιμοποιεί menus τα οποία δεν θα πρέπει να δυσκολέψουν κανέναν. Ο slrn είναι η +συνήθως η επιλογή των linux users που θέλουν έναν ελαφρύ σε απαιτήσεις news reader, με όλη τη λειτουργικότητα που μπορεί να απαιτεί κανείς αλλά χωρίς τα +\`\`bells and whistles\'\' των περισσότερων γραφικών news readers. Είναι προφανές πως κάποιοι δεν θα θέλουν να αφήσουν τον γραφικό news reader τους, όμως μια +δοκιμή νομίζω πως θα τους πείσει ότι ο slrn είναι όλα όσα χρειάζονται.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Κάτι ακόμα\...** +-------------------------------------------- + +**2. Λειτουργία offline** +------------------------------------------------ + +**3. Πολλαπλοί servers** +----------------------------------------------- + +**4. Κλείνοντας** +---------------------------------------- + + +### [1. Κάτι ακόμα\...]{#s1} + +Στο άρθρο αυτό πρόκειται να μιλήσουμε για το πώς θα κάνουμε τον slrn να υποστηρίζει offline reading \-- πράγμα αναγκαίο με τα εξωφρενικά τιμολόγια του (π)ΟΤΕ +\-- και επιπλέον πως θα υποστηρίζει πολλαπλούς news servers. Ακόμα θα δώσουμε κάποια hints για την πιο αποδοτική χρήση του και μερικά configuration directives. + +Για να χρησιμοποιήσετε τον slrn κατ\'αυτόν τον τρόπο θα πρέπει να πάρετε και να κάνετε compile τον slrn καθώς και μια αναγκαία βιβλιοθήκη, την slang. Αυτά +έρχονται μαζί με τα περισσότερα distributions, αλλά στη RedHat τουλάχιστον που χρησιμοποιώ εγώ λείπουν αναγκαία πράγματα, ενώ οι εκδόσεις του slrn και της slang +που περιέχονται είναι σχετικά παλιές. + +Τον πηγαίο κώδικα για αυτά τα δύο θα βρείτε στα: + +1. ή +2. ή + + +### [2. Λειτουργία offline]{#s2} + +Για να διαβάσετε τα newsgroups που σας ενδιαφέρουν offline, πρέπει να εγκαταστήσετε και το slrnpull που συνοδεύει τον slrn (τα sources του βρίσκονται στο ίδιο +αρχείο με αυτά του slrn). Αφού κάνετε compile και εγκαταστήσετε την slang, τον slrn και το slrnpull (οδηγίες για αυτά θα βρείτε στα READMEs, INSTALLs κλπ που +συνοδεύουν τον πηγαίο κώδικα), πρέπει να κάνετε τα παρακάτω. + +Έστω ότι έχετε ένα μόνο news server από τον οποίο διαβάζετε άρθρα. Τότε, φτιάχνετε τον κατάλογο /var/spool/slrnpull και μέσα σε αυτόν φτιάχνετε ένα αρχείο με +όνομα slrnpull.conf με την παρακάτω μορφή: + + # default: katebase ews 2000 articles apo ton news server, krathse + # ta 30 meres prin to expire. + default 2000 30 + + # newsgroup entries + newsgroup1 + newsgroup2 + newsgroup3 + +\...όπου αντί για newsgroup\[1,2,3\] βάζετε τα ονόματα των newsgroups που σας ενδιαφέρουν, π.χ. comp.os.linux.kernel, comp.lang.c, soc.culture.greek, +comp.unix.programmer κ.ο.κ. Στη συνέχεια φτιάχνετε στο home directory σας ένα αρχείο με το όνομα .slrnrc στο οποίο βάζετε τις εξής επιλογές: + + set spool_inn_root "/var/spool/slrnpull" + set spool_root "/var/spool/slrnpull/news" + set spool_nov_root "/var/spool/slrnpull/news" + set use_slrnpull 1 + set read_active 1 + set server_object "spool" + +Αυτά δεν είναι τα μόνα options που μπορείτε να βάλετε στο .slrnrc σας, υπάρχουν πάρα πολλά ακόμα που ρυθμίζουν την συμπεριφορά του slrn σχεδόν όσο εσείς θέλετε. +Στη συνέχεια του άρθρου θα δώσουμε κάποια τέτοια options που ο υπογράφων έχει βρει χρήσιμα. + +Αν έχετε κάνει τα παραπάνω, τρέξτε + + slrnpull -d /var/spool/slrnpull -h {news_server} + +, όπου {news\_server} το hostname του news server σας. Τότε θα έρθουν για πρώτη φορά όλα τα άρθρα που περιλαμβάνονται στα newsgroups που ορίσατε στο +slrnpull.conf, ενώ από εκεί και πέρα κάθε φορά που θα δίνετε την παραπάνω εντολή θα έρχονται μόνο τα καινούργια άρθρα. Μην ξεχνάτε που και που να τρέχετε την +εντολή ` slrnpull -d /var/spool/slrnpull --expire` που αναλαμβάνει να σβήσει τα άρθρα που είναι παλαιότερα από τον αριθμό των ημερών +που έχετε ορίσει στο slrnpull.conf. Αφού τρέξετε το slrnpull, δώστε \`\`slrn -create\'\' και μετά \`\`slrn -C\'\' και θαυμάστε τα αποτελέσματα. + +Προτείνουμε να διαβάσετε και λίγο παρακάτω πριν τρέξετε τον slrn, για να δείτε τι άλλες επιλογές μπορείτε να βάλετε στο .slrnrc και επομένως να τον +χρησιμοποιήσετε από τον αρχή με όλη του τη λειτουργικότητα. + + +### [3. Πολλαπλοί servers]{#s3} + +Για να διαβάζετε από πολλούς news servers πρέπει να κάνετε τα εξής: + +1. Αντί για ένα μόνο directory κάτω από το /var/spool φτιάχνετε ένα για κάθε news server. Έτσι θα πρέπει να έχετε τα directories /var/spool/newsserver1, + /var/spool/newsserver2, κλπ, όπου αντί για newsserver1, newsserver2 μπορείτε να βάλετε τα ονόματα που θέλετε. +2. Σε κάθε ένα από αυτά τα directories φτιάχνετε ένα slrnpull.conf αρχείο όπως πιο πάνω, με τα groups που θέλετε κάθε φορά και ανάλογα με τον news server στον + οποίο αντιστοιχεί το configuration file. +3. Φτιάχνετε περισσότερα από ένα .slrnrc αρχεία στο home direstory σας, π.χ. .slrnrc.ns1, .slrnrc.ns2, κλπ, οπού και πάλι αντί για ns1, ns2,\... μπορείτε να + έχετε όποιο όνομα επιθυμείτε (για μνημονικούς λόγους). Σε κάθε ένα από αυτά αλλάζετε μόνο τα spool\_inn\_root, spool\_root και spool\_nov\_root ανάλογα με + τον news server στον οποίο αντιστοιχεί το configuration file. Επίσης φτιάχνετε κενά αρχεία με ονόματα .jnewsrc.ns1, .jnewsrc.ns2, κοκ. +4. Εάν επιθυμείτε και για λόγους ταχύτητας φτιάχνετε aliases όπως τα παρακάτω: + 1. `alias sp "slrnpull -d /var/spool/newsserver1 -h news_server1_hostname; slrnpull -d /var/spool/newsserver2 -h news_server2_hostname"` + (προφανώς βάζετε ένα entry για κάθε news server, οπότε δίνοντας απλά \`\`sp\'\' έρχονται τα νέα άρθρα από όλους τους news servers σας\... Εναλλακτικά + μπορείτε να φτιάξετε και κάποιο script για αυτή τη δουλειά). + 2. `alias ns1 "cd $HOME; \cp .slrnrc.ns1 .slrnrc; \cp .jnewsrc.ns1 .jnewsrc; slrn -C; \cp .jnewsrc .jnewsrc.ns1"` + 3. `alias ns2 "cd $HOME; \cp .slrnrc.ns2 .slrnrc; \cp .jnewsrc.ns2 .jnewsrc; slrn -C; \cp .jnewsrc .jnewsrc.ns2"` + 4. `alias ns3 "cd $HOME; \cp .slrnrc.ns3 .slrnrc; \cp .jnewsrc.ns3 .jnewsrc; slrn -C; \cp .jnewsrc .jnewsrc.ns3"` + + Στη συνέχεια, δίνοντας τα παραπάνω aliases, έχετε κάτι σαν \`\`έναν slrn για κάθε news server\'\'. + + +### [4. Κλείνοντας]{#s4} + +Έχοντας κάνει τα παραπάνω θα πρέπει να έχετε τον slrn παραμετροποιημένο για offline reading και πολλαπλούς news servers. Ακόμα όμως και αν δεν σας ενδιαφέρουν +αυτά τα δύο (leased line? direct internet connection?), μπορείτε να χρησιμοποιήσετε τον slrn για να διαβάζετε news. Απλά φτιάχτε ένα .slrnrc file και τρέξτε +slrn. + +Έτσι ή αλλιώς, θα χρειαστείτε κάποια επιπλέον configuration options στο .slrnrc σας. Κάποια τέτοια είναι τα παρακάτω: + + # Oi parakatw tesseris grammes einai gia na orisete to onoma sas kai na + # mhn fainetai san root@localhost.localdomain + hostname "ece.ntua.gr" + set username "C.Kotsokalis" + set replyto "C.Kotsokalis@ece.ntua.gr" + set realname "Constantinos A. Kotsokalis" + + # O xairetismos sta follow-ups + set followup "On %d, %r wrote:" + + # Oi browsers pou tha anoigoun analoga me to pws trexete + # ton slrn. Gia ta deite ta URLs pou periexontai se ena + # article, patate ``U'' (kefalaio). + set Xbrowser "netscape -remote 'openURL(%s)' &" + set non_Xbrowser "lynx %s" + + # Apo poy erxeste... + set organization "National Technical University of Athens" + + # Opws prin, gia offline reading. An den to xrhsimopoieite, + # oi epomenes 6 grammes mporoun na fygoun apo edw. + set spool_inn_root "/var/spool/slrnpull" + set spool_root "/var/spool/slrnpull/news" + set spool_nov_root "/var/spool/slrnpull/news" + set use_slrnpull 1 + set read_active 1 + set server_object "spool" + + # MIME & swsta charsets + set use_mime 1 + set mime_charset "iso-8859-7" + + # Gia na epitrepei na stelnete articles me grammes pou exoun + # perissoteres apo 80 sthles + set reject_long_lines 2 + + # Gia na mhn baraei synexeia to bell alla na kanei flash + set beep 2 + + # Gia na deixnei belos anti gia mpara + set display_cursor_bar 0 + + # Gia na mhn sas rwtaei gia OTI pate na kanete + set confirm_actions 0 + + # Sorting method: Prwta kanei to threading twn articles, + # kai meta ta ta3inomei me bash thn hmeromhnia apostolhs, + # to pio palio paei prwto sth lista. + set sorting_method 11 + + # Gia na mhn rwtaei posa arthra na ferei, an o ari8mos tous + # 3epernaei to noumero pou orizete edw. An orisete otidhpote + # ektos apo 0, estw X, kai ta nea ar8ra se kapoio group einai + # perissotera apo X, tha sas rwthsei posa na ferei (me default + # X). Bazontas 0 fernei ola ta nea ar8ra, osa kai an einai. + set query_read_group_cutoff 0 + + # Automath xrhsh tou metamail otan xreiazetai, prepei + # na to exete egkatasthsei. + set use_metamail 1 + + # An diabazete news ws root, prepei na balete thn parakatw + # grammh gia na trexei to metamail swsta. + set metamail_command "metamail -r" + +Υπάρχουν ακόμα πάρα πολλά options που μπορείτε να χρησιμοποιήσετε, και θα τα βρείτε στα sample files που συνοδεύουν τον slrn. Για παράδειγμα, μπορείτε να +ορίσετε ότι χρώματα θέλετε, όπως επίσης και τον τρόπο με τον οποίο ο slrn κάνει scoring στα άρθρα που διαβάζει. Το scoring είναι μια μέθοδος για να +κατηγοριοποιεί τα άρθρα ανάλογα με τη σημασία τους, και με βάση διάφορα κριτήρια που εσείς ορίζετε. Πρόκειται για ένα από τα πιο δυνατά σημεία του slrn, το +οποίο όμως είναι κάπως πιο προχωρημένο. Όταν με το καλό εντρυφήσετε στα υπόλοιπα, ρίχτε του μια ματιά. + +Καλή ανάγνωση!!! + diff --git a/content/articles/14/03_sig11.md b/content/articles/14/03_sig11.md new file mode 100644 index 0000000..7f83b71 --- /dev/null +++ b/content/articles/14/03_sig11.md @@ -0,0 +1,146 @@ ++++ +title = 'Signal11 και άλλα διάφορα' +date = '' +description = '' +author = 'Κοτσιφάκης Θρασύβουλος' +issue = ['Magaz 14'] +issue_weight = 3 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Λίγα λόγια για αυτούς που πόνεσαν και έκλαψαν προσπαθώντας (ή που προσπαθούν ακόμα) να κάνουν compile έναν kernel αλλά χωρίς ποτέ να το πετυχαίνουν τρώγοντας +στην μάπα ένα περίεργο internal compiler error \...\.....fatal signal11. Πολύ light άρθρο μια και με έχει πιάσει μια βαρεμάρα άλλο πράγμα.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Τι είναι το signal11;** +---------------------------------------------------- + +**2. Οι \"Βασικοί Ύποπτοι\".** +------------------------------------------------------ + +- [2.1 Η μνήμη.](#ss2.1) +- [2.2 Ο Επεξεργαστής.](#ss2.2) +- [2.3 Ο σκληρός δίσκος](#ss2.3) + + +### [1. Τι είναι το signal11;]{#s1} + +\.....Και αφού κάνατε όλο αυτό το configuration που χρειάζεται στον κατακαίνουργιο kernel που κατεβάσατε από το internet (αμ πουλάκια μου δεν σας κάνει το ήδη +υπάρχον kernel της distribution σας !) γράφετε τις απίστευτα ερωτικές λέξεις make zImage και περιμένετε να γίνει compile o kernel. Εκεί απάνω που εσείς +κοντεύετε να φτάσετε σε οργασμό να \'σου και τρώτε στη μάπα ένα μήνυμα : + +**\"gcc: Internal compiler error: program cc1 got fatal signal 11\"** + +Καλά τώρα τι έγινε; Μας την πέσαν οι τούρκοι; (ναι και το πρώτο πράγμα που έκαναν είναι να υπονομεύσουν τον υπολογιστή σας, ε τι να σας πω τώρα).Ε λοιπόν δεν +έγινε τίποτα σπουδαίο. Ετοιμαστείτε να αλλάξετε **HARDWARE**.Γιατί ρε άνθρωπε μου καλέ; -θα αναρωτιέστε- να αλλάξω HARWARE; Μόλις τώρα τα ακούμπησα για να το +αναβαθμίσω το παλιόκουτο. + +Λοιπόν όταν ο υπολογιστής σας βγάζει sig11 errors κατά την διάρκεια του kernel compiling τότε 99% έχετε πρόβλημα στο hardware και πιο συγκεκριμένα ή στη μνήμη ή +στον επεξεργαστή ή στον σκληρό σας δίσκο + +Α ! Μια και μιλάμε για το sig11 να ξεκαθαρίσουμε κάτι. Το **signal11** όπως ξεκαθαρίζεται και στα επίσημα \"τεφτέρια\" (faqs) δεν είναι \"linux specific\" +-δανείζομαι την έκφραση από το επίσημο faq- δηλαδή δεν είναι κάτι που αφορά το αγαπημένο μας λειτουργικό (σαν πυρήνα) **αλλά είναι κάτι που μπορεί να σας +παρουσιαστεί και σε WINDOWS (NT ή 9Χ) και σε όποια πλατφόρμα χρησιμοποιείτε** όταν αυτή κληθεί να χρησιμοποιήσει στα μέγιστα τον εξοπλισμό σας, απλά αντί να σας +πει \...fatal error signal11 θα σας ειδοποιήσει με κάποιο άλλο μήνυμα (λέγε με General Protection Fault ). + +Δύο άλλα πραγματάκια που θα πρέπει να γνωρίζουμε είναι ότι το signal11 εμφανίζεται και σε compilation άλλων εφαρμογών οι οποίες είναι μεγάλες σε όγκο (δοκιμάστε +να κάνετε compile τον KDE με κάποιο ελαττωματικό περιφερειακό από τα παρακάτω που αναφέρονται και θα καταλάβετε τι εννοώ) και επίσης ότι προβλήματα τύπου +signall11 είναι και τα παρακάτω + + free_one_pmd: bad directory entry 00000008 + EXT2-fs warning (device 08:14) ext_2_free_blocks bit already cleared for block ...... + Segmentation fault + crc error (εφόσον βέβαια ο kernel σας είναι μικρούλης και μέχρι την στιγμή εκείνη κατά το + boot -με τον συγκεκριμένο kernel- γινόταν μια χαρά) + αλλά και άλλα πολλά που σας εύχομαι να μην δείτε ποτέ μπροστά σας. + + +### [2. Οι \"Βασικοί Ύποπτοι\".]{#s2} + +Το signal11 οφείλεται κυρίως στην λεγόμενη **\"αστοχία υλικού\"** δηλαδή στην ύπαρξη ελαττωματικού υλικού που το ελάττωμά του δεν εμφανίζεται με την πρώτη +\"ματιά\". Τι σημαίνει αυτό τώρα . Ότι πολύ απλά κάτι που έχετε στον υπολογιστή σας δεν λειτουργεί σωστά και αυτό φαίνεται στις ευαίσθητες και \"βαριές\" +εργασίες που απαιτούν όλη την υπολογιστική του ισχύ και που το κάθε του εξάρτημα πρέπει να δουλεύει άψογα. Ας αναλύσουμε όμως σιγά - σιγά τις πιο σοβαρές +πιθανότητες + +### [2.1 Η μνήμη.]{#ss2.1} + +Η μνήμη του υπολογιστή σας είναι ο νούμερο ένα ύποπτος για πιθανά sig11.Αν δείτε signal11 στο μηχάνημα σας τότε: + + a: Πηγαίνετε στο bios και αυξήστε τα Memory Wait States + b: Κοιτάξτε το documentation της μητρικής σας. Μήπως σας έχουν βάλει μνήμες πιο αργές + από αυτές που χρειάζεται για να εργαστεί με τον επεξεργαστή που έχετε; (στο δικό μου + board -SOYO 5TF5- με τον επεξεργαστή που έχω -CYRIX 166+ - βάζοντας μνήμες 70ns + παίρνω ατελείωτα μηνύματα λάθους, απαιτεί από την μνήμη να είναι 60ns) + +Αν ανιχνευθούν τα σφάλματα εκεί τότε έχει καλώς, αν όμως με τα παραπάνω δεν γίνει τίποτα τότε : + + Το πρόβλημα ίσως να είναι κάποιο χαλασμένο τσιπ μνήμης (καθόλου απίθανο) το οποίο σε + ένα ζευγάρι μνημών μπορεί να μην ανιχνεύετε υπό κανονικές συνθήκες αλλά μόνο κάτω από + έντονη πίεση. + +Βρείτε ένα φίλο σας λινουξά που έχει κάνει compile με τις μνήμες του και δανειστείτε ένα ζευγάρι μνήμες. Βάλτε τις στο μηχάνημα σας και δείτε την συμπεριφορά +του. Αν κάνει κανονικά compile τον kernel σας τότε το πρόβλημα σας είναι τα ολοκληρωμένα της μνήμης. Φυσικά και θα επιστρέψετε τις μνήμες πίσω στο παλικάρι που +σας εξυπηρέτησε και θα πάτε να αγοράσετε ένα σετάκι δικές σας (τι δεν έχετε λεφτά γιατί αγοράσατε χρυσό δακτυλίδι στη κοπέλα σας ; Να το πάρετε πίσω και να το +πουλήσετε για να πάρετε μνήμες) + +Δεν υπάρχει φίλος λινουξάς κοντά σας αφού εσείς μένετε μόνος σε μία βραχονησίδα κοντά στα Ίμια. Για να βλέπετε αυτή τη σελίδα θα πρέπει να έχετε τηλέφωνο και +internet. Πηγαίνετε και κατεβάστε το [memtest](http://www.bitwizard.nl/sig11/memtest.tar.gz) Ένα προγραμματάκι που έφτιαξε το παλικάρι που συντηρεί το faq για +το sig11 ελέγξτε τις μνήμες σας με αυτό. Τις περισσότερες φορές βρίσκει τα σφάλματα (αν και απ\' ότι είδα με μια ματιά στο νέο faq δεν το αναφέρει καθόλου +μάλλον γιατί τελικά αποτυγχάνει πιο συχνά από όσο νόμιζε στην αρχή). + +Αν πάντως το πρόβλημα συνεχίσει μην απελπίζεστε συνεχίστε τον έλεγχο πιάνοντας τώρα την **cache memory**.Εδώ τα πράγματα είναι λίγο πιο εύκολα στον έλεγχο αφού +πηγαίνοντας στο bios απενεργοποιείτε την cache και προσπαθείτε να κάνετε compile. Αν φάτε πάλι πόρτα τότε δεν είναι ούτε η cache. Προχωρήστε στην επόμενη +ενότητα. + +### [2.2 Ο Επεξεργαστής.]{#ss2.2} + +**CYRIX** + +Τι; Έχετε κι εσείς έναν απ\' αυτούς τους παμπάλαιους CYRIX P+ ; Ατυχήσατε. Γιατί ; Μα φυσικά γιατί αφ\' ενός δεν θα μπορείτε να δείτε τη Lara σε υψηλή ανάλυση +και αφ\' ετέρου γιατί ο curixούλης ζεσταίνεται και ζεσταίνεται πολύ πάρα πολύ. Τι θα κάνετε λοιπόν. + + Πρώτη κίνηση να ξηλώσετε το φαν που έχει βάλει ο συναρμολογητής του μηχανήματος + (οι περισσότεροι συναρμολογητές βάζουν κάτι ελεεινά ανεμιστηράκια).Ψάξτε να βρείτε ένα + ανεμιστηράκι για CYRIX P+ (ναι υπάρχουν, δεν ξέρω όμως αν κυκλοφορούν ακόμα). + Δεύτερη κίνηση (αν δεν δουλέψει με την πρώτη -όπως συνέβη και με 'μένα-) να ρίξετε + λίγο τη συχνότητα του επεξεργαστή σας, αν π.χ. βάλετε έναν CYRIX 166+ που χρονίζει σε + 2Χ66=132 δηλ.133Mhz στα 2Χ50=100Μhz τότε το πιο πιθανό είναι να κάνετε τη δουλειά σας. + +Μία ακόμα λύση είναι να βρείτε τα πακέτα της gcc και g++ για Cyrix τα οποία έδινε η Red Hat με τα powertools, μία ματιά που έριξα πριν λίγο πάντως στο [ftp +της](ftp://ftp.redhat.com)αλλά και στο mirror του στην [Ελλάδα](ftp://ftp.linux.gr/pub/redhat) η RedHat δεν τα προσφέρει πια αφού μάλλον κακό κάνανε παρά καλό +(δεν νομίζω να υπάρχουν πολλοί που να κατάφεραν να κάνουν compile μ\' αυτούς τους compilers) κι εγώ πάντως φέτος το φθινόπωρο που τους δοκίμασα δεν κατάφερα να +κάνω compile ούτε τον kernel ούτε και τον kde. + +Λύση τελευταίας στιγμής. Βρείτε κάποιον άσχετο πιτσιρικά και μοσχοπουλήστε του τον υπερσύγχρονο CYRIX επεξεργαστή σας λέγοντας του ότι αγοράζει κελεπούρι αφού +σας τον έφερε ο θειός σας κατευθείαν από το εργοστάσιο -πριν ακόμα βγει στην αγορά. Με τα λεφτά που θα βγάλετε από τον πιτσιρικά τρέξτε και αγοράστε καινούργιο +επεξεργαστή και εισιτήριο για Βραζιλία για σας και τον υπολογιστή σας μια που άμα σας πιάσει στα χέρια του ο μπαμπάς του πιτσιρικά, μετά την ανακάλυψη της +απάτης, θα σας κάνει με τα κρεμμυδάκια (μπετατζής γαρ ο μπαμπάς και δεν τα σηκώνει αυτά). + +**INTEL** + +Ρε \'σεις ποιός σας είπε ότι ο P200 μουμουεξ μπορεί να δουλέψει στα 500Mhz; Σας παρακαλώ γυρίστε τον σε κάποια λογική συχνότητα (άντε το πολύ 233) και θα δείτε +ότι εργάζεται μια χαρά, βάλτε του και ένα καλό fan και είσαστε έτοιμοι. + +**AMD** + +Μάλλον ισχύουν όσα έγραψα πιο πάνω για τους INTEL αφού οι K6 έχουν βγει αρκετά καλοί (είμαι ερωτευμένος με ένα Κ6 300 3D) αλλά και οι Κ5 αν και λίγο κουλοί σε +επιδόσεις δουλεύουν μια χαρά (έχω δει Κ5 120 να δουλεύει μέσα σε δωμάτιο που βρισκόταν δίπλα στα καζάνια ατμού πλοίου χωρίς να κρασάρει -σε αντίθεση με \'μας- +ούτε μία φορά και πιστέψτε με δούλευε συνεχώς αφού φιλοξενούσε όλη την γραφειοκρατική κίνηση του πλοίου συν ένα RH 4.2 για να περνάω την ώρα μου μαθαίνοντας). + +### [2.3 Ο σκληρός δίσκος]{#ss2.3} + +Εδώ συνήθως έχουμε να κάνουμε με προβλήματα μεταφοράς των δεδομένων από τον δίσκο προς τη μνήμη. Κάντε το εξής απλό: + + Γράψτε σε ένα τερματικό την παρακάτω εντολή + dd if=/dev/hda(ή sda) of=/dev/null bs=1024 count=XX + Όπου count= θα βάλετε το μέγεθος της μνήμης σας σε MB (16, 32 κλπ). + +Αν μετά απ\' αυτό κάνετε πάλι make και ο compiler σταματήσει στο ίδιο σημείο που σταμάτησε και προηγουμένως τότε μάλλον το πρόβλημα είναι το software (η version +του compiler που χρησιμοποιείτε) Αν όμως και με την προϋπόθεση ότι έχουν αποκλειστεί όλα τα παραπάνω περί cpu και μνήμης καταφέρετε να κάνετε compile τον +πολυπόθητο kernel τότε νάτο που το βρήκατε και μπράβο σας. + +Αν παρ\' ολ\' αυτά δεν τα καταφέρετε και συνεχίζετε να παίρνετε sig11 τότε καλά θα κάνετε να ξεχάσετε αυτό το γενικό άρθρο και να αναζητήσετε λύση στο [faq για +το siq11](http://www.bitwizard.nl/sig11) που υπάρχει και αρχείο με αναφορές για άλλες πιθανές αιτίες signal11. Άντε και καλές -λινουξικές- περιπέτειες. + diff --git a/content/articles/14/04_rpm.md b/content/articles/14/04_rpm.md new file mode 100644 index 0000000..e490421 --- /dev/null +++ b/content/articles/14/04_rpm.md @@ -0,0 +1,211 @@ ++++ +title = 'RPM και ο κόσμος του.' +date = '1999-04-01T00:00:00Z' +description = '' +author = 'Παύλος Παρίσσης(mailto:surfking@ath.forthnet.gr)' +issue = ['Magaz 14'] +issue_weight = 4 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το παρόν άρθρο έχει σαν σκοπό να δώσει συμβουλές και ιδέες για την αντιμετώπιση μερικών προβλημάτων με την εγκατάσταση προγραμμάτων με το Red Hat Package +Manager γνωστό σε όλους σαν rpm.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Προβλήματα\...και \...Λύσεις** +--------------------------------------------------------- + +**2. Τι είναι τα Dependencies** +----------------------------------------------------- + +**3. Tips** +--------------------------------- + +**4. Πηγή νέων rpms και πληροφοριών.** +------------------------------------------------------------ + +**5. Επίλογος** +------------------------------------- + + +### [1. Προβλήματα\...και \...Λύσεις]{#s1} + +Λοιπόν μόλις κατεβάσατε την νέα έκδοση του αγαπημένου σας προγράμματος και τρέχετε να την βάλετε. Αλλά δεν μπορείτε διότι δεν έχετε την νέα έκδοση της Ζ +βιβλιοθήκης και το πρόγραμμα την ζητάει επίμονα βγάζοντας σας το μήνυμα: \"failed dependencies Ζlib is needed by Υ-program.i386.rpm\". \"Ε, θα πάω κατεβάσω την +νέα έκδοση και τέλος\" λέτε. Αμ δε, μόλις πάτε να την βάλετε ένα σωρό προγράμματα φωνάζουν λέγοντας σας ότι αυτά τρέχουν μόνο με την ήδη υπάρχουσα έκδοση της +περιβόητης βιβλιοθήκης βγάζοντας σας το μύνημα:\"Ζlib.1 is needed by control-panel-3.7-4\". \'Ετσι μένετε χωρίς την νέα έκδοση και με ένα πρόβλημα να +προστίθεται στην λίστα μαζί με τα άλλα. Αλλά το Linux δεν αφήνει κανέναν παραπονεμένο και σας δίνει την λύση. Για να γίνω πιο κατανοητός θα περιγράψω την λύση +με ένα παράδειγμα. \'Εχουμε και λέμε, το Υ-program.i386.rpm πακέτο για να δουλέψει θέλει την Ζlib-1.1.5 βιβλιοθήκη και εσείς έχετε την Zlib-1.0.2 και όταν πάτε +να βάλετε την νέα βιβλιοθήκη πολλά άλλα πακέτα αρχίζουν να ουρλιάζουν, τι κάνουμε τώρα;\ +Μια εύκολη λύση είναι να κατεβάσουμε το source του Υ-program.i386.rpm,θα είναι της μορφής Υ-program.src.rpm., και να \"κτίσουμε\" στην έκδοση της βιβλιοθήκης +που είδη έχουμε. Το \"κτίσιμο \" γίνετε με τα παρακάτω βήματα: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + rpm --rebuild Υ-program.src.rpm + cd /usr/src/redhat/RPMS/i386 + rpm -Uvh Υ-program.i386.rpm + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Για να γίνει το κτίσιμο ΠΡΕΠΕΙ να έχετε το devel πακέτο της \"Ζlib\" εάν θέλει μια μόνο βιβλιοθήκη εάν θέλει πάνω από μία τότε ΠΡΕΠΕΙ να έχετε τα devel πακέτα +των βιβλιοθηκών αυτών. Επιπλέον ΠΡΕΠΕΙ να έχετε το \"patch-2.5-4.i386.rpm\" ή νεώτερη έκδοση. O παραπάνω τρόπος δούλεψε στο \"licq-0.60-3.i386.rpm\" το οποίο +θέλει την \"libstdc++2.9.0\" βιβλιοθήκη και εγώ είχα την \"libstdc++2.8.0\", έτσι κατέβασα το \"licq-0.60-3.src.rpm\" και το έκανα rebuild χωρίς να βάλω την +\"libstdc++2.9.0\" βιβλιοθήκη. Δυστυχώς αυτός ο τρόπος δεν δουλεύει σε όλες τις περιπτώσεις. Πιο συγκεκριμένα, εάν ένα πρόγραμμα θέλει την Ζ-1.2lib και εσείς +έχετε την Ζ-1.0lib το κτίσιμο δεν πρόκειται να γίνει διότι το πρόγραμμα τρέχει με functions ή άλλα σημαντικά στοιχεία που περιέχονται μόνο στην νέα βιβλιοθήκη. +π.χ. το \"gftp-1.12.i386.rpm\" θέλει την 1.1.13 έκδοση των gtk+ και glib βιβλιοθηκών και εγώ είχα την 1.0.6 και όταν πήγα να βάλω τις νέες βιβλιοθήκες φώναζαν +3-4 πακέτα. Επιπλέον το rebuild με τις υπάρχουσες βιβλιοθήκες δεν έδινε λύση. Σε αυτή τη περίπτωση έκανα τα παρακάτω: + +1. Απεγκατάσταση των πακέτων που φώναζαν όταν προσπάθησα να βάλω τις νέες βιβλιοθήκες + + "rpm -e paketo" + +2. Απεγκατάσταση των βιβλιοθηκών που είχα ήδη στο σύστημα μου, είναι σίγουρο ότι θα πρέπει να δώσετε \"\--nodeps\" + + "rpm -e --nodeps paketo" + +3. Εγκατάσταση των νέων βιβλιοθηκών + + "rpm -ivh paketo" + +4. rebuild των source(καλύτερα είναι να βρείτε τις νέες εκδόσεις των source) πακέτων που φώναζαν και εγκατάσταση των binary που δημιουργούνται. + +5. Εγκατάσταση του προγράμματος που για χάρη του έκανα τα παραπάνω + + "rpm -ivh paketo" + +Αυτός είναι ένας \"γενικός\" τρόπος ΑΛΛΑ για τις νέες gtk+ και glib βιβλιοθήκες χρειάστηκε ειδική μεταχείριση. Εάν θέλετε πληροφορίες σχετικά με αυτές τις +βιβλιοθήκες mail me. Εμένα τα gimp-1.0.1, nessus, usermode, usernet, control-panel και imlib μου έλεγαν ότι τρέχουν μόνο με την υπάρχουσες εκδόσεις των +βιβλιοθηκών ΑΛΛΑ παρατήρησα ότι το gimp και nessus τρέχουν με την νέα βιβλιοθήκη χωρίς να τα κάνω rebuild και ούτε να τα βγάλω. Τα άλλα όμως δεν το γλίτωσαν την +απομάκρυνση τους και κτίσιμο τους με τις νέες βιβλιοθήκες. \'Αρα, πρώτα δοκιμάζουμε να κάνουμε κτίσιμο με τις υπάρχουσες βιβλιοθήκες και μετά τον 2ο τρόπο. +Διότι είναι και χρονοβόρος αλλά και μπορεί να ΜΗΝ δουλέψει για αυτό αναλογιστείτε εάν το ένα και μοναδικό νέο πρόγραμμα που θέλετε αξίζει την φασαρία. Το +\"gftp\" δεν την άξιζε αλλά εγώ το έκανα επειδή είχα πεισμώσει να βρω την λύση. + + +### [2. Τι είναι τα Dependencies]{#s2} + +Σε αυτό το σημείο θα προσπαθήσω να εξηγήσω τι ακριβώς είναι το \"failed dependencies\" και σε ποιες περιπτώσεις εμφανίζεται. Δυστυχώς η εμφάνιση του μηνύματος +αυτού δεν σημαίνει πάντα ότι έχουμε το ίδιο πρόβλημα άρα και την ίδια αντιμετώπιση. Μερικές φορές υπάρχει διαφορετική εξήγηση και αντιμετώπιση για την κάθε +εμφάνιση του μηνύματος \"failed dependencies\".\ +Λοιπόν αρχίζουμε. Ο κάθε κατασκευαστής πακέτων rpm μέσα στο spec αρχείο του έχει και μία γραμμή + + "Requires: files..." + +έτσι κάθε πακέτο που έχει αυτή την γραμμή πριν γίνει το install ενεργοποιείτε ένας εσωτερικός αλγόριθμος που ψάχνει να βρει τα αρχεία αυτά στην βάση δεδομένων +του rpm. πχ το πακέτο Υ-program.i386.rpm έχει στο spec αρχείο την γραμμή\ + + "Requires: perl imlib.so.1 /bin/sh" + +έτσι για να γίνει η εγκατάσταση πρέπει να βρεθούν τα αρχεία αυτά στην βάση δεδομένων του rpm.Τα μήνυμα που παίρνουμε σε αυτές τις περιπτώσεις είναι το ακόλουθο: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + "failed dependencies: + imlib.so.1 is needed by Υ-program.i386.rpm" + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Ο ίδιος αλγόριθμος ενεργοποιείτε όταν πάμε να βγάλουμε ή να αναβαθμίσουμε ένα πακέτο στο οποίο βασίζεται ένα άλλο, γίνετε ένας έλεγχος στην βάση δεδομένων για +να δει εάν με την απομάκρυνση ή την αναβάθμιση του πακέτου θα υπάρξει παραβίαση των dependencies εάν κάποιο άλλο πακέτο απαιτεί κάποια αρχεία που υπάρχουν μόνο +στο πακέτο που προσπαθούμε να απομακρύνουμε ή να αναβαθμίσουμε. Το μήνυμα που παίρνουμε όταν πάμε να βγάλουμε ή να αναβαθμίσουμε το \"Fsail-1.2\" πακέτο που +περιέχει το \"Fsail.so.1\" αρχείο το οποίο το χεριάζετε ένα άλλο πακέτο για να δουλέψει είναι το:\ + + "Fsail.so.1 is need by Gdesk-1.1" + +Το μήνυμα \"failed dependencies Ζlib is needed by Υ-program.i386.rpm\" δεν σημαίνει απαραίτητα ότι δεν έχετε την συγκεκριμένη βιβλιοθήκη αλλά ότι έχετε μια πιο +νέα/παλιά βιβλιοθήκη από την οποία το πακέτο κτίστηκε και για αυτό το κτίσιμο με τις υπάρχουσες βιβλιοθήκες δίνει μερικές φορές την λύση. Διότι μπορούμε να +κτίσουμε το πακέτο έναντι των βιβλιοθηκών που ήδη έχουμε και το πακέτο να μπορεί να δουλεύει με αυτές.\ +Για παράδειγμα όταν πήγα να βάλω ένα πακέτο και μου έλεγε ότι θέλει π.χ. \"libkdecore.so.1\" έδινα ένα \"rpm -qp \--requires paketo\" και μου έλεγε \"kdelibs +=1.0 και libkdecore.so.1\...\...\.....\" Το \"libkdecore.so.1\" αρχείο περιέχεται μέσα στο \"kdelibs-1.0\" και εγώ είχα \"kdelibs-1.1\" και φυσικά το +\"libkdecore.so.2\" και όχι το \"libkdecore.so.1\" έτσι δεν δούλευε το πακέτο , ούτε το \--nodeps έδινε λύση. Η λύση δόθηκε κάνοντας rebuild το πακέτο. Για αυτό +το πρόβλημα υπάρχει εξήγηση, όπως σε όλα τα προβλήματα:) Το ότι το spec αρχείο λεει \"kdelibs =1.0\" μπορεί να σημαίνει ότι ο packager έχει το KDE 1.0 στο +σύστημα του και με αποτέλεσμα να αναφέρετε σε αυτή την έκδοση της βιβλιοθήκης το spec αρχείο. Διότι το RPM κάνει \"link\" στις υπάρχουσες βιβλιοθήκες που +υπάρχουν στο σύστημα όταν το πακέτο κτίζετε, Θυμάστε για το \"licq\" και την \"libstdc++ 2.9.0\" βιβλιοθήκη που όπως αποδείχθηκε δεν χρειαζόταν; Προφανώς το +licq κτίστηκε σε σύστημα με την 2.9.0 έκδοση της \"libstdc++\" βιβλιοθήκης. Επιπλέον πολλές φορές νέες εκδόσεις βιβλιοθηκών είναι ασύμβατες προς στις πίσω +εκδόσεις πχ η \"Gtk+\" βιβλιοθήκη ειδικά η 1.2 έκδοση στην οποία έχουν διαγράψει μερικές λειτουργίες δεν είναι συμβατή με την 1.0 έκδοση, έτσι το rpm επίτηδες +δημιουργεί \"links\" με ένα συγκεκριμένο πακέτο διότι δουλεύει μόνο με αυτήν την έκδοση του πακέτου, θυμάστε το \"gftp\" και την \"gtk+1.13\" βιβλιοθήκη που με +τις υπάρχουσες βιβλιοθήκες δεν έδινε λύση το κτίσιμο; + +Πολλές φορές το \"failed dependencies\" είναι \"false alarm\". Τι θέλω να πω, όπως αποδείχθηκε δύο πακέτα δουλεύουν χωρίς προβλήματα με τις νέες βιβλιοθήκες +παρόλο ότι έλεγαν το αντίθετο. Για παράδειγμα, το \"XFGreekFNTS-1.1.noarch.rpm\" όταν πάμε να το εγκαταστήσουμε με \"-ivh\" σε S.u.S.E. 5.3 & 6.0 λεει ότι θέλει +το \"XFree86 3.3.1\" αλλά εάν δώσουμε \"-ivh \--nodeps\" δουλεύει μια χαρά. Με απλά λόγια κάντε ένα \"rpm -Uvh \--nodeps paketo\" πριν κάνετε οτιδήποτε μπορεί +το πρόγραμμα να δουλέψει, ΠΡΟΣΟΧΗ μόνο σε προγράμματα και ΟΧΙ σε βιβλιοθήκες και άλλα σημαντικά πακέτα πχ modutils, initscripts κλπ. \'Αλλωστε το \"\--nodeps\" +το χρησιμοποιούμε σπάνια διότι αγνοεί τα dependencies ενός πακέτου και είναι 99% σίγουρο ότι το πακέτο ΔΕΝ θα δουλέψει:(. Η συγκεκριμένη περίπτωση μπορεί να +έχει την εξήγηση της στο γεγονός ότι το rpm μερικές φορές δεν κάνει σωστά τις συγκρίσεις με τις εκδόσεις τα \>,\< και = μερικές φορές δεν τα αντιλαμβάνεται +σωστά. + +Όλα αυτά είναι τεχνικά θέματα που εμάς τους απλούς θνητούς μας μπερδεύουν και σε τελική ανάλυση δεν θέλουμε να μας απασχολούν. Για αυτό υπάρχουν άνθρωποι σαν +τον Ryan Weaver πού λύνουν τέτοιου είδους προβλήματα. Μια βόλτα από και θα δείτε τις δουλείες του. + + +### [3. Tips]{#s3} + +- Όταν κατεβάζετε ένα πακέτο και πριν το κάνετε εγκατάσταση δώστε\ + + "rpm -K --nopgp paketo " + + \ + και πρέπει να πάρετε \"size md5 OK\" εάν πάρετε διάφορα errors ΞΑΝΑ κατεβάστε το από άλλον ftp server διότι το πακέτο έχει αλλοιωθεί και ΔΕΝ πρόκειται να + δουλέψει σωστά. + +- Πριν κάνετε εγκατάσταση ή αναβάθμιση ή διαγραφή ενός πακέτο δώστε\ + + "rpm -ivh --test onoma_paketou" ή + "rpm -Uvh --test onoma_paketou" ή + "rpm -e --test onoma_paketou" + + \ + εάν δεν βγάλει τίποτα τα σκυλιά είναι δεμένα και προχωράτε άφοβα στην εγκατάσταση ή αναβάθμιση ή διαγραφή. + +- Όταν κάνετε διάφορα κόλπα με βιβλιοθήκες ΝΑ ΕΧΕΤΕ ΠΑΝΤΑ τις υπάρχουσες εκδόσεις σε μια γωνία. + +- Εάν θέλετε κατεβάστε το purp (πρέπει να έχετε τα ncurses) δουλεύει σε φιλικό γραφικό περιβάλλον και έχει δύο χαρακτηριστικά που είναι ιδιαίτερα χρήσιμα + 1. μπορείς και βλέπεις τα script που εκτελούνται πριν την εγκατάσταση και μετά την απομάκρυνση του πακέτου. + 2. βλέπεις τα dependencies ενός πακέτου. + + τα παραπάνω γίνονται και με εντολές \"rpm -q \--provides \--requires \--scripts paketo\" αλλά είναι πολύ χρήσιμο όταν θέλετε να \"ρωτήσετε\" και δείτε πολλά + διαφορετικά πακέτα χωρίς να είστε υποχρεωμένοι να θυμάστε το ακριβές όνομα τους. ΠΡΟΣΟΧΗ ΜΗΝ ΚΑΝΕΤΕ INSTALL, UPGRADE ΚΑΙ ERASE από το purp διότι αγνοεί τα + dependencies ενός πακέτου. + +- Όταν κάντε εγκατάσταση ενός πακέτου να δίνετε \"-Uvh\", ξέρω\...ξέρω το \"-U\" είναι για αναβάθμιση αλλά εάν δώσετε \"-i\" αντί \"-U\" θα δημιουργηθεί + πρόβλημα όταν έχετε την προηγούμενη έκδοση του πακέτου εγκαταστημένη. Για αυτό δίνετε ΠΑΝΤΑ \"-U\" έχετε δεν έχετε το προηγούμενης έκδοσης πακέτο το νέο θα + μπει κανονικά. Εγώ όταν πήγα να βάλω την νέα έκδοση του \"ghostscript\" έδωσα \"-i\" αντί \"-U\" και η \"gs\" εντολή δεν δούλευε καθόλου. + +- Μην κατεβάζετε σαν τρελοί ότι νέο βγει. Να βάζετε νέα πακέτα μόνο και όταν οι εφαρμογές σας το απαιτούν ή οι νέες έχουν bug fixes. Αναφέρομαι σε βιβλιοθήκες + OXI σε προγράμματα. + +- Αν αντιμετωπίζετε προβλήματα με πακέτα ρίξτε ένα mail στο κατασκευαστή του rpm διότι πολλές φορές έχουν bugs, με \"rpm -qip paketo\" βλέπουμε τις + πληροφορίες ενός πακέτου που ΔΕΝ έχουμε κάνει εγκατάσταση. + +- Πολλές φορές κάποια πακέτα θα χρειάζονται ειδική μεταχείριση όπως XFree86, Gnome, KDE, βιβλιοθήκες κλπ. για αυτό είναι καλό πριν κάνετε κάτι να διαβάζετε τα + docs που είδη υπάρχουν στο σύστημα σας ή εάν δεν υπάρχουν στις σχετικές σελίδες των πακέτων αυτών. + +- \'Οταν ένα πακέτο Α απαιτεί το Β και το Β με την σειρά του απαιτεί το Α ο σωστός τρόπος εγκατάστασης είναι να δώσετε \"rpm -ivh \*.rpm\" μέσα σε ένα + κατάλογο που έχετε ΜΟΝΟ αυτά τα δύο πακέτα. Με \"\*\" το rpm ψάχνει στον κατάλογο και λύνει τα dependencies που υπάρχουν μεταξύ των πακέτων αυτών. + +- Διαβάστε το manual του rpm για περισσότερα. + +**Ο 2ος ΤΡΟΠΟΣ ΔΟΥΛΕΨΕ ΣΤΟ ΣΥΣΤΗΜΑ ΜΟΥ (REDHAT 5.1) ΔΕΝ ΕΓΓΥΩΜΑΙ ΟΤΙ ΘΑ ΔΟΥΛΕΨΕΙ ΣΕ ΟΛΑ ΤΑ DISTRIBUTIONS** + + +### [4. Πηγή νέων rpms και πληροφοριών.]{#s4} + +Το rpmfind.net είναι μία καλή πηγή νέων rpm η οποία διαφέρει από τους άλλους τόπους επειδή σου λεει το κάθε πακέτο τι αρχεία παρέχει και τι απαιτεί και εάν δεν +έχεις ένα αρχείο που το απαιτεί το πακέτο που θέλετε να κατεβάσετε, κάνοντας κλικ σε αυτό σε πάει στο πακέτο που το έχει! Επιπλέον τα πακέτα είναι και σε +αλφαβητική σειρά κάτι που ελαττώνει το χρόνο της αναζήτησης ενός συγκεκριμένου πακέτου. Πριν κατεβάσετε πακέτα \>1.5-2ΜΒ κάντε μία αναζήτηση στο + είναι σχεδόν σίγούρο ότι θα τα βρείτε σε έναν \"κοντινό\" ftp server. Η RedHat έχει μια λίστα για rpm στην οποία μπορείτε να βρείτε +σημαντικές πληροφορίες για rpm πακέτα Τέλος το είναι ένα καλό σημείο να ξεκινήσετε για να βρείτε πακέτα και +πληροφορίες. + + +### [5. Επίλογος]{#s5} + +Ελπίζω να ξεδιάλυνα μερικά πράγματα σχετικά με τα dependencies και να έδωσα μερικές ιδέες για την σωστή εγκατάσταση των πακέτων rpm. Πάντως όταν παίζετε με +βγάλε-βάλε βιβλιοθηκών να είστε ιδιαίτερα προσεκτικοί για να μην κάνετε καμία ζημία. Εγώ έκανα αρκετές αλλά ήμουν τυχερός και τα κόλπα πού έκανα δούλεψαν και +κατάφερα να επαναφέρω το σύστημα στην σωστή κατάσταση. Αλλά δεν είναι κάθε μέρα Κυριακή:) + +Πριν κλείσω αυτό το άρθρο θέλω να ευχαριστήσω τον Γιάννη Γαλανομάτη για τις σημαντικές παρατηρήσεις του και τον Troy Engel για τις πολύτιμες συμβουλές που μου +έδωσε. + diff --git a/content/articles/14/05_glimpse.md b/content/articles/14/05_glimpse.md new file mode 100644 index 0000000..f1ebe1b --- /dev/null +++ b/content/articles/14/05_glimpse.md @@ -0,0 +1,66 @@ ++++ +title = 'Ελληνικά στο webglimpse/glimpse' +date = '1999-04-01T00:00:00Z' +description = '' +author = 'Νίκος Μαυρογιαννόπουλος(mailto:nmav@hellug.gr)' +issue = ['Magaz 14'] +issue_weight = 5 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Τα προγράμματα glimpse/webglimpse αποτελούν τον πυρήνα μιας μηχανής αναζήτησης. Τo glimpseindex αναλαμβάνει το ρόλο της ταξινόμησης και δημιουργίας των αρχείων +δεικτών (index files), ενώ το glimpse, την αναζήτηση σε αυτά. Το webglimpse είναι μια σειρά από scripts σε perl με σκοπό την εύκολη αναζήτηση από web. Η +εγκατάσταση είναι σχετικά απλή αν ακολουθηθούν οι οδηγίες που περιέχονται στα πακέτα glimpse και webglimpse. (οι πιο πρόσφατες εκδόσεις βρίσκονται στο + και * + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +To Glimpse σχεδιάστηκε και υλοποιήθηκε από τους Udi Manber, Sun Wu, και Burra Gopal στο πανεπιστήμιο της Αριζόνα, τμήμα πληροφορικής. Δεν είναι ελεύθερο +λογισμικό αλλά η διανομή του για μη κερδοσκοπικούς σκοπούς επιτρέπεται. Για περισσότερες πληροφορίες κοιτάξτε το αρχείο COPYRIGHT μέσα στα tarball του glimpse. + +Η υποστήριξη ελληνικών κατά την δημιουργία των αρχείων δεικτών καθώς και κατά την αναζήτηση παρ\' όλο που δεν αναφέρεται πουθενά, υπάρχει. Για να την +ενεργοποιήσουμε πρέπει να αλλάξουμε στο Makefile κατά την μεταγλώττιση του glimpse την μεταβλητή ISO\_CHAR\_SET από 0 σε 1. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Δηλαδή την σειρά: + ISO_CHAR_SET = 0 + σε + ISO_CHAR_SET = 1 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Η υποστήριξη αυτή βασίζεται στην δυνατότητα της libc να διαχωρίζει τους χαρακτήρες σύμφωνα με την χώρα που έχει δηλωθεί. Η δήλωση αυτή γίνεται μέσω της +μεταβλητής περιβάλλοντος LC\_COLLATE (ή και LANG). Αρκεί λοιπόν πριν τρέξουμε τα glimpseindex και glimpse να θέσουμε LC\_COLLATE=el (ή gr\_GR για την libc5). Αν +όλα πήγαν καλά στο αρχείο .glimpse\_index υπάρχουν και ελληνικοί χαρακτήρες-λέξεις. + +Το webglimpse χρειάζεται επίσης μερικές αλλαγές για να μπορέσει να δεχτεί ελληνικούς χαρακτήρες χωρίς να τους απορρίψει. Αρχικά αλλάζουμε το αρχείο webglimpse +στον cgi-bin κατάλογο. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Αναζητούμε την σειρά: + $ENV{'PATH'} = '/bin:/usr/bin'; + και προσθέτουμε πριν από αυτήν: + $ENV{'LC_COLLATE'} = 'el'; + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Προσοχή όχι + + {'LANG'}= 'el'; + +γιατί με αυτόν τον τρόπο αλλάζουνεκαι οι ημερομηνίες που χρησιμοποιεί το webglimpse σε ελληνικά, με αποτέλεσμα να μην λειτουργεί καθόλου.\ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Τώρα στο ίδιο αρχείο αναζητούμε την σειρά: + &err_badquery if !$highlight; + και την αλλάζουμε σε: + #&err_badquery if !$highlight; + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +δηλαδή την βγάζουμε έξω τελείως, αφού αυτή δεν επιτρέπει την εισαγωγή ελληνικών στα πεδία. Επειδή δεν ξέρω perl δεν μπορώ να γνωρίζω τί ακριβώς έκανε αυτή η +γραμμή. Αν κάποιος γνωρίζει καλό θα ήταν να μας διαφωτίσει.\ +Έτσι από το επόμενο query το webglimpse θα αναγνωρίσει και ελληνικούς χαρακτήρες χωρίς κανένα πρόβλημα! diff --git a/content/articles/14/06_mailbox.md b/content/articles/14/06_mailbox.md new file mode 100644 index 0000000..db5013f --- /dev/null +++ b/content/articles/14/06_mailbox.md @@ -0,0 +1,612 @@ ++++ +title = 'Αλληλογραφία' +date = '1999-04-01T00:00:00Z' +description = '' +author = '' +issue = ['Magaz 14'] +issue_weight = 6 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Παρακαλούμε ακολουθήστε τους κάτωθι κανόνες: + +α) Να βάζετε ένα θέμα σχετικό με την ερώτηση στο mail σας. Ένα θέμα της μορφής \"Ερώτηση περί Linux\" δεν βοηθάει ιδιαίτερα.\ +β) Να ρίχνετε και καμμιά ματιά στα περασμένα τεύχη, και εννοώ και τη στήλη της αλληλογραφίας, αλλά και τα άρθρα. Ίσως κάποιες ερωτήσεις να απαντιούνται από +εκεί.\ +Επίσης, παρακαλούμε γράφετε στα ελληνικά. Αν το outlook σας δεν βλέπει ελληνικά, βάλτε linux :-)\ +γ) Απαντήσεις οι οποίες δεν έχουν απαντηθεί, σημαίνει ότι μάλλον δεν ξέρουμε την απάντηση. Ερωτήσεις οι οποίες έρχονται με mail, είναι ΠΟΛΥ ΔΥΣΚΟΛΟ να +απαντηθούν. Προτιμήστε την φόρμα. + +**1. ΕΤΟΣ 2000** +------------------------------------------ + +**2. Αρχάριος** +----------------------------------------- + +**3. Αρχάριο Linux** +---------------------------------------------- + +**4. CD LINUX** +----------------------------------------- + +**5. ppp-on** +--------------------------------------- + +**6. REDHAT 5.2** +------------------------------------------- + +**7. Μπέρδεμα** +----------------------------------------- + +**8. Αρχάριος LINUX** +----------------------------------------------- + +**9. Αρχάριος LINUX** +----------------------------------------------- + +**10. Linux** +----------------------------------------- + +**11. Issue 11** +-------------------------------------------- + +**12. LINUX** +----------------------------------------- + +**13. RED HAT 5.1 και CDROM Πρόβλημα** +------------------------------------------------------------------ + +**14. προβλήματα με τον kernel** +------------------------------------------------------------ + +**15. ΡΑΜ ΜΕΓΑΛΗ ΚΑΙ ΛΙΝΟΥΞ** +--------------------------------------------------------- + +**16. Wordstar 5.0** +------------------------------------------------ + +**17. compile** +------------------------------------------- + +**18. compile** +------------------------------------------- + +**19. elinika?** +-------------------------------------------- + +**20. ρυθμίσεις** +--------------------------------------------- + +**21. xisp** +---------------------------------------- + +**22. ΠΕΡΙ MODEM** +---------------------------------------------- + +**23. Crasharisma tou XServer** +----------------------------------------------------------- + +**24. Κάρτα ήχου** +---------------------------------------------- + +**25. Partition a disk with Linux** +--------------------------------------------------------------- + +**26. remove file** +----------------------------------------------- + +**27. natscape for linux** +------------------------------------------------------ + +**28. x-isp** +----------------------------------------- + +**29. Ελληνικά στην Oracle** +-------------------------------------------------------- + +**30. linux vs PII(INTEL)** +------------------------------------------------------- + +**31. Ελληνικά στον εκτυπωτή** +---------------------------------------------------------- + +**32. MOTD** +---------------------------------------- + + +### [1. ΕΤΟΣ 2000]{#s1} + +Από : [ΚΑΤΙΜΕΡΤΖΗΣ ΜΑΚΗΣ](mailto:admin@veterin.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Απάντηση : [Ευριπίδης Παπακώστας](mailto:evris@hellug.gr) + +Ποιά από τις διάφορες παραλλαγές του Linux έχει λύσει το bug του 2000, και ποιά έκδοση; Ευχαριστώ. + +***MK:** Καμμία distribution του Linux δεν έχει πρόβλημα με το bug του 2000. Συγκεκριμένα προγράμματα μπορεί να έχουν, αλλά αυτά είναι ασχέτως distribution. Για +περισσότερες πληροφορίες, μπορείς να δεις το * + +***ΕΠ:** Τι bug έχει το 2000; Πως μπορεί ένα PC να αλλάξει τον χωροχρόνο;* + + +### [2. Αρχάριος]{#s2} + +Από : [Νίκος Σούλας](mailto:spady@compulink.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Πως τρέχει ένα πρόγραμμα, παιχνίδι στο Linux; Ποιά είναι η εντολή; Πως κάνω install σε ένα πακέτο ή ένα παιχνίδι; Με την εντολή mount μόνο μπορείς να δεις τα +περίεχόμενα ενός cd και του floppy; Ποιά είναι τα εκτελέσιμα αρχεία στο Linux; Εχω το red hat 5.2 και είμαι εντελώς νέος με το unix, επίσης βαρέθηκα τα windows +και θέλω να ξεφύγω. Please help. Ευχαριστώ. + +*Φίλε Νίκο. Τα executables έχουν το execute bit ορισμένο. Για να κάνεις install θα πρέπει να χρησιμοποιήσεις το rpm (man rpm) για πακέτα τα οποία έρχονται σε +rpm μορφή, ή τις οδηγίες που έχει κάθε πακέτο αν αυτό έρχεται σε tar.gz μορφή. Και τέλος, για να δεις ένα cd ή ένα floppy πρέπει να το κάνεις mount. Αν και +φαντάζομαι ότι τα παραπάνω σου φαίνονται παράξενα, είμαι σίγουρος ότι αν διαβάσεις λίγο θα τα καταφέρεις να βρεις άκρη.* + + +### [3. Αρχάριο Linux]{#s3} + +Από : [Nikos Soulas](mailto:spady@compulink.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Αν και το mount το κατάλαβα και κατάφερα να δω το cd μου δεν κατάφερα ακόμη να τρέξω ένα πρόγραμμα από την κονσόλα Π.χ. έχω ένα παιχνίδι που λέγεται monop, ποια +είναι η εντολή να το τρέξω ; \`Οταν κάνω man monop στο synopsis το μόνο που μου λέει είναι να γράψω monop για να τρέξει το πρόγραμμα !!!!!!! Τι να κάνω ; Ακόμη +αν μπορείς πες μου γιατί όταν μπαίνω σαν user με δικό μου login και όχι του root δεν κάνει shutdown και αναγκάζομαι να πατάω alt+ctrl+del ; Θα με βοηθούσες πολύ +αν με απαντούσες . Και ευχαριστώ πολύ που με απάντησες . \`Ολα για το LINUX. + +*Να υποθέσω ότι δεν του είπες monop, έτσι; Όπως λέει, η εντολή για να τρέξει είναι η monop (καλό είναι να βάλεις το πλήρες path, γιατί μπορεί να μην είναι στο +path σου). Επί τη ευκαιρία, που το βρήκες το monop? Shutdown δεν κάνει, γιατί ο απλός χρήστης δεν έχει δικαίωμα να κάνει shutdown. Πρέπει να γίνεις root (με την +εντολή su) και σαν root πλέον να του δώσεις shutdown.* + + +### [4. CD LINUX]{#s4} + +Από : [Σωτηρίου Δημήτρης](mailto:cricket@ath.forthnet.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Με ποιόν τρόπο μπορώ να προμηθευτώ το CD του LINUX στην Αθήνα\...\ +Ευχαριστώ + +*Βιβλιοπωλείο Παπασωτηρίου και βιβλιοπωλείο Κλειδάριθμος, στην οδό Στουρνάρη. Εταιρεία [Step](http://www.step.gr) στον Πειραιά* + + +### [5. ppp-on]{#s5} + +Από : [Georgiadis Petio](mailto:petio@mail.otenet.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Γεια σας. \`Εχω ένα πρόβλημα να συνδεθώ στο Internet μέσω του ppp-on. Μόλις συμπληρώσω τα στοιχεία μου και πάω να το ξεκινήσω μου βγάζει του εξής μήνυμα: +\"Sorry - This system lacks ppp kernel support\". Θέλω να μου πείτε τι πρέπει να κάνω για να συνδεθώ. + +*Να προσθέσεις ppp support στον kernel, ή, αν το έχει ως module, να το φορτώσεις (με modprobe ppp).* + + +### [6. REDHAT 5.2]{#s6} + +Από : [Θεωδορος Παπαδοπουλος](mailto:webgallery@grecian.net) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Ξέρετε τη πυρήνα εχει το REDHAT 5.2? + +*Οχι ρε γαμώτο, όσο και να προσπαθήσω να καταλάβω δεν μπορώ\... Αν βρεις θα μου πεις και εμένα?* + + +### [7. Μπέρδεμα]{#s7} + +Από : [Nikos Soulas](mailto:spady@compulink.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Γειά σας. \`Εχω να κάνω μια ερώτηση. \`Εχω κατεβάσει από το Interner το KDE. Αλλά το έχω κατεβάσει από τα windows. Μπορείτε να μου πείτε: 1. Πώς μπορώ από το +Linux να αντιγράψω κάτι από τον σκληρό του DOS ; 2. Αν το αντιγράψω αυτό θα κάνει extract τα αρχείο από το tar ή επειδή είναι από το dos δεν θα το αναγνωρίζει ; +Ευχαριστώ . + +*Για να αντιγράψεις ή να δεις από το Linux ένα partition (ή δίσκο) με filesystem άλλο από e2fs, απλά το κάνεις mount με την κατάλληλη παράμετρο για το FStype. +Για να δουλέψει αυτό, πρέπει το μηχάνημά σου να έχει επιλογή για αυτό το filesystem, κάτι που μπορείς να δεις από το αρχείο /proc/filesystems. Αρχεία τα οποία +έχουν κατέβει ως binary από το Internet, γίνονται extract κανονικά. Αρχεία τα οποία ΔΕΝ κατέβηκαν ως binary δεν θα κάνουν extract. Είναι θέμα (και) του Web +browser που χρησιμοποιείς.* + + +### [8. Αρχάριος LINUX]{#s8} + +Από : [Nikos Soulas](mailto:spady@compulink.gr) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Sorry είμαι ξανά εγώ ο Νίκος. Το monop είναι στο path /usr/games/ και έκανα αυτό που μου είπες αλλά τίποτα. Η εντολή που το έτρεξα ήταν monop /usr/games/ αν +μπορείς μου γράφεις σε παρακαλώ τι θα έγραφες για να το τρέξεις; Ακόμα όταν κάνω ls -F το monop μου το βγάζει με \* αυτό δεν θα πει ότι είναι εκτελέσιμο αρχείο +; Και όσο για το shutdown μου αρνείται να μου το κλείσει ακόμα και όταν πηγαίνω στο root με την εντολή su. \`Οσο για το monop ευχαρίστως να σου το έστελνα αλλά +δεν ξέρω πως να το βγάλω από το LINUX. Πες μου τον τρόπο. Ευχαριστώ ξανά που με απάντησες . Ζήτω το LINUX. + +*γράψε:* + + cd /usr/games + ./monop + +*ναι, το αστεράκι (\*) σημαίνει ότι είναι εκτελέσιμο\...* + + +### [9. Αρχάριος LINUX]{#s9} + +Από : [Nikos Soulas](mailto:spady@compulink.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Γειά σας. Λοιπόν κατάφερα επιτέλους να τρέξω ένα πρόγραμμα!! Αλλά όσο μπαίνω πιο βαθειά στον κόσμο του LINUX τόσο πιο πολλά ερωτήματα έχω. Λοιπόν κατάφερα να +εγκαταστήσω το GNOME και δεν ξέρω πώς να τρέχω τα X WINDOWS και πώς το GNOME να είναι το DEFAULT; Ακόμη από X WINDOWS πως μπορώ να δώ τα περιεχόμενα ενός CD ή +μιας δισκέτας; (\`Εχω το NEXTSTEP αν αυτό σας βοηθάει). Και κάτι άλλο, μήπως μπορείτε να μου πείτε πώς αλλάζω τον παλαιό μου τον πυρήνα ( 2.0.35 ) με τον +καινούργιο ( 2.2.0 ) ; ( Αν είναι πολλά δεν πειράζει έχω χρόνο να διαβάσω ). Ευχαριστώ πολύ. \`Ολα για το LINUX. + +*Συγγνώμη αλλά, το πως θα ξεκινήσεις το Gnome αναφέρεται στα αρχεία του Gnome, το πως θα δεις τα περιεχόμενα ενός CD ή δισκέττας το αναφέραμε σε προηγούμενή σου +ερώτηση, το Nextstep αποκλείεται να το έχεις γιατί δεν τρέχει σε Linux (και μάλλον εννοείς το AfterStep) και η αναβάθμιση του πυρήνα, είναι μία ολόκληρη +διαδικασία που αναφέρεται αναλυτικά στο . Επίσης, το περιοδικό είναι για να λύνει απορίες και όχι για να μαθαίνει στον κόσμο Linux. Μην +το πάρεις στραβά, αλλά έχουμε και άλλες δουλειές να κάνουμε, και πρώτα πρώτα τις δουλειές μας που μας ζούνε (γιατί προφανώς δεν ζούμε από το Linux). Το Linux +καλώς η κακώς θέλει πολλή δουλειά από τον χρήστη του, και υπάρχουν οι λίστες και τα περιοδικά να βοηθάνε ΜΟΝΟ αν ο χρήστης φτάσει σε αδιέξοδο εφόσον έχει +διαβάσει πρώτα. Φιλικά Μιχάλης* + + +### [10. Linux]{#s10} + +Από : [Μάριος Καρμέλλος](mailto:kvakis@cytanet.com.cy) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Τι μας προσφέρει το Linux; + +*Μια πολύ καλή ερώτηση, που μπορεί να λάβει πολλές απαντήσεις. Για τον καθένα κάτι διαφορετικό. α) Εμένα, που είμαι λάτρης του (ο,τιδήποτε) διαφορετικού, με +εκστασιάζει. Γιατί ποτέ δεν μπορείς να το \`\`μάθεις\'\' όπως γίνεται με τα ακατονόμαστα. Γιατί είναι δομημένο με ένα τρόπο που προκαλεί τη σκέψη μου, και ως εκ +τούτου δεν γίνομαι ένας παθητικός χρήστης υπολογιστή. β) Του ξαδέρφου μου του Μιχάλη, του προσφέρει λεφτά (αυτή είναι η δουλειά του), λεφτά που ούτε τα ΝΤ (που +ξέρει να τα δουλεύει ο Μιχαλάκης) δεν του προσφέρουν. γ) Στο ΚΤΕΛ Χανίων - Ρεθύμνης προσφέρει σταθερότητα και απαράμιλλη δικτυακή υποστήριξη. δ) Του κάθε +πιτσιρικά χρήστη των γουίντοους, προσφέρει την απαραίτητη \"Μαγκιά\" στην παρέα του \"Μα καλά, ακόμα 98 έχεις\"* + + +### [11. Issue 11]{#s11} + +Από : [Theodore Patsiouras](mailto:tnpats@yahoo.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Δεν υπάρχει αρχείο για download του 11ου τεύχους; Ευχαριστώ πολύ. + +*Δοκίμασε το [http://magaz.hellug.gr/files/magaz.11.tgz](http://magaz.hellug.gr/files/magaz11.tgz)* + + +### [12. LINUX]{#s12} + +Από : [ΝΙΚΟΣ ΠΑΝΑΓΙΩΤΑΚΟΠΟΥΛΟΣ](mailto:gsiout@rodopi.cc.duth.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Τι είναι το Linux, τι μπορεί να μου προσφέρει περισσότερο από τα windows και τέλος -επειδή είμαι πολιτικός μηχανικός - υπάρχουν σχεδιαστικά προγράμματα για +LINUX; + +*Το Linux είναι λειτουργικό σύστημα. Σε σχέση με τα Windows μπορεί να σου προσφέρει σταθερότητα και καλύτερη χρήση του hardware. Τέλος, ναι, υπάρχουν +σχεδιαστικά προγράμματα για linux, άλλα δωρεάν, άλλα Open Source και άλλα εμπορικά. Αν το βάλεις, ξαναστείλε mail να σου πούμε URL.* + + +### [13. RED HAT 5.1 και CDROM Πρόβλημα]{#s13} + +Από : [Panos Le Halachuck](mailto:hpan@nettaxi.com) + +Απάντηση : [Ευριπίδης Παπακώστας](mailto:evris@hellug.gr) + +Γεια σας\... Είμαι ο (γνωστός) Panos Le Halachuck, και δυστυχώς έχω ένα Linuxικό πρόβλημα. Έκανα εγκατάσταση το CD της RED HAT διανομής 5.1 σε ένα δίσκο MAXTOR +1.3 Γίγα. Η εγκατάσταση πήγε καλά, αλλά όταν έκανα επανεκκίνηση, ήθελα να προσθέσω μερικά rpm\'s από το CD. Έκανα λοιπόν την γνωστή εντολή mount -t iso9660 +/dev/cdrom /mnt/cdrom για να ενεργοποιήσω το cd αλλά αντί αυτού έλαβα το εξής μήνυμα: ISO9660 is not supported by this kernel. Σημειωτέον ότι το kernel είναι +αυτό που έδινε η RED HAT στο CD τής (δεν θυμάμαι το build). Κοιτάω το αρχείο fstab αλλά δεν βλέπω το cd. Επίσης πρέπει να σας πω ότι έχω 2 σκληρούς δίσκους στον +υπολογιστή μου, ένα 4,3 GB χωρισμένο σε δύο partition (hda) και τον παραπάνω (hdc) για το Linux. Ο δίσκος hdc έχει ένα dos Fat16 partition το οποίο είναι το D:. +Βασικά στο Τι πρέπει να γίνει; + +*Γιατί δεν δοκιμάζεις πριν κάνεις mount, να δώσεις: modprobe isofs* + + +### [14. προβλήματα με τον kernel]{#s14} + +Από : [Βαγγέλης Τσιμπινός](mailto:ktsib@tee.gr) + +Απάντηση : [Κοτσιφάκης Θρασυβουλος](mailto:tkots@SoftHome.net) + +Έχω ένα πρόβλημα με το Linux.Συγκεκριμένα δεν μπορώ να εγκαταστήσω την υποστήριξη FAT και τα ppp protocols στον kernel. Έχω το REDHAT 5.2 με τον μητρικό του +kernel.Το πρόβλημα δημιουργείται όταν κάνω make dep και make zImage αφού μου εμφανίζει μερικά errors.Μπορείτε να με βοηθήσετε; Ευχαριστώ + +*Απ\' όσον γνωρίζω το RED HAT στο default Kernel έχει έτοιμη την υποστήριξη για dos fs (8.3) και VFAT σε read-write mode. Απλά το μόνο που έχεις να κάνεις είναι +να βάλεις στο /etc/fstab μία καταχώριση με το device name, το directory στο οποίο θα γίνεται mount το filesystem κλπ -αλλά τι σου τα λέω όλα αυτά; Αν κοιτάξεις +το magaz του Μαρτίου θα τα βρεις σε άρθρο-. Τα πρωτόκολλα που αναφέρεις (μάλλον TCP/IP) υπάρχουν επίσης και αυτά στον πυρήνα που εγκαθιστά το RH 5.2 (2.0.36). +Οπότε αν το πρόβλημα σου είναι μόνο αυτά τα δύο δεν χρειάζεται ούτε καν να κάνεις compile νέο kernel. -Εάν τώρα όλ\' αυτά τα ξέρεις και απλά το πρόβλημα σου +είναι ότι θες να κάνεις compile έναν νέο kernel με υποστήριξη των παραπάνω τότε καλύτερα θα ήταν να μας στείλεις με ένα άλλο mail τα μηνύματα λάθους που +παίρνεις γιατί δεν νομίζω ότι κανείς μας κατάλαβε τι ακριβώς συμβαίνει με τον πυρήνα σου (μάλλον -την φράση μυρίζω τα νύχια μου και το βρίσκω την ξέρεις ε;- ο +πυρήνας δεν γίνεται καν compile). Πάντως και για το compilation του kernel υπάρχουν άφθονα άρθρα στο τεύχος Φεβρουαρίου.* + + +### [15. ΡΑΜ ΜΕΓΑΛΗ ΚΑΙ ΛΙΝΟΥΞ]{#s15} + +Από : [ΦΡΑΓΚΟΣ ΠΑΝΑΓΙΩΤΗΣ](mailto:newt@internet-bg.net) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Καταρχήν μπράβο. Με έχετε βοηθήσει αφάνταστα, όπως και άλλους φαντάζομαι. \`Αλλη μια φορά όμως δεν βλάπτει:). \`Εχω μητρική PC100 M747. Επίσης σέλερον στα 350 +και έβαλα 3 sdram κανονικές δηλαδή όχι pc100. Οι δυο είναι από 65 ΜΒ και η αλλη 32ΜΒ. Σύνολο 163 περίπου. Κλασσικά το slack που έχω (3.6) βλέπει μόνο τα 63ΜΒ. +Διάβασα όσα how to μπόρεσα να βρω σχετικά με το θέμα αλλά όλα μιλάνε για το lilo.conf αρχείο και την εντολή append = \"mem=160M\" που πρέπει να τοποθετήσω εκεί +σαν τελευταία γραμμή .Το έκανα μα τίποτα. Στα ακατονόμαστα την βλέπει όλη τη μνήμη. Δεν ξέρω τι να κάνω. Μήπως φταίει η μητρική ή οι sdrams που εχω? Αν έχετε +ιδέα για το τι μπορεί να είναι η τι μπορώ να αλλάξω η τέλος πάντων πως θα γίνει κάντε κάτι :) \`Εχω καταφέρει να βρω πως διάολο λειτουργεί το xwin with sis agp +αν θέλετε μπορώ να σας διαθέσω αυτές τις πληροφορίες γιατί πολλοί θα παιδευτούν αρκετά όπως ε γώ . + +*Η γραμμή είναι ακριβώς όπως την γράφεις, αλλά το lilo το έτρεξες μετά την αλλαγή; Επειδή δεν θυμάμαι που μπαίνει αυτή η γραμμή, δοκίμασε στην αρχή, όπως και +μετά από το boot section. Βέβαια, αν ο kernel σου είναι 2.0.36 ή 2.2.x (uname a) τότε θα έπρεπε να το βλέπει μόνο του, οπότε μάλλον κάτι δεν πάει καλά με τις +μνήμες. Συνεπώς, αν δεν βρεις άκρη, δοκίμασε να αναβαθμίσεις kernel* + + +### [16. Wordstar 5.0]{#s16} + +Από : [Linakis A. Antonis](mailto:krom10@hotmail.com) + +Απάντηση : [Θρασύβουλος Κοτσιφάκης](mailto:tkots@softhome.net) + +Θα ήθελα να ρωτήσω αν μέσω του SuSE Linux v6.0 και του προγράμματος Wordstar v5.0 μπορώ να ανοίξω αρχεία σωσμένα με το Microsoft Office 97 και Microsoft Office +v.7.0 καθώς επίσης και με το Excel. Θα το εκτιμούσα πάρα πολύ αν μπορείτε να μου στείλετε την απάντηση μέσω email, διότι είναι φοιτητής στην Αγγλία και δεν +μπορώ να αποκτήσω το περιοδικό. Ευχαριστώ για το χρόνο σας. + +*Προφανώς εννοείς StarOffice 5.0 .Η απάντηση είναι ναι . Μπορείς να ανοίξεις κάποιο έγγραφο του MS Office όπως επίσης και να αποθηκεύσεις κάποιο αρχείο σαν +αρχείο .doc για office 97 ή 7.0 έτσι ώστε να το διαβάσεις από τα WIN.* + + +### [17. compile]{#s17} + +Από : [Τσιμπινός Βαγγέλης](mailto:ktsib@tee.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Απάντηση : [Παναγιώτης Βρυώνης](mailto:vrypan@hellug.gr) + +Λοιπόν \..... Τα errors που μου βγαίνουν στο τέλος του make zImage ειναι: make\[1\]: as86 :Command not found make\[1\]: \*\*\*\[bootsect.o\] Error 127 . . make: +\*\*\*\[zImage\] Error 2 Θα σας είμαι ευγνώμων αν με βοηθήσετε\...\.... (Το ότι παραλείπω το γλείψιμο στην αρχή δεν πάει να πει ότι δεν κάνετε φοβερή +δουλειά\...\....) Ευχαριστώ, Τσιμπινός Βαγγέλης + +***MK:** Φίλε Βαγγελη, Χρειάζεσαι το πακέτο bin86 το οποίο περιεχει το as86. Πρέπει σιγουρα να υπάρχει στο CD του distribution σου.* + +***ΠΒ:** Αν έχεις RedHat 5.2 εγκατάστησε το πακέτο bin86-0.4-5.i386.rpm που περιλαμβάνεται στο CD της Red Hat.* + + +### [18. compile]{#s18} + +Από : [Τσιμπινός Βαγγέλης](mailto:ktsib@tee.gr) + +Απάντηση : [Παναγιώτης Βρυώνης](mailto:vrypan@hellug.gr) + +To bin86 το εγκατέστησα αλλά μου βγάζει πλέον και άλλα errors\... Αυτά είναι + +*Λογικά δεν έχεις εγκαταστήσει τα headers της libc (ή glibc, ανάλογα με το σύστημά σου). Αν έχεις σύστημα με rpm (RedHat, SuSE, Caldera,\...) εγκατάστησε ένα +πακέτο που ονομάζεται libc-devel ή glibc-devel.\ +Στο RedHat 5.2 είναι το glibc-devel-2.0.7-29.i386.rpm* + + +### [19. elinika?]{#s19} + +Από : [Ανώνυμος](mailto:c_tolis@hotmail.com) + +Απάντηση : [Θρασύβουλος Κοτσιφάκης](mailto:tkots@softhome.net) + +Ελληνικά ρε παιδιά πώς βάζω μωρέ; heeeeeeeeeeeeeeelp + +*Η ερώτηση αυτή έχει απαντηθεί πολλές φορές. Μία ματιά στο \"τεύχος\" Μαρτίου (13) θα σου λύσει τις απορίες (όχι μόνον αν έχεις Red Hat όπως λέει ο τίτλος του +άρθρου). Υπάρχουν επίσης άρθρα για τα ελληνικά σε παλιότερα τεύχη (1998) του magaz τα οποία σε καθοδηγούν για να εγκαταστήσεις ελληνικά σε διάφορες εφαρμογές +(staroffice TeX κλπ) Διάβασε τα σχετικά HOWTO και ψάξε στο αρχείο της λίστας Ελλήνων Χρηστών . Η εγκατάσταση είναι πανεύκολη +αρκεί να κάτσεις να διαβάσεις ένα HOWTO και ένα άρθρο στο magaz. Πάντως μέχρι και το RAM έχει γράψει γι\' αυτό το θέμα οπότε μάλλον αδικαιολόγητος να κάνεις +τέτοιες ερωτήσεις .* + + +### [20. ρυθμίσεις]{#s20} + +Από : [Χατζηραλλης Στρατης](mailto:inforpoject@the.forthnet.gr) + +Απάντηση : [Θρασύβουλος Κοτσιφάκης](mailto:tkots@softhome.net) + +θα ήθελα να μάθω αν μπορώ να εγκαταστήσω τα x-windows ΑΠΟ ΤΗΝ ΑΡΧΙΚΗ εγκατάσταση. Περιέχονται στα 2 cd της RedHat; Αν όχι τι κάνω μετά; Ευχαριστώ προκαταβολικά. +Στρατης Χατζηραλλης ΥΓ . ΕΙΜΑΙ ΕΝΘΕΡΜΟΣ ΥΠΟΣΤΗΡΙΚΤΗΣ ΤΗΣ ΙΔΕΑΣ ΤΟΥ \'ΕΝΑΛΛΑΚΤΙΚΟΥ \' Λ.Σ. ΑΝ ΚΑΙ ΕΧΩ ΕΠΕΝΔΥΣΕΙ ΠΑΡΑ ΠΟΛΛΑ ΣΤΑ MS-WINDOWS ΕΝΤΟΥΤΟΙΣ ΔΕΝ ΣΥΜΦΩΝΩ +ΚΑΘΟΛΟΥ ΣΤΗ ΔΙΚΤΑΤΟΡΙΑ ΠΟΥ ΘΕΛΟΥΝ ΝΑ ΕΠΙΒΑΛΛΟΥΝ. + +*Φυσικά και περιέχονται στα cd της RED HAT. Για την ακρίβεια τα εκτελέσιμα βρίσκονται στο πρώτο cd ενώ ο κώδικας στο δεύτερο. Αν τώρα θέλεις την νεότερη έκδοση +των Χ για την διανομή σου ρίξε μία ματιά στο ftp.redhat.com και στο mirror του στην Ελλάδα (ftp.linux.gr/pub/redhat) Δεν καταλαβαίνω τι εννοείς \"\...από την +αρχική εγκατάσταση\". Πάντως σε κάθε περίπτωση -είτε σε ένα νέο σύστημα είτε σε κάποιο με το linux ήδη εγκατεστημένο- μπορείς να βάλεις Χ-WINDOWS. Σε ένα νέο +από την ρουτίνα εγκατάστασης και σε ένα ήδη υπάρχον εγκαθιστώντας τα rpm -αφού μιλάμε για RH-(xf86, τους servers κλπ).* + + +### [21. xisp]{#s21} + +Από : [Τσιμπινός Βαγγέλης](mailto:ktsib@tee.gr) + +Απάντηση : [Θρασύβουλος Κοτσιφάκης](mailto:tkots@softhome.net) + +Μήπως μπορείτε να μου πείτε που θα βρω το X-ISP και πως θα το εγκαταστήσω;;;;;;; Eυχαριστώ + +*Θα το βρεις στο site του Δ. Βούρα για το X-ISP, στο : (από εκεί βέβαια θα πάρεις πληροφορίες για τους ftp servers +που το φιλοξενούν) Υπάρχει επίσης σαν binary rpm (v 2.3p7-1.i386.rpm) στο : για libc5 σύστημα. +Ενώ για glibc2 binary (v 2.5p4) στο : Για να το εγκαταστήσεις θα πρέπει να εγκαταστήσεις X +(μάλλον τα έχεις ήδη στο κουτί σου) και τα πακέτα xforms 0.88 και ppp 2.2 .0 και πάνω. Για να το ρυθμίσεις θα διαβάσεις στην σελίδα που αναφέρω πιο πάνω και στα +τεύχη του magaz, 5/98 (Ρυθμίσεις για το X-ISP) και 6/98(Συνδεθείτε με το X-ISP) Υπάρχει επίσης άρθρο για το πως θα συντηρείς πολλαπλά accounts (setup, +maintenance, security) με X-Isp στο τεύχος 56/Δεκεμβρίου 98 του Linux Journal.* + + +### [22. ΠΕΡΙ MODEM]{#s22} + +Από : [ΠΟΛΛΑΤΟΣ ΓΕΡΑΣΙΜΟΣ](mailto:stud1148@di.uoa.gr) + +Απάντηση : [Κοτσιφάκης Θρασύβουλος](mailto:tkots@SoftHome.net) + +Μέχρι πρότινος είχα τη διανομή της Slackware και το modem μου αναγνωριζόταν κανονικα. Τώρα με τη διανομή της Redhat δεν μπορώ να δω το modem μου.(Χρησιμοποιώ το +minicom). + +*Μήπως (λέω τώρα) έχεις αλλάξει τα settings της σειριακής που έχεις το modem ; Μήπως το έχεις δηλώσει σαν /dev/modem και δεν έχεις κάνει το link ώστε το +/dev/modem/ να δείχνει στην σειριακή που έχεις το modem; Μήπως το modem σου είναι plug and play και θέλει να το βάλεις στο /etc/isapnp.conf ; Πάντως μία πιο +ξεκάθαρη ερώτηση θα έδινε και πιο ξεκάθαρη απάντηση* + + +### [23. Crasharisma tou XServer]{#s23} + +Από : [Παπαμάρκος Γιωργος(Papamarcos Giorgos)](mailto:el97060@central.ntua.gr) + +Απάντηση : [Θρασύβουλος Κοτσιφάκης](mailto:tkots@softhome.net) + +Έχω το to SUSE 5.3 και από τότε που έβαλα καινούργια κάρτα γραφικών, μία Diamond Stealth II S220, και αφού μετά πολλών κόπων και βασάνων μπόρεσα να τρέξω τα +XWindows (δεν είχε τους οδηγούς το Linux) και μάλιστα στα 8bpp (αν και η κάρτα υποστηρίζει στα 16bpp), κάθε φορά σχεδόν (90%) που σηκώνω τον server το σύστημα +κρασάρει. Και όχι μόνο αυτό: μόλις αλλάζω το χρώμα στα 16bpp (είτε μέσω του XF86Setup είτε μέσω του xf86config) το φαινόμενο επαναλαμβάνεται και καταλαβαίνετε +τον εκνευρισμό μου. ΤΙ ΜΠΟΡΩ ΝΑ ΚΑΝΩ ΑΣ ΜΕ ΒΟΗΘΗΣΕΙ ΚΑΠΟΙΟΣ ΤΟ ΣΥΝΤΟΜΟΤΕΡΟ ΓΙΑΤΙ ΕΙΜΑΙ ΔΕΜΕΝΟΣ ΧΕΙΡΟΠΟΔΑΡΑ ΚΑΙ ΔΕΝ ΜΠΟΡΩ ΝΑ ΚΑΝΩ ΚΑΜΜΙΑ ΣΟΒΑΡΗ ΔΟΥΛΕΙΑ. ΘΑ +ΕΙΘΥΜΟΥΣΑ ΕΝΑ ΠΡΟΣΩΠΙΚΟ ΚΑΙ ΑΝΑΛΥΤΙΚΟ MA IL ΓΙΑΤΙ ΕΙΜΑΙ ΣΧΕΤΙΚΑ ΠΡΩΤΑΡΗΣ ΣΤΟ LINUX. ΕΥΧΑΡΙΣΤΩ + +*Το SUSE 5.3 έχει server για την κάρτα σου (x\_permidia x\_verite ή κάτι τέτοιο στο όνομα) ο οποίος είναι λίγο buggy αλλά όχι και τόσο όσο περιγράφεις. Κατέβασε +αν θες τον νέο XFREE86 (3.3.3)και τον XSVGA Server ο οποίος σηκώνει πλέον και την κάρτα σου. Θα τα βρεις στα updates της SUSE* + + +### [24. Κάρτα ήχου]{#s24} + +Από : [Αδριανός Παπαμάρκου](mailto:adrian@arafin.gr) + +Απάντηση : [Κοτσιφάκης Θρασύβουλος](mailto:tkots@SoftHome.net) + +Έχω μια κάρτα ήχου Philips PCA761W η οποία δεν έχει drivers για LINUX και δεν υποστηρίζεται από το RedHat 5.0. Υπάρχει κάποιος τρόπος που μπορώ να την +χρησιμοποιήσω σαν κάρτα ήχου ή synthesizer ή MIDI-Joystic port; (Σύμφωνα με το manual είναι συμβατή με sound blaster) + +*Το Red Hat δεν μπορεί να αποφασίσει αν η κάρτα ήχου σου υποστηρίζεται από το linux αφού το linux είναι ο πυρήνας και αυτός αποφασίζει. Αν η κάρτα σου είναι +100% sb συμβατή και όχι κάποια software συμβατή τότε μπορείς κάνοντας recompile τον πυρήνα να την εγκαταστήσεις σαν soundblaster Διάβασε πριν κάνεις οτιδήποτε +το sound ΗΟWΤΟ για να μάθεις τι πρέπει να γνωρίζεις γι\' αυτήν πριν κάνεις recompile τον κώδικα του πυρήνα.* + + +### [25. Partition a disk with Linux]{#s25} + +Από : [Αντώνιος Χάψας](mailto:hapsas@med.upatras.gr) + +Απάντηση : [Θρασύβουλος Κοτσιφάκης](mailto:tkots@softhome.net) + +Υπάρχει πρόγραμμα που να κάνει re-partitioning σαν το partition magic σε ένα δίσκο με Linux ? Δοκίμασα να αλλάξω το μέγεθος του Partition του linux με το +partition magic 4,0 αλλά όταν έκανα reboot κόλλαγε στο LI.. δοκίμασα να το επισκευάσω αλλά τίποτα. + +*-Όχι τέτοιο πρόγραμμα δεν υπάρχει. Το πρόβλημα σου είναι σχετικά εύκολο στην επίλυση του αρκεί να έχεις πρόχειρη μία linux boot disk ή έναν kernel και το +loadlin για να bootάρεις από dos. To partition magic κατά την διάρκεια του re-sizing του partition που εσύ έκανες στο / (root ) κατέστησε το partition +unbootable για τον lilo. Έλεγξε το partition table όπως το έκανες με το partition magic, εκκίνησε σε linux με την boot disk ή μέσω loadlin και διόρθωσε τις +καταχωρίσεις στο /etc/fstab και στο /etc/ lilo.conf (αν χρειάζεται) και τρέξε το /sbin/lilo Στο επόμενο boot λογικά το μηχάνημα σου θα λειτουργεί κανονικά. Το +partition magic έχει κατηγορηθεί ότι δεν τα πάει καλά με τα ext2 partitions.Η έκδοση 4.2.02 λένε ότι διορθώνει κάπως τα προβλήματα* + + +### [26. remove file]{#s26} + +Από : [Χρηστος](mailto:propelas@hotmail.com) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Γιατί δεν μπορώ να σβήσω ένα αρχείο που έχω κάνει upload, ή αν γίνεται πως πρέπει να το κάνω? Χρήστος + +*Ορίστε? τι να κάνεις? Να σβήσεις ένα αρχείο που έχεις κάνει upload?* + +- Που το έχεις κάνει upload? +- Γιατί να το σβήσεις? +- Γιατί το ανέβασες? + +*Σοβαρά τώρα, τι εννοείς?\ +Αν θες να γίνεις πιο συγκεκριμένος, ίσως να μπορέσουμε να σε βοηθήσουμε.\ +Φιλικά, Βαγγέλης* + + +### [27. natscape for linux]{#s27} + +Από : [Georgiadis Xristos](mailto:petio@mail.otenet.gr) + +Απάντηση : [](mailto:) + +Θέλω να ρωτησω αν μπορώ να βρω πουθενά στην Ελλάδα το Netscape για Linux. + +*Εννοείς να το αγοράσεις σε CD σα να λέμε;\ +\`Οχι τίποτα άλλο, αλλά δε βρίσκω άλλο λόγο να το θες μόνο από Ελλάδα.\ +Αν όντως είναι έτσι, μπορείς να το βρεις στον Παπασωτηρίου.\ +Αν πάλι το θες από το internet μπορείς να δοκιμάσεις να το βρεις στο [ftp.linux.gr](ftp://ftp.linux.gr), κάπου εκεί πρέπει να είναι.* + + +### [28. x-isp]{#s28} + +Από : [Τσιμπινός Βαγγέλης](mailto:ktsib@tee.gr) + +Απάντηση : [Θρασύβουλος Κοτσιφάκης](mailto:tkots@softhome.net) + +Μπορείτε να μου πείτε την ακριβή διαδικασία εγκατάστασης του X-isp???? Έχω κατεβάσει το binary και δεν ξέρω μετ;a τι να κάνω\.... Ευχαριστώ + +*Νομίζω ότι απάντηση θα πάρεις αν διαβάσεις τις σελίδες που αναφέρομαι σε προηγούμενο mail σου (Αλήθεια το README που υπάρχει στο πακέτο μήπως είναι +διακοσμητικό στοιχείο; -μάλλον όχι).* + + +### [29. Ελληνικά στην Oracle]{#s29} + +Από : [Πάνος Βατικιώτης](mailto:panos@cybex.gr) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Κατά την εγκατάσταση της ORACLE 8 βάζω την γραμματοσειρά EL8ISO8859P7. Μέσα στο sqlplus οτιδήποτε ελληνικό εμφανίζεται με ερωτηματικά. Αν μπορεί κάποιος να +βοηθήσει. Ευχαριστώ. + +*Δυστυχώς, δεν έχω απάντηση στην ερώτησή σου, αλλά σε παρακαλώ, πες μου\... Δουλεύει καλά (κατά τα άλλα) η ORACLE 8??* + + +### [30. linux vs PII(INTEL)]{#s30} + +Από : [misa 1999](mailto:misa_1998@hotmail.com) + +Απάντηση : [Θρασύβουλος Κοτσιφάκης](mailto:tkots@softhome.net) + +Είμαι τεχνικός Η/Υ στην Θεσσαλονίκη και από το περασμένο καλοκαίρι αγόρασα το REDhat 5.1 για να μπω στην λίμνη του Linux. Πρόσφατα πήρα μέσω του RAM το S.U.S.E +6.0. Mέχρι σήμερα δεν κατάφερα πολλά πράγματα λόγω του λιγοστού χρόνου που έχω ελεύθερο. Θα ήθελα να μου πείτε αγαπητοί συνάδελφοι αν ξαναεγκαταστήσω το Linux +σε PII 333Α Celeron θα εκμεταλλευτεί στο έπακρο τις δυνατότητες του ? Θα ήθελα ακόμη να μου πείτε που θα μπορούσα να βρω ελληνικά Howto για να μπορέσω να +κολυμπήσω αν όχι στο καλύτερο λειτουργικό γιατί είναι φτιαγμένο από μας για μας(Προσωπικά δεν έχω προσφέρει τίποτα ακόμη). Γεια χαρά σε όλους. ;)) Υ.Γ. \`Οσοι +θέλετε στείλτε μου email. + +*Η απάντηση είναι σίγουρα ναι. Ειδικά στους νεότερους πυρήνες (2.2.Χ) υπάρχουν ειδικά optimizations για κάθε είδους επεξεργαστή (και για τον δικό σου που +ουσιαστικά είναι ένας PII χωρίς την L2 cache του PII). Ελληνικά HOWTO θα βρεις στο εκεί θα βρεις και faq στην ελληνική. Σχετικά +με το SUSE 6 του RAM . H κόπια αυτή δεν τρέχει γιατί στο cd έχουν μετατραπεί όλα τα γράμματα στις ονομασίες των αρχείων σε κεφαλαία (ως γνωστόν το LINUX είναι +case sensitive) επικοινώνησε με την τοπική σου L.U.G. [theLUG](http://hal.csd.auth.gr/thelug) και πιστεύω ότι κάποιος θα το έχει για να στο δώσει.* + + +### [31. Ελληνικά στον εκτυπωτή]{#s31} + +Από : [DJ Art](mailto:arturok@usa.net) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Γεια σας!!!. \`Εχω έναν Epson Stylus Color 600 και προσπαθώ να τον κάνω να γράψει ελληνικά. Έχω δοκιμάσει τις οδηγίες των How-To και τις οδηγίες που είχαν +δημοσιευθεί στο τεύχος 121 του RAM. Δεν τα κατάφερα, όμως. Μήπως έχετε καμιά ιδέα; Υπόψιν ότι ο εκτυπωτής εκτυπώνει ελληνικά σε \"καθαρό\" DOS και ότι είναι +σωστά εγκατεστημένος σε RedHat 5.2. Ως default γραμματοσειρά του εκτυπωτή είναι η 737. + +*Δυστυχώς, κι εγώ το ίδιο πρόβλημα έχω με τον 740. Σε παρακαλώ, αν βγάλεις άκρη, στείλε μου κι εμένα ένα mail!\ +Φιλικά,\ +Βαγγέλης* + + +### [32. MOTD]{#s32} + +Από : [Τσαλίκογλου Ισαάκ](mailto:tcup@bigfoot.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Απάντηση : [Θρασύβουλος Κοτσιφάκης](mailto:tkots@softhome.net) + +Τι τροποποιήσεις πρέπει να κάνω και σε ποια αρχεία έτσι ώστε όταν κάνω login να μου βγάζει ένα text?\ +ΥΓ. Το έχω δει σε ένα γνωστό μου :-)\ +ΥΓ2. Θένξ σε αντβάνς ;) + +***MK:** Κατά πρώτον, χρειάζεσαι το \"πακέτο\" fortune το οποίο βγάζει τυχαία μηνύματα. Κατά δεύτερον, πρέπει να το εκτελείς. Αν θέλεις αυτό να ισχύει για όλους +τους χρήστες, βάζεις το fortune να εκτελείται στο /etc/profile ως τελευταία γραμμή. Αν θέλεις να ισχύει μόνο για σένα, το βάζεις στο δικό σου .profile ή .login +ανάλογα με το shell που έχεις.* + +***ΘΚ:** Και για να συμπληρώσω λίγο τον φίλο μου Μιχάλη μπορείς επίσης για να είναι το μήνυμα σου πιο προσωπικό να φτιάξεις ένα μήνυμα με κάποιον text editor +στο /home directory σου και μετά να βάζεις το \$HOME/.profile να διαβάζει το μήνυμα αυτό με την εντολή cat\ +π.χ. αν το text αρχείο λέγεται greeting βάλε την εντολή στο /HOME/.profile cat /home/\/greeting\ +Μπορείς βέβαια να την βάλεις στο γενικότερο, /etc/profile ώστε να εμφανίζεται σε όλους τους χρήστες που κάνουν login\ +Επίσης μπορείς να φτιάξεις ένα script μέσα στο /etc/profile που να συλλέγει πληροφορίες για τον χρήστη που κάνει login και να του εμφανίζει ένα πιο προσωπικό +μήνυμα (π.χ. ένα welcome με το όνομα του δίπλα).\ +Μία ιδέα για το πως λειτουργεί το scripting θα πάρεις αν διαβάσεις τα άρθρα του Β. Παπαδογιαννάκη (απλά μαθήματα bash) στα τεύχη 8/98 και 9/98 και στην man bash +και στα tips HOWTO* + diff --git a/content/articles/15/01_kdevelop.md b/content/articles/15/01_kdevelop.md new file mode 100644 index 0000000..de40dd9 --- /dev/null +++ b/content/articles/15/01_kdevelop.md @@ -0,0 +1,169 @@ ++++ +title = 'KDevelop' +date = '1999-04-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης(mailto:kabrianis@hellug.gr)' +issue = ['Magaz 15'] +issue_weight = 1 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το [Kdevelop](http://www.cs.uni-potsdam.de/~smeier/kdevelop/index.html), είναι ένα Intergrated Development Environment που τρέχει σε Linux μηχανήματα με τις +KDE libraries και την QT και έχει την δυνατότητα να παράγει C++ προγράμματα, τα οποία είτε στηρίζονται σε KDE, ή σε QT, ή τέλος απλά προγράμματα κονσόλας.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Εμφάνιση** +------------------------------------------ + +- [1.1 Το αριστερό τμήμα](#ss1.1) +- [1.2 Το δεξί τμήμα](#ss1.2) +- [1.3 Το κάτω τμήμα](#ss1.3) +- [1.4 Τα toolbars](#ss1.4) +- [1.5 Το menu bar](#ss1.5) + +**2. Λειτουργία - Ευκολίες.** +-------------------------------------------------------- + +- [2.1 Application Wizard](#ss2.1) +- [2.2 Documentation](#ss2.2) +- [2.3 Tools](#ss2.3) + +**3. Visual** +---------------------------------------- + +**4. Τι λείπει\...** +----------------------------------------------- + +**5. Επίλογος** +------------------------------------------ + + +### [1. Εμφάνιση]{#s1} + +Το κεντρικό παράθυρο του Kdevelop χωρίζεται σε τρία επιμέρους παράθυρα. Επίσης έχει δύο toolbars, και βέβαια μία σειρά από μενού. Ας ξεκινήσουμε με τα +υποπαράθυρα. + +### [1.1 Το αριστερό τμήμα]{#ss1.1} + +Το αριστερό τμήμα, έχει 4 ταμπέλες, με ονόματα CV (Class Viewer), LFV (Logical File Viewer), RFV (Real File Viewer) και DOC (Documentation Tree). + +Στο **Class Viewer** βλέπουμε ιεραρχικά τις classes που έχει το πρόγραμμά μας, μαζί με τα elements της κάθε class, όπως constructor, destructor, functions που +έχουμε φτιάξει εμείς, αλλά και τα δεδομένα. Έτσι έχουμε μία περιληπτική εικόνα μίας class που έχουμε δημιουργήσει, η οποία μπορεί να δημιουργεί τελικά 500-600 +γραμμές κώδικα (constructor, functions κλπ). Το Application Wizard του Kdevelop έχει αναλάβει να μας φτιάξει τον ορισμό της Class σε ένα .h αρχείο, και την +υλοποίηση σε ένα .cpp. Με ένα απλό κλικ πάνω σε ένα από τα elements, θα μεταφερθούμε στο δεξί παράθυρο, στο element αυτό. Αν κάνουμε κλικ πάνω σε ένα Class, ή +σε μία μεταβλητή του class θα μεταφερθούμε στο header αρχείο, ενώ αν κάνουμε κλικ πάνω σε μία function θα μεταφερθούμε στο source αρχείο. Επίσης στο Class +Viewer εμφανίζονται και οι global variables, functions και structures. + +Στο **Logical File Viewer** βλέπουμε τα αρχεία που αποτελούν το project μας, χωρισμένα \"θεματικά\". Δηλαδή χωριστά τα sources, χωριστά τα headers, χωριστά το +Documentation. Πάλι πατώντας σε κάποιο αρχείο, μεταφερόμαστε στο δεξί παράθυρο σε αυτό το αρχείο. + +Στο **Real File Viewer** βλέπουμε όλα τα αρχεία όπως θα τα βλέπαμε από ένα File Manager, δηλαδή με το directory structure που είναι στον δίσκο μας. + +Τέλος, στο **Documentation Tree** έχουμε το manual και το tutorial του Kdevelop, το documentation της QT-Library και των KDE-Classes, ένα C/C++ Reference και +(φυσικά) το documentation του δικού μας project. Για να τα δούμε όλα αυτά βέβαια, πρέπει να έχουμε εγκαταστήσει και τα απαραίτητα αρχεία. Αντίστοιχα με όσα +είδαμε προηγουμένως, ένα κλικ σε κάποιο στοιχείο, μας μεταφέρει στο δεξί παράθυρο, στο στοιχείο αυτό. + +Το τμήμα αυτό ενεργοποιείται με τον συνδυασμό πλήκτρων *Ctrl-T* + +### [1.2 Το δεξί τμήμα]{#ss1.2} + +Το δεξί τμήμα έχει επίσης 4 ταμπέλες, με ονόματα Header/Resource Fles, C/C++ Files, Documentation-Browser και Tools. + +Ανάλογα με το τι έχουμε επιλέξει από το αριστερό παράθυρο, μεταφερόμαστε στο σχετικό τμήμα του δεξιού. Αν δηλαδή επιλέξουμε κάτι που πρέπει να μας στείλει σε +ένα header θα βρεθούμε στο Header/Resource File τμήμα, ενώ αν επιλέξουμε μία Function, θα βρεθούμε στο C/C++ Files τμήμα. Τα δύο αυτά τμήματα είναι editable, +ενώ το Documentation-Browser και το Tools είναι \"Read-Only\". Στο μεν Documentation-Browser βλέπουμε (όπως λέει και το όνομα) documentation, ενώ το Tools +φαίνεται να είναι ένα Virtual παράθυρο, στο οποίο ανοίγουν κάποια εξωτερικά προγράμματα (πιο πολλά για αυτό παρακάτω). + +Το τμήμα αυτό είναι πάντα ορατό και δεν μπορεί να απενεργοποιηθεί. + +### [1.3 Το κάτω τμήμα]{#ss1.3} + +Τέλος, το τρίτο μέρος (το κάτω), έχει τρεις ταμπέλες με ονόματα STDIN, STDERR και STDOUT. Όπως καταλαβαίνετε και από τα ονόματα, είναι η είσοδος, έξοδος και +error του προγράμματός μας (και από το λίγο που είδα, δεν κάνουν αυτόματο redirect αν το κάνουμε εμείς από το πρόγραμμα). + +Το τμήμα αυτό ενεργοποιείται με τον συνδυασμό πλήκτρων *Ctrl-G* + +### [1.4 Τα toolbars]{#ss1.4} + +Εξ ορισμού το Kdevelop ανοίγει με δύο toolbars, με το ένα να έχει τα κλασικά File Open, File Save, Open Project, Print File, Undo, Redo, Cut, Copy, Paste, και +τα πιο ειδικά, Compile file, Make, Rebuild, Debug, Run και Context-sensitive Help. Όλα αυτά παρέχονται για ευκολία, αφού οι ίδιες επιλογές (και περισσότερες +όπως θα περιμέναμε) παρέχονται στο menu-bar. + +Το δεύτερο toolbar είναι πιο ειδικό, αφού παρέχει μία αντίστοιχη λειτουργία με το Class Viewer του αριστερού τμήματος της οθόνης. + +### [1.5 Το menu bar]{#ss1.5} + +Στα menus θα βρούμε τις επιλογές για να καλέσουμε τον Application Wizard, να προσθέσουμε ένα νέο αρχείο στο project μας, να δημιουργήσουμε μία νέα class, επίσης +να \"τρέξουμε\" το autoconf, το configure ή να κάνουμε ένα απλό distclean, να δώσουμε execution arguments στο project μας, και τέλος να δημιουργήσουμε +documentation. Υπάρχουν βέβαια όσες λειτουργίες υπάρχουν και στο πρώτο toolbar που αναφέραμε παραπάνω, καθώς και τα search, goto-line, configure (kdevelop, +editor, printer, tools). + + +### [2. Λειτουργία - Ευκολίες.]{#s2} + +### [2.1 Application Wizard]{#ss2.1} + +Πρόκειται για ένα interactive tool, το οποίο μας επιτρέπει μέσα από 6 βήματα, να δημιουργήσουμε τον σκελετό για την εφαρμογή μας. Οι επιλογές είναι Full KDE +Application (με menu bar και toolbar), KDE mini-application (χωρίς menu bar και toolbar, μόνο τα βασικά Widgets του KDE για τη δημιουργία παραθυρικού +περιβάλλοντος), QT application (με menu bar και toolbar, φτιαγμένα από Widgets της QT) και τέλος C/C++ application (καθόλου παραθυρικό interface). + +Σε κάθε περίπτωση, ο Application Wizard δημιουργεί τη standard δομή αρχείων για την εφαρμογή μας, ένα main window αν πρόκειται για παραθυρική εφαρμογή, και +\"κανονίζει\" τα autoconf, automake κλπ ούτως ώστε μόλις η εφαρμογή μας είναι έτοιμη να μπορεί να γίνει ένα tar.gz όπως όλες οι εφαρμογές για KDE που βλέπουμε +και να μπορεί να διανεμηθεί. + +Δίνοντάς του τα στοιχεία μας (ονοματεπώνυμο, e-mail, όνομα εφαρμογής, version εφαρμογής), μπορεί επίσης να μας δημιουργήσει templates, με ένα κάποιο standard +κείμενο στην αρχή (το οποίο εμείς ορίζουμε), για τα sources και τα headers της εφαρμογής. + +Επίσης δημιουργεί κάποια τυπικά αρχεία τα οποία περιέχονται (ή πρέπει να περιέχονται) σε κάθε εφαρμογή, όπως το README, ένα .lsm αρχείο, ένα changelog, ένα todo +και ένα authors. Μόλις ο Application Wizard τελειώσει την δουλειά του, έχουμε και το Documentation του προγράμματός μας σχεδόν έτοιμο, εφόσον δημιουργεί και τον +κορμό για αυτό. + +### [2.2 Documentation]{#ss2.2} + +Σε περίπτωση που κατεβάσουμε το QT documentaion, τα KDE-libs και το c/c++ reference που υπάρχει στην σελίδα του Kdevelop, το Kdevelop τα βρίσκει (είτε αυτόματα, +ή με λίγη βοήθεια από εμάς και το configuration) και μας παρέχει τη δυνατότητα να έχουμε στα χέρια μας ένα πολύ ισχυρό εργαλείο, αφού έχουμε το documentation +μέσα στην ίδια την εφαρμογή. Αν δε δεν βαριόμαστε και κατεβάσουμε και το glimpse, φτάνουμε στο σημείο να έχουμε και ένα real-time searching του documentation +για λέξεις - κλειδιά, με την απλή επιλογή lookup που παρέχεται στο δεξί πλήκτρο του ποντικιού μας. Όλο το documentation είναι σε HTML format, με hyperlinks που +παραπέμπουν στις αντίστοιχες κλάσεις και functions. Η χρησιμότητα αυτού είναι βέβαια εμφανής, και θα πάψει να είναι τόσο χρήσιμο μόνο για όσους έχουν ένα βιβλίο +reference της QT. + +### [2.3 Tools]{#ss2.3} + +Το Kdevelop συνεργάζεται άψογα με τα Kdbg, Kiconedit, Kdialog και Κdoc, σε περίπτωση βέβαια που τα έχουμε στον υπολογιστή μας εγκατεστημένα. Όλα αυτά τα +εργαλεία μπορούν να κληθούν από το menu-bar, αφού πρώτα οριστούν από ένα Tools-configuration menu-item, και εφόσον κληθούν εκτελούνται στο τμήμα Tools του +δεξιού παραθύρου της εφαρμογής. Το Kdbg που το δοκίμασα εκτενώς με ικανοποίησε απόλυτα, και σε ότι αφορά τις debugging λειτουργίες του (front-end για το gdb) +αλλά και σε ότι αφορά το integration με το Kdevelop. Δοκίμασα επίσης το Kdialog, το οποίο είναι ο \"visual dialog editor\" για το KDE. Δεν ξέρω αν έκανα εγώ +κάποιο λάθος (αρκετά πιθανό) αλλά το Kdialog μου φάνηκε \"λίγο\" για dialog editor. Οι επιλογές του είναι πολύ λίγες (δηλαδή τα widgets που παρέχει), αλλά πολύ +promising. Έχει μόλις 7 QΤ-widgets, αλλά έχει property editor, και auto-generation του source code. Αν θυμηθούμε βέβαια ότι το Kdevelop είναι ακόμα σε Alpha +έκδοση, και το KDialog παρέχεται μόνο στα snapshots (και όχι στην alpha-release) τα παραπάνω φαίνονται λίγο - πολύ λογικά. + + +### [3. Visual]{#s3} + +Όχι, το KDevelop δεν είναι visual IDE, τουλάχιστον όχι όπως το έμαθα εγώ με την Visual Basic 1.0 του 1992 (το μόνο Visual κάτι που έχω δουλέψει, άρα το μόνο με +το οποίο μπορώ να συγκρίνω). Αν περιμένετε drag and drop δημιουργία dialogs, θα χρειαστεί να περιμένετε μέχρι τουλάχιστον μία beta έκδοση. Από την άλλη μεριά, +για πολύ \"μπερδεμένα\" dialogs μπορείτε να χρησιμοποιήσετε το QTarchitect, και για πολύ απλά, η QT είναι τόσο εύκολη, που μπορείτε να τα φτιάξετε με το +χέρι\... + + +### [4. Τι λείπει\...]{#s4} + +Η μόνη σοβαρή παράλειξη που βρήκα, ήταν ένα CVS τύπου σύστημα, ενσωματωμένο μέσα στο Kdevelop. Πιστεύω ότι σε μετέπειτα εκδόσεις αυτό θα είναι διαθέσιμο, μια +που είναι πολύ σημαντικό εργαλείο για όποιον γράφει κώδικα. + + +### [5. Επίλογος]{#s5} + +Το 1992 δοκίμασα την τότε Visual Basic έκδοση 1.0 Αν και ήξερα δυο τρία πράγματα από Basic, πρέπει να παραδεχτώ ότι είχα χάσει τον μπούσουλα. Ναι μεν έγραφα +προγράμματα, ναι μεν εγώ (νόμιζα ότι) έγραφα τον κώδικα, αλλά και για την παραμικρή αλλαγή έπρεπε να ανοίξω την Visual Basic γιατί δεν καταλάβαινα τι και από +που έπρεπε να το πειράξω\... Με λίγα λόγια, μη γνωρίζοντας όσα έπρεπε για προγραμματισμό, κατάφερα να γράψω έναν file-manager!!! Έτσι, ποτέ δεν ήμουνα υπέρ των +\"Visual κάτι\", γιατί πίστευα ότι \"χαλάνε\" την πιάτσα (και τους μισθούς) των προγραμματιστών (όχι, εγώ ΔΕΝ είμαι προγραμματιστής), δίνοντας την δυνατότητα +στον κάθε άσχετο (όπως εγώ τότε) να φτιάξει κάτι. Αυτό όμως που παρέχει το Kdevelop το εκτίμησα, επειδή απλά μου γλύτωσε 2-3 ώρες που θα έπρεπε να φάω, για να +φτιάξω τα standard αρχεία, τα templates κλπ. Μου \"οργάνωσε\" την δουλειά μου, κάτι πολύ χρήσιμο, τουλάχιστον για μένα!!! Επίσης, μου έδωσε τη δυνατότητα να +μπορώ να ανατρέξω στο documentation της QT εύκολα και γρήγορα, απαιτώντας από εκεί και πέρα από εμένα, να καταλάβω τι είναι αυτά που διαβάζω\... Με λίγα λόγια, +το Kdevelop είναι για προγραμματιστές, ή για όσους σκαμπάζουν δυο-τρία πράγματα. ΔΕΝ είναι για να το πιάσει ένα παιδάκι και να \"γράψει\" μία εφαρμογή. Αν και +πιστεύω ότι στις τελικές εκδόσεις θα φτάσει να είναι ένα τέτοιο πράγμα, (επαναλαμβάνω, δυστυχώς κατ\' εμέ), πάλι θα είναι ένα ισχυρότατο εργαλείο για +προγραμματιστές. Το προτείνω ανεπιφύλακτα στους απανταχού KDE-QT προγραμματιστές, με όσο βάρος μπορεί να έχει η γνώμη ενός hobbίστα προγραμματιστή. + diff --git a/content/articles/15/02_5oTEE.md b/content/articles/15/02_5oTEE.md new file mode 100644 index 0000000..de6facb --- /dev/null +++ b/content/articles/15/02_5oTEE.md @@ -0,0 +1,138 @@ ++++ +title = 'Linux σε σχολεία' +date = '1999-04-01T00:00:00Z' +description = '' +author = 'Βούλα Σανιδά(mailto:voulariba@hellug.gr)' +issue = ['Magaz 15'] +issue_weight = 2 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Πρόκειται για μια προσπάθεια που έγινε τον Απρίλιο του 1999 από μερικούς linuxάδες να εγκαταστήσουν Linux σε δημόσιο σχολείο με σκοπό να γνωρίσουν οι μαθητές +αυτό το λειτουργικό, το οποίο θεωρούμε ότι είναι το πιο κατάλληλο για εκπαιδευτικούς σκοπούς.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Εισαγωγή** +--------------------------------------- + +**2. Το 5ο ΤΕΕ** +---------------------------------------- + +**3. Συμπεράσματα** +------------------------------------------- + +**4. Υπότιτλοι** +---------------------------------------- + +- [4.1 Το εργαστήριο του σχολείου :](#ss4.1) +- [4.2 Linuxαδες (Μέλη HELLUG και καθηγητές του σχολείου) :](#ss4.2) +- [4.3 Κάποιοι τολμηροί νεοφώτιστοι του 5ου ΤΕΕ:](#ss4.3) + + +### [1. Εισαγωγή]{#s1} + +Τα Τεχνικά Επαγγελματικά Εκπαιδευτήρια (ΤΕΕ) Πληροφορικής, καλύπτουν μέσω των μαθημάτων τους και τομείς όπως : + +- Λειτουργικά Συστήματα (Unix, DOS, Σηματοφορείς, processes, έννοιες περί multi-user, multitasking κλπ) +- Δίκτυα Υπολογιστών +- Internet (ftp, mail, telnet, proxy, firewall, HTML κλπ) +- Γλώσσες (Cobol, Pascal, Basic) +- Εργαστηριακή πρακτική σε όλα τα παραπάνω +- Ανάγκη για σύνδεση με το Internet για εξάσκηση και εξοικείωση των μαθητών. + +Οπως είναι φυσικό, δεδομένου πως τα κονδύλια για τέτοιου τύπου εξοπλισμό είναι ελάχιστα έως και ανύπαρκτα, τα σχολεία υπολειτουργούν και ακόμα και αυτό +θεωρείται επιτυχία των διδασκόντων και του συλλόγου γονέων και κηδεμόνων. Μερικά μαθήματα γίνονται μόνο θεωρητικά ή και καθόλου. + +Για να μπορέσει το σχολείο να αντεπεξέλθει στις απαιτήσεις των μαθημάτων θα πρέπει να επιλέξει γενικά μεταξύ δύο στρατηγικών: + +Κλέβουμε μερικά Windows licenses, NT licenses, ζητάμε από τον Σύλλογο Γονέων και Κηδεμόνων, Δήμο κλπ 300.000 το κεφάλι για αναβάθμιση των PCs ώστε να τρέχουν +Win95 και NT και Visual C++ και Word, Excel, Ppoint και proxy και firewall και Exchange Server και FrontPage και ξεχνάμε έννοιες όπως το telnet, processes. +Πετάμε επίσης παλιά PCs 8086,286, με μια δισκέτα ή δύο που αποτελεί σημαντικό μέρος του εξοπλισμού ενός σχολείου, μια που δεν μπορούμε πια να τον +εκμεταλλευτούμε. Ζητιανεύουμε από εταιρείες να μας \*κάνουν μια τιμή\*, να μας δώσουν τίποτα παλιά τους μηχανήματα, κουτσουρεύουμε και τα μαθήματα, λέμε σε +κανένα μαθητή αν έχει τίποτα κλεψιμαίικα προγραμματάκια \... + +Εξετάζουμε την λύση Linux. Εκμεταλλευόμαστε ότι μηχάνημα υπάρχει, καλύπτουμε όλα τα παραπάνω μαθήματα σε όποιο επίπεδο θέλουμε, βάζουμε επιλεκτικά γραφικά σε +όσα αντέχουν, υποστηρίζουμε Internet για όσα και όποια παιδιά θέλουμε μέσω απλής dial up συνδρομής. Δεν παρακαλούμε, δεν κλέβουμε. Τα ίδια τα παιδιά έχουν μια +ευκαιρία να πειραματιστούν, να μάθουν κάτι ουσιαστικότερο. Η διαχείριση των Η/Υ είναι απλούστερη, μια που δεν αναγκάζονται οι καθηγητές να στήνουν ΚΑΘΕ ΜΕΡΑ όλα +τα PCs που κάποιος μαθητής έσβησε ηθελημένα ή μη. Τα παιδιά που σκοπός είναι να αποφοιτήσουν σαν power users των Η/Υ, γνωρίζουν τις εναλλακτικές λύσεις, τις +διάφορες πλατφόρμες αποκτώντας σφαιρικότερη αντίληψη του χώρου της Πληροφορικής και παύουν να θεωρούν πως Πληροφορική είναι η αποκλειστική ενασχόληση με τον +συνδετήρα του Word. + +Φυσικά, μια τέτοια λύση, όσο ιδανική και να φαίνεται δεν είναι άμεσα εφαρμόσιμη, μια που προϋποθέτει προσωπική ενασχόληση των καθηγητών, αλλαγή πολλών μαθημάτων +(προς το ουσιαστικότερο), \*ταλαιπωρία\* τουλάχιστον στην αρχή, για τους μαθητές, χρόνος για installations, configurations κλπ. Συνεπώς η προσπάθεια αρχικά θα +πρέπει να επικεντρώνεται στην γνωριμία με το Linux, την απενοχοποίησή του (από καθηγητές και μαθητές), στην χρήση του σε τομείς που μέχρι τώρα δεν μπορούσαν να +καλυφθούν καθόλου (λόγω αδυναμίας λοιπών λύσεων, εξοπλισμού) και που δεν υπάρχει εναλλακτική λύση άλλου τύπου και, αν αυτό είναι δυνατό, στην παρότρυνση των +μαθητών να πειραματιστούν σπίτι τους μεταξύ των ατελείωτων ωρών που χάνουν με Lara, Quake (εγκατάσταση Quake Server στο σχολείο έρχεται σε πολύ προχωρημένο +στάδιο) + + +### [2. Το 5ο ΤΕΕ]{#s2} + +Εδώ τα πράγματα ήταν σχετικά έτοιμα μια που το έδαφος είχε προετοιμαστεί κατάλληλα. Το σχολείο Linuxοκρατείται από άποψη καθηγητών (δύο μέλη HELLUG, ένας τρίτος +Linux user και ιδιαίτερα Linux friendly) που είχαν φροντίσει να κάνουν την (γνωστή σε όλους) ιδιαίτερα επίμονη, ψυχοκαταναγκαστική, πλύση εγκεφάλου περί Linux +στους μαθητές. + +Ετσι, μερικά από τα παιδιά του 5ου ΤΕΛ Χαλανδρίου αποφάσισαν **\"εθελοντικά\"** να κουβαλήσουν Σαββατιάτικα τα PCs τους μέσα στην βροχή, στο σχολείο, στον χώρο +του εργαστηρίου Πληροφορικής. Σκοπός ήταν η γνωριμία με το Linux. Το εργαστήριο προσέφερε την αναγκαία υλικοτεχνική υποδομή (πάγκους, ρεύμα, οθόνες, καφές, +πληκτρολόγια, θέρμανση(???) κλπ). + +Από πλευράς μας υπήρχαν 5 Linuxαδες για να βοηθήσουμε στο στήσιμο των Η/Υ επιστρατεύοντας γνώσεις, όρεξη και τα Linux CDs μας. + +Σημείωση: Στο σχολείο έχει ήδη εγκατασταθεί στον κεντρικό server, ένα ακόμα Linux για την υποστήριξη του μαθήματος Internet (σύνδεση και παροχή WWW σελίδων μέσω +του proxy), Δικτύων (telnet, ftp κλπ), Unix (σε περίπτωση που επεκταθεί και σε αυτό το εργαστήριο, μια που το εργαστηριακό μάθημα καλύπτεται σε άλλο εργαστήριο +με -προς το παρόν- SCO). + + +### [3. Συμπεράσματα]{#s3} + +- Ηταν μια καλή περίπτωση για εμάς να μαζευτούμε, να πιούμε έναν καφέ, να στήσουμε μερικά Linuxια και μετά να πάμε για φαγητό. Δηλαδή μια πλήρης μέρα. +- Δεν ξέρουμε πραγματικά τι θα κάνουν με το Linux, αλλά ελπίζουμε να εθιστούν σε αυτό. Στην καλύτερη περίπτωση θα το κρατήσουν και θα ασχοληθούν + συστηματικότερα με αυτό, σε μια μέση περίπτωση θα παίξουν λίγο και θα ευνοηθούν μόνο από πλευράς ευχέρειας σε κάποια μαθήματα, στην χειρότερη θα το + ξεστήσουν αμέσως. Πάντως σίγουρα μάθανε πως υπάρχει μια εναλλακτική λύση. +- Είχαμε συμμετοχή 2 κοριτσιών και μιας μαμάς (ανησυχητικό μια που καταρρέει και ένα από τα τελευταία ανδρικά προπύργια). +- Σαν προκαταρκτικό στάδιο μιας μελλοντικής εκδήλωσης ήταν πολύ χρήσιμο από πλευράς εμπειρίας και συμπερασμάτων. Η οργάνωση ενός installation fest μεγαλύτερης + κλίμακας θέλει ΜΕΓΑΛΗ προετοιμασία (ήδη στα 10 PCs οι πόροι μας σε αριθμό Linux CDs, τελευταίων εκδόσεων X, KDE, gnome, StarOffice κλπ ίσα που μας κάλυψαν + οριακά). +- Η προσπάθεια ήταν πραγματικά εντυπωσιακή μια που δείχνει ότι πολλές φορές τα παιδιά με την κατάλληλη παρότρυνση θέλουν να δοκιμάζουν νέα πράγματα καθώς και + γιατί δημόσια σχολεία με χαμηλό budget και τεχνογνωσία μπορούν να πρωτοπορούν αν υπάρχει θέληση και όρεξη. Ελπίζουμε να βρεθούν μιμητές τόσο από αυτό το + σχολείο και να το επαναλάβουμε, όσο και από άλλα. +- Ελπίζουμε επίσης, ο σύλλογος `HELLUG` να αναλάβει επίσημα δράση στον τομέα αυτό, γιατί εκτός από την τρομακτική εξοικονόμηση κονδυλιών (που τα σχολεία δεν + διαθέτουν) που εξασφαλίζει η δωρεάν φύση του Linux, είναι και το πλέον κατάλληλο Λ.Σ. για εκπαιδευτικούς σκοπούς (Unix, Internet, Γλώσσες, Δίκτυα). + + +### [4. Υπότιτλοι]{#s4} + +Οπως σε όλες τις μεγάλες παραγωγές, ακολουθεί trailer με τα ονόματα των συμμετεχόντων, φωτογραφίες από τα παρασκήνια, και όλες αυτές οι μικρές συλλεκτικές +πληροφορίες. + +### [4.1 Το εργαστήριο του σχολείου :]{#ss4.1} + +![](/15/img/ergastirio.jpg) + +### [4.2 Linuxαδες (Μέλη HELLUG και καθηγητές του σχολείου) :]{#ss4.2} + + ------------------------------- ------------------------------- -------------------------------- ------------------------------- ------------------------------- + \ ![](/15/img/evris_sm.jpg) ![](/15/img/papaioannou_sm.jpg) ![](/15/img/kabrianis_sm.jpg) ![](/15/img/panos_sm.jpg) + ![](/15/img/voula_sm.jpg) + + [Βούλα Σανιδά](/15/img/voula.jpg) [Παπακώστας [Παπαϊωάννου [Καμπριάνης [Παναγιώτης + Ευριπίδης](/15/img/evris.jpg) Δημήτρης](/15/img/papaioannou.jpg) Μιχάλης](/15/img/kabrianis.jpg) Βρυώνης](/15/img/panos.jpg) + ------------------------------- ------------------------------- -------------------------------- ------------------------------- ------------------------------- + +### [4.3 Κάποιοι τολμηροί νεοφώτιστοι του 5ου ΤΕΕ:]{#ss4.3} + + ------------------------------- ------------------------------- ------------------------------- -------------------------------- ------------------------------- + \ ![](/15/img/karla_sm.jpg) ![](/15/img/mama_sm.jpg) ![](/15/img/stavroulakis_sm.jpg) ![](/15/img/pavloudis_sm.jpg) + ![](/15/img/tsiounis_sm.jpg) + + [Τσιούνης (και καθηγητής [Kάρλα Γεωργία](/15/img/karla.jpg) [Mαμά Κάρλας](/15/img/mama.jpg) [Σταυρουλάκης [Παυλούδης + του)](/15/img/tsiounis.jpg) Γιώργος](/15/img/stavroulakis.jpg) Γιώργος](/15/img/pavloudis.jpg) + + ![](/15/img/xristina_sm.jpg) ![](/15/img/martinos_sm.jpg) ![](/15/img/arvanitidis_sm.jpg) ![](/15/img/prothimos_sm.jpg) ![](/15/img/some1_sm.jpg) + + [Σείχ Ουιντάτ [Μαρτίνος [Αρβανιτίδης [Προσοχή τι γράφει η [Μερικοί](/15/img/some1.jpg) + Χριστίνα](/15/img/xristina.jpg) Αλέξανδρος](/15/img/martinos.jpg) Φώτης](/15/img/arvanitidis.jpg) καρέκλα](/15/img/prothimos.jpg) + ------------------------------- ------------------------------- ------------------------------- -------------------------------- ------------------------------- + diff --git a/content/articles/15/03_digital2000.md b/content/articles/15/03_digital2000.md new file mode 100644 index 0000000..57a58cb --- /dev/null +++ b/content/articles/15/03_digital2000.md @@ -0,0 +1,839 @@ ++++ +title = 'ΕΞΕΛΙΞΗ PRO-2000' +date = '1999-04-01T00:00:00Z' +description = '' +author = 'DIGITAL SYSTEMS LTD(mailto:dsm2000@usa.net)' +issue = ['Magaz 15'] +issue_weight = 3 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Παρουσίαση του εμπορικού προγράμματος ΕΞΕΛΙΞΗ PRO-2000 της DIGITAL SYSTEMS LTD* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**ΠΡΟΓΡΑΜΜΑΤΑ DIGITAL SYSTEMS** + +**Εμπορικό πρόγραμμα\ +ΕΞΕΛΙΞΗ ΕΜΠΟΡΙΟ (Βασικό πακέτο)** + +Πλήρες εμπορικό πρόγραμμα της DIGITAL SYSTEMS που περιλαμβάνει: Διαχείριση Πελατών, Παραγγελίες και Παραστατικά Πωλήσεων, Αξιόγραφα Πελατών, Στατιστικά +Πωλήσεων, Διαχείριση Προμηθευτών, Παραγγελίες και Παραστατικά Προμηθευτών, Αξιόγραφα Προμηθευτών, Εμπορικές Αποθήκες, Report Generation, Γενικά και Βοηθητικά +Προγράμματα. + +**Βιομηχανικό πρόγραμμα\ +ΕΞΕΛΙΞΗ ΒΙΟΜΗΧΑΝΙΑ (Βασικό πακέτο)** + +Πλήρες βιομηχανικό πρόγραμμα της DIGITAL SYSTEMS που περιλαμβάνει: Διαχείριση Πελατών, Παραγγελίες και Παραστατικά Πωλήσεων, Αξιόγραφα Πελατών, Στατιστικά +Πωλήσεων, Διαχείριση Προμηθευτών, Παραγγελίες και Παραστατικά Προμηθευτών, Αξιόγραφα Προμηθευτών, Εμπορικές, Αναλυτικές και Συγκεντρωτικές Αποθήκες, Report +Generation, Γενικά και Βοηθητικά Προγράμματα. + +**Λογιστικό Πρόγραμμα\ +ΕΞΕΛΙΞΗ Λογιστική** + +Πλήρες λογιστικό πρόγραμμα της DIGITAL SYSTEMS που περιλαμβάνει: Γενική Λογιστική, Κατάσταση Φ.Π.Α, Ισολογισμός, Report Generation. + +**Αναλυτική Λογιστική\ +ΕΞΕΛΙΞΗ Αναλυτική Λογιστική** + +Βιομηχανικό πρόγραμμα διαχείρισης της ομάδας 9 του λογιστικού σχεδίου, της DIGITAL SYSTEMS που περιλαμβάνει: Αναλυτική Λογιστική, Διαχείριση Παγίων, Ειδικά +Προγράμματα, Report Generation. + +**Μισθοδοσία ΕΞΕΛΙΞΗ\ +Αυτόματη Μισθοδοσία** + +Πλήρες πρόγραμμα μισθοδοσίας της DIGITAL SYSTEMS που περιλαμβάνει: Μισθοδοσία, Διαχείριση Προσωπικού, Μηχανογραφικό Ι.Κ.Α., Report Generation. + +**Στατιστικά και Γραφήματα\ +DS Graphs Plus** + +Πρόγραμμα της DIGITAL SYSTEMS που περιλαμβάνει: Στατιστικά-Γραφήματα Λογαριασμών Γενικής Λογιστικής, Ειδών Αποθήκης και Παραστατικών Πωλήσεων, Γενικά +Προγράμματα, Συνθηματικά. + +**Χρηματοοικονομικό Πρόγραμμα\ +DS Cash Flow** + +Εύκολη αλλά ουσιαστική διαχείριση οικονομικών. Προβλέπει τα διαθέσιμά σας και σας προειδοποιεί πότε και ποιες δοσοληψίες πρέπει να γίνουν. Προαιρετική σύνδεση +με εμπορικά προγράμματα. + +**Τουριστικό Πρόγραμμα\ +DS Travel** + +Τουριστικό Πρόγραμμα για ταξιδιωτικά γραφεία, εισερχόμενου και εξερχόμενου τουρισμού\ +Διαχειρίζεται εύκολα τις προσφορές που δημιουργούν τα τουριστικά γραφεία και τις υπηρεσίες που τους παρέχουν οι προμηθευτές τους + +**ΤΕΧΝΙΚΕΣ ΠΡΟΔΙΑΓΡΑΦΕΣ ΕΞΕΛΙΞΗ PRO** + +**1. Το πρόγραμμα:** +-------------------------------------------------- + +**2. Πωλήσεις** +--------------------------------------------- + +- [2.1 ΠΕΛΑΤΕΣ](#ss2.1) +- [2.2 ΠΑΡΑΓΓΕΛΙΟΛΗΨΙΑ (ΧΟΝΔΡΙΚΗ - ΛΙΑΝΙΚΗ) ΠΑΡΑΣΤΑΤΙΚΑ](#ss2.2) +- [2.3 ΔΙΑΧΕΙΡΙΣΗ ΑΞΙΟΓΡΑΦΩΝ](#ss2.3) +- [2.4 ΣΤΑΤΙΣΤΙΚΗ ΠΩΛΗΣΕΩΝ](#ss2.4) +- [2.5 ΑΛΛΗΛΟΓΡΑΦΙΑ ΠΕΛΑΤΩΝ](#ss2.5) + +**3. Αγορές** +------------------------------------------- + +- [3.1 ΠΡΟΜΗΘΕΥΤΕΣ](#ss3.1) +- [3.2 ΠΑΡΑΓΓΕΛΙΟΔΟΣΙΑ - ΠΑΡΑΣΤΑΤΙΚΑ](#ss3.2) + +**4. Αποθήκες** +--------------------------------------------- + +- [4.1 ΔΙΑΧΕΙΡΙΣΗ ΑΠΟΘΗΚΩΝ](#ss4.1) +- [4.2 ΣΥΓΚΕΝΤΡΩΤΙΚΕΣ ΑΠΟΘΗΚΕΣ](#ss4.2) +- [4.3 ΠΑΡΑΓΩΓΗ](#ss4.3) +- [4.4 ΑΠΟΓΡΑΦΗ](#ss4.4) + +**5. Μισθοδοσία και Προσωπικό** +------------------------------------------------------------- + +- [5.1 ΜΙΣΘΟΔΟΣΙΑ](#ss5.1) +- [5.2 ΜΗΧΑΝΟΓΡΑΦΙΚΟ ΙΚΑ](#ss5.2) +- [5.3 ΔΙΑΧΕΙΡΙΣΗ ΠΡΟΣΩΠΙΚΟΥ](#ss5.3) +- [5.4 ΕΞΟΜΕΙΩΤΕΣ ΜΗΧΑΝΗΜΑΤΩΝ ΩΡΟΜΕΤΡΗΣΗΣ](#ss5.4) + +**6. Λογιστική** +---------------------------------------------- + +- [6.1 ΓΕΝΙΚΗ ΛΟΓΙΣΤΙΚΗ](#ss6.1) +- [6.2 ΛΟΓΙΣΤΙΚΗ ΕΣΟΔΩΝ-ΕΞΟΔΩΝ](#ss6.2) +- [6.3 ΔΙΑΧΕΙΡΙΣΗ ΠΑΓΙΩΝ](#ss6.3) +- [6.4 ΑΝΑΛΥΤΙΚΗ ΛΟΓΙΣΤΙΚΗ](#ss6.4) + +**7. Γενικά** +------------------------------------------- + +- [7.1 ΣΥΝΘΗΜΑΤΙΚΑ](#ss7.1) +- [7.2 ΕΜΠΟΡΙΚΗ ΑΛΛΗΛΟΓΡΑΦΙΑ](#ss7.2) +- [7.3 ΔΙΑΧΕΙΡΙΣΤΗΣ ΚΑΤΑΣΤΑΣΕΩΝ](#ss7.3) +- [7.4 DS Travel](#ss7.4) +- [7.5 DS Cash Flow](#ss7.5) +- [7.6 DS Ασφάλειες - Πραγματογνωμοσύνες](#ss7.6) + +**8. Ενδεικτικές Τιμές** +------------------------------------------------------ + +**9. Επικοινωνία** +------------------------------------------------ + + +### [1. Το πρόγραμμα:]{#s1} + +1. Διαχειρίζεται πολλαπλές εταιρίες, αποθήκες, λογιστικά σχέδια, νομίσματα, φόρους, λειτουργεί σε πολλά λειτουργικά συστήματα, σε πολλαπλές οθόνες, εκτυπωτές, + με πολλαπλές δικλείδες ασφάλειας και είναι σχεδιασμένο για να χρησιμοποιείται από πολλούς χρήστες. +2. Διαχειρίζεται μέχρι εικοσιτέσσερις (24) λογιστικές χρήσεις (δύο ταυτόχρονες). +3. Είναι απλούστατο στη χρήση παρά το μέγεθός του (Ο χειρισμός του γίνεται μόνο από οκτώ πλήκτρα και κάθε φορά φαίνονται μόνο τα κατάλληλα) +4. Αποτελείται από ανεξάρτητα και συνεργαζόμενα συστήματα προγραμμάτων (έτσι μπορείτε να ξεκινήσετε με τα απολύτως απαραίτητα). +5. Προφυλάσσει από λάθη με πολλαπλές δικλείδες ασφάλειας (συνθηματικά χρηστών) και αυτόματους ελέγχους λαθών. +6. Είναι on line - real time. +7. Λειτουργεί σε διαφορετικά λειτουργικά συστήματα χωρίς να απαιτείται η γνώση τους από τους χειριστές του Η/Υ, γιατί εμπεριέχει εντολές του εκάστοτε + λειτουργικού στα Ελληνικά. +8. Ορίζει αυτόματα τα αρχεία που απαιτούνται και τα φροντίζει μόνο του. +9. Αξιοποιεί πλήρως τις δυνατότητες του υπολογιστή σας και έτσι δεν χρειάζεται να σπαταλήσετε μια περιουσία σε hardware. +10. Ο σχεδιασμός των εντύπων των παραστατικών σας είναι παραμετρικός και έτσι μπορείτε να τυπώσετε σε πολλά και διαφορετικά έντυπα (ακόμα και σε εκείνα του + προηγούμενου προγράμματός σας). +11. Αναγνωρίζει αυτόματα οποιαδήποτε οθόνη και εκτυπωτή (χρώματα, μεγέθη κλπ). +12. Προεκτυπώνει στην οθόνη ή τυπώνει, σε εκτυπωτή της αρεσκείας σας. +13. Έχει συμπληρωματικές κωδικοποιήσεις για εύκολη και γρήγορη αναζήτηση πληροφοριών, μέσω ειδικών \"παραθύρων\" βοήθειας (help windows). +14. Συνεργάζεται και με άλλα δημοφιλή προγράμματα μέσω σταθερών προδιαγραφών (ASCII). +15. Απόλυτα σύμφωνο με τον νέο ΚΒΣ. +16. Μεταφέρει αρχεία μεταξύ λειτουργικών συστημάτων UNIX σε WINDOWS. +17. Αποστέλλει με FAX όλες τις εκτυπώσεις σας. +18. Προσφέρει ενσωματωμένα συστήματα Αλληλογραφίας (Μελλοντικών πελατών, Επιστολογράφος, Ετικετογράφος) και ανά σύστημα Διαχειριστή καταστάσεων (Report Handler) + για εκτύπωση ή επίδειξη καταστάσεων δικών σας επιλογών. +19. Ενημερώνεται και εξελίσσεται συνεχώς από τους άριστους τεχνικούς επιστήμονες της Digital Systems. +20. Κατάλληλο για διαφορετικές επιχειρήσεις, επιπλέον ΕΠΙΔΕΧΕΤΑΙ αλλαγές για να έρθει 100% στα μέτρα της δικής σας επιχείρησης. +21. Διαθέτει οδηγό χειρισμού (User\'s Guide) και επιπλέον την εγγύηση της Digital Systems. + + +### [2. Πωλήσεις]{#s2} + +### [2.1 ΠΕΛΑΤΕΣ]{#ss2.1} + +Το σύστημα αυτό σχεδιάστηκε για να διαχειριστεί λογιστικά και όχι μόνο, τους πελάτες μιας επιχείρησης. + +**Βασικές δυνατότητες του είναι:** + +: - Διαχειρίζεται τους πελάτες μιας ή περισσοτέρων εταιριών. + - Κωδικός πελάτη με 4 ψηφία και συμπληρωματικά έως και 10 κωδικούς αναζήτησης. + - Τήρηση πλήθους στοιχείων κάθε πελάτη π.χ. Επωνυμίες, Α.Φ.Μ, Διευθύνσεις, τηλέφωνα, fax, πλήρη στοιχεία υποκαταστημάτων, σχόλια με δυνατότητα να τυπωθούν + στα παραστατικά κλπ. + - Αναζήτηση πελάτη ή πελατών με κωδικούς, επωνυμίες, ή ομαδοποιήσεις με ταυτόχρονη εμφάνιση ισοζυγίου επιλεγμένων. + - Δυνατότητα παγώματος και επαναφοράς καρτέλας. + - Δυνατότητα παραμετρικού ορισμού των κινήσεων των πελατών και καθορισμού της τιμολογιακής πολιτικής. + - Ισοζύγια αναλυτικά και συνοπτικά, με πολλαπλές αναζητήσεις σε οποιεσδήποτε χρονικές περιόδους, με δυνατότητα εξαίρεσης πελατών με μηδενικό υπόλοιπο. + - Ημερολόγια κίνησης σε οποιαδήποτε χρονική περίοδο. + - Αυτόματη αντιστοίχηση χρεώσεων πιστώσεων (open item) με κινητή ημερομηνία αναφοράς, που ορίζει ο χρήστης. + - Τήρηση υποκαταστημάτων με ξεχωριστές ή μη καρτέλες. + - Αναλυτικά καθολικά με πολλαπλές αναζητήσεις σε οποιεσδήποτε χρονικές περιόδους, με δυνατότητα εξαίρεσης πελατών χωρίς κίνηση. + - Αναλυτικό καθολικό open item με πολλαπλές αναζητήσεις με δυνατότητα εξαίρεσης πελατών χωρίς κίνηση. + - Ενηλικίωση υπόλοιπου σε μεταβλητές χρονικές περιόδους με όλα τα ανοικτά τιμολόγια, τις άληκτες συναλλαγματικές και τις μεταχρονολογημένες επιταγές. + - Χρηματοδότηση πελατών και τοκισμός υπόλοιπου με πλήθος κριτηρίων σε οποιεσδήποτε χρονικές περιόδους. + +**Ακόμα :** + +: - Παράλληλη χρήση δύο ετών. + - Επίδειξη αναλυτικά των παραστατικών ενώ βλέπετε την καρτέλα πελάτη. + - Στατιστική πωλήσεων διάφορων χρονικών περιόδων με πλήθος κριτηρίων επιλογής. + - Απόλυτα σύμφωνο με τον νέο Κ.Β.Σ. + - Αυτόματη αναγνώριση, σύνδεση και ενημέρωση με άλλα συστήματα π.χ. Αξιόγραφα, Γενική Λογιστική, Στατιστική Πωλήσεων, Αλληλογραφία. + - Ενσωματωμένος πανίσχυρος επεξεργαστής καταστάσεων (report handler) για να δημιουργήσετε οποιαδήποτε κατάσταση δεν αναφέραμε. + +**'λλες διαθέσιμες πληροφορίες :** + +: - Τρέχον υπόλοιπο, Χρεώσεις Πιστώσεις σε περιόδους ή προοδευτικά, Πωλήσεις, Κόστος Πωληθέντων, Προμήθειες, Μικτό κέρδος πωληθέντων σε χρονικές περιόδους. + - Χρεώσεις - πιστώσεις - υπόλοιπα απογραφής, μήνα, έτους, προοδευτικά. + - Τελευταίες ημερομηνίες πώλησης και πληρωμής + - Επιστροφές - εκπτώσεις κλπ. + +### [2.2 ΠΑΡΑΓΓΕΛΙΟΛΗΨΙΑ (ΧΟΝΔΡΙΚΗ - ΛΙΑΝΙΚΗ) ΠΑΡΑΣΤΑΤΙΚΑ]{#ss2.2} + +Το σύστημα αυτό σχεδιάστηκε για να διαχειριστεί γρήγορα, εύκολα και φιλικά την παρακολούθηση των παραγγελιών, την έκδοση μηχανογραφημένων παραστατικών και την +εύκολη καταχώρηση χειρόγραφων παραστατικών. + +**Βασικές δυνατότητες του συστήματος είναι:** + +: - Εύκολη διαχείριση παραγγελιών και έκδοση οποιουδήποτε παραστατικού. π.χ. Τιμολόγιο, Δελτίο Αποστολής, Παραγγελία, Αποδείξεις Λιανικής, Προτιμολόγιο, + Προσφορά κλπ. + - Αυτόματος μετασχηματισμός μιας ή περισσότερων παραγγελιών σε οποιοδήποτε παραστατικό. + - Δυνατότητα Τιμολόγησης κατά την λήψη της παραγγελίας ή αργότερα. + - Επιπλέον συγκέντρωση παραστατικών, π.χ. Δελτίων Αποστολής σε ένα Τιμολόγιο, με σύγχρονη αναπροσαρμογή των τιμών και του ορίου πίστωσης. + - Μαζική ή ομαδική εκτύπωση παραστατικών με κριτήρια δρομολόγησης και με επί πλέον δυνατότητα από Δελτία Αποστολής εκτύπωσης Τιμολογίων ή Δελτίων Λιανικής + Πώλησης κ.τ.λ. + - Δυνατότητα εισαγωγής χειρόγραφων παραστατικών με σύγχρονη επέμβαση στις αξίες. + - Δυνατότητα επιλογής της εκπτωτικής πολιτικής σας μεταξύ των έξι διαφορετικών τιμών είδους, της κλιμάκωσης τιμών και εκπτώσεων βάσει ποσοτήτων κατηγορίας + πελάτη και κατηγορίας είδους και της έκπτωσης (δραχμικής ή ποσοστιαίας) τη στιγμή της τιμολόγησης. + - Δυνατότητα αυτόματης καταχώρησης απόδειξης είσπραξης στην καρτέλα του πελάτη. + - Διαρκής παρακολούθηση του ορίου πίστωσης και του υπόλοιπου του πελάτη τη στιγμή της τιμολόγησης. + - Σκοπός διακίνησης, τόπος αποστολής, τόπος παράδοσης. + - Διαχείριση υποκαταστημάτων με πλήρη στοιχεία, εναλλακτική διεύθυνση παράδοσης. + - Επίδειξη χονδρικής τιμής και μικτού κέρδους ανά είδος, την στιγμή καταχώρησης της παραγγελίας. + - Αυτόματη προειδοποίηση σε περίπτωση που οι διαθέσιμες ποσότητες δεν επαρκούν ή υπολείπονται του ορίου ασφάλειας αποθέματος, με σύγχρονη δέσμευση του + υπόλοιπου. + - Δυνατότητα καταχώρησης νέου πελάτη ή είδους και επίδειξη της κίνησής τους τη στιγμή της έκδοσης παραστατικών. + - Διαχείριση ειδών σαν φόρους και χαρτόσημα. + - Ακυρωτικό παραστατικό ΚΒΣ. + - Ημερολόγια πωλήσεων και πωλητών σε οποιαδήποτε χρονική περίοδο με επιλογή του είδους του παραστατικού. + +**Ακόμα:** + +: - Κάλυψη του Φ.Π.Α ή άλλων φόρων σε όλες τις περιπτώσεις πωλήσεων (Χονδρική/Λιανική με ή χωρίς φόρο, Φ.Π.Α. νήσων, ΤΑΤ, ειδικούς φόρους κλπ). + - Παραμετρικές εκτυπώσεις παραστατικών σε έναν ή περισσότερους εκτυπωτές και σε ίδιες ή διαφορετικές φόρμες (σχήμα ή γραμμογράφηση). + - Δυνατότητα εκτύπωσης παραστατικών με πολλαπλές σειρές έκδοσης και σε πολλαπλές σελίδες, με σελιδοποίηση. + - Fast entry λιανικής πώλησης + - Συσκευασίες με αυτόματο υπολογισμό. + - Αναζήτηση παραστατικών ανά πελάτη, είδος ή πωλητή για οποιαδήποτε χρονική περίοδο. + - Πλήθος άλλες εκτυπώσεις συγκεντρωτικές ή αναλυτικές με πολλούς τρόπους αναζήτησης των παραστατικών. + - Τιμολόγηση με bar-codes. + - Επανεκτύπωση παραστατικών. + - Αυτόματη αναγνώριση, σύνδεση και ενημέρωση με άλλα συστήματα όπως : Διαχείριση Πελατών, Διαχείριση Προμηθευτών, Αποθήκες, Στατιστική Πωλήσεων, Γενική + Λογιστική. + - Ελεύθερη εισαγωγή κειμένου σε οποιοδήποτε παραστατικό. + +### [2.3 ΔΙΑΧΕΙΡΙΣΗ ΑΞΙΟΓΡΑΦΩΝ]{#ss2.3} + +Το σύστημα αυτό σχεδιάστηκε για να διαχειριστεί γρήγορα, εύκολα και φιλικά τις μεταχρονολογημένες επιταγές και τις συναλλαγματικές μιας επιχείρησης. + +Χωρίζεται σε δύο τμήματα Πελατών και Προμηθευτών που διαχειρίζονται τα εισπρακτέα και τα πληρωτέα αντίστοιχα. + +**Βασικές δυνατότητες του είναι:** + +: - Αυτόματη ενημέρωση της καρτέλας των πελατών ή των προμηθευτών στα αντίστοιχα συστήματα τους. + - Κινήσεις αξιόγραφων σε προμηθευτές, τράπεζες κλπ. με ημερομηνία μεταβίβασης καθώς και δραχμική παρακολούθηση εξόδων (δικά μας ή όχι). + - Αναλυτικά ληξιάρια με πλήθος κριτηρίων σε ορισμένο χρονικό διάστημα. + - Ημερολόγια κίνησης αξιόγραφων. + - Συνοπτικό ληξιάριο με ανάλυση του δωδεκαμήνου. + - Αναλυτικό ληξιάριο πελατών σε ορισμένο χρονικό διάστημα. + - Εκτύπωση βιβλίου επιταγών και συναλλαγματικών. + - Εύκολη αναζήτηση αξιόγραφων βάσει της κατάστασης τους και των μεταβιβάσεων του. π.χ. ανεξόφλητα στο χαρτοφυλάκιο, σε τράπεζα για εγγύηση, διαμαρτυρημένα + κλπ. + +**Ακόμα:** + +: - Ταυτόχρονη τήρηση δύο χρήσεων. + - Πλήρη στοιχεία αξιόγραφου π.χ. ημερομηνίες έκδοσης, λήξης, στοιχεία τράπεζας, στοιχεία πελάτη ή προμηθευτή και στοιχεία εκδότη κλπ. + - Για κάθε κίνηση αξιόγραφων ημερομηνία, αιτιολογία, έξοδα κλπ. + - Αυτόματη αναγνώριση, σύνδεση και ενημέρωση με άλλα συστήματα όπως: Διαχείριση Πελατών και Διαχείριση Προμηθευτών. + - Ενσωματωμένος πανίσχυρος επεξεργαστής καταστάσεων (report handler) για να δημιουργήσετε οποιαδήποτε κατάσταση δεν αναφέραμε. + +### [2.4 ΣΤΑΤΙΣΤΙΚΗ ΠΩΛΗΣΕΩΝ]{#ss2.4} + +Το σύστημα αυτό σχεδιάστηκε για τις επιχειρήσεις που θέλουν γρήγορα, εύκολα, φιλικά και αξιόπιστα να παίρνουν σωστές αποφάσεις για τους μελλοντικούς στόχους +τους. + +**Βασικές δυνατότητες του είναι:** + +: - Πλήρης αναλυτική τήρηση των Πωλήσεων τους τελευταίους 25 μήνες. + - Ανάλυση πωλήσεων ανά πελάτη σε ποσότητα και αξία (ειδών ή ομάδων ειδών) για οποιαδήποτε χρονική περίοδο στο τρέχον έτος και αυτόματη σύγκριση με την + αντίστοιχη περυσινή περίοδο. (συγκεντρωτικά και αναλυτικά). + - Ανάλυση πωλήσεων ανά είδος ή ομάδα ειδών, σε ποσότητα και αξία για οποιαδήποτε χρονική περίοδο στο τρέχον έτος και αυτόματη σύγκριση με την αντίστοιχη + περυσινή περίοδο. + - Πωλήσεις του τελευταίου δωδεκαμήνου σε ποσότητες και αξίες. + - Αξιολόγηση ειδών με βάση τις πωλήσεις του τρέχοντος έτους και αυτόματη σύγκριση - απόκλιση με πέρυσι. + - Αξιολόγηση πελατών με βάση τον παραμετρικά οριζόμενο τζίρο για οποιαδήποτε χρονική περίοδο στο τρέχον έτος και αυτόματη σύγκριση - απόκλιση με την + περυσινή. + - Αξιολόγηση ομάδων ειδών με βάση τις παραμετρικά οριζόμενες πωλήσεις για οποιαδήποτε χρονική περίοδο στο τρέχον έτος και αυτόματη σύγκριση - απόκλιση με + την περυσινή. + +**Ακόμα:** + +: - Αυτόματη αναγνώριση, σύνδεση και ενημέρωση από άλλα συστήματα όπως: Διαχείριση Πελατών, Αποθήκες, Παραγγελιοληψία Παραστατικά. + +### [2.5 ΑΛΛΗΛΟΓΡΑΦΙΑ ΠΕΛΑΤΩΝ]{#ss2.5} + +Το σύστημα αυτό σχεδιάστηκε για να διαχειριστεί την συγγραφή και την αποστολή επιστολών στους πελάτες μας. + +- Αυτόματη προετοιμασία και εκτύπωση υπενθυμιστικών και άλλων επιστολών στους πελάτες. +- Πλήθος κριτηρίων επιλογής των πελατών. +- Συγχώνευση πληροφοριών τη στιγμή της εκτύπωσης τους (mail merge). +- Εκτύπωση αυτοκόλλητων ετικετών με οριζόμενες διαστάσεις από τον χρήστη. +- Συνεργάζεται με το σύστημα Πελατών. + + +### [3. Αγορές]{#s3} + +### [3.1 ΠΡΟΜΗΘΕΥΤΕΣ]{#ss3.1} + +Το σύστημα αυτό σχεδιάστηκε για να διαχειριστεί λογιστικά και όχι μόνο τους προμηθευτές μιας επιχείρησης. + +**Βασικές δυνατότητες του είναι:** + +: - Διαχειρίζεται τους προμηθευτές μιας ή περισσότερων εταιριών. + - Κωδικός προμηθευτή με 4 ψηφία και συμπληρωματικά έως και 10 κωδικούς αναζήτησης. + - Τήρηση πλήθους στοιχείων κάθε προμηθευτή π.χ. Επωνυμίες, Α.Φ.Μ, Διευθύνσεις, τηλέφωνα, fax κλπ. + - Αναζήτηση προμηθευτή ή προμηθευτών με κωδικούς, επωνυμίες, ή ομαδοποιήσεις με ταυτόχρονη εμφάνιση ισοζυγίου επιλεγμένων. + - Δυνατότητα παγώματος και επαναφοράς καρτέλας + - Δυνατότητα παραμετρικού ορισμού των κινήσεων των προμηθευτών. + - Ισοζύγια αναλυτικά και συνοπτικά, με πολλαπλές αναζητήσεις σε οποιεσδήποτε χρονικές περιόδους, με δυνατότητα εξαίρεσης προμηθευτών με μηδενικό υπόλοιπο. + - Ημερολόγια κίνησης σε οποιαδήποτε χρονική περίοδο. + - Αυτόματη αντιστοίχηση χρεώσεων πιστώσεων (open item) με κινητή ημερομηνία αναφοράς, που ορίζει ο χρήστης. + - Αναλυτικά καθολικά με πολλαπλές αναζητήσεις σε οποιεσδήποτε χρονικές περιόδους, με δυνατότητα εξαίρεσης προμηθευτών χωρίς κίνηση. + - Αναλυτικό καθολικό open item με πολλαπλές αναζητήσεις με δυνατότητα εξαίρεσης προμηθευτών χωρίς κίνηση. + - Τήρηση υποκαταστημάτων με ξεχωριστές ή μη καρτέλες. + - Ενηλικίωση υπόλοιπου σε μεταβλητές χρονικές περιόδους με όλα τα ανοικτά τιμολόγια, τις άληκτες συναλλαγματικές και τις μεταχρονολογημένες επιταγές. + - Χρηματοδότηση από τους προμηθευτές και τοκισμός υπόλοιπου με πλήθος κριτηρίων σε οποιεσδήποτε χρονικές περιόδους. + +**Ακόμα :** + +: - Παράλληλη χρήση δύο ετών. + - Επίδειξη αναλυτικά των παραστατικών ενώ βλέπετε την καρτέλα προμηθευτή. + - Στατιστική πωλήσεων διαφόρων χρονικών περιόδων με πλήθος κριτηρίων επιλογής. + - Αυτόματη αναγνώριση, σύνδεση και ενημέρωση με άλλα συστήματα π.χ. Αξιόγραφα, Γενική Λογιστική. + - Ενσωματωμένος πανίσχυρος επεξεργαστής καταστάσεων (report handler) για να δημιουργήσετε οποιαδήποτε κατάσταση δεν αναφέραμε. + +**'λλες διαθέσιμες πληροφορίες:** + +: - Τρέχον υπόλοιπο, Χρεώσεις Πιστώσεις σε περιόδους ή προοδευτικά, Αγορές, σε χρονικές περιόδους. + +### [3.2 ΠΑΡΑΓΓΕΛΙΟΔΟΣΙΑ - ΠΑΡΑΣΤΑΤΙΚΑ]{#ss3.2} + +Το σύστημα αυτό σχεδιάστηκε για να διαχειριστεί γρήγορα, εύκολα και φιλικά την καταχώρηση χειρόγραφων παραστατικών. + +**Βασικές δυνατότητες του συστήματος είναι:** + +: - Εύκολη καταχώρηση οποιουδήποτε παραστατικού, π.χ. Τιμολόγιο, Δελτίο Αποστολής, Παραγγελία κλπ. με σύγχρονη επέμβαση στις αξίες. + - Επιπλέον συγκέντρωση παραστατικών, π.χ. Δελτίων Αποστολής σε ένα Τιμολόγιο, με σύγχρονη αναπροσαρμογή των τιμών. + - Δυνατότητα αυτόματης καταχώρησης απόδειξης είσπραξης στην καρτέλα του προμηθευτή. + - Διαρκής παρακολούθηση του ορίου πίστωσης του προμηθευτή τη στιγμή της τιμολόγησης. + - Δυνατότητα καταχώρησης νέου προμηθευτή ή είδους και επίδειξη της κίνησής τους τη στιγμή της έκδοσης παραστατικών. + - Διαχείριση ειδών σαν φόρους, χαρτόσημα και εξόδων με Φ.Π.Α μη εκπιπτόμενο. + - Ακυρωτικά σημειώματα ΚΒΣ + - Ημερολόγια αγορών σε οποιαδήποτε χρονική περίοδο με επιλογή του είδους του παραστατικού. + +**Ακόμα:** + +: - Κάλυψη του Φ.Π.Α ή άλλων φόρων σε όλες τις περιπτώσεις αγορών (με ή χωρίς φόρο, Φ.Π.Α. νήσων κλπ). + - Παραμετρικές εκτυπώσεις παραστατικών σε έναν ή περισσότερους εκτυπωτές και σε ίδιες ή διαφορετικές φόρμες (σχήμα ή γραμμογράφηση). + - Δυνατότητα εκτύπωσης παραστατικών με πολλαπλές σειρές έκδοσης και σε πολλαπλές σελίδες, με σελιδοποίηση. + - Αναζήτηση παραστατικών ανά προμηθευτή, είδος για οποιαδήποτε χρονική περίοδο. + - Πλήθος άλλες εκτυπώσεις συγκεντρωτικές ή αναλυτικές με πολλούς τρόπους αναζήτησης των παραστατικών. + - Επανεκτύπωση παραστατικών. + - Αυτόματη αναγνώριση, σύνδεση και ενημέρωση με άλλα συστήματα όπως : Διαχείριση Προμηθευτών, Αποθήκες, Γενική Λογιστική. + - Ελεύθερη εισαγωγή κειμένου σε οποιοδήποτε παραστατικό. + + +### [4. Αποθήκες]{#s4} + +### [4.1 ΔΙΑΧΕΙΡΙΣΗ ΑΠΟΘΗΚΩΝ]{#ss4.1} + +Το σύστημα αυτό σχεδιάστηκε για να διαχειριστεί γρήγορα, εύκολα και φιλικά τα αποθεματικά υπόλοιπα για έτοιμα, πρώτες και βοηθητικές ύλες, υλικά συσκευασίας κλπ +σε πολλαπλούς αποθηκευτικούς χώρους και με πλήθος αποτιμήσεων. + +**Βασικές δυνατότητες του συστήματος είναι:** + +: - Διαχειρίζεται πολλαπλές αποθήκες μιας ή περισσότερων εταιριών. + - Κωδικός είδους με ελεύθερη δόμηση 1 με 15 ψηφία, και συμπληρωματικά 6 κωδικούς. + - Τήρηση πλήθους στοιχείων για κάθε είδος, π.χ. περιγραφή (45 χαρ.) προέλευση, συμπληρωματικές πληροφορίες, διάφορες ημερομηνίες, τιμές κλπ. + - Πολλαπλές ομαδοποιήσεις των ειδών σε κατηγορίες, υποκατηγορίες και ομάδες + - Αναζήτηση είδους ή ειδών με κωδικούς, περιγραφές, ομαδοποιήσεις ή μάσκα για ανεύρεση παρεμφερών ειδών, με ταυτόχρονη εμφάνιση ισοζυγίου διαθέσιμων των + επιλεγμένων. + - Δυνατότητα παγώματος και επαναφοράς, καρτέλας ειδών. + - Εύκολος και παραμετρικός ορισμός κινήσεων και του τρόπου ενημέρωσης των αρχείων, με μόνη την διάκρισή τους σε κατηγορίες. π.χ. Αγορές Πωλήσεις, + Εσωτερικές Διακινήσεις, Λογιστικές κινήσεις κλπ. + - Αποτίμηση των ειδών με πέντε (5) διαφορετικούς τρόπους (τελευταία τιμή κτήσης, μέσο σταθμικό κόστος, τιμή αντικατάστασης, FIFO και LIFO) οριζόμενους από + τον χρήστη. + - Ισοζύγια, αναλυτικά και συνοπτικά, αποθηκών με πολλαπλές αναζητήσεις σε οποιεσδήποτε χρονικές περιόδους, με ταυτόχρονη αποτίμηση και με δυνατότητα + εξαίρεσης ειδών με μηδενικό υπόλοιπο. + - Ημερολόγια κίνησης σε οποιαδήποτε χρονική περίοδο και με ελευθερία επιλογής Αγορών, Πωλήσεων, Εσωτερικής Διακίνησης αποθηκών. + - Αναλυτικά καθολικά με πολλαπλές αναζητήσεις σε οποιεσδήποτε χρονικές περιόδους, με ταυτόχρονη αποτίμηση ποσοτήτων και με δυνατότητα εξαίρεσης ειδών + χωρίς κίνηση. + - Απόθεμα ασφάλειας αυτόματα και προειδοποίηση για χαμηλό απόθεμα στα είδη. + - Δυνατότητα και αξιοποίηση Φ.Π.Α. ή τυχόν άλλων φόρων. + - Δυνατότητα επιλογής της εκπτωτικής πολιτικής σας μεταξύ των έξι (6) διαφορετικών τιμών είδους, της κλιμάκωσης τιμών και εκπτώσεων βάσει ποσοτήτων, + κατηγορίας πελάτη και κατηγορίας είδους και της έκπτωσης τη στιγμή της τιμολόγησης. + - Ποσότητα τιμολόγησης και ποσότητα συσκευασίας, αυτόματα υπολογίσιμη και προσαρμόσιμη τη στιγμή της τιμολόγησης. + +**Ακόμα:** + +: - Τιμοκατάλογοι αποθηκών με πλήθος κριτηρίων επιλογής. + - Παράλληλη χρήση δύο ετών. + - Στατιστική πωλήσεων διάφορων χρονικών περιόδων με πλήθος κριτηρίων επιλογής. + - Αυτόματη αναγνώριση, σύνδεση και ενημέρωση με άλλα συστήματα π.χ. Γενική Λογιστική, Παραγγελίες, Στατιστική Πωλήσεων. + - Ενσωματωμένος πανίσχυρος επεξεργαστής καταστάσεων (report handler) για να δημιουργήσετε οποιαδήποτε κατάσταση δεν αναφέραμε. + +**'λλες πληροφορίες** + +: - Εισαγωγές - Εξαγωγές σε περιόδους ή προοδευτικά. + - Πωλήσεις, Κόστος Πωληθέντων, Προμήθειες, Μικτό κέρδος πωληθέντων σε χρονικές περιόδους. + - Τελευταία τιμή πώλησης, αγοράςκλπ. + +### [4.2 ΣΥΓΚΕΝΤΡΩΤΙΚΕΣ ΑΠΟΘΗΚΕΣ]{#ss4.2} + +Το σύστημα αυτό σχεδιάστηκε για να συγκεντρώσει στοιχεία από τις αναλυτικές αποθήκες και να τα μεταφέρει στις συγκεντρωτικές. Οι δυνατότητες αυτού του +συστήματος είναι ίδιες με τις δυνατότητες των αναλυτικών αποθηκών. + +### [4.3 ΠΑΡΑΓΩΓΗ]{#ss4.3} + +Το σύστημα αυτό σχεδιάστηκε για να παρακολουθήσετε και να προγραμματίσετε την παραγωγή των προϊόντων σας. + +- Τεχνικές προδιαγραφές - Συνταγολόγια. +- Εκτυπώσεις παραγγελιών και εντολών παραγωγής. +- Ισοζύγια παραγγελιών - εντολών παραγωγής, αναλώσεων, υπόλοιπων και διαφορών τους. +- Αυτόματες αναλώσεις Α\' και Β\' υλών. +- Μεταβλητά ψηφία οδηγών, σχεδίων, χρώματος, υλικού, μεγέθους κλπ + +### [4.4 ΑΠΟΓΡΑΦΗ]{#ss4.4} + +Το σύστημα αυτό σχεδιάστηκε για να μηχανογραφήσει όλη την διαδικασία της απογραφής που αρχίζει από την εκτύπωση κατάστασης απογραφής και τελειώνει με τις +ενημερώσεις των αποθηκών. + +- Εύκολη καταχώρηση και διαχείριση των φυσικών μετρήσεων σε καταστάσεις απογραφής, που προτυπώνονται. +- Ισοζύγιο με αποτίμηση, των διαφορών μεταξύ φυσικών μετρήσεων και υπόλοιπου με πολλούς τρόπους αναζήτησης. +- Αυτόματη ενημέρωση των αποθηκών με τις διαφορές. + + +### [5. Μισθοδοσία και Προσωπικό]{#s5} + +### [5.1 ΜΙΣΘΟΔΟΣΙΑ]{#ss5.1} + +Το σύστημα αυτό σχεδιάστηκε για να εκδώσει με τον πιο εύκολο και φιλικό τρόπο τις μισθοδοσίες υπαλλήλων και εργατών της επιχείρησής σας. + +**Βασικές δυνατότητες του είναι:** + +: - Πλήρης διαχείριση μισθοδοσίας μίας ή περισσότερων εταιριών με ή χωρίς υποκαταστήματα. + - Κωδικός εργαζόμενου 4ψήφιος με συμπληρωματική κωδικοποίηση έως 10 κωδικούς. + - Πλήρη στοιχεία εργαζόμενου π.χ. όνομα, επώνυμο, κέντρο κόστους, τμήμα κλπ. + - Πολλαπλά και παραμετρικά οριζόμενα επιδόματα Παιδιών, Πολυετιών, Γάμου, Σπουδών κλπ. + - Παραμετρικά οριζόμενοι κλάδοι Ι.Κ.Α. π.χ. Μικτά, Μικτά-ΤΕΑΜ κλπ. + - Παραμετρικά οριζόμενα τέσσερα επικουρικά ταμεία ανά εργαζόμενο π.χ. ΤΕΑΥΕΚ, Μετάλλου, ΤΣΜΔΕ, κλπ. + - Πολλαπλές και παραμετρικά οριζόμενες μεταβολές μισθοδοσιών Τακτικής, Αδείας, Ασθένειας, Δώρων κλπ. + - Δυνατότητα έκδοσης μισθοδοσίας κατά φορέα ευθύνης π.χ. εργοστάσιο, κέντρο κόστους ή επιλεκτικά για εργαζομένους. + - Δυνατότητα επαναφοράς (διαγραφής) μισθοδοσίας ενός ή περισσότερων εργαζομένων. + - Αυτόματες μεταβολές σε περιπτώσεις σταθερής μισθοδοσίας. + - Πλήρης παρακολούθηση προκαταβολών εργαζομένων, με καταστάσεις προκαταβολών κλπ. + - Πλήρης παρακολούθηση δανείων εργαζομένων, με σταθερές και μεταβλητές δόσεις. + - Παραμετρικά δοσμένες φορολογικές κλίμακες και απαλλαγές (φόρου ή εισοδήματος) και ειδικές απαλλαγές για εργαζόμενους. + - Υπολογισμός φόρου βάσει κλίμακας με επιλογή του τρόπου υπολογισμού του, π.χ. εξομάλυνση ή εκκαθάριση φόρου. + - Αποδείξεις πληρωμής εργαζόμενου σε φακέλους ή σε μηχανογραφικό έντυπο. + - Αποδείξεις προκαταβολών εργαζομένων σε φακέλους ή σε μηχανογραφικό έντυπο. + - Μισθοδοτικές καταστάσεις με πλήρη στοιχεία μισθοδοσιών με πλήθος κριτηρίων και σε προηγούμενους μήνες. + - Αντίστροφος υπολογισμός μισθοδοσίας εργαζομένων. + - Αυτόματος υπολογισμός Δώρων Πάσχα και Χριστουγέννων. + +**Ακόμα:** + +: - Αναζήτηση εργαζόμενων με κωδικούς, επωνυμίες, ή ομαδοποιήσεις. + - Δυνατότητα παγώματος και επαναφοράς, καρτέλας εργαζόμενου. + - Πλήρης τήρηση ιστορικού αρχείου μισθοδοσιών για οποιοδήποτε έτος. + - Στατιστικά στοιχεία για κάθε εργαζόμενο, όπως αποδοχές, κρατήσεις, μέρες απασχόλησης, ώρες υπερωριών, κόστος εταιρίας κλπ. + - Εκτύπωση καταστάσεων εισφορών ΙΚΑ και επικουρικών ταμείων. + - Εκτύπωση βεβαιώσεων ΦΜΥ εργαζομένων και συγκεντρωτικής κατάστασης αποδοχών με πλήθος κριτηρίων επιλογής και υπολογισμός διαφορών. + - Ανάλυση ενσήμων ταμείων. + - Στρογγυλοποίηση πληρωτέου και εισφορών ταμείων. + - Υπολογισμός φόρου για επιχειρηματίες + - Ενσωματωμένος πανίσχυρος επεξεργαστής καταστάσεων (report handler) για να δημιουργήσετε οποιαδήποτε κατάσταση δεν αναφέραμε. + - Αυτόματη αναγνώριση, σύνδεση και ενημέρωση με άλλα συστήματα όπως: Διαχείριση Προσωπικού κλπ. + - Τριμηνιαία κατάσταση για απόδοση φόρων (ΦΜΥ, χαρτόσημο κλπ.). + +### [5.2 ΜΗΧΑΝΟΓΡΑΦΙΚΟ ΙΚΑ]{#ss5.2} + +- Πλήρης υποστήριξη του μηχανογραφικού κυκλώματος ΙΚΑ ανά τρίμηνο, ώστε να μην ασχολείστε πλέον με ένσημα. +- Αρχείο πλήρες συμβατό με το ΙΚΑ. +- Συγκεντρωτικές και αναλυτικές καταστάσεις σύμφωνες με το ΙΚΑ + +### [5.3 ΔΙΑΧΕΙΡΙΣΗ ΠΡΟΣΩΠΙΚΟΥ]{#ss5.3} + +Το σύστημα αυτό σχεδιάστηκε για να διαχειριστεί εύκολα και φιλικά τις μηχανές ωρομέτρησης προσωπικού και να ενημερώσει την μισθοδοσία οποιασδήποτε επιχείρησης. + +**Βασικές δυνατότητες του είναι:** + +: - Πλήρης κάλυψη μισθωτών και ημερομισθίων, ημερών εργασίας με όλες τις ειδικές περιπτώσεις π.χ. εξαήμερη εργασία σε μισθωτούς, πενθήμερη με Σάββατα, ρεπό + κλπ. + - Αρχείο προσωπικού με νόμιμο, συμβατικό ωράριο και άλλα στοιχεία. + - Ιστορικό αρχείο μεταβολών που περιλαμβάνει μεταβολές σε σταθερά στοιχεία, μεταθέσεις, προαγωγές. αξιολογήσεις, ποινές, δάνεια, ενισχύσεις, απουσίες, + πολυετίες, μισθολογικές εξελίξεις και άλλα. + - Εύκολη διαχείριση αυτών των στοιχείων με δυνατότητα εξαγωγής συμπερασμάτων για τμήματα, κέντρα κόστους και εργαζόμενους. + - Υποστηρίζονται πλήρως οι Υπερωρίες με πλήρη κλίμακα, τα Νυχτερινά, οι Αργίες κλπ. + - Δυνατότητα εκτύπωσης ημερήσιας κατάστασης απουσιών προσωπικού. + - Ημερήσιες και μηνιαίες καταστάσεις παρουσίας προσωπικού. + - Καταστάσεις ελέγχου μηχανής παρουσιών. + - Διαχείριση πολλαπλών μηχανών ωρομέτρησης. + - Αυτόματη ενημέρωση της μισθοδοσίας με μεταβολές που ο υπολογισμός τους καθορίζεται από τον χρήστη. + +**Ακόμα:** + +: - Αυτόματη αναγνώριση, σύνδεση και ενημέρωση με την Μισθοδοσία και άλλα συστήματα. + +### [5.4 ΕΞΟΜΕΙΩΤΕΣ ΜΗΧΑΝΗΜΑΤΩΝ ΩΡΟΜΕΤΡΗΣΗΣ]{#ss5.4} + +Τα προγράμματα αυτά σχεδιάστηκαν για να εξομοιώνουν μια ή και δυο μηχανές ωρομέτρησης και χρειάζονται έναν H/Y συμβατό με IBM-PC με μονάδα δισκέτας. + +**Βασική δυνατότητα του είναι:** + +: - Εύκολη διασύνδεση με τον H\\Y και τα μηχανήματα ανάγνωσης καρτών. + - Συνθηματικό πρόσβασης. + - Αρχείο κίνησης συμβατό με SAHO. + +**Ακόμα:** + +: - Αυτόματη αναγνώριση σύνδεση με τη Μισθοδοσίακαιτο Προσωπικό. + + +### [6. Λογιστική]{#s6} + +### [6.1 ΓΕΝΙΚΗ ΛΟΓΙΣΤΙΚΗ]{#ss6.1} + +Το σύστημα αυτό σχεδιάστηκε για να καλύψει τις ανάγκες οποιασδήποτε επιχείρησης με βιβλία τρίτης κατηγορίας και να ενημερώσει γρήγορα, εύκολα και φιλικά τον +λογιστή και τον επιχειρηματία για την οικονομική κατάσταση της εταιρίας. + +**Βασικές δυνατότητες του συστήματος είναι:** + +: - Διαχείριση πολλαπλών λογιστικών σχεδίων και εταιριών. + - Ελεύθερη δόμηση ψηφίων λογαριασμών ανά βαθμίδα και υποστήριξη οποιουδήποτε λογιστικού σχεδίου (ενιαίου ή όχι). + - Ανάλυση, μέχρι πεμπτοβάθμια, του λογιστικού σχεδίου μόνο στον βαθμό που θέλετε για κάθε λογαριασμό. + - Διπλογραφικό σύστημα καταχώρησης εγγραφών / παραστατικών με ελέγχους ορθότητας για ισοσκελισμένα ισοζύγια. + - Αναζήτηση λογαριασμών με κωδικούς, περιγραφές, ομαδοποιήσεις ή μάσκες για ανεύρεση παρεμφερών λογαριασμών. + - Ενημερώσεις στην κατώτερη βαθμίδα με αυτόματη ενημέρωση από το σύστημα όλων των ανωτέρων. + - Πολλαπλές, αυτόματες και παραμετρικά οριζόμενες αντιμεταβαλλόμενες εγγραφές, με δυνατότητα αυτόματου μερισμού. + - Ισοζύγια οποιασδήποτε βαθμίδας λογαριασμών σε ελεύθερες χρονικές περιόδους για επιλεγμένους λογαριασμούς, με δυνατότητα εξαίρεσης των λογαριασμών που + δεν έχουν κίνηση. + - Αναλυτικά καθολικά σε ελεύθερες χρονικές περιόδους για επιλεγμένους λογαριασμούς. + - Γενικά καθολικά σε ελεύθερες χρονικές περιόδους για επιλεγμένους λογαριασμούς. + - Ημερολόγια Ταμείου, Διαφόρων Πράξεων ή Συγκεντρωτικού ή άλλων, με ενσωματωμένους ελέγχους καλής καταχώρησης, καθορισμένα από το χρήστη. + - Εκτύπωση φύλλου εγγραφών (φίσας) για εύκολη αρχειοθέτηση των παραστατικών. + - Αυτόματη ενημέρωση λογιστικής από τα επιμέρους συστήματα με επιλογή αναλυτικής ή συγκεντρωτικής κίνησης. + +**Ακόμα:** + +: - Ευρετήρια λογιστικών σχεδίων. + - Ταυτόχρονη λειτουργία σε περισσότερες από δύο χρήσεις με την πρώτη υπερδωδεκάμηνη. + - Διαχείριση ξένων νομισμάτων. + - Αυτόματη μεταφορά υπολοίπων τέλος χρόνου. + - Δυνατότητα δημιουργίας καταστάσεων Ισολογισμού, Φ.Π.Α, Φ.Μ.Υ, χρηματοοικονομικών δεικτών κλπ. και εκτύπωσης τους οποτεδήποτε. + - Συγκεντρώσεις λογαριασμών με διαφορετικές μορφές εκτός κωδικού λογαριασμών. + - Δυνατότητα μεταφοράς πληροφοριών σε άλλα προγράμματα. + - Δυνατότητα αντιγραφής του λογιστικού σχεδίου από μια εταιρία σε μια άλλη. + - Αυτόματη αναγνώριση, σύνδεση και ενημέρωση με άλλα συστήματα όπως: Διαχείριση Πελατών, Διαχείριση Προμηθευτών, Αποθήκες, Παραγγελιοληψία Παραστατικά, + Μισθοδοσία, Αξιόγραφα, Αναλυτική Λογιστική κλπ. + - Δημιουργία δισκέτας Ισυζυγίου ESKORT. + +### [6.2 ΛΟΓΙΣΤΙΚΗ ΕΣΟΔΩΝ-ΕΞΟΔΩΝ]{#ss6.2} + +Το σύστημα αυτό σχεδιάστηκε για να διαχειριστεί εύκολα, γρήγορα και φιλικά τα βιβλία Α\' και Β\' κατηγορίας. Είναι κατάλληλο και για λογιστικά γραφεία. + +**Βασικές δυνατότητες του συστήματος είναι:** + +: - Διαχείριση πολλαπλών εταιριών ταυτόχρονα, με διαφορετικά ή ίδια βιβλία. + - Παραμετρικά οριζόμενες κινήσεις π.χ. Τιμολόγια (αγορών πωλήσεων), Αποδείξεις λιανικής, Παροχή υπηρεσιών, διάφορα έξοδα, μισθοδοσίες κλπ. + - Η γραμμογράφηση των βιβλίων (στήλες εκτύπωσης και περιεχόμενα στηλών) είναι εντελώς παραμετρική. + - Ακόμα και τα βιβλία δημιουργούνται παραμετρικά σύμφωνα με τις ανάγκες και τις ιδιαιτερότητες κάθε εταιρίας. + - Καταχωρήσεις σε ευμετάβλητη μορφή, με ενσωματωμένους ελέγχους ορθότητας. + - Εμπεριέχει οικονομικούς δείκτες επιχείρησης. + - Περιοδική εκτύπωση Φ.Π.Α. με υπολογισμούς ή χωρίς. + - Αυτόματη ενημέρωση από τα επιμέρους συστήματα του εμπορικού. + +**Ακόμα:** + +: - Συγκεντρωτική εκτύπωση Φ.Π.Α. με υπολογισμούς ή χωρίς. + - Φ.Π.Α. σε οποιαδήποτε χρονική περίοδο με υπολογισμούς ή χωρίς. + - Οποτεδήποτε συγκεντρωτική εκτύπωση τιμολογίων και πιστωτικών σημειωμάτων. + - Κάλυψη του Φ.Π.Α. ή άλλων φόρων σε όλες τις περιπτώσεις πωλήσεων (Χονδρική/Λιανική με ή χωρίς φόρο, Φ.Π.Α. νήσων κλπ). + - Φύλαξη κινήσεων ή διαγραφή τους (για λιγότερο χώρο) ανάλογα με τη χωρητικότητα του υπολογιστή σας. + +### [6.3 ΔΙΑΧΕΙΡΙΣΗ ΠΑΓΙΩΝ]{#ss6.3} + +Το σύστημα αυτό σχεδιάστηκε για να διαχειριστεί γρήγορα, εύκολα και φιλικά τα πάγια. + +**Βασικές δυνατότητες του συστήματος είναι:** + +: - Κωδικός παγίου με ελεύθερη δόμηση 1 με 15 ψηφία, και συμπληρωματικά 6 κωδικούς. + - Τήρηση πλήθους στοιχείων για κάθε πάγιο, π.χ. περιγραφή (45 χαρ.) προέλευση, συμπληρωματικές πληροφορίες, διάφορες ημερομηνίες, κανονική και πρόσθετη + απόσβεση, ωφέλιμος χρόνος κλπ. + - Πολλαπλές ομαδοποιήσεις των παγίων σε κατηγορίες, υποκατηγορίες και ομάδες + - Αναζήτηση πάγιου ή παγίων με κωδικούς, περιγραφές, ομαδοποιήσεις ή μάσκα για ανεύρεση παρεμφερών παγίων. + - Δυνατότητα παγώματος και επαναφοράς, καρτέλας παγίων. + - Αποσβέσεις παγίων με δύο τρόπους: α) σταθερή και β) φθίνουσα. + - Ισοζύγια, αναλυτικά και συνοπτικά, παγίων με πολλαπλές αναζητήσεις σε οποιεσδήποτε χρονικές περιόδους. + +**Ακόμα:** + +: - Παράλληλη χρήση δύο ετών. + - Αυτόματη αναγνώριση, σύνδεση και ενημέρωση με άλλα συστήματα π.χ. Γενική Λογιστική. + - Ενσωματωμένος πανίσχυρος επεξεργαστής καταστάσεων (report handler) για να δημιουργήσετε οποιαδήποτε κατάσταση δεν αναφέραμε. + +### [6.4 ΑΝΑΛΥΤΙΚΗ ΛΟΓΙΣΤΙΚΗ]{#ss6.4} + +Το σύστημα αυτό σχεδιάστηκε για να καλύψει τις ανάγκες των βιομηχανιών και των εμπορικών επιχειρήσεων που θέλουν ακριβή προσδιορισμό των οικονομικών +αποτελεσμάτων τους, αύξηση της παραγωγικότητάς τους και σωστή λήψη αποφάσεων. + +**Βασικές δυνατότητες του συστήματος είναι:** + +: - Ελεύθερη δόμηση ψηφίων λογαριασμών ανά βαθμίδα και υποστήριξη οποιουδήποτε λογιστικού σχεδίου (ενιαίου ή όχι). + - Ανάλυση, μέχρι πεμπτοβάθμια, του λογιστικού σχεδίου μόνο στον βαθμό που θέλετε για κάθε λογαριασμό. + - Αυτόματες εγγραφές με επιμερισμούς ανά ποσοστό / βάρος ποσοστού κ.λ.π. από Γενική Λογιστική, Αποθήκη, Πάγια κ.λ.π. παραμετρικά ελεγχόμενες. + - Αυτόματες εγγραφές κοστολόγησης με επιμερισμούς ανά ποσοστό / βάρος ποσοστού κ.λ.π. σε Αποθήκες. + - Αυτόματος προσδιορισμός αποτελεσμάτων. + - Διπλογραφικό σύστημα καταχώρησης εγγραφών / παραστατικών με ελέγχους ορθότητας για ισοσκελισμένα ισοζύγια. + - Αναζήτηση λογαριασμών με κωδικούς, περιγραφές, ομαδοποιήσεις ή μάσκες για ανεύρεση παρεμφερών λογαριασμών. + - Ενημερώσεις στην κατώτερη βαθμίδα με αυτόματη ενημέρωση από το σύστημα όλων των ανωτέρων. + - Ισοζύγια οποιασδήποτε βαθμίδας λογαριασμών σε ελεύθερες χρονικές περιόδους για επιλεγμένους λογαριασμούς, με δυνατότητα εξαίρεσης των λογαριασμών που + δεν έχουν κίνηση. + - Αναλυτικά καθολικά σε ελεύθερες χρονικές περιόδους για επιλεγμένους λογαριασμούς. + - Γενικά καθολικά σε ελεύθερες χρονικές περιόδους για επιλεγμένους λογαριασμούς. + - Ημερολόγια Αναλυτικής με ενσωματωμένους ελέγχους καλής καταχώρησης, καθορισμένα από το χρήστη. + - Αυτόματη και παραμετρικότατη ενημέρωση Αναλυτικής Λογιστικής από Αποθήκη, Πάγια, Μισθοδοσία, Γενική Λογιστική, αντίστροφη ενημέρωση της Αποθήκης και της + Γενικής Λογιστικής με αυτόματους επιμερισμούς. + +**Ακόμα:** + +: - Ευρετήρια λογιστικών σχεδίων. + - Ταυτόχρονη λειτουργία σε περισσότερες από δύο χρήσεις με την πρώτη υπερδωδεκάμηνη. + - Αυτόματη μεταφορά υπολοίπων τέλος χρόνου. + - Δυνατότητα μεταφοράς πληροφοριών σε άλλα προγράμματα. + - Δυνατότητα αντιγραφής του λογιστικού σχεδίου από μια εταιρία σε μια άλλη. + + +### [7. Γενικά]{#s7} + +### [7.1 ΣΥΝΘΗΜΑΤΙΚΑ]{#ss7.1} + +Το σύστημα αυτό σχεδιάστηκε για να προστατέψει, εύκολα και φιλικά τις πληροφορίες σας με συνθηματικούς κωδικούς. + +- Ιεράρχηση συνθηματικών σε δομή καταλόγου (master-slave). +- 'πειρα συνθηματικά. +- Συνθηματικά ανά χρήστη. +- Προστασία των πληροφοριών ανά εταιρία. +- Προστασία ανά υποπρόγραμμα. + +### [7.2 ΕΜΠΟΡΙΚΗ ΑΛΛΗΛΟΓΡΑΦΙΑ]{#ss7.2} + +Το σύστημα αυτό σχεδιάστηκε για να γράψετε και να στείλετε επιστολές στους μελλοντικούς πελάτες σας, αλλά και σε άλλους π.χ. συνδρομητές κλπ. + +- Διαχείριση αρχείου μελλοντικών πελατών. +- Ενσωματωμένος τηλεφωνικός κατάλογος με αλφαβητική σειρά (πρώτα Λατινικό και μετά Ελληνικό αλφάβητο). +- Πλήρης ενσωματωμένος επιστολογράφος για συγγραφή και αποστολή επιστολών (mail merge), με δυνατότητα επανάκτησης, διόρθωσης, ή διαγραφής της επιστολής. +- Εκτύπωση αυτοκόλλητων ετικετών με διαστάσεις οριζόμενες από τον χρήστη. +- Απεριόριστος αριθμός επιστολών. + +### [7.3 ΔΙΑΧΕΙΡΙΣΤΗΣ ΚΑΤΑΣΤΑΣΕΩΝ]{#ss7.3} + +Το σύστημα αυτό που εμπεριέχεται στο σύστημα προγραμμάτων ΕΞΕΛΙΞΗ σχεδιάστηκε για να δημιουργήσετε και να τυπώσετε, εύκολα όποια κατάσταση θέλετε από ένα +αρχείο. + +- Μέχρι 99 καταστάσεις ανά αρχείο. +- Στήλες υπολογισμών. +- Σύνολα και υποσύνολα ομάδων. +- Ταξινομήσεις ελεύθερες. +- Καταστάσεις συνόλων. +- Κριτήρια από - μέχρι για οποιοδήποτε πεδίο, ακόμα και για υπολογισμό +- Επιλογή εκτύπωσης αριθμών, ποσοστών, ημερομηνιών κλπ. +- Δημιουργία αρχείων σταθερών προδιαγραφών (ASCII delimited) για μεταφορά στοιχείων σε άλλα πακέτα (DBASE, CLIPPER, LOTUS 123, FRAMEWORK, AMIPRO κλπ) + +### [7.4 DS Travel]{#ss7.4} + +Τουριστικό Πρόγραμμα για ταξιδιωτικά γραφεία, εισερχόμενου και εξερχόμενου τουρισμού\ +Διαχειρίζεται εύκολα τις προσφορές που δημιουργούν τα τουριστικά γραφεία και τις υπηρεσίες που τους παρέχουν οι προμηθευτές τους + +**Xαρακτηριστικά** + +: - Δημιουργία και διαχείριση προσφορών πριν και μετά την επικύρωσή τους + - Διαχείριση Actual status (επικυρωμένη προσφορά) + - Διαχείριση εισιτηρίων για non-IATA γραφεία + - Αυτόματη κατασκευή Proforma, Τιμολογίων, Vouchers, Reservation Notes, Rooming Lists, Allotments + - Δημιουργία και επεξεργασία προγραμμάτων εκδρομών + - Διαχείριση ημερησίου προγράμματος πλοίων, αεροπλάνων, τρένων κλπ. + - Αυτόματη αποστολή FAX των τιμολογίων, των προσφορών, Vouchers, Reservation Notes, Rooming Lists, Allotments, των προγραμμάτων εκδρομών κλπ σε πελάτες, + προμηθευτές + +**Μεταβλητότητα** + +: - Δυνατότητα αλλαγής στοιχείων ανά πάσα στιγμή με αυτόματη αναπροσαρμογή των τιμών + - Διαχειρίζεται πολλαπλές εταιρίες και σε περιβάλλον πολλών χρηστών με συνθηματικά πρόσβασης, προεκτύπωση στην οθόνη και πολλαπλούς εκτυπωτές κλπ + +**Περιλαμβάνει** + +: - Απεριόριστο αριθμό πελατών με τις κινήσεις τους + - Απεριόριστο αριθμό προμηθευτών οποιασδήποτε κατηγορίας (ξενοδοχεία, ταξί, λεωφορεία, ξεναγοί κλπ) + - Απεριόριστο αριθμό υπηρεσιών ανά προμηθευτή + - Απεριόριστο αριθμό περιόδων ανά υπηρεσία + - Απεριόριστο αριθμό τιμών ανά περίοδο + - Απεριόριστο αριθμό νομισμάτων + - Πλήρες κύκλωμα εκτυπώσεων + +**ακόμα και πολλά άλλα, όπως :** + +: - Πλήκτρο άμεσης βοήθειας, επεξεργαστή κειμένου, αριθμητήρα, μακροεντολές, ημερολόγιο, διαδικασίες φύλαξης - επαναφοράς (backup - restore) + +**Συμβατότητα με** + +: - Οποιοδήποτε λειτουργικό σύστημα ενός ή πολλών χρηστών (DOS, UNIX, WINDOWS, LINUX, NOVELL κλπ) + - Συνεργάζεται με άλλα δημοφιλή προγράμματα μέσω σταθερών προδιαγραφών (ASCII STANDARDS) + - Ασφαλές, αξιόπιστο, On-line, Real-time, εφαρμογή μοντέλου Client - Server + +**Ελάχιστες απαιτήσεις** + +: - Προσωπικός υπολογιστής με επεξεργαστή τύπου 386, λειτουργικό σύστημα DOS έκδοσης 5.0 + - Μνήμη RAM 2ΜΒ + - Ελεύθερος δίσκος 15MB + +### [7.5 DS Cash Flow]{#ss7.5} + +Εύκολη αλλά ουσιαστική διαχείριση οικονομικών.\ +Προβλέπει τα διαθέσιμά σας και σας προειδοποιεί πότε και ποιες δοσοληψίες πρέπει να γίνουν + +**Xαρακτηριστικά** + +: - Διαχειρίζεται τα μπλοκ των επιταγών σας, με ιδιαίτερη ευκολία και σας προειδοποιεί πότε πρέπει να κάνετε κατάθεση + - Διαχειρίζεται τις επιταγές των πελατών σας και σας υπενθυμίζει πότε πρέπει να εισπραχθούν + - Προτείνει ημερομηνίες και ποσά επιταγών βάσει τιμολογίων προμηθευτή, ανάλογα με τον συμφωνημένο τρόπο πληρωμής + - Υπολογίζει τους μηνιαίους τόκους για συναλλαγματικές και δόσεις δανείων + - Με μια κίνηση σας πληροφορεί αν θα έχετε διαθέσιμα για να προχωρήσετε στην επένδυση που στοχεύετε + - Σας πληροφορεί, όποτε το ζητήσετε, για τα υπόλοιπα των λογαριασμών που διαθέτετε και σας προφυλάσσει ελέγχοντας από τυχόν λάθη + - Διαχειρίζεται τα αρχεία σας και σε μια μόνο δισκέτα + +**Μεταβλητότητα** + +: - Δυνατότητα αλλαγής στοιχείων ανά πάσα στιγμή με αυτόματο υπολογισμό + - Διαχειρίζεται πολλαπλές εταιρίες και σε περιβάλλον πολλών χρηστών με συνθηματικά πρόσβασης, προεκτύπωση στην οθόνη και πολλαπλούς εκτυπωτές + +**Περιλαμβάνει** + +: - Ροή διαθεσίμων χρονικής περιόδου + - Ανάλυση των παραπάνω διαθεσίμων ανά ημέρα + - Καρτέλα λογαριασμών και ομάδων + - Ημερολόγιο υποχρεώσεων δοσοληψιών + - Αυτόματο έλεγχο υπολοίπων των λογαριασμών + - Ομαδοποίηση των λογαριασμών + - Υποθετικά σενάρια ροής με πιθανότητες δοσοληψιών + - Γραφικές παραστάσεις + - Απεριόριστο αριθμό λογαριασμών, όπως όψεως, ταμιευτηρίου, πιστωτικές κάρτες κλπ + - Απεριόριστο αριθμό κατηγοριών δοσοληψιών όπως εισπράξεις, πληρωμές, αναλήψεις κλπ + +**ακόμα και πολλά άλλα, όπως :** + +: - Πλήκτρο άμεσης βοήθειας, επεξεργαστή κειμένου, αριθμητήρα, μακροεντολές, ημερολόγιο, διαδικασίες φύλαξης - επαναφοράς (backup - restore) + +**Συμβατότητα με** + +: - Οποιοδήποτε λειτουργικό σύστημα ενός ή πολλών χρηστών (DOS, UNIX, WINDOWS, WINDOWS 95, WINDOWS NT, LINUX, NOVELL κλπ) + - Συνεργάζεται με άλλα δημοφιλή προγράμματα μέσω σταθερών προδιαγραφών (ASCII STANDARDS) + - Ασφαλές, αξιόπιστο, On-line, Real-time, εφαρμογή μοντέλου Client - Server + +**Ελάχιστες απαιτήσεις** + +: - Προσωπικός υπολογιστής με επεξεργαστή τύπου 386, λειτουργικό σύστημα DOS έκδοσης 5.0 + - Μνήμη RAM 1ΜΒ + - Δισκέτα 1.44MB + +### [7.6 DS Ασφάλειες - Πραγματογνωμοσύνες]{#ss7.6} + +Διαχειρίζεται εύκολα και ουσιαστικά συμβόλαια ασφαλειών και πραγματογνωμοσύνες. + +**Xαρακτηριστικά** + +: - Διαχειρίζεται ταυτόχρονα πολλές ασφαλιστικές εταιρίες + - Διαχειρίζεται εν ισχύ και ακυρωμένα συμβόλαια πολλαπλών ασφαλιστικών εταιριών + - Διαχειρίζεται και τυπώνει πραγματογνωμοσύνες + - Σας πληροφορεί για οφειλές σε οποιαδήποτε ασφαλιστική εταιρία σε χρονική περίοδο της επιλογής σας + - Διαχειρίζεται χρεώσεις / πιστώσεις ασφαλισμένων (καρτέλα ασφαλισμένου) + +**Μεταβλητότητα** + +: - Δυνατότητα αλλαγής στοιχείων ανά πάσα στιγμή με αυτόματο υπολογισμό + - Διαχειρίζεται πολλαπλές εταιρίες και σε περιβάλλον πολλών χρηστών με συνθηματικά πρόσβασης, προεκτύπωση στην οθόνη και πολλαπλούς εκτυπωτές + +**Περιλαμβάνει** + +: - Πραγματογνωμοσύνες + - Ασφαλιστικά συμβόλαια + - Ακυρωμένα συμβόλαια + - Ασφαλισμένους + - Οφειλές ανά ασφαλιστική εταιρία + - Υπόλοιπα ασφαλισμένων + - Τηλεφωνικό κατάλογο + - Bonus Malus + +**ακόμα και πολλά άλλα, όπως :** + +: - Πλήκτρο άμεσης βοήθειας, επεξεργαστή κειμένου, αριθμητήρα, ημερολόγιο, διαδικασίες φύλαξης - επαναφοράς (backup - restore) + +**Συμβατότητα με** + +: - Λειτουργικό σύστημα ενός ή πολλών χρηστών (WINDOWS, WINDOWS NT κλπ) + - Ασφαλές, αξιόπιστο, On-line, Real-time, εφαρμογή μοντέλου Client - Server + +**Ελάχιστες απαιτήσεις** + +: - Προσωπικός υπολογιστής με επεξεργαστή τύπου 386, λειτουργικό σύστημα Windows 95 + + +### [8. Ενδεικτικές Τιμές]{#s8} + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + \ 900.000 + ΕΞΕΛΙΞΗ ΕΜΠΟΡΙΟ + + ΕΞΕΛΙΞΗ ΕΜΠΟΡΙΟ ΚΑΙ ΑΝΑΛΥΤΙΚΗ ΛΟΓΙΣΤΙΚΗ 1.500.000 + + ΕΞΕΛΙΞΗ ΒΙΟΜΗΧΑΝΙΑ 1.600.000 + + ΕΞΕΛΙΞΗ ΒΙΟΜΗΧΑΝΙΑ ΚΑΙ ΑΝΑΛΥΤΙΚΗ ΛΟΓΙΣΤΙΚΗ 2.300.000 + + ΕΞΕΛΙΞΗ ΜΙΣΘΟΔΟΣΙΑ 350.000 + + DS TRAVEL 350.000 + + DS CASH FLOW 200.000 + + DS GRAPH PLUS 300.000 + + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + +Οι απαιτήσεις των προγραμμάτων (Hardware) κάτω από το λειτουργικό Linux (2.0.x kernel) είναι 386 με 8MB RAM και 80MB HDD + + +### [9. Επικοινωνία]{#s9} + +**DIGITAL SYSTEMS LTD.**\ +Σαρανταπόρου 6, 15342 Αγ.Παρασκευή,\ +τηλ.6003408 fax 6003409\ +[e-mail:Dsm\@beryl.kapatel.gr](mailto:Dsm@beryl.kapatel.gr) + diff --git a/content/articles/15/04_opti.md b/content/articles/15/04_opti.md new file mode 100644 index 0000000..ca53867 --- /dev/null +++ b/content/articles/15/04_opti.md @@ -0,0 +1,133 @@ ++++ +title = 'OPTi82C931 Κάρτα ήχου και 2.2.x kernel.' +date = '' +description = '' +author = 'Παύλος Παρίσσης(mailto:surferpaul@yahoo.com)' +issue = ['Magaz 15'] +issue_weight = 4 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το άρθρο μου στο magaz 12 έλεγε ότι για τους νέους kernels το μόνο που χρειάζεται να κάνει κάποιος για να έχει ήχο με την ασήμαντη OPTi82C931 κάρτα ήχου είναι +να διαβάσει το σχετικό αρχείο στο Documentaion/sound κατάλογο. Αυτό όμως δεν είναι αρκετό, έτσι διαβάστε τα παρακάτω για να έχετε ήχο με την OPTi82C931.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Ας αρχίσουμε από τα απλά , στο /etc/isapnp.conf δεν αλλάζει τίποτα έκτος από την αλλαγή που βλέπετε στο παρακάτώ κομμάτι του : + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + # Multiple choice time, choose one only ! + + # Start dependent functions: priority acceptable + + # Logical device decodes 16 bit IO address lines + + # Minimum IO base address 0x0534 + + # Maximum IO base address 0x0608 + + # IO base alignment 4 bytes + + # Number of IO addresses required: 4 + + (IO 0 (BASE 0x0530)) + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +στους 2.0.x kernels είχαμε 534 ενώ τώρα έχουμε 530, μικρό το κακό. Για να σετάρετε την κάρτα με τα isapnp tools διαβάστε το άρθρο στο magaz 12. + +Μετά κάνουμε compile τον kernel με τα κλασικά βήματα έχοντας μόνο τις παρακάτω επιλογές σαν module στο sound section: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + CONFIG_SOUND=m (Sound card support) + CONFIG_SOUND_OSS=m (OSS sound modules) + CONFIG_SOUND_ADLIB=m (Generic OPL2/OPL3 FM synthesizer support) + CONFIG_SOUND_MPU401=m (MPU-401 support (NOT for SB16)) + CONFIG_SOUND_MSS=m (Microsoft Sound System support) + CONFIG_SOUND_MAD16=m (Support for OPTi MAD16 and/or Mozart based cards) + CONFIG_SOUND_YM3812=m (FM synthesizer (YM3812/OPL-3) support) + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Κάνουμε ότι κάνουμε για να τελειώσει το compile, μην ξεχάσετε να δώσετε + + depmod -a + +μετά το τέλος του compile και το make modules\_install.. + +Μετά γράφουμε τις απαραίτητες ρυθμίσεις στο /etc/conf.modules με την σειρά που τις έχω: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + alias char-major-14 mad16 + + options sb mad16=1 + + options mad16 io=0x530 irq=7 dma=0 dma16=1 mpu_io=0x330 mpu_irq=5 + + options opl3 io=0x388 + + post-install ad1848 /sbin/modprobe "-k" "opl3" + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**ΠΡΟΣΟΧΗ** τα options **ΠΡΕΠΕΙ** να είναι ίδια με αυτά που έχουμε στο isapnp.conf εάν δεν είναι ίδια μουσική δεν ακούσετε όσο και αν θέλετε. + +Και τελειώνουμε φορτώνοντας τις sound modules στο startup script /etc/rc.d/rc.sysinit, το κομμάτι για το Sound πρέπει να γίνει έτσι: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + # load sound modules + if ! grep -i nomodules /proc/cmdline >/dev/null ; then + if [ -n "$USEMODULES" ]; then + # if grep -s "alias sound" /etc/conf.modules > /dev/null ; then + modprobe mad16 + modprobe opl3 + modprobe mpu401 + # OPTi82C931 0 0x07 1 0x07 3 0x09 4 0x14 5 0x3C 6 0x92 + # insmod sound + # if grep -s "alias midi" /etc/conf.modules > /dev/null ; then + # modprobe midi + # fi + # fi + fi + fi + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +μπορείτε να φορτώνετε μόνο την mad16 module για να έχετε ήχο αλλά δεν θα είστε σε θέση να ακούσετε κάποιου τύπου sound αρχείων. Επειδή δεν έχω βρει ακόμα ποιοι +είναι αυτοί εσείς να φορτώνετε και τις τρεις για να μην μου φωνάζετε μετά. + +Επιπλέον το cat /dev/sndstat δίνει διαφορετικά στοιχεία από ότι με τους 2.0.x kernels, πρέπει να λεει τα παρακάτω: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + OSS/Free:3.8s2++-971130 + Load type: Driver loaded as a module + Kernel: Linux localhost.localdomain 2.2.6 #4 Sat May 1 16:55:18 EEST 1999 i586 + Config options: 0 + + Installed drivers: + + Card config: + + Audio devices: + 0: MAD16 WSS (82C930) (DUPLEX) + + Synth devices: + + Midi devices: + 0: Mad16/Mozart + + Timers: + 0: System clock + + Mixers: + 0: MAD16 WSS (82C930) + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Εάν έχουν πάει όλα καλά μετά τα παραπάνω θα ακούτε μουσική στο LinuxBox σας. Εάν όχι, ξαναδιαβάστε τα πάντα και όλα τα manual για modules και τα πάντα στον +/usr/src/linux/Documentation/sound κατάλογο και μην μου στέλνετε mails διότι εγώ σε 10 μέρες είμαι θα είμαι ναύτης:)χαχαχαχαχαχα diff --git a/content/articles/15/05_mailbox.md b/content/articles/15/05_mailbox.md new file mode 100644 index 0000000..578e0bb --- /dev/null +++ b/content/articles/15/05_mailbox.md @@ -0,0 +1,712 @@ ++++ +title = 'Αλληλογραφία' +date = '1999-04-01T00:00:00Z' +description = '' +author = '' +issue = ['Magaz 15'] +issue_weight = 5 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Παρακαλούμε ακολουθήστε τους κάτωθι κανόνες: + +α) Να βάζετε ένα θέμα σχετικό με την ερώτηση στο mail σας. Ένα θέμα της μορφής \"Ερώτηση περί Linux\" δεν βοηθάει ιδιαίτερα.\ +β) Να ρίχνετε και καμμιά ματιά στα περασμένα τεύχη, και εννοώ και τη στήλη της αλληλογραφίας, αλλά και τα άρθρα. Ίσως κάποιες ερωτήσεις να απαντιούνται από +εκεί.\ +Επίσης, παρακαλούμε γράφετε στα ελληνικά. Αν το outlook σας δεν βλέπει ελληνικά, βάλτε linux :-)\ +γ) Απαντήσεις οι οποίες δεν έχουν απαντηθεί, σημαίνει ότι μάλλον δεν ξέρουμε την απάντηση. Ερωτήσεις οι οποίες έρχονται με mail, είναι ΠΟΛΥ ΔΥΣΚΟΛΟ να +απαντηθούν. Προτιμήστε την φόρμα. + +**1. Time\....** +------------------------------------------ + +**2. Γενικά** +--------------------------------------- + +**3. GRkbd** +-------------------------------------- + +**4. Kernel h Suse** +---------------------------------------------- + +**5. Apegatastasi Linux 6.0** +------------------------------------------------------- + +**6. Εκτύπωση σε Lexmark 1000 color jetprinter** +-------------------------------------------------------------------------- + +**7. Α και κάτι άλλο όσο αφορά το KDE 1.0** +--------------------------------------------------------------------- + +**8. Egkatastsh tou Linux** +----------------------------------------------------- + +**9. Προγραμματισμός Linux** +------------------------------------------------------ + +**10. Clock** +----------------------------------------- + +**11. PPP ERROR** +--------------------------------------------- + +**12. compile kernel gia ppp** +---------------------------------------------------------- + +**13. soundblaster menuconfig etc** +--------------------------------------------------------------- + +**14. LINUX + ΑΠΟΡΙΕΣ** +--------------------------------------------------- + +**15. Τι γίνεται με την μνήμη μου στο Linux** +------------------------------------------------------------------------- + +**16. Redhat 5.2 Ή Suse 6.0** +--------------------------------------------------------- + +**17. Ποιος Window Manager?** +--------------------------------------------------------- + +**18. LILO.CONF** +--------------------------------------------- + +**19. LILO.CONF** +--------------------------------------------- + +**20. dial-up networking** +------------------------------------------------------ + +**21. driver** +------------------------------------------ + +**22. SUSE** +---------------------------------------- + +**23. POP mail** +-------------------------------------------- + +**24. X11** +--------------------------------------- + +**25. script** +------------------------------------------ + +**26. Greek** +----------------------------------------- + +**27. NT and SuSe Boot** +---------------------------------------------------- + +**28. τι γίνεται με 2 δίσκους και ΝΤ;** +------------------------------------------------------------------- + +**29. Περί Window Manager και Desktop (2)** +----------------------------------------------------------------------- + +**30. Pou einai to XFGreekFNTS?** +------------------------------------------------------------- + +**31. Συμβατότητα Word, Ελληνικά** +-------------------------------------------------------------- + +**32. Συμβατότητα Word, Ελληνικά** +-------------------------------------------------------------- + +**33. Red Hat & SuSE** +-------------------------------------------------- + +**34. Πρόβλημα με το mouse** +-------------------------------------------------------- + +**35. Προβλήματα με το ποντίκι (2)** +---------------------------------------------------------------- + +**36. kppp** +---------------------------------------- + + +### [1. Time\....]{#s1} + +Από : [Αναστάσης Νάνος](mailto:ravenlord@freemail.gr) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Απάντηση : [Ευριπίδης Παπακώστας](mailto:evris@hellug.gr) + +Έχω ένα ΠΟΛΥ ΣΟΒΑΡΟ ΠΡΟΒΛΗΜΑ\.... ΔΕΝ ΕΧΩ ΧΡΟΝΟ ΓΙΑ ΝΑ ΑΣΧΟΛΗΘΩ ΜΕ ΤΟ LINUX\.....Υπάρχει καμιά λύση? Λοιπόν.. και κάτι άλλο\....η ταχύτητα σύνδεσης στο Internet +με τα ακατονόμαστα είναι πολύ ανώτερη από αυτή στο linux\... με kde, suse 5.2 kai kernel 2.2.0 και 2.0.33\... ακόμα ψάχνομαι\.... + +**ΒΠ :***Αγόρασε ένα πολλαπλασιαστή χρόνου!!! Πολύ πιθανόν να είναι ανώτερη\... Ποιος σου είπε ότι θα βλέπεις μεγαλύτερες ταχύτητες στο linux?? Χμμμ, από εμάς +τι ακριβώς θες???\ +φιλικά, Ευάγγελος. :)))* + +**ΕΠ :***Οντως έχεις ένα πολύ σοβαρό πρόβλημα :-D Περαστικά.* + + +### [2. Γενικά]{#s2} + +Από : [Τσαλίκογλου Ισαάκ](mailto:tcup@bigfoot.com) + +Απάντηση : [Παναγιώτης Βρυώνης](mailto:vrypan@hellug.gr) + +Γεια σας. Θα ήθελα να σας ευχαριστήσω για την τελευταία απάντησή σας. Τώρα έχω το fortune και με καλωσορίζει με ένα quote κάθε φορά που κάνω Login. Είμαι +πραγματικά ενθουσιασμένος με την προσαρμοστικότητα του Linux. Ασχολούμαι από πέρσι τέτοια εποχή, αλλά εδώ και δυο μήνες έχω αρχίσει να ασχολούμαι σοβαρά. \'Εχω +τώρα τον Afterstep και σκέφτομαι να εγκαταστήσω το KDE. Μετά από την εγκατάσταση του KDE, θα μπορώ να γυρνάω σε Afterstep; Επίσης, δοκίμασα να εγκαταστήσω το +WP7 από το bonus cd της redhat 5.2 που έχω και μου έβγαλε λάθος, αφήνοντάς μου 50 ΜΒ άχρηστων αρχείων στο σκληρό, σε διάφορα directories. Πώς γίνεται να πάω στο +parent directory και να σβήσω όλα τα subdirectories χωρίς κάθε φορά να σβήνω πρώτα τα αρχεία και μετά να δίνω rmdir; Πώς γίνεται να κάνω mount το extended DOS +partition μου, το οποίο αντιστοιχεί σε\... + +***AfterStep**: Ναι, θα μπορείς να επιλέγεις τον Window Manager που σου αρέσει. Σίγουρα αυτό μπορεί να γίνει ανά login, δηλ. για να αλλάξεις Window Manager θα +βγαίνεις από τον ένα και θα ξανακάνεις login. Αν το ψάξεις λίγο περισσότερο, είναι δυνατό να γίνει κάτι τέτοιο και χωρίς να \"βγεις\", αλλά θα έχεις το πρόβλημα +ότι ο AfterStep δεν είναι KDE-aware (έτσι νομίζω) οπότε πολλές από τις εφαρμογές του KDE θα σου παρουσιάζουν προβλήματα όταν τις τρέχεις με αυτόν. Καλή ιδέα +είναι να κατεβάσεις τον τελευταίο [WindowMaker](http://www.windowmaker.org) που μοιάζει πολύ με τον AfterStep και είναι KDE-compliant.* + +***WodrPerfect** rpm -e xwp ή απεγκατάσταση από το glint είναι το ίδιο πράγμα. Και στις δύο περιπτώσεις σαν root.* + +*Εννοείς \"rm -rf /opt/xwp\" ? Αφού έχεις εγκαταστήσει το RPM καλό είναι να κάνεις την απεγκατάσταση όπως λέω παραπάνω. Και προσοχή!!! Το rm -rf είναι ΠΟΛΥ +ΕΠΙΚΥΝΔΥΝΟ!!! (μπορείς να δώσεις λάθος directory και να σβήσεις ΤΑ ΠΑΝΤΑ!!!)\ +**DOS Partition**: \"mount -t vfat /dev/hda1 /mnt/dos\", αν υποθέσουμε ότι είναι στο πρώτο partition του πρώτου δίσκου και υπάρχει το directory /mnt/dos* + + +### [3. GRkbd]{#s3} + +Από : [Αβράμης Χρ. Γεωργιάδης](mailto:avraam@cytanet.com.cy) + +Απάντηση : [Θρασύβουλος Κοτσιφάκης](mailto:tkots@softhome.net) + +\'Εχω εγκαταστήσει το GRkbd-1.2-1.i386.rpm και την γραμματοσειρά GRArialType 1.0.5-1.noarch.rpm. Μπορώ και διαβάζω ελληνικά στο Διαδίκτυον μέσω του +Netscape-communicator 4.08 αλλά δεν μπορώ να γράψω ελληνικούς χαρακτήρες. Αυτό το μήνυμα σας το στέλλω μέσω την windows. \'Ετρεξα την εντολή : rpm -ql GRkbd και +μου έβγαλε την λίστα πού έβαλε τα αρχεία. Δοκίμασα να ανοίξω το αρχείο README με τον joe αλλά τα γράμματα δεν διαβάζονταν, ήταν ακαταλαβίστικα. Η ερώτηση μου +είναι: Με αυτά που έχω εγκαταστήσει μπορώ να γράφω ελληνικά; Πώς; Ευχαριστώ για την βοήθεια. + +*Magaz τεύχος Μαρτίου 13 Magaz τεύχη 1998 τεύχη 6, 10. HELLENIC HOWTO* + + +### [4. Kernel h Suse]{#s4} + +Από : [Dimitris fasoulakhs](mailto:dimitris1@usa.net) + +Απάντηση : [Θρασύβουλος Κοτσιφάκης](mailto:tkots@softhome.net) + +Λοιπόν παιδιά αγόρασα προχθές το RAM και είχε μέσα το CD με το Kernel και το Suse, δεν είμαι σίγουρος αν είναι καλά γι αυτό θέλω να μου πεις εσύ\... ποιο μου +προτείνετε να εγκαταστήσω; + +*Ούτε το ένα ούτε το άλλο.\ +Α. Το Suse που έχει το RAM δεν τρέχει (ρίξε μία ματιά στο http://www.step.gr/ )\ +Β. Το kernel παίζει αλλά χωρίς SUSE ή κάποια άλλη διανομή με προγράμματα για linux δεν κάνει τίποτα αφού ένας μόνος πυρήνας δεν φέρνει την άνοιξη.* + + +### [5. Apegatastasi Linux 6.0]{#s5} + +Από : [Nikos Papachristos](mailto:pap01@hotmail.com) + +Απάντηση : [Θρασύβουλος Κοτσιφάκης](mailto:tkots@softhome.net) + +Απάντηση : [Ευριπίδης Παπακώστας](mailto:evris@hellug.gr) + +Εγκατέστησα το SuSE Linux 6.0. Στην προσπάθειά μου όμως να το απεγκαταστήσω και αφού έκανα format από το DOS, και FDISK και επέλεξα \"delete Non-DOS Partition\" +είδα ότι όταν το dos έκανε boot, μου έβγαζε το μήνυμα: \"LI\" και κόλλαγε. Το \"LI\" είναι το αρχικό από το LILO boot που σημαίνει ότι κάπου μέσα στο δίσκο μου +έχει μείνει ένα τμήμα του Linux. Πώς μπορώ να το απεγκαταστήσω εντελώς και να κάνω boot από το dos? Παρακαλώ απαντήστε μου με e-mail. Ευχαριστώ για το χρόνο +σας. + +**ΘΚ :***Κάνε και ένα :\ +fdisk /mbr\ +για να έλθει το master boot record στα ίσια του.* + +**ΕΠ :***kane fdisk /MBR apo to DOS na figei to LInux LOader apo to Master Boot Record tou sklirou sou (ekei tora pou tha vgaleis to linux einai o xoros pou +bainoun oi ioi gia MS windows).* + + +### [6. Εκτύπωση σε Lexmark 1000 color jetprinter]{#s6} + +Από : [Χρήστος Τόλης](mailto:c_tolis@hotmail.com) + +Απάντηση : [Θρασύβουλος Κοτσιφάκης](mailto:tkots@softhome.net) + +Έχω τη διανομή Linux slackware 3.6 Τι πρέπει να κάνω για να μπορέσω να εκτυπώσω στον Lexmark 1000? έχω διαβάσει το How-To από το Cd με το slackware αλλά τίποτα. +Πως μπορώ να αγοράσω το SuSE Linux 6 ? Ευχαριστώ . + +*Μία βόλτα μου στο dejanews μου έδωσε την εξής απάντηση:\ +\"it appears that this printer is not supported under linux. It\'s hardware along the same principle as a winmodem.\"\ +Όπως φαίνεται \...ατύχησες , έχεις printer που δουλεύει μόνο σε WINDOWS (GDI printers μου φαίνεται ότι τους λένε)\ +SUSE 6.0\ +Τώρα θες να ασχοληθούμε και με την \"γκρίζα διαφήμιση\" Τέλος πάντων \... πήγαινε στο: [\.....Για την ευγενή προσφορά του δίσκου του server μας, και την +γενικότερη βοήθεια προς το HELLUG\.....](http://server.hellug.gr/LUGistics/el/pub/SPONSORS_main.php.3). Κλικ στο URL και νάτο το SUSE 6.0* + + +### [7. Α και κάτι άλλο όσο αφορά το KDE 1.0]{#s7} + +Από : [Χρήστος Τόλης](mailto:c_tolis@hotmail.com) + +Απάντηση : [Θρασύβουλος Κοτσιφάκης](mailto:tkots@softhome.net) + +Το KDE 1.0 όταν πάω σε ένα site με τον Netscape Communicator πάει απελπιστικά αργά ! και ο σκληρός δίσκος δουλεύει σαν τρελός. Τι γίνεται ? γιατί έτσι ρε +γαμώτο? Τι απαιτήσεις τελικά έχει αυτό το KDE ? έχω 32mbytes RAM. αν θέλεις ρίξε μια απάντηση. + +*Αμ δεν τον βοηθάς και \'συ. Σπρώξτον λίγο να πάει πιο γρήγορα ! Μήπως δεν έχεις σετάρει καλά το modem σου και την σειριακή ; Ο σκληρός σου δεν είναι μάλλον +πολύ σκληρός \...για να πεθάνει. \`Ανοιξε ένα παραθυράκι με το xosview για να δεις , μήπως το swap σου φορτώνεται όταν δουλεύει ο Νetscape ;\ +Απαιτήσεις ο KDE ; Καμμία παραπάνω από των WIN 9X. Αλλά δεν καταλαβαίνω , γιατί παραπονιέσαι; Αν θες γραφικό περιβάλλον και διάφορα όμορφα και χρωματιστά +παραθυροπρογραμματάκια πρέπει να πληρώσεις και το ανάλογο τίμημα -αυτό της αναμονής-. Βλέπεις τώρα γιατί οι περισσότεροι από \'μας επιμένουν \"κονσολικά\"; (Αν +και τώρα που γράφω αυτή την απάντηση το κάνω από ένα παραθύρι του Kfm -πάει σφαίρα ο kde μου- ) Έχεις 32MB ram. Kαι κάρτα γραφικών; Kαι επεξεργαστή ; Kαι +VERSION του ΧSERVER ;* + + +### [8. Egkatastsh tou Linux]{#s8} + +Από : [G. Sarantopoulos](mailto:3gymn@acropolis.net) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Exw ena ypologisti P75 me 2 diskous enan 6.4 kai ena 1.2 . Ston 6.4 exw 2 partitions me ta win95 .Thelw na egkatastiso to Linux sto disko ton deutereuonta +(1.2Gb). Diabazw oti thelw 2 partitions alla pws tha kanw egkatastash xoris na xalasw tipota sto disko me ta \"95\" kai pws tha toy pw na egkatastisei to LILO +kai se poio disko tha ginei ayto Eyxaristo ek ton proteron gia to xrono sas. G. Sarantopoulos + +*Κάνε format στον 1.2, βάλε στο CDROM το distribution σου, κάνε boot, και όταν σε ρωτήσει που να το εγκαταστήσει, (το linux) πέστου στον:* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + hdb\ +και στις σελίδες support του isp.* + + +### [12. compile kernel gia ppp]{#s12} + +Από : [Sotiris Ganouris](mailto:kotsman@usa.net) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +hi\... μετά από πολλές προσπάθειες κατάφερα να μη μου βγάζει το μήνυμα ότι ο daemon πέθανε και να συνδέεται κανονικά (τo kppp) (πολλές φορές μου βγάζει timeout +errors όμως γιατί) αλλά όμως να μην υπάρχει επικοινωνία με το πρωτόκολλο (μάλλον) δηλαδή να μην στέλνονται ή να λαμβάνονται δεδομένα. Διάβασα σε ένα faq ότι +πρέπει να κάνω compile τον kernel να υποστηρίζει ppp. Πιστεύω πως κατάφερα κάτι τέτοιο αφού έχω κάνει compile (make menuconfig dep clean zImage zlilo) πολλές +φορές. Αλλά πάλι στο dmesg δεν μου βγάζει τίποτα μηνύματα ότι υποστηρίζεται το PPP και μάλλον αυτό φταίει. Χρησιμοποιώ το suse linux 6.0. Σωτήρης. p.s. Δεν +υπάρχει ο netscape σε αυτό το πακέτο;(suse 6.0) + +*Σου βγάζει timeout errors γιατί το timeout είναι μικρό. Αύξησέ το από το **setup-Device-Modem Timeout**.\ +Για τα δεδομένα που λες, μάλλον παίρνει αλλά δεν έχεις βάλει τους DNS (Domain Name Servers) στο kppp. Κάπου στο **setup-account-edit** βάλε τους DNS του παροχέα +σου.\ +Το netscape (και όχι \`\`ο\'\' Νetscape όπως \`\`o\'\' M\$ internet eksp10rer) υπάρχει μέσα σε ένα από τα CD του suse.\ +\`Αντε, αν και οι απαντήσεις σου έχουν απαντηθεί όλες σε προηγούμενα τεύχη του magaz, σήμερα με βρήκες στις καλές μου\...* + + +### [13. soundblaster menuconfig etc]{#s13} + +Από : [Τσικλίδης Γρηγόρης](mailto:grtsik@groovy.gr) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Γεια σας Είπα και γω να μπω στο θαυμαστό κόσμο του Linux και πλάκωσαν τα προβλήματα. Απόκτησα την έκδοση 6.0 του SuSE Linux και είπα να κάνω εγκατάσταση σε +άδειο δίσκο 3,2 GB. Παρουσιάστηκαν όμως αρκετά προβλήματα, αν και έχω ανατρέξει στα manual, τα HOW-TO\'s και άλλες οδηγίες από το on line magazine σας. Θα +εκτιμούσα πολύ αν διαθέτατε λίγο από τον ελεύθερο χρόνο σας για τα εξής: 1) Soundblaster 16 (original).Δεν μπορώ να τη στήσω με τίποτα. Δοκιμάζω από το +/usr/src/linux την εντολή make menuconfig και μου βγάζει μήνυμα \"gcc: command not found\" και άλλα πολλά. 2) PPP σύνδεση σε ρυθμό κειμένου. Μπαίνω κανονικά στη +groovynet και αφού δώσω login και password ξεκινά η σύνδεση με dynamic PPP. Και μετά τι γίνεται; Πώς εργαζόμαστε (μήπως υπάρχει κάποιο σαν εκείνο το άγιο +προγραμματάκι που λεγόταν Procomm Plus για Dos;) 3) PPP σύνδεση + +*Η soundblaster είναι plug&play? Αν όχι βάλτην στον πυρήνα, θα δουλέψει 100%. Αν είναι, ψάξε στα isapnptools που περιέχονται στο suse6. Διάβασε το help τους, +και αν δεν τα καταφέρεις, ξαναστείλε mail.\ +Σε \"ρυθμό κειμένου\" (λέγε το κονσόλα άλλη φορά, ok?) προφανώς δεν έχεις βάλει τους DNS. Βάλε στο αρχείο /etc/resolv.conf τη γραμμή +**`"nameserver xxx.xxx.xxx.xxx"`** όπου xxx.xxx.xxx.xxx είναι ο DNS του παροχέα σου.\ +Δεν μπόρεσα να δω την τρίτη ερώτησή σου. Ξαναστείλε τη.\ +φιλικά, vagelis* + + +### [14. LINUX + ΑΠΟΡΙΕΣ]{#s14} + +Από : [ΣΑΡΙΔΑΚΗΣ ΜΑΝ](mailto:logica@agn.forthnet.gr) + +Απάντηση : [Ευριπίδης Παπακώστας](mailto:evris@hellug.gr) + +1.ΑΝ ΜΠΟΡΕΙ ΝΑ ΓΙΝΕΙ ΕΓΚΑΤΑΣΤΑΣΗ SERVER Η/Υ PENT.II 400mHZ 2.ΑΝ ΥΠΟΣΤΙΡΙΖΕΙ MULTI SERIAL PORTS ΚΑΙ ΠΟΙΑ 3.ΑΝ ΜΠΟΡΕΙ ΝΑ ΣΥΝΔΕΘΕΙ ΠΑΝΩ ΣΤΟΝ SERVER ΤΕΡΜΑΤΙΚΟ WYSE. +4.ΠΩΣ ΠΡΕΠΕΙ ΝΑ ΕΙΝΑΙ ΦΤΙΑΓΜΕΝΑ ΤΑ ΚΑΛΩΔΙΑ ΑΠΟ ΤΙΣ ΑΚΡΕΣ (SERVER-ΤΕΡΜΑΤΙΚΑ) 5.ΑΝ ΜΠΟΡΟΥΜΕ ΝΑ ΧΡΗΣΙΜΟΠΟΙΗΣΟΥΜΕ ΚΑΡΤΕΣ ΔΥΚΤΙΟΥ 16bit Ή PCI ΚΑΛΩΔΙΟ CAT-5 ΚΑΙ HUB. + +*1. Ναι με Linux μπορείς να έχεις και εσύ έναν αληθινό server σε Pentium.\ +2. Ναι. Αλλωστε αν δεν υποστηρίζονται από Unix που αλλού μένει να χρησιμοποιηθούν (Win 98 terminals/ winmodem access servers); Στα σίγουρα Digi, Cyclades, \... +κοίτα το serial howto για περισσότερες λεπτομέρειες, ή το compatibility list της κάθε Linux διανομής για λεπτομέρειες.\ +3. Ναι αν είναι ένα κοινό τερματικό (vt100,110,200,220,\...)\ +4. Κοίτα το manual του τερματικού σου. Αλλα θέλουν καλώδιο με αντεστραμμένο send/receive ζεύγος (π.χ. το VISA) άλλα όχι (π.χ. τα HP). Πάντως δεν έχει καμμία +διαφορά από το να το συνδέσεις σε οποιοδήποτε άλλο Unix (είτε κατευθείαν στην serial του Η/Υ ή στην multiserial συσκευή). Αν βαριέσαι βρεις τα καλώδια εσύ που +να δεις εμείς.* + + +### [15. Τι γίνεται με την μνήμη μου στο Linux]{#s15} + +Από : [Χρήστος Τόλης](mailto:c_tolis@hotmail.com) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Όταν γράφω την εντολή free μου δείχνει ότι έχω μόνο 1 - 2mbytes free. Η υπόλοιπη τι γίνεται? Το KDE πάει σαν Κόταααααααααααααααα - έλεγξα αυτά που μου είπες +αλλά τίποτα - και λέω μήπως φταίει η γ\...\.... η μνήμη , άσε που μου γράφει ότι υπάρχει πρόβλημα με τις βιβλιοθήκες (jpeg!) Έβαλα ελληνικά αλλά στο Netscape +Navigator το μέγεθος των γραμματοσειρών είναι μικρό. Αυτά τα ολίγα - ευχαριστώ - . + +*Η υπόλοιπη μνήμη είναι cashed, και για αυτό η free σου αναφέρει λίγη. Do not worry, αν το μηχάνημά σου τη χρειαστεί, θα την πάρει\...\ +Δεν ξέρω/θυμάμαι τι σου είπαν/είπα, αλλά έλεγξε αν φορτώνεις πολλά από τα kdoειδή προγράμματα τα οποία να μην χρειάζεσαι.\ +Για την βιβλιοθήκη jpg, απλά πάρε το πιο καινούριο πακέτο. Παντού υπάρχει\... λέγεται libjpg αλλά δεν θυμάμαι σε τι έκδοση βρίσκεται :)))\ +Για τα fonts στο netscape, μεγάλωσέ τα από το **edit-preferences-fonts** για τα encodings iso-8859-1 και iso-8859-7.\ +Φιλικά και καλό Πάσχα, Βαγγέλης.* + + +### [16. Redhat 5.2 Ή Suse 6.0]{#s16} + +Από : [Βασιλειάδης Χρύσανθος](mailto:vasilias@enl.auth.gr) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Αυτόν τον μήνα των γιορτών το RAM δίνει δώρο το Suse 60\....προχθές εγώ όμως πήρα σε cd to Redhat 5.2\....τελικά τι με συμφέρει να εγκαταστήσω και γιατί? +παλιότερα είχα τα slackware kai redhat 5.0 από τα οποία το redhat μου άρεσε αφάνταστα!!!! Ευχαριστώ\....φιλικά\...Χρύσανθος + +*Βάλε RedHat, όχι για κανένα άλλο λόγο, αλλά γιατί το CD του RAM δεν δουλεύει\... :)))\ +Φιλικά, Βαγγέλης.* + + +### [17. Ποιος Window Manager?]{#s17} + +Από : [Σωτήρης Παρμάκης](mailto:sotpar@geocities.com) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Ποιος θεωρείται τώρα ο καλύτερος window manager για Linux? Προς το παρόν έχω KDE αλλά τώρα σκέφτομαί να βάλω Gnome + +*Αν διαβάσεις ένα άρθρο στο [magaz](http://magaz.hellug.gr) που βρίσκεται [εδώ](../10/03_gnome.html), θα δεις ότι το Gnome δεν είναι window manager!\ +Πάντως, είναι πολύ καλό, βάλτο.\ +Να θυμάσαι, ότι wm καλός είναι ο ελαφρύς wm. Θα σου συνιστούσα να βάλεις τον icewm (αν είσαι νέος στο linux θα τον εκτιμήσεις ιδιαίτερα) ή τον windowmaker.\ +Εμείς πέρα από προτάσεις δεν μπορούμε να σου πούμε τίποτα άλλο\... Περί ορέξεως, **κολοκυθόπιτα** :)))\ +Φιλικά, Βαγγέλης* + + +### [18. LILO.CONF]{#s18} + +Από : [Νταής Γιώργος](mailto:Ackroyd_2@Hotmail.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Έχω εγκαταστήσει το Linux RedHat 5.2. Το πρόβλημα είναι ότι ό,τι και αν αλλάξω στο αρχείο /etc/lilo.conf (π.χ. χρησιμοποιώντας τον vi editor), το lilo δεν +αλλάζει τη συμπεριφορά του. Για παράδειγμα άλλαξα το timeout από 50 σε 20, αλλά μάταια. Το πιο σπουδαίο είναι ότι δεν μπορώ να αλλάξω το path για το νέο kernel +που εγκαθιστώ! Το αρχείο lilo.conf, ως αρχείο, αλλάζει, αλλά το lilo δεν ενδιαφέρεται για τις αλλαγές. Έλεγξα τα permissions, δεν υπάρχει πρόβλημα για + +### [19. LILO.CONF]{#s19} + +Από : [Νταής Γιώργος](mailto:Ackroyd_2@Hotmail.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Έχω εγκαταστήσει το Linux RedHat 5.2. Το πρόβλημα είναι ότι ό,τι και αν αλλάξω στο αρχείο /etc/lilo.conf (π.χ. χρησιμοποιώντας τον vi editor), το lilo δεν +αλλάζει τη συμπεριφορά του. Για παράδειγμα άλλαξα το timeout από 50 σε 20, αλλά μάταια. Το πιο σπουδαίο είναι ότι δεν μπορώ να αλλάξω το path για το νέο kernel +που εγκαθιστώ! Το αρχείο lilo.conf, ως αρχείο, αλλάζει, αλλά το lilo δεν ενδιαφέρεται για τις αλλαγές. Έλεγξα τα permissions, δεν υπάρχει πρόβλημα για το αρχείο +lilo.conf. Τι να κάνω; + +*Γιώργο, για να ενεργοποιηθούν οι αλλαγές, πρέπει να ξανατρέξεις το lilo ώστε να ενημερωθεί. Δηλαδή, μετά από κάθε αλλαγή που κανείς, τρέξε το /sbin/lilo. Για +πιο πολλές πληροφορίες, man lilo.* + + +### [20. dial-up networking]{#s20} + +Από : [Λαζαρίδης Κωστας](mailto:kostalfi@med.auth.gr) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Είμαι καινούριος χρηστής του Λινουξ. Για την ακρίβεια αγόρασα ένα πακέτο suse 6.0 Το εγκατέστησα χωρίς προβλήματα με μόνη εξαίρεση ότι δεν μπορώ να κάνω dial up +networking στο ΑΠΘ oπου δεν υπάρχει πλέον unix server αλλά dial-up server win95/98.τι setup πρέπει να κάνω στο κppp ώστε να γίνει η σύνδεση; ακόμα δεν βρήκα πως +ρυθμίζουμε τον kernel στα απλά X-windows eνω to βρήκα στα win95-like!! + +*Φίλε Κώστα, [Πήγαινε εδώ](http://www.linux-howto.com/ptHOWTO/PPP-HOWTO) να ρίξεις μια ματιά\... Το ότι το ΑΠΘ δεν έχει unix δεν έχει καμία σχέση με το αν εσύ +μπορείς να συνδεθείς ή όχι\...\ +Φιλικά, Βαγγέλης.* + + +### [21. driver]{#s21} + +Από : [παχνης Κώστας](mailto:kpachnis@yahoo.com) + +Απάντηση : [Θρασύβουλος Κοτσιφάκης](mailto:tkots@softhome.net) + +Μήπως υπάρχει driver για την creative 3d blaster banshee για Linux? Εχω το s.u.s.e linux 6.0 και δεν μου την αναγνωρίζει ΕΥΧΑΡΙΣΤΩ! + +*Πραγματικά ευχή μου να ρίχνατε όλοι εσείς που στέλνετε τέτοιου είδους mail μία ματιά στα sites των distribution σας.\ +Φίλε μου η **SUSE** έχει βγάλει με τα updates για το 6.0 και **SERVER** για τις banshee κατέβασέ τον διάβασε το documentation και σέταρέ την.* + + +### [22. SUSE]{#s22} + +Από : [Τσιμπινός Βαγγελης](mailto:ktsib@tee.gr) + +Απάντηση : [Θρασύβουλος Κοτσιφάκης](mailto:tkots@softhome.net) + +Mπορείτε μήπως να μου πείτε πια είναι η διαφορά ανάμεσα στα distributions Redahat, Slackware , SUSE ??????? (Kαι φυσικά ποια είναι η καλύτερη από όλες τις +απόψεις) Ευχαριστώ + +*Η βασική διαφορά είναι στον τρόπο εγκατάστασης των πακέτων και στο administration του συστήματος. Το Red Hat 5.0 χρησιμοποιεί για administration το linuxconf +και GLINT Το SuSe το YAST Το Slackware το δικό του setup Τα δύο πρώτα εγκαθιστούν rpm πακέτα ενώ το Slack .tgz (tar gzipped)\ +Ποια είναι η καλύτερη; Εγώ έχω SuSe,ο Βαγγέλης προτιμά Red Hat, κάποιος άλλος Caldera open και κάποιος άλλος Slack. Βάλε όποια θες. Όλες Linux είναι.* + + +### [23. POP mail]{#s23} + +Από : [Kossikidis Dimitris](mailto:fanatic_gr@hotmail.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Αγαπητοί συντάκτες του ηλεκτρονικού περιοδικού. Έχω εγκατεστημένο το RedHat 5.2 και θέλω να μάθω αν μπορώ, και πώς, να κάνω το linuxάκι μου να είναι POP server, +έτσι ώστε τις ώρες που είμαι on line να μπορώ να παίρνω mail. Προς το παρόν μόνο στέλνω\... :-) + +*Δεν θέλεις να κάνεις το μηχάνημα σου POP server. Θέλεις απλά έναν pop client όπως το pine, το elm (για κονσόλα), το netscape ή το xfmail (για X-windows). Οι +ρυθμίσεις του δε, δεν έχουν καμμία σχέση με το Linux, αλλά εξαρτώνται από τον εκάστοτε client που θα επιλέξεις.* + + +### [24. X11]{#s24} + +Από : [Τσιμπινός Βαγγέλης](mailto:ktsib@tee.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Θα ήθελα να ρωτήσω τι ακριβώς είναι τα Χ11 libraries and headers\..... καθώς επίσης που μπορώ να τα βρω Ευχαριστώ + +*Είναι, όπως λεει και το όνομα τους, libraries και headers. Αν δεν ξέρεις τι είναι αυτά, μην ασχολείσαι. Θα τα βρεις στο CD από όπου εγκατέστησες το Linux.* + + +### [25. script]{#s25} + +Από : [Tσιμπινός Βαγγέλης](mailto:ktsib@tee.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Απάντηση : [Ευριπίδης Παπακώστας](mailto:evris@hellug.gr) + +Θα ήθελα επίσης να ρωτήσω πως θα ήταν δυνατόν να δημιουργήσω ένα εκτελέσιμο αρχείο από το linux και να μπορεί να τρέχει σε περιβάλλον windows??????????? +Ευχαριστώ + +**ΜΚ :***Να το κάνεις compile με τρόπο που να καταλαβαίνουν τα Windows. Αν δεν είσαι προγραμματιστής, ξέχασε το. Αν είσαι προγραμματιστής, πρέπει να το ξέρεις +καλύτερα από εμάς που δεν είμαστε.* + +**ΕΠ :** *Αν μπορούσαν τα windows να τρέχουν natively τα binaries του Linux γιατί να έμπαινες στον κόπο να βάλεις Linux; Το αντίθετο πάντως μπορείς υπό +προϋποθέσεις να το κάνεις.* + + +### [26. Greek]{#s26} + +Από : [Manolis Hourdakis](mailto:aqua@her.forthnet.gr) + +Απάντηση : [Θρασύβουλος Κοτσιφάκης](mailto:tkots@softhome.net) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Γεια σας. Εδώ και καιρό προσπαθώ να εγκαταστήσω ελληνικές γραμματοσειρές στα Χ και συγκεκριμένα στο netscape. Ακολούθησα τις οδηγίες και τα ta links στο +www.linux.gr (Εγκατάσταση Ελληνικών) αλλά καμμιά από αυτές δεν λειτουργούσε. Σας παρακαλώ να ξανανεβάσετε αυτά τα αρχεία. Φιλικά, Μανώλης \'MMXGN\' Χουρδάκης. + +**ΘΚ :***Κοίταξε στο τεύχος 13 του magaz το άρθρο \"Ελληνικά στο Red Hat 5.0\" Τα link που καλoύν τον argea δεν ισχύουν. Κοίτα στο τέλος του παραπάνω άρθρου για +τις διευθύνσεις που σε ενδιαφέρουν.* + +**ΒΠ :***Ρε φιλαράκο, καλά όλα αυτά, στο magaz έψαξες? Στο προτελευταίο τεύχος ( [δηλαδή εδώ](../13/03_grredhat2.html)), υπάρχει ένα άρθρο για το πως να βάλεις +ελληνικά και στο netscape αλλά και στα Χ, αλλά και στην κονσόλα. Η διαδικασία είναι απλούστατη\...\ +φιλικά, Vagoulas.* + + +### [27. NT and SuSe Boot]{#s27} + +Από : [Κώστας Καρακοντάκης](mailto:kokar@poboxes.com) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Εχω στο σύστημα μου win98,win NT και SuSe Linux.Τα δύο στο 1ο μου δίσκο και το linux στο δεύτερο. Πώς θα έχω την δυνατότητα να προσθέσω στο boot των ΝΤ την +επιλογή για linux? Ο πρώτος μου δίσκος έχει ένα partition FAT16 200mb,ενα partition NTFS 800mb και ένα FAT32 4gb.Ο δεύτερος ένα linux ext2 1.5gb (logical) και +ένα FAT32 1.5gb Προσπάθησα να χρησιμοποιήσω το bootpart αλλά χωρίς αποτέλεσμα. Δώστε μου τα φώτα σας pleassse. + +*emeis gia linux mporoume na sou dosoume apantisi, oxi gia ta NT\...* + + +### [28. τι γίνεται με 2 δίσκους και ΝΤ;]{#s28} + +Από : [Δημήτρης Στραντζιας](mailto:athina@netfiles.gr) + +Απάντηση : [Ευριπίδης Παπακώστας](mailto:evris@hellug.gr) + +Αγαπητοί φίλοι, Είμαι παλιός φίλος των υπολογιστών, και προγραμματίζω σε C++ σε περιβάλλον ms Windows.Πρώτη φορά σκέφθηκα για το Linux πριν από δύο χρόνια +περίπου όταν ξεκίνησα να γίνω ISP . Απογοητεύθηκα. Δεν μπόρεσα να κάνω εγκατάσταση. Τώρα εγκατέλειψα, έκλεισα τον κόμβο που είχα και βρήκα περισσότερο ελεύθερο +χρόνο, ώστε να ασχοληθώ πάλι με προγραμματισμό. Ευκαιρία. Ένας φίλος και συνεργάτης, άκουσε για το Linux και σκέφθηκε ότι πιθανώς να χρειαστεί να μεταφέρει το +software που έφτιαξε και πουλάει σε πλατφόρμα ms windows - σχεδιαστικό πακέτο γραμμένο εξ ολοκλήρου σε C++ - σε περιβάλλον Unix - Linux. Πριν από 20-25 μέρες, +ένας φίλος με έδωσε το βιβλίο \"Βίβλος του Linux\" έκδοση 95 ή 96.Πρώτη φορά άρχισα να ασχολούμαι με Unix clone. Πήρα το Redhat 5.1, το εγκατέστησα σε ένα +σκληρό δίσκο όπου είχα και τα windows NT v.4.00, έκανα ότι μου έλεγε το manual και από τις επιλογές του boot.ini των ΝΤ, διάλεγα ΝΤ ή Linux. Πήρα κατόπιν το +SuSe 6.00 και φαίνεται ή ότι οι οδηγίες δεν ήταν κατάλληλα γραμμένες ή έκανα κάποιο λάθος. Αποτέλεσμα. Μπερδεμένα πράγματα. Το νέο kernel (2.0.36) δεν έκανε +καλό compilation και ένα σωρό μηνύματα λάθους στην εκκίνηση του lilo? ls-loader?. Σβήνω τα partition, προσπαθώ να κάνω νέα με το SuSe δεν καταφέρνω να κάνω swap +partition. Πάλι από την αρχή με το Redhat, κάνω partition το εγκαθιστώ, και αρχίζω με το SuSe ( αυθεντική έκδοση από Παπασωτηρίου) με επιλογή install from +scratch. Τώρα βλέπει το swap,κάνει ότι κάνει και τέλος με ρωτάει. Θέλεις LILO? θέλω του λέω. -Master Boot Manager or boot record in your partition? -Boot record +του λέω. Πάω μετά να ξεκινήσω το μηχανάκι, και αρχίζει να φορτώνει LILO. Μπουτάρω με dos δισκέτα, βλέπω στο C:\\ και βλέπω φορτωμένα αρχεία του linux και +πουθενά το boot.ini των ΝΤ. Λέω λάθος, πάω να φορτώσω τα ΝΤ σε ένα σημείο κάνει επανεκκίνηση το μηχανάκι και μπροστά μου πάλι LILO.. Κάνω fdisk, format πάλι +lilo. - εκ των υστέρων έμαθα ότι χρειάζεται fdisk/MBR αλλά πολύ αργότερα. Αλλάζω σειρά τους δίσκους κάνω τον master - slave και τουναπάλιν και εγκαθιστώ στον +master τα ΝΤ και σε partition του slave το SuSe v.6.00. Τώρα πλέον όλα λειτουργούν κανονικά, με μια μικρή λεπτομέρεια. Μπουτάρω στο linux από δισκέτα. Το \#dd +if=/dev/hdan of=/bootsect.lnx bs=512 count=1 και η πρόσθεση του Bootsect.lnx στον boot δίσκο και η ανάλογη εγγραφή στο boot.ini των ΝΤ, έχουν αποτέλεσμα μόνο αν +τα δυο λειτουργικά τρέχουν στον ίδιο σκληρό. Δεν ξέρω τι να κάνω τώρα. Αυτά για πρώτη φορά και ένα μεγάλο συγνώμη για τον χρόνο που σας απασχολώ. Ευχαριστώ +Στράντζιας Δημήτρης + +*Για NT, Win, DOS, Linux κλπ στον ίδιο δίσκο να πας στο http://www.hellug.gr/gr/howto/howto/pub/html/index-4.html κάτι ίσως να βρεις εκεί που να σε +βοηθήσει\...* + + +### [29. Περί Window Manager και Desktop (2)]{#s29} + +Από : [Σωτήρης Παρμάκης](mailto:sotpar@geocities.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Επανέρχομαι στο θέμα window manager και desktop. Είδα στο Linuxberg πως ένας πολύ καλός συνδυασμός winow manager και desktop είναι το fvwm2gnome. +(http://fvwm2gnome.fluid.cx/) Όμως έχω ακούσει πως το fvwm2 βασίζεται σε εμπορικές -όχι GPL- libraries. (όπως άλλωστε και το KDE)(κάτι που είναι αντίθετο με τη +φιλοσοφία του gnome) Και κάτι άλλο. Μιας και είμαι αρχάριος χρήστης του Linux θα ήθελα να μου προτείνετε ένα βιβλίο ώστε να μη με πιάνει πονοκέφαλος κάθε φορά +που booτάρω σε Linux, (να μάθω να το χρησιμοποιώ) και να απαλλαγώ απ\'τα ακατονόμαστα. + +*Την ερώτηση για τους window managers δεν την κατάλαβα. Ήταν ερώτηση ή παρατήρηση; Για τα βιβλία, μια βόλτα στον Παπασωτηρίου θα σου λύσει τις απορίες.* + + +### [30. Pou einai to XFGreekFNTS?]{#s30} + +Από : [Tsalicoglou Isaac](mailto:tcup@bigfoot.com) + +Απάντηση : [Ευριπίδης Παπακώστας](mailto:evris@hellug.gr) + +Γεια σας, διάβασα τις οδηγίες σας για την εγκατάσταση ελληνικών παντού στο linux. Έχω ήδη βάλει ελληνικά εδώ και καιρό, αλλά τα ελληνικά για Χ δεν μπορώ να τα +βάλω. Στις οδηγίες λετε να κατεβάσω το XFGreekFNTS-1-1.noarch.rpm από το argeas.cs-net.gr. Είναι το μοναδικό αρχείο από αυτά που λετε που δεν βρήκα. Πού μπορώ +να το βρω; Sorry gia ta greeklish, alla de mpaino windoze 98 pia - ekei pou exo ellinika, an kai ta g\...\.... den typonoun ellinika ;-) TIA Isaac + +*πήγαινε στο members.xoom.com/Vrypan και θα βρεις αρκετά πράγματα εκεί.* + + +### [31. Συμβατότητα Word, Ελληνικά]{#s31} + +Από : [Τάκης Άλβας](mailto:alvas@freemail.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + + +### [32. Συμβατότητα Word, Ελληνικά]{#s32} + +Από : [Τάκης Άλβας](mailto:alvas@freemail.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Κάτι που με προβληματίζει στο Linux είναι αν υπάρχει δυνατότητα ανταλλαγής εγγράφων MS-Word των Windows με Ελληνικά, π.χ. σε μορφή RTF. Υπάρχουν ή αναμένονται +εφαρμογές για το Linux με τέτοια δυνατότητα; Χωρίς αυτό δεν μπορώ να ξεφορτωθώ τα Windows, επειδή δεν θα μπορώ να δουλέψω. Ποιες διανομές του Linux και ποιες +εφαρμογές είναι καλύτερες στο θέμα της συμβατότητας με τις πιο συνηθισμένες μορφές αρχείων, ή δείχνουν να έχουν προοπτικές; + +*Μπορείτε να δοκιμάσετε τα StarOffice 5.0 και WordPerfect 8.0 που έχουν ειδικά φίλτρα για αρχεία Word. Σχετικά δε με τα ελληνικά, το θέμα έχει συζητηθεί +επανειλημμένως στη λίστα linux-greek-users και στο Magaz.* + + +### [33. Red Hat & SuSE]{#s33} + +Από : [Γιάννης Χούκλης](mailto:isole@freemail.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Αυτές οι δύο εκδόσεις του Linux τι διαφορετικό έχουν και ποιο συμφέρει να αγοράσει κανείς προκειμένου να εκμεταλλευτεί πλήρως της δυνατότητες δικτύου και +σύνδεσης στο Internet? Ευχαριστώ εκ\' των προτέρων. Με εκτίμηση Γιάννης, Isole, Χούκλης 18άχρονος Power User + +*Οι διαφορές τους είναι θέμα γούστου, και δεν υπάρχει καμία διαφορά σε δικτυακές δυνατότητες.* + + +### [34. Πρόβλημα με το mouse]{#s34} + +Από : [Σωτήρης Παρμάκης](mailto:sotpar@geocities.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Εχω ένα mouse Logitech Trackman Marble FX, σε θύρα PS/2. Το πρόβλημα είναι ότι ορίζοντας το, ως PS/2 mouse, δεν δουλεύει. Μόλις προσπαθήσω να τρέξω Xwindows μου +βγάζει μήνυμα: Fatal server error Cannot open mouse (operation not supported by device) Δοκίμασα και άλλες επιλογές όπως logitech mouseman, αλλά συνεχίζει να +μην δουλεύει. (Πριν το παλιό μου σειραϊκό mouse λειτουργούσε μια χαρά.) Υπάρχει τρόπος να το κάνω να δουλέψει; Κάτω από dos δουλεύει και με τον driver του +παλιού μου σειραϊκου ποντικιού(από ενόν Quest 386sx) Ευχαριστώ προκαταβολικά. + +*Να υποθέσω ότι δεν αχείς δήλωση χωστά το device? Διάβασε το /usr/src/linux/Documentation/devices.txt* + + +### [35. Προβλήματα με το ποντίκι (2)]{#s35} + +Από : [Σωτήρης Παρμάκης](mailto:sotpar@geocities.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Εχω ένα mouse Logitech Trackman Marble FX, σε θύρα PS/2. και Redhat 5.1 kernel 2.0.35 Το πρόβλημα είναι ότι ορίζοντας το, ως PS/2 mouse, δεν δουλεύει. Μόλις +προσπαθήσω να τρέξω Xwindows μου βγάζει μήνυμα: Fatal server error Cannot open mouse (operation not supported by device) (Πριν το παλιό μου σειραϊκό mouse +λειτουργούσε μια χαρά.) Το ποντίκι το όρισα με το mouseconfig. Έκανα και ξανά compile στον πυρήνα γιατί δεν ήξερα αν είχα υποστήριξη για PS/2, και όρισα πάλι το +ποντίκι τρέχοντας το mouseconfig. Πάλι τίποτα. Υπάρχει τρόπος να το κάνω να δουλέψει; + +*Στις 29 Απριλίου είχαμε απαντήσει στην ίδια ερώτηση για το device, αλλά δεν μας διευκρινίζεις πάλι, σε ποιο device είναι ορισμένο το ποντίκι σου; Αν δεν μας +πεις αυτό το στοιχείο δεν μπορούμε να βοηθήσουμε.* + + +### [36. kppp]{#s36} + +Από : [Τσιμπινός Βαγγέλης](mailto:ktsib@tee.gr) + +Απάντηση : [Ευριπίδης Παπακώστας](mailto:evris@hellug.gr) + +Έχω ένα πρόβλημα με το kppp. Πολύ απλά μου λέει ότι το pppd πεθαίνει αμέσως μετά την απάντηση του modem του ISP. Έχω κάνει τον kernel support με PPP και εχω +δημιουργήσει ένα interface ppp0 με το yast.(εχω SuSE 6.0) Τι πρέπει να κάνω???????? Ευχαριστώ + +*Στο kppp υπάρχει ένα help me FAQ. Εκεί αναφέρεται και το πρόβλημα σου και δίνει και κάποιες πιθανές αιτίες και λύσεις (όπως π.χ. η απομάκρυνση της γραμμής lock +κλπ.) Διάβασε το, πιθανώς θα σε διαφωτίσει.* + diff --git a/content/articles/16/01_editorial.md b/content/articles/16/01_editorial.md new file mode 100644 index 0000000..fbaf89a --- /dev/null +++ b/content/articles/16/01_editorial.md @@ -0,0 +1,119 @@ ++++ +title = 'Editorial' +date = '1999-08-01T00:00:00Z' +description = '' +author = 'Michalis Kabrianis(mailto:kabrianis@hellug.gr)' +issue = ['Magaz 16'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Μία μικρή ιστορική αναδρομή του περιοδικού, γιατί αυτό το τεύχος άργησε, και γιατί επανήλθε το εditorial\....* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Στις 21 Νοεμβρίου 1997, στη λίστα συζητήσεων για τις ελληνικές μεταφράσεις (Howto) και λίγο μετά την ανακοίνωση του ως νέο μόνιμο +\"σπίτι\" των μεταφρασμένων Howtos, από τον τότε συντηρητή και συντονιστή των μεταφράσεων [Φώτη Γεωργάτο](mailto:gef@hellug.gr), κάποιος [Παναγιώτης +Βρυώνης](mailto:vrypan@hellug.gr) (που είχε αρχίσει το localization του KDE) έκανε σχόλια για την εμφάνιση του site και έγραφε το εξής: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Yparxoun arketoi endiaferomenoi gia thn synta3h enos ellhnikou linux + on-line magazine ? 8a mporouse na stegastei sto www.linux.gr ? + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Ξεκίνησε μία διαδικασία/κουβέντα στην λίστα Howto η οποία είχε ως αποτέλεσμα τη συνάντηση, στις 27 Δεκεμβρίου 1997, στη \"γνωστή - άγνωστη\" καφετέρια των +Εξαρχείων, των προαναφερθέντων, εμένα και του [Γιώργου Κουλογιάννη](mailto:gkoul@linux.gr), ενός από τους πρώτους Linuxάδες στην Ελλάδα, και \"ιδιοκτήτη\" του +domain linux.gr. + +Η συνέχεια; + + Subject: Magaz: ellhniko periodiko gia to Linux + From: Georgatos Photis (gef@ceid.upatras.gr) + Date: Wed 31 Dec 1997 - 20:57:49 EET + + Hello All! + + Opws hdh diabasate kai sto subject, to neo + on-line ellhniko periodiko gia to Linux + einai gegonos. + + H 1h toy ekdosh brisketai sto + http://www.linux.gr/magaz + Exei poikila themata pou diamorfwnontai, + alla anamenetai na statheropoihthei to + Sabbatokyriako... + + Peraste na mas peite thn gnwmh sas, + na mpeite sto pneyma toy kai ean thelete na + syneisferete kiolas sto epomeno teyxos toy. + + Kalh prwtoxronia + + Mixalhs Kabrianis + Gewrgatos Photis + Panagiwths Vrywnis + +Το [πρώτο τεύχος](http://magaz.hellug.gr/01/index.html), είχε 6 άρθρα και το Editorial-αναγγελία γέννησης. Τα άρθρα υπέγραφαν οι [Φώτης +Γεωργάτος](mailto:gef@hellug.gr), [Κεραμίδας Γιώργος](mailto:keramida@hellug.gr), [Βρυώνης Παναγιώτης](mailto:vrypan@hellug.gr) και [Καμπριάνης +Μιχάλης](mailto:kabrianis@hellug.gr). Σημείωσε δε ανέλπιστη επιτυχία, αφού η πρώτη σελίδα του είχε 800 hits(!!!), γεγονός το οποίο σχολιάσαμε στο [δεύτερο +τεύχος](http://magaz.hellug.gr/02/index.html), το οποίο βγήκε (όπως αναμενόταν) ένα μήνα αργότερα.\ +Μέσα στο 1998 το περιοδικό έβγαλε 10 τεύχη. Λεπτομέρειες περί αυτού, στο [Editorial του πρώτου τεύχους του 1999 +(11)](http://magaz.hellug.gr/11/).\ +Αυτή τη στιγμή, περνάμε μία φάση ανασυγκρότησης. Αν σας ξενίζει, να σας πληροφορήσω ότι την ίδια φάση είχαμε περάσει και πέρυσι το καλοκαίρι. Η διαφορά όμως +είναι αισθητή. Πέρυσι το καλοκαίρι ήμασταν 5 άτομα, και λόγω εξετάσεων (Φώτης, Γιώργος) στρατού (Παναγιώτης) φόρτου εργασίας (εγώ και ο Ευριπίδης) το περιοδικό +πέρασε μία περίοδο χειμέριας νάρκης \"εκτός εποχής\" (γιατί πως αλλιώς θα μπορούσε να είναι χειμέρια νάρκη Ιούλιο μήνα;). Φέτος το καλοκαίρι, λόγω κούρασης, +έλλειψης ιδεών, αδειών, φόρτου εργασίας, απουσίας από την Ελλάδα, άλλων υποχρεώσεων, όλα σχεδόν τα στελέχη του Magaz (που τώρα πια δεν είναι τα ίδια 5) +υποχρεωθήκαμε να το αφήσουμε σε δεύτερη μοίρα. Αυτό βέβαια δεν σημαίνει τίποτα. Το περιοδικό έχει γράψει ιστορία, και θα συνεχίζει να γράφει. Όπως στο παρελθόν +μας \"έσωσαν\" από πολύ δύσκολη θέση οι φίλοι (θα τους διαβάσετε όλους πάλι στο Editorial του πρώτου τεύχους του 1999) έτσι και τώρα ελπίζουμε ότι θα μας +βοηθήσετε εσείς να ξεπεράσουμε αυτόν το σκόπελο. Αν σας φαίνεται παράξενος ο όρος κούραση, να σας πούμε ότι 3 από τους σταθερούς αρθρογράφους του Magaz +συμμετείχαν από το Σεπτέμβριο (και λίγο νωρίτερα) μέχρι το Φεβρουάριο στη διαδικασία ίδρυσης και δυναμικού ξεκινήματος του Hellug. Από τότε, άλλοι (οι +περισσότεροι) αλλάξαμε δουλειά, άλλοι άρχισαν να αρθρογραφούν σε έντυπα περιοδικά, βοηθώντας έτσι περισσότερο το Linux, άλλοι παντρεύτηκαν/αρραβωνιάστηκαν. +Επιστρέψαμε όμως, και θα συνεχίσουμε το Magaz πλουσιώτερο, δυνατότερο, ομορφότερο και πλέον ωριμότερο, για εσάς, και μαζί με εσάς. Γιατί οι 3500 επισκέψεις το +μήνα (τώρα τόσες έχουν φτάσει) μας γέμισαν υποχρεώσεις, μας άγχωσαν και δεν μας επιτρέπουν να κάνουμε πίσω. Ξυπνήσαμε τον κοιμώμενο γίγαντα που λέγεται Ελληνική +Linux κοινότητα με αποτέλεσμα την ίδρυση του Hellug (όχι, δεν το οικοιοπούματε, απλά \"δεχόμαστε\" ότι βάλαμε το λιθαράκι μας για το ξεκίνημα) και μέσω και των +λιστών του αφανούς ήρωα Γιάννη Ιωάννου, που μας βοήθησαν να δεχόμαστε τα σχόλιά σας, να μας γνωρίσετε και να σας γνωρίσουμε, συνεισφέραμε στο να αναγνωρίζεται +αυτή τη στιγμή το Linux ΚΑΙ στην Ελλάδα ως σοβαρή και καλύτερη εναλλακτική πρόταση για \"άλλα\" λειτουργικά. Τι περιμένουμε από εσάς; Πολύ απλά, τον λίγο χρόνο +σας. Έχουμε να σας προτείνουμε άρθρα για να συνεισφέρετε, και βέβαια, ότι μπορείτε να φανταστείτε και δεν βρίσκεται στις προτάσεις, είναι ευπρόσδεκτο. Παρακαλώ +μόνο, ΠΡΙΝ τη συγγραφή, επικοινωνήστε [μαζί μας](mailto:magaz@hellug.gr) για να \"κατοχυρώσετε\" το θέμα ούτως ώστε να μην γράφουν δύο άνθρωποι το ίδιο πράγμα. + + Θέματα: + + Κατηγορία Howto + Callback στο Linux + Στήσιμο scanner στο linux και προγράμματα για scanning + Προγραμματισμός σε QT, GTK, GNOME + Infrared communication + SGML και LINUXDOC tutorial + Κατηγορία αναλύσεις + Linux και POSIX + Το Linux σαν router + CVS. Τι είναι τι κάνει, πως το κάνει + Κατηγορία παρουσιάσεις + Παρουσίαση του Koffice + Παρουσίαση του Mozilla + Παρουσιάσεις νέων Distributions + Παρουσιάσεις Window managers (Fvwm, Window maker, GvWM κλπ) + Κατηγορία updates παλαιότερων άρθρων + Update για Samba v2 και kernel 2.2 (τεύχος 2/1998) + Update StarOffice για v5.1 (teyxos 3,4/1998) + Update για KDE v. 1.1.1 ή και 2.0 (τεύχος 3/1998) + Update για IP Masq σε kernel 2.2 και ipchains (τεύχος 5/1998) + +Αυτό το τεύχος έχει τις εξής αλλαγές: + +- Επιστρέφει το editorial μετά από απουσία 5 τευχών. **Εμένα** μου έλειψε ένα βήμα για να αναπτύσσω τις απόψεις μου. Ελπίζω και σε σας. +- Για πρώτη φορά στα \"χρονικά\" του Magaz, ενημερώνεται παλαιότερη σελίδα, και συγκεκριμένα η σελίδα με τις [ρυθμίσεις του Xisp για τους + providers](http://magaz.hellug.gr/06/05_xisp2.html), μετά από αίτηση (και απάντηση στην ερώτησή μας) της OteNet. +- Για πρώτη φορά έχουμε άρθρο γραμμένο στα Αγγλικά, μια που θα πρέπει να μπορεί να το διαβάσει και ένας που δεν μιλάει ελληνικά. Μιλάμε για το άρθρο που είναι + αφιερωμένο στο August, έναν html editor, τον οποίο ο δημιουργός του, [Johan Bengtsson](mailto:johanb@lls.se) μας άφησε να το τροποποιήσουμε για να το + χρησιμοποιήσουμε στο Magaz. + +Άλλα άρθρα που θα βρείτε σε αυτό το τεύχος είναι οδηγίες εγκατάστασης του τροποποιημένου August, και, για άλλη μία φορά, οδηγίες εγκατάστασης ελληνικών στο +Linux, από τον [DJ Art](mailto:djart@hellug.gr), ένα άρθρο για τον προγραμματισμό σε Gtk από τον [Γιώργο Κεραμίδα](mailto:keramida@hellug.gr), την ανανεωμένη με +372 πλέον διακριτά μέλη, λίστα των Ελλήνων χρηστών linux, και φυσικά το τεράστιο πλέον Mailbox. Καλή ανάγνωση, και καλές διακοπές, για όσους θα φύγουν από δω +και πέρα. + +Υ.Γ. Το τεύχος αυτό δεν έχει περάσει από ορθογραφικές διορθώσεις. Συγχωρήστε με αλλά φταίω εγώ που δεν τα έστειλα στον διορθωτή. Ελπίζω να μην έχουμε πολλά +λάθη. diff --git a/content/articles/16/02_grlinux.md b/content/articles/16/02_grlinux.md new file mode 100644 index 0000000..9b62e83 --- /dev/null +++ b/content/articles/16/02_grlinux.md @@ -0,0 +1,112 @@ ++++ +title = 'Ελληνικά στο Linux' +date = '1999-08-01T00:00:00Z' +description = '' +author = 'DJ Art' +issue = ['Magaz 16'] +issue_weight = 2 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Οι (ακόμα) νεώτερες οδηγίες για την εγκατάσταση Ελληνικών στο Linux, για την κονσόλα και για X-Windows.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αγαπητοί φίλοι γειά σας. Αυτές είναι οι πιο καινούριες οδηγίες εγκατάστασης των ελληνικών στα X και στην κονσόλα. Θα χρειαστείτε τρία το πολύ πακέτα. Αυτά είναι +οι γραμματοσειρες του **Graphis**, ένα πρόγραμμα αλλαγής πληκτρολογίου στα X-Windows και ένα πακέτο για τα ελληνικά στην κονσόλα. + +Το **Graphis** είναι ένα project του **Hellug**, το οποίο έχει σαν στόχο την ομαδοποίηση των ήδη υπαρχόντων πακέτων γραμματοσειρών, αλλά και την επίλυση αρκετών +προβλημάτων τους. Η διεύθυνση του **Graphis** στο Internet είναι ή εναλλακτικά . Απο εκεί μπορείτε να +κατεβάσετε τις γραμματοσειρές σε .rpm πακέτο ή σε source μορφή (.tar.gz). + +Για να εγκατασταθούν τα ελληνικά στο σύστημά σας πρέπει να γίνουν οι παρακάτω ενέργειες: (Πρέπει να είμαστε root) + +- Εγκαθιστούμε το πακέτο Graphis (rpm -ivh xfntgr-xx-x.noarch.rpm). Αν το σύστημά σας δεν υποστηρίζει rpm πακέτα, τότε θα πρέπει να κάνετε την εγκατάσταση + μόνοι σας: Για να γίνει η εγκατάσταση αυτόματα είναι απαραίτητη η ύπαρξη της perl (γλώσσα προγραμματισμού). Αρχικά πρέπει να αποσυμπιέσeτε το αρχείο + xfntgr-full-xx-xx.tar.gz, κάτι που μάλλον ήδη έχετε κάνει. Ως αποτέλεσμα θα πρέπει να έχετε ένα φάκελλο με όνομα \"hellas\" καθώς και πολλά αρχεία και + υποφακέλους μέσα σε αυτόν. Αυτόν τον κατάλογο θα πρέπει να τον μεταφέρετε όπως είναι στη θέση \"/usr/X11R6/lib/X11/fonts/\". Δηλαδή θα πρέπει να υπάρχει ως + \"/usr/X11R6/lib/X11/fonts/hellas/\". Στον φάκελο \"hellas/bin\" θα βρείτε τα εξής αρχεία σχετικά με την εγκατάσταση (μαζί με άλλα): + + install-Type1 : αν έχετε κατεβάσει το αρχείο με τις Type1 γραμματοσειρές install-PCF : αν έχετε κατεβάσει το αρχείο με τις PCF γραμματοσειρές. + + Σε περίπτωση που έχετε κατεβάσει το ολοκληρωμένο πακέτο θα πρέπει να βρείτε και τα δύο αρχεία. Για να εγκαταστήσετε τις γραμματοσειρές εκτελέστε το + αντίστοιχο αρχείο/αρχεία, γράφοντας π.χ. \"**./install-Type1**\" χωρίς εισαγωγικά. Πρέπει να είστε στο ίδιο κατάλογο με τα προγράμματα αυτά φυσικά!. Ως + πρόγραμμα αλλαγής πληκτρολογίου μπορείτε να χρησιμοποιήσετε το **GRKbd** (θα το βρείτε στην ) ή αν + χρησιμοποιείτε **KDE** το **kikbd**, το οποίο έρχεται με την έκδοση **1.1.1** και άνω του **KDE**. + +- Δημιουργούμε το αρχείο **/root/.inputrc** με περιεχόμενα: + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + set meta-flag on + set convert-meta off + set output-meta on + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Σημείωση: Για κάθε χρήστη του συστήματος δημιουργούμε και το αντίστοιχο /.inputrc στο home directory του. Επίσης δημιουργούμε το ίδιο .inputrc στο /etc/skel + για να αντιγράφεται στο home directory του κάθε καινούριου χρήστη του συστήματος. + +- Στο **/root/.Xdefaults** διορθώνουμε τη γραμμή **xterm\*font: fixed** και **xterm\_color\*font: fixed** με **xterm\*font: grfixed** και + **xterm\_color\*font: grfixed** αντίστοιχα. Φυσικά μπορούμε να βάλουμε και άλλη εκτός απο την grfixed. + +- Στο **/etc/bashrc** δημιουργούμε τα alias προσθέτοντας τις παρακάτω γραμμές: + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + alias xterm="xterm -fn grfixed" + alias rxvt="rxvt -fn grfixed" + alias xedit="xedit -fn grfixed" + alias joe="joe -asis" + alias ls="ls -N --color=yes" + alias less="less -r" + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Φυσικά, για χρήστες με tcsh θα χρειαστούν παρόμοιες επεμβάσεις και στο αρχείο /etc/csh.cshrc + +- Για console κατεβάζουμε το **greek-console.rpm** και το εγκαθιστούμε (θα το βρείτε στην εξής διεύθυνση ). Μετά + τρέχουμε την εντολή **/usr/local/bin/./chcp 928**. Σημείωση: Στο **/usr/lib/kbd/consolefonts/** υπάρχουν οι γραμματοσειρές οπότε μπορούμε να + χρησιμοποιήσουμε την εντολή setfont **/usr/lib/kbd/consolefonts/γραμματοσειρά** για να ορίσουμε ποιά θέλουμε. + +- Για το Netscape: + + Για να εχουμε ελληνικά στη γραμμή που δίνουμε τις διευθύνσεις και παντού στο email, αντιγράφουμε το αρχείο **Netscape.ad** απο τον κατάλογο + **/usr/doc/netscape-communicator-4.0x/** (αν ο netscape είναι εγκατεστημένος από μορφή .rpm ή από τον κατάλογο που τον εγκαταστήσατε, σε περίπτωση μορφής + .tar.gz) στο **/usr/X11R6/lib/X11/app-defaults/** και το μετονομάζουμε σε **Netscape**. Το ανοίγουμε με τον joe ή με άλλον επεξεργαστή και στη γραμμή 5167 + ,5168, 5169 όπου λέει adobe βάζουμε \* δηλ πρέπει να είναι: + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + *XmTextField.fontList: + -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-* + *XmText.fontlist: + -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-* + *XmList*fontlist: + -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-* + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Επίσης, στη γραμμή 5200,5201,5202 αντικαθιστούμε το -\*-helvetica με -greek-helvetica και το 100 με 120 δηλαδή πρέπει να είναι: + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + *XmLGrid*fontList:\ + -greek-helvetica-medium-r-*-*-*-120-*-*-*-*-iso8859-*,\ + -greek-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*=BOLD,\ + -greek-helvetica-medium-o-*-*-*-120-*-*-*-*-iso8859-*=ITALIC + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +ΤΕΛΕΙΩΣΑΜΕ + +Ξεκινάμε τον Netscape και απο το view -\>encoding επιλέγουμε το Greek (ISO-8859-7) και πάλι απο το ίδιο μενού το \"Set Default Encoding \" και στο +Εdit-\>Preferences-\>Appearance-\>fonts το \"Greek(iso-8859-7)\" και ορίζουμε ποιές γραμματοσειρές θέλουμε. Οι καλύτερες είναι οι Courier (Greek). Tο ίδιο +κάνουμε για το \"Western(iso-8859-1)\" έτσι ώστε να μπορούμε να γράψουμε ελληνικά στις φόρμες και στο mail τύπου text/plain. + +Οι παραπάνω οδηγίες εγκατάστασης έχουν δοκιμαστεί με επιτυχία σε σύστημα RedHat εφοδιασμένο με τον Netscape 4.07 και πάνω. Επίσης η δοκιμή πέτυχε με window +managers τους: fvwm95, Afterstep, KDE, Gnome. + +**ΒΙΒΛΙΟΓΡΑΦΙΑ**\ +Το άρθρο αυτό δεν θα γραφόταν αν δεν υπήρχαν τα Greek-HowTos, το πολυτιμότατο project του Hellug, το **Graphis** και τα παιδιά που δουλεύουν σ\' αυτό, αλλά και +το άρθρο του Δ.Τζέμου που δημοσιεύτηκε στο 10ο τεύχος του Magaz. diff --git a/content/articles/16/03_august.md b/content/articles/16/03_august.md new file mode 100644 index 0000000..e2eb082 --- /dev/null +++ b/content/articles/16/03_august.md @@ -0,0 +1,163 @@ ++++ +title = 'August HTML/SGML editor' +date = '1999-08-01T00:00:00Z' +description = '' +author = 'Michalis Kabrianis(mailto:kabrianis@hellug.gr)' +issue = ['Magaz 16'] +issue_weight = 3 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*August is an HTML editor, coded by [Johan Bengtsson](mailto:johanb@lls.se). As August is under GPL, we (Magaz team that is) decided to modify it in order to +use it as an SGML editor.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Why?** +------------------------------------ + +**2. August** +-------------------------------------- + +**3. SGML** +------------------------------------ + +**4. Modifications** +--------------------------------------------- + +**5. Feedback** +---------------------------------------- + + +### [1. Why?]{#s1} + +As everybody (!!!) knows, Magaz is written entirely in SGML, and then converted to HTML with sgml-tools and [Panagiotis Vryonis\'](mailto:vrypan@hellug.gr) +especially-modified-for-magaz mapping. Although that decision was made to make the creation of Magaz easier, it looks like most of Greek Linux users wishing to +submit - contribute an article had a problem coping with SGML. So, we decided to provide an easy way, for SGML authoring. Instead of writing an article, +explaining the SGML concepts, we found out that everybody finally learns what SGML is, and the problem is only the editor. So, Johans\' perfect HTML editor, +named [August](http://www.lls.se/~johanb/august/), was used as a base for \"our\" SGML editor. + + +### [2. August]{#s2} + +August can be found at . It is a complete, non-wisiwyg HTML editor, coded in Tcl/Tk version 8.0. It provides buttons for the +most common HTML tags, such as bold, italics, preformatted, listing, underline, alignment, font color and size etc. Most advanced tags, such as tables, +column/row span, basic structure, form/script elements, are also supported. Of course, link/anchor creation is easy, through (you guessed it) a button-click, +while image inserting and, finally, previewing through netscape, is as easy as pushing the right button.\ +Other features include the standard open, close, save, copy, cut, paste buttons, commenting, special character inserting, template creation, more than one open +windows, options\' settings, uppercase/lowercase letter transformation.\ +Some of the features apply to selected text (for example bold text), so pushing that button with no text selected will have no effect at all, while some others, +such as new paragraph, have no restrictions of that type. That was expected, as not all the tags are the same. Although, the fact that August works that way, +really reveals that Johan knows HTML tags (and Tcl/Tk programming) very well. + + +### [3. SGML]{#s3} + +Sgml is a Markup Language. That means nothing to the most of you, but I\'ll try to explain that. Markup languages, add special tags to text, so that when that +text is parsed through a specific program, the tags get a meaning, relative to the appearance of the text. The most well-known and broadly-used markup language +is HTML (which, by the way means Hyper Text Markup Language). Others, not so broadly known, are Math ML and XML. All of these (with the exeption of XML) are +actually subsets of SGML. SGML, through a DTD (Definition) file, may be converted (with use of sgml-tools, aka linuxdoc) to html, txt, ps, dvi, tex, info, rtf +etc. + +If some sgml-tags have no similar tag for the resulting form, they are ignored. So, that\'s the way SGML works. No, it\'s not difficult. It\'s just different +(if you already know HTML). + + +### [4. Modifications]{#s4} + +The modifications, where made against August version 0.30. We hope, if we can find more SGML tags, to make an option, so that August may be used either as SGML +or HTML editor.\ +In order to modify the August, somebody would have to know SGML and Tcl/Tk as good as Johan knows HTML and Tcl/Tk respectively. Unfortunately, I\'m not the one +:-( I only know some of the tags we use in Magaz, and, as I have found no documentation at all regarding SGML, I have to admit that my knowledge won\'t get any +broader. Although, if anybody knows of a SGML tag not used in modified August, and the equivalent to HTML just let [us](mailto:magaz@hellug.gr) know. + +![](/16/img/toolbar.jpg) + +You may see the Toolbar on the figure above. From these, we have: + + --------------------------------------- --------------------------------------- --------------------------------------- --------------------------------------- + \ **Nr - Row** **Meaning** **Modified** + + 1 First Exit No need + + 2 First Close file No need + + 3 First New file No need + + 4 First Open file No need + + 5 First Save No need + + 6 First Save As No need + + 7 First Cut No need + + 8 First Copy No need + + 9 First Paste No need + + 10 First Bold Yes + + 11 First Italics Yes + + 12 First Underline No + + 13 First Teletype Yes + + 14 First Preformatted Yes + + 15 First Paragraph Yes + + 16 First Linebreak Yes + + 17 First Comment No + + 18 First Help No need + + 1 Second Color No + + 2 Second Font No + + 3 Second Image Sort of\... + + 4 Second Link/anchor Yes/Yes + + 5 Second Mailto Yes + + 6 Second Numbered list Yes + + 7 Second Bullet list Yes + + 8 Second Definition list Yes + + 9 Second List item/definition Yes/Yes + + 10 Second Left align No + + 11 Second Centered No + + 12 Second Right align No + + 13 Second Basic structure Yes + + 14 Second Table Yes + + 15 Second Rowspan No + + 16 Second Columnspan No + + 17 Second Background color No + + 18 Second Netscape preview No + + + --------------------------------------- --------------------------------------- --------------------------------------- --------------------------------------- + + +### [5. Feedback]{#s5} + +While August as a program is quite stable, modified August for SGML lacks a lot of functionality. All those form elements, tags, and other stuff missing, could +be there, if we get your feedback. You may get modified august from [Magaz\'s server](../files/sgml-edit.gz), try it and then send us your feedback. Together we +can make it better. + diff --git a/content/articles/16/04_sgmledit.md b/content/articles/16/04_sgmledit.md new file mode 100644 index 0000000..0783abe --- /dev/null +++ b/content/articles/16/04_sgmledit.md @@ -0,0 +1,106 @@ ++++ +title = 'Παρουσίαση του Sgml-editor' +date = '1999-08-01T00:00:00Z' +description = '' +author = 'DJ Art(mailto:djart@hellug.gr)' +issue = ['Magaz 16'] +issue_weight = 4 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το sgml-edit είναι μια παραλλαγή του προγράμματος August, ειδικά διαμορφωμένη για το Magaz. Το κανονικό πρόγραμμα είναι html editor. Το sgml-edit είναι editor +για sgml αρχεία, μπορεί όμως να επεξεργαστεί κανείς με αυτό και άλλα αρχεία, όπως html, αρκεί να μην χρησιμοποιήσει τα κουμπιά, αφού αυτά είναι αφιερωμένα στoν +κώδικα του sgml. Να σημειώσω εδώ ότι το sgml-editor συνεργάζεται τέλεια με τα ελληνικά και αποτελεί πρωτεύον εργαλείο για τη συγγραφική ομάδα του Magaz. Επίσης, +είναι editor για τον κώδικα sgml και όχι WYSIWYG (what you see is what you get) editor, όπως για παράδειγμα είναι ο html editor του StarOffice)* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Προετοιμασία για την εκτέλεση** +--------------------------------------------------------------- + +**2. Περιγραφή των κουμπιών** +-------------------------------------------------------- + +**3. Sgml Tools** +-------------------------------------------- + +**4. Ευχαριστίες** +--------------------------------------------- + + +### [1. Προετοιμασία για την εκτέλεση]{#s1} + +To πρόγραμμα αυτό μπορείτε να το βρείτε στη διεύθυνση . Αφού το αποσυμπιέσετε με **gzip -d sgml-edit.gz** θα έχετε +ένα αρχείο sgml-edit, το οποίο θα πρέπει να το προσαρμόσετε στο σύστημά σας. + +1. Κατ\'αρχήν θα πρέπει να το κάνετε εκτελέσιμο. Αυτό γίνεται με **chmod 755 sgml-edit**. +2. Το sgml-edit είναι γραμμένο σε Tcl/Tk, οπότε θα πρέπει να την έχετε εγκατεστημένη στο σύστημά σας για να μπορέσετε να τρέξετε το πρόγραμμα. Πληκτρολογήστε + στην γραμμή εντολών **which wish**. Αν έχετε εγκαταστήσει σωστά την Tcl/Tk, τότε η εντολή που πληκτρολογήσατε θα σας επιστρέψει το path του wish. Κρατήστε + αυτό το path γιατί θα σας χρειαστεί. +3. Ανοίξτε το αρχείο sgml-edit με έναν επεξεργαστή κειμένου. Στην πρώτη γραμμή θα δείτε γραμμένο κάτι σαν κι αυτό: **\#!/usr/bin/wish**. Αντικαταστήστε το path + αυτό (μετά το θαυμαστικό) με το path που πήρατε όταν γράψατε **which wish**. +4. Αν τώρα θέλετε να ρυθμίσετε το sgml-edit να μπορεί να γράφει ελληνικά, ανοίξτε το πάλι μέ έναν επεξεργαστή κειμένου και στην γραμμή 1314, στο τέλος, αλλάξτε + το fixed με τη γραμματοσειρά που θέλετε να χρησιμοποιήσετε (π.χ. grfixed). (Σημείωση: Αν δεν μπορείτε να βρείτε τη γραμμή 1314, ψάξτε για μία παράγραφο με + την ονομασία **\# Set up frame for text edit**. Στο τέλος αυτής της παραγράφου προσθέστε μια έκφραση όπως αυτή: **word -font fixedgr**. + +Αυτό ήταν !! Τώρα μπορείτε να τρέξετε το πρόγραμμα και να αρχίσετε να γράφετε άρθρα για το Magaz :-) + + +### [2. Περιγραφή των κουμπιών]{#s2} + +Η παρακάτω εικόνα παριστάνει (χάρη στο Image Magick) τα κουμπιά του sgml-edit: + +![](/16/img/buttons.jpg) + +Ας δούμε όμως τί ακριβώς κάνει το κάθε κουμπί: + +- Τα 9 πρώτα κουμπιά είναι τα συνηθισμένα κουμπιά που υπάρχουν σε όλα τα προγράμματα σε όλα τα λειτουργικά που υπήρξαν ποτέ. Αναφέρω τι κάνει το καθένα (η + σειρά από τα αριστερά προς τα δεξιά). Το 1ο μας βγάζει από το πρόγραμμα. Το 2ο κλείνει το ανοιχτό μας έγγραφο. Το 3ο ανοίγει ένα νέο έγγραφο. Το 4ο είναι το + Open, το 5ο Save, το 6ο Save As. Το 7ο (ψαλίδι) είναι το Cut, το 8ο Copy και το 9ο το Paste. +- Τα 2 επόμενα κουμπιά, το **Bold** και το **Italic**, για να δουλέψουν θα πρέπει πρώτα να μαρκάρετε το τμήμα του κειμένου που θέλετε να φαίνεται σαν bold ή + italic και μετά να τα πατήσετε. Το κουμπί **Underline** δεν δουλεύει. Τα κουμπιά **TT** και **PRE** δουλεύουν ακριβώς όπως και τα **Bold**, **Italic**: + πρέπει πρώτα να μαρκάρετε ένα τμήμα του κειμένου. Η διαφορά των δύο αυτών κουμπιών είναι ότι στην δεύτερη περίπτωση (preformatted), το κείμενο περικλείεται + από οριζόντιες γραμμές. Το κουμπί **P** εισάγει στο έγγραφό σας το tag για την αλλαγή παραγράφου, ενώ το **BR** είναι για την αλλαγή σειράς. Το επόμενο + κουμπί είναι για την εισαγωγή σχολίων μέσα στο έγγραφό σας. Τα σχόλια δεν θα φαίνονται στο html (ή σε όποιο άλλο αρχείο) στο οποίο θα μετατραπεί το έγγραφό + σας. Το τελευταίο κουμπί της 1ης γραμμής σας εμφανίζει ένα σύντομο help. +- Πάμε τώρα στη δεύτερη σειρά κουμπιών. Τα πρώτα δύο κουμπιά (το **Insert Color** και το **Font Size and Color**) δυστυχώς δεν δουλεύουν. Το 3ο κουμπί είναι + για την προσθήκη εικόνας στο έγγραφό σας (όπως εγώ πρόσθεσα την παραπάνω φωτογραφία). Πατώντας το θα σας ανοίξει ένα παράθυρο όπου μπορείτε να διαλέξετε μια + φωτογραφία (μορφής jpg ή gif). Το 4ο κουμπί είναι διπλό: κάνοντας αριστερό κλίκ πάνω του, μπορείτε να προσθέσετε ένα link σε κάποια άλλη σελίδα, ενώ με δεξί + κλίκ η λειτουργία του αναφέρεται ως **Anchor**. Το 5ο κουμπί είναι για να προσθέσετε link σε διεύθυνση e-mail. +- Τα 2 επόμενα κουμπιά είναι για την προσθήκη αριθμημένης λιστας ή μη αριθμημένης (όπως αυτή εδώ με τις βούλες). Το 8ο κουμπί προσθέτει ορισμό (definition) + στο έγγραφό σας, ενώ το 9ο κουμπί έχει και αυτό διπλό ρόλο: Με αριστερό κλίκ προσθέτει άλλο ένα αντικείμενο (αριθμό ή βούλα) σε μια λίστα, ενώ με δεξί κλίκ + προσθέτει ακόμα ένα tag στον ορισμό (definition). +- Τελειώνοντας, τα επόμενα 3 κουμπιά, για την στοίχιση του κειμένου αριστερά κλπ. για να δουλέψουν πρέπει παλι να μαρκάρετε πρώτα το κείμενο που θέλετε να + στοιχίσετε, ενώ το 13ο κουμπί χρησιμεύει αποκλειστικά και μόνο για τη συγγραφή άρθρων για το Magaz: Πρέπει να πατηθεί στην αρχή του άρθρου για να εισάγετε + πληροφορίες, όπως το όνομά σας, η διεύθυνσή του e-mail σας, η ημερομηνία συγγραφής του άρθρου, ο τίτλος του άρθρου και μια σύντομη περιγραφή. Το επόμενο + κουμπί χρησιμεύουν για την προσθήκη πίνακα στο έγγραφό σας. Τα **Rowspan** και **Columnspan** δεν δουλεύουν. Τα 2 τελευταία κουμπιά δεν δουλεύουν. (Το 1ο + είναι για χρώμα στο background, ενώ το άλλο αναφέρεται ως **Netcsape Preview** και δεν δουλεύει γιατί πολύ απλά ο Netscape δεν υποστηρίζει sgml !!) + + +### [3. Sgml Tools]{#s3} + +Μάλλον θα αναρωτιέστε, όσοι δεν έχετε ξανακούσει τίποτα για το sgml, \"τώρα που έφτιαξα ένα άρθρο τί γίνεται;\" ή \"τί νόημα έχει να γράφω ένα κείμενο που +περιέχει tags και κώδικα και δεν μπορεί να διαβαστεί από τρίτους;\". + +Η απάντηση στα ερωτήματα αυτά δίνεται με την αναφορά στη σημασία του sgml. Θα αναφερθώ πολύ σύντομα για να μην ξεφύγω από το θέμα. Το sgml είναι ένα έγγραφο που +μπορεί να παράγει από τον εαυτό του μια πληθώρα άλλων τύπων εγγράφων. Για παράδειγμα, ας υποθέσουμε ότι θέλετε να γράψετε ένα κείμενο και να το δώσετε σε τρίτα +πρόσωπα. Υπάρχει πιθανότητα άλλος να δουλεύει με tex, άλλος με postscript και άλλος με απλό text. Τί έχετε να κάνετε εσείς; Να γράψετε το κείμενο 3 φορές; ΟΧΙ. +Μόνο μία σε sgml. Μετά θα μπο ρέσετε να το μετατρέψετε σε άλλες μορφές χωρίς να χρειαστεί να ξαναγράψετε το κείμενο. Πώς; Με τα sgml-tools. + +Τα sgml-tools είναι απαραίτητα σε όποιον γράφει σε sgml. Κάνουν ακριβώς αυτό που σας είπα. Μετατρέπουν ένα κείμενο γραμμένο σε sgml σε άλλες μορφές (που θα τις +δούμε σε λίγο). Δυστυχώς, δεν κάνουν το αντίθετο, δηλαδή ένα κείμενο μιας άλλης μορφής σε sgml. Το πακέτο αυτό περιέχεται στα πακέτα που συνοδεύουν τις +τελευταίες διανομές του Linux. Παρόλα αυτά, για να μείνουν όλοι ευχαριστημένοι (και όχι μόνο οι κάτοχοι των τελευταίων RedHat και SuSE), ο τόπος από όπου +μπορείτε να κατεβάσετε τα sgml-tools είναι ο εξ ής: . + +Το πακέτο sgmltools περιέχει τα εξής εκτελέσιμα αρχεία:\ +sgml2html για να μπορείτε να μετατρέψετε το sgml σε html. Αυτός είναι ένας καλός τρόπος για όσους γράφουν άρθρα για το Magaz να κάνουν preview και να καταλάβουν +πως θα φαίνεται το άρθρο τους όταν βγεί το τεύχος του Magaz.\ +Επίσης, sgml2latex για μετατροπή σε tex, sgml2lyx, sgml2rtf, sgml2txt για τις αντίστοιχες μορφές εγγράφων. + + +### [4. Ευχαριστίες]{#s4} + +Οι ευχαριστίες πηγαίνουν στον [Johan Bengtsson](mailto:johanb@lls.se), τον δημιουργό του προγράμματος, για την συνεργασία του με το Magaz καθώς και τον [Μιχάλη +Καμπριάνη](mailto:kabrianis@hellug.gr) για τη μετατροπή του august σε editor για sgml και για τη βοήθειά του για τη συγγραφή αυτού του άρθρου. + diff --git a/content/articles/16/05_gtk.md b/content/articles/16/05_gtk.md new file mode 100644 index 0000000..cb5ee66 --- /dev/null +++ b/content/articles/16/05_gtk.md @@ -0,0 +1,68 @@ ++++ +title = 'Τα Πρώτα μου Πρόγραμματα με το GTK+ (1)' +date = '1999-08-01T00:00:00Z' +description = '' +author = 'Γιώργος Κεραμίδας(mailto:keramida@hellug.gr)' +issue = ['Magaz 16'] +issue_weight = 5 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Μία μικρή εισαγωγή στο Toolkit GTK+ και απλές οδηγίες προγραμματισμού με τη χρήση του.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Εισαγωγή** +------------------------------------- + +- [1.1 Τι είναι το GTK+;](#ss1.1) +- [1.2 Που θα Βρείτε το GTK+;](#ss1.2) + +**2. Εγκατάσταση του GTK+** +------------------------------------------------- + + +### [1. Εισαγωγή]{#s1} + +Το θέμα αυτού του άρθρου είναι το GTK+, τί είναι, που θα το βρείτε, πως θα το εγκαταστήσετε, και πως θα γράψετε μικρά, απλά προγράμματα με αυτό. Δεν εμβαθύνει +σε δύσκολα θέματα προγραμματισμού με το GTK+, για πολλούς λόγους, γιατί εγώ δεν έχω ακόμα την απαραίτητη πείρα (αφού τώρα μαθαίνω να προγραμματίζω με το GTK+), +αλλά και γιατί υποτίθεται ότι απευθύνεται σε άτομα που δεν έχουν προγραμματίσει ως τώρα με το GTK+. + +Τα επόμενα άρθρα, όταν αυτά υπάρξουν, θα είναι για πιο προχωρημένα θέματα, και θα βασίζονται στην εμπειρία που έχω ως τότε αποκτήσει με το GTK+. Εννοείται ότι +για να αποκτήσω κάποια γνώση με το GTK+ διαβάζω τον κώδικα του GTK+ μανιωδώς, αλλά θα προσπαθήσω γράφοντας να αποφύγω το να πάτε εσείς που διαβάζετε τα άρθρα να +ψάχνετε κάτι μέσα στο source του GTK+. Ακόμα κι έτσι όμως, είναι καλύτερο όταν διαβάζετε τα άρθρα για να μάθετε να προγραμματίζετε με το GTK+, να έχετε και τον +κώδικα του GTK+ κάπου πρόχειρο. + +### [1.1 Τι είναι το GTK+;]{#ss1.1} + +Καλά όλα αυτά, θα πει κάποιος, αλλά τι είναι αυτό το GTK+; Λοιπόν, το GTK+ είναι μια \'εργαλειοθήκη\', μια σειρά από βιβλιοθήκες, για να χτίζει κανείς +προγράμματα που τρέχουν κάτω από τα X11. Αρχικά φτιάχθηκε για να βοηθήσει στο γράψιμο του GIMP, του GNU Image Manipulation Program, αλλά τώρα πια +χρησιμοποιείται από πολλά προγράμματα, όπως από αυτά που είναι μέρος του Gnome, του γραφικού περιβάλλοντος που βασίζεται εξ\' ολοκλήρου στο GTK+. + +Αρχικά το GTK+ εμφανισιακά έμοιαζε με μια άλλη δημοφιλή εργαλειοθήκη που χρησιμοποιείται σε Unix/X11 περιβάλλοντα, το Motif. Και ο αρχικός σκοπός δημιουργίας +του GTK+ ήταν να φτιαχθεί μια Motif-like εργαλειοθήκη, που δεν θα είχε τους περιορισμούς του Motif, τόσο στην άδεια χρήσης όσο και σε κάποια χαρακτηριστικά του +Motif που δεν άρεσαν στους δυο δημιουργούς του GTK+, τον Spencer Kimball και τον Peter Mattis. + +### [1.2 Που θα Βρείτε το GTK+;]{#ss1.2} + +Το GTK+ θα το βρείτε πρωταρχικά στις σελίδες του [http://www.gtk.org](http://www.gtk.org/) από όπου μπορείτε να βρείτε τόσο το ίδιο το GTK+ σε μορφή πηγαίου +κώδικα, όσο και πληροφορίες για προγράμματα που χρησιμοποιούν το GTK+, mailing-lists που σχετίζονται με τον προγραμματισμό σε GTK+, κτλ. + +Στις σελίδες του **http://www.gtk.org/** θα βρείτε και το GTK+ σε διάφορες μορφές, που μπορούν να εγκατασταθούν εύκολα με τον package-manager που +χρησιμοποιείτε. Δίνεται απ\' όσο ξέρω και σε μορφή `.RPM`, `.DEB` αλλά και σε `.TAR.GZ` που μπορείτε να αποσυμπιέσετε και να μεταγλωττίσετε μόνοι σας. + + +### [2. Εγκατάσταση του GTK+]{#s2} + +Ανάλογα με τι μορφή θα έχει το GTK+ που θα κατεβάσετε από το είναι και διαφορετική η διαδικασία εγκατάστασης. Εδώ θα διακρίνουμε τις τρείς +περιπτώσεις: + +- Να έχετε κατεβάσει το GTK+ σε μορφή `.rpm`, οπότε κάνετε την εγκατάσταση με τον RedHat Package Manager (aka RPM). Αυτός ο τρόπος εγκατάστασης μπορεί να + χρησιμοποιηθεί σε όλα τα distributions που χρησιμοποιούν τον RPM, τόσο σε RedHat όσο και σε SuSE. + +- Να έχετε κατεβάσει το `.deb` μορφή το GTK+, που είναι το συνηθισμένο για Debian διανομές. + +- Να έχετε κατεβάσει τον πηγαίο κώδικα σε `.tar.gz` μορφή, που μπορεί να εγκατασταθεί σε όλα τα Linux distributions, αλλά και σε άλλα λειτουργικά (αρκεί να + έχουν μια έκδοση των X11 κι ένα compiler που να υποστηρίζει τα features που χρησιμοποιεί το GTK+). + diff --git a/content/articles/16/06_mailbox.md b/content/articles/16/06_mailbox.md new file mode 100644 index 0000000..9bc16d2 --- /dev/null +++ b/content/articles/16/06_mailbox.md @@ -0,0 +1,1080 @@ ++++ +title = 'Αλληλογραφία' +date = '1999-08-01T00:00:00Z' +description = '' +author = '' +issue = ['Magaz 16'] +issue_weight = 6 ++++ + +Παρακαλούμε ακολουθήστε τους κάτωθι κανόνες: + +α) Να βάζετε ένα θέμα σχετικό με την ερώτηση στο mail σας. Ένα θέμα της μορφής \"Ερώτηση περί Linux\" δεν βοηθάει ιδιαίτερα.\ +β) Να ρίχνετε και καμμιά ματιά στα περασμένα τεύχη, και εννοώ και τη στήλη της αλληλογραφίας, αλλά και τα άρθρα. Ίσως κάποιες ερωτήσεις να απαντιούνται από +εκεί.\ +Επίσης, παρακαλούμε γράφετε στα ελληνικά. Αν το outlook σας δεν βλέπει ελληνικά, βάλτε linux :-)\ +γ) Απαντήσεις οι οποίες δεν έχουν απαντηθεί, σημαίνει ότι μάλλον δεν ξέρουμε την απάντηση. Ερωτήσεις οι οποίες έρχονται με mail, είναι ΠΟΛΥ ΔΥΣΚΟΛΟ να +απαντηθούν. Προτιμήστε την φόρμα. + +**1. ΑΛΛΑ UNIX** +------------------------------------------ + +**2. Πρώτο Login** +-------------------------------------------- + +**3. Magaz** +-------------------------------------- + +**4. Macromedia flash σε apache** +----------------------------------------------------------- + +**5. Routing??** +------------------------------------------ + +**6. ΒΟΟΜ** +------------------------------------- + +**7. GNOME ???** +------------------------------------------ + +**8. gia linux ftp** +---------------------------------------------- + +**9. ΛΙΝΟΥΞ-ΚΠΠΠ** +-------------------------------------------- + +**10. Installation** +------------------------------------------------ + +**11. Kde ή Gnome ?** +------------------------------------------------- + +**12. ellinika sto suse** +----------------------------------------------------- + +**13. greek for debian linux** +---------------------------------------------------------- + +**14. Modem!** +------------------------------------------ + +**15. Άϊντε πάλι ένας αρχάριος\...** +---------------------------------------------------------------- + +**16. x-server** +-------------------------------------------- + +**17. Single User** +----------------------------------------------- + +**18. Linux + Viper 550** +----------------------------------------------------- + +**19. Πρόσβαση Στο Ιντερνετ** +--------------------------------------------------------- + +**20. Linux and Unix** +-------------------------------------------------- + +**21. Modem problem 2** +--------------------------------------------------- + +**22. Modem!!!** +-------------------------------------------- + +**23. Ποια πορτ πρεπει να κλισω στο σουσε 6!!!???** +------------------------------------------------------------------------------- + +**24. SBLive for Kernel 2.2.5-15?** +--------------------------------------------------------------- + +**25. μια παρατηρηση για τους γκουρου** +------------------------------------------------------------------- + +**26. Antivirus** +--------------------------------------------- + +**27. port του linux** +-------------------------------------------------- + +**28. clock** +----------------------------------------- + +**29. καρτα ηχου ΟΡΤΙ 931** +------------------------------------------------------- + +**30. ΛΙΝ0ΥΞ η ΓΟΥΙΝΤΟΟΣ?** +------------------------------------------------------- + +**31. password sto apache** +------------------------------------------------------- + +**32. PROTASH** +------------------------------------------- + +**33. make module** +----------------------------------------------- + +**34. SB live kai LINUX** +----------------------------------------------------- + +**35. 2 cdrom sto linux** +----------------------------------------------------- + +**36. Το Προβλημα με το CD του RAM !!!** +-------------------------------------------------------------------- + +**37. Kernel 2.2.5** +------------------------------------------------ + +**38. internet** +-------------------------------------------- + +**39. Γλώσσα C** +-------------------------------------------- + +**40. internet** +-------------------------------------------- + +**41. internet** +-------------------------------------------- + +**42. Ellhnika sto Star Office 5.0** +---------------------------------------------------------------- + +**43. MP3 player για κονσόλα** +---------------------------------------------------------- + +**44. Poia ekdosh Linux?** +------------------------------------------------------ + +**45. PPP connection: Oi alloi xrhstes?** +--------------------------------------------------------------------- + +**46. ISDN** +---------------------------------------- + +**47. προβλημᨨ** +---------------------------------------------- + +**48. Internet Chat, CD Burning & Linux** +--------------------------------------------------------------------- + +**49. Syndesi PPP.** +------------------------------------------------ + +**50. Printers** +-------------------------------------------- + +**51. X-windows** +--------------------------------------------- + +**52. startup disk** +------------------------------------------------ + +**53. Σύνδεση Ιντερνετ** +---------------------------------------------------- + +**54. Creative TNT Graphics Card** +-------------------------------------------------------------- + +**55. Linux-nt Tests** +-------------------------------------------------- + +**56. news server** +----------------------------------------------- + +**57. AGP?** +---------------------------------------- + +**58. Γενικα για Linux** +---------------------------------------------------- + + +### [1. ΑΛΛΑ UNIX]{#s1} + +Από : [ΑΛΕΞΑΝΔΡΟΣ ΓΑΛΑΖΙΟΣ](mailto:agalaz@tee.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +ΣΤΟ REDHAT 6.0 ΔΕΝ ΠΕΡΙΕΧΕΤΑΙ ΤΟ IBCS ΤΟ ΚΑΤΕΒΑΣΑ ΤΟ ΑΠΟ ΤΟ INTERNET, ΑΛΛΑ ΠΑΡΟΤΙ ΔΕΙΧΝΕΙ ΝΑ ΕΧΕΙ ΕΓΚΑΤΑΣΤΑΘΕΙ ΣΩΣΤΑ ΔΕΝ ΤΡΕΧΕΙ ΠΡΟΓΡΑΜΜΑΤΑ ΑΠΟ ΑΛΛΑ UNIX (SCO) +ΣΤΟ RH 5.2 ME KERNEL 2.0.36 ΔΕΝ ΥΠΗΡΧΕ ΠΡΟΒΛΗΜΑ ΥΠΑΡΧΕΙ ΚΑΠΟΙΑ ΛΥΣΗ? ΕΝΑ ΑΛΛΟ ΕΡΩΤΗΜΑ ΕΙΝΑΙ: ΜΠΟΡΕΙ ΚΑΠΟΙΟΣ ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΤΟ ΣΥΣΗΜΑ ΑΝΑΠΤΥΞΗΣ ΤΟΥ LINUX ΝΑ +ΔΗΜΙΟΥΡΓΗΣΕΙ ΚΩΔΙΚΑ ΠΟΥ ΝΑ ΤΡΕΧΕΙ ΚΑΙ ΣΕ ΑΛΛΑ INTEL-BASED UNIX (SCO)? + +*Δυστυχώς δεν είσαι σαφής. Τι μηνύματα σου βγάζει και σε ποιο στάδιο? Το module γίνεται inserted κανονικά? Έχεις κατεβάσει την σωστή έκδοση για τον πυρήνα σου? +Οποιοσδήποτε κώδικας γράψεις, αν τον γράψεις για να είναι portable, θα είναι portable, και θα χρειάζεται μικρές (σχετικά) αλλαγές για να γίνει compile σε άλλα +παρόμοια συστήματα.* + + +### [2. Πρώτο Login]{#s2} + +Από : [Μάριος Καραγεωργίου](mailto:mariosk1@hotmail.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Για σας , είμαι μεγάλος θαυμαστής του Linux και αντιBillGates και θα ήθελα να ρωτήσω όταν τελειώνω με το install και βάζω Login και Password τι εντολές εκτελώ +για να μπώ μέσα; + +*Αν σου έχει βγάλει prompt, είσαι έτοιμος να κάνεις ότι θέλεις. Αν σου ξαναζητάει username μάλλον τα έχεις γράψει λάθος.* + + +### [3. Magaz]{#s3} + +Από : [Stavros Maragoudakis](mailto:elhellas@hol.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Pite mou giati stamatise to Magaz na kiklofori meso internet? Tha epanakikloforisi? Apantiste mas parakalo + +*Δεν σταμάτησε, απλά αναπαύεται για λίγο. Θα ξανακυκλοφορήσει προς το τέλος Ιουλίου* + + +### [4. Macromedia flash σε apache]{#s4} + +Από : [Ξυνός Παναγιώτης](mailto:darksun@grupmulti.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Για σας, Δεν μπορώ να βάλω .swf αρχεία να παίζουν στον Apache. Η Μacromedia λεει οτι πρέπει να αλλαχτει κάτι στο configuration του Apache που έχει σχέση με τα +ΜΙΜΕ types. H Εντολή Addtype καθώς και η AddHandler εχουν σχέση με τα MIME αλλά δεν ξέρω ποιά directive φορτώνει αρχεία χώρις να τα επεξεργάζεται ο server. To +kernel μου είναι 2.0.36 distribution RedHat 5.1 και ο Apache o 1.3v Ευχαριστώ περιμένω απάντηση σας + +*Φίλε Παναγιώτη, η ερώτησή σου είναι εντελώς άσχετη με Linux, αλλά μια και ξέρω την απάντηση\...\ +Στο αρχείο mime.types βάλε τη γραμμή* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + application/x-shockwave-flash swf + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*και κάνε restart τον server\ +* + + +### [5. Routing??]{#s5} + +Από : [Mihailos John](mailto:mjohn@compulink.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Θα ηθελα να κανω μια ισως περιεργη ερωτηση. Εχω 2 Η/Υ με Linux συνδεμενους μεταξύ τους. Ο ένας \"βλέπει\" τον αλλον και μπορω να κανω telnet ή να δω NFS +volumes. Στον ενα εχω modem και μπορω να συνδεθω στο Internet. Μπορω απο τον αλλο να δω διευθυνσεις του Internet, αφου έχω ηδη συνδεθει με τον πρωτο Η/Υ? Εκανα +διαφορα πειραματα με το route μα το μονο που καταφερα ηταν να δω τον Η/Υ που εχει το modem με δυο διαφορετικες IP addresses. Την IP του τοπικου Lan και την IP +που μου εδωσε ο ISP. Στον Η/Υ με το modem εχω δωσει την IP 10.0.0.1 και στον αλλον 10.0.0.2. Αν δεν μπορεις να μου απαντησεις, πες μου αν ξερεις που μπορω να +βρω πληροφοριες. Ευχαριστω. + +*Αυτό που χρειάζεσαι είναι το IP masquerading. Λεπτομέρειες για αυτο, και για πυρήνα 2.0.χ θα βρεις στο τεύχος 5 του 1998 του περιοδικού μας. Αν έχεις πυρήνα +2.2.χ θα χρειαστούν κάποιες αλλαγές.* + + +### [6. ΒΟΟΜ]{#s6} + +Από : [ΑΝΔΡΕΑΔΗΣ ΚΩΣΤΑΣ](mailto:writer@xtreme.gr) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +πος θα φτάσω στο τέλος του προγράματος? + +*Με τα πόδια? Καλά είναι?* + + +### [7. GNOME ???]{#s7} + +Από : [FREZOULIS CONSTANTINOS](mailto:freco@x-treme.gr) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Εχω το SUSE LINUX 6.1 εδώ και 2 μέρες και δουλεύει άψογα. Το KDE το είχα δει και από το CD του RAM με το SUSE 6.0. Τώρα στο 6.1 εγκατέστησα και το GNOME. Πως +μπορώ να το τρέξω. Η επαφή μου με το LINUX είναι περίπου δύο εβδομάδων. Θα ήθελα την βοήθειά σας. Ευχαριστώ εκ των προτέρων + +***ΝΤΙΣΚΛΕΙΜΕΡ**. ΑΝ ΔΙΑΒΑΣΕΙΣ ΑΥΤΟ ΤΟ MAIL ΔΕΧΕΣΑΙ ΑΥΤΟΜΑΤΑ ΚΑΙ ΑΔΙΑΜΑΡΤΗΡΗΤΑ ΤΟΥΣ ΚΑΤΟΘΙ ΟΡΟΥΣ.\ +Α. ΔΕΝ ΘΑ ΞΑΝΑΣΤΕΙΛΩ ΕΡΩΤΗΣΗ ΑΝ ΔΕΝ ΔΙΑΒΑΣΩ ΠΡΩΤΑ ΤΟ ΧΕΛΠ ΦΑ\`Ι\`Λ, ΓΙΑΤΙ ΤΑ ΠΑΙΔΙΑ ΣΤΟ ΜΑΓΚΑΣ ΔΕΝ ΜΠΟΡΟΥΝ ΝΑ ΑΣΧΟΛΟΥΝΤΑΙ ΣΥΝΕΧΩΣ ΜΕ ΠΡΑΓΜΑΤΑ ΠΟΥ ΘΑ ΕΠΡΕΠΕ ΝΑ +ΗΞΕΡΑ.\ +Β. ΔΕΝ ΘΑ ΞΑΝΑΣΤΕΙΛΩ ΕΡΩΤΗΣΗ ΑΝ ΔΕΝ ΔΙΑΒΑΣΩ ΠΡΩΤΑ \*ΟΛΑ\* ΤΑ ΤΕΥΧΗ ΤΟΥ ΥΠΕΡΟΧΟΥ ΑΥΤΟΥ ΠΕΡΙΟΔΙΚΟΥ ΠΟΥ ΛΕΓΕΤΑΙ MAGAZ, ΚΑΙ ΒΡΙΣΚΕΤΑΙ ΣΤΗ ΔΙΕΥΘΥΝΣΗ +MAGAZ.HELLUG.GR., ΓΙΑΤΙ ΤΑ ΠΑΙΔΙΑ ΣΤΟ ΜΑΓΚΑΣ ΔΕΝ ΜΠΟΡΟΥΝ ΝΑ ΑΠΑΝΤΟΥΝ ΣΥΝΕΧΩΣ ΣΤΙΣ ΙΔΙΕΣ ΕΡΩΤΗΣΕΙΣ.\ +Γ. ΠΟΛΛΕΣ - ΠΟΛΛΕΣ ΑΠΑΙΤΗΣΕΙΣ ΠΟΥ ΔΙΚΑΙΟΛΟΓΗΜΕΝΑ ΕΧΟΥΝ ΤΑ ΠΑΙΔΙΑ ΣΤΟ MAGAZ.\ +ΑΝ ΣΥΜΦΩΝΕΙΣ ΜΕ ΤΑ ΠΑΡΑΠΑΝΩ, Η ΑΠΑΝΤΗΣΗ ΕΙΝΑΙ:\ +ΒΑΛΕ ΣΤΟ .xinitrc ΤΗ ΓΡΑΜΜΗ gnome-session ΠΡΙΝ ΤΗΝ ΕΚΚΙΝΗΣΗ ΤΟΥ WINDOW MANAGER.\ +ΕΥΧΑΡΙΣΤΩ ΕΚ ΤΩΝ ΠΡΟΤΕΡΩΝ, ΚΑΙ ΚΑΛΑ ΝΑ ΠΑΘΩ.\ +* + + +### [8. gia linux ftp]{#s8} + +Από : [nikos kontos](mailto:spady@compulink.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Geia sas prospatho edo kai kati meres na mpo sto ftp linux.gr alla me bgazei minima \<\< login incorrect \>\> re paidia ti prepei na kano? + +*Φίλε Νίκο, πρέπει να μιλήσεις με τον ftpadmin\@linux.gr (αν και τώρα που το επισήμανες, θα του μιλήσουμε κι εμείς.)* + + +### [9. ΛΙΝΟΥΞ-ΚΠΠΠ]{#s9} + +Από : [ΚΟΝΤΕΛΛΗΣ ΣΤΡΑΤΗΣ](mailto:kstratos17@hotmail.com) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Γειά σας παιδιά Ονομάζομαι Κοντέλλης Στρατής και σας στέλνω αυτό το e-mail απο την Μυτιλήνη. Εδω και 3 περίπου μήνες ασχολούμαι με το Linux έχοντας αγοράσει την +αυθεντική έκδοση SUSE 6.1 με τα 5 CD και το manual.Το πρόβλημά μου είναι κυρίως στην σύνδεση με το Inernet μέσω του Linux, και μέσω του προγράμματος kppp του +περιβάλοντος ΚDE. Συγκεκριμένα ενώ έχω επιτύχει connection κανονικά με το τερματικό (ανάλογο με αυτό των Windows98, login,password,κλπ) όταν ανοίγω τον Netscape +αυτός δεν μπορεί να επικοινωνήσει με τον server του provider. Κατά την προσωπική μου γνώμη πρέπει να φταίει οτι δεν εχω δηλώσει το IP του Dns του server στο +αντίστοιχο πεδίο. Internet Provider στην περίπτωσή μου είναι (α)Otenet, (β)Πανεπιστήμιο Αιγαίου, (γ)Χ-treme. + +*Συνδέσου στον κάθε provider από τα ακατονόμαστα, άνοιξε ένα παράθυρο dos, και γράψε \`\`ipconfig /all\'\'. Εκεί θα σου γράψει ποιός είναι ο ντιενες (!!) για +τον αντίστοιχο provider.* + + +### [10. Installation]{#s10} + +Από : [Trifon Scandalis](mailto:tscandalis@hotmail.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Moy einai adynato na egatastisw to Caldera openlinux 2.2. Ftanw se ena shmeio poy moy zhta na prosdiorisw to plhres path katw apo to \'/mnt\' poy briskode ta : +\'bin\',\'data\',\'install\'. Opws kai katw apo to \'install\' prepei na briskodai ta akoloutha :\'RPMS\',\'basis1\',\'network1\' & \'etc\'. Tha eimai +ypoxreomenos an yparxei kapoia bohtheia wste na ksekolhsw apo ayto to problhma. + +*Σε παρακαλούμε γίνε λίγο πιο σαφής σχετικά με το πως (από που) προσπαθείς να κάνεις εγκατάσταση. Όπως φαίνεται από όσα λες, δεν μπορεί να δει το +installation-media* + + +### [11. Kde ή Gnome ?]{#s11} + +Από : [Ανδριόπουλος Ν.](mailto:gna@hol.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Ειμαι ενας κλασσικός Window-ακιας, και θέλοντας να αλλαξω το γεγονος αυτό, είμαι ετοιμος να εγκαταστήσω Linux. Παρόλα αυτά, θα ήθελα να γνωρίζω αν διαφέρει στην +απόδοση το Linux οταν χρησιμοποιείται KDE ή Gnome, καθώς και εαν είναι δυνατον αυτά τα δυο να συνυπάρχουν στο ίδιο σύστημα. Ευχαριστώ. + +*Ναι, ειναι δυνατόν να συνυπάρξουν τα KDE και Gnome, και βέβαια υπάρχει μεγάλη διαφορά στην αποδοση όταν τα χρησιμοποιείς. Όπως καταλαβαινεις, όσο περισσότερα +προγράμματα τρέχεις, τόσο περισσότερο επιβαρύνεις το μηχάνημα, και εφόσον το KDE και το Gnome είναι περιβάλλοντα εργασιας (πολλές εφαρμογές με ίδιο look, +daemons για την μεταξύ τους επικοινωνία corba κλπ ) μειώνουν την απόδοση. Σε καμία περίπτωση βέβαια, αυτή η μείωμενη απόδοση δεν συγκρίνεται με την \"μη +μειωμένη\" απόδοση των Windows.* + + +### [12. ellinika sto suse]{#s12} + +Από : [Microgenesis](mailto:microgenesis@yahoo.com) + +Απάντηση : [Ευριπίδης Παπακώστας](mailto:evris@hellug.gr) + +re paidia pos xanomai.pos tha balo ellinika sto suse.den exo allo leitoy rgiko gia na do tis selides kai den katalabaino tipota.mipos yparxoyn poythena +plirofories gia ta ellinika sta agglika? eyxaristo + +*grafo greeklish giati alloios den tha ta diavaseis iparxoun plirofories gia polla pragmata gia ellinika (sta ellinika) alla merikei exoun frontisei kai gia sas +dinontas sas ta idia kai sta greeklish. sto www tou hellug sto HOWTOs session, iparxei to Hellenic HOWTO tou photi tou georgatou kai se greeklish version. isos +afto se voithisei. kata ta alla boreis na dokimaseis tin tixi sou diavazontas ta archives tis listas linux-greek-users i kai na eggrafeis se aftin opos lene oi +odigies stin antistoixi selida tou server tou hellug.* + + +### [13. greek for debian linux]{#s13} + +Από : [Σωτηριάδης Φίλιππος](mailto:phil@wcl.ee.upatras.gr) + +Απάντηση : [](mailto:) + +Θα ήθελα να ρωτήσω τη διαδικασία εγκατάστασης ελληνικών για LINUX της DEBIAN και RED HAT 5.2? Παρακαλώ θα ήθελα ΠΟΛΥ ΛΕΠΤΟΜΕΡΕΙΣ, οδηγίες διότι είμαι Αρχάριος +σε αυτό το λειτουργικό! Ευχαριστώ εκ των προτέρων! + +*Δες στο magaz, αριθμός τεύχους 13* + + +### [14. Modem!]{#s14} + +Από : [E. Souglakos](mailto:esouglakos@hotmail.com) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Giati sto kpp den briskei to modem oute sthn cua1,2. Kanonika ua eprepe na htan sthn cua2 afou sta win98 einai sthn com3. Xrhsimopoiw Redhat 5.2 kai me to +modemtool to exw dhlvsei sthn cua2 Exw to e3wteriko supra 33.6 Ta idia moukanei kai sto suse 6.1 pou dokimasa. Auto ginetai apo tote pou alla3a mitrikh. Exw +3anagrapsei kai mou eipate na dhlwsw me setserial /dev/cua2\.... ta io,UART,irq opws einai sta 98 alla tipota. Ti einai auto to MODEM DEVICE LOCKED? + +*Αν σου βγάζει αυτό το μύνημα, τότε βρίσκει το modem, αλλά είναι locked.\ +Διάβασε το help του kppp για το πως θα το ξεκλειδώσεις (δεν θυμάμαι)\...* + + +### [15. Άϊντε πάλι ένας αρχάριος\...]{#s15} + +Από : [Κώστας Κουρούνης](mailto:kour@tee.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Χωρίς να θέλω να κουράσω τους προχωρημένους, η ερώτηση είναι: Πώς μπορεί κάποιος ΑΗΔΙΑΣΜΕΝΟΣ (και κουρασμένος) από τα Μ\$-παράθυρα να φτάσει σε ένα καλό επίπεδο +σε LINUX; Χωρίς να χρειαστεί να φτάσω κι εγώ στα ίδια αδιέξοδα με τους παλιώτερους. Δεν μπορεί (λέω τώρα\...) θα υπάρχει κάποια βιβλιογραφία ή επιλεγμένα +news-groups ή URLs γιά να μην ξανα-ανακαλύπτουν και οι νεώτεροι users τον τροχό. Αυτό που με απασχολεί είναι οτι δεν ξέρω χριστό από Unix. Είναι καθοριστικός +παράγοντας τούτο; Γειά κι ευχαριστώ \_ + +*Μπορείς πολύ απλά, να διαβάζεις τα how-tos (http://www.hellug.gr/gr/howto) για κάθε θέμα που σου παρουσιάζεται, μετά τα man pages (man εντολή), και τέλος τα +archives της λίστας (http://lists.hellug.gr). Δεν θα γίνεις ειδήμονας, αλλά θα αποφύγεις τις χαζές ερωτήσεις, πράγμα το οποίο θα αποβεί υπέρ σου , μια που σε +καποια σοβαρή ερωτηση και με όχι τόσο προφανή απάντηση, όλο και κάποιον θα βρεις να σου απαντήσει. Το ότι δεν ξερεις unix δεν είναι τραγικο, αρκεί να έχεις +ανοιχτο μυαλό (π.χ. δεν είναι ανάγκη να τελειώνουν τα αρχεία σε .exe για να ειναι εκτελέσιμα. Άλλοι είναι οι κανόνες του παιχνιδιού), και να διαβάσεις κι ένα +βιβλίο πιο πρώτα. Θα σου πρότεινα το Running Linux. Ειμαστε πάντα εδώ για οποιαδήποτε ΠΡΑΓΜΑΤΙΚΗ ερώτηση θέλεις.* + + +### [16. x-server]{#s16} + +Από : [Peios Nikos](mailto:peios@csd.uch.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Mhpws mporeite na mou peite pou mporw na brw ton x-server ths kartas creative riva tnt ,wste na mporesw epeitelous na seikwsw paratheira sto red-hat linux. Enas +kainourgios fanatikos opados tou Linux\...\... + +*Πριν από δυο τρεις μέρες, η Nvidia ανακοίνωσε drivers για Linux. Περισσότερες πληροφορίες στο +http://www.nvidia.com/Products.nsf/htmlmedia/software\_drivers.html* + + +### [17. Single User]{#s17} + +Από : [Γιώργος Νταής](mailto:Ackroyd_2@Hotmail.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Χρησιμοποιώ το RedHat Linux 5.2. Με ανησυχεί το γεγονός ότι υπάρχει η δυνατότητα σε κάποιον που δεν είναι ο root να εκκινήσει το Linux σε Single User Mode και +να έχει πρόσβασει στα αρχεία ρυθμίσεων και στον κατάλογο /root όπου και έχω τα αρχεία μου. Σε Single User Mode μπορώ να κάνω σχεδόν ό,τι κάνω και όταν κάνω +login ως root. Δεν είναι αυτό ένα security problem στο Linux? Τουλάχιστο θα έπρεπε να υπήρχε κάποιο password. Τι να κάνω; + +*Μπορείς να βάλεις password στο lilo ουτως ώστε να μην μπορείς να του ζητήσεις κάποιο ξεχωριστό image ή runlevel από το default, χωρίς password. Αλλά αν υπάρχει +φυσική πρόσβαση στο μηχάνημα, κάποιος μπορεί να το ανοίξει και με δισκέτα και να κάνει το ίδιο πράγμα. Συνεπώς, αν το μηχάνημα περιέχει ευαίσθητα δεδομένα, το +καλύτερο που έχεις να κάνεις είναι να το βάλεις σε προστατευμένο χώρο.* + + +### [18. Linux + Viper 550]{#s18} + +Από : [Θωμάς Δολιανίδης](mailto:ein-zerocool@geocities.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Sas parakalo an itan dinaton na apantoysate stin erotisi moy an einai dinaton na litoyrgisei to RED HAT 5.2 me eggatestime karta grafikwn tin Diamond Viper 550 +kai na doylepsony ta Xwindows kai to KDE Xriazome kapia arxeia mipos Eyxaristo gia ton xrono sas YG. Apantiste sas parakalo to sintomotero dinaton meso email + +*Η ερώτησή σου έχει απαντηθεί.* + + +### [19. Πρόσβαση Στο Ιντερνετ]{#s19} + +Από : [Γιώρος Σταματίου](mailto:methana@hotmail.com) + +Απάντηση : [Ευριπίδης Παπακώστας](mailto:evris@hellug.gr) + +Θα ήθελα σας παρακαλώ να με βοηθήσετε οσον αφορά την σύνδεση μου στο ίντερνετ.Εχω το KDE και με το πρόγραμμα kppp προσπαθώ να συνδεθώ αλλα οτι script κι αν έχω +δοκιμάσει (terminal based,PAP ,CHAP) μου βγάζει συνεχώς pppd daemon died unexpectually κάτι τέτοιο.Εχω βάλει μπροστά απο το αρχείο /etc/ppp/options το \# στο +lock. Θα πρέπει να σας πω οτι όταν με βγάζει σε terminal screen του provider δίνω κανονικά το username,password και όταν πατάω to continue μου βγάζει αυτο το +error message.Δεν ξέρω αν πρέπει να κάνω κάποιες ρυθμίσεις απο το YaST η απο το ιδιο το kppp. Σας Ευχαριστώ πολύ. + +*Αν πατήσεις το Help στο Kppp τότε θα δεις πως πρέπει να πας στο /etc/ppp/ και να διαγράψεις μια γραμμή που λέει lock.* + + +### [20. Linux and Unix]{#s20} + +Από : [Μιχαλης](mailto:elfiness@yahoo.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Γεια παιδια, εχω να κανω \"μια\" ερωτηση\... Απο οτι ξερω το Λινουξι δεν ανηκει επισημως στα Unices για διαφορους λογους τυποποιησης, και αλλες παραμετρους.. +περα απο τη θεωρητικη/νομικη διαφορα, υπαρχει μια καθαρη διαφορα στην πραξη;; Δηλαδη, τι παραπανω εχει το λινουξ που δεν εχουν τα αλλα;; Τι εχει δικο του +εισαγει στο χωρο; Τι διαφορα εχει στη \"δομη\" του; ελπιζω τωρα να γινω σοφοτερος\... + +*Θα απαντηθεί σε άρθρο εν καιρώ. Είναι πολύ μεγαλη ιστορία για ένα mail.* + + +### [21. Modem problem 2]{#s21} + +Από : [Vangelis Souglakos](mailto:esouglakos@hotmail.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Ti prepei na grapsw \"akrivws\"meta apo setserial /dev/cuaXYZ gia na exw io=03E8, UART= NS 165550AN (etsi to lene ta 98), IRQ 05 + +*setserial /dev/ttySx port 0x3e8 uart 16550AN irq 5 όπως λέει πολύ αναλυτικά και το manual του. (man setserial).* + + +### [22. Modem!!!]{#s22} + +Από : [Ευάγγελος Σουγλάκος](mailto:esouglakos@hotmail.com) + +Απάντηση : [Ευριπίδης Παπακώστας](mailto:evris@hellug.gr) + +Έχω ένα modem Diamond Supra 33.6 Internal το οποίο δουλευε μια χαρά στο RedHat Linux 5.2. και ήταν εγκατεστημένο στην COM3 \--\> cua2. Πρόσφατα αγόρασα μια +μητρική Gigabytes GA-5AX. Από τότε το Linux δεν το βρίσκει πουθενά. Προσπαθώ να συνδεθώ με το kppp. Όταν το δηλωνω στο /dev/modem λέει ότι \"cant open modem\" +στην cua2 \"Sorry the modem is busy\" στην cua0 κολάνε τα X windows αφού εκει έχω δηλώσει το mouse, στην cua1 το kppp κολάει. Όταν κολήσει βγαίνω απο τα Χ και +ξαναμπαίνω. Αλλά τώρα στο kppp γράφει (όταν το βάλω στην cua2) Modem is locked. Ακόμη στο minicom γράφει. WARNING: configuration file not found, using defauls +Cannot open /dev/modem No such file or directory Το παράξενο είναι ότι με το Supra 56 Pro External δουλεύουν όλα μια χαρά. Έχω δοκιμάσει και με το SUSE 6.0 και +με το RedHat 5.2 αλλά τίποτα. Υποψιάζομαι ότι φταίει το mouse (ειναι στην Παράλληλη 1). Το έβαλα στην 2 αλλά τίποτα. + +*Σκέψη: μπας και δεν ταιριάζουν πια τα irqs,io,UART types για το εσωτερικό σου modem? Αν κοιτάξεις στα win τις αντίστοιχες πληροφορίες μπορείς να δοκιμάσεις +μετά στο Linux την εντολή setserial /dev/cuaXYZ με παραμέτρους τα io, uart, irq που λένε τα windows. Αν σου δουλέψει, βάλε την εντολή αυτή π.χ. στο +/etc/rc.d/rc.local βάζοντας το πλήρες path της setserial (δώσε whereis setserial να το δεις) ώστε να ισχύει για κάθε φορά που θα bootάρεις Linux. Δεν χάνεις +τίποτα να δοκιμάσεις\...\ +Οσο για το mouse στην παράλληλη 1 \... :-)* + + +### [23. Ποια πορτ πρεπει να κλισω στο σουσε 6!!!???]{#s23} + +Από : [george++](mailto:linux_r@yahoo.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Θέλω να εχω πορτ ανοιχτα που δεν έχουν ρίσκο\... διλαδι αυτά που πρεπει να έχει ενας κλίεντ\... και ποια ,μπορω να εχω ανοιχτα χωρίς ρίσκο??? πχ:80??? +ευχαριστό!!!.. + +*Αν εννοείς τα ports του inetd, δεν χρειάζεσαι κανένα απολύτως. Χρειάζεσαι τα μεγαλύτερα απο 1024 μόνο, για να γίνονται established τα connections, τα οποια αν +δεν τα κόψεις με κάποιο firewall, είναι από μόνα τους ανοιχτά.* + + +### [24. SBLive for Kernel 2.2.5-15?]{#s24} + +Από : [Παπαδόπουλος Μιχάλης](mailto:mpapad@bigfoot.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Κατέβασα πρόσφατα την έκδοση 6 του RedHat Linux (1 1/2 μέρα μπρρρ!) Επίσης πήρα και απο το site της Creative τον driver για την κάρτα ήχου SBLive. Τον +εγκατέστησα αλλα δεν δουλεύeι. Λέει οτι θέλει Kernel 2.2.5 ενώ εγω έχω το 2.2.5-15. Υπάρχει τρόπος να του αλλάξω γνώμη??? (Το αρχείο έχει την ονομασία sblive.o) + +*Φίλε Μιχάλη, γίνε σε παρακαλούμε πιο συγκεκριμένος. Του λες δηλαδη modprobe sblive και σου βγάζει κάποιο μήνυμα? Ο πυρήνας που έχεις πάντως είναι 2.2.5 και +λογικά θα έπρεπε να δουλεύει. Γι\' αυτό γράψε μας όλη τη διαδικασία που ακολουθείς, για να δούμε που μπορει να είναι το λάθος* + + +### [25. μια παρατηρηση για τους γκουρου]{#s25} + +Από : [Γιλδωρας (καλλιτεχνικο ειναι :-))](mailto:elfiness@yahoo.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Αγαπητοι μας φιλοι\... Ειμαι και γω αλλος ενας νεος χρηστης του Λινουξ.. αφου σας συγχαρω για την προσπαθεια και το εργο που επιτελειτε (:-)) θα ηθελα να κανω +μια παρατηρηση: Παρατηρω λοιπον οτι οι εκαστοτε \"γκουρου\" του λινουξ ΣΥΝΗΘΩΣ αποφευγουν επιδεικτικα να απαντουν στις ερωτησεις των \"νοητικα καθυστερημενων\" +(sic), δινοντας τις ευκολες απαντησεις\... πχ. \"πως κανω το ταδε πραγμα με το gcc?\" \"μα\... η λυση ειναι man gcc!! RTFM RTFM RTFM!!!\" Συμφωνω οτι, οπως +εχετε οι ιδιοι πει, εχετε και αλλες δουλειες να κανετε απο το να απαντατε σε ερωτησεις που συνηθως εχουν ξαναπαντηθει.. ΑΛΛΑ εχετε σκεφτει αν ο αρχαριος 16αρης +αρτιως παραθυρας καταλαβαινει τις man pages;; Προσωπικα εγω ΔΕΝ καταλαβαινω διαφορα + +*Μια που το mail σου κόπηκε (μάλλον κάποιο λαθος μου στο script) να σου απαντήσω για αυτό που λες: Είσαι σίγουρος οτι πριν κάνει ο αρχάριος την ερώτηση, εχει +διαβάσει το man? Γιατί η εμπειρία μας από τις ερωτήσεις που δεχόμαστε, μας λέει ότι όλοι ψάχνουνε για την εύκολη λύση, την γρήγορη απάντηση, χωρίς να το ψάξουν +πρώτα μόνοι τους. Και, πίστεψε με, φαίνεται\... Εν πάσει περιπτωσει, αν υπάρχει και ερώτηση, pls repost και συγνώμμη για το λάθος.* + + +### [26. Antivirus]{#s26} + +Από : [Chrisanthakopoulos Costas](mailto:KACECHR@HOTMAIL.COM) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Yparxei kapoio antivirus programma pou na ypostirizei to Linux? + +*Έχεις κάποιον ιό; Αν ναι, πως πιστεύεις ότι τον κόλλησες; Τι ακριβώς θέλεις να κάνεις; Ο λόγος που τα ρωτάω όλα αυτά, είναι ότι, γενικά μιλώντας, δεν υπαρχουν +ιοί για Unix, συνεπώς δεν μπορώ να καταλάβω τη χρησιμότητα ενός τέτοιου προγράμματος.* + + +### [27. port του linux]{#s27} + +Από : [Γιώργος++](mailto:Linux_r@yahoo.com) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Γιά σας \... Θα ήθελα να ρωτήσω για τα πορτ του λινουξ\... ποια πορτ πρεπει να ειναι παντα ανοιχτα ποια πρεπει να κλεισουμε? ή δεν πρεπεινα κανουμε τιποτα και +ειναι ολα τα πορτ οκ απο μονα τους??!! Σας ευχαριστώ εκ των προτερών\... + +*Ανάλογα με το πια ports θέλεις εσύ να έχεις ανοιχτά\... Για να έχουν HTTP access στο PC σου, πρέπει να είναι ανοιχτό το 80.\ +Κάθε εφαρμογή TCP/IP (ftp, telnet, gopher) που βρίσκεται στο application layer (και όχι μόνο) του OSI model, απαιτεί και την δική της πόρτα (μερικές απαιτούν +και 2 πόρτες).\ +Για να δεις ποιές πόρτες ανοίγουν για οποιαδήποτε από τις υπηρεσίες, άνοιξε το **/etc/inetd.conf**. Εκεί μέσα τα έχει όλα\...\ +Μην ξεχνάς, ότι δεν είναι όλες οι πόρτες απαραίτητες για τη λειτουργία του υπολογιστή σου, μερικές από αυτές μάλιστα είναι ρίσκο να τις έχεις ανοιχτές.\ +Για να απενεργοποιήσεις μια πόρτα, απλά βάλε της το σημάδι σχολίου (\#) μπροστά από την εγγραφή της στο **/etc/inetd.conf**\ +Τα ports που είναι ανοιχτά από μόνα τους, είναι ανάλογα με το distribution που έχεις.* + + +### [28. clock]{#s28} + +Από : [X Καραγιάννης](mailto:chrkar@agr.forthnet.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Αλλάζω την date και παράτηρώ ότι η ώρα είναι πάντα 3 ώρες πίσω οπότε συμπαιρένω ότι μετατρέπει σε GMT ώρα. Ακόμη και έτσι όμως να είναι γιατί πριν κλείσω το PC +μου συμεχίζει να μου δείχνει την ώρα που έβαλα και όταν το ανοίξω ξανά τότε κάνει την μετατροπή ? Έχω red hat. ευχαριστώ πολύ. + +*Μάλλον πρέπει να του ορίσεις τη σωστή ώρα από το BIOS. Δυστυχώς, απ\' ότι ξέρω, και μπορει να κάνω και λάθος, αυτό είναι ένα πρόβλημα που δεν ξεπερνιεται +εύκολα αλλιώς. Για να ξεπεραστει γενικότερα, θα ήθελε το σωστό TIMEZONE, φτιαγμένο από τον Δημήτρη Μπούρα, στο ftp.cs-net.gr με όνομα tzhellas, και +synchronization με έναν NTP server.* + + +### [29. καρτα ηχου ΟΡΤΙ 931]{#s29} + +Από : [giorgos ramatias](mailto:froggie@hellasnet.gr) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Υπαρχουν νεοι οδηγοι? + +*Νέοι οδηγοί\... Αχ\... πονεμένη ιστορία, προχτές που κατέβαινα τη Συγγρού, ήταν τουλάχιστον 10 νέοι οδηγοί, και πήγαιναν πολύ σιγά. \`Ενας μάλιστα, ήταν και +νέος οδηγός, αλλά και νέος άνθρωπος, δηλαδή δυό φορές νέος. Ασε που νομίζω ότι ήταν και φαντάρος, στον 3ο μήνα, και οπως καταλαβαίνεις, ήταν και εκεί νέος, +δηλαδή 3 φορές νέος. νέος-νέος-νέος. Δηλαδή Νεότερος νεαρότερος.\ +Αποτέλεσμα των τόσο (και τόσων) νέων οδηγών ήταν ότι τελικά παραλίγο να με σκοτώσουν και μου έσπασαν τα νεύρα (αν και τώρα τελευταία πολλοί μου σπάνε τα +νεύρα\...)\ +Tράβα τώρα διάβασε το magaz 15. Και μην μας ξαναστείλεις mail αν δεν διαβάσεις όλα τα τεύχη του Magaz και σιγουρευτείς ότι η ερώτησή σου δεν έχει απάντηθεί ή +καλυφθεί.\ +* + + +### [30. ΛΙΝ0ΥΞ η ΓΟΥΙΝΤΟΟΣ?]{#s30} + +Από : [ΦΩΤΗΣ Τ.](mailto:fotis_tret@hotmail.com) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +ΓΕΙΑ ΣΑΣ ΕΙΜΑΙ Ο ΦΩΤΗΣ, ΚΑΙ ΕΙΜΑΙ ΛΙΓΟ ΚΑΙΝΟΥΡΓΙΟΣ ΣΤΟΝ ΚΟΣΜΟ ΤΟΝ PC. ΑΥΤΟ ΠΟΥ ΘΑ ΗΘΕΛΑ ΝΑ ΡΩΤΗΣΩ ΕΙΝΑΙ ΟΤΙ ΕΠΕΙΔΗ ΞΕΚΙΝΑΩ ΝΑ ΑΓΟΡΑΣΩ ΥΠΟΛΟΓΙΣΤΗ,ΚΑΙ ΞΕΡΟΝΤΑΣ +ΑΡΚΕΤΑ ΚΑΛΑ ΓΟΥΙΝΤΟΟΣ(WINDOWS),ΕΙΝΑΙ ΚΑΛΥΤΕΡΑ ΝΑ ΕΓΚΑΤΑΣΤΗΣΩ ΕΞ΄ΑΡΧΗΣ ΛΙΝΟΥΞ? ΚΑΙ ΟΧΙ ΓΟΥΙΝΤΟΟΣ? Η ΚΑΛΥΤΕΡΑ ΚΑΙ ΤΑ ΔΥΟ? - ΚΑΙ ΕΠΙΣΗΣ ΠΟΥ ΘΑ ΒΡΩ ΒΙΒΛΙΑ ΚΑΙ +ΑΝΑΦΟΡΕΣ ΓΥΡΩ ΑΠΟ ΤΟ ΛΙΝΟΥΞ ΑΝ ΥΠΑΡΧΟΥΝ ΣΤΑ ΕΛΛΗΝΙΚΑ. ΕΥΧΑΡΙΣΤΩ. ΠΕΡΙΜΕΝΩ!!! + +*Βάλε windows, μάθε τα καλύτερα, μάθε τι είναι οι παράλληλες, οι σειριακές, οι κάρτες οθόνης, ήχου, πως (περίπου) είναι δομημένος ο υπολογιστής σου, και σε +παρακαλώ συνειδητοποίησε ότι το linux είναι ένα εργαλείο δουλειάς (ή εγκατέστησε linux αν έχεις μια σχετικά μαζοχιστική τάση).\ +Δεν θα μπορείς να παίζεις παιχνίδια\...\ +Διάβασε προηγούμενα τεύχη του magaz, και στη στήλη της αλληλογραφίας, αλλά και στα [-=7=-](http://magaz.hellug.gr/1998/07/index07.html) και +[-=8=-](http://magaz.hellug.gr/1998/08/index08.html).\ +Αυτάααααααα\...\...* + + +### [31. password sto apache]{#s31} + +Από : [Xristos Pelekis](mailto:blueice@email.com) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +thelo na asxolitho me tin rithmisi toy apache web server. Me endiaferei kapoio directory na blepontai mono me password kathos kai na dimioyrgiso directory se +filoys moy ta opoia na mporoyn na ta diaxeirizontai oi idioi me ena ftp programma (p.x. CuteFtp). Tha ithela na me boithisei kapoios na kano aytes tis +rithmiseis. Yparxei kanena biblio poy me APLO tropo kai katanoiti glosa mporei na me boithisei? Sas eyxaristo ek ton proteron Christos Pelekis + +*\<Δεν ξέρω αν σε βοηθήσω, αλλά υπάρχει ένα online περιοδικό, το [www.apacheweek.com](http://www.apacheweek.com) που έχει πληροφορίες για τον apache. Ψάξε εκεί +να βρείς ότι θες. Εμείς, έχουμε εξειδίκευση (τρομάρα μας) σε θέματα που άπτονται του linux ως λειτουργικού, και δεν ξέρουμε όλα τα προγράμματα που τρέχουν σε +αυτό!\ +\`Οσο για το πως θα κάνεις αυτό με το ftp, δεν έχει καμία σχέση ο **apache**, αλλά πως θα ρυθμίσεις το δαίμονα (!!) του ftp. Για περισσότερες πληροφορίες, **man +ftp** (και φυσικά man όλα τα αρχεία που χρησιμοποιεί).\ +Για βιβλίο, μια βόλτα από τον Παπασωτηρίου, θα σε βοηθήσει. Εκεί θα βρείς βιβλίο για τον apache, θα σου συνιστούσα να πάρεις κανένα για αρχάριους (αυτά γράφουν +σε κατανοητή γλώσσα).\ +Φιλικά, και καλή επιτυχία\...* + + +### [32. PROTASH]{#s32} + +Από : [FRAGOS PANAGIOTIS](mailto:newt@internet-bg.net) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Exw na sas kanw mia endiaferoysa prwtash poy 8a kanei kai th dikh sas doylia pio eykolh alla kai th dikh mas .A n einai efykto na ginei mia lista boh8ias sto +periodiko me onomata kai prosfora boh8eias se problhmata .Alla 8a exei katalogo paradigmatos xarin:(Xwin kai apo kato e-mail pou mporoun na parasxoun boh8eia +gia to sygkrimeno 8ema twn x win kai mono.) kai outoka8exis etsi o ka8enas pou 8elei parapanw dieykriniseis den 8a apey8hnete sto periodiko 10 fores me idies +erwthseis ,alla se sygekrimena atoma poy asxolounte mono me 8emata poy exoun sxesh me to problhma toy . filika Panos + +*Σαν ιδέα, είναι πολύ καλή, και μακάρι να μπορούσε να γίνει κάτι τέτοιο, αλλά το linux είναι τόσο περίπλοκο, που ποτέ κανένας δεν μπορεί να ξέρει τα πάντα (πχ) +για τα Xwindows.\ +Γιαυτό το λόγο και δεν έχουμε αναθέσει συγκεκριμένες αρμοδιότητες σε συγκεκριμένα άτομα. Εξάλλου, δεν έχεις ακούσει για την \`\`ισχύ εν τη ενώσει\'\'?* + + +### [33. make module]{#s33} + +Από : [FRAGOS PANAGIOTIS](mailto:newt@internet-bg.net) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Den grafei ellhnika me tipota edw:) loipon: meta to make config ,make dep, make bzlilo kanw restart. Exigiste mou pies einai oi kaliteres epiloges kai giati sto +make config gia ta modules ,ti akrivos einai ta modules pou xrhsimeyoun ,kai an xriazete na katebasw to modules -x.y.ztar.gz kai apo poy kai pio na katevasw gia +ton kernel 2.2.8 kai se ti xrhsimeyei.Giati otan kanw insmod \*.o (px insmod sound.o)meta apo restart me lsmod exei exafanistei? ayta kai sorry gia tous +aglikous xarakthres FILIKA PANOS. + +*\`Οταν κάνεις config τον νέο σου πυρήνα, αν πατήσεις στο help καμιά φορά, σου λέει. \`\`if you want to install it as a module, (kati-diafora) press \`m\' here +and read \"POLY/KALO/ONOMA/ARXEIOU/NA/DIABASEIS\"\'\'\ +Εκεί, λέει τι είναι αυτά τα modules, πως εισάγονται, τι κάνουν, και μάλιστα πολύ καλύτερα από ότι εμείς θα μπορούσαμε να σου εξηγήσουμε.\ +Στο restart εξαφανίζονται, γιατί προφανώς δεν χρειάζονται εκείνη τη στιγμή.* + + +### [34. SB live kai LINUX]{#s34} + +Από : [Gousios Georgios](mailto:cs98011@icsd.aegean.gr) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +H Sound Blaster Live yposthrizetai sto linux? An nai pos? Thelei compile o Kernel? + +*Πήγαινε στο site της CREATIVE\... Μην τα θές και όλα έτοιμα!* + + +### [35. 2 cdrom sto linux]{#s35} + +Από : [Gousios Giorgos](mailto:cs98011@icsd.aegean.gr) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Pos mporo na exo taytoxrona 2 cdrom sto linux kai to KDE? Kia ta dyo einai ATAPI + +*Κάνε τα και τα δύο maount (σε διαφορετικό mount point το καθένα, εννοείται!)* + + +### [36. Το Προβλημα με το CD του RAM !!!]{#s36} + +Από : [Μανος Γκουμας](mailto:locrian@freemail.gr) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Γεια χαρα παιδια ,αυτο που εχω να πω ειναι ενα μεγαλο ΜΠΡΑΒΟ για την πολυ καλη προσπαθεια.Τωρα οσο αναφορα το CD του RAM με το SuSE 6.0 ειναι πλεον γνωστο οτι +το RAM τα εκανε μανταρα\...,Παρολα αυτα ομως υπαρχει τροπος να εγκατασταθει. Απλα εαν υπαρχει χωρος σε καποιο partition αντιγραφουμε το CD και το τρεχουμε +,σημαντικο επισης ειναι να διαλεξουμε ως γλωσσα εγκαταστασης English και οχι Ελληνικη..Μετα τα βηματα ειναι οπως τα περιγραφει το RAM ,με την μονη διαφορα οτι +στο σημειο Start installation επιλεγουμε ως μεσω εγκαταστασης Hard disk και δινουμε το σημειο προσαρτησης που αντιστιχει στον δισκο με το Suse Π.χ. /dev/hda1 +,καθως και το σημειο προσαρτησης . Π.χ. /cdrom εαν εχουμε αντιγραψει το CD μεσα σε ενα φακελο με το ονομα cdrom.Μετα ολα πανε ρολοι\... Πιστευω να εδωσα μια +μικρη βοηθεια σε οποιον δοκιμασει να εγκαταστηση το SuSE 6.0 απο το CD του RAM. Τελειωνοντας θα ηθελα να ρωτησω εαν υπαρχει driver για την SB Live. Εχω ηδη +δοκιμασει να την σεταρω σαν!! SB 16 combatible ολα πανε καλα με compile του kernel και λοιπα\.... αλλα δυστυχως οταν επανεκκινω ,το Linux δεν μπορει να +αναγνωρησει την καρτα. Ευχαριστω\.... + +*Για δοκίμασε στο site της CREATIVE\... Θα εκπλαγείς\...* + + +### [37. Kernel 2.2.5]{#s37} + +Από : [Γιώργος Νταής](mailto:Ackroyd_2@Hotmail.com) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Πρόσφατα εγκατέστησα το Kernel 2.2.5 και παρουσιάστηκαν κάποια μικροπροβλήματα:\ +1. Κάθε φορά που τερματίζω των X-Server (χρησιμοποιώ το KDE 1.1 ως Window Manager), εμφανίζεται το μήνυμα: ttyS0\_c: process 193 (gmp): \...update software to +use /dev/ttyS0 instead of /dev/cua0.\ +2. Όταν καλώ το pppd, εμφανίζεται το μήνυμα: Kernel lacks ppp support και δεν έχω πρόσβαση στο Internet. Το παράδοξο είναι (για μένα τουλάχιστο) ότι επέλεξα +κατά το compilation του Kernel network support (TCP/IP,\...). Επίσης, όταν κάνω boot το παλίο Kernel 2.0.36, το pppd λειτουργεί κανονικά στο ίδιο σύστημα. Τι να +κάνω; Έχω το RedHat 5.2 + +*Στην έκδοση 2.2 του πυρήνα, έχουν διαφοροποιηθεί λίγο τα πράγματα\... \`Ενα από αυτά είναι και η ονοματολογία των σειριακών, που τώρα ονομάζονται αποκλειστικά +**ttyX** Πρέπει, άρα, να αλλάξεις οποιαδήποτε αναφορά σε **cuaX** υπάρχει σε όλα σου τα scripts, άλλα και στο link **/dev/modem/**. Αν δεν ξέρεις πως να κάνεις +ένα link, γράψε **man ln** ή χρησιμοποίησε το script που έχει η REDHAT για αυτό (νομίζω λέγεται **mousecofig**). Υπάρχει βέβαια και η περίπτωση να είναι +δηλωμένο στο **/etc/XF86Config** αρχείο σου σαν **cua0**. Σε αυτή την περίπτωση άλλαξε το με ένα editor από **cua0** σε **ttyS0** (**ΠΡΟΣΟΧΗ!** ΣΤΟ **ttyS0** ΤΟ +S ΕΙΝΑΙ ΚΕΦΑΛΑΙΟ!). \`Αλλαξε όμως και το **/dev/modem*** + + +### [38. internet]{#s38} + +Από : [kafetzis theodoros](mailto:kaftheod@otenet.gr) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +eyxaristo gia thn apantisi sto proigoumeno erotima moy poy aforouse tin sindesi sto internet me ton kde tora to pc mou kanei tin syndesi alla meta tin +oloklirosi tis to parathiro syndeseis kai log den kleinoun. o metritis metra kanonika xrono syndeseis alla den anoigoun oi selides pou thelo me minima kati gia +dns den exo bali kanena script einai aparetito? meta thn oloklirosi tis sindeseis xriazete na patiso kapoin sindiasmo koumpion sto pliktologio? eyxaristo ek ton +proteron kafetzis theodoros + +*DNS χρειάζεσαι οποσδήποτε. Ρώτα τον Provider σου ποιος είναι, συμπλήρωσε τον στο αντίστοιχο πεδίο του kppp, και **τότε** οι σελίδες σου θα εμφανιστούν.\ +Δεν υπάρχει κάποιος συνδιασμός για αυτό που λές, και αν δε βάλεις script τότε βάλε το account να είναι TERMINAL-BASED ώστε να γράψεις το username και το +password σου.\ +Αν πάλι έχεις απορίες διάβασε το help του kppp. Εκεί τα λέει όλα αυτά που σου γράφω (Καρφί μπας και ανοίξεις το help :)) ).* + + +### [39. Γλώσσα C]{#s39} + +Από : [Χρήστος Καραγιάννης](mailto:chrkar@agr.forthnet.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Αγαπητοί φίλοι, στην προσπάθεια μου να τρέξω το πρωτο μου hello world πρόγραμμα σε γλώσσα C δημιούργησα με gcc το a.out το οποίο έβαλα στην command line και +πατώντας το enter πηρα το ακόλουθο μήνυμα: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + bash:a.out: unknown command (ή κάτι τέτοιο) + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Έχω το red hat 5.2 Γιατί δεν τρέχει το πρόγραμμα μου ? Ευχαριστώ εκ των προτέρων + +*Φίλε Χρήστο, υποθέτω ότι δεν το έβρισκε, επειδή τρέχεις το πρόγραμμα σαν root, και το directory στο οποίο ήταν το a.out δεν ειναι στο path (ποτέ το current +directory δεν πρεπει να είναι στο path του root). Για να το εκτελέσεις, δοκίμασε να γραψεις το full path, δηλαδη ./a.out* + + +### [40. internet]{#s40} + +Από : [kafetzis theodoros](mailto:kaftheod@otenet.gr) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +den exo katorthosi akomi na syndetho sto internet me ton kde to minima poy deixnei einai \"no: dialtone\" kai ixos tis klisis einai statheros kao oxi autos ti +syndesis. euxaristo ek ton proter on ean einai dinaton na moy stilete tin apantisi kai oxi na kataxorithi sto magazine + +*Λοιπον\... No dialtone εε;\ +Κάπου στο kppp, στη ρύθμιση του modem σου, υπάρχει μια επιλογή που λέει modem commands ή κάτι τέτοιο, δεν θυμάμαι. Πήγαινε εκεί και βάλε στο dial string ATX3DT +(ή ATX3DP αν το τηλέφωνό σου είναι αναλογικό).* + + +### [41. internet]{#s41} + +Από : [kafetzis theodoros](mailto:kaftheod@otenet.gr) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +den exo katorthosi akomi na syndetho sto internet me ton kde to minima poy deixnei einai \"no: dialtone\" kai ixos tis klisis einai statheros kao oxi autos ti +syndesis. euxaristo ek ton proter on ean einai dinaton na moy stilete tin apantisi kai oxi na kataxorithi sto magazine + +*Αν μπορείς ξαναστείλε την ερώτησή σου χωρίς να βάλεις τους χαρακτήρες \`\`μικρότερο\'\' και \`\`μεγαλύτερο\'\' Τα κόβει το script μαζί με ότι υπάρχει ανάμεσά +τους.\ +H ερώτησή σου όμως πρέπει να δημοσιευτεί (έτσι πιστεύω εγώ τουλάχιστον), όχι για κανένα άλλο λόγο, αλλά γιατί μπορεί και κάποιος άλλος να βοηθηθεί. Μπορεί να +έχει το ίδιο πρόβλημα, και για μας τουλάχιστον δεν είναι ότι καλύτερο να απαντάμε στις ίδιες ερωτήσεις 10-15 φορές.\ +Επίσης, ελπίζω να διάβασες τα mailbox από τα προηγούμενα magaz, μήπως έχει ήδη απαντηθεί η ερώτησή σου (απ\' ότι θυμάμαι, υπύρχαν πολλές τέτοιου είδους).* + + +### [42. Ellhnika sto Star Office 5.0]{#s42} + +Από : [Nikos Georgopoulos](mailto:duke@diktyocafe.g,) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Antimetwpizw to e3hs problhma sto Star Office 5.0 Den mporw na plhktrologhsw ka8olou ellhnika \... Xrhsimpoiw to grkbd stis alles efarmoges mou ,alla otan pataw +Alt+Shift sto Star Office to plhktrologio den antapokrinetai ka8olou sto pathma twn plhktrwn\... Parakalw an 3erete kamia lysh voh8hste me \... (epishs me to +Star Office 5.0 den katafera na \"dw\" arxeia tou Word97 - tou Word 6.0 fainontai kanonika) Euxaristw Duke Nukem duke\@diktyocafe.gr + +*Αυτό για το StarOffice, πρώτη φορά το ακούω - συναντάω. Μήπως έχεις κρατήσει τον συνδευασμό πλήκτρων μέσα από το StarOffice το ίδιο (επιλογή keyboard στο menu +Options αν θυμαμαι καλά). Σχετικά δε με τα αρχεία του Word 97, μιλάμε για όλα τα αρχεία που δοκίμασες ή για ένα δύο? Γιατί αν πρόκειται για ένα - δύο, τότε +μάλλον έχουν πολλά features. Εγώ πάντως, τα βλέπω κανονικά\...* + + +### [43. MP3 player για κονσόλα]{#s43} + +Από : [Ισαάκ Τσαλίκογλου](mailto:tcup@bigfoot.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Γειά σας. Θα ήθελα να ρωτήσω αν υπάρχει κάποιο προγραμμα για παίξιμο MP3, το οποίο να δουλεύει από κονσόλα και αν υπάρχει (που θα υπάρχει ;-))))))), που μπορώ +να το βρω. + +*Υπάρχει το mpg123, το οποίο θα το βρεις στο freshmeat.net* + + +### [44. Poia ekdosh Linux?]{#s44} + +Από : [Xrhstos Grhgoropoylos](mailto:grigorop@hol.gr) + +Απάντηση : [Βαγγέλης Παπαδογιαννάκης](mailto:papas@hellug.gr) + +Eimai enas aplos xrhsths ypologistvn, me thn ennoia oti den asxoloymai epaggelmatika me toys ypologistes, kai oyte jerv na programmatizv se kamia glvssa. +M\'aresei, omvs, na \"caxnv\" tis efarmoges poy fortvnv ston sklhro moy, kai na asxoloymai arketes vres me aytes, eite giati tis xreiazomai gia eppagelmatikoys +skopoys, eite gia prosvpikoys, eite gia na\... perasei h vra. Edv kai poly kairo, otan spoydaza sto Edimboyrgo kai emena me dyo Ellhnes poy spoydazan Computer +Science, emaua gia to Linux kai omologv pvs enypvsiasthka, kyrivs giati eixame th dynatothta na exoyme ena systhma paromoio me UNIX se enan aplo PC, kai oxi +aparaithta sta yperoxa, alla panakriba kai dyseyreta, SPARCstations, DECstations kai INDIGOs toy panepisthmioy. Apofashsa pvs kapoia mera ua ebaza kai gv ston +ypologisth moy, apla gia na ejoikhvuv me to periballon toy LINUX, kai emmesa toy UNIX, mias kai, poios jerei, kapoia mera mporei na to brv mprosta moy. Omvs +ayth th stigmh briskomai se adiejodo, kai gi\'ayto ua kanv merikes aples ervthseis: (1) Ajizei na asxolhuv me LINUX an den me endiaferei amesa gia th douleia +moy, h prokeitai gia ena leitoyrgiko me to opoio prepei oposdhpote na asxolhueis sobara? (2) An nomizete pvs ua ajize na asxolhuv me to LINUX, poia ekdosh ua +htan h kalyterh, kai ayth me tis perissoteres efarmoges? (3) Me thn yposthrijh hardware ti ginetai? Den ua huela na jekinhsv thn egkatastash kai jafnika na +anakalycv pvs h karta ouonhs, h hxoy, h to CD-ROM h o ektypvths de doyleyoyn. Elpizv oi apanthseis poy ua moy dvsete na me bohuhsoyn na apofasisv, giat +pragmatika den jerv ti na kanv. Ena einai to sigoyro: ta MS Windows den soy lynoyn pragmatika ta xeria, kai to monopolio ths Microsoft den einai o,ti kalytero +gia thn agora tvn ypologistvn. + +*\`Ενα - ένα\...\ +Καταρχάς, αυτό που είναι σίγουρο είναι ότι δεν χρειάζεται να έχεις ανάγκη το linux στη δουλειά σου για να το εγκαταστήσεις. \`Ισα - ίσα, το linux περισσότερο το +στήνεις για την δική σου ευχαρίστηση, επειδή γουστάρεις τους υπολογιστές. Αυτό γιατί ούτως ή άλλως οι περισσότεροι στη δουλειά τους (εκτός αν είναι ειδικής +φύσεως) χρησιμοποιούν τα ακατονόμαστα και όχι το linux. Συνεπώς, δεν είναι ανάγκη να σε ενδιαφέρει άμεσα για τη δουλειά σου όπως λές για να το εγκαταστήσεις. +Πάντως, ναι, το linux πρέπει να το πάρεις στα σοβαρά γιατί αλλιώς δεν νομίζω να σου πολυαρέσει\... ;)\ +Πιστεύω λοιπόν ότι αξίζει να ασχοληθείς με το linux.\ +Καλύτερη δεν είναι καμία, όπως και δεν είναι καμία χειρότερη. Είναι εντελώς προσωπικό θέμα η επιλογή της ΔΙΑΝΟΜΗΣ* + + +### [45. PPP connection: Oi alloi xrhstes?]{#s45} + +Από : [Konstantinos Karakoulas](mailto:carakoul@med.auth.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Parakalo tha hthela bohtheia gia to parakato problhma: Exontas rythmisei kata to dynato sosta ton pppd mporesa na exo dialup syndesi san root, xrhsimopoiontas +to wvdial. Dinontas permissions kai sous allos xrhstes se wvdial.config, wvdial kai ttyso mporesa na syndetho kai san aplos user. Dinontas san aplos user +nslookup perno ta parakato: can\`t find name server \...: no response from server & default servers are not anailable Fysika to problima ayto den yparxei ston +root. Tha hthela tin symboylh sas gia ti paromoio thema den brhka sto Linux magaz. Eyxaristo ek ton proteron Konstantinos Karakoulas + +*Φαίνεται ότι το wvdial δεν σηκώνει το interface. Δοκίμασε /sbin/ifconfig -a και /usr/sbin/route -n και αν μετά το πρώτο δεις ένα interface ppp0 και μετά το +δεύτερο δεις μία γραμμή 0.0.0.0 xxx xxx xxx xxx ppp0, διάβασε τα παλιότερα τεύχη/mailboxes για routing και DNS.* + + +### [46. ISDN]{#s46} + +Από : [Stavros Maragoudakis](mailto:elhellas@hol.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Exo ISDN grammi kai exo apo ton OTE to NETMOD to opoio pezi to rolo tou MODEM , otan kalo ston proviter mou stis grammes tou gia isdn (exo sindromi isdn) mou +bgazi to parakato error sto linux kai meta apo 10 lepta ite serfaro eite oxi klini i sindesi ti mpori na ftei? + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ---Log File--- + Jul 25 16:35:10 localhost pppd[880]: pppd 2.3.5 started by root, uid 0 + Jul 25 16:35:13 localhost pppd[880]: Serial connection established. + Jul 25 16:35:14 localhost pppd[880]: Using interface ppp0 + Jul 25 16:35:14 localhost pppd[880]: Connect: ppp0 <--> /dev/cua0 + Jul 25 16:35:14 localhost pppd[880]: Received bad configure-nak/rej: 12 02 17 04 00 00 + Jul 25 16:35:17 localhost pppd[880]: Remote message: + Jul 25 16:35:17 localhost pppd[880]: local IP address xxx.xxx.xxx.xxx + Jul 25 16:35:17 localhost pppd[880]: remote IP address xxx.xxx.xxx.xxx + Jul 25 16:47:26 localhost pppd[880]: Hangup (SIGHUP) + Jul 25 16:47:26 localhost pppd[880]: Modem hangup + Jul 25 16:47:26 localhost pppd[880]: Connection terminated. + Jul 25 16:47:27 localhost pppd[880]: Exit. + --- Log File--- + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Sas euxaristo perimeno kapoia apantisi gia to ti mpori na ftei kai ti mou protinete na kano! Thank you Kalo Kalokairi se olous sas + +*Sorry, no ISDN here :-(* + + +### [47. προβλημᨨ]{#s47} + +Από : [ελευθεριος γρηγ.](mailto:maleace@yahoo.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +ειμαι ενας νεος χρηστης του ΄λαιν που προσπαθει να τα περασει σε ενα πεντιουμ 2 350 μ.με μια ιντελ 740 και 1 μβ χωρο μα δυστυ χως ενω εχο κανει ρεεβοοτ την +βερσιον5 ρεντ χαταλλα δεν την τρεχει.φλοπυ ειναι οκ. θα ηθελα αν ηταν δυνατο μια μικρη βοηθεια¨) + +*Δεν κατάλαβα τίποτα. Sorry.* + + +### [48. Internet Chat, CD Burning & Linux]{#s48} + +Από : [Ανδριόπουλος Νίκος](mailto:gna@hol.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Ένας βασικός λόγος για την συνδρομή καποιου στο Internet, ειναι και το chatting. Ηθελα να μου πείτε τι chat προγράμματα υπάρχουν για Linux, και αν υπάρχει +κανένα συμβατό με ICQ (Windows εκδοση). Ακόμα, ήθελα να ρωτήσω τι προγράμματα υπάρχουν για CD-R στο Linux, και που θα μπορούσα να τα βρω. Ευχαριστώ εκ των +προτέρων, ΝΓΑ + +*Θα σου πρότεινα να κοιτάξεις στο Linuxberg στα αντίστοιχα sections, και / ή να διαβάσεις το RAM Απριλίου.* + + +### [49. Syndesi PPP.]{#s49} + +Από : [Lefkaditis Nikos](mailto:myth00s@yahoo.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Geia sas , Legomai Lefkaditis Nikos kai tha ithela na sas kano mia erotisi sxetika me to pos mporo na dimiourgiso sindesi me ton ISP mou, meso grammis dial-up. +Exo idi apokatastisei mia sindesi meso tou programmatos kppp ,alla tha ithela na matho pos ginetai apo ena \"command line\" (fenetai oti den me ikanopoioun ta +eukola :-) ). + +*Διάβασε τα σχετικά How-tos και τα man pages των pppd και chat. Δεν είναι πολύ δύσκολο πάντως* + + +### [50. Printers]{#s50} + +Από : [George Blathras](mailto:gbl@ee.teiath.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Telika elusa to problhma me ton printer. Oloi oi HP printers typwnoun by default se codepage 737 kai oxi iso-8859-7 (928) pou douleyei to Linux. Prepei loipon +na toy alla3eis to codepage gia na doulepsei. H lush einai h e3hs : + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + gia codepage 737 to escape code einai + (12G + kai gia to 928 + (12N + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +-akribws opws ta blepete-. to `` einai ctrl+p+esc sto DOS. Ftiaxnoume ena arxeio pou periexei to string gia to code page pou 8eleoume kai to typwnoume. An +ola einai ok o printer den prepei na typwsei tipota. H ru8mish einai permanent - den allazei molis kleisoume ton ektypwth. Douleuei gia HP +DJ540,DJ660C,DJ600,DJ690C,DJ710,DJ720C,DJ895,DJ695,DJ880. Thanks again \... GBl + +*Ευχαριστούμε και δημοσιεύουμε προς γνώση των υπολοίπων.* + + +### [51. X-windows]{#s51} + +Από : [Λευτερης Ντανωλας](mailto:ntanolas@yahoo.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Ειμαι ενας καινουργιος χρηστης του Linux , για την ακριβεια μολις χθες εγκατεστησα το Red Hat Linux 5.1 . Αν και η εγκατασταση ολοκληρωθηκε χωρις προβληματα και +εκανα login μολις παω να τρεξω τα x-windows με την εντολη startx μου βγαζει μηνυμα λαθους 11 . Παρατηρηση οτι εχω εγκαταστησει τα X-Windows . Παρακαλω βοηθηστε +με . Επειγομαι . + +*Ή δεν έχεις ρυθμίσει σωστά την κάρτα οθόνης/οθόνη, ή κάτι δεν πάει καλα με τις γραμματοσειρές σου. Ξανατρέξε το xf86config πιο προσεκτικά.* + + +### [52. startup disk]{#s52} + +Από : [Xρήστος Καραγιάννης](mailto:chrkar@agr.forthnet.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Αγαπητοί φίλοι, θα ήθελα να σας ρωτήσω πώς μπορώ να δημιουργήσω startup disk για το red hat linux μου. Έχω βέβαια μία αλλά θέλω και δεύτερο αντίγραφο. Πώς μπορώ +να την αντιγράψω? Επίσης, υπάρχει τελικά ένα howto που να περιγράφει με ακρίβεια πως θα γίνει η σύνδεση ppp με τον ISP μου? Ευχαριστώ + +*Αντιγράφεται με dd (man dd) ή, ακόμα πιο απλά, από το ίδιο το CD της RedHat ακολουθώντας τις οδηγίες.* + + +### [53. Σύνδεση Ιντερνετ]{#s53} + +Από : [Φρεζούλης Κων/νος](mailto:%C3%B6%C3%B1%C3%A5%C3%B8%C3%AF@%C3%B7-%C3%B4%C3%B1%C3%A5%C3%AC%C3%A5.%C3%A3%C3%B1) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Έχω το Σουσε λινουξ 6.1. Ενώ συνδέομαι κανονικά με το κπππ, με τον νετσκεϊπ ναβιγκέιτορ δεν μπορώ να δω καμία σελίδα. Μου βγάζει έρρορ για το όνομα του σέρβερ +και μου προτείνει να βάλω \$σοψκσ\_νσ. Που όμως; Δεν μου λέει. Είμαι νέος χρήστης του λινουξ και δεν μπόρεσα να βρω που. Στο ΔΝΣ εννοεί; Το έκανα αλλά τίποτα. +Ούτε με τους μέϊλ κλάϊεντς μπορώ να πάρω το μέϊλ μου. Ευχαριστώ προκαταβολικά. Κώστας + +*Δήλωσε στο kppp τους DNS του provider που χρησιμοποιείς.* + + +### [54. Creative TNT Graphics Card]{#s54} + +Από : [Leon Pakis](mailto:pakisleon@yahoo.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +How can i install Creative TNT AGP graphics card to work with X windows? + +*Δοκίμασε το www.xfree86.org να δεις αν υποστηρίζεται η κάρτα σου. Αν δεν βρεις τίποτα, δοκίμασε το σection X-servers στο www.suse.de/e* + + +### [55. Linux-nt Tests]{#s55} + +Από : + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Hi from America How is the business with Linux! They had a test Linux versus NT-4 and you know the results!! Linux needs a lot of work to catch up to Microsoft. +Gia sas pedia o \'Panathinaikos\' erxetai edo na paixi + +*Who really cares?* + + +### [56. news server]{#s56} + +Από : [Bsane](mailto:bsane@sdf.lonestar.org) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +mporei kapoios na mou pei enan news server gia na mpaino kai na mporo na kano post se newsgroups opos comp.os.linux.help ktl, giati to news.ntua.gr den +epitrepei posting :-( TIA, Bsane + +*Δοκίμασε το news.sae.gr* + + +### [57. AGP?]{#s57} + +Από : [Αντώνιος Ματσούκας](mailto:amatsoukas@hotmail.com) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Υποστηρίζει το LINUX, καρτες γραφικών AGP? + +*Ναι.* + + +### [58. Γενικα για Linux]{#s58} + +Από : [Παναγιωτης Γιαννοπουλος](mailto:panosg@x-treme.gr) + +Απάντηση : [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) + +Γεια σας Με ενδιαφέρει να σχοληθο με το linux αλλά είμαι τελείως άσχετος με αυτό το λειτουργικό Δώστε μου μια συμβουλή από που πρέπει να ξεκινήσω με ποια από +όλες τις διανομές Ευχάριστο εκ των προτέρων για τις συμβουλές Παναγιώτης Γιαννοπουλος panosg\@x-treme.gr + +*Η ερώτηση έχει ξανααπαντηθεί πολλές φορές σε παλιότερα mailboxes.* + diff --git a/content/articles/17/01_editorial.md b/content/articles/17/01_editorial.md new file mode 100644 index 0000000..6c3638a --- /dev/null +++ b/content/articles/17/01_editorial.md @@ -0,0 +1,50 @@ ++++ +title = 'Editorial' +date = '1999-09-01T00:00:00Z' +description = '' +author = 'Michalis Kabrianis(mailto:kabrianis@hellug.gr)' +issue = ['Magaz 17'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το πρώτο φθινοπωρινό τεύχος του Magaz είναι εδώ μαζί σας.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Μιλάμε πλέον για την τρίτη γενιά αρθρογράφων, στην οποία συμμετεχει ο [Θέμης Παπασσιλέκας](mailto:panzerjager@netscape.net) (γνωστός και από τα προηγούμενα +τεύχη οπότε είχε αναλάβει τις διορθώσεις), ο [DJ Art](mailto:djart@hellug.gr) και βοηθάνε σε αυτό το τεύχος (και ελπίζουμε και όχι μόνο σε αυτό) οι [Γιάννης +Γεωργιάδης](mailto:gd1@otenet.gr) και [Δημήτρης Γλυνός](mailto:glynos@dial.pipex.com) + +Μία ανάλυση του Scott Nipp που την βρήκαμε στο [Linux.com](http://www.linux.com) σχετικά με την κίνηση της [Silicon Graphics](http://www.sgi.com) να δώσει σε +OpenSource το XFS μεταφρασμένη απο τον Θέμη, είναι το κύριο άρθρο αυτού του τεύχους, λόγω της σοβαρότητας του θέματος. Ακολουθεί μία παρουσίαση των νέων +δυνατοτήτων του [RedHat 6.0](http://www.redhat.com) από τον Dj-Art και, μετά από συννενόηση με τον [John Hacking](mailto:squadron@powerup.com.au) ο φίλος [john +georgiad](mailto:gd1@otenet.gr) μετέφρασε το πολύ καλό One-Page Linux Manual (το οποίο τελικά μάλλον για 2-3 σελίδες μοιάζει :-). Ελπίζουμε να το βρείτε +χρήσιμο. + +Το τεύχος κλείνει με ένα άρθρο - παρουσίαση της Java από τον Δημήτρη Γλυνό.\ +Βέβαια, όπως εξηγήσαμε και στο προηγούμενο τεύχος, η στήλη της αλληλογραφίας εξαφανίζεται. Δεν έχει νόημα ύπαρξης. Υπάρχει όμως πάντα η υπόσχεσή μου να +προσπαθήσω να την γυρίσω σε searchable archive\... Ίδωμεν. + +Παραθέτουμε παρακάτω τα θέματα τα οποία υπάρχουν διαθέσιμα, για όποιον θέλει να συνεισφέρει: + + Κατηγορία Howto + Callback στο Linux + Στήσιμο scanner στο linux και προγράμματα για scanning + Προγραμματισμός σε QT, GTK, GNOME + Infrared communication + SGML και LINUXDOC tutorial + Κατηγορία αναλύσεις + Linux και POSIX + Το Linux σαν router + CVS. Τι είναι τι κάνει, πως το κάνει + Κατηγορία παρουσιάσεις + Παρουσίαση του Koffice + Παρουσίαση του Mozilla + Παρουσιάσεις νέων Distributions + Παρουσιάσεις Window managers (Fvwm, Window maker, GvWM κλπ) + Κατηγορία updates παλαιότερων άρθρων + Update για Samba v2 και kernel 2.2 (τεύχος 2/1998) + Update StarOffice για v5.1 (teyxos 3,4/1998) + Update για KDE v. 1.1.1 ή και 2.0 (τεύχος 3/1998) + Update για IP Masq σε kernel 2.2 και ipchains (τεύχος 5/1998) diff --git a/content/articles/17/02_linuxmangr.md b/content/articles/17/02_linuxmangr.md new file mode 100644 index 0000000..beadb6a --- /dev/null +++ b/content/articles/17/02_linuxmangr.md @@ -0,0 +1,442 @@ ++++ +title = 'Το εγχειρίδιο του Linux σε δύο σελίδες' +date = '1999-09-01T00:00:00Z' +description = '' +author = 'John Hacking(mailto:squadron@powerup.com.au) Mετάφραση: john georgiad(mailto:gd1@otenet.gr)' +issue = ['Magaz 17'] +issue_weight = 2 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Περίληψη χρήσιμων εντολών για το Linux - Έκδοση 3.0 Μάιος 1999. Αρχικό κείμενο από τον John Hacking, στην σελίδα , τον +οποίο και ευχαριστούμε που μας έδωσε την άδεια για μετάφραση.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Πρώτη σελίδα** +------------------------------------------------ + +- [1.1 Εκκίνηση & Τερματισμός](#ss1.1) +- [1.2 Πρόσβαση & Προσάρτηση συστημάτων αρχειοθέτησης](#ss1.2) +- [1.3 Εύρεση αρχείων και κειμένου μέσα σε αρχεία](#ss1.3) +- [1.4 Το X Window](#ss1.4) +- [1.5 Μετακινώντας, αντιγράφοντας, διαγράφοντας & ανοίγοντας αρχεία](#ss1.5) +- [1.6 Εγκατάσταση λογισμικού στο Linux](#ss1.6) +- [1.7 Διαχείριση χρηστών](#ss1.7) + +**2. Δεύτερη σελίδα** +-------------------------------------------------- + +- [2.1 Κολπίνια](#ss2.1) +- [2.2 Παρτιτούρες (configuration files) και τι κάνουν](#ss2.2) +- [2.3 Δικαιώματα (permissions) αρχείων](#ss2.3) +- [2.4 Συντομεύσεις για το X window - (κυρίως για Redhat)](#ss2.4) +- [2.5 Εκτύπωση](#ss2.5) + + +### [1. Πρώτη σελίδα]{#s1} + +[Εκκίνηση & Τερματισμός](#table1)\ +[Πρόσβαση & Προσάρτηση συστημάτων αρχειοθέτησης](#table2)\ +[Εύρεση αρχείων και κειμένου μέσα σε αρχεία](#table3)\ +[Το X Window](#table4)\ +[Μετακινώντας, αντιγράφοντας, διαγράφοντας & ανοίγοντας αρχεία](#table5)\ +[Εγκατάσταση λογισμικού στο Linux](#table6)\ +[Διαχείριση χρηστών](#table7) + +### []{#table1} [1.1 Εκκίνηση & Τερματισμός]{#ss1.1} + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + \ shutdown -h now Κλείσε το σύστημα τώρα χωρίς επανεκκίνηση + + halt Σταμάτα όλες τις διεργασίες (processes) - ίδιο με το + προηγούμενο + + shutdown -r 5 Κλείσε το σύστημα σε 5 λεπτά και επανεκκίνησε το + + shutdown -r now Κλείσε το σύστημα τώρα και επανεκκίνησε το + + reboot Σταμάτα όλες τις διεργασίες (processes) και μετά κάνε + επανεκκίνηση - όπως προηγουμένως + + startx Ξεκίνησε το γραφικό περιβάλλον Χ + + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + +\ +\ + +### []{#table2} [1.2 Πρόσβαση & Προσάρτηση συστημάτων αρχειοθέτησης]{#ss1.2} + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + \ mount -t iso9660 /dev/cdrom /mnt/cdrom Προσάρτησε τη συσκευή cdrom κάτω από τον κατάλογο + /mnt και ονόμασε τη cdrom + + mount -t msdos /dev/hdd /mnt/ddrive Προσάρτησε το σκληρό δίσκο \"d\" με σύστημα + αρχειοθέτησης msdos\ + κάτω από τον κατάλογο /mnt και ονόμασε το ddrive + + umount /mnt/cdrom Απομάκρυνε το cdrom + + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + +\ +\ + +### []{#table3} [1.3 Εύρεση αρχείων και κειμένου μέσα σε αρχεία]{#ss1.3} + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + \ find / -name fname Ξεκινώντας απο τον πρωταρχικό κατάλογο, ψάξε για το + αρχείο με όνομα fname + + find / -name \"\*fname\*\" Ξεκινώντας από τον πρωταρχικό κατάλογο, ψάξε για το + αρχείο που περιέχει τη σειρά χαρακτήρων fname + + locate missingfilename Εντόπισε το αρχείο με όνομα missingfilename + χρησιμοποιώντας την εντολή locate - προϋποθέτει ότι + έχει ήδη χρησιμοποιηθεί η εντολή updatedb (βλ. + παρακάτω) + + updatedb Δημίουργησε ή εκσυγχρόνισε τη βάση αρχείων σε όλα τα + συστήματα αρχειοθέτησης που είναι προσαρτημένα στον + πρωταρχικό κατάλογο του linux + + which missingfilename Εμφάνισε τον υποκατάλογο που περιέχει το εκτελούμενο + αρχείο με όνομα missingfilename + + grep textstringtofind /dir Ξεκινώντας από τον κατάλογο που ονομάζεται dir + εντόπισε και εμφάνισε όλα τα αρχεία που περιέχουν τη + σειρά χαρακτήρων textstringtofind + + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + +\ +\ + +### []{#table4} [1.4 Το X Window]{#ss1.4} + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + \ xvidtune Τρέξε το γραφικό εργαλείο ρύθμισης του Χ window + + XF86Setup Τρέξε το μενού ρυθμίσεων (configuration) του X window + με αυτόματη έρευνα (auto probing) + + Xconfigurator Τρέξε ένα άλλο μενού ρυθμίσεων (configuration) του Χ + window με αυτόματη έρευνα (auto probing) + + xf86config Τρέξε ένα μή γραφικό μενού ρυθμίσεων (configuration) + του Χ window + + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + +\ +\ + +### []{#table5} [1.5 Μετακινώντας, αντιγράφοντας, διαγράφοντας & ανοίγοντας αρχεία]{#ss1.5} + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + \ ls -l Εμφάνισε κυριολεκτικά τα αρχεία του τρέχοντα + καταλόγου + + ls -F Εμφάνισε τα αρχεία του τρέχοντα καταλόγου + σημειώνοντας τον τύπο του αρχείου + + ls -laC Εμφάνισε κυριολεκτικά όλα τα αρχεία του τρέχοντα + καταλόγου σε στήλες + + rm name Διάγραψε το αρχείο ονομα name + + rm -rf name Εξαφάνισε έναν ολόκληρο κατάλογο μαζί με τους + υποκαταλόγους και τα αρχεία που συμπεριλαμβάνονται + σ\' αυτόν + + cp filename /home/dirname/ Αντίγραψε το αρχείο filename στον κατάλογο + /home/dirname/ + + mv filename /home/dirname/ Μετακίνησε το αρχείο με όνομα filename στον κατάλογο + /home/dirname/ + + cat filetoview Εμφάνισε τα περιεχόμενα του αρχείου filetoview + + man -k keyword Εμφάνισε σε ποιές από τις βοηθητικές σελίδες (man + pages) υπάρχει η λέξη keyword + + more filetoview Εμφάνισε τα περιεχόμενα του αρχείου filetovie σελίδα + - σελίδα · + + head filetoview Εμφάνισε τις 10 πρώτες γραμμές του αρχείου με όνομα + filetoview + + head -20 filetoview Εμφάνισε τις 20 πρώτες γραμμές του αρχείου με όνομα + filetoview + + tail filetoview Εμφάνισε τις 10 τελευταίες γραμμές του αρχείου + filetoview + + tail -20 filetoview Εμφάνισε τις 20 τελευταίες γραμμές του αρχείου + filetoview + + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + +\ +\ + +### []{#table6} [1.6 Εγκατάσταση λογισμικού στο Linux]{#ss1.6} + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + \ rpm -ivh name.rpm Εγκατάστησε το rpm πακέτο που ονομάζεται name.rpm + + rpm -Uhv name.rpm Αναβάθμισε το rpm πακέτο που ονομάζεται name.rpm + + rpm -e package Απεγκατάστησε το rpm πακέτο που ονομάζεται package + + rpm -l package Εμφάνισε τα αρχεία που περιέχονται στο πακέτο package + + rpm -ql package Εμφάνισε την έκδοση του εγκατεστημένου πακέτου + pαckage καθώς και τα αρχεία που περιέχονται σ\' αυτό + + rpm -i \--force package Επανεγκατάστησε το rpm πακέτο που ονομάζεται package, + εφόσον έχουν διαγραφεί μέρη του (όχι με την εντολή + rpm -e) + + tar -zxvf archive.tar.gz or\ Αποσυμπίεσε τα αρχεία που βρίσκονται συμπιεσμένα και + tar -zxvf archive.tgz περιέχονται στο αρχείο archive + + ./configure Εκτέλεσε το script προετοιμασίας των αρχείων + εγκατάστασης που χρειάζονται για τη μεταγλώττιση + + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + +\ +\ + +### []{#table7} [1.7 Διαχείριση χρηστών]{#ss1.7} + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + \ adduser accountname Δημιούργησε ένα νέο χρήστη με όνομα αccountname + + passwd accountname Δώσε στο λογαριασμό που ονομάζεται αccountname νέο + κωδικό πρόσβασης + + su Συνδέσου ως υπερχρήστης από αυτό το τερματικό + + exit Σταμάτα να κάνεις τον υπερχρήστη, ξαναγύρισε σε + κατάσταση απλού χρήστη + + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + +\ +\ + + +### [2. Δεύτερη σελίδα]{#s2} + +[Κολπίνια](#table8)\ +[Παρτιτούρες (configuration files) και τι κάνουν](#table9)\ +[Δικαιώματα (permissions) αρχείων](#table10)\ +[Συντομεύσεις για το X window - (κυρίως για Redhat)](#table11)\ +[Εκτύπωση](#table12) + +### []{#table8} [2.1 Κολπίνια]{#ss2.1} + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + \ ifconfig Εμφάνισε τις IP διευθύνσεις όλων των συσκευών τού + συστήματος + + apropos subject Εμφάνισε τις βοηθητικές σελίδες (man pages) που έχουν + σχέση με το subject + + usermount Εκτέλεσε τη γραφική εφαρμογή προσάρτησης και + απομάκρυνσης συστημάτων αρχειοθέτησης + + /sbin/e2fsck hda5 Χρησιμοποιήσε το εργαλείο ελέγχου συστημάτων + αρχειοθέτησης στην κατάτμηση (partition) hda5 + + fdformat /dev/fd0H1440 Διαμόρφωσε (format) τη δισκέττα στη συσκευή fd0 + + tar -cMf /dev/fd0 Δημιούργησε αντίγραφο του τρέχοντα καταλόγου και των + υποκαταλόγων του σε πολλαπλές δισκέττες + + tail -f /var/log/messages Εμφάνιζε τις 10 τελευταίες γραμμές του Ημερολογίου + + cat /var/log/dmesg Εμφάνισε το αρχείο με τα μηνύματα εκκίνησης - χρήσιμο + για εξάκριβωση μπελάδων. Εναλλακτικά χρησιμοποίηστε + την εντολή `dmesg` . + + \ **\*** Μεταχαρακτήρας - αντιπροσωπεύει τα πάντα. π.χ.\ + `cp from/* to` θα αντιγράψει όλα τα αρχεία κάτω από + τον κατάλογο from στον κατάλογο to + + **?** Μεταχαρακτήρας που αντιστοιχεί σε ένα στοιχείο. π.χ.\ + `cp config.? /configs` θα αντιγράψει όλα τα αρχεία + που ξεκινάνε με το όνομα config. και ακολουθούνται + από ένα χαρακτήρα, από τον τρέχοντα κατάλογο στον + κατάλογο /configs + + \ \[xyz\] Μεταχαρακτήρας επιλογής στοιχείων + + linux single Στο σύμβολο προτροπής `lilo:` ξεκίνησε σε λειτουργία + ενός μόνο χρήστη. Αυτό είναι χρήσιμο αν έχετε ξεχάσει + τον κωδικό πρόσβασής σας. Ξεκινήστε σ\' αυτή τη + λειτουργία και τρέξτε την εντολή `passwd` . + + \ ps Εμφάνισε τις τρέχουσες διεργασίες (processes) + + kill 123 Τερμάτισε (δώσε τέλος στη ζωή της/σκότωσε) μια + συγκεκριμένη διεργασία (process) π.χ. + `kill 123` + + revivify 123 Επανάφερε πίσω στη ζωή μια διεργασία (process) από + κατάσταση ζόμπι π.χ. `revivify 666` + + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + +\ +\ + +### []{#table9} [2.2 Παρτιτούρες (configuration files) και τι κάνουν]{#ss2.2} + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + \ /etc/profile Καθολικές μεταβλητές περιβάλλοντος για όλους τους + χρήστες + + /εtc/fstab Κατάλογος συσκευών και των αντίστοιχων σημείων + προσάρτησης (mount points). Τροποποιήστε το αρχείο + για να προσθέσετε cdroms, κατατμήσεις (partitions) + DOS και οδηγούς δισκεττών κατά την εκκίνηση. + + /etc/motd Το μήνυμα που εμφανίζεται σε όλους χρήστες κατά τη + διαδικασία του login, π.χ. \"Have fun\...\", + \"Goodmorning\...\" \"Τι κάνεις πάλι τέτοια ώρα;\" + + /etc/rc.d/rc.local Bash script το οποίο εκτελείται στο τέλος της + διαδικασίας login. Όμοιο με το autoexec.bat στο DOS + + /etc/HOSTNAME Περιέχει ολόκληρο το όνομα του ξένιου Υπολογιστή + (hostname) συμπεριλαμβανομένου του πεδίου ορισμού + (dοmain) + + /etc/cron.\* Υπάρχουν 4 υποκατάλογοι που αυτομάτως εκτελούν όλα τα + σκριπτ που βρίσκονται σ\' αυτούς κατά χρονικά + διαστήματα ώρας, ημέρας, βδομάδας ή μήνα + + /etc/hosts Κατάλογος με όλες τις IP διευθύνσεις των υπολογιστών + που είναι γνωστοί στο μηχάνημα + + /etc/httpd/conf Παράμετροι για τον εξυπηρέτη Apache + + /etc/inittab Προσδιορίζει το επίπεδο (runlevel) που θα ξεκινήσει + το σύστημα + + /etc/resolv.conf Ορίζει IP διευθύνσεις για εξυπηρέτες DNS + + /etc/smb.conf Παρτιτούρα (config file) για τον εξυπηρέτη SAMBA. + Επιτρέπει διαμερισμό αρχείων και εκτυπωτών με + εξυπηρετούμενους της Microsoft + + \~/.Xdefaults Ορισμοί για μερικές εφαρμογές X window. Το σύμβολο \~ + αναφέρεται στον αρχικό κατάλογο του χρήστη (home + directory) + + /etc/X11/XF86Config Παρτιτούρα (config file) για το X window + + \~/.xinitrc Ορίζει τον διαχειριστή παραθύρων (window manager) που + θα εκτελεστεί απο το X. Το σύμβολο \~ αναφέρεται στον + αρχικό κατάλογο του χρήστη (home directory) + + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + +\ +\ + +### []{#table10} [2.3 Δικαιώματα (permissions) αρχείων]{#ss2.3} + +![](/17/img/perm.png) + +Με την εντολή `ls -l` , εμφανίζεται μια εκτενής λίστα αρχείων. Η πρώτη στήλη αντιστοιχεί στα δικαιώματα (permissions) που ισχύουν για το αρχείο. Αν ένα από τα +δικαιώματα για τον ιδιοκτήτη, το γκρουπ ή τους υπόλοιπους λείπει, αυτο αντιπροσωπεύεται με `-` π.χ. drwxr-x\--x + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + \ Δικαίωμα ανάγνωσης (read) = 4\ Τα δικαιώματα των αρχείων μεταβάλονται με την εντολή + \ `chmod` και τον ανάλογο οκταδικό αριθμό για κάθε + Δικαίωμα εγγραφής (write) = 2\ είδος χρήστη.\ + \ π.χ. η εντολή `chmod 764 filename` θα δώσει στο + Δικαίωμα εκτέλεσης (execute) = 1 αρχείο filename δικαιώματα ανάγνωσης, εγγραφής και + εκτέλεσης (r+w+x) για τον ιδιοκτήτη, ανάγνωσης και + εγγραφής (r+w) για το γκρουπ και ανάγνωσης (r) μόνο + στους υπόλοιπους. + + \ chmod 755 Πλήρη δικαιώματα στον ιδιοκτήτη, ανάγνωσης και + \ εκτέλεσης για το γκρουπ και τους υπόλοιπους + + chmod +x filename Επίτρεψε σε όλους τους χρήστες να εκτελούν το αρχείο + filename + + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + +\ +\ + +### []{#table11} [2.4 Συντομεύσεις για το X window - (κυρίως για Redhat)]{#ss2.4} + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + \ Control-Alt + ή - Αύξησε ή μείωσε την ανάλυση της οθόνης, π.χ. από + 640χ480 σε 800χ600 + + Alt-escape Εμφάνισε λίστα με τα ενεργά παράθυρα + + Shift-Control F8 \'Αλλαξε το μέγεθος του επιλεγμένου παραθύρου + + Δεξί κλικ στην επιφάνεια εργασίας\ Εμφάνισε μενού επιλογών + (desktop background) + + Shift-Control Altr Φρέσκαρε την οθόνη + + Shift-Control Altx Ξεκίνησε ένα xterm + + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + +\ +\ + +### []{#table12} [2.5 Εκτύπωση]{#ss2.5} + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + \ /etc/rc.d/init.d/lpd start Ξεκίνησε το δαίμονα εκτυπώσεων (lpd daemon) + + /etc/rc.d/init.d/lpd stop Σταμάτα το δαίμονα εκτυπώσεων (lpd daemon) + + /etc/rc.d/init.d/lpd status Εμφάνισε την κατάσταση του δαίμονα εκτύπωσης + + lpq Εμφάνισε τις εργασίες που περιμένουν στην ουρά για + εκτύπωση + + lprm Αφαίρεσε εργασίες απο την ουρά αναμονής + + lpr Τύπωσε ένα αρχείο + + lpc Εργαλείο ελέγχου του εκτυπωτή + + man subject \| lpr Τύπωσε τη σελίδα του εχγειριδίου με θέμα subject ως + απλό κείμενο (plain text) + + man -t subject \| lpr Τύπωσε τη σελίδα του εγχειριδίου με θέμα subject ως + postscript + + printtool Ξεκίνησε το γραφικό εργαλείο ρύθμισης εκτυπωτών + + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + diff --git a/content/articles/17/03_xfs.md b/content/articles/17/03_xfs.md new file mode 100644 index 0000000..d2fd48d --- /dev/null +++ b/content/articles/17/03_xfs.md @@ -0,0 +1,34 @@ ++++ +title = 'XFS - Τί σημαίνει για το Linux' +date = '1999-09-01T00:00:00Z' +description = '' +author = 'Scott Nipp Μετάφραση: Θέμης Παπασσιλέκας(mailto:panzerjager@netscape.net)' +issue = ['Magaz 17'] +issue_weight = 3 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το άρθρο που ακολουθεί έγραψε ο Scott Nipp για το Linux Today στις 16 Αυγούστου, μετά την ανακοίνωση της Silicon Graphics ότι θα δώσει σε GPL τον κώδικα του +XFS. Το μεταφράσαμε και σας το προσφέρουμε.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Ποιος είναι ο λόγος για όλη τη φασαρία γύρω από την έκδοση του XFS από την SGI, κάτω από τη GPL; Αυτό είναι ένα ερώτημα που φαίνεται να έχουν πολλοί αυτές τις +ημέρες. Ένα άλλο ερώτημα είναι, \"Τί το ιδιαίτερο έχει ένα σύστημα αρχείων καταγραφής (Journalling FS), και πώς θα με βοηθήσει;\". Αυτά τα ερωτήματα θα +προσπαθήσω να απαντήσω. + +Το XFS είναι ένα σύστημα αρχείων \"καταγραφής\" το οποίο η SGI ανέπτυξε αρχικά για την πλατφόρμα της,το ΙRIX. Ένα σύστημα αρχείων καταγραφής είναι ένα σύστημα +αρχείων το οποίο καταγράφει τη δραστηριότητά του, κατά συνέπεια κάνοντας την επαναφορά από ένα \'κρέμασμα\' πολύ γρηγορότερη. Αυτή η καταγραφή σημαίνει ότι στην +περίπτωση διακοπής ρεύματος, το σύστημα αρχείων έχει ένα μητρώο του τί έκανε εκείνη τη στιγμή. Αυτό σημαίνει ότι το σύστημα αρχείων δεν πρέπει να κάνει ένα +μακροσκελή έλεγχο συνοχής \--στο Linux, fsck. + +Η λειτουργία καταγραφής είναι περίπου η εξής: όταν πρόκειται να συμβεί μία εγγραφή αρχείου, το σύστημα αρχείων πρώτα γράφει τη λεγόμενη \'καταχώρηση πρόθεσης +αλλαγής\' στο μητρώο του συστήματος. Έπειτα, γίνεται η καθεαυτή εγγραφή του αρχείου. Τέλος, η προηγούμενη καταχώρηση του μητρώου σημειώνεται ως πλήρης και +διαγράφεται. Αυτό εξαλείφει την ανάγκη να ελέγχεται ολόκληρο το σύστημα αρχείων στην περίπτωση διακοπής. Αντί να ελεγθεί όλο το σύστημα αρχείων, ελέγχεται μόνο +το μητρώο, και εάν βρεθεί μία καταχώρηση πρόθεσης αλλαγής που δεν έχει ολοκληρωθεί, η δομή των αρχείων γι αυτή την ενότητα (block) ελέγχεται και ρυθμίζεται, εάν +και όπου αυτό είναι απαραίτητο. + +Το XFS έχει επίσης και άλλα πλεονεκτήματα να προσφέρει στην κοινότητα του Linux. Το XFS είναι ένα 64-bit σύστημα αρχείων, κάτι που σημαίνει ότι μπορεί να +υποστηρίξει γελοιωδώς μεγάλα αρχεία (9 εκατομμύρια terabytes), και ακόμα μεγαλύτερα συστήματα αρχείων (18 εκατομμύρια terabytes). Το να αντιληφθεί κανείς την +τάξη μεγέθους, είναι κάτι το φαινομενικό. Το XFS υποστηρίζει αυτή τη χωρητικότητα και αξιοπιστία με εκπληκτική ταχύτητα. Το XFS είναι επίσης συμβατό με άλλες +δημοφιλείς υπηρεσίες που περιλαμβάνουν διάφορες λύσεις για αντίγραφα ασφαλείας, και διαμοίρασμο αρχείων μέσω NFS ή Samba. diff --git a/content/articles/17/04_redhat6.md b/content/articles/17/04_redhat6.md new file mode 100644 index 0000000..a8fc520 --- /dev/null +++ b/content/articles/17/04_redhat6.md @@ -0,0 +1,60 @@ ++++ +title = 'Τα νέα χαρακτηριστικά του RedHat 6.0' +date = '1999-09-01T00:00:00Z' +description = '' +author = 'DJ Art(mailto:djart@hellug.gr)' +issue = ['Magaz 17'] +issue_weight = 4 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Λίγο καθυστερημένο βέβαια λόγω καλοκαιριού, αλλά τελικά κατάφερα να γράψω αυτό το άρθρο. Δεν θα κάνω παρουσίαση του RedHat, αλλά θα αναφερθώ στις διαφορές της +καινούριας έκδοσης, του πασίγνωστου distribution, από τις προηγούμενες εκδόσεις.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Ας ξεκινήσουμε από την αρχή και ας δούμε τα νέα χαρακτηριστικά της εγκατάστασης του RedHat 6.0, αφού πρώτα πούμε ότι έρχεται με τον kernel 2.2.5-15: + +1. Από αυτήν την έκδοση του RedHat, η εγκατάσταση μπορεί να γίνει μέσω HTTP, εκτός από NFS, και είναι παρόμοια με την εγκατάσταση μέσω FTP. +2. Ο κύριος κορμός της εγκατάστασης έχει μείνει όπως ήταν στο παρελθόν. Επίσης, για δεύτερη συνεχόμενη έκδοση υπάρχουν τρείς προεπιλογές, οι Workstation και + Server, καθώς και η Custom. Η πρώτη διαφορά που συναντούμε είναι στην επιλογή των πακέτων που εγκαθιστούμε (από εδώ και στο εξής μιλάω για την Custom + προεπιλογή). Όταν διαλέξουμε να δούμε όλα τα πακέτα που περιλαμβάνει το RedHat, θα βρεθούμε σε ένα menu που τα πακέτα βρίσκονται χωρισμένα σε κατηγορίες, + όπως περίπου και στη διανομή SuSE (για παράδειγμα, υπάρχει κατηγορία Base -\> Deamons). Αφού λοιπόν διαλέξουμε τα πακέτα που επιθυμούμε και προχωρήσουμε + στην εγκατάσταση, βλέπουμε το δεύτερο καινούριο χαρακτηριστικό της εγκατάστασης, κάτι που υπήρχε από παλιά ενσωματωμένο στην εγκατάσταση του SuSE: ο έλεγχος + των dependencies. Αν επιλέξαμε να εγκαταστήσουμε ένα πρόγραμμα που χρειάζεται ένα άλλο πακέτο για να δουλέψει, το RedHat μας το γνωστοποιεί και από εκεί και + μετά μπορούμε να επιλέξουμε την αυτόματη προσθήκη του πακέτου που απαιτείται ή μπορούμε να το αγνοήσουμε (απλώς το πρόγραμμα δεν θα δουλεύει). +3. Μια και αναφέρθηκα στα πακέτα που εγκαθιστούμε, να επισημάνω ότι το RedHat 6.0 είναι η πρώτη έκδοση που περιλαμβάνει το **K-Desktop**. Βέβαια, περιλαμβάνει + την έκδοση **1.1.1 pre 2** του δημοφιλέστατου window manager, καθώς την εποχή που κυκλοφόρησε το RedHat 6.0 δεν είχε βγεί ακόμα η τελική σταθερή έκδοση + **1.1.1** του KDE. Επίσης, όπως πάντα, το RedHat παρέχει το **Gnome** συνοδευόμενο από το **Enlightenment**, ενώ παρέχει και άλλους window managers, όπως ο + **WindowMaker** και o **AfterStep**. Στα πακέτα επίσης περιέχεται και το **x11amp**, που τώρα μετονομάστηκε σε **xmms**. +4. Προχωρώντας, μόλις εγκατασταθούν τα πακέτα (και αν επιλέξαμε εγκατάσταση του X-Window system), μας εμφανίζεται το καθιερωμένο πρόγραμμα της RedHat, το + **Xconfigurator**, για την αναγνώριση των συσκευών του υπολογιστή μας έτσι, ώστε να γίνουν οι απαράιτητες ρυθμίσεις των X. Μόλις, λοιπόν, την ολοκληρώσουμε + και αφού έχουμε διαλέξει κάρτα γραφικών, το RedHat φορτώνει τον X-server που διαλέξαμε με σκοπό να δούμε αν δουλεύουν σωστά τα X. Εδώ συναντάμε κάτι + πρωτόγνωρο: Μετά το φόρτωμα του X-server και τις ερωτήσεις αν βλέπουμε σωστά το περιβάλλον των X, μας γίνεται η ερώτηση αν θέλουμε να φορτώνονται αυτόματα + τα X μετά το boot του πυρήνα (δηλαδή αν θέλουμε να ορίσουμε στο initdefault του αρχείου /etc/inittab την τιμή 5 (runlevel)). +5. Τελειώνοντας με την εγκατάσταση, το RedHat υποστηρίζει passwords του τύπου Shadow και Md5. Μετά τον ορισμό του password του root, επιλέγουμε αν θέλουμε + υποστήριξη Shadow και Md5, ενώ ένα νέο χαρακτηριστικό που προστέθηκε είναι η υποστήριξη **NIS** (**N**etwork **I**nformation **S**ervice). Σ\' αυτό το + σημείο ορίζουμε αν θέλουμε NIS Domain ή NIS Server. + +Τελείωσε λοιπόν η εγκατάσταση και προχωράμε στο boot του πυρήνα για να μπούμε στο αγαπημένο μας λειτουργικό. Εδώ παρατηρούμε ακόμα ένα νέο χαρακτηριστικό: Δίπλα +από κάθε process που ανοίγει το init αναγράφεται μέσα σε αγκύλες με πράσινο χρώμα OK ή με κόκκινο FAILED, ανάλογα με το αν το συγκεκριμένο process έτρεξε με +επιτυχία ή όχι. Για παράδειγμα δίπλα από τον deamon **apmd** γράφει \[OK\]. Ο **apmd** είναι ένας καινούριος deamon που εκμεταλλέυεται το **A**dvanced **P**ower +**M**anagment της motherboard (αν υπάρχει), για να κλείνει μόνο του το PC σε περίπτωση shutdown. \'Aλλη δουλειά που αναλαμβάνει ο **apmd** είναι να προειδοποιεί +για την κατάσταση της μπαταρίας του laptop. + +Ανοίγοντας τα διάφορα εργαλεία ρυθμίσεων του RedHat παρατηρούμε μερικές μικροαλλαγές. Για παράδειγμα, στο **sndconfig**, μετά την ρύθμιση της κάρτας ήχου +προστέθηκε και ένα MIDI sample για να ακούσουμε αν δουλέυει σωστά ο τομέας **MIDI** της κάρτας ήχου. Ανοίγοντας το γραφικό εργαλείο **printtool** που είναι για +τη ρύθμιση του printer μας και διαλέγοντας **Epson Stylus Color**, δίπλα στο **Color Depth** περιέχονται αρκετά μοντέλα της σειράς (όπως ο 600), ενώ +υποστηρίζονται πολλαπλές αναλύσεις εκτύπωσης. Αυτό σημαίνει ότι μπορούμε να εκτυπώνουμε σε καλύτερης ποιότητας χαρτιά αν επιθυμούμε. + +Ο γραφικός διαχειριστής πακέτων RPM, το **Glint**, που υπήρχε σε παλιότερες εκδόσεις, δεν υπάρχει στην έκδοση 6.0. Την θέση του την πήρε το **GnoRPM**, που +ακολουθεί το αισθητικό πρότυπο των εφαρμογών για το **Gnome**. Σε σχέση με το **Glint**, το **GnoRPM** έχει καλύτερο navigation στα πακέτα, αφού περιλαμβάνει +δύο παράθυρα. Στο αριστερό παράθυρο εμφανίζονται οι κατηγορίες των εγκατεστημένων πακέτων, σαν ξεχωριστός φάκελος η κάθε μία, ενώ όλες μαζί αποτελούν +δενδροδιάγραμμα. Στο δεξί παράθυρο εμφανίζονται τα πακέτα που περιλαμβάνει μία κατηγορία, εφόσον την επιλέξουμε. Το **GnoRPM** διαθέτει κουμπιά για +εγκατάσταση/απεγκατάσταση πακέτων, **Query**, **Verify**, ενώ διαθέτει και δύο πολύ χρήσιμα κουμπιά που δεν είχε το **Glint**: **Find** και **Web Find**. + +Να υπενθυμίσω ότι από λίγο παλιότερες εκδόσεις δεν υπάρχει στο RedHat η εφαρμογή **cabaret**, που χρησίμευε για την προσθήκη και για το mount/unmount συσκευών +και partitions. Η εφαρμογή έτρεχε σε περιβάλλον κονσόλας. Τη \"θέση\" του σε γραφικό περιβάλλον έχει πάρει το **usermount**, το οποίο όμως χρησιμεύει μόνο για +το mount/unmount των ήδη δηλωμένων συσκευών και partitions, ενώ δεν μπορεί αυτό να προσθέσει στο **/etc/fstab** συσκευές, όπως έκανε το **cabaret**. Έτσι, η +RedHat συνεχίζει να προτείνει το **linuxconf** σαν εργαλείο για τις ρυθμίσεις του συστήματος (ίσως να ανταγωνίζεται και το Y.A.S.T. της SuSE). To **linuxconf** +τρέχει τόσο σε περιβάλλον κονσόλας, όσο και σε περιβάλλον X. diff --git a/content/articles/17/05_java.md b/content/articles/17/05_java.md new file mode 100644 index 0000000..ec3eef8 --- /dev/null +++ b/content/articles/17/05_java.md @@ -0,0 +1,1048 @@ ++++ +title = 'Java και Linux' +date = '1999-09-01T00:00:00Z' +description = '' +author = 'Δημήτρης Γλυνός(mailto:glynos@dial.pipex.com)' +issue = ['Magaz 17'] +issue_weight = 5 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Καιρός να δούμε ένα είδος καφέ λιγάκι διαφορετικό από αυτόν που πίναμε ως τώρα\...την Java.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Java - Τι σόι καφές είναι αυτός; (History/Internals)** +---------------------------------------------------------------------------------- + +- [1.1 Ιστορική Αναδρομή:](#ss1.1) +- [1.2 Εσωτερική Δομή:](#ss1.2) + +**2. Χμμμ, ενδιαφέρον άρωμα\... (Features/Applications)** +-------------------------------------------------------------------------------- + +**3. Μα γιατί δε μοιάζει με αυτόν που ήπια χθες; (Minor Problems)** +------------------------------------------------------------------------------------------ + +**4. Ωραία\... και πώς τον σερβίρουμε στο Linux-άκι; (Linux Installation Notes)** +-------------------------------------------------------------------------------------------------------- + +**5. Διαβάζοντας το φλιτζάνι (Java in the (not..so..) working world)** +--------------------------------------------------------------------------------------------- + +**6. Κώδικας και άλλα** +---------------------------------------------- + + +### [1. Java - Τι σόι καφές είναι αυτός; (History/Internals)]{#s1} + +### [1.1 Ιστορική Αναδρομή:]{#ss1.1} + +Το 1991 η Sun αναλαμβάνει να φτιάξει μία πλατφόρμα εφαρμογών (σε C++) ικανή για να τρέξει εφαρμογές σε μία μεγάλη γκάμα υπολογιστικών συστημάτων. Μέσα από το +project αυτό, γεννήθηκε μία γλώσσα προγραμματισμού, ονόματι Oak. + +Το 1994, βλέποντας την ταχύτητα με την οποία αναπτύσσεται το World Wide Web, η Sun προσθέτει ορισμένα Web-extensions στην Oak και την μετονομάζει σε Java. + +Το 1995 οι Αlpha eκδόσεις της Java και της HotJava διανέμονται δωρεάν εκ του δικτύου για τις πλατφόρμες των Solaris και ΝΤ. Σύντομα γίνονται και τα ports σε +Linux και Win95. + +Στις αρχές του 1996 κυκλοφορεί η έκδοση 1.0. Τόσο το Netscape όσο και o Internet Explorer υποστηρίζουν Java, σε server και εσωτερική (browser) μορφή. Μετά από +\_αρκετά\_ bug και security fixes, η εταιρεία ανεβάζει στο Web την Βeta έκδοση της σειράς 1.1. Διαθέτει εκτός των άλλων: RMI (κλήση συναρτήσεων εξ αποστάσεως), +functions για ανταλλαγή πληροφοριών με βάσεις δεδομένων, μοντέλα για κρυπτογραφικές ρουτίνες και πολλά άλλα\... + +Η πρώτη επίσημη έκδοση της σειράς 1.1 βγαίνει το Μάρτιο του ΄97. Αυτή τη στιγμή η τελευταία σταθερή έκδοση για Linux είναι η 1.1.7v3 αν και υπάρχει έκδοση της +σειράς 1.2 (JDK 1.2 pre-v1). + +Το παρακάτω [link](http://java.sun.com/products/jdk/1.2/docs/relnotes/features.html) δίνει περισσότερες πληροφορίες για τις διαφορές από release σε release. Θα +φανεί ιδιαίτερα χρήσιμο στο προγραμματιστικό κοινό, καθώς οι αλλαγές που έχουν επέλθει από την έκδοση 1.1 στην 1.2 είναι αρκετές και θεμελιώδεις. + +### [1.2 Εσωτερική Δομή:]{#ss1.2} + +Η Java ανήκει στην κατηγορία των interpreted γλωσσών. Όταν θα τρέξουμε το πρόγραμμά μας, ο υπολογιστής δεν θα διαβάσει κατ΄ευθείαν ένα binary executable, αλλά +μια σειρά εντολών, που με τη σειρά της θα γίνει compiled την ώρα της εκτέλεσης. Εμπειρικά μπορούμε να πούμε, ότι αυτό θα κάνει το πρόγραμμά μας, 10-20 φορές πιο +αργό απ΄το αντίστοιχο πρόγραμμα,γραμμένο σε C. + +Η Java χρησιμοποιεί μία εικονική μηχανή, ένα Virtual Machine, το οποίο αναλαμβάνει να πάρει τον κώδικα σε μια semi-compiled μορφή (ονομαζόμενη [byte +code](05_java-6.html#part1a)) και κατά την εκτέλεση, να τον μετατρέψει σε machine-dependent κώδικα. Εκτός, όμως, από αυτή τη λειτουργία, το Java Virtual Machine +θα μπορούσε να χαρακτηριστεί και ως \"κουτί ασφαλείας\". Ελέγχει και προστατεύει το πρόγραμμα από τυχόν \"παράνομες\" κλήσεις, προσπαθώντας να αποτρέψει ένα +γενικότερο **κακό** (π.χ. το πρόγραμμα να απο φασίσει ξαφνικά να φάει όλα τα memory resources του λειτουργικού μας) ή τουλάχιστον να δώσει όσο περισσότερες +debugging πληροφοριές γίνεται περί του \"τι έγινε\" πριν το κακό :) + +Εφόσον είναι στην ευθύνη του JVM να φτιάξει τον κατάλληλο κώδικα για την πλατφόρμα μας\... αυτό μας επιτρέπει να κυκλοφορούμε από μηχάνημα σε μηχάνημα με τον +ίδιο :) Java semi-compiled κώδικα. Με άλλα λόγια, παίρνουμε τον πηγαίο κώδικά μας, τον κάνουμε compile με κάποιο εργαλείο (όπως το javac) που φτιάχνει +\"byte-code\" κώδικα, και το νέο αρχείο με κατάληξη \".class\" μπορούμε να το τρέξουμε κάτω από οποιοδήποτε JVM είτε αυτό βρίσκεται σε PC, είτε σε SUN-ακι είτε +σε κάποια άλλη supported πλατφόρμα\... + +Το παρακάτω σχήμα δείχνει πώς, κατά την εκτέλεση του προγράμματος, η εφαρμογή βρίσκεται \"πάνω\" σε έναν JVM, αυτός με τη σειρά του επικοινωνεί με το +λειτουργικό σύστημα που με τη σειρά του επικοινωνεί με το hardware. + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + \ Εφαρμογή + + Java Virtual Machine + + Λειτουργικό Σύστημα + + Hardware + + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + + +### [2. Χμμμ, ενδιαφέρον άρωμα\... (Features/Applications)]{#s2} + +H Java αποτελεί μία object oriented γλώσσα. Η πλειοψηφία των έτοιμων functions αποτελούν μέρος των αρμόδιων classes και έτσι ο νέος χρήστης συναντά από νωρίς +όρους, όπως το object και την τεχνική του inheritance. + +Η γλώσσα επιτρέπει σε μια δικιά μας class, να αποτελεί γόνο περισσότερων από μιας αρχέτυπων classes.Αυτό όμως δεν σημαίνει ότι η νέα class θα περιέχει τον +κώδικα τών αρχέτυπων. Απλά, εξασφαλίζει με αυτόν τον τρόπο ότι στη νέα class θα υπάρχουν όλες οι functions που υπήρχαν στις πατρικές ΟΝΟΜΑΣΤΙΚΑ. Έτσι, θα +είμαστε σίγουροι ότι μία class που κατάγεται από την Class Skylo και Class Gata, και θα νιαουρίζει και θα γαβγίζει (έχοντας γράψει και τον κατάλληλο κώδικα +φυσικά). Classes σαν τον σκύλο και τη γάτα, που λειτουργούν ως αρχέτυπα και εξασφαλίζουν ότι ένας συγκεκριμένος αριθμός από functions θα υπάρχουν σε κάθε class +που κατάγεται από αυτές, ονομάζονται interfaces και δεν περιεχουν implementation παρά μόνο function headers. Συνεπώς, σε μία function που περιμένει ως παράμετρο +ένα interface, μπορούμε να περάσουμε κάθε class που κάνει implement αυτό τo [interface](05_java-6.html#part2a) + +H Java αποτελεί μία εν γένει threaded γλώσσα. Βασικές της λειτουργίες όπως το αυτόματο garbage collection, o Audio Player, η διαχειριση των events σε γραφικό +περιβάλλον αλλά και η ίδια η function main(), αναλαμβάνονται από ξεχωριστά threads κατά την εκτέλεση του προγράμματος. Τα threads αυτά τρέχουν παράλληλα και ο +διαμερισμός του χρόνου για κάθε διεργάσια ίδιου priority προσδιορίζεται από το λειτουργικό σύστημα. + +Προσοχή θα πρέπει να δοθεί στο γεγονός ότι η Java διαβάζει και γράφει σε unicode και όχι σε ASCII. + +Aς δούμε όμως μερικά σημεία της γλώσσας που την κάνουν ιδιαίτερα επιθυμητή στο σημερινό προγραμματιστικό κοινό. + +Λόγω threading είναι ιδανική για τη συγγραφή προγραμμάτων σχετικά με δικτυακές εφαρμογές. Π.χ. σε ένα server application το πρόγραμμα μπορεί να χρησιμοποιήσει +ένα thread για να ακούει σε μια port και κάθε φορά που δέχεται ένα incomming connection, να ξεκινά ένα καινούριο [thread](05_java-6.html#part2b) για να +αναλαμβάνει τις υπηρεσιές του connection αυτού. Έτσι δεν χρειάζεται να παίζουμε με fork() και if-then-else structures ώστε να χωρίζουμε τον κώδικα μεταξύ του +αρχικού server και των forked παιδιών του (ό πως γίνεται στη C). + +Eκτός αυτού, το threading μάς επιτρέπει να δώσουμε σε βαριά προγράμματα μια νέα αρχιτεκτονική, όπου κάποιες διεργασίες θα εκτελούνται παράλληλα, επιτρέποντας +καλύτερη αξιοποίηση της υπολογιστικής δύναμης ενός multi-processor συστήματος. + +Όσον αφορά το σχεδιασμό προγραμμάτων με GUI, εκτός από την πληθώρα των classes υπεύθυνες για τέτοιες διεργασίες, δίνεται στο χρήστη η δυνατότητα να επιλέξει το +είδος των widgets που θα βγάλει στη φόρμα του. Για παράδειγμα μπορεί είτε να χρησιμοποιήσει τα default widgets του ήδη υπάρχοντος window manager είτε (για +περισσότερη ταχύτητα) τα predefined widgets του swing, που έχουν σχεδιαστεί σε java και είναι όμοια για όλες τις πλατφόρμες. + +Η εξοικείωση με το συντακτικό της γλώσσας δεν αργεί πολύ καθώς είναι παραπλήσιο με αυτό της C. H Java κρύβει από το χρήστη τα pointer semantics και έτσι το +παιχνίδι με τα objects/classes γίνεται πολύ ευκολότερο απ΄ότι στη C++. + +Έστω ότι μία function χρειάζεται ως παράμετρο την instance μιας class που δεν πρόκειται να ξαναχρησιμοποιήσουμε στο υπόλοιπο πρόγραμμα. Η Java μάς επιτρέπει να +φτιάξουμε επί τόπου μια \"anonymous inner class\" και να κάνουμε τη δουλειά μας χωρίς άλλα declarations. Ή για παράδειγμα, αν χρειαστούμε, για ένα μικρό κομμάτι +κώδικα, να κάνουμε override μια method μιας ήδη υπάρχουσας class\... :) η \"anonymous inner class\" θα μας λύσει τα [χέρια](05_java-6.html#part2c). + +Η ελαστικότητα που προσφέρεται με τα threads παρατηρείται και στο event handling. Οι λεγόμενοι adapters και event listeners μάς δίνουν τη δυνατότητα να κάνουμε +register ένα event μιας class σε περισσότερους από έναν listeners. Με αυτό τον τρόπο μπόρουμε να έχουμε ένα button στη φόρμα μας που αλλάζει times σε διάφορα +objects χωρίς να χρειάζεται explicit reference στις συγκεκριμένες instances και methods των objects αυτών (που θα αναλάβουν το event). + +Oι βιβλιοθήκες από functions είναι οργανωμένες σε μορφή πακέτων (packages). Αυτές που αρχίζουν από java (ή sun) είναι οι default που δίνονται με το jdk από τη +Sun. Γράφοντας import java.awt.\* δίνουμε στο πρόγραμμα μας πρόσβαση σε όλες τις classes του πακέτου AWT (υπεύθυνο για ρουτίνες σε γραφικό περιβάλλον). Τα +αρχεία .jar αποτελούν τον ενδεδειγμένο τρόπο συμπίεσης πακέτων. Όποτε ο java interpreter χρειαστεί μια class απο ενα τέτοιο πακέτο, θα το αποσυμπιέσει αυτόματα. +Τα περιβόητα Java Beans δεν αποτελούν τ ίποτα παραπάνω από συμπιεσμένα packages, που χρησιμοποιούνται ως components, σε εργαλεία visual προγραμματισμού όπως ο +Java Builder. + +Εκτός από την απλή σχεδίαση γραφικών, μπορεί κανείς να βρει packages υπεύθυνα για επεξεργασία αντικειμένων σε 3d, classes για φιλτράρισμα ήχου, προβολή και +επεξεργασία video, methods που απλουστεύουν τη χρήση των sockets στα networking apps, message encryption και signing (με επιλογή στους αλγόριθμους που θα +χρησιμοποιηθούν) και πολλά πολλά άλλα. + +Δεδομένου ότι η Sun ήταν η μαμά του RPC (remote procedure call), δεν θα μπορούσαν να αφήσουν απ΄έξω την RMI (remote method invocation) τεχνολογία. Σύμφωνα με το +RMI, ένα object που τρέχει σε μια Virtual Machine μπορεί να καλέσει (μέσω δικτύου) μια method ενός object που υπάρχει σε μια άλλη virtual machine. Για να γίνουν +τα πράγματα πιο λιανά, φανταστείτε ότι έχετε κάνει semi-compile ένα πρόγραμμα και το έχετε εγκαταστήσει σε ένα μηχάνημα ενός δικτύου. Χρησιμοποιώντας λιγοστά +αρχεία (που περιέχουν πληροφορίες για το πώς θα καλέσουν τις methods στο server μηχάνημα) θα μπορούσατε να κάνετε όλα τα μηχανήματα στο LAN auto +[clients](05_java-6.html#part2d) αυτού του προγράμματος (χωρίς φυσικά να αντιγράψετε ολόκληρο το software σας στο δίσκο κάθε μηχανήματος). + +Τα Java Applets αποτελούν εκτελέσιμα αρχεία της java, κατασκευασμένα για να τρέξουν από τον web-browser κάθε χρήστη που θα τα κατεβάσει από το net. Στην ουσία +καλούνται από τα {APPLET CODE=\"koko.class\"} tags της σελίδας που παρακολουθεί ο χρήστης. O web-browser πρίν τα τρέξει στη μικρή του jvm, θα τα ερευνήσει για +οποιεσδήποτε παράνομες κλήσεις (π.χ. διάβασμα από τον τοπικό σκληρό δίσκο κλπ. κλπ.). + + +### [3. Μα γιατί δε μοιάζει με αυτόν που ήπια χθες; (Minor Problems)]{#s3} + +Όσοι από μας προγραμματίζουν με :) άκρως ντετερμινιστική λογική, θα πρέπει να είναι αρκετά προσεχτικοί με την Java. Όπως προαναφέραμε, πρόκειται για μια εν +γένει Threaded γλώσσα, που αφήνει το priority scheme να το ελέγξει το λειτουργικό σύστημα. + +Συνεπώς: + +- Εάν τρέξουμε ένα πρόγραμμα 10 φορές, και του δώσουμε το ίδιο input και τις 10 φορές, αυτό ΔΕΝ ΣΗΜΑΙΝΕΙ ότι το πρόγραμμα θα τρέξει με τον ίδιο τρόπο και τις + 10 φορές. :-) +- Έστω ότι παίρνουμε το όμορφο προγραμματάκι μας (koko.java) που είναι γεμάτο με threads (και γραμμένο φυσικά κάτω από linux) και το πάμε στου φίλου μας του + Μάκη, που τρέχει winblowz98. Παρατηρούμε όμως ότι χρειάζεται να περάσουν 3-4 δευτερόλεπτα από τότε που πάτησε το κουμπάκι μέχρι να ανανεωθεί η όλη φόρμα\... + και γεμάτοι απορία αναρωτιόμαστε τι δεν πήγε καλά\... Μια πιθανή απάντηση είναι το διαφορετικό priority scheme που έχουν τα winblowz από το linux-ακι + (round-robin time-slicing isn\'t always working at its best). + +Προκειμένου να αποφύγουμε προβλήματα που προκύπτουν από την ντετερμινιστική μας λογική :) θα ήταν προτιμότερο να προγραμματίζουμε με ένα event-driven μοντελό +στο μυαλό (παρά με τον κλασικό σειριακό τρόπο : μετά από αυτό - θα κάνω αυτό). Τα threads γίνονται πολύ φιλικότερα όταν χρησιμοποιούνται σωστά :) + +Ο Java Virtual Machine κάνει μια σειρά από checks πριν τρέξει το semi-compiled κώδικα. Αυτά τα checks αφορούν τον τρόπο με τον οποίο φορτώνονται οι classes και +τα operations που εμπεριέχονται στις methods τους. Ακόμα και για πολύ απλά προγραμματάκια αυτή η διαδικασία είναι πολλές φορές επίπονη. Γι΄αυτό θα συνιστούσα σε +όποιον σκέφτεται να ασχοληθεί κατά κόρον με τον προγραμματισμό στην java, να χρησιμοποιήσει είτε compiler που βγάζει native executable είτε να ψάξει για +μηχάνημα άνω των 200mhz. + + +### [4. Ωραία\... και πώς τον σερβίρουμε στο Linux-άκι; (Linux Installation Notes)]{#s4} + +To www.blackdown.org είναι υπεύθυνο για τα ports της java σε linux. Αναλόγως με το αν έχουμε libc h\' glibc κατεβάζουμε την ανάλογη έκδοση του jdk (java +development kit) και το βάζουμε στο αγαπημένο μας directory (συνήθως /usr/lib). Εκεί τραβάμε ένα + + beast:/usr/lib # tar vxzf jdk_1.1.7-v1a-glibc-x86.tar.gz + +και είμαστε έτοιμοι :) + +Εδώ λοιπόν βλέπουμε την δενδρική δομή αυτού του directory: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + -r--r--r-- 1 505 505 101235 Nov 5 1998 CHANGES + -r--r--r-- 1 505 505 937 Nov 5 1998 COPYRIGHT + -r--r--r-- 1 505 505 5994 Nov 5 1998 LICENSE + -r--r--r-- 1 505 505 53189 Nov 5 1998 README + -rw-r--r-- 1 505 505 12631 Nov 5 1998 README.linux + -rw-r--r-- 1 505 505 7547 Nov 5 1998 README.linux.src + drwxr-xr-x 3 505 505 1024 Nov 5 1998 bin + drwxr-sr-x 4 505 505 1024 Nov 5 1998 include + -r--r--r-- 1 505 505 2500 Nov 5 1998 index.html + drwxr-xr-x 4 505 505 1024 Nov 5 1998 lib + -rw-r--r-- 1 505 505 1675875 Nov 5 1998 src.zip + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +To αρχειάκι src.zip περιέχει τα sources της java (σε περίπτωση που δεν θέλουμε να χρησιμοποιήσουμε τις ήδη υπάρχουσες compilαρισμένες εκδόσεις) και στο +README.linux.src περιέχονται οδηγίες για το compilation process. + +Στο lib βρίσκονται όλα τα απαιτούμενα .so αρχεία μαζί με ένα σημαντικότατο αρχειάκι ονόματι classes.zip που περιέχει όλες τις classes (semi-compiled morfi +.class) που έρχονται με το jdk. ΟΧΙ, ΔΕΝ ΧΡΕΙΑΖΕΤΑΙ ΝΑ ΤΟ ΑΠΟΣΥΜΠΙΕΣΕΤΕ! :) + +Στις παλαιότερες εκδόσεις του jdk, o compiler της java απαιτούσε την ύπαρξη μιας shell variable, ονόματι \$CLASSPATH, που έδειχνε σε αυτό το αρχείο +(classes.zip) αλλά και σε οποιαδήποτε άλλα directories, τα οποία περιείχαν \".class\" αρχεία που θα χρησίμευαν στο πρόγραμμά σας. Σύμφωνα με το documentation +του jdk1.1.7 αυτή η variable δεν χρησιμοποιείται πια. Για καλό και για κακό όμως (και για όσους από εσάς έχουν τσιμπήσει παλιότερο jdk) καλό θα ήταν στο +/etc/profile να βάλετε: + + export CLASSPATH=.:/usr/lib/java117_v1a/lib/classes.zip:~/java + +Όσοι από σας χρησιμοποιούν tsch :) ας παίξουν με την setenv. + +Έτσι έχουμε στο CLASSPATH το παρόν directory εργασίας, το directory που περιέχει το classes.zip και ένα directory κάτω από το home μας με όνομα java. + +To directory bin περιέχει τα binaries του JDK. Εφόσον δεν είμαστε αρκετά τρελοί για να τα καλούμε με τα full path names, θα ήταν καλό να βάλουμε το directory +αυτό στο PATH μας (/usr/lib/java117\_v1a/bin). Έτσι θα έχουμε πρόσβαση από παντού στα παρακάτω εργαλεία: + +- javac ( Java Compiler )\ + :) Ο compiler μας\...παίρνει αρχεία με κώδικα σε java (.java) και τα μεταφράζει σε bytecode. +- java ( Java Interpreter )\ + O κύριος που αναλαμβάνει να ανεβάσει το προγραμματάκι μας πάνω στην virtual machine. Με άλλα λόγια, :) τρέχει τα προγράμματά μας. +- java\_g ( java tracer )\ + Δίνει πληροφορίες για το τί γίνεται στην Virtual Machine, κατά την εκτέλεση του προγράμματος. +- jre ( Java Runtime Interpreter )\ + Είναι μια ελαφριά έκδοση του παραπάνω. Χρησιμοποιείται κυρίως από τους κυρίους που \*απλώς θέλουν να τρέξουν το πρόγραμμα\*. +- appletviewer ( Java AppletViewer )\ + Ένα όμορφο εργαλείο για να τεστάρετε locally τα applets σας. +- jdb ( Java Debugger )\ + Ψάχνει για ζωύφια στα προγράμματά σας :) +- javap ( Class File Disassembler )\ + Aυτό το όμορφο προγραμματάκι εκτός από το ότι τραβάει τα declarations από ένα .class αρχείο (ναι, ναι, compilαρισμένο αρχείο) σας μεταφράζει και τα + byte-code περιεχόμενα αυτού του αρχείου (δηλ. τις εντολές που θα δωθούν στην virtual machine). +- javadoc ( Java Documentation Generator )\ + Τελικά είναι της μόδας αυτές τις μέρες, κάθε γλώσσα προγραμματισμού να έχει και από ένα προγραμματάκι που διαβάζει τον κώδικα και από ειδικά comments, να + παράγει μια HTML σελίδα με το documentation του προγράμματος. +- javah ( C Header and Stub File Generator )\ + To προγραμματάκι αυτό θα βοηθήσει όσους θέλουν να βάλουν εξωτερικές functions (της C) μέσα στον java κώδικά τους (για περισσότερες πληροφορίες κοιτάξτε στο + API documentation). +- jar ( Java Archive Tool )\ + Μεταξύ άλλων, μαζεύει τα .class αρχεία και τα συμπιέζει σε ένα αρχείο. Φτιάχνει κάτι σαν μία συμπιεσμένη βιβλιοθήκη από classes :) +- javakey ( Digital Signing Tool )\ + Θα χρησιμοποιηθεί από προγράμματα που χρειάζονται πιστοποίηση για την αυθεντικότητα ορισμένων κομματιών κώδικα. +- native2ascii ( Native-To-ASCII )\ + Mετατροπή από native encoding (unicode) σε ascii με τη χρήση του \\udddd escape convention. +- rmic ( Java RMI Stub Converter )\ + Χρησιμοποιείται στο RMI και φτιάχνει τα stubs που θα χρησιμοποιήσουν τα τερματικά σας :) προκειμένου να τρέξουν το πρόγραμμα του server. +- rmiregistry ( Java Remote Object Registry )\ + Χρησιμοποιείται στο RMI και συνθέτει ένα registry για τα objects που θα διαθέσει o server, στους clients. +- serialver ( Serial Version Command )\ + Επιστρέφει την έκδοση μιας class. + +Aς δούμε όμως ένα απλό παράδειγμα από compilation. Κατ΄αρχήν ορίζουμε το όνομα του πακέτου που θα γράψουμε και φτιάχνουμε ένα directory με το όνομα του κάτω από +το CLASSPATH: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + glynos@beast:~/java > pwd + /home/glynos/java + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Έστω ότι το πακέτο μας λέγεται \"koko\". Φτιάχνουμαι το άναλογο directory: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + glynos@beast:~/java > mkdir koko + glynos@beast:~/java > cd koko + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +(Αν το πακέτο μας ονομαζόταν \"kati.akoma.pio.megalo\" θα έπρεπε να φτιάξουμε τα directories \"kati/akoma/pio/megalo\") + +Αποφασίζουμε την κύρια class του προγράμματος να την ονομάσουμε \"trella\". Συνεπώς φτιάχνουμε ένα αρχειάκι με όνομα \"trella.java\" και τυπώνουμε μέσα τα +παρακάτω: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + package koko; + + class trella { + public static void main(String argv[]){ + System.out.println("geia sou kosmakh!"); + }; + }; + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αφού σώσουμε το αρχειάκι, του τραβάμε και ένα compile :) + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + glynos@beast:~/java/koko > javac trella.java + glynos@beast:~/java/koko > ls -l + -rw-r--r-- 1 glynos users 474 Sep 5 12:17 trella.class + -rw-r--r-- 1 glynos users 142 Sep 5 12:03 trella.java + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Όπως βλέπουμε δημιουργήθηκε το \"trella.class\" που περιέχει σε byte-code τον κώδικα που θα τρέξει η virtual machine (συγκρίνετε το μέγεθος του αρχείου με το +μέγεθος του αντίστοιχου εκτελέσιμου της C). + +Τώρα έχοντας ορίσει σωστά το όνομα του πακέτου, του directory και του CLASSPATH, μπορούμε από οποιοδήποτε σημείο του δίσκου μας, να καλέσουμε το πρόγραμμα (το +syntax είναι java {package\_name}.{main\_class\_name}). + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + glynos@beast:/ > java koko.trella + geia sou kosmakh! + glynos@beast:/ > + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Ψάχνοντας στο net, μπορεί κανείς να βρει πολλά βοηθητικά tools για προγραμματισμό σε Java κάτω από Linux. Από web-browsers για να τεστάρετε τα applets σας +(netscape, hot-java) μέχρι IDE, visual programming interfaces αλλά και decompilers (όπως ο jad που παίρνει τα .class files και τα μεταφράζει σε source code). +Εδώ θα βρείτε μία μικρή [λίστα](05_java-6.html#part4a). + +Επίσης, κυκλοφορούν αρκετοί JVMs και από τρίτες εταιρείες (όχι μόνο από την Sun) με πιο γνωστό τον [kaffe](http://www.transvirtual.com). + +Σε περίπτωση που είστε λάτρης του CLI και δεν βρίσκετε κανένα λόγο για να χρησιμοποιήσετε κάποιο εργαλείο για Visual Programming, θα σας πρότεινα να σηκώσετε +στο περιβάλλον των X, 2-3 rxvt\'s (για το γράψιμο debugging και testing του κώδικα) και ασφαλώς ένα web-browser για να διαβάζετε το API documentation του jdk. +Για όσους από εσάς ξεκινούν τώρα με την Java, υπάρχει και ένα online tutorial στο + + +### [5. Διαβάζοντας το φλιτζάνι (Java in the (not..so..) working world)]{#s5} + +Μέχρι στιγμής η Java προωθείται με σωστό τρόπο από τη Sun. Υποστηρίζεται από developers/πανεπιστήμια σε ολόκληρο τον κόσμο και όλα δείχνουν ότι μάλλον μέσα στα +επόμενα χρόνια θα γίνει το προγραμματιστικό standard στο χώρο του connectionist computing. + +Η \"προστασία\" από τις έννοιες των pointers, το εύκολο συντακτικό και οι έτοιμες ρουτίνες για γραφικά, επεξεργασία δεδομένων και δικτυακές εφαρμογές, καθιστούν +την Java ένα πανίσχυρο εργαλείο για το άτομο που ξεκινά σιγά σιγά τον προγραμματισμό στο Linux. + +Aλλά και οι πιο προχωρημένοι του είδους δεν θα μείνουν δυσαρεστημένοι. Οι pluggable αλγόριθμοι, η trusted host αρχιτεκτονική και το platform independent στυλ +της Java θα τους λύσουν πολλές φορές τα χέρια, καθώς δίνουν τη δυνατότητα να γράψει κανείς εύκολα και γρήγορα customisable software, για χρήση σε μεγάλες +(δικτυακές και μη) εφαρμογές. + +Δύο απ\'τα καλύτερα βιβλία που κυκλοφορούν στο εμπόριο, είναι: + +1. \"Java. How to program\", των Deitel & Deitel (Prentice-Hall, 2nd Ed.,1997) και +2. \"Java 1.1 Developer\'s Guide 2nd Edition\", tou Jaworski + +Για περισσότερες πληροφορίες ρίξτε μια ματιά στα:\ +\ +\ + + +Special thanx to George Glynos & Pete \"whatevah\" Blindell. + + +### [6. Κώδικας και άλλα]{#s6} + +[]{#part1a} Το Java Virtual Machine εκτελεί byte-code instructions. Για να δούμε πώς περίπου μοιάζουν αυτές ορίστε ένα παράδειγμα. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + package koko; + + class javap_example { + + public static void main(String argv[]){ + int x=1; + x = 4 + magiko(x); + System.out.println(x); + }; + + public static int magiko(int n){ + return n+1; + }; + + } + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Περνώντας το παραπάνω πρόγραμμα απο τον Java disassembler (javap -c) παιρνουμε τα παρακατω: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Compiled from 1.java + synchronized class koko.javap_example extends java.lang.Object + /* ACC_SUPER bit set */ + { + public static void main(java.lang.String[]); + public static int magiko(int); + koko.javap_example(); + } + + Method void main(java.lang.String[]) + 0 iconst_1 # Κάθε γραμμή περιλαμβάνει και απο μια instruction + 1 istore_1 + 2 iconst_4 + 3 iload_1 + 4 invokestatic #6 + 7 iadd + 8 istore_1 + 9 getstatic #7 + 12 iload_1 + 13 invokevirtual #8 + 16 return + + Method int magiko(int) + 0 iload_0 + 1 iconst_1 + 2 iadd + 3 ireturn + + Method koko.javap_example() + 0 aload_0 + 1 invokespecial #5 + 4 return + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Για περισσότερες πληροφορίες για την αρχιτεκτονική των Virtual Machines και τον ρόλο κάθε μιας απο τις instructions κοιτάξτε το Java Virtual Machine (των Meyer +& Downing). + +[]{#part2a} Προσέξτε πώς η class MyFrame κάνει implement τα interfaces ActionListener kai WindowListener. Σε όσες functions των interfaces δεν θέλouμε να +γράψουμε κώδικα (π.χ. windowClosed) τις αφήνουμε κενές. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + import java.awt.*; + import java.awt.event.*; + + class MyFrame extends Frame implements ActionListener,WindowListener + { + Button bOK,bCan; + public MyFrame(){super("MyFrame"); setup(); setVisible(true);} + public void setup() + { + add(bOK=new Button("OK"),"West"); + add(bCan=new Button("Cancel"),"East"); + bOK.addActionListener(this); + bCan.addActionListener(this); + addWindowListener(this); + pack(); + } + public void actionPerformed(ActionEvent e) + { + Object o = e.getSource(); + if (o==bOK) System.out.println("OK"); + else if (o==bCan) System.out.println("Cancel"); + } + public void windowOpened(WindowEvent e){} + public void windowClosing(WindowEvent e){System.exit(0);} + public void windowClosed(WindowEvent e){} + public void windowIconified(WindowEvent e){} + public void windowDeiconified(WindowEvent e){} + public void windowActivated(WindowEvent e){} + public void windowDeactivated(WindowEvent e){} + } + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +[]{#part2b} Ένας απλός echoserver με threads σε java. + +Δημιουργήστε ένα directory \"echo\" κάτω από το \$CLASSPATH και δώστε + + javac echoserver.java + java echo.EchoServer & + java echo.Client + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + package echo; + + import java.util.*; + import java.net.*; + import java.io.*; + + + class EchoServer + { + ServerSocket serverSocket=null; + public EchoServer() + { + try {serverSocket = new ServerSocket(5555);} + catch (IOException ex) {System.err.println(ex); System.exit(1);} + } + + public void run() + { + boolean listening = true; + while (listening) + { + Socket clientSocket = null; + try + { + clientSocket = serverSocket.accept(); + new ServerThread(clientSocket).start(); + } + catch (IOException ex){System.err.println(ex);} + } + try {serverSocket.close();} + catch (IOException ex) {System.err.println(ex);} + } + + public static void main(String[] args) {new EchoServer().run();} + } + + class ServerThread extends Thread + { + Socket socket; + BufferedReader br; + PrintWriter pw; + ServerThread(Socket soc) + { + super("ServerThread"); + try + { + socket = soc; + br = new BufferedReader(new InputStreamReader(soc.getInputStream())); + pw = new PrintWriter(soc.getOutputStream()); + } + catch(Exception ex){System.err.println(ex);} + } + public void run() + { + try + { + boolean listening = true; + while (listening) + { + String inputLine = br.readLine(); + pw.println("echo: "+inputLine); + pw.flush(); + } + pw.close(); + br.close(); + socket.close(); + } + catch (IOException e) {e.printStackTrace();} + } + } + + class Client extends Thread + { + PrintWriter os; + BufferedReader is,stdin; + Client(Socket soc) throws IOException + { + os = new PrintWriter(soc.getOutputStream()); + is = new BufferedReader(new InputStreamReader(soc.getInputStream())); + stdin = new BufferedReader(new InputStreamReader(System.in)); + } + + public void run() + { + boolean talking = true; + while (talking) + { + try + { + String s = stdin.readLine(); + os.println(s); + os.flush(); + String s1 = is.readLine(); + System.out.println(s1); + } + catch(Exception ex){System.err.println(ex);} + } + } + public static void main(String[] argv) + { + try + { + Socket soc = new Socket("localhost",5555); + new Client(soc).start(); + } + catch(Exception ex){System.err.println(ex); System.exit(1);} + } + } + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +[]{#part2c} + +Προσέξτε πως παρακάμπτουμε το print method της Χ στην Α + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + class X + { + public int x; + public X(int x1){x=x1;} + public void print(){System.out.println(""+x);} + } + + class A + { + X myXInstance = new X(4){public void print(){System.out.println("x="+x);}} + ... + } + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +[]{#part2d} Αν σας ενδιαφέρει ένα μικρό παράδειγμα του τί μπορεί να καταφέρει το RMI, στείλτε μου ένα mail στην διεύθυνση: για να σας +στείλω ενα παιχνιδάκι :) γραμμένο σε Java. + +[]{#part4a} + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Java Tools for Linux + + [extracted from www.blackdown.org] + + Java 1.1 compatible Web Browsers + * Netscape Communicator v4.06 and 4.5Beta + These versions of the netscape communicator support the JDK 1.1, + including Swing. Both are available at Netscape JDK1.1 Update + Support. + * HotJava(tm) 1.1.4 + HotJava web browser is written entirely in Java. You can get more + information about it at HotJava(tm) Browser Page. + + IDE's + * NetBeans Developer (commercial) + NetBeans Developer cross-platform, full-featured IDE that combines + support for all stages of application development including visual + GUI design, editing, compilation, and debugging - an industrial + strength yet intuitive development tool for development tool for + developers at all levels. A version for Java 2 is now available + for use so you can start using Java 2 on Linux as soon as the port + is available. In addition, NetBeans features: + + Sophisticated support for Swing and layout managers, allowing + quick and flexible design of highly functional GUIs. + + JavaBeans based architecture, making it highly extensible and + customizable, down to every item on the menus and toolbars. + + A consistent approach to all object types (configuration + objects, various data types, classes and their + fields/methods, beans, etc.), simplifying the learning curve + for NetBeans. + + Integrated, visual multi-threaded debugger with support for + breakpoints, watches, locales, and threads + + Source Editor with syntax coloring and advanced features like + dynamic word completion + A non-commercial version is available for free from NetBeans. + * Simplicity for Java (commercial / free trial version) + Simplicity for Java is the most powerful RAD tool available on the + Linux platform for creating Java applications and applets. By + using the Simplicity for Java IDE, developers build Java software + interactively through a visual model which is instantaneously + updated to reflect any changes made to the program's source code + without compiling. Its features include: + + Execution of Java source code on-the-fly + + Full support of all AWT and Swing Components and Layout + Managers + + Code Sourcerer writes Java statements for you + + Full JavaBeans support + + Powerful Programmer's Editor features: + + Method lookup and autocompletion via introspection + + Search and replace using Perl5 regular expressions + + Color syntax highlighting + + Printing in full color + + Unlimited undo/redo + * Cross-platform development and file formats + * All generated code is pure Java (no proprietary libraries). + * Uses any Java classes on your classpath including jar and zip + files + * Use JDK 1.1 or 1.2 (Java 2) + * View signature, methods, and fields of any class + * Double click compiler error messages to jump directly to code + * Year 2000 Compliant + + A free trial of the new version 1.1 is available from Data + Representations, Inc. + + CodeGuide (commercial / free non-commercial edition) + CodeGuide is the first IDE which really understands Java. It offers a + vast assortment of powerful programming aids: + * COMPLETE and INSTANTANEOUS error detection to show you errors as + you type. + * Prefix completion of field accesses and method invocations which + works just like the file-completion in the UNIX bash. + * Display of valid methods and fields in the code. + * Display of expected method parameters. + * Source browsing to navigate quickly within your code. + + CodeGuide also features other advanced IDE functionality: + * External compiler integration. + * Connection to external VMs. + * Syntax highlighting. + * JDK switching. + * Full Java 2 support. + + A non-commercial edition is available for free from Omnicore Software. + + StructureBuilder (commercial) + Tendril Software's StructureBuilder products are innovative UML + model-based Java component and application development tools. They are + the only visualization tools to be tightly integrated into an IDE. + StructureBuilder can currently be integrated with NetBeans Developer + and VisualCafe 3. + * StructureBuilder has synchronized source code and Class Diagram. + It supports Sequence Diagrams and Use Case Diagrams. + * StructureBuilder is the only tool that will allow a developer to + generate code from interaction diagrams. + * StructureBuilder is the only tool in its class that can recognize + 1:Many relationships when reverse engineering. + * You can generate Javadoc tags automatically and create HTML + documentation of your object model with diagram imagemaps. + * StructureBuilder allows you to visually define, verify and + generate supporting code for JavaBeans and Enterprise JavaBeans as + well as parse, identify and extend existing components. + * The product contains a comprehensive and easy to use Open API. + * StructureBuilder is certified 100% Pure Java and is supported on + the Linux platform, as well as Windows and SPARC. + + Download an evaluation version at Tendril's website. + + AnyJ (freeware with professional commercial version) + AnyJ is a cross-platform, full-featured IDE that supports all kinds of + of java applications: Servlets, Applets, Applications. Includes a Java + Beans conform Visual GUI-Builder (Swing), Debugger, integrated Version + Control and a very powerful and fast Editor. + * GUI Builder: Full support of AWT and Swing Components, JavaBeans + support, Unlimited undo/redo + * Source Code Engineering: True Intelli*ense-like parser backed code + completion, class browsers & source analysis tools, "Goto + definition" for quick navigation. + * Editor: Autocompletion (uses source parsing or .jar/.class file + scaning), auto import, Unlimited undo/redo, + Syntax Coloring of Java, Html, XML, etc.. Jump to source from + compiler error messages or Stack traces + * integrated graphical debugger (multithreaded, remote debugging, + breakpoints in inner & anonymous classes) + * integrated GUI-based Version Control & Diff-viewer, + * Servlet support (Simply Compile & Run), + * Customizable Shortcuts, Menu's, Plugin Architecture to extend AnyJ + in Java, Dependency Checker to support deployment, Commandline + interface to integrate external tools and scripts. + * Supports JDK 1.1 or 1.2 (Java 2) (WinNT: + MS-SDK) + + The Linux release is freeware. Unrestricted non-commercial versions + for Solaris and WinNT are available for free from NetComputing. + + BlueJ (free) + BlueJ is an integrated Java environment specifically designed for + introductory teaching. It was developed at Monash University for the + purpose of teaching in a first-year course and is suitable for + teachers and individuals who want to learn or use Java. Some features: + * fully integrated environment + * graphical class structure display + * graphical and textual editing + * built-in editor, compiler, virtual machine, debugger, class + browser, etc. + * easy-to-use interface, ideal for beginners + * interactive object creation + * interactive object calls and testing + * incremental application development + + Class and dependancy visualisation helps to understand object-oriented + structures and interaction facilities support very flexible + experimentation and immediate feedback. + + JDesignerPro from BulletProof (commercial / free 90 day trial + version) + JDesignerPro is a complete solution for building and deploying your + intranet/internet/extranet applications that require database + connectivity. The visual wizards make development and deployment easy + even for those who have never programmed before. Some of the features + include: + * True WYSIWYG development - build and deploy client-side + applications + * Enterprise Server - build and deploy server-side applications + * Database connection pooling + * Completely Object Oriented Structure - Import any JavaBean or + other component + * Solid User Access Control system to allow deployment to just the + right endusers + * Instant deployment to remote servers + * SQL Wizard for adhoc querying + * Wizards for Forms, Grids, Reports, Charts, Email, Paging and more + * Clients run on Netscape 3.0 or IE 3.0 or later on any platform + * Integrated HelpDesk system for your endusers + * Build over the web - Application Builder can be run over the web + to allow remote development + * Manage server side processes over the web and monitor active + endusers + + BulletProof also offers free email support and paid phone support. + Download a free trial from the BulletProof website. + + Elixir IDE (commercial/free Lite version) + Elixir IDE is a slick, lightweight programmer's editor for + professional Java developers. It was developed on Linux in 100% Java + sporting the Swing interface. Its features include: + * Pluggable architecture supporting multiple compilers (JDK 1.1, + 1.2, Jikes), scripting engine (Scheme), and version control system + (RCS); + * Powerful editor with syntax colouring for Java, HTML, Scheme, + unlimited undo-redo and collapsible code blocks; + * Powerful editor with syntax colouring for Java, HTML, Scheme, + unlimited undo-redo and collapsible code blocks; + * File and source code browser and management environment scalable + for large team development; + * Integrated HTML browser for viewing help files such as Java APIs; + and + * Runs on all JDK 1.1 and 1.2 platforms including Linux, with Swing + user interface. + + A free Lite version with 10 Java file limit is available. + + LOREx2 for Java (commercial) + LOREx2 for Java is a Java-centric, UML-based CASE tool designed for + Java developers. Developed in 100% Java, LOREx2 runs on all JDK 1.1 + platforms including Linux. Its features include: + * Support for UML diagrams with intuitive diagramming features like + an intelligent connector that auto-detects valid connection types + between 2 objects; + * Support for Java keywords like synchronized and @deprecated; + * Java code generation; + * Reverse engineers Java applications to UML diagrams: + + view class interaction and object structure; + + perform impact analysis for system maintenance; and + + no source code needed. + * Support for Java plug-ins to allow tool extension and + customization by Java developers (the Java code generator is + itself one such plug-in); and + * A design repository browser with an object database underneath to + ensure full design and view integrity. + + Super Mojo (commercial) + Penumbra's page describes Super Mojo as a "visual Java development + environment, Super Mojo offers three primary advantages to the + developer: Rapid Application Development through ease of use and a + fresh approach to the user interface. Total Application Control + through complete access to all underlying code. Maximum Code Reuse by + pushing the limits of object oriented programming ideals." + + WipeOut (freeware with professional commercial version) + softwarebuero is developing Java IDE, WipeOut, for Linux. It's not + just a frontend for the JDK, it also fronts for CVS, make, C++ + compiler and GDB. It's features include: general support of C++ and + Java, revision management / team work support, fast, incremental + source code parser, central text editor with syntax highlighting, all + components are fully integrated, nice, productive GUI (no Motif + required!) and automatic generation of makefiles. It includes a + Project/Revision Browser, a Class Browser, a Debugger Front End, and a + Text Editor. For more information Visit the WipeOut Page or download + it here. + + JForge (Commercial) + JForge is a Java Beans GUI builder, certified 100% Pure Java by Sun + Microsystems. It provides a WYSIWYG style interface for creating AWT + and JFC based Java Beans or GUI forms, saving and loading of Beans as + Java code or serialized objects, full support for the standard Layout + Managers, a Menu Builder, pluggable user menus and customizable + interface, and a feature-rich API allowing even further customization + or integration with third-party tools. JForge is sold by Tek Tools, + makers of the popular Kawa Java IDE, and is available for a free 30 + day evaluation period for either JDK 1.1.x or JDK 1.2 development + environments on all Java-enabled platforms. + + Source Navigator (free "lite" version) + SN v4 is a complete ide for Java, c/c++, Tcl, Assembly, Fortran, and + COBOL. It has a Symbol Browser, Class Browsers, Class Hierarchy + Browser, Include Browser, Cross Referencer, GUI Editor, Diff Tool, + Debugger Interface, SDK with APIs. Get your lite version while you buy + a copy for me at the Cygnus Source Navigator site. + + JACOB - The Java Commando Base for Emacs (free) + Jacob is a Java class browser and project manager for Emacs and + includes a powerful class wizard. Unlike traditional browsers the + windows are vertically aligned and the full vertical screen size is + still reserved for editing. Height of browser lists (packages, + classes, methods) can be dynamically changed. Now you can spend all + the screen real estate for your methods or classes, just as you like + it. Additionally Jacob generates a makefile to compile, run, and/or + archive (with zip and rcs) your application. JACOB can be found at + http://home.pages.de/~kclee/clemens/jacob/. + + Emacs JDE (free) + The JDE Hompage explain JDE as "an Emacs Lisp package that provides a + highly configurable Emacs wrapper for command-line Java development + tools, such as those provided in JavaSoft's JDK. The JDE provides menu + access to a Java compiler, debugger, and API doc. The Emacs/JDE + combination adds features typically missing from command-line tools, + including: syntax coloring, auto indentation, compile error to source + links, source-level debugging, source code browsing." + + Visaj (commercial) + Visaj is a rapid visual application builder for Java written + completely in Java. It fully supports JavaBeans and the Java 2 + Platform. Visaj enhances developers' productivity by providing a + point-and-click environment and advanced layout editors for rapidly + building pure Java applications. + + The rapidity and flexibility inherent in the builder shortens + development times significantly. Its many features, which include an + image editor, resource bundle constructor and live event wiring, means + even the most sophisticated of designs can be put together with ease. + + Its full support for Swing brings the power of Sun's rich Java + Foundation Classes to all Java developers and allows developers to + reuse third-party or in-house components with ease. + + Visaj and applications built with it are fully compliant with the Sun + Microsystems Java Developer's Kit v. 1.1 and JavaBeans, and will run + on ANY Java platform. + + Free evaluation copies are available for download from Imperial + Software Technology. + + Sun's Java WorkShop(tm) v2.0 (commercial/trial) + If you have the commercial or trial version, grab the patch for linux + at ftp://ftp.suse.com/pub/SuSE-Linux/suse_update/JWS2.0/. For the + trial version essentially do everything it asks except inserting the + CD. And also erase that huge JDK directory and replacing it with a + soft link to your jdk (but you shouldn't even have to do that). SuSE + distributes it commercially as well. + + Instant Basic(tm) for Java(tm) (commercial) + Instant Basic for Java (IB4J) is the first and only 100% Pure Java(tm) + certified fourth-generation language (4GL) tool. It offers an + Integrated Development Environment similar to Microsoft(R) Visual + Basic(R) that enables developers to create new Java-based applets and + applications. IB4J provides easy migration of existing Visual Basic + applications to the Java platform. Available in both a Standard and + Professional Edition. + + Sun's JavaStudio(tm) v1.0 (commercial/trial) + If you have the trial version you need to do a few funky things. You + will need the Solaris SPARC distribution and the jws.zip file from the + win32 distribution. Yes that means you must have access to an + installed trail version of JavaStudio on Windows. + * Replace Java-Studio1.0/JDK with a link to /usr/local/java or where + the JDK resides + * Remove the contents of Java-Studio1.0/JS/classes + * Inside Java-Studio1.0/JS/classes, unzip the jws zipfile + * cd to Java-Studio1.0/JS/sparc-S2/bin and apply js-linux.diff + * ./js + + FreeBuilder (free) + Still new but the next release looks VERY promising. Visit the + FreeBuilder Homepage. JIT's + * The TYA Just In Time Compiler + TYA is a ``100% inofficial'' JIT-compiler original designed as an + add-on to Randy Chapman's port of JDK 1.0.2 for Linux (x86). Later + I have added some changes in TYA code for working together with + the newer 1.1.x ports by Steve Byrne. TYA is current is a very + stable and usuable development stage. Expect to double the speed + of your java applications. You can download it from the TYA ftp + site . + * Metrowerks JIT for PowerPC + This is freely available from Kevin Buettner and Metrowerks, + thanks guys. Visit the Java for Linux on the PowerPC for more + information and to download it. + * CACAO JIT for Alpha + CACAO is 64 bit just-in-time (JIT) compiler for Java. It + translates Java byte code on demand into native code for the ALPHA + processor. The current version CACAO 0.1 supports the Alpha + processor under Linux and Digital Unix. It can be used with the + class library of the JDK 1.0.2. CACAO version 0.1 does not support + AWT, it only supports java/lang, java/io and java/util. + + Java Virtual Machines + * Sun's Java Virtual Machines + The most common is the Java Development Kit (JDK) ports to various + architectures is available at the Ports Page. Sun also has a Java + Runtime Environment (JRE). It includes a Java runtime interpreter + and all required libraries. The JRE does not include appletviewer + or compilers. The JRE is also available at the Ports Page. + * Japhar + Japhar is the Hungry Programer's Java VM. It has been built from + the ground up without consulting Sun's sources. Visit the Japhar + Homepage for more information. Downloads of the distribution are + available at: ftp://ftp.hungry.com/pub/hungry/japhar. + * Kaffe + The Kaffe Homepage says, "Kaffe is a virtual machine design to + execute Java bytecode. Unlike other virtual machines available, + this machine performs "just-in-time" code conversion from the + abstract code to the host machine's native code. This will + ultimately allow execution of Java code at the same speed as + standard compiled code but while maintaining the advantages and + flexibility of code independence. You can download Kaffe at + ftp://ftp.kaffe.org/pub/kaffe/ . + * TowerJ + TowerJ is a native Java deployment compiler and runtime + environment. It allows for the creation of optimized self + contained executables from Java bytecode for improved application + performance, manageability and security. + + Translators to Java + * Toba: A Java-to-C Translator + Toba translates Java class files into C source code. This allows + the construction of directly executable programs that avoid the + overhead of interpretation. Toba deals with stand-alone + applications, not applets, and currently support the 1.1 JDK. + * Harissa + Harissa is a Java environment that includes a compiler from Java + bytecode to C and a Java interpreter. While Harissa is aimed at + applications that are statically configured, such as the Javac + compiler, it is also designed to allow code to be dynamically + loaded in an already compiled application. This novel feature is + introduced by integrating our bytecode interpreter in the runtime + library. Data structures are compatible between the Java compiled + code and the interpreter, and data allocated by the interpreter + does not conflict with data allocated by the compiled code. + Harissa is written in C and provides an efficient and flexible + solution for the execution of Java applications. + + Compilers + * Jikes + Jikes is a fast, incremental Java byte-code compiler developed by + IBM Research. + + Decompilers + * JAD-- the fast JAva Decompiler + The JAD Page says, "Jad is a Java decompiler, i.e. program that + reads one or more Java class files and converts them into Java + source files which can be compiled again. Jad is 100% pure C++ + program and it generally works several times faster than + decompilers written in Java. Also Jad doesn't use the Java runtime + for its functioning, therefore no special setup (like changes to + CLASSPATH variable) is required." + + Other + * JStyle (free) + JStyle is a family of Java source-code styling filters, written + purely in Java. It includes JSBeautifier - a reindentation filter, + and JSFormatter - a full reformation filter. + * Instant Installer(tm) + 100% Pure Java(tm) certified Installer for developers who want to + produce a universal installer that will run on all the Java + platforms. Available from Halcyon Software. + * Instant Converter(tm) + 100% Pure Java(tm) converter. Immediate VB to Java Source Code + conversion. Available from Halcyon Software. + * YACC and Lex for Java + Modern Compiler Implementation in Java offers JLex (a lexical + analyzer generator) and CUP (a parser generator) written in Java. + * Free Tools for Java + The Free Tools for Java Page contains an Java Obfuscator, Java + based Installer, Java Assembler and more. + * Packages and Non-development Tools + Some leads are under Other Products. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + diff --git a/content/articles/18/01_editorial.md b/content/articles/18/01_editorial.md new file mode 100644 index 0000000..fbd7689 --- /dev/null +++ b/content/articles/18/01_editorial.md @@ -0,0 +1,79 @@ ++++ +title = 'Editorial' +date = '1999-10-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης(mailto:kabrianis@hellug.gr)' +issue = ['Magaz 18'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Καλώς ορίσατε στο αλλαγμένο **Magaz**\...* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Το σκεφτόμασταν πολύ καιρό, αλλά δεν είχαμε χρόνο να διαθέσουμε\.... Θέλαμε κάτι να αλλάξουμε, να δείξουμε διαφορετικοί, και να είμαστε διαφορετικοί (μόνο να +δείχνεις δεν έχει νόημα). Ευτυχώς ξεφορτωθήκαμε τα (τις περισσότερες φορές ατσούμπαλα) εικονάκια που ήμουν υποχρεωμένος να διαλέγω για να ταιριάξουν με τα +άρθρα.\ +Ας τα πιάσουμε όμως με τη σειρά: + +1. **Τι είχαμε μέχρι τώρα\...** + + Μέχρι το προηγούμενο τεύχος, είχαμε τα άρθρα (σε μορφή sgml) και δημιουργούσαμε ένα αρχείο, διαφορετικό για κάθε τεύχος, τo nif-file το οποίο περιείχε links + για κάθε άρθρο του τεύχους, με τα αντίστοιχα εικονάκια (η αριστερή κίτρινη μπάρα στην παλιά μορφή). Το sgml αρχείο μετατρεπόταν σε html με τα sgmltools + (τροποποιημένη έκδοση από τον [Παναγιώτη Βρυώνη](mailto:vrypan@hellug.gr), για τη μορφή του Magaz) και \"ενωνόταν\" με το nif-file. Παράλληλα, φτιάχναμε και + το index.html για κάθε τεύχος (πάλι με links και εικονάκια). Αν αυτή η διαδικασία σας φαίνεται εύκολη, να σας πληροφορήσω ότι γελιόσαστε :-) Τέλος, + φτιαχνόταν και η αρχική σελίδα προσθέτοντας απλά ένα ακόμα τεύχος στο Javascript και τα links. + +2. **Τι αλλάξαμε\...** + - *Νέα μορφή σελίδων*\ + Αυτοματοποίησαμε με κάποιο script την δημιουργία του nif-file, και με κάποιο άλλο την δημιουργία του index.html για κάθε τεύχος. Πλέον, τα sgml μόνο + αρκούν για να δημιουργηθεί το τεύχος. + - *Νέα εικονάκια*\ + Πλέον έχουμε αυτά τα ωραία εικονάκια που βλέπετε στην κορυφή (αλλά και τα νέα βελάκια καθοδήγησης) τα οποία εκτός από καλαίσθητα, είναι πιστεύουμε και + πολύ κατατοπιστικά σχετικά με τις \"εργασίες\" που επιτελούν. + - *Πληροφοριακά στοιχεία* + - Με τα νέα scripts, δημιουργείται επίσης αυτόματα, ένα αρχείο - εικόνα του περιοδικού, με αναφορά σε όλα τα τεύχη που έχουν \"εκδοθεί\" και links για + το κάθε άρθρο. + - Η λίστα Ελλήνων χρηστών Linux, επίσης θα δημιουργείται πλέον σχεδόν αυτόματα, χάρη σε ένα ακόμα script (η δημιουργία της ήταν ήδη + ημι-αυτοματοποιημένη). Η πλήρης αυτοματοποίησή της αποκλείεται, γιατί αρκετοί ακόμα γράφουν τα στοιχεία τους με λατινικούς χαρακτήρες. + - Προστέθηκε σελίδα για δημοσκοπήσεις (μπορείτε να δείτε αμέσως και τα αποτελέσματα φυσικά) + - Εφόσον δεν έχουμε χρόνο για δημιουργία FAQ, δώσαμε πλέον τη δυνατότητα αναζήτησης στα άρθρα του περιοδικού, και στην (πάλαι ποτέ πασίγνωστη) στήλη + της αλληλογραφίας. + - Έχει επίσης προστεθεί σελίδα με παρουσίαση των συντακτών - αρθρογράφων του Magaz. Οποιοσδήποτε έχει γράψει άρθρο για το Μagaz θα εμφανίζεται (αν + θέλει) εκεί. + - *Αλλαγές δομής\...* + - Εικονάκια\ + Πλέον δεν βρίσκονται όλα τα εικονάκια σε ένα directory, αλλά το κάθε τεύχος έχει το αντίστοιχο δικό του directory. Έτσι το download κάθε τεύχους + αποκλείεται να είναι λάθος (σε αυτό βοηθάει και άλλο ένα script αυτόματης δημιουργίας του αρχείου που προσφέρεται για download). Τα gif images + αποσύρθηκαν, και πλέον χρησιμοποιούμε παντού μόνο png. Τα μόνα gif που υπάρχουν τώρα πια είναι δύο animated. Και αυτό, επειδή οι σημερινοί browsers + δεν υποστηρίζουν animated png. Μόλις βγουν σωστές εκδόσεις, θα τα γυρίσουμε και αυτά. + - Links\ + Όλα εκείνα τα εικονάκια που υπήρχαν στην παλιά πρώτη σελίδα, έχουν τώρα το δικό τους σπίτι. Μία ξεχωριστή σελίδα με επιλεγμένα links είναι άμεσα + διαθέσιμη. + +3. **Τι κερδίζετε\...** + + Κερδίζετε ένα πιο όμορφο (πιστεύουμε) περιοδικό, πιο ευανάγνωστο. Κερδίζετε τη δυνατότητα αναζήτησης. Κερδίζετε μία γρήγορη ματιά σε όλη την ιστορία (και τα + άρθρα) του περιοδικού. Κερδίζετε το ότι μπορείτε πλέον να δείτε αυτούς που σας \"μιλάνε\". Κερδίζετε διασημότητα (αν γράψετε άρθρο) :-) Κερδίζετε πιο εύκολη + περιήγηση στο περιοδικό. Κερδίζετε ενημέρωση για συγκεκριμένα θέματα (δημοσκοπήσεις). Ε\... δεν φτάνουν; + +4. **Τι κερδίζουμε\...** + + Κεδίζουμε χρόνο (με τις πολλές αυτοματοποιήσεις), κερδίζουμε σε υστεροφημία, κερδίζουμε σε ικανοποίηση ότι παράγουμε κάτι όμορφο (εκτός από χρήσιμο, όπως + έχει ήδη αποδειχτεί). Κερδίζουμε γνώσεις (με όλες αυτές τις εργασίες που έπρεπε να γίνουν). + +5. **Ποιος έκανε τι\...** + - O [Παναγιώτης Βρυώνης](mailto:vrypan@hellug.gr) ανέλαβε το βάρος του συντονισμού και της περισσότερης δουλειάς για τη νέα εμφάνιση. Δικά του είναι τα + scripts που δημιουργούν το nif-file, το index.html, το contents-short.html και τέλος παράγουν τα html αρχεία του κάθε τεύχους (με τα ήδη δημιουργημένα + nif-files). Δική του ήταν η σύλληψη της νέας μορφής, και η ιδέα της σελίδας πληροφοριών για τους αρθρογράφους (info.html). + - Η [Άννα Βρυώνη](mailto:vryanna@hotmail.com), γραφίστρια, μας έφτιαξε τα πολύ όμορφα εικονάκια που βλέπετε. Η κοπέλλα έφτιαξε πάρα πολλά εικονάκια μέχρι + να καταλήξουμε στο ποια θέλουμε, και γι\' αυτό την ευχαριστούμε. + - Ο [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) έγραψε τα scripts για το σύστημα δημοσκοπήσεων (ψηφοφορίας και δημιουργίας αποτελεσμάτων) και τα + αντίστοιχα για την καταχώρηση χρηστών στην περιβόητη λίστα. Έφτιαξε το σύστημα αναζήτησης για το Μagaz και μετέτρεψε κατάλληλα τον κώδικα ούτως ώστε να + βλέπουμε ελληνικά (τόσο στα πεδία επιλογών στις αναζητήσεις, όσο και στα αποτελέσματα των δημοσκοπήσεων). + +Ελπίζουμε με όλα αυτά να έχουμε ικανοποιήσει και τον πιο απαιτητικό αναγνώστη του περιοδικού από άποψης εμφάνισης και features. Από άποψης ύλης ούτως ή άλλως +δεν είχαμε πρόβλημα :-) + +Σας ευχόμαστε καλή ανάγνωση\.... diff --git a/content/articles/18/02_infohellug99.md b/content/articles/18/02_infohellug99.md new file mode 100644 index 0000000..6363eac --- /dev/null +++ b/content/articles/18/02_infohellug99.md @@ -0,0 +1,66 @@ ++++ +title = 'Ο Hellug στην Infosystem 99' +date = '1999-10-01T00:00:00Z' +description = '' +author = 'HEL.L.U.G.(mailto:info@hellug.gr)' +issue = ['Magaz 18'] +issue_weight = 2 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Ο Hellug στην Infosystem 99* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**[]{#greek} Ελληνικά** + +![](/18/img/logo.png) + +(press [here](#english) to see the english text) + +Ο Hellug, ο Ελληνικός Σύλλογος Φίλων του Linux, πρόκειται να συμμετάσχει στην έκθεση Infosystem 99, στη Θεσσαλονίκη, από την Πέμπτη, 7 μέχρι την Κυριακή, 10  +Οκτωβρίου 1999. Η Infosystem είναι η πιο σημαντική έκθεση πληροφορικής στην Ελλάδα και διοργανώνεται με επιτυχία τα τελευταία 13 χρόνια στα πλαίσια της Διεθνούς +Έκθεσης Θεσσαλονίκης. + +Στο περίπτερο του Hellug θα + +- παρουσιαστεί το ταχύτατα αναπτυσσόμενο λειτουργικό σύστημα που ξεκίνησε από μια μικρή ομάδα προγραμματιστών για να το αγκαλιάσουν οι χρήστες υπολογιστών από + όλο τον κόσμο +- υπάρχουν μηχανήματα στα οποία θα τρέχουν εφαρμογές για διακομιστές, σταθμούς εργασίας, και προσωπικούς υπολογιστές +- εκτεθούν η σταθερότητα και η ευελιξία του Linux σε ανθρώπους που δεν έχουν μεγάλη εμπειρία με αυτό +- απαντηθούν απορίες νέων χρηστών για την εγκατάσταση και τη χρήση του Linux από μέλη του Hellug +- παρουσιαστούν οι δυνατότητες του Linux σε διάφορα περιβάλλοντα, από το σχολείο μέχρι την επιχείρηση +- συμμετάσχουν εταιρίες που προωθούν προϊόντα σχετικά με το Linux στην Ελλάδα +- διανεμηθούν CDs με διανομές του λειτουργικού (Red Hat, Suse κλπ), αφίσσες, φυλάδια, και γενικώς υλικό που βοηθά στην εξάπλωση του Linux +- δοθεί ευκαιρία σε παλιούς και νέους χρήστες του Linux να έρθουν σε προσωπική επαφή και να ανταλλάξουν απόψεις για το αγαπημένο τους λειτουργικό + +Καλούμε όλους τους φίλους του Linux αλλά και όλους όσοι ασχολούνται με την πληροφορική να επισκεφτούν το Περίπτερο 15, Stand 12, (καθημερινά 12.00 - 21.00, +Σαββατοκύριακο 11.00 - 22.00) για να γνωριστούμε, να συζητήσουμε, να περάσουμε καλά, για να δοθεί νέα ώθηση στη διάδοση του ελεύθερου λογισμικού στην Ελλάδα. + +Για περισσότερες πληροφορίες, επισκεφτείτε τη σελίδα του Hellug, . + +**[]{#english} English** + +![](/18/img/logo.png) + +(πατήστε [εδώ](#greek) για να δείτε το ελληνικό κείμενο) + +Hellug, the Hellenic Linux Users Group, will be one of the exhibitors in the Infosystem 99 expo, in the city of Thessaloniki, Greece, from Thursday 7 to Monday +10 October 1999. Infosystem is the most important information technology show in Greece and has been organised with success for the past 13 years in the +premises of the International Trade Fair of Thessaloniki. + +In Hellug\'s stand, we will + +- present the rapidly growing operating system that began as a project of a few programmers and was adopted by millions of computer users around the world +- setup computers running applications for servers, workstations and PCs +- explain the robustness and flexibility of Linux to people who are not familiar with it +- answer new users\' questions on installing and using Linux +- elaborate on the potential use of Linux in different contexts, ranging from the academic to the corporate environment +- introduce companies that promote Linux oriented software in Greece +- give away CDs with distributions of the OS (Red Hat, Suse, etc.), posters, leaflets, and, generally, material that will help make Linux more popular +- give the chance to old and new users to meet each other and exchange views on their favorite OS + +We invite all Linux fans, as well as everyone who is interested in information technology, to visit Pavilion 15, Stand 12 (12.00 - 21.00 weekdays, 11.00 - 22.00 +during the weekend) so that we know each other better, discuss, have fun, and give fresh impetus to the dissemination of the Free Software philosophy in Greece. + +For more information, visit Hellug\'s site diff --git a/content/articles/18/03_sysrq.md b/content/articles/18/03_sysrq.md new file mode 100644 index 0000000..63ea027 --- /dev/null +++ b/content/articles/18/03_sysrq.md @@ -0,0 +1,86 @@ ++++ +title = 'Τεκμηρίωση για το μαγικό πλήκτρο SysRq, v 1.2' +date = '1999-10-01T00:00:00Z' +description = '' +author = 'Myrdaal(mailto:jackalz@dyn.ml.org) Μετάφραση: Θέμης Παπασσιλέκας(mailto:panzerjager@netscape.net)' +issue = ['Magaz 18'] +issue_weight = 3 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το κείμενο αυτό το έγραψε ο Μyrdaal, και αποτελεί την τεκμηρίωση του Μagic SysRQ key που έρχεται ως επιλογή στους πυρήνες της σειράς 2.2.χ* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +1. **Τί είναι το μαγικό πλήκτρο SysRQ;** + + Είναι ένας \'μαγικός\' συνδυασμός πλήκτρων στον οποίο ο πυρήνας θα ανταποκριθεί, ανεξαρτήτως του τί άλλο κάνει εκείνη τη στιγμή, εκτός κι αν είναι τελείως + κολλημένος. + +2. **Πώς ενεργοποιώ το μαγικό πλήκτρο SysRQ;** + + Χρειάζεται να απαντήσετε ΝΑΙ στο \"Magic SysRQ key (CONFIG\_MAGIC\_SYSRQ)\" όταν καθορίζετε τις ρυθμίσεις του πυρήνα. Αυτή η επιλογή υποστηρίζεται μόνο από + τον πυρήνα 2.1.x και πάνω. + +3. **Πώς χρησιμοποιώ το μαγικό πλήκτρο SysRQ;** + - Στους x86: + + Πατάτε τον συνδυασμό \'ALT-SysRQ-\<πλήκτρο εντολής\>\'.Σημείωση: Μερικά (παλαιότερα;) πληκτρολόγια μπορεί να μην έχουν πλήκτρο SysRQ. Το πλήκτρο SysRQ + είναι επίσης γνωστό ώς το πλήκτρο Print Screen. + + - Σε SPARC: + + Πατάτε \'ALT-STOP-\<πλήκτρο εντολής\>\', πιστεύω, + + - Σε άλλους: + + Εάν γνωρίζετε συνδυασμούς για άλλες αρχιτεκτονικές, παρακαλώ να μου τις γνωστοποιήσετε προκειμένου να τους προσθέσω εδώ. + +4. **Τί είναι τα πλήκτρα \'εντολών\';** + - \'r\': Κλείνει την \'καθαρή\' κατάσταση (raw mode) του πληκτρολογίου και το θέτει σε XLATE. + - \'k\': Κλείνει όλα τα προγράμματα στην τρέχουσα κονσόλα. + - \'b\': Επανεκκινεί αμέσως το σύστημα χωρίς να συγχρονίζει (sync) ή να απενεργοποιεί (unmount) τους δίσκους. + - \'ο\': Σβήνει το σύστημα μέσω του APM (εάν υποστηρίζεται κι έχει ρυθμιστεί). + - \'s\': Προσπαθεί να συχρονίσει όλα τα ενεργοποιημένα συστήματα αρχείων. + - \'u\': Προσπαθεί να επανενεργοποιήσει (remount) όλα τα ενεργοποιημένα συστήματα αρχείων σε μόνο-ανάγνωση (ro). + - \'p\': Τυπώνει τους τρέχοντες καταχωρητές και δείκτες (flags) στην κονσόλα. + - \'t\': Τυπώνει μία λίστα τρεχουσών προγραμμάτων και τις πληροφορίες τους στην κονσόλα. + - \'m\': Τυπώνει την τρέχουσα μνήμη στην κονσόλα. + - \'0\'-\'9\': Ρυθμίζει το επίπεδο ενημέρωσης του αρχείου λειτουργίας (log), ελέγχοντας ποια μηνύματα του πυρήνα θα τυπώνονται στην οθόνη (το \'0\', για + παράδειγμα θα επέτρεπε να τυπωθούν μόνο επείγοντα μηνύματα, όπως τα PANICs και τα OOPSes). + - \'e\': Στέλνει ένα SIGTERM σε όλες τις διεργασίες (processes), εκτός της init. + - \'i\': Στέλνει ένα SIGKILL σε όλες τις διεργασίες, εκτός της init. + - \'l\': Στέλνει ένα SIGKILL σε όλες τις διεργασίες, ΣΥΜΠΕΡΙΛΑΜΒΑΝΟΜΕΝΗΣ της init (το σύστημα δεν θα είναι πια λειτουργικό μετά από αυτό). + +5. **Εντάξει, και σε τί μπορώ να τους χρησιμοποιήσω;** + + Βασικά, το un\'R\'aw είναι πολύ χρήσιμο όταν ο X Server ή ένα πρόγραμμα svgalib κρασάρει.\ + To sa\'K\' (system attention key - πλήκτρο προσοχής συστήματος) είναι χρήσιμο όταν θέλετε να κλείσετε ένα πρόγραμμα που δεν επιτρέπει αλλαγή κονσόλας (για + παράδειγμα, τα X ή ένα πρόγραμμα svgalib).\ + Tο re\'B\'oot είναι χρήσιμο όταν δεν γίνεται να κλείσει το σύστημα. Αλλά θα πρέπει να κάνετε επίσης \'S\'ync και \'U\'mount πρώτα.\ + Το \'S\'ync είναι σπουδαίο όταν το σύστημα έχει κολλήσει, επιτρέπει να συγχρονίσετε τους δίσκους και σίγουρα μειώνει την πιθανότητα απώλειας δεδομένων και + του fsck. Σημειώστε ότι ο συγχρονισμός δεν έχει γίνει μέχρι να δείτε το μήνυμα \'ΟΚ\' και \'DONE\' στην οθόνη σας (εάν ο πυρήνας πραγματικά αγκομαχάει, + μπορεί να μην τα δείτε ούτε και αυτά\...).\ + Το \'U\'mount είναι βασικά χρήσιμο όπως και το \'S\'ync. Γενικά κάνω \'S\'ync\', \'U\'mount και μετά \'R\'eboot όταν το σύστημά μου κολλάει. Με έχει σώσει + από πολλά fsck. Και πάλι, το unmount (remount read-only) δεν έχει γίνει μέχρι να δείτε τα μηνύματα \'ΟΚ\" και \'Done\' στην οθόνη σας.\ + Το επίπεδο καταγραφής (\'0\'-\'9\') είναι χρήσιμο όταν η κονσόλα σας γεμίζει με μηνύματα του πυρήνα που δεν θέλετε να δείτε. Το \'0\' θα τα περιορίσει στα + πλέον επείγοντα (θα συνεχίσουν να καταγράφονται, πάντως, εάν οι syslogd/klogd είναι ενεργοί).\ + Τα t\'E\'rm και k\'I\'ll είναι χρήσιμα όταν έχετε κάποια διεργασία που δεν ανταποκρίνεται και δεν μπορείτε να κλείσετε με άλλον τρόπο, ιδίως όταν παράγει + (spawn) άλλες διεργασίες. + +6. **Μερικές φορές το SysRQ μοιάζει να κολλάει κατά τη χρήση, τί να κάνω;** + + Αυτό συμβαίνει και σε μένα. Έχω βρεί ότι πατώντας shift, alt και ctrl και στις δύο πλευρές του πληκτρολογίου, και μετά πατώντας έναν αυθαίρετο συνδυασμό + SysRQ (πχ, alt-SysRQ-z) μπορεί να διορθώσει το πρόβλημα. Αλλάζοντας σε άλλη κονσόλα (Alt+Fn) και μετά πάλι πίσω επίσης βοηθάει. + +7. **Πατάω SysRQ, αλλά τίποτα δεν συμβαίνει, τί πάει στραβά;** + + Υπάρχουν μερικά πληκτρολόγια που δεν υποστηρίζουν το \'SysRQ\', μπορείτε να δοκιμάσετε να τρέξετε \'showkey -s\' και να πατήσετε το SysRQ για να δείτε εάν + επιστρέφει κάποιον κώδικα 0x54. Εάν δεν το κάνει, μπορείτε να ορίσετε το SysRQ σε κάποιο άλλο πλήκτρο. Βρείτε τους κώδικες με το showkey και αλλάξτε τον + ορισμό \'\#define SYSRQ\_KEY 0x54\' στο \[/usr/src/linux/\]include/asm/keyboard.h στον κώδικα του πλήκτρου που θέλετε να χρησιμοποιείστε, μετά ξαναχτίστε + τον πυρήνα. Παρεπιπτόντως, για να βγείτε από το showkey, μην πατήσετε τίποτα για δέκα δευτερόλεπτα. + +8. **Έχω κι άλλες ερωτήσεις, ποιον να ρωτήσω;** + + Μπορείτε να μου στείλετε email στο [mailto:mydraal\@deathsdoor.com](mailto:mydraal@deathsdoor.com), και θα απαντήσω το συντομότερο δυνατόν. Εάν αυτή η + διεύθυνση δεν λειτουργεί, δοκιμάστε στην [mailto:mydraal\@jackalz.dyn.ml.org](mailto:mydraal@jackalz.dyn.ml.org). diff --git a/content/articles/18/04_wmaker.md b/content/articles/18/04_wmaker.md new file mode 100644 index 0000000..d3da90f --- /dev/null +++ b/content/articles/18/04_wmaker.md @@ -0,0 +1,250 @@ ++++ +title = 'Παρουσίαση του Window Maker' +date = '1999-10-01T00:00:00Z' +description = '' +author = 'DJ Art(mailto:djart@hellug.gr)' +issue = ['Magaz 18'] +issue_weight = 4 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το άρθρο αυτό έχει σκοπό να παρουσιάσει τον πασίγνωστο window manager, τον Window Maker. Επίσης, θα γνωρίσετε τα αρχεία ρυθμίσεών του, μερικά προγράμματα για +να τον φέρετε στα μέτρα σας, πώς να τον εξελληνίσετε, πώς να τον χρησιμοποιήσετε με το KDE και το GNOME και άλλα πολλά.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Εισαγωγή** +---------------------------------------- + +- [1.1 Εγκατάσταση](#ss1.1) +- [1.2 Απαιτήσεις](#ss1.2) + +**2. Τα χαρακτηριστικά του Wmaker** +------------------------------------------------------------ + +**3. Προγράμματα για ρυθμίσεις** +--------------------------------------------------------- + +- [3.1 Applications Menu](#ss3.1) +- [3.2 Η εντολή wmconfig](#ss3.2) + +**4. Αρχεία ρυθμίσεων** +------------------------------------------------ + +**5. Themes** +-------------------------------------- + +**6. Ελληνικά** +---------------------------------------- + +- [6.1 Ελληνικό μενού](#ss6.1) + +**7. WMaker με KDE ή GNOME** +----------------------------------------------------- + +**8. Documentation** +--------------------------------------------- + + +### [1. Εισαγωγή]{#s1} + +Ο Window Maker έχει φτάσει στην έκδοση 0.60. Είναι ένας window manager που προσφέρει πολλές δυνατότητες στον χρήστη, ενώ είναι αρκετά παραμετροποιήσημος. +Βέβαια, δεν παραμετροποιείται όσο ο enlightment, αλλά και δεν βαραίνει το σύστημά σας όσο ο enlightment. Είναι αρκετά ελαφρύς, σαν να τρέχετε τον FVWM, για +παράδειγμα. + +Κατά την προσωπική και ταπεινή μου γνώμη, αν θέλαμε να κατατάξουμε διάφορους window managers σε σχέση με το βαθμό παραμετροποίησης που μπορούν να προσφέρουν, +αλλά και με τις δυνατότητές τους, θα έβαζα στην κορυφή τα KDE και GNOME και μετά τον Window Maker να ακολουθεί τρίτος. + +### [1.1 Εγκατάσταση]{#ss1.1} + +Ο τόπος από τον οποίο μπορείτε να κατεβάσετε τον Window Maker είναι . Εκεί θα τον βρείτε σε source μορφή (tar.gz ή bz2) και θα +πρέπει να τον κάνετε compile. Αν όμως τον προτιμάτε σε RPM μορφή θα σας δώσω την εξής διεύθυνση: . Στην ίδια +διεύθυνση θα βρείτε και το χρήσιμο πρόγραμμα wmakerconf, το οποίο είναι ένα ξεχωριστό πρόγραμμα για τις ρυθμίσεις του Window Maker. Σε source μορφή μπορείτε να +το βρείτε στη διεύθυνση: . + +Για να τρέξετε τον Window Maker αρκεί να γράψετε wmaker μέσα στο αρχείο .xinitrc που βρίσκεται στο home directory σας. Ένα από τα ωραία χαρακτηριστικά του +Window Maker είναι ότι μπορεί να χρησιμοποιηθεί ως window manager στα KDE και GNOME. Θα σας εξηγήσω πως γίνεται αυτό αργότερα. + +### [1.2 Απαιτήσεις]{#ss1.2} + +Για να εγκατασταθεί o Window Maker πρέπει να εγκαταστήσετε την βιβλιοθήκη **libPropList**. Αυτήν σε source μορφή θα την βρείτε στην διεύθυνση +. Αντίθετα, την RPM έκδοσή της θα την βρείτε στο site με τα RPM που σας ανέφερα παραπάνω. + + +### [2. Τα χαρακτηριστικά του Wmaker]{#s2} + +Ίσως αναρωτιέστε: \"Μα τί είναι αυτό που κάνει τον Window Maker να ξεχωρίζει από τους υπόλοιπους;\" Δεν θα σας δώσω μία έτοιμη απάντηση εδώ, αλλά θα σας +περιγράψω το περιβάλλον του Window Maker, ώστε να ανακαλύψετε μόνοι σας τις διαφορές του από τους υπόλοιπους. + +Το πρώτο πράγμα που θα παρατηρήσετε όταν τρέξετε τον Window Maker είναι δύο εικονίδια. Το ένα που βρίσκεται πάνω αριστερά παριστάνει έναν συνδετήρα, κάπως έτσι: + +![](/18/img/wmclip.jpg) + +Η χρησιμότητά του είναι πολλαπλή: Με τα δύο βελάκια που έχει πάνω του αλλάζετε Workspace, δηλαδή επιφάνεια εργασίας. Στην κάθε επιφάνεια εργασίας μπορείτε να +έχετε ανοιχτά διαφορετικά προγράμματα. Αν τώρα κάνετε δεξί κλίκ πάνω στον συνδετήρα θα σας εμφανιστεί ένα menu με επιλογές. Μπορείτε από εκεί να δηλώσετε άλλο +όνομα για το Workspace σας και να κάνετε attract τα εικονίδια. Εξηγώ λίγο την τελευταία λειτουργία που ανέφερα: όταν κάνετε minimize ένα πρόγραμμα, τότε +εμφανίζεται ένα εικονίδιο στο κάτω μέρος της οθόνης σας. Μπορείτε να \"κολλήσετε\" το εικονίδιο αυτό δίπλα στον συνδετήρα, καθώς και ένα πλήθος από εικονίδια, +και μετά να τα μεταφέρετε όλα μαζί σε όποιο μέρος τη οθόνης σας θέλετε, σέρνοντας μόνο τον συνδετήρα. Από το menu του συνδετήρα μπορείτε να μεταφέρετε ένα +πρόγραμμα σε ένα άλλο Workspace. + +Πάνω δεξιά στην οθόνη σας υπάρχει ένα άλλο εικονίδιο που από κάτω του βρίσκονται κολλημένα εικονίδια άλλων προγραμμάτων, κάπως έτσι: + +![](/18/img/wmdock.jpg) + +Αυτό ονομάζεται DockPanel και βοηθάει στο να ανοίγετε εύκολα τα αγαπημένα σας προγράμματα. Είναι παρόμοιο με το Wharf του Afterstep. Αν σε εσάς δεν έχει τα +εικονίδια των άλλων προγραμμάτων, μην ανησυχείτε γιατί μπορείτε να προσθέσετε εκεί αυτά που εσείς θέλετε. Η διαδικασία που πρέπει να ακολουθήσετε για να +προσθέσετε εικονίδια είναι απλή, αλλά μπορεί να καταλήξει να γίνει επίπονη. Ας εξηγηθώ: Όταν ανοίγετε ένα πρόγραμμα με οποιονδήποτε τρόπο, (είτε από xterm είτε +από όπου αλλού θέλετε) εμφανίζεται ένα εικονίδιο κάτω αριστερά στην οθόνη σας. Αν σύρετε αυτό το εικονίδιο κάτω από τη στοίβα στο DockPanel, τότε αυτό θα μείνει +εκεί. (Προσοχή: για να μείνει εκεί θα πρέπει να σας βγάλει ένα άσπρο τετράγωνο στη θέση που πάτε να βάλετε το εικονίδιο. Γενικά θα πρέπει να τοποθετήσετε το +εικονίδιο ακριβώς κάτω από το τελευταίο εικονίδιο στο DockPanel). Μπορεί όμως να μή βγεί εικονίδιο όταν ανοίξετε το πρόγραμμα. Τί κάνετε τότε; Πρέπει να είστε +και λίγο τυχεροί: Για παράδειγμα, όταν τρέξετε από xterm το xisp δεν θα σας βγεί το εικονίδιο που βλέπετε στην φωτογραφία (πάνω). Πρέπει λοιπόν να προσπαθήσετε +να το βγάλετε παίζοντας με το πρόγραμμα. Για το xisp, εάν ανοίξετε κάποιο άλλο παράθυρό του, π.χ. τα διάφορα options, θα σας εμφανιστεί ως δια μαγείας το +εικονίδιο με την πριζούλα. Αμέσως τότε (πρίν σας φύγει :-)) το βάζετε στο DockPanel. Επίσης, καμμιά φορά, όταν δεν μετακινείται ένα εικονίδιο (π.χ. αν γραψετε +asclock στο xterm, δεν θα μπορείτε μετά να μετακινείσετε το ρολόι και να το βάλετε στο DockPanel) κρατήστε πατημένο το Alt και μετά σύρετέ το. + +Αν κάνετε δεξί κλίκ πάνω στα εικονίδια του DockPanel μπορείτε να πάτε μέσω ενός menu στα settings του συγκεκριμένου εικονιδίου. Εκεί μπορείτε να αλλάξετε +εικονίδιο, αλλά και την εντολή εκτέλεσης του προγράμματος. Αυτό είναι χρήσιμο για τα προγράμματα που τα τρέχετε με extra επιλογές. + +Θα παρατηρήσατε στην παραπάνω φωτογραφία ότι τα εικονίδια έχουν 3 τελείες. Όταν το πρόγραμμα είναι κλειστό (δεν τρέχει) τότε εκεί εμφανίζονται 3 τελείες. Όταν +το ανοίξετε το πρόγραμμα, εξαφανίζονται και οι 3. Όταν το κάνετε hide (με Alt+h) τότε εμφανίζεται μία τελεία για να σας πεί ότι το πρόγραμμα τρέχει και είναι +κρυμμένο στο εικονίδιό του. Αναρωτιέστε τί είναι το hide και πώς προέκυψε; Διαβάστε παρακάτω. + +Κάθε πρόγραμμα έχει μία titlebar από πάνω του που είναι κάπως έτσι: + +![](/18/img/titlebar.jpg) + +Το αριστερό κουμπί κάνει minimize και το δεξί close. Τα φαινόμενα απατούν. Η titlebar δεν κάνει μόνο αυτά τα λίγα. Κάντε δεξί κλίκ πάνω της για να σας +εμφανιστεί ένα menu (εκεί βρίσκεται και η εντολή hide, η οποία κρύβει το πρόγραμμα κάτω από το εικονίδιό του). Το menu περιέχει και πολλές άλλες επιλογές. + +Κανοντας δεξί κλίκ στην επιφάνεια εργασίας σας, βγαίνει ένα menu που μοιάζει πιθανότατα με αυτό: + +![](/18/img/applications.jpg) + +Από εδώ μπορείτε να τρέξετε διάφορα προγράμματα (ιδιαίτερα το υπομενού Programs περιέχει τα προγράμματα που είναι εγκατεστημένα στο σύστημά σας). Πώς !;! Δεν +έχει το δικό σας menu μερικά από αυτά που έχει η φωτογραφία, όπως το Run ή το Programs ; Μην ταράζεστε άδικα. Συνεχίστε να διαβάζετε. + + +### [3. Προγράμματα για ρυθμίσεις]{#s3} + +Αν δεν προτιμάτε να ρυθμίζετε τον Window Maker manually πειράζοντας αρχεία και μπλέκοντας με τη γραμμή εντολών και με editors, vi και δε συμμαζεύεται (real men +do it with keyboard), τότε μπορείτε να χρησιμοποιήσετε δύο προγράμματα που τρέχουν σε γραφικό περιβάλλον και τα οποία θα σας παρουσιάσω. Αν τώρα ενοχληθήκατε +από το real men do it with keyboard, έχω φροντίσει και για αυτό στο επόμενο section. Για την ώρα ας δούμε τα προγράμματα. + +Το ένα πρόγραμμα έρχεται μαζί με τον Window Maker και λέγεται WPrefs. Μοιάζει κάπως έτσι: + +![](/18/img/wprefs.jpg) + +Βέβαια θα αναρωτιέστε \"μα που στο καλό είναι αυτό το πρόγραμμα ;\" με το δίκιο σας γιατί εκεί που είναι\... Το full path του είναι: +**/usr/X11R6/lib/GNUstep/Apps/Wprefs.app/** . Μέσα σε αυτόν τον κατάλογο θα βρείτε το εκτελέσιμο WPrefs. Σας συμβουλεύω να το τρέξετε και μετά να το +τοποθετήσετε στο DockPanel. Ιδιαίτερη προσοχή δώστε στο **Menu Definition** του WPrefs (σας υποσχέθηκα το Run και τα Programs \--\> παρακάτω). + +Το άλλο πρόγραμμα είναι το wmakerconf το οποίο είναι ξεχωριστό, δεν έρχεται μαζί με τον WindowMaker. Και αυτό παρέχει ρυθμίσεις για το Menu. Και τα δύο αυτά +προγράμματα περιέχουν όλα τα κουμπιά για να παραμετροποιήσετε τον Window Maker αρκετά και \"σε βάθος\", ενώ η χρήση τους είναι αρκετά απλή. + +### [3.1 Applications Menu]{#ss3.1} + +Ας δούμε τα βήματα που χρειάζεστε για να προσθέσετε το Run στο menu. Κατ\' αρχάς, το Run χρησιμεύει στο να τρέχετε κάποια εντολή. Για παράδειγμα, αν θέλετε να +τρέξετε ένα πρόγραμμα μπορείτε αντί να ανοίξετε το xterm και να πληκτρολογήσετε την εντολή, να το κάνετε από το Run. To Run σε μένα είναι κάπως έτσι: + +![](/18/img/run.jpg) + +Με το WPrefs, πηγαίνετε στο **Menu Definition** και στο αριστερό παράθυρο διαλέξτε **Add Command**. Δίπλα τώρα, στο **Label** γράψτε **Run\...**, ενώ στο +**Command** διαλέξτε **Run Program**. Από κάτω, στο **Program To Run** πληκτρολογήστε όπως το βλέπετε: **%a(Run,Type command to run:)**. Αυτό ήταν. Τα βήματα +είναι τα ίδια και με το Wmaker Conf. + +### [3.2 Η εντολή wmconfig]{#ss3.2} + +Πρίν σας πώ για το Programs, να σας μιλήσω για το wmconfig. Αυτό είναι ένα χρήσιμο προγραμματάκι, το οποίο δημιουργεί μία λίστα με τα προγράμματα του συστήματός +σας με σκοπό να χρησιμοποιήσετε τη λιστα που σας παράγει στα menu των διάφορων window managers. Υποστηρίζει τα: KDE, Wmaker, FVWM 95, FVWM 2, Afterstep, mwm, +Anotherlevel, icewm. Δοκιμάστε να τρέξετε στη γραμμή εντολών το εξής: **wmconfig \--output wmaker**. Τώρα θα μου πείτε \"μα καλά, αυτό που ξέρει ποιά +προγράμματα έχω εγκαταστήσει;\". Η απάντηση είναι απλή. Κοιτάξτε τα περιεχόμενα του φακέλου **/etc/X11/wmconfig**. Εκεί περιέχονται πληροφορίες για κάθε +πρόγραμμα που είναι εγκατεστημένο στο σύστημά σας. Αν θέλετε και εσείς να προσθέσετε πληροφορία για κάποιο πρόγραμμα που δεν βρίσκεται εκεί, κοιτάξτε ένα άλλο +αρχείο για να παραδειγματιστείτε. + +Πάμε τώρα να δούμε πώς να φτιάξετε το menu Programs. Στο Wprefs, στο **Menu Definition** διαλέγετε στο αριστερό παράθυρο **Add external menu**. Δίπλα στο +**Label** γράψτε Programs και από κάτω στο **Menu Path/Directory List** πληκτρολογήστε την εντολή: **\|wmconfig \--output wmaker 2\>/dev/null**. Τώρα είστε +έτοιμοι. Αν θέλετε να το κάνετε με το Wmaker Conf, τότε στο Menu αφού προσθέσετε **New menu** διαλέγετε στο **Command** \--\> **include dynamic menu** και από +κάτω πληκτρολογείτε την παραπάνω εντολή. + + +### [4. Αρχεία ρυθμίσεων]{#s4} + +Τα αρχεία ρυθμίσεων βρίσκονται σε πολλά directories. Στον κατάλογο **/etc/X11/WindowMaker** υπάρχουν τα default αρχεία παραμετροποίησης του WMaker. Στον +κατάλογο **/usr/share/WindowMaker** μπορείτε να εγκαταστήσετε themes, εικονίδια και backgrounds για όλους τους χρήστες του συστήματος. Εγώ θα αναφερθώ ξεχωριστά +για τους χρήστες και για να γίνω πιο συγκεκριμένος στα αρχεία ρυθμίσεων του home directory ενός χρήστη. Τα αρχεία αυτά βρίσκονται στον κατάλογο **GNUstep** μέσα +στο home directory. + +Ο κατάλογος GNUstep περιέχει τρείς φακέλους, δύο φανερούς και έναν κρυφό. Ο κρυφός κατάλογος περιέχει τα εικονίδια που είναι docked στο DockPanel. O κατάλογος +Library περιέχει άλλους υποκαταλόγους μέσα στους οποίους εγκαθίστανται themes, ήχοι, backgrounds, εικονίδια κλπ. + +Ο κατάλογος Defaults περιέχει τα πιο σημαντικά αρχεία για τις ρυθμίσεις του Window Maker. Ας δούμε τα αρχεία αυτά ένα-ένα: + +- Το αρχείο WMGLOBAL περιέχει πληροφορίες για τις γραμματοσειρές που χρησιμοποιεί ο WindowMaker, καθώς και το μέγιστο χρόνο που ανάμεσα στα δύο κλίκ του + ποντικιού, για να δουλέψει το διπλό κλίκ. +- Το αρχείο WMRootMenu περιέχει τις απαραίτητες πληροφορίες για το Applications Menu (από αυτό το αρχείο μπορείτε επίσης να προσθέσετε το Run και Programs που + λέγαμε). +- Το αρχείο WMState περιέχει τις ρυθμίσεις για τα εικονίδια του DockPanel, του συνδετήρα (Clip) και των επιφανειών εργασίας (Workspaces). Σε αυτό το αρχείο + μπορείτε να ορίσετε να ανοίγει αυτόματα ένα πρόγραμμα του οποίου το εικονίδιο βρίσκεται στο DockPanel (π.χ. το ρολόι). +- Το αρχείο WMWindowAttributes περιέχει πληροφορίες σχετικά με το ποιό εικονίδιο χρησιμοποιούν τα διάφορα προγράμματα. Εδώ μπορείτε να ορίσετε εσείς εικονίδιο + για κάποιο πρόγραμμα που τυχόν δεν έχει ορισμένο εικονίδιο. +- Το αρχείο WPrefs περιέχει τις ρυθμίσεις για το ομώνυμο πρόγραμμα, όπως π.χ. αν θα χρησιμοποιεί balloοn help ή όχι. +- Τέλος, το αρχείο WindowMaker περιέχει τις ρυθμίσεις για το περιβάλλον του WindowMaker, όπως τα χρώματα, τα backgrounds κλπ. + + +### [5. Themes]{#s5} + +Όπως θα έχετε καταλάβει μέχρι τώρα, ο WindowMaker υποστηρίζει themes. Διάφορων ειδών themes μπορείτε να βρείτε στη διεύθυνση . Η +εγκατάστασή τους είναι αρκετά απλή. Τα themes είναι πάντα σε συμπιεσμένη μορφή. Αποσυμπιέζετε λοιπόν στον κατάλογο **/usr/share/WindowMaker** για να τα βλέπουν +όλοι οι χρήστες ή στον κατάλογο **\~/GNUstep/Library/WindowMaker** για να τα βλέπει μόνο ο συγκεκριμένος χρήστης. Έπειτα, πηγαίνετε στο **Applications Menu** +\--\> **Appearence** \--\> **Themes** και διαλέξτε το theme της αρεσκείας σας. + + +### [6. Ελληνικά]{#s6} + +Ο Window Maker είναι έτοιμος ως προς το θέμα των ελληνικών, συνεργάζεται άψογα μαζί τους και εσείς δεν χρειάζεται να κάνετε κάποια ειδική ρύθμιση. Θα σας το +αποδείξω με τις παρακάτω φωτογραφίες. + +![](/18/img/ntscpgr.jpg) + +![](/18/img/rungr.jpg) + +![](/18/img/menugr.jpg) + +Προσέξτε ιδιαίτερα το γεγονός ότι μπορείτε να γράψετε ελληνικά στο Run. Τώρα αν εσείς δεν τα καταφέρνετε, σημαίνει ότι τα ελληνικά δεν έχουν εγκατασταθεί σωστά. +Για να λύσετε αυτό το πρόβλημα κοιτάξτε το άρθρο του Magaz στο τεύχος 16. + +### [6.1 Ελληνικό μενού]{#ss6.1} + +Ίσως να αναρωτιέστε πως γίνεται να βάλετε ελληνικά στο Applications Menu για να μοιάζει με αυτό της φωτογραφίας. Αυτό γίνεται με πολλούς τρόπους. Ένας τρόπος +είναι να αλλάξετε τα **Label** των υπομενού με το πρόγραμμα WPrefs ή με το Wmaker Conf. Ένας άλλος τρόπος είναι να ανοίξετε το αρχείο +**\~/GNUstep/Defaults/WMRootMenu** και να αλλάξετε τα **Label** manually. Ένας τελευταίος τρόπος είναι ο εξής: Στον κατάλογο **\~/GNUstep/Library/WindowMaker/** +υπάρχουν μερικά αρχεία **menu.??**, τα οποία είναι text μορφές του Applications Menu σε πολλές γλώσσες. Το αρχείο για την ελληνική είναι το **menu.el**. Θα σας +πώ πώς να χρησιμοποιήσετε αυτό το αρχείο. Βέβαια, το μόνο του μειονέκτημα είναι ότι έχει κάποια πράγματα έτοιμα, οπότε αν δεν έχετε κάποιο από τα προγράμματα +αυτά, τότε δεν θα δουλεύει. Για να χρησιμοποιήσετε λοιπόν αυτό το αρχείο ανοίξτε με έναν editor από την γραμμή εντολών το αρχείο +**\~/GNUstep/Defaults/WMRootMenu**, σβήστε ότι έχει γραμμένο μέσα και γράψτε μέσα σε εισαγωγικά το full path του αρχείου **menu.el**. Δηλαδή γράψτε +**\"\~/GNUstep/Library/WindowMaker/menu.el\"**. Μετά μπείτε στα X και θα δείτε το ελληνικό μενού. Προσέξτε ότι όταν κάνετε αυτήν την αλλαγή δεν θα πρέπει να +τρέχει ο Window Maker γιατί άμα πάτε να τον ξαναξεκινήσετε δεν θα δουλέψει. + + +### [7. WMaker με KDE ή GNOME]{#s7} + +Όπως σας είπα, έχετε τη δυνατότητα να χρησιμοποιήσετε τον Window Maker σαν window manager στο KDE και στο GNOME. Ας δούμε πώς θα το κάνετε αυτό. + +Για το KDE. Ανοίξτε το αρχείο startkde και αντικαταστήστε όπου λέει kwm με wmaker. Αυτό ήταν. Την επόμενη φορά που θα ανοίξετε το KDE θα χρησιμοποιείτε τον +Wmaker ως window manager. + +Για το GNOME. Στο αρχείο **\~/.xinitrc** προσθέστε μία γραμμή πρίν από το wmaker. Γράψτε **gnome-session &**. Την επόμενη φορά που θα ανοίξετε τα X θα σας +εμφανιστεί και η μπάρα του GNOME. + + +### [8. Documentation]{#s8} + +Παρόλο που σας είπα αρκετά πράγματα για τον Window Maker, εσείς μπορείτε να διαβάσετε κι άλλα είτε από περιέργια, ενδιαφέρον είτε αν συναντήσατε κάποιο +πρόβλημα. Σας αναφέρω εδώ μερικά μέρη που θα βρείτε documentation. + +- Κατ\' αρχάς στο ίδιο το σύστημά σας. Πηγαίνετε στον κατάλογο **/usr/doc/WindowMaker-0.60**. +- Στο επίσημο site θα βρείτε αρκετό documentation. H διεύθυνσή του είναι . Θα βρείτε και πληρέστατο F.A.Q. +- Υπάρχει και το User Guide. Θα το βρείτε στην διεύθυνση . Η pdf έκδοση του User Guide βρίσκεται στη διεύθυνση + + diff --git a/content/articles/18/05_raid.md b/content/articles/18/05_raid.md new file mode 100644 index 0000000..172a408 --- /dev/null +++ b/content/articles/18/05_raid.md @@ -0,0 +1,148 @@ ++++ +title = 'RAID στο Linux' +date = '1999-10-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης(mailto:kabrianis@hellug.gr)' +issue = ['Magaz 18'] +issue_weight = 5 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Ποσο εύκολο, ή δύσκολο είναι να φτιάξουμε ένα software RAID στο Linuxάκι μας; Και, αλήθεια, υπάρχει πράγματι λόγος για κάτι τέτοιο; Που θα βρούμε εργαλεία, και +τι πρέπει να προσέξουμε; Όλες αυτές τις ερωτήσεις θα προσπαθήσουμε να απαντήσουμε, μέσα από αυτό το άρθρο-παρουσίαση μίας πραγματικής κατάστασης.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Το τελευταίο διάστημα, ακούω συνέχεια γνωστούς και φίλους, να παραπονιούνται για δίσκους που χάλασαν (ακούς Βαγγέλη;). Και όλοι αυτοί οι γνωστοί και φίλοι, πάνε +κάθε λίγο και λιγάκι και περιμένουν τις αντιπροσωπείες, που δεν είναι και υποδείγματα εξυπηρέτησης, να τους αλλάξουν το δίσκο, και, αν βαρεθούν να περιμένουν +καμμία φορά, αγοράζουν καινούριο.\ +Το να μείνεις χωρίς δίσκο για κάποιο διάστημα (και συνεπώς χωρίς υπολογιστή), σίγουρα δεν είναι το καλύτερο. Είναι όμως αρκετά καλύτερο από το να χάσεις κάποια +ευαίσθητα δεδομένα. Και, όλοι μας έχουμε δεδομένα που τα θεωρούμε ευαίσθητα. Άλλος το mail του, άλλος τα κείμενα που έχει γράψει, άλλος το βιογραφικό του (!!!) +άλλος κάποιο κώδικα που έχει γράψει για συγκεκριμένη δουλειά κλπ. Επειδή αγχώθηκα, και επειδή έχω την πτυχιακή μου αλλά και μαζεύω επί μήνες υλικό για το Magaz, +επειδή βαριέμαι να ξαναγράφω τα scripts που έχω γράψει, και επειδή, εν τέλει, είμαι πολύ τεμπέλης για να εφαρμόσω ένα σοβαρό σύστημα backup, αποφάσισα να +χρησιμοποιήσω RAID, τουλάχιστον για το partition /home στον υπολογιστάκο μου. Ούτως ή άλλως, ο παλιός μου δίσκος (2.1 Gb ο οποίος παροπλίστηκε όταν πλέον δεν με +χώραγε, και που αντικαταστάθηκε από έναν 6.5 Gb) χρησιμοποιείται για \"χύμα\" αποθήκευση αρχείων, συνεπώς δεν θα μου κόστιζε τίποτα παραπάνω :-) Αντίθετα, η +αγορά 5-6 zip-disks θα μου κόστιζε 10-15 χιλιάδες.\ +Βέβαια, για να είμαι και πιο σωστός απεναντί σας, να σας τονίσω ότι πιστεύω ότι **ένα καλοσχεδιασμένο σύστημα-πρόγραμμα backup αποδυκνείεται *ΠΑΝΤΑ* +ανεκτίμητο.** + +**1. Tι είναι το Raid;** +----------------------------------------------- + +**2. Τι επιλογές έχουμε με το Linux;** +------------------------------------------------------------- + +**3. Πως το χρησιμοποιούμε;** +---------------------------------------------------- + +**4. Επίλογος-βιβλιογραφία** +--------------------------------------------------- + + +### [1. Tι είναι το Raid;]{#s1} + +Raid σημαίνει Redundant Array of Inexpensive Disks και υποστηρίζεται από τον ίδιο τον πυρήνα του Linux (με κάποια εξωτερικά προγράμματα). Υπάρχει εδώ και χρόνια +ως υλοποίηση σε διάφορα Unix και με δύο διαφορετικούς τρόπους. Το Hardware Raid (όπου την όλη διαχείριση του RAID αναλαμβάνει ένας hardware controller) και το +Software Raid (όπου όλα γίνονται από το software). Το hardware raid γενικά θεωρείται καλύτερο και αποδοτικότερο (και ταχύτερο) από το software raid, αλλά είναι +πολύ ακριβότερο. Το Linux έχει υποστήριξη στον πυρήνα πάντως για ορισμένους hardware raid controllers. Το Linux επίσης παρέχει δυνατότητα να βρίσκεται σε + +### [2. Τι επιλογές έχουμε με το Linux;]{#s2}Tο Linux παρέχει τα εξής επίπεδα software Raid: + +- Linear mode Σε αυτή την περίπτωση, δυο ή περισσότεροι δίσκοι ενώνονται λογικά για να δημιουργήσουν έναν μεγαλύτερο. Συνολικό μέγεθος του λογικού δίσκου, όσο + το άθροισμα των δίσκων που το αποτελούν. + - Προτερήματα\ + Οι δίσκοι μπορούν να είναι εντελώς διαφορετικοί μεταξύ τους, εφόσον η ένωση γίνεται σειριακά (ο ένας \"κολλάει\" πίσω από τον άλλο) χωρίς απώλειες στην + απόδοση. Έτσι μπορούμε απλά να ενώσουμε μερικούς παλιούς μικρούς δίσκους για να δημιουργήσουμε έναν νέο μεγαλύτερο (προφανώς, εφόσον οι EIDE controllers + στα περισσότερα από τα μηχανήματά μας, υποστηρίζουν 2 δίσκους ο καθένας, αυτό αναφέρεται σε SCSI δίσκους). + - Μειονεκτήματα\ + Δεν υπάρχει κανενός είδους προστασία για απώλεια δεδομένων αλλά συνήθως ούτε καμία ιδιαίτερη αύξηση στην ταχύτητα. +- Stripe mode (RAID 0) Στην υλοποίηση Raid τύπου 0, οι δίσκοι πάλι ενώνονται μεταξκύ τους όπως και στο Linear mode, αλλά αυτή το φορά οι εγγραφές δεν γίνονται + σειριακά (πρώτα ο πρώτος δίσκος, μετά ο επόμενος κ.ο.κ) αλλά γίνονται ταυτόγχρονα σε όλους τους δίσκους. + - Προτερήματα\ + Η ταχύτητα του RAID 0 για Ν δίσκους μπορεί να είναι Ν-πλάσια από την ταχύτητα του κάθε δίσκου χωριστά. Αυτό βέβαια δεν επιτυγχάνεται ποτέ (είναι μόνο + θεωρητικό) και πλησιάζεται μόνο με χρήση δίσκων που βρίσκονται σε διαφορετικούς controllers. + - Μειονεκτήματα\ + Πάλι δεν υπάρχει κανενός είδους προστασία για απώλεια δεδομένων. Αν χρησιμοποιηθούν δίσκοι πολύ διαφορετικών μεγεθών, μπορεί να παρατηρηθεί μειωμένη + ταχύτητα (σε σχέση πάντα με ένα καλοστημένο RAID). Αν χρησιμοποιηθούν partitions του ίδιου δίσκου, ή δίσκοι στον ίδιο controller, η διαφορά στην απόδοση + είναι ανάξια λόγου. +- Mirroring (RAID 1) Επιτέλους, η πρώτη λύση RAID από όσες μελετάμε, που παρέχει ένα πραγματικό redundancy. Αυτή η μέθοδος, όπως λέει και το όνομά της, + κρατάει ένα πλήρες αντίγραφο των δεδομένων του ενός δίσκου, στον άλλο (ή στους άλλους, αν χρησιμοποιήσουμε πολλούς δίσκους). Μπορούν επίσης να δηλωθούν και + spare disks οι οποίοι θα γίνουν μέρος του mirrorset μόλις ένας χαλάσει. + - Προτερήματα\ + Παρέχει πάρα πολύ υψηλό επίπεδο redundancy. Μπορεί από ένα raidset να αφαιρεθούν όλοι οι δίσκοι εκτός από έναν, και το set να συνεχίσει να δουλεύει (υπό + την έννοια ότι είναι διαθέσιμο για εγγραφή - ανάγνωση δεδομένων). Βέλτιστη απόδοση σε αναγνώσεις από τους δίσκους. + - Μειονεκτήματα\ + Πρέπει οι δίσκοι να είναι ίδιου μεγέθους (οποισδήποτε δίσκος μεγαλύτερος απλά χρησιμοποιείται ως μικρότερος. Ο υπερβάλλων χώρος δεν χρησιμοποιείται). Σε + εγγραφές προς το δίσκο, παρατηρείται μία ελαφριά καθυστέρηση (αν και ίσως λογικά νομίζετε ότι θέλει Ν\*χρόνο για εγγραφές - όπου Ν ο αριθμός των + δίσκων - με μία σωστή υλοποίηση, δηλαδή ξεχωριστοί δίσκοι σε ξεχωριστούς controllers, η καθυστέρηση είναι έως ανύπαρκτη). +- RAID 4 Σε αυτή την περίπτωση, τα δεδομένα μοιράζονται σε πολλούς δίσκους (σαν το striping) αλλά υπάρχει ένας ακόμα δίσκος, ο οποίος κρατάει parity + information. Έτσι υπάρχει redundancy, αλλά και μία μείωση στην ταχύτητα. + - Προτερήματα\ + Υψηλό redundancy, πιο αποδοτικό από απόδοσης χώρου, από το RAID 1. + - Μειονεκτήματα\ + Μεγάλη καθυστέρηση στην ανάγνωση και (κυρίως) στην εγγραφή. Θέλει σωστό σχεδιασμό για να μειωθεί αυτό το πρόβλημα (το bottleneck δημιουργείται προφανώς + στον parity δίσκο, οπότε πρέπει εκεί να δοθεί ιδιαίτερη προσοχή). +- RAID 5 Η πλέον χρησιμοποιούμενη υλοποίηση RAID είναι μία μετεξέλιξη του RAID 4, με την διαφορά ότι αντί να κρατάει το parity σε έναν δίσκο, μοιράζει και το + parity στους επιμέρους δίσκους. Προφανώς παρέχει redundancy υψηλότερη από το RAID 4 (εφόσον εκεί υπάρχει ένα single point of failure, ο δίσκος με την parity + πληροφορία). + - Προτερήματα\ + Υψηλό redundancy, αποδοτικότερο σε χώρο από το RAID 1, γρηγορότερο από το RAID 4. + - Μειονεκτήματα\ + Συνεχίζει βέβαια να υπάρχει πρόβλημα απόδοσης, αλλά όχι τόσο μεγάλο όσο στο RAID 4. Πρέπει οι δίσκοι να είναι ίδιας χωρητικότητας. + + +### [3. Πως το χρησιμοποιούμε;]{#s3}Μέσα από το configuration του πυρήνα πρέπει να έχουμε: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Multiple devices driver support -> CONFIG_BLK_DEV_MD + Ανάλογα με την υλοποίηση που έχουμε διαλέξει, + πρέπει να επιλέξουμε και την αντίστοιχη επιλογή στο configuration. + Linear (append) mode -> CONFIG_MD_LINEAR + RAID-0 (striping) mode -> CONFIG_MD_STRIPED + RAID-1 (mirroring) mode -> CONFIG_MD_MIRRORING + RAID-4/RAID-5 mode -> CONFIG_MD_RAID5 + Αν θέλετε να βάλετε τον boot δίσκο σε RAID (μόνο linear ή stripped) + πρέπει να επιλέξετε και το: + Boot support (linear, striped) -> CONFIG_MD_BOOT + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Θα χρειαστούμε και το software που διαχειρίζεται τα Multiple Devices (ο όρος που χρησιμοποιείται για το software raid) και το οποίο αν δεν το έχετε με το +distribution σας θα πρέπει να το κατεβάσετε από το . Προσέξτε γιατί εκεί υπάρχει έκδοση που δουλεύει με τους +stock πυρήνες, και έκδοση που χρειάζεται να περάσουμε patches στον πυρήνα για να δουλέψει. Διαβάστε καλά τα READMEs που υπάρχουν εκεί. + +Μετά το reboot (για να δουλέψει ο νέος kernel) θα πρέπει να φτιάξουμε το md, με την εντολή mdadd. Σε αυτή την εντολή δίνουμε ως παραμέτρους τα devices που θα +ενωθούν για να δημιουργήσουν το multiple device, το όνομα του νέου device (/dev/mdX). Προσοχή. αν υπάρχουν δεδομένα σε κάποιον από τους δίσκους που θα +χρησιμοποιηθούν, μπορούν υπό προϋποθέσεις να μην χαθούν. Για άλλη μία φορά, διαβάστε το README. Τέλος, τρέχουμε την εντολή mdrun για να οριστεί το /dev/mdX ως +block device. Τότε δημιουργείται και το πολύ χρήσιμο /proc/mdstat το οποίο μας δίνει πληροφορίες για τα md devices που έχουμε στο σύστημά μας. + +Με τα νέα utilities (που χρειάζονται patches στον kernel) το mdrun έχει αφαιρεθεί, και η διαχείριση γίνεται με λίγο διαφορετικό τρόπο. + +Μετά από όλα αυτά, είμαστε έτοιμοι να κάνουμε mount το /dev/mdX όπου μας εξυπηρετεί. Για να γίνεται αυτόματα mount κατά το boot, πρέπει απλά να τρέξουμε από ένα +rc.\* script τις εντολές mdadd και mdrun (οι οποίες δαιβάζουν το αρχείο /etc/mdtab και ενεργοποιούν τα raid devices) πριν διαβαστεί το fstab. + + +### [4. Επίλογος-βιβλιογραφία]{#s4} + +Αν και αυτό το άρθρο ξεκίνησα να το γράφω για να είναι ένας τυφλοσούρτης, στην πορεία αποφάσισα ότι είναι κακή ιδέα να παρέχεις τυφλοσούρτη για τόσο σημαντικά +θέματα. Γι αυτό και θα δείτε τόσες φορές μέσα στο άρθρο την φράση \"Διαβάστε το README\". Είναι εύκολο να στήσεις RAID σε Linux, αλλά συνάμα και επικίνδυνο. Σε +περίπτωση που υπάρχουν δεδομένα σε κάποιον από τους δίσκους που θα συμμετάσχει στο Raidset, πρέπει να γίνει backup πριν οποιαδήποτε διαδικασία. Σε ορισμένα RAID +modes μπορεί τα δεδομένα να διατηρηθούν, αλλά μην στηρίζεστε σε αυτό. Αν δεν το χρειάζεστε, μπορείτε προφανώς να το δοκιμάσετε (εξάλλου γι\' αυτό γράφεται αυτό +το άρθρο, αν το χρειάζεστε ξέρετε μάλλον καλύτερα από μένα τι να κάνετε), αλλά προσέξτε τα εξής:\ +A) Διαβάστε καλά τα documents και καταλάβετέ τα.\ +Β) Πάρτε σε backup τα αρχεία σας.\ +Γ) Αφού διαβάσατε αυτό το άρθρο και είδατε ότι σε θέμα απόδοσης, το παν είναι ο σωστός σχεδιασμός, ξαναδιαβάστε το, και μαζί με αυτό και το +Software-RAID-Howto.\ +Δ) Ξαναδιαβάστε τα documents και καταλάβετέ τα :-)\ +Ε) Καλό raid-ing. + +**Βιβλιογραφία** + +[Generic RAID overview](http://www.dpt.com/uraiddoc.html)\ +[General Linux RAID options](http://linas.org/linux/raid.html)\ +[Linux Software RAID tools](ftp://ftp.fi.kernel.org/pub/linux/daemons/raid/)\ +[Bootable RAID mini-HOWTO](http://www.linuxdoc.org/HOWTO/Root-RAID-HOWTO.html)\ +[Software RAID HOWTO](http://www.linuxdoc.org/HOWTO/mini/Software-RAID.html) + diff --git a/content/articles/19/01_editorial.md b/content/articles/19/01_editorial.md new file mode 100644 index 0000000..84ece2d --- /dev/null +++ b/content/articles/19/01_editorial.md @@ -0,0 +1,45 @@ ++++ +title = 'Editorial' +date = '1999-11-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης(mailto:kabrianis@hellug.gr)' +issue = ['Magaz 19'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Καλώς ορίσατε στο **Magaz** Νοεμβρίου \...* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Το προτελευταίο αυτό τεύχος του έτους, μαζεύουμε εντυπώσεις από την αλλαγή που κάναμε. Η εξαγωγή και ανάλυση συμπερασμάτων ποτέ δεν ήταν εύκολη δουλειά, (και +σίγουρα όχι τεχνική) αλλά φαντάζομαι οι περισσότεροι το ξέρετε αυτό, άρα δεν θα σας κάνει εντύπωση αν ερμηνεύουμε διαφορετικά τα ίδια στοιχεία. + +Περίπου 170 άτομα μέσα στον Οκτώβριο χρησιμοποίησαν το search. Καλό νούμερο (αν και δεν ξέρουμε πόσα από αυτά είναι δικές μας δοκιμές και πόσα είναι δικές σας +αναζητήσεις). Επίσης, γύρω στα 100 άτομα είδαν την δημοσκόπηση, αλλά ψηφίσανε μόνο 25. Λιγότερα από 60 άτομα κατέβασαν το τεύχος για να το διαβάσουν offline, +ενώ γύρω στα 70 ζητήσαν το προηγούμενο τεύχος (17). Τέλος, όπως αναμενόταν, τα πιο περιζήτητα άρθρα ήταν αυτά του τεύχους 18 (πιο πρόσφατο) με πολλά όμως hits +σε άρθρα των τευχών 17, 16 και 15. Αυτό εμείς το θεωρούμε καλό, γιατί σημαίνει ότι ο κόσμος ανατρέχει σε παλαιότερα άρθρα μας. + +Σε αυτό το τεύχος έχουμε [εντυπώσεις από την Infosystem 99](02_infosystem.html), μία [ανάλυση του CVS](03_cvs.html), μία [επεξήγηση του boot +process](04_boot.html) και μία [ανάλυση για τα benchmarks](05_benchmarks.html) που βλέπουν τελευταία το φως της δημοσιότητας. + +Μετά την αλλαγή, επικοινώνησαν και άλλοι μαζί μας ρωτώντας τι άρθρα να συνεισφέρουν, συνεπώς θα ξανααναφέρουμε τις προτάσεις μας (αν παρατηρήσετε ότι είναι πολύ +λιγότερες από την τελευταία φορά, αυτό είναι επειδή κάποια άρθρα έχουν ήδη γραφτεί, και κάποια άλλα είναι αυτή τη στιγμή σε εξέλιξη). + +- Κατηγορία Howto + - Callback στο Linux + - Προγραμματισμός σε QT, GNOME + - Infrared communication + - SGML και LINUXDOC tutorial +- Κατηγορία αναλύσεις + - Linux και POSIX + - Το Linux σαν router +- Κατηγορία παρουσιάσεις + - Παρουσίαση του Koffice + - Παρουσίαση του Mozilla + - Παρουσιάσεις νέων Distributions +- Κατηγορία updates παλαιότερων άρθρων + - Update για Samba v2 και kernel 2.2 + - Update για IP Masq σε kernel 2.2 και ipchains + +Σας ευχόμαστε καλή ανάγνωση\.... diff --git a/content/articles/19/02_infosystem.md b/content/articles/19/02_infosystem.md new file mode 100644 index 0000000..7a02834 --- /dev/null +++ b/content/articles/19/02_infosystem.md @@ -0,0 +1,104 @@ ++++ +title = 'Με το HELLUG στην Infosystem 99' +date = '1999-10-01T00:00:00Z' +description = '' +author = 'Παναγιώτης Βρυώνης' +issue = ['Magaz 19'] +issue_weight = 2 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Η φετινή Infosystem είχε μία ασυνήθιστη παρουσία. Τι θέλουν οι τύποι με τους πιγκουίνους στο κεφάλι σε μία έκθεση πληροφορικής; Ένα από τα μέλη του hellug +περιγράφει την εμπειρία.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Η Infosystem που γίνεται στην Θεσσαλονίκη κάθε χρόνο είναι μία από τις σημαντικότερες εκθέσεις πληροφορικής στην Ελλάδα. Εκθέτες από όλη την χώρα παρουσιάζουν +τα προϊόντα και τα επιτεύγματά τους. Η Infosystem99 ήταν η πρώτη έκθεση πληροφορικής στην Ελλάδα στην οποία παρουσιάστηκε επίσημα το Linux ως προϊόν και ώς +εναλλακτική λύση. Κατά κύριο λόγο (αλλά όχι και μοναδικό όπως θα δούμε παρακάτω) αυτό οφείλονταν στην παρουσία του Hellug (Hellenic Linux Users Group) σε αυτή. + +Η παρουσία του HELLUG στην φετινή Infosystem σίγουρα τράβηξε το μάτι χιλιάδων ανθρώπων που πέρασαν από την έκθεση. Όσοι στάθηκαν στο περίπτερό μας, σίγουρα +κατάλαβαν ότι κάτι διαφορετικό γίνόταν σε αυτό τον χώρο. Στην πραγματικότητα, τα πάντα ήταν διαφορετικά σε σχέση με τους υπόλοιπους εκθέτες! + +Για να μπορέσει να έχει αυτή την αξιοπρόσεκτη παρουσία, το HELLUG χρειάστηκε να ξεπεράσει πολλά εμπόδια και σε επίπεδο συλλόγου αλλά και σε επίπεδο προσωπικό +για τα μέλη του. Τα προβλήματα ήταν κυρίως οικονομικά: τα μέλη χρειάστηκε να δώσουν μία έκτακτη εισφορά για να συγκεντρωθούν τα χρήματα που απαιτούνταν για την +ενοικίαση του περιπτέρου στον χώρο της έκθεσης, αλλά και να πληρώσουν το καθένα από την τσέπη του τα έξοδα μετάβασης και διαμονής στην Θεσσαλονίκη. Χάρη στο +μεράκι και την όρεξη του διακρίνει τους λινουξάδες, τα προβλήματα αυτά ξεπεράστηκαν και τελικά γύρω στα 15 μέλη του συλλόγου κατάφεραν να βρίσκονται όλες ή +μερικές μέρες στον χώρο του περιπτέρου και να βοηθούν. + +Σημαντική ήταν και η αρωγή που είχε ο σύλλογος από αρκετές εταιρείες. Η διαφημιστική Modus Vivendi προσφέρθηκε να μας σχεδιάσει και να εκτυπώσει τις τεράστιες +αφίσες που κάλυψαν τους τοίχους καθώς και τα 13.000 ενημερωτικά φυλλάδια που είχαμε για διάθεση στους επισκέπτες του περιπτέρου. Τα Μακεδονικά Περιφερειακά +δάνεισαν για όλες τις ημέρες της έκθεσης 2 μηχανήματα στα οποία τρέχαμε linux. Οι εταιρείες Caldera, RedHat και Mandrake έστειλαν CDs και μπλουζάκια. Τέλος, +πρέπει να πούμε ότι σημαντική ήταν και η βοήθεια που είχαμε από τους δύο έλληνες αντιπροσώπους της SuSE, τις εταιρείες ΥΕΠ (www.suse.gr) και Step (www.step.gr) +που μας έδωσαν αμέτρητα CDs\... + +Πέρα από τις εταιρείες που βοήθησαν όμως, το κύριο βάρος το σήκωσαν τα μέλη του συλλόγου. Μερικοί έφεραν τα laptop τους, άλλος μία κάρτα για video grabbing μαζί +με μία μικρή καμερούλα, άλλος ολόκληρο PC!!! + +Ξέρω ότι πολλοί επαγγελματίες που διαβάζουν τα παραπάνω θα χαμογελάνε ήδη. Ας μην βαστείτε όμως να κρίνετε. Είναι γεγονός ότι η οργάνωση του HELLUG δείχνει έναν +ερασιτεχνισμό (και γιατί όχι στο κάτω, κάτω, αφού είναι το χόμπι μας\...). Το αποτέλεσμα όμως ήταν εντυπωσιακό: ένα πολύ όμορφο περίπτερο, με τη φρεσκάδα και +την ζωντάνια που χαρακτηρίζει κάθετί που γίνεται εθελοντικά, γεμάτο επισκέπτες ακόμη και σε ώρες που τα άλλα, οργανωμένα περίπτερα ήταν άδεια! + +Οι επισκέπτες που πέρασαν από το περίπτερο 15 stand 12 (αυτός ήταν ο χώρος μας) παρατήρησαν ότι οι υπολογιστές που βρίσκονταν εκεί δεν ήταν απλώς διακοσμητικοί. +Σχεδόν πάντα, κάποιος έκανε κάτι σε αυτούς. Την μία γινόταν recompile του πηρήνα για να αναγνωρίσει τον video grabber, την άλλη στηνόταν το firewall, την τρίτη +κάποιος προσπαθούσε να αναπαράγει το πρόβλημα που είχε ένας λινουξάς επισκέπτης στο γραφείο του για να δωθεί η σωστή λύση. Πολλοί που δεν είχαν παλαιότερη +εμπειρία με το linux θέλησαν να δουν πως συμπεριφέρεται στην πράξη και υπήρχαν και μερικοί που βρήκαν την ευκαιρία να μας δείξουν πως χρησιμοποιούν το linux +στην δουλειά τους. Από το Σάββατο, οι φωτογραφίες που είχε τραβήξει κάποιος με μία ψηφιακή κάμερα είχαν μεταφερθεί στα μηχανήματα που είχαμε στην έκθεση και +στην συνέχεια μπήκαν στον server του συλλόγου, στην διεύθυνση (προσθέθηκαν και άλλες αργότερα). Υπήρχε και η σκέψη να στηθεί +ένας Real Server για να μεταδίδουμε στο internet την εικόνα από την κάμερα που βρισκόταν συνδεδεμένη σε ένα από τα μηχανήματά μας, αλλά την τελευταία στιγμή +εγκαταλήφθηκε (αν και ο server είχε ήδη στηθεί) γιατί μάλλον θα καταναλώναμε όλο το bandwidth της έκθεσης. + +Ένα άλλο ενδιαφέρον χαρακτηριστικό ήταν ότι στο περίπτερο του HELLUG ο κόσμος σταματούσε για να συζητήσει. Έγιναν ατελείωτες συζητήσεις, άλλες με καθαρά τεχνικό +ενδιαφέρον (σχετικά με web servers, δίκτυα κ.λ.) και άλλες με θεωρητικό (ποιό είναι το μέλλον του linux, που πάει η αγορά πληροφορικής και ό,τι άλλο μπορέιτε να +φανταστείτε). Νομίζω ότι αυτό ήταν και ένα από τα πιο σημαντικά στοιχεία του περιπτέρου μας. Ότι δηλαδή οι άνθρωποι που βρισκόντουσαν μαζεμένοι σε αυτό ήταν +άνθρωποι με τεχνογνωσία, πρόθυμοι να την μοιραστούν με τους υπόλοιπους. Δεν υπήρχε το άγχος της \"σωστής\" παρουσίας ή της πώλησης, αλλά η όρεξη για κουβέντα +και ανταλλαγή απόψεων. Σιγά σιγά χάθηκε και ο διαχωρισμός μεταξύ \"εκθετών\" και \"επισκεπτών\": λινουξάδες που δεν ήταν μέλη του hellug παρασυρμένοι από το +γενικό κλίμα, έδιναν συμβουλές και βοήθεια σε επισκέπτες! + +Η εμπειρία από το προηγούμενο happening που είχε οργανώσει ο σύλλογος έλεγε ότι ενώ είχαμε ένα πολύ σημαντικό αριθμό CDs με linux για να μοιράσουμε στον κόσμο, +αν δεν τα δίναμε με μέτρο γρήγορα θα εξαντλούνταν. Έτσι, δεν διαφημίσαμε ότι θα δίναμε τζάμπα CDs και προσπαθούσαμε να δώσουμε μόνο στους επισκέπτες που +έδειχναν πραγματικό ενδιαφέρον και να μην τα σκορπίζουμε ανεξέλενκτα. Αυτό μπορεί να κακοφάνηκε σε μερικούς, ο μόνος λόγος όμως ήταν ότι δεν θέλαμε να +καταλήξουν τα περιορισμένα κομάτια που είχαμε (και που σε μερικές περιπτώσεις είχαν γραφτεί με προσωπικά έξοδα μελών) στα σκουπίδια, μαζί με τα διαφημιστικά +φυλλάδια που μάζευαν οι επισκέπτες από κάθε περίπτερο. Τελικά, όση φειδώ και αν δείξαμε, την Κυριακή το βράδυ (τελευταία μέρα της έκθεσης) δεν είχαμε άλλα CDs +να δώσουμε. Οι υπολογισμοί δείχνουν ότι μοιράστηκαν με αυτό τον τρόπο γύρω στα 800 CDs (πλήρως λειτουργικά). + +Από τα πράγματα που τράβηξαν περισσότερο το ενδιαφέρον των επισκεπτών μας ήταν σίγουρα το bb, το VMWare και τα γραφικά του enlightenment. Το bb είναι ένα demo +που δείχνει τις δυνατότητες της βιβλιοθήκης aalib (ASCII Art Libraty) που επιτρέπει να σχεδιάζουμε γραφικά σε text mode χρησιμοποιώντας μόνο χαρακτήρες (ούτε +κάν γραφικούς χαρακτήρες όπως έκαναν κάποτε οι προγραμματιστές στα παιχνίδια για DOS). Η aalib δεν θα μπορούσε να αντικαταστήσει βέβαια την υπέροχη κάρτα +γραφικών σας με μία οθόνη κειμένου 80x24, αλλά είναι σίγουρα εντυπωσιακό να βλέπει κανείς φράκταλς, φωτογραφίες, dithering, antialising και error diffusion να +γίνονται μόνο με γράμματα και αριθμούς διαφορετικής φωτινότητας. Το bb ήταν από τα πράγματα που έκαναν πολλούς να αναλογιστούν τί μπορέι να κάνει ένας +ταλαντούχος προγραμματιστής όταν έχει όρεξη, ανεξάρτητα από τις δυνατότητες του hardware. Από την άλλη, το VMWare τραβούσε εύκολα τα βλέματα, αφού δεν είναι και +τόσο συνηθισμένο να βλέπει κανείς ένα μέσης κατηγορίας μηχάνημα να τρέχει το KDE, σε ένα παράθυρο να τρέχει Windows NT και σε ένα άλλο να κάνει εγκατάσταση +Windows 98!!! + +Κάτι που μας ενθουσίασε ως σύλλογο ήταν ότι μερικοί από τους επισκέπτες του περιπτέρου ήρθαν να μας δουν για να λύσουν ειδικά προβλήματα για τα οποία η αγορά +δεν μπορούσε να τους δώσει λύση. Χαρακτηριστικά, ένας από τους επισκέπτες μας είπε ότι ένας φίλος του τον συμβούλευσε \"αν δεν βρεις άκρη \[με το πρόβλημά σου\] +πήγαινε στους λινουξάδες, αυτοί κάτι θα κάνουν\"!!! Αυτό δείχνει κατά την γνώμη μου, ότι σιγά σιγά ο κόσμος αντιλαμβάνεται τις δυνατότητες του ελεύθερου +λογισμικού και ότι αυτό εδραιώνεται ως μια σημαντική εναλλακτική λύση στην συνείδηση των ανθρώπων της πληροφορικής. (Πληροφοριακά, το συγκεκριμένο πρόβλημα είχε +να κάνει με την υποστήριξη πολυτονικών γραμματοσειρών και πληκτρολογίου και η λύση δεν είναι μακριά.) + +Η παρουσία μας στην έκθεση δεν είχε σαν στόχο μόνο την επικοινωνία με το \"ευρύ κοινό\", αλλά και με τους υπόλοιπους εκθέτες. Καταρχήν, έγινε φανερό στους +ανθρώπους που στελέχωναν τα γύρω περίπτερα ότι υπάρχει ένα μεγάλο ενδιαφέρον από το κοινό για το linux. Απόδειξη για αυτό ήταν τα (καλοπροαίρετα) σχόλια της +μορφής \"πώς πάτε, χωράτε στο περίπτερο ή θα εκραγεί;\" για τον κόσμο που συνωστιζόταν γύρω από τα μηχανήματα με linux. Ενδεικτικό είναι και το γεγονός ότι οι +δύο τηλεοπτικές εκπομπές με αντικείμενο την πληροφορική που είχαν περίπτερα στην Infosystem99, το PCTV της ΕΤ3 και το five on-line του Alter 5 φιλοξένησαν +συνεντεύξεις μελών του HELLUG και παρουσίασαν το περίπτερό μας. + +Αρκετές μικρές και μεγάλες εταιρείες (μερικές είναι και στο χρηματιστήριο) μας πλησίασαν και μας είπαν ότι ενδιαφέρονται να πουλήσουν μηχανήματα με linux, και +ρώτησαν ή ζήτησαν βοήθεια για τον τρόπο που θα μπορούσαν να παρέχουν υποστήριξη στους λινουξάδες πελάτες τους. Το ενδιαφέρον ήταν γνωστό (ή έστω πολλοί από εμάς +το αναμέναμε να εκδηλωθεί αργά ή γρήγορα), αλλά η ζήτηση σε επαγγελματικό επιπεδο για ανθρώπους που να γνωρίζουν καλά το linux ήταν μία ευχάριστη έκπληξη. +Υπήρξαν ακόμη και εταιρείες που αναπτύσουν λογισμικό που ενδιαφέρθηκαν για το linux ως πλατφόρμα και συζήτησαν εκτενώς μαζί μας. Ενδιαφέρον ήταν ακόμη, ότι ένα +πρόχειρο \"σκανάρισμα\" στο δίκτυο της έκθεσης αποκάλυψε ότι εκτός από τα μηχανήματα με linux στο περίπτερο του HELLUG και στα Μακεδονικά Περιφερειακά υπήρχε +και ένα στο περίπτερο της Canon!!! (Και μιας και μιλάμε για σκανάρισμα, είναι απίστευτο το πόσο απροστάτευτα από άποψη δικτυακής ασφάλειας ήταν τα μηχανήματα +στα περισσότερα περίπτερα\...) + +Βέβαια, δεν επισκέφθηκαν μόνο οι άλλοι το περίπτερο του HELLUG, αλλά και οι λινουξάδες τα γειτονικά περίπτερα. Γενικά, τα μέλη του HELLUG που γύριζαν ήταν +μάλλον ενας μικρός μπελάς για τους υπόλοιπους εκθέτες, αφού οι ερωτήσεις τους ήταν κατά κανόνα \"δύσκολες\"\... Ε, και όπου υπήρχε πρόκληση, οι ενθουσιώδεις +λινουξάδες δεν την άφηναν. Όπως για παράδειγμα ένα PC (με Windows στην αρχή) που είχε την προκλητική ταμπέλα \"ΣΒΗΣΕ ΜΟΥ ΤΟΝ ΔΙΣΚΟ - ΔΕΝ ΠΑΘΑΙΝΩ ΤΙΠΟΤΑ\" που +μετά από μερικές ώρες είχε φορμαριστεί και στην θέση των Windows κάποιοι είχαν εγκαταστήσει Debian Linux! (Την επόμενη μέρα ο εκθέτης είχε εγκαταστήσει πάλι +Windows, αλλά η ταμπέλα είχε εξαφανιστεί\...). Όλα αυτά όμως έγιναν με καλή διάθεση και νομίζω ότι το αποτέλεσμα είναι να ανεβαίνει ο \"πήχης\" όσον αφορά στο +επίπεδο των παρεχόμενων υπηρεσιών και πληροφοριών προς το κοινό. + +Οι εντυπώσεις που αποκόμησαν τα μέλη του συλλόγου από την παρουσία τους στην Infosystem99 νομίζω ότι είναι στο σύνολό τους θετικές: βρεθήκαμε για μία ακόμη φορά +όλοι (έστω αρκετοί) μαζί, γνωρίσαμε ανθρώπους που ασχολούνται με το linux αλλά μέχρι τώρα δεν είχαν επικοινωνήσει μαζί μας και προσφέραμε σε πάρα πολλούς άλλους +την ευκαιρία να γνωρίσουν το linux και την φιλοσοφία του. Είχαμε ακόμη την ευκαιρία να δείξουμε στις εταιρείες πληροφορικής ότι το linux είναι ένας χώρος που +έχει ενδιαφέρον από άποψη αγοράς αλλά και ως πλατφορμα ανάπτυξης λογισμικού. Και τέλος, περάσαμε καλά στην πανέμορφη Θεσσαλονίκη! diff --git a/content/articles/19/03_cvs.md b/content/articles/19/03_cvs.md new file mode 100644 index 0000000..7d50aeb --- /dev/null +++ b/content/articles/19/03_cvs.md @@ -0,0 +1,331 @@ ++++ +title = 'CVS: Concurrent Versions System (\...)' +date = '1999-10-01T00:00:00Z' +description = '' +author = 'Παπαδογιαννάκης Βαγγέλης για το Magaz ( magaz.hellug.gr(http://magaz.hellug.gr) )' +issue = ['Magaz 19'] +issue_weight = 3 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το CVS (Concurrent Versions System) είναι ένα σύστημα που έχει αναπτυχθεί από προγραμματιστές για προγραμματιστές. Δηλαδή, θα μου πείτε; Ε, λοιπόν, είναι +φτιαγμένο για \`\`προγραμματιστικούς\'\' σκοπούς. Ας δούμε όμως αναλυτικά τι κάνει, πώς λειτουργεί, και πώς μπορεί να μας φανεί χρήσιμο.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. ΕΙΣΑΓΩΓΗ** +------------------------------------- + +- [1.1 ΤΙ ΚΑΝΕΙ ΤΟ CVS](#ss1.1) +- [1.2 ΠΩΣ ΛΕΙΤΟΥΡΓΕΙ ΤΟ CVS.](#ss1.2) + +**2. ΣΤΗΣΙΜΟ CVS ΣΤΟΝ ΥΠΟΛΟΓΙΣΤΗ ΣΑΣ** +------------------------------------------------------------ + +- [2.1 LOGIN ΚΑΙ ΕΡΓΑΣΙΑ ΣΕ ΕΝΑ CVS SERVER](#ss2.1) +- [2.2 ΑΝΑΝΕΩΣΗ ΤΟΥ ΚΩΔΙΚΑ](#ss2.2) + +**3. CVS FOR DEVELOPERS** +----------------------------------------------- + +- [3.1 Αλλαγές στον κώδικα και πώς να τις ενσωματώσουμε στο Repository του Project.](#ss3.1) +- [3.2 CONFLICTS](#ss3.2) +- [3.3 ΠΑΡΑΚΟΛΟΥΘΗΣΗ ΑΛΛΑΓΩΝ](#ss3.3) +- [3.4 ΠΡΟΣΘΕΣΗ - ΑΦΑΙΡΕΣΗ ΑΡΧΕΙΩΝ](#ss3.4) + +**4. ΕΠΙΛΟΓΟΣ** +------------------------------------- + + +### [1. ΕΙΣΑΓΩΓΗ]{#s1} + +### [1.1 ΤΙ ΚΑΝΕΙ ΤΟ CVS]{#ss1.1} + +Το cvs θα λέγαμε ότι χρησιμοποιείται για την διατήρηση και ανάπτυξη ενός προγραμματιστικού έργου (module) μεγάλης εμβέλειας, όπου πολλοί προγραμματιστές μπορούν +να εργάζονται ταυτόχρονα - ή σχεδόν ταυτόχρονα όπως θα δούμε και παρακάτω - για την ολοκλήρωση του. Διατηρεί μια δομή με αρχεία, καταλόγους αρχείων και κώδικα +που είναι προσπελάσιμα από κάθε προγραμματιστή που έχει τη διάθεση να συνεισφέρει. Φυσικά, ο καθένας μπορεί να κάνει αλλαγές που πιστεύει ότι είναι σωστές για +την καλύτερη λειτουργία του υπό αν άπτυξη προγράμματος. + +### [1.2 ΠΩΣ ΛΕΙΤΟΥΡΓΕΙ ΤΟ CVS.]{#ss1.2} + +Η αρχή λειτουργίας του είναι πολύ απλή. Σε κάποιο server κάπου στο παγκόσμιο δίκτυο, είναι συγκεντρωμένος ο κώδικας ενός προγράμματος. Όταν κάποιος από την +ομάδα των προγραμματιστών που έχουν αναλάβει το project θέλει να κάνει μια αλλαγή στον κώδικα, αρκεί να συνδεθεί με τον εν λόγω server και να κατεβάσει το +αρχείο στο οποίο θέλει να κάνει την αλλαγή. + +Κάνει την αλλαγή και μετά το ανεβάζει\... Φυσικά, οι λέξεις \"ανεβάσει\" και \"κατεβάσει\" δεν είναι οι καλύτερες για την περιγραφή της εργασίας που γίνεται, +μια και το CVS αναλαμβάνει να \`\`ενημερώσει\'\' όλα τα αρχεία που έχουν αλλάξει. Αυτό σημαίνει, ότι ο χρήστης στον τοπικό του δίσκο έχει όλα τα αρχεία του +project (ακόμα και το README) ακόμα και αν το μόνο που κάνει είναι\... ορθογραφική διόρθωση. + +Μόλις γίνει μια ενημέρωση, το CVS \`\`μαρκάρει\'\' την νέα έκδοση με ένα minor αριθμό παραπάνω. Αυτό σημαίνει ότι από 1.3 το κάνει 1.4 (Φυσικά αυτή η αλλαγή +μπορεί να είναι και από 1.5.3.4.2 σε 1.5.3.4.3). Την ίδια στιγμή, ο χρήστης που έκανε την αλλαγή, είναι υποχρεωμένος να γράψει και μια μικρή παρατήρηση. Επίσης +μαρκάρεται η ώρα της αλλαγής και το όνομα αυτού που την έκανε. Κάτι τέτοιο βοηθάει τους άλλους προγραμματιστές να μπορούν με ευκολία να απαντήσουν σε ερωτήματα +του τύπου + +- Ποιός έκανε την αλλαγή; +- Πότε έγινε; +- Γιατί έγινε; +- Τι προσφέρει στον κώδικα αυτή η αλλαγή; + +Αλλά πριν συνεχίσουμε, ας δούμε πώς μπορούμε να στήσουμε το δικό μας δέντρο CVS με απλές εντολές. + + +### [2. ΣΤΗΣΙΜΟ CVS ΣΤΟΝ ΥΠΟΛΟΓΙΣΤΗ ΣΑΣ]{#s2} + +Πριν να μπορέσουμε να τρέξουμε και να κάνουμε την ενημέρωση, πρέπει να έχουμε δηλώσει μια μεταβλητή συστήματος, την CVSROOT. Αυτή είναι η διαδρομή στον +απομακρυσμένο server που βρίσκονται τα προς λήψη αρχεία. + +Αν και λογικά για να διαβάζετε αυτό το άρθρο ξέρετε πως να θέσετε μια μεταβλητή συστήματος, θυμίζω για τους νέους: Ο τρόπος είναι ανάλογος του shell που +χρησιμοποιεί ο καθένας. + +Η πλειοψηφία έχει bash (CVSROOT=\':pserver:anonymous\@cvs.enlightenment.org:/cvs/enlightenment\' ; export CVSROOT) και υπάρχουν και λίγοι (αλλά δυνατοί!) με csh +ή κάτι αντίστοιχο (setenv CVSROOT = \':pserver:anonymous\@cvs.enlightenment.org:/cvs/enlightenment\') + +### [2.1 LOGIN ΚΑΙ ΕΡΓΑΣΙΑ ΣΕ ΕΝΑ CVS SERVER]{#ss2.1} + +Επόμενο βήμα είναι να κάνουμε login σε ένα CVS server, στην παραπάνω περίπτωση θα κάνουμε Login στον CVS server που περιέχει τον enlightenment. + +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- +> +> cvs login +> +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Σε αυτό το σημείο θα σας ζητήσει ένα password, πατήστε απλά ENTER. Δεν θα χρειαστεί να ξανακάνουμε αυτό το βήμα, εκτός αν κόψουμε πλέον τη σύνδεση! + +Από αυτό το σημείο και πέρα, θα πάρουμε όλη τη δομή καταλόγου του project στο δίσκο μας. + +**ΣΗΜΕΙΩΣΗ: Αν και για να μπορέσουμε να κάνουμε τον enlightenment να δουλεύει, πρέπει να κατεβάσουμε πολλά modules, εδώ θα αναφερόμαστε σε ένα για συντομία +χρόνου και χώρου.** + +Ο enlightenment αποτελείται από πολλά modules. Αυτά είναι: + +- e +- Eterm +- imlib +- fnlib +- esound +- audiofile + +Εμείς θα ασχοληθούμε με το module της imlib, μιας βιβλιοθήκης διαχείρισης γραφικών (μπορείτε φυσικά να διαλέξετε ένα άλλο module) + +Την κατεβάζουμε λοιπόν τοπικά με την εντολή: + +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- +> +> cvs -z3 checkout imlib +> +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Φυσικά, μπορούμε να πάρουμε και πάνω από ένα module με μια εντολή: + +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- +> +> cvs -z3 checkout imlib fnlib ... +> +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Σε αυτό το σημείο έχουμε κατεβάσει όλο τον κώδικα του module, και είμαστε έτοιμοι να κάνουμε τις αλλαγές που θα κρίνουμε απαραίτητες ή αν δεν είμαστε στο +development team απλά να κάνουμε compile τον νέο μας κώδικα! + +**ΠΡΟΣΟΧΗ: Δεν είναι ανάγκη να κάνουμε καμμία αλλαγή, οι άνθρωποι που γράφουν τον κώδικα ξέρουν τι κάνουν.** Αν και εσείς ξέρετε τι κάνετε, δεν το βρίσκω πρέπoν +να τους αλλάξουμε των κώδικά τους!! (εκτός και αν ανήκετε στο development team). + +Ας δούμε το directory structure που δημιουργήθηκε στο δίσκο μας. Έχει δημιουργηθεί ο κατάλογος `imlib/` που περιέχει όλον τον κώδικα, και ένας κατάλογος `CVS/`, +στον οποίο το cvs έχει καταγεγραμμένες πληροφορίες για καθένα από τα αρχεία ώστε να μπορεί να καταλάβει τι αλλαγές κάναμε από τότε που το κατεβάσαμε (Αυτό +χρειάζεται για την περίπτωση που θέλουμε να το ανεβάσουμε με δικές μας αλλαγές, ώστε να ξέρει τι log file να δημιουργήσει). + +Έχουμε πλέον την πιο νέα έκδοση του πακέτου αυτού! + +Φυσικά, αυτό δεν είναι πάντα καλό, μια και πολλές φορές το πακέτο που μόλις κατεβάσαμε δεν κάνει compile καν! Φυσικό, όπως αντιλαμβάνεστε, μια και μιλάμε για +ΧΟΝΤΡΟ development, όπου συνήθως ενσωματώνονται νέα χαρακτηριστικά. Είναι λοιπόν πιθανότατο ακόμα και αν κάνει compile να μας \`\`κολλάει\'\' συνεχώς (core +dumped κ.λπ.). Σε αυτή την περίπτωση ή προσπαθούμε να το φτιάξουμε μόνοι μας, ή\... περιμένουμε να βγει νεότερη έκδοση. Σε καμία περίπτωση μη στείλετε mail +στους developers να τους πείτε \`\`δεν δουλεύει αυ τό\'\'. Πιστέψτε με, το ξέρουν καλύτερα από εμάς!! + +### [2.2 ΑΝΑΝΕΩΣΗ ΤΟΥ ΚΩΔΙΚΑ]{#ss2.2} + +Την επόμενη φορά που θα πάμε στο CVS server για ανανέωση, δεν θα κάνουμε checkout, αλλά update. Κάτι τέτοιο σημαίνει ότι θα μας έρθουν μόνο τα πακέτα που έχουν +αλλάξει, και όχι όλα από την αρχή. Αυτό μπορεί να γίνει με την εντολή: + +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- +> +> cvs -z3 update -Pd imlib +> +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Φυσικά, κάνουμε την προσευχή μας να κάνει compile. Αν και πιστεύω ότι δεν θα εισακουστεί (μιλάω εκ πείρας), πάντα υπάρχουν οι εξαιρέσεις, και πάντα γίνονται +θαύματα. + +Οι απλοί χρήστες που θέλουν να έχουν την πιο νέα έκδοση του λογισμικού στο δίσκο τους, και όχι να γράφουν κώδικα, **μόλις τελείωσαν το διάβασμα αυτού του +άρθρου**. Στη συνέχεια, αυτό που εξηγείται είναι το πως το cvs καταφέρνει να τα βγάζει πέρα με τυχόν conflicts (π.χ.: δύο developers την ίδια στιγμή έκαναν +revisions στο ίδιο αρχείο), το πως μπορούμε να δημιουργήσουμε νέα αρχεία ή και ολόκληρα directories και να τα συμπεριλάβουμε στο repository του module. + +Όσοι δεν ασχολείστε με προγραμματισμό, μην συνεχίσετε το διάβασμα, εκτός αν θέλετε να μάθετε εγκυκλοπαιδικά πως δουλεύει το CVS. Δεν είναι τίποτα δυσνόητο, αλλά +κατά πάσα πιθανότητα δε θα σας ενδιαφέρει. + + +### [3. CVS FOR DEVELOPERS]{#s3} + +### [3.1 Αλλαγές στον κώδικα και πώς να τις ενσωματώσουμε στο Repository του Project.]{#ss3.1} + +Οι αλλαγές που τυχόν θα γίνουν θα γραφούν τοπικά στο δικό σας δίσκο, και όχι στο server. Αυτό πάει να πει ότι οι άλλοι developers δεν θα δουν τις αλλαγές σας, +μέχρι να σιγουρευτείτε ότι αυτό που κάνατε δουλεύει και μόνο αν του το πείτε θα τα ανεβάσει. Αυτό γίνεται με την εντολή **`/cvs commit`** + +Πριν γίνει όμως το γράψιμο στο server, πρέπει πάνω του να υπάρχει η έκδοση των αρχείων που είχατε κατεβάσει ώστε τυχόν αλλαγές που έκαναν άλλοι developers να +μην χαθούν (αυτός είναι ο σκοπός του directory CVS/ που έχει δημιουργηθεί στην ιεραρχία καταλόγων στο δίσκο σας). Κάνουμε λοιπόν ένα + +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- +> +> cvs update imlib +> +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Έστω ότι κάναμε αλλαγές στο αρχείο README, αλλά άλλος ένας έχει κάνει αλλαγές τόσο στο ίδιο αρχείο όσο και στο αρχείο Makefile στο μεσοδιάστημα. Μετά την εντολή +update, βλέπουμε την έξοδο: + +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- +> +> cvs update: Updating . +> U Makefile +> RCS file: /imlib/README +> retrieving revision 1.5 +> retrieving revision 1.6 +> Merging differences between 1.5 and 1.6 into README +> M README +> +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Όλα αυτά σημαίνουν: + +> U Makefile + +Οι αλλαγές που έκανε ο άλλος κατέβηκαν στο δίσκο μας. + +> RCS file: /imlib/README +> retrieving revision 1.5 +> retrieving revision 1.6 +> Merging differences between 1.5 and 1.6 into README + +Αυτό μας δείχνει ότι οι δύο revisions 1.5 και 1.6 του αρχείου README συγχωνεύτηκαν σε ένα αρχείο, το README, τοπικά, στο δίσκο μας. + +> M README + +Το γράμμα Μ, φανερώνει ότι το αρχείο έχει αλλαχθεί από εμάς, και ότι οι αλλάγες δεν ανέβηκαν ακόμα (φυσικό αυτό, ένα update κάναμε. + +Ας μην ξεχνάμε ότι τώρα το αρχείο README περιλαμβάνει και τις αλλαγές του άλλου!!! Καλό (απαραίτητο για να είμαι ακριβής) θα είναι να κάνουμε έναν έλεγχο να +δούμε αν δουλεύει ακόμα ο κώδικας. Φυσικά, στην περίπτωσή μας, δεν είναι ανάγκη, γιατί είναι ένα text κείμενο, που δεν επηρεάζει τη λειτουργικότητα του όλου +project (αυτό δεν σημαίνει ότι δεν θα ήταν καλό να ελέγξουμε τί αλλαγές έκανε ο άλλος). + +Καλό θα είναι πριν κάνουμε commit, να ξανακάνουμε update, ώστε στο διάστημα που κάναμε τον έλεγχο να μην έγινε καμμία άλλη αλλαγή (πράγμα σπάνιο). Η έξοδος, +καλώς εχόντων των πραγμάτων, θα είναι: + +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- +> +> cvs update: Updating . +> M README +> +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +\`Αρα, οι μόνες αλλαγές είναι στο δίσκο μας. Πάμε για commit. + +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- +> +> $ cvs commit +> README +> +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Τώρα θα μας ζητηθεί να γράψουμε ένα μικρό κείμενο που θα εξηγεί στους άλλους τι αλλαγές κάναμε και γιατί. Μόλις τελειώσουμε, θα πάρουμε από το CVS: + +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- +> +> Checking in README; +> /imlib/README,v <-- README +> new revision: 1.7; previous revision: 1.6 +> +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Τώρα, οι αλλαγές μας θα είναι πάνω στο server, και οι άλλοι προγραμματιστές όταν θα κάνουν cvs update θα τις πάρουν στο δίσκο τους. + +### [3.2 CONFLICTS]{#ss3.2} + +Κάτι τέτοιο είναι εφικτό στην περίπτωση που οι γραμμές που αλλάζουν οι δύο developers δεν είναι ίδιες. Αν όμως τύχει και αλλάζουν και οι δύο την ίδια γραμμή; + +Σε αυτή την περίπτωση έχουμε conflict, και το cvs μας αφήνει να βρούμε μόνοι μας τη λύση. Μας αφήνει με ένα αρχείο, στο οποίο φαίνεται η περιοχή που έγινε το +conflict, περιέχει και τις δύο απόψεις (τη δική μας και αυτή που έρχεται σε αντίθεση με τη δική μας, του άλλου προγραμματιστή) και είμαστε αναγκασμένοι να το +ελέγξουμε, να κάνουμε τυχόν αλλαγές και να ξανακάνουμε commit. Αυτό, αν και ακούγεται δύσκολο, είναι πολύ εύκολο (και φυσικά απαραίτητο) γιατί ο τρόπος που μας +έχει φτιάξει το αρχείο βοηθάει στην κ ατανόηση του προβλήματος που έχει δημιουργηθεί. Από εκεί και πέρα, είναι απαραίτητο να έχουμε σωστή κρίση ώστε να αφήσουμε +στον κώδικα την καλύτερη λύση από τις δύο προτεινόμενες (ακόμα και αν αυτή δεν είναι η δική μας!) + +### [3.3 ΠΑΡΑΚΟΛΟΥΘΗΣΗ ΑΛΛΑΓΩΝ]{#ss3.3} + +Για να μπορέσουμε να δούμε τις αλλαγές που έχουν γίνει σε ένα αρχείο του project, θα χρησιμοποιήσουμε την εντολή **`cvs log`** + +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- +> +> cvs log README +> +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Θα μας παρουσιαστεί ένα κατεβατό με μια περιγραφή του αρχείου, τον τρέχοντα αριθμό αναθεώρησης, καθώς και όλες τις αναθεωρήσεις που του έχουν γίνει, καθώς και +το log για κάθε μια από αυτές. + +### [3.4 ΠΡΟΣΘΕΣΗ - ΑΦΑΙΡΕΣΗ ΑΡΧΕΙΩΝ]{#ss3.4} + +Η πρόσθεση και η αφαίρεση αρχείων γίνεται όπως και με τις αλλαγές σε αρχεία, αφού πρώτα καταγραφούν οι αλλαγές στο cvs directory που έχει δημιουργήσει. Με αυτό +τον τρόπο (και μόνο) μπορεί το cvs να ξεχωρίσει τι αλλαγές έχουν γίνει. + +#### ΠΡΟΣΘΕΣΗ + +Το να προσθέσουμε απλά ένα αρχείο στο directory structure του δίσκου μας, δεν είναι αρκετό. Σε αυτή την περίπτωση, το cvs θα μας πει με πολύ κομψό τρόπο ότι δεν +έχει ακουστά αυτό το αρχείο ακόμα (CVS doesn\'t know about this file yet) στο επόμενο update. + +Για να το προσθέσουμε, πρέπει να κάνουμε cvs add. Έστω ότι δημιουργήσαμε το αρχείο colors.c. Για να ολοκληρωθεί η διαδικασία πρόσθεσης του αρχείου, κάνουμε τα +εξής βήματα (με \$ αρχίζουν οι εντολές που δίνουμε, τα άλλα είναι η έξοδος του cvs). + +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- +> +> $ cvs add colors.c +> cvs add: scheduling file `colors.c' for addition +> cvs add: use 'cvs commit' to add this file permanently +> $ cvs update +> cvs update: Updating . +> A colors.c --- The file is marked for addition. +> $ cvs commit colors.c +> (...Το cvs θα μας ζητήσει να δώσουμε εδώ ένα κείμενο για το log...) +> RCS file: /imlib/colors.c +> done +> Checking in colors.c; +> /imlib/colors.c,v <-- colors.c +> initial revision: 1.1 +> done +> $ +> +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Παρατηρούμε και την αρχική αρίθμηση, που είναι από το 1.1. Από αυτή τη στιγμή το αρχείο που προσθέσαμε βρίσκεται στο repository του project, και οι χρήστες που +θα κάνουν update, θα το πάρουν μαζί με όλα τα άλλα του project. + +#### ΑΦΑΙΡΕΣΗ + +Αν απλά αφαιρέσουμε ένα αρχείο από το directory structure του σκληρού μας, φυσικά και δεν φεύγει από το server. Μάλιστα, όταν κάνουμε cvs update, το αρχείο θα +επαναδημιουργηθεί. Αυτό βοηθάει πολύ σε περιπτώσεις που έχουμε κάνει πολλές αλλαγές σε ένα αρχείο και αποφασίσουμε ότι κάναμε λάθος και τελικά δεν έπρεπε να +γίνουν αλλαγές. Σε αυτή την περίπτωση απλά σβήνουμε το αρχείο και κάνουμε ένα update. + +Είναι κατανοητό ότι η αφαίρεση ενός αρχείου είναι επικίνδυνο παιχνίδι, και γιαυτό το cvs δεν αφήνει πλήρη ελευθερία στον χρήστη. Φυσικά, μπορεί να δημιουργηθεί +μια \`\`αφαίρεση\'\', η οποία όμως θα είναι πλασματική. Δηλαδή: Για να διαγράφεί ένα αρχείο, πρέπει πρώτα να το σβήσουμε από το δίσκο μας, και να γράψουμε την +εντολή + +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- +> +> cvs rm `filename' +> cvs commit `filename' +> +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Πάντως, αυτό δεν το καταστρέφει από το server. Απλά φτιάχνει μια νέα \`\`αναθεώρηση\'\' στην οποία χαρακτηρίζεται ως \`\`ανύπαρκτο\'\'. Υπάρχει ακόμα όμως, και +μπορεί να ανακληθεί π.χ. με την εντολή cvs log. + + +### [4. ΕΠΙΛΟΓΟΣ]{#s4} + diff --git a/content/articles/19/04_boot.md b/content/articles/19/04_boot.md new file mode 100644 index 0000000..1179545 --- /dev/null +++ b/content/articles/19/04_boot.md @@ -0,0 +1,112 @@ ++++ +title = 'Διαδικασία εκκίνησης του Υπολογιστή.' +date = '1999-11-01T00:00:00Z' +description = '' +author = 'DJ Art(mailto:djart@freemail.gr)' +issue = ['Magaz 19'] +issue_weight = 4 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το άρθρο αυτό αποτελεί συνέχεια του αντίστοιχου άρθρου του τεύχους 13. Έχει σκοπό να εμβαθύνει περισσότερο στο εσωτερικό και στη λειτουργία του αρχείου +/etc/inittab και του καταλόγου /etc/rc.d/* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. init και /etc/inittab** +--------------------------------------------------- + +**2. Τα αρχεία /etc/inittab και /etc/rc.d/rc.sysinit** +----------------------------------------------------------------------------- + +**3. Το αρχείο /etc/rc.d/rc.local** +---------------------------------------------------------- + +**4. Οι κατάλογοι rcX.d** +------------------------------------------------ + + +### [1. init και /etc/inittab]{#s1} + +Η man page του init αναφέρει: \"Το init είναι ο πατέρας όλων των processes\". Ο πρωταρχικός του ρόλος είναι να δημιουργήσει processes από τις οδηγίες που του +δίνει το /etc/inittab. Ο τρόπος με τον οποίο το Linux εκκινεί τα processes μετά από το boot του kernel, προέρχεται από μία άλλη έκδοση του UNIX, την System V. +Στην πραγματικότητα η εντολή init είναι συμβατή με την System V init εντολή. Παρόλο που η init χαρακτηρίζεται ως το τελευταίο βήμα της διαδικασίας του boot του +kernel, είναι η πρώτη εντολή που ρυ θμίζει και προετοιμάζει το σύστημά σας για χρήση. Η init δουλεύει διαβάζοντας το /etc/inittab και τρέχοντας τα scripts του +καταλόγου /etc/rc.d σύμφωνα βέβαια με το επιθυμητό runlevel. Κάθε script μπορεί να σταματήσει ή να ξεκινήσει μια υπηρεσία, όπως π.χ. την υπηρεσία για το mail, +τα news ή το Web. + +Αυτή είναι μιά άποψη του καταλόγου /etc/rc.d (προσέξτε ότι από διανομή σε διανομή, τα runlevels δεν είναι ίδια): + + init.d/ + rc* + rc.local* + rc.sysinit* + rc0.d/ + rc1.d/ + rc2.d/ + rc3.d/ + rc4.d/ + rc5.d/ + rc6.d/ + +Στον κατάλογο /etc/rc.d/init.d θα βρείτε έναν αριθμό από scripts που χρησιμεύουν στο να σταματούν ή να ξεκινούν τις διάφορες υπηρεσίες. + + +### [2. Τα αρχεία /etc/inittab και /etc/rc.d/rc.sysinit]{#s2} + +Το σπουδαιότερο script είναι το rc.sysinit, καθώς είναι το πρώτο script που εκτελείται στο Linux. Οι λειτουργίες του script αυτού είναι οι εξής: + +- Ορίζει το PATH (κάνει export τη μεταβλητή PATH) +- Ρυθμίζει το networking +- Ξεκινάει το swapping για τη virtual memory +- Ορίζει το hostname του συστήματος +- Ελέγχει το root partition για πιθανές επιδιορθώσεις (fsck) +- Ελέγχει τα quotas του root filesystem +- Ενεργοποιεί τα user και group quotas για το root filesystem +- Ξανακάνει mount το root filesystem, αλλά αυτήν την φορά read/write +- Ελέγχει τον πίνακα των mounted filesystems, τον /etc/mtab +- Ετοιμάζει το σύστημα για το φόρτωμα των modules +- Βρίσκει τα modules dependencies +- Ελέγχει τα υπόλοιπα filesystems για πιθανές επιδιορθώσεις +- Κάνει mount όλα τα υπόλοιπα filesystems +- Σβήνει πολλά /etc αρχεία, όπως π.χ. το /etc/fastboot +- Σβήνει τα UUCP lock αρχεία +- Ρυθμίζει την ώρα του συστήματος +- Ξεκινάει το swap partition +- Ετοιμάζει τις serial ports +- Φορτώνει τα modules + +Το rc.sysinit script εκτελείται από την init δια μέσου του /etc/inittab. Το inittab περιέχει την εξής γραμμή: + + # System initialization. + si::sysinit:/etc/rc.d/rc.sysinit + + +### [3. Το αρχείο /etc/rc.d/rc.local]{#s3} + +Μέχρι τώρα είδαμε ότι μετά το boot του kernel, η εντολή τρέχει το script rc.sysinit. Στη συνέχεια, η εντολή init εκτελεί το script rc.local. Αν κοιτάξετε το +περιεχόμενο του rc.local, θα διαπιστώσετε ότι αυτό το script μαζεύει πληροφορίες για το όνομα της διανομής σας και για την αρχιτεκτονική του υπολογιστή σας και +τοποθετεί αυτές τις πληροφορίες στο αρχείο /etc/issue. Το περιεχόμενο του αρχείου αυτού αναδεικνύεται κατά τη διαδικασία του login από το χρήστη. + +Αναλυτικότερα, σε ένα RedHat σύστημα, το rc.local διαβάζει το αρχείο /etc/redhat-release, που περιέχει την έκδοση της διανομής, και στη συνέχεια εκτελεί τις +εντολές **uname -r**, που εμφανίζει την έκδοση του kernel, και **uname -m**, που εμφανίζει τον τύπο του επεξεργαστή (π.χ. 686). Στο τέλος, τοποθετεί όλες αυτές +τις πληροφορίες στο αρχείο /etc/issue (με echo \>\> ). + +**Σημείωση:** Ο σκοπός του rc.local δεν είναι να αποτελεί ένα μέρος για να βάζει κανείς εντολές για τη ρύθμιση (initialization) του συστήματος, παρόλο που +μερικοί το κάνουν. Στο BSD UNIX, το rc.local χρησιμοποιείται για τον έλεγχο των δικτυακών υπηρεσιών. Το Linux δεν χρησιμοποιούσε πάντα τα ίδια initialization +scripts, οπότε μπορεί να βρείτε διαφορές μεταξύ των RedHat, SuSE, Slackware και των άλλων διανομών. + + +### [4. Οι κατάλογοι rcX.d]{#s4} + +Η επόμενη εργασία που κάνει η εντολή init είναι η εκτέλεση των ειδικών scripts για κάθε runlevel. Μέσα στον κατάλογο /etc/rc.d, όπως είδαμε, υπάρχουν οι +κατάλογοι rcX.d, όπου X είναι ο αριθμός του αντίστοιχου runlevel (από 0 έως 6). Αν κοιτάξετε τα περιεχόμενα ενός από αυτούς του καταλόγους, θα δείτε οτι +περιέχουν links στα διάφορα scripts του καταλόγου /etc/rc.d/init.d. Η μορφή των links είναι κάπως έτσι: + + S10network ή + K10network + +Το γράμμα S ή K αντιστοιχεί στην εκκίνηση ή στον τερματισμό μιάς υπηρεσίας (S από το Start και K από το Kill). Ο αριθμός δίπλα από το γράμμα χρησιμεύει για να +τρέχουν τα scripts στη σωστή σειρά (για παράδειγμα να μην κάνει unmount τα partitions πριν κλείσει το network file-sharing). + diff --git a/content/articles/19/05_benchmarks.md b/content/articles/19/05_benchmarks.md new file mode 100644 index 0000000..924a393 --- /dev/null +++ b/content/articles/19/05_benchmarks.md @@ -0,0 +1,181 @@ ++++ +title = 'Benchmark(et)ing\...' +date = '1999-11-01T00:00:00Z' +description = '' +author = 'Κυριάκος Κ. Σκαφάς(mailto:kskafas@usa.net)' +issue = ['Magaz 19'] +issue_weight = 5 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Κάποια σχόλια σχετικά με τα benchmarks - συγκριτικά μεταξύ NT και Linux που είδαν πρόσφατα το φως της δημοσιότητας.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Υπόσχομαι οτι δεν θα μου γίνει συνήθεια, αλλά, τουλάχιστον αυτή τη πρώτη φορά, θα πρέπει να επεκταθώ σε κάτι που δεν έχει παρά ελάχιστη μόνο σχέση με το θέμα +που θα πραγματευθώ παρακάτω. Την αγωνία που βιώνει ο αρθρογράφος πριν, αλλά και κατά την αναζήτηση και ανάπτυξη του θέματος. Ποιό ύφος θα πρέπει να υιοθετήσω, +να γράψω σε πρώτο ή τρίτο πρόσωπο, να φαίνομαι απόμακρος ή προσιτός; Επέλεξα να παραμείνω απλώς ο εαυτός μου. Για να είμαι ειλικρινής, όμως, δεν ήταν αυτό το +κύριο πρόβλημα που αντιμετώπισα. Πιό θέμα να διαλέξω; Πόσο να το αναπτύξω; Η απάντηση ήταν σχεδόν αυτονόητη: αφού αυτό θα είναι το πρώτο άρθρο, το περιεχόμενο +θα πρέπει να έχει πανηγυρικό ύφος. Θα πρέπει να γράψω για την ανωτερότητα του Linux έναντι άλλων λειτουργικών συστημάτων, όπως αυτών της Microsoft. Και τι θα +αποτελούσε την καλύτερη απόδειξη παρά μια παράθεση αποτελεσμάτων γνωστών έγκυρων και έγκριτων συγκριτικών benchmarks; Και ενώ είχα αποφασίσει για τα πάντα, +προέκυψαν τα λεγόμενα Mindcraft Benchmarks. + +Η [Mindcraft](http://www.mindcraft.com) είναι μια εταιρία η οποία αναλαμβάνει για λογαριασμό των εκάστοτε πελατών της να φέρει σε πέρας μελέτες που τους αφορούν +και να δημοσιεύσει τα αποτελέσματα μετά από άδεια τους ( ). Η παραπάνω εταιρία ανέλαβε για λογαριασμό της Microsoft να φέρει +σε πέρας τρεις μελέτες που αφορούν στις επιδόσεις του επαγγελματικού λειτουργικού συστήματος της Microsoft, Windows NT 4.0 αναβαθμισμένα με το Service Pack 4 σε +σχέση με αυτό της [Sun](http://www.sun.com/), Solaris 2.6. ( ), σε σχέση με αυτό της +[Novell](http://www.novell.com/), Netware 5.0 ( ) και τέλος σε σχέση με το +[Linux](http://www.linux.com) και συγκεκριμμένα με το [RedHat](http://www.redhat.com/) Linux 5.2 (έκδοση πυρήνα 2.0.36) αναβαθμισμένο στον πυρήνα (kernel) 2.2.2 +( ), σε αντίστοιχο, παρόμοιο ή και όμοιο υλικό (hardware), των οποίων τα αποτελέσματα δημοσιεύθηκαν +με διαφορά δύο εβδομάδων μεταξύ τους. + +Ευνόητο είναι ο,τι αφού δημοσιεύθηκαν τα αποτελέσματα αυτά ήταν ευνοϊκά για τον πελάτη. Όπως ήταν άλλωστε αναμενόμενο, και στις τρεις περιπτώσεις αντέδρασαν οι +ηττημένοι ( [Novell](http://www.novell.com/advantage/nw5/nw5-mindcraftcheck.html)). Στη πρώτη περίπτωση, η ήττα της Sun εξέπληξε. Το Solaris είναι ένα αυθεντικό +και με μακρά ιστορία Unix, βασισμένο στο AT&T Unix System V με διάφορα στοιχεία από BSD Unix, με αρχιτεκτονική 64bit, με σύστημα αρχειοθέτησης ικανό για γρήγορη +ανάκαμψη από βλάβες (Journalling FileSystem - JFS), με συμμετρική πολυδιεργασία (Symmetrical MultiProcessing - SMP) για ταυτόχρονη χρήση μέχρι 128 επεξεργαστων, +ιδιότητα τέτοια ωστέ πολλοί δικτυωμένοι υπολογιστές να συμπεριφέρονται σαν ένας (clustering) και πολλά άλλα, αναρίθμητα, χαρακτηριστικά τα οποία βελτιώνουν την +ταχύτητα, καθώς και άλλα που δεν την επηρεάζουν. Αντίθετα, στη δεύτερη περίπτωση, η ήττα της Novell ήταν αναμενόμενη, επειδή παρά το γεγονός ο,τι το Netware +έχει την δυνατότητα της πλήρους διαχείρισης από έναν υπολογιστή και όλων των άλλων σε ένα δίκτυο (Novell Directory Services - NDS) και μία από τις καλύτερες +εικονικές μηχανές για την γλώσσα προγραμματισμού Java (Java Virtual Machine - JVM), δεν είχαν καταβληθεί ιδιαίτερες προσπάθειες για την βελτίωση της ταχύτητας +του. Και ενώ αντέδρασαν επίσημα οι παραπάνω εταιρίες δεν δημιουργήθηκε ποτέ θέμα, επειδή δεν αντέδρασαν οι χρήστες και οι χρήστες δεν αντέδρασαν είτε επειδή +ήταν, απλώς, λίγοι, είτε επειδή είχαν ήδη επενδύσει σε ένα από τα παραπάνω λειτουργικά συστήματα, ήταν ευχαριστημένοι και ανεξάρτητα από τα δημοσιεύματα, δεν +ήταν διατεθιμένοι να τα αλλάξουν. Στη τρίτη, όμως, περίπτωση, σχεδόν κυριολεκτικά, αναταράχθηκε το Διαδίκτυο. + +Σύμφωνα με τη μελέτη αυτή, τα Windows NT [αποδείχθηκαν](http://www.mindcraft.com/whitepapers/first-nts4rhlinux.html#exec_summary) κατά 3,7 φορές ταχύτερα του +Linux στον τομέα εξυπηρέτησης στατικών δεδομένων HTTP και κατά 2,5 φορές στον τομέα εξυπηρέτησης SMB. HTTP και SMB ονομάζονται τα προτόκολλα διαμεταγωγής +δεδομένων, όπως ιστοσελίδων και εικόνων, στον παγκόσμιο ιστό (World-Wide Web - WWW) και αρχείων στα δίκτυα Windows, αντίστοιχα. Το λογισμικό (software) για τα +Windows NT αποτελούσαν ο Microsoft Internet Information Server 4.0 και οι ενσωματωμένες υπηρεσίες SMB και για το Linux ο Apache 1.3.4 και η Samba 2.0.1. + +Το υλικό ήταν κοινό, ένας εξυπηρετητής (server) της Dell, ο PowerEdge 6300/400, ο οποίος διαθέτει τέσσερεις επξεργαστες Pentium II Xeon 400MHz, 1 MByte Cache, 1 +GByte RAM, έναν σκληρό δίσκο 9 GBytes και σε συστειχία (Redundant Array of Inexpensive Disks - RAID) οκτώ σκληρούς δίσκους 4 GBytes, τέσσερεις κάρτες δικτύου +Ethernet 100 MBit, και ο οποίος [κοστίζει \$50.000](http://www.mindcraft.com/whitepapers/first-nts4rhlinux.html#products). + +Στο Διαδίκτυο, ο Apache, απολαμβάνει ένα ποσοστό περίπου 54%, το μεγαλύτερο, ακόμη μεγαλύτερο από το άθροισμα των ποσοστών των Netscape και Microsoft, και +υπερδιπλάσιο από του καθενός ξεχωριστά. Ο μεγαλύτερος από τους υποστηρικτές του Apache είναι η International Business Machines (IBM), η οποία δεν χρειάζεται +συστασεις και η οποία τον ενσωμάτωσε στην WebShere, στην λύση της για ηλεκτρονικό εμπόριο (e-commerce). Η Samba αποτελεί τη μοναδική εναλλακτική λύση στη θέση +ενός αυθεντικού εξυπηρετητή SMB και απολαμβάνει, μεταξύ άλλων, της υποστήριξης της Silicon Graphics (πρόσφατα μετoνομάσθηκε σε SGI), της οποίας τα μηχανήματα +χρησιμοποιούνται στην κατασκευή οπτικών F/X σε ταινίες, όπως Terminator 2 και Jurassic Park και η οποία με αυτό συνοδεύει το λειτουργικό σύστημα της. Πρέπει να +σημειωθεί οτι η Microsoft δε δημοσίευσε ποτέ κάποια περιγραφή των χαρακτηριστικών και των λειτουργειών του SMB με αποτέλεσμα οι προγραμματιστές της Samba να +αναγκασθούν να παρακολουθήσουν με ιδιαίτερη προσοχή τα πακέτα δεδομένων που πηγαινοέρχονταν σε δίκτυα που χρησιμοποιούσαν SMB για να καταφέρουν να αναπαράγουν +τη συμπεριφορά του SMB με τη Samba. + +Επίσης, υπάρχουν διάσπαρτες στο Διαδίκτυο πολλές άλλες μελέτες πρόσφατες και παλαιότερες, οι οποίες συνίστανται ή, απλώς, υποστηρίζονται από benchmarks, των +οποίον [τα πορίσματα](http://www.unix-vs-nt.org/kirch/) συγκρούονται με αυτά των Mindcraft Benchmarks. + +Έτσι, πολλοί ήταν αυτοί που έσπευσαν να καταδικάσουν την Mindcraft. Η Mindcaft επιτέλεσε θαυμαστό έργο στην παραμετροποίηση των Windows NT, ενώ αποδείχθηκε +παντελώς ανίκανη στην παραμετροποίηση του Linux, του Apache και της Samba, αφού σε πολλές περιπτώσεις άλλαξε τις προεπιλεγμένες παραμέτους σε άλλες οι οποίες +μείωναν τις επιδόσεις. Το Linux δεν διέθετε \"ώριμο\" οδηγό του ελεγκτή της συστοιχίας των δίσκων της AMI. Θα μπορούσε κάλλιστα στη θέση αυτού του ελεγκτή να +τοποθετηθεί κάποιος άλλος, που υποστηρίζεται πλήρως, όπως αυτοί της Mylex και της Vortex. Στα Windows ΝΤ διατέθηκε όλη, ενώ στο Linux διατέθηκε μόνο το 96% της +μνήμης του συστήματος. Σε ένα τέτοιο μηχάνημα, αυτό αντιστοιχεί σε μείωση κατά 4% των επιδόσεων. Στο Linux διατέθηκε μόνο το 60% της μνήμης για προσωρινή +αποθήκευση κάποιων δεδομένων των σκληρών δίσκων (buffering). Ο πυρήνας 2.2.2, στον οποίο αναβαθμίστηκε το Linux, παρουσίαζε προβλήματα στην εξυπηρέτηση πελατών +Windows. Όλοι οι πελάτες ήταν Windows 95. Και ο Apache και η Samba μεταγλωττίστηκαν από τη Mindcraft διαφορετικά από ο,τι από την RedHat. Αυτό είχε σαν +επακόλουθο μειώση των επιδόσεων. Και στον Apache προσδιορίστηκε λάθος ο αριθμός των αρχικών και των διαθέσιμων εξυπηρετητών (οι StartServers θα έπρεπε να είναι +τουλαχιστον 150 και οι SpareServers μέχρι και άλλοι τόσοι) και στη Samba απενεργοποιήθηκε μια επιλογή που μείωσε καταλυτικά τις επιδόσεις (\"widelinks=no\"). +Στα μάτια των περισσοτέρων πεπειραμένων χρηστών Linux, η ενέργεια αυτή χαρακτηρίσθηκε εσκεμμένη και διαβολική. Η Mindcraft διαμαρτηρήθηκε, λέγοντας πως το +προσωπικό της ζήτησε τη γνώμη των χρηστών Linux σχετικά, σε news groups και mailing lists, και οτι αυτοί δεν απάντησαν, κάτι το οποίο έρχεται σε αντίθεση με την +εδραιωμένη από παλιά, ακόμη, φήμη τους που τους θέλει πάντα πρόθυμους να προσφέρουν βοήθεια (http://www.infoworld.com/cgi-bin/displayTC.pl?/97poy.supp.htm). Οι +χρήστες Linux αντεπιτέθηκαν, λέγοντας πως οι ερωτήσεις οι οποίες ετέθησαν δεν ήταν παρά γενικολογίες, ενώ παράλληλα δημιουργήθηκαν σχεδόν μισή δωδεκάδα sites με +οδηγίες για τη καλύτερη δυνατή παραμετροποίηση ενός Linux συστήματος, ανάλογα με τη χρήση (http://www.linux.com/tuneup/). Στην διαδρομή προέκυψαν και άλλα +στοιχεία. Το προσωπικό της Mindcraft επικοινωνούσε με τον υπόλοιπο κόσμο από τις εγκαστάσεις της Microsoft, και γρήγορα έγινε αντιληπτό ο,τι και τα Mindcraft +Benchmarks πραγματοποιήθηκαν στις εγκαταστάσεις της Microsoft. + +Ακόμα και η Microsoft, δια του αντιπροσώπου της Ian Hatton, [παραδέχθηκε την μη εγκυρότητα των +Benchmarks](http://www.itweb.co.za/sections/enterprise/1999/9904221410.asp). + +Έτσι η Mindcraft επανέλαβε τα Benchmarks με την βοήθεια γνωστών προσωπικοτήτων της κοινότητας χρηστών Linux, όπως του Linus Torvalds, αρχικού δημιουργού και +μετέπειτα συντονιστή της ανάπτυξης του πυρήνα, και το Jeremy Allison, κύριου προγραμματιστή της Samba, αλλά δεν δημοσίευσε τα αποτελέσματα, επειδή ήταν πολλοί +εκείνοι που την κατηγόρουσαν για αδιαφάνεια. + +Η Mindcraft έπρεπε να υπερασπίσει το κύρος της, άλλωστε αυτό είναι το είδος το οποίο εμπορεύεται. Έμμεσα παραδεχόμενη την προφανή και πρωτοφανή της ανικανότητα +να φέρει σε πέρας την μελέτη που τις ανατέθηκε, πρότεινε την επανάληψη των benchmarks, από τον ανεξάρτητο εκδοτικό οργανισμό [Ziff-Davis](http://www.zdnet.com/) +και πιο συγκεκριμμένα από το περιοδικό [PC Week](http://www.zdnet.com/pcweek/), παρουσία αντιπροσώπων της Microsoft, της RedHat και της +[Mindcraft](http://www.mindcraft.com/openbenchmark.html). Αν επιβεβαιωνόταν η Mindcraft το κύρος της θα αποκαθίστατο και η Microsoft θα είχε στα χέρια της μια +σχετικά αξιόπιστη απόδειξη της ανωτερότητας του δικού της λειτουργικού συστήματος, στη θέση μιας παρωδίας. + +Πράγματι, τα benchmarks επαναλήφθηκαν, δικαίωσαν την Mindcraft ως προς την ορθότητα των αποτελεσμάτων με την συγκεκριμμένη παραμετροποίηση, απέδειξαν οτι το +Linux θα μπορούσε να είχε αποδώσει καλύτερα, όπως επίσης οτι σε καμμία περίπτωση δεν θα μπορούσε να αποδώσει καλύτερα από τα Windows NT στο ίδιο υλικό. Βαθύτερη +μελέτη των αποτελεσματων αποκάλυψε τους λόγους. Ο κυριότερος λόγος είναι ο,τι το Linux δεν υποστηρίζει πολυνηματική δικτύωση (multithreaded TCP/IP stack), +δηλαδή δεν μπορεί να διαβιβάσει σε μία ορισμένη στιγμή δεδομένα παρά μόνο μέσω μίας δικτυακής σύνδεσης ( +). Ένας δευτερεύων λόγος είναι ο,τι το Linux δεν διαθέτει αρκετά καλή συμμετρική πολυδιεργασία, +δηλαδή δεν μπορεί να εκμεταλλευθεί στο έπακρο κανέναν επεξεργαστή μετά τον πρώτο, αλλά αντίστοιχο πρόβλημα αντιμετωπίζουν και τα Windows NT. + +Κανένας δεν απελπίστηκε στον χώρο του Linux. Ανάμεσα σε αυτούς υπήρξαν κάποιοι που [διακομώδησαν το όλο +συμβάν](http://segfault.org/story.phtml?mode=2&id=377c4f9f-039ab200) και αρκετοί που από τη πρώτη στιγμή καλωσόρισαν τα Mindcraft Benchmarks ως ευεργετικά για +την βελτίωση του Linux, όπως άλλα παρόμοια [benchmarks του παρελθόντος](http://members.tripod.com/~e_l_green/mindcraft.html). Το πρόβλημα της δικτύωσης ήταν ήδη +γνωστό και διορθωνεται πρόχειρα στη τρέχουσα σειρά σταθερών πυρήνων (2.2.x), αλλά και αποφασιστικά στην πειραματική σειρά των πυρήνων (2.3.x). Το πρόβλημα της +συμμετρικής πολυδιεργασίας έχει αντιμετωπιστεί στη τρέχουσα σειρά σταθερών πυρήνων και σε άκρως ικανοποιητικό βαθμό στις εκδόσεις μετά την 2.2.10 ( +, και ). Στην επόμενη σειρά +σταθερών πυρήνων (2.4.x), η οποία θα κυκλοφορίσει μέχρι το τέλος του τρέχοντος έτους, θα περιλαμβάνονται αρκετές ακόμη βελτιώσεις και προσθήκες. + +Ποιά είναι λοιπόν τα συμπεράσματα; + +Μέχρι να εμφανιστεί η επόμενη σειρά σταθερών πυρήνων και πρίν απο την κυκλοφορία των Windows 2000 (των μέχρι πρόσφατα αποκαλούμενων Windows NT 5.0), το Linux θα +υστερεί σε σχέση με τα Windows NT στο συγκεκριμμένο και εξωπραγματικό μηχάνημα που κοστίζει εκπληκτικά πολύ. + +Είναι παραδεκτό ο,τι πιο συμφέρουσα και από άποψη απόδοσης, αλλά και από άποψη τιμής είναι μια λύση που συνίσταται σε ένα σύνολο σημαντικά φθηνότερων +δικτυομένων μηχανημάτων, τα οποία επωμίζονται εξίσου τον φόρτο εργασίας (computer farm). Με το ίδιο κόστος τη θέση του εξωπραγματικού αυτού μηχανήματος θα +μπορούσαν να αναλάβουν 20 συνηθισμένα μηχανήματα. Στη περίπτωση βλάβης ή αναβάθμισης του εξωπραγματικού μηχανήματος θα παρουσιάζονταν διακοπή παροχής +υπηρεσειών, ενώ αντίθετα στη περίπτωση ενός μηχανήματος από ένα σύνολο, τα άλλα θα συνέχιζαν κανονικά. + +Επιπλέον, τέσσερεις κάρτες δικτύου των 100 MBits αποδίδουν συνολικά 400 MBits. Τα περισσότερα τοπικά δίκτυα (Local Area Networks - LANs) περιορίζονται σε έναν +δίαυλο των 100 ή 10 Mbits (Fast ή απλό Ethernet), οι περισσότεροι παροχείς υπηρεσιών Διαδικτύου (Internet Services Providers - ISPs) περιορίζονται σε λιγότερα +από 2 MBits (συνήθως E1/T1 1,544 MBits), οι επικοινωνίες μέσω του ψηφιακού δικτύου υπηρεσιών (Intergraded Services Digital Network - ISDN) περιορίζονται σε +0,128 ή 0,064 MBits (128 και 64 KBit αντίστοιχα) και τα τηλεφωνικά modems, των οποίων η ταχύτητα αποκλείεται να αυξηθεί λόγω των περιρισμών που επιβάλει το +τηλεφωνικό δίκτυο, περιορίζονται σε περίπου 0,0576 MBits (57,6 KBits που αντιστοιχούν σε περίπου 57,6 Kbps). + +Στα παραπάνω πρέπει να προστεθεί ο,τι η συστοιχία δίσκων του μηχανήματος ήταν τύπου 0 (RAID 0), η οποία δίνει ιδιαίτερη έμφαση στη ταχύτητα και όχι στη +αξιοπιστία. Σε ένα επιχειρισιακό περιβάλλον προτεραιότητα έχει η αξιοπιστία και όχι η ταχύτητα και για αυτόν τον λόγο πιθανότατα θα χρησιμοποιούταν συστοιχία +δίσκων είτε τύπου 5 (RAID 5) είτε συνδιασμός τύπων 0 και 5 (RAID 0,5). + +Στα παραπάνω πρέπει να προστεθεί οτι σε ένα επιχειρισιακό περιβάλλον τα δεδομένα δεν είναι στατικά, δηλαδή το περιεχόμενο των ιστοσελίδων δεν είναι σταθερό και +δεδομένο εκ των προτέρων, αλλά δυναμικά, δηλαδή το περιεχόμενο συνεχώς αλλάζει και είναι μέλημα του εξυπηρετητή - πιθανότατα με τη βοήθεια μιας γλώσσας δέσμης +εντολών (batch ή scripting language) - να αντλεί τα δεδομένα από μια βάση δεδομένων (database) ή να τα συλλέγει άμεσα από τις εκάστοτε πηγές, να τα μετατρέπει +και να τα παρουσιάζει ανάλογα, σαν ιστοσελίδες ή εικόνες. Η επιδόσεις του Apache είναι μέτριες σε στατικά και εκπληκτικές σε δυναμικά δεδομένα. Συνεπώς, δεν θα +έπρεπε να χρησιμοποποιηθεί ο Apache στα Mindcraft Benchmarks, αλλά κάποιος άλλος εξυπηρετητής, όπως ο ZHTTPd. + +Οι συνεργάτες του γερμανικού περιοδικού c\'t αντιλαμβάνόμενοι κάποια από τα παραπάνω διεξήγαγαν μία [παρόμοια +μελέτη](http://www.heise.de/ct/english//99/13/186-1/). + +Σύμφωνα με τη μελέτη αυτή, το Linux αποδείχθηκε κατάτι ταχύτερο στον τομέα εξυπηρέτησης στατικών και κατά πολύ ταχύτερο στον τομέα εξυπηρέτησης δυναμικών +δεδομένων από τα Windows NT. Το λογισμικό για το Linux ο Apache 1.3.6 και για τα Windows NT αποτελούσαν ο Microsoft Internet Information Server 4.0. + +Πάλι το υλικό ήταν κοινό, ένας εξυπηρετητής της Siemens, ο Primergy 870, ο οποίος διαθέτει τέσσερεις επεξεργαστές Pentium II Xeon 450MHz, 512 ΚByte Cache, 2 +GBytes RAM, σε συστοιχία τέσσερεις σκληρούς δίσκους και δύο κάρτες δικτύου Ethernet 100 MBit και ο οποίος κοστίζει 100.000,- DM. + +Αρχικά στο μηχάνημα ήταν προεγκατεστημένα τα Windows NT 4.0 αναβαθμισμένα με το Service Pack 3 και το SuSE Linux 6.1 (έκδοση πυρήνα 2.2.5). Τα πρώτα +αποτελέσματα ήταν αποκαρδιωτικά, ειδικά για το Linux, και έτσι και τα δύο λειτουργικά συστήματα αναβαθμίστηκαν εκ νέου. Τα Windows NT με το Service Pack 4 και +το Linux στον πυρήνα 2.2.9. + +Η μελέτη του εν λόγω περιοδικού δεν είναι μόνο ανατρεπτική, αλλά αποκαλύπτει την ταχύτητα με την οποία εξελίσεται και βελτιώνεται ο πυρήνας του Linux. Η +Mindcraft χρησιμοποίησε την έκδοση 2.2.2 και όταν το c\'t αντίκρισε την έκδοση 2.2.5 την βρήκε εξαιρετικά αργή και έτσι χρησιμοποίησε την 2.2.9. Οι τρεις +εκδόσεις διαφέρουν μεταξύ τους μόνο ως προς το τρίτο δεκαδικό ψηφίο και το μέγιστο διάστημα που μεσολάβησε ανάμεσα στην εμφάνιση τους δεν υπερβαίνει τον μήνα +(!). Δεν υφίσταται σύγκριση με άλλα προγράμματα (και όχι αποκλειστικά με άλλα λειτουργικά συστήματα) τα οποία διατίθενται χωρίς τον πηγαίο κώδικα (closed +source), τα οποία συχνά κοστίζουν υπερβολικά, των οποίων αργούν να κυκλοφορήσουν οι νέες εκδόσεις και όταν κυκλοφορούν είναι σχεδόν ίδιες με τις προηγούμενες. + +Επιπλέον, η Mindcraft παρέληψε τη σύγκριση στους τομείς της διαθεσιμότητας, της ασφάλειας, της αξιοπιστίας, της σταθερότητας, της επεκτασιμότητας και του +κόστους, [τομείς στους οποίους τα Windows NT υστερούν](http://www.zdnet.com/sr/stories/news/0,4538,2309474,00.html). Το Linux και ειδικά οι εφαρμογές του, +πολλές από τις οποίες προηγήθηκαν του ίδιου, είναι διαθέσιμες για πολλές πλατφόρμες, δοκιμάστηκαν εξαντλητικά και κάθε φορά όταν εντοπίζεται ένα πρόβλημα, μια +παράλειψη, μια δυσλειτουργία, αμέσως διορθώνεται, παρακάμπτεται, \"μπαλώνεται\", από τους ίδιους τους προγραμματιστές ή και από τους χρήστες και είναι απολύτως +δωρεάν για απεριόριστο αριθμό χρηστών και μηχανημάτων. Κάτι τέτοιο είναι δυνατό επειδή οι προγραμματιστές είναι γνωστοί και άμεσα προσιτοι από τους χρήστες, +αλλά και επειδή ο πηγαίος κώδικας είναι διαθέσιμος. + +Μετά την παράθεση όλων αυτών των λόγιων επιχειρημάτων θα έπρεπε (ευχαριστημένος) να τελειώσω συνοψίζοντας. Όμως, αλίμονο, δε φθάνει, απλώς, να διαφωτίσω +κάποιους από τους αναγνώστες για αυτήν την μελέτη και για αυτά τα αποτελέσματα, θα πρέπει να τους προετοιμάσω για τα μελλούμενα. + +Η Microsoft, η IBM, ο προκάτοχος της στην κυριαρχία του χώρου της πληροφορικής, και κάθε άλλη μεγάλη εταιρία μεταχειρίζεται με ιδιαίτερη δεξιοτεχνία τα μέσα +μαζικής ενημέρωσης για να πετύχει του σκοπούς της. Στη περίπτωση των Mindcraft Benchmarks διέδωσε φόβο, αβεβαιότητα και αμφιβολία (Fear, Uncertainty and Doubt - +FUD). Επιχείρησε να προβάλει την κατωτερότητα του Linux έναντι των Windows NT βασιζόμενη σε ένα μόνο πρόβλημα του Linux το οποίο παρουσιαζόταν σε εξαιρετικά +απίθανες περιπτώσεις. Και τα κατάφερε. Η Mindcraft μεταχειρίστηκε για χάρη της Microsoft, του εργοδότη της, [κάθε διαθέσιμη μέθοδο +FUD](http://linuxtoday.com/stories/7972.html). + +Για παράδειγμα τα Benchmarks δεν είχαν καμμία σχέση με τα γενικευμένα πορίσματα, τα οποία δεν ίσχυουν παρά μόνο για μηχανήματα με περισσότερες από δύο δικτυακές +συνδέσεις των 100 MBits. + +Αγνοήθηκαν τυχόν άλλοι ανταγωνιστές των Windows NT, όπως τα παρόμοια με το Linux, δωρεάν Unices, δηλαδή τα FreeBSD, OpenBSD και NetBSD, τα οποία είχαν καλύτερη +δικτυακή συμπεριφορά, στο παρελθόν τουλάχιστον ( ). + +Συμπερασματικά, το Linux, παρά τα πρόσφατα αρνητικά αποτελέσματα, παραμένει μια εξαίσια επιλογή και στην συντριπτική πλειονότητα των περιπτώσεων παραμένει μια +επιλογή καλύτερη από τα Windows NT. Έχει ανακτήσει το χαμένο έδαφος και σύντομα θα ξεπεράσει τα Windows NT σε κάθε τομέα. [Αυτό το γνωρίζει η +Microsoft](http://www.opensource.org/halloween/) και για αυτό διαδίδει FUD. Όμως, το FUD δεν αντέχει σε μια προσεκτικότερη ματία. + +Προσέξτε τι \... FUD σας ταϊζουνε! diff --git a/content/articles/20/01_editorial.md b/content/articles/20/01_editorial.md new file mode 100644 index 0000000..d048d60 --- /dev/null +++ b/content/articles/20/01_editorial.md @@ -0,0 +1,63 @@ ++++ +title = 'Editorial' +date = '1999-12-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης(mailto:kabrianis@hellug.gr)' +issue = ['Magaz 20'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Καλώς ορίσατε στο **Magaz** Δεκεμβρίου \...* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Φτάσαμε αισίως στο 20ο τεύχος, τελευταίο του 1999, και τελευταίο του δεύτερου έτους λειτουργίας του Magaz. Δεν θα πέσω στην παγίδα να πω τελευταίο της +χιλιετηρίδας (εξάλλου όπως όλοι ξέρουν, η χιλιετηρίδα ΔΕΝ τελειώνει το 1999 αλλά το 2000). + +Εμείς περάσαμε και αυτόν τον χρόνο καλά και ελπίζουμε και εσείς μαζί μας. Την αναδρομή του 1999 θα την κάνουμε τώρα και όχι στο επόμενο τεύχος (21ο) γιατί λόγω +της αλλαγής έτους (το γνωστό πρόβλημα με την ημερομηνία στους υπολογιστές) και επειδή οι πιο πολλοί από εμάς δουλεύουμε σε σχετικές με υπολογιστές δουλειές, δεν +ξέρουμε πότε και πόσα θα μπορέσουμε να γράψουμε για το επόμενο έτος. + +Σχετική με το πρόβλημα που αντιμετωπίζουν οι υπολογιστές με την αλλαγή του έτους, είναι και η δημοσκόπηση αυτού του μήνα. + +To έτος αυτό λοιπόν κλείνει με 10 (προφανώς) τεύχη, 6 editorials, και 41 άρθρα. Επίσης, ερωτήθηκαν (και απαντήθηκαν) 205 ερωτήσεις στα πρώτα 6 τεύχη, πράγμα το +οποίο συνιστά abuse/misuse των διαθέσιμων resources και όχι use. Να υπενθυμίσω ότι όλο το 1998 (8 τεύχη με ερωτ-απαντήσεις) είχαμε 94 ερωτήσεις και 52 άρθρα. Ο +υπερδιπλασιασμός των ερωτήσεων επηρρέασε σαφέστατα τον διαθέσιμο χρόνο που είχαμε για άρθρα, και εφόσον οι ερωτήσεις επαναλαμβάνονταν ξανά και ξανά, εμείς +αποφασίσαμε να τις σταματήσουμε. + +Μόλις σταμάτησαν λοιπόν οι ερωτήσεις, σταθεροποιηθήκαμε κι εμείς με την ησυχία μας στα 4 άρθρα το μήνα (συν ένα editorial) και βρήκαμε επιτέλους χρόνο να +ασχοληθούμε με το layout του περιοδικού, σύστημα δημοσκοπήσεων, δυνατότητα searching στα παλαιότερα τεύχη /ερωτήσεις του Magaz και πολλά άλλα features. + +Συνολικά στον χρόνο που πέρασε φιλοξενήσαμε άρθρα από 16 άτομα, ενώ με τη βοήθεια άλλων 2 φίλων μεταφράσαμε τρία πολύ ενδιαφέροντα άρθρα που παρουσιάστηκαν στο +εξωτερικό. + +Το Magaz αρχίζει να προσανατολίζεται προς τον πιο advanced χρήστη από ότι παλαιότερα, χωρίς βέβαια αυτό να σημαίνει ότι ξεχνάμε και τους νέους. Το γεγονός όμως +ότι αυτοί δεν κοιτάνε τα archives θα μας κάνει μάλλον να τους ξεχάσουμε. Ο καθένας επιλέγει την μοίρα του, και για να βοηθηθείς πρέπει πρώτα να βοηθήσεις τον +εαυτό σου ο ίδιος. + +Σε αυτό το τεύχος έχουμε το πρώτο παιχνίδι που παρουσιάζεται στο Magaz, το [Civilization: Call to power](05_civ.html), μία [παρουσίαση του Basilisk II - +emulator για Macintosh](02_basilisk.html), μία [επεξήγηση του xinit](03_xinit.html) και ένα πρώτο μέρος για [προγραμματισμό σε GTK](04_gtk.html) που ξεκινάει +ένα αφιέρωμα του περιοδικού στον προγραμματισμό. + +Να υπενθυμίσω ότι προγραμματιστικά θέματα έχουμε παρουσιάσει και στο παρελθόν με και με την πρώτη εισαγωγή , αλλά και παλιότερα με τις οδηγίες για +bash-scripting. Απλά τώρα θα δώσουμε ιδιαίτερη σημασία σε αυτό το θέμα, εφόσον το βρίσκουμε πολύ ενδιαφέρον και έχουμε ήδη προγραμματίσει αρθράκια για την perl + +Τα άρθρα - προτάσεις του Magaz υπάρχουν και μεταβάλλονται τεύχος με το τεύχος, καθώς άλλα άρθρα \"καπαρώνονται\" και άλλα προσφέρονται. + +- Κατηγορία Howto + - Callback στο Linux + - Προγραμματισμός σε QT + - Infrared communication + - SGML και LINUXDOC tutorial +- Κατηγορία αναλύσεις + - Linux και POSIX + - Το Linux σαν router +- Κατηγορία παρουσιάσεις + - Παρουσίαση του Koffice + - Παρουσιάσεις νέων Distributions +- Κατηγορία updates παλαιότερων άρθρων + - Update για Samba v2 και kernel 2.2 + - Update για IP Masq σε kernel 2.2 και ipchains + +Σας ευχόμαστε καλή ανάγνωση, καλά Χριστούγεννα και καλή χρονιά. diff --git a/content/articles/20/02_basilisk.md b/content/articles/20/02_basilisk.md new file mode 100644 index 0000000..626f938 --- /dev/null +++ b/content/articles/20/02_basilisk.md @@ -0,0 +1,129 @@ ++++ +title = 'Παρουσίαση του BasiliskII' +date = '1999-12-01T00:00:00Z' +description = '' +author = 'Αντώνης Μαυρέλος(mailto:A.Mavrelos@csd.ase.gr)' +issue = ['Magaz 20'] +issue_weight = 2 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το BasiliskII είναι το καλύτερο πρόγραμμα εξομείωσης Mac στο Linux. Πόσο καλό είναι; Σκεφτείτε MacOS 8 να παίζει Quicktime video και να μπαίνετε στο Internet +μέσα από το Netscape.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +![](/20/img/9_sm.png) + +[Μεγάλο μέγεθος](/20/img/9.png) + +Τρέχει ό,τι δοκίμασα. Η ταχύτητα του είναι ικανοποιητική. Κάποιος μπορεί να δουλέψει με \"άνεση\" ακόμα και σε Celeron 333 που έχω εγώ. Μειονεκτήματα; Δεν κάνει +Emulation PPC επεξεργαστή. Κάνει emulation τα classics, και Mac II (εξού και το ΙΙ στο όνομα), ήχο (DSP), κάρτα δικτύου (δεν έχω δεν το δοκίμασα), CD-ROM (με +ήχο), SCSI (δεν έχω δεν το δοκίμασα). + +**1. Installation** +---------------------------------------------- + +**2. Διαδικασία για εγκατάσταση MacOS 8** +-------------------------------------------------------------------- + +**3. Ενά τυπικό .basilisk\_ii\_prefs** +----------------------------------------------------------------- + +**4. Δύο Screnshots** +------------------------------------------------ + + +### [1. Installation]{#s1} + +Την τελευταία έκδοση του BasiliskII θα τη βρείτε στη . Είναι μόλις 555 ΚB (ούτε καν 666). Κάνετε compile με το +γνωστό πια τρόπο: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ./configure + make + make install + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Και το τρέχετε για πρώτη φορά. Το πρόγραμμα θα βγει (exit) αμέσως και θα δημιουργήσει ένα αρχείο στο home directory με όνομα .basilisk\_ii\_prefs. Αυτό είναι το +configuration file. Εδώ θα πρέπει να προσθέσουμε και να αλλάξουμε κάποιες εγγραφές. Οι περισσότερες είναι εύκολες στην κατανόηση τους. Υπάρχει και ένα Readme +file που εξηγεί τι κάνει η κάθε μία.\ +Για αρχή να ορίσουμε ότι θέλουμε ο Mac μας να τρέχει σε παράθυτο 800Χ600. Προσθέτουμε Screen win/800/600. Τόσο απλά. Μετά θα πρέπει να δώσουμε το Path που +βρίσκεται η ROM του Mac μας. Τωρα το που θα βρείτε τη ROM δε θα σας το πω εγώ. Αλλά είναι σχετικά εύκολο να βγάλετε ένα image από ένα υπάρχον Mac και ακόμα πιο +εύκολο (αλλά όχι σωστό) να τη βρείτε στο Internet. Προσθέτουμε λοιπόν τη γραμμή: ROM \. Aν τρέξουμε το basilisk θα βγει το γνωστό εικονίδιο που βγάζουν +οι Mac όταν ξεκινάνε αλλά δε βρίσκουν δίσκο. Πάμε λοιπόν αμέσως μετά να δείξουμε στο Mac μας τον/τους δίσκους του. Εδώ έχουμε 2 λύσεις. Να δώσουμε ολόκληρο +filesystem ή αυτό που έκανα εγώ, ένα image file.\ +Δημιουργούμε με την dd ένα αρχείο μεγέθους ας πούμε 250 ΜΒ. + + dd if=/dev/zero of=/usr/local/BasiliskII/Mac_HD.hfs bs=1k count=250000 + +Κατεβάζουμε τα HFSUtils και τα κάνουμε compile. Κάνουμε mount to image που μόλις φτιάξαμε: + + hmount /var/local/basiliskII/Mac_HD.hfs + +Αν όλα πήγαν καλά με την hvol θα βλέπουμε το Mac\_HD Φορμάρουμε το filesystem με: + + hformat -l "Local MacHD" /usr/local/BasiliskII/Mac_HD.hfs + +Για να ξεκινήσει ο Mac θέλει φυσικά και λειτουργικό σύστημα. Η δοκιμή που θα κάνω (αν βρω ελεύθερο χρόνο) θα είναι να του βάλω Linux. Προς το παρόν καταφεύγουμε +στο MacOS. Οι επιλογές μου (αυτά είχα) είναι τα 7.0 και 7.1. Προς το παρόν εξομοιώνουμε τον classic. Αυτο το ορίζουμε με την παράμετρο modelid 5 στο +.basiliskII\_prefs. Κάνουμε boot τον Mac και χρησιμοποιούμε τις δισκέτες εγκατάσταης - ή όσοι έχουν την παρανομία στο αίμα τους, βρίσκουν ένα disk image με +κάποιο MacOS στο internet. Eίστε έτοιμοι. Αν θέλετε να προσθέσετε αρχεία στον εικονικό δίσκο σας χρησιμοποιήτε την hcopy + + hcopy ~/norton_utilities.hpx : + +Θα αντιγραφούν τα norton στον δίσκο που αυτή τη στιγμή είναι mount (current). Το ποιος είναι το βλέπουμε με hvol ή κάνουμε cat το  /hcwd Σημειώστε ότι μετά από +reboot του host συστήματος (Linux) δεν χάνετε το current mounted filesystem. Και αυτό είναι φυσικό αφού είναι γραμμένο στο .hcwd. + + +### [2. Διαδικασία για εγκατάσταση MacOS 8]{#s2} + +Καταρχήν δε μπορούμε να μεταπηδήσουμε από το 7.0 ή 7.1 απευθείας στο 8. Τα βήματα είναι τα εξής: + +- Βάζουμε ένα σύστημα τουλάχιστον 7.5.3 +- Βγαίνουμε από τον emulator και αλλάζουμε το ID του συστήματος σε 14 (Quadra). +- To 8 γίνεται εγκατάσταση από CD. Το τοποθετούμε στο tray και τρέχουμε τον installer. + +Προσέχουμε να μην κάνει εγκατάσταση τους drivers για τον σκληρό δίσκο. Για κάποιο λόγο καθυστερεί (δεν κολάει) υπερβολικά. Το άφησα 2 ώρες σε αυτό το σημείο και +μετά διέκοψα την εγκατάσταση. Αλλη μια περίπτωση που καθυστερεί υπερβολικά είναι όταν έχουμε φτιάξει ένα μεγάλο filesystem και αυτό αρχίζει να γεμίζει. Κατά τα +άλλα όλες σχεδόν οι λειτουργίες στο 8 δουλεύουν άψογα. Το τρομερό είναι στα quicktime videos που παίζουν χωρίς frame skiping και χωρίς απώλειες στον ήχο. Τα +tutorials (multimedia), τα παιχνίδια, όλα παίζουν τέλεια. Ετρεξα μια χαρά το Quicken, αρκετά extentions και shareware. Λίγες φορές έχει κολλήσει και τότε μου +έβγαλε το μήνυμα: \"Your Mac just did something very stupid\". + + +### [3. Ενά τυπικό .basilisk\_ii\_prefs]{#s3} + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + seriala /dev/ttyS0 + serialb /dev/ttyS1 + bootdrive 0 + bootdriver 0 + ramsize 33554432 + frameskip 6 + modelid 14 + fpu false + nocdrom false + nosound false + nogui false + keycodes false + screen win/800/600 + rom /usr/local/BasiliskII/rom + disk /var/BasiliskII/Mac_HD.hfs + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + +### [4. Δύο Screnshots]{#s4} + +![](/20/img/2_sm.png) + +[Μεγάλο μέγεθος](/20/img/2.png) + +![](/20/img/12_sm.png) + +[Μεγάλο μέγεθος](/20/img/12.png) + diff --git a/content/articles/20/03_xinit.md b/content/articles/20/03_xinit.md new file mode 100644 index 0000000..ec02a8a --- /dev/null +++ b/content/articles/20/03_xinit.md @@ -0,0 +1,128 @@ ++++ +title = 'Aρχεία εκκίνησης των X' +date = '1999-12-01T00:00:00Z' +description = '' +author = 'DJ Art(mailto:djart@hellug.gr)' +issue = ['Magaz 20'] +issue_weight = 3 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το άρθρο αυτό έχει σκοπό να σας παρουσιάσει τα ιδιαίτερα εκείνα αρχεία, με τα οποία μπορείτε να παραμετροποιήσετε την είσοδό σας στα X-Windows, αναλύοντας με +ποιόν τρόπο θα \"πειράξετε\" τα αρχεία εκκίνησης των X.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Εισαγωγή** +--------------------------------------- + +- [1.1 Runlevels](#ss1.1) + +**2. Αρχεία εκκίνησης** +----------------------------------------------- + +- [2.1 Το αρχείο xinitrc (runlevel: single/multi user mode)](#ss2.1) +- [2.2 Συντεταγμένες](#ss2.2) +- [2.3 Το αρχείο xsession (runlevel: X11)](#ss2.3) + +**3. Συντεταγμένες για πιο προχωρημένους** +------------------------------------------------------------------ + + +### [1. Εισαγωγή]{#s1} + +Όταν μιλάμε για \"εκκίνηση των X\" εννοούμε με λίγα λόγια, τον window manager που επιθυμούμε να χρησιμοποιούμε στα X και διάφορες εφαρμογές ή προγράμματα που +θέλουμε να ξεκινούν αυτόματα κατά την είσοδό μας στο σύστημα των X-Windows. Επισης, πολλές φορές δεν θέλουμε απλά να ξεκινάει αυτόματα ένα πρόγραμμα, αλλά να +εμφανίζεται και σε ένα συγκεκριμένο σημείο στην επιφάνεια εργασίας μας. + +### [1.1 Runlevels]{#ss1.1} + +Στο Linux υπάρχουν δύο τρόποι για να ξεκινήσουν τα X-Windows: ο ένας είναι να bootάρουμε κανονικά το λειτουργικό, να κάνουμε login, μπαίνοντας στην κονσόλα, και +μετά, αν θέλουμε X-Windows, να πληκτρολογήσουμε την εντολή **startx**. Ο δεύτερος τρόπος είναι να bootάρουμε το Linux και αμέσως μετά το φόρτωμα του πυρήνα, να +φορτώσουν τα X-Windows, οπότε να γίνει η διαδικασία του login από το γραφικό περιβάλλον. Στις δύο αυτές περιπτώσεις, υπάρχουν, δυστυχώς, διαφορετικά αρχεία +εκκίνησης για τα X. Κατ\' αυτόν τον τρόπο, αν μιά μέρα κανείς θελήσει να αλλάξει τον τρόπο με τον οποίο μπαίνει στα X, θα εκπλαγεί, διαπιστώνοντας ότι αυτά που +πιθανόν να έχει ρυθμίσει να εκτελούνται κατά την είσοδό του στο γραφικό περιβάλλον, δεν υπάρχουν πιά. + +Οι δύο παραπάνω τρόποι εισόδου στα X-Windows, χαρακτηρίζονται με δύο διαφορετικά runlevels. Ο μεν πρώτος τρόπος, μπορεί να είναι runlevel σε single user mode, +σε multiuser mode χωρίς δίκτυο, ή σε full multiuser mode. Ο δεύτερος τρόπος πραγματοποιείται με την επιλογή του runlevel σε X11 mode. Τα runlevels ορίζονται στο +αρχείο **/etc/inittab** με αριθμούς. Κάθε αριθμός αντιστοιχεί σε ένα runlevel. Αξιοσημείωτο, όμως είναι, ότι κάθε Linux distribution ορίζει με διαφορετικούς +αριθμούς το κάθε runlevel. Μην ανησυχείτε, στο αρχείο **/etc/inittab**, συνήθως περιγράφονται σε comment mode, οι αντιστοιχίες αριθμων και runlevels. +**ΠΡΟΣΟΧΗ:** Υπάρχουν, αν δεν το έχετε καταλάβει, τα αντίστοιχα runlevel για το reboot και το shutdown του λειτουργικού (αυτά συνήθως εκφράζονται με τους +αριθμούς 6 και 0 αντίστοιχα, σε όλα τα distribution). Έτσι, δεν πρέπει να ορίσετε το προεπιλεγμένο runlevel σας σε κάποιο από τα δύο αυτά runlevel, για +ευνόητους λόγους (μόλις θα ξεκινάτε το Linux, ή θα γίνεται reboot ή shutdown). + +Ας δούμε όμως πως ορίζουμε το default runlevel, με το οποίο θα ξεκινά το Linux. Μέσα στο αρχείο **/etc/inittab**, υπάρχει η ακόλουθη γραμμή: + + id:3:initdefault: + +Η γραμμή ορίζει σαν προεπιλογή το runlevel 3 (το οποίο στο RedHat είναι το full multiuser). Αλλάξτε, λοιπόν τον αριθμό με τον αριθμό του runlevel που +επιθυμείτε. + + +### [2. Αρχεία εκκίνησης]{#s2} + +### [2.1 Το αρχείο xinitrc (runlevel: single/multi user mode)]{#ss2.1} + +Όπως θα καταλάβατε και από τον τίτλο, εδώ θα μιλήσουμε για τις ρυθμίσεις που μπορείτε να πραγματοποιήσετε, όταν χρησιμοποιείτε για runlevel το single ή το multi +user mode. + +Το αρχείο που θα μας απασχολήσει εδώ είναι το **xinitrc**, το οποίο βρίσκεται στο home directory του χρήστη, και μάλιστα, είναι κρυφό. Επομένως η πλήρης +διαδρομή του είναι **\~/.xinitrc** (το **\~** συμβολίζει το home directory. Θα μπορούσα στη θέση του να χρησιμοποιήσω τη μεταβλητή **\$HOME**). + +Μέσα στο αρχείο αυτό, όπως είπαμε, μπορούμε να ορίσουμε ποιόν window manager θέλουμε να χρησιμοποιήσουμε. Έτσι, αν θέλουμε για παράδειγμα να δουλεύουμε στο KDE, +γράφουμε μέσα στο αρχείο (αφού το ανοίξουμε με έναν text editor) **startkde**. Αν θέλαμε τον Window Maker, θα γράφαμε **wmaker**, αν θέλαμε το GNOME, θα γράφαμε +**gnome-session**, κ.ο.κ. + +Για να δούμε τώρα τι μπορούμε να κάνουμε, ώστε όταν ξεκινάν τα X, να ανοίγουν ταυτόχρονα και τα προγράμματα που εμείς θέλουμε. Στο αρχείο .xinitrc, γράφουμε την +εντολή που θέλουμε (η οποία αντιπροσωπεύει το πρόγραμμά μας) και δίπλα βάζουμε το σύμβολο **&**. Βάζουμε το σύμβολο αυτό για να τρέξει η εφαρμογή στο background +και να επιτρέψει να δουλέψει ο window manager. Οπότε, όπως θα καταλάβατε, πάντα θα γράφουμε τις εντολές που θέλουμε πρώτα, και φυσικά κάθε εντολή θα +καταλαμβάνει καινούρια γραμμή στο αρχείο μας (με το σύμβολο & πάντα) και στο τέλος θα βάζουμε τον window manager που θέλουμε (χωρίς το σύμβολο &). Για +παράδειγμα, το ακόλουθο .xinitrc μας επιτρέπει να ξεκινήσουμε τα X, να ανοίξει το πρόγραμμα Xisp, το πρόγραμμα rxvt και όλα αυτά κάτω από το περιβάλλον του KDE: + +**xisp &\ +rxvt &\ +startkde** + +### [2.2 Συντεταγμένες]{#ss2.2} + +Σειρά τώρα έχει να εξηγήσουμε τί μπορούμε να κάνουμε, ώστε τα προγράμματα που βάλαμε να ξεκινάν με το φόρτωμα των X, να εμφανίζονται σε ένα προκαθορισμένο +σημείο της επιφάνειας εργασίας. Η επιφάνεια εργασίας μας έχει συντεταγμένες. Η πάνω αριστερή γωνία έχει τις συντεταγμένες (0,0). Οι συντεταγμένες, γενικά, στην +περίπτωση των X συμβολίζονται ως +0+0. Ανάλογα, λοιπόν με το ποιά ανάλυση έχουμε επιλέξει στα X, ανάλογο είναι και το εύρος των συντεταγμένων. Το πρώτο στοιχείο +στις συντεταγμένες είναι η τετμημένη, δηλαδή μας ορίζει την οριζόντια θέση μας. Το δεύτερο στοιχείο είναι η τεταγμένη και μας ορίζει την κάθετη θέση μας +(ουσιαστικά και στα δύο στοιχεία ο αριθμός υποδηλώνει την απόστασή μας σε pixels από την πάνω αριστερή γωνία). Ευτυχώς για να μην μπλέξουμε, όταν κάποιος +μετακινεί ένα παράθυρο στην επιφάνεια εργασίας του, εμφανίζονται αυτόματα οι συντεταγμένες της πάνω αριστερής γωνίας του ανοιχτού παράθυρου. ΠΡΟΣΟΧΗ: μπορεί ο +window manager που χρησιμοποιείτε ήδη, να μην εμφανίζει τις συντεταγμένες. Π.χ. το KDE δεν τις εμφανίζει, αλλά μπορείτε να χρησιμοποιήσετε έναν άλλο window +manager, όπως fvwm ή Window Maker, για να προσδιορίσετε της συντεταγμένες μιας θέσης. + +Ας υποθέσουμε, λοιπόν, στο προηγούμενο παράδειγμα, πως θέλετε όταν ανοίγετε τα X, να ανοίγει το Xisp στην πάνω αριστερή γωνία της οθόνης περίπου, το rxvt να +ανοίγει περίπου στο μέσον της οθόνης, και όλα αυτά χρησιμοποιώντας για window manager το GNOME. Το αρχείο μας θα γίνει: + +**xisp -geometry +5+5 &\ +rxvt -geometry +100+67 &\ +gnome-session** + +Όπως θα καταλάβατε, για να ορίσετε σε ποιές συντεταγμένες θα ανοίγει ένα πρόγραμμα, αρκεί να το εκτελείτε με την παράμετρο **-geometry +x+y**, όπου **x** και +**y** είναι οι επιθυμητές συντεταγμένες. + +### [2.3 Το αρχείο xsession (runlevel: X11)]{#ss2.3} + +Για να εξηγήσουμε τώρα, τί γίνεται όταν το runlevel μας φορτώνει τα X αμέσως μετά το boot του πυρήνα. Δυστυχώς, το αρχείο .xinitrc που φτιάξαμε νωρίτερα, δεν +δουλεύει σ\' αυτήν την περίπτωση. Αντί αυτού του αρχείου, αρκεί να φτιάξουμε ένα αρχείο στο home directory και να το ονομάσουμε **.xsession**. Για να +παραμετροποιήσουμε αυτά που θέλουμε κατά την εκκίνηση, ακολουθούμε ακριβώς τα βήματα που ακολουθήσαμε και για το παραπάνω αρχείο. **ΠΡΟΣΟΧΗ**, όμως, υπάρχει μια +μικρή διαφορά: το αρχείο **.xsession** που δημιουργήσαμε, πρέπει να είναι executable, αλλιώς δεν δουλεύει. Για να το κάνουμε executable, απλώς εκτελούμε την +εξής εντολή: **chmod u+x .xsession**. + +Τελειώσαμε !! Από εδώ και μπρός θα είστε ικανοί να παραμετροποιήσετε την είσοδό σας στα X-Windows. + + +### [3. Συντεταγμένες για πιο προχωρημένους]{#s3} + +Πρίν κλείσω το άρθρο, θα ήθελα να σας πώ λίγα ακόμα πράγματα για τις συντεταγμένες της επιφάνειας εργασίας μας. + +Όπως ανέφερα προηγούμενα, οι συντεταγμένες +0+0 ορίζουν την πάνω αριστερή γωνία της οθόνης μας. Η πάνω δεξιά γωνία χαρακτηρίζεται από τις συντεταγμένες -0+0. Η +κάτω δεξιά γωνία με τις -0-0 και η κάτω αριστερή γωνία με τις +0-0. + +Είναι λοιπόν αυτονόητο, πως αν κάποιος εφαρμόσει την \"Ευκλείδιο Γεωμετρία\" στην επιφάνεια εργασίας του, θα καταφέρει να προσδιορίζει με μεγαλύτερη ακρίβεια +μια συγκεκριμένη θέση. Αν μπερδευτήκατε με όλα αυτά λοιπόν, θα σας συμβούλευα να αρκεστείτε στο +0+0. + diff --git a/content/articles/20/04_gtk.md b/content/articles/20/04_gtk.md new file mode 100644 index 0000000..f5e53de --- /dev/null +++ b/content/articles/20/04_gtk.md @@ -0,0 +1,518 @@ ++++ +title = 'Προγραμματισμός με GTK(\...)' +date = '1999-10-01T00:00:00Z' +description = '' +author = 'Παπαδογιαννάκης Βαγγέλης για το Magaz ( magaz.hellug.gr(http://magaz.hellug.gr) )' +issue = ['Magaz 20'] +issue_weight = 4 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*GTK\... Gimp ToolΚit. Αυτό το πρόγραμμα τα άρχισε όλα. Από τη στιγμή που βγήκε το gimp, δημιουργήθηκαν ένα σωρό εφαρμογές που χρησιμοποιούν τις βιβλιοθήκες +απεικόνισής του, οι οποίες σημειωτέον είναι από τις καλύτερες που υπάρχουν. Πάνω σε αυτή βασίζεται ολόκληρο το gnome, και είναι από τα προτιμούμενα της REDHAT +και άλλων φυσικά διανομών. \`Ελα όμως που ο προγραμματισμός σε GTK είναι σχετικά δύσκολος\... Μη μασάτε, δεν είναι και τόσο όσο νομίζετε\... Είναι +ευκολούτσικος, και δεν θα σας πάρει πάνω από 10 λεπτά διάβασμα για να καταφέρετε να στήσετε το πρώτο σας προγραμματάκι σε GTK. Πολλά από τα σημεία αυτού του +άρθρου, έχουν βασιστεί στα tutorials της gtk. όπως αυτά έρχονται με το gtk-devel.rpm πακέτο. Για περισσότερες πληροφορίες σε σημεία του κειμένου, παρακαλώ ρίξτε +τους μια ματιά.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Περί αυτού του άρθρου. (the boring stuff)** +---------------------------------------------------------------------- + +**2. Που θα βρείτε το GTK** +------------------------------------------------- + +**3. Προϋποθέσεις** +----------------------------------------- + +**4. Βασικές έννοιες προγραμματισμού σε gtk** +------------------------------------------------------------------- + +- [4.1 Βασικά χαρακτηριστικά](#ss4.1) +- [4.2 widgets, signals, κ.λπ.](#ss4.2) +- [4.3 Γεια σας μάγκες! Το πρώτο πρόγραμμα σε gtk](#ss4.3) +- [4.4 Εξήγηση του Hello Magez](#ss4.4) +- [4.5 Πως θα το τρέξετε.](#ss4.5) + +**5. Tοποθέτηση των widgets** +--------------------------------------------------- + +- [5.1 Boxes, ή αλλιώς κουτιά :)](#ss5.1) +- [5.2 Tοποθέτηση των widgets, partII (λέγε με tables)](#ss5.2) +- [5.3 Η συνέχεια](#ss5.3) + + +### [1. Περί αυτού του άρθρου. (the boring stuff)]{#s1} + +Αυτό το άρθρο, δεν έχει σκοπό να σας μάθει gtk, αλλά να σας εξοικειώσει με τις δυσκολότερες έννοιες στο toolkit αυτό, ώστε να αρχίσετε μόνοι σας να +προγραμματίζετε. Σε καμία περίπτωση δεν είμαι υπεύθυνος εγώ ειδικά και το magaz γενικότερα αν κάνετε μπάχαλο τον υπολογιστή σας. Στο δικό μου δουλεύουν όλα μια +χαρά, και δεν έπαθε τίποτα από όσα γράφω σε αυτό το άρθρο. + +\`Εχω προγραμματίσει να ολοκληρωθεί σε τρεις συνέχειες. Πολύ πιθανόν και 4. Αυτό δεν σημαίνει ότι είμαι υποχρεωμένος να συνεχίσω και με τα άλλα, αλλά δεσμεύομαι +να προσπαθήσω. Και αυτό το λεω, γιατί στο παρελθόν είχα κάνει κάτι αντίστοιχό που δεν ολοκληρώθηκε (bash, enlightenment) αλλά είχα δικαιολογία και για τα δύο. +Μπορεί κάτι να συμβεί και να μη συνεχιστεί. Σε μια τέτοια περίπτωση, παρακαλώ όποιος έχει την όρεξη να συνεχίσει. + +Επίσης, δεν υπάρχει ούτε ΜΙΑ πιθανότητα να μην έχω κάνει εκφραστικά -και ίσως νοηματικά- λαθάκια. Είναι η δυσκολία που υπάρχει στη μετάφραση αυτού που θέλουμε +να εκφράσουμε, καθώς και η μεταφορά του σε λέξεις. \`Οσοι από εσάς προγραμματίζουν, ή έχουν τέλος πάντων μια εξοικείωση με την αγγλική ορολογία, καταλαβαίνετε +τι θέλω να πω. Να είσαστε λοιπόν ελαστικοί στην κρίση σας. + +\`Οσοι από εσάς ασχολούνται με gtk και βρουν τίποτα ανακρίβειες (πράγμα πολύ πιθανό γιατί ναι μεν προγραμματίζω σε gtk αλλά δεν χρησιμοποιώ όλα όσα εξηγώ σε +αυτό το άρθρο), παρακαλώ να μου στείλετε με [mail στο papas\@hellug.gr](mailto:papas@hellug.gr) τις παρατηρήσεις σας, και θα προσπαθήσω να διορθώσω τα λάθη σε +ένα από τα επόμενα άρθρα. + +Καλό διάβασμα, και happy programming! + + +### [2. Που θα βρείτε το GTK]{#s2} + +Κατά πάσα πιθανότητα, το έχετε ήδη εγκατεστημένο στον υπολογιστή σας. Για όσους από εσάς αρνούνται να εγκαταστήσουν το GTK, επιμένοντας σε υποκατάστατα του +τύπου QT - καλά, μη βαράτε :) - σας παραπέμπω στη διεύθυνση να το κατεβάσετε σε ότι μορφή θέλετε. Αν θέλετε **rpm**, μην ξεχάσετε να πάρετε +και το **devel** πακέτο, γιατί αυτό ουσιαστικά θα μας χρειαστεί ώστε να κάνουμε τα προγράμματά μας να τρέχουν. + + +### [3. Προϋποθέσεις]{#s3} + +Δεν υπάρχουν ουσιαστικές προϋποθέσεις. Απλά θα πρέπει να ξέρετε τα βασικά του προγραμματισμού, λίγη C, και να έχετε πολύ όρεξη. Επίσης, θα πρέπει να έχετε στο +PATH σας το script **gtk-config**, για να αποφύγουμε να βρίσκουμε λεπτομέρειες που είναι διαφορετικές για κάθε μηχάνημα. Περισσότερες πληροφορίες θα βρείτε στο +**man page** του gtk-config (`man gtk-config`) + + +### [4. Βασικές έννοιες προγραμματισμού σε gtk]{#s4} + +Ας ξεκινήσουμε με τις αρχικές έννοιες, που στη συνέχεια θα μας βοηθήσουν στην κατανόηση του προγραμματισμού σε gtk. + +### [4.1 Βασικά χαρακτηριστικά]{#ss4.1} + +Κάθε πρόγραμμα που θα φτιάχνουμε, πρέπει να περιέχει, μεταξύ άλλων, και τα εξής: + +Πρώτα από όλα, πρέπει να περιέχει τις βιβλιοθήκες που θα κάνουμε import. Για την gtk, αυτή είναι ή `gtk.h`, που βρίσκεται μέσα στο directory **gtk** + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + #include + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Φυσικά, όπως όλα τα προγράμματα, περιέχει την πολύ γνωστή `main`. Αυτή είναι η πρώτη συνάρτηση που καλείται, και πρέπει οπωσδήποτε να υπάρχει, είναι *int*, +γιατί πρέπει να επιστρέφει μια τιμή τύπου int στο *shell* (το γνωστό σε όλους μας **exit status**). + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + int main(int argc, char *argv[]){ + ... + ... + } + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Μέσα σε αυτήν τώρα, πρέπει να υπάρχει μια άλλη, η `gtk_init` που καλείται από όλα τα προγράμματα που είναι γραμμένα σε gtk για την αρχικοποίηση. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + gtk_init(&argc, &argv); + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Επίσης, σε κάποιο σημείο πρέπει να καλείται η `gtk_main` η οποία δεν είναι τίποτα άλλο από την συνάρτηση η οποία περιμένει για ενέργειες του χρήστη, όπως το +πάτημα ενός κουμπιού στο ποντίκι, ή το πάτημα ενός πλήκτρου. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + gtk_main(); + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Φυσικά δεν πρέπει να ξεχάσουμε την τιμή που θα επιστρέφει το όλο πρόγραμμά μας (είναι είπαμε *int*), και αυτό γίνεται με την γνωστή `return` + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + return(0); + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αυτά είναι τα βασικά και απαραίτητα που πρέπει να περιέχει ένα πρόγραμμα σε gtk. Φυσικά, για να γραφεί ένα ολοκληρωμένο και λειτουργικό πρόγραμμα απαιτούνται +πολύ περισσότερα που θα δούμε στη συνέχεια, γιαύτο μη βιάζεστε\... Συνεχίστε το διάβασμα για την βουτά στα βαθιά\... ))) + +### [4.2 widgets, signals, κ.λπ.]{#ss4.2} + +First things first\... + +#### Widgets + +Πριν αρχίσουμε, να δούμε μερικά πράγματα, όπως πχ. τι είναι το gtk\_widget που θα συναντάμε κατ κόρον. Είναι μια δομή, που μέσω αυτής μπορούμε να έχουμε +πρόσβαση σε όλα τα widgets της gtk. Αυτά μπορεί να είναι **buttons, radio buttons, check buttons, lists, combo boxes, boxes, toolbars**, και γενικότερα +οτιδήποτε βλέπετε στα παραθυράκια των προγραμμάτων gtk. + +#### signals + +Ο έλεγχος σε ένα πρόγραμμα **gtk** δίδεται χρησιμοποιώντας τα **signals**. Ας σας εξηγήσω όμως με ένα παράδειγμα.\ +Για να συνδέσουμε ένα συμβάν με μια λειτουργία, μπορούμε να χρησιμοποιούμε μια συνάρτηση όπως η `gtk_signal_connect`.\ +Αυτή, συντάσσεται όπως βλέπουμε παρακάτω, και επιστρέφει μια τιμή τύπου **gint** (Μια μορφή ακεραίου που χρησιμοποιεί η gtk). + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + gint gtk_signal_connect(GtkObject *object, gchar name, GtkSignalFunc func, gpointer func_data); + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Παρακάτω δίνονται οι απαραίτητες εξηγήσεις για να καταλάβετε τι κάνει το κάθε όρισμα: + +- `GtkObject *object`\ + Το widget που θα παρακολουθούμε για signal +- `gchar name`\ + Το signal για το οποίο παρακολουθούμε +- `GtkSignalFunc func`\ + Η συνάρτηση που θα κληθεί όταν γίνει trap στο σινιάλο που παρακολουθούμε +- `gpointer func_data`\ + Το όρισμα που θα περάσει στην καλούμενη συνάρτηση (μπορεί να είναι πχ, το πλήκτρο που πατήθηκε) + +Το τρίτο όρισμα, είναι μια συνάρτηση που δέχεται σαν ορίσματα ένα δείκτη (pointer) στο widget από το οποίο προκλήθηκε το signal, και ένα δείκτη που αναφέρεται +στο τέταρτο όρισμα της καλούσας συνάρτησης (το func\_data δηλαδή). ώστε να ξέρει τι να κάνει με τα δεδομένα που της εστάλησαν (ΜΠΕΡΔΕΥΤΗΚΑΤΕ;) + +### [4.3 Γεια σας μάγκες! Το πρώτο πρόγραμμα σε gtk]{#ss4.3} + +Επειδή ήδη αρχίσαμε να κολυμπάμε σε βαθύτερα νερά, ας φτιάξουμε ένα μικρό προγραμματάκι, και ας το εξηγήσουμε στη συνέχεια. Κάντε copy-paste, σε ένα αρχείο το +παρακάτω: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + #include + void hello(GtkWidget *widget, gpointer data){ + g_print("Hello Magez!"); + } + + gint del_eve(GtkWidget *widget, GdkEvent *event, gpointer data){ + g_print("close pressed\n"); + return(TRUE); + } + + void dest(GtkWidget *widget, gpointer data){ + gtk_main_quit(); + } + + int main(int argc, char *argv[]){ + GtkWidget *window, *button; + + gtk_init(&argc, &argv); + + window = gtk_window_new(GTK_WINDOW_TOPLEVEL); + + gtk_signal_connect(GTK_OBJECT(window), "delete_event", GTK_SIGNAL_FUNC(del_eve), NULL); + gtk_signal_connect(GTK_OBJECT(window), "destroy", GTK_SIGNAL_FUNC(dest), NULL); + + gtk_container_set_border_width(GTK_CONTAINER(window), 10); + + button = gtk_button_new_with_label("Hello Magez"); + + gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(hello), NULL); + gtk_signal_connect_object(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy), GTK_OBJECT(window)); + + gtk_container_add(GTK_CONTAINER(window), button); + + gtk_widget_show(button); + gtk_widget_show(window); + + gtk_main(); + + return(0); + } + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Ονομάστε το αρχείο HelloMagez.c και αποθηκεύστε το κάπου που έχετε δικαιώματα (πχ. στο home directory σας). Παρακάτω θα δούμε πως μπορούμε να δημιουργήσουμε το +εκτελέσιμο αρχείο. + +### [4.4 Εξήγηση του Hello Magez]{#ss4.4} + +Ας δούμε τώρα πως δουλεύει. Θα εξηγούμε το πρόγραμμα με μικρά βήματα. Αλλά ας μην αρχίσουμε από την αρχή, πάμε κατευθείαν στην main. + +- **`GtkWidget *window, *button;`**\ + Εδώ ορίζουμε ότι θα χρησιμοποιήσουμε δύο widgets, με ονόματα `window` και `button` +- **`gtk_init(&argc, &argv);`**\ + Η γνωστή **gtk\_init**. Την αναφέραμε προηγουμένως. +- **`window = gtk_window_new(GTK_WINDOW_TOPLEVEL);`**\ + Ορισμός στο widget **window** ενός νέου παραθύρου τύπου **`GTK_WINDOW_TOPLEVEL`**, δηλαδή κανονικού παραθύρου προγράμματος. +- **`gtk_signal_connect(GTK_OBJECT(window), "delete_event", GTK_SIGNAL_FUNC(del_eve), NULL);`**\ + Εδώ αρχίζουν τα δύσκολα. Μη φοβηθείτε όμως, θα τα εξηγήσουμε όλα. Αυτό που κάνουμε, είναι να συνδέσουμε το συμβάν `delete_event` με την συνάρτηση `del_eve`. + To `delete_event` το στέλνει ο window manager που χρησιμοποιούμε όταν πατήσουμε το **close**, ή αντίστοιχα το κουμπί **close** στην **bar** του + προγράμματος. Γιατί το παγιδεύουμε αυτό; Μα γιατί ίσως να θέλουμε να κάνουμε κάποιες εργασίες πριν να κλείσουμε το παράθυρο, πχ. να αποθηκεύσουμε ένα αρχείο + ρυθμίσεων, ή να εμφανίσουμε ένα μήνυμα του τύπου \`\`Είστε σίγουρος;\'\'\ + To `GTK_OBJECT` και το `GTK_SIGNAL_FUNC` είναι ουσιαστικά μακροεντολές, που ελέγχουν αν είναι σωστές οι παράμετροι που περνάμε στην `gtk_signal_connect` και + (σύμφωνα με μερικούς-μερικούς) βοηθάει να είναι ο κώδικας πιο ευανάγνωστος και πιο κατανοητός. +- **`gtk_signal_connect(GTK_OBJECT(window), "destroy", GTK_SIGNAL_FUNC(dest), NULL);`**\ + \`Aλλη μια σύνδεση. Σε αυτή συνδέουμε το συμβάν `destroy` με τη συνάρτηση `dest`. Το συμβάν `destroy` συμβαίνει όταν δίνουμε στο `delete_event` την τιμή + FALSE, ή όταν καλούμε το `gtk_widget_destroy()` που είναι μια συνάρτηση στην οποία περνάμε σαν παράμετρο το όνομα του παραθύρου που θέλουμε να καταστρέψουμε + (κλείσουμε). Με αυτό τον τρόπο, με μια συνάρτηση, ελέγχουμε και τις δύο περιπτώσεις. +- **`gtk_container_set_border_width(GTK_CONTAINER(window), 10);`**\ + Αυτή η εντολή, απλά θέτει μια ιδιότητα για ένα αντικείμενο. Συγκεκριμένα, την ιδιότητα *border* στο widget `window`, που είναι ο χώρος γύρω από το παράθυρο + που μένει ανεκμετάλλευτος και δεν μπορεί να χρησιμοποιηθεί από άλλα widgets. Αυτό το κάνουμε για αισθητικούς λόγους.\ + Το `GTK_CONTAINER` είναι και αυτό μια μακροεντολή, για type casting, όπως τα `GTK_OBJECT` και `GTK_SIGNAL_FUNC`. +- **`button = gtk_button_new_with_label("Hello Magez");`**\ + Συνάρτηση για τη δημιουργία ενός κουμπιού που γράφει \"Hello Magez\". Φυσικά, κουμπιά μπορούν να δημιουργηθούν και αλλιώς, χωρίς να είμαστε αναγκασμένοι να + τους δώσουμε ένα κείμενο, σε περίπτωση πχ. που το κείμενο θα εξαρτάται από κάποιες μεταβλητές, ή θα πρέπει να αλλάξει μετά από λίγο. +- **`gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(hello), NULL);`**\ + Συνδέουμε το click στο κουμπί, με τη συνάρτηση `hello`. Αυτό είναι πολύ απλό, και εύκολο στην κατανόηση. +- **`gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy), GTK_OBJECT(window));`**\ + Να και κάτι καινούριο. Με αυτή την εντολή, παρατηρούμε ότι μπορούμε να συνδέσουμε πολλές συναρτήσεις με ένα event (στην περίπτωση αυτή με το click του + ποντικιού στο κουμπί `button`. Αυτό που θα συμβεί είναι ότι πρώτα θα καλέσουμε τη συνάρτηση `hello` και αμέσως μετά τη συνάρτηση `gtk_widget_destroy` που + είναι μια συνάρτηση που \`\`καταστρέφει\'\' το widget που της δίνεται σαν όρισμα, στη συγκεκριμένη περίπτωση το `window`, που είναι το παράθυρο του + προγράμματός μας.\ + Θα παρατηρήσατε ότι εδώ χρησιμοποιείται η `gtk_signal_connect_object` αντί της `gtk_signal_connect`. Αυτό συμβαίνει γιατί πρέπει να περάσουμε σαν όρισμα το + widget που πρέπει να καταστραφεί. Περισσότερα για τα signals αργότερα. +- **`gtk_container_add(GTK_CONTAINER(window), button);`**\ + Κι άλλα καινούρια! η `gtk_container_add` είναι μια συνάρτηση που προσθέτει ένα widget σε ένα container. Εδώ, widget=`button` και container=`window`.\ + Σημειώστε ότι ένα `gtk_container` μπορεί να περιέχει μόνο ένα widget. Υπάρχουν όμως άλλα widgets, που πάνω τους μπορούν να φιλοξενούν πολλά άλλα widgets. + Αυτό, στην ενότητα των widgets θα αναλυθεί πολύ καλύτερα. Προς το παρών αρκεστείτε σε αυτό, και τυχόν απορίες σας θα λυθούν παρακάτω. +- **`gtk_widget_show(button);`**\ + Αυτή η συνάρτηση εμφανίζει το widget που δέχεται σαν όρισμα. Παρατηρείστε ότι τα widgets, δεν εμφανίζονται μόνα τους. Δεν φτάνει δηλαδή η συνάρτηση + `gtk_container_add` για να εμφανιστεί. Πρέπει πρώτα να προστεθούν όλα, και μετά να εμφανιστούν. Αυτό, μας προστατεύει από συμπεριφορές του τύπου να γίνονται + όλα render στην οθόνη ένα-ένα το οποίο οπτικά είναι πολύ άσχημο, πιστέψτε με. Εμφανίζουμε λοιπόν με την συγκεκριμένη εντολή το κουμπάκι. +- **`gtk_widget_show(window);`**\ + \`Οπως και το παραπάνω, μόνο που εδώ εμφανίζουμε το παράθυρο. +- **`gtk_main();`**\ + Περνάμε τον έλεγχο στην `gtk_main` όπως περιγράψαμε προηγουμένως. +- **`retutn(0);`**\ + Είναι το **exit status** του προγράμματός μας. Θα μπορούσαμε με κάποιο έλεγχο να είχαμε διαφορετικό **exit status**, ανάλογα με το αν το πρόγραμμα απέτυχε, + αν το πρόγραμμα δεν ολοκληρώθηκε, κ.λπ. + +Και ας ρίξουμε μια γρήγορη ματιά στις συναρτήσεις που περιέχει το πρόγραμμα. Αν και είναι πολύ εύκολες στην κατανόηση, υπάρχουν κάνα-δυο σημεία που χρειάζονται +εξήγηση. + +- **`void hello(GtkWidget *widget, gpointer data)`**\ + \`Οπως βλέπουμε, είναι μια συνάρτηση που απλά καλείται όταν πατήσει ο χρήστης το πλήκτρο, και το μόνο που κάνει είναι να τυπώνει **Hello Magez** και να + προσθέτει μια νέα γραμμή. +- **`gint del_eve(GtkWidget *widget, GdkEvent *event, gpointer data)`**\ + Η συνάρτηση που καλείται όταν πατηθεί το κουμπί που τερματίζει το πρόγραμμα. Επιστρέφει τιμή ακεραίου, και όπως βλέπουμε (στο συγκεκριμένο παράδειγμα + τουλάχιστον) επιστρέφει TRUE. Αυτός είναι και ο λόγος που δεν έχουμε έξοδο από το πρόγραμμα όταν -θεωρητικά- το κλείνουμε με το κουμπί κλεισίματος. Αν η + τιμή που επιστρέφει αλλαχθεί σε FALSE, τότε θα έχουμε έξοδο από το πρόγραμμα (δοκιμάστε το). Αυτό συμβαίνει, γιατί η συνάρτηση που καλείται από την + `delete_event` εξ ορισμού από τo gtk επιστρέφει μια τιμή που αν είναι FALSE, καλεί το event `destroy` (θυμηθείτε ότι το έχουμε συνδέσει με τη συνάρτηση + `dest`) +- **`void dest(GtkWidget *widget, gpointer data)`**\ + Με τη συνάρτηση αυτή έχουμε έξοδο από το πρόγραμμα, μέσω μιας ενσωματωμένης στο gtk συνάρτησης, της `gtk_main_quit` + +### [4.5 Πως θα το τρέξετε.]{#ss4.5} + +Για να κάνετε compile to πρόγραμμα, χρησιμοποιήστε την εντολή: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + gcc -Wall -g HelloMagez.c -o hellomagez `gtk-config --cflags` `gtk-config --libs` + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +\`Οσοι δεν ξέρουν τι είναι αυτό, **man gcc**. Μόλις ολοκληρωθεί η παραπάνω εντολή, στο τρέχον directory θα έχει δημιουργηθεί το αρχείο **hellomagez**, που είναι +και το εκτελέσιμο. Τρέξτε το! + + +### [5. Tοποθέτηση των widgets]{#s5} + +Το πιο πιθανό είναι να μην δημιουργήσουμε ποτέ μια εφαρμογή που θα έχει μονάχα ένα *widget*, όπως στην περίπτωση του **HelloMagez**. Μάλλον, αυτό που θα θέλουμε +να κάνουμε θα αποτελείται από περισσότερα από ένα *widget*. Ας δούμε πως μπορούμε να τα τοποθετήσουμε στο παράθυρο του προγράμματός μας. + +### [5.1 Boxes, ή αλλιώς κουτιά :)]{#ss5.1} + +Τα *boxes* θα γίνουν οι καλύτεροι φίλοι μας στη διαδικασία σύνταξης εφαρμογών για **gtk**, αλλά - πιστέψτε με - και οι χειρότεροί μας εχθροί. Θα μάθουμε να +ζούμε με τα *boxes*, και να είστε σίγουροι ότι δεν θα τα γλιτώσουμε. Τι είναι όμως αυτά τα *boxes*;\ +Είναι widgets, όπως και όλα τα άλλα. Απλά, μπορούν να περιέχουν περισσότερα από 1 widgets πάνω τους. Δεν είναι ορατά, και χρησιμοποιούνται μονάχα για την +ομαδοποίηση αντικειμένων. Τα boxes μπορεί να είναι δύο ειδών, ανάλογα με τον προσανατολισμό που θέλουμε να πάρουν τα προς τοποθέτηση σε αυτό *widgets*: + +- **HORIZONTAL BOXES**\ + Τα τοποθετημένα σε αυτό *widgets* θα μπουν στη σειρά από αριστερά προς τα δεξιά ή από τα δεξιά προς τα αριστερά όπως θα δούμε παρακάτω στην εξήγηση των + συναρτήσεων **`gtk_box_pack_start`** και **`gtk_box_pack_end`**.\ + H δημιουργία ενός τέτοιου *box* επιτυγχάνεται με τη χρήση της συνάρτησης **`gtk_hbox_new`**. +- **VERTICAL BOXES**\ + Τα τοποθετημένα σε αυτό *widgets* θα μπουν στη σειρά από πάνω προς τα κάτω ή από κάτω προς τα πάνω, πάλι με χρήση των **`gtk_box_pack_start`** και + **`gtk_box_pack_end`**.\ + Σε γενικές γραμμές, η δημιουργία ενός τέτοιου *box* επιτυγχάνεται με τη χρήση της συνάρτησης **`gtk_hbox_new`**. + +#### Δημιουργία, σύνταξη και παραμέτροι. + +Για τη δημιουργία ενός box, χρησιμοποιούμε τις **`gtk_hbox_new`** και **`gtk_vbox_new`** όπως αναφέραμε και παραπάνω.\ +Η σύνταξη και ο τύπος των συναρτήσεων αυτών είναι: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + GtkWidget *gtk_hbox_new(gint homogeneous, gint spacing); + GtkWidget *gtk_vbox_new(gint homogeneous, gint spacing); + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Στη συνέχεια θα αναφέρομαι μονάχα στην εντολή `gtk_hbox_new` και ότι ισχύει για αυτήν ισχύει και για την `gtk_vbox_new`. \`Οπως παρατηρούμε, επιστρέφει τιμή +τύπου `GtkWidget`, και παίρνει δύο τιμές, τύπου *gint*, τις **homogenous** και **spacing**. + +Η **homogenous** μπορεί να είναι TRUE ή FALSE (και φυσικά οποιαδήποτε λογική έκφραση) και μας δίνει τη δυνατότητα να ελέγξουμε αν τα *widgets* που θα +τοποθετηθούν στο box θα έχουν το ίδιο πλάτος όλα ή όσο χρειάζεται το κάθε ένα. + +Η παράμετρος **spacing** καθορίζει πόσα pixels θα απέχουν μεταξύ τους τα *widgets*. + +#### Εργασία με τα boxes + +Δεν πιστεύω να σας τρόμαξα με τα όσα έγραψα για τα boxes στην προηγούμενη ενότητα\... \`Οπως θα δείτε, η εργασία με τα boxes είναι μια εύκολη υπόθεση, αν ξέρετε +να δουλεύετε τις συναρτήσεις **`gtk_box_pack_start`** και **`gtk_box_pack_end`**. Στη συνέχεια θα δούμε πόσο εύκολη είναι η εργασία με αυτές τις συναρτήσεις. + +**`gtk_box_pack_start`**\ +**`gtk_box_pack_end`** + +Η μορφή αυτών των συναρτήσεων είναι: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + void gtk_box_pack_start(GtkBox *box, GtkWidget *child, gint expand, gint fill, gint padding ); + void gtk_box_pack_end(GtkBox *box, GtkWidget *child, gint expand, gint fill, gint padding ); + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Δεν επιστρέφουν καμία τιμή (είναι void απ\' ότι βλέπετε) και τα ορίσματα που δέχονται εξηγούνται παρακάτω: + +- **`GtkBox *box`**\ + Το όνομα του *box* στο οποίο αναφερόμαστε. +- **`GtkWidget *child`**\ + Το όνομα του *widget* το οποίο προσθέτουμε. +- **`gint expand`**\ + Είναι μορφής *gint*, και αυτό που περιγράφει είναι αν το *widget* που τοποθετούμε θα πιάνει όλη την περιοχή του *box*. Μπορούμε να του αποδώσουμε τις τιμές + TRUE και FALSE. TRUE στην περίπτωση που θέλουμε να πιάνει όλη την διαθέσιμη περιοχή, και FALSE αν θέλουμε να πιάνει μόνο όση περιοχή του είναι απαραίτητη. + Δίδοντας την τιμή FALSE μπορούμε να επιτύχουμε (αριστερή στην περίπτωση της **`gtk_box_pack_start`** ή δεξιά στην περίπτωση της **`gtk_box_pack_end`**) + στοίχιση.\ + \`Οπως καταλαβαίνετε, αν δοθεί η τιμή TRUE, δεν έχει σημασία πια από τις **`gtk_box_pack_start`** ή **`gtk_box_pack_end`** χρησιμοποιήσουμε. +- **`gint fill`**\ + Η τιμή αυτής της παραμέτρου έχει σημασία μόνο αν η τιμή της **`expand`** είναι TRUE. Και αυτό γιατί περιγράφει αν ο επιπλέον χώρος που μένει μετά τη + δημιουργία των *widgets* θα ανήκει σε αυτά (Δηλ. θα τα μεγαλώσει) στην περίπτωση που πάρει την τιμή TRUE ή αν θα ανήκει στο *box* σαν αδιάθετος χώρος στην + περίπτωση που της δώσουμε την τιμή FALSE +- **`gint padding`**\ + Αριθμός τύπου *gint*, που καθορίζει πόσος χώρος (σε pixels) γύρω από το κάθε *widget* δεν θα χρησιμοποιείται. + +### [5.2 Tοποθέτηση των widgets, partII (λέγε με tables)]{#ss5.2} + +Υπάρχει και άλλος ένας τρόπος για να στοιχίσουμε τα widgets στο παράθυρο της εφαρμογής μας. Αυτός επιτυγχάνεται με τη χρήση της συνάρτησης **`gtk_table_new`** +που δημιουργεί έναν πίνακα στο παράθυρο της εφαρμογής μας. Φυσικά, και αυτή η συνάρτηση χρησιμοποιείται μόνο για την τοποθέτηση των διαφόρων *widgets* στο +παράθυρο, και δεν σχεδιάζεται κανένας πίνακας στην εφαρμογή μας.\ +Η σύνταξή της είναι η εξής: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + GtkWidget *gtk_table_new(gint rows, gint columns, gint homogeneous ); + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Είναι προφανές ότι rows είναι ο αριθμός των γραμμών του πίνακά μας και columns ο αριθμός των στηλών του. + +Το homogenous περιγράφει τον τρόπο που τα κελιά του πίνακα θα διανέμονται και θα τοποθετούνται πάνω στο παράθυρό μας. Αν είναι TRUE, τότε όλα τα κελιά του +πίνακα μεγαλώνουν ή μικραίνουν, σύμφωνα με το μεγαλύτερο *widget* στον πίνακα. Αν πάρει την τιμή FALSE, το μέγεθος ορίζεται από το πιο μακρύ *widget* στην κάθε +στήλη και το πιο ψηλό *widget* στην σειρά. Αυτό που ουσιαστικά συμβαίνει είναι ότι αν το HOMOGENEOUS είναι TRUE, όλα τα *widgets* έχουν το ίδιο μέγεθος, και +είναι ομοιόμορφα τοποθετημένα πάνω στο box. + +Η διάταξη των κελιών του πίνακα, διαμορφώνεται από το 0 μέχρι τις τιμές *rows* και *columns*. Μoιάζει δηλαδή με το παρακάτω. Η αρίθμηση όπως βλέπετε, ξεκινάει +από την πάνω αριστερή γωνία. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + 0 1 2 + 0+----------+----------+ + | | | + 1+----------+----------+ + | | | + 2+----------+----------+ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Για την τοποθέτηση ενός widget σε ένα πίνακα, χρησιμοποιούμε την συνάρτηση **`gtk_table_attach`**, της οποίας η σύνταξη είναι η παρακάτω + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + void gtk_table_attach(GtkTable *table, GtkWidget *child, gint left_attach, gint right_attach, + gint top_attach, gint bottom_attach, gint xoptions, + gint yoptions, gint xpadding, gint ypadding); + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Δεν επιστρέφei καμία τιμή και τα ορίσματα που δέχεται είναι + +- **`GtkTable *table`**\ + Το Table στο οποίο αναφερόμαστε + +- **`GtkWidget *child`**\ + Το widget που θέλουμε να τοποθετήσουμε + +- **`gint left_attach`**\ + Η αριστερή συντεταγμένη από όπου θα αρχίζει το widget + +- **`gint right_attach`**\ + Η δεξιά συντεταγμένη από όπου θα τελειώνει το widget + +- **`gint top_attach`**\ + Η πάνω συντεταγμένη από όπου θα αρχίζει το widget + +- **`gint bottom_attach`**\ + Η κάτω συντεταγμένη που θα τελειώνει το widget + +- **`gint xoptions`**\ + χρησιμοποιείται για τον καθορισμό του τρόπου πακεταρίσματος, και θα το δούμε στη συνέχεια πιο αναλυτικά + +- **`gint yoptions`**\ + \`Οπως και το παραπάνω, και οι τιμές που μπορεί να πάρει τόσο αυτό όσο και το `xoptions` είναι οι παρακάτω: + + - **`GTK_FILL`**\ + Αν η περιοχή (συνήθως το κουτί του πίνακα) είναι μεγαλύτερο από το widget που τοποθετούμε, το widget θα μεγαλώσει τόσο ώστε να καλύψει όλο τον χώρο που + υπάρχει. + - **`GTK_SHRINK`**\ + Αν κατά την απόδοση χώρου σε ένα κουτί ο χώρος που δίνεται σε ένα widget είναι μικρότερος από το μέγεθός του ίδιου του widget, τότε αυτό θα μικράνει + ώστε να χωράει. Κάτι τέτοιο συμβαίνει όταν ο χρήστης κάνει resize σε ένα παράθυρο. Αν δεν είναι ορισμένο το **`GTK_SHRINK`** είναι πολύ πιθανό σε μια + τέτοια περίπτωση να μην εμφανίζονται τα widgets μέσα στον χώρο του παραθύρου μας. + - **`GTK_EXPAND`**\ + Με αυτό τον τρόπο μπορούμε να αποδώσουμε στο table μας όλο τον χώρο που απομένει στο παράθυρο μετά τη δημιουργία του. + + Οι παραπάνω τιμές που μπορούν να πάρουν, είναι δυνατό να συνδυαστούν με το **OR** για να καλύψουμε περισσότερες από μια περιπτώσεις. + +- **`gint xpadding`**\ + Το γνωστό και πολλάκις εξηγημένο padding στον οριζόντιο άξονα + +- **`gint ypadding`**\ + \`Οτι και το παραπάνω, αναφέρεται όμως στον κατακόρυφο άξονα + +Για όλους εσάς που όλα αυτά τα ορίσματα στην παραπάνω συνάρτηση σας φάνηκαν πολλά, υπάρχει και μια άλλη, που κάνει την ίδια (περίπου) δουλειά απλούστερα. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + void gtk_table_attach_defaults(GtkTable *table, GtkWidget *widget, gint left_attach, + gint right_attach, gint top_attach, gint bottom_attach); + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +\`Οπως παρατηρούμε, μόνο οι βασικές παραμέτροι περνάνε στη συνάρτηση. Ουσιαστικά δηλαδή, μόνο τα controls θέσης και μεγέθους. Οι παραμέτροι που δεν αναφέρονται, +παίρνουν κάποιες προκαθορισμένες τιμές. Αυτές είναι οι πλέον χρησιμοποιούμενες, και συγκεκριμένα τα **X** και **Y options** γίνονται +**`GTK_FILL | GTK_EXPAND`**, (ελπίζω να ξέρετε ότι το \`\`\|\'\' είναι το **OR**) και στα **X** και **Y padding** δίδεται η τιμή +0. + +Για να καθορίσουμε το spacing ανάμεσα σε συγκεκριμένες γραμμές και στήλες ενός πίνακα, χρησιμοποιούμε τις παρακάτω συναρτήσεις: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + void gtk_table_set_row_spacing(GtkTable *table, gint row, gint spacing); + void gtk_table_set_col_spacing(GtkTable *table, gint col, gint spacing); + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +όπου row ή col η γραμμή ή η στήλη στην οποία αναφερόμαστε, και spacing η απόσταση που θέλουμε να ορίσουμε σαν spacing. Για τις στήλες το spacing προστίθεται στα +ΔΕΞΙΑ και για τις γραμμές ΚΑΤΩ. + +Είναι επίσης δυνατό να καθορίσουμε για ΟΛΕΣ τις στήλες ή γραμμές το spacing, χρησιμοποιώντας τις συναρτήσεις: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + void gtk_table_set_row_spacings(GtkTable *table, gint spacing); + void gtk_table_set_col_spacings(GtkTable *table, gint spacing); + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +\`Οπως πολύ καλά καταλάβατε, η τελευταία στήλη και η τελευταία σειρά δεν λαμβάνουν αυτή την τιμή, γιατί θα δημιουργούσε ένα κενό στα αριστερά και ένα κενό κάτω. + +Είναι φανερό ότι το να δουλεύει κανείς με tables είναι εύκολο. Εγώ προσωπικά δεν το προτιμώ, παρόλο που είναι βασικά η μόνη λύση στην περίπτωση που θέλουμε +απόλυτα στοιχισμένα κουτάκια και κουμπάκια και widgets. Δοκιμάστε το πάντως, και πολλές φορές θα σας λύσει τα χέρια + +### [5.3 Η συνέχεια]{#ss5.3} + +Τον επόμενο μήνα θα συνεχίσουμε αυτό το άρθρο και θα ασχοληθούμε περισσότερο με τα widgets (buttons, radio/check/toggle buttons, text boxes, κ.λπ.) και τις +ιδιότητές τους. Μέχρι τότε, πολλά φιλάκια. + diff --git a/content/articles/20/05_civ.md b/content/articles/20/05_civ.md new file mode 100644 index 0000000..dbab4e3 --- /dev/null +++ b/content/articles/20/05_civ.md @@ -0,0 +1,69 @@ ++++ +title = 'Civ Call To Power' +date = '1999-12-01T00:00:00Z' +description = '' +author = 'Αντώνης Μαυρέλος(mailto:A.Mavrelos@csd.ase.gr)' +issue = ['Magaz 20'] +issue_weight = 5 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Μία παρουσίαση του παιχνιδιού Civ Call To Power που κυκλοφόρησε για Linux από την Loki* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Τίτλος: Civ Call To Power + Κατασκευαστής: Activision + Μεταφορά στο Linux: Loki Entertainment Software + Διανομή στην Ελλάδα: SuSe + Τιμή: 16000 (Αν βρείτε τον Νικήτα στο μαγαζί του Παπασωτηρίου) + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Για μένα το Civilization είναι ένα από τα καλύτερα παιχνίδια όλων των εποχών. Η πρώτη του έκδοση κυκλοφόρησε στις αρχές της δεκαετίας για DOS μόνο τότε. Μετά +βγήκε και η έκδοση για Amiga και μπορούσα να ξενυχτήσω και εγώ όπως οι άλλοι τυχεροί. Το Civilization διέθετε ένα χαρακτηριστικό το οποίο δεν είχαν τα άλλα +παιχνίδια. Ηταν ρεαλιστικό. Το θέμα του είχε άμεση σχέση με την πορεία του ανθρώπου κατά την διάρκεια της εξέλιξης του τόσο πολιτισμικά όσο και κυριαρχικά. Δεν +μιλούσε για Θεούς και Δαίμονες, ήρωες, πολεμιστές, φανταστικά γεγονότα και ιστοριούλες. Αναλάμβανες να οδηγήσεις ένα πολιτισμό από το -3000 π.Χ μέχρι το 2020 +μ.Χ. Να ανακαλύψεις ό,τι ανακάλυψε ο άνθρωπος κατά τη διάρκεια του χρόνου. Αντίπαλοι σου άλλες φυλές όλες οδηγούμενες από τον Υπολογιστή. + +Η έκδοση 2 κυκλοφόρησε με βελτιωμένα γραφικά και για την πλατφόρμα των Windows. Το θέμα δεν άλλαξε, διορθώθηκαν μικροατέλειες και η ΑΙ. Το 2 πούλησε ακόμα +περισσότερο και χαρακτηρίστικε από πολλά \"δημοψηφίσματα\" σαν το καλύτερο παιχνίδι όλων των εποχών. Φυσικό ήταν λοιπόν και η όποια συνέχειά του να ακολουθήσει +την ίδια συνταγή. Ο Sid έφυγε από την Microprose που ήταν και η κατασκευάστρια εταιρεία και δημιούργησε την Firaxis. Η Firaxis έβγαλε πριν ένα χρόνο το Alpha +Centauri ταυτόχρονα με την Activision που έβγαλε για τα Windows το Civ. Τα δύο παιχνίδια έχουν το ίδιο θέμα αλλά το ένα χρονικά βρίσκεται στο μέλλον και είναι η +συνέχεια του αρχικού Civilization που τελείωνε όταν ο άνθρωπος έφτανε στο Αλφα του Κεντάυρου και το δεύτερο\... + +Ενα βελτιωμένο από όλες τις απόψεις Civilization. Καταρχήν Multiplayer. Εστω και Turn Based Strategy (όχι Real Time) έχει μεγαλύτερο ενδιαφέρον να παίζεις +εναντίον ανθρώπου παρά του υπολογιστή. Τα γραφικά είναι καταπληκτικά, παίζει σε παράθυρο αλλά και με DGA σε Full Screen. Υπάρχουν σκηνές μάχης, με αντιπαράθεση +των στρατών ο ένας απέναντι από τον άλλο. Τα σενάρια είναι πιο πολύπλοκα και, γιατί όχι, έξυπνα. + +Για παράδειγμα υπάρχει δυνατότητα να πιάσεις δούλους από γειτονικές πόλεις, να χρησιμοποιήσεις δικηγόρους(!), παπάδες και άλλα τέτοια τρελά πράγματα. Ολα αυτά +δίνουν στο gameplay μια ώθηση. + +Ενα ενοχλητικό χαρακτηριστικό είναι κάποια buttons που βρίσκονται στο κάτω μέρος χαμηλά στην οθόνη και αρκετές φορές παρεμβαίνει το Panel του KDE όταν τα +πατάμε. + +O έλεγχος για όποιον έχει συνηθήσει στα προηγούμενα είναι αρκετά δύσκολος. Η βοήθεια που σου δίνουν ta icons στο αριστερό μέρος είναι μεγάλη αρκετές φορές (για +παράδειγμα ξεχνιέσαι να δώσεις δουλειά σε μια πόλη ή αφήνεις να φτιάχνει το ίδιο πράγμα πολλές φορές). Είναι όμως ενοχλητικά τα πολλά κλικ και γίνονται αρκετά +\"χιλιόμετρα\" με το ποντίκι. + +Το παιχνίδι θα φανεί τις πρώτες φορές εχθρικό. Γίνονται πολλές ξαφνικές επιθέσεις από βάρβαρους ή από άλλες φυλές αλλά σε γενικές γραμμές είναι εύκολο. + +![](/20/img/civ_sm.png)\ +[Μεγάλο μέγεθος](/20/img/civ.png) + +**Installation** + +To πακέτο περιέχει 2 δισκάκια. Στο ένα είναι το παιχνίδι και στο άλλο το SuSE 6.1. Φανταστείτε στην έκδοση για Windows να είχε άλλο ένα δισκάκι με τα Windows +98. Αν πάει καλά το Linux και μειωθεί το ποσοστό των windows users μπορεί η MS σε 3-4 χρόνια να δίνει μια Lite έκδοσή τους ίσα-ίσα για να ξεκινήσει το παιχνίδι. +Οι οδηγίες εγκατάστασης είναι απαράδεκτες. To πρόγραμμα που κάνει install τα tar.gz files δεν είναι καν executable. Δεν υπάρχει πρόβλημα για κάποιον που έχει +λίγες απλές γνώσεις αλλά για τον αρχάριο είναι βουνό. Σίγουρα τα επόμενα παιχνίδια δεν θα έχουν τέτοιες μικροατέλειες. H Loki έχει βγάλει τον Installer σε open +source και ήδη βοηθάει κόσμος. Ας θυμηθούμε πώς γινόταν η εγκατάσταση στις πρώτες εκδόσεις του Linux και που φτάσαμε σήμερα με την Corel και Caldera. + +Κατά τα άλλα το εγχειρίδιο του παιχνιδιού είναι άριστο. Στις 100 σελίδες του βρίσκονται όλα όσα χρειάζεται κανείς και είναι ευκολοδιάβαστο. Δεν υπάρχουν πολλά +Hints αλλά σίγουρα μετά από 1-2 χρόνια θα βγει κάποια Special Edition με ένα ακόμα πιο πλήρες manual. Υπάρχει και μια αφίσσα που θα κοσμήσει τον τοίχο σας. + +Το κόστος του Civ είναι αρκετά μεγάλο. Στις 16900 κρίνεται εξαρχής απαγορευτικό για κάποιους, ενώ για κάποιους άλλους η κόπια θεωρείται μονόδρομος. Πιστεύω ότι +με το καιρό και όσο πολλαπλασιάζονται οι εγκαταστάσεις με Linux θα μειωθούν οι τιμές. Civ στο Linux ποιος θα το φανταζοταν πριν 2 χρόνια! Να περιμένουμε δηλαδή +και την Enacarta 2001; diff --git a/content/articles/21/01_editorial.md b/content/articles/21/01_editorial.md new file mode 100644 index 0000000..a998912 --- /dev/null +++ b/content/articles/21/01_editorial.md @@ -0,0 +1,37 @@ ++++ +title = 'Editorial' +date = '2000-01-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης(mailto:kabrianis@hellug.gr)' +issue = ['Magaz 21'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Καλώς ορίσατε στο πρώτο **Magaz** του 2000\...* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Ήρθε και το 2000. Και μαζί του το Magaz, έστω και λίγο καθυστερημένο, χτυπημένο από τον ιό, όχι της χιλιετίας, αλλά της γρίππης.\ +Ήρθε και το 2000 που το περιμένανε κάποιοι πως και πως: + +- Τα ΜΜΕ, ελληνικά και διεθνή, για να \"πουλήσουν\" ένα χρόνο νωρίτερα το millennium. Αν και περίμενα η \"αναγνώριση\" για την λάθος ημερομηνία να γίνει κατά + τον Απρίλιο, ξεκίνησε σε ορισμένα κανάλια από τις πρώτες μέρες του Ιανουαρίου. Περιμένουμε βέβαια σε 11 μήνες, την ίδια ιστορία - υστερία με το millennium. +- Οι επιτήδειοι που πουλάνε τα πάντα, σιγά μην αφήνανε αυτό το \"λογιστικό λάθος\" να πάει ανεκμετάλλευτο :-) +- Οι κασσάνδρες που προμήνυαν το τέλος του κόσμου (για άλλη μία φορά διαψεύσθηκαν). +- Τέλος οι εργαζόμενοι σε θέσεις που έχουν σχέση, άμεση ή έμμεση, με υπολογιστικά συστήματα, για να δούνε την επίδραση της αλλαγής των τριών τελευταίων ψηφίων + της ημερομηνίας (για να θέσουμε και το πρόβλημα στην πραγματική του βάση) στα συστήματα αυτά. + +Αυτό το τελευταίο ήταν (και παραμένει) ο μόνος πραγματικός λόγος για τον οποίο θα έπρεπε κάποιος να αγωνιά για την έλευση του 2000. Τα πραγματικά αποτελέσματα +θα φανούν κατά το Μάρτιο - Απρίλιο, οπότε θα μπορούμε με ασφάλεια να υποθέσουμε ότι το 90% των προγραμμάτων έχουν ήδη χρησιμοποιηθεί και δεν έχουν παρουσιάσει +πρόβλημα (ή έχουν παρουσιάσει, αλλά λύθηκε).\ +Πραγματικά, τα μόνα προβλήματα που έχουν φανεί μέχρι τώρα είναι απλά scripts που \"τρέχουν\" σε διάφορες web σελίδες ανά τον κόσμο, εντελώς ακίνδυνα βέβαια, τα +οποία στην συντριπτική τους πλειοψηφία οφείλονται στην βαρεμάρα (ή μήπως άγνοια / αδιαφορία;) των web-developers να ελέγξουν ποια έκδοση JavaScript χρησιμοποιεί +ο browser που τους βλέπει. Να επισημάνω εδώ, ότι μετά από συζητήσεις με διάφορους και προβληματισμό σχετικά με αυτό το θέμα, μια που φαίνεται ότι αυτά τα +προβλήματα δεν έχουν τελειωμό, βρήκα επιτέλους το λάθος, το οποίο είναι απλούστατο. Η έκδοση JavaScript 1.1 και οι προηγούμενες, επιστρέφουν στην function +getYear() διαφορετικό output από ότι η έκδοση 1.2 και έτσι, ανάλογα με τον browser (μάρκα - έκδοση) είναι και η χρονιά που βλέπει ο καθένας\... + +Το τεύχος αυτό, δεν έχει παρά ένα μόνο τεχνικό άρθρο. Τα άλλα 3 είναι άρθρα - αναλύσεις, το έναυσμα για ένα από αυτά ήταν ένα προσωπικό mail που έλαβε ο γράφων, +από κάποιον άγνωστο, και για κάποιο άλλο, η αδυναμία του γράφοντος να δει κάποιες web σελίδες στον ελληνικό \"κυβερνοχώρο\". + +Αρκετά όμως με αυτήν την εισαγωγή. Σας ευχόμαστε καλή ανάγνωση, και ό,τι επιθυμείτε για το 2000 να πραγματοποιηθεί. diff --git a/content/articles/21/02_opensource.md b/content/articles/21/02_opensource.md new file mode 100644 index 0000000..e50673e --- /dev/null +++ b/content/articles/21/02_opensource.md @@ -0,0 +1,114 @@ ++++ +title = 'Γιατί Free Software' +date = '2000-01-01T00:00:00Z' +description = '' +author = 'Νίκος Μαυρογιαννόπουλος(mailto:nmav@hellug.gr)' +issue = ['Magaz 21'] +issue_weight = 2 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Σε αυτό το κείμενο θα προσπαθήσουμε να κάνουμε μια σύγκριση μεταξύ ιδιόκτητου λογισμικού (proprietary software) και ελεύθερου λογισμικού (free software).* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Σε αυτό το σημείο θα πρέπει να κάνουμε μια διευκρίνιση η οποία είναι απαραίτητη: τo ελεύθερο λογισμικό δεν είναι public domain, είναι το λογισμικό όπως εχει +οριστεί από το free software foundation ( ). Αναφέρεται και σε εμπορικά προγράμματα, μιας και υπάρχουν πολλά παραδείγματα ελεύθερων +προγραμμάτων που είναι εμπορικά (περισσότερες πληροφορίες στο , και ). + +Αντίθετα με ότι συνήθως ακούμε η διαφορες μεταξύ του ελεύθερου λογισμικού και του ιδιόκτητου λογισμικου, δεν περιορίζονται στην τιμή του λογισμικού, ούτε ακόμη +και στον ανοιχτό κώδικα. + +**Ανοικτός κώδικας:** + +Ο ανοικτός κώδικας (open source) είναι ένα βασικό κομμάτι του free software, χωρίς το οποίο η ιδέα αυτή θα ήταν άχρηστη. Όλα τα open source προγράμματα +συνοδεύονται απο τον κώδικα τους, επιτρέποντας την αλλαγή του, για βελτίωση του ίδιου του προγράμματος, ή ακόμη και την χρησιμοποίηση του κώδικα αυτούσιου (η με +αλλάγες) για την εξυπηρέτηση δικών μας αναγκών, με ορισμένους περιορισμούς, που θα δούμε παρακάτω. Ετσι μπορεί ο καθένας να βελτιώσει ένα πρόγραμμα και να του +προσθέσει δυνατότητες που χρειάζεται, απλώς και μόνο χρηματοδοτώντας έναν προγραμματιστή για να το κάνει. Δεν εξαρτάται από τον αρχικό προγραμματιστή ή απο +κάποια εταιρεία. + +**Αδεια χρήσης:** + +Δεν είναι όμως το open source το μόνο χαρακτηριστικό του free software, εξ\'ίσου σημαντική είναι και η άδεια κάτω από την οποία μπορεί κάποιος να χρησιμοποιήσει +κώδικα\... Η οποία συνοψίζεται: + +1. σε περίπτωση αλλαγής/χρησιμοποίησης κώδικα απο ελεύθερο λογισμικό, οι αποδέκτες του αλλαγμένουν κώδικα, πρέπει να έχουν τα ίδια δικαιώματα με αυτόν που + τροποποίησε τον κώδικα, όχι λιγότερα. +2. Δεν υπάρχει περιορισμός στην διανομή ελεύθερου λογισμικού. + +Αυτή η άδεια δεν επιτρέπει σε κάποια εταιρεία/προγραμματιστή να προσθέσει λίγες ή πολλές δυνατότητες σε ένα ελεύθερο πρόγραμμα, και να το προωθήσει ως ιδιόκτητο +(δηλαδή να περιορίσει τα δικαιώματα του τελικού χρήστη, σε ένα μικρό υποσύνολο από αυτά που είχε καθορίσει ο αρχικός προγραμματιστής). Αυτός είναι και ο βασικός +λόγος που ο πυρήνας του linux, και πολλά προγραμματά του παραμένουν ελεύθερα ακόμη και μετά την εισαγωγή εμπορικών εταιριών στην διανομή του. Αντίθετα λογισμικό +ανοικτού κώδικα, όπως το BSD, κάτω από την άδεια του Berkeley, δεν κατάφερε να παραμείνει open-source, μετα την εισαγωγή εταιρίων στην διανομή του (στη +συγκεκριμένη περίπτωση η ελευθερία του κώδικα δεν ήταν ο σκόπος). + +**Η τιμή:** + +Σε πολλές συζητήσεις ακόμη και στην linux-greek-users λίστα συζητήσεως, πολλοί αναφέρουν την τιμή σαν την πιο σημαντική διαφόρα του ελέυθερου λογισμικού από το +ιδιόκτητο. Συνήθως αυτό δεν ισχύει. Δεν υπάρχει καμιά εγγύηση ότι το ελεύθερο λογισμικό είναι δωρεάν (εδώ μπερδέυει η αγγλική γλώσσα με την χρήση του \"free\" +για να περιγράψει και το \"δωρεάν\" και το \"ελεύθερο\"). Το ελεύθερο λογισμικό μπορεί να μην είναι δωρεάν ενώ το ιδιόκτητο λογισμικό μπορεί να είναι δωρεάν +(πόσα εμπορικά πακέτα δεν κυκλοφορούν δωρεάν ή σε πολύ χαμηλή τιμη για να αυξήσουν την δημοτικότητα τους;). + +**Ιδιόκτητο λογισμικό** + +Η ερώτηση μπορεί να τεθεί ως εξής: Αν η διαφορά ελεύθερου και ιδιόκτητου λογισμικού περιορίζεται στην τιμή, αν το ιδιόκτητο διανεμόταν δωρέαν θα ήταν ελεύθερο;\ +Μάλλον όχι. + +Το ιδιόκτητο λογισμικό θέτει υπερβολικούς περιορισμούς ακόμη και αν διανέμεται δωρεάν. + +1. Δεν μπορεί καποιος να μοιραστεί το πρόγραμμα με τους φίλους/γνωστούς του. Αν σας φαίνεται λογικό το παραπάνω σκεφτείτε το εξής: Θα δανείζατε ένα βιβλίο σας + σε ένα φίλο σας που σας το ζήτησε; Ο φίλος σας αυτός μπορεί να επωφεληθεί διαβάζοντας αυτά που γράφει το βιβλίο; Θα κάνατε το ίδιο με το δισκάκι ενος + ιδιόκτητου προγράμματος που έχετε αγοράσει; Αν όχι, τότε μαλλόν η εταιρεία σας έχει πείσει οτι αυτό δεν είναι σωστό, συνήθως αναφέροντας διαφυγόντα έσοδα. + Είναι αυτό αποδεκτό; Πόσα βιβλία που έχετε δανειστεί για να διαβάσετε θα αγοράζατε; Ίσως και κανένα. +2. Δεν μπορεί κάποιος να διορθώσει ένα πρόβλημα του λογισμικού πηγαίνοντας το στον προγραμματιστή που προτιμά. Μονο η εταιρεία που το δημιούργησε μπορεί να + αναβαθμίσει/διορθώσει το πρόγραμμα. Σκεφτείτε τί γίνεται αν η εταιρεία κλείσει, ή αν τα χρήμματα που ζητά για να κάνει αυτό που θέλουμε είναι υπερβολικά.\ + Αυτό μπορεί να γίνει πιο κατανοητό με το παράδειγμα μιας αγοράς αυτοκινήτου, του οποίου η εταιρεία σας υποχρεώνει να του κάνετε service, ή να αγοράζετε + αξεσουάρ, μόνο στα τα δικά της καταστήματα. +3. Είναι παράνομο σύμφωνα με την άδεια του προγράμματος να δει κάποιος πως λειτουργεί(reverse engineering)! Δηλαδή έχουμε ένα πρόγραμμα το οποίο λειτουργεί για + μας, αλλά μας απαγορεύει να δούμε τι ακριβώς κάνει και πώς το κάνει. Κατέχουμε δηλαδή ένα μαύρο κουτί, ερμητικά κλειστό.\ + Παραλληλήστε το, πάλι, με ένα αυτοκίνητο το οποίο έχει τέτοια άδεια χρήσης, ωστε να απαγορεύει να κοιτάξει κάποιος την μηχανή του. + +Ευλογα αναρωτιέται κανείς αν είναι δικό του το πρόγραμμα που αγόρασε. + +Από τα παραπάνω φαίνεται ότι μάλλον δεν είναι, είναι (όπως αναφέρει και ο τίτλος) ιδιοκτησία της εταιρείας που το παρήγαγε και απλώς μας δίνει μια άδεια +περιορισμένης χρήσης. + +Τα παραπάνω είναι αντίθετα με την ιδέα της ελεύθερης διαδοσης της γνώσης, και της προόδου. Σκεφτείτε κάποιον μαθηματικό να παράγει θεωρήματα τα οποία +\"προστατεύει\", κάτω απο παρόμοιες άδειες, ωστε να επωφεληθεί ο ίδιος. Η ανάπτυξη στον τομέα αυτόν θα προχωρούσε με ρυθμό χελώνας. (Αυτό συνέβαινε και +συμβαίνει ακόμη σε τομείς όπου δεν υπάρχει πανεπιστημιακή παρουσία. Πχ η κρυπτογραφία μέχρι την δεκαετία του 1970 ελεγχόταν απο οργανισμούς κρατικούς ή μη, οι +οποίοι δεν παρουσίαζαν τα αποτελέσματα των ερευνών τους. Αποτέλεσμα αυτού ήταν να εφευρίσκουν τον τροχό κάθε φορά για να προχωρίσουν). + +Η επιστημονική κοινότητα ευτυχώς δεν αντιμετωπίζει αυτό το πρόβλημα, μιας και η γνώση μεταδίδεται ελεύθερα στους κύκλους της (και δεν περιορίζεται σε αυτούς). +Οποιοσδήποτε μπορεί να αποδείξει ένα θεώρημα και αργότερα οποισδήποτε μπορεί να το χρησιμοποιήσει για να φτάσει σε κάτι καλύτερο, δεν υπάρχει κανένας +περιορισμός. + +Από αυτήν την ιδέα χαρακτηρίζεται η άδεια του λειτουργικού συστήματος BSD (που αναπτύχθηκε στο πανεπιστήμιο του Berkeley), ενώ η [GNU General Public +License](http://www.gnu.org/copyleft/gpl.html) (η άδεια του free software), επεκτείνε αυτήν την άδεια ωστε να μπορεί να χρησιμοποιηθεί και στον εμπορικό κόσμο. +Εξασφαλίζει τον συγγραφέα/προγραμματιστή ότι κανείς δεν θα περιορισει τα δικαιώματα που αυτός απέδωσε στον τελικό χρήστη ( +[Copyleft](http://www.gnu.org/copyleft/copyleft.html)). + +Αυτό επιβεβαιώνει και το γεγονός ότι υπάρχουν εμπορικά πρόγραμματα κάτω απο την GNU άδεια, ενώ ευτυχώς ή δυστυχώς δεν υπάρχουν εμπορικά προγράμματα κάτω απο μια +BSD-like άδεια χρήσης. + +Τα προγράμματα κάτω απο μια ιδιόκτητη άδεια, προσπαθούν με κάθε δυνατό τρόπο να περιορισουν την γνώση που εσωκλείουν, προσπαθούν να μετατρέψουν τον τελικό +χρήστη σε καταναλωτή που δεν ξέρει τι καταναλώνει. Για παράδειγμα όλα τα πρωτόκολλα που χρησιμοποιούν ιδιόκτητα προγράμματα είναι μυστικά, κανείς δεν μπορεί να +δει πως αποθηκεύουν ένα αρχείο κειμένου στον σκληρό δίσκο, πως μεταφέρουν αρχεία απο υπολογιστή σε υπολογιστή, πως επιτυγχάνουν την πιστοποίηση στοιχείων. + +Πέρα απο τη μετατροπή του χρήστη σε καταναλωτή, αυτή η αντιμετώπιση, έχει ως αποτέλεσμα να μην μπορεί ευκολα κάποιος να παρατηρήσει πιθανά λάθη στην υλοποίηση +του πρωτοκόλλου ή στο ίδιο το πρωτόκολλο, ώστε να τα διορθώσει.\ +Για παράδειγμα το PPTP πρωτόκολλο που χρησιμοποιεί η Μicrosoft για πιστοποίηση στοιχείων, είχε και έχει σοβαρά προβλήματα ( +), γιατί κατά την υλοποίση του πιστέυτηκε ότι υπάρχει ασφάλεια αποκρύπτοντας τις λεπτομέρειες του πρωτοκόλλου. + +Το συγκεκριμένο πρωτόκολλο έχει βελτιωθεί απο την στιγμή της πρώτης παρατήρησης των αδυναμιών, όμως συστήνεται ακόμα ως ακατάλληλο όταν η ασφάλεια είναι ο +πρώταρχικός στόχος. + +Σε ένα ελεύθερο λειτουργικό, θα μπορούσε οποιοσδήποτε να αντικαταστήσει αυτό το πρωτόκολλο με κάποιο καλύτερο, δεν θα ήταν αναγκασμένος να περιμένει μία +εταιρεία να το βελτιώσει. + +Απο τα παραπάνω βλέπουμε άλλον ένα σημαντικό, ίσως τον πιο σημαντικό λόγο, για να χρησιμοποιήσουμε ελευθερο λογισμικό. Δεν είναι μόνο η τιμή ή ο κώδικας, ο +οποίος για τους μη προγραμματιστές είναι άχρηστος. Είναι η αντιμετώπιση μας ως σκεπτόμενους και ελεύθερους ανθρώπους. Με το ελεύθερο λογισμικό έχουμε +δυνατότητες επιλογής, μπορούμε να επιλέξουμε σε ποιον θα απευθυνθούμε για βοήθεια, ή ποίος θα διορθώσει τα προβλήματα του λειτουργικού μας. Παρατηρήστε μόνο τον +αριθμό των εταιριών που προσφέρουν διανομές linux (Redhat, Caldera, Suse, Corel κλπ), υποστήριξη σε linux, καθώς και τους τροποποιημένους πυρήνες Linux που +υπάρχουν στο διαδίκτυο, και καλύπτουν διαφορετικές ανάγκες! + +Δεν είναι μόνο ότι δεν παραμένουμε παθητικοί καταναλωτές, αλλά συμμετέχουμε και στην εξέλιξη του λογισμικού, ακόμα και σαν απλοί χρήστες. diff --git a/content/articles/21/03_community_thought.md b/content/articles/21/03_community_thought.md new file mode 100644 index 0000000..381a92a --- /dev/null +++ b/content/articles/21/03_community_thought.md @@ -0,0 +1,167 @@ ++++ +title = 'Σκέψεις για την ελληνική κοινότητα του Linux.' +date = '2000-01-01T00:00:00Z' +description = '' +author = 'Παναγιώτης Βρυώνης(mailto:vrypan@hellug.gr)' +issue = ['Magaz 21'] +issue_weight = 3 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Μερικές σκέψεις για το ποιός είναι ο ρόλος της ελληνικής κοινότητας του Linux και πώς θα μπορούσαμε να αντιμετωπίσουμε μερικά από τα προβήματα που διακρίνονται +στον ορίζοντα.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Οι μέρες που το Linux ήταν \"περιθωριακό\" έχουν περάσει, αυτό νομίζω ότι είναι κοινός τόπος ακόμη και των πιο φανατικών αντι-linux-άδων. Το 1999 ήταν χρονιά +θριάμβου για το Linux, διότι (αν μη τί άλλο) αναδείχθηκε σε έναν από τους κύριους παράγοντες που επηρρεάζουν την αγορά της πληροφορικής. Τα σημάδια είναι πλέον +\"χειροπιαστά\" και δεν περιορίζονται σε εκτιμήσεις: Υπάρχουν 2 πολύ μεγάλες εταιρείες που αναδείχθηκαν μόνο και μόνο λόγω Linux, η RedHat και η VA Linux που με +την εισαγωγή τους στο NASDAQ έκαναν τους χρηματιστές όλου του κόσμου να παραμιλάνε. Υπάρχει η σαφής πρόθεση κολοσσών της αγοράς πληροφορικής όπως +Hewlett-Packard, SGI, Compaq, IBM, Oracle, SUN κ.λ. να υποστηρίξουν με τον ένα ή τον άλλο τρόπο το Linux ως πλατφόρμα. Και τέλος, υπάρχει πλέον η αντιμετώπιση +του Linux από την μεγαλύτερη εταιρεία του κόσμου, την Microsoft, ως σοβαρού ανταγωνιστή. + +Αυτό όμως που κάνει το Linux διαφορετικό από τα περισσότερα άλλα λειτουργικά συστήματα δεν είναι τόσο η τεχνολογία που κρύβει πίσω του, ούτε η αποδοχή που βρήκε +στην αγορά. Η σηματικότερη διαφορά του είναι ότι ανέδειξε το κίνημα του Open Source Software (OSS). + +Οι περισσότεροι ανθρωποι που έρχονται σε επαφή με το Linux επτυπωσιάζονται από το γεγονός ότι είναι τζάμπα. Το μοντέλο του OSS έχει όμως πολύ βαθύτερες +προεκτάσεις και αγγίζει πολύ περισσότερα θέματα εκτός από την τιμή του τελικού προϊόντος. Επηρεάζει βαθειά τη διαχείριση (management) του τρόπου ανάπτυξης και +υποστήριξης του λογισμικού, αναγνωρίζοντας ως κύρια δύναμη στους τομείς της έρευνας, της ανάπτυξης, της υποστήριξης, αλλά και της αγοράς αυτό που ονομάστηκε +\"κοινότητα\". + +Δοκιμάστε να βρείτε την φράση \"κοινότητα των Windows\" ή \"κοινότητα του Solaris\". Δεν νομίζω ότι θα έχετε επιτυχία (εκτός και αν βρείτε κάποια από αυτές σε +διαφημιστικά των εταιρειών που παράγουν τα εν λόγω προϊόντα). Αντίθετα, θα βρείτε \"κοινότητα του Linux\" και \"κοινότητα του FreeBSD\"\... Η διαφορά δεν +βρίσκεται στην τιμή των παραπάνω προϊόντων. Η διαφορά βρίσκεται στο ότι ένας μεγάλος αριθμός ανθρώπων με διαφορετικές ιδιότητες (προγραμματιστές, +administrators, χρήστες, συγγραφείς τεχνικών εγχειριδίων κ.α.), που δεν βρίσκονται μέσα στα πλαίσια μίας και μόνης εταιρείας ή ενός οργανισμού, συμμετέχουν στην +εξέλιξη, υποστήριξη και προώθηση του λογισμικού. Επιπλέον, ο οποιοσδήποτε μπορεί να \"προσχωρήσει\" σε αυτήν την κοινότητα χωρίς να ζητήσει την άδεια κάποιου +\"αρμόδιου\". + +Είναι λοιπόν σαφές ότι η \"κοινότητα\" του Linux αποτελείται από ετερόκλητους ανθρώπους που ο καθένας συμμετέχει για τους δικούς του προσωπικούς λόγους. Αλλος +το κάνει από μεράκι, άλλος το κάνει γιατί θεωρεί ότι αυτός είναι ο πιο αποδοτικός τρόπος να κάνει την δουλειά του και άλλος γιατί θεωρεί ότι από αυτό θα βγάλει +λεφτά. + +Φτάνουμε λοιπόν στο πρώτο επίμαχο σημείο: \"επιτρέπεται\" από την ιδεολογία που διακρίνει το Linux να βγάζεις λεφτά από αυτό; Πιστεύω ότι η απάντηση είναι ένα +μεγάλο ΝΑΙ. Αν θεωρήσουμε ότι το GPL (GNU Public License) είναι ο θεμελιώθης λίθος του Linux (αλλά και των περισσότερων και σημαντικότερων OSS εγχειρημάτων), +τότε θα δούμε ότι η πώληση του Linux επιτρέπεται, άρα και το κέρδος από αυτή. Αυτό που δεν επιτρέπεται είναι η \"οικιοποίηση\" της προσπάθειας και του +αποτελέσματος των ανθρώπων που συμμετέχουν στο GPL λογισμικό. Είναι μάλιστα προφανές ότι είναι τέτοια η φύση του GPL που η αποδοχή του από εταιρείες οδηγεί σε +μία πολύ υγειή αγορά όπου ο ανταγωνισμός είναι όσο πιο ελεύθερος γίνεται. + +Αρα, σύμφωνα με τον παραπάνω συλλογισμό, οι εταιρείες που αναπτύσουν, υποστηρίζουν ή απλά πουλάνε το Linux είναι μέλη της \"κοινότητας\". Αυτή την στιγμή δεν +υπάρχουν πολύ μεγάλες εταιρείες που να ασχολούνται με το Linux ενεργά στην Ελλάδα. Υπάρχουν όμως 2-3 μικρότερες και πιστεύω ότι, καθώς η αγορά του Linux αρχίζει +να αποκτά ενδιαφέρον και στην Ελλάδα, σύντομα θα δούμε σημαντικές κινήσεις από τους \"μεγάλους\". Ίσως ακόμη και οι \"μικροί\" να μεγαλώσουν απότομα ή να +πληθύνουν. Σε κάθε περίπτωση, θα πρέπει ως κοινότητα να βοηθήσουμε αν μπορούμε αυτές τις προσπάθειες με την προϋπόθεση ότι θα διατηρούν τον ανοικτό χαρακτήρα +του Linux. Θα ήταν μάλιστα μεγάλη επιτυχία να κάνουμε τις εταιρείες αυτές να κατανοήσουν τον τρόπο που λειτουργεί η κοινότητα του Linux και να τις πείσουμε να +συμμετάσχουν ενεργά σε αυτή. + +Εκτός από τις εταιρείες, υπάρχουν και άλλες \"οργανωμένες\" ομάδες που συμμετέχουν την \"κοινότητα\". Η συμαντικότερη (κατά την γνώμη μου) τέτοιας μορφής ομάδα +είναι οι άνθρωποι που απαρτίζουν τις διάφορες \"λίστες\" (mailing lists) με θέματα που άπτονται του Linux και του λογισμικού που το συνοδεύει. Ειδικά στην +Ελλάδα, έχουμε ένα λαμπρό παράδειγμα, την linux-greek-users που αποτελεί την καρδιά της ελληνικής κοινότητας του Linux. Εκεί γίνεται το σημαντικότερο μέρος της +υποστήριξης, εκεί ανακοινώνονται τα διάφορα νέα. Κατά την γνώμη μου, η λίστα αυτή είναι κάτι σαν την αρχαία Αθηναϊκή αγορά: αποτελεί τον χώρο στον οποίο γίνεται +η ανταλλαγή απόψεων, οι αντιπαραθέσεις αλλά και η γέννηση ενδιαφέροντων ιδεών. + +Μία άλλη μορφή οργανωμένης ομάδας που αποτελεί μέρος της \"κοινότητας\", είναι τα διάφορα Linux Users Groups (LUGs). Βέβαια, κάθε LUG έχει διαφορετικούς +στόχους, ανάλογα με τις ανάγκες των μελών του, ανάγκες που μπορεί να μεταλλάσονται με την πάροδο του χρόνου. Στον Ελληνικό χώρο υπάρχουν τουλάχιστον 4 LUGs:\ +[HELLUG](http://www.hellug.gr/),\ +[PLUG](http://students.ceid.upatras.gr/~glavas/linux/),\ +[TheLUG](http://hal.csd.auth.gr/thelug/),\ +[ALLUG](http://www.aneta.gr/allug/). + +Το σημαντικότερο από αυτά, λόγω \"πανελλαδικότητας\", αριθμού μελών αλλά και διότι είναι το μόνο που υφίσταται ώς επίσημος σύλλογος είναι το HELLUG. Αυτό +βέβαια, δεν σημαίνει ότι οι υπόλοιποι σύλογοι δεν είναι σημαντικοί. Έχουν και αυτοί ένα δικό τους ρόλο να διαδραματίσουν, που σε καμία περίπτωση δεν θα έπρεπε ο +HELLUG λόγω μεγέθους να προσπαθήσει να τους στερήσει. + +Ερχόμαστε λοιπόν σε άλλο ένα \"ζεστό\" θέμα: ποιός είναι ο ρόλος των LUGs; Τί ρόλο θα πρέπει να παίξει ο HELLUG και τί οι τοπικοί σύλογοι; Κατά την γνώμη μου, ο +HELLUG έχει την δυνατότητα τώρα πια (λόγω προβολής, οργάνωσης και πόρων), πρώτον να αποτελει την επίσημη φωνή του Linux στην Ελλάδα σε περιπτώσεις που +χρειάζεται να μιλήσουμε με εταιρείες, κρατικούς φορείς και οργανισμούς και δεύτερον να φροντίζει για την ύπαρξη της υποδομής που θα βοηθήσει την κοινότητα να +είναι πιο παραγωγική και ενεργή σε τομείς όπως η ανάπτυξη λογισμικού, η υποστήριξη και η ανάληψη πρωτοβουλιών. Και εξηγώ: + +Νομίζω ότι είναι προφανές ότι σε περιπτώσεις που ο συνομιλητής είναι μία επιχείρηση ή ένα υπουργείο θα θελήσει να μιλήσει με κάποιον που, αν μη τί άλλο, έχει +μία νομική υπόσταση. Μην θεωρείτε ότι τέτοιες περιπτώσεις δεν θα παρουσιαστούν. Αυτή την στιγμή γνωρίζουμε ότι σε όλα τα ελληνικά σχολεία θα υπάρχει +εγκατεστημένο Linux και τίποτα δεν αποκλείει την περίπτωση να δούμε το Linux να εγκαθίσταται σε υπουργεία ή άλλους δημόσιους οργανισμούς (δείτε το παράδειγμα +του Μεξικού!). Δεν θα θέλαμε σαν κοινότητα να έχουμε κάποιο λόγο ώστε να αποφευχθούν λάθος κινήσεις; Ένα άλλο παράδειγμα είναι το certification μηχανημάτων ότι +λειτουργούν σωστά με το Linux, που συζητείται αυτές τις μέρες στην λίστα του hellug. Σε αυτή την περίπτωση, θα είναι απαραίτητο να μιλήσει κάποιος και να κάνει +κάποια συμφωνία με εταιρείες - ποιός είναι καλύτερος από το HELLUG; + +Όσο για το θέμα της υποδομής, δεν είναι λίγοι που το θεωρούν αμεληταίο. Κι όμως, σε ποιά μηχανήματα βρίσκονται οι διάφορες λίστες (linux-greek-users, hellug, +hellenic-howto), αλλά και η κεντική σελίδα του HELLUG (που δεν εξυπηρετεί μόνο τα μέλη του βέβαια); Και πως δέχθηκε ο provider (Forthnet σε αυτή την περίπτωση) +να φιλοξενήσει αυτά τα μηχανήματα και να παραχωρήσει κάποιο bandwidth για αυτά; Από πού βρέθηκαν τα λεφτά για το περίπτερο στην Infosystem; Τα παραπάνω είναι +μερικές από τις περιπτώσεις που η ύπαρξη του HELLUG, η διαφήμιση που του έχει γίνει από διάφορα έντυπα (με την αναφορά του σε σχετική αρθρογραφία π.χ.), αλλά +και η νομική του υπόσταση εξασφάλισαν την ύπαρξη της απαραίτητς υποδομής για να προχωρήσει καλύτερα το Linux\... + +Νομίζω όμως ότι έγινε σαφές πως το HELLUG ΔΕΝ ΕΙΝΑΙ η ελληνική κοινότητα Linux. Είναι απλά ένα σημαντικό μέρος της. Υπάρχουν πράγματα που δεν μπορεί ο HELLUG να +οργανώσει ή να πετύχει και που δεν θα έπρεπε να προσπαθήσει. Ένα τέτοιο είναι η σύσφιξη των σχέσεων των ανθρώπων που ασχολούνται με το Linux μακρυά από την +Αθήνα. Τα περισσότερα μέλη του HELLUG βρίσκονται στη Αθήνα και κατά συνέπεια αρκετές φορές λειτουργεί ως η αφορμή για την σύσφιξη των σχέσεών τους (που οδηγεί +σε καλύτερης ποιότητας επικοινωνία) με συγκεντρώσεις ή happenings. Θα ήταν όμως λάθος να ασχοληθεί με κάτι τέτοιο σε περιοχές που υπάρχουν τοπικά LUGs. Θα ήταν +λάθος να προσπαθήσουμε ως HELLUG να \"καπελώσουμε\" τις τοπικές πρωτοβουλίες. Αντίθετα, θέλω ένα HELLUG που θα μπορεί να προσφέρει πόρους έτσι ώστε τα τοπικά +LUG να γίνουν πιο δραστήρια και περισσότερα. Οι πόροι αυτοί μπορεί να είναι με την μορφή μίας συμφωνίας με Internet Providers για την παροχή κάποιας γραμμής +δωρεάν, ή με την μορφή μεσολάβησης για την προβολή των δραστηριοτήτων ενός μικρότερου LUG, ή κάτι αντίστοιχο. + +Αυτό δεν σημαίνει σε καμμία περίπτωση ότι το HELLUG θα πρέπει να μετατραπεί σε ένωση αθηναίων χρηστών Linux. Αντίθετα, θα ήταν καλό φίλοι από όλη την Ελλάδα να +συμμετέχουν σε αυτό, ώστε να το επηρεάζουν και να έχουν λόγο στις αποφάσεις και τις δραστηριότητές του. Απλά, δεν θα πρέπει η συμμετοχή τους να τους αποτρέψει +από την δημιουργία και τοπικών LUG. + +Όλα αυτά είναι βέβαια ιδέες και μάλιστα σε ένα χώρο που η κινητήρια δύναμη (μέχρι στιγμής τουλάχιστον) είναι ο εθελοντισμός. Αρα, όσες ιδέες και να διατυπωθούν, +δεν μπορεί να γίνει τίποτα χωρίς την ενεργή συμμετοχή όλων (ή έστω αρκετών). Ερχόμαστε λοιπόν στο τρίτο θέμα μας: νοοτροπία και συμπεριφορά μέσα σε αυτό τον +μυστήριο για πολλούς χώρο της \"κοινότητας\". + +Όπως είπα και στην αρχή, ο καθένας είναι ελεύθερος να συμμετέχει (όχι γιατί κάποιος δίνει αυτό το δικαίωμα σε όλους, αλλά γιατί δεν υπάρχει κάποιος που να +μπορεί να το στερήσει\...). Συνήθως, η συμμετοχή αυτή έχει δύο όψεις: το μέλος αντλεί από την κοινότητα πόρους (με την μορφή τεχνογνωσίας και υποδομής) και +προσφέρει πόρους σε αυτή (με την ίδια μορφή). + +Κατά τα πρώτα χρόνια του Linux (και μέχρι πριν από 1-2 χρόνια στην Ελλάδα), οι άνθρωποι που αποτελούσαν την κοινότητα είχαν κατά κανόνα περισσότερες από τον +μέσο χρήστη γνώσεις πληροφορικής και ασχολούνταν με αυτό από χόμπυ ή σε επαγγελματικό επίπεδο, σαν εργαλείο. Κατά συνέπεια, σπάνια ζητούσαν από την υπόλοιπη +κοινότητα να τους δώσει κάτι: τα προβλήματά του προσπαθούσαν να τα λύσουν μόνοι τους και αν κατόπιν αρκετής προσπάθειας τους έλλειπε κάτι, τότε μόνο ζητούσαν +την βοήθεια (= τον χρόνο και την ενασχόληση) κάποιου άλλου. Είχαμε λοιπόν ένα θετικό ισοζύγιο σε αυτή την εισροή και εκροή πόρων. Αυτό το πλεόνασμα, επενδύονταν +σε νέα πράγματα - να φτιάξουμε το ένα, να διορθώσουμε το άλλο, να γράψουμε documentation. + +Τον τελευταίο όμως χρόνο, άρχισε να παρουσιάζεται ένα άλλο φαινόμενο. Η μεγάλη προβολή του Linux από έντυπα αλλά και οι προσπάθειες του HELLUG να φέρουν κόσμο +στον χώρο του Linux, σε συνδυασμό με το γεγονός ότι αυτό γίνονταν όλο και πιο φιλικό στον νέο χρήστη, άρχισαν να αποδίδουν καρπούς. Η κοινότητα μεγάλωνε με πολύ +γρήγορους ρυθμούς. Οι νέοι χρήστες θεώρησαν ότι αυτό είναι ένα νέο προϊόν, ανταγωνιστικό των Windows ή του MacOS, απλά πολύ πιο φθηνό, χωρίς να συνειδητοποιούν +(στην πλειοψηφία τους) ότι δεν μιλάμε για το προϊόν ΤΟΥΣ (κάποιας εταιρείας) αλλά το προϊόν ΜΑΣ (όλων μας). Δεν λέω ότι ήταν δικό τους το λάθος, ίσως να φταίμε +και οι παλαιότεροι και πολύ περισσότερο όλοι όσοι αρθρογραφούμε σε περιοδικά πληροφορικής που το παρουσιάζαμε με αυτόν ακριβώς τον τρόπο. Το αποτέλεσμα όμως +ήταν να αυξηθεί δυσανάλογα η ζήτηση πόρων (με την έννοια που προανέφερα), σε σχέση με την προσφορά. + +Η linux-greek-users και το magaz άρχισαν να κατακλύζονται από ερωτήσεις που πολλές φορές επαναλαμβάνονταν ξανά και ξανά (πώς θα συνδεθώ στο Internet, πώς θα +γράψω ελληνικά, πώς θα ρυθμίσω το Netscape για να βλέπω ελληνικά κ.λ.). Το ενοχλητικό για αυτούς που καλούνταν να απαντήσουν ήταν ότι οι απαντήσεις υπήρχαν +διαθέσιμες: HOWTOS, άρθρα στο magaz, archives των λιστών\... Πολλές φορές μάλιστα, οι ερωτήσεις είχαν και επιτακτικό χαρακτήρα που υπονοούσε ότι \"είστε +υποχρεωμένοι να μου πείτε\", όπως ακριβώς θα ήταν προς μία εταιρεία που τους πούλησε ένα προϊόν και είναι υποχρεωμένη να παρέχει κάποια υποστήριξη. + +Όμως τα πράγματα δεν είναι έτσι. Το μόνο που υποχρεώνει ένα μέλος της κοινότητας να βοηθήσει είναι η διάθεσή του και η αίσθηση που έχει ότι πρέπει να +ανταποδώσει την προσφορά όλων αυτών που έγραψαν τα προγράμματα που χρησιμοποιεί και τον βοήθησαν όταν είχε ανάγκη. Επειδή μάλιστα ο χρόνος που μπορεί να +διαθέσει κάποιος είναι περιορισμένος (στην καλύτερη περίπτωση 24 την ημέρα!), ακόμη και όταν έχει την διάθεση να βοηθήσει, μπορεί να επιλέγει κάποιο άλλο τρόπο, +και όχι αυτόν του να απαντάει σε ερωτήσεις νέων χρηστών. Μπορεί να γράφει κάποιο νέο πρόγραμμα, να συμμετέχει στην ανάπτυξη κάποιου άλλου, να βοηθάει στην +συγγραφή τεχνικών κειμένων (π.χ. HOWTOs), να συντηρεί καποιο server στον οποίο φιλοξενείται ένα project ή να γράφει άρθρα για το magaz. + +Ακόμη και στην περίπτωση που θέλει να βοηθήσει απαντώντας σε προβλήματα, μπορεί να μην έχει όρεξη να απαντήσει στην ίδια ερώτηση 10 φορές σε διάστημα 10 +εβδομάδων. Αν μάλιστα πρόκειται για έναν καλό γνώστη καποιων πλευρών του linux, είναι και κρίμα να αναλώνονται οι 5-6 απαντήσεις που προλαβαίνει να δώσει σε +πράγματα που θα μπορούσαν να απαντήσουν σχεδόν όλοι και να μην διαθέτει τον χρόνο αυτό σε ερωτήσεις που ελάχιστοι άλλοι ξέρουν να απαντήσουν σωστά. + +Με τα παραπάνω, δεν θέλω να πω ότι πρέπει να επικρατήσει μία ελιτίστικη αντίληψη ότι \"εγώ δεν απαντάω σε τέτοιες ερωτήσεις\". Το θέμα της υποστήριξης είναι +πάρα πολύ σημαντικό και πρέπει όλοι να συνεισφέρουμε σε αυτή. Η λύση δεν είναι δύσκολη: Από την μία πρέπει να εξηγούμε στους νέους χρήστες ότι για να +λειτουργήσουν στον χώρο του Linux πρέπει να ψάχνουν λίγο μήπως υπάρχει έτοιμη η απάντηση στο πρόβλημά τους. Από την άλλη πρέπει να έχουμε όλοι στο μυαλό μας +αυτό που ονομάζω \"ένα βήμα πίσω\": αν δηλαδή αυτός που κάνει την ερώτηση βρίσκεται ένα βήμα πίσω από κάποιον, τότε αυτός (που προφανώς έλυσε το ίδιο πρόβλημα +πριν από λίγο καιρό) έχει την ηθική υποχρέωση να βοηθήσει. Με αυτό τον τρόπο, ακόμη και αν έχουμε πολλούς νέους χρήστες, θα υπάρχουν πολλοί άνθρωποι για να τους +βοηθήσουν στα απλά πράγματα. Για τα πιό πολύπλοκα, θα υπάρχουν λιγότεροι, αλλά θα έχουν όλο τον χρόνο να ασχοληθούν. Σημειώστε ακόμη, ότι το να απαντήσει +κάποιος σε κάτι που έλυσε πριν από μία μέρα είναι πολύ πιο εύκολο από το να απαντήσει σε κάτι που έλυσε πριν από ένα χρόνο. + +Ένα άλλο πρόβλημα που παρουσιάστηκε ήταν ότι οι νέοι χρήστες αισθάνονται πολλές φορές ξένοι μέσα σε ένα χώρο που κάποιοι άλλοι δείχνουν να γνωρίζονται καλά και +μάλιστα, αυτοί οι \"άλλοι\" ξέρουν και πολύ περισσότερα. Το αποτέλεσμα είναι ότι πολλά νέα μέλη της κοινότητας δεν τολμάνε να αναλάβουν πρωτοβουλίες με την +λογική \"τώρα που να πεταχτώ και εγώ, εδώ μιλάνε οι \"παλιοί\" που ξέρουν\". Αυτό είναι λάθος. Όλες οι γνώμες και όλες οι πρωτοβουλίες πρέπει να ακούγονται. +Χαρακτηριστικό παράδειγμα είναι το magaz. Οι άνθρωποι που το ξεκινήσαμε, όταν το ξεκινήσαμε προσπαθήσαμε μέσα από αυτό να παρουσιάζουμε τις εμπειρίες μας και +τους προβληματισμούς μας. Είναι λογικό μετά από δύο χρόνια να μην βρισκόμαστε στο ίδιο σημείο, και να μας απασχολούν πιο \"προχωρημένα\" θέματα. Αυτό όμως δεν +σημαίνει ότι το magaz δεν έχει ανάγκη από άρθρα που να εξηγούν πως λειτουργεί η ls για παράδειγμα. Αντιθέτως. Το θέμα είναι να συνειδητοποιήσουν οι νεότεροι ότι +η κοινότητα τους χρειάζεται και αυτούς και ότι η προσφορά τους είναι πολύτιμη. Δεν αποκλείεται μάλιστα, να υπάρχει μεγαλύτερο ενδιαφέρον από το κοινό για τα +απλά πράγματα. Αρα, στρωθείτε και γράφετε άρθρα, γιατί αλλιώς το \"περιοδικάκι\" που σας βοήθησε στα πρώτα σας βήματα μπορεί να μην υπάρχει για να βοηθήσει τους +επόμενους\... Αλλωστε, ο Μιχάλης, ο Παναγιώτης, ο Σπύρος, ο Φώτης και όλοι όσοι \"ακούτε\" να μιλάνε μεταξύ τους με τα μικρά τους ονόματα γνωρίστηκαν μέσα σε +αυτό τον χώρο, όταν δεν ήξεραν και πολλά πράγματα\... + +Το ίδιο ισχύει και στον χώρο του HELLUG. Υπάρχουν πολλές ιδέες, αλλά συχνά λείπει ο απαραίτητος αριθμός ανθρώπων που θα πάρουν την πρωτοβουλία να τις +υλοποιήσουν. Δεν μιλάμε μόνο να συμμετάσχουν όταν όλα θα είναι κανονισμένα (που και αυτό βέβαια είναι απαραίτητο), αλλά και για ανθρώπους που θα αναλάβουν την +οργάνωσή τους. Θέλουμε λοιπόν όσο γίνεται περισσότερα μέλη στο HELLUG, αλλά θέλουμε ανθρώπους που θα έχουν την όρεξη να βοηθήσουν. Αυτοί που νομίζουν ότι με την +εγγραφή τους στο σύλογο θα απολαμβάνουν κάποιο προνόμιο όπως support, δεν χρειάζεται να μπούν στον κόπο: όση βοήθεια είναι να λάβουν, θα την λάβουν έτσι και +αλλιώς\... + +Η αίσθησή μου είναι ότι το Linux είναι έτοιμο να κάνει το \"μεγάλο άλμα\", αν δεν το έχει κάνει ήδη. Οι αριθμοί γίνονται όλο και μεγαλύτεροι, είτε μιλάμε για +τον αριθμό των χρηστών, είτε για τα χρήματα που έχουν να κερδίσουν όσοι ασχολούνται με το Linux επαγγελματικά. Σύντομα λοιπόν θα αλλάξουν οι κλίμακες, και αυτό +μπορεί να βάλει σε κίνδυνο την συνοχή της \"κοινότητας\" αλλά και τον ρόλο της, αν δεν είμαστε σωστά προετοιμασμένοι για αυτό. Πιστεύω ότι οι απόψεις που +παρέθεσα προσπαθούν να προλάβουν κάποιες δυσάρεστες καταστάσεις και να διατηρήσουν και την δυναμικότητα και τον ρόλο της κοινότητας των (ελλήνων) χρηστών Linux +τουλάχιστον στο κοντινό μας μέλλον. Ελπίζω να γίνουν αιτία γόνιμου προβληματισμού. diff --git a/content/articles/21/04_gidoboskoi.md b/content/articles/21/04_gidoboskoi.md new file mode 100644 index 0000000..2dde5ad --- /dev/null +++ b/content/articles/21/04_gidoboskoi.md @@ -0,0 +1,181 @@ ++++ +title = 'Γιδοβοσκοί του Ελληνικού Ιντερνέτ' +date = '2000-01-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης(mailto:kabrianis@hellug.gr)' +issue = ['Magaz 21'] +issue_weight = 4 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Προσφάτως, μία φίλη χαρακτήρισε κάποιους γιδοβοσκούς του Web (απόλυτα δικαιολογημένα κατά την άποψή μου), γεγονός που μου έδωσε το έναυσμα να γράψω για τους +γιδοβοσκούς του Ιντερνέτ γενικότερα (ο τόνος δεν είναι τυχαίος)* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Ποια η σχέση του άρθρου με το Linux; Επιφανειακά καμία. Κατά βάθος επίσης καμμία. Μόνο ότι οι χρήστες Linux \"αποκλείονται\" από το Internet, όχι χάρη σε αυτόν +που φοβόμασταν (Microsoft) αλλά χάρη σε 10-20 άσχετους που κατεβήκαν από τα βουνά όπου έβοσκαν τα γίδια τους, και αποφάσισαν να ασχοληθούν με την νέα μόδα, το +Ιντερνέτ\... Διαβάστε παρακάτω και ίσως συμφωνήσετε μαζί μου. + +**1. Που βρίσκονται οι γιδοβοσκοί** +---------------------------------------------------------------- + +- [1.1 Idealnet και 3E](#ss1.1) +- [1.2 ΕΛΟΤ (Ελληνικός Οργανισμός Τυποποίησης)](#ss1.2) +- [1.3 Cronus airlines](#ss1.3) +- [1.4 IN.gr](#ss1.4) + +**2. Μα τους θάβεις όλους\.....** +-------------------------------------------------------------- + +- [2.1 Πρωθυπουργός της χώρας](#ss2.1) +- [2.2 Μεγάλοι ISPs](#ss2.2) +- [2.3 Σελίδες φτιαγμένες με μεράκι\...](#ss2.3) + +**3. Που μπαίνει το Linux στην ιστορία;** +---------------------------------------------------------------------- + +**4. Γιατί;** +------------------------------------------ + +**5. Τι μπορεί να γίνει;** +------------------------------------------------------- + +- [5.1 Οδηγίες προς εταιρείες](#ss5.1) +- [5.2 Οδηγίες προς τεχνικούς](#ss5.2) + +**6. Disclaimer** +---------------------------------------------- + + +### [1. Που βρίσκονται οι γιδοβοσκοί]{#s1} + +### [1.1 Idealnet και 3E]{#ss1.1} + +Όλη η ιστορία, ξεκίνησε από την μεγάλη εταιρεία [IdealNet](http://www.idealnet.net) η οποία προσέλαβε έναν \"web-developer\" να φτιάξει το site της. Ο άνθρωπος +ξέρει ότι αυτά που φτιάχνει φαίνονται μόνο από συγκεκριμένους browsers (πρώτο λάθος). Για να εξασφαλίσει λοιπόν ότι κάποιος με άλλο browser δεν θα τα δει να τα +\"κακοχαρακτηρίσει\" έχει βάλει ένα script το οποίο ελέγχει τι browser έχει ο \"πελάτης\" και τον ειδοποιεί καταλλήλως. Το script αυτό είναι τόσο +\"sophisticated\" που αν πας να δεις τη σελίδα με browser Netscape 4.05+ (που υποτίθεται ότι θα μπορούσες να την δεις) κάτω από Linux, σου εμφανίζεται το +υπέροχο μήνυμα ότι πρέπει να αναβαθμίσεις το browser σου. Δηλαδή ΔΕΝ μπορείς να δεις τη σελίδα από Linux, ό,τι και να κάνεις. + +Σίγουρα αυτό είναι άβολο, αλλά το site δικό τους είναι, ότι θέλουν το κάνουν. Αραγε, άλλες εταιρείες όπως η [3E Ελληνική Εταιρεία Εμφιαλώσεως](http://www.3e.gr) +που **πληρώνουν** την idealnet για να τους διαφημίσει κατ\' αυτόν τον τρόπο στο Internet, έχουν ενημερωθεί για αυτό; Το αστείο βέβαια είναι ότι η [πραγματική +σελίδα της 3E](http://www.3e.gr/english/index.htm) φαίνεται κανονικά από τον browser που αποκλείεται να την δει. + +Δεν θα μπορούσαμε βέβαια να ισχυριστούμε το ίδιο για την αντίστοιχη [ελληνική σελίδα](http://www.3e.gr/greek/index.htm) η οποία είναι δηλωμένη να έχει character +set windows-1253. Έχω ακόμα την απορία αν άλλα λειτουργικά συστήματα (εκτός από τα windows δηλαδή, όπως BeOS και MacOS) μπορούν να καταλάβουν αυτό το +proprietary encoding των Windows. + +### [1.2 ΕΛΟΤ (Ελληνικός Οργανισμός Τυποποίησης)]{#ss1.2} + +Μια που αναφέραμε βέβαια το encoding, δεν θα μπορούσε να λείπει ο κυρίαρχος του παιχνιδιού, το site που πληρώνουμε από την τσέπη μας για να δημιουργεί standards +και μετά να τα καταπατά. Μιλάμε βέβαια για τον [ΕΛΟΤ](http://www.elot.gr) του οποίου μία τουλάχιστον [ελληνική σελίδα](http://www.elot.gr/profile/83189.html) +που κοίταξα, έχει δηλωμένο encoding το windows-1253 αντί του σωστού κατά τον ίδιο τον ΕΛΟΤ ISO-8859-7. Μάλιστα, **διευκρινίζεται ότι η σελίδα είναι γραμμένη σε +ΕΛΟΤ928**. Κανένας δεν πήγε να δει την σελίδα με ΕΛΟΤ928 fonts να δει ότι δεν διαβάζεται; Αραγε, η κυβέρνηση της Ελλάδας, και ο ISO (του οποίου ο +\"αντιπρόσωπος\" στην Ελλάδα είναι ο ΕΛΟΤ) έχουν ενημερωθεί για αυτό; + +### [1.3 Cronus airlines]{#ss1.3} + +Η εταιρεία [Cronus Airlines](http://www.cronus.gr) πρωτοτυπεί, αφήνοντας όλους τους άλλους πίσω. Με το υπέροχο flash plugin που έχει για να μας δείχνει τα +δρομολόγια, στα ελληνικά, μας τα παρουσιάζει με charset windows-1252. Αυτά έχω την απορία αν τα βλέπουν **έστω** τα Windows\.... μια που αυτά σίγουρα δεν είναι +ελληνικά ούτε για την Microsoft. + +### [1.4 IN.gr]{#ss1.4} + +Υπάρχουν βέβαια sites τα οποία δεν έχουν έναν web-designer αλλά πολλούς. Και δεν δίνουν τις σελίδες τους \"έξω\" για να τις φτιάξουν. Ένα τέτοιο site είναι το +πρώτο ελληνικό portal που φιλοδοξεί να φέρει την επανάσταση στο ελληνικό Internet. Μιλάμε βέβαια για το [IN του Δημοσιογραφικού Οργανισμού +Λαμπράκη](http://www.in.gr) του οποίου η πρώτη σελίδα είναι απόλυτα σωστά δηλωμένη ως προς τα ελληνικά (iso-8859-7) οι \"παραμέσα\" όμως, που μάλλον φτιάχνονται +από κάποιο template, έχουν και αυτές, στην πλειοψηφία τους, την \"εξυπνάδα\" που προαναφέραμε (charset=windows-1253). + +Αυτό βέβαια είναι πταίσμα, μπροστά στο άλλο, μεγάλο πρόβλημα που ταλανίζει το εν λόγω site. Μιλάω βέβαια για την απόκριση \"HTTP 1.1 Server too busy\" που +εμφανίζεται **συχνότατα** κατά τις ώρες συνεδρίασης του χρηματιστηρίου\.... Κάτι το οποίο θα ήταν ίσως φυσιολογικό **ΑΝ** δεν υπήρχαν τέσσερις ολόκληροι servers +για να απαντάνε σε αυτά τα requests. Αν φαντάζεστε δε ότι τέσσερις servers δεν επαρκούν για την τρομακτική κίνηση του site, να σας πληροφορήσω ότι τέσσερις +servers έχει και το [Hotmail](http://www.hotmail.com), το οποίο αν και δεν έχω δει στατιστικά στοιχεία, αδυνατώ να πιστέψω ότι έχει λιγότερα hits από το In. + + +### [2. Μα τους θάβεις όλους\.....]{#s2} + +θα μπορούσε κάποιος να πει, βλέποντας να μην αφήνω κανένα σχεδόν site ασχολίαστο. Και όμως, υπάρχουν και σωστοί designers. Παραδείγματα θέλετε; Παραδείγματα θα +έχετε: + +### [2.1 Πρωθυπουργός της χώρας]{#ss2.1} + +Στο [site του](http://www.primeminister.gr) ο πρωθυπουργός της χώρας, χρησιμοποιεί ελληνικό encoding (iso-8859-7) για να διαβάζεται, όπως πρέπει εξάλλου, από +όλους τους Έλληνες. Δυστυχώς τα υπουργεία μας στα οποία μπορούμε να οδηγηθούμε από το προαναφερθέν site δεν έχουν την ίδια \"ευαισθησία\" χρησιμοποιώντας το +windows-1253 στην συντριπτική τους πλειοψηφία. + +### [2.2 Μεγάλοι ISPs]{#ss2.2} + +Οι μεγαλύτεροι ISPs της χώρας ( [OteNet](http://www.otenet.gr), [FORTHnet](http://www.forthnet.gr), [HOL](http://www.hol.gr), +[HellasNet](http://www.hellasnet.gr) κλπ) είτε χρησιμοποιούν το σωστό encoding (iso-8859-7) ή αφήνουν τον browser μας να αποφασίσει τι encoding θα +χρησιμοποιήσει (καθόλου δήλωση για encoding), πράγμα που τουλάχιστον είναι καλύτερο από το windows-1253. Μιλάω βέβαια για τις αρχικές σελίδες τους, γιατί δεν +μπορώ να ξέρω τις σελίδες που έχουν σχεδιάσει για τρίτους (μπορεί να τους έχω αναφέρει παραπάνω όμως)\... + +### [2.3 Σελίδες φτιαγμένες με μεράκι\...]{#ss2.3} + +\... όπως είναι οι \"δικές μας\" του [συλλόγου](http://www.hellug.gr) και του [http://www.linux.gr](http://linux.gr), όπως είναι η σελίδα για τους [Macintosh +users της Ελλάδας](http://www.mac.gr), και είμαι σίγουρος και πολλές άλλες. + + +### [3. Που μπαίνει το Linux στην ιστορία;]{#s3} + +Αλήθεια, γιατί σας πρήζω τόση ώρα για θέματα γνωστά και ίσως πολυσυζητημένα, και τι σχέση έχουν με το Linux; Η απάντηση είναι απλή. Η καθιέρωση των επιμέρους +standards από την Microsoft για character encoding δεν είναι μόνο για τα ελληνικά, αλλά για όλες τις γλώσσες. Μήπως αυτό είναι ένας τρόπος \"αποκλεισμού\" των +άλλων λειτουργικών συστημάτων από το Web? Θεωρίες συνωμοσίας θα πείτε, και συμφωνώ μαζί σας. Μάλλον δεν έχουν σχέση με το Linux όλα αυτά. Δεν πειράζει όμως, +έχουν σχέση με το Internet\..... + + +### [4. Γιατί;]{#s4} + +Γιατί άραγε συμβαίνουν όλα αυτά; Ας αναλύσουμε τις πιθανές περιπτώσεις: + +- Είμαστε τελικά τόσο υπανάπτυκτοι στις νέες τεχνολογίες, που δεν μπορούμε ούτε μία σελίδα να γράψουμε μόνοι μας. Πρέπει να μας την γράψει το frontpage, ή το + word ή κάτι άλλο που κάνει ό,τι καταλαβαίνει. +- Υπάρχει τέτοια έλλειψη προσωπικού που αναλαμβάνουν άσχετοι άνθρωποι άσχετες δουλειές. Έτσι υποχρεώνονται να καταφύγουν σε λύσεις τύπου frontpage για να + δημιουργήσουν τις \"sophisticated\" σελίδες τους. Ή να δέχονται τις default ρυθμίσεις του κάθε SQL server με την κρυφή ελπίδα ότι θα δουλέψει και δεν θα + εκτεθούνε. +- Είναι τόσο ακριβοί οι IT professionals που οι εκάστοτε \"εργοδότες\" προτιμούν τους φτηνούς (και συνήθως άσχετους) από τους ακριβούς και (συνήθως) καλούς. + Για άλλη μία φορά, ότι πληρώνεις παίρνεις\.... +- Είμαστε τόσο αναίσθητοι στον εκφυλισμό της γλώσσας μας και της τεχνολογίας μας, που δεχόμαστε οποιαδήποτε επέμβαση εντελώς άκριτα. +- Έχουμε απλά άγνοια της κατάστασης + +Από τα ανωτέρω, διαλέχτε όσα πιστεύετε ότι ισχύουν, και βγάλτε τα δικά σας συμπεράσματα. + + +### [5. Τι μπορεί να γίνει;]{#s5} + +Πρακτικά τίποτα. Μόνο να γκρινιάζουμε μπορούμε, και με αυτό πάλι κινδυνεύουμε να χαρακτηριστούμε γραφικοί\.... + +Αλλά, εγώ, θα προσπαθήσω να προτείνω λύσεις. Όχι ότι θα τις εφαρμόσει κανείς, αλλά έτσι, για το γαμώτο\.... + +### [5.1 Οδηγίες προς εταιρείες]{#ss5.1} + +- Επιβάλετε τις απαιτήσεις σας: Η παρουσίαση της εταιρείας σας στο Internet είναι ένας υπέροχος τρόπος διαφήμισης. Μην τον χαλάτε. Όταν πληρώνατε τόσα λεφτά + για να μοιραστούν τα φυλλάδια πόρτα - πόρτα, σας ενδιέφερε να πάρει όσο περισσότερος κόσμος γινότανε το διαφημιστικό σας φυλλάδιο. Τώρα που έχετε κατεβάσει + το κόστος λόγω Internet, δέχεστε να αποκλείεται έτσι άκριτα και ελφρά τη καρδία ένα (μεγάλο, πιστέψτε με) κοινό το οποίο για οποιονδήποτε λόγο δεν μπορεί να + δει τις σελίδες σας; Πληρώνετε, άρα απαιτήστε να πάρετε αυτό για το οποίο πληρώνετε. Το να αλλάξει κάποιος 2 λέξεις δεν είναι τίποτα δύσκολο. +- Αξιολογήστε τις ανάγκες σας και υπολογίστε το κόστος: Το να προσλάβετε κάποιον που δεν ξέρει πως να υλοποιήσει αυτό που θέλετε, απλά και μόνο επειδή είναι + φτηνότερος, δεν σας προσφέρει κανένα πραγματικό κέρδος. Χασούρα σας προκαλεί γιατί γίνεστε περίγελως αυτών που γνωρίζουν. +- Αξιολογήστε το νέο μέσο κατάλληλα: Προσλάβετε ένα άτομο που θα αναλάβει να **μελετήσει** αν μη τι άλλο, τουλάχιστον τον χρόνο download της σελίδας σας από + μια απλή dial-up σύνδεση. Αυτό που σας δείχνει ο σχεδιαστής ή η ανάδοχος εταιρεία, από LAN, δεν έχει καμία απολύτως σχέση με την ταχύτητα με την οποία θα + δει τις ίδιες σελίδες ο πελάτης από το σπίτι. Ομοίως, η κίνηση την οποία εσείς υπολογίζετε να έχετε, μπορεί να είναι λάθος. Εμπιστευτείτε τους ειδικούς και + έμπειρους στο να σας κάνουν υπολογισμούς για να έχει η παρουσίασή σας το ζητούμενο scalability. +- Αντιληφθείτε έγκαιρα την άναρχη φύση του internet: Το ότι ο σχεδιαστής σας χρησιμοποιεί τον Α browser δεν σημαίνει ότι όλος ο κόσμος χρησιμοποιεί αυτόν τον + browser\... Αντίθετα, το μεγαλύτερο ποσοστό αυτή τη στιγμή παγκοσμίως που κατέχει ένας browser είναι μόλις 55%. Αν σας φτιάξει σελίδα για **αυτόν** τον + browser, ζητήστε να δείτε πως θα φαίνεται από τους άλλους διαθέσιμους της αγοράς. Θα εκπλαγείτε (δυσάρεστα μάλλον) από τα αποτελέσματα. + +### [5.2 Οδηγίες προς τεχνικούς]{#ss5.2} + +- Μία και μόνη: Διαβάστε. Διαβάστε τα standards και σεβαστείτε τα. Διαβάστε στατιστικά στοιχεία και ενημερωθείτε. Διαβάστε sites του εξωτερικού και + μορφωθείτε. Να είστε μετριόφρονες. Δεν ανακαλύψατε εσείς το Internet. Υπήρχε μάλλον πριν από εσάς, και θα υπάρχει (μάλλον) μετά από εσάς. Μην βάζετε κι + εσείς ένα λιθαράκι στην καταστροφή του. + + +### [6. Disclaimer]{#s6} + +Οι προαναφερθείσες απόψεις είναι καθαρά δικές μου και δεν εκπροσωπώ κανέναν. Θα μπορούσα να αναφέρω πολύ περισσότερα τεχνικά προβλήματα εκτός του πασιφανέστατου +του in.gr αλλά κάτι τέτοιο θα απαιτούσε βαθύτερη γνώση του δικτύου και του σχεδιασμού της κάθε εταιρείας, πράγμα το οποίο δεν έχω κάνει, άρα θα ήταν άδικο. Δεν +έχω καμία προσωπική έχθρα ή φιλία με κανέναν από τους προαναφερθέντες εμμέσως τεχνικούς (εκτός από 2, δεν ξέρω κανέναν άλλον ούτε κατ\' όνομα). Αν +προσεβλήθησαν, καλά θα κάνουν να προβληματιστούν πριν με χαρακτηρίσουν τρελλό και ερειστικό. Τέλος, ΔΕΝ ψάχνω για δουλειά. + diff --git a/content/articles/21/05_linuxdoc.md b/content/articles/21/05_linuxdoc.md new file mode 100644 index 0000000..d075ea2 --- /dev/null +++ b/content/articles/21/05_linuxdoc.md @@ -0,0 +1,245 @@ ++++ +title = 'LinuxDoc' +date = '2000-01-01T00:00:00Z' +description = '' +author = 'DJ Art(mailto:djart@hellug.gr)' +issue = ['Magaz 21'] +issue_weight = 5 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το άρθρο αυτό έχει σκοπό να σας παρουσιάσει τον κόσμο της γλώσσας SGML, και μάλιστα τον τύπο εγγράφου linuxdoc, ο οποίος είναι ευρύτατα διαδεδομένος για τη +συγγραφή How-Tos, FAQs και διαφόρων άλλων βοηθητικών εγγράφων γύρω από το Linux.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Εισαγωγή** +------------------------------------------ + +**2. Ο τύπος Linuxdoc** +-------------------------------------------------- + +**3. Το πρώτο σας έγγραφο** +------------------------------------------------------ + +- [3.1 Basic structure (Βασική Δομή)](#ss3.1) +- [3.2 Κεφάλαια και ενότητες](#ss3.2) +- [3.3 Μορφοποίηση του κειμένου](#ss3.3) +- [3.4 Ειδικοί χαρακτήρες](#ss3.4) +- [3.5 Εσωτερικά links](#ss3.5) +- [3.6 Web links](#ss3.6) +- [3.7 Εισαγωγή εικόνων](#ss3.7) + +**4. SGML Tools** +-------------------------------------------- + +- [4.1 Ελέγχοντας το έγγραφό σας](#ss4.1) +- [4.2 Δημιουργώντας plain text](#ss4.2) +- [4.3 Δημιουργώντας LaTex](#ss4.3) +- [4.4 Δημιουργώντας HTML](#ss4.4) +- [4.5 Δημιουργώντας RTF](#ss4.5) + +**5. Επίλογος** +------------------------------------------ + +- [5.1 Πηγές](#ss5.1) +- [5.2 Κατάργηση του LinuxDoc](#ss5.2) + + +### [1. Εισαγωγή]{#s1} + +Τα αρχικά SGML σημαίνουν Standard Generalised Mark-up Language. Η SGML, λοιπόν, είναι μια γλώσσα προσδιορισμού τύπων εγγράφων. Μπορείτε να φανταστείτε την SGML +σαν ένα υπερσύνολο, και, για να σας δώσω ένα παράδειγμα, η HTML είναι ένα υποσύνολο της SGML. Η SGML επινοήθηκε από την IBM προκειμένου να λυθεί το πρόβλημα της +μη τυποποποιημένης εμφάνισης κειμένων σε διάφορα υπολογιστικά συστήματα. + +Ας δούμε ένα άλλο παράδειγμα: Κάποιος μπορεί να ορίσει τον τύπο ενός εγγράφου ως συνταγή. Το έγγραφο θα περιέχει ένα πρώτο μέρος, όπου θα παρουσιάζονται τα +υλικά. Στο δεύτερο μέρος θα γίνεται μια εισαγωγή για τα σκεύη και ότι άλλο χρειαστεί στην όλη διαδικασία. Στο τρίτο μέρος, τελικά, θα περιγράφονται τα βήματα +που χρειάζονται για να μαγειρέψουμε το αντικείμενό μας, και, τέλος μια ολοκληρωμένη εικόνα του τί κάναμε, για να δοθεί μια σφαιρική άποψη της πράξης μας. + +Όλο αυτό ονομάζεται \"Ορισμός του τύπου του εγγράφου\" (Document Type Definition). Δεν περιγράφει το πως θα μοιάζει το τελικό έγγραφο, αλλά το τί μπορεί να +περιέχει. Με αυτόν τον τρόπο, γράφει κανείς το έγγραφό του χωρίς να λογαριάζει την τελική του εμφάνιση, την εμφάνιση που θα δεί ο αναγνώστης. + + +### [2. Ο τύπος Linuxdoc]{#s2} + +Όπως θα καταλάβατε από το όνομά του, το Linuxdoc είναι ο τύπος που χρησιμοποιούμε για να γράψουμε έγγραφα στο/γύρω από/σχετικά με το Linux (ναι, όλα αυτά). +Αυτός ο τύπος εγγράφων γράφεται ως εξής: Αρχίζουμε με τον τίτλο, ακολουθούμενο από το όνομα του συγγραφέα, την έκδοση και την ημερομηνία. Μετά ακολουθεί το +abstract, δηλαδή μια σύντομη περιγραφή, ώστε να μην χρειαστεί να ανατρέξετε στα περιεχόμενα για να δείτε το θέμα του εγγράφου, αλλά να σας υποδηλώσει το +αντικείμενο, με το οποίο ασχολείται ο συγγραφέας. Έπειτα, ακολουθούν τα περιεχόμενα, που δείχνουν το περιεχόμενο του εγγράφου, ώστε οι \"γρήγοροι\" να πάνε +κατ\' ευθείαν στο θέμα που τους ενδιαφέρει. Στη συνέχεια, έχουμε μια λίστα από κεφάλαια, παραγράφους και ενότητες (chapters, paragraphs, sections). + +Ανάμεσα σε όλα αυτά, μπορεί κανείς να προσθέτει ότι θέλει: κείμενο, κομμάτια από κώδικα προγραμμάτων, να αλλάζει το font για να τονίζει κάποιες φράσεις, να +χρησιμοποιεί λίστες, να αναφέρεται και να παραπέμπει σε άλλα τμήματα του κειμένου, κτλ\... + +Τα tags και τα ειδικά εργαλεία που θα δούμε παρακάτω, στο σύνολό τους, αυτό είναι που ονομάζουμε γλώσσα markup: ένας τρόπος πληροφοριακής και περιγραφικής +σύνταξης ενός εγγράφου με τέτοιο τρόπο, ώστε να είναι χρήσιμος σε διάφορα προγράμματα. Η HTML, το Tex και τα man pages του Unix είναι κι αυτά γνωστά +παραδείγματα από γλώσσες markup. + +H SGML, από μόνη της δεν περιγράφει μια γλώσσα markup, αλλά μια γλώσσα, με την οποία μπορεί κανείς να συγγράψει προσδιορισμούς για άλλες γλώσσες markup. Στη +\"διάλεκτο\" της SGML ο markup προσδιορισμός ονομάζεται DTD (Document Type Definition). To DTD σας επιτρέπει να ορίσετε τη δομή ενός είδους εγγράφου, δηλαδή, +ποιά μέρη θα έχει, και σε ποιά σειρά, ένα έγγραφο. Όταν ορίζετε DTD σε ένα έγγραφό σας, τότε ένας SGML \"σαρωτής\" μπορεί να ελέγξει αν το έγγραφό σας είναι +σωστά γραμμένο. Επιπλέον, με τη χρήση του συνδυασμού ενός SGML \"σαρωτή\" και ενός συγκεκριμένου DTD, μπορεί κανείς να δημιουργήσει ένα πρόγραμμα που να +μεταφράζει το έγγραφο, από μια markup γλώσσα σε μια άλλη. + + +### [3. Το πρώτο σας έγγραφο]{#s3} + +### [3.1 Basic structure (Βασική Δομή)]{#ss3.1} + +Αρχίζοντας, πρέπει να προσθέσετε τις παρακάτω γραμμές στην αρχή του εγγράφου σας: \\ +\\ +\Βάλτε εδώ τον τίτλο που θέλετε\\ +\\ +Όνομα συγγραφέα, το e-mail του, κλπ\...\ +\\ +\\ +έκδοση και ημερομηνία\ +\ + +Στη συνέχεια, αν θέλετε να περιγράψετε περιληπτικά το περιεχόμενο του εγγράφου, βάλτε τα tags **\** πρίν την παράγραφο της περίληψης και +**\** στο τέλος της περίληψης. Μετά από αυτά, βάλτε το tag **\** το οποίο σημαίνει Table of Contents (Πίνακας περιεχομένων). + +### [3.2 Κεφάλαια και ενότητες]{#ss3.2} + +Κάθε φορά, που θα θέλετε να ξεκινήσετε ένα νέο κεφάλαιο, θα πρέπει να βάζετε, πριν αρχίσετε, το tag **\** και δίπλα του να γράφετε τον τίτλο του +κεφαλαίου. Προσέξτε, σε αυτό το σημείο, πως δεν είναι ανάγκη να αριθμείτε τα κεφάλαιά σας, γιατί αυτό γίνεται αυτόματα από το tag **\**. Με τον ίδιο +ακριβώς τρόπο, μπορείτε να δημιουργήσετε ενότητες μέσα στα κεφάλαια, και μάλιστα ενότητες διαφόρων επιπέδων: Εισάγοντας το tag **\** και μετά από αυτό +έναν τίτλο, αυτομάτως δημιουργείται μία ενότητα δευτέρου επιπέδου (αριθμημένη κατάλληλα). Η αρίθμησή της έχει 2 μέρη (αφού είναι δευτέρου επιπέδου) και ακολουθή +την μορφή **Χ.Υ**. **Χ** είναι ο αριθμός του κεφαλαίου, μέσα στον οποίο βρίσκεται η ενότητα, ενώ το **Υ** είναι ο αριθμός της ενότητας. Προσέξτε ότι το **Υ** +δεν αυξάνεται συνεχώς, αλλά ξαναπέρνει την τιμή 1 όταν φτιάξετε μια ενότητα σε καινούριο κεφάλαιο. Με παρόμοιο τρόπο, λοιπόν, μπορείτε να ορίσετε και ενότητες +μεγαλύτερου επιπέδου, έως και 5ου, με το tag **\**, όπου το **Ν** πέρνει τις τιμές από 1 μέχρι 4. + +### [3.3 Μορφοποίηση του κειμένου]{#ss3.3} + +Για να ορίσετε μια νέα παράγραφο, αρκεί να βάλετε το tag **\** πρίν αρχίσετε να τη γράφετε. Εάν απλώς θέλετε να αλλάξετε γραμμή (και όχι παράγραφο), τότε +χρησιμοποιήστε το tag **\**. Τα σχόλιά σας, μπορείτε να τα γράφετε ανάμεσα στα tags **\**. + +Όταν θέλετε να δίνετε έμφαση σε κάποια τμήματα του κειμένου σας, τότε μπορείτε να κάνετε τη γραμματοσειρά να φαίνεται είτε ως italics (*πλάγια γράμματα*), είτε +ως bold (**έντονα γράμματα**). Για να ορίσετε τα italics, αρκεί να \"περικυκλώσετε\" το τμήμα του κειμένου που θέλετε με τα tags **\** και **\**, ενώ +για bold, χρησιμοποιήστε τα tags **\** και **\** με τον ίδιο ακριβώς τρόπο. Μπορείτε, επίσης, να κάνετε τη γραμματοσειρά σε typewriter style με τα +tags **\** και **\**. + +Η SGML σας δίνει την δυνατότητα να χρησιμοποιήσετε λίστες μέσα στο έγγραφό σας. Για να προσθέσετε μία μη αριθμημένη λίστα (λίστα με κουκίδες), περικυκλώστε την +λίστα με τα tags **\** και **\**. Ανάμεσα στα δύο αυτά tags, ορίζετε τα στοιχεία της λίστας με το tag **\**. Δείτε ένα σχετικό +παράδειγμα: + +\\ +\1ο στοιχείο\ +\2ο στοιχείο\ +\3ο στοιχείο\ +\ + +Εάν τώρα θέλετε να δημιουργήσετε μια αριθμημένη λίστα, αρκεί να χρησιμοποιήστε τα tags **\** και **\** αντί των **\** και +**\**. + +Αν μέσα στο έγγραφό σας έχετε συμπεριλάβει ένα κομμάτι κώδικα και θέλετε να το κάνετε να ξεχωρίζει από το υπόλοιπο έγγραφο, τότε περικυκλώστε το από τα tags +**\** και **\**. Παράδειγμα: + + + #include + + void main() + { + cout << "Hello World !!" << endl; + } + + +### [3.4 Ειδικοί χαρακτήρες]{#ss3.4} + +Μάλλον, μέχρι τώρα, θα έχετε καταλάβει ότι αν θέλετε να χρησιμοποιήσετε τους χαρακτήρες **\<** και **\>** δεν μπορείτε, γιατί χρησιμοποιούνται από την SGML, +ώστε να υποδηλώνουν την παρουσία ενός tag. Μην ανησυχείτε, υπάρχει λύση σ\' αυτό το πρόβλημα. Έχετε την δυνατότητα να παραστήσετε τους χαρακτήρες αυτούς (αλλά +και άλλους όπως θα δούμε στη συνέχεια), χρησιμοποιώντας ειδικούς κώδικες (όπως άλλωστε και στην HTML). + +Παρακάτω, θα αναφέρω σε μιά λίστα μερικούς από τους κωδικούς για τους ειδικούς χαρακτήρες. Βέβαια, υπάρχουν περισσότεροι ειδικοί χαρακτήρες από αυτούς, τους +οποίους μπορείτε να βρείτε στο Guide των Sgml-Tools. + +Χρησιμοποιείστε τον κωδικό & για το σύμβολο (&) + +Χρησιμοποιείστε τον κωδικό < για το σύμβολο (\<) + +Χρησιμοποιείστε τον κωδικό > για το σύμβολο (\>) + +Χρησιμοποιείστε τον κωδικό &etago; για το σύμβολο (\ + +### [4.1 Ελέγχοντας το έγγραφό σας]{#ss4.1} + +Τα SGML-Tools σας παρέχουν τη δυνατότητα να ελέγξετε αν συγγράψατε σωστά το έγγραφό σας, πρίν το μετρατρέψετε στην επιθυμητή μορφη. Για να το κάνετε αυτό, αρκεί +να εκτελέσετε την ακόλουθη εντολή: + + $ sgmlcheck έγγραφο.sgml + +Αν σας επιστραφούν μηνύματα error, τότε σημαίνει πως έχετε κάνει κάποια λάθη. Αν δεν σας επιστρέψει κανένα μήνυμα, τότε το έγγραφό σας είναι ολόσωστο. + +### [4.2 Δημιουργώντας plain text]{#ss4.2} + +Για να μετατρέψετε ένα sgml έγγραφο σε απλό text κείμενο, αρκεί να εκτελέσετε: + + $ sgml2txt έγγραφο.sgml + +Αν τώρα θέλετε το έγγραφό σας να το μετατρέψετε σε μορφή groff για να το χρησιμοποιήσετε σαν man page, τότε εκτελέστε: + + $ sgml2txt --man έγγραφο.sgml + +### [4.3 Δημιουργώντας LaTex]{#ss4.3} + +Παρακάτω, ακολουθούν οι εντολές που μπορείτε να εκτελέσετε, για να μετατρέψετε το έγγραφό σας σε LaTex, Postscript και DVI, αντίστοιχα: + + $ sgml2latex έγγραφο.sgml + $ sgml2latex --output=ps έγγραφο.sgml + $ sgml2latex --output=dvi έγγραφο.sgml + +### [4.4 Δημιουργώντας HTML]{#ss4.4} + +Η εντολή για να μετατρέψετε το έγγραφό σας σε HTML είναι: + + $ sgml2html έγγραφο.sgml + +Μπορείτε, όμως να χρησιμοποιήσετε και την παρακάτω εντολή: + + $ sgml2html --imagebuttons έγγραφο.sgml + +Η παραπάνω εντολή αντικαθιστά τα \"Next\", \"Previous\" και \"Contents\" που περιέχουν οι σελίδες HTML (για να προχωρήσει ο αναγνώστης στις σελίδες +έγγραφο-1.html κλπ. ανάλογα με τα κεφάλαια του εγγράφου) με βελάκια. Τα βελάκια, έπειτα θα είναι τα αρχεία \"next.gif\", \"prev.gif\", και \"toc.gif\". + +### [4.5 Δημιουργώντας RTF]{#ss4.5} + +Η αντίστοιχη εντολή σ\' αυτήν την περίπτωση είναι: + + $ sgml2rtf έγγραφο.sgml + + +### [5. Επίλογος]{#s5} + +### [5.1 Πηγές]{#ss5.1} + +Για να συγγράψω αυτό το άρθρο συμβουλεύτηκα το **Guide** των **SGML-Tools**, το **LinuxDoc+Emacs+Ispell HowTo**, καθώς και \... τις πολλές ώρες ενασχόλησής μου +με τη συγγραφή κειμένων, άρθρων κλπ. σε LinuxDoc. + +### [5.2 Κατάργηση του LinuxDoc]{#ss5.2} + +Αν επισκεφτείτε την σελίδα των SGML-Tools, θα διαπιστώσετε, ότι το project για το LinuxDoc έχει σταματήσει, και ότι τα SGML-Tools από την έκδοση 2 και μετά +υποστηρίζουν το καινούριο DTD, το BookDoc (ενώ για να τα χρησιμοποιήσετε για έγγραφα γραμμένα με LinuxDoc, χρειάζεστε έκδοση 1.χχ.χχ). Τώρα, το κατά πόσο θα +καταργηθεί τελείως το LinuxDoc, αυτό εξαρτάται από πολλούς παράγοντες, όπως από το γεγονός ότι όλα τα How-To και FAQ για το Linux, είναι γραμμένα σε LinuxDoc. +Ίσως, τελικά, στα \... πληκτρολόγια των Linuxάδων να μην καταργηθεί ποτέ \... + diff --git a/content/articles/22/01_editorial.md b/content/articles/22/01_editorial.md new file mode 100644 index 0000000..1ab300f --- /dev/null +++ b/content/articles/22/01_editorial.md @@ -0,0 +1,40 @@ ++++ +title = 'Editorial' +date = '2000-03-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης(mailto:kabrianis@hellug.gr)' +issue = ['Magaz 22'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Καλώς ορίσατε στο **Magaz**\...* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Κανονικά αυτό το τεύχος θα έπρεπε να είναι \"διπλό\" μια και τεύχος Φεβρουαρίου δεν βγήκε. Τελικά μάλλον πρέπει να δημιουργηθεί σενάριο failover για περιπτώσεις +όπως αυτή, που από τέλος Ιανουαρίου μέχρι μέσα Φεβρουαρίου αδυνατούσα να ασχοληθώ με οτιδήποτε. + +Στο προηγούμενο τεύχος, υπήρχε ένα άρθρο σχετικά με τους γιδοβοσκούς του Ιντερνέτ, άρθρο το οποίο δεν γέννησε τις αντιδράσεις που περίμενα, είχε όμως ως +αποτέλεσμα κάποιοι άνθρωποι να επικοινωνήσουν μαζί μου για να πάρουν συγκεκριμένες οδηγίες. Προφανώς τους παρέπεμψα στα RFCs μια που δεν είναι δουλειά μου να +δίνω τέτοιες οδηγίες\.... + +Το ότι κάποιος όμως, ενδιαφέρθηκε να διορθώσει τις σελίδες του, και να μάθει παραπάνω πράγματα, για μένα είναι σημαντικό. + +Σε αυτό το τεύχος έχουμε ένα πολύ όμορφο άρθρο για το VI, από τον φίλο Σεραφείμ Ζανικόλα. Πραγματικά invaluable για τους αρχαρίους του vi, και πολύ χρήσιμο για +όσους το ξέρουν σε κάποιο μέσο επίπεδο. + +Έχουμε και το άρθρο του Μάνου Καραγιώργου που ασχολείται με το swapping (και λίγο με το paging). Πραγματικά χρήσιμο, για να ρυθμίσετε τα swap files και devices +σας για να είναι αποδοτική η εργασία του συστήματός σας. + +Ο Πολύβιος Πρατικάκης καταπιάνεται με το θέμα της ελευθερίας του Internet, και τους κινδύνους που αυτή θέτει, συγκρίνοντας τη σημερινή κατάσταση, με αυτήν που +περιέγραψε ο Όργουελ στο βιβλίο του 1984. + +Τέλος, ο The Reverant μας εξηγεί πόσο παραμετροποιήσιμος είναι ο FVWM2, ένας window manager με ιστορία στο Linux, και μας οδηγεί σε απλές (και όχι τόσο απλές) +αλλαγές στο configuration file του. + +Οι πιο παρατηρητικοί από εσάς θα προσέξουν νέα ονόματα σε αυτό το τεύχος. Μόνο νέα ονόματα, γεγονός το οποίο ενισχύει για μία ακόμα φορά τις προσπάθειες της +συντακτικής ομάδας του Magaz να γίνει το περιοδικό ένας χώρος έκφρασης και brainstorming της ελληνικής linux κοινότητας, και όχι ένας χώρος μονολόγων των +ολίγων. + +Καλή ανάγνωση\... diff --git a/content/articles/22/02_swapping.md b/content/articles/22/02_swapping.md new file mode 100644 index 0000000..e9934e4 --- /dev/null +++ b/content/articles/22/02_swapping.md @@ -0,0 +1,449 @@ ++++ +title = 'Swapping' +date = '2000-03-01T00:00:00Z' +description = '' +author = 'Μάνος Καραγιώργος(mailto:mantis@pathfinder.gr)' +issue = ['Magaz 22'] +issue_weight = 2 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Άξονας κίνησης του παρόντος άρθρου είναι η περιγραφή του σκοπού ύπαρξης swap αρχείων/κατατμήσεων, της λειτουργίας τους, της διαδικασίας ορισμού τους, κ.ά.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Let\'s swap\...** +------------------------------------------------- + +- [1.1 Σκοπός ύπαρξης swap κατάτμησης/αρχείου](#ss1.1) +- [1.2 Εικονική μνήμη](#ss1.2) +- [1.3 Λειτουργία](#ss1.3) +- [1.4 Swapping/Paging](#ss1.4) +- [1.5 Μέγεθος swap](#ss1.5) +- [1.6 Όρια](#ss1.6) +- [1.7 Συμβουλές για μέγιστη απόδοση](#ss1.7) + +**2. Swap αρχεία** +--------------------------------------------- + +- [2.1 Ορισμός swap αρχείου](#ss2.1) +- [2.2 Ρόλος του /dev/zero](#ss2.2) + +**3. Swap κατατμήσεις** +-------------------------------------------------- + +- [3.1 Ορισμός swap κατάτμησης](#ss3.1) + +**4. Ρύθμιση swap συσκευών** +------------------------------------------------------- + +**5. Συγχρονισμός\... ΤΩΡΑ** +------------------------------------------------------- + +- [5.1 Ρόλος της sync](#ss5.1) + +**6. Χρησιμοποίηση swap συσκευών** +------------------------------------------------------------- + +- [6.1 Το αρχείο /etc/fstab](#ss6.1) +- [6.2 Εξηγήσεις\...](#ss6.2) +- [6.3 Παράμετροι στην swapon](#ss6.3) +- [6.4 Αυτόματη χρησιμοποιήση swap συσκευών](#ss6.4) +- [6.5 Μή χρησιμοποίηση swap συσκευών](#ss6.5) + +**7. Έλεγχος χρήσης swap συσκευών** +-------------------------------------------------------------- + +- [7.1 free](#ss7.1) +- [7.2 cat /proc/meminfo](#ss7.2) +- [7.3 cat /proc/swaps](#ss7.3) +- [7.4 top](#ss7.4) +- [7.5 procinfo](#ss7.5) + +**8. Ιδέες\...** +------------------------------------------- + +- [8.1 Συνδυασμός swap και /tmp](#ss8.1) +- [8.2 Swap κατ\' απαίτηση με loopback device](#ss8.2) + +**9. Ίδιος χώρος swap με άλλα λειτουργικά συστήματα** +-------------------------------------------------------------------------------- + +- [9.1 FreeBSD](#ss9.1) +- [9.2 Microsoft Windows](#ss9.2) + +**10. Σχετικά** +-------------------------------------------- + +- [10.1 No time\...](#ss10.1) +- [10.2 Πηγές](#ss10.2) + + +### [1. Let\'s swap\...]{#s1} + +### [1.1 Σκοπός ύπαρξης swap κατάτμησης/αρχείου]{#ss1.1} + +To swap αρχείο/κατάτμηση χρησιμοποιείται ως εικονική μνήμη (virtual RAM) στο σύστημά σας. Η εικονική μνήμη είναι επέκταση της πραγματικής μνήμης του συστήματος. +Η ύπαρξή του τις περισσότερες φορές είναι απαραίτητη. + +### [1.2 Εικονική μνήμη]{#ss1.2} + +Το Linux υποστηρίζει εικονική μνήμη, δήλαδη χρησιμοποιεί ένα δίσκο σαν επέκταση της RAM, έτσι ώστε το συνολικό μέγεθος της χρησιμοποιήσιμης μνήμης να αυξάνει +αναλογικά. Ο πυρήνας γράφει τα περιεχόμενα ενός τρέχοντος αχρησιμοποίητου block μνήμης στο σκληρό δίσκο έτσι ώστε η μνήμη να μπορεί να χρησιμοποιηθεί για άλλο +σκοπό. Όταν τα αρχικά περιέχομενα χρειάζονται ξανά, διαβάζονται πάλι από τη μνήμη. + +Αυτά όλα γίνονται τελείως αδιαφανή από το χρήστη. Προγράμματα που τρέχουν κάτω από το Linux βλέπουν μόνο τη μεγαλύτερη ποσότητα της διαθέσιμης μνήμης και δεν +προσέχουν πως κομμάτια αυτών μένουν στο δίσκο από στιγμή σε στιγμή. Το κομμάτι του σκληρού δίσκου που χρησιμοποιείται σαν εικονική μνήμη ονομάζεται χώρος swap +(χώρος προσωρινής αποθήκευσης). + +### [1.3 Λειτουργία]{#ss1.3} + +Όταν χρησιμοποιείται swap χώρος, το Linux μετακινεί αχρησιμοποιήτες σελίδες μνήμης στο σκληρό δισκό, επιτρέποντας να τρέχετε περισσότερες εφαρμογές ταυτόχρονα +στο σύστημά σας. + +Όμως, επειδή αυτή η διαδικασία είναι σχετικά αργή (χίλιες φορές περίπου), ο χώρος swap δεν μπορεί να αντικαταστήσει την πραγματική φυσική μνήμη RAM, που είναι +πιο γρήγορη. Έτσι τα προγράμματα δεν τρέχουν το ίδιο γρήγορα. Οι εφαρμογές του X Window System, κυρίως, έχουν ιδιαίτερες απαιτήσεις σε μνήμη και γι\'αυτό θα +πρέπει να έχετε μια συσκευή (αρχείο/κατάτμηση) swap. + +Μερικά προγράμματα καταλαμβάνουν στατικά σελίδες πραγματικής μνήμης (κλειδώνοντάς τες) για λόγους ασφαλείας ή για λόγους απόδοσης. Με αυτόν τον τρόπο οι +\"κλειδωμένες\" σελίδες μειώνουν το μέγεθος της διαθέσιμης πραγματικής μνήμης, καθιστώντας απαραίτητη τη χρήση swap μνήμης. + +### [1.4 Swapping/Paging]{#ss1.4} + +Με απλά λόγια: + +Υπάρχει διαχωρισμός μεταξύ του swapping (γράφοντας ολόκληρες τις διεργασίες (processes) σε χώρο swap) και του paging (γράφοντας μόνο καθορισμένου μεγέθους +κομμάτια, συνήθως μερικά kilobytes τη φορά). + +Το paging είναι συνήθως πιο αποτελεσματικό, και αυτό είναι που κάνει το Linux, αλλά μιλάμε για swapping έτσι κι αλλιώς. + +### [1.5 Μέγεθος swap]{#ss1.5} + +Ορισμένοι προτείνουν ότι η swap μνήμη πρέπει να έχει διπλάσιο μέγεθος από αυτό της πραγματικής μνήμης. Υπάρχουν αρκετές διαφοροποιήσεις σχετικά με το πόση swap +μνήμη θα πρέπει να χρησιμοποιήσετε: όλες εξαρτώνται από το τι εφαρμογές θέλετε να τρέχετε\... + +Το μέγεθος του χώρου swap εξαρτάται ακόμη από πόση μνήμη έχετε ήδη στο σύστημά σας. + +Αν έχετε αρκετή φυσική μνήμη (\>128ΜΒ) και είστε ο μοναδικός χρήστης του συστήματος χωρίς ιδιαίτερες απαιτήσεις μπορεί να σκεφτείτε να μην χρησιμοποιήσετε μνήμη +swap, έχοντας έτσι περισσότερο ελεύθερο αποθηκευτικό χώρο και μειώνοντας το χρόνο αναζήτησης στα δεδομένα σας. + +Μπορεί να μην χρησιμοποιείτε μια swap κατάτμηση πολύ συχνά, όταν όμως τη χρειαστείτε η παρουσία της είναι ανεκτίμητη. + +Πιθανότατα δεν έχει νόημα να έχετε swap μνήμη περισσότερη από τρεις φορές της φυσικής μνήμης. + +Υπολογίστε τη συνολικη σας ανάγκη σε μνήμη. Αυτή είναι το μεγαλύτερο μέγεθος μνήμης που πιθανώς θα χρειαστείτε σε κάθε στιγμή, δηλαδή το άθροισμα των απαιτήσεων +σε μνήμη όλων των προγραμμάτων που θέλετε να τρέχετε ταυτοχρόνως. Αυτό μπορεί να γίνει τρέχοντας την ίδια ώρα όλα τα προγράμματα που πιθανώς θα τρέξετε ποτέ +ταυτοχρόνως. Για παράδειγμα, αν θέλετε να τρέχετε το X Window System, θα πρέπει να καταχωρίσετε περίπου 8-16 MB για αυτό, ο gcc θέλει αρκετά megabytes (μερικά +αρχεία χρειάζονται μία ασυνήθιστα μεγάλη ποσότητα, μέχρι και δεκάδες megabytes, αλλά συνήθως περίπου 4-8 θα είναι αρκετά) κτλ. Ο πυρήνας θα χρησιμοποιήσει +περίπου 1-2ΜΒ από μόνος του, και τα συνηθισμένα shells και άλλα μικρά βοηθητικά προγράμματα ίσως μερικές εκατοντάδες kilobytes (περίπου 1ΜΒ όλα μαζί). Δεν +υπάρχει ανάγκη να προσπάθησετε να είστε ακριβείς, υπολογισμοί στο περίπου είναι μια χαρά, αλλά μπορεί να θέλετε να είστε στην απαισιόδοξη πλευρά. + +Θυμηθείτε πως αν υπάρχουν αρκετά άτομα που χρησιμοποιούν το σύστημα ταυτοχρόνως, θα καταναλώνουν όλα μνήμη. Πάντως, αν δύο άτομα τρέχουν το ίδιο πρόγραμμα +αταυτοχρόνως, η συνολική κατανάλωση μνήμης συνήθως δεν είναι διπλάσια, εφόσον οι σελίδες του κώδικα και οι shared βιβλιοθήκες υπάρχουν ήδη μια φορά. + +### [1.6 Όρια]{#ss1.6} + +Το μέγιστο χρήσιμο μέγεθος μιας περιοχής swap εξαρτάται πλέον από την αρχιτεκτονική του συστήματος. + +Είναι περίπου: + +- 2GB σε i386, PPC, m68k, ARM, +- 1GB σε sparc, +- 512MB σε mips, +- 128GB σε alpha και +- 3TB σε sparc64. + +Υποστηρίζονται μέχρι και 8 συνολικά περιοχές swap. + +### [1.7 Συμβουλές για μέγιστη απόδοση]{#ss1.7} + +Συνιστάται η χρησιμοποιήση μιας swap κατάτμησης παρά ενός swap αρχείου. Έτσι σε πολλές εγκαταστάσεις του Linux θα συναντήσετε δύο τουλάχιστον κατατμήσεις. To +swapping σε αρχείο επιφέρει σχετική μείωση της απόδοσης του συστήματος γιατί πηγαίνει μέσω του συστήματος αρχείων (ext2). Από την άλλη, μπορείτε να προσθέσετε +swap αρχείο όποτε θέλετε χωρίς καμία ανάγκη για κατάτμηση των δίσκων σας. + +Χρησιμοποποιείστε πρώτα αρχείο swap, δουλέψτε με το σύστημα σας για λίγο καιρό για να δείτε πόση μνήμη swap χρειάζεστε περίπου, και μετά φτιάξτε μια κατάτμηση +swap. Μπορείτε βέβαια να χρησιμοποιείτε πολλές swap κατατμήσεις ή/και swap αρχεία, ταυτοχρόνως. + +Αφήστε, πάντως, περιθώρια ασφαλείας γιατί πιθανότατα θα ξεχάσετε να τρέξετε μερικά προγράμματα που θα θέλετε να τρέχετε και βεβαιωθείτε ότι έχετε ελέυθερο χώρο +σε κάθε περίπτωση. Είναι καλύτερα να καταχωρήσετε πάρα πολύ χώρο παρά πολύ λίγο (προσέξτε τους τόνους στο παρα\...), αλλά δεν υπάρχει ανάγκη να το παρακάνετε +και να καταχωρήσετε ολόκληρο δίσκο, εφόσον αχρησιμοποιήτος χώρος swap είναι no doubt wasted χώρος. + +Αν ο χώρος swap, που θα υπολογίσετε με την παραπάνω μέθοδο, είναι πάρα πολύ μεγαλύτερος από τη φυσική σας μνήμη (όχι τη δικιά σας, του συστήματος σας\...), +καλύτερα να σκεφτείτε σοβαρά να επενδύσετε στην αγορά περισσότερης φυσικής μνήμης, αλλιώς η απόδοση θα είναι αρκετά χαμηλή. + +Είναι καλή ιδέα να έχετε τουλάχιστον λίγο χώρο swap, ακόμη και αν οι υπολογισμοί σας δείχουν ότι δεν χρειάζεστε καθόλου. Το Linux χρησιμοποιεί το χώρο swap +δυαναμικά, έτσι ώστε όση περισσότερη φυσική μνήμη το δυνατόν να μπορεί να παραμείνει ελεύθερη. Το Linux θα swap out σελίδες μνήμης που δεν έχουν χρησιμοποιηθεί, +ακόμη και αν η μνήμη δεν χρειάζεται ακόμη για τίποτα. Αυτό αποφεύγει την αναμονή για swapping όταν χρειάζεται: το swapping μπορεί να γίνει νωρίτερα, όταν ο +δίσκος είναι έτσι κι αλλιώς αδρανής. + +Ο χώρος swap μπορεί να χωριστεί ανάμεσα σε αρκετούς δίσκους. Αυτό μερικές φορές βελτιώνει την απόδοση, ανάλογα με τις σχετικές ταχύτητες των δίσκων και το χρόνο +προσπέλασης αυτών. Μπορεί να θέλετε να πειραματιστείτε με μερικά διαδεδομένα μοντέλα, αλλά κατανοήστε ότι κάνοντας τα πειράματα κανονικά είναι αρκετά δύσκολο. +Δε θα πρέπει να πιστεύετε φήμες που λένε ότι ένα μοντέλο είναι ανώτερο από κάθε άλλο, εφόσον δε θα είναι πάντα αληθείς. + +Μπορείτε να χρησιμoποιήσετε και περισσότερες από μία swap κατατμήσεις. + +Μερικοί χρησιμοποιούν RAM disks για swapping, δεν κερδίζετε πολλά με αυτόν τον τρόπο αφού μειώνεται τη διαθέσιμη μνήμη για caching και buffering. + +Συνιστάται να δημιουργείτε κατατμήσεις swap σε μεσαία tracks του σκληρού δίσκου (συνήθως /dev/?d?x, όπου xε{4,5,\...} ανάλογα με τον αριθμό των υπάρχοντων +κατατμήσεων) , γιατί τότε η αναζήτηση είναι σχετικά γρήγορη (γρήγορη διαμεταγωγή και αναζήτηση αρχείων). + +Αν χρησιμοποιείτε swap αρχείο συνιστάται να τοποθετείται σε ξεχωριστή κατάτμηση, αφού περιλαμβάνει λιγότερα ρίσκα. Αυτή η κατάτμηση δε θα μπορεί πλεόν να +χρησιμοποιηθεί, ακόμη και αν φαίνεται να υπάρχει ελεύθερος χώρος σε αυτή. + + +### [2. Swap αρχεία]{#s2} + +Ένα swap αρχείο είναι ένα κανονικό αρχείο. Δεν είναι με κανένα τρόπο ειδικό προς τον πυρήνα. Το μόνο πράγμα που νοιάζει τον πυρήνα είναι να μην έχει καθόλου +\"τρύπες\", και να είναι έτοιμο για χρήση με την εντολή mkswap. + +Πρέπει, πάντως, να διαμένει σε έναν τοπικό δίσκο του συστήματος. Δεν μπορεί να διαμένει σε ένα σύστημα αρχείων που έχει προσαρτηθεί μέσω NFS για λόγους +υλοποίησης. + +Το κομμάτι σχετικά με τις \"τρύπες\" είναι σημαντικό. Το αρχείο swap κρατάει τον χώρο του δίσκου έτσι ώστε ο πυρήνας να μπορεί γρήγορα να swap out μια σελίδα +χωρίς να χρειάζεται να παέι μέσω όλων των πραγμάτων που είναι χρήσιμα όταν καταχωρεί ένα sector δίσκου σε ένα αρχείο. Ο πυρήνας απλώς χρησιμοποιεί όποιους +τομείς έχουν ήδη καταχωρηθεί στο αρχείο. Επειδή μια \"τρύπα\" σε ένα αρχείο σημαίνει πως δεν υπάρχουν καθόλου τομείς δίσκου καταχωρημένοι (για αυτό το μέρος +μέσα στο αρχείο), δεν είναι καλό για τον πυρήνα να προσπαθεί να τους χρησιμοποιεί. + +### [2.1 Ορισμός swap αρχείου]{#ss2.1} + +Ένας καλός τρόπος για να δημιουργήσετε το swap αρχείο χωρίς \"τρύπες\" είναι μέσω της ακόλουθης εντολής: + + dd if=/dev/zero of= bs= count= + +- if=/dev/zero : input file, διαβάζει από αυτό το αρχείο +- of=\ : output file, γράφει σε αυτό το αρχείο +- bs=\ : block size, διαβάζει και γράφει \ bytes κάθε φορά +- count=\ : αντιγράφει μόνο \ blocks από αυτά που διαβάζει + +Θα εμφανιστεί το μήνυμα: + + +0 records in + +0 records out + +Είναι καλύτερα το μέγεθος να είναι πολλαπλάσιο του 4, επειδή ο πυρήνας γράφει σελίδες μνήμης, που είναι 4ΚΒ σε μέγεθος. Αν το μέγεθος δεν είναι πολλαπλάσιο του +4, το τελευταίο ζευγάρι των kilobytes μπορεί να είναι αχρησιμοποίητο. Ειδικότερα, για swap αρχείο το μέγεθος είναι καλό να είναι πολλαπλάσιο του inode μεγέθους, +συνήθως 1024 ή 2048 (ή ακόμη και 4096), γιατί 1block=1KB=1024 bytes άρα τιμές πολλαπλάσιες του 1024. + +### [2.2 Ρόλος του /dev/zero]{#ss2.2} + +Το /dev/zero είναι ένα ειδικό αρχείο που κατά την ανάγνωσή του, επιστρέφει \\0 χαρακτήρες. Είναι μια συσκευή που όταν την διαβάζετε παίρνετε άπειρα ASCII 0. +Είναι χρήσιμη ως πηγή \"κενών\" bytes, όπως ακριβώς και πολλοί επεξεργαστές RISC έχουν ένα zero καταχωρητή που είναι πάντα 0. + +Δημιουργείται με: + + mknod -m 666 /dev/zero c 1 5 + chown root.mem /dev/zero + + +### [3. Swap κατατμήσεις]{#s3} + +Μία swap κατάτμηση δεν είναι επίσης ειδική με κανέναν τρόπο. Τη δημιουργείτε όπως κάθε άλλη κατάτμηση. Η μόνη διαφορά είναι ότι χρησιμοποιείται σαν μια άδεια +(raw) κατάτμηση, δηλαδή, δεν περιέχει κανένα σύστημα αρχείων. Είναι καλη ιδέα να σημειώνετε τις κατατμήσεις swap σαν τύπο 82 (Linux swap). Αυτό κάνει τα +περιεχόμενα της κατάτμησης πιο σαφή, αν και δεν είναι αυστηρώς απαραίτητο στον πυρήνα. + +Όπως αναφέραμε, οι κατατμήσεις swap είναι πιο γρήγορες ξεπερνούν το σύστημα αρχείων, διαβάζοντας κατευθείαν από τον σκληρό δίσκο. + +### [3.1 Ορισμός swap κατάτμησης]{#ss3.1} + +Η swap κατάτμηση δεν είναι ανάγκη να βρίσκεται στον ίδιο σκληρό δίσκο με την κατάτμηση που είναι εγκατεστημένο το Linux. + +Τρέξτε το πρόγραμμα fdisk. Δώστε n (add a new partition), μετά p (primary partition), για hex code: 82 (αν γράψετε l θα δείτε ότι αυτός ο τύπος αντιστοιχεί σε +κατάτμηση Linux swap). + +Κάθε είδος κατάτμησης έχει έναν ξεχωριστό (identifier number) αριθμό ώστε να αναγνωρίζεται από το λειτουργικό σύστημα. (π.χ. για το Linux είναι 83). + +Τελος, δώστε: w (write table to disk and exit). + + +### [4. Ρύθμιση swap συσκευών]{#s4} + +Εφόσον έχετε δημιουργήσει ένα swap αρχείο ή μια swap κατάτμηση, πρέπει να γράψετε μια υπογραφή στην αρχή του/της, αυτή περιέχει μερικές διευθυντικές πληροφορίες +και χρησιμοποιείται από τον πυρήνα. Η εντολή για να το κάνετε αυτό είναι η mkswap. Τη χρησιμοποιείτε έτσι: + + mkswap <μέγεθος> + +Συνηθισμένες παράμετροι: + +- -c ελέγχει τη συσκευή (block device) για bad blocks +- -v0 παλιά μέθοδος (μέχρι 128ΜΒ) +- -v1 νέα μέθοδος (μέχρι 2GB) + +Θα εμφανιστεί το μήνυμα: + + Setting up swapspace, size = <μεγεθος> bytes + +Ο swap χώρος δεν χρησιμοποιείται ακόμη. Υπάρχει, αλλά ο πυρήνας δεν τον χρησιμοποιεί για να παρέχει εικονική μνήμη. + +Πρέπει να είστε πολύ προσεκτικοί στη χρησιμοποίηση της εντολής mkswap, εφόσον ΔΕΝ ελέγχει αν το αρχείο ή η κατάτμηση χρησιμοποιείται για άλλο σκοπό. Η +χρησιμοποίησή της γίνεται συνήθως κατά την εγκατάσταση του συστήματος, την εκτελείτε μόνο ΜΙΑ φορά. + + +### [5. Συγχρονισμός\... ΤΩΡΑ]{#s5} + +H εντολή sync μέσω της συνάρτησης sync() δεσμεύει πρώτα τα inodes σε buffers, και μετά τα buffers στο σκληρό δίσκο. Εκτελείται, συνήθως, αμέσως μετά από την +mkswap. + +### [5.1 Ρόλος της sync]{#ss5.1} + +Κάθε U\*ix έχει φορτωμένο στη μνήμη το super block και τον inode πίνακα και ό,τι δουλειά κάνει πάνω σε αυτά την κάνει στη MNHMH, για ταχύτητα. Περιοδικά τα +\"κατεβάζει\" και στο δίσκο, για αποφυγή απρόσμενων γεγονότων. To sync είναι ακριβώς η εντολή που κάνει το \"κατέβασμα\". Με αυτόν τον τρόπο μπορεί κάποιος να +βεβαιωθεί ότι ολά έχουν γραφτεί με ασφάλεια. + +Στα περισσότερα UNIX συστήματα, υπάρχει ένα πρόγραμμα ου λέγεται update και τρέχει στο background κάνοντας ένα sync κάθε 30 δευτερόλεπτα, οπότε συνήθως δεν +είναι απαραίτητο να χρησιμοποιήσετε την sync. Το Linux έχει έναν επιπρόσθετο δαίμονα (daemon), τον bdflush, ο οποίος κάνει ένα πιο ατελές sync πιο συχνά. + +Κάτω από το Linux, ο bdflush εκκινείται από το update. Δεν υπάρχει συνήθως κανένας λόγος για να ανησυχείτε, αλλά αν ο bdflush πεθάνει για κάποιο λόγο, ο πυρήνας +θα σας προειδοποιήσει γι\' αυτό, και θα πρέπει να τον ξεκίνησετε μόνοι σας (/sbin/update). + + +### [6. Χρησιμοποίηση swap συσκευών]{#s6} + +Εφόσον έχουν ακολουθηθεί τα παραπάνω βήματα για ρύθμιση swap αρχείων/κατατμήσεων, η χρησιμοποίηση αυτών από τον πυρήνα γίνεται με την εντολή swapon. + +### [6.1 Το αρχείο /etc/fstab]{#ss6.1} + +FileSystem TABle + +Το αρχείο /etc/fstab δίνει πληροφορίες για τα διάφορα συστήματα αρχείων στα οποία μπορούμε να έχουμε πρόσβαση. + +Για μια swap συσκευή θα δείτε μια γράμμη όπως η παρακάτω. Στο σύστημά μου (powered by SuSE) είναι: + + /dev/hde3 swap swap defaults 0 0 + +### [6.2 Εξηγήσεις\...]{#ss6.2} + +- Το πρώτο πεδίο περιγράφει τη block συσκευή ή το σύστημα αρχείων που θέλουμε να προσαρτήσουμε, +- το δεύτερο περιγράφει το σημείο προσάρτησης (για swap κατάτμηση είναι swap), +- το τρίτο περιγράφει τον τύπο του συστήματος αρχείων (δείτε cat /proc/filesystems για αυτά που υποστηρίζονται από τον τρέχοντα πυρήνα σας), +- το τέταρτο περιγράφει τις παραμέτρους προσάρτησης, +- το πέμπτο χρησιμοποιείται από την εντολή dump (στην περίπτωσή μας είναι 0, δεν χρειάζεται), +- το έκτο καθορίζει τη σειρά προτεραιότητας με την οποία τα συστήματα αρχείων ελέγχονται κατά την εκκίνηση του Linux (στην περίπτωση μας είναι 0, δεν είναι + απαραίτητο). + +### [6.3 Παράμετροι στην swapon]{#ss6.3} + +-a: διαβάζει το /etc/fstab και κάνει διαθέσιμες τις συσκευές/αρχεία που προορίζονται για swapping. + +-p: θέτει προτεραίοτητα στο swapon, 0 \< p \< 32767 από το /etc/fstab, όπου pri=\"τιμή\". + +### [6.4 Αυτόματη χρησιμοποιήση swap συσκευών]{#ss6.4} + +Επεξεργαστείτε το αρχείο /etc/fstab και δημιουργήστε ένα νέο πεδίο για κάθε συσκευή που θέλετε να χρησιμοποιήσετε. + +Τα script εκκίνησης θα τρέξουν την εντολή swapon -a χρησιμοποιώντας όσες swap συσκευές έχουν καταχωριθεί στο /etc/fstab. Επομένως, η εντολή swapon +χρησιμοποιείται μόνο όταν χρειάζεται περισσότερος χώρος swap. + +### [6.5 Μή χρησιμοποίηση swap συσκευών]{#ss6.5} + +Μία περιοχή swap μπορεί να μην χρησιμοποιηθεί με χρήση της εντολής swapoff. Δεν είναι συνήθως απαραίτητο να το κάνετε, εκτός από προσωρινούς χώρους swap. Όλες +οι σελίδες που χρησιμοποιούνται στο χώρο swap αντιγράφονται στη μνήμη πρώτα. Αν δεν υπάρχει αρκετή φυσική μνήμη να τις κρατήσει, Θα αντιγραφούν τότε σε κάποιον +άλλο χώρο. Αν δεν υπάρχει αρκετή εικονική μνήμη να κρατήσει όλες τις σελίδες, το Linux θα αρχίσει να thrash (πιθανότατα, θα αρχίσει να παραπονιέται ο σκληρός, +όσο σκληρός και αν είναι\...). Ύστερα από λίγο, θα πρέπει να γίνει recover, αλλά ενδιάμεσα το σύστημα θα είναι μη χρησιμοποιήσιμο. Θα πρέπει να ελέγξτε (π.χ., +με free) αν υπάρχει αρκετή ελεύθερη μνήμη πριν απομακρύνετε ένα χώρο swap από χρήση. + +Όλες οι περιοχές swap που χρησιμοποιούνται αυτόματα με swapon -a μπορούν αν απομακρυνθούν με swapoff -a. Διαβάζει το αρχείο /etc/fstab για να βρει τί να +απομακρύνει. Όσες περιοχές swap έχουν χρησιμοποιηθεί manually θα παραμείνουν σε χρήση. + +Μερικές φορές πολύς χώρος swap μπορεί να χρησιμοποιείται ακόμη και αν υπάρχει αρκετή πραγματική μνήμη διαθέσιμη. Αυτό μπορεί να συμβεί για παράδειγμα αν σε +κάποιο σημείο υπάρχει ανάγκη για swap, αλλά αργότερα μια μεγάλη διεργασία που καταλάμβανε μεγάλο μέρος της φυσικής μνήμης τερματίζεται και ελευθερώνει τη μνήμη. +Τα swapped-out δεδομένα δεν αντιγράφονται αυτόματα στη μνήμη έως ότου χρειάζεται, έτσι η φυσική μνήμη μπορεί να παραμείνει ελεύθερη για ένα μεγάλο χρονικό +διάστημα. Δεν υπάρχει καμία ανάγκη να ανησυχείτε γι\'αυτό, αλλά μπορεί να σας ανακουφίζει το γεγονός αν γνωρίζετε τι συμβαίνει. + + +### [7. Έλεγχος χρήσης swap συσκευών]{#s7} + +Έχοντας μια swap συσκευή μπορείτε να δείτε πόση από αυτή χρησιμοποιείται. Απλώς δώστε: + +### [7.1 free]{#ss7.1} + + total used free shared buffers cached + Mem: 63092 61604 1488 12684 7664 43396 + -/+ buffers/cache: 10544 52548 + Swap: 136512 376 136136 + +Η πρώτη γραμμή Mem εμφανίζει τη φυσική μνήμη. + +- Η στήλη total ΔΕΝ εμφανίζει τη φυσική μνήμη που χρησιμοποιείται από τον πυρήνα, που είναι περίπου 1-2MB. +- Η στήλη used εμφανίζει το μέγεθος της μνήμης που χρησιμοποιείται (η δεύτερη γραμμή δεν μετράει buffers). +- Η στήλη free εμφανίζει το μέγεθος της αχρησιμοποίητης μνήμης. +- Η στήλη shared εμφανίζει το μέγεθος της μνήμης που μοιράζεται από διάφορες διεργασίες, όσο περισσότερη, τόσο καλύτερη. +- Η στήλη buffers εμφανίζει το τρέχον μέγεθος buffer cache του δίσκου. + +Η τελευταία γραμμή Swap εμφανίζει παρόμοιες πληροφορίες για τις περιοχές swap. Αν αυτή η γραμμή είναι όλο μηδενικά, ο swap χώρος σας δεν έχει ενεργοποιηθει. + +### [7.2 cat /proc/meminfo]{#ss7.2} + + total: used: free: shared: buffers: cached: + Mem: 64606208 63078400 1527808 12877824 7847936 44437504 + Swap: 139788288 385024 139403264 + MemTotal: 63092 kB + MemFree: 1492 kB + MemShared: 12576 kB + Buffers: 7664 kB + Cached: 43396 kB + BigTotal: 0 kB + BigFree: 0 kB + SwapTotal: 136512 kB + SwapFree: 136136 kB + +### [7.3 cat /proc/swaps]{#ss7.3} + + Filename Type Size Used Priority + /dev/hde4 partition 136512 376 -1 + +### [7.4 top]{#ss7.4} + + Mem: 63092K av, 61544K used, 1548K free, 13116K shrd, 7516K buff + Swap: 136512K av, 376K used, 136136K free 43372K cached + +### [7.5 procinfo]{#ss7.5} + + Memory: Total Used Free Shared Buffers Cached + Mem: 63092 61488 1604 12796 7516 43372 + Swap: 136512 376 136136 + + +### [8. Ιδέες\...]{#s8} + +### [8.1 Συνδυασμός swap και /tmp]{#ss8.1} + +Η ιδέα υπάρχει από το tmpfs στα \*BSD και το Solaris, καθώς και από το swapfs σε NeXT συστήματα. + +Η λογική είναι ότι αυτά χρησιμοποιούνται για προσωρινή αποθήκευση που υπό κανονικές συνθήκες δεν απαιτούν πάρα πολύ χωρό. Έτσι συνδυάζοντας τα swap και /tmp δε +χρειάζεται να κρατάτε ξεχωριστό χώρο για αυτά τα δύο, όπως κανονικά θα έπρεπε. Αυτό το ειδικευμένο σύστημα αρχείων είναι ένας swappable RAM δίσκος, που +τοποθετεί τα προσωρινά αρχεία στην swap κατάτμηση. Σημαντικό μειονέκτημα είναι ότι για να κερδίσετε αποθηκευτικό χώρο, χάνετε ταχύτητα (μειώνεται λίγο η απόδοση +του συστήματος), αφού δεν μπορείτε να έχετε και τα δυο σε παραλληλία, γεγονός που ξεπερνιέται με χρήση πολλαπλών δίσκων (interleaving). Με αυτόν τον τρόπο +μπορείτε να μοιράσετε σε διάφορους δίσκους το φόρτωμα του εν λόγω συστήματος αρχείων και να πετύχετε παραλληλία. + +### [8.2 Swap κατ\' απαίτηση με loopback device]{#ss8.2} + +Εφόσον έχετε υποστήριξη για loopback devices στον πυρήνα, γράψτε ένα shell script ώστε να εκχωρείται δυναμικά ο χώρος του swap σε αρχείο βέβαια, χωρίς ξεχωριστή +κατάτμηση\.....κτλ, κτλ + + +### [9. Ίδιος χώρος swap με άλλα λειτουργικά συστήματα]{#s9} + +### [9.1 FreeBSD]{#ss9.1} + +Δεν έχω (ακόμα\...) δεν έχω δοκιμάσει. Δείτε το Linux+FreeBSD mini HOWTO. + +### [9.2 Microsoft Windows]{#ss9.2} + +Έχω (ακόμα\...), δεν έχω δοκιμάσει. Δείτε το Tips-HOWTO και το Swap-Space mini HOWTO, που πλέον συντηρείται. Το ονομα είναι παραπλανητικό\... αναφέρεται σε +ειδικό θέμα ενώ το όνομά του παραπέμπει αλλού. + + +### [10. Σχετικά]{#s10} + +### [10.1 No time\...]{#ss10.1} + +Τα τρία τελευταία κομμάτια, για loopback και για μοίρασμα χώρου swap με άλλα OS θα μπορούσα να τα αναλύσω περισσότερο. Έδωσα, πάντως, κάποιους κατευθυντήριους +άξονες για κάθε ενδιαφερόμενο. Ήθελα να δώσω το στοιχείο της πληρότητας αλλά αν το έκανα σε κάθε πιθανή γωνία του παρόντος θα κατέληγα σε πληρέστατο HOWTO, που +θα απαιτούσε πολύ χρόνο\... + +### [10.2 Πηγές]{#ss10.2} + +Για τη σύνταξη του παραπάνω χρησιμοποιήθηκαν διάφορες πηγές, από HOWTOs, από το SAG, από ερωτήσεις/απαντήσεις διάφορων mailining lists/newsgroups, από σχετικές +man pages, εγχειρίδια διανομών, βιβλία για το Linux κτλ, κτλ. + diff --git a/content/articles/22/03_vi.md b/content/articles/22/03_vi.md new file mode 100644 index 0000000..aac657f --- /dev/null +++ b/content/articles/22/03_vi.md @@ -0,0 +1,569 @@ ++++ +title = 'Οι βασικές λειτουργίες του VI' +date = '1999-03-01T00:00:00Z' +description = '' +author = 'Ζανικόλας Σεραφείμ(mailto:serzan@it.teithe.gr)' +issue = ['Magaz 22'] +issue_weight = 3 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Αυτό το έγγραφο φιλοδοξεί να παρουσιάσει με κατανοητό και γρήγορο τρόπο τις βασικές λειτουργίες του `VI`, ενός από τους καθιερωμένους επεξεργαστές κειμένου των +UNIX λειτουργικών συστημάτων.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Σχετικά\...** +--------------------------------------- + +**2. Εισαγωγή** +------------------------------------ + +**3. Μετακίνηση** +-------------------------------------- + +- [3.1 Στα όρια της ενεργής γραμμής](#ss3.1) +- [3.2 Σε σχέση με την οθόνη](#ss3.2) +- [3.3 Σε όλο το κείμενο](#ss3.3) + +**4. Επεξεργασία Κειμένου** +------------------------------------------------ + +- [4.1 Εισαγωγή](#ss4.1) +- [4.2 Διαγραφή](#ss4.2) +- [4.3 Αντικατάσταση](#ss4.3) +- [4.4 Αλλες χρήσιμες εντολές επεξεργασίας](#ss4.4) + +**5. Αναζήτηση** +------------------------------------- + +- [5.1 Στα όρια της ενεργής γραμμής](#ss5.1) +- [5.2 Σε όλο το κείμενο](#ss5.2) + +**6. Διαχείρηση Αρχείων** +---------------------------------------------- + +**7. Διαχείριση περιοχών μνήμης προσωρινής αποθήκευσης (buffers)** +--------------------------------------------------------------------------------------- + +**8. Διάφορες εντολές** +-------------------------------------------- + +**9. Παραδείγματα** +---------------------------------------- + + +### [1. Σχετικά\...]{#s1} + +Όπως δηλώνει σαφώς και ο τίτλος, σε καμμία περίπτωση δεν αποτελεί πλήρη οδηγό του VI. Η ομαδοποίηση των εντολών έγινε αυθαίρετα έχοντας υπ\'όψη την -όσο το +δυνατόν- ευκολότερη εκμάθηση τους. Για παρατηρήσεις / προτάσεις, επικοινωνήστε στην παραπάνω διεύθυνση. Τέλος το έγγραφο θα το βρείτε στη διεύθυνση +http://aetos.it.teithe.gr/\~serzan/vi/vi.html + + +### [2. Εισαγωγή]{#s2} + +**Καταστάσεις Λειτουργίας, Εντολές** + +: Ο `VI`(sual editor) έχει δύο βασικές καταστάσεις λειτουργίας: + + - κατάσταση εντολών (command mode) + - κατάσταση εισαγωγής κειμένου (text entry mode) + + Κατά τη κατάσταση εντολών οτιδήποτε πληκτρολογείτε μεταφράζεται ως εντολή. Φροντίστε να είστε προσεκτικοί γιατί δε φαίνονται οι εντολές που δίνετε, βλέπετε + μόνο τα αποτελέσματά τους. Εξαίρεση αποτελούν οι εντολές που αρχίζουν από \":\" (άνω κάτω τελεία) οι οποίες εμφανίζονται στο κάτω μέρος της οθόνης και + εκτελούνται αφού πατήσετε `` (enter). Σε κατάσταση εισαγωγής κειμένου -σχεδόν- ο,τιδήποτε πληκτρολογείτε εισάγεται στο κείμενο. + +**Εισαγωγή - Διαγραφή** + +: Πατώντας `` ή `^[` (control-\[) μπορείτε να είστε σίγουροι πως ο `VI` είναι σε κατάσταση εντολών. Βασικοί τρόποι για να περάσετε σε κατάσταση εισαγωγής + κειμένου είναι: πατώντας `i` (insert - εισαγωγή κειμένου στη θέση του δρομέα), `a` (append - εισαγωγή κειμένου στην πρώτη θέση στα δεξιά του δρομέα) ή `o` + (open(?) - εισαγωγή κειμένου σε νέα γραμμή κάτω από την ενεργή). Χρησιμοποιήστε το `x` για να διαγράψετε το χαρακτήρα στη θέση του δρομέα. + +**Μετακίνηση** + +: Για να κινηθείτε μέσα στο κείμενο, αφού βεβαιωθείτε πως είστε σε κατάσταση εντολών, χρησιμοποιήστε τα `h j k l` για αριστερά, κάτω, πάνω και δεξιά. + Εναλλακτικά μπορείτε να χρησιμοποιήσετε τα βελάκια, κάτι που δε συνίσταται για λόγους ταχύτητας. + +**Χειρισμός Αρχείων, Εξοδος** + +: Οσο επεξεργάζεστε ένα αρχείο στον `VI`, ουσιαστικά δουλεύετε σε ένα αντίγραφο του αρχείου σε μία προσωρινή μνήμη (buffer). Οι αλλαγές που κάνετε στην + προσωρινή μνήμη δεν αποθηκεύονται μέχρι τη στιγμή που θα δώσετε την εντολή `:w` (από το write). Εάν το αρχείο είναι read only μπορείτε να γράψετε μόνο + με `:w!`, με την προυπόθεση φυσικά πως έχετε δικαίωμα εγγραφής στο αρχείο (write permission). Γράφοντας + `:e filename` μπορείτε να ανοίξετε ένα νέο αρχείο για επεξεργ ασία, ενώ τερματίζετε τον `VI` με `:q`. Εφόσον δεν + έχετε αποθηκεύσει τις αλλαγές που κάνατε ο `VI` θα διαμαρτυρηθεί και δε θα εκτελέσει την εντολή σας, σε αυτή την περίπτωση χρησιμοποιήστε `:e! filename` + και `:q!` αντίστοιχα. + +**Αντιγραφή, Διαγραφή, Επικόλληση** + +: Οι εντολές `c[E]`, `y[E]` και `d[E]` (change-αλλαγή, yank-copy-αντιγραφή σε προσωρινή μνήμη, delete-διαγραφή και αντιγραφή στην προσωρινή μνήμη), επιδρούν + σε περιοχή κειμένου που προσδιορίζεται από το επίθεμά `[E]` πχ. `yw` (yank word to buffer). Η επανάληψη (`cc`, `yy`, `dd)` υποδηλώνει την επίδρασή τους στην + τρέχουσα γραμμή πχ. το `yy` αντιγράφει το περιεχόμενο της τρέχουσας γραμμής στην προσωρινή μνήμη (yank line to buffer). Επικόλληση κειμένου από την + προσωρινή μνήμη γίνεται μ ε το `p`. + +**Η Λογική Των Εντολών** + +: Οι περισσότερες εντολές του `VI` μπορούν να δεχτούν ένα αριθμητικό πρόθεμα, με το οποίο δηλώνουμε πόσες φορές επιθυμούμε την εκτέλεση τους. Ετσι λοιπόν εκεί + που το `dd` θα έσβηνε την τρέχουσα γραμμή το `3dd` σβήνει 3 γραμμές. + + Ακολουθούν κάποια παραδείγματα. Είναι επιθυμητό ο αναγνώστης να εξοικειωθεί με όσα αναφέρθηκαν μέχρι στιγμής δεδομένου ότι οι εντολές των επόμενων κεφαλαίων + ενδέχεται να προκαλέσουν σύγχιση. + +**Παραδείγματα** + +: + + **`14l`** + + : μεταφορά του δρομέα 14 θέσεις προς τα δεξιά + + **`10j`** + + : μεταφορά του δρομέα 10 σειρές προς τα κάτω + + **`10x`** + + : διαγραφή 10 χαρακτήρων, ξεκινώντας από το δρομέα προς τα δεξιά + + **`cwtext`** + + : αλλαγή λέξης με το text + + **`3cctext`** + + : αλλαγή τριών γραμμών με το text + + **`7yw`** + + : αντιγραφή 7 λέξεων στην προσωρινή μνήμη + + **`3yy`** + + : αντιγραφή 3 γραμμών στην προσωρινή μνήμη + + **`5dw`** + + : διαγραφή 5 λέξεων (και αντιγραφή στην προσωρινή μνήμη) + + **`2dd`** + + : διαγραφή 2 γραμμών (και αντιγραφή στην προσωρινή μνήμη) + + +### [3. Μετακίνηση]{#s3} + +Οι εντολές που δέχονται αριθμητικό πρόθεμα φαίνονται με το χαρακτήρα \[N\] ενώ εκείνες που μπορούν να χρησιμοποιηθούν ως επίθεμα των εντολών `y d c` με \[E\] + +### [3.1 Στα όρια της ενεργής γραμμής]{#ss3.1} + +**`[N][E] w b e`** + +: μετακίνηση στην επόμενη λέξη, στην αρχή ή στο τέλος λέξης (οι λέξεις αποτελούνται από γράμματα και ψηφία, οτιδήποτε άλλο θεωρείται διαχωριστικό λέξης) + +**`[N][E] W B E`** + +: μετακίνηση στην επόμενη λέξη, στην αρχή ή στο τέλος λέξης (οι λέξεις αποτελούντα από οποιουσδήποτε χαρακτήρες εκτός από το κενό, που έιναι διαχωριστικό + λέξης) + +**`[E] 0`** + +: μεταφορά του δρομέα στην πρώτη στήλη της ενεργής γραμμής + +**`[E] n|`** + +: μεταφορά του δρομέα στην νιοστή στήλη της ενεργής γραμμής ή στην πρώτη εάν δεν προσδιοριστεί το `n` + +**`[E] $`** + +: μετακίνηση του δρομέα στο τέλος της ενεργής γραμμής + +### [3.2 Σε σχέση με την οθόνη]{#ss3.2} + +**`[E] H`** + +: μετακίνηση στην πρώτη γραμμή της οθόνης + +**`[E] M`** + +: μετακίνηση στη γραμμή στη μέση της οθόνης + +**`[E] L`** + +: μετακίνηση στην τελευταία γραμμή της οθόνης + +**`^F`** + +: μετακίνηση μία οθόνη προς τα κάτω + +**`^B`** + +: μετακίνηση μία οθόνη προς τα πάνω + +### [3.3 Σε όλο το κείμενο]{#ss3.3} + +**`[N] h j k l`** + +: αριστερά, κάτω, πάνω, δεξιά (εναλλακτικά χρησιμοποιήστε τα βελάκια) + +**`[E] nG`** + +: μετακίνηση στη νιοστή γραμμή ή στο τέλος του αρχείου (χωρίς το `n`) + +**`:n`** + +: μετακίνηση στη νιοστή γραμμή + +**`[E] 'a`** + +: μετακίνηση στην πρώτη στήλη της γραμμής που σημειώθηκε ως `a`, αυτό γίνεται με την εντολή `ma` όπου `a` ένα οποιοδήποτε μικρό γράμμα του λατινικού αλφαβήτου + +**`` [E] `a ``** + +: μετακίνηση στη στήλη και στη γραμμή που σημειώθηκε ως `a`, αυτό γίνεται με την εντολή `ma` όπου `a` ένα οποιοδήποτε μικρό γράμμα του λατινικού αλφαβήτου + + +### [4. Επεξεργασία Κειμένου]{#s4} + +Οι εντολές που δέχονται αριθμητικό πρόθεμα φαίνονται με το χαρακτήρα \[N\] ενώ εκείνες που μπορούν να χρησιμοποιηθούν ως επίθεμα των εντολών `y d c` με \[E\] + +### [4.1 Εισαγωγή]{#ss4.1} + +**`atext`** + +: γράφει το `text` στα δεξιά της θέσης του δρομέα (append) + +**`A`text** + +: γράφει το `text` στο τέλος της ενεργής γραμμής + +**`itext`** + +: γράφει το `text` στη θέση του δρομέα (insert) + +**`Itext`** + +: γράφει το `text` στην αρχή της ενεργής γραμμής + +**`otext`** + +: γράφει το `text` στην αρχή μιας νέας γραμμής που ανοίγει κάτω από την ενεργή (open) + +**`Otext`** + +: γράφει το `text` στην αρχή μιας νέας γραμμής που ανοίγει πάνω από την ενεργή + +### [4.2 Διαγραφή]{#ss4.2} + +Κάθε φορά που διαγράφετε κάτι, αυτό αντιγράφετε αυτόματα στη γενικής χρήσεως προσωρινή μνήμη (buffer). + +**`[N] x`** + +: διαγραφή του χαρακτήρα στον οποίο βρίσκεται ο δρομέας + +**`[N] X`** + +: διαγραφή του χαρακτήρα αριστερά του δρομέα + +**`[N] d[E]`** + +: διαγραφή από τη θέση του δρομέα εώς το σημείο που προσδιορίζει το `[E]` + +**`[N] dd`** + +: διαγραφή τρέχουσας γραμμής + +**`D`** + +: διαγραφή από τη θέση του δρομέα εώς το τέλος της γραμμής (ισοδύναμο με `d$`) + +**`:d`** + +: διαγραφή τρέχουσας γραμμής (ισοδύναμο με `dd`) + +**`:nd`** + +: διαγραφή νιοστής γραμμής, όπου `n` ακέραιος αριθμός που προσδιορίζει τον αριθμό γραμμής + +**`:x,yd`** + +: διαγραφή από την γραμμή `x` εώς και την `y`. Όπου `x` και `y` μπορεί να είναι: α) οποιοσδήποτε αριθμός γραμμής β). (τελεία - ενεργή γραμμή) γ) \$ (τελευταία + γραμμή) δ) τα (β) ή (γ) + - αριθμητική σταθερά + +### [4.3 Αντικατάσταση]{#ss4.3} + +#### Στα όρια της ενεργής γραμμής + +**`[N] c[E]text`** + +: αλλαγή (change) του κειμένου, από το δρομέα εώς τη θέση που προσδιορίζει το `[E]`, με το `text` + +**`[N] cctext`** + +: αλλαγή ενεργής γραμμής με το `text` + +**`Ctext`** + +: αλλαγή του κειμένου, από το δρομέα εώς το τέλος της γραμμής, με το `text` (ισοδύναμο με `c$text`) + +**`:s/re1/re2/`** + +: αντικατάσταση (subtitute), ΜΟΝΟ της πρώτης συμβολοσειράς `re1` ή αυτής που προσδιορίζεται από την κανονική έκφραση `re1` (relative expression), που θα + βρεθεί στην ενεργή γραμμή, με τη συμβολοσειρά `re2` ή αυτήν που προσδιορίζεται από την κανονική έκφραση `re2` + +**`:s/re1/re2/g`** + +: το ίδιο με τη διαφορά πως θα αντικαταστήσει ΟΛΑ τα `re1`, της ενεργής γραμμής, με το `re2` και όχι μόνο το πρώτο + +**`:s/re1/re2/c`** + +: το ίδιο με τη διαφορά πως θα σας ζητήσει επιβεβαίωση για κάθε αλλαγή που θα κάνει. Οι επιλογές `g` (global) και `c` (confirm) είναι προαιρετικές και μπορούν + να χρησιμοποιηθούν και ταυτόχρονα + +#### Σε όλο το κείμενο + +**`:x,y s/re1/re2/`** + +: αντικατάσταση, ΜΟΝΟ της πρώτης συμβολοσειράς `re1` ή αυτής που προσδιορίζεται από την κανονική έκφραση `re1` (relative expression), που θα βρεθεί στις + γραμμές που προσδιορίζονται από τα `x` και `y`, με τη συμβολοσειρά `re2` ή αυτήν που προσδιορίζεται από την κανονική έκφραση `re2`. Όπου `x` και `y` μπορεί + να είναι: α) οποιοσδήποτε αριθμός γραμμής β). (τελεία - ενεργή γραμμή) γ) \$ (τελευταία γραμμή) δ) τα (β) ή (γ) + - αριθμητική σταθε ρά + +### [4.4 Αλλες χρήσιμες εντολές επεξεργασίας]{#ss4.4} + +**`[N] ~`** + +: αλλάζει το χαρακτήρα στη θέση του δρομέα, από μικρό σε κεφαλαίο ή αντίστροφα, και κινείται μία θέση δεξιά (μόνο για λατινικούς χαρακτήρες) + +**`[N] u`** + +: ακυρώνει μία ή περισσότερες ενέργεις (undo) + +**`J`** + +: ενώνει την ενεργή γραμμή με την επόμενη + + +### [5. Αναζήτηση]{#s5} + +Οι εντολές που δέχονται αριθμητικό πρόθεμα φαίνονται με το χαρακτήρα \[N\] ενώ εκείνες που μπορούν να χρησιμοποιηθούν ως επίθεμα των εντολών `y d c` με \[E\] + +### [5.1 Στα όρια της ενεργής γραμμής]{#ss5.1} + +**`[N][E] fa Fa`** + +: μεταφορά του δρομέα στο πρώτο `a` που θα βρεθεί στη γραμμή προς τα δεξιά (`fa`) ή προς τα αριστερά (`Fa`) + +**`[N][E] , ;`** + +: επανάληψη τελευταίας αναζήτησης προς τα αριστερά (`,`) ή προς τα δεξιά (`;`) + +### [5.2 Σε όλο το κείμενο]{#ss5.2} + +**`/re`** + +: αναζήτηση, προς τα εμπρός, του `re`, όπου `re` μια οποιαδήποτε συμβολοσειρά ή κανονική έκφραση + +**`?re`** + +: αναζήτηση, προς τα πίσω, του `re`, όπου `re` μια οποιαδήποτε συμβολοσειρά ή κανονική έκφραση + +**`n`** + +: επανάληψη τελευταίας αναζήτησης προς τα κάτω + +**`N`** + +: επανάληψη τελευταίας αναζήτησης προς τα πάνω + + +### [6. Διαχείρηση Αρχείων]{#s6} + +**`:w`** + +: αποθήκευση αλλαγών στο αρχικό αρχείο + +**`:w filename`** + +: αποθήκευση αλλαγών στο `filename` + +**`:wq`** + +: αποθήκευση αλλαγών στο αρχικό αρχείο και τερματισμός του `VI` + +**`:e filename`** + +: ανοίγει το `filename` (αν δεν υπάρχει δημιουργεί ένα άδειο), θα εμφανιστεί προειδοποίηση σε περίπτωση που δεν έχουν αποθηκευτεί οι αλλαγές του αρχικού + αρχείου + +**`:e! filename`** + +: ανοίγει το `filename` ανεξάρτητα από το αν έχουν αποθηκευτεί οι αλλαγές του πρώτου ή όχι + +**`:r filename`** + +: προσθέτει τα περιεχόμενα του αρχείου `filename` στη θέση του δρομέα + +**`:r `** + +: προσθέτει την έξοδο της εντολής `unix_cmd` στη θέση του δρομέα + +**`:q `** + +: έξοδος από τον `VI`, θα εμφανιστεί προειδοποίηση σε περίπτωση που δεν έχουν αποθηκευτεί οι αλλαγές + +**`:q! `** + +: έξοδος από τον `VI`, ανεξάρτητα από το αν έχουν αποθηκευτεί οι αλλαγές του αρχείου + + +### [7. Διαχείριση περιοχών μνήμης προσωρινής αποθήκευσης (buffers)]{#s7} + +Εκτός από την γενικής χρήσης ή ανώνυμη μνήμη αποθήκευσης υπάρχουν και οι επώνυμες, μία για κάθε (μικρό) γράμμα του λατινικού αλφαβήτου. + +**`y[E]`** + +: αντιγραφή του κειμένου, από το δρομέα εώς το σημείο που προσδιορίζει το `[E]`, στη γενικής χρήσης μνήμη + +**`Y`** + +: αντιγραφή της ενεργής γραμμής στη γενικής χρήσης μνήμη, ισοδύναμο του `yy` + +**`"ay[E]`** + +: αντιγραφή του κειμένου, από το δρομέα εώς το σημείο που προσδιορίζει το `[E]`, στην επώνυμη μνήμη `a`, όπου `a` οποιοδήποτε μικρό γράμμα του λατινικού + αλφαβήτου + +**`p P`** + +: επικόλληση του περιεχομένου της γενικής χρήσης προσωρινής μνήμης μετά ή πριν τη θέση του δρομέα ή την ενεργή γραμμή (ανάλογα με το αν η μνήμη έχει λέξεις ή + γραμμές) + +**`"ap "aP`** + +: επικόλληση του περιεχομένου της προσωρινής μνήμης `a` μετά ή πριν τη θέση του δρομέα + + +### [8. Διάφορες εντολές]{#s8} + +**`:sh`\** + +: προσωρινή έξοδος στο κέλυφος (shell), επιστροφή με `exit` + +**`:!unix_cmd`\** + +: εκτέλεση της εντολής `unix_cmd` + +**`:cd dir_name`\** + +: αλλαγή ενεργού καταλόγου στον `dir_name` + +**`^G`** + +: εμφανίζει το όνομα του αρχείου, ένδειξη τροποποίησης ή όχι, αρ.γραμμής και θέση του δρομέα στο αρχείο σε ποσοστό % + +**`^Z`** + +: προσωρινή διακοπή του `VI`, επιστροφή με fg + + +### [9. Παραδείγματα]{#s9} + +**`c4Wtext`** + +: αλλαγή των 4 επόμενων λέξεων με το `text` (όπου λέξη οποιαδήποτε σειρά χαρακτήρων δεν περιέχει το κενό) + +**`d4wtext`** + +: διαγραφή των 4 επόμενων λέξεων (όπου λέξη οποιαδήποτε σειρά γραμμάτων και ψηφίων) + +**`d0`** + +: διαγραφή του κειμένου από τη θέση του δρομέα εώς την αρχή της γραμμής + +**`d$`** + +: διαγραφή του κειμένου από τη θέση του δρομέα εώς το τέλος της γραμμής + +**`dN|`** + +: διαγραφή του κειμένου από τη θέση του δρομέα εώς τη στήλη `N` + +**`:11d`** + +: διαγραφή της 11ης γραμμής + +**`:.,.+3d`** + +: διαγραφή της ενεργής γραμμής και των τριών επόμενων + +**`:.,$d`** + +: διαγραφή από την ενεργή γραμμή εώς το τέλος του αρχείου + +**`4~`** + +: αλλαγή των κεφαλαίων γραμμάτων σε μικρών και αντίστροφα, για τους επόμενους τέσσερεις χαρακτήρες + +**`3u`** + +: ακυρώνει τις τρεις τελευταίες ενέργειες (undo) + +**`f*`** + +: μετακίνηση του δρομέα στο πρώτο `*` + +**`3f*`** + +: μετακίνηση του δρομέα στο τρίτο `*` + +**`y2fB`** + +: αντιγραφή του κειμένου από το δρομέα εώς το δεύτερο B, στη γενικής χρήσης (ανώνυμη) μνήμη + +**`d5fa`** + +: διαγραφή του κειμένου από το δρομέα εώς το πέμπτο a, αντιγραφή στη γενικής χρήσης (ανώνυμη) μνήμη + +**`c5fatext`** + +: αλλαγή του κειμένου από το δρομέα εώς το πέμπτο a με το `text` + +**`:s/text1/text2/`** + +: αντικατάσταση του πρώτου `text1` που θα βρεθεί στην ενεργή γραμμή με το `text2` + +**`:s/text1/text2/g`** + +: αντικατάσταση όλων των `text1` που θα βρεθούν στην ενεργή γραμμή με το `text2` + +**`:s/text1/text2/gc`** + +: αντικατάσταση όλων των `text1` που θα βρεθούν στην ενεργή γραμμή, με το `text2`, μετά από επιβεβαίωση + +**`:5,11 s/text1/text2/`** + +: αντικατάσταση του πρώτου `text1` που θα βρεθεί στις γραμμές 5 εώς και 11, με το `text2` + +**`:.,.+3 s/text1/text2/gc`** + +: αντικατάσταση όλων των `text1` που θα βρεθούν στην ενεργή γραμμή και στις 3 επόμενες, με το `text2`, μετά από επιβεβαίωση + +**`:.,$ s/text1/text2/gc`** + +: αντικατάσταση όλων των `text1` που θα βρεθούν από την ενεργή γραμμή εώς και το τέλος του αρχείου, με το `text2`, μετά από επιβεβαίωση + +**`"ayf.`** + +: αντιγραφή του κειμένου από το δρομέα εώς την πρώτη τελεία, στην επώνυμη μνήμη `a` + +**`"ap`** + +: επικόλληση του περιεχομένου της επώνυμης μνήμης `a`, στα δεξιά του δρομέα + +**`"zy2f)`** + +: αντιγραφή του κειμένου από το δρομέα εώς τη δεύτερη παρένθεση, στην επώνυμη μνήμη `z` + +**`"zP`** + +: επικόλληση του περιεχομένου της επώνυμης μνήμης `z`, στη θέση του δρομέα + diff --git a/content/articles/22/04_internet.md b/content/articles/22/04_internet.md new file mode 100644 index 0000000..46c44c8 --- /dev/null +++ b/content/articles/22/04_internet.md @@ -0,0 +1,78 @@ ++++ +title = 'Οι κίνδυνοι του Internet' +date = '2000-03-01T00:00:00Z' +description = '' +author = 'Πρατικάκης Πολύβιος(mailto:el97649@central.ntua.gr)' +issue = ['Magaz 22'] +issue_weight = 4 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Οι κίνδυνοι του Internet και του κυβερνοχώρου, 16 χρόνια μετά το 1984.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Έχετε αναρωτηθεί πόσο ελεύθερο είναι το Internet; + +Όλοι ακούμε συνεχώς για την υπερλεωφόρο των πληροφοριών, και πώς πρόκειται να επηρεάσει τη ζωή μας, να μας δώσει ελευθερία, απελευθέρωση του λόγου, και καλύτερη +δια-προσωπική επικοινωνία. Όμως, υπάρχει και μία άλλη άποψη, όχι τόσο διαδεδομένη και ακουστή, \"η άλλη πλευρά\", η οποία μεταβάλλει τις παραπάνω αισιόδοξες +δηλώσεις, μόνο με το να προσθέσει τη λέξη \"δυνητικά\". Φυσικά, η τεχνολογία είναι καλή, η γνώση είναι για όλους, και η πληροφορία θέλει να είναι ελεύθερη. +Αλλά, από την άλλη, τι να την κάνουμε την τεχνολογία και την ελευθερία που μπορεί να προσφέρει, αν όλοι χάσουμε το ενδιαφέρον μας για ελευθερία; + +Το Internet τελευταία έχει αρχίσει να μεταμορφώνεται σε ένα άλλο είδος τηλεόρασης, υιοθετώντας όλο και περισσότερο το είδος σχέσης πομπού-δέκτη, με τη +δικαιολογία ότι \"πάντα υπάρχει η δυνατότητα αμφίδρομης επίδρασης\". Κανείς δεν αρνείται ότι υπάρχει η δυνατότητα αλληλεπίδρασης, αλλα φαίνεται ότι συγχέουμε τη +δυνατότητα με την πραγματοποίηση. Διαπράτουμε το ίδιο λάθος με αυτούς που υποστηρίζουν ότι οι τηλεθεατές έχουν πάντα την επιλογή να κλείσουν την τηλεόραση. + +Όλο και πιό πολλοί άνθρωποι, μην έχοντας τη δυνατότητα να ψάξουν και να αναζητήσουν ανάμεσα στις τεράστιες -και συνεχώς διογκούμενες- ποσότητες πληροφορίας, οι +περισσότερες από τις οποίες αποτελούν κυρίως \"θόρυβο\", εξαρτώνται από μηχανές αναζήτησης για να εντοπίσουν τις πληροφορίες που θέλουν. Οι περισσότεροι από +τους \"καινουριοφερμένους\" στο Internet, συγχέουν το Internet με τα portals και τις μηχανές αναζήτησης, αλλά σχεδόν κανείς δεν αναρωτιέται ποτέ ποιός διοικεί +αυτές τις μηχανές. Ποιός δηλαδή λίγο πολύ \"φιλτράρει\" τις πληροφορίες στις οποίες έχουν πρόσβαση, ή ακόμα πιο πέρα, από ποιόν εξαρτώνται αυτές οι μηχανές. +Γιατί λ.χ. \"τυχαίνει\" κάθε φορά οι σελίδες που αποτελούν απάντησεις σε ένα ερώτημα να είναι ταξινομημένες, σε φθίνουσα σειρά, ανάλογα με το πόσα χρήματα +δαπανά η εταιρία που έχει την σελίδα για διαφήμηση στο εν λόγω ψαχτήρι. + +Ένα άλλο ανησυχητικό θέμα που έχει προκύψει είναι η ιδιωτική ζωή. Το λάθος εδώ έγκειται στο γεγονός ότι οι περισσότεροι άνθρωποι νιώθουν ότι ο κυβερνοχώρος +είναι μια ζώνη \"παιχνιδιού\", ένας χώρος όπου όλοι είναι αυτό που θέλουν να είναι, ένα μέρος χωρίς σύνορα ούτε νόμους. Αυτό φυσικά δεν είναι αλήθεια, αλλά και +ακόμη κι άν ήταν, σίγουρα δεν είναι επιθυμητό, όσο παράξενο κι αν ακούγεται. Φαίνεται να ξεχνάμε ότι τα κράτη και οι νόμοι -ειδικά στο δυτικό κόσμο- υπάρχουν +για να προστατεύουν τους πολίτες και τη δημοκρατία, και έχουν κερδηθεί και πληρωθεί πολύ ακριβά. Ξεχνάμε επίσης ότι είτε θέλουμε είτε όχι, ο κυβερνοχώρος είναι +μια προέκταση της κοινωνίας, είναι άλλο ένα ανθρώπινο δημιούργημα. Είναι φυσιολογικό επομένως να επηρεάζεται -και να επηρεάζει- από την \"υλική\" κοινωνία. +Είναι αδύνατον οι ίδιοι άνθρωποι να ζούν στον ένα κόσμο σε ένα σύστημα δημοκρατίας (η μη\...), και ταυτόχρονα στον άλλο μέσα σε μια ιδεαλιστική αναρχία. Αυτά τα +δύο δέν συμβιβάζονται, γιατί απαιτούν ένα εντελώς διαφορετικό σύστημα αξιών. Όταν λέμε αναρχία στον κυβερνοχώρο, δεν εννοούμε την ουτοπιστική έννοια όπου δεν +υπάρχει αρχή, γιατί δεν χρειάζεται να υπάρχει, αφού όλοι συνειδητοποιούν την αξία της ελευθερίας και υποχωρούν όπου πρέπει οικιοθελώς. Δυστυχώς η αναρχία, αν +τελικά επικρατήσει, στον κυβερνοχώρο, θα εκφράζεται ως η απουσία οποιασδήποτε αρχής θα μπορούσε να ελέγξει ποιος καταπιέζει ποιον. + +Στις σύγχρονες δημοκρατίες (εντός ή εκτός εισαγωγικών) οι αρχές και οι νόμοι θέτουν τα όρια και τις δικλείδες ώστε να μην παραβιάζονται οι αρχές της δημοκρατίας +και της ισότητας. Αυτό μπορεί να ακούγεται εξίσου ουτοπικό με την ιδανική αναρχία, αλλά έστω και αν η πραγματικότητα απέχει στις περισσότερες των περιπτώσεων, +τουλάχιστον είναι καλύτερα απ\' ότι παλιότερα. Δεν μπορούμε να δούμε ότι από τον κυβερνοχώρο λείπουν όλες αυτές οι προστασίες -μερικοί τις λένε +\"περιορισμούς\"- και όλο αυτό γιατί οι άνθρωποι θεωρούν δεδομένο ότι τα δικαιώματά τους είναι ασφαλή και δεν επηρρεάζονται. + +Αντιθέτως, αυτοί οι \"περιορισμοί\" που τραβούν τη διαχωριστική γραμμή εκεί που τελειώνει η ελευθερία του ενός και αρχίζει η ελευθερία του άλλου, δεν είναι +ενεργοί στον κυβερνοχώρο. Το γεγονός αυτό επιτρέπει την καταπάτηση της ιδιωτικής ζωής, η οποία θεωρείται απόρθητη στον πραγματικό κόσμο. Δεν φαινόμαστε να +συνειδητοποιούμε ότι εμείς, τα γούστα μας, τα ενδιαφέροντά μας, οι σκέψεις μας εμπορευματοποιούνται και πωλούνται από τον ένα διαφημιστή στον άλλο, και το +χειρότερο, αυτό γίνεται \"ελεύθερα\". Στον \"έξω\" κόσμο, η παραβίαση του απορρήτου της αλληλογραφίας είναι ακατανόητη, και θα προκαλούσε σκάνδαλο, αν και οι +περισσότερες εταιρίες που έχουν δίκτυα, αλλά και οι ISP και mail-providers γενικότερα, ψάχνουν στην ηλεκτρονική αλληλογραφία των πελατών τους, για να +\"προστατέψουν\" τα συστήματά τους. + +\"Και τι σχέση έχει το Linux;\" θα ρωτούσε κανεις. Μπορεί να μη φαίνεται με την πρώτη, αλλά η σχέση είναι μεγάλη, και όχι μόνο για το Linux, αλλά για τη +φιλοσοφία OpenSource γενικότερα. Η σχέση βασίζεται στην σημασία του λογισμικού για τον κυβερνοχώρο. Το λογισμικό είναι ουσιαστικά αυτό που καθιστά τον +κυβερνοχώρο αυτό που είναι. Κανείς δεν σκέφτεται τον κυβερνοχώρο ως τα καλώδια και τα κομμάτια πυρίτιο που αποτελούν το υλικό. Επιπλέον, το υλικό δεν είναι καν +ελεύθερο, αφού πολύ μικρό ποσοστό των γραμμών που υλοποιούν τις συνδέσεις είναι δημόσιο. Και όμως το Internet δεν είναι ιδιωτικό. Αυτό συμβαίνει γιατί ο +κυβερνοχώρος έγκειται στο χώρο του ιδεατού, είναι δηλαδή ως ιδέα πολύ πιο κοντά στο λογισμικό. Ο έλεγχος δηλαδή της βιομηχανίας του λογισμικού συνεπάγεται +έλεγχο σε ένα μεγάλο βαθμό και του κυβερνοχώρου. Δεν είναι δυνατόν να μιλάμε για δημοκρατία, ισότητα και ελευθερία, όταν ο έλεγχος αυτός δεν γίνεται από μια +πλειοψηφία τουλάχιστον, και στην καλύτερη περίπτωση από όλους. + +Σήμερα, η συντριπτική πλειοψηφία των χρηστών δεν έχουν τη δυνατότητα του παραμικρού ελέγχου και κριτικής πάνω στο λογισμικό που χρησιμοποιούν. Οι ιδέες, γιατί η +έννοια του λογισμικού είναι κοντά σ\' αυτό που λέμε ιδέα, έχουν γίνει ιδιοκτησία, και το να μάθει κάποιος την ιδιοκτησία του άλλου είναι έγκλημα. Αλήθεια, τι +άλλο θα μπορούσε να ονομαστεί \"έγκλημα σκέψης\"; + +Το Linux και η όλη φιλοσοφία που εισάγεται με το Open Source Software, είναι ουσιαστικά μια μεταβίβαση της δυνατότητας ελέγχου του λογισμικού, από αυτούς που το +γράφουν, σε όλους. Είναι δηλαδή η βασική προϋπόθεση για τον \"εκδημοκρατισμό\" του κυβερνοχώρου, και μια ελπίδα ώστε να μην καταλήξουμε σε μια ασύδοτη +\"αναρχία\", αλλά σε μια καλύτερη έκδοση της υπάρχουσας κοινωνίας. Ο καθένας μπορεί να ελέγξει τον κώδικα, να καταλάβει τις σκέψεις του άλλου, να τις βελτιώσει. +Και βέβαια αυτό δεν είναι κλοπή, αλλά αναγνώριση της αξίας του δημιουργού. Το Linux εισάγει στον κυβερνοχώρο το αυτονόητο: τη δυνατότητα όλων να κρίνουν, να +ελέγχουν και να προστατεύουν τους εαυτούς τους, αλλά και τη δυνατότητα του κάθε δημιουργού να εισπράξει την αναγνώριση για το έργο του. Αυτός είναι ένας άλλος +μεγάλος τομέας προόδου, αφού μέχρι τώρα, την \"ιδιοκτησία\" του λογισμικού δεν την είχαν αυτοί που το δημιουργούσαν αλλά δικηγόροι και managers. (Αλήθεια, ο +Gates προγραμμάτισε τα Windows;) + +Ας ελπίσουμε ότι κάποια στιγμή οι άνθρωποι θα συνειδητοποιήσουν ότι τα δικαιώματά τους στον κυβερνοχώρο είναι ακριβώς όσο πολύτιμα όσο και στον υλικό κόσμο, και +ότι η ελευθερία πρέπει να προστατευθεί για τους αδύνατους. Ας μη μιλάμε μόνο για ελευθερία στον κυβερνοχώρο, ενάντια σε κάθε νόμο και έλεγχο, μόνο γιατί +νιώθουμε ότι περιοριζόμαστε από το να \"εξαπλώσουμε\" την ελευθερία μας ενάντια σ\'αυτή κάποιου άλλου. Μπορεί όλοι να νιώθουμε δυνατοί, αλλά πάντα υπάρχει ο πιο +δυνατός, και αν τους κανόνες του παιχνιδού δεν τους θέτουν αυτοί που θα έπρεπε, θα τους θέσουν αυτοί που δεν πρέπει. diff --git a/content/articles/22/05_fvwm2.md b/content/articles/22/05_fvwm2.md new file mode 100644 index 0000000..58d8107 --- /dev/null +++ b/content/articles/22/05_fvwm2.md @@ -0,0 +1,449 @@ ++++ +title = 'Πώς να κάνετε τον FVWM2 πιο Στυλάτο' +date = '2000-01-01T00:00:00Z' +description = '' +author = 'The Reverant(mailto:reverant@x-treme.gr)' +issue = ['Magaz 22'] +issue_weight = 5 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Ο FVWM2 είναι ένας Window Manager (WM) που λόγω ηλικίας είναι πλέον αρκετά \"ώριμος\" και σταθερός. Δυστυχώς όμως, είναι περισσότερο \"ώριμος\" από όσο θα +έπρεπε όσον αφορά την εμφάνισή του, και είναι αναμφισβήτητο γεγονός το ότι η λειτουργικότητά του χρήζει παραιτέρω βελτίωσης.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αυτός είναι και ο σκοπός αυτού του άρθρου. Πρωτίστως να βελτιώσει το εντελώς ανιαρό και συντηρητικό standard look του FVWM2, και να βελτιώσει στα σημεία τη +λειτουργικότητά του. Αρχίζουμε λοιπόν\... :-) + +ΣΗΜΕΙΩΣΗ: Αυτό το άρθρο προϋποθέτει κάποια εξοικείωση με τον FVWM2. Αν αυτή δεν υπάρχει, προτείνεται η χρήση του μέχρι κάποιου σημείου εξοικείωσης, καθώς και η +ανάγνωση της man σελίδας (man fvwm2 μόνο για όποιον έχει πραγματικά **ΓΑΙΔΟΥΡΙΝΗ** υπομονή. Ο υπογράφων μερικές φορές δεν φάνηκε αρκετά \"ζώον\" και η υπομονή +του δοκιμάστηκε πέραν ανθρωπίνων ορίων :-) ) + +Πρώτο βήμα είναι να βρούμε το config αρχείο του FVWM2. Αυτό είναι το .fvwm2rc το οποίο αναζητείται στο home directory του χρήστη. Εαν δεν βρεθεί εκεί, τότε +χρησιμοποιείται το system-wide που συνήθως βόσκει στο λιβάδι /usr/X11R6/lib/X11/fvwm2/.fvwm2rc. Δεν προτείνεται να πειράξετε το system-wide αρχείο, αντιθέτως, +πειράξτε το αντίστοιχο ενός απλού χρήστη. Και φυσικά, πριν κάνετε οποιαδήποτε παρέμβαση, κάντε ένα **τριπλό** backup του αρχείου αυτού, για κάθε ενδεχόμενο. + +Κατόπιν, ανοίγουμε το αρχείο .fvwm2rc με έναν editor και αρχίζουμε: + +1. Window buttons - Μπορούμε να ορίσουμε την εμφάνιση των window control buttons. Τα standard κρίνονται ικανοποιητικά, οπότε αφήνονται ως εχουν. + +2. General Configuration - Διάφορες γενικοί παράμετροι του FVWM2. Αυτό που θα πειραχθεί από εδώ είναι το DeskTopSize. Αυτή η παράμετρος ορίζει πόσα virtual + desktops θα εμφανίζονται στον pager. Η default τιμη 3x2 μέχρι τώρα δεν μου έχει χρησιμεύσει προσωπικά. Τουναντίον μάλιστα :-). Για αυτό και βάζουμε τιμή + 2x2: + + DeskTopSize 2x2 + +3. Colors and fonts - Μπορούμε να ορίσουμε τα χρώματα των selected windows και των διαφόρων menu. Με τη δήλωση: + + HilightColors TextColor BackColor + + το selected window θα έχει ως font color το \"TextColor\" και ως background color το \"backColor\". Αυτά τα χρώματα μπορεί να είναι οποιαδήποτε χρώματα που + αναφέρονται στο αρχείο: /usr/X11R6/lib/X11/rgb.txt\ + Για τα sticky παράθυρα: + + StickyColors TextColor BackColor + + Για τα ανενεργά παράθυρα, καθώς και για συγκεκριμένα παράθυρα, θα χρησιμοποιήσουμε τη Style δήλωση, της οποίας η χρήση αναλύεται αργότερα. Κατόπιν, για το + χρώμα & το font των menus: + + Menustyle TextColor BackColor OtherColor -misc-fixed-medium-r-normal-*-15-*-75-75-c-90-iso8859-1 fvwm + + Το \"OtherColor\" δεν έχει διαπιστωθεί που χρησιμεύει (κανείς;). Κατόπιν, η standard δήλωση του font που θέλουμε. + +4. Functions για Initialization, Restart & Exit.\ + Functions είναι δηλώσεις που εκτελούνται κατόπιν κάποιας πράξης του χρήστη, π.χ. πατάει ένα button στο FvwmButtons, ή κάνει κλικ στο desktop, κ.τ.λ. Αυτές + εκτελούνται κατόπιν αναλόγου σήματος του WM. Για initialization (οι παρακάτω δηλώσεις θα εκτελούνται όταν ο FVWM2 γίνεται initialized):\ + Δήλωση της function \"InitFunction\": + + AddToFunc InitFunction + + Και μετά έχουμε: + + - Το module \"FvwmBanner\" δεν χρησιμεύει πουθενά, οπότε κερδίζει ένα comment-out σύμβολο (\#) με την αξία του! :-) + + #+ "I" Module Fvwmbanner + + - Τα xmessages προτιμώ προσωπικά να εμφανίζονται σε ενα xterm με background χρώμα το μαύρο και text χρώμα το πράσινο (Old-schoοl terminal), με τίτλο + \"Xmessages\", και ένα συγκεκριμένο geometry (δηλαδή μέγεθος και σημείο τοποθέτησης του παραθύρου πάνω στο desktop) που βολεύει. Αυτό γίνεται με την + εξής δήλωση: + + + "I" Exec xterm -geometry 83x10+0+1120 -bg black -fg green -T "XMessages" -e tail -f /root/.X.err + + Η original δήλωση αφαιρείται όπως έχει. + + - Το default xterm που εμφανίζεται με το initialization του fvwm2 έχει χάλια χρώματα, οπότε: + + + "I" Exec xterm -geometry +0+88 -bg black -fg green + + - Ένα όμορφο background πάντα βοηθάει την κατάσταση :-) + + + "I" Exec xpmroot /root/pics/skull.xpm + + ΣΗΜΕΙΩΣΗ: Για όποιον ενδιαφέρεται, οι εικόνες και τα εικονίδια που χρησιμοποιώ, θα είναι διαθέσιμα από 5-6 Ιανουαρίου στο: + . Τα κάνετε extract με: + + $: tar zxfv linux-icons.tar.gz + + και ύστερα τα αντιγράφετε στο: /usr/X11R6/include/X11/pixmaps + + - Με ενδιαφέρει επίσης να μπορώ να βλέπω τα διάφορα log messages χωρίς να αλλάζω consoles συνεχώς, οπότε: + + + "I" Exec xterm -ls -geometry 100x10+513+1120 -T "Messages" -bg black -fg green -e tail -f /var/log/messages + + - Μια **ΜΕΓΑΛΗ** έλλειψη του FVWM2 όπως έρχεται το config του, είναι ένα είδος taskbar, η οποία να δείχνει ποια παράθυρα υπάρχουν, και να βοηθάει στην + μεταξύ τους εναλλαγή. Αυτό το πρόβλημα λύνεται με τη χρήση του module \"FvwmTaskBar\": + + + "I" Module FvwmTaskBar + + Για Restart (Οι παρακάτω δηλώσεις θα εκτελούνται όταν κάνουμε restart τον FVWM2). Τα βήματα 2, 4 και 5 επαναλαμβάνονται σε αυτήν τη δήλωση: + + AddToFunc RestartFunction + + "I" Exec xterm -geometry 83x10+0+1120 -bg black -fg green -T "XMessages" -e tail -f /root/.X.err + + "I" Exec xpmroot /root/pics/skull.xpm + + "I" Exec xterm -ls -geometry 100x10+513+1120 -T "Messages" -bg black -fg green -e tail -f /var/log/messages + + Εννοείται ότι οι original δηλώσεις για xmessages, xpmroot αφήνουν το μάταιο τούτο config file :-)\ + Η Exit function αφήνεται όπως έχει. + +5. Functions - Το ψωμί της υπόθεσης, ή αλλιώς, \"όλα τα λεφτά!\". Εδώ δηλώνουμε τις functions, κοινώς δηλαδή τι γίνεται όταν λαμβάνει χώρα κάποιο γεγονός + (μπερδευτήκατε;), π.χ. κάνουμε κλικ σε ενα button του FvwmButtons. Μια function, προκειμένου να δηλώσουμε την εμφάνιση ενός menu με επιλογές, έχει την εξής + μορφή: + + AddToMenu OnomaTisFunctionPopUp "Onoma Tis Function" Title + ...Εδώ μέσα δηλώσεις για το τι περιλαμβάνει η function... + # end popup OnomaTisFunction + + Εξηγήσεις:\ + Με την λέξη \"AddToMenu\" δηλώνουμε μια function η οποία θα κάνει PopUp μια λίστα με εντολές. Μετά δηλώνεται το όνομα της function. Στην περίπτωσή μας, αυτό + είναι \"OnomaTisFunctionPopUp\". Δηλαδή, όποτε θέλουμε να αναφερθούμε στη function αυτή, θα χρησιμοποιούμε το όνομα αυτό. Προσοχή, το όνομα της function δεν + μπορεί να έχει κενά ανάμεσα στα γράμματα, ούτε κάποιους ειδικούς χαρακτήρες.\ + ΣΗΜΕΙΩΣΗ: Στην πραγματικότητα, με τη δήλωση \"AddToMenu\" δεν δηλώνουμε μια function, αλλά ένα menu, που είναι κατά κάποιο τρόπο μια function, απλά το μόνο + που μπορεί να κάνει είναι να εμφανίζει μια λίστα. Για λόγους απλούστευσης όμως, θα θεωρούμε και τα menus ως functions. Κατόπιν, δηλώνεται το όνομα που + θέλουμε να εμφανίζεται στην ανώτερη θέση της λίστας, δηλαδή ένα όνομα που περιγράφει τι εντολές περιέχονται στη λίστα, και μετά την ειδική λέξη \"Title\". + Ένα παράδειγμα είναι π.χ. \"Shells\", ή \"My Programs\". Εδώ επιτρέπονται και κενά, και ειδικοί χαρακτήρες (Για περισσότερες πληροφορίες, κοιτάξτε το manual + page του fvwm2). Εάν κάποιος δεν θέλει να εμφανίζεται καθόλου τίτλος, απλά δεν γράφει έναν και ΔΕΝ βάζει την λέξη Title μετά το όνομα της Function.\ + \... Μετά οι δηλώσεις για τα περιεχόμενα της λίστας (εξηγούνται παρακάτω, υπομονή παρακαλώ :ο) )\...\ + Τέλος, **εάν** θέλει κανείς μπορεί για λόγους ευκολίας ανάγνωσης και μόνο να βάλει ένα comment-out και μετά να δηλώσει \"end popup onomatisfunction\". Αυτό + είτε το βάλει κανείς είτε δεν το βάλει, ένα και το αυτό. Απλά, για να είναι ξεκάθαρο που τελειώνει η δήλωση της function καλό θα ήταν να το δηλώνετε.\ + Και τώρα οι δηλώσεις για το τι θα περιλαμβάνει η PopUp λίστα που θα εμφανίζεται. Γενικά, μια δήλωση έχει ως εξής: + + + "Onoma entolis%onomaicon.xpm" Kanekati + + Όπου: + + - Onoma entolis είναι το όνομα της εντολής που θα εμφανίζεται σε μία PopUp λίστα, π.χ. StarOffice, ή BitchX. Προσοχή στο ότι αυτό το όνομα δεν είναι η + \"πραγματική\" εντολή που θα εκτελεστεί από τον WM. Είναι απλά ένα όνομα, ένα \"alias\". Κατόπιν, τοποθετούμε το σύμβολο \"%\" για να διαχωρίσουμε το + alias από το filename του icon που θέλουμε να χρησιμοποιήσουμε για το alias αυτό, και ταυτόχρονα να δηλώσουμε ότι το icon θέλουμε να εμφανιστεί δίπλα + στο alias (χρησιμοποιώντας το σύμβολο \"\$\" αντί του \"%\" δηλώνουμε ότι θέλουμε το icon να εμφανιστεί πάνω από το alias). Προσοχή στο ότι η συνένωση + αυτών των δύο δηλώσεων πρέπει να είναι μέσα σε εισαγωγικά (double quotes: \"). + + - Ακολουθεί η εντολή που θέλουμε να πραγματοποιηθεί. Αυτή μπορεί να είναι είτε μια κανονική εντολή που θα εκτελοέσαμε εμείς στο shell, είτε μια εντολή + προς τον WM να εμφανίσει μια άλλη PopUp λίστα. Για να εκτελέσει ο WM ένα πρόγραμμα, δηλώνουμε: + + + "Onoma entolis%onomaicon.xpm" Exec enaprogramma + + π.χ., για να εκτελέσουμε ένα bash shell, δηλώνουμε: + + + "Bash shell%bash.xpm" Exec bash + + Άλλο παράδειγμα, για το XISP: + + + "XISP%xisp.xpm" Exec xisp + + Αν θέλουμε, μπορεί αντί να εκτελεστεί μια εντολή, να εμφανιστεί μια άλλη PopUp λίστα. Για να το κάνουμε αυτό, δηλώνουμε: + + + "List of programs%programs.xpm" PopUp ProgramsPopUp + + όπου ProgramsPopUp μια function με το όνομα αυτό.\ + Γνωρίζοντας τα παραπάνω ας αρχίσουμε λοιπόν να γράφουμε/τροποποιούμε τις functions που θα χρειαστούμε, αφού σκεφτούμε πρώτα τι χρειαζόμαστε από ένα WM. + Χρειαζόμαστε λοιπόν: + + 1. Μια function για να χειριζόμαστε διάφορες παραμέτρους του WM (modules, exit/restart, start another WM), βοήθεια για τον WM και τα modules του, καθώς και + για reboot/halt του συστήματος. + 2. Μια function για ανεύρεση αρχείων. + 3. Μια function για βοήθεια + 4. Μια function για να ξεκινάμε ένα shell (Το γιατί πρέπει να είναι ξεχωριστή αυτή η function από τις άλλες είναι θέμα εργονομίας: Ένα shell συνήθως + εκτελείται αρκετές φορές παραπάνω από οποιοδήποτε άλλο πρόγραμμα.) + 5. Μια function για γενικό configuration του συστήματος + 6. Μια function για να τρέχουμε κάποια συχνά χρησιμοποιούμενα προγράμματα μας. + 7. Μια function για άμεση πρόσβαση σε δισκους, CD-ROM, Floppy, κ.τ.λ. + + Για την πρώτη function, θα χρησιμοποιήσουμε μια υπάρχουσα. Αυτή είναι η thiswmpopup: + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ############################################################################### + # + # thiswmpopup + # + ############################################################################### + + AddToMenu thiswmpopup "Fvwm2" Title + + + "Other window managers%small.icon_warning_3d.xpm%" Popup otherwmpopup + + "Fvwm2 Modules%small.install_3d.xpm%" Popup modulepopup + + "Configuration%small.checklist2_3d.xpm%" Popup susewmpopup + + "Fvwm2 Man Pages%small.xman3d.xpm%" Popup wmmanpopup + + "" Nop + + "Restart Fvwm2%small.restart_suse_3d.xpm%" Restart fvwm2 + + "Exit Fvwm2 and X%small.exit.xpm%" Function QuitSave + + # end popup thiswmpopup + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + στην οποία θα προσθέσουμε τις εξής 2 γραμμές: + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + + "Reboot System" Exec Reboot + + "Halt System" Exec Halt + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + για να κάνουμε reboot & halt αντίστοιχα όλο το σύστημα. + + Δεύτερη function είναι η function που μας βοηθά στο να βρούμε κάποιο αρχείο γρήγορα, χωρις να θυμόμαστε πολύπλοκες συντάξεις εντολών, π.χ. της find: + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ############################################################ + # + # findpopup + # + ############################################################ + + AddToMenu findpopup "Find" Title + + "Find a file*find.xpm*" Exec xterm -bg black -fg green -e findfile + + # end popup findpopup + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + To findfile είναι ένα shell script που έχει γραφεί με σκοπό τον προαναφερθέντα, και είναι το εξής: + + echo "Filename?" + read filename + echo "Search where?" + read pathname + find $pathname -name $filename + echo "Done, press enter to exit" + read anykey + exit + + Η τρίτη function είναι η function που θα μας εμφανίζει τα σχετικά με help, documentation, κ.τ.λ. Συγκεκριμένα, θα τρέχει το xman για να διαβάσουμε κάποια + man page, μας ανοίγει τον xfilemanager στο /usr/doc/howto/en/ ή στο /usr/doc/howto/el/ : + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ############################################################ + # + # helpmepopup + # + ############################################################ + + AddToMenu helpmepopup "Help" Title + + "Manual Pages%small.xman3d.xpm%" Exec xman + + "Greek HOWTO's%help1.xpm%" Exec xfilemanager -rootDir /usr/doc/howto/el -singleWindow + + "English HOWTO's%help1.xpm%" Exec xfilemanager -rootDir /usr/doc/howto/en -singleWindow + + # end popup findpopup + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Με την τέταρτη function θα εμφανίζεται ένα xterm, στοιχείο πολύ βασικό στο Πραγματικό Λειτουργικό :-) + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ############################################################ + # + # runmepopup + # + ############################################################ + + AddToMenu runpopup "Shells" Title + + "Old-school Xterm%small.greenterm.xpm%" Exec xterm -bg black -fg green + + # end popup findpopup + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Με την πέμπτη function θα εμφανίζεται μια λίστα με διάφορες επιλογές για configuration, π.χ. για kernel configuration, εκτέλεση του yast (Για S.u.S.E. + μόνο!), καθώς και για configuration των Χ: + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ############################################################ + # + # mesettingspopup + # + ############################################################ + + AddToMenu mesettingspopup "Settings" Title + + "Yast%small.yast_suse_3d.xpm%" Exec xterm -bg balck -fg green -e yast + + "Kernel Configuration" Exec xterm -bg black -fg green -e mkmc + + "X configuration" Exec xterm -bg black -fg green -e Xconfig + + # end popup mesettingspopup + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Με την έκτη function θα εμφανίζεται μία λίστα με διάφορα προγράμματα που θα χρησιμοποιούνται συχνά - για αυτό και η ανάγκη για μια δικιά τους function. + Κόφτε και ράφτε κατά τα μέτρα σας :-) : + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ############################################################ + # + # meprogramspopup + # + ############################################################ + + AddToMenu meprogramspopup "Programs" Title + + "Netscape%netscape1.xpm%" Exec netscape + + "X11Amp%x11amp.xpm%" Exec x11amp + + "The Gimp%gimp.xpm%" Exec gimp + + "GRio%grio.xpm%" Exec grio + + "KEdit%kedit.xpm%" Exec kedit + + "Bitchx%bitchx.xpm%" Exec bitchx + + "Kmix%kmix.xpm%" Exec kmix + + "XIsp%xisp.xpm%" Exec xisp -nohints + + "Acrobat Reader%acrobat.xpm" Exec xpdf + + # end popup findpopup + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Τέλος, η function για πρόσβαση στα διάφορα drives: + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ############################################################ + # + # medrivespopup + # + ############################################################ + + AddToMenu medrivespopup "Drive I/O" Title + + "Root filesystem%hdd.xpm" Exec xfilemanager -rootDir / -singleWindow + + "CD-ROM%cdrom.xpm" Exec xfilemanager -rootDir /cdrom -singleWindow + + "Floppy%floppy.xpm" Exec xfilemanager -rootDir /floppy -singleWindow + + # end popup medrivespopup + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Σημείωση: Αν χρησιμοποίησετε τις functions αυτές, θα παρατηρήσετε ότι πρέπει να κρατάτε πατημένο το πλήκτρο του πόντικα σας ή του πληκτρολογίου σας για να + παραμείνει η λίστα στην οθόνη. Για να το αποφύγετε αυτό, κάντε το εξής: Γράφτε μια function σαν την παρακάτω, για κάθε function που θέλετε να συμβαίνει + αυτό, και στη συνέχεια αντί να καλείτε την πρωτότυπη, καλέστε την καινούργια. Π.χ., για την medrivespopup, γράφουμε την εξής function: + + AddToFunc medrivespopupfunc + + "I" Popup medrivespopup + # end function medrivespopupfunc + +6. Η δήλωση \"Style\" - Με αυτήν μπορούμε να δηλώσουμε συγκεκριμένες ιδιότητες που θα έχει κάποιο ή όλα τα παράθυρα. Αυτή η δήλωση δεν γίνεται μόνο μια φορά + αλλά πολλές - τόσες ώστε να αποδώσουμε όλες τις επιθυμητές ιδιότητες στα παράθυρά μας. Μια δήλωση style έχει ως εξής: + + style "titleparathirou" idiotita1, idiotita2, idiotia3, κ.τ.λ. + + όπου titleparathirou ο τίτλος του παραθύρου στο οποίο θέλουμε να δώσουμε τις ιδιότητες idiotita1, idiotita2, idiotita3, κ.τ.λ. Αν αυτές τις ιδιότητες + θέλουμε να τις αποδώσουμε σε όλα τα παράθυρα, τότε δηλώνουμε: + + style "*" idiotita1, idiotita2, idiotia3, κ.τ.λ. + + Άν ακόμα έχουμε ένα παράθυρο του οποίου ο τίτλος δεν είναι απολύτως σταθερός, όπως π.χ. το xosview, του οποίου ο τίτλος εξαρτάται από το όνομα του + μηχανήματος (Hostname), τότε μπορούμε να δηλώσουμε: + + style "katistathero*" idiotita1, idiotita2, idiotia3, κ.τ.λ. + + όπου katistathero είναι το μέρος του τίτλου τού παραθύρου που μένει σταθερό. Ας αρχίσουμε λοιπόν τις style δηλώσεις που μας ενδιαφέρουν: + + - Το module FvwmTaskbar είναι μια Taskbar η οποία έχει κουμπιά με τα προγράμματα που τρέχουν. Επειδή είναι αρκετά χαζό να συμπεριλαμβάνεται ο εαυτός της, + θα της δώσουμε την ιδιότητα WindowListSkip, η οποία εξαιρεί την εμφάνιση του προγράμματος στο οποίο αποδίδουμε την ιδιότητα, στην Taskbar. Ακόμα, δεν + θέλουμε η Taskbar να έχει τίτλο και \"decorations\", για αυτό της δίνουμε την ιδιότητα NoTitle. Ακόμα, θέλουμε να είναι συνεχώς ορατό, οπότε του δίνουμε + την ιδιότητα StaysOnTop. Έτσι έχουμε: + + Style "FvwmWinList" NoTitle, WindowListSkip, StaysOnTop + + - Το εικονίδιο του xterm είναι **επειικώς** απαράδεκτο, οπότε: + + Style *xterm* Icon greenterm.xpm + + Με τη δήλωση αυτή, δηλώνουμε ότι θέλουμε όταν το xterm γίνεται iconified, το εικονίδιό του να είναι το greenterm.xpm + + - Εμένα μου αρέσουν αυτά τα χρώματα στα inactive παράθυρά μου: + + Style "*" BackColor Purple4 + Style "*" ForeColor Red + + BackColor to background χρώμα του παραθύρου, ForeColor το χρώμα των γραμμάτων του τίτλου του παραθύρου. Αν δεν σας αρέσουν, ξέρετε τι να κάνετε :-P + +7. FvwmButtons - Το FvwmButtons είναι ένα Module του FVWM, το οποίο είναι ουσιαστικά μια μπάρα με κουμπιά, και εμείς διαλέγουμε πόσα κουμπιά θα έχει, τι θα + κάνει το καθένα, κ.τ.λ. Αρχίζουμε με τα χρώματα, τών οποιων η δήλωση είναι αρκετά απλή: + + *FvwmButtonsFore Green + *FvwmButtonsBack Purple4 + + και ύστερα η θέση του στο desktop, η οποία είναι ελαφρώς μετατοπισμένη προς τα κάτω, γιατί επάνω από το FvwmButtons θα τοποθετηθεί η TaskBar: + + *FvwmButtonsGeometry +0+31 + + Άν θέλετε, μπορείτε όπως εγώ να βγάλετε τις δηλώσεις των xclock, xeyes, και asclock, γιατί καταλαμβάνουν πολύτιμο χώρο. Εξ άλλου, η Taskbar διαθέτει ρολόι + στο δεξί άκρο της. Έχουμε λοιπόν: + + #*FvwmButtons - - Swallow "FvwmXeyes" Exec xeyes -name "FvwmXeyes" -geometry +0+0 -bg grey67 & + #*FvwmButtons - - Swallow "FvwmXclock" Exec xclock -name "FvwmXclock" -geometry +0+0 -padding 1 -bg grey67 & + #*FvwmButtons - - Swallow "asclock" Exec asclock -position +0+0 -shape -led green & + + Για το αν το coolmail αξίζει το χώρο που πιάνει, εγώ προσωπικά νομίζω πως όχι, οπότε\... Αν βέβαια εσείς θέλετε να το έχετε, ε, τι να κάνουμε\... :-) Και + τώρα οι ζουμερές δηλώσεις ;-) + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + *FvwmButtons "" shutdown.xpm Function barthiswmpopupfunc + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Με την παραπάνω δηλώνουμε ότι θέλουμε να προσθέσουμε ένα button στο FvwmButtons, το οποίο δεν έχει καθόλου κείμενο πάνω του (Τα εισαγωγικά είναι κενά. Ο + λόγος είναι ότι στη συγκεκριμένη περίπτωση, το εικονίδιο έχει πάνω του το περιγραφικό κείμενο, π.χ. \"I/O Access\", ή \"Help\".), ενώ όταν κάνουμε αριστερό + κλικ πάνω εκτελείται η function barthiswmpopupfunc, η οποία με τη σειρά της εμφανίζει και κρατάει σταθερό στην οθόνη το thiswmpopup menu.\ + Ομοίως λοιπόν για τις άλλες δηλώσεις: + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + *FvwmButtons "" cfind.xpm Function findpopupfunc + *FvwmButtons "" help.xpm Function helpmepopupfunc + *FvwmButtons "" run.xpm Function runpopupfunc + *FvwmButtons "" settings.xpm Function mesettingspopupfunc + *FvwmButtons "" programs.xpm Function meprogramspopupfunc + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Τα άλλα buttons (SuSE, Graphics, Tools, Shells) μας αποχαιρέτησαν (\#). + +8. FvwmTaskBar - Όπως αναφέρθηκε και προηγουμένως, η TaskBar είναι μια μπάρα, πάνω στην οποία υπάρχουν buttons τα οποία χρησιμοποιεί κανείς για να κάνει + iconify/maximise ένα πρόγραμμα. Εκτός αυτών, η Taskbar έχει και ένα button στο οποίο μπορούμε να αναθέσουμε κάποια function ή menu, παρόμοιο με το \"Start\" + button ακατανόμαστου αλειτούργητου συστήματος που άρχισε να κυκλοφορεί το 1995 ;-) Οι δηλώσεις που έχω εγώ για την TaskBar είναι: + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ############################################################################### + # # + # Task Bar # + # # + ############################################################################### + *FvwmTaskBarGeometry +0+0 + *FvwmTaskBarFore Green + *FvwmTaskBarBack Purple4 + *FvwmTaskBarUseSkipList + *FvwmTaskBarShowTips + *FvwmTaskBarStartName Main() + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Επεξηγήσεις: Οι τρεις πρώτες δηλώσεις είναι αρκετά απλές. Η τέταρτη (\*FvwmTaskBarUseSkipList) δίνει εντολή στην TaskBar να \"δίνει σημασία\" στην ιδιότητα + WinListSkip ενός παραθύρου. Αν αυτή η δήλωση παραλειφθεί, παράθυρα στα οποία έχει δωθεί η ιδιότητα WinListSkip θα φαίνονται κανονικά και με το Νόμο στην + TaskBar. + +Φυσικά δεν είναι αναγκαστικό να κάνετε ότι έκανα και εγώ. Πειραματιστείτε, ψάξτε, και όλο και κάτι πιο καλό θα βρείτε. diff --git a/content/articles/23/01_editorial.md b/content/articles/23/01_editorial.md new file mode 100644 index 0000000..f7a1f23 --- /dev/null +++ b/content/articles/23/01_editorial.md @@ -0,0 +1,30 @@ ++++ +title = 'Editorial' +date = '2000-04-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης(mailto:kabrianis@hellug.gr)' +issue = ['Magaz 23'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Καλώς ορίσατε στο **Magaz**\...* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Τεύχος προεκλογικό (ψηφίστε μας :-) αυτό, λόγω ημερομηνίας βέβαια και όχι λόγω ύλης. Για να πω την αλήθεια, εγω θα ψήφιζα ΔΑΓΚΩΤΟ αυτόν που θα μου έλεγε ότι θα +ακολουθούσε το παράδειγμα του Μεξικού, να γεμίσει τα σχολεία ΜΟΝΟ με Linux και να σταθεί σαν επίσημο κράτος πίσω από το Linux. Αλλά τέλος πάντων, αυτό δεν είναι +επί του παρόντος. + +Όπως είπαμε στο τεύχος 20, προσπαθούμε να επικεντρωθούμε σε τεχνικά θέματα, λίγο πιο advanced από το \"Πως βάζω ελληνικά στο Linux\" όχι επειδή το δεύτερο δεν +μας απασχολεί, αλλά επειδή έχει απαντηθεί και αναλυθεί τόσες πολλές φορές που πλέον καταντάει γελοίο. Βέβαια, το να αρχίσει το Magaz να έχει πιο advanced +θέματα, εξαρτάται αποκλειστικά και μόνο από τους αρθρογράφους του. Και αυτή τη φορά, οι αρθρογράφοι μας έκαναν τη χάρη να μας βοηθήσουν. + +Έχουμε λοιπόν, [μία παρουσίαση της xbasic](02_xbasic.html) από τον Κώστα Τσακάλογλου σε αυτό το τεύχος, μία πρώτη προσέγγιση στον [προγραμματισμό με +gawk](03_gawk1.html) από τον DJ-Art, μία ελαφριά και επιφανειακή προσέγγιση της [χρήσης του Perl DBI](04_perldbi.html) και τεχνικές οδηγίες για την [εγκατάσταση +του apache με SSL και jserv](05_apachejserv.html) από τον Κώστα Γεωργακόπουλο. + +Η [δημοσκόπηση αυτού του μήνα](http://magaz.hellug.gr/cgi-bin/poll23.cgi) καταπιάνεται με την αγαπημένη σας γλώσσα (αν προγραμματίζετε, ή αν θα προγραμματίζατε, +ποια θα προτιμούσατε να μάθετε). + +Καλή ανάγνωση\... diff --git a/content/articles/23/02_xbasic.md b/content/articles/23/02_xbasic.md new file mode 100644 index 0000000..7a18596 --- /dev/null +++ b/content/articles/23/02_xbasic.md @@ -0,0 +1,238 @@ ++++ +title = 'Xbasic' +date = '2000-04-01T00:00:00Z' +description = '' +author = 'Κώστας Τσακάλογλου(mailto:tsakf@hellug.gr)' +issue = ['Magaz 23'] +issue_weight = 2 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Μία γλώσσα προγραμματισμού Basic που έχει αρκετά στοιχεία C.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Κατά την τακτική επίσκεψη μου στους δικτυακούς χώρους πέρασα και από το site της [Sourceforge](http://Sourceforge.net). Στην προσπάθεια αναζήτησης εργαλείων +προγραμματισμού για το LINUX ζήτησα να δώ τι υπάρχει από Developement tools. Προσπαθώντας να δω τελικά με τι θα δουλέψω τώρα που έστησα και εγω επιτέλους το +Linuxάκι μου (SUSE 6.3) έπεσα επάνω σε ένα link που έγραφε Xbasic. Τι ωραία! Λές να υπάρχει κάτι ενδιαφέρον, αναρωτιέμαι.. Μια και γράφω σε Basic από την εποχή +του TRS-80 καλό θα ήταν να βρω κάτι που δεν θα μου αλλάξει και πολύ το στύλ μου. Ακολουθώντας τα διάφορα links πηγαίνω στην κατάλληλη σελίδα για να δω +τελοσπάντων τι πράγμα είναι αυτή η Xbasic. Επιλέγοντας να δω κάποια οθόνη από το πρόγραμμα βρέθηκα μπροστά στην παρακάτω εικόνα: + +![](/23/img/xbasic.gif) + +Αρκετά όμορφο περιβάλλον για να γράφει κανείς πρόγραμμα, για να δούμε όμως από ουσία τι λέει: + +Ετσι αποφάσισα να κατεβάσω το πρόγραμμα και να το εγκαταστήσω στο μηχάνημά μου. Σύμφωνα με τις οδηγίες εγκατάστασης, έπρεπε να κατεβάσω το αρχείο +*xblinux.tar.gz* στο μηχάνημά μου και μετά να πληκτρολογήσω τις παρακάτω εντολές: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + cd / + tar xfz xblinux.tar.gz + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αφού λοιπόν το κατέβασμα έγινε μια χαρά και το tar έκανε την δουλειά του, ξεκινάω τα X (KDE). Ανοίγω το Bash Terminal και γράφω: + + cd /usr/xb + xb + +Ωραία ξεκίνησε μια χαρά και ήρθε η ώρα να γράψω τις πρώτες μου εντολές. Μόλις δίνω την εντολή για το ξεκίνημα συγγραφής νέου προγράμματος να και άλλη μια +έκπληξη. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ' + ' + ' ###################### + ' ##### Entry () ##### + ' ###################### + ' + ' Programs contain: + ' 1. A PROLOG with type/function/constant declarations. + ' 2. This Entry() function where execution begins. + ' 3. Zero or more additional functions. + ' + FUNCTION Entry () + + END FUNCTION + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αυτό δεν θυμίζει λίγο στο ξεκίνημα για την C; + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + main() + { + + } + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Προσπαθώντας έτσι να ρίξω μια ματιά στην γλώσσα για να δω περίπου τι κάνει, πέφτω επάνω στους τύπους των μεταβλητών. Αρχίζω και βλέπω τύπους που δεν υπάρχουν +στην MS-BASIC ούτε καν στην VISUAL BASIC. Είδα διάφορα ωραία πράγματα και τα παραθέτω. Πρώτα από όλα να ξεκινήσω με τον κατάλογο των επιθεμάτων. + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + \ SBYTE 8-bit signed integer + `@` + + `@@` UBYTE 8 bit unsigned integer + + \% SSHORT 16 bit signed integer + + %% USHORT 16 bit unsigned integer + + & SLONG 32 bit signed long integer + + && ULONG 32 bit unsigned long integer + + \~ XLONG 32/64 bit signed machine integer + + \$\$ GIANT 64 bit signed giant (financial) integer + + ! SINGLE IEEE single precision floating point + + \# DOUBLE IEEE double precision floating point + + \$ STRING STRING of unsigned bytes + + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + +Από τον παραπάνω πίνακα, οι τύποι SBYTE ,UBYTE,USHORT,ULONG,XLONG και GIANT δεν υπάρχουν στην MS-BASIC και VISUAL BASIC. Οι Unsigned τύποι καθαρά είναι τύποι +που υποστηρίζει η C. Για τον τύπο XLONG νομίζω ότι είναι μια χαρά για εφαρμογές προγραμματισμού συστήματος (systems programming). + +Οι μεταβλητες όμως στην XBASIC μπορούν να έχουν και προθέματα που δείχνουν την χρήση των μεταβλητών στις διάφορες ρουτίνες και προγράμματα. Τα προθέματα που +μπορούν να χρησιμοποιηθούν στην XBASIC είναι: + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + \ SHARED Η μεταβλητή είναι διαθέσιμη σε όλες τις ρουτίνες + \# + + \#\# EXTERNAL Η μεταβλητή είναι διαθέσιμη και σε άλλα προγράμματα + + \$ LOCAL CONSTANT Η μεταβλητή έχει σταθερή τιμή για την τρέχουσα + ρουτίνα + + \$\$ SHARED CONSTANT Η μεταβλητή έχει σταθερή τιμή και είναι διαθέσιμη σε + όλες τις ρουτίνες + + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + +Θέλει προσοχή όταν ορίζουμε και χρησιμοποιούμε μεταβλητές στην XBASIC. Όπως και στο Linuxάκι μας τα κεφαλαία / πεζά είναι σημαντικά για την ονοματολογία των +αρχείων, έτσι και στην XBasic τα κεφαλαία / πεζά δίνουν διαφορετικά ονόματα μεταβλητών άρα και διαφορετικές τιμές. Για αυτή την γλώσσα τα ονόματα COUNT, Count +και count είναι διαφορετικές μεταβλητές. + +Σύμφωνα με προηγούμενα καταλαβαίνουμε ότι οι εντολές πρέπει να γράφονται αποκλειστικά με κεφαλαία γράμματα γιατί διαφορετικά η γλώσσα τις βλέπει σαν μεταβλητές. +Έτσι το: + + FOR I%=1 to 100 + +είναι σωστό, ενώ το: + + For I%=1 to 100 + +είναι λάθος γιατί η γλώσσα καταλαβαίνει ότι υπάρχει μια μεταβλητή For όπου δεν την κάνουμε τίποτα. + +Παρακάτω συνέχισα την ανάγνωση και έπεσα στους τελεστές συγκρίσεων. Εκεί πάλι είδα στοιχεία από την C να ξεφυτρώνουν όπως οι τελεστές: + + = ,<>,< ,<=,>=,> + +μπορούν να εκφραστούν και αντίστοιχα με + + ==,!=,!>=,!>,!<,!<= + +Επίσης αν ρίξουμε μια ματιά στον παρακάτω πίνακα θα δούμε τελεστές διευθύνσεων μνήμης (pointers) που τόσο αρέσουν στους προγραμματιστές της C και διάφορα άλλα +καλούδια όπως μετακινίσεις bit κλπ. + + ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- + \ ALT ΚIND CLASS OPERANDS RETURNS PREC COMMENTS + OP + + & unary 10 AnyType Address 12 Address of Object + Data + + && unary 10 AnyType Address 12 Address of Object + Handle + + ! unary 9 Numeric T/F 12 Logical Not (TRUE + if 0, else FALSE) + + !! unary 9 Numeric T/F 12 Logical Test (FALSE + if 0, else TRUE) + + NOT \~ unary 9 Integer SameType 12 Bitwise NOT + + \+ unary 8 Numeric SameType 12 Plus + + \- unary 8 Numeric SameType 12 Minus + + \>\>\> binary 7 Integer LeftType 11 Arithmetic Up Shift + + \<\<\< binary 7 Integer LeftType 11 Arithmetic Down + Shift + + \<\< binary 7 Integer LeftType 11 Bitwise Left Shift + + \>\> binary 7 Integer LeftType 11 Bitwise Right Shift + + \*\* binary 4 Numeric HighType 10 Power + + / binary 4 Numeric HighType 9 Divide + + \* binary 4 Numeric HighType 9 Multiply + + \\ binary 6 Numeric Integer 9 Integer Divide + + MOD binary 6 Numeric Integer 9 Modul. (Int.Remain) + + \+ binary 5 Numeric HighType 8 Add + + \+ binary 5 String String 8 Concatenate + + \- binary 4 Numeric HighType 8 Subtract + + AND & binary 3 Integer HighType 7 Bitwise AND + + XOR \^ binary 3 Integer HighType 6 Bitwise XOR + + OR \| binary 3 Integer HighType 6 Bitwise OR + + \> !\<= binary 2 NumStr T/F 5 Greater-Than + + \>= !\< binary 2 NumStr T/F 5 Greater-Or-Equal + + \<= !\> binary 2 NumStr T/F 5 Less-Or-Equal + + \< !\>= binary 2 NumStr T/F 5 Less-Than + + \<\> != binary 2 NumStr T/F 4 Not-Equal + + = == binary 2 NumStr T/F 4 Equal(also + \"!\<\>\") + + && binary 1 Integer T/F 3 Logical AND + + \^\^ binary 1 Integer T/F 2 Logical XOR + + \|\| binary 1 Integer T/F 2 Logical OR + + = binary NumStr RightType 1 Assignment + + T/F T/F always returned + as XLONG + + + ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- ------------------- + +Κάτι Address και bitwise shift έχουν κάποιο ενδιαφέρον για κάποιους που θέλουν να χρησιμοποιήσουν αυτές τις εντολές αλλά η μέχρι τώρα γνωστές Basic δεν τους +έδιναν αυτή την δυνατότητα. + +Από μια πρώτη ματιά νομίζω ότι κάποιος που ξέρει BASIC και έχει αποφασίσει να αρχίσει να γράφει προγράμματα για το LINUX καλό είναι να ρίξει μια ματιά σε αυτή +την γλώσσα που εκ πρώτης όψεως υπόσχεται πολλά. Εκτός από τις εντολές που δίνουν την δύναμη της C στον προγραμματιστή υπάρχει και παράθυρο εργαλείων για την +κατασκευή μιας φόρμας. Κουμπιά και όλα τα Widgets των X μάλλον υποστηρίζονται. Λέω μάλλον γιατί δεν έχω προλάβει να αρχίσω να κάνω κάτι με αυτή την γλώσσα. Απλά +όταν την είδα με μια πρώτη ματιά μου άρεσε τόσο που αποφάσισα να μοιραστώ τις εντυπώσεις που με άλλους προγραμματιστές γράφοντας αυτό το κείμενο και +παρουσιάζοντάς το στο Magaz. Τον άλλο μήνα που θα έχω κάνει κάτι θα γράψω και νεότερα. Εχω σκοπό να κρατάω σημειώσεις για κάθε τι που κάνω και να παρουσιάζω +κάθε τόσο από τη στήλη του Magaz κάθε τι καινούργιο όπως θα το μαθαίνω. Αυτά τα λίγα για τώρα και τα ξαναλέμε στο επόμενο Magaz. diff --git a/content/articles/23/03_gawk1.md b/content/articles/23/03_gawk1.md new file mode 100644 index 0000000..a57726c --- /dev/null +++ b/content/articles/23/03_gawk1.md @@ -0,0 +1,590 @@ ++++ +title = 'Προγραμματισμός με gawk μέρος 1ο' +date = '2000-04-01T00:00:00Z' +description = '' +author = 'DJ Art(mailto:djart@hellug.gr)' +issue = ['Magaz 23'] +issue_weight = 3 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το άρθρο αυτό έχει σκοπό να σας βοηθήσει στην εκμάθηση της γλώσσας προγραμματισμού awk. Μία \"εξειδικευμένη\" γλώσσα προγραμματισμού, ένα ιδιαίτερα δυνατό +εργαλείο στη διαχείρηση αρχείων κειμένου (text files), καθώς και δημιουργίας αναφορών, με το πλεονέκτημα ότι είναι και εύκολη στην εμάθηση και στην σύνταξη, +αλλά και ότι \"συγγενεύει\" με την C. Το πλήρες άρθρο αποτελείται από δύο μέρη, εδώ σας παρουσιάζεται το πρώτο, ενώ ετοιμάζεται και το 2ο :-)* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Εισαγωγή** +--------------------------------------- + +- [1.1 Ιστορικά](#ss1.1) +- [1.2 Εφαρμογές](#ss1.2) +- [1.3 Δυνατότητες](#ss1.3) + +**2. Τα πρώτα βήματα** +---------------------------------------------- + +- [2.1 Οι βασικές αρχές](#ss2.1) +- [2.2 Σύνταξη](#ss2.2) +- [2.3 Απλά Παραδείγματα](#ss2.3) +- [2.4 Awk Scripts](#ss2.4) + +**3. Πρότυπα (και Πράξεις)** +---------------------------------------------------- + +- [3.1 Ειδικά πρότυπα](#ss3.1) +- [3.2 Πρότυπα κανονικών παραστάσεων](#ss3.2) +- [3.3 Πρότυπα σχεσιακών εκφράσεων](#ss3.3) +- [3.4 Λογικοί Τελεστές](#ss3.4) +- [3.5 Διάστημα προτύπων](#ss3.5) + +**4. Πράξεις** +-------------------------------------- + +- [4.1 Εισαγωγή](#ss4.1) +- [4.2 Μεταβλητές](#ss4.2) +- [4.3 Αλφαριθμητικά](#ss4.3) +- [4.4 Πίνακες](#ss4.4) + + +### [1. Εισαγωγή]{#s1} + +### [1.1 Ιστορικά]{#ss1.1} + +Η gawk, ή καλύτερα η GNU awk, είναι μιά από τις πιο καινούριες εκδόσεις της γλώσσας προγραμματισμού awk, η οποία είχε δημιουργηθεί για το περιβάλλον UNIX από +τους Alfred Aho, Peter Weinberger και Brian Kernighan το 1977. Το όνομα awk προέρχεται από τα αρχικά γράμματα των επωνύμων των παραπάνω δημιουργών. Η σχεδίαση +της awk φαίνεται στη διατριβή τους: \"AWK - a pattern scanning and processing language\" Software-Practice and Experience, Ιούλιος 1978. Η awk έχει την καταγωγή +της σε ιδέες από την SNOBOL4, από την εντολή sed, από τα εργαλεία yacc και lex και από τη C. Επίσης, ο Kernighan είναι ένας από αυτούς που βοήθησε στη +δημιουργία της C και του UNIX, ενώ οι άλλοι δύο βοήθησαν στη δημιουργία του UNIX. Για ακριβώς αυτούς τους λόγους, θα δείτε πολλές ομοιότητες μεταξύ της C και +της awk. Υπάρχουν πολλές εκδόσεις της awk: η αυθεντική awk, η nawk, η POSIX awk και, φυσικά, η gawk, η οποία είναι βασισμένη στην POSIX awk. + +### [1.2 Εφαρμογές]{#ss1.2} + +H awk, σε όλες τις εκδόσεις, είναι μια γλώσσα επεξεργασίας και σύγκρισης προτύπων (patterns) με μεγάλη δύναμη σε αυτόν τον τομέα. Μπορεί να ψάξει ένα ή +περισσότερα αρχεία για εγγραφές (records) που ταιριάζουν μέ ένα δοσμένο πρότυπο. Όταν ταιριάξουν, μία καθορισμένη πράξη (action) εκτελείται. Σαν +προγραμματιστής, δεν χρειάζεται να ανησυχείτε για το άνοιγμα, την επαναλαμβανόμενη ανάγνωση των εγγραφών ή το κλείσιμο ενός αρχείου. Αυτές οι λεπτομέρειες +γίνονται αυτόματα για εσάς. Το να γράφετε μικρά awk προγράμματα είναι εύκολο λόγω της λειτουργικότητας της γλώσσας, πολλές διαδικασίες είναι αυτοματοποιημένες. + +Θα βρείτε πολλές εφαρμογές για τη awk, όπως το να \"διαβάζετε\" δεδομένα από ένα αρχείο, να μετράτε συγκεκριμένες \"υπάρξεις\" μέσα σ\' αυτό, αλλά και να +δημιουργείτε εξειδικευμένες αναφορές (reports). Η γενική σύνταξη της awk μοιάζει πάρα πολύ/έχει πολλά κοινά σημεία με τη C. Εάν ήδη ξέρετε C, τότε γνωρίζετε +αρκετά πράγματα από τη awk. Από πολλές απόψεις, η gawk είναι μία ευκολότερη \"έκδοση\" της C. Αν δεν γνωρίζετε C, τότε θα την μάθετε ευκολότερα αν ήδη γνωρίζετε +awk. + +ΣΗΜΕΙΩΣΗ: H awk δουλεύει με text αρχεία, όχι εκτελέσιμα. Επειδή τα εκτελέσιμα αρχεία περιέχουν χαρακτήρες που μοιάζουν με το τέλος εγγραφών (δηλαδή σύμβολα +αλλαγής σειράς), η awk μπερδεύεται. Αν θέλετε να επεξεργαστείτε εκτελέσιμα αρχεία, τότε χρειάζεστε την Perl ή, φυσικά, μία από τις \"πατροπαράδοτες\" γλώσσες +προγραμματισμού, όπως η C. + +### [1.3 Δυνατότητες]{#ss1.3} + +Η awk είναι ευλύγιστη, όπως το UNIX περιβάλλον, περιλαμβάνει προκαθορισμένες μεταβλητές, αυτοματοποιεί πολλές από τις \"διαδικασίες\" του κλασσικού +προγραμματισμού, παρέχει τη δυνατότητα των συμβατικών μεταβλητών, υποστηρίζει το μορφοποιημένο output της C και είναι εύκολη στη χρήση. Σας επιτρέπει να +συνδυάσετε τα πλεονεκτήματα των shell scripts με πολλά στοιχεία της C. Να σημειώσω πως δεν χρειάζετε να ορίζετε τον τύπο μιάς μεταβλητής (σε αντίθεση με τη C), +αφού η awk καταλαβαίνει τον τύπο τους όταν τις χρησιμοποιεί. Φυσικά, υποστηρίζει τους βρόγχους της C (if/else, do/while, for), αλλά δεν υποστηρίζει το +switch/case. Παρόλα αυτά, υποστηρίζει το printf() της C, αλλά και την εντολή print, μιά απλούστερη (από την printf) εντολή. + + +### [2. Τα πρώτα βήματα]{#s2} + +### [2.1 Οι βασικές αρχές]{#ss2.1} + +Για να χρησιμοποιήσετε την gawk, θα πρέπει να γράψετε ένα πρόγραμμα. Το πρόγραμμα αυτό θα το ονομάζουμε awk script. Το λέω αυτό, γιατί σε απλές εφαρμογές θα +παρατηρήσετε πως θα μπορούσατε αντί για την gawk να χρησιμοποιήσετε το grep. Στο grep, όμως, δεν γράφετε πρόγραμμα (script), αλλά του δίνετε παραμέτρους. +Φυσικά, το awk script δεν έχει περιορισμούς στο μέγεθος. Μπορείτε να το κάνετε όσο μεγάλο θέλετε. To πρόγραμμα που φτιάχνετε μπορεί να \"διαβαστεί\" από την +gawk με πολλούς τρόπους, από τους οποίους οι πιό συνηθισμένοι είναι η από την γραμμή εντολών ή από ένα αρχείο. Η gawk μπορεί επίσης να δεχθεί input με pipe +(διασωλήνωση) από άλλο πρόγραμμα ή ακόμα και από το ίδιο το πληκτρολόγιο (επί τόπου). Το output με τη σειρά του, μπορεί εκτός από το standard, να ανακατεθυνθεί +σε ένα αρχείο ή να διασωληνωθεί σε ένα άλλο πρόγραμμα. + +### [2.2 Σύνταξη]{#ss2.2} + + gawk -Fx 'πρόγραμμα' [αρχείο/α] + gawk -Fx -f αρχείο_εντολών [αρχείο/α] + +Το **πρόγραμμα** είναι μία σειρά από εντολές της awk, ενώ **αρχείο\_εντολών** είναι ένα αρχείο που περιέχει εντολές της awk. To **αρχείο/α** (στο τέλος της +σύνταξης) είναι το όνομα του αρχείου στο οποίο θα γίνει η επεξεργασία που θέλουμε. Αν παραλείψουμε εκεί το αρχείο, τότε η gawk δέχεται input από την καθιερωμένη +μονάδα εισόδου (πληκτρολόγιο). + +Κάθε εντολή της awk έχει την μορφή: **πρότυπο {πράξη}**\ +Η awk \"σαρώνει\" γραμμή προς γραμμή το αρχείο και κάθε γραμμή συγκρίνεται με το πρότυπο. Αν ταιριάζει, τότε εκτελείται η αντίστοιχη πράξη. Αν από την παραπάνω +μορφή απουσιάζει το πρότυπο, τότε η πράξη εκτελείται για κάθε γραμμή, ενώ αν απουσιάζει η πράξη, τότε όλες οι γραμμές που ταιριάζουν με το πρότυπο εμφανίζονται +στην οθόνη. Την χρησιμότητα της επιλογής **-Fx** θα την δούμε παρακάτω. + +### [2.3 Απλά Παραδείγματα]{#ss2.3} + +Ο απλούστερος τρόπος να χρησιμοποιήσετε την awk είναι να γράψετε το πρόγραμμα στην γραμμή εντολών. Ας δούμε ένα απλό παράδειγμα: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + $ cat arxeio.txt | gawk '{print NF ": " $0}' + 2: Γεια σας + 8: Σήμερα θα μάθουμε να προγραμματίζουμε με την gawk + 4: Σας εύχομαι καλή επιτυχία! + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Για να δούμε τώρα τί κάνει το πρόγραμμα. Το αποτέλεσμα της εντολής cat arxeio.txt περνά σαν είσοδος στην gawk. Πρότυπο δεν έχουμε, επομένως η πράξη (μέσα στις +αγκύλες) εφαρμόζεται για κάθε γραμμή (του arxeio.txt). Από εκεί και πέρα η gawk εμφανίζει στην οθόνη των αριθμό των λέξεων, την άνω και κάτω τελεία, το κενό και +μετά τα περιεχόμενα (ανά γραμμή) του arxeio.txt. To NF είναι μια προκαθορισμένη μεταβλητή της gawk, η οποία παριστάνει των αριθμό των πεδίων σε κάθε εγγραφή. +Από default το κάθε πεδίο ξεχωρίζει από το άλλο με κενό (space) ή με tab, ενώ κάθε εγγραφή ξεχωρίζει με τον χαρακτήρα αλλαγής γραμμής. Επομένως, ας πώ τί κάνει +η NF με πιο απλά λόγια: παριστάνει τον αριθμό λέξεων σε κάθε γραμμή. Όντως, στην πρώτη γραμμή η λέξεις ήταν 2 κλπ. Το σύμβολο \$0 παριστάνει ολόκληρη την +εγγραφή, ενώ υπάρχουν τα σύμβολα \$1, \$2 κ.ο.κ. για τα πεδία. Για παράδειγμα, στην πρώτη γραμμή, το \$1 παριστάνει το πεδίο \"Γεια\", ενώ το \$2 το \"σας\". +Στην δεύτερη γραμμή το \$5 είναι το \"προγραμματίζουμε\". + +Θα μπορούσατε να χρησιμοποιήσετε την ανακατεύθυνση του UNIX, ή απλά το όνομα του αρχείου για να καταλήξετε στο ίδιο αποτέλεσμα με την παραπάνω εντολή. Δείτε +άλλες δύο ισοδύναμες (με την παραπάνω) εντολές: + + $ gawk '{print NF ": " $0}' < arxeio.txt + $ gawk '{print NF ": " $0}' arxeio.txt + +### [2.4 Awk Scripts]{#ss2.4} + +Ας δούμε πάλι το παραπάνω παράδειγμα, την εντολή **gawk \'{print NF \": \" \$0}\' arxeio.txt**. Θα μπορούσατε να απόφυγετε την πληκτρολόγηση της εντολής στην +γραμμή εντολών, αλλά να την συμπεριλάβετε σε ένα awk script. Προσέξτε πως στο awk script δεν πρέπει να γράψετε τα απλά εισαγωγικά, αφού αυτά χρησιμεύουν για να +μην ασχοληθεί ο φλοιός (shell) με το περιεχόμενό τους. Αν τα χρησιμοποιήσετε η gawk θα σας βγάλει ένα μήνυμα λάθους και, φυσικά, δεν θα έχετε το επιθυμητό +αποτέλεσμα. Οπότε, θα δημιουργήσετε ένα αρχείο **script.awk** που θα περιέχει τα εξής: + + {print NF ": " $0} + +Στη συνέχεια, θα τρέξετε το πρόγραμμα με την εξής εντολή: + + gawk -f script.awk arxeio.txt + +Να αναφέρω επίσης, πως η gawk και άλλες εκδόσεις της awk, οι οποίες συμβαδίζουν με το POSIX πρότυπο (standard) σας επιτρέπουν να χρησιμοποιήσετε περισσότερα του +ενός scripts μετά την επιλογή -f (π.χ. gawk -f script1 script2 script3 arxeio.txt). Θα σας συμβούλευα να προτιμήσετε να καλέσετε ένα μόνο script (και όχι πιο +πολλά) για να αποφύγετε διάφορα λάθη ή ενέργειες που μπορεί να σας μπερδέψουν. + + +### [3. Πρότυπα (και Πράξεις)]{#s3} + +Στην gawk μπορείτε να χρησιμοποιήσετε πρότυπα 3 ειδών: + +1. Ειδικά πρότυπα (special patterns) +2. Κανονικές παραστάσεις (regular expression patterns) +3. Σχεσιακές εκφράσεις (comparison patterns) + +### [3.1 Ειδικά πρότυπα]{#ss3.1} + +Η awk περιλαμβάνει δύο ειδικά πρότυπα: το **BEGIN** και το **END**. Η πράξη που ακολουθεί το πρότυπο **BEGIN** εκτελείται πρίν διαβαστεί οποιαδήποτε γραμμή του +αρχείου. Για αυτόν τον λόγο, το **BEGIN** χρησιμοποιείται συνήθως για εκτύπωση επικεφαλίδων ή για αρχική καταχώρηση σε μία μεταβλητή. Η πράξη που ακολουθεί το +**END** εκτελείται όταν έχουν επεξεργαστεί όλες οι γραμμές από το αρχείο. + +Τα πρότυπα **BEGIN** και **END** είναι εντελώς προαιρετικά. Τα χρησιμοποιείτε αν θέλετε. Όμως, αν τα χρησιμοποιήσετε τότε μπορείτε να τα έχετε μόνο μιά φορά +μέσα στο πρόγραμμά σας. Μην χρησιμοποιήσετε δύο **BEGIN** ή δύο **END**. Παράδειγμα για τα **BEGIN** και **END** θα δούμε παρακάτω, όταν μιλήσουμε για +μεταβλητές. + +### [3.2 Πρότυπα κανονικών παραστάσεων]{#ss3.2} + +Κανονική παράσταση είναι μία σειρά χαρακτήρων που περικλείονται ανάμεσα σε ζευγάρι από / (slash). Για παράδειγμα, αν εκτελέσετε την: + + gawk '/linux/' my_doc.txt + +τότε θα εμφανιστούν στην οθόνη όλες οι γραμμές του αρχείου my\_doc.txt που περιέχουν τη λέξη linux. + +Οι κανονικές παραστάσεις της gawk αποτελούνται από χαρακτήρες (όπως τα γράμματα της αλφαβήτου) και από μεταχαρακτήρες (metacharacters). Οι μεταχαρακτήρες είναι +και αυτοί χαρακτήρες που έχουν ειδικό νόημα: δεν χρησιμοποιούνται για \"ταίριασμα\" με πεδίο ή εγγραφή ενός αρχείου, αλλά εκτελούν μιά συγκεκριμένη λειτουργία. +Ας δούμε, λοιπόν, έναν πίνακα με τους μεταχαρακτήρες και την συμπεριφορά τους: + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + \ **Συμπεριφορά** + **Μεταχαρακτήρας** + + \\ Ακυρώνει την έννοια του ειδικού χαρακτήρα που ακολουθεί την backslash,\ + οπότε ο ειδικός χαρακτήρας αντιμετωπίζεται σαν απλός + + \^ Σύγκριση (matching) στην αρχή της γραμμής + + \$ Σύγκριση στο τέλος της γραμμής + + /\^\$/ Σύγκριση για κενή γραμμή + + . Συγκρίνει οποιονδήποτε απλό χαρακτήρα + + \[ΑΒΓ\] Συγκρίνει για οποιονδήποτε από τους Α, Β ή Γ + + \[Α-Γα-γ\] Συγκρίνει για οποιονδήποτε από τους Α, Β, Γ, α, β, ή γ + + \[\^ΑΒΓ\] Συγκρίνει για οποιονδήποτε άλλο χαρακτήρα εκτός των Α, Β ή Γ + + Linux\|System Συγκρίνει για την λέξη Linux ή για την System (λογικό OR) + + \[ΑΒΓ\]\[ΔΕΖ\] Συγκρίνει για τους Α, Β ή Γ, οι οποίοι όμως,θα πρέπει να ακολουθούνται\ + από οποιονδήποτε των Δ, Ε ή Ζ + + \[XYZ\]\* Συγκρίνει για καμμία ή περισσότερες εμφανίσεις της παράστασης\[XYZ\] + + \[XYZ\]+ Συγκρίνει για μία ή περισσότερες εμφανίσεις της παράστασης\[XYZ\] + + \[XYZ\]? Συγκρίνει για καμμία ή μία εμφάνιση της παράστασης\[XYZ\] + + () Συνδυάζει κανονικές παραστάσεις. Π.χ. το (ανα\|δια)λύω συγκρίνει για να\ + βρεί είτε τη λέξη αναλύω είτε τη λέξη διαλύω + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + +#### Παραδείγματα + +Ας δούμε την παρακάτω κανονική παράσταση: + + /[Mm]agaz|interesting$/ + +Αυτή η παράσταση αναζητά τις γραμμές στις οποίες βρίσκονται οι λέξεις Magaz ή magaz (σε οποιοδήποτε σημείο της γραμμής) ή interesting (στο τέλος της γραμμής). + +Ας δούμε άλλη μία παράσταση: + + /[Mm][Aa][Gg][Aa][Zz]/ + +Αυτή η παράσταση αναζητά τις γραμμές στις οποίες βρίσκεται η λέξη magaz ΜΕ ΟΠΟΙΟΝΔΗΠΟΤΕ τρόπο γραμμένη, δηλαδή μπορεί να \"ξεθάψει\" την λέξη ακόμα και αν αυτή +είναι γραμμένη με έναν από τους συνολικά 32 τρόπους!! (δηλ. Magaz, MAgaz, MAGaz, MAGAz, MAGAZ, mAgaz κ.ο.κ.) + +### [3.3 Πρότυπα σχεσιακών εκφράσεων]{#ss3.3} + +Με τις σχεσιακές εκφράσεις γίνεται σύγκριση αριθμών ή αλφαριθμητικών (strings). H σύγκριση γίνεται με τους σχεσιακούς τελεστές, οι οποίοι είναι παρόμοιοι με +αυτούς της C και των φλοιών (shells) του UNIX. Μέχρι τώρα είδαμε πως οι κανονικές παραστάσεις \"σαρώνουν\" όλη τη γραμμή για να βρούν αυτό που ζητάμε. Μπορούμε, +όμως, να συνδυάσουμε τις κανονικές παραστάσεις με τις σχεσιακές εκφράσεις για να \"ψάξουμε\" σε συγκεκριμένα πεδία. Ας δούμε πρώτα όμως, έναν πίνακα με τους +σχεσιακούς τελεστές: + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + \ **Ερμηνεία** + **Τελεστής** + + == Ίσο με + + \< Μικρότερο + + \> Μεγαλύτερο + + \<= Μικρότερο ή ίσο + + \>= Μεγαλύτερο ή ίσο + + != Διάφορο του + + \~ Ίσο με την ακόλουθη κανονική παράσταση + + !\~ Διάφορο της ακόλουθης κανονικής παράστασης + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + +#### Παραδείγματα + +Ας δούμε ένα \"τυπικό\" παράδειγμα εφαρμογής των παραπάνω τελεστών: + + $1 == "Linux" { print "Linux Rocks!!" } + +Η παραπάνω εντολή ελέγχει αν το πρώτο πεδίο είναι η λέξη Linux και αν είναι εκτελεί την πράξη, δηλαδή στην περίπτωσή μας εμφανίζει στην οθόνη το μήνυμα Linux +Rocks!! Προσέξτε ότι εδώ τα πράγματα είναι όπως ακριβώς φαίνονται, δηλαδή αν το πρώτο πεδίο είναι η λέξη linux (το l όχι κεφαλαίο όπως το δηλώσαμε), τότε δεν θα +εκτελεστεί η πράξη. Επομένως, ας δούμε τη χρησιμότητα του συνδυασμού της κανονικής παράστασης με τις σχεσιακές εκφράσεις: + +\$6 !\~ /\[Mm\]\[Aa\]\[Gg\]\[Aa\]\[Zz\]/ { print \"we have no magaz\" } + +Η παραπάνω εντολή ελέγχει αν το 6ο πεδίο περιέχει τη λέξη magaz (όπως και αν είναι γραμμένη) και όταν δεν τη βρεί τυπώνει αυτό που περιέχεται στα εισαγωγικά της +print. + +### [3.4 Λογικοί Τελεστές]{#ss3.4} + +Οι λογικοί τελεστές που χρησιμοποιούνται στην awk είναι παρόμοιοι με αυτούς της C. Χρησιμοποιούμε τους τελεστές αυτούς για να συνδυάσουμε πρότυπα (σχεσιακές +εκφράσεις ή κανονικές παραστάσεις) ώστε να \"συνθέσουμε\" μιά πολύπλοκη μορφή λογικής. Ας δούμε έναν πίνακα με τους λογικούς τελεστές: + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + \ **Ερμηνεία** + **Τελεστής** + + && Λογικό ΚΑΙ (AND) + + \|\| Λογικό Η (OR) + + ! Λογικό ΟΧΙ (NOT) + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + +Ας δούμε ένα παράδειγμα: + + $3 == "Linux" && $18 == "Magaz" {print "Μήνυμα εξόδου") + +Εδώ, το πρότυπό μας, στην περίπτωση που το 3ο πεδίο είναι η λέξη Linux ΚΑΙ το 18ο πεδίο η λέξη Magaz, τυπώνει στην οθόνη το μήνυμα. + +### [3.5 Διάστημα προτύπων]{#ss3.5} + +Μπορείτε στη θέση ενός προτύπου να χρησιμοποιήσετε ένα διάστημα προτύπων. Το διάστημα προτύπων είναι δύο πρότυπα, τα οποία χωρίζονται με κόμμα (,) και +χρησιμεύουν στο εξής: Η πράξη που τα ακολουθεί, εφαρμόζεται σε όλες εκείνες τις γραμμές που βρίσκονται ανάμεσα στη γραμμή που εμφανίζεται το πρώτο πρότυπο και +στη γραμμή που εμφανίζεται το δεύτερο πρότυπο. Παράδειγμα: + + /Linux/,/Magaz/ + +Η gawk θα αναζητήσει εκείνες τις γραμμές, από εκείνη που εμφανίζεται η λέξη Linux μέχρι εκείνη που εμφανίζεται η λέξη Magaz. + + +### [4. Πράξεις]{#s4} + +### [4.1 Εισαγωγή]{#ss4.1} + +Οι πράξεις είναι αυτές που λένε στην awk \"τί να κάνει\" όταν το πρότυπο ταιριάξει με αυτό που του ζητήσαμε. Μία πράξη αποτελείται από μία ή περισσότερες +εντολές, οι οποίες μοιάζουν πάρα πολύ με τις εντολές τις C. Μία πράξη μπορεί να περιέχει: + +- Μεταβλητές +- Πίνακες +- Ενσωματωμένες συναρτήσεις (αλφαριθμητικές και αριθμητικές) +- Εντολές ελέγχου ροής +- Εκτυπώσεις + +Οι πράξεις γράφονται μέσα σε αγκύλες ({}). Ο μόνος περιορισμός που έχετε, είναι να γράψετε την πρώτη αγκύλη στην ίδια γραμμή με το πρότυπο. Αυτός, βέβαια, είναι +ο μόνος σας περιορισμός. + +Υπάρχουν κανόνες για τον τρόπο με τον οποίο γράφετε ένα awk script. Ευτυχώς, οι κανόνες αυτοί είναι σχεδόν ίδιοι με τους κανόνες της C: γενικά, στην συγγραφή +ενός προγράμματος, έχετε μιά ελευθερία με τα κενά, τις γραμμές κλπ. Ας τα δούμε, όμως, από την αρχή. Μέσα σε ένα script, οι κενές γραμμές αγνοούνται. Οι εντολές +που γράφετε μπορούν είτε να είναι στην ίδια γραμμή είτε σε διαφορετική. Η awk αναγνωρίζει τα κενά με τον ίδιο τρόπο που τα αναγνωρίζει η C. Οι επόμενες δύο +γραμμές είναι ακριβώς οι ίδιες: + + $1=="Linux"{print"μήνυμα 1"} + + $1 == "Linux" { print "μήνυμα 1" } + +Εννοείται πάντως, πως διαφόρων ειδών κενά μέσα στα εισαγωγικά δεν αγνοούνται. Τα υπόλοιπα κενά (μέσα στον κώδικα) αγνοούνται. Μπορείτε επίσης, να \"σπάτε\" τις +εντολές σε πολλές γραμμές: + + $1 == "Linux" { + print "μήνυμα 1" + } + +Μπορείτε να έχετε πολλές διαφορετικές πράξεις μέσα στις αγκύλες ({}). Μπορείτε να τις χωρίζετε με το ελληνικό ερωτηματικό (;): + + $1 == "Linux" {print "μήνυμα 1"; print "μήνυμα 2"; print μήνυμα 3";} + +Όμως, έχετε τη δυνατότητα να μην χρησιμοποιήσετε το ελληνικό ερωτηματικό, αλλά να γράψετε κάθε εντολή της πράξης σε διαφορετική γραμμή. Το ακόλουθο παράδειγμα +έχει το ίδιο αποτέλεσμα με το παραπάνω: + + $1 == "Linux" { + print "μήνυμα 1" + print "μήνυμα 2" + print "μήνυμα 3" + } + +Επίσης, μπορείτε να έχετε σχόλια (comments) μέσα στο script σας. Αυτό μπορείτε να το κάνετε χρησιμοποιώντας το σύμβολο **\#** μπροστά από κάθε γραμμή σχόλιου. + +### [4.2 Μεταβλητές]{#ss4.2} + +Οι μεταβλητές σας χρειάζονται, φυσικά, για να έχετε τη δυνατότητα να αποθηκεύετε δεδομένα μέσα σε ένα πρόγραμμα. Υπάρχουν τριών ειδών μεταβλητές στην awk: + +- Μεταβλητές πεδίου +- Προκαθορισμένες μεταβλητές +- Καθορισμένες από το χρήστη μεταβλητές + +Από όλα αυτά τα είδη έχουμε δεί παραδείγματα των πρώτων δύο ειδών. Τις μεταβλητές πεδίου, όπως το \$1 και τις προκαθορισμένες μεταβλητές, όπως το NF κ.α. + +Οι μεταβλητές που ορίζονται από το χρήστη είναι, όπως θα καταλάβατε, οι μεταβλητές που δημιουργείτε εσείς μέσα σε ένα πρόγραμμα για να σας εξυπηρετήσουν σε έναν +συγκεκριμένο σκοπό. Ένα πλεονέκτημα της awk είναι πως δεν χρειάζετε να ορίσετε τον τύπο της μεταβλητής που θα δημιουργήσετε. Δεν είναι π.χ. όπως στη C (και σε +άλλες) που ορίζετε το αν μία συγκεκριμένη μεταβλητή είναι integer, float, char κλπ. Στην awk απλά χρησιμοποιείτε την μεταβλητή (θυμάστε την BASIC ? :-) H awk +καταλαβαίνει τον τύπο της μεταβλητής, από το πώς αυτή χρησιμοποιείται μέσα στο πρόγραμμα. Αν για παράδειγμα, μέσα σε μιά μεταβλητή συμπεριλάβετε γράμματα και/ή +αριθμούς, τότε αυτή η μεταβλητή αναγνωρίζεται ως αλφαριθμητικό. Αν χρησιμοποιήσατε μόνο αριθμούς, τότε αυτή αναγνωρίζεται ως αριθμητική μεταβλητή. + +Όπως και στη C, τα ονόματα των μεταβλητών που χρησιμοποιείτε ΠΡΕΠΕΙ να αρχίζουν με αλφαβητικό χαρακτήρα ή με μία κάτω παύλα/underscore (\_). Για το υπόλοιπο +όνομα της μεταβλητής μπορείτε να χρησιμοποιήσετε γράμματα, underscores ή αριθμούς. Οι αλφαβητικοί χαρακτήρες μπορούν να είναι είτε κεφαλαία είτε μικρά γράμματα. +Φυσικά, σε αυτό το σημείο πάντα δίνονται δύο (κλασσικές) συμβουλές: Η μία είναι να δίνετε στις μεταβλητές ονόματα περιγραφικά (δηλαδή, να καταλαβαίνει κάποιος +τί είναι το περιεχόμενό τους από το όνομά τους). Η δεύτερη συμβουλή είναι να αποφεύγετε όσο μπορείτε να γράφετε τις μεταβλητές με κεφαλαία γράμματα γιατί, όπως +θα δούμε παρακάτω, οι προκαθορισμένες μεταβλητές της awk είναι με κεφαλαία γράμματα, οπότε μπορεί εύκολα να γίνει λάθος. + +Λοιπόν, ας δούμε τώρα έναν πίνακα με τις προκαθορισμένες (built-in variables) μεταβλητές της awk. Ο πίνακας έχει 3 στήλες. Στην 3η στήλη αναγράφεται, αν +υπάρχει, η default τιμή μιας μεταβλητής. Επίσης, να τονίσω ότι πολλές από τις παρακάτω μεταβλητές δεν υπάρχουν σε προηγούμενες εκδόσεις της awk (άλλωστε μιλάμε +για gawk): + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + \ **Σημασία** **Default Τιμή** + **Μεταβλητή** + + ARGC Ο αριθμός των παραμέτρων που δίνονται στην γραμμή + εντολών + + ARGV Πίνακας με όλες τις παραμέτρους που δίνονται στην + γραμμή εντολών + + CONVFMT Η μορφή που η awk \"διαβάζει\" τους αριθμούς %.6g + + ENVIRON Οι μεταβλητές περιβάλλοντος του UNIX + + ERRNO Τα μηνύματα λάθους του UNIX + + FILENAME Το όνομα του τρέχοντος αρχείου εισόδου + + FNR Ο τρέχων αριθμός εγγραφής + + FS Ο διαχωριστής πεδίων Space + + IGNORECASE Ελέγχει την case sensitivity 0 (δηλ. υπάρχει case sensitivity) + + NF Ο αριθμός των πεδίων στην τρέχουσα εγγραφή + + NR Ο αριθμός των εγγραφών + + OFMT Η μορφή εξόδου των αριθμών %.6g + + OFS Ο διαχωριστής πεδίων για την έξοδο Space + + ORS Ο διαχωριστής εγγραφών της εξόδου Newline + + RS Ο διαχωριστής εγγραφών της εισόδου Newline + + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + +#### Αναλυτικά + +- Η πρώτη παράμετρος που δίνετε στην γραμμή εντολών συμβολίζεται με ARGV\[0\], ενώ η τελευταία παράμετρος είναι η ARGV\[ARGC-1\]. Για την ακρίβεια, η πρώτη + \"παράμετρος\" που δίνουμε στην γραμμή εντολών είναι η ίδια η gawk. Αρα ARGV\[0\]=\"gawk\" + +- Ας μιλήσουμε τώρα για εκείνη την παράμετρο **-Fx** που είδαμε στην σύνταξη της εντολής gawk. Εξ ορισμού, τα πεδία ξεχωρίζουν από τα κενά (ανεξάρτητου μήκους + κενά) μεταξύ τους. Τί γίνεται, όμως, αν θέλετε να επεξεργαστείτε ένα αρχείο σαν το /etc/passwd το οποίο δεν περιέχει κενά, αλλά παρόλα αυτά περιέχει πολλά + πεδία με πληροφορίες; Εδώ θα χρειαστεί να χρησιμοποιήσετε διαφορετικό από τον εξ ορισμού διαχωριστή πεδίων (field seperator). Αυτό μπορείτε να το κάνετε με + την παράμετρο **-Fx** όπου στη θέση του **x** θα βάλετε τον διαχωριστή που θέλετε. Για παράδειγμα, στο αρχείο /etc/passwd, σίγουρα θα θέλετε τα πεδία να + ξεχωρίζουν με το σύμβολο της άνω και κάτω τελείας (:). Επομένως, αρκεί να χρησιμοποιήσετε την παράμετρο **-F:** + + Υπάρχει, όμως, εναλλακτικός τρόπος να ορίσετε τον διαχωριστή. Η μεταβλητή **FS** χρησιμοποιείται από την awk για αυτόν ακριβώς το λόγο. Επομένως, έχετε τη + δυνατότητα να χρησιμοποιήσετε αυτήν την μεταβλητή σε συνδυασμό με το ειδικό πρότυπο **BEGIN**. Π.χ. πρίν γράψετε οτοδήποτε άλλο στον κώδικά σας, μπορείτε να + γράψετε το: + + BEGIN { FS = ":" } + +- Θα καταλάβετε την μεταβλητή ENVIRON με το ακόλουθο παράδειγμα: + + ENVIRON["TERM"] == "vt100" { print "Δουλεύετε σε VT100 !!" } + + Η παραπάνω εντολή ελέγχει αν είστε σε VT100 τερματικο και, αν είστε, τυπώνει το μήνυμα. + +- Είδατε δύο Default τιμές να είναι \"%.6g\". Για το τί σημαίνει αυτή η τιμή (και γενικά τιμές τέτοιου τύπου) θα μιλήσουμε όταν αναφερθούμε στις εκτυπώσεις + και, συγκεκριμένα, όταν αναφερθούμε στην \"printf\" (στο 2ο μέρος). + +### [4.3 Αλφαριθμητικά]{#ss4.3} + +Εδώ θα σας δώσω ένα παράδειγμα \"μεταχείρισης\" αλφαριθμητικών (άλλωστε, σε προηγούμενα παραδείγματα, θα έχετε ήδη καταλάβει τί/πώς/πού/κλπ. είναι τα +αλφαριθμητικα). Στη συνέχεια, θα μιλήσουμε για τις αλφαριθμητικές ενσωματωμένες συναρτήσεις και στο τέλος θα σας δώσω έναν πίνακα με ειδικές αλφαριθμητικές +σταθερές. + +Τα αλφαριθμητικά πάντα γράφονται μέσα σε ζευγάρι διπλών εισαγωγικών (\"). Ένα αλφαριθμητικό μπορεί να περιέχει οποιουσδήποτε χαρακτήρες. Να σημειώσω πως αν +χρησιμοποιήσετε ΜΟΝΟ αριθμούς (π.χ. το \"156\") για ένα αλφαριθμητικό, τότε αυτόματα η awk το χρησιμοποιεί σαν αριθμητική μεταβλητή. Αντίθετα, αν έχετε ένα +αλφαριθμητικό (με χαρακτήρες ή ακόμα και \"μορφοποιημένο\" αριθμό: π.χ. \"+30 972 66 55 44\" \<\-- το οποίο για την gawk είναι αλφαριθμητικό, αφού περιέχει κενά +(\" \"). Προσέξτε, το \"+\" επιτρέπεται, όπως και το \"-\" σε αριθμητικές μεταβλητές) και προσπαθήσετε να κάνετε μιά αλγεβρική πράξη με αυτό (πρόσθεση, +αφαίρεση, κλπ \...) τότε η awk θα προσπαθήσει να μετατρέψει το αλφαριθμητικό σε αριθμητική μεταβλητή και, πολύ απλά, θα του δώσει την αριθμητική τιμή 0 (μηδέν). +Ας δούμε το παράδειγμα: + + $ gawk 'BEGIN {x="αβγ""δεζ" ; y = "magaz"; z=x y; z2 = "A"x"LINUX"y"END"; print x, y, z, z2}' + αβγδεζ magaz αβγδεζmagaz AαβγδεζLINUXmagazEND + +Είδατε, λοιπόν, πως μπορούμε να \"συνδυάσουμε\" αλφαριθμητικά. Είδατε επίσης, στη μεταβλητή x, πώς δεν είναι ανάγκη να συμπεριλάβουμε όλους τους χαρακτήρες στο +ίδιο ζεύγος εισαγωγικών. Ακόμα, στο τέλος, αν δεν είχαμε χρησιμοποιήσει το κόμμα (,) ανάμεσα στις μεταβλητές στην εντολή print, αυτό που θα μας έδινε η έξοδος +θα ήταν:\ +αβγδεζmagazαβγδεζmagazAαβγδεζLINUXmagazEND + +Ας δούμε τώρα τον πίνακα με τις συναρτήσεις. Και πάλι, μερικές από αυτές μπορεί να μην δουλεύουν σε παλιότερες εκδόσεις awk: + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + \ **Ερμηνεία** + **Συνάρτηση** + + index(s1, s2) Επιστρέφει την θέση (από αριστερά) του αλφαριθμητικού s2 στο αλφαριθμητικό s1 + + length(string) Μετρά τον αριθμό χαρακτήρων του string + + split(string, πίνακας, διαχωριστής) Δείτε παρακάτω, στα αναλυτικά + + substr(string, m, n) Επιστρέφει εκείνο το τμήμα του αλφαριθμητικού string που αρχίζει από\ + τη θέση m και έχει n χαρακτήρες + + tolower(string) Επιστρέφει το string με μικρούς χαρακτήρες + + toupper(string) Επιστρέφει το string με κεφαλαίους χαρακτήρες + + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + +#### Αναλυτικά + +- Η split(string, πίνακας, διαχωριστής) καταχωρεί τα τμήματα του αλφαριθμητικού string που χωρίζονται μεταξύ τους με τον χαρακτήρα \"διαχωριστή\", στα + στοιχεία πίνακας\[1\], πίνακας\[2\], \... , πίνακας\[ν\] του πίνακα και επιστρέφει το ν. Αν δεν υπάρχει ο \"διαχωριστής\", τότε χρησιμοποιείται η μεταβλητή + FS. Παράδειγμα: + + number = split("29/3/2000", array, "/") + + Λοιπόν, μετά την εκτέλεση της εντολής θα έχουμε: array\[1\]=29, array\[2\]=3, array\[3\]=2000. H μεταβλητή number θα έχει την τιμή 3. + +- Ας δούμε και ένα παράδειγμα για την substr. Έχουμε: + + var=substr("Linux", 3, 2) + + Μετά την εκτέλεση της εντολής, η μεταβλητή var θα περιέχει το αλφαριθμητικό \"nu\". + +Παρακάτω, βλέπετε έναν πίνακα με ειδικές αλφαριθμητικές σταθερές, τις οποίες μπορείτε να χρησιμοποιήσετε μέσα σε ένα αλφαριθμητικό για συγκεκριμένες, +εξειδικευμένες \"εκτυπώσεις\". Π.χ. αν θα θέλατε μέσα σε ένα αλφαριθμητικό να χρησιμοποιήσετε τα διπλά εισαγωγικά (\") τότε θα πρέπει να γράψετε πρίν από αυτά +την backslash (\\) ώστε να μην \"μπερδευτεί\" η awk με τα εισαγωγικά που περιβάλλουν το αλφαριθμητικό: + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + \ **Σημασία** + **Σταθερά** + + \\\\ Παριστάνει την ίδια την backslash + + \\a Ο χαρακτήρας alert ή bell (Θα ηχήσει το speaker) + + \\b Backspace + + \\f Formfeed + + \\n Newline + + \\r Carriage return + + \\t Tab + + \\v Vertical Tab + + \\\" Παριστάνει τα εισαγωγικά + + \\xYY Δείχνει ότι ο ΥΥ είναι δεκαεξαδικός αριθμός + + \\0YYY Δείχνει ότι ο ΥΥΥ είναι οκταδικός αριθμός + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + +### [4.4 Πίνακες]{#ss4.4} + +Όταν έχετε πολλά δεδομένα (π.χ. τιμές) που αφορούν στο ίδιο θέμα, τότε έχετε 2 επιλογές: είτε θα χρησιμοποιήσετε πολλές μεταβλητές, είτε θα χρησιμοποιήσετε έναν +πίνακα, ο οποίος σας επιτρέπει να έχετε συγκεντρωμένα πολλά δεδομένα. Ένας πίνακας αποτελείται από το όνομά του και τα στοιχεία του. Συμβολίζεται κάπως έτσι: +όνομα\[στοιχείο\]. + +Προσοχή!! Οι πίνακες στην awk έχουν ειδικές ικανότητες, οι οποίες δεν παρουσιάζονται στις περισσότερες γλώσσες προγραμματισμού. Είναι δυναμικοί πίνακες, πράγμα +που σημαίνει πως ξεφεύγουμε από το μαθηματικό μοντέλο του πίνακα (αν και πρέπει πάντα να το έχουμε στο μυαλό μας) καταργώντας τα \"αριθμημένα\" στοιχεία, δηλαδή +τις *διαστάσεις του πίνακα*. Το στοιχείο του πίνακα στην awk συμβολίζεται με αλφαριθμητικό!! Δεν χρειάζετε να δηλώνετε για μία συγκεκριμένη μεταβλητή πως είναι +πίνακας (όπως κάνουμε στη C), οπότε δεν δηλώνουμε εκ των προτέρων το μέγεθος που έχει ο πίνακάς μας. Όταν χρησιμοποιείτε ένα καινούριο στοιχείο για πρώτη φορά, +τότε αυτό δυναμικά προστίθεται στον πίνακά μας. Ας δούμε δύο παραδείγματα πινάκων: + + magaz_subject["Linux"] = 1 + magaz_subject["gardening"] = 0 + +Αν θα θέλαμε να κάνουμε το ίδιο σε άλλη γλώσσα προγραμματισμού, τότε θα έπρεπε να έχουμε 2 διαφορετικούς πίνακες, όπου στον έναν να είχαμε διάφορα θέματα και +στον άλλον πίνακα, στα ίδια στοιχεία να βάζαμε την τιμή 0 ή 1 (ανάλογα αν ανταποκρίνεται το magaz στα θέματα αυτά), οπότε κάθε φορά να κάναμε \"αντιστοίχιση\" +των πινάκων. Δηλαδή, για το παραπάνω παράδειγμα, ο ένας πίνακας ας υποθέσουμε ότι στη θέση 5 (στοιχείο 5 / array\[5\]) περιείχε το αλφαριθμητικό \"Linux\" και +στη θέση 6 το αλφαριθμητικό \"gardening\". Ο δεύτερος πίνακας θα είχε στη θέση 5 το 1 και στη θέση 6 το 0. + +Η τακτική αυτή στην awk (δηλαδή η χρήση αλφαριθμητικού για στοιχείο) είναι \"λιγότερο προγραμματιστική-μαθηματική\" αλλά ευκολότερη στο διάβασμα. Η τακτική αυτή +οφείλεται για το γεγονός ότι η awk δεν υποστηρίζει άμεσα πολυδιάστατους πίνακες. + +#### Συναρτήσεις πινάκων + +Η awk περιλαμβάνει 2 συναρτήσεις για τους πίνακες: την in και την delete. Η συνάρτηση in ελέγχει την ύπαρξη ενός στοιχείου του πίνακα. Η delete σβήνει ένα +στοιχείο από έναν πίνακα. + +Για παράδειγμα, μπορούμε να χρησιμοποιήσουμε την παρακάτω εντολή μέσα σε έναν βρόγχο if (τους οποίους θα δούμε στο 2ο μέρος) για να εξετάσουμε μιά ύπαρξη και να +εκτελέσουμε, ανάλογα, μιά πράξη: + + "Linux" in magaz_subject + +Ομοίως, χρησιμοποιούμε την συνάρτηση delete: + + delete magaz_subject["gardening"] + +Προσέξτε, ότι όταν χρησιμοποιείτε την delete, το στοιχείο σβήνεται από την περιοχή μνήμης. Τα δεδομένα δεν μπορούν να ανακτηθούν. Προσέξτε όμως, πως δεν +μπορείτε να χρησιμοποιήσετε την delete κάπως έτσι: delete magaz\_subject. Δεν μπορείτε να σβήσετε ολόκληρο τον πίνακα, αλλά μόνο τα στοιχεία του. + +#### Πολυδιάστατοι Πίνακες + +Είπαμε πως η awk δεν υποστηρίζει άμεσα πολυδιάστατους πίνακες, αλλά τους \"εξομοιώνει\". Το γεγονός αυτό, δεν σας επηρεάζει ως προγραμματιστές. Εσείς προχωράτε +κανονικά και δηλώνετε τους πολυδιάστατους πίνακες όπως ακριβώς και στη C, δηλαδή: + + magaz_subject[6, 2] = "Linux" + +Εννοείται πως μπορείτε να χρησιμοποιήσετε τις in και delete όπως ακριβώς και στους μονοδιάστατους. + diff --git a/content/articles/23/04_perldbi.md b/content/articles/23/04_perldbi.md new file mode 100644 index 0000000..27bf636 --- /dev/null +++ b/content/articles/23/04_perldbi.md @@ -0,0 +1,223 @@ ++++ +title = 'DataBaseInterface για Perl' +date = '2000-04-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης(mailto:kabrianis@hellug.gr)' +issue = ['Magaz 23'] +issue_weight = 4 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Σε αυτό το μικρό αρθράκι θα κάνουμε μία πρώτη και επιφανειακή προσέγγιση σε προγραματισμό Perl για Databases μέσω του DBI interface* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Η Perl είναι μία interpreted γλώσσα όπως όλοι ξέρουν. Και ως interpreted θεωρείται από αρκετούς \"κακή\" γλώσσα. Από την άλλη, είναι εξαιρετικά απλή σε σύνταξη. +Και επειδή είναι εξαιρετικά απλή, υπάρχουν εκατοντάδες προγραμματιστές που την επεκτείνουν, σε τομείς για τους οποίους δεν είχε σχεδιαστεί. Ένας από αυτούς τους +τομείς είναι οι DataBases. + +**1. Τι παρέχει το DBI** +-------------------------------------------------- + +**2. Τι ΔΕΝ παρέχει το DBI** +------------------------------------------------------ + +**3. Συνηθισμένες συναρτήσεις** +--------------------------------------------------------- + +- [3.1 Connect](#ss3.1) +- [3.2 Select](#ss3.2) +- [3.3 Insert](#ss3.3) +- [3.4 Delete](#ss3.4) +- [3.5 Update](#ss3.5) +- [3.6 Do αντί για prepare() και execute()](#ss3.6) +- [3.7 Finsh και Disconnect](#ss3.7) + +**4. \`Αλλα καλούδια** +------------------------------------------------ + +**5. Βιβλιογραφία** +--------------------------------------------- + + +### [1. Τι παρέχει το DBI]{#s1} + +Το module DBI (Database Interface) παρέχει τη δυνατότητα στην perl να μιλάει με μία database. Το module αυτό παρέχει κάποιες functions οι οποίες μιλάνε με +κάποιο underlying module, το οποίο λέγεται DBD. Υπάρχει ξεχωριστό DBD για κάθε βάση δεδομένων (π.χ. MySQL, Postgres, Oracle κλπ), και δεν παρέχουν όλα τις ίδιες +δυνατότητες, αλλά με την χρήση του DBI είσαστε λίγο-πολύ σίγουροι ότι ο κώδικας σας μεταφέρεται από την μία Database στην άλλη, χωρίς να ξαναγραφτούν όλες οι +functions από την αρχή. Ειδικά αν η SQL που γράφετε είναι \"κανονική\" SQL και όχι specific-database-enhanced SQL, είναι πολύ εύκολο (από πλευράς προγράμματος +και μόνο) να αλλάξετε βάση, ή να διανείμετε τον κώδικά σας χωρίς να σας ενδιαφέρει το τί βάση χρησιμοποιεί ο άλλος (αρκεί βέβαια να του ορίσετε το schema που θα +δημιουργήσει στην βάση του). + +Βέβαια, αν χρησιμοποιήσετε το DBI για να εκτελέσετε triggers ή stored procedures σε μία βάση (κάτι που γίνεται), δεν μπορείτε να περιμένετε μεγάλη +μεταφερσιμότητα, κυρίως λόγω του διαφορετικού τρόπου με τον οποίο καλούν τα διάφορα triggers οι βάσεις. Συνεπώς, αν θέλετε να έχετε την ευελιξία να αλλάξετε +βάση αύριο - μεθαύριο χωρίς να σας βγουν τα μάτια να διαβάζετε καλά όλο τον κώδικα για να βρείτε τα databse-specific κομμάτια, σημειώστε καλά τα σημεία που τα +χρησιμοποιείτε και στο υπόλοιπο πρόγραμμα\.... stic k to SQL. + + +### [2. Τι ΔΕΝ παρέχει το DBI]{#s2} + +Το DBI δεν παρέχει έναν τρόπο να μιλήσετε σε μία βάση χωρίς να ξέρετε SQL. To DBI είναι ένα απλό API, άρα αν δεν ξέρετε πως να σχεδιάσετε / υλοποιήσετε ένα +RDBMS και πως να αποθηκεύσετε, αλλάξετε, σβήσετε αρχεία με απλή SQL, μην συνεχίσετε να διαβάζετε, το άρθρο αυτό θα σας είναι εντελώς άχρηστο. Αντ\' αυτού +διαβάστε ένα βιβλίο για SQL πρώτα, και μετά ξαναελάτε. + + +### [3. Συνηθισμένες συναρτήσεις]{#s3} + +### [3.1 Connect]{#ss3.1} + +Για να ξεκινήσουμε να μιλάμε σε μία βάση, πρέπει πρώτα να συνδεθούμε σε αυτή τη βάση. Αυτό γίνεται απλά καλώντας την function \"connect\" του DBI. Όταν την +καλέσουμε, θα μας επιστρέψει ένα handler (αν επιτύχει βέβαια), και με αυτό το handler θα μιλάμε. + + Παράδειγμα 1 + $dbh=DBI->connect('DBI:Pg:dbname=dbname user=dbuser password=dbpass'); + +Η παραπάνω γραμμή, απλά συνδέεται σε μία postgres database, στην βάση με όνομα dbname, με username dbuser και password dbpass. Η database στο συγκεκριμένο +παράδειγμα πρέπει να είναι στο ίδιο μηχάνημα, και να \"ακούει\" στο standard port της Postgres, αλλιώς πρέπει να χρησιμοποιηθούν και οι παράμετροι host= και +port=. Σωστή προγραμματιστική τακτική λέει ότι πρέπει η μεταβλητή \$dbh πρέπει να έχει οριστεί νωρίτερα, και να ελεγχθεί αν πράγματι έχει τιμή αυτό που +επιστρέφεται (αν δηλαδή πέτυχε το connect). + +Αυτή η συγκεκριμένη γραμμή είναι αρκετά διαφορετική από βάση σε βάση. Για παράδειγμα για Oracle, θα έπρεπε να γραφτεί ως εξής + + Παράδειγμα 2 + $dbh=DBI->connect('DBI:Oracle:dbname', 'dbuser', 'dbpass'); + +και αυτό οφείλεται στο ότι ο κάθε προγραμματιστής ενός DBD δεν ακολουθεί κάποιους κανόνες για το πως περνάει της παραμέτρους στην βάση του. + +### [3.2 Select]{#ss3.2} + +Αφού δημιουργήσαμε τη σύνδεση, πλέον στέλνουμε εντολές, στο \$dbh. Αυτό γίνεται σε δύο στάδια (εκτός από κάποιες περιπτώσεις που θα δούμε παρακάτω). Το πρώτο +στάδιο είναι να \"προετοιμάσουμε\" την εντολή, και το δεύτερο είναι να την εκτελέσουμε. Το να λάβουμε τα δεδομένα είναι άλλη υπόθεση (και τρίτο στάδιο). Για +παράδειγμα, για να εκτελέσουμε μία τυπική select σε ένα πίνακα, έστω clients, οι εντολές είναι : + + Παράδειγμα 3 + $entoli = $dbh->prepare('SELECT * FROM clients'); + $entoli->execute(); + +Όσα είπαμε προηγουμένως για σωστή προγραμματιστική τακτική ισχύουν και εδώ (και σε όλο το άρθρο, οπότε θα σταματήσω να τα λέω), και απλά παραλείπονται μια που ο +καθένας προτιμάει τον δικό του τρόπο δήλωσης μεταβλητών και ελέγχου επιτυχίας της function. + +Όπως βλέπουμε, η prepare() δίνει την εντολή, η οποία εκτελείται από την execute(). Αν τώρα θέλουμε να επιλέξουμε συγκεκριμένα στοιχεία από τον πίνακα, απλά +αντικαθιστούμε το \* με τα στοιχεία που θέλουμε. Έστω δηλαδή ότι θέλουμε τα στοιχεία client\_name και client\_tel από τον πίνακα, οι εντολές γίνονται: + + Παράδειγμα 4 + $entoli = $dbh->prepare('SELECT client_sname, client_tel FROM clients'); + $entoli->execute(); + +Φυσικά, αν θέλουμε να περιορίσουμε την select μπορούμε μέσω του DBI, θέτοντας WHERE clauses. Ο σωστός τρόπος να γίνει αυτός είναι ο εξής: + + Παράδειγμα 5 + $entoli = $dbh->prepare('SELECT client_tel FROM clients WHERE client_sname = ?'); + $entoli->execute('kabrianis'); + +Η παράμετρος η οποία θα αντικαταστήσει το ερωτηματικό (?) όταν εκτελεστεί η εντολή, είναι η παράμετρος η οποία μπαίνει ως όρισμα στην function execute(). Τελικά +δηλαδή θα εκτελεστεί στην Database η εντολή: + + Παράδειγμα 6 + SELECT client_tel FROM clients WHERE client_sname = 'kabrianis' + +Προφανώς, μπορούμε να έχουμε περισσότερες από μία παραμέτρους στα WHERE clauses, αντικαθιστώντας τα αντίστοιχα ερωτηματικά με τις παραμέτρους, χωρισμένες με +κόμμα, στην αντίστοιχη execute(). Μπορούμε επίσης να έχουμε και subqueries, όπως: + + Παράδειγμα 7 + $entoli = $dbh->prepare('SELECT client_tel FROM clients WHERE client_addr = ? + AND client_sname in (SELECT client_sname FROM clients WHERE client_fname = ?)'); + $entoli->execute('Athina','Michalis'); + +Αν μπερδευτήκατε, ξαναδιαβάστε SQL. Η εντολή είναι απλούστατη, και θα μας βρεί από την βάση μας (πίνακα clients) όσους έχουν διεύθυνση Athina και λέγονται +Michalis. + +Όλα αυτά τα αποτελέσματα της SELECT μπορούν να διαβαστούν από εμάς, γραμμή - γραμμή, με την fetchrow\_array() μέθοδο της \$entoli, και βέβαια μας έρχονται σε +μορφή array. Για παράδειγμα, ο κώδικας του παραδείγματος 4 θα μας επιστρέφει arrays που θα περιέχουν τα client\_sname και client\_tel ως πρώτο και δεύτερο +στοιχείο του array. Το να τα κρατήσουμε σε μεταβλητές και να τα κάνουμε κάτι, είναι φυσικά εύκολο. + + Παράδειγμα 8 + while (@apotelesmata = $entoli->fetchrow_array()) { + $client_sname = $apotelesmata[0]; + $client_tel = $apotelesmata[1]; + ## + ## Εδώ κάνουμε κάτι με τα αποτελέσματα που πήραμε + ## + } + +### [3.3 Insert]{#ss3.3} + +Η χρήση της INSERT είναι πολύ απλή, και μοιάζει με αυτή της SELECT. Για παράδειγμα για να βάλουμε άλλη μία γραμμή στον παραπάνω πίνακα (ο οποίος έστω ότι έχει +πεδία id, client\_sname, client\_fname και client\_addr) θα γράψουμε τα εξής: + + Παράδειγμα 9 + $entoli = $dbh->prepare('INSERT INTO clients VALUES (?,?,?,?)'); + $entoli->execute($id,$client_sname,$client_fname,$client_addr); + +Φυσικά εδώ η fetchrow\_array() δεν θα μας επιστρέψει τίποτα. Η ανωτέρω συνάρτηση μπορεί να επεκταθεί όσο θέλετε, με βάση πάντα τα όρια της SQL, προσθέτοντας +συγκεκριμένες τιμές, σε συγκεκριμένα πεδία (αν το επιτρέπει ο πίνακας που έχετε φτιάξει). + +### [3.4 Delete]{#ss3.4} + +Πραγματικά δεν θα περιμένετε κάτι διαφορετικό, έτσι; Ας πάμε κατυεθείαν στον κώδικα: + + Παράδειγμα 10 + $entoli = $dbh->prepare('DELETE FROM clients WHERE client_sname = ?'); + $entoli->execute($client_sname); + +και φυσικά, πάλι η fetchrow\_array() δεν θα επιστρέψει τίποτα. Subqueries μπορούν να χρησιμοποιηθούν, για να σβήσουμε συγκεκριμένες γραμμές ενός πίνακα, ακόμα +και χωρίς να δώσουμε καθόλου εξωτερικά στοιχεία. + +### [3.5 Update]{#ss3.5} + +\`Αλλη μία απλή εντολή, η update, έχει ακριβώς την ίδια σύνταξη με την insert και την delete. + + Παράδειγμα 11 + $entoli = $dbh->prepare('UPDATE clients SET client_tel = ? WHERE client_sname = ?'); + $entoli->execute($client_tel,$client_sname); + +Όπως είπαμε και πιο πάνω, οι παράμετροι της execute() διαβάζονται σειριακά, και αντικαθιστούν τα ερωτηματικά που βρίσκουν στην prepare(). Αυτό το ξανατονίζω +γιατί η update είναι ίσως η πιο \"επικίνδυνη\" εντολή, από την άποψη ότι μπορεί εύκολα να κάνεις λάθος, και να μην το καταλάβεις, και να κάνεις update όλες τις +εγγραφές ενός πίνακα αντί για μία - δύο που ήθελες. + +### [3.6 Do αντί για prepare() και execute()]{#ss3.6} + +Για τις εντολές insert, update και delete, οι οποίες ΔΕΝ επιστρέφουν τίποτα, το DBI παρέχει έναν τρόπο να αποφεύγουμε τις πολλές γραμμές κώδικα. Ο τρόπος είναι +να αντικαταστήσουμε τα prepare(), execute() και finish (που θα δούμε παρακάτω) με την απλή εντολή do. + + Παράδειγμα 12 + $entoli = $dbh->do('DELETE FROM clients WHERE client_id = 5'); + +Έτσι η εντολή DELETE προετοιμάζεται (prepare()), εκτελείται (execute()) και ο handler \$entoli τερματίζεται (finish) αυτόματα. + +### [3.7 Finsh και Disconnect]{#ss3.7} + +Πρέπει πάντα, να τερματίζουμε τον handler της εντολής μετά την εκτέλεσή της, και το fetching των γραμμών που μας επιστρέφει (αν μας επιστρέφει τίποτα φυσικά). +Συνεπώς, σε όλα τα παραπάνω παραδείγματα, πρέπει να προσθέσετε στο τέλος την γραμμή: + + $entoli->finish; + +ενώ πρέπει, όταν τελειώνουμε με την βάση μας, να κλείνουμε τη σύνδεση: + + $dbh->disconnect; + + +### [4. \`Αλλα καλούδια]{#s4} + +Εκτός από τα connect, disconnect, prepare, execute, do, finish και fetchrow\_arrays που είδαμε, υπάρχουν και άλλα καλούδια που παρέχονται από το DBI, τα οποία +μπορούν να χρησιμοποιηθούν για να κάνουν τη ζωή σας ευκολότερη. Ας κάνουμε μία σύντομη αναφορά σε κάποια (τα πιο χρήσιμα ίσως) από αυτά: + +- prepare\_cached(): Αν αντί της prepare() χρησιμοποιήσουμε την prepare\_cached, τότε, κάθε φορά που θα εκτελείται ένα execute() με τις ίδιες ακριβώς + παραμέτρους, δεν θα γίνεται σύνδεση προς τη βάση, αλλά θα μας επιστρέφονται οι τιμές που έχουν γίνει cached κατά την πρώτη φορά. +- rows: Αν χρησιμοποιήσουμε την \$entoli-\>rows, θα μας επιστραφεί ο αριθμός των γραμμών που στέλνει η βάση μετά από ένα select. +- bind\_columns(): Αντί της fetchrow\_array() που είδαμε παραπάνω και του while που αναθέτουμε σε κάποιες μεταβλητές, τα στοιχεία του array που μας + επιστρέφονται, μπορούμε απλά να χρησιμοποιήσουμε την bind\_columns() δίνοντας ως παραμέτρους τα ονόματα των μεταβλητών. Τα δεδομένα από την βάση μας + έρχονται μέσω της fetch. + +Το DBI μας παρέχει στην err τον κωδικό λάθους (αν υπάρχει κάποιο) κατά την εκτέλεση της εντολής, στην errstring το μήνυμα λάθους που επιστρέφει η database, και +στην state το SQLSTATE κωδικό λάθους. Χρήσιμες functions είναι οι trace, trace\_msg και η func. + + +### [5. Βιβλιογραφία]{#s5} + +Καλό βιβλίο, και προτεινόμενο για DBI programming (και με κάποια στοιχεία SQL μέσα) είναι το Programming the Perl DBI από τις εκδόσεις O\'Reilly. Μην το ψάξετε +στον Παπασωτηρίου, δεν το έχει (και το ζητούσα 2 μήνες).\ +Πολύ καλές πληροφορίες δίνει το manual page του DBI του ίδιου.\ +Πρέπει επίσης να διαβάσετε το manual του DBD module της βάσης σας (αν φυσικά έχει ένα τέτοιο). Βιβλία για Perl και SQL ΔΕΝ θα προτείνω εδώ. + diff --git a/content/articles/23/05_apachejserv.md b/content/articles/23/05_apachejserv.md new file mode 100644 index 0000000..1b48d95 --- /dev/null +++ b/content/articles/23/05_apachejserv.md @@ -0,0 +1,290 @@ ++++ +title = 'Apache mod\_ssl mod\_jserv installation' +date = '2000-04-01T00:00:00Z' +description = '' +author = 'Κώστας Γεωργακόπουλος(mailto:kgeorga@magnet.gr)' +issue = ['Magaz 23'] +issue_weight = 5 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Αυτό το κείμενο προσπαθεί να κάνει την εγκατάσταση του apache-ssl-jserv εύκολη ώστε οποιοσδήποτε, ακολουθώντας απλά τις εντολές, να μπορέσει να εγκαταστήσει το +ρημάδι.. Πάντως δούλεψε για μένα..* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Tι πρέπει να ξέρετε.** +--------------------------------------------------------- + +**2. Απαραίτητα αρχεία και που θα τα βρείτε.** +---------------------------------------------------------------------------- + +**3. Εγκατάσταση χωρίς υποστήριξη DSO** +--------------------------------------------------------------------- + +- [3.1 Αρχίζοντας..](#ss3.1) +- [3.2 Εγκατάσταση των προαπαιτούμενων.](#ss3.2) +- [3.3 Εγκατάσταση του ApacheJserv](#ss3.3) +- [3.4 Eγκατάσταση του apache και του mod\_ssl με ένα μόνο configure (μαγεία!)](#ss3.4) +- [3.5 Τελευταία βήματα.](#ss3.5) + +**4. Εγκατάσταση με υπστήριξη DSO (Dynamic Shared Object)** +----------------------------------------------------------------------------------------- + +- [4.1 Aρχίζοντας.](#ss4.1) +- [4.2 Apache & mod\_ssl configuration σε ένα (ξανά!)](#ss4.2) +- [4.3 Εγκατάσταση ApacheJserv](#ss4.3) +- [4.4 Τελευταία βήματα.](#ss4.4) +- [4.5 Έλεγχος.](#ss4.5) + +**5. Tι να προσέξετε.** +----------------------------------------------------- + +**6. Feedback** +--------------------------------------------- + + +### [1. Tι πρέπει να ξέρετε.]{#s1} + +**Σύστημα εγκατάστασης** + +: Slackware 7.0 (kernel 2.2.14) + +**Σημειώσεις** + +: - Αν ζείτε στις Η.Π.Α η εγκατάσταση είναι διαφορετική. + - Διαλέχτε είτε WITHOUT DSO είτε DSO installation.. + - Υποθέτω οτι έχετε μια κάποια γνώση του configure script. + - Μετά τις 8/2/2000 τα ίδια βήματα ισχύουν για τον apache\_1.3.12 με mod\_ssl-2.6.0-1.3.12 . + + +### [2. Απαραίτητα αρχεία και που θα τα βρείτε.]{#s2} + +Αναγκαία αρχεία και που θα βρείτε τις τελευταίες εκδόσεις τους.. + +mod\_ssl-2.5.0-1.3.11.tar.gz\ +[www.modssl.org](http://www.modssl.org) + +openssl-0.9.4.tar.gz\ +[www.openssl.org](http://www.openssl.org) + +ApacheJserv-1.1.tar.gz\ +[java.apache.org](http://java.apache.org) + +jdk-1.2.2-RC4-linux-i386-glibc-2.1.2.tar.gz (or .bz2 )\ + + +jsdk20-solaris2-sparc.tar.Z\ + + +apache-1.3.11.tar.gz\ +[www.apache.org](http://www.apache.org) + + +### [3. Εγκατάσταση χωρίς υποστήριξη DSO]{#s3} + +### [3.1 Αρχίζοντας..]{#ss3.1} + +Διάλεγουμε ένα κατάλογο εργασίας (π.χ /root/work ) και αντιγράφουμε όλα τα παραπάνω αρχεία εκεί.. + +cd /root/work\ +tar -zxvf mod\_ssl-2.5.0-1.3.11.tar.gz\ +tar -zxvf openssl-0.9.4.tar.gz\ +tar -zxvf ApacheJserv-1.1.tar.gz\ +tar -zxvf jdk-1.2.2-RC4-linux-i386-glibc-2.1.2.tar.gz\ +tar -zxvf jsdk20-solaris2-sparc.tar.gz\ +tar -zxvf apache-1.3.11.tar.gz + +### [3.2 Εγκατάσταση των προαπαιτούμενων.]{#ss3.2} + +Εγκαθιστούμε τώρα τα αναγκαία από το jserv και το ssl πακέτα.. + +-openssl-0.9.4 (προαπαιτούμενο του mod\_ssl)- + + cd openssl-0.9.4 + ./config + make + make test + cd .. + +-jdk ( προαπαιτούμενο του by jserv)- + + cd jdk-1.2.2-RC4-linux-i386-glibc-2.1.2 + + Απλή εγκατάσταση , δεν χρειάζεται compile ( βλέπε README ) + Yποθέτουμε οτι τελικά εγκαθίσταται στο /usr/local/jdk + + cd .. + +-jsdk (προαπαιτούμενο του jserv)- + +Tα ίδια με το προηγούενο.. Yποθέτουμε οτι τελικά εγκαθίσταται στο /usr/local/jsdk + +### [3.3 Εγκατάσταση του ApacheJserv]{#ss3.3} + +Κάνουμε ένα (προαπαιτούμενο από το jserv ) configure στο top directory του apache: + + cd apache_1.3.11 + ./configure --prefix=/usr/local/apache + make install + cd .. + +Eγκαθιστούμε το ΑpacheJserv : + + cd ApacheJserv-1.1 + ./configure \ + + --prefix=/usr/local/jserv \ + --with-apache-src=../apache_1.3.11 \ + --with-jdk-home=/usr/local/jdk \ + --with-JSDK=/usr/local/jsdk \ + --enable-EAPI + + make + make install + +### [3.4 Eγκατάσταση του apache και του mod\_ssl με ένα μόνο configure (μαγεία!)]{#ss3.4} + +Κάνουμε configure τον apache μέσω του mod\_ssl : + + cd mod_ssl-2.5.0-1.3.11 + ./configure \ + + --prefix=/usr/local/apache \ + --with-apache=../apache_1.3.11 \ + --with-ssl=../openssl-0.9.4 \ + --activate-module=src/modules/jserv/libjserv.a \ + --enable-module=ssl \ + --enable-suexec \ (OPTIONAL) + --suexec-caller=nobody (OPTIONAL) + [ ..more apache options.. ] + cd .. + +Προσθέτουμε στο \"apache\_1.3.11/src/Configuration\" στο τέλος του αρχείου : + +AddModule modules/jserv/libjserv.a + +Κάνουμε μετά στον κατάλογο apache\_1.3.11 : + + make + make certificate TYPE=custom (or TYPE=dummy) + make install + +### [3.5 Τελευταία βήματα.]{#ss3.5} + +Βάζουμε κάπου στο httpd.conf : + +Include /usr/local/jserv/etc/jserv.conf + +Κάνουμε επίσης : chmod o+w /usr/local/jserv/logs + +Ξεκινάμε τον apache με υποστήριξη ssl : + +/usr/local/apache/bin/apachectl startssl + +Eλέγχουμε το jserv : + +http://server.domain.com/servlets/Hello + +Ελέγχουμε το ssl : + +https://server.domain.com/ + + +### [4. Εγκατάσταση με υπστήριξη DSO (Dynamic Shared Object)]{#s4} + +### [4.1 Aρχίζοντας.]{#ss4.1} + +Απλά επαναλάβετε τα βήματα 3.1 και 3.2 (χρειάζονται και εδώ :) ) + +### [4.2 Apache & mod\_ssl configuration σε ένα (ξανά!)]{#ss4.2} + + cd mod_ssl-2.5.0-1.3.11 + + ./configure \ + + --prefix=/usr/local/apache \ + --with-apache=../apache_1.3.11/ \ + --with-ssl=../openssl-0.9.4 \ + --enable-shared=ssl \ + --enable-rule=SHARED_CORE \ + --enable-module=so \ + --enable-suexec \ (OPTIONAL) + --suexec-caller=nobody (OPTIONAL) + [..more apache options..] + cd .. + + cd apache_1.3.11 + + make + make certificate TYPE=custom (or TYPE=dummy) + make install + + cd .. + +### [4.3 Εγκατάσταση ApacheJserv]{#ss4.3} + + cd ApacheJserv-1.1 + + ./configure \ + + --prefix=/usr/local/jserv \ + --with-apxs=/usr/local/apache/bin/apxs \ + --with-jdk-home=/usr/local/jdk/ \ + --with-JSDK=/usr/local/jsdk/ + + make + make install + +### [4.4 Τελευταία βήματα.]{#ss4.4} + + Bάζουμε κάπου στο httpd.conf : + + Include /usr/local/apache/conf/jserv/jserv.conf + + Επίσης στο AddModules section του httpd.conf: + + AddModule mod_jserv.c + +### [4.5 Έλεγχος.]{#ss4.5} + +Ξεκινάμε τον apache με υποστήριξη ssl : + +/usr/local/apache/bin/apachectl startssl + +Eλέγχουμε το jserv : + +http://server.domain.com/servlets/Hello + +Ελέγχουμε το ssl : + +https://server.domain.com/ + +:) + + +### [5. Tι να προσέξετε.]{#s5} + +Εαν έχετε 2 ή παραπάνω apache δαίμονες να ακούνε σε διαφορετικές IP διευθύνσεις στο ίδιο μηχάνημα (π.χ με IP alias) τότε μάλλον έχετε ενεργοποιήσει την Listen +εντολή στο httpd.conf : + + Listen xxx.yyy.zzz.vvv:80 + +Aν όντως συμβαίνει αυτό τότε κάντε σχόλιο την παρακάτω γραμμή στο httpd.conf στο οποίο έχετε ενεργοποιήσει την εντολή Listen : + + . + . + #Listen 80 <-- σχόλιο + Listen 443 + . + . + +Εάν έχετε και τις 2 Listen εντολές ενεργοποιημένες τότε ο apache den Θα ξεκινήσει + + +### [6. Feedback]{#s6} + +ΠΑΡΑΚΑΛΩ στείλτε μου πληροφορίες ( λάθη ή ο,τιδήποτε ) για να ξέρω αν σας βοήθησε καθόλου..\ +e-mail : [kgeorga\@it.teithe.gr.gr](mailto:kgeorga@it.teithe.gr) + diff --git a/content/articles/24/01_editorial.md b/content/articles/24/01_editorial.md new file mode 100644 index 0000000..3fcec21 --- /dev/null +++ b/content/articles/24/01_editorial.md @@ -0,0 +1,46 @@ ++++ +title = 'Editorial' +date = '2000-04-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης(mailto:kabrianis@hellug.gr)' +issue = ['Magaz 24'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Καλώς ορίσατε στο **Magaz**\... Τεύχος Παράδοσης / Παραλαβής* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Γεια σας, για τελευταία φορά από μένα από αυτό το βήμα, του αρχισυντάκτη. Από το επόμενο τεύχος, ο αρχισυντάκτης του περιοδικού αλλάζει, και εγώ μετατρέπομαι σε +απλό αρθρογράφο.\ +Λίγες εξηγήσεις για αυτό, νομίζω ότι σας τις οφείλω. Από ιδρύσεως του Magaz, δηλαδή, το 1ο τεύχος που βγήκε τον Ιανουάριο του 1998, και μέχρι και αυτό το τεύχος +(24o, Μάιος του 2000), αρχικά ανεπίσημα και στη συνέχεια επίσημα (εκ των πραγμάτων βέβαια), είχα την ευθύνη αρχισυνταξίας του Magaz. Αν και πίστευα ότι δεν +χρειάζεται να υπάρχει αρχισυντάκτης, από τα πράγματα αποδείχτηκε ότι αυτός που \"κυνηγάει\" τους αρθρογράφους, συντονίζει τι άρθρα θα γράψουν, τα στέλνει στον +διορθωτή, φτιάχνει τις σελίδες, τις \"μοιράζει\" στα mirrors και πολλά άλλα, είναι ένας άτυπος έστω αρχισυντάκτης. Αυτή η ιστορία με έχει κουράσει πλέον. Όπως +θα έχετε παρατηρήσει, τα άρθρα μου (πλην του editorial) συνεχώς μειώνονται στο περιοδικό. Αυτό είναι κάτι που δεν ήθελα να συμβεί. Συμβαίνει όμως, λόγω ελλείψης +χρόνου. Αισθάνομαι ότι υπηρέτησα καλά το Magaz από αυτή τη θέση, τα δυόμιση αυτά χρόνια. Η αλήθεια είναι ότι δεν το παραδίδω και στην καλύτερη κατάσταση, έχει +όμως δυναμική. + +Προφανώς θα συνεχίσω να είμαι τριγύρω, κυρίως γράφοντας άρθρα πλέον, εκμεταλλευόμενος τον χρόνο που θα εξοικονομήσω από την αρχισυνταξία, αλλά και σαν βοηθός +του νέου αρχισυντάκτη, αντικαθιστώντας τον όποτε χρειάζεται (σε δυό μήνες ας πούμε που θα παντρευτεί, πάλι εγώ θα βγάλω το τεύχος). + +Αναλαμβάνει νέος αρχισυντάκτης ο παλιότερος τακτικός συνεργάτης του περιοδικού που παραμένει ενεργός (μία ευνόητη και φυσιολογική εξέλιξη νομίζω), ο [Βαγγέλης +Παπαδογιαννάκης](mailto:papas@hellug.gr). Τα άρθρα του συνήθως είναι πρώτα από πλευράς αναγνωσιμότητας σε όποιο τεύχος συμμετέχουν σύμφωνα με τα στατιστικά μας, +ενώ έχει και το ρεκόρ να έχει γράψει το άρθρο με την μεγαλύτερη αναγνωσιμότητα που εμφανίστηκε στο Magaz από τότε που κρατάμε στατιστικά (το Enlightenment του +τεύχους 14). Ο Βαγγέλης έχει μεταξύ των άλλων και τις τεχνικές γνώσεις να διορθώσει τυχόν προβλήματα που θα προκύψουν, και με βάση όλα τα παραπάνω φαντάζομαι +ότι η μετάβαση θα γίνει χωρίς καν να το καταλάβετε (ή, ελπίζω, αν το καταλάβετε, θα δείτε βελτίωση). + +Είμαι σίγουρος ότι ο Βαγγέλης θα δώσει νέα πνοή στο Magaz, ενώ περιμένω από τους μέχρι τώρα συνεργάτες του Magaz (τους οποίους και ευχαριστώ προσωπικά για την +καλή συνεργασία που είχαμε) να τον στηρίξουν και βοηθήσουν στο δύσκολο έργο που αναλαμβάνει. Το Magaz πάντα στηριζόταν, και θα συνεχίσει να στηρίζεται, στην +καλή θέληση και διάθεση όλων των μελών της κοινότητας να στείλουν άρθρα. Αν αυτή η διάθεση σταματήσει να υπάρχει, το Magaz απλά θα σταματήσει να βγαίνει. Είναι +λοιπόν ευθύνη όλων μας να συνεισφέρουμε στην συνέχιση του Magaz. + +Να επισημάνω για άλλη μία φορά (τρίτη) ότι το Magaz δεν βγαίνει κάθε μήνα. Βγαίνει 10 φορές το χρόνο. Αυτό το λέω, για να προλάβω αντιδράσεις του τύπου \"άλλαξε +η δομή του και εξαφανίστηκε\" :-) + +Να στείλω τέλος, για τελευταία φορά ως αρχισυντάκτης του περιοδικού, μία πρόσκληση προς κάθε εύηκοον ους για αποστολή άρθρων.\ +Ευχαριστώ όλους που με ανεχτήκατε σε αυτό το ταξίδι των δυόμιση χρόνων. Θα τα ξαναπούμε πιστεύω, από άλλο μετερίζι. Εύχομαι στον νέο αρχισυντάκτη καλή δύναμη +και καλή επιτυχία στο δύσκολο έργο που αναλαμβάνει. + +Καλή ανάγνωση\... diff --git a/content/articles/24/02_xbasic.md b/content/articles/24/02_xbasic.md new file mode 100644 index 0000000..b79be35 --- /dev/null +++ b/content/articles/24/02_xbasic.md @@ -0,0 +1,236 @@ ++++ +title = 'Xbasic' +date = '0000-04-01T00:00:00Z' +description = '' +author = 'Κώστας Τσακάλογλου(mailto:tsakf@hellug.gr)' +issue = ['Magaz 24'] +issue_weight = 2 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Μία γλώσσα προγραμματισμού Basic που έχει αρκετά στοιχεία C. Μέρος ΙΙ* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Μετα από μια πρώτη ματιά και την πρώτη προσπάθεια να γράψω ένα πρόγραμμα σκέφτηκα ότι πρώτα πρέπει να εξοικειωθώ με το περιβάλλον ανάπτυξης εφαρμογών της XBASIC +για να μπορώ να δουλέψω καλύτερα. Στο σημερινό άρθρο θα σας παρουσιάσω το περιβάλλον ανάπτυξης για να είναι κατανοητό το παράδειγμα εφαρμογής που θα γραφτεί +μετά. + +**1. Περιβάλλον συγγραφής του κώδικα** +--------------------------------------------------------------- + +**2. Παράθυρο εμφάνισης αποτελεσμάτων** +---------------------------------------------------------------- + +**3. Παράθυρο κατασκευής γραφικών αντικειμένων** +------------------------------------------------------------------------- + +**4. Επίλογος** +---------------------------------------- + + +### [1. Περιβάλλον συγγραφής του κώδικα]{#s1} + +![](/24/img/xbdev1.gif) + +Σε αυτό το παράθυρο γράφουμε τον κώδικα και έχουμε όλες τις δυνατότητες που έχουν τα σύγχρονα περιβάλλοντα προγραμματισμού. Πχ. σημεία προσωρινής παύσης +(breakpoints), εμφάνιση τιμών μεταβλητών κ.λ.π.\ +Αναλυτικά θα δούμε τις κυριώτερες επιλογές των μενού. + +- FileNew\ + Επιλέγεται νέο αρχείο. Διαγράφεται ότι έχει παραμείνει στην μνήμη και διακόπτεται οποιαδήποτε λειτουργία. Τα δεδομένα δεν αποθηκεύονται έτσι πρέπει να έχει + γίνει πριν αποθήκευση αν θέλουμε να χρησιμοποιήσουμε πάλι το πρόγραμμα που μόλις είχαμε γράψει. Η επιλογή αυτή έχει μας δίνει την δυνατότητα να + δημιουργήσουμε 3 διαφορετικούς τύπους κώδικα. + 1. Απλό αρχείο χαρακτήρων (text file) + 2. Κανονικό πρόγραμμα BASIC (χωρίς την χρήση γραφικού περιβάλλοντος) + 3. Πρόγραμμα που χρησιμοποιεί γραφικό περιβάλλον (φόρμες, κουμπιά κ.λ.π.) +- FileTextLoad\ + Με αυτή την επιλογή μπορούμε να φορτώσουμε στο περιβάλλον αρχεία χαρακτήρων (text files) που μπορεί να μην είναι πρόγραμμα πχ. σημειώσεις. Στο περιβάλλον + δεν υποστηρίζεται η εμφάνιση χαρακτήρων πάνω από το 128 όπου αν υπάρχουν τέτoιοι χαρακτήρες θα φαίνονται περίεργα. Επίσης στο αρχείο χαρακτήρων δεν πρέπει + να υπάρχουν χαρακτήρες NULL. Βέβαια εδώ δημιουργείται το ερώτημα τι γινέται με τα Ελληνικα; Νομίζω όμως οτι μπορούμε να ξεπεράσουμε αυτόν τον περιορισμό αν + τα μηνύματα του προγράμματος δεν είναι μέσα στο ν κώδικα αλλά σε αρχείο όπου θα διαβάζεται από το πρόγραμμα. Αυτός ο τρόπος δίνει επίσης την δυνατότητα να + έχουμε διαφορετικά αρχεία για κάθε γλώσσα και έτσι νομίζω ότι ο περιορισμός του περιβάλλοντος να μην δέχεται χαρακτήρες \> 128 δεν είναι σπουδαίο πρόβλημα. +- FileLoad\ + Φορτώνεται στο περιβάλλον ένα πρόγραμμα που εχει αποθηκευθεί από πριν. +- FileSave\ + Αποθηκεύεται το τρέχον πρόγραμμα σε αρχείο. +- FileMode\ + Επιλέγεται ο τρόπος λειτουργίας του περιβάλλοντος. Text mode είναι για να μπορούμε να επεξεργαζόμαστε οποιοδήποτε κείμενο ενώ το Program Mode μας δίνει τις + ευκολίες που χρειαζόμαστε για το γράψιμο προγραμμάτων +- FileRename\ + Το επιλέγουμε για να αλλάξουμε το όνομα του προγράμματος που έχουμε στην μνήμη. +- FileQuit\ + Δηλώνουμε ότι θέλουμε να εγκαταλείψουμε το περιβάλλον εργασίας και άν έχουμε κάνει μεταβολές στο πρόγραμμά μας το περιβάλλον μας ζητά επιβεβαίωση και φύλαξη + των τελευταίων αλλαγών άν θέλουμε. +- EditCut\ + Διαγράφει καί αποθηκεύει σε προσωρική μνήμη (clipboard) το επιλεγμένο κείμενο. +- EditGrab\ + Αντιγράφει το επιλεγμένο κείμενο στην προσωρινή μνήμη (clipboard). +- EditPaste\ + Παρεμβάλλει στο τρέχον σημείο ότι είναι αποθηκευμένο στην μνήμη. +- EditFind\ + Αναζήτηση κειμένου στο πρόγραμμα +- Edit\_\_\ + Αντικατάσταση κειμένου με άλλο +- EditRead\ + Ανάγνωση αρχείου στην προσωρινή μνήμη (clipboard). +- EditWrite\ + Εγγραφή σε αρχείο της προσωρινής μνήμης (clipboard). +- EditAbandon\ + Ακύρωση όλων των αλλαγών στην τρέχουσα ρουτίνα. +- ViewFunction\ + Εμφανίζεται παράθυρο με όλες τις ρουτίνες του προγράμματος και επιλέγεται η επιθυμητή. +- ViewPriorFunction\ + Εμφανίζεται η προηγούμενη ρουτίνα +- ViewNewFunction\ + Δημιουργούμε μια νέα ρουτίνα και καθορίζουμε το όνομά της, παραμέτρους κλπ. +- ViewDeleteFunction\ + Εμφανίζεται κατάλογος με όλες τις ρουτίνες και επιλέγουμε αυτήν πρός διαγραφή. +- ViewRenameFunction\ + Δίνεται η δυνατότητα αλλαγής ονόματος της τρέχουσας ρουτίνας. Με την εντολή αλλαγής όλες οι κλήσεις σε αυτή την ρουτίνα προσαρμόζονται ανάλογα. +- ViewCloneFunction\ + Αναπαράγεται ένα πιστό αντίγραφο κάποιας ρουτίνας. +- ViewLoadFunction\ + Φορτώνεται μια ρουτίνα από αρχείο και ενσωματώνεται στο ήδη υπάρχον πρόγραμμα. +- ViewSaveFunction\ + Αποθηκεύεται μια ρουτίνα σε αρχείο για την μεταφορά της όπως είναι σε άλλο πρόγραμμα. +- Options\ + Επηρεάζεονται οι παράμετροι εμφάνισης του περιβάλλοντος και οι παράμετροι της μεταγλώττισης (Compile). +- RunStart\ + Εκτελείται το τρέχον πρόγραμμα +- RunContinue\ + Συνεχίζεται η εκτέλεση μετά από διακοπή της εκτέλεσης του προγράμματος. +- RunPause\ + Διακοπή της εκτέλεσης του προγράμματος για τον έλεγχο μεταβλητών ή κλήσεων ρουτινών. +- RunKill\ + Τερματισμός της λειτουργίας του προγράμματος και μηδενισμός μεταβλητών. +- RunRecompile\ + Γίνεται μεταγλώττιση του προγράμματος χωρίς να εκτελεστεί για το έλεγχο λαθών σύνταξης κλπ. +- RunAssembly\ + Γίνεται μεταγλώττιση του προγράμματος σε γλώσσα Assembly και αποθηκεύεται στον δίσκο με το επίθεμα .a +- RunLibrary\ + Γίνεται μεταγλώττιση του προγράμματος σε γλώσσα Assembly και αποθηκεύεται στον δίσκο με το επίθεμα .a για να χρησιμοποιηθεί για την δημιουργία βιβλιοθηκών + ρουτινών. +- DebugToggleBreakpoint\ + Τοποθετείται/ακυρώνεται στην τρέχουσα γραμμή σημείο διακοπής εκτέλεσης (Breakpoint) για έλεγχο της ροής και τνω μεταβλητών του προγράμματος. +- DebugClearBreakpoints\ + Ακυρώνονται τα σημεία διακοπής (Breakpoints) σε όλο το πρόγραμμα. +- DebugEraseBreakpoints\ + Ακυρώνονται τα σημεία διακοπής (Breakpoints) στην τρέχουσα ρουτίνα. +- DebugMemory\ + Εμφανίζονται τα περιεχόμενα της μνήμης σε σημεία πού επιλέγετε. +- DebugAssembly\ + Εμφανίζεται η τρέχουσα γραμμή σε μορφή Assembly και μπορούμε να προχωράμε τις εντολές βήμα-βήμα. +- DebugRegisters\ + Εμφανίζονται τα περιεχόμενα των καταχωρητών (Registers) του επεξεργαστή. +- Help\ + Βοήθεια για την λειτουργία το περιβάλλοντος προγραμματισμού. + + +### [2. Παράθυρο εμφάνισης αποτελεσμάτων]{#s2} + +![](/24/img/xbdev2.gif) + +Σε αυτό το πραράθυρο εμφανίζονται τα μυνήματα εισόδου/εξόδου όταν η εφαρμογή μας δεν είναι κατασκευασμένη για γραφικό περιβάλλον. Εμφανίζονται τα αποτελέσματα +(output) ή οι ερωτήσεις για πληκτρολόγηση δεδεομένων (input) με το απλό στύλ της κονσόλας.\ +Για απλά προγράμματα χωρίς περίπλοκη εισαγωγή δεδομένων είναι ότι πρέπει γιατί δεν υπάρχει λόγος να μπλέξουμε με γραφικό περιβάλλον στις απλές εφαρμογές. + + +### [3. Παράθυρο κατασκευής γραφικών αντικειμένων]{#s3} + +![](/24/img/intro3.gif) + +Με την βοήθεια του toolkit μπορούμε να δημιουργήσουμε παράθυρα,κουμπιά και ότι άλλο προσφέρει το GuiDesigner για να κατασκευάσουμε το περιβάλλον της εφαρμογής +μας. Για να φανούν οι δυνατότητες του, θα αναφέρω παρακάτω ένα-ένα τα εικονίδια και τι κάνει το κάθε ένα. Πρώτα από όλα να δούμε τι κάνουν τα μενού. + +![](/24/img/guiguide35.gif) + +Επιλέγοντας το Window μπορούμε να δημιουργήσουμε νέο παράθυρο, να εξαφανίσουμε το τρέχον, να ανακαλέσουμε κάποιο παλαιό για διόρθωση/συμπλήρωμα, να +αποθηκεύσουμε αυτό που έχουμε δημιουργήσει ή και να διαγράψουμε μόνιμα το τρέχον παράθυρο. Προσοχή! Δεν υπάρχει τρόπος να ανακληθεί παράθυρο που έχει διαγραφεί. +Ο τρόπος αποθήκευσης είναι τέτοιος ώστε τα παράθυρα αποθηκεύνται με ειδικές παραμέτρους για να μπορούν να ενσωματωθούν και να επικοινωνούν με την εφαρμογή μας. +Η τρίτη και δεύτερη επιλογή από το τέλος κάνει αυτή την μετατροπή στην μνήμη για να είναι άμεσα διαθέσιμες οι εντολές στο πρόγραμμά μας. Η τελευταία επιλογή +είναι φανερό ότι είναι το τέλος λειτουργίας του GuiDesigner. + +![](/24/img/guiguide36.gif) + +Επιλέγοντας το Grid μπορούμε να ρυθμίσουμε την εμφάνιση, την συμεριφορά, την σειρά και την εξάρτηση (ποιό αντικείμενο ανήκει που, ομάδες κλπ) του κάθε +αντικειμένου. Η τελευταία επιλογή είναι για την διαγραφή του τρέχοντος αντικειμένου.\ +Παρακάτω θα δούμε ένα ένα τα αντικείμενα του γραφικού περιβάλλοντος ένα ένα. + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + \ XuiColor. Επιλογή χρωμάτων (125 διαθέσιμα) + ![](/24/img/guiguide4.gif) + + ![](/24/img/guiguide5.gif) XuiLabel. Εμφάνιση γραμμών κειμένου ή εικόνας + + ![](/24/img/guiguide6.gif) XuiCheckBox Επιλογή ανεξαρτήτων επιλογών (όχι μία από ομάδα).. + + ![](/24/img/guiguide7.gif) XuiRadioBox Επιλογή από μια ομάδα XuiRadioBox. + + ![](/24/img/guiguide8.gif) XuiPressButton Επιλέγεται όταν πατήσουμε το ποντίκι. + + ![](/24/img/guiguide9.gif) XuiPushButton Επιλέγεται όταν πατήσουμε και αφήσουμε το ποντίκι. + + ![](/24/img/guiguide10.gif) XuiToggleButton Με το πρώτο πάτημα ένεργοποιείται και με το δεύτερο + απενεργοποιείται. + + ![](/24/img/guiguide11.gif) XuiScrollBarH Οριζόντια κίνηση/τοποθέτηση. + + ![](/24/img/guiguide12.gif) XuiScrollBarV Κάθετη κίνηση/τοποθέτηση. + + ![](/24/img/guiguide13.gif) XuiTextLine Εισαγωγή κειμένου (μία γραμμή). + + ![](/24/img/guiguide14.gif) XuiTextArea Εισαγωγή κειμένου (πολλές γραμμές). + + ![](/24/img/guiguide15.gif) XuiMenu Δημιουργία μενού εντολών. + + ![](/24/img/guiguide16.gif) XuiMenuBar Μενού επιλογών σε οριζόντια διάταξη. + + ![](/24/img/guiguide17.gif) XuiPullDown Μενού επιλογών σε κάθετη διάταξη. + + ![](/24/img/guiguide18.gif) XuiList Επιλογή ενός στοιχείου διαθέσιμου από μια λίστα. + + ![](/24/img/guiguide19.gif) ![](/24/img/guiguide20.gif) XuiMessage1B/2B/3B/4B Εμφάνιση μηνύματος με 1/2/3/4 κουμπιά επιλογών + ![](/24/img/guiguide21.gif) ![](/24/img/guiguide22.gif) αντίστοιχα. + + ![](/24/img/guiguide23.gif) XuiProgress Εμφάνιση ποσοστού εκτέλεσης/υπολοίπου για κάποια + διαδικασία. + + ![](/24/img/guiguide24.gif) ![](/24/img/guiguide25.gif) XuiDialog2B/3B/4B Εμφάνιση μηνύματος και αποδοχή απάντησης από τον + ![](/24/img/guiguide26.gif) χρήστη με 2/3/4 κουμπιά επιλογών. + + ![](/24/img/guiguide27.gif) XuiDropButton Εμφάνιση λίστας επιλογών με πάτημα κουμπιού. + + ![](/24/img/guiguide28.gif) XuiDropBox Καταχώρηση κειμένου ή επιλογή από λίστα επιλογών + + ![](/24/img/guiguide29.gif) XuiListButton Εμφάνιση λίστας επιλογών με πάτημα κουμπιού με μπάρα + μετακίνησης στην λίστα. + + ![](/24/img/guiguide30.gif) XuiListBox Καταχώρηση κειμένου ή επιλογή από λίστα επιλογών με + μπάρα μετακίνησης στην λίστα . + + ![](/24/img/guiguide31.gif) XuiRange Εμφάνιση τιμής και μεταβολή της +- με το πάτημα + κουμπιών. + + ![](/24/img/guiguide32.gif) XuiFile Ετοιμο παράθυρο για την επιλογή αρχείου + + ![](/24/img/guiguide33.gif) XuiFont Ετοιμο παράθυρο επιλογής χαρακτήρων. (Είδος, μέγεθος, + έντονα κλπ.) + + ![](/24/img/guiguide34.gif) XuiListDialog2B Εμφάνιση μηνύματος και αποδοχή απάντησης από τον + χρήστη με 2 κουμπιά + + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + +Αυτά είναι τα διάφορα αντικείμενα που μπορούμε να χρησιμοποιήσουμε για να κατασκευάσουμε την παραθυρική εφαρμογή μας. + + +### [4. Επίλογος]{#s4} + +Μετά την πρώτη γνωριμία με το περιβάλλον στο επόμενο άρθρο θα δούμε τα βασικά δομικά στοιχεία που αποτελούν μια εφαρμογή XBASIC είτε σε περιβάλλον κονσόλας είτε +σε παραθυρικό περιβάλλον (φόρμες, κουμπιά, πεδία κλπ.) Θα γίνουν και κάποια συγκριτικά τεστ με τις άλλες δύο Basic που ξέρω (Basic για το DOS και Visual Basic +gia ta Windows) έτσι για να δούμε και τί γίνεται από ταχύτητες και θα αναφέρω ότι άλλο δώ ότι είναι ενδιαφέρον κάποιος να ξέρει πρίν ξενικήσει να γράψει την +πρώτη του εφαρμογή. Θα τα ξαναπούμε στο επόμενο Magaz. + diff --git a/content/articles/24/03_gawk.md b/content/articles/24/03_gawk.md new file mode 100644 index 0000000..4d082c6 --- /dev/null +++ b/content/articles/24/03_gawk.md @@ -0,0 +1,505 @@ ++++ +title = 'Προγραμματισμός με gawk μέρος 2ο' +date = '2000-04-01T00:00:00Z' +description = '' +author = 'DJ Art(mailto:djart@hellug.gr)' +issue = ['Magaz 24'] +issue_weight = 3 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το άρθρο αυτό αποτελεί το δεύτερο (και τελευταίο) μέρος της παρουσίασης της γλώσσας awk με στόχο την βοήθεια για την εκμάθησή της.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Ενσωματωμένες συναρτήσεις** +------------------------------------------------------- + +**2. Αριθμητικοί τελεστές** +-------------------------------------------------- + +**3. Εντολές ελέγχου ροής** +-------------------------------------------------- + +- [3.1 If](#ss3.1) +- [3.2 Υποθετικός τελεστής](#ss3.2) +- [3.3 βρόγχοι](#ss3.3) + +**4. Advanced Input** +-------------------------------------------- + +- [4.1 Next](#ss4.1) +- [4.2 Exit](#ss4.2) +- [4.3 Getline](#ss4.3) +- [4.4 Input από αρχείο](#ss4.4) +- [4.5 Input από εντολή](#ss4.5) +- [4.6 Τερματίζοντας το Input από αρχείο ή εντολή](#ss4.6) + +**5. Advanced Output** +--------------------------------------------- + +- [5.1 Printf](#ss5.1) +- [5.2 Output σε αρχείο](#ss5.2) +- [5.3 Output σε εντολή](#ss5.3) +- [5.4 Τερματίζοντας το Output από αρχείο ή εντολή](#ss5.4) + +**6. Συναρτήσεις** +----------------------------------------- + +- [6.1 Δήλωση της συνάρτησης](#ss6.1) +- [6.2 Συνάρτηση με παραμέτρους](#ss6.2) +- [6.3 Η δήλωση return](#ss6.3) +- [6.4 Η συνάρτηση system](#ss6.4) + +**7. Βιβλιογραφία** +------------------------------------------ + + +### [1. Ενσωματωμένες συναρτήσεις]{#s1} + +Παρακάτω, μπορείτε να δείτε έναν πίνακα με χρήσιμες συναρτήσεις που μπορείτε να χρησιμοποιήσετε σε ένα πρόγραμμά σας: + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + \ Επιστρέφει το ημίτονο του x + sin(x) + + cos(x) Επιστρέφει το συνημίτονο του x + + int(x) Επιστρέφει το ακέραιο μέρος του x + + log(x) Επιστρέφει το φυσικό λογάριθμο του x + + exp(x) Eπιστρέφει το e υψωμένο στη δύναμη του x + + sqrt(x) Επιστρέφει την τετραγωνική ρίζα του x + + getline() Διαβάζει την επόμενη γραμμή από το αρχείο.\ + Επιστρέφει 0 για το τέλος του αρχείου, διαφορετικά,\ + επιστρέφει 1 + + rand() Επιστρέφει έναν τυχαίο αριθμό ανάμεσα στο 0 και στο 1. + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + + +### [2. Αριθμητικοί τελεστές]{#s2} + +Εδώ, επίσης θα δείτε έναν πίνακα, ο οποίος παρουσιάζει τους τελεστές που μπορείτε να χρησιμοποιήσετε για να κάνετε αριθμητικές πράξεις: + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + \ Υψώνει το x στη δύναμη του y + x\^y + + x\*\*y Κάνε ακριβώς την ίδια δουλειά με τον παραπάνω τελεστή + + x%y Υπολογίζει το υπόλοιπο της διαίρεσης x/y + + x+y Προσθέτει το x στο y + + x-y Αφαιρεί το y από το x + + x\*y Πολλαπλασιάζει το x με το y + + x/y Διαιρεί το x με το y + + -x Επιστρέφει τον αντίθετο του x (αλλάζει το πρόσημο) + + ++x Αυξάνει τον x κατά 1 και χρησιμοποιεί την τιμή (όλου αυτού) + + x++ Χρησιμοποιεί πρώτα την τιμή του x και μετά την αυξάνει κατά 1 + + \--x (αντίστοιχα με τα παραπάνω) + + x\-- (αντίστοιχα με τα παραπάνω + + x=y Αποδίδει την τιμή του y στον x + + x+=y Ισοδυναμεί με την παράσταση x=x+y + + x/=y Iσοδυναμεί με την παράσταση x=x/y + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + +**Παραδείγματα**\ +Ακόμα μπερδευόσαστε με τα x++ και ++x ; :-) Πάμε, λοιπόν, να δούμε μέσα από παραδείγματα τί ακριβώς προσφέρουν: + +x++\ +Αυτή εδώ η παράσταση ισοδυναμεί με την παράσταση x=x+1. Λοιπόν, προσέξτε: όσοι ασχολούνται για πρώτη φορά με τον προγραμματισμό, πρέπει να δώσουν ιδιαίτερη +προσοχή με το σύμβολο της ισότητας. Εδώ το = δεν σημαίνει ακριβώς \"ίσον\" !!! Το σύμβολο = χρησιμοποιείται για να αποδώσει τιμές. Δηλαδή, στην ισότητα x=x+1, +δεν πρέπει κανείς να πάει και \"να φέρει το x στο πρώτο μέλος, οπότε να μείνει 0=1\" !!! Απλά, το = κάνει το εξής: αποδίδει στην μεταβλητή x την τιμή που +υπάρχει στο δεξί μέρος του, δηλαδή, αν αρχικά είχαμε ορίσει ότι το x είναι ίσο με 3, τώρα, μετά από αυτήν την δήλωση, το x θα είναι ίσο με 4. + +y = x++\ +Αυτή εδώ η παράσταση, αντιστοιχεί σε δύο παραστάσεις, στην y=x και στην x=x+1. Δηλαδή, αν αρχικά το x είναι ίσο με 3, τότε το y ισούται με 3 (**ΠΡΟΣΟΧΗ εδώ**), +ενώ το x πιά ισούται με 4 !!!! Κοιτάξτε και το παρακάτω παράδειγμα για να καταλάβετε: + +y = \--x\ +Λοιπόν, και αυτή η παράσταση αντιστοιχεί σε άλλες δύο, στην x=x-1 και στην y=x. Μα, θα μου πείτε, αυτές οι δύο δεν έχουν διαφορά με τις παραπάνω. Πρέπει να +λάβετε υπ\' όψιν την σειρά με την οποία εκτελούνται οι παραστάσεις, δηλαδή εδω, **ΠΡΩΤΑ** μειώνεται η τιμή του x κατά 1 και **ΜΕΤΑ** αποδίδεται η τιμή (του +μειωμένου πιά x) στην μεταβλητή y, δηλαδή αν είχαμε αρχικά ότι το x ισούται με 3, τότε τώρα πιά, το x **ΑΛΛΑ ΚΑΙ ΤΟ** y ισούται με 2. + + +### [3. Εντολές ελέγχου ροής]{#s3} + +### [3.1 If]{#ss3.1} + +Απο τη φύση της, η gawk έχει την εξής μορφή: αν το πρότυπο ικανοποιείται, τότε εκτελείται η πράξη. Φυσικά, έχετε τη δυνατότητα να γράψετε ένα πρόγραμμα με +\"υποθετική ροή\". Αυτό μπορείτε να το κάνετε, φυσικά, με το if. + +Η γενική δομή του if έχει ως εξής: + + if (υπόθεση) + εντολή που εκτελείται αν η υπόθεσή μας είναι αληθινή + else + εντολή που εκτελείται αν η υπόθεσή μας δεν είναι αληθινή + +Η υπόθεσή μας μπορεί να είναι οποισδήποτε συνδυασμός προτύπων από αυτά που είπαμε στο 1ο μέρος. Τώρα, αν θέλετε να εκτελούνται περισσότερες από μία εντολές, +μετά τον έλεγχο αληθείας της υπόθεσης, τότε θα πρέπει να \"περικυκλώσετε\" τις εντολές με αγκύλες ({ }), ακριβώς όπως και στη C. + +Μπορείτε να χρησιμοποιήσετε πολλά if στη σειρά (και μετά από ένα else) με τον εξής τρόπο: + + if ("Linux" in magaz_subject) + print "We are studying Linux :-)" + else if ("gawk" in magaz_subject) + print "We are studying awk :-)" + else + print "We are doing nothing :-(" + +### [3.2 Υποθετικός τελεστής]{#ss3.2} + +Η gawk σας παρέχει με αυτόν τον τελεστή, ο οποίος αποτελείται από τρείς παραμέτρους, τη δυνατότητα να εφαρμόζετε if-ελέγχους ανά πάσα στιγμή μέσα στο πρόγραμμά +σας. Η μορφή του είναι η εξής: + + υπόθεση ? αποτέλεσμα σε περίπτωση αλήθειας : εναλλακτικό αποτέλεσμα (σε μη-αληθινή περίπτωση) + +Αυτός ο τελεστής καθιστά τα προγράμματά σας πιο ευανάγνωστα. Ας δούμε ένα παράδειγμα χρήσης του παραπάνω τελεστή σε περίπτωση όπου ανάλογα με τον αριθμό των +αρχείων που αντιγράφηκαν, θέλουμε πληθυντικό ή ενικό: + + { print $1, "αρχεί" $1 != 1 ? "α αντιγράφηκαν" : "ο αντιγράφηκε" } + +Αν θα θέλαμε να γράψουμε το παραπάνω, χρησιμοποιώντας το if, τότε θα γράφαμε: + + if ( $1 != 1 ) + print $1, "αρχεία αντιγράφηκαν" + else + print $1, "αρχείο αντιγράφηκε" + +### [3.3 βρόγχοι]{#ss3.3} + +H awk υποστηρίζει τους βρόγχους do, for και while, όπως ακριβώς αυτοί συντάσσονται στην C. Μια γενική συμβουλή (για όλους τους βρόγχους) είναι να μην ξεχνάτε να +χρησιμοποιείτε αγκύλες ({ }) όταν θέλετε μέσα στο βρόγχο να εκτελέσετε πάνω από μία εντολές. Ένα λάθος που γίνεται συχνά είναι ακριβώς αυτό, να ξεχνάει κανείς +τις αγκύλες. + +#### Do + +Ο βρόγχος do (συνήθως καλείται και do-while) αποτελείται από δύο μέρη: τις εντολές που θέλουμε να εκτελέσουμε και τον (υποθετικό) έλεγχο. Προσέξτε πως αυτός ο +βρόγχος έχει το χαρακτηριστικό να εκτελούνται οι εντολές που του δηλώνουμε τουλάχιστον μία φορά, καθώς ο υποθετικός έλεγχος που \"επιβάλλουμε\" αναγράφεται μετά +την δήλωση των εντολών. Για να το καταλάβετε καλύτερα, ας δούμε τη σύνταξη του do: + + do + εντολές + while (υπόθεση) + + π.χ: + + do + print "Magaz kicks!!" + while ($1 != 1) + +Το μήνυμα της print θα εκτελείται μέχρι το πρώτο πεδίο (\$1) να πάρει την τιμή 1. Όμως, ακόμα και αν το \$1 \"ξεκινάει\" με αρχική τιμή 1, τότε το μήνυμα θα +τυπωθεί. Απλά, όταν θα γίνει ο έλεγχος και \"ικανοποιηθεί\" η while, δεν θα ξαναγυρίσουμε στο do, αλλά το πρόγραμμα θα προχωρήσει στις τυχόν παρακάτω εντολές. + +#### For + +O βρόγχος for είναι ένας πασίγνωστος βρόγχος στις γλώσσες προγραμματισμού. Ας δούμε κατ\' ευθείαν την σύνταξή του για να καταλάβουμε τη λειτουργία του: + + for (i = 0; i < 100; i++) + { + εντολή 1 + εντολή 2 + } + +Παραπάνω, οι εντολές του βρόγχου θα εκτελεστούν 100 φορές!! Ας δούμε γιατί: Αρχικά, ορίζουμε μιά μεταβλητή, την i, η οποία θα μας χρησιμεύσει απλά και μόνο για +το πόσες φορές θα εκτελεστεί ο βρόγχος, και δίνουμε στην i την τιμή 0. Μετά, η for κοιτάει τη 2η δήλωση στην παρένθεση (οι δηλώσεις, υπενθυμίζω, χωρίζονται με +;) και κάνει τον υποθετικό έλεγχο. Στην περίπτωσή μας, ελέγχεται αν η τιμή της μεταβλητής i είναι μικρότερη από 100 και αν είναι, τότε εκτελούνται οι εντολές +που καθορίσαμε. Μετά (και εδώ φαίνεται η \"δυναμη\" της for), δεν χρειάζεται να \"κανονίσουμε\" εμείς την μεταβλητή i, αλλά έχουμε δηλώσει η i να αυξάνεται κατά +1. Η for λοιπόν, αυξάνει την τιμή της i και ξαναρχίζει: κάνει τον έλεγχο, εκτελεί της εντολές, αυξάνει την i κ.ο.κ. \... Όταν, λοιπόν, η i θα αποκτήσει την τιμή +100, τότε δεν θα εκτελεστούν οι εντολές, καθώς το αποτέλεσμα του ελέγχου 100 \< 100 είναι ψευδές (το 100 δεν είναι μικρότερο από το 100 !! :) + +#### While + +Ο βρόγχος while είναι αρκετά απλός και μάλλον θα έχετε ήδη καταλάβει πως λειτουργεί (από το βρόγχο do-while). Σε αντίθεση με την do, οι εντολές εκτελούνται μόνο +αν το αποτέλεσμα του υποθετικού ελέγχου, ο οποίος γίνεται στην αρχή του βρόγχου, είναι αληθής. Ας δούμε τη σύνταξή του: + + while (υπόθεση) + εντολή(ες και μήν ξεχάσετε τις αγκύλες :) + +Γενικά, για τους βρόγχους, να έχετε υπ\' όψιν πως μέσα στις εντολές του βρόγχου, η μεταβλητή πάνω στην οποία γίνεται ο υποθετικός έλεγχος, πρέπει να αλλάζει, +αλλιώς ο βρόγχος μας δεν τελειώνει ποτέ !!! (ατέρμων βρόγχος) + +#### Έλεγχος στους βρόγχους + +Όπως και στις υπόλοιπες γλώσσες προγραμματισμού, έτσι και στην awk, έχετε τη δυνατότητα να \"βγείτε\" από έναν βρόγχο (loop), \"νωρίτερα από το κανονικό\", +δηλαδή χωρίς να \"ικανοποιηθεί\" κάποιος υποθετικός έλεγχος και τερματίσει ο βρόγχος. Αυτό μπορείτε να το κάνετε με δύο εντολές: την break και την continue. + +Με την εντολή break **\*ΑΚΑΡΙΑΙΑ\*** τερματίζετε τον βρόγχο και, φυσικά, όσες εντολές ακολουθούν την break **\*ΜΕΣΑ\*** στον βρόγχο, δεν εκτελούνται, αλλά το +πρόγραμμα θα συνεχίσει, εκτελώντας τις εντολές που τυχόν βρίσκονται μετά τον βρόγχο. Η εντολή break είναι σαν να εκτελείτε εκείνη την στιγμή τον υποθετικό +έλεγχο του βρόγχου, αλλά το αποτέλεσμα **\*ΒΕΒΙΑΣΜΕΝΑ\*** (από την break) είναι μή αληθές (FALSE). + +Αντίθετα, η εντολή continue αναγκάζει τον βρόγχο να εκτελέσει τον υποθετικό του έλεγχο. Όσες τυχόν εντολές βρίσκονται μετά την continue (μέσα στο βρόγχο) δεν +εκτελούνται. Η continue δεν είναι σίγουρο πως θα \"τερματίσει\" το βρόγχο, αν το αποτέλεσμα του βρόγχου είναι αληθές (TRUE), τότε ο βρόγχος θα συνεχίσει να +εκτελείται. Η continue είναι ιδιαίτερα χρήσιμη αν θέλετε (για κάποιο λόγο, για κάποια συνθήκη) να \"παρακάμψετε\" κάποιες εντολές του κώδικα. + + +### [4. Advanced Input]{#s4} + +Εξ ορισμού, η awk αυτόματα διαβάζει και εκτελεί συνέχεια την ίδια δουλειά: Διαβάζει μιά εγγραφή και αν ταιριάξει κάποιο πεδίο ή εγγραφή με το πρότυπο, τότε +εκτελεί την πράξη. Όμως, η awk σας δίνει την δυνατότητα να \"επέμβετε\" σε όλην αυτήν την διαδικασία και να πάρετε την είσοδο (input) από ένα άλλο αρχείο ή να +προκαλέσετε πρώιμο ξαναξεκίνημα της όλης διαδικασίας, να πάρετε είσοδο από την έξοδο κάποιας εντολής κλπ. + +### [4.1 Next]{#ss4.1} + +Η εντολή next \"υποχρεώνει\" την awk να διαβάσει την αμέσως επόμενη εγγραφή και να κάνει τα γνωστά (ταίριασμα των προτύπων και αν είναι αληθές, τότε εκτέλεση +της πράξης κλπ.), δηλαδή αγνοείται πλήρως η παρούσα εγγραφή που επεξεργάζεται η awk. + +### [4.2 Exit]{#ss4.2} + +Η εντολή exit, χρησιμοποιούμενη σε πράξη, συμπεριφέρεται σαν να έφτασε το τέλος του αρχείου (που επεξεργάζεται η awk). Αυτό έχει σαν συνέπεια να σταματήσει, +γενικότερα, η εκτέλεση του κώδικα, δεν εκτελούνται άλλες πράξεις, δεν ταιριάζονται άλλα πρότυπα. Στη συνέχεια, κανονικά, εκτελείται (αν υπάρχει, βέβαια) το +ειδικό πρότυπο END. + +Αν τώρα, χρησιμοποιήσουμε την εντολή exit μέσα στο ειδικό πρότυπο END, τότε τερματίζεται ολόκληρο το πρόγραμμα, δεν εκτελείται τίποτα άλλο στη συνέχεια. + +### [4.3 Getline]{#ss4.3} + +Η εντολή getline διαβάζει μία εγγραφή \"κατηγορηματικά\", επιστρέφει 1 αν η ανάγνωση της εγγραφής ήταν επιτυχής (θυμίζω πως εξ ορισμού η κάθε γραμμή ενός +αρχείου αποτελεί μία εγγραφή), ή 0 αν δεν ήταν επιτυχής (δηλαδή αν έφτασε στο τέλος του αρχείου). Η getline συμπεριφέρεται \"κανονικά\", δηλαδή ορίζει με τον +σωστό τρόπο το \$0, ορίζει τις μεταβλητές πεδίων και τις μεταβλητές FNR, NR και NF). + +### [4.4 Input από αρχείο]{#ss4.4} + +Έτσι, λοιπόν, η getline μπορεί να χρησιμεύσει για να πάρετε είσοδο δεδομένων από κάποιο αρχείο, το οποίο δεν αναφέρατε στην γραμμή εντολών. Η γενική μορφή, με +την οποία χρησιμοποιούμε την getline σ\' αυτήν την περίπτωση είναι η getline \< \"filename\". Σε αυτήν την περίπτωση, αν το αρχείο υπάρχει και η getline διάβασε +εγγραφή, επιστρέφει 1, αλλιώς αν έφτασε στο τέλος του αρχείου επιστρέφει 0, ενώ αν το αρχείο δεν υπάρχει επιστρέφει -1. + +ΣΗΜΕΙΩΣΗ: Και πάλι, οι μεταβλητές \$0, οι μεταβλητές πεδίων και η NF ορίζονται κανονικά, ενώ οι μεταβλητές FNR και NR **ΔΕΝ ΑΛΛΑΖΟΥΝ, ΠΑΡΑΜΕΝΟΥΝ ΩΣ ΕΙΧΑΝ !!** + +### [4.5 Input από εντολή]{#ss4.5} + +Μιά άλλη περίπτωση όπου χρησιμοποιείται η getline, είναι η είσοδος από UNIX εντολή. Ας δούμε πως μπορούμε να συντάξουμε κάτι τέτοιο: + + while ("UNIX εντολή" | getline) + { + # ακολουθούν οι εντολές που θέλω να εκτελέσω + } + +Φανταστείτε π.χ. πως θα θέλατε κάθε φορά που μπαίνει ένας χρήστης στο σύστημα, να τυπώνετε ένα μήνυμα (ή, τέλος πάντων, να κάνατε κάτι άλλο), τότε στη θέση της +UNIX εντολής θα βάζατε το who ή και το who -u. + +### [4.6 Τερματίζοντας το Input από αρχείο ή εντολή]{#ss4.6} + +Καλό θα είναι, κάθε φορά που χρησιμοποιείτε την getline για να \"ανοίξετε\" ένα αρχείο ή μία εντολή, δηλαδή να πάρετε είσοδο από αυτά, να τα \"κλείνετε\" όταν +τελειώσετε με αυτά. Υπάρχει ένας μέγιστος αριθμός \"ανοιχτών\" αρχείων/εντολών που επιτρέπεται σε έναν χρήστη (αυτός ο αριθμός ποικίλει από σύστημα σε σύστημα, +αλλά και ανάλογα με τις ρυθμίσεις του διαχειριστή του συστήματος). Με το να \"κλείνετε\" τις εντολές/αρχεία που χρησιμοποιήσατε, ουσιαστικά μειώνετε την +πιθανότητα να φτάσετε τον μέγιστο αριθμό. Λοιπόν, αυτό μπορείτε να το κάνετε με την εξής εντολή: + + close ("filename") + +Στη θέση του filename μπορείτε να χρησιμοποιήσετε είτε το όνομα κάποιας μεταβλητής (η οποία περιέχει αρχείο/εντολή) είτε το όνομα της εντολής που +χρησιμοποιήσατε (εδώ, προσέξτε να δηλώσετε την ακριβή εντολή που χρησιμοποιήσατε, π.χ. αν χρησιμοποιήσετε την who -u να γράψετε close (\"who -u\") \...). + + +### [5. Advanced Output]{#s5} + +Μερικές πιο ειδικευμένες δυνατότητες υπάρχουν στην awk για την έξοδο (output). Αυτές είναι: το \"όμορφο\" φορμάρισμα του κειμένου, η ανακατεύθυνση του output σε +αρχεία (κειμένου) και η διασωλήνωση του output στην είσοδο (input) άλλων (εξωτερικών) εντολών του command prompt. + +### [5.1 Printf]{#ss5.1} + +Η εντολή print που είδαμε (στο 1ο μέρος), είναι αρκετά απλή και το output της είναι και αυτό αρκετά απλό. Αν, όμως, θέλετε να έχετε μορφοποιημένη την έξοδο του +προγράμματός σας (παραγωγή στηλών, για παράδειγμα), τότε θα πρέπει να χρησιμοποιήσετε την δανεισμένη από τη C εντολή, την printf. H printf έχει την εξής γενική +μορφή: + + printf("αλφαριθμητικό ελέγχου", λίστα_ορισμάτων, 1ο όρισμα, 2ο όρισμα, κ.ο.κ.) + +Το αλφαριθμητικό ελέγχου, μπορεί να αποτελείται από τα εξής στοιχεία: + +1. Απλούς χαρακτήρες (δηλαδή κείμενο) +2. ειδικούς μεταχαρακτήρες (θυμάστε το \\n π.χ.) +3. Τις διαταγές φόρμας + +Ας δούμε από ένα παράδειγμα για τα παραπάνω τρία στοιχεία, και μετά να μιλήσουμε περισσότερο για τις διαταγές φόρμας: + +1. printf(\"hello world\") +2. printf(\"\\f\") +3. printf(\"%22s\", \"Magaz\") +4. Και φυσικά, συνδυασμό όλων αυτών των στοιχείων (θα το δούμε) + +#### Διαταγές φόρμας + +Λοιπόν, κάθε διαταγή φόρμας αποτελείται από 3 μέρη. Στο 1ο μέρος, **ΠΑΝΤΑ**, γράφουμε το σύμβολο του ποσοστού (**%**). Κάθε διαταγή φόρμας αρχίζει με αυτό το +σύμβολο. Το 2ο μέρος συμπληρώνεται προαιρετικά. Συμπληρώνεται με αριθμούς, οι οποίοι υποδηλώνουν το μέγιστο μήκος της εξόδου. Τέλος, το 3ο μέρος αποτελείται από +ειδικούς χαρακτήρες, οι οποίοι υποδηλώνουν το είδος της εξόδου (αν είναι αλφαριθμητικό, αν είναι δεκαδικός αριθμός κλπ.) Θα μιλήσουμε τώρα αναλυτικότερα για το +2ο μέρος και μετά θα δούμε έναν πίνακα με τους χαρακτήρες του 3ου μέρους. + +Ο αριθμός, το εύρος πεδίου, αποτελείται από δύο αριθμούς οι οποίοι χωρίζονται με μία τελεία (.), δηλαδή είναι της μορφής x.y. Αν η έξοδος μας είναι δεκαδικός +αριθμός, τότε ο αριθμός αριστερά από την τελεία υποδηλώνει τον αριθμό ψηφίων **ΟΛΟΥ** του αριθμού (*συμπεριλαμβανόμενης της τελείας (.) του αριθμού*), ενώ ο +αριθμός δεξιά από την τελεία υποδηλώνει τον αριθμό ψηφίων του δεκαδικού μέρους του αριθμού. Αν τώρα, η έξοδος μας δεν είναι δεκαδικός αριθμός, αλλά ο,τιδήποτε +άλλο, τότε ο αριθμός αριστερά από την τελεία είναι ο ελάχιστος αριθμός ψηφίων/χαρακτήρων αυτού που θα τυπώσουμε, ενώ ο αριθμός δεξιά της τελείας είναι ο +μέγιστος αριθμός ψηφίων/χαρακτήρων και ο \"πραγματικός\" αριθμός των ψηφίων/χαρακτήρων που τελικά θα εκτυπωθούν. Δηλαδή, μπορείτε κάλλιστα να παραλείψετε τον +αριθμό αριστερά της τελείας (π.χ. %.4s) + +**ΣΗΜΕΙΩΣΕΙΣ:**\ +Αν θέλετε μέσα από την printf να τυπώσετε τον χαρακτήρα %, τότε θα γράψετε μέσα στον κώδικά σας %%.\ +Εξ ορισμού, η έξοδος της printf είναι σε δεξιά στοίχιση. Αν θέλετε να έχετε αριστερή, τότε μπροστά από τον αριθμό που βρίσκεται αριστερά της τελείας (στο εύρος +πεδίου) βάζετε το σύμβολο μείον (-). + +Παρακάτω, βλέπετε τον πίνακα με τους χαρακτήρες που μπορείτε να χρησιμοποιήσετε. Στη συνέχεια θα δούμε και παραδείγματα. + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + \ **Σημασία** + **Κωδικός φόρμας** + + %c Χαρακτήρας ASCII + + %d Ακέραιος δεκαδικός αριθμός + + %i Το ίδιο με το %d + + %e Εκτύπωση δεκαδικού αριθμού κινητής υποδιαστολής με επιστημονική\ + σημειογραφία, δηλαδή της μορφής \[-\]x.xxxxe\[-/+\]xxx + + %f Δεκαδικός κινητής υποδιαστολής + + %g Η awk κρίνει και διαλέγει για έναν αριθμό μία από τις μορφές %e και\ + %f (όποια έχει μικρότερο μήκος) και, παράλληλα, \"απαλοίφει\" άχρηστα μηδενικά + + %o Μη προσημασμένος (χωρίς πρόσημο) ακέραιος οκταδικός αριθμός + + %s Αλφαριθμητικό + + %x Μη προσημασμένος ακέραιος δεκαεξαδικός αριθμός (με πεζά τα abcdef) + + %X Μη προσημασμένος ακέραιος δεκαεξαδικός αριθμός (με κεφαλαία τα ABCDEF) + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + +#### Παραδείγματα + +Επειδή θέλω να σας δείξω την λειτουργία του εύρους πεδίου, θα συμβολίζω τα κενά με παύλα (-), ώστε να μπορείτε να μετρήσετε τους χαρακτήρες και τα κενά (και να +βγάλετε τα συμπεράσματά σας): + + printf("%10d\n", 29) (θα έχει σαν αποτέλεσμα:) --------29 + + printf("%-10d\n", 29) 29-------- + + printf("%10.3f\n", 123.56) ---123.560 + + printf("%15s\n", "Linux Magaz") ----Linux Magaz + + printf("%-15s\n", "Linux Magaz") Linux Magaz---- + +### [5.2 Output σε αρχείο]{#ss5.2} + +Όπως και στην περίπτωση της getline, έτσι και εδώ, μπορείτε να χρησιμοποιήσετε τα σύμβολα της ανακατεύθυνσης για να στείλετε την έξοδο κατ\' ευθείαν μέσα σε ένα +αρχείο. Π.χ: + + printf("hello world\n") > "filename" + printf("hello world\n") >> "filename" + +### [5.3 Output σε εντολή]{#ss5.3} + +Σε αυτήν την περίπτωση, έχετε την δυνατότητα να στείλετε έξοδο (output) στην είσοδο (input) μιάς εξωτερικής εντολής του UNIX. Π.χ: + + printf("hello world\n") | "sort -t , " + +### [5.4 Τερματίζοντας το Output από αρχείο ή εντολή]{#ss5.4} + +Ακριβώς για τους ίδιους λόγους που αναφέραμε στην getline, έτσι και εδώ, καλό θα ήταν να \"κλείνετε\" ένα αρχείο ή μία εντολή αφού τελειώσετε με αυτά. Η σύνταξη +είναι ακριβώς η ίδια: close (\"filename\") και στη θέση του filename χρησιμοποιείτε είτε όνομα αρχείου, είτε το όνομα της **ΑΚΡΙΒΟΥΣ** εντολής που τρέξατε με +διασωλήνωση, είτε το όνομα κάποιας μεταβλητής που \"δείχνει\" σε αρχείο. + + +### [6. Συναρτήσεις]{#s6} + +**ΠΡΟΣΟΧΗ!!!**\ +Οι συναρτήσεις (που ορίζονται από τον χρήστη) δεν υπάρχουν στην \"αυθεντική\" awk, αλλά προστέθηκαν αργότερα στην nawk και υποστηρίζονται από την gawk. + +Όπως θα καταλάβατε, εκτός από τις ενσωματωμένες συναρτήσεις η gawk σας επιτρέπει να φτιάξετε τις δικές σας. Μία συνάρτηση χρησιμεύει σε ένα πρόγραμμα αν θέλετε +να επαναλάβετε τα ίδια κομμάτια κώδικα σε πολλά σημεία του προγράμματος, ώστε να μην ξαναγράφετε κάθε φορά το ίδιο πράγμα. Η χρήση των συναρτήσεων απαιτεί δύο +βήματα: την δήλωση της συνάρτησης και την κλήση της συνάρτησης μέσα στο πρόγραμμα. + +### [6.1 Δήλωση της συνάρτησης]{#ss6.1} + +Παρακάτω, θα δούμε τον κώδικα που απαιτείται για να δηλώσετε μιά συνάρτηση. Επιπλέον, να σημειώσω πως δεν παίζει κανέναν ρόλο η θέση που θα δηλώσετε την +συνάρτηση. Μπορείτε κάλλιστα να την δηλώσετε στο τέλος του προγράμματος. + + function όνομα_συνάρτησης(παράμετροι) { + κώδικας της συνάρτησης + } + +Τώρα θα δούμε τη λειτουργία των συναρτήσεων μέσα από τρία παραδείγματα. Το πρώτο παράδειγμα θα δείχνει την συνάρτηση στην απλή της μορφή (χωρίς παραμέτρους), το +δεύτερο παράδειγμα θα δείχνει τη χρήση, λειτουργία και χρησιμότητα των παραμέτρων, ενώ στο 3ο παράδειγμα, θα μιλήσουμε για την δήλωση return και θα δούμε το +αντίστοιχο παράδειγμα. + + BEGIN { function1() } + + function function1() { + printf("Magaz τεύχος 24\n"); + printf("Άρθρο για gawk\n"); + } + +Όταν τρέξουμε το πρόγραμμα, το αποτέλεσμα θα είναι να μας τυπώσει στην οθόνη το περιεχόμενο των δύο printf, όπως ορίζονται μέσα στην συνάρτηση. Δώστε ιδιαίτερη +έμφαση στις παρενθέσεις της συνάρτησης, πάντα πρέπει να τις γράφετε (σε αντίθεση με τις ενσωματωμένες συναρτήσεις της awk, όπου είναι προαιρετική η αναγραφή των +παρενθέσεων). + +### [6.2 Συνάρτηση με παραμέτρους]{#ss6.2} + +Όταν χρησιμοποιούμε παραμέτρους στη συνάρτηση, τότε η αριθμητική αξία της μεταβλητής που αποτελεί την παράμετρο, αντιγράφεται και μετά \"περνάει\" στην +συνάρτηση. Αυτό έχει σαν αποτέλεσμα η αρχική τιμή της μεταβλητής-παραμέτρου να παραμένει αναλλοίωτη. Αυτό είναι ένα πλεονέκτημα, μπορεί να μας φανεί σε πολλές +περιπτώσεις χρήσιμο. Βέβαια, υπάρχει πάντα και η δυνατότητα να αλλοιωθεί, θα το δούμε παρακάτω. Ας δούμε τώρα ένα παράδειγμα: + + BEGIN { variable = 0; function1(variable); + printf("Η τιμή της μεταβλητής variable είναι: %d\n", variable); } + + function function1(variable2) { + variable2++; + printf("Η τιμή της μεταβλητής variable2 είναι: %d\n", variable2); } + +Όταν εκτελέσουμε το πρόγραμμα θα δούμε πως θα μας τυπωθούν στην οθόνη δύο γραμμές. Η πρώτη γραμμή (που θα προέρχεται από την συνάρτηση) θα λέει πως η variable2 +είναι ίση με 1, ενώ η δεύτερη θα λέει πως η variable είναι ίση με 0. Βλέπετε, λοιπόν, πως η τιμή της variable αντιγράφεται στην variable2 και δεν αλλάζει. + +### [6.3 Η δήλωση return]{#ss6.3} + +H return έχει δύο λειτουργίες: είτε να επιστρέψετε την τιμή της παραμέτρου, είτε να βγείτε από την συνάρτηση νωρίτερα. Η σύνταξή της είναι: return +όνομα\_μεταβλητής. Μπορείτε σε κάθε συνάρτηση να επιστρέψετε την τιμή *μόνο μίας μεταβλητής*, **όχι παραπάνω**. Ας δούμε το παράδειγμα: + + BEGIN { variable = 0; function1(variable); + printf("Η τιμή της μεταβλητής variable είναι: %d\n", variable); } + + function function1(variable2) { + variable2++; + printf("Η τιμή της μεταβλητής variable2 είναι: %d\n", variable2); + return variable2; } + +Σε αυτήν την περίπτωση, θα τυπωθούν δύο γραμμές πάλι. Και στις δύο γραμμές η τιμή των μεταβλητών θα είναι ίση με 1, καθώς η τιμή της variable2 επέστρεψε στην +τιμή της variable. + +### [6.4 Η συνάρτηση system]{#ss6.4} + +Η συνάρτηση system είναι ενσωματωμένη στην awk. Είναι διαφορετική από τις άλλες, δεν ανήκει ούτε στην κατηγορία των αριθμητικών ούτε στην κατηγορία των +αλφαριθμητικών συναρτήσεων. Αυτό που πραγματικά κάνει είναι να εκτελεί το αλφαριθμητικό που της δόθηκε ως παράμετρος, επιτρέποντας στον προγραμματιστή να +εκτελεί απ\'ευθείας εντολές μέσα από το πρόγραμμα. Η σύνταξη της system έχει ως εξής: + + system ("εντολή") + + +### [7. Βιβλιογραφία]{#s7} + +Για την επίτευξη αυτού του άρθρου (συμπεριλαμβανομένου, φυσικά, και του 1ου μέρους) συμβουλεύτηκα τις εξής πηγές: + +- Την man page της εντολής gawk (man gawk) +- Το βιβλίο \"Linux Unleashed\" της SAMS +- Το βιβλίο \"UNIX: Θεωρία και πράξη\" του Κώστα Ν. Γιαλελή + +Αν θα θέλατε να κάνετε ένα βήμα παραπάνω από το άρθρο, θα σας συμβούλευα πριν ψάξετε οπουδήποτε αλλού, να διαβάσετε τουλάχιστον μία φορά το man page της gawk. +Είναι πολύ κατατοπιστικό και πολύ περιεκτικό. + diff --git a/content/articles/24/04_perldbi.md b/content/articles/24/04_perldbi.md new file mode 100644 index 0000000..c40358c --- /dev/null +++ b/content/articles/24/04_perldbi.md @@ -0,0 +1,88 @@ ++++ +title = 'DataBaseInterface για Perl μέρος 2ο' +date = '2000-06-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης(mailto:kabrianis@hellug.gr)' +issue = ['Magaz 24'] +issue_weight = 4 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Σε αυτό το τεύχος συνεχίζουμε την προσέγγιση στον προγραματισμό Perl για Databases μέσω του DBI interface που ξεκινήσαμε στο τεύχος Απριλίου.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αυτή τη φορά θα ασχοληθούμε με απλά κολπάκια για καλύτερο προγραμματισμό, τα οποία δεν αναφέραμε στο εισαγωγικό άρθρο. Ξεκινάμε: + +1. Έλεγχος λαθών + + Είχαμε πει στο προηγούμενο τεύχος ότι πρέπει ο προγραμματιστής να ελέγχει το exit status κάθε function που καλεί, για να δει αν πέτυχε ή όχι. Σε περίπτωση + που δεν πέτυχε μπορεί να κάνει κάποιες δουλειές, αλλά συνήθως θέλει να σταματάει η εργασία εκεί. Γι αυτό το DBI παρέχει το RaiseError. Αμέσως μετά τη + σύνδεση (ή και παράλληλα) μπορούμε να θέσουμε τη μεταβλητή RaiseError και τότε, σε κάθε error το πρόγραμμά μας θα σταματάει με ένα die. + + Παράδειγμα 1 + $dbh=DBI->connect('DBI:Pg:dbname=dbname user=dbuser password=dbpass'); + $dbh->{RaiseError} = 1; + + Η πρώτη γραμμή, απλά συνδέεται σε μία postgres database, στην βάση με όνομα dbname, με username dbuser και password dbpass. Η δεύτερη γραμμή θέτει τη + μεταβλητή RaiseError όπως λέγαμε. \`Αλλη μία μεταβλητή που μπορεί να τεθεί με αυτόν τον τρόπο, είναι η AutoCommit, για transactional databases. Αν δεν + ξέρετε τι είναι transactional database, καλά θα κάνετε να διαβάσετε το manual της βάσης σας. + +2. Απ\' ευθείας ανάθεση αποτελεσμάτων σε μεταβλητές + + Εκτός από την παραδοσιακή μέθοδο που είδαμε στο προηγούμενο τεύχος, να τοποθετούμε δηλαδή τα αποτελέσματα σε ένα array (μία στήλη αποτελεσμάτων είναι + αντίστοιχα ένα στοιχείο του array), μπορούμε να χρησιμοποιήσουμε την bind\_columns για να αναθέσουμε τα αποτελέσματα σε ήδη ορισμένες μεταβλητές. + + Παράδειγμα 2 + $entoli = $dbh->prepare('SELECT phone,name FROM clients WHERE id=?'); + $entoli->execute($num); + $entoli->bind_columns(\$phone,\$name); + $entoli->fetch; + + Το \$num καθώς και τα \$phone και \$name πρέπει προφανώς να τα έχουμε δηλώσει νωρίτερα. Προσοχή πρέπει να δοθεί στο ότι η bind\_columns δίνεται μετά την + execute. Επίσης όπως βλέπετε δεν χρησιμοποιούμε την fetchrow\_array αλλά την σκέτη fetch για να τραβήξουμε τα στοιχεία από την βάση. + +3. Casting και πέρασμα παραμέτρων από πριν Μία άλλη μέθοδος που υποστηρίζει το DBI είναι η bind\_param(). Αυτή δίνει εξ αρχής στην execute τις παραμέτρους που + θα πάρει, δίνoντάς μας την δυνατότητα να κάνουμε και casting. + + Παράδειγμα 2 + $entoli = $dbh->prepare('SELECT phone,name FROM clients WHERE id=?'); + $entoli->bind_param(1, $num, { TYPE => SQL_INTEGER }); + $entoli->execute(); + $entoli->bind_columns(\$phone,\$name); + $entoli->fetch; + + Σε αυτό το παράδειγμα πριν καλέσουμε την execute λέμε στο DBI ότι στο πρώτο placeholder (όπου placeholder είναι το ερωτηματικό, και το πρώτο βγαίνει από το + 1 που είναι το πρώτο όρισμα της bind\_param()) θα βάλει την τιμή \$num και θα πει στην βάση μας ότι είναι τύπου Integer. Αυτό σε ορισμένες περιπτώσεις είναι + χρήσιμο, αν και το σε ποιες ακριβώς, αφήνεται ως άσκηση στον αναγνώστη :-) Αν λοιπόν θέλουμε για οποιονδήποτε λόγο να κάνουμε casting, αυτή είναι η μέθοδος + που πρέπει να ακολουθήσουμε. + +4. Αποθήκευση παραμέτρων σε hashed array + + Αντί για την fetchrow\_array και την fetch που είδαμε πιο πάνω, μπορούμε να χρησιμοποιήσουμε και την fetchrow\_hashref() μέθοδο, για να τοποθετήσουμε τα + αποτελέσματα που θα μας επιστρέψει η βάση σε ένα hash.\ + Για κάθε γραμμή αποτελεσμάτων που επιστρέφεται από την βάση, δημιουργείται ένα reference σε ένα array που περιέχει το field name σαν κλειδί και την τιμή του + σαν value. Αν κάποιο value είναι Null, τότε επιστρέφεται με τιμή undef. Αυτό προσέξτε το γιατί σημαίνει ότι θα υπάρχει συνδυασμός κλειδί-τιμή στο hash που + θα δημιουργηθεί (ενώ ίσως περίμενε κάποιος να μην υπάρχει καν αυτός ο συνδυασμός εφόσον η τιμή του είναι Null).\ + Αυτή η υλοποίηση δημιουργεί περισσότερο overhead στο πρόγραμμά μας απ\' ότι η fetchrow\_array και δεν είναι και πολύ μεταφέρσιμη μεταξύ των διαφορετικών + βάσεων, συνεπώς αν δεν το χρειάζεστε, μην το χρησιμοποιήσετε. + +5. Πληροφορίες από την βάση + + Μπορούμε να πάρουμε όλα τα αποτελέσματα του select μας με την μέθοδο dump\_results() η οποία καλεί εσωτερικά την neat\_list και τυπώνει τα αποτελέσματα.Aν + δεν δώσουμε παραμέτρους, θα τυπώσει μέχρι 35 χαρακτήρες (\$maxlen=35), μία γραμμή αποτελεσμάτων σε μία γραμμή του output (\$lsep=\'\\n\'), χωρισμένες οι + στήλες με κόμματα (\$fsep=\',\') στο STDOUT (\$fh). Όλα αυτά μπορούμε να τα αλλάξουμε με τις μεταβλητές που ανέφερα. + + Η βάση μας δίνει επίσης πληροφορίες για: + + - NUM\_OF\_FIELDS (integer)\ + Ο αριθμός των πεδίων που θα επιστρέψει το select που έχουμε κάνει prepare. + - NUM\_OF\_PARAMS (integer)\ + Ο αριθμός των παραμέτρων που περνάμε στην prepare (αυτά που λέγαμε για Placeholders). + - NAME (reference σε array)\ + Ένα reference σε array που περιέχει τα ονόματα των πεδίων. Υπάρχουν αντίστοιχα και οι NAME\_lc και NAME\_uc που επιστρέφουν τα ίδια στοιχεία σε + LowerCase και UpperCase αντίστοιχα. + + Όλες οι παραπάνω παράμετροι είναι βέβαια read\_only. + +Με αυτό το κείμενο τελειώσαμε την εισαγωγή στο DBI interface της perl. Διαβάστε πάλι την βιβλιογραφία από το προηγούμενο τεύχος και είστε έτοιμοι να ξεκινήσετε. diff --git a/content/articles/24/05_odigos.md b/content/articles/24/05_odigos.md new file mode 100644 index 0000000..8485258 --- /dev/null +++ b/content/articles/24/05_odigos.md @@ -0,0 +1,45 @@ ++++ +title = 'Οδηγός καλής συμπεριφοράς προς Linuxάδες' +date = '2000-04-01T00:00:00Z' +description = '' +author = 'Ευριπίδης Παπακώστας(mailto:evris@hellug.gr)' +issue = ['Magaz 24'] +issue_weight = 5 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το κείμενο αυτό\... έχει νόημα :-). Ολόκληρο το κείμενο με τις σχετικές επεξηγήσεις, θα το βρείτε στο +[DiLiMa](http://baza.eeea.gr/article.php3?sid=20000530224100) που θα κυκλοφορήσει σύντομα.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Ένα Παραμύθι με Νόημα + +*\"Μια φορά κι έναν καιρό, σε ένα απόμακρο χωριό, ζούσαν δέκα ψαράδες. Την εποχή εκείνη, κανείς άλλος δεν ήξερε να ψαρεύει και ούτε ενδιαφερόταν για το ψάρεμα. +Αν μάλιστα οι ψαράδες έκαναν το αστείο να διδάξουν ψάρεμα στους ανθρώπους της πόλης, ή να τους δώσουν δωρεάν ψάρια εκείνοι τους κορόιδευαν και τους χλεύαζαν.* + +*Οι κάτοικοι της πόλης, βλέπετε, τρώγανε μόνο έτοιμες προτηγανισμένες τηγανητές πατάτες που τους προμήθευε ο αφέντης μεγαλέμπορας.* + +*Οι ψαράδες όμως επέμειναν. Σιγά σιγά, καλλιέργησαν και τη γη, κάναν μια μικρή φάρμα εκτροφής ζώων, άρμεγαν τα ζώα και επειδή ήταν όλοι φίλοι μεταξύ τους και +ήταν λίγοι σε πληθυσμό, ο καθένας έκανε ότι του άρεσε και το πρόσφερε δωρεάν και χαμογελαστά στους υπόλοιπους. Όποιος δεν μπορούσε να φέρει σε πέρας κάποια +δουλειά, μπορούσε να ρωτήσει τους παλιότερους κατοίκους του χωριού και εκείνοι με χαρά τον βοηθούσαν.* + +*Σιγά σιγά, οι ταλαιπωρημένοι και στα πρόθυρα της ασιτίας κάτοικοι της πόλης ενδιαφέρθηκαν να μάθουν και αυτοί τον τρόπο ζωής του μικρού αυτού χωριού και +άρχισαν να μαζεύονται στα περίχωρα του χωριού.* + +*Ο πληθυσμός του χωριού αυξήθηκε. Οι νέοι κάτοικοι απαιτούσαν σαν κακομαθημένα παιδιά τα δωρεάν ψάρια τους (λες και κάποιος τους τα χρώσταγε) και +κακοαναθρεμένοι όπως ήταν, άρχισαν να ζητάνε τσιπούρες, φιλέτο, λαχανάκια Βρυξελλών, πράγματα που οι παλιοί χωρικοί δε μπορούσαν (χωρίς τη συνεργασία των νέων) +να φτιάξουν.* + +*Αλλά αυτό που πραγματικά έφερνε σε απόγνωση τους γέροντες του χωριού, ήταν η συμπεριφορά των νέων στο σχολείο. Δεν έκαναν τις εργασίες τους, δε διάβαζαν τα +βιβλία τους, δεν παίδευαν το μυαλό τους και δεν παρατηρούσαν τους γεροντότερους ώστε να προοδεύσουν. Αντί αυτού, συνεχώς έβριζαν τη δασκάλα τους όταν τους +εξηγούσε πως αν είχαν διαβάσει το βιβλίο δε θα χρειαζόταν να διακόπτουν συνέχεια το μάθημα και να ρωτούν τα ίδια και τα ίδια.* + +*Η κατάσταση αυτή συνεχίστηκε για πολύ καιρό, μέχρι που πέθαναν οι γεροντότεροι, χάθηκε η γνώση που είχαν και τελείωσαν από τις αποθήκες οι έτοιμες τροφές που +με τόσο κόπο συσσώρευαν.* + +*Πεινασμένοι και απογοητευμένοι οι κάτοικοι της πόλης, ξαναγύρισαν στον παλιό αφέντη τους. Με σκυμμένο το κεφάλι, παραδέχτηκαν πως ήταν λάθος τους να φύγουν από +κοντά του και του ζήτησαν να τους πάρει στη δούλεψή του.* + +*Αυτός άλλο που δεν ήθελε. Τώρα πια όλοι δουλεύουν γι\' αυτόν, για μια μερίδα προτηγανισμένες σάπιες πατάτες και κανένας δεν έχει μείνει για να επαναστατήσει +εναντίον του.\"* diff --git a/content/articles/25/01_editorial.md b/content/articles/25/01_editorial.md new file mode 100644 index 0000000..f6cd3de --- /dev/null +++ b/content/articles/25/01_editorial.md @@ -0,0 +1,51 @@ ++++ +title = 'Editorial' +date = '2000-07-01T00:00:00Z' +description = '' +author = 'Παπαδογιαννάκης Βαγγέλης(mailto:papas@hellug.gr)' +issue = ['Magaz 25'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Καλώς ορίσατε στο magaz, τεύχος παραλαβής (ωχ!).* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Και νάμαι λοιπόν από αυτή τη θέση, μια θέση που φέρει ένα σωρό ευθύνες. Και αυτή δεν είναι μόνο δική μου άποψη, αλλά και του Μιχάλη. Εξάλλου, πως να μη νοιώθω +γεμάτος ευθύνες όταν στο προηγούμενο editorial ο Μιχάλης με παρουσίασε σαν τον super αρθρογράφο και linuxa και ξέρω γω τι άλλο; + +Τέλος πάντων, ας μπούμε στα θέματά μας τώρα. + +Σε αυτό το τεύχος έχουμε ένα άρθρο από τον [DJ Art](mailto:djart@hellug.gr) που αποτελεί μετάφαση του **the html hell page** ( + ) του [Eric S. Raymond](mailto:esr@thyrsus.com) , και το οποίο είμαι σίγουρος ότι πολλοί θα έπρεπε να το διαβάσουν +και να αναθεωρήσουν τις απόψεις τους περί html design. + +Επίσης, διαβάστε τη συνέχεια για την **xbasic**, ένα άρθρο του [Κώστα Τσακάλογλου](mailto:tsakf@hellug.gr). Αν έχετε παραλείψει να διαβάσετε στο προηγούμενο +τεύχος το άρθρο για την xbasic διαβάστε το [εδώ](/24/02_xbasic.html). + +Σε αυτό το τεύχος, επίσης, έχουμε μια από τις μεγαλύτερες δημοσιογραφικές επιτυχίες στον ηλεκτρονικό τύπο για τα δεδομένα της Ελλάδας :) Αναφέρομαι στην +συνέντευξη που ο παλιός αρχισυντάκτης του **magaz** [Καμπριάνης Μιχάλης](mailto:kabrianis@hellug.gr) πήρε από τον πρόεδρο του OSI (Open Source Initative), τον +Eric Raymond ( ) + +Ένα άρθρο από τον παλιό (και μη εξαιρετέο) αρθρογράφο μας, τον [Θρασύβουλο Κοτσιφάκη](mailto:tkots@SoftHome.net)), που μετά από ένα πολύ μεγάλο ταξίδι επέστρεψε +στα πάτρια εδάφη (Χανιά) και φυσικά δε μας ξέχασε εμάς εδώ στο **magaz** :). Το άρθρο καταπιάνεται με μια σουίτα πρωτοκόλλων που όλα μαζί απαρτίζουν το γνωστό +σε όλους μας TCP/IP (**Transfer Control Protocol/Internet Protocol**). Όπως είναι αυτονόητο, δεν αναφέρεται αποκλειστικά σε linux, μια και το TCP/IP είναι το +πιο διαδεδομένο στον κόσμο και χρησιμοποιείται από όλα τα λειτουργικά. Είναι πάντως μια φοβερά καλή εισαγωγή στον κόσμο των πρωτοκόλλων, και οι αρχάριοι θα το +εκτιμήσουν πολύ, αφού εξηγεί με απλά λόγια τα κυριότερα χαρακτηριστικά του TCP/IP. + +Να συμπληρώσω επίσης ότι πλέον κυκλοφορεί ένα έντυπο περιοδικό στο χώρο του linux, το **dilima** (dilima is a linux magazine, κλασική περίπτωση κυκλικής +αναφοράς). Και εκεί και εδώ, στο **magaz**, πολλοί από τους αρθρογράφους είναι ίδιοι. Σε καμία περίπτωση δεν είμαστε ανταγωνιστές (μια και κάτι τέτοιο θα με +έκανε αντίπαλο με τον εαυτό μου, και δόξα το Θεό, τέτοιου είδους ανησυχίες δεν έχω), και αυτό να σημειωθεί γιατί δε γουστάρουμε να δημιουργηθούν αντιπαλότητες +κ.λπ. Αυτό που είναι σίγουρο είναι ότι εμείς (ως magaz) δεν απειλούμαστε από κανένα, και φυσικά το **dilima** δεν απειλείται από εμάς. Όσοι είναι να διαβάσουν +το **magaz** θα το διαβάσουν σίγουρα γιατί και τζαμπέ είναι, και ότι ώρα γουστάρεις το βρίσκεις, και διαφημίσεις δεν έχει, και δεν πιάνει και χώρο στο γραφείο. +Από την άλλη, όποιος γουστάρει να πάρει το **dilima** θα το πάρει γιατί μπορεί να μη γουστάρει να είναι online ή μπορεί να το θέλει τυπωμένο, ή να έχει κάποιο +άλλο λόγο. Άντε τώρα\... (α, και αν δεν βλέπετε στην λέξη\`\`Άντε\'\' το Α το τονούμενο, γυρίστε την κωδικοσελίδα σας σε iso8859-7. ΚΑΙ ΚΑΝΤΕ ΤΗ DEFAULT!!!) + +Η **ψηφοφορία** αυτού του τεύχους, αναφέρεται στη μορφή του **magaz**. Μην ξεχάσετε να [ψηφίσετε](/cgi-bin/poll25.cgi) για να μπορέσουμε να βελτιώσουμε (όσο +μπορούμε και εμείς) το περιεχόμενο του περιοδικού ώστε να ανταποκρίνεται στις \`\`αναγνωστικές\'\' σας ανάγκες :) + +Τέλος, θα ήθελα να ξέρετε ότι εγώ σαν Βαγγέλης από τη θέση του αρχισυντάκτη θα κάνω ότι περνάει από το χέρι μου ώστε αυτό το **e-zine** που με τόσο κόπο +καταφέραμε να στήσουμε να συνεχίσει την καλή του παρουσία, και να συνεχίζει να αποτελεί πηγή πληροφόρησης για τους χρήστες του Linux στην Ελλάδα. + +Καλή ανάγνωση, και μην ξεχνάτε, μπορείτε να κατεβάσετε όλο το τεύχος πατώντας [εδώ](/files/magaz.25.tgz) diff --git a/content/articles/25/02_tcpip.md b/content/articles/25/02_tcpip.md new file mode 100644 index 0000000..11ccbc4 --- /dev/null +++ b/content/articles/25/02_tcpip.md @@ -0,0 +1,213 @@ ++++ +title = 'TRANSMISSION CONTROL PROTOCOL / INTERNET PROTOCOL' +date = '2000-07-01T00:00:00Z' +description = '' +author = 'Κοτσιφάκης Θρασύβουλος' +issue = ['Magaz 25'] +issue_weight = 2 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Επιστροφή μετά από πολύ καιρό στα παλιά καλά λημέρια.Αν και ο χρόνος μου λίγος θα επιχειρήσω να σας μυήσω λιγάκι στις βασικές έννοιες των δικτύων και της πιο +διαδεδομένης σε εμάς συλλογής πρωτοκόλλων το **TCP/IP*** + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Τι είναι δίκτυο και τι είναι το TCP/IP;** +---------------------------------------------------------------------- + +- [1.1 Λίγη Ονοματολογία για να μπορέσουμε να συνεχίσουμε !](#ss1.1) + +**2. Τα χαρακτηριστικά του TCP/IP** +----------------------------------------------------------- + +- [2.1 Logical Addressing.](#ss2.1) +- [2.2 Routing](#ss2.2) +- [2.3 Name Resolution](#ss2.3) +- [2.4 Error Checking / Flow Control](#ss2.4) +- [2.5 Application Support](#ss2.5) + +**3. Τα Utilities του TCP/IP** +------------------------------------------------------ + +- [3.1 ftp](#ss3.1) +- [3.2 lpr](#ss3.2) +- [3.3 ping](#ss3.3) +- [3.4 telnet](#ss3.4) +- [3.5 traceroute](#ss3.5) + + +### [1. Τι είναι δίκτυο και τι είναι το TCP/IP;]{#s1} + +**Δίκτυο** είναι το σύνολο από υπολογιστές και συσκευές που ομοιάζουν με υπολογιστή, τα οποία επικοινωνούν μεταξύ τους μέσω ενός μέσου μεταφοράς των δεδομένων. +Αυτό το μέσο μεταφοράς μπορεί να είναι καλώδιο, η τηλεφωνική μας γραμμή ή κάποιο άλλο π.χ. κάποιος ασύρματος μεταδότης. + +Σε ένα δίκτυο ο κάθε υπολογιστής πρέπει να είναι ικανός να επικοινωνεί με τους υπόλοιπους και μάλιστα αμφίδρομα, δηλαδή να δύναται να διοχετεύσει πληροφορίες +αλλά και να λάβει. Για να γίνει τώρα αυτό θα πρέπει να οριστούν εξ αρχής ο τρόπος επικοινωνίας του με το υπόλοιπο δίκτυο. Θα πρέπει δηλαδή να οριστούν κάποιοι +κανόνες για την ασφαλή και απρόσκοπτη μεταφορά των δεδομένων. + +Οι συσκευές σε ένα δίκτυο δεν είναι απαραίτητο (αλλά ούτε και εφικτό πολλές φορές) να ακολουθούν τα ίδια πρότυπα ως μεμονωμένοι σταθμοί εργασίας (workstations), +δηλαδή δεν είναι απαραίτητο να εκτελούν τις εντολές κάτω από το ίδιο λειτουργικό σύστημα ή να χρησιμοποιούν το ίδιο Hardware. Για τα παραπάνω όπως καταλαβαίνετε +είμαστε αναγκασμένοι να ορίσουμε κάποια standards έτσι ώστε οι ανόμοιες αυτές συσκευές να μπορούν να συνεργάζονται αρμονικά και να εκτελούν τις αιτήσεις μας σε +συνεργασία με τις υπόλοιπες συσκευές που σχηματίζουν το δίκτυο. + +Ας ορίσουμε τώρα το **TCP/IP**. Όλοι περιγράφουμε το TCP/IP σαν ένα πρωτόκολο, αυτό δεν είναι απόλυτα σωστό. Στην πραγματικότητα είναι μία ολόκληρη σουίτα από +πρωτόκολα η οποία έχει σαν βασικό της ρόλο να βοηθήσει την ομαλή συνύπαρξη των συσκευών που βρίσκονται συνδεδεμενες μεταξύ τους και επιπλέον να ορίσει τους +κανόνες που θα ισχύουν κατά την επικοινωνία των συσκευών ετσι ώστε η πληροφορία που θα περνάει από τη μία συσκευή στην άλλη να μεταφράζεται σωστά. + +### [1.1 Λίγη Ονοματολογία για να μπορέσουμε να συνεχίσουμε !]{#ss1.1} + +- **LAN**:(**L**ocal **A**rea **N**etwork) Είναι μία ομάδα υπολογιστών και σχετικών συσκευών οι οποίες είναι συνδεδεμένες μεταξύ τους, επικοινωνούν και + μπορούν να ανταλλάσουν πληροφορίες ή πόρους του δικτύου (π.χ. εκτυπωτές που μπορεί να είναι συνδεδεμένοι επάνω στο δίκτυο) +- **WAN**:(**W**ide **A**rea **N**etwork) Είναι τα δίκτυα τα οποία συνδέουν χρήστες μεταξύ μεγάλων αποστάσεων οι οποίες πολλές φορές ξεπερνούν τα γεωγραφικά + όρια των χωρών. Το Internet π.χ. είναι ένα WAN. +- **MAN**:(**M**etropolitan **A**rea **N**etwork) Είναι δίκτυα υψηλής ταχύτητας τα οποία περιορίζονται σε υπολογιστές οι οποίοι είναι συνδεδεμένοι σε + αποστάσεις όχι μεγαλύτερες από 80 χιλιόμετρα. +- **ETHERNET**: Είναι ένας ευρέως διαδεδομένος τρόπος διασύνδεσης μεταξύ υπολογιστών το οποίο χρησιμοποιεί ως μέσο μεταφοράς το καλώδιο (ομοαξωνικό twisted + pair ή οπτική ίνα) και μια κάρτα η οποία αναλαμβάνει τον ρόλο της διασύνδεσης και ορθής μεταφοράς των πακέτων δεδομενων που αποστέλλονται ανάμεσα στους + υπολογιστές και τις συσκευές του δικτύου. + + +### [2. Τα χαρακτηριστικά του TCP/IP]{#s2} + +Το TCP/IP έχει ορισμένα ενδιαφέροντα χαρακτηριστικά τα οποία χρησιμοποιεί για να παρακάμπτει προβλήματα που προκύπτουν στα δίκτυα. Ας εξετάσουμε όμως διεξοδικά +πια είναι αυτά τα προβλήματα και να δούμε πως το TCP/IP αναλαμβάνει να τα επιλύσει. + +### [2.1 Logical Addressing.]{#ss2.1} + +Κάθε κάρτα δικτύου από κατασκευής δια8έτει μία μοναδική και μόνιμη φυσική διεύθυνση (physical address). Σε μικρά δίκτυα η παράδοση των δεδομένων γίνεται με βάση +αυτή την φυσική διεύθυνση. Π.χ. σε τοπικά δίκτυα τύπου ethernet ένας υπολογιστής μεταδίδει τα δεδομένα κατευθείαν στο μέσο μεταφοράς (καλώδιο). Κάθε υπολογιστής +που βρίσκεται στο συγκεκριμένο δίκτυο παρακολουθεί όλες τις μεταδώσεις και επιλέγει να κρατήσει τα δεδομένα που έχουν διεύθυνση την φυσική διεύθυνση της κάρτας +δικτύου που βρίσκεται εγκατεστημένη σ\' αυτόν. Σε μεγαλύτερα δίκτυα φανταστείτε τι θα γινόταν αν κάθε υπολογιστής παρακολουθούσε όλα τα πακέττα δεδομένων που +αποστέλλονται μέσω του μέσου μεταφοράς. + +Στα μεγάλα δίκτυα για αποφύγουμε την διαρκή παραλαβή άχρηστων δεδομένων τα χωρίζουμε σε άλλα μικρότερα υποδίκτυα (subnetworks) τα οποία κάτω απο μία ιεραρχική +σχεδίαση και δομή μπορούν να παρακολουθούν τις αποστολές και να επιλέγουν τα πακέττα δεδομένων που προορίζονται για τις συσκευές που τα αποτελούν. + +Για να επιτύχουμε την παραπάνω λειτουργία τα υποδίκτυα θα πρέπει να έχουν διευθύνσεις που να τα χαρακτηρίζουν για να γίνονται αναγνωρίσιμα. Η διευθυνσεις αυτές +περέχονται από το λογισμικό και στην προκυμένη περίπτωση από το TCP/IP και ονομάζονται λογικές διευθύνσεις (logical address).Στο TCP/IP οι συγκεκριμένες +διευθύνσεις λέγονται IP adresses.Η διεύθυνση IP τωρα με την σειρά της μπορεί να περιέχει: + +- Την ταυτότητα ενός δικτύου. +- Την ταυτότητα ενός υποδικτύου. +- Την ταυτότητα ενός υπολογιστή μέσα σε ένα υποδίκτυο. + +Οι ταυτότητες που αναφέρουμε παραπάνω, ουσιαστικά αντιστοιχούν σε συνδυασμούς αριθμών που χαρακτηρίζουν και την κλάση του δικτύου.Ανάλογα με το είδος δικτύου +που έχουμε, έχουμε και την αντίστοιχη κλάση. Εν περιλήψει οι βασικότερες: + +- **Κλάση A**: Εδώ οι ταυτότητες είναι 8-bit για τα δίκτυα και 24-bit για τους κεντρικούς υπολογιστές σ\'αυτά. Τέτοιοι αριθμοί αποδίδονται σε οργανισμούς, + εταιρείες ή χώρες δηλαδή σε περιπτώσεις που απαιτούνται μεγάλος αριθμός διευθύνσεων IP αφού θεωρητικά τα δίκτυα κλάσης A μπορούν να υποστηρίξουν περίπου + 16.7 εκατομμύρια υπολογιστές. +- **Κλάση Β**: Εδώ η ταυτότητες τών δικτύων και των κεντρικών υπολογιστών είναι 16-bit. Οι διευθύνσεις αποδίδονται σε δίκτυα μεσαίου μεγέθους και είναι ικανές + να υποστηρίξουν την αναγνώριση μέχρι 65.5 χιλιάδων υπολογιστών περίπου. +- **Κλάση C**: Στην τρίτη κλάση οι ταυτότητες του δικτύου είναι 24-bit και των υπολογιστών 8-bit. Mε αυτόν τον τρόπο αποδιδουμε διευθύνσεις σε μικρά δίκτυα με + έως 254 υπολογιστές. +- **Κλάση D**: Οι διευθύνσεις εδώ δεν αποδίδονται σε υπολογιστές αλλά χρησιμοποιούνται για multicasting δηλαδή σε περιπτώσεις που θέλουμε να ορίσουμε ομάδες + υπολογιστών σε ένα δίκτυο που θα πρέπει να τους αποσταλλεί ένα συγκεκριμένο πακέττο δεδομένων ταυτόχρονα. + +### [2.2 Routing]{#ss2.2} + +Πιο πάνω είπαμε ότι μπορούμε να χωρίσουμε ένα δίκτυο σε άλλα μικρότερα και να αποδόσουμε λογικές διευθύνσεις σε αυτά.Πως όμως αποκόπτουμε τα άχρηστα πακέττα και +πως όμως το μικρότερο αυτό δίκτυο 8α αντιληφθεί ότι κάποιο πακέττο δεδομένων απευθύνεται σε αυτό;Η τεχνική λέγεται routing και οι συσκευές που αναλαμβάνουν την +αναγνώριση των πακέττων routers. + +Με απλά λόγια ένας router διαχωρίζει το subnet από το υπόλοιπο δίκτυο και δεν επιτρέπει να περάσουν πληροφορίες στο σύνολο οι οποίες είναι άχρηστες. Πληροφορίες +οι οποίες αφορούν τους υπολογιστές του υποδικτύου και κατευθύνονται από υπολογιστή μέσα σε αυτό σταματούν στον router και δεν βγαίνουν προς τα έξω. Οι +πληροφορίες πάλι που απευθύνονται σε υπολογιστές εκτός του subnet ο router τις προω8εί εκτός. Γενικά ο τρόπος πού λειτουργεί ένας router είναι ο εξής: + +- Παραλαμβάνει τα δεδομένα από ένα από τα προσαρτιμένα σε αυτό δίκτυα +- Ελέγχει τον προορισμό του πακέττου. Αν το πακέττο έχει προορισμό συσκευή μέσα στο δίκτυο από το οποίο απεστάλλει τότε το απορρίπτει αφού αυτό έχει φθάσει + ήδη στον προορισμό του. +- Αν το πακέττο κατευθύνεται σε συσκευή έξω από το δίκτυο απ\' όπου προέρχεται τότε ο router συμβουλεύεται εναν πίνακα που ονομάζεται routing table έτσι ώστε + να δει που θα προωθήσει το πακέττο +- Αφού βρεθεί που θα προωθηθεί το πακέττο ο router αναλαμβάνει την αποστολή του μέσω του λεγόμενου NETWORK ACCESS LAYER software + +Το TCP/IP περιέχει πρωτόκολλα τα οποία καθορίζουν πως ένας router θα βρει διαδρομή για να κατευθύνει τα πακέττα στον προορισμό τους. Αυτά είναι τα: a)**Routing +Information Protocol (RIP)** Το οποίο είναι το παλαιότερο routing protocol. Με απλά λόγια οι routers στέλνουν πληροφορίες γι\' αυτούς και επίσης αποστέλλουν το +λεγόμενο **hop count** δηλαδή πληροφορία σχετικά με το πόσο απομακρισμένοι είναι. Με αυτόν τον τρόπο οι routers μεταξύ τους γνωρίζουν ποιοι απ\' αυτούς είναι +διαθέσιμοι και να εκτιμήσουν την συντομότερη διαδρομή για να αποστείλουν το πακέττο στον προορισμό τους.b)**Open Shortest Path First (OSPF)** είναι νεότερο +πρωτόκολλο το οποίο σταδιακά πέρνει την θέση του RIP. Η μεγάλη διαφορά του από το RIP είναι ότι εδώ οι Proxies δεν χρειάζεται να κάνουν υπολογισμό του hop απλά +αποστέλλουν πληροφορίεσ σχετικά με την κατάσταση τους στους proxies που βρίσκονται απ\' ευ8είας συνδεδεμένοι μαζί τους. Με αυτόν τον τρόπο μειώνεται το συνολικό +bandwidth που 8α πρέπει να δεσμευ8εί για την αποστολή πληροφοριών. Ως αποτέλεσμα τι OSPF μπορεί να υποστηρίξει δίκτυα μεγάλα σε όγκο και ανάγκες. + +### [2.3 Name Resolution]{#ss2.3} + +Φανταστείτε να σας έλεγαν 111.121.131.156 και την φίλη σας 111.121.131.158, μπέρδεμά έ; Ναι έχετε δίκιο. Καλοί οι αριθμούλιδες αλλά εμείς έχουμε μάθει να +αναγνωρίζουμε τους άλλους από το όνομα τους και όχι από τον αριθμό της ταυτότητας τους. Για να μας κάνει την ζωή πιο εύκολη λοιπόν το TCP/IP χρησιμοποιει εν +παραλλήλω με τα IP numbers και ένα πιο ανθρωπινο τρόπο για να αναγνωρίζεται ο αποστολέας και ο παραλήπτης ενός πακέττου τα ονόματα αυτά λέγονται **domain +names** και η υπηρεσία **Domain Name Service**.Με αυτόν τον τρόπο δεν χρειάζεται να γνωρίζουμε το IP number κάποιου υπολογιστή σε ένα δίκτυο αλλά μόνο το όνομα +του.Έτσι για να αποστείλουμε π.χ. ένα email στην αγαπημένη μας δεν χρειάζεται να ξέρουμε το IP number του mail server που της έχει παραχωρίσει χώρο αλλά μόνο το +domain name που συνή8ως είναι όνομα της μορφής \"companyname.com\" του και φυσικά το όνομα που χρησιμοποιεί αυτή σαν αναγνωριστικό. + +Πως γίνεται τώρα και τα domain names μεταφράζονται σε IP numbers; Με απλά λόγια υπάρχουν κάποιοι εξυπηρετητές οι οποίοι αναλλαμβάνουν την αποθήκευση των domain +names και την αποκωδικοποίηση τους σε IP numbers. Αν θέλετε τώρα να δείτε πως περίπου γίνεται το name servicing ρίξτε μια ματιά στο **/etc/hosts** του κουτιού +σας για να δείτε με ποια σύνταξη ορίζονται domain names σε IP names. + +### [2.4 Error Checking / Flow Control]{#ss2.4} + +Κατά την μεταφορά αρχείων είναι λογικό ότι δεν πάνε πάντα τα πράγματα όπως τα θέλουμε. Λάθη κατά την μεταφορά ή πακέττα δεδομένων που για κάποιο λόγο δεν +παρελήφθησαν ακέραια είναι συχνό φαινόμενο. Γι αυτόν τον λόγο οι σχεδιαστές του TCP/IP φρόντισαν να του ενσωματώσουν διαδικασίες οι οποίες ελέγχουν την χωρίς +λάθη παραλαβή ενός πακέττου και την αποστολη του στον σωστό παραλήπτη. Οι διαδικασίες αυτές ενσώματωνονται στο ονομαζόμενο **Transport Layer** του TCP/IP. + +### [2.5 Application Support]{#ss2.5} + +Σε όλους είνα γνωστό ότι για να αποκτήσουμε πρόσβαση στο δίκτυο χρησιμοποιούμε εφαρμογές οι οποίες ουσιαστικά με τρόπο «αδιαφανή» μας παρέχουν την πρόσβαση αλλά +και τις ζητούμενες υπηρεσίες. Δηλαδή δεν χρειάζεται π.χ. να γνωρίζουμε τι είναι το SMTP για να στείλουμε ένα email. + +Το TCP/IP αναλαμβάνει την παροχή ενός interface για τις εφαρμογές μας έτσι ώστε αυτές να μπορούν να έχουν πρόσβαση στο λογισμικό του δικτύου και να διευκολύνει +την προσπέλαση στο δίκτυο. Για να γίνει αυτό, η σουίτα χρησιμοποιεί ένα σύστημα από \"λογικά κανάλια\" τα οποία ονομάζονται **ports**. Κάθε port διαθέτει ένα +port number το οποίο χρησιμοποιείται για την αναγνώριση της port και ουσιαστικά και για την αναγνώριση της εργασίας που καλείτε να εκτελέσει. Με απλά λόγια (και +λίγη φαντασία) τα ports είναι αυλοί επικοινωνίας που μέσα τους κυκλοφορούν τα δεδομένα και οι αιτήσεις από την αφαρμογή προς το δίκτυο. + +Το ίδιο το TCP/IP περιέχει μερικές εφαρμογές οι οποίες χρησιμοποιούνται για να διευκολύνουν τις διάφορες διαδικασίες. Αυτές οι εφαρμογές είναι οι γνωστές στους +περισσότερους **ftp lpr ping telnet** και **traceroute** των οποίων την χρησιμότητα θα εξηγήσουμε παρακάτω. + + +### [3. Τα Utilities του TCP/IP]{#s3} + +### [3.1 ftp]{#ss3.1} + +Το ftp είναι εφαρμογή (ουσιαστικά ένα κέλυφος εργασίας) η οποία χρησιμοποιεί το **File Transfer Protocol** για την μεταφορά αρχείων από και προς έναν υπολογιστή +ο οπoίος παίζει τον ρόλο του ftp server. Με την εντολή ftp εκκινούμε την εφαρμογή client η οποία μας παρέχει το περιβάλλον για να συνδεθούμε και να εργαστούμε +με υπολογιστές οι οποίοι τρέχουν τον λεγόμενο **ftp daemon** ο οποίος είναι μία εφαρμογή που τρέχει σε έναν ftp server στο παρασκήνιο και όταν της ζητη8εί από +τον client κάποιου υπολογιστή στο δίκτυο, αναλαμβάνει την διεκπεραιρέωση της αιτήσεως. + +Η εκκίνηση της ftp μπορεί να γίνει είτε δίδοντας την εντολή σκέτη ή προσθέτοντας το **IP adress** ή το **domain name** του εξυπηρετητή που θέλουμε να +συνδεθούμε. Μπορούμε επίσης να προσθέσουμε παραμέτρους οι οποίοι να καθορίζουν τον τρόπο και το είδος της σύνδεσης που θέλουμε να πετύχουμε. Μία ματιά στην +**man page** της ftp θα σας κατατοπίσει καλύτερα για το ποιες παράμετροι μπορούν να σας φανούν χρήσιμες. + +Αφού επιτύχουμε την σύνδεση με το ftp site που μας ενδιαφέρει μία σειρά εντολών μπορεί να δωθεί για την εργασία μας. Πολλές απ\' αυτές είναι ήδη γνωστές από την +εργασία μας στα linux shells **(pwd mkdir cd chmod)**. + +### [3.2 lpr]{#ss3.2} + +Είναι εντολή η οποία χρησιμοποιείται για την δρομολόγιση και μορφοποίηση αιτήσεων προς έναν εκτυπωτή. Όταν υπάρχουν πολύ εκτυπωτές πάνω στο δίκτυο η lpr μπορεί +να εκτελεστεί με την παράμετρο **-P** και το όνομα του εκτυπωτή που θέλουμε να μας εξυπηρετήσει. Επίσης μια πλιάδα από παραμέτρους μπορούν να χρησιμοποιηθούν +για ικανοποιητικότερη χρήση της. + +### [3.3 ping]{#ss3.3} + +Utility το οποίο χρησιμοποιείται ως διαγνωστικό. Όταν εκτελέσουμε την εντολή ping domainname τότε αποστέλλουμε ένα διαγνωστικό πακέττο κάτω από το **ICMP +protocol** (Internet Control Message Protocol) αιτώντας ταυτόχρονα απάντηση **(ICMP echo)** από τον παραλήπτη. Η ping έχει σχεδιασθεί έτσι ώστε να βοηθά τον +έλεγχο, την αποσφαλμάτωση, και μέτρηση της ανταπόκρισης μεταξύ δύο υπολογιστών σε ένα δίκτυο.Όταν παραλειφθεί το ICMP echo από τον υπολογιστή που εκτελέσαμε την +ping, μας εμφανίζεται στην οθόνη το μέγεθος του πακέττου που απεστάλλει (56bytes για το linux) ο χρόνος σε milliseconds ο οποίος χρειάστηκε για να αποσταλλεί +και να επιστρέψει όπως επίσης και το **TTL** (Time To Live), δηλαδή μία τιμή η οποία μας δείχνει πόσους επιπλεόν routers μπορούσε το πακέττο να περάσει μέχρι να +απορριφθεί. Αν το ποσό που επιστρέφει ως ένδειξη στην TTL είναι κοντά στο μηδέν (1,2 κλπ) τότε θα πρέπει να υποψιαστούμε ότι σφάλματα στο δίκτυο. + +### [3.4 telnet]{#ss3.4} + +Το telnet είναι κέλυφος εργασίας το οποίο ενσωματώνει διάφορες λειτουργίες για την εργασία μεταξύ δύο υπολογιστών εκ των οποίων ο ένας εκτελεί χρέη εξυπηρετητή +τρέχοντας τον **telnet daemon**. Το telnet επίσης είναι και αυτόνομο πρωτόκολλο επικοινωνίας. Σκοπός του telnet είναι να μας παρέχει ένα περιβάλλον εργασίας +όπου οι εντολές που εμείς πληκτρολογούμε να περνούν στο δίκτυο και να εκτελούνται στον απομακρυσμένο από εμάς υπολογιστή. Για να εκκινήσουμε μία telnet session +χρησιμοποιούμε την εντολή: + +- telnet *hostname* + +Οι εντολές που δίνουμε από εκεί και πέρα εκτελούνται στον απομακρυσμένο υπολογιστή + +### [3.5 traceroute]{#ss3.5} + +Είναι utility το οποίο μας δείχνει την διαδρομή που ακολουθει ένα πακέττο δεδομένων έως ότου καταλήξει στον προορισμό του. Εάν δοκιμάσουμε την traceroute σε +κάποιο domain στο INTERNET θα καταλάβουμε από τα domain names και την γεωγραφική διαδρομή που έκανε το πακέττο εως ότου φτάσει στον προορισμό του. + diff --git a/content/articles/25/03_htmlhell.md b/content/articles/25/03_htmlhell.md new file mode 100644 index 0000000..4554f51 --- /dev/null +++ b/content/articles/25/03_htmlhell.md @@ -0,0 +1,150 @@ ++++ +title = 'The HTML Hell Page' +date = '2000-07-01T00:00:00Z' +description = '' +author = 'Eric S. Raymond(mailto:esr@thyrsus.com) Μετάφραση: DJ Art(mailto:djart@hellug.gr)' +issue = ['Magaz 25'] +issue_weight = 3 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το άρθρο αυτό αποτελεί την μετάφραση του άρθρου The HTML Hell Page του Eric S. Raymond, το οποίο μπορείτε να βρείτε στην διεύθυνση +. Οι απόψεις του είναι απόλυτα δικαιολογημένες (θα μπορέσετε να διακρίνετε την αγανάκτηση) και διατυπώνονται με +εξίσου \"χαρακτηριστικό\" τρόπο :-)* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**Καλως Ήρθατε στην HTML σελίδα της κόλασης** + +**Ξέρετε πως βρίσκεστε σε σχεδιαστική κόλαση όταν βλέπετε\...** + +**Κείμενο που αναβοσβήνει (blinking)**\ +Το κείμενο αυτό καθιστά αδύνατη την προσοχή (του επισκέπτη) σε οτιδήποτε άλλο στην σελίδα. Ρίχνει το 87% των επισκεπτών σε μιά αβοήθητη κατάσταση καθηλωμένου +και \"κλειδωμένου\" εγκεφάλου, περίπου όπως ένα κουνέλι που τυφλώνεται από τους προβολείς της διερχόμενης νταλίκας. Αυτό δεν είναι καλό. Αν το *παρακάνει* +κανείς με το blink tag, τότε δικαιούται να τον πυροβολήσουν. *Στοιχείο:* αν **χρησιμοποιείτε** το blink tag, τότε ήδη το *παρακάνετε*. + +**Περιττό animation**\ +Χρησιμοποιώντας περιττά animations πετυχαίνετε όλους τους \"*υπέροχους τραυματισμούς*\" του blink tag συν την \"*δημόσια προσβολή*\" του χρόνου που απαιτείται +για το κατέβασμα αυτών. Άνθρωποι που το παρακάνουν με τα animations θα έπρεπε να τους εμβολίσουν με βιβλία σε κάθε \"στόμιο\" του σώματός τους μέχρι να +καταλάβουν πως γεμίζοντας δύο ή και τρία frames μόνο με animations είναι ακόμα πιο δυσάρεστο από την *κατάστασή τους*. + +**Marquees**\ +Λοιπόν, μπορεί να νομίζετε πως το blink tag και τα animations είναι η χειρότερη κατάχρηση που θα μπορούσαν να κάνουν οι \"γιδοβοσκοί\". Μπαααααα. Σε τέτοιες +περιπτώσεις όπου η κατάχρηση απλά δεν είναι αρκετή, ο Μεγάλος Σατανάς του Redmond μας έδωσε το \, το οποίο επιτρέπει σε κάποιον να δημιουργήσει +animated και κυλιόμενες \"τέντες\" μέσα σε αγκύλες (\[\]). Αυτός ο μπάσταρδος ξάδελφος του blink tag μπορεί να προκαλέσει ίλιγγο και αποπληξία σε ευεπηρέαστους +ανθρώπους, μειώνοντάς τους στο σημείο του γλυκοσαλιάσματος, το οποίο παρεμπιπτόντως είναι και αναγκαία προϋπόθεσις για να αγοράσει κανείς προϊόντα της +Microsoft. Σύμπτωσις; Εμείς πιστεύουμε πως όχι. + +**Φανταχτερά (=κακόγουστα) backgrounds**\ +Την επόμενη φορά που θα \"σκοντάψουμε\" σε μιά σελίδα φτιαγμένη από κάποιον που νομίζει ότι είναι ωραίο (=cool) να χρησιμοποιεί φλόγες που ξεπηδούν ή επτά +αποχρώσεις του ρόζ για background, ορκιζόμαστε πως θα περάσουμε μέσα από την οθόνη για να φτάσουμε και να ξεριζώσουμε το λαιμό του υπεύθυνου για το ξέρασμα. Αν +υπάρχει χειρότερος διοργανωτής υπερκόπωσης των ματιών και ημικρανιών από το blink tag, τότε είναι αυτό. + +**Μη αναγνώσιμος συνδυασμός χρώματος κειμένου/background**\ +Ο κόσμος είναι γεμάτος από κλόουν που νομίζουν πως οι σελίδες τους φαινόνται καλύτερα με makeup για κλόουν, με αφθονία αντιθετικών χρωμάτων (αυτό το κάνει και ο +κακόγουστος με τα φανταχτερά backgrounds). Οι μαγικές λέξεις που αυτοί οι χαμένοι πρέπει να μάθουν είναι \"καθαρή αντίθεση/contrast\". Το γούστο χρωμάτων +στηρίζεται μεταξύ εσάς και των Θεών της Κακογουστιάς, αλλά εάν δεν χρησιμοποιήσετε φωτεινό κείμενο σε σκούρο background, ή το αντίθετο, τότε θα χάσετε +επισκέπτες που τους αρέσει να διαβάζουν χωρίς να καταλαβαίνουν τον κόπο που χρειάζεται για να γίνει αυτό. + +**Επιβλητικές επικεφαλίδες**\ +Οι επιβλητικές επικεφαλίδες είναι \"αγενείς\". Εκτός αν νομίζετε πως κάθε επισκέπτης λαχταρά την ευκαιρία να περιμένει τόσο πολύ που να διακρίνει τα νύχια των +ποδιών του να μεγαλώνουν ενώ περιμένει να κατέβει το GIF απλά και μόνο για να φανεί η επικεφαλίδα, η οποία θα μπορούσε να δημιουργηθεί με μία ωραία, *γρήγορη*, +γραμματοσειρά. + +**\"κάντε resize το browser σε \...\" οδηγίες**\ +Σωστά. Λες και θέλαμε να καταλαμβάνουν οι browser μας τόσην επιφάνεια. Αλλά αυτό που πραγματικά είναι ενοχλητικό είναι ότι τις περισσότερες φορές οι +\"γιδοβοσκοί\" το αντιλαμβάνονται λανθασμένα. Λες και στους δικούς τους browsers αντισταθμίζονται 8 pixel, εμάς μας τρώει 20, αλλά ξεχνούν να ενεργοποιήσουν τα +scroll bars, οπότε έχουν βγεί έξω τουλάχιστον 30 pixels, αν και η σελίδα ήταν έτσι κι αλλιώς για τα μπάζα. + +**Ξέρετε πως βρίσκεστε σε κόλαση περιεχομένου όταν βλέπετε\...** + +**Μετρητές**\ +\"Είστε ο υπ\' αριθμόν 2.317 επισκέπτης\". Ναι, λες και μας νοιάζει. Μέσω Yahoo ή Altavista μπορεί κανείς να βρεί χωρίς κόπο κάθε σελίδα του δικτύου με θέμα +\"τυροπιτάκια\" ή \"το καναρίνι μου\". Σε αυτόν τον γενναίο νέο κόσμο, οι μετρητές δεν είναι τίποτα άλλο παρά μιά μορφή επίδειξης εγωισμού, εντυπωσιάζοντας μόνο +αυτούς που φέρουν μυαλό από lemming\*. Οι μετρητές θα σας δείξουν πόσα κορόιδα διάβαζαν με τις ώρες αυτές τις σελίδες, αλλά δεν θα σας δείξουν πόσα άτομα σε +κλάσματα δευτερολέπτου μουρμούρισαν \"γιδοβοσκοί\" και είχαν ήδη φύγει. Οι μετρητές είναι κακό εργαλείο για την στατιστική επισκεπτών μιας σελίδας, βαραίνοντας +ακόμα περισσότερο τα \"καλώδια\" του Δικτύου.\ +**\* σημείωση από τον μεταφραστή:** επειδή υπάρχουν φήμες πως πολλά άτομα του χώρου μας εδώ, δεν έχουν ασχοληθεί με παιχνίδια, να αποσαφηνίσω τί είναι το +lemming. Υπήρχε κάποτε ένα ωραίο παιχνίδι, τα Lemmings, όπου είχες υπό τον έλεγχό σου μιά αγέλη από μικροσκοπικά ανεγκέφαλα όντα, που το μόνο που ήξεραν να +κάνουν ήταν να περπατάνε ΜΟΝΟ ευθεία και να εκρήγνυνται (αν τους διέταζες). Ο χρήστης λοιπόν, έπρεπε να διαμορφώσει κατάλληλα την πίστα ώστε τα ηλίθια αυτά όντα +να φτάσουν (περπατώντας ΜΟΝΟ ίσια) στην πόρτα που βρισκόταν στην άλλη μεριά της πίστας. Δεν ξέρω αν καταλάβατε πόσο ανεγκέφαλα είναι αυτά τα όντα (άλλο να σας +το λέω και άλλο να το βλέπετε ;-) + +**Μπαγιάτικα links**\ +Τα μπαγιάτικα links είναι lame. Άτομα που έχουν πάρα πολλά μπαγιάτικα links είναι lamers. OK, ο καθένας έχει έναν δείκτη \"εξάτμισης\" των links πού και πού \-- +αλλά δεν έχετε παρατηρήσει ότι τα μπαγιάτικα links εμφανίζονται κατα γενική ομολογία σε σμήνη, σαν κατσαρίδες; Κι αυτό γιατί άτομα με καλές σελίδες +χρησιμοποιούν links, αλλά τα προσέχουν και διορθώνουν τα μπαγιάτικα links γρήγορα χωρίς να το καταλάβει κανείς. Μία σελίδα που έχει πολλά μπαγιάτικα links +μιλάει από μόνη της: \"Ο δημιουργός μου είναι τεμπέλης, χαμένο κορμί, ιδιοκτήτης τρώγλης που συντηρεί ένα παλάτι κατσαρίδων\". + +**Σελίδες που βρίσκονται αιώνια υπο κατασκευή**\ +Οι surfers του δικτύου διαπιστώνουν γρήγορα πως για κάθε 10 σελίδες υπο κατασκευή, ίσως δύο τρείς μόνο από αυτές να καταργηθούν πρίν από το ολοκαύτωμα του +Σύμπαντος. Αυτό είναι ηλίθιο. Η html δεν είναι επιστήμη πυραύλων και η κατασκευή σελίδων δεν είναι μιά αργή διαδικασία. Όποιος δεν μπορεί να αφαιρέσει τις \"υπο +κατασκευή\" ταμπέλες από τις σελίδες του, θα έπρεπε αμέσως να τις παρατήσει και να βρεί ένα hobby που ταιριάζει καλύτερα στις ικανότητές του, όπως ας πούμε να +σαλιαρίζει(=ανοηταίνει) ή να κοιτάζει τον τοίχο. + +**Ξέρετε πως βρίσκεστε σε αισθητική κόλαση όταν βλέπετε\...** + +**Ανούσιες εγωκεντρικές σελίδες**\ +Αν μας δίναν μία δραχμή για κάθε σελίδα του στύλ \"Γεια, σε αυτήν την φωτογραφία βλέπετε εμένα και σε αυτήν βλέπετε το σκύλο/τη γάτα/τον γκόμενο/την γκόμενά +μου\" τότε αύριο κιόλας θα παίρναμε σύνταξη και θα ζούσαμε στην Aruba μαζί με μιά παρέα από supermodels. *Στοιχείο:* αν δεν έχεις κάτι να πείς, τότε σκάσε. Και +κράτα το μακριά από το Internet, η ζωή είναι πολύ σύντομη για βαρεμάρα. + +**Εταιρική logό-ρεια**\ +Όλοι τις έχουμε δεί \-- σελίδες κάποιων εταιρειών που ξεκινούν κατεβάζοντας κάποιο θηριώδες logo από την κόλαση. Και αφού περιμένετε κανα εκατομμύριο χρόνια να +τελειώσει, η υπόλοιπη σελίδα διακατέχεται από έναν τόνο λόγια για το πόσο υπέροχη είναι η εταιρεία κλπ, αλλά *καθόλου περιεχόμενο*. Συμβουλή για τους +marketroids: αυτό *δεν* είναι καθόλου αποτελεσματικό, εκτός εάν ο σκοπός σας είναι να κάνετε την εταιρεία να μοιάζει με όλες τις άλλες που νομίζουν πως έχοντας +μιά Web διεύθυνση είναι \"κάποιες\". Κι όμως !! + +**Διαφημίσεις από την κόλαση**\ +Δεν αγαπάτε τις διαφημίσεις στο πάνω μέρος των σελίδων που αλλάζουν κάθε φορά που διαβάζεται η σελίδα; Αν πηγαίνετε μπρος-πίσω ανάμεσα σε μιά κύρια σελίδα και +σε μιά άλλη, ψάχνοντας δεδομένα σε μιά συγκεκριμένη υποκατηγορία, τότε κερδίζετε την αμφίβολη ευχαρίστηση να περιμένετε κάθε φορά να φορτώσει ένα καινούριο +γραφικό! + +**Ανυπαρξία e-mail διεύθυνσης για feedback**\ +Αυτοί οι τύποι αρέσκονται στο να τους επισκέπτεστε, να τους βλέπετε και να τους ακούτε, αλλά οι ίδιοι δεν επιθυμούν να ακούσουν εσάς. Δεν είναι ιδιαίτερα +ενδιαφέρον ότι οι μισές Web σελίδες εταιρειών με μεγάλα ονόματα δεν σας αποκαλύπτουν ποιά είναι η e-mail διεύθυνσή τους; Αυτό δείχνει πόσο αυτές οι εταιρείες +*πραγματικά* εκτιμούν τους πελάτες τους. Συμβουλή για τους marketdroids: αυτή η κατάσταση κάνει την εταιρεία να μοιάζει ακριβώς τόσο αλαζονική, ηλίθια και +αδιάφορη για τους πελάτες, όσο πραγματικά είναι. Σκεφτείτε το θέμα της e-mail διεύθυνσης για feedback ως απαραίτητη μεταμφίεση. + +**Ξέρετε πως βρίσκεστε στην προέκταση της κόλασης όταν βλέπετε\...** + +**broken HTML**\ +Η υπερβολική κακογραμμένη και λάθος HTML είναι μάστιγα για τον κόσμο γιατί τυχαίνει να προσπερνάει τον βλαμμένο-εγκεφαλικά \'parser\' του αγαπημένου web browser +του καθενός. Ο σχεδιαστής του site κερδίζει το βραβείο διαστροφής εάν μπορεί να προκαλέσει ριζοσπαστικά διαφορετικές συμπεριφορές σε διαφορετικούς browsers ή +browsers διαφορετικής έκδοσης. + +**μή σταθερές επεκτάσεις**\ +Πολύ αγαπάμε τη στιγμή όταν ο browser παγώνει καθώς φορτώνει μιά σελίδα, μένει εκεί για λίγο και μετά ατιμωτικά πετάει coredump. Όταν συμβαίνει αυτό, μπορείτε +να στοιχηματίσετε χρήματα ότι η σελίδα χρησιμοποιεί κάποια \"άχρηστη\" επέκταση, την οποία κανένας ποτέ δεν προβληματίστηκε να κάνει κάνει debug σωστά (υπάρχει +σχεδόν ακριβής αριθμός αυτών). Ο χειρότερος εφιάλτης είναι χωρίς αμφιβολία ο \... + +**frames**\ +Τα frames είναι για τους ηλίθιους. Δεν δουλεύουν σε αρκετούς browsers, αλλά ευθύνονται για το core-dump σε πολλούς άλλους, οι οποίοι θεωρητικά υποτίθεται πως +υποστηρίζουν frames. Καταλαμβάνουν υπερβολικά πολύ χώρο στην οθόνη και, όταν χρησιμοποιούνται υπέρμετρα, τότε καθιστούν σχεδόν αδύνατο να καταλάβεις πού ήσουν +και πώς να πάς πίσω, εκεί από όπου ήρθες. + +**Καλυτερεύοντας την σελίδα** + +\"Οκ,\" σας ακούω να λέτε, \"μου έδωσες καλές συμβουλές στο πώς να μην τα κάνω θάλασσα. Έχεις να πείς κάτι πιό θετικό; Όπως, σωστά πράγματα και πώς να κάνω +καλύτερη μιά σελίδα;\" + +Για σένα, φίλε μου, έχω τρείς λέξεις. Περιεχόμενο, *περιεχόμενο* και **περιεχόμενο**. Δώσε στο \"ακροατήριο\" έναν λόγο για να νοιαστεί. Υπάρχουν τόσες πολλές +σελίδες που μοιάζουν σαν \"ιστορίες που διηγούνται ηλίθιοι\", γεμάτες από ήχο και μανία, μη σημαίνοντας κάτι. Θέλεις να προκαλέις το ενδιαφέρον; Τότε ξέχνα τα +γραφικά και τη λάμψη. Πρώτα και κύρια, *να έχεις κάτι να πείς*. + +**Ευχαριστίες** + +\...στον Pete Glasscock για την έμπνευση αυτής της σελίδας. + +\...στον Patrick Campbell-Preston \ για τα περισσότερα στην ενότητα \"προέκταση της κόλασης\". + +\...στον Rob Novak \ για το \"διαφημίσεις από την κόλαση\". + +Πολλοί άλλοι έχουν συμβάλλει στην δημιουργία αυτής της σελίδας και επιθυμούν να **μην** τους επιδοθούν ευχαριστίες. + +**Άλλες Καλές Συμβουλές** + +Υπάρχει μια μεγάλη \"φλυαρία\" για web page design από τον [C. J. Silverio](http://www.spies.com/~ceej/Words/rant.web.html). Φριχτά παραδείγματα κακής τεχνικής +βρίσκονται στο [Web Pages That Suck](http://www.webpagesthatsuck.com). Η στήλη του Jakob Neilsen [Top Ten Mistakes in Web +Design](http://www.useit.com/alertbox/9605.html) είναι πολύ καλή. Επίσης δείτε τα [Ten Commandments of Web +Design](http://www.mcs.net/~jorn/html/terrorist.html). diff --git a/content/articles/25/04_xbasic.md b/content/articles/25/04_xbasic.md new file mode 100644 index 0000000..ff6004f --- /dev/null +++ b/content/articles/25/04_xbasic.md @@ -0,0 +1,343 @@ ++++ +title = 'XBASIC' +date = '2000-07-01T00:00:00Z' +description = '' +author = 'Κ. Τσακάλογλου Tsakf@hellug.gr(mailto:%20Tsakf@hellug.gr)' +issue = ['Magaz 25'] +issue_weight = 4 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Σε αυτό το τεύχος του magaz Θα κάνουμε μια πρώτη προσπάθεια θα γράψουμε ένα πάρα πολύ απλό πρόγραμμα για να δούμε πως λειτουργεί το περιβάλλον και μελετήσουμε +τα βασικά στοιχεία που αποτελούν τη δομή ενός προγράμματος Xbasic.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Αρχικές ενέργειες** +------------------------------------------------- + +**2. Το πρόγραμμά μας** +------------------------------------------------ + +**3. Ανάλυση προγράμματος** +---------------------------------------------------- + +**4. Δεδομένα: Μεταβλητές και σταθερές.** +------------------------------------------------------------------ + +- [4.1 Μεταβλητές](#ss4.1) +- [4.2 Αριθμητικές μεταβλητές](#ss4.2) +- [4.3 Σκοπός μεταβλητών](#ss4.3) +- [4.4 Σταθερές](#ss4.4) + +**5. Επίλογος 2ου μέρους** +--------------------------------------------------- + + +### [1. Αρχικές ενέργειες]{#s1} + +Ξεκινάμε δίνοντας την εντολή στο περιβάλλον εργασίας της Xbasic για κατασκευή νέου προγράμματος επιλέγοντας από το **File\>New**. Θα εμφανιστεί παράθυρο για να +επιλεγεί το είδος του κειμένου που θέλουμε να δημιουργήσουμε. Επιλέγουμε την επιλογή program και το περιβάλλον δημιουργεί τις αρχικές εντολές που απαιτούνται +για το νέο πρόγραμμα. + +Θα δούμε ότι έχουν δημιουργηθεί δύο ενότητες. + +- 1\. PROLOG +- 2\. ENTRY + +Μπορούμε να επιλέξουμε ποια θα βλέπουμε με την επιλογή **view\>function** και εμφανίζεται παράθυρο επιλογών από όπου διαλέγουμε την επιθυμητή ενότητα. +Επιλέγοντας το PROLOG βλέπουμε ότι το περιβάλλον έχει δημιουργήσει κάποιες εντολές για να μας βοηθήσει στο στήσιμο του νέου προγράμματος μας. + + +### [2. Το πρόγραμμά μας]{#s2} + +Θα κατασκευάσουμε ένα απλό πρόγραμμα για να δούμε την δομή του αναλυτικά. Ο κώδικας που θα δούμε περιέχει αριθμούς γραμμής που στην πραγματικότητα δεν +χρειαζόμαστε. Μπήκαν απλά για να μπορεί να γίνει κατανοητή η εξήγηση των ενοτήτων. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + 1. ' + 2. ' #################### + 3. ' ##### PROLOG ##### + 4. ' #################### + 5. ' + + 6. PROGRAM "multiply" ' 1-8 char program/file name without .x or any .extent + 7. VERSION "1.0000" ' version number - increment before saving altered program + 8. ' + 9. ' You can stop the PDE from inserting the following PROLOG comment lines + 10.' by removing them from the prolog.xxx file in your \xb\xxx directory. + 11.' + 12.' Programs contain: 1: PROLOG - no executable code - see below + 13.' 2: Entry function - start execution at 1st declared func + 14.' * = optional 3: Other functions - everything else - all other functions + 15.' + 16.' The PROLOG contains (in this order): + 17.' * 1. Program name statement PROGRAM "progname" + 18.' * 2. Version number statement VERSION "0.0000" + 19.' * 3. Import library statements IMPORT "libName" + 20.' * 4. Composite type definitions TYPE ... END TYPE + 21.' 5. Internal function declarations DECLARE/INTERNAL FUNCTION Func (args) + 22.' * 6. External function declarations EXTERNAL FUNCTION FuncName (args) + 23.' * 7. Shared constant definitions $$ConstantName = literal or constant + 24.' * 8. Shared variable declarations SHARED variable + 25.' + 26.' ****** Comment libraries in/out as needed ***** + 27.' + 28.' IMPORT "xma" ' Math library : SIN/ASIN/SINH/ASINH/LOG/EXP/SQRT... + 29.' IMPORT "xcm" ' Complex library : complex number library (trig, etc) + 30. IMPORT "xst" ' Standard library : required by most programs + 31.' IMPORT "xgr" ' GraphicsDesigner : required by GuiDesigner programs + 32.' IMPORT "xui" ' GuiDesigner : required by GuiDesigner programs + 33.' + 34. + 35.DECLARE FUNCTION Entry () + 36.DECLARE FUNCTION multiply (numa%,numb%) + 37.' + 38.' + 39.' ###################### + 40.' ##### Entry () ##### + 41.' ###################### + 42.' + 43.' Programs contain: + 44.' 1. A PROLOG with type/function/constant declarations. + 45.' 2. This Entry() function where execution begins. + 46.' 3. Zero or more additional functions. + 47.' + 48.FUNCTION Entry () + 49. STATIC prompt$,inpu$ + 50. STATIC numa%, numb%,numc% + 51. inpu$=INLINE$("Enter a number 1..100 ") + 52. numa%=SSHORT(inpu$) + 53. inpu$=INLINE$("Enter a number 1..100 ") + 54. numb%=SSHORT(inpu$) + + 55. numc%=multiply(numa%,numb%) + 56. PRINT numc% + 57. + 58.END FUNCTION + 59.' + 60.' + 61.' ######################### + 62.' ##### multiply () ##### + 63.' ######################### + 64.' + 65.FUNCTION multiply (numa%,numb%) + 66.STATIC p1% + 67. + 68.p1%=numa%*numb% + 69. + 70.END FUNCTION p1% + 71.END PROGRAM + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + +### [3. Ανάλυση προγράμματος]{#s3} + +**Γραμμές 6-7** Χαρακτηριστικά προγράμματος + +Γράφουμε το όνομα του προγράμματος και την έκδοσή του. + +**Γραμμές 28-32** Βιβλιοθήκες + +Γράφουμε τα ονόματα των βιβλιοθηκών που θα συμπεριληφθούν στο πρόγραμμα. Η εντολή είναι: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + IMPORT όνομα βιβλιοθήκης + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Οι βιβλιοθήκες είναι ξεχωριστά αρχεία στον σκληρό δίσκο και προστίθενται αυτόματα στον κώδικα που έχουμε γράψει κατά την εκτέλεση του. Μαζί με την Xbasic έχουν +έρθει οι βιβλιοθήκες. + +**xma** για μαθηματικά, **xcm** για πολύπλοκες μαθηματικές πράξεις, (τριγωνομετρία κλπ.) **xst** είναι η βιβλιοθήκη που χρησιμοποιούμε πάντα και έχει τις +βασικές εντολές, **xgr** και xui που χρησιμοποιούνται όταν κατασκευάζουμε προγράμματα με γραφικό περιβάλλον (φόρμες, κουμπιά κλπ.). Η εντολή IMPORT είναι κάτι +αντίστοιχο της \#include της γλώσσας C. + +Στο συγκεκριμένο παράδειγμα χρησιμοποιείται μόνο η βιβλιοθήκη xst έτσι μπροστά από την εντολή δεν υπάρχει το \"\'\" που δηλώνει ότι η εντολή πρέπει να αγνοηθεί. + +**Γραμμές 35-36** Ορισμός παραμέτρων συναρτήσεων του προγράμματος + +Για να μπορεί να εκτελεστεί μια συνάρτηση που κατασκευάζουμε στο πρόγραμμα μας πρέπει να ορισθούν το όνομα, τυχόν παράμετροι κλπ. Εδώ δεν βάζουμε τον κώδικα της +συνάρτησης αλλά απλά τον ορισμό της. Ο κώδικας της συνάρτησης μπαίνει παρακάτω όπως θα δούμε στις γραμμές 65-70. + +Αυτά τα τρία κομμάτια κώδικα αποτελούν το PROLOG όπως αναφέρεται και στο παράθυρο του γραφικού περιβάλλοντος. άλλα στοιχεία του PROLOG που δεν τα χρησιμοποιούμε +στο παράδειγμά μας είναι: + +- Ορισμός τύπων μεταβλητών. +- Ορισμός εσωτερικών μεταβλητών (του κώδικα που έχουμε και γράφουμε). +- Ορισμός εξωτερικών μεταβλητών (του κώδικα που υπάρχει σε άλλο αρχείο). +- Ορισμός σταθερών. + +**Γραμμές 48-58** Η κύρια συνάρτηση Entry + +Η πραγματική δουλειά της Xbasic γίνεται εδώ. Οι εντολές της γλώσσας εμφανίζουν μηνύματα στο παράθυρο κονσόλας, δέχονται είσοδο από το πληκτρολόγιο, εκτελούν +μαθηματικές πράξεις, καλούν άλλες συναρτήσεις, διαβάζουν ή γράφουν σε αρχεία στον δίσκο και οποιαδήποτε άλλη εργασία ένα πρόγραμμα χρειάζεται να εκτελέσει. + +Οι εντολές που βλέπουμε εδώ είναι οι: + +**Γραμμές 51,53** INLINE\$ + +Αυτή η συνάρτηση εμφανίζει ένα μήνυμα στο παράθυρο κονσόλας και περιμένει εισαγωγή αλφαριθμητικών χαρακτήρων, συνοδευόμενη από το ENTER. + +**Γραμμές 52,54** SSHORT + +Αυτή η συνάρτηση μετατρέπει την σειρά αλφαριθμητικών χαρακτήρων σε αριθμητική μεταβλητή για να μπορούν να γίνουν μαθηματικές πράξεις. + +**Γραμμή 55** κλήση συνάρτησης + +Εδώ γίνεται η κλήση της συνάρτησης multiply που ορίζεται στις γραμμές 65-70. + +**Γραμμή 56** PRINT + +Αυτή η συνάρτηση εμφανίζει μηνύματα στο παράθυρο κονσόλας. + +**Γραμμές 65-70** Η συνάρτηση multiply + +Οι συναρτήσεις είναι ανεξάρτητα κομμάτια κώδικα που γράφτηκαν να κάνουν μια συγκεκριμένη δουλειά. Κάθε συνάρτηση έχει όνομα, παραμέτρους και τιμή επιστροφής. Ο +κώδικας της συνάρτησης εκτελείται μόλις σε κάποιο άλλο σημείο του προγράμματος την καλέσουμε με το όνομά της. Το απολύτως απαραίτητο για μια συνάρτηση είναι το +όνομά της ενώ μπορεί να μην έχει παραμέτρους ούτε τιμή επιστροφής. + +**Γραμμή 68** Πολλαπλασιασμός + +Στο παράδειγμά μας η συνάρτηση υπολογίζει το γινόμενο των μεταβλητών numa% και numb% και το τοποθετεί στην μεταβλητή p1%. + +**Γραμμή 70** END FUNCTION + +Εδώ τελειώνει ο κώδικας της συνάρτησης. Μπορούμε να βάλουμε δίπλα την μεταβλητή που θέλουμε να επιστρέψει η συνάρτηση. Στο παράδειγμά μας θέλουμε, να +επιστρέψουμε στην καλούσα συνάρτηση το γινόμενο, γι\' αυτό γράφουμε δίπλα την μεταβλητή που θέλουμε να επιστρέψει. + +**Γραμμές 1-5,8-29,31-33,37-47 και 59-64** σχόλια + +Σε αυτές στις γραμμές υπάρχει το σύμβολο \"\'\" που δηλώνει ότι η γραμμή αυτή είναι γραμμή σχολίων και έτσι δεν εκτελείται τίποτα απλά υπάρχει για να μπορεί ο +προγραμματιστής να βάζει σχόλια και να θυμάται μετά από καιρό τι έχει κάνει. + + +### [4. Δεδομένα: Μεταβλητές και σταθερές.]{#s4} + +Στο παράδειγμά μας στις γραμμές 49,50,66 γίνεται ο ορισμός μεταβλητών. Τα προγράμματα συνήθως χρησιμοποιούν διαφορετικής μορφής δεδομένα και χρειάζεται ένα +τρόπο να τα αποθηκεύει. Αυτά τα δεδομένα μπορεί να είναι ή αριθμοί ή γράμματα (χαρακτήρες). Η Xbasic έχει δύο τρόπους να αποθηκεύει δεδομένα -μεταβλητές και +σταθερές- όπου κάθε περίπτωση έχει τις ιδιότητές της. + +### [4.1 Μεταβλητές]{#ss4.1} + +Οι μεταβλητές χρησιμοποιούνται για να αποθηκεύσουμε δεδομένα του προγράμματος και να τα χρησιμοποιήσουμε σε κάποιο άλλο σημείο τους. Οι μεταβλητές στην +πραγματικότητα δείχνουν σε κάποια θέση μνήμης στον υπολογιστή που είναι αποθηκευμένα τα δεδομένα που αντιστοιχούν στην μεταβλητή. Τα ονόματα των μεταβλητών +ξεκινάνε πάντα με τουλάχιστον ένα πεζό αγγλικό γράμμα. Τα κεφαλαία τα χρησιμοποιούμε αποκλειστικά να γράφουμε τις εντολές της Xbasic. Είναι απαραίτητο να γίνει +αυτό γιατί εντολή που έχει έστω και ένα πεζό γράμμα δεν αναγνωρίζεται. Στα ονόματα των μεταβλητών η γλώσσα δεν μετατρέπει σε κεφαλαία ή πεζά ότι μοιάζει και +έτσι οι μεταβλητές numa και numA είναι διαφορετικές. Τα ονόματα μεταβλητών δεν μπορούν να περιέχουν σύμβολα εκτός από το την υπογράμμιση (Underscore \_). + +### [4.2 Αριθμητικές μεταβλητές]{#ss4.2} + +Στην Xbasic υπάρχουν διάφορα είδη αριθμητικών μεταβλητών. Ανάλογα με το είδος της μεταβλητής υπάρχουν διαφορετικές απαιτήσεις μνήμης και διαφέρουν ως προς τον +τρόπο που γίνονται οι μαθηματικές πράξεις σε αυτές. Π.χ. Μικρές αριθμητικές τιμές 1,10,100,-5 χρειάζονται λιγότερη μνήμη για να αποθηκευθούν από ότι οι τιμές +3.14 ή 312.45687632 και λιγότερη ώρα για τον υπολογισμό τους. Με την κατάλληλη χρήση των μεταβλητών εξασφαλίζεται η γρήγορη και αποτελεσματική λειτουργία του +προγράμματός μας. Οι αριθμητικές μεταβλητές διακρίνονται σε τρία βασικά είδη: + +- Ακέραιες μεταβλητές όπου και αυτές διακρίνονται σε δύο ομάδες (με πρόσημο και χωρίς πρόσημο). +- Μεταβλητές κινητής υποδιαστολής όπου τα περιεχόμενά τους μπορούν να είναι κει δεκαδικοί αριθμοί. +- Μεταβλητές συστήματος. + +Παραθέτω ένα πίνακα με τα είδη των ακεραίων αριθμητικών μεταβλητών που διαθέτει η Xbasic με το επίθεμά τους, το όνομα τους, το χώρο (σε bits) που καταλαμβάνουν +στην μνήμη, και τις ελάχιστες και μέγιστες τιμές που μπορούν να έχουν. + +- Μεταβλητές με πρόσημο (signed). + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + @ SBYTE (8 bits) -128 έως 127 + % SSHORT (16 bits) -32768 έως 32767 + & SLONG (32 bits) -2147483648 έως 2147483647 + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +- Μεταβλητές χωρίς πρόσημο (Unsigned). + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + @@ UBYTE (8 bits) 0 έως 255 + %% USHORT (16 bits) 0 έως 65535 + && ULONG (32 bits) 0 έως 4294967295 + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +- Μεταβλητή συστήματος XLONG + + Η μεταβλητή αυτή μπορεί να είναι 32 ή 64 bit ανάλογα με το σύστημα που χρησιμοποιούμε. + +Οι μεταβλητές κινητής υποδιαστολής είναι δύο τύπων. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ! SINGLE (32 bits) σύμφωνα με την κωδικοποίηση IEEE + # DOUBLE (64 bits) σύμφωνα με την κωδικοποίηση IEEE + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Οι μεταβλητές κινητής υποδιαστολής ανάλογα με το είδος τους μπορούν να έχουν ακρίβεια 8 δεκαδικών ψηφίων ο τύπος SINGLE και 16 δεκαδικών ψηφίων ο τύπος DOUBLE. + +### [4.3 Σκοπός μεταβλητών]{#ss4.3} + +**AUTO AUTOX STATIC SHARED (/όνομα ομάδας/) EXTERNAL (/όνομα ομάδας/)** + +**EXTERNAL** ορίζονται οι μεταβλητές που το περιεχόμενό τους είναι διαθέσιμο για οποιοδήποτε κομμάτι προγράμματος ακόμη και αν αυτό είναι σε βιβλιοθήκη και +γίνεται σύνδεση (link) μετά την μεταγλώττισή του (compile). + +**SHARED** ορίζονται οι μεταβλητές που το περιεχόμενό τους είναι διαθέσιμο σε όλες τις συναρτήσεις του τρέχοντος προγράμματος. + +**STATIC** ορίζονται οι μεταβλητές που ανήκουν στην τρέχουσα συνάρτηση και κρατούν τις τιμές τους για διαδοχικές κλήσεις της συνάρτησης. + +**AUTO** και **AUTOX** ορίζονται οι μεταβλητές που ανήκουν στην τρέχουσα συνάρτηση και για κάθε κλήση της συνάρτησης κάθε φορά παίρνουν νέα τιμή. + +Οι μεταβλητές **SHARED** και **EXTERNAL** συνήθως ορίζονται στο τμήμα PROLOG όπως αναφέρθηκε προηγούμενα. + +### [4.4 Σταθερές]{#ss4.4} + +Όπως οι μεταβλητές έτσι και οι σταθερές καταλαμβάνουν κάποιο χώρο στην μνήμη. Οι σταθερές διαφέρουν από τις μεταβλητές στο ότι τα περιεχόμενά τους δεν αλλάζουν +κατά την εκτέλεση του προγράμματος. Οι σταθερές έχουν όνομα όπως και οι μεταβλητές και οι περιορισμοί στην ονοματολογία τους είναι ίδια με αυτή των μεταβλητών +όπως αναφέραμε παραπάνω. Οι σταθερές είναι χρήσιμες όταν γράφουμε προγράμματα που έχουν κάποια βασική παράμετρο που δεν αλλάζει. Π.χ. ο αριθμός π=3.14\... + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Λ.χ. + perim=3.14*(2*R) + emb=3.14*R*R + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αντί να γράφουμε τον αριθμό 3.14 κάθε φορά που θέλουμε να βάλουμε τον αριθμό π στους υπολογισμούς μας ορίζουμε σαν σταθερά την pi=3.14 + +Έτσι το πρόγραμμα διαμορφώνεται σε: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + $pi=3.14 + + perim=$pi*(2*R) + emb=$pi*R*R + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Με αυτόν τον τρόπο ο κώδικας είναι ευανάγνωστος και εύκολα κατανοητός. Εκτός όμως από την πιο εύκολη αναγνωσιμότητα του προγράμματος μπορούμε πολύ εύκολα να +αλλάξουμε την σταθερά π μόνο σε ένα σημείο στο πρόγραμμα και αυτό θα επηρεάσει όλα τα σημεία του προγράμματος που έχουν την σταθερά ενώ αν δεν την είχαμε +χρησιμοποιήσει θα έπρεπε να αλλάξουμε σε κάθε σημείο τον αριθμό 3.14. + +Οι σταθερές στην Xbasic είναι δύο ειδών. + +- Οι τοπικές σταθερές που ορίζονται αρχικά μέσα σε μια συνάρτηση και στο όνομά τους προηγείται ένα \$ Π.χ. \$YES +- Οι σταθερές που αφορούν όλο το πρόγραμμα και ορίζονται στο κομμάτι PROLOG στην αρχή του προγράμματος και στο όνομα τους προηγούνται δύο \$. Π.χ. \$\$READ + +Υπάρχουν και οι σταθερές συστήματος που τις δίνει η Xbasic και είναι διαθέσιμες σε όλα τα προγράμματα όπως \$\$TRUE και \$\$FALSE. + + +### [5. Επίλογος 2ου μέρους]{#s5} + +Είδαμε μέχρι στιγμής πως μπορούμε να κατασκευάσουμε ένα πρόγραμμα Xbasic. Πρέπει να προσεχτεί ιδιαίτερα από τους έμπειρους σε άλλες BASIC η σημασία της ενότητας +ENTRY. Εκεί αρχίζει η εκτέλεση του προγράμματος και στο END FUNCTION τελειώνει. Αυτό βέβαια για τους προγραμματιστές C είναι γνωστό από την συνάρτηση MAIN. +Πιστεύω ότι για κάποιον που έχει συνηθίσει BASIC και θέλει να αλλάξει γλώσσα και να πάει στην C, καλό είναι να περάσει πρώτα από την XBASIC. Θα έχει τις γνωστές +εντολές (BASIC) με μικροδιαφορές αλλά η δομή του προγράμματος μοιάζει πιο πολυ με την C. Έτσι αφού εξοικειωθεί με την δομή της XBASIC τότε η αλλαγή στην C θα +είναι πάρα πολύ εύκολη. + diff --git a/content/articles/25/05_esr.md b/content/articles/25/05_esr.md new file mode 100644 index 0000000..7956b10 --- /dev/null +++ b/content/articles/25/05_esr.md @@ -0,0 +1,147 @@ ++++ +title = 'Διευκρινήσεις για το Open Source' +date = '2000-07-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης(mailto:kabrianis@hellug.gr)' +issue = ['Magaz 25'] +issue_weight = 5 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Κάποιοι προβληματισμοί για την αποδοχή του open source στην ελλάδα, και μία συνέντευξη που ξεκαθαρίζει ορισμένα πράγματα, από τον Eric Raymond.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Στην Ελλάδα έχουμε μία θλιβερή πρωτοτυπία. Σύμφωνα με τα αποτελέσματα της τελευταίας (πιο πρόσφατης) [έρευνας του open +letter](http://www.open.gr/survey/991231/web-soft.html) το λογισμικό των Web servers στην Ελλάδα κατανέμεται ως εξής: + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + \ **Ποσοστό χρήσης** + **Web-server software** + + Apache 47,2% + + MS IIS 40,7% + + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + +Την ίδια περίοδο, σε αντίστοιχες μετρήσεις παγκοσμίως που διενεργήθηκαν από την [Netcraft](http://www.netcraft.com), η κατάσταση είναι εντελώς διαφορετική, με +τον (open source) Apache να \"νικάει\" τον (closed-source proprietary) Microsoft IIS κατά κράτος: + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + \ **Ποσοστό χρήσης** + **Web-server software** + + Apache 55,5% + + MS IIS 22,9% + + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + +Αυτό δείχνει ότι η έννοια του open source δεν έχει πιάσει στην Ελλάδα τόσο όσο στο εξωτερικό. Τόσο σε επίπεδο επιχειρήσεων, όσο, δυστυχώς, και σε επίπεδο +developers (δεν είδα και πολλά open source προγράμματα από Έλληνες τελευταία :-). Ίσως αυτό να είναι επειδή το open source έχει μία φήμη. Προσπάθησα να +αξιολογήσω ποιο είναι το πρόβλημα. Ξεκίνησα από το ότι κάποια στοιχεία είναι γνωστά και αδιαμφισβήτητα. Για παράδειγμα η ποιότητα του open source δεν μπορεί να +φταίει και να τίθεται υπό αμφισβήτηση. Η έλλειψη εξειδικευμένου προσωπικού ίσως είναι ένα πρόβλημα, το οποίο θα προσπαθήσω να αναλύσω σε άλλο άρθρο. Αυτά για +τις επιχειρήσεις. Για τους developers το πρόβλημα είναι βιοποριστικό συνήθως. Και πως θα ζήσουμε; Διαβάζοντας κείμενα στο Internet, βρήκα στο \"σπίτι\" του +[Open Source](http://www.opensource.org) διάφορες πληροφορίες για το γιατί το open source είναι καλύτερο (πληροφορίες που να απευθύνονται σε επιχειρηματίες αλλά +και απαντάνε ορισμένα ερωτήματα των developers) αλλά δεν βρήκα πραγματικές απαντήσεις σε ερωτήματα που δέχομαι ο ίδιος συχνά από ανθρώπους που ανησυχούν να +βγάλουν τα προγράμματά τους Open Source, ή από εταιρείες που δεν χρησιμοποιούν Open Source αισθανόμενες απειλούμενες, και, δεν είχα κάτι να απαντήσω\... Επειδή +ο σωστός advocator είναι ο ενημερωμένος advocator, και επειδή η αναπαραγωγή ανακριβών ιδεών τελικά κάνει κακό στην κοινότητα, αποφάσισα ότι αξίζει τον κόπο να +ενημερωθούμε. Μάζεψα λοιπόν αυτές τις ερωτήσεις, και τις έστειλα στο OpenSource υπό την μορφή συνέντευξης. Η απάντηση ήρθε απ\' ευθείας από τον [Eric S. +Raymond](http://www.tuxedo.org/~esr). + +O Eric Raymond είναι ο πρόεδρος του OSI (Open Source Initiative) και ο άνθρωπος που έγραψε το (θρυλικό πια) κείμενο \"The Cathedral and The Bazaar\" για την +μορφή ανάπτυξης των open source προγραμμάτων. Ο Eric Raymond εργάζεται σαν σύμβουλος για την εταιρεία Thyrsus Enterprises και πρακτικά, γυρνάει τον κόσμο +δίνοντας διαλέξεις για το Open Source. + +Η συνέντευξη προφανώς δόθηκε στα αγγλικά. Έκανα μία μετάφραση αλλά για οποιαδήποτε απορία, διευκρίνηση, διαφωνία, πρέπει πρώτα να συμβουλευτείτε το πρωτότυπο +αγγλικό κείμενο επειδή μπορεί κατά την μετάφραση να μην απέδωσα σωστά κάποιο κομμάτι. [English text - Αγγλικό κείμενο](#engl) + +- Ελευθερία και επιχειρήσεις. + 1. Τι πιστεύει το OSI ότι θα έπρεπε να είναι ελεύθερο; Είναι μόνο το software ή αυτή η έννοια συμπεριλαμβάνει υποστήριξη, υπηρεσίες, εκπαίδευση + (πληροφορικής και όχι) κλπ; + + *E.R.: Αν και μέλη του OSI ατομικά μπορεί να έχουν θέσεις για την \"ελευθερία\" άλλων υλικών, η αποστολή μας είναι αυστηρά να προωθήσουμε την ελευθερία + στο software.* +- Προβλήματα παραγωγής και άδειας χρήσης των open source προγραμμάτων. + 1. Καλή πρακτική ανάπτυξης λογισμικού προϋποθέτει ότι πρέπει να υπάρχει (μεταξύ άλλων) μία περίοδος στην οποία η ομάδα ανάπτυξης παίρνει συνεντεύξεις από + τους (εν δυνάμει) τελικούς χρήστες και τους δοκιμαστές, με σκοπό να διευκρινιστούν οι πραγματικές ανάγκες που βρίσκονται κρυμμένες πίσω από τα παράπονα + του τύπου \"δεν δουλεύει\". Αυτό είναι κάτι που δεν μπορεί να γίνει στον ελεύθερο χρόνο κάποιου (τόσο εύκολα όσο η συγγραφή κώδικα), συνεπώς ποια είναι + η προτεινόμενη λύση, αν υπάρχει κάποια, για αυτό το πρόβλημα; + + *E.R.: Το software ανοιχτού κώδικα, ελέγχεται από την ανασκόπηση άλλων (peer-review) καθ\' όλη τη διάρκεια της ζωής του. Στην πραγματικότητα κάνουμε πιο + πολλούς ελέγχους, αναλογικά, απ\' ότι γίνονται στο περισσότερο proprietary λογισμικό, απλά διανέμουμε το φόρτο διαφορετικά. Αυτή η τακτική φαίνεται να + δουλεύει. Τα ανοιχτού κώδικα λειτουργικά συστήματα έχουν μεγάλα διαστήματα μεταξύ σφαλμάτων (mean times between failure).\ + Ένα τμήμα το οποίο είναι δύσκολο να αντικαταστήσουμε για τυπικούς ελέγχους, είναι στην ρύθμιση της χρηστικότητας για όχι τεχνικούς, τελικούς χρήστες. + Δεν είμαστε πολύ καλοί σε αυτό ακόμα.* + + 2. Αν και το να πουλήσεις λογισμικό δεν είναι παράνομο στις Ελεύθερες άδειες, φαίνεται να υπάρχει ένα πρόβλημα με αυτό. Μία μεγάλη εταιρεία που θα αγοράσει + λογισμικό από έναν προγραμματιστή, έχει το marketing και την αναγνώριση (γνωστό όνομα εταιρείας) που ο προγραμματιστής δεν έχει, και έτσι είναι + ευκολότερο για την εταιρεία να πουλήσει το λογισμικό. Αυτό είναι ένα γεγονός της αγοράς. Το τελικό αποτέλεσμα θα είναι ότι η μεγάλη εταιρεία θα πουλήσει + όλα τα πακέτα, ενώ ο πραγματικός προγραμματιστής θα έχει πουλήσει μόνο αυτό το αρχικό κομμάτι. Δεν είναι αυτό άδικο για τον προγραμματιστή (και υπέρ της + μεγάλης εταιρείας); + + *E.R. Οι προγραμματιστές που θέλουν να πουλήσουν λογισμικό δεν το βγάζουν open source. Αυτοί οι οποίοι το βγάζουν open source επιλέγουν να αποζημιωθούν + με άλλους τρόπους από την απ\' ευθείας πώληση (πουλώντας σχετικά προϊόντα ή υπηρεσίες, ή απλά σε φήμη). Σε οποιαδήποτε περίπτωση δεν υπάρχει αδικία, + απλά διαφορετικές επιλογές.\ + Το ελεύθερο λογισμικό θα ήταν \"άδικο\" μόνο αν οι προγραμματιστές αναγκάζονταν να συμμετάσχουν σε αυτό. Κανείς δεν το υποστηρίζει αυτό, και, είναι + γεγονός, εγώ υπερασπίζω το δικαίωμα των προγραμματιστών να κάνουν οποιοδήποτε συμβόλαιο μπορούν να διαπραγματευτούν για να διαθέσουν την πνευματική τους + ιδιοκτησία, συμπεριλαμβανομένης μίας άδειας κλειστού κώδικα αν έτσι επιλέξουν.* +- Γενικές διευκρινήσεις + 1. Εμείς πιστεύουμε ότι όλο το λογισμικό θα έπρεπε να είναι ελεύθερο. Από την άλλη πλευρά, δεν πιστεύουμε ότι έχουμε το δικαίωμα να αναγκάσουμε κάποιον να + παράγει ελεύθερο λογισμικό. Αν αυτός θέλει να το διανείμει υπό μία μη ελεύθερη άδεια χρήσης, είναι ελεύθερος να το κάνει. Συμφωνεί το OSI με αυτό; Αν + όχι, είναι αυτό που οι μεγάλες εταιρείες ονομάζουν \"πειρατεία\" δικαολογημένο; + + *E.R. Η θέση του OSI σε αυτό είναι η ίδια με την προηγούμενη ερώτηση. Οι προγραμματιστές έχουν το δικαίωμα να κάνουν τις επιλογές τους και δεν + υποστηρίζουμε την πειρατεία.* + + 2. Free-speach και free-beer. Καθώς ο χρόνος περνάει όλο και περισσότερο free-beer λογισμικό εμφανίζεται για το Linux. StarOffice, Sybase για να αναφέρω + κάποια παραδείγματα. Θα έπρεπε η κοινότητα να υποστηρίζει αυτά τα προγράμματα για την γρηγορότερη εξάπλωση του Linux ή θα έπρεπε να τα αγνοεί; (Για + παράδειγμα, εμείς σαν Hellug σκεφτόμαστε να γράψουμε έναν ελληνικό διορθωτή για το StarOffice αλλά εχουμε καταλήξει σε αδιέξοδο. Και αυτό, φοβάμαι, + είναι μόνο το πρώτο πρόβλημα). + + *Το OSI δεν έχει θέση σε αυτό.* + +[]{#engl} **English original text of the interview** + +- Freedom and business. + 1. What does the OSI consider that should be open? Is it only for the software, or does that include support, services, education (computer-related or not) + etc? + + *While individual OSI members may have positions on the \"openness\" of other kinds of goods, our mission is strictly to promote openness in software* +- Open source producing/licensing problems + 1. Good software enginnering practice (as tought in Greek colleges that is, of course, but I don\'t think it will be different there :-) says that a + software should have among others a period on which development team interviews the (potential) users and the testers, in order to recognize the real + needs behind the \"it doesn\'t work\" nagging. That is something that cannot be done on someone\'s free time (as easy as coding) so what is the + recommended solution, if any, for that situation? + + *Open-source software is tested by peer-review throughout its lifetime. We actually do more testing, proportionately, than most proprietary software + gets; we just distribute the load differently. This tactic seems to work; open-source operating systems have very long mean times between failure.\ + The one area where it\'s hard to substitute for formal testing is in tuning the usability of interfaces for non-technical end-users. We\'re not very + good at that yet.* + + 2. While selling software is not illegal in Open Licenses, there seems to be a problem with that. A big company byuing an open source software from a + freelance developer, has the marketing resources and the society recognition (=Well known Company Name) that the developer doesn\'t, so it\'s easier for + the company to sell the software. That\'s a fact of the market (at least in Greece but I don\'t think it will be different there again). The final + result will be that the big company will sell all the packages to be sold, while the developer will have that one initial piece sold. Isn\'t that unfair + for the developer (and on favor of the big company?) + + *Developers who want to sell software don\'t go open source. Those who do are choosing to be compensated in some other way than direct sale value + (through selling associated goods or services, or simply in reputation). Either way, there is no unfairness, just different choices.\ + Open source would only be \"unfair\" if developers were forced to participate in it. Nobody advocates that \-- and, in fact, I defend the right of + developers to make any contract they can negotiate to dispose of their intellectual property, including a closed-source license if they so choose.* +- Those who still don\'t get it (modified to generic clarifications) + 1. We (and you of course) beleive that all software should be free. On the other hand, we don\'t think that we have the right to force someone to produce + free software. If he/she wants to distribute it under a non-free license he is free to do so. Does OSI agree with that? If not, is, what big companies + name as \"piracy\", justified? + + *OSI\'s position on this is similar to the one I implied in answering the previous question. Developers have the right to make their own choices, and we + do not support piracy.* + + 2. Free-speach and free-beer. As the time goes by, more free-beer software appears for Linux. StarOffice, Sybase to name just a few. Should the community + support these products for the earlier adoption of Linux, or should it ignore them? (for example, we as Hellenic LUG are thinking about writing a greek + speller for StarOffice, but we\'ve come to an endpoint. And that\'s, I\'m afraid, only the beggining). + + *OSI has no position on this.* diff --git a/content/articles/26/01_editorial.md b/content/articles/26/01_editorial.md new file mode 100644 index 0000000..11babc8 --- /dev/null +++ b/content/articles/26/01_editorial.md @@ -0,0 +1,65 @@ ++++ +title = 'Editorial' +date = '2000-09-01T00:00:00Z' +description = '' +author = 'Παπαδογιαννάκης Βαγγέλης(mailto:papas@hellug.gr)' +issue = ['Magaz 26'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Καλώς ορίσατε στο **Magaz**\... Επίσιμη ονομασία τεύχους, \`\`τα κεφάλια μέσα\'\'* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Τέρμα το διάλειμα, τα κεφάλια μέσα λοιπόν\... Κρίμα που και αυτό το καλοκαίρι πέρασε τόσο άδοξα, και για άλλη μια χρονιά δεν καταλάβαμε διακοπές. Όσο μακριά και +αν ήταν η Πορτογαλία, σας διαβεβαιώ ότι δεν ήταν αρκετή, για να με κάνει να ξεκουραστώ. Αλλά, ω γέγoνε γέγoνε και back to black και άστα να πάνε\... Ελπίζω +τουλάχιστον εσείς να περάσατε καλύτερα. + +Στα θέματά μας τώρα. \`Εχουμε τη [συνέχεια του άρθρου περι XBASIC](02_xbasic3.html) από τον [Κώστα Τσακάλογλου](mailto:tsakf@helug.gr). Αισίως έχουμε φτάσει +στην 3η συνέχεια του άρθρου, με προοπτικές για ακόμα περισσότερα. Αν πρώτη φορά πέσατε στο magaz, σας προτείνω να αρχίσετε από την αρχή της σειράς εδώ και να +συνεχίσετε μέσα από όλη τη σειρά. + +Φιλοξενούμε επίσης ένα άρθρο από τον [Θέμη Παπασσιλέκα](mailto:panzer@finecon.gr) που αναφέρεται στο linux που θα πάρει τη θέση του linux, δηλαδή το linux 2.4. +Μια περιεκτική ανάλυση του τι καινούριου μας έρχεται με τον νέο πυρήνα, που θα βοηθήσει να δούμε τις νέες δυνατότητες του αγαπημένου μας λειτουργικού. Το άρθρο +βρίσκεται [εδώ](04_kernel24.html), και θα σας πρότεινα να το διαβάσετε αμέσως! + +Από τον [DJ Art](mailto:djart@hellug.gr) φιλοξενούμε ένα [άρθρο που θα βοηθήσει τους νέους μας αρθρογράφους](03_beginners.html) να προσανατολιστούν στον +αστερισμό του linux. Ένα άρθρο που περιέχει πολλές αναφορές σε πηγές που είναι απαραίτητες για τον καθένα που ξεκινά με το linux. Εκεί θα βρείτε ό,τι θέλετε, +από υποστήριξη ελληνικών μέχρι και εξειδικευμένα πράγματα και τεχνικές. Έχουν μαζευτεί οι περισσότερες πηγές για τους Έλληνες χρήστες του linux. Οι νέοι χρήστες +λοιπόν, ας αρχίσουν το διάβασμα :) + +Για το τέλος, σας άφησα το καλύτερο :) Ο [Μιχάλης Καμπριάνης](mailto:kabrianis@hellug.gr) μας έγραψε [ένα φοβερό άρθρο](05_lfs.html) για το πώς να στήσουμε ένα +minimum μηχανάκι με **linux**, ώστε να μπορούμε να το προσαρμόσουμε στις ανάγκες μας, χωρίς να είμαστε κρεμασμένοι απο τα \... της κάθε διανομής και του κάθε +προγράμματος διαχείρισης πακέτων. Αρχίζουμε λοιπόν πολύ σωστά με μια minimum εγκατάσταση, και στη συνέχεια προσθέτουμε όσα μας είναι πραγματικά **απαραίτητα**. +Στο άρθρο αυτό ο [Μιχάλης](mailto:kabrianis@hellug.gr) θα μας βοηθήσει να το κάνουμε και θα μας καθοδηγήσει μέσα από απλά βήματα στην ολοκλήρωση και επιτυχή +εγκατάσταση μιας minimum εγκατάστασης. + +Μια πολύ ενδιαφέρουσα ιδέα του νέου αρθρογράφου [Βραχνάκη Γιώργου](mailto:gi0rgos@pathfinder.gr) ήταν να κάνουμε μια έρευνα ώστε να δούμε πού \`\`πάει\'\' το +Ελληνικό Internet. Γράψαμε λοιπόν ένα mail σε κάθε support@(ISP).gr, ρωτώντας τους μερικά πράγματα. Αυτά είναι: + +Τι λειτουργικό χρησιμοποιούν και με ποιo λογισμικό τα μηχανήματά τους. Ειδικότερα: + +- web servers +- mail servers +- news servers +- dns servers +- authentication servers (Τι είναι και τι τρέχουν) + +Όπως ήταν αναμενόμενο, δε μας απάντησαν όλοι, τους τρώγαμε βλέπετε τον πολύτιμο χρόνο τους. Και αυτό το σημείο θέλω να σταθώ και να το σχολιάσω: Κακώς δε μας +απάντησαν, γιατί με αυτόν τον τρόπο ουσιαστικά δυσφημίζουν την εταιρία τους και δεν παρέχουν υποστήριξη (υπόψιν ότι δε γύρισε κανένα mail πίσω, άρα το πήραν +όλοι). Αλλά αυτό είναι άλλου παπά ευαγγέλιο (Καμπριάνη με ακούς;) + +Τέλος πάντων, τα αποτελέσματα είναι ενδιαφέροντα, και φυσικά αξίζουν περαιτέρω ανάλυσης, πράγμα το οποίο δυστυχώς δεν κάναμε λόγω έλλειψης χρόνου. Εμείς, από τη +μεριά μας, προσπαθήσαμε να βγάλουμε κάποια αποτελέσματα για όσους δε μας έστειλαν απαντήσεις από τη μια με τη βοήθεια του [netcraft](http://www.netcraft.com) +για το web server και το OS του, και από την άλλη με telnet στις πόρτες 25 για το mail και την 119 για τα news, όσα φυσικά μας άφηναν, γιατί είναι γνωστό ότι τα +news είναι ελεύθερα για τους συνδρομητές τους και μόνο. + +Μια και το εγχείρημα, όπως είπα και παραπάνω, παρουσίαζει πολύ ενδιαφέρον, το άρθρο αυτό δε θα δημοσιευτεί αυτό το μήνα, αλλα τον επόμενο. Μέχρι τότε, θα +ξαναστείλουμε το mail σε όσους δεν απάντησαν, για μια ακόμα ευκαιρία. Στο επόμενο τεύχος λοιπόν, θα υπάρχει και μια πλήρης στατιστική ανάλυση, με ποσοστά και +αριθμούς. + +Θα ήθελα να ευχαριστήσω τους admin που απάντησαν, και να τους ζητήσω συγνώμη που δε δημοσιεύεται σε αυτό το τεύχος ελπίζοντας στην κατανόησή τους. + +Καλή ανάγνωση, και περάστε μια βόλτα από τη [σελίδα της ψηφοφορίας](http://magaz.hellug.gr/cgi-bin/poll26.cgi), ώστε να μας βοηθήσετε να εξαγάγουμε συμπεράσματα +για το πώς θέλετε το **magaz** σας! Η ψηφοφορία αυτού του μήνα αναφέρεται στο πόσο και γιατί χρησιμοποιείτε linux diff --git a/content/articles/26/02_xbasic3.md b/content/articles/26/02_xbasic3.md new file mode 100644 index 0000000..81fff9f --- /dev/null +++ b/content/articles/26/02_xbasic3.md @@ -0,0 +1,357 @@ ++++ +title = 'Xbasic' +date = '0000-09-01T00:00:00Z' +description = '' +author = 'Κώστας Τσακάλογλου(mailto:tsakf@hellug.gr)' +issue = ['Magaz 26'] +issue_weight = 2 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Μία γλώσσα προγραμματισμού Basic που έχει αρκετά στοιχεία C. Μέρος ΙΙΙ* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Σε αυτό το τεύχος θα συνεχίσουμε την αναφορά στα δομικά στοιχεία της Xbasic. θα αναφερθούμε στις εντολές, τις πράξεις και τους τελεστές. θα αναλύσουμε και ένα +παράδειγμα για να κατανοήσουμε καλύτερα την χρήση των πράξεων και των τελεστών. + +**1. Εντολές** +---------------------------------------- + +**2. Γραμμές κώδικα** +----------------------------------------------- + +**3. Τελεστές** +----------------------------------------- + +- [3.1 Ο τελεστής εκχώρησης (=)](#ss3.1) +- [3.2 Τελεστές μιας παραμέτρου](#ss3.2) +- [3.3 Τελεστές δύο παραμέτρων](#ss3.3) +- [3.4 Προτεραιότητα τελεστών](#ss3.4) +- [3.5 Είδη τελεστών](#ss3.5) +- [3.6 Ομάδες τελεστών](#ss3.6) +- [3.7 Προτεραιότητα τελεστών](#ss3.7) + +**4. Παράδείγμα χρήσης αριθμητικών τελεστών.** +------------------------------------------------------------------------ + +**5. Επίλογος 3ου μέρους:** +----------------------------------------------------- + + +### [1. Εντολές]{#s1} + +Οι εντολές είναι λέξεις που προσδιορίζουν την εκτέλεση μιας πράξης, ακολουθούμενες από στοιχεία της γλώσσας που ταιριάζουν στην κάθε εντολή. Γενικά προτιμάται +να χρησιμοποιούμε συναρτήσεις της γλώσσας αντί για εντολές. Οι εντολές όμως έχουν δύο πλεονεκτήματα. + +Το πρώτο είναι ότι δεν εκτελούνται επιπλέον εντολές που απαιτούνται για την αποθήκευση και επαναφορά των παραμέτρων, ώστε μόλις τελειώσει η εκτέλεση της +συνάρτησής τους να επιστρέψουμε στην προηγούμενη κατάσταση. Αυτό δίνει μεγαλύτερη ταχύτητα στο πρόγραμμά μας. Το δεύτερο είναι ότι δεν περιοριζόμαστε από +ορισμούς συναρτήσεων και έτσι κάθε εντολή έχει την σύνταξή της που είναι καθαρή και πιο κατανοητή από μία λίστα παραμέτρων. + +**Χρήση κενών και TABS**\ +Γενικά μπορούμε να χρησιμοποιούμε τα κενά ή τα TABS για να μορφοποιούμε το πρόγραμμά μας εκτός από μια εξαίρεση. Ότι βρίσκεται ανάμεσα σε εισαγωγικά και +ορίζεται σαν περιεχόμενο αλφαριθμητικής μεταβλητής. Εκεί τα κενά παίζουν ρόλο και, αν υπάρχουν θα εμφανίζονται στα περιεχόμενα της μεταβλητής ενώ οπουδήποτε +αλλού αγνοούνται. + +Παρακάτω θα δούμε δυο παραδείγματα όπου φαίνεται πόσο ευανάγνωστο γίνεται ένα πρόγραμμα όταν χρησιμοποιήσουμε κενά και TABS. Στην πρώτη περίπτωση δυσκολευόμαστε +να βρούμε πού αρχίζει και πού τελειώνει η επανάληψη των εντολών. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + FOR i1=1 to 1000 + PRINT i1 + IF i1>500 THEN PRINT "i1>500" + NEXT i1 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Ενώ μόλις γίνει η διαμόρφωση με τα κενά είναι εύκολο να δούμε τις εντολές που επαναλαμβάνονται εύκολα. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + FOR i1=1 to 1000 + PRINT i1 + IF i1>500 THEN PRINT "i1>500" + NEXT i1 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Τα πράγματα δυσκολεύουν, όταν οι εντολές που επαναλαμβάνονται είναι πάρα πολλές και δε χωράνε σε μια οθόνη. Τότε η μορφοποίηση είναι απαραίτητη, για να +μπορέσουμε να βγάλουμε κάποια άκρη, όταν εκ των υστέρων ξανακοιτάξουμε το πρόγραμμα μετά από καιρό. + + +### [2. Γραμμές κώδικα]{#s2} + +Οι γραμμές του κώδικα ξεχωρίζουν με το ENTER που υπάρχει στο τέλος κάθε γραμμής. Στην ίδια γραμμή κώδικα μπορούν να υπάρχουν περισσότερες από μία εντολές με +διαχωριστικό το \':\'. Έτσι, για παράδειγμα, μπορούμε να έχουμε τις εντολές, a=a+1:PRINT a στην ίδια γραμμή εφ\' όσον τις ξεχωρίσουμε με το διαχωριστικό \':\'. + +Οι γραμμές του κώδικα μπορούν να έχουν ονόματα ώστε να είναι δυνατή μετάβαση της εκτέλεσης του προγράμματος στην συγκεκριμένη γραμμή. + + +### [3. Τελεστές]{#s3} + +Οι τελεστές είναι σύμβολα που με την χρήση τους γίνονται πράξεις και ενέργειες όπου συμμετέχουν μία ή και περισσότερες παράμετροι. όπως στην άλγεβρα. Στην +Xbasic υπάρχουν τελεστές αριθμητικοί, λογικοί, σε επίπεδο bit και τελεστές διευθύνσεων. Ο κάθε ένας έχει την προτεραιότητά του και ανήκει σε μια τάξη που +ορίζει: + +- τους δεκτούς τύπους παραμέτρων +- τον τύπο του αποτελέσματος και, +- τους κανόνες μετατροπής των τύπων για την εκτέλεση μιας πράξης + +### [3.1 Ο τελεστής εκχώρησης (=)]{#ss3.1} + +Αυτόν τον τελεστή τον χρησιμοποιούμε για να εκχωρήσουμε μια τιμή σε μια μεταβλητή Π.Χ. a1=10 + +### [3.2 Τελεστές μιας παραμέτρου]{#ss3.2} + +Οι τελεστές μιας παραμέτρου έχουν μόνο μια παράμετρο δεξιά από τον τελεστή. Τέτοιο παράδειγμα είναι ο τελεστής - δηλώνει το αρνητικό αριθμητικό πρόσημο Π.Χ. +-10, -a1 -(a+b). Στην τελευταία περίπτωση το άθροισμα (a+b) επειδή περικλείεται από παρενθέσεις θεωρείται μία παράμετρος. + +### [3.3 Τελεστές δύο παραμέτρων]{#ss3.3} + +Οι τελεστές αυτοί υπολογίζουν τις δύο τιμές που τους δίνονται σαν παράμετροι και δίνουν ένα αποτέλεσμα. Όταν οι παράμετροι είναι διαφορετικού τύπου πρώτα +μετατρέπεται η μια στο είδος της άλλης και μετά εκτελείται η πράξη. + +### [3.4 Προτεραιότητα τελεστών]{#ss3.4} + +Όπως και στην άλγεβρα έτσι και εδώ οι τελεστές έχουν προτεραιότητα. Οι τελεστές με την μεγαλύτερη προτεραιότητα εκτελούνται πρώτα και τελευταίοι εκτελούνται +αυτοί που έχουν την μικρότερη προτεραιότητα. Αν για παράδειγμα γράψουμε x1=a+b\*c τότε, πρώτα θα υπολογιστεί το b\*c και μετά το αποτέλεσμα θα προστεθεί στο a. +Με την προτεραιότητα μειώνονται οι ανάγκες χρήσης παρενθέσεων για τον καθορισμό του τρόπου υπολογισμού των πράξεων. Οι παρενθέσεις χρειάζονται όταν θέλουμε να +ορίσουμε εμείς την σειρά εκτέλεσης. Δηλ. + +- x1=a+b\*c όπου είναι το ίδιο με το να γράφαμε x1=a+(b\*c) ή +- x1=(a+b)\*c όπου εξαναγκάζουμε να γίνει πρώτα το άθροισμα και μετά ο πολλαπλασιασμός. + +### [3.5 Είδη τελεστών]{#ss3.5} + +Οι αριθμητικοί τελεστές έχουν την ίδια χρήση που έχουν και στην άλγεβρα. Κάνουν πράξεις μεταξύ αριθμητικών παραμέτρων και παράγουν ένα αριθμητικό αποτέλεσμα. + +Οι τελεστές επιπέδου bit κάνουν πράξεις σε ακέραιους αριθμούς και παράγουν ακέραιους αριθμούς σαν αποτέλεσμα, αλλά λειτουργούν σε επίπεδο bit χωρίς τα +κρατούμενα Carry και Borrow. Οι πράξεις με bit έχουν να κάνουν περισσότερο με την εσωτερική αρχιτεκτονική του επεξεργαστή (processor) και είναι γνωστές στους +προγραμματιστές που έχουν δουλέψει C και Assembly. Για τον μέσο χρήστη / προγραμματιστή συνήθως οι τελεστές επιπέδου bit δεν χρειάζονται αλλά τους αναφέρω εδώ +για να δείξω την δύναμη που έχει η Xbasic να φτάνει σε τόσο χαμηλό επίπεδο. Έτσι κάποιος που θέλει να κάνει μερικά πράγματα που οι γνωστές Basic δεν έχουν, και +χρειαζόταν να χρησιμοποιήσει την C ή την Assembly τώρα με την Xbasic μπορεί να παραμείνει στην Basic και να κάνει αυτά που θέλει. + +Οι λογικοί τελεστές κάνουν πράξη σε αριθμητικές ή και αλφαριθμητικές μεταβλητές και δίνουν ένα λογικό αποτέλεσμα τύπου Αληθές. \[\$\$TRUE(-1)\] ή Ψευδές +\[\$\$FALSE(0)\]. + +### [3.6 Ομάδες τελεστών]{#ss3.6} + +#### Ομάδα 1 + +Η ομάδα 1 των τελεστών περιλαμβάνει τους λογικούς τελεστές && (AND), \|\| (OR) και \^\^ (XOR). + +#### Ομάδα 2 + +Η ομάδα 2 των τελεστών περιλαμβάνει τους τελεστές = (ίσο),\<\> (διάφορο),\< (μικρότερο), \<=(μικρότερο ή ίσο), \>= (μεγαλύτερο ή ίσο), \> (μεγαλύτερο) και τα +αντίστοιχά τους ==, !=, !\>=, !\>, !\<, !\<=. Οι παράμετροί τους μπορεί να είναι Ακέραιοι, δεκαδικοί ή αλφαριθμητικές μεταβλητές. Οι αλφαριθμητικές μεταβλητές +συγκρίνονται χαρακτήρα, χαρακτήρα από την αρχή μέχρι το τον πρώτο διαφορετικό χαρακτήρα. Έτσι βγαίνει το αποτέλεσμα της σύγκρισης. Το αποτέλεσμα είναι πάντα +XLONG ή \$\$TRUE ή \$\$FALSE. + +#### Ομάδα 3 + +Η ομάδα 3 περιλαμβάνει τους τελεστές επιπέδου Bit AND, XOR και OR με τα αντίστοιχα σύμβολά τους &,\^,\|. Οι παράμετροί τους μπορεί να είναι ακέραιοι ή άλλες +πράξεις. Το αποτέλεσμά τους είναι πάντα του ίδιου τύπου με τον τύπο των παραμέτρων τους. + +#### Ομάδα 4 + +Η ομάδα 4 περιλαμβάνει τους αριθμητικούς τελεστές +, -, \*, /, \*\*. Οι παράμετροι μπορεί να είναι ακέραιοι ή δεκαδικοί. Το αποτέλεσμα είναι πάντα τύπος +μεταβλητής της υψηλότερης ακρίβειας από τις μεταβλητές των παραμέτρων. + +#### Ομάδα 5 + +Στην ομάδα 5 ανήκει ο τελεστής + που ανάλογα με τις παραμέτρους του είναι είτε αριθμητικός τελεστής είτε τελεστής συγχώνευσης δύο αλφαριθμητικών μεταβλητών. Οι +παράμετροί του μπορεί να είναι, ή υποχρεωτικά και οι δύο αριθμοί, ή υποχρεωτικά και οι δύο αλφαριθμητικές μεταβλητές. Το αποτέλεσμα είναι, είτε αριθμός, είτε +αλφαριθμητικά μεταβλητή ανάλογα με τις παραμέτρους που έχουν δοθεί. + +#### Ομάδα 6 + +Σε αυτή την ομάδα έχουμε τους τελεστές MOD και \\. O MOD δίνει το υπόλοιπο της ακέραιας διαίρεσης των παραμέτρων του. Ο \\ δίνει το πηλίκο της ακέραιας +διαίρεσης των παραμέτρων του. Το αποτέλεσμα των τελεστών αυτής της ομάδας είναι πάντα ακέραιο. + +#### Ομάδα 7 + +Εδώ έχουμε του τελεστές \<\<, \>\>, \<\<\<.\>\>\>. Αυτοί οι τελεστές έχουν την ιδιότητα να μεταφέρουν τα bits των παραμέτρων τους ορισμένες θέσεις αριστερά ή +δεξιά. Οι παράμετροι τους μπορεί να είναι ακέραιοι ή πράξεις. Το αποτέλεσμά τους είναι το ίδιο με τον τύπο της αριστερής παραμέτρου. + +#### Ομάδα 8 + +Η ομάδα αυτή περιλαμβάνει τους τελεστές μιας παραμέτρου + και -.Η παράμετρος μπορεί να είναι ακέραιος αριθμός ή δεκαδικός. Το αποτέλεσμα είναι του ίδιου τύπου +με την παράμετρο. + +#### Ομάδα 9 + +Εδώ έχουμε τους τελεστές ! και !!. Στον τελεστή ! το αποτέλεσμα είναι λογικό \$\$TRUE αν η παράμετρος έχει τιμή 0 και \$\$FALSE όταν έχουμε οποιαδήποτε άλλη +τιμή. Στον τελεστή !! το αποτέλεσμα είναι λογικό \$\$FALSE αν η παράμετρος έχει τιμή 0 και \$\$TRUE όταν έχουμε οποιαδήποτε άλλη τιμή. + +#### Ομάδα 10 + +Ένας μόνο τελεστής ανήκει στην ομάδα αυτή και είναι ο   (ΝΟΤ) σε επίπεδο bit.Η παράμετρος μπορεί να είναι ή ακέραιος αριθμός ή το όνομα μιας συνάρτησης. Το +αποτέλεσμα είναι πάντα XLONG. + +#### Ομάδα 11 + +Η ομάδα αυτή περιλαμβάνει τους τελεστές μιας παραμέτρου & και && πού δίνουν σαν αποτέλεσμα μια XLONG διεύθυνση. Η παράμετρος του τελεστή & μπορεί να είναι +αριθμητική ή αλφαριθμητική μεταβλητή, πίνακας ή και στοιχείο πίνακα. Η παράμετρος του τελεστή && μπορεί να είναι αλφαριθμητική μεταβλητή, πίνακας αλφαριθμητικών +μεταβλητών. + +### [3.7 Προτεραιότητα τελεστών]{#ss3.7} + +**Προτεραιότητα 12**\ +&, && της ομάδας 11\ +NOT της ομάδας 10\ +!, !! της ομάδας 9\ ++, - της ομάδας 8 + +**Προτεραιότητα 11**\ +\<\<\<, \>\>\>, \<\<, \>\> της ομάδας 7 + +**Προτεραιότητα 10**\ +\*\* της ομάδας 4 + +**Προτεραιότητα 9**\ +\*, / της ομάδας 4 MOD, \\ της ομάδας 6 + +**Προτεραιότητα 8**\ ++ της ομάδας 5 - της ομάδας 4 + +**Προτεραιότητα 7**\ +& ή AND της ομάδας 3 + +**Προτεραιότητα 6**\ +XOR \^ και OR \| της ομάδας 3 + +**Προτεραιότητα 5**\ +\>, \>=, \<, \<= της ομάδας 2 + +**Προτεραιότητα 4**\ +\<\>, = ή !=, == της ομάδας 2 + +**Προτεραιότητα 3**\ +& Λογικό AND της ομάδας 1 + +**Προτεραιότητα 2**\ +\^\^ Λογικό XOR και \|\| Λογικό OR της ομάδας 1 + +**Προτεραιότητα 1**\ += τελεστής εκχώρησης. + + +### [4. Παράδείγμα χρήσης αριθμητικών τελεστών.]{#s4} + +Στο παρακάτω παράδειγμα θα χρησιμοποιήσουμε τους τελεστές \\ και MOD εφ\' όσον οι τελεστές + - \* και / μας είναι γνωστοί από την αριθμητική και νομίζω ότι δεν +έχει έννοια να επεκταθούμε σε αυτούς. Επαναλαμβάνω ότι δεν χρείαζεται να γράψουμε τους αριθμούς γραμμής απλά τους έχω βάλει για να ξέρουμε σε ποιες γραμμές +αναφερόμαστε κάθε φορά. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + 1.' + 2.' #################### + 3.' ##### PROLOG ##### + 4.' #################### + 5.' + 6.PROGRAM "progname" ' 1-8 char program/file name without .x or any .extent + 7.VERSION "0.0000" ' version number - increment before saving altered program + 8.' + 9.' You can stop the PDE from inserting the following PROLOG comment lines + 10.' by removing them from the prolog.xxx file in your \xb\xxx directory. + 11.' + 12.' Programs contain: 1: PROLOG - no executable code - see below + 13.' 2: Entry function - start execution at 1st declared func + 14.' * = optional 3: Other functions - everything else - all other functions + 15.' + 16.' The PROLOG contains (in this order): + 17.' * 1. Program name statement PROGRAM "progname" + 18.' * 2. Version number statement VERSION "0.0000" + 19.' * 3. Import library statements IMPORT "libName" + 20.' * 4. Composite type definitions TYPE ... END TYPE + 21.' * 5. Internal function declarations DECLARE/INTERNAL FUNCTION Func (args) + 22.' * 6. External function declarations EXTERNAL FUNCTION FuncName (args) + 23.' * 7. Shared constant definitions $$ConstantName = literal or constant + 24. + 25.$$secspermin = 60 + 26.$$secsperhr = 3600 + 27. + 28.' * 8. Shared variable declarations SHARED variable + 29.' + 30.' ****** Comment libraries in/out as needed ***** + 31.' + 32.' IMPORT "xma" ' Math library : SIN/ASIN/SINH/ASINH/LOG/EXP/SQRT... + 33.' IMPORT "xcm" ' Complex library : complex number library (trig, etc) + 34. IMPORT "xst" ' Standard library : required by most programs + 35.' IMPORT "xgr" ' GraphicsDesigner : required by GuiDesigner programs + 36.' IMPORT "xui" ' GuiDesigner : required by GuiDesigner programs + 37.' + 38. + 39. + 40.DECLARE FUNCTION Entry () + 41.' + 42.' + 43.' ###################### + 44.' ##### Entry () ##### + 45.' ###################### + 46. + 47.Programs contain: + 48.' 1. A PROLOG with type/function/constant declarations. + 49.' 2. This Entry() function where execution begins. + 50.' 3. Zero or more additional functions. + 51.' + 52.FUNCTION Entry () + 53. USHORT seconds,minutes,hours,secleft,minleft,nofsec + 54. STRING ans + 55. + 56. ans=INLINE$("Enter number of seconds :") + 57. nofsec=USHORT(ans) + 58. + 59. hours = nofsec \ $$secsperhr + 60. minutes = nofsec \ $$secspermin + 61. minleft = minutes MOD $$secspermin + 62. secleft = nofsec MOD $$secspermin + 63. + 64. PRINT nofsec;" Seconds are..." + 65. PRINT hours;" Hours ";minleft;" min ";secleft;" seconds" + 66. + 67. + 68.END FUNCTION + 69.END PROGRAM + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Οι γραμμές 1-37 αποτελούν το κομμάτι **PROLOG** του προγράμματός μας όπου εκεί ορίζονται οι σταθερές, οι κοινές μεταβλητές για όλο το πρόγραμμα οι τυχόν τύποι +μεταβλητών και οι βιβλιοθήκες που χρειάζονται, στο τέλος μπαίνουν οι ορισμοί των συναρτήσεων. Στο συγκεκριμένο παράδειγμα στις γραμμές 25 και 26 ορίζουμε τις +σταθερές \$\$secspermin και \$\$secsperhr. Στην γραμμή 34 έχουμε δώσει εντολή να περιλιφθεί η βιβλιοθήκη xst και στην γραμμή 40 έχει μπεί ο ορισμός της +συνάρτησης ENTRY. + +Οι γραμμές 53 και 54 + +\ +Σε αυτές τις γραμμές ορίζουμε το είδος των μεταβλητών που θα χρησιμοποιήσουμε στην συνάρτηση. + +Η γραμμή 56 + +\ +Σε αυτή την γραμμή καλούμε την συνάρτηση INLINE\$ που την γνωρίσαμε από το προηγούμενο παράδειγμα. + +Η γραμμή 57\ +Εδώ γίνεται μετατροπή της μεταβλητής ans που είναι αλφαριθμητική σε αριθμητική για να μπορούν να γίνουν οι πράξεις παρακάτω. + +Οι γραμμές 59 και 60 + +Βλέπουμε την χρήση του τελεστή \\ (ακέραια διαίρεση) έστι σαν αποτέλεσμα παίρνουμε το ακέραιο πηλίκο της διαίρεσης. + +Οι γραμμές 61 και 62\ +Η χρήση του τελεστή MOD για να βρούμε τα υπόλοιπα των διαιρέσεων. + +Οι γραμμές 64 και 65 + +Με την χρήση της εντολής PRINT δίνουμε εντολή στην Xbasic να εμφανίσει τα αποτελέσματα στην κονσόλα. + + +### [5. Επίλογος 3ου μέρους:]{#s5} + +Με τα παραδείγματα που είδαμε μέχρι τώρα έχουμε δεί τα βασικά μέρη που αποτελείται ένα πρόγραμμα Xbasic. Κάναμε μια σύντομη περιγραφή για τις μεταβλητές, τις +σταθερές και κάποιους τελεστές. Στο επόμενο θα συνεχίσουμε με παράδειγμα χρήσης των λογικών τελεστών και την εντολή IF. Γι αυτούς που έχουν κάποια εμπειρία από +άλλες Basic, να προσέξουν τους επιπλέον τελεστές που διατίθενται και προσοχή στο σημαντικότερο. Ο τελεστής \^ που σε άλλες Basic σημαίνει ύψωση σε δύναμη εδώ +αντικαθίσταται από τον \*\*. Ο τελεστής \^ εδώ είναι ο τελεστής επιπέδου bit OR. + diff --git a/content/articles/26/03_beginners.md b/content/articles/26/03_beginners.md new file mode 100644 index 0000000..3769c84 --- /dev/null +++ b/content/articles/26/03_beginners.md @@ -0,0 +1,117 @@ ++++ +title = 'A Beginners\ Guide \-- The linux.gr collection' +date = '2000-09-01T00:00:00Z' +description = '' +author = 'DJ Art(mailto:djart@hellug.gr)' +issue = ['Magaz 26'] +issue_weight = 3 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Βλέποντας κανείς τον τίτλο αυτού του άρθρου θα πεί: \"ααα\... άλλος ένας οδηγός για τους αρχάριους\". Υπάρχει, όμως, μία διαφορά: η τοποθεσία του οδηγού αυτού. +Η αλήθεια είναι πως όσο περισσότερα άτομα ασχολούνται με το linux (και ιδίως αρχάριοι) παρατηρείται συνέχεια μιά \"γκρίνια\" (ας το πούμε έτσι χαριτολογώντας ;) +ότι οι gurus τους γυρνάνε την πλάτη και όλα αυτά τα σχετικά. Ο οδηγός λοιπόν είναι επίτηδες σύντομος και σε μορφή links για να παρέχει την σωστή +\"κατεύθυνση\"/πορεία που θα πρέπει να ακολουθήσουν οι αρχάριοι, αλλά και για να τους μεταδώσει την νοοτροπία του \"ψάχνω καλά να βρώ αυτά που χρειάζομαι\".* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**Τί είναι το Linux ?**\ +Το Linux είναι ένα δωρεάν τύπου-Unix λειτουργικό σύστημα που αρχικά δημιουργήθηκε από τον Linus Torvalds και στη συνέχεια αναπτύχθηκε με τη βοήθεια +προγραμματιστών από όλον τον κόσμο. To Linux είναι μιά ανεξάρτητη POSIX υλοποίηση και στα χαρακτηριστικά του συμπεριλαμβάνει πραγματικό multitasking, πραγματικό +πολυχρηστικό περιβάλλον, virtual memory, shared libraries, demand loading, TCP/IP networking και πολλά άλλα χαρακτηριστικά που δικαιολογούν τον τίτλο +\"τύπου-Unix\". Είναι κατασκευασμένο υπό την GPL άδεια, δηλαδή ο πηγαίος κώδικάς του είναι διαθέσιμος στον καθένα. + +Ο Linus, ως φοιτητής στο Πανεπιστήμιο της Φιλανδίας, αρχικά δημιούργησε το Linux ως hobby. Είχε επικεντρωμένο το ενδιαφέρον του στο Minix, ένα μικρό UNIX +σύστημα, και έτσι αποφάσισε να δημιουργήσει ένα σύστημα που θα είχε περισσότερες δυνατότητες από το Minix. Ξεκίνησε την δημιουργία του Linux το 1991, +ανακοινώνοντας την έκδοση 0.02 και δουλεύοντας σταθερά έφτασε το 1994 στην έκδοση 1.0 του Linux Kernel. Το Linux μπορεί να χρησιμοποιηθεί για πολλούς σκοπούς, +όπως το networking, η ανάπτυξη προγραμμάτων, ακόμα και για πλατφόρμα για απλούς χρήστες. Λόγω της φύσης και της ευελιξίας του, το Linux έχει γίνει πολύ διάσημο +παγκοσμίως και ένας μεγάλος αριθμός προγραμματιστών έχει επικεντρώσει το ενδιαφέρον του πάνω σε αυτό. Η μασκότ του Linux είναι ένας συμπαθέστατος χαμογελαστός +πινγκουίνος, ο οποίος επιλέχτηκε από τον ίδιον τον δημιουργό του. Πρόλογος Το κείμενο που ακολουθεί έχει στόχο να καθοδηγήσει τους αρχάριους του Linux στα πρώτα +βασικά βήματα, να τους παρέχει τα σωστά links για τις πληροφορίες/πηγές που χρειάζονται. Επίσης, θα είναι μικρό, εύκολο και γρήγορο, ακριβώς όσο χρειάζεται για +να είναι κατανοητό και εύχρηστο. + +**Εγκατάσταση**\ +Μην ρωτάτε ποιά διανομή να εγκαταστήσετε. Να συνηθίσετε στην ιδέα ότι το Linux είναι ΕΝΑ. Οι διανομές διαφέρουν κυρίως στα προγράμματα εγκατάστασης. Αφού +εγκαταστήσετε το Linux θα μάθετε να δουλεύετε το λειτουργικό ακριβώς με τον ίδιο τρόπο ανεξάρτητα από το ποιά διανομή εγκαταστήσατε. Λοιπόν, ειδικά για τους +αρχάριους, είναι προτιμότερο να μην τσιγκουνευτείτε το σκληρό δίσκο, αφιερώστε αρκετό χώρο και κάντε μιά μεγάλη εγκατάσταση (δεν λέω full-install γιατί κάποιες +διανομές το παρακάνουν) κι αυτό για να έχετε πολλά πράγματα στη διάθεσή σας (προγράμματα/Documentation) και να μην ψάχνεστε. Όταν αποκτήσετε κάποια πείρα με το +λειτουργικό μετά από αρκετή χρήση θα είναι σίγουρο ότι θα είστε σε θέση να ασκήσετε την αφαιρετική ιδιότητα και να μην εγκαταστήσετε αυτά που δεν σας +χρειάζονται. Τώρα, όσον αφορά για οδηγίες εγκατάστασης, καλύτερα να συμβουλευτείτε τις οδηγίες που συνοδεύουν την κάθε διανομή, οι οποίες είναι αναλυτικές και +περιγράφουν βήμα προς βήμα το τί πρέπει να κάνετε. Πρόσθετες πληροφορίες θα βρείτε στα: + +[Installation HowTo](http://www.linuxdoc.org/HOWTO/Installation-HOWTO.html)\ +[Linux Installation and Getting Started](http://www.linuxdoc.org/LDP/gs/gs.html) + +**Ωραία, και τώρα που το εγκατέστησα, τί να κάνω;**\ +Τώρα τί; !! Μα, έχετε εγκατεστημένο ένα πολυ-χρηστικό, multitasking, ευέλικτο και παντοδύναμο λειτουργικό σύστημα. Αυτό που μένει είναι να αρχίσετε να το +χρησιμοποιείτε. Και για να το κάνετε αυτό, θα πρέπει πρώτα: α) να σιγουρευτείτε ότι εκμεταλλευτήκατε όλες τις συσκευές (hardware) που έχετε, β) να μπορείτε να +διαβάζετε και να γράφετε ελληνικά, γ) να συνδεθείτε στο Internet και δ) να βρείτε μιά πληθώρα προγραμμάτων για να ικανοποιήσουν την ανάγκη σας και τη θέλησή σας +να εντάξετε τον Η/Υ στη ζωή σας. Αρχίζουμε: + +**Ελληνικά** + +- \ + Αυτό είναι το πρώτο site που πρέπει να επισκεφθείτε, περιέχει τα πακέτα με τις γραμματοσειρές. +- [Hellenic HowTo](http://howto.hellug.gr/howto/pub/html/Hellenic-HOWTO.html) +- [Magaz Τεύχος 16](http://magaz.hellug.gr/16/02_grlinux.html) +- [Staroffice HowTo](http://howto.hellug.gr/howto/pub/html/StarOffice-and-Greek.html)\ + Τί; Δεν ξέρετε τί είναι το Staroffice; Αμέσως τρέξτε στο [site του](http://www.sun.com/staroffice). +- + +**Hardware** + +- [Hardware HowTo](http://www.linuxdoc.org/HOWTO/Hardware-HOWTO.html) +- [Printing HowTo](http://www.linuxdoc.org/HOWTO/Printing-HOWTO/index.html) +- [USB Υποστήριξη](http://www.linux-usb.org) +- Modems + - [Modem HowTo](http://www.linuxdoc.org/HOWTO/Modem-HOWTO.html) + - [Win-Modems](http://www.linmodems.org) + - [Winmodems HowTo](http://www.linuxdoc.org/HOWTO/Winmodems-and-Linux-HOWTO.html) +- Soundcards + - [Sound-HowTo](http://www.linuxdoc.org/HOWTO/Sound-HOWTO.html) + - [Drivers για SBLive! κ.α.](http://opensource.creative.com) + - Κοιτάξτε και στον κατάλογο /usr/src/linux/Documentation/sound +- [Υποστήριξη Scanners](http://panda.mostang.com/sane/) +- [Plug and Play HowTo](http://www.linuxdoc.org/HOWTO/Plug-and-Play-HOWTO.html) + +**Πώς θα συνδεθώ στο Internet;** + +- [Magaz Τεύχος 6](http://magaz.hellug.gr/06/05_xisp2.html) +- [X-ISP](http://xisp.hellug.gr) +- [Ρυθμίσεις για OTEnet](http://www.otenet.gr/hd/html/linux_settings.htm) +- [Ρυθμίσεις για Forthnet](http://www.forthnet.gr/support/gr/linux/index.html) +- [Οδηγίες σύνδεσης χρησιμοποιώντας το X-ISP](http://members.hellug.gr/djart/guide/guide-6.html) + +**Πού θα βρώ προγράμματα;** + +- [Linuxberg](http://linuxberg.duth.gr) Το αντίστοιχο του Tucows για το Linux +- [Freshmeat](http://freshmeat.net) +- [Sourceforge](http://www.sourceforge.net) +- [Επιστημονικές εφαρμογές](http://SAL.KachinaTech.com) +- [Εφαρμογές στο LGU-FAQ](http://homepages.pathfinder.gr/lgu_faq/index-12.html) +- [Εμπορικά προγράμματα](http://www.linuxdoc.org/HOWTO/Commercial-HOWTO.html) + +**Παιχνίδια** + +- +- [Loki Entertainment](http://www.lokigames.com) + +**Θέλω να είμαι \"μέσα στα πράγματα\"** + +- [Hellug](http://www.hellug.gr) Οι αρχάριοι πρέπει να επισκεφτούν αυτό το site οπωσδήποτε και να πατήσουν σε όλες τις πατούσες-links +- [Magaz](http://magaz.hellug.gr) Το online δωρεάν περιοδικό της ελληνικής κοινότητας του Linux +- [D.i.li.ma. \-- Το πρώτο έντυπο περιοδικό στην Ελλάδα για το Linux](http://dilima.eeea.gr) +- [Όλα τα HowTo (στα Αγγλικά)](http://www.linuxdoc.org) +- [Όλα τα μεταφρασμένα στα Ελληνικά HowTo](http://howto.hellug.gr) +- [Οι ελληνικές mailing lists](http://lists.hellug.gr) +- [Linux-Greek-Users-FAQ](http://homepages.pathfinder.gr/lgu_faq) +- Μην παραλέιψετε να επισκεφτείτε όλο το site του linux.gr +- [Tsakf\'s Links](http://links.hellug.gr) + +**Θέλω να βοηθήσω και εγώ εθελοντικά την ελληνική κοινότητα του Linux** + +- [Οι ελληνικές mailing lists](http://lists.hellug.gr) Μην ξεχάσετε την linux-howto λίστα +- [Τα ενεργά Projects](http://server.hellug.gr/LUGistics/el/pub/PRJ_main.php3) +- [Σημαντικά ελληνικά projects-προγράμματα](http://hq.hellug.gr) +- [NLS-HowTo για τις μεταφράσεις](http://nls.hellug.gr) +- [Το project ελληνικοποίησης των προγραμμάτων](http://hlp.sourceforge.net) diff --git a/content/articles/26/04_kernel24.md b/content/articles/26/04_kernel24.md new file mode 100644 index 0000000..d801d9d --- /dev/null +++ b/content/articles/26/04_kernel24.md @@ -0,0 +1,388 @@ ++++ +title = 'O ΥΠΕΡΟΧΟΣ ΚΟΣΜΟΣ ΤΟΥ LINUX 2.4' +date = '0000-09-01T00:00:00Z' +description = '' +author = 'Θέμης Παπασσιλέκας(mailto:panzer@finecon.gr)' +issue = ['Magaz 26'] +issue_weight = 4 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Μια εισαγωγή στον μαγικό κόσμο του καινούριου μας πυρήνα* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Εν αρχή ήταν ο Linus και ο 386 του. Για λόγους πολύ περίπλοκους για να αναλυθούν εδώ, αποφάσισε να μη χρησιμοποιήσει το κοινώς διαθέσιμο λειτουργικό σύστημα της +εποχής και αποφάσισε να γράψει το δικό του. Κάμποσα χρόνια και πολλές χιλιάδες γραμμές κώδικα αργότερα, κυκλοφόρησε το Linux 2.2 το οποίο ήταν ένα ορόσημο από +μόνο του. Ευτυχώς για τον κόσμο, ο Linus (και η παρέα του) συνέχισαν να πειράζουν το Linux και η έκδοση 2.4 του πυρήνα του είναι σχεδόν έτοιμη. Αυτό το κείμενο +περιγράφει κάποια από τα νέα χαρακτηριστικά στον 2.4, βασιζόμενο στον 2.3.99-pre3. + +Αντίθετα με τις ανακοινώσεις προ της εκδόσεως καποιων άλλων λειτουργικών συστημάτων, τα χαρακτηριστικά που περιγράφονται εδώ υπάρχουν ήδη στον πυρήνα 2.3 +(developers), αν και πιθανόν να μην είναι όλα τελείως σταθερά και κάποια μπορεί να χαρακτηρίζονται \"πειραματικά\" στην έκδοση 2.4. Καθώς το Linux είναι πιστό +στην φιλοσοφία του Open Source, τα χαρακτηριστικά προστίθενται από ανεξάρτητους προγραμματιστές καθώς ανακαλύπτουν μία συγκεκριμένη ανάγκη ή ένα λάθος στον +υπάρχοντα κώδικα. Αυτές οι αλλαγές ελέγχονται από τον Linux και τους βοηθούς του, και αυτή η διαδικασία φιλτραρίσματος είναι που κρατάει το Linux συνεκτικό +ακόμα και με αυτή την τεράστια βάση ανάπτυξής του. + +Ακόμα, στο πνεύμα του κινήματος **Open Source**, τα προϊόντα εκδίδονται \"όταν είναι έτοιμα\" και γενικά δεν έχουν προανακοινωμένες ημερομηνίες διάθεσης. Προς +το παρόν το Linux 2.3 βρίσκεται στην τελικά φάση προ-έκδοσης και δεν θα αλλάξει πολύ εκτός από κάποιες διορθώσεις. Περιμένουμε το Linux 2.4 σε έναν-δύο μήνες +και σε μερικούς μήνες από τότε οι διανομές θα το ενσωματώσουν στα πακέτα τους. Μένει να ειδωθεί πόσα από τα νέα χαρακτηριστικά θα διαλέξουν να υποστηρίξουν +οιδιανομές εξ\' αρχής. Η υποστήριξη για DevFS και LVM, ειδικά, θα είναι ένα μείζον θέμα για τις μελλοντικές διανομές. + +Σε αυτό το κείμενο γίνεται προσπάθεια επικέντρωσης στις περιοχές που το Linux 2.4 δεν είναι συμβατό με το Linux 2.2. Να θυμάστε ότι τα binary modules σίγουρα +δεν θα δουλεύουν, καθώς πολλές εσωτερικές δομές έχουν αλλάξει. Η μορφή κάποιων αρχείων στο /proc επίσης έχουν αλλάξει. Τα ονόματα σχεδόν όλων των αρχείων στο +/dev έχουν αλλαχθεί, αλλά παρέχονται συμβατά ονόματα. Οι περισσότερες εφαρμογές ούτε που θα καταλάβουν τις αλλαγές. (Οι low-level εφαρμογές , όπως ο δαίμονας +ppp, ή άλλα προγράμματα που βασίζονται σε στενή επαφή με τον πυρήνα πιθανότατα δεν θα είναι 100% συμβατά μεταξύ μεγάλων αλλαγών του πυρήνα). Αν σας αρέσει να +ενημερώνετε τη διανομή σας με το χέρι, να διαβάσετε οπωσδήποτε το αρχείο CHANGES και να ενημερώσετε όποια πακέτα χρειάζεται πριν να υποβάλετε αναφορά για λάθη. + +**1. ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΟΥ LINUX 2.4** +-------------------------------------------------------------- + +- [1.1 LINUX 2.4 KAI ia64](#ss1.1) +- [1.2 LINUX 2.4 KAI CRUSOE](#ss1.2) +- [1.3 LINUX 2.4 KAI ΠΡΟ-386](#ss1.3) +- [1.4 TA ΕΣΩΤΕΡΑ ΤΟΥ LINUX](#ss1.4) +- [1.5 ΥΠΟΣΤΗΡΙΞΗ ΥΛΙΚΟΥ - /dev/\*](#ss1.5) +- [1.6 ΔΙΑΥΛΟΙ - ISA, PCI, USB, MCA κτλ](#ss1.6) +- [1.7 Block Devices - LVM, Disk Drives, κλπ.](#ss1.7) +- [1.8 Συστήματα αρχείων και πίνακες κατατμήσεων](#ss1.8) +- [1.9 Συσκευές Χαρακτήρων - Πληκτρολόγια, Ποντίκια, Κονσόλες και Θύρες](#ss1.9) +- [1.10 Πολυμέσα: Ήχος, Τηεόραση, Ραδιόφωνο κλπ](#ss1.10) +- [1.11 Κάρτες Video και συσκευές Framebuffer](#ss1.11) +- [1.12 Προσιτότητα - accessibility](#ss1.12) +- [1.13 Δικτύωση και πρωτόκολλα](#ss1.13) +- [1.14 Binary Types](#ss1.14) +- [1.15 O Kernel Web Daemon](#ss1.15) +- [1.16 Κρυπτογραφία στον Πυρήνα](#ss1.16) + + +### [1. ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΟΥ LINUX 2.4]{#s1} + +Σε όρους γραμμών κώδικα, ο πυρήνας του Linux είναι κυρίως οδηγοί. Πραγματικά, το μέγεθος της καρδιάς του Linux δεν έχει μεγαλώσει πολύ κατά τις τελευταίες +ανανεώσεις. Κάποιοι από αυτούς τους οδηγούς είναι ανεξάρτητοι αρχιτεκτονικής, όπως ο οδηγός ΙDE. Αυτό σημαίνει πως αυτοί έχουν γραφτεί για να δουλεύουν σε +διάφορες πλατφόρμες. 'λλοι οδηγοί εξαρτώνται από μία συγκεκριμένη αρχιτεκτονική. Για παράδειγμα, ο οδηγός ποντικιού **ADB** (Apple Desktop Bus) δεν μπορεί να +δουλέψει στην πλατφόρμα i386 και έτσι δεν υποστηρίζεται. Οι προγραμματιστές του πυρήνα του Linux πασχίζουν για να φτιάξουν οδηγούς όσο γενικούς γίνεται, έτσι +ώστε να είναι δυνατόν να ξαναχρησιμοποιηθούν με μικρή προσπάθεια σε άλλες πλατφόρμες αν κάποιο εξάρτημα είναι διαθέσιμο. Το Linux είναι ένα πολυκέφαλο θηρίο με +πρόσωπα παρόμοια αλλά διαφορετικά το ένα από το άλλο, ανάλογα με την πλατφόρμα που χρησιμοποιούμε. + +Αυτό το κείμενο θα ασχοληθεί με υλικό Ιntel. Παρ\' ότι δεν θα μπει σε λεπτομέρειες για κάθε μεταφορά του Linux, θα πρέπει να αναφερθεί πως το Linux 2.4 θα +υποστηρίζει κάποιες νέες πλατφόρμες: i64 (Itanium), S/390 και SuperH. H υποστήριξη αυτή θα ωριμάσει με το χρόνο, όπως έγινε και με το Linux για άλλες +πλατφόρμες. Τα ακριβή χαρακτηριστικά διαφέρουν από πλατφόρμα σε πλατφόρμα και κάποιοι περιορισμοί του υλικού, μνήμης κλπ θα διαφέρουν ανάλογα με την +αρχιτεκτονική. + +Σε ό,τι αφορά στο Linux 2.4 για Intel, αυτό είναι πολύ παρόμοιο σε υποστήριξη με το Linux2.2. Όλα τα chips της Intel από τον 386 υποστηρίζονται ακόμα, μέχρι τον +Pentium III. Συμβατά chips όπως αυτά της AMD ή της Cyrix επίσης υποστηρίζονται. Επιπλέον, το Linux 2.4 θα περιλαμβάνει υποστήριξη για άλλο υλικό συχνά παρόν σε +πιο καινούργια chips συμπεριλαμβανομένων ποικιλιών **MTRRs (Memory Type Range Registers, επίσης MCRs)** μή-Intel που θα βελτιώσουν την απόδοση σε κάποιες +συσκευές μεγάλου εύρους. Ενώ το Linux 2.2 είχε υποστήριξη για **IO-APIC (Advanced Programmable Interrupt Controller)** σε συστήματα πολλαπλών επεξεργαστών, το +Linux 2.4 θα παρέχει την ίδια υποστήριξη και σε συστήματα ενός επεξεργαστή κι επίσης θα υποστηρίζει μηχανήματα με πολλαπλούς ΙΟ-ΑPICs. Η υποστήριξη για +πολλαπλούς IO-APICs θα επιτρέψει στο Linux 2.4 να προσαρμόζεται (scale) πολύ καλύτερα σε μηχανήματα υψηλών αποδόσεων απ΄ότι πριν. + +### [1.1 LINUX 2.4 KAI ia64]{#ss1.1} + +Αν και δεν έχει ακόμα παραδοθεί στις ανυπομονούσες μάζες, ο 64μπιτος αντικαταστάτης της Intel για τη σειρά των x86 έρχεται. Αν και δεν υπάρχει πραγματικό υλικό +ακόμα, στην έκδοση του πυρήνα έχει συμπεριληφθεί υποστήριξη (με patches) γι αυτό το chip και τους διαδόχους του. Η διαδικασία της μεταφοράς απλουστεύτηκε +σίγουρα με την υπάρχουσα υποστήριξη του Linux για 64μπιτους επεξεργαστές (συμπεριλαμβανομένων του **Alpha** της Compaq και του **Sparc64**). + +### [1.2 LINUX 2.4 KAI CRUSOE]{#ss1.2} + +Καθώς ο Linus δουλεύει στην **Transmetta**, ο Crusoe θα υποστηρίζει οπωσδήποτε το Linux όταν βγουν τα πρώτα προϊόντα Crusoe στην αγορά. Στην πραγματικότητα, το +Linux στον Crusoe έχει ήδη επιδειχθεί και μάλιστα πειστικά χρησιμοποιώντας το τεστ του Quake (πιθανώς το πιο σημαντικό τεστ για κάθε νέο επεξεργαστή). Καθώς ο +Crusoe προσομοιώνει τους i386 δεν θα υπάρξει ειδική μεταφορά γι αυτή την οικογένεια επεξεργαστών αλλά χαρακτηριστικά (ειδικά διαχείριση ενέργειας και πιθανώς +ένα νέο \"virtual keyboard layer\") τα οποία αναμένονται να υπάρχουν στην έκδοση 2.4 του πυρήνα. + +### [1.3 LINUX 2.4 KAI ΠΡΟ-386]{#ss1.3} + +Περιέργως, πολλοί ενδιαφέρονται ακόμα για το Linux για προ-386 επεξεργαστές. Η απάντηση, τουλάχιστον αυτή τη στιγμή, είναι πως δεν υπάρχει τέτοιο πράγμα Υπάρχει +ένα αδερφό πρόγραμμα, το **ΕLKS (Embedable Linux Kernel Subset)** το οποίο δουλεύει πάνω σε μία παραλλαγή του Linux για τέτοια μηχανήματα, με υποστήριξη για +protected mode για όσα την υποστηρίζουν. Το πρόγραμμα αυτό είναι ανεξάρτητο από το κυρίως Linux και δεν αφορά αυτό το κείμενο. + +Υπάρχει επίσης μία διαφορετική μεταφορά του πυρήνα του Linux, το uLinux, που προσφέρει Linux σε ενσωματωμένους και παλιότερους επεξεργαστές, συμπεριλαμβανομένων +αυτών χωρίς MMUs. Αυτή η δουλειά προς το παρόν βασίζεται πάνω στον πυρήνα 2.0 και δεν έχει ενσωματωθεί στο master tree. + +### [1.4 TA ΕΣΩΤΕΡΑ ΤΟΥ LINUX]{#ss1.4} + +To Linux 2.2 ήταν μία μεγάλη βελτίωση του Linux 2.0 και τη σειρά Linux 1.x. Υποστήριζε πολλά καινούργια συστήματα αρχείων, ένα νέο σύστημα **file caching** και +ήταν πολύ καλύτερα κλιμακούμενο. Το Linux 2.4 χτίζει πάνω σε αυτές και άλλες βάσεις για να είναι το καλύτερο Linux μέχρι τώρα για πολλά πράγματα. + +Ο πυρήνας του Linux είναι μία συλλογή αρθρωμάτων που περιλαμβάνουν οδηγούς υλικού, πρωτόκολλα και άλλα στοιχεία. Αυτά είναι \'κολλημένα\' στην καρδιά του πυρήνα +με **APIs, Programming Interfaces**, που παρέχουν μία στάνταρντ μέθοδο με την οποία ο πυρήνας του Linux μπορεί να επεκταθεί, και με αυτά θα ασχοληθεί αυτό το +κείμενο. Αυτά είναι τα στοιχεία που οδηγούν τους δίσκους σας, διαβάζουν τα αρχεία σας και κάνουν όλα τα προφανή πράγματα. Το Linux 2.4 είναι κάτι παραπάνω από +αυτά, όμως. Αυτοί οι οδηγοί και τα APIs περιστρέφονται γύρω από ένα κοινό κέντρο του πυρήνα του Linux. Αυτό το κέντρο περιλαμβάνει πολύ σημαντικά χαρακτηριστικά +όπως τον scheduler, τον διαχειριστή μνήμης, το εικονικό σύστημα αρχείων και το **resource allocator**. + +Το Linux 2.4 είναι η πρώτη έκδοση του πυρήνα του Linux που θα περιλαμβάνει ένα πλήρη υποσύστημα resource allocator management. Οι προηγούμενες εκδόσεις +περιείχαν μία κάποια υποστήριξη αλλά ήταν μάλλον αναξιόπιστη και δεν παρείχε τη λειτουργικότητα που χρειάζεται στον κόσμο \"Plug and Play\". Σε αντίθεση με τις +περισσότερες εσωτερικές αλλαγές, οι χρήστες θα νοιώσουν άμεσα αυτή την αλλαγή μια που επηρεάζει τον τρόπο που τα resources κατανέμονται και αναφέρονται στον +πυρήνα. Σαν μέρος αυτής της αλλαγής, η βάση δεδομένων PCI card που ήταν \'ριγμένη\' στο Linux 2.2 τώρα αναβαθμίζεται ούτως ώστε όλα τα resources να έχουν ένα +αντίστοιχο όνομα συσκευής παρά απλά έναν αντίστοιχο οδηγό. + +Η νέα έκδοση του πυρήνα του Linux επίσης διορθώνει κάποια προβλήματα με τον τρόπο που γινόταν η διαχείριση του layer του **VFS (Virtual FileSystem)** και των +file caches. Σε παλαιότερες εκδόσεις του Linux το caching εξαρτάτο από ένα σύστημα dual-buffer το οποίο απλοποιούσε κάποια πράγματα, αλλά προκαλούσε +πονοκεφάλους στους προγραμματιστές του πυρήνα που έπρεπε να διασφαλίσουν ότι δεν ήταν δυνατό για αυτούς τους buffer να είναι ασυγχρόνιστοι. Επιπροσθέτως, η +παρουσία του buffer αύξανε τη χρήση της μνήμης και καθυστερούσε το σύστημα καθώς ο πυρήνας έπρεπε να κάνει επιπλέον δουλειά για να κρατάει τα πράγματα +συγχρονισμένα. Το Linux 2.4 λύνει αυτά τα προβλήματα χρησιμοποιώντας ένα απλούστερο σύστημα με μονό buffer. + +Ένας αριθμος αλλαγών στο Linux 2.4 μπορεί να περιγραφεί ώς \"enterprise level\". Αυτό σημαίνει πως δεν θα γίνουν αντιληπτές και χρήσιμες στους χρήστες desktop +άμεσα. Στο μεγαλύτερο μέρος τους αυτά τα χαρακτηριστικά δεν υποβιβάζουν το Linux σε πιο \"νορμάλ\" περιβάλλοντα. Πρώτα απ\' όλα, το Linux 2.4 μπορεί να +χειρίζεται περισσότερες ταυτόχρονες διεργασίες καθώς είναι πιο κλιμακούμενο σε πολυεπεξεργαστικά μηχανήματα και επίσης προσφέροντας ένα ρυθμιζόμενο όριο +διεργασιών. Δεύτερον, ο scheduler έχει ξαναφραφεί κάπως για να είναι πιο αποτελεσματικός σε συστήματα με πολλές ταυτόχρονες διεργασίες. Τρίτον, ο καινούργιος +πυρήνας του Linux μπορεί πλέον να χειρίζεται ένα απίθανο νούμερο χρηστών και groups -κάπου 4.2 εκατομμύρια (και αυτό είναι \*πολλοί\* χρήστες!). Επιπροσθέτως, +παρέχεται υποστήριξη για πιο ισχυρό υλικό με υποστήριξη RAM 4GB σε Intel, μέχρι 16 Ethernet κάρτες, 10 ελεγκτές IDE, πολλαπλά IO-APICs και άλλες καταχρήσεις +καλού υλικού. Το όριο των 2GB για τα αρχεία έχει επίσης αυξηθεί. Με αυτές και άλλες αλλαγές, οι προγραμματιστές του πυρήνα του Linux αποδεικνύουν πως το Linux +μπορεί να είναι μία επιλογή σε πολλά νέα περιβάλλοντα. + +Ο τρόπος που το Linux χειρίζεται την μοιραζόμενη (shared) μνήμη έχει επίσης αλλάξει στο 2.4 για να συμμορφωθεί περισσότερο με τα στανταρντ. Μία παρενέργεια +αυτών των αλλαγών είναι ότι το Linux 2.4 θα απαιτεί να γίνεται mount ένα ειδικό σύστημα αρχείων μοιραζόμενης μνήμης για να δουλεύουν τα τμήματά της. Αυτό θα +γίνεται από τη διανομή όταν γίνουν διαθέσιμες για το Linux 2.4. + +Το Linux 2.4 επίσης περιέχει μία πολύ μεγαλύτερη συλλογή οδηγών και υποστηριζόμενου υλικού από οποιαδήποτε άλλη έκδοση και κάθε κομμάτι υλικού που μπορείτε να +ονομάσετε έχει μία καλή πιθανότητα να δουλεύει κάτω από Linux (βεβαίως, θα πρέπει να συμβουλευτείτε τα κείμενα πριν να αγοράσετε καινούργιο υλικό, για κάθε +περίπτωση. Ειδικά καινούργιο υλικό μπορεί να μη δουλεύει ακόμα.) + +Μία συχνή ερώτηση για το Linux 2.4 είναι το πόση μνήμη θα απαιτεί. Πολλά λειτουργικά συστήμτα απαιτούν ολοένα και περισσότερη μνήμη και πόρους καθώς ωριμάζουν, +αλλά το Linux 2.4 δεν ακολουθεί αυτήν την τάση καθώς απαιτεί λειγότερη μνήμη σε κάποιες περιπτώσεις. Βεβαίως, το Linux 2.4 περιέχει πολύ περισσότερη +λειτουργικότητα από το 2.2 και πολλά από αυτά τα χαρακτηριστικά χρειάζονται χώρο, οπότε η περίπτωσή σας μπορεί να διαφέρει (να θυμάστε ότι τα περισσότερα +στοιχεία του πυρήνα μπορούν να απενεργοποιηθούν κατά το compling, σε αντίθεση με άλλα λειτουργικά). + +### [1.5 ΥΠΟΣΤΗΡΙΞΗ ΥΛΙΚΟΥ - /dev/\*]{#ss1.5} + +Πριν να μιλήσουμε για την υποστήριξη υλικού στο Linux 2.4, πρέπει να μιλήσουμε για ένα από τα πιο καιρνούρια και αμφιλεγόμενα χαρακτηριστικά του: το **DevFS +(Device FileSystem)**. Αυτό είναι ένα (προς το παρόν προαιρετικό) χαρακτηριστικό το οποίο βασικά ξαναγράφει τον τρόπο με τον οποίο το Linux χειρίζεται τις +διάφορες συσκευές. Αυτό θα πρωτοπαρουσιαστεί στο χρήστη με δυο προφανείς τρόπους. Πρώτον, σχεδόν όλα τα ονόματα των συσκευών έχουν αλλάξει. Για παράδειγμα, το +\"/dev/had\" μπορεί να ήταν ο σκληρός σας δίσκος, αλλά τώρα θα ήταν τοποθετημένο στο \"/dev/ide0/\...\" (η ονοματολογία δεν είναι ακόμη βέβαιη). Αυτό το +αλλαγμένο σχήμα αυξάνει τον διαθέσιμο για ονόματα συσκευών χώρο κι επιτρέπει να ενσωματωθούν πιο εύκολα συστήματα USB και άλλα \"συγχρονα\" πράγματα. Δεύτερον, +τα ονόματα των συσκευών τώρα θα προστίθενται στο /dev/ ώς οδηγοί φορτωμένοι στον πυρήνα παρά θα έχουμε όλα τα πιθανά ονόματα να προϋπάρχουν σε αυτό το +directory. Τα παλιά ονόματα θα είναι ακόμη διαθέσιμα χάριν συμβατότητας χρησιμοποιώντας ένα πρόγραμμα userspace, το \"devfsd\". + +Αν και αυτό μπορεί να επηρεάσει τις εταιρίες διανομών που θέλουν να εχουν σίγουρο πως όλες οι εφαρμογές θα έχουν μεταβληθεί κατα τρόπο ώστε να χρησιμοποιούν τα +νέα ονόματα, οι χρήστες δεν θα πρέπει να επηρεασθούν ιδιαίτερα. Αυτή η αλλαγή θα είναι μία έκπληξη, αν μή τι άλλο, για πολλούς χρήστες. Αν και σε μερικούς +μπορεί να μην αρέσει η νέα μακριά ονοματολογία, είναι εύκολο να δούμε πόσο περιοριστική ήταν η παλιά (τί θα γινόταν, για παράδειγμα, αν είχατε περισσότερους από +26 δίσκους;) + +### [1.6 ΔΙΑΥΛΟΙ - ISA, PCI, USB, MCA κτλ]{#ss1.6} + +Οι επεξεργαστές είναι μόνο ένα μικρό κομμάτι του κόσμου του υπολογιστή. Εξίσου σημαντικά είναι η αρχιτεκτονική του διαύλου, το στοιχείο του συστήματος που είναι +συχνά υπεύθυνο για τις εσωτερικές κι εξωτερικές συσκευές. Κάποιες αρχιτεκτονικές, όπως η αρχική ISA, είναι περισσότερο ανεύθυνες απέναντι στο υλικό απ\' +ότιδήποτε άλλο -δεν παρέχουν καμμία διαχείριση πόρων, παρά μόνο ένα μέρος για να βάλουμε κάρτες. 'λλες, όπως η PCI, υποστηρίζουν πολύ περισσότερο προχωρμένα +επίπεδα παραμετροποίησης και επιτρέπουν την αλλαγή παραμέτρων συσκευών και άλλα πράγματα. Καθώς όλοι οι αρχικοί εσωτερικοί δίαυλοι Intel υποστηρίζονταν από το +Linux 2.2 ((Ε)ISA, VLB, PCI, MCA), δεν υπήρχαν εντυπωσιακές ανακοινώσεις σε αυτόν τον τομέα. Το Linux 2.4, παρ\' όλα αυτά, βελτιώνει κάποιους από αυτούς τους +διάυλους με το να τους προσδένει στο νέο υποσύστημα πόρων του Linux + +Υπάρχουν τώρα δύο μεγάλες βελτιώσεις σε αυτόν τον τομέα. Το Linux 2.4 περιέχει, για πρώτη φορά στον πυρήνα, υποστήριξη για ISA Plug \'n\' Play συσκευές. +Προγηγουμένως, το Linux μπορούσε να υποστηρίξει τις συσκευές αυτές μόνο μέσω ενός προγράμματος που έτρεχε ο χρήστης και με πολύ ιδρώτα. Το Linux 2.4 θα +επιτρέπει τη χρησιμοποίηση αυτών των συσκευών κατά την εκκίνηση (π.χ., την εκκίνηση από ένα ΙSAPnP IDE ελεγκτή) και την αυτόματη παραμετροποίηση αυτών. Ακομα το +Linux 2.4 θα παρέχει υποστήριξη για I2O μέσα στον πυρήνα. Το **Ι2Ο (Intelligent Input/Output)** είναι ένα υποσύνολο του PCI που επιχειρεί να επιτρέψει να +γραφούν οδηγοί ανεξαρτήτως λειτουργικού για πολλές συσκευές. Μεταξύ αυτών των δύο αλλαγών, πολλοί χρήστες θα βρουν ότι το Linux 2.4 υποστηρίζει πολύ περισσότερα +κομμάτια υλικου PC. + +Παρ\' όλα αυτά, το Linux 2.4 δεν θα αυξήσει την υποστήριξη για εξωτερικές συσκευές. Έχει προστεθεί υποστήριξη για PCMCIA (ή PC Card). Αυτή η υποστήριξη ήταν +διαθέσιμη σε πολλές διανομές από μία εξωτερική πηγή και οι περισσότερες διανομές την περιείχαν εξ\' ορισμού. Το Linux 2.4 υποστηρίζει καλύτερη ολοκλήρωση με το +σύνολο οδηγών PCMCIA και θα κάνει ευκολότερη την εγκατάσταση και τη ρύθμιση για τέτοιες συσκευές, για πολλούς χρήστες. Όπως προηγούμενες εκδόσεις αυτού του +οδηγού, πάντως, το Linux 2.4 θα απαιτεί ακόμα έναν εξωτερικό δαίμονα και στοιχεία (components) για να χρησιμοποιήσει τις συσκευές στο έπακρο. Ίσως τα πιο +ενδιαφέροντα νέα σε αυτό το μέτωπο έχουν να κάνουν με το Universal Serial Bus (USB), έναν εξωτερικό δίαυλο που κυριαρχεί σιγά-σιγά σε συσκευές όπως +πληκτρολόγια, ποντίκια, συστήματα ήχου, σαρωτές και εκτυπωτές. Το USB είναι μία δημοφιλής επιλογή για πολλές καινούργιες συσκευές, ακόμη και για υλικό μή-Intel. +Η υποστήριξη του Linux γι αυτές τις συσκευές είναια κόμη σε πρώιμα στάδια αλλά ένα μεγάλο ποσοστό κοινού υλικού USB (πληκτρολόγια, ποντίκια, ηχεία κλπ) ήδη +υποστηρίζεται από τον πυρήνα. + +Πιο πρόσφατα, προστέθηκε υποστήριξη **Firewire** στον πυρήνα. Το **Firewire** είναι μία δημοφιλής επιλογή για πολλές συσκευές μεγάλου εύρους διαύλου. Δεν +υπάρχουν πολλοί οδηγοί γι αυτήν την αρχιτεκτονική ακόμη, αλλά αυτή η υποστήριξη σίγουρα θα βελτιωθεί με τον καιρό, καθώς αυτή ωριμάζει. + +### [1.7 Block Devices - LVM, Disk Drives, κλπ.]{#ss1.7} + +Στην πιο απλή του μορφή, ένα block device είναι μία συσκευή που μπορεί να εκφραστεί ώς μία σειρά bytes που τα οποία μπορούν να προσπελασθούν σε οποιαδήποτε +σειρά. Αυτό περιλαμβάνει συσκευές όπως οι δίσκοι (μπορούμε να διαβάσουμε όποιο τομέα θέλουμε) αλλά όχι σειριακές θύρες (μπορούμε να διαβάσουμε μόνο ότι υπάρχει +στην άκρη του καλωδίου). Επεκτάσεις αυτής της ιδέας (όπως η έξοδος ενός δίσκου κλπ) χειρίζονται από το Linux μέσω των ioctls (I/O Controls). Η ιδέα των block +devices δεν έχει αλλάξει εδώ και καιρό και υποστήριξη για συσκευές όπως δίσκοι **IDE/SCSI** υπάρχει από τις πρώτες εκδόσεις του πυρήνα του Linux. Στο Linux 2.4 +έχουν ξαναγραφεί κάπως όλοι οι οδηγοί block devices καθώς το ΑΡΙ των block devices έχει αλλάξει για να ξεφορτωθεί διάφορα σκουπίδια και να διαχωρίσει το block +ΑΡΙ από το ΑΡΙ αρχείων σε επίπεδο πυρήνα. Οι αλλαγές που χρειάστηκαν γι αυτό το ξαναγράψιμο του ΑΡΙ δεν ήταν μεγάλες. Όμως, οι προγραμματιστές αρθρωμάτων που +διατηρούν αρθρώματα έξω από το main tree μπορεί να χρειαστεί να ανανεώσουν τον κώδικά τους (δεν θα πρέπει ποτέ να υποθέτουμε πλήρη συμβατότητα ΑΡΙ για αρθρώματα +του πυρήνα μεταξύ μεγάλων αλλαγών του πυρήνα) + +Τουλάχιστον στην επιφάνεια εργασίας, οι συσκευές δίσκων που χρησιμοποιούν το δίαυλο IDE είναι οι κυρίαρχες. Το Linux υποστηρίζει το IDE από τους πρώτους πυρήνες +αλλά το Linux 2.4 βελτιώνει αυτή την υποστήριξη με διάφορους τρόπους. Πρώτα απ\' όλα, τα μηχανήματα υψηλής απόδοσης με πολλαπλούς ελεγκτές IDE θα ωφεληθούν +καθώς ο αριθμός των υποστηριζόμενων ελεγκτών έχει ανέλθει στους 10, ενώ πριν ήταν 4. Καθώς οι περισσότερες μητρικές έρχονται μόνο με δύο, αυτό δεν θα επηρρεάσει +τους περισσότερους χρήστες. Δεύτερον, υπήρξαν αλλαγές που ια βελτιώσουν την υποστήριξη για ελεγκτές PCI και PnP IDE, δισκέττες ΙDE και tapes, DVDs και CDROM +changers. Και τέλος, το Linux 2.4 περιέχει ανανεώσεις οδηγών που θα διορθώνουν λάθη κάποιοων chipsets IDE και θα παρέχουν βελτιωμένη υποστήριξη για κάποια +χαρακτηριστικά άλλων, όπως το **ΑΤΑ66**. + +Αν και φαίνεται πως το υποσύστημα **SCSI** δεν έχει αλλάξει τόσο όσο το ΙDE, έχει ξαναγραφεί σε μεγάλο βαθμό. Επιπροσθέτως, υποστηρίζονται πολλοί νέοι ελεγκτές, +ενώ αναμένεται ακόμα ένα ξεκαθάρισμα στον κύκλο ανάπτυξης του 2.5. + +Ένα ολοκαίνουργιο χαρακτηριστικό του 2.4 είναι η εφαρμογή του **\"raw\" Ι/Ο device**. Μία συσκευή \"raw\" είναι εκείνη η προσπέλαση της οποίας δεν χειρίζεται +από το **caching layer**, αντί να πηγαίνει κατευθείαν στη low-level συσκευή καθεαυτή. Μία τέτοια συσκευή μπορεί να χρησιμοποιηθεί σε περιπτώσεις που μία +απαιτητική εφαρμογή θέλει πλήρη έλεγχο πάνω στο πως αποθηκεύει δεδομένα και τα μειονεκτήματα του συνηθισμένου caching δεν είναι επιθυμητά. Εναλλακτικά, μία +τέτοια συσκευή θα μπορούσε να χρησιμοποιηθεί σε κρίσιμες περιπτώσεις όπου θέλουμε να βεβαιωθούμε ότι τα δεδομένα θα γράφονται αμέσως στο δίσκο ώστε να μη χαθούν +σε καμμία περίπτωση. Η προηγούμενη υποστήριξη δεν ήταν επαρκής και γι αυτό δεν συμπεριλαμβανόταν, μια που έπρεπε να διπλασιαστεί ο αριθμός των nodes ώστε κάθε +block device να έχει ένα **raw device node** (και αυτή είναι η υποστήριξη που παρέχουν πολλά εμπορικά Unix). Η παρούσα υποστήριξη χρησιμοποιεί μία δεξαμενή +**device nodes** που μπορεί να συσχετισθεί με οποιαδήποτε συσκευή. + +Μία μεγάλη περιοχή αλλαγών στο Linux 2.4 υπήρξε η εισαγωγή του υποσυστήματος **LVM (Logical Volume Manager)** μέσα στον πυρήνα. Αυτό είναι ένα σύστημα ανάλογο +των **Unix HP-UX** και **Tru64 UNIX** που επανακαθορίζει πλήρως τον τρόπο που διαχειρίζονται τα συστήματα αρχείων και volumes. Το LVM επιτρέπει στα συστήματα +αρχείων να εκτείνονται σε πολλούς δίσκους, να αλλάζουν μέγεθος και να διαχειρίζονται με ένα πιο ευέλικτο τρόπο απ\'ότι με τις παρούσες μεθόδους partition table. +Κάποια από τα νέα χαρακτηριστικά του LVM αναπαράγονται με τον οδηγό md (multiple device) ή κάποια εργαλεία userspace. Πάντως, το υποσύστημα LVM προσφέρει αυτήν +την υποστήριξη με ένα εκ των πραγμάτων συμβατό με στάνταρντ τρόπο που θα είναι οικείος σε χρήστες εμπορικών UNIX. + +Επιπρόσθετα των αλλαγών στα άλλα block devices, το Linux 2.4 ακόμα υποστηρίζει ανανεωμένο loopback και οδηγούς ramdisk που διορθώνουν ορισμένα λάθη. + +### [1.8 Συστήματα αρχείων και πίνακες κατατμήσεων]{#ss1.8} + +Τα Block devices μπορούν να χρησιμοποιηθούν με διάφορους τρόπους. Ο ποιος συνήθης είναι να ενεργοποιήσουμε (mount) ένα σύστημα αρχείων πάνω τους (εσωτερικά, ο +κώδικας των συστημάτων αρχείων είναι σαν ένα \'επίστρωμα\' του οδηγού του block device). 'λλοι τρόποι περιλαμβάνουν τη διαδικασία κατατμήσεων (partitioning) (το +οποίο μοιάζει πολύ με ένα σύστημα αρχείωμ, μόνο που διαχειρίζεται με τε΄λείως διαφορετικό τρόπο), και η χρησιμοποίησή του ώς έχει (raw). + +To Linux 2.4 περιλαμβάνει όλα τα συστήματα αρχείων του 2.2. Αυτά συμπεριλαμβάνουν το **FAT (για τα διάφορα DOS), το ΝΤFS (Windows NT), VFAT και FAT32 (Windows +9x), HFS (MacOS), HPFS (OS/2)** και άλλα. Έχουν προστεθεί καινούργια συστήματα αρχείων, κυρίως το σύστημα **UDF** που χρησιμοποιείται στα **DVD** και το **XFS +(ή EFS)** που χρησιμοποιείται από το **ΙRIX**. Όλα τα συστήματα έχουν ξαναγραφεί σε ένα βαθμό προκειμένου να υποστηρίζουν το καινούργιο σύστημα page caching και +θα είναι πιο αποδοτικά εξαιτίτας αυτής της αλλαγής. Η μόνη εξαίρεση είναι αυτή του **ΝΤFS** που δεν συντηρείται ιδιαίτερα και δεν είναι σταθερό. + +Υπάρχει ένας αριθμός αλλαγών που θα βελτιώσουν τη συμβατότητα με άλλα συστήματα. Οι χρήστες OS/2 θα μπορούν επιτέλους να γράψουν στα συστήματα αρχείων τους μέσα +από το Linux. Οι χρήστες ΝΤ δεν έχουν αυτήν την πολυτέλεια ακόμη μια που ο οδηγός είναι ακόμα σε πειραματικό στάδιο. Οι χρήστες **NextStep** θα μπορούν να +ενεργοποιούν (mount) τα CD-ROM τους κάτω από Linux, μια και αυτό υποστηρίζει μία επέκταση του UFS που χρησιμοποιεί το ΝextStep. Ας σημειωθεί ότι το **HFS+**, το +νέο σύστημα αρχείων του Macintosh δεν υποστηρίζεται ακόμη από το Linux. + +To Linux 2.4 δεν υποστηρίζει ακόμη ένα **journaling** σύστημα αρχείων, αν και διάφορα σχέδια είναι κοντά στο να παρέχουν αυτή τη λειτουργία με σταθερό τρόπο. Αν +και είναι σχεδόν σίγουρο ότι ένα τέτοιο σύστημα δεν θα υποστηρίζεται από το Linux 2.4, αναμένεται ότι τουλάχιστον ένα τέτοιο θα προστεθεί στον κύκλο 2.4. + +Επιπροσθέτως, ο κώδικας διαχείρισης του πίνακα κατατμήσεων έχει ξαναγραφεί και τώρα επιτρέπει να χρησιμοποιηθεί μία πολύ μεγαλύτερη επιλογή ξένων τύπων πινάκων. +Αυτό θα ήταν χρήσιμο αν έχετε, για παράδειγμα, ένα εξωτερικό οδηγό **SCSI** από ένα Macintosh και θέλετε να τον χρησιμοποιήσετε στο PC σας. Έχει προστεθεί ένας +αριθμός νέων τύπων πινάκων κατατμήσεων, συμπεριλαμβανομένου του format για μηχανήματα **ΙRIX**. + +Δεν ενεργοποιούνται όλα τα συστήματα αρχείων πάνω από **block devices**. Μερικά, όπως το proc και το devfs είναι τελείως εικονικά. 'λλα ενεργοποιούνται στο +δίκτυο. Υπάρχει ένας αριθμός τρόπων για να πραγματοποιηθεί αυτό και πολλά λειτουργικά προσφέρουν τις δικές τους μεθόδους. + +Ο κόσμος των Windows χρησιμοποιεί το **Server Message Block (SMB)** για τα δικτυακά συστήματα αρχείων. Ο νέος πυρήνας Linux αφαιρεί την επιλογή του εάν θα +ενεργοποιηθούν δίσκοι από Windows 9x ή NT κατά το compile. Θα μπορεί να ανιχνεύει αυτόματα τον τύπο του απομακρυσμένου συστήματος και να ενεργοποιεί διορθώσεις +όταν χρειάζεται. Αυτό θα βελτιώσει σημαντικά την ικανότητα του Linux να λειτουργεί σε δίκτυα με διάφορες εκδόσεις Windows. + +Στον κόσμο του UNIX, το πρωτόκολλο NFS είναι το προτιμητέο για διαμοίρασμα (share) αρχείων. Το Linux 2.4 περιλαμβάνει τη δυνατότητα πρόσβασης σε κοινά αρχεία με +την τελευταία έκδοση του ΝFS, NFSv3. Αυτή έχει πολλά πλεονεκτήματα σε σχέση με προηγούμενες εκδόσεις και είναι από τα πλέον σητημένα χαρακτηριστικά . Θα πρέπει +να σημειωθεί, πάντως, ότι ο δαίμονας του ΝFS θα εξάγει ακόμη μόνο NFSv2 από Linux (έχει ανακοινωθεί εξέλιξη υποστήριξης για NFSv4). + +### [1.9 Συσκευές Χαρακτήρων - Πληκτρολόγια, Ποντίκια, Κονσόλες και Θύρες]{#ss1.9} + +Οι συσκευές που μπορούν να προσπελασθούν σε σειρά είναι οι συσκευές χαρακτήρων. Αυτές είναι συσκευές, όπως οι σειριακές, που επιτρέπουν την ανάγνωσημίας +αλληλουχίας δεδομένων ή την εισαγωγή δεδομένων σε αυτή, αλλά όχι και το \'τρέξιμο\' μπροστά ή πίσω. Αυτές περιλαμβάνουν τις σειριακές και παράλληλες θύρες, τα +πληκτρολόγια, τα ποντίκια και τις τερματικές συσκευές (terminal devices). Υπάρχουν σημαντικές βελτιώσεις σε αυτόν τον τομέα στον τελευταίο πυρήνα. + +Μία από τις μεγαλύτερες βελτιώσεις είναι στην υποστήριξη για πληκτρολόγια και ποντίκα. Προηγουμένως υπήρχε υποστήριξη για σειριακά και PS/2 πληκτρολόγια και +ποντίκια (και ADB, για παράδειγμα, σε Macintosh). Το Linux 2.4 υποστηρίζει ποντίκια και πληκτρολόγια USB. Επιπροσθέτως, υποστηρίζει πληκτρολόγια σε συστήματα +όπου το πληκτρολόγιο δεν αρχικοποιείται από το BIOS και συστήματα με προβλήματα στην ανίχνευση πληκτρολογίου. Και τέλως, το Linux 2.4 περιλαμβάνει εκτενή +υποστήριξη για digitizer pads και υποστηρίζει προσωμοίωση για να χρησιμοποιηθούν ώς κανονικά ποντίκια, ακόμη και αν αυτό δεν υποστηρίζεται ευθέως από το υλικό. + +Η υποστήριξη του Linux για σειριακές θύρες δεν έχει αλλάξει ιδιαίτερα από τις ημέρες του 2.2. Το Linux 2.4 υποστηρίζει διαμοιρασμένα ΙRQ σε PCI. Προηγουμένως, +αυτό το χαρακτηριστικό περιοριζόταν σε ΙSA και on-board σειριακές πλακέτες. Επιπροσθέτως, το Linux 2.4 προσθέτει έναν αριθμό νέων οδηγών για σειριακές κάρτες +πολλαπλών θυρών. Ελπίζεται ότι αυτές οι αλλαγές και άλλες θα κάνουν τη χρήση των σειριακών θυρών ευκολότερη από ποτέ. + +Σε ένα ξεχωριστό τομέα, έχει γίνει δουλειά στην υποστήριξη των αποκαλούμενων **WinModems (ή Soft Modems)**. Aυτά είναι modem που υλοποιούνται ευρέως μέσω +λογισμικού (συχνά το DSP και άλλα μέρη του υλικού πρέπει να προσομοιωθούν από λογισμικό). Αν και δεν έχει επιδοθεί κώδικας στον Linus για την υποστήριξη αυτή, +διάφορα σχέδια είναι στα σκαριά για την υποστήριξη των modem αυτών και τα πρώτα δείγματα έχουν αρχίσει να φαίνονται έξω από το main tree. Αν και θα πάρει αρκετό +καιρό πριν να υποστηριχθούν οι περισσότερες από αυτές τις συσκευές, φαίνεται πως για πρώτη φορά η χιονόμπαλλα του Οpen Source αρχίζει να κυλάει προς αυτή την +κατεύθυνση. + +Το Linux 2.4 ακόμη έχει ένα ευρέως ξαναγραμμένο υποσύστημα παράλληλης θύρας. Μία από τις μεγαλύτερες αλλαγές σε αυτόν τον τομέα είναι η υποστήριξη για +\`\`generic\'\' παράλληλες συσκευές. Η λειτουργικότητα αυτή μπορεί να χρησιμοποιηθεί από προγράμματα που έχουν πρόσβαση στη θύρα με ασυνήθιστους τρόπους, +περιλαμβανομένης της χρήσης UDMA για γρηγορότερο Ι/Ο αν αυτό υποστηρίζεται από το υλικό. Με τον νέο πηρήνα, είναι επίσης δυνατό το να κατευθύνονται όλα τα +μηνύματα της κονσόλας σε μία παράλληλη συσκευή όπως ένας εκτυπωτής. Αυτό επιτρέπει στο Linux να έχει τη λειτουργικότητα πολλών εμπορικών UNIX βγάζοντας τα +μηνύματα του πυρήνα και του debugging σε εκτυπωτές. + +Η υποστήριξη για υπέρυθρες έχει βελτιωθεί από το 2.2 και έχουν γίνει πολλές αλλαγές, συμπεριλαμβανομένης καλύτερης δικτυακής υποστήριξης. + +### [1.10 Πολυμέσα: Ήχος, Τηεόραση, Ραδιόφωνο κλπ]{#ss1.10} + +Στην πλευρά των συσκευών χαρακτήρα έχουμε κάποιες από τις λιγότερο αναγκαίες για υποστήριξη συσκευές. Το Linux, ως αναδυόμενη λύση για πλατφόρμα desktop +προσπαθεί πολύ σκληρά να υποστηρίξει κάρτες ήχου, τηλεόρασης και ραδιοφώνου και άλλες συσκευές εισόδου/εξόδου ήχου και εικόνας. Για να είμαστε ειλικρινείς, το +2.4 δεν έχει τραγικές αλλαγές από τον 2.2. Όμως περιλαμβάνει ανανεώσεις και καινούργιους οδηγούς για διάφορες κάρτες ήχου και εικόνας καθώς και υποστήριξη για +full duplex. Το 2.4 ακόμη περιλαμβάνει κώδικα που επιτρέπει σε κάποιες συσκευές ήχου να διαχειρίζονται ευκολότερα μνήμη στις αναγκαίες περιοχές. Αυτό θα +διευκολύνει πολύ τη ρύθμιση και τη χρήση των καρτών + +Ένα τελείως καινούργιο υποσύστημα ήχου είναι στα σκαριά και θα χρησιμοποιεί πολλά από τα πιο προχωρημένα χαρακτηριστικά των σημερινών καρτών ήχου. Αυτή η +υποστήριξη θα ενσωματωθεί στον 2.6. + +### [1.11 Κάρτες Video και συσκευές Framebuffer]{#ss1.11} + +Μία άλλη, πιο περίπλοκη ποικιλία συσκευών είναι οι framebuffer. Μία τέτοια συσκευή είναι απλά μία περιοχή της μνήμης που αντιπροσωπεύει (ή είναι) μνήμη video σε +τέτοιο βαθμό που η εγγραφή σε αυτή τη μνήμη επηρρεάζει τα χρώματα και τα pixel σε μία ιθόνη. Αυτό είναι πιο πολύπλοκο από άλλες συσκευές γιατή υποστηρίζει +ioctls για την αλλαγή παλέττας και άλλες λειτουργίες σχετιζόμενες με το video. Το Linux 2.4 περιλαμβάνει νέους οδηγούς και βελτιώσεις στους παλιούς. Ιδιαίτερα +σημαντηκή είναι η υποστήριξη για πολύ περισσότερες \'στάνταρντ\' κάρτες και διαρυθμίσεις VGA,τουλάχιστον σε ορισμένα modes (ακόμη και αν αυτόε ίναι μόνο 16 +χρωμάτων). Να θυμάστε ότι αυτό το χαρακτηριστικό μπορεί να προσπερασθεί και (σε i386) είναι χρήσιμό μόνο σε συστήματα που δεν μπορούν να υποστηριχθούν κατ\' +άλλο τρόπο. Αυτή τη στιγμή, το Χfree προσφέρει υποστήριξη για πολύ περισσότερες κάρτες απ\' ό,τι ο πυρήνας και έτσι δεν είναι αναγκαία η χρήση αυτής της +λειτουργίας για υποστήριξη για το σύστημα X Window (η **SVGALib** και άλλες libraries επιτρέπουν την άμεση διαχείριση εικόνας σε υποστηριζόμενο υλικό, αν και η +χρήση αυτών πρέπει να γίνεται μετα προσοχής για λόγους ασφάλειας). + +Μία από τις μεγαλύτερες αλλαγές εδώ είναι η προσθήκη του **Direct Rendering Manager** στον πυρήνα. Ο **DRM** ξεκαθαρίζει την πρόσβαση στο υλικό και δεν +επιτρέπει καταστάσεις όπου πολλές διεργασίες που γράφουν στην κάρτα εικόνας προκαλλούν κρασάρισμα του συστήματος. Αυτό θα βελτιώσει την σταθερότητα σε πολλές +περιπτώσεις. Ο DRM επίσης λειτουργεί σαν σημείο εισόδου για την πρόσβαση DMA καρτών video. Συνολικά, αυτές οι αλλαγές μαζί με τα Xfree4.x και άλλα συμβατά +προγράμματα θα επιτρέψουν στο Linux να είναι πιο σταθερό και ασφαλές όταν διενεργεί δουλειά εντατικών γραφικών, όπως και την καλύτερη υποστήριξη καρτών +τηλεόρασης. + +### [1.12 Προσιτότητα - accessibility]{#ss1.12} + +Όταν σκεφτόμαστε το Linux οι λέξεις \"user friendly\" γενικά δεν έρχονται αμέσως στο μυαλό. Έτσι, κάποιος μπορεί να εκπλαγεί μαθαίνοντας ότι το Linux 2.4 +υποστηρίζει κάρτες σύνθεσης ομιλίας. Αυτός ο οδηγός και το ανάλογο υλικό θα επιτρέψει σε χρήστες με μειωμένη ικανότητα όρασης να ακούνε όλα τα μηνύματα του +Linux , ακόμη και αυτά πολύ νωρίς στη διαδικασία εκκίνησης. Πολύ λίγα συστήματα μπορούν να περηφανευθούν για τέτοια υποστήριξη σε τόσο βσαικό επίπεδο (θα +υπάρξουν και άλλα προγράμματα και patches για τη πλήρη χρησιμοποίηση αυτών των συσκευών, μια που ο οδηγός του πυρήνα είναι μόνο ένα κομμάτι του συστήματος.) + +### [1.13 Δικτύωση και πρωτόκολλα]{#ss1.13} + +Η δικτύωση και το υλικό δικτύου είναι ένας από τους τομείς που το Linux πάντοτε τα πήγαινε περίφημα. Αυτές οι συσκευές δεν είναι ούτε \"character\" ούτε +\"block\" αλλά καταλαμβάνουν έναν ειδικό χώρο που δεν χρειάζεται κόμβους (nodes)συσκευών. Το Linux 2.4 θα περιλαμβάνει πολλές βελτιώσεις σε αυτόν τον τομέα, +όπως νέους οδηγούς, διορθώσεις και νέα λειτουργικότητα στους υπάρχοντες οδηγούς. + +Το μοντέλο Linux για sockects δικτύου είναι ένα στανταρντ στις περισσότερες παραλλαγές Unix. Δυστυχώς όμως, έχει κάποια διορθώσιμα ελλατώματα. Στο Linux 2.2 και +πριν, αν έχετε έναν αριθμό διεργασιών που περιμένουν για ένα γεγονός από το δίκτυο (web server, για παράδειγμα) θα \`\`ξυπνήσουν\'\' όλες όταν ανιχνευθεί +δραστηριότητα. Έτσι, για κάθε αίτηση για σελίδα web το Linux θα \`\`ξύπναγε\'\' έναν αριθμό διεργασιών για την ίδια αίτηση. Μια που δεν έχει νόημα πολλαπλές +διεργασίες να εξυπηρετούν την ίδια αίτηση, μόνο μία θα φτάσει στα δεδομένα, ενώ οι υπόλοιπες δεν θα βρουν τίποτα να επεξεργαστούν και θα ξανακοιμηθούν. Το Linux +είναι αρκετά αποτελεσματικό και γρήγορο σε αυτό, αλλά θα μπορούσε να γίνει καλύτερο αν δεν γινόντουσαν τα μή απαραίτητα \`\`ξυπνήματα\'\'. Το Linux 2.4 +περιλαμβάνει αλλαγές που επιτρέπουν ακριβώς αυτό, δηλαδή μέσω του χαρακτηριστικού \`\`wake one\'\' να ξυπνάει μόνο μία διεργασία στην περίπτωση δραστηριότητας. +Αυτό θα επιτρέψει σε εφαρμογές όπως ο Apache να είναι ακόμη πιο αποδοτικές και να γίνει το Linux ακόμα καλύτερη επιλογή ώς web server. + +To Linux 2.4 ακόμη περιλαμβάνει ένα τελείως ξαναγραμμένο layer δικτύωσης. Έχει γίνει όσο πιο μή-σειριακό γίνεται για να προσαρμόζεται (scale) το δυνατόν +καλύτερα από οποιαδήποτε προηγούμενη έκδοση. Επιπροσθέτωςμ ολόκληρο το υποσύστημα έχει ξανασχεδιασθεί για να είναι όσο πιο σταθερό γίνεται σε συστήματα +πολλαπλών επεξεργαστών. Ακόμα, περιλαμβάνει πολλές βελτιώσεις που του επιτρέπουν να λειτουργεί με δικτυακές ιδιομορφίες πολλών λειτουργικών, όπως τα Windows. Θα +πρέπει επίσης να υπενθυμισθεί εδώ ότι το Linux είναι ακόμα το μόνο λειτουργικό πλήρως συμβατό με το γράμμα των προδαγραφών ΙPv4 και το Linux 2.4 έχει να +επιδείξει μία εφαρμογή αυτού πολύ πιο προσαρμόσιμή από αυτή του προκατόχου του. + +Ώς μέρος αυτού του ξαναγραψίματος, η λειτουργικότητα του πυρήνα σε ό,τι αφορά σε **firewall** και **IP masquerading** έχει ξαναγραφτεί, όπως και στον 2.2. Το +νέο υποσύστημα έχει χωριστεί σε δύο μέρη: ένα στρώμα φιλτραρίσματος πακέτων και ένα στρώμα μετάφρασης δικτυακών διευθύνσεων (**network address translation - +NAT**). Αυτά τα νέα υποσυστήματα είναι σημαντικά πιο γενικά από τους προκατόχους τους, και τώρα είναι δυνατό να γίνεται και η πιο απαιτητική εργασία routing +μέσω Linux. Προηγουμένως, αυτή η λειτουργικότητα ήταν διαθέσιμη με ειδικό υλικό. Δυστυχώς αυτό το ξαναγράψιμο περιλαμβάνει ένα νέο εργαλείο userspace για τη +διαχείριση της υπάρχουσας λειτουργικότητας. Για συμβατότητα, υπάρχουν αρθρώματα που επιτρέπουν τη χρήση των εργαλείων είτε του **Linux 2.0 (ipfwadm)** είτε του +Linux 2.2 (ipchains). Αυτό θα κάνει την αναβάθμιση πιο εύκολη. + +Για τους χρήστες σε επιχειρήσεις, υπάρχει ένας αριθμός χαρακτηριστικών που θα επιτρέψουν στο Linux την καλύτερη ενσωμάτωση σε παλαιότερα και νεότερα στοιχεία +υπαρχουσών δομών δικτύων. Μία σημαντική πρόσθεση εδώ είναι η νέα υποστήριξη για τα πρωτόκολλα και το υλικό **DECnet** και **ARCnet**. Αυτό επθιτρέπει την +καλύτερη συνεργασίαμε εξειδικευμένα συστήματα, περιλαμβανομένων παλαιότερων συστημάτων **Digital/Compaq**. Επίσης ιδιαίτερα ενδιαφέρουσα θα είναι η υποστήριξη +για **ATM network adapters** για δικτύωση υψηλών ταχυτήτων. + +Για το μέσο χρήστη, το ΡΡΡ είναι σημαντικό μέρος της καθημερινής χρήσης. Το Linux 2.4 περιλαμβάνει μεγάλες βελτιώσεις και αρθρωματοποίηση μεγάλου ποσοστού του +κώδικα, περιλαμβάνοντας ένα από καιρό αναμενόμενο συνδιασμό των στρωμάτων ΡΡΡ από το στρώμα ISDN kai PPP, όπως για τηλεφωνικές συνδέσεις με μόντεμ. Ακόμα, το +ΙSDN έχει ανανεωθεί για να υποστηρίξει πολλές νέες κάρτες. Το **PLIP (ΡΡΡ σε παράλληλες θύρες)** έχει επίσης βελτιωθεί και χρησιμοποιεί το νέο **abstraction +layer** της παράλληλης θύρας. Και τέλος, έχει προστεθεί υποστήριξη για **PPP μέσω Ethernet (PPPoE)** που χρησιμοποιείται από κάποιους παροχείς DSL. + +### [1.14 Binary Types]{#ss1.14} + +Ενα συνήθως παραμελημένο μέρος του πυρήνα είναι ο loader του προγράμματος: το κομμάτι που παίρνει τα προγράμματα, τα φορτώνει σωστά και τα τρέχει. Πολλοί δεν +γνωρίζουν ότι στο Linux 2.2 προστέθηκε υποστήριξη για ένα δυαδικό φορτωτή \"διαφόρων\", ένα εύκαμπτο άρθρωμα σχεδιασμένο να επιτρέπει στο χρήστη να συσχετίζει +τύπους δυαδικών αρχείων (βασιζόμενο στην κατάληξη ή σε πληροφορίες του header) με εφαρμογές \"helper\" περίπου όπως τα Windows. Αυτό θα μπορούσε να συσχετίσει, +για παράδειγμα, όλες τις εφαρμογές Windows με τον WINE έτσι ώστε όταν γράψετε \"./notepad.exe\" να συμβεί το σωστό πράγμα. Αυτό θεωρήθηκε μεγάλη νίκη από +πολλούς γιατί επιτρέπει σε πολλές ομάδες, όπως την ομάδα του **Wine (Windows non-Emulator)** και **Dosemu** να δημοσιεύσουν πληροφορίες για να τρέχουν τα +προγράμματά τους \'native\' από τον πυρήνα. + +Το Linux 2.2 και 2.0 περιλάμβαναν ενσωματωμένη υποστήριξη για την εκκίνηση ενός Java interpreter όταν εκτελούταν μία εφαρμογή Java (και ήταν από τα πρώτα +λειτουργικά που το έκαναν αυτό σε επίπεδο πυρήνα). Το Linux 2.4 ακόμα περιλαμβάνει αυτή την υποστήριξη, αλλά ο ειδικός οδηγός έχει αφαιρεθεί και οι χρήστες θα +πρέπει να ανανεώσουν τα συστήματά τους για να χρησιμοποιήσουν τον οδηγό \"Misc.\". + +### [1.15 O Kernel Web Daemon]{#ss1.15} + +Ένα από τα πιο χτυπητά χαρακτηριστικά στον πυρήνα 2.4 είναι ο the kernel web daemon, ή khttpd. Είναι αλήθεια, το Linux πραγματικά υποστηρίζει ένα άρθρωμα πυρήνα +που μπορεί να επεξεργαστεί αιτήσεις HTTP χωρίς να χρειαστεί να επικοινωνήσει με κανέναν user space server (όπως ο Αpache). Αυτό το χαακτηριστικό συχνά +παρερμηνεύεται - δεν έχει σχεδιαστεί για να αντικαταστήσει τον Apache ή οποιονδήποτε άλλο εξυπηρέτη και μπορεί να χρησιμοποιηθεί μόνο για raw αρχεία (όχι CGI). +Αν λάβει μία αίτηση για κάτι που δεν μπορεί να χειρισθεί, θα την περάσει στον εξυπηρέτη χωρίς αυτός να καταλάβει τη διαφορά. Αυτό το χαρακτηριστικό θα κάνει το +Linux μία ακόμη καλύτερη επιλογή για γρήγορη εξυπηρέτηση web στατικού περιεχομένου όπως οι **dedicated image servers**. + +### [1.16 Κρυπτογραφία στον Πυρήνα]{#ss1.16} + +Αν και οι νόμοι εξαγωγής στην Αμερική έχουν αλλάξει από τον 2.2, το Linux 2.4 μάλλον δεν θα περιλαμβάνει υποστήριξη για κρυπρογράφηση στην κύρια διανομή. Οι +περιορισμοί στην εισαγωγή/εξαγωγή κρυπρογραφίας είναι διαφορετικοί σε όλο τον κόσμο. Ήδη όμως, είναι διαθέσιμα patches για την κρυπτογράφηση σε πολλά +υποσυστήματα του πυρήνα. Μένει να ειδωθεί πόσο επίσημα θα είναι αυτά στο μέλλον. + diff --git a/content/articles/26/05_lfs.md b/content/articles/26/05_lfs.md new file mode 100644 index 0000000..a65b41c --- /dev/null +++ b/content/articles/26/05_lfs.md @@ -0,0 +1,194 @@ ++++ +title = 'To \...δικό μας Linux. Γιατί και πως' +date = '2000-10-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης(mailto:kabrianis@hellug.gr)' +issue = ['Magaz 26'] +issue_weight = 5 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Αναρωτηθήκατε ποτέ πόσα \"άχρηστα\" προγράμματα βρίσκονται στον υπολογιστή σας; Εκνευριστήκατε ποτέ για τα αυτόματα scripts που τρέχουν χωρίς να τα βάλατε +εσείς; Εγώ ναι. Και αποφάσισα να το ξεπεράσω με τον πιο δραστικό (!!!) τρόπο. Φτιάχνοντας το δικό μου Linux.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Κάθε φορά που στήνω ένα νέο μηχάνημα έχω το ίδιο πρόβλημα. Ποιο distribution να βάλω που: + +- Να μην θέλει πάνω από μισή ώρα για την εγκατάσταση +- Να μην μου γεμίσει το δίσκο με άχρηστα προγράμματα +- Να μην μου εγκαταστήσει τα προγράμματα που ούτως ή άλλως θα ξαναβάλω εγώ για να τα ρυθμίσω στα paths που θέλω, και ίσως και με κάποιες έξτρα παραμέτρους + (πειραγμένα). +- Να ακολουθεί ένα όσο το δυνατόν πιο ορθολογικό και standard τρόπο ρύθμισης αρχείων του συστήματος, τα οποία θέλω να βρίσκονται\... εκεί που θα τα βρω (ίσως + εκεί που πρέπει να είναι καλύτερη έκφραση αλλά δεν ξέρω αν ισχύει :-) +- Να μην περιμένει να κάνω όλες τις δουλειές μου στο σύστημα με το δικό του super-extra-duper πρόγραμμα διαχείρησης / εγκατάστασης πακέτων. +- Να μην περιμένει να κάνω όλες τις ρυθμίσεις στο σύστημα από το δικό του super-extra-duper πρόγραμμα ρυθμίσεων που τροποποιεί το ειδικό αρχείο τρέχα-γύρευε + το οποίο με τη σειρά του ρυθμίζει τα πάντα. + +Ζόρικα τα πράγματα. Ειδικά το πρώτο είναι σχεδόν αδύνατο (σε συνδυασμό βέβαια με τα υπόλοιπα). Για να δούμε κάποιες προτάσεις για το πως θα προσεγγίσουμε όσο το +δυνατόν περισσότερα από τα παραπάνω. + +**1. Εναλλακτικές προτάσεις** +--------------------------------------------------- + +**2. Τι είναι το Linux (πάααααλι;)** +---------------------------------------------------------- + +**3. Τι ακριβώς θα κάνουμε είπαμε;** +---------------------------------------------------------- + +**4. Βήμα 1ο: Προετοιμασία του συστήματος.** +------------------------------------------------------------------ + +**5. Βήμα 2ο: Δημιουργώντας το βασικό μας σύστημα** +------------------------------------------------------------------------- + +**6. Βήμα 3ο: Διορθώνοντας τον Gerard** +------------------------------------------------------------- + +**7. Επίλογος** +------------------------------------- + + +### [1. Εναλλακτικές προτάσεις]{#s1} + +Οι λύσεις που ξέρω (και μπορεί να υπάρχουν κι άλλες που να μην τις ξέρω) είναι οι εξής: + +**Πρώτη λύση**\ +Χρησιμοποιούμε ένα RPM-based distribution (Caldera, Mandrake, TurboLinux, RedHat, SuSE ίσως και άλλα), κάνουμε την ελάχιστη δυνατή εγκατάσταση σε όσα από αυτά +γίνεται.\ +Εγκαθιστούμε τα προγράμματα που ενημερώνουν την rpm database για όσα προγράμματα βάζουμε με το χέρι, κατεβάζουμε και κάνουμε compile όσα προγράμματα θέλουμε να +βάλουμε εμείς μετά, κάνοντας ταυτόχρονα και ένα upgrade στα προγράμματα που έχουμε ήδη εγκαταστήσει (και δεν γινόταν αλλιώς) και θέλουμε νεώτερες εκδόσεις.\ +Ελέγχουμε **όλα** τα αρχεία στο /etc directory για να τα προσαρμόσουμε στις ανάγκες μας (και όχι αυτές που νομίζει ο εγκαταστάτης ότι είναι οι ανάγκες μας).\ +Διαμορφώνουμε **σωστά** αυτή τη φορά τα runlevels τα οποία αν δεν μπορούν να ακολουθήσουν το Linuxbase, τουλάχιστον ας μοιάζουν με κάποιο από τα άλλα Unices που +δουλεύουμε. + +**Δεύτερη λύση**\ +Χρησιμοποιούμε το Slackware ή κάποιο άλλο tgz - based distribution (υπάρχει;) και ακολουθούμε την ίδια διαδικασία, απλά \"πηδώντας\" τα κομμάτια για το RPM που +είπαμε παραπάνω.\ +Ή εναλλακτικά χρησιμοποιούμε κάποιο debian-based distribution (Corel, Debian, Storm κλπ) για τα οποία δεν ξέρω, αλλά φαντάζομαι ότι υπάρχει ένας τρόπος να +\"παρακάμψεις\" τον package manager και να ακολουθήσεις όλα τα βήματα που είπαμε παραπάνω για τις rpm-based distributions. + +**Τρίτη λύση**\ +Κατεβάζουμε ένα minimum distribution (Leetnux, Laonux, RockLinux, Trinux κλπ) ελπίζοντας ότι ο εγκαταστάτης έκανε καλή δουλειά και θα μας γλιτώσει από κάποιο +κόπο. Με βάση αυτό το distribution χτίζουμε το σύστημά μας, βγάζοντας και βάζοντας πακέτα, αλλάζοντας και τροποποιώντας scripts κ.ο.κ. + +**Τέταρτη λύση**\ +Πηγαίνουμε στο [Linux From the Scratch](http://www.linuxfromscratch.org), κατεβάζουμε τις οδηγίες, 70 Mb σε προγράμματα, οπλιζόμαστε με υπομονή και αρχίζουμε να +χτίζουμε το δικό μας Linux. + +Όπως προείπα, όλες οι παραπάνω λύσεις θέλουν όχι λιγότερο από μισή ώρα που είπα στην αρχή, αλλά πολύ περισσότερο. Ίσως και να μιλάμε για καμιά-δυο μέρες ίσως +και πολύ περισσότερο (όπου μέρα == το τρίωρο που μας μένει ελεύθερο να ασχοληθούμε με το PC μας). Αλλά υπάρχουν κάποια κόλπα στην όλη υπόθεση\... Και θα δείτε +στη συνέχεια ότι το πράγμα γίνεται πολύ όμορφο. + + +### [2. Τι είναι το Linux (πάααααλι;)]{#s2} + +Όχι, δεν θα πω πάλι τα βαρετά και ίδια πράγματα, απλά κάποιες ελάχιστες λεπτομέρειες.\ +Πολλές φορές έχετε ακούσει ότι Linux τεχνικά είναι μόνο ο πυρήνας, και ότι όλα τα άλλα είναι GNU και OpenSource προγράμματα. Αυτό δεν είναι απόλυτα ακριβές +βέβαια. Linux, δεν είναι μόνο ο πυρήνας αλλά και πραγματάκια άλλα που καθορίζουν consortiums κλπ όπως το FHS (Filesystem Hierarchy Standard) το τι είναι τα +Runlevels σε ένα σύστημα που θέλει να λέγεται Linux, και διάφορα άλλα τέτοια.\ +Όχι, δεν θέλω να πω ότι τα XFree86 είναι Linux, ούτε ότι το gcc είναι Linux, αλλά το ότι το runlevel 1 σημαίνει single user και το runlevel 6 σημαίνει reboot +κάποιος τα έχει πει, και αυτός ο κάποιος λέγεται Linuxbase. Και αν κάποιος θέλει να κάνει ένα distribution το οποίο θα λέγεται Linux, ε, καλά θα κάνει να τα +σεβαστεί αυτά. Όπως επίσης καλά θα κάνει να σεβαστεί και το ποια αρχεία θα βρίσκονται που (και όχι να πετάμε τα init scripts όπου και όπως μας βολεύει).\ +Αν βέβαια έχουμε συνηθίσει κάποιο distribution και τις (τυχόν) παραξενιές του κανείς δεν μας απαγορεύει, στο δικό μας Linux, να ακολουθήσουμε τα γνωστά σε μας +από αυτό. Εγώ όμως, στην συγκεκριμένη περίπτωση, αποφάσισα να κάνω αυτό που θεωρώ σωστό. Όλα (ή μάλλον όσα μπορώ), να είναι by the book. Τα αρχεία θα βρίσκονται +εκεί που πρέπει, και τα runlevels θα είναι αυτά που πρέπει. Το μηχάνημα θα ανεβάζει μόνο τα services που πρέπει και θα έχει εγκατεστημένα μόνο τα πακέτα που +πρέπει\... + +Ας ξεκαθαρίσω από την αρχή τα δεδομένα: Καμμία ευθύνη δεν φέρω σε περίπτωση που κάποιος καταστρέψει το σύστημά του διαβάζοντας αυτό το άρθρο. Σε καμία περίπτωση +δεν θα πρότεινα στους απλούς χρήστες μία τέτοια διαδικασία (κάτι ξέρουν που υπάρχουν οι Suse, Debian, κλπ κλπ κλπ). Τα όσα θα ακολουθήσουν είναι για ανθρώπους +αρκετά έμπειρους να κάνουν ένα custom compile κάνοντας override κάποια system-wide defaults και που ξέρουν κάποια πράγματα από την έννοια του multiuser +λειτουργικού συστήματος. Τα ίδια (περίπου) θα διαβάσετε και στις οδηγίες του Linux from the scratch. Πιστέψτε μας. Αν δεν ξέρετε που μπλέκετε, ΜΗΝ το κάνετε. + + +### [3. Τι ακριβώς θα κάνουμε είπαμε;]{#s3} + +Η όλη ιδέα είναι να \"χτίσουμε\" ένα Linux σύστημα από την αρχή. Αφού ούτως ή άλλως, αν ξεκινήσουμε να χτίζουμε από κάποιο distribution θα φάμε και κανένα 4ωρο +να φέρουμε το σύστημα στα μέτρα μας, ας φάμε κανένα 10ωρο μιας εξαρχής να το απολαύσουμε κιόλας. + +Το να χτίσουμε ένα Linux σύστημα βέβαια σημαίνει ότι δεν υπάρχει τίποτα. Ούτε πυρήνας, ούτε libc, ούτε compiler, ούτε boot manager, ούτε shell\... τίποτα. Το +λέω και το ξαναλέω για να μην ξεκινήσετε κάτι που δεν πρόκειται να τελειώσετε ποτέ και να χάσετε τόσο χρόνο. Όταν αυτή η διαδικασία τελειώσει, δεν θα δουλεύει +τίποτα. Ούτε services θα σηκώνονται, ούτε init scripts θα υπάρχουν, ούτε το bash θα είναι ρυθμισμένο (εκείνα τα χρωματάκια στο ls και εκείνα τα παράξενα aliases +του τύπου \"rm=\'rm -i\'\" ξεχάστε τα). Αλλά θα είναι το δικό σας linux σύστημα, και θα μάθετε τόσα πολλά για το linux (και πολλά άλλα προγράμματα) κάνοντας +αυτή τη διαδικασία που δεν θα τα μάθετε σχεδόν με κανέναν άλλο τρόπο. + +Θα ακολουθήσουμε τη διαδικασία που περιγράφει στο πολύ καλό βιβλίο του ο Gerard Beekmans και το έχει για όλους εμάς τους υπόλοιπους στο [site +του](http://www.linuxfromscratch.org). Σε μερικά σημεία, η δικιά μου διαδικασία διαφοροποιήθηκε λίγο. Θα δείτε γιατί και είστε ελεύθεροι ή να την ακολουθήσετε, +ή όχι. + +Εγώ ας πούμε έχω τελικά κρατήσει τρία snapshots του συστήματος, για να μπορώ ανά πάσα στιγμή να ξεκινήσω ξανά την διαδικασία από όπου θέλω (πρέπει) ούτως ώστε +να ξαναφτιάξω ακριβώς το ίδιο σύστημα. + +Ας ξεκινήσουμε. + + +### [4. Βήμα 1ο: Προετοιμασία του συστήματος.]{#s4} + +Η διαδικασία του Gerard Beekmans είναι απλή (στη σύλληψη) αλλά και ταυτόχρονα δύσκολη (στην εφαρμογή). Ο Gerard μας έκανε τη χάρη να μας το κάνει λίγο πολύ +τυφλοσούρτη. Να πως έχει:\ +Πρέπει στο μηχάνημα που θα χτίσουμε το Linux, να υπάρχει ήδη ένα Linux προεγκατεστημένο (θυμάστε; χρειαζόμαστε έναν compiler). Αφού φτιάξουμε λοιπόν ένα +partition (το οποίο τελικά θα είναι το root partition του τελικού μας συστήματος) ξεκινάμε να κάνουμε compile εκεί μέσα κάποια προγράμματα. Όλα statically +linked (γιατί κάποια στιγμή θα αποκοπούν από το παλιό σύστημα) εκτός από ένα. Ναι σωστά μαντέψατε, τη glibc.\ +Εγώ προετοίμαζα (αρχικά) το linux μου για ένα μηχανάκι K6-200. Επειδή φαντάστηκα (και δεν είχα άδικο :-) ότι η διαδικασία σε αυτό το μηχάνημα θα ήταν αρκετά +αργή, αποφάσισα να την κάνω σε ένα άλλο μηχάνημα που έχω, έναν Athlon-500.\ +Δημιουργούμε ένα ψευτο-σύστημα στο οποίο δεν μπορούμε να κάνουμε boot (γιατί θα λείπουν κάποια βασικά πράγματα όπως η εντολή mount και το lilo) μπορούμε όμως να +κάνουμε chroot σε αυτό και να δουλέψουμε σαν να είναι πραγματικό σύστημα. Εδώ, σε περίπτωση που κάνετε κάτι παρόμοιο με μένα, θα πρέπει να προσέξετε το εξής: Αν +και ο Gerard δεν το αναφέρει πουθενά, καλό είναι να χρησιμοποιηθούν compiler directives για compilation το οποίο να μπορεί να μεταφερθεί σε χαμηλότερο σύστημα. +Αν άφηνα το compile να ακολουθήσει την πορεία του, θα έπαιρνα ένα σύστημα optimized για i686, το οποίο βέβαια σε έναν K6 θα \"έσκαγε\" με invalid instruction. +Χρησιμοποίησα λοιπόν την παράμετρο -mcpu=i486 στον gcc και έδωσα και την παράμετρο \--host=i486-pc-linux στο configure οποιουδήποτε προγράμματος εγκαθιστούσα +(όχι ότι έχει σημασία σε αυτό το στάδιο, μια που όλα θα αντικατασταθούν εκτός από την glibc. Για αυτήν **πρέπει υποχρεωτικά** να χρησιμοποιηθεί η παράμετρος +αυτή).\ +Το αποτέλεσμα (ναι, ακολουθήστε τα βήματα του Gerard, τα λέει πολύ αναλυτικά, δεν θα ξαναμπω στην ίδια διαδικασία) είναι ένα mini-σύστημα το οποίο μπορεί να +κάνει μόνο compile. Και μπορεί να τρέξει σε οποιοδήποτε μηχάνημα κλάσης 486 και πάνω (άρα και στον ταπεινό μου Κ6). Άφησα κάποια πακέτα του Gerard έξω από την +διαδικασία (όπως ας πούμε το bzip2) αν και αυτό δεν είναι απαραίτητο. Θα έλεγα μάλλον ότι είναι μη-προτεινόμενο :-)\ +Στο σημείο αυτό, παίρνω ένα backup του συστήματος. Τι είναι; ένα 200 Mb (περίπου) tar file το οποίο άν συμπιεστεί (bzip2) πέφτει στα 40 Mb. Ας το κρατήσουμε σε +μία άκρη λοιπόν. Αν αύριο θελήσουμε να φτιάξουμε ένα σύστημα optimized για 686 μπορούμε να ξεκινήσουμε από αυτό, και συγκεκριμένα από το σημείο που εγκαθίσταται +η glibc και κάτω. Αν και, να παρατηρήσουμε, ότι το README της glibc λέει ότι κανένα optimization δεν θα κάνει διαφορά στην απόδοση, άρα μπορούμε να +αποσυμπιέσουμε απλά αυτό το tar και να συνεχίσουμε από το επόμενο στάδιο, χωρίς να χάσουμε τίποτα. + +Μόλις έχουμε γλιτώσει 2 με 3 ώρες από την επόμενη εγκατάστασή μας (ανάλογα με το μηχάνημα στο οποίο κάνουμε το compile). Επειδή λοιπόν κρατάω αυτό το αρχείο ως +\"βάση\", κάνω στον εαυτό μου μία χάρη και κάνω strip όλα τα debugging symbols από τα static binaries (τα οποία ούτως ή άλλως θα αντικατασταθούν) για να μικρύνω +ακόμα περισσότερο το αρχείο που θα κρατήσω. Επίσης, κάνω compile με -O3 (εκτός από την glibc που την προτιμώ unoptimised εφόσον την κάνω compile σε άλλη CPU). + + +### [5. Βήμα 2ο: Δημιουργώντας το βασικό μας σύστημα]{#s5} + +Ακολουθώντας για άλλη μία φορά τις οδηγίες του Gerard, αρχίζουμε να χτίζουμε το σύστημά μας. Όλα τα πακέτα εκτός από την glibc θα αντικατασταθούν όπως είπαμε +από άλλα, dynamically linked αυτή τη φορά. Εδώ έχουν μεγάλη σημασία και τα optimizations του compiler όπως λέει και ο Gerard, αλλά και το directive +\--host=\.... στην περίπτωση που κάνουμε το compile σε άλλο μηχάνημα από το τελικό. Εγώ για να γλιτώσω χρόνο (πάλι) συνέχισα και αυτό το στάδιο στον Αthlon, +αλλά έδωσα παραμέτρους για τον k6 μου και με υψηλό optimization, χωρίς debugging information (μια που δεν υπάρχει περίπτωση να κάτσω να κάνω debugging). Δηλαδή +-mcpu=k6 -march-k6 -O3 όπως προτείνει και ο Gerard (προσοχή, είναι το ίδιο που κάναμε και στο 1ο βήμα, αλλά για άλλο λόγο). Από τις παραμέτρους -mcpu και -march +η μία από τις δύο είναι άχρηστη, αλλά επειδή δεν ξέρουμε ποιο πρόγραμμα θα σεβαστεί ποια παράμετρο, τις βάζουμε και τις δύο να είμαστε σίγουροι. Βέβαια το +\--host μου στο configure ήταν i586-pc-linux (ναι, ο k6 είναι σαν 586). + +Στο συγκεκριμένο σημείο ξαναπαίρνω ένα backup του συστήματος. Το σύστημα αυτή τη στιγμή είναι έτοιμο να κάνει boot και μπορεί να ξεκινήσει τον k6 μου κανονικά. +τώρα το σύστημα είναι 200 Mb σε tar (και 55 Mb συμπιεσμένα με bzip2) και ανά πάσα στιγμή θέλω, το \"πετάω\" σε έναν δίσκο, κάνω ένα chroot σε αυτό το δίσκο, +τρέχω το lilo και είμαι έτοιμος. Γιατί έκανα αυτά τα δύο backup; Γιατί το μεν πρώτο θα το χρησιμοποιήσω για να \"χτίσω\" οποιοδήποτε άλλο μηχάνημα (όπου να\'ναι +ξεκινάω και τον Athlon) ενώ το δεύτερο είναι ένα αρχικό working snapshot του K6. + + +### [6. Βήμα 3ο: Διορθώνοντας τον Gerard]{#s6} + +Όπως προείπα, εγώ σε κάποια σημεία διαφοροποιήθηκα από τον Gerard είτε κατ\' επιλογή, είτε από ανάγκη.\ +Κατ\' επιλογή λοιπόν κατέβασα από το όλες τις νεώτερες ελληνικές μεταφράσεις και αντικατέστησα αυτές που είχαν +μέσα τα πακέτα (όχι όλα τα πακέτα, αλλά αρκετά).\ +Κατ\' επιλογή πρόσθεσα και τις συμβουλές του Σίμου Ξενιτέλλη από την Linux-greek-users για ελληνικά στην κονσόλα.\ +Κατ\' επιλογή αποφάσισα αντί να εγκαταστήσω το netkit-base που προτείνει ο Gerard να εγκαταστήσω κομμάτια του netkit-combo (ένα υπερσύνολο των διαφόρων netkit +utilities) μια που ούτως ή άλλως θα τα εγκαταστούσα.\ +Κατ\' επιλογή αποφάσισα να εγκαταστήσω τα νεώτερα shadow tools από εκείνα που προτείνει ο Gerard και κατ\' ανάγκη άλλαξα το format του αρχείου /etc/consoles που +περιμένουν τα shadow tools να βρουν (έχω την εντύπωση ότι έχουν αλλάξει format μεταξύ των δύο εκδόσεων της shadow αλλά δεν το έχω ψάξει πολύ για να το πω με +σιγουριά). Έπρεπε πάντως αντί για το device name που έγραφα μέχρι τώρα να γράψω το full path για το device file (αντί για tty1 δηλαδή, /dev/tty1). Κατ\' επιλογή +αποφάσισα να \"πειράξω\" το αρχείο src/feature.h για το vim ούτως ώστε να ενεργοποιήσω την επιλογή για το langmap (χωρίς όλες τις άλλες που έρχονται μαζί της). +Κατ\' ανάγκη άλλαξα την εντολή του για το defkeymap και αποσυμπίεσα το συγκεκριμένο αρχείο, γιατί μόνο έτσι το δεχόταν.\ +Κατ\' ανάγκη έκανα αυτό που δεν ανέφερε ο Gerard, να εκτελέσω δηλαδή την εντολή mkswap στο swap partition που είχα στο δίσκο μου, μια που αυτό το βήμα είναι + +### [7. Επίλογος]{#s7} + +Τι κατάφερα; Έχω ένα μηχάνημα το οποίο κάνει boot και έχει δίκτυο, telnet, ftp, compiler (και όλα τα απαιτούμενα tools για compile) και τα sources του πυρήνα. +Το σύστημα τρέχει σε οποιοδήποτε μηχάνημα από 486 και πάνω και μπορεί να χρησιμοποιηθεί σαν βάση για ένα νέο σύστημα από το μηδέν.\ +Είπα προηγουμένως ότι πήρα τρία backup. Στο τρίτο backup δεν φτάσαμε ακόμα (το τρίτο backup έγινε στο live σύστημα με όλα τα προγράμματα επάνω χωρίς δεδομένα). +Στο τρίτο backup θα φτάσουμε στο επόμενο τεύχος, όταν θα αναλυσουμε όλες τις δικτυακές ρυθμίσεις που κάνουμε, και τα νέα αρχεία ρυθμίσεων που δημιουργούμε για +να φτάσουμε να έχουμε ένα μηχάνημα που θα έχει την ίδια λειτουργικότητα με οποιοδήποτε distribution, προσαρμοσμένη όμως στις ανάγκες μας και τις απαιτήσεις μας. + diff --git a/content/articles/27/01_editorial.md b/content/articles/27/01_editorial.md new file mode 100644 index 0000000..599806e --- /dev/null +++ b/content/articles/27/01_editorial.md @@ -0,0 +1,52 @@ ++++ +title = 'Editorial' +date = '2000-10-01T00:00:00Z' +description = '' +author = 'Παπαδογιαννάκης Βαγγέλης(mailto:papas@hellug.gr)' +issue = ['Magaz 27'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Καλώς ορίσατε στο **Magaz**\... Επίσιμη ονομασία τεύχους, \`\`Η επιστροφή των απολωλότων\'\'* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Καλωσήρθατε στο **magaz** Οκτωβρίου του 2000. Λοιπόν, οι περισσότεροι θα αναρωτιέστε γιατί αυτός ο τίτλος! Επίσημα λοιπόν, αυτό πρέπει να είναι το πιο +καθυστερημένο magaz στην ιστορία, μια και με την πάρτη μου ισχύει αυτό που λένε τα στρατευμένα νιάτα\... **ΕΧΩ ΠΗΞΕΙ!**. Μια όμως και τα προσωπικά μου, προφανώς +και δικαιολογημένα, δε σας ενδιαφέρουν, ας προχωρήσουμε στην ύλη του μήνα αυτού. + +Αρχίζοντας αυτόν το μήνα, ας διορθώσουμε τα \`\`κακώς κείμενα\'\' του προηγούμενου τεύχους. Στο προηγούμενο τεύχος λοιπόν, φιλοξενήθηκε ένα άρθρο από τον [Θέμη +Παπασσιλέκα](mailto:panzer@finecon.gr) με τίτλο [Ο υπέροχος κόσμος του Linux 2.4](../26/04_kernel24.html). Για αυτό το άρθρο από δική μου παράλειψη, δεν +αναφέρθηκε ο πραγματικός αρθρογράφος. Αυτό συνέβη διότι.. δεν τον ήξερα και απλά \`\`έβαλα\'\' το άρθρο. + +Όπως καταλαβαίνετε, η ευθύνη βαραίνει εμένα και μόνο αποκλειστικά. + +Μετά από την (πολύ σωστή) επισήμανση του (ουσιαστικά) μεταφραστή ( [Θέμη Παπασσιλέκα](mailto:panzer@finecon.gr)) λοιπόν, να πούμε σε αυτό το τεύχος (κάλιο αργά +παρά ποτέ) ότι το άρ8ρο γράφτηκε από τον [Joe Pranevich](mailto:jpranevich@linuxtoday.com) για το γνωστό [LinuxToday](http://linuxtoday.com) και την τελευταία +του έκδοση, μπορείτε να βρείτε [εδώ](http://linuxtoday.com/news_story.php3?ltsn=2000-07-17-014-04-NW-LF-KN). Την ειλικρινή μου συγνώμη για την παράλειψη. + +Καλωσορίζουμε ξανά ένα άρθρο από τον [Παπακώστα Ευρυπίδη](mailto:evris@hellug.gr), συνέχεια του άρθρου του [περί καλής συμπεριφοράς των +linuxάδων](../24/05_odigos.html) που δημοσιεύτηκε στο [τεύχος 24](../24/index.html). Ένας αρθρογράφος, που μετά από πολύ-πολύ καιρό απραξίας (όσον αφορά στο +magaz) επιστρέφει πολλά υποσχόμενος και\... γεμάτος άρθρα. Τώρα θα μου πείτε\...\`\`Κοίτα ποιός μιλάει για απραξία\...\'\'. Και το κακό είναι ότι θα έχετε +δίκιο! Τέλος πάντων, το άρθρο του μπορείτε να το βρείτε [εδώ](03_odigos.html) + +Και για να κάνουμε το συγκεκριμένο αυτό τεύχος πιο \`\`οικογενειακό\'\', ε, φιλοξενούμε και ένα άρθρο από την [Βούλα Σανιδά](mailto:voulariba@hellug.gr). Οι +παλιοί θα το υμνήσουν, οι νέοι θα το μισήσουν\... **μόνο στην αρχή**. Πρόκειται για ένα άρθρο για τον πιο **διαδεδομένο**, πιο **στυλάτο** editor, που +ταυτόχρονα έχει και το πιο φανατικό κοινό! Δεν πρόκειται για άλλον από τον vi. [Δείτε το οπωσδήποτε!](02_vitips.html) + +Όλοι, όταν πρωτοασχοληθήκαμε με το **linux**, είχαμε την απορία τι στο καλό είναι αυτό το **/proc** directory που υπάρχει στο δίσκο μας. Άσε που εκεί μέσα +υπάρχει και το **μ-ε-γ-α-λ-ύ-τ-ε-ρ-ο** αρχείο του filesystem (What could that file be? Can I delete it?)! Αν και (μερικοί) λύσαμε τελικά αυτήν την απορία, +υπάρχουν πολλές λεπτομέρειες που σίγουρα δεν ξέρουμε! Ε λοιπόν, αυτό το άρθρο που περιγράφει το proc filesystem από τον [Πρατικάκη +Πολύβιο](mailto:polyvios@softlab.ntua.gr) με μια \`\`ξεχωριστή\'\' νότα περιεχομένου, θα μας κάνει να\... θέλουμε και άλλα!!! (εγώ τουλάχιστον, μόλις το +διάβασα, έτρεξα και διάβασα το **linux kernel module programmers guide**. Το άρθρο μπορείτε να το βρείτε [εδώ](04_proc.html) + +Συνέχεια του [άρθρου του προηγούμενου μήνα](../26/05_lfs.html) από τον [Μιχάλη Καμπριάνη](mailto:kabrianis@hellug.gr) που μας έγραψε για το πώς να στήσουμε ένα +linux μηχανάκι **from the scrach!**. Εγώ πάντως που το δοκίμασα, τώρα έχω γεμίσει ένα δίσκο με\... images!!! Φυσικά και αστειεύομαι, και μπράβο στο +[Μιχάλη](mailto:kabrianis@hellug.gr) για το πολύ καλό πραγματικά άρθρο. Μπορεί οι νέοι μας να μην το εκτιμήσουν και πολύ (καθόλου θα ήταν ακριβέστερο) αλλά όλοι +οι υπόλοιποι το απολαύσαμε! + +Αυτά τα ολίγα προς το παρόν, και σας υπόσχομαι ότι δε θα ξαναργήσω να βγάλω τεύχος! Θα φροντίσω, αν πνίγομαι τόσο πολύ, να λέω στον παλιό αρχισυντάκτη, τον +[Μιχάλη Καμπριάνη](mailto:kabrianis@hellug.gr), τον οποίο και ευχαριστώ που πάντα με βοηθάει, να το ανεβάζει! + +Για το **magaz** [Παπαδογιαννάκης Βαγγέλης](mailto:papas@hellug.gr). diff --git a/content/articles/27/02_vitips.md b/content/articles/27/02_vitips.md new file mode 100644 index 0000000..0e4146a --- /dev/null +++ b/content/articles/27/02_vitips.md @@ -0,0 +1,272 @@ ++++ +title = 'vi Tips' +date = '2000-10-01T00:00:00Z' +description = '' +author = 'Βούλα Σανίδα(mailto:voulariba@eeea.gr)' +issue = ['Magaz 27'] +issue_weight = 2 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Tips στον vi (Μα δεν χρειάζονται, είναι τόσο απλός\...)* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Ποιός τόλμησε να πει πως το vi είναι δύσχρηστο; Μερικά απλά tips για να κάνετε την ζωή σας ευκολότερη\... + +**1. Practical leaflet** +------------------------------------------------- + +**2. crash course theory leaflet** +----------------------------------------------------------- + +- [2.1 θεωρία 1](#ss2.1) +- [2.2 θεωρία 2](#ss2.2) +- [2.3 θεωρία 3](#ss2.3) + + +### [1. Practical leaflet]{#s1} + +**tip 1**: Για να βλέπετε στο κάτω μέρος της οθόνης την τρέχουσα γραμμή και στήλη: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + :set ruler + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +(αν θέλετε τέτοιες ρυθμισεις να ισχύουν πάντα δημιουργείστε στο \$HOME σας ένα αρχείο .vimrc και γράψτε εκεί την παραπάνω εντολή). + +**tip 2**: Διαλέξτε κομμάτια κειμένου με τα πλήκτρα (σαν να χρηιμοποιείτε ποντίκι):\ +Πατήστε v για VISUAL MODE. Με τα πλήκτρα διαλέξτε τις γραμμές του κείμενο που θέλετε. Λειτουργεί το page-up, page-down για να διαλέξετε ολόκληρες οθόνη. +Μπορείτε να χρησιμοποιείσετε regular expressions (π.χ. /test) για να επιλέξω το κείμενο μέχρι την πρώτη εμφάνιση της λέξης test.\ +Εναλλακτικά,. πατήστε Ctrl-v για VISUAL BLOCK και διαλέξτε το κείμενο που θέλετε κατά στήλες (κατακόρυφα). + +- Αντιγράφετε το κείμενο. +- Με p κάνετε επικόλληση (paste). +- Με d διαγράφετε το μαρκαρισμένο κείμενο. + +**tip 3**: Πως αφαιρούμε ΟΛΑ τα html tags από μια html σελίδα και μένει μόνο plain text κείμενο: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + :g/<[^>]*>/s///g + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**tip 4**: Πώς σβήνουμε το mail header από ένα email, ώστε να μείνει μόνο το body του: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + :1,/^$/d + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +(ουσιαστικά σβήνουμε από την 1η γραμμή μέχρι να βρούμε την πρώτη κενή γραμμή) + +**tip 5**: Πως αντικαθιστούμε τη λέξη καλό με τη λέξη πολύ καλό σε όλο το κείμενο και σε όλες τις εμφανίσεις σε κάθε γραμμή, με χρήση του τελεστή &: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + :%s/καλό/πολύ &/g + (εναλλακτικά :%s/καλό/πολύ καλό/g, αν και δεν είναι και τόσο δυναμικό) + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**tip 6**: Πως κλείνουμε σε /\* \... \*/ την τρέχουσα γραμμή: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + :s/.*/\/* & *\// + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**tip 7**: Πως βάζουμε τις 5 πρώτες γραμμές σε σχόλια τύπου shell (\#): + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + :1,5s/.*/# &/ + (ή ισοδύναμα :1,5s/^/# /) + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**tip 8**: Πως διαγράφουμε όλες τις κενές γραμμές του κειμένου: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + :g/^$/d + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**tip 9**: Πως σβήνουμε τα κενά πριν από κάθε γραμμή + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + :g/^ *\(.*\)/s//\1/g + (ή ισοδύναμα :g/^ */s///g) + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**tip 10**: Πως διπλασιάζουμε τον αριθμό των κενών μεταξύ των λέξεων + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + :%s/ */&&/g + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**tip 11**: Ανταλλαγή μέρας-μήνα. Η ημερομηνία από τη μορφή 21-03-1999 θα γίνει 03-21-1999 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + :%s/\([0-9]\{1,2\}\)-\([0-9]\{1,2\}\)-\([0-9]\{4\}\)/\2-\1-\3/g + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**tip 12**: Πώς αντιστρέφουμε 2 στήλες που διαχωρίζονται μεταξύ τους με άνω κάτω τελεία : + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + :%s/\(.*\):\(.*\)/\2:\1/g + (ναι, με awk είναι πιο εύκολο, όντως!) + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**tip 13**: Πως διαγράφουμε τους 4 πρώτους χαρακτήρες σε κάθε γραμμή του κειμένου + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + :%s/^....//g + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**tip 14**: Σε περίπτωση που γράφουμε ένα βιβλίο με references της μορφής \"Δείτε το κεφάλαιο ΧΧ.ΥΥ\", όπου Χ και Y αριθμοί, και θέλουμε να βάλουμε τέτοιες +εμφανίσεις σε παρενθέσεις: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + :%s/Δείτε το Κεφάλαιο [1-9][0-9]*\.[1-9][0-9]*/(&)/g + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**tip 16**: Βαρεθήκατε να χρησιμοποιείτε το \\ σαν unescape χαρακτήρα για τον χαρακτήρα /; Αλλάξτε το διαχωριστή (delimiter) / της εντολής s (π.χ. με τον +χαρακτήρα θαυμαστικό !).\ +**Παράδειγμα:** Θέλω να αντικαταστήσω το /usr/doc/HOWTO /usr1/doc2/HOWTO3: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + :%s/\/usr\/doc\/HOWTO/\/usr1\/doc2\/HOWTO3 (ο παλιός δύσκολος τρόπος) + :%s!/usr/doc/HOWTO!/usr1/doc2/HOWTO3! (ο νέος και εύκολος) + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +tip16: Α\....εννοείτε πως για να ψάξουμε για μια έκφραση (π.χ. lalakis) η εντολή είναι: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + /lalakis + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + +### [2. crash course theory leaflet]{#s2} + +### [2.1 θεωρία 1]{#ss2.1} + +Aντικαταστάσεις: + +H εντολή αντικατάστασης έχει την μορφή: \[address\]s/oldregexp/newregexpr\[/flags\] όπου : + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + [..] = προεραιτικό μέρος της εντολής, μπορείτε να το παραλείψετε + oldregexp = τι να αντικαταστήσουμε + newregexp = με τι + address = σε ποιο διάστημα (range) κειμένου θα γίνει η αντικατάσταση + flags = αν θα ρωτάει για κάθε αντικατάσταση, αν θα το κάνει σε όλο + το κείμενο, αν θα τα δείχνει κλπ... + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Ετσι, το address μπορεί να είναι: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + % = θα εφαρμοστεί σε όλο το κείμενο + 1,5 = θα εφαρμοστεί από τη γραμμή 1 μέχρι την 5 + 1,$ = θα εφαρμοστεί από τη γραμμή 1 ως και την τελευταία (σε όλο + δηλαδή το κείμενο) + = (τίποτα), θα εφαρμοστεί στην τρέχουσα γραμμή + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Μερικά flags μπορούν να είναι + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + g = θα εκτελεστεί η εντολή σε όλα τις εμφανίσεις τρέχουσας γραμμής + (Μια καλή ερώτηση που θα περιμένα να έχετε: Αν έχω για address το % , + δεν είναι ισοδύναμο; Μια καλή απάντηση είναι ΟΧΙ. Αν παραλείψετε το g + στα flags τότε το vi θα ψάξει για την oldregexp σε όλο το κείμενο αλλά + αντικατάσταση θα γίνει ΜΟΝΟ για την πρώτη εμφάνιση της oldregexp ΣΕ ΚΑΘΕ + ΓΡΑΜΜΗ. Αρα αν μια γραμμή περιέχει δύο φορές την oldregexp χρειάζεστε + το flag g.) + gc = θα ρωτά για κάθε αντικατάσταση πριν την κάνει + p = εμφάνιση στο κάτω μέρος του vi όλων των υποψήφιων αλλαγών + (tips: 3, 5, 6, 7, 9, 10, 11, 12, 13, 14) + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +### [2.2 θεωρία 2]{#ss2.2} + +Μερικοί χαρακτήρες (με χαρακτήρα): + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + & = Αν εμφανιστεί οπουδήποτε στα δεξιά μιας εντολής + αντικατάστασης s, αντικαθίσταται από οτιδήποτε συνέπεσε στην αριστερή + πλευρά (tips: 5, 6, 7, 10, 14) + . = Οποιοσδήποτε χαρακτήρας (tips: 6, 7, 9, 12, 13) + * = Οσοι (και όποιοι) χαρακτήρες (tips: 6, 7, 9, 12, 14) + % = Ολό το αρχείο (tips: 5, 10, 11, 12, 13, 14) + ^ = Αρχή γραμμής (tips: 3, 4, 7, 8, 9, 13) + $ = Τέλος γραμμής (tips: 4, 8) + [...] = Οποιοσδήποτε χαρακτήρας από αυτούς που είναι εντός αγκύλης. + Με Α-Χ εντός αγκύλης ορίζουμε όλους τους χαρακτήρες από τον Α εως τον X + κατά ASCII σειρά (tips: 3, 11, 14) + [^...] = Οποιοσδήποτε χαρακτήρας εκτός από αυτούς που είναι εντός αγκύλης + \ = Escape character. Εξουδετερώνει τις "ειδικές" ιδιότητες του + χαρακτήρα που ακολουθεί. Το vi αντιμετωπίζει δηλαδή τον επόμενο χαρακτήρα, + ως κοινό. (tips: 6, 14) + \{n,m\} = Δηλώνει πως οι εμφανίσεις του χαρακτήρα που προηγείται αυτής της + έκφρασης θα κυμαίνονται από n το λιγότερο μέχρι m το περισσότερο (tips: 11) + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +### [2.3 θεωρία 3]{#ss2.3} + +Regular Expressions + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + \(regexp\) = Ομαδοποιεί με βάση το regular expression εντός παρένθεσης. + Οτι λοιπόν είναι μέσα στην παρένθεση θεωρείται ως ένα ενιαίο block. Μπορούμε + πλέον να αναφερθούμε σε αυτό με βάση τον αριθμό του block αυτού. Αν είναι το + πρώτο block που ομαδοποιήσαμε με αυτόν τον τρόπο, αναφερόμαστε σε αυτό με \1 + (tips: 9, 11, 12) + // = κενό regular expression ισοδυναμεί με το αμέσως προηγούμενο + regular expression (tips: 9) + /./ = μη κενή γραμμή, τουλάχιστον 1 χαρακτήρας + /^$/ = κενή γραμμή, μόνο χαρακτήρας αλλαγής γραμμής + /κάτι/ = το κάτι οπουδήποτε στη γραμμή + /^κάτι/ = το κάτι στην αρχή της γραμμής + /κάτι$/ = το κάτι στο τέλος της γραμμής + /κάτι.$/ = το κάτι και ένας ακόμη οποιοσδήποτε χαρακτήρας στο τέλος της + γραμμής + /κάτι\.$/ = το κάτι. στο τέλος της γραμμής + /κάτι[0-9]/ = το κάτι ακολουθούμενο από ψηφίο + /κάτι[^0-9]/ = το κάτι ακολουθούμενο από μη ψηφίο + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + diff --git a/content/articles/27/03_odigos.md b/content/articles/27/03_odigos.md new file mode 100644 index 0000000..6317e89 --- /dev/null +++ b/content/articles/27/03_odigos.md @@ -0,0 +1,329 @@ ++++ +title = 'Οδηγός καλής συμπεριφοράς προς Linuxάδες' +date = '2000-04-01T00:00:00Z' +description = '' +author = 'Ευριπίδης Παπακώστας `evris@hellug.gr`' +issue = ['Magaz 27'] +issue_weight = 3 ++++ + +**1. Ένα Παραμύθι με Νόημα** +----------------------------------------------------- + +**2. Η Πραγματικότητα** +------------------------------------------------ + +- [2.1 Linux Κοινότητα](#ss2.1) +- [2.2 Υπάρχει τελικά πρόβλημα;](#ss2.2) + +**3. Τυφλοσούρτι** +------------------------------------------- + +**4. Προτεινόμενο Διάβασμα** +----------------------------------------------------- + +- [4.1 LGU Netiquette](#ss4.1) +- [4.2 MAGAZ](#ss4.2) +- [4.3 HOWTOs](#ss4.3) +- [4.4 HELLUG](#ss4.4) +- [4.5 ΕΕΕΑ](#ss4.5) + + +### [1. Ένα Παραμύθι με Νόημα]{#s1} + +*\"Μια φορά κι έναν καιρό, σε ένα απόμακρο χωριό, ζούσαν δέκα ψαράδες. Την εποχή εκείνη, κανείς άλλος δεν ήξερε να ψαρεύει και ούτε ενδιαφερόταν για το ψάρεμα. +Αν μάλιστα οι ψαράδες έκαναν το αστείο να διδάξουν ψάρεμα στους ανθρώπους της πόλης, ή να τους δώσουν δωρεάν ψάρια εκείνοι τους κορόιδευαν και τους χλεύαζαν.* + +*Οι κάτοικοι της πόλης, βλέπετε, τρώγανε μόνο έτοιμες προτηγανισμένες τηγανητές πατάτες που τους προμήθευε ο αφέντης μεγαλέμπορας.* + +*Οι ψαράδες όμως επέμειναν. Σιγά σιγά, καλλιέργησαν και τη γη, κάναν μια μικρή φάρμα εκτροφής ζώων, άρμεγαν το γάλα και επειδή ήταν όλοι φίλοι μεταξύ τους και +ήταν λίγοι σε πληθυσμό, ο καθένας έκανε ότι του άρεσε και το πρόσφερε δωρεάν και χαμογελαστά στους υπόλοιπους. Όποιος δεν μπορούσε να φέρει σε πέρας κάποια +δουλειά, μπορούσε να ρωτήσει τους παλιότερους κατοίκους του χωριού και εκείνοι με χαρά τον βοηθούσαν.* *Σιγά σιγά, οι ταλαιπωρημένοι και στα πρόθυρα της ασιτίας +κάτοικοι της πόλης ενδιαφέρθηκαν να μάθουν και αυτοί τον τρόπο ζωής του μικρού αυτού χωριού και άρχισαν να μαζεύονται στα περίχωρα του χωριού.* *Ο πληθυσμός του +χωριού αυξήθηκε. Οι νέοι κάτοικοι απαιτούσαν σαν κακομαθημένα παιδιά τα δωρεάν ψάρια τους (λες και κάποιος τους τα χρώσταγε) και κακοαναθρεμένοι όπως ήταν, +άρχισαν να ζητάνε τσιπούρες, φιλέτο, λαχανάκια Βρυξελλών, πράγματα που οι παλιοί χωρικοί δε μπορούσαν (χωρίς τη συνεργασία των νέων) να φτιάξουν.* + +*Αλλά αυτό που πραγματικά έφερνε σε απόγνωση τους γέροντες του χωριού, ήταν η συμπεριφορά των νέων στο σχολείο. Δεν έκαναν τις εργασίες τους, δε διάβαζαν τα +βιβλία τους, δεν παίδευαν το μυαλό τους και δεν παρατηρούσαν τους γεροντότερους ώστε να προοδεύσουν. Αντί αυτού, συνεχώς έβριζαν τη δασκάλα τους όταν τους +εξηγούσε πως αν είχαν διαβάσει το βιβλίο δε θα χρειαζόταν να διακόπτουν συνέχεια το μάθημα και να ρωτούν τα ίδια και τα ίδια.* + +*Η κατάσταση αυτή συνεχίστηκε για πολύ καιρό, μέχρι που πέθαναν οι γεροντότεροι, χάθηκε η γνώση που είχαν και τελείωσαν από τις αποθήκες οι έτοιμες τροφές που +με τόσο κόπο συσσώρευαν.* + +*Πεινασμένοι και απογοητευμένοι οι κάτοικοι της πόλης, ξαναγύρισαν στον παλιό αφέντη τους. Με σκυμμένο το κεφάλι, παραδέχτηκαν πως ήταν λάθος τους να φύγουν από +κοντά του και του ζήτησαν να τους πάρει στη δούλεψή του.* + +*Αυτός άλλο που δεν ήθελε. Τώρα πια όλοι δουλεύουν γι\' αυτόν, για μια μερίδα προτηγανισμένες σάπιες πατάτες και κανένας δεν έχει μείνει για να επαναστατήσει +εναντίον του.\"* + + +### [2. Η Πραγματικότητα]{#s2} + +Ο παραπάνω μύθος, μέχρι ένα σημείο του ανταποκρίνεται πλήρως στο μοντέλο ανάπτυξης και λειτουργίας του Linux. Είναι γνωστό πως δεν ανήκει σε κανέναν, πως +προσφέρεται δωρεάν, πως ο καθένας εθελοντικά προσφέρει εκεί που θέλει και μπορεί και πως υπάρχουν ισχυροί δεσμοί ανάμεσα στα μέλη της κοινότητας αυτής.\ +Είναι γνωστό, επίσης, πως για να μην τρως μόνο ότι σε ταΐζουν οι άλλοι, θα πρέπει μόνος σου να διαφοροποιήσεις το μενού σου πράγμα που απαιτεί προσωπική +ενασχόληση. + +### [2.1 Linux Κοινότητα]{#ss2.1} + +Η κοινότητα του Linux, λοιπόν, έχει τα σχολεία της. Διατηρεί κάποιους μηχανισμούς για την ισχυροποίηση των δεσμών των μελών της, για την επίλυση των προβλημάτων +τους και για την, τόσο ζωτικής σημασίας, επικοινωνία μεταξύ τους. Αυτοί οι μηχανισμοί δεν είναι τίποτε άλλο από τις γνωστές μας λίστες ανταλλαγής ηλεκτρονικών +μυνημάτων (newsgroups). + +Στον ελληνικό χώρο, ο αφιλοκερδής σύλλογος Ελλήνων Χρηστών και Φίλων Λίνουξ Ελλάδος -HELLUG συμβάλλει σε αυτή την προσπάθεια. Με τον προσωπικό χρόνο, χρήμα και +όρεξη μελών του και μη, συντηρείται το www.hellug.gr (web server του συλλόγου), magaz.hellug.gr (ηλεκτρονικό περιοδικό για Linux), HOWTOs (μεταφρασμένα ή +πρωτότυπα εγχειρίδια τεκμηρίωσης), projects (στέγαση και ενημέρωση για ελληνικές προγραμματιστικές προσπάθειες), happenings, εκθέσεις, κλπ. + +Σημαντικότερη, ίσως, όλων των παραπάνω δραστηριοτήτων είναι η συντήρηση των αντίστοιχων λιστών: + +![](/27/img/linux-greek-users.jpg) + +linux-greek-users\@hellug.gr (για θέματα που άπτονται του Linux γενικώς π.χ. προβλήματα, συζητήσεις, επικαιρότητα κλπ.),\ +linux-howto\@hellug.gr (για μεταφραστικές προσπάθειες, εξελληνισμούς),\ +hellug\@hellug.gr (για διοικητικά θέματα, συμμετοχή μόνο από μέλη του HELLUG)\ + +### [2.2 Υπάρχει τελικά πρόβλημα;]{#ss2.2} + +Τώρα πια, όμως, που μέρος των στόχων του συλλόγου δείχνει να εκπληρώνεται (αύξηση των Ελλήνων χρηστών Linux καθώς και των εταιρειών που ασχολούνται ή το +χρησιμοποιούν), αρχίζει να διαφαίνεται ένας μακροπρόθεσμος κίνδυνος. Αυτός της κατάρρευσης της κοινότητας κάτω από το ίδιο της το βάρος. Και εξηγούμαι\... + +#### Παλιοί και νέοι Χρήστες + +Όπως και στο μύθο με τους χωρικούς, οι νέοι χρήστες που δίνουν στο Linux μια ευκαιρία, κατά πλειοψηφία δε διαθέτουν την αντίστοιχη παιδεία και μεράκι όπως οι +παλιοί.\ +Για να μην παρεξηγηθούμε, δεν γίνεται εδώ θέμα τεχνικών γνώσεων, παλαιότητας, μαγκιάς ή σεβασμού προς τους γκουρού. Απλά, όσο περισσότεροι άνθρωποι +στριμώχνονται στον ίδιο χώρο τόσο πιο προσεκτικοί και ευγενικοί πρέπει να είναι στις επαφές τους με τους γύρω τους.\ +Η αρχική μαγιά χρηστών Linux, καθότι λιγοστοί στον αριθμό, δεν αντιμετώπισε ποτέ αυτό το πρόβλημα. Άλλωστε, μην ξεχνάμε πως οι πρώτοι εκείνοι χρήστες ήταν κατά +βάση επαγγελματίες, χομπίστες - σπασίκλες των computers. Το κύριό τους μέλημα δεν ήταν να κάνουν τη δουλειά τους με το Linux, αλλά αντίθετα η δουλειά τους (έστω +και σε επίπεδο δονκιχοτισμού ή χόμπι) ήταν να κάνουν το Linux. + +#### Οι ορμές του νέου + +Οι σημερινοί χρήστες, συνήθως, είναι πιο προσγειωμένοι και απαιτητικοί. Θεωρούν πως το Linux οφείλει να τους ανταμείψει για το τόλμημα που έκαναν να το +δοκιμάσουν και να τους καλύψει κάθε τους ανάγκη, καλύτερα και πιο γρήγορα από κάθε εναλλακτική λύση με την οποία το συγκρίνουν. + +Μερικές φορές, παρεξηγούν επίσης, το ρόλο των ανθρώπων που έκαναν τα πράγματα να είναι όπως σήμερα, χωρίς να το χρωστούν σε κανέναν και απαιτούν την επιτυχή +βοήθειά τους εδώ και τώρα. Σε περιπτώσεις άγνοιας, αδιαφορίας, λανθασμένης απάντησης (κανείς δεν είναι τέλειος μην ξεχνάμε) δείχνουν αρνητική στάση και αρχίζουν +να ακούγονται παράπονα όπως \"κρατάτε την γνώση για τον εαυτό σας\", \"δεν μας διδάσκετε όπως σας δίδαξαν\", \"είσαστε ένα κλειστό κύκλωμα και δεν μας δέχεστε +και εμάς\" \... + +Πολλές φορές, μάλιστα, επειδή το Linux έχει ξεφύγει πια από εργαλείο του σπασίκλα, οι νέοι χρήστες αυτοί δε διαθέτουν βασικές γνώσεις Η/Υ αλλά και ούτε την +στοιχειώδη παιδεία συμπεριφοράς στα ηλεκτρονικά μέσα (email, λίστες). + +Έτσι, ακόμα και αν η απορία τους έχει απαντηθεί και η πληροφορία είναι ήδη προσιτή, δεν μπαίνουν καν στον κόπο να την αναζητήσουν και επιμένουν να ρωτούν τα +ίδια και τα ίδια, δημιουργώντας τριβές και εκνευρισμούς. + +#### Ο καημός του παλιού + +Για να απαντήσει κάποιος \"γκουρού\" σε μια οποιαδήποτε ερώτηση, θα πρέπει να βρει τον χρόνο να την διαβάσει, να την επεξεργαστεί (ώστε να μην συμβουλέψει +λάθος), να το δοκιμάσει ο ίδιος, πιθανώς να ψάξει για σχετικά links και documentation ή και να αναζητήσει παλαιότερες απαντήσεις στην ίδια ερώτηση. Αν η +ανταμοιβή του είναι μόνο γκρίνια, ίσως να αποτραβηχτεί από την εθελοντική αυτή συνεισφορά του. Αν επίσης οι ερωτήσεις πληθαίνουν σε σημείο που δεν μπορεί κανείς +να τις παρακολουθήσει, χάνουν την πραγματική τους αξία, εξισώνονται όλες μεταξύ τους (δύσκολες, ενδιαφέρουσες, τετριμμένες, ήδη απαντημένες, λανθασμένες, +άσχετες με Linux) και γίνονται απλά ένας θόρυβος. + +Στην περίπτωση δε που η απάντηση έχει δοθεί τρια μηνύματα πριν, είναι λογικό να απογοητεύεται οποιοσδήποτε από τον τρόπο που υποβιβάζουν τον χρόνο και την +προσφορά του οι ερωτούντες πριν διαβάσουν έστω και στο ελάχιστο το \"μάθημα της ημέρας\". + +#### Μια μέση λύση + +Φυσικά η σωστή συμπεριφορά απαιτεί βήματα και κατανόηση και από τις δύο πλευρές.\ +Ο νέος φίλος δεν καλείται να τα ξέρει όλα, αλλά ούτε και να απαιτεί σαν κακομαθημένο παλιόπαιδο ιδιαίτερα μαθήματα, όποτε χρειαστεί, από όποιον επιλέξει, επί +παντός επιστητού. + +Ο παλιός από την άλλη, υπό κανονικές συνθήκες δεν θα έπρεπε να σνομπάρει κάθε ερώτηση που του φαίνεται απλή και προφανής. Θα πρέπει να είναι επεξηγηματικός στις +απαντήσεις του. Σε περίπτωση που νοιώθει την ακατάσχετη τάση να χλευάσει, να ειρωνευτεί και γενικώς να μην συνεισφέρει θετικά σε κάποιο πρόβλημα, όποιος και αν +είναι ο λόγος αυτής του της διάθεσης, υπάρχει μια και μόνη συμβουλή: **Μην απαντήσει!**. + +Η λίστα είναι εργαλείο και δεν πρέπει να εκφυλίζεται σε προσωπικές μικροτριβές που δεν προάγουν το Linux. + +Όπως και στο μύθο, το μυστικό της επιτυχίας του χωριού, ήταν πρώτα πρώτα η προσωπική ενασχόληση με κάτι που άρεσε στους χωρικούς. Η εξήγηση της αποτυχίας είναι, +επίσης, απλή. Μηδενική προσωπική συνεισφορά και απαίτηση από τους άλλους να δουλέψουν για σένα. Στο Linux, ισχύει το ρητό \"Αν σε τρώει η πλάτη σου, προσπάθησε +να την ξύσεις μόνος σου. Αν τα καταφέρεις, πες και στους άλλους πώς το έκανες. Αν όχι, βρες φίλους σου να ξύνει ο ένας την πλάτη του άλλου.\" + +Προς θεού, απέχουμε πολύ από την κατάληξη του μύθου και δεν νομίζω πως εύκολα θα καταλήξουμε εκεί, αλλά μπορούμε όλοι μαζί να κάνουμε την Linux-ική ζωή μας πιο +εύκολη και ευχάριστη, αν έχουμε στο μυαλό μας την παραπάνω ιστοριούλα, κάθε φορά που αποφασίζουμε να απευθυνθούμε στις Linux λίστες. + + +### [3. Τυφλοσούρτι]{#s3} + +Παρακάτω επιχειρούμε να δώσουμε έναν τυφλοσούρτη καλής συμπεριφοράς για τέτοιες περιπτώσεις. Οι ενέργειες καταγράφονται ΑΚΡΙΒΩΣ με την σειρά που θα έπρεπε να +γίνουν, ώστε να μεγιστοποιήσουμε τον παράγοντα σήμα/θόρυβο μιας ηλεκτρονικής λίστας. + +- Βήμα 1: Επιχειρώ να λύσω μόνος μου το πρόβλημά μου (διαβάζοντας τα manuals, πειραματιζόμενος, ψάχνοντας στο internet στα σχετικά sites). + +- Βήμα 2: Συμβουλεύομαι φίλους και γνωστούς από τον κύκλο μου. Αν φοβάμαι πως γίνομαι ενοχλητικός σε αυτούς, να είμαι σίγουρος πως το ίδιο νοιώθουν και οι + άγνωστοι στις λίστες. + +- Βήμα 3: Διαβάζω με προσοχή παρεμφερείς ερωταπαντήσεις στις λίστες, κοιτώντας μήπως η απάντηση έχει ήδη δοθεί και είναι μπροστά στα μάτια μου. + +- Βήμα 4: Δημοσιοποιώ το πρόβλημά μου στην σωστή λίστα, με ευγενικό τρόπο, παρέχοντας όσες πληροφορίες νομίζω πως θα βοηθήσουν τους άλλους να κατανοήσουν + ακριβώς το πρόβλημα μου και συνεχίζω να τους δίνω τις επιπλέον πληροφορίες που (ίσως) να ζητήσουν. + +- - Βήμα 5α: Αν το πρόβλημα λυθεί δεν είναι άσχημη ιδέα να ευχαριστήσω τα παιδιά που έδωσαν χρόνο και δαπάνησαν σκέψη για να με βοηθήσουν. Στέλνω την + ολοκληρωμένη ερώτηση και απάντηση στην λίστα γιατί πιθανώς ενδιαφέρει και άλλους. + - Βήμα 5b: Αν η ερώτηση δεν απαντηθεί για κάποιο καιρό, ή οι απαντήσεις δεν λύσουν το πρόβλημα, δεν επιμένω, δεν βρίζω, δεν προσβάλω. Όποιος και όπως + μπόρεσε να ασχοληθεί το έκανε ήδη. Δεν υπάρχει τρόπος να καταναγκάσουμε και άλλους να εμπλακούν. Τι να γίνει; Ήμασταν άτυχοι. Δεν είναι λύση επίσης, η + αποστολή του ίδιου mail - ερώτηση σε πολλαπλούς παραλήπτες προσωπικά. Να είσαστε σίγουροι πως όλοι διαβάζουν τις ίδιες λίστες και πως μόνο ενόχληση + μπορεί να δημιουργήσει κάτι τέτοιο. + +- Βήμα Μόνιμο (και σημαντικότερο): ΠΑΝΤΑ, ΜΑ ΠΑΝΤΑ, έχω στο μυαλό μου πως η λίστα δεν είναι μόνο για να παίρνω απαντήσεις αλλά κατά βάση για να δίνω. + Παρακολουθώ λοιπόν και τα υπόλοιπα threads, προσπαθώντας με την σειρά μου να ανακουφίσω και εγώ άλλους ομοιοπαθείς. + + +### [4. Προτεινόμενο Διάβασμα]{#s4} + +Το θέμα αυτό έχει συζητηθεί πολλές φορές και από τα ίδια τα παιδιά που συμμετέχουν στις λίστες αυτές και έχουν ήδη ξεκινήσει κάποιες προσπάθειες ενημέρωσης των +\"νεοφώτιστων\" φίλων. Το κάθε ένα από αυτά τα ενημερωτικά κείμενα, αναφέρεται στο θέμα με τον δικό του τρόπο, κάνοντας όμως λίγο πολύ παρεμφερείς συστάσεις. + +Σας παραπέμπουμε λοιπόν στην σχετική \*βιβλιογραφία\* : + +### [4.1 LGU Netiquette]{#ss4.1} + +Το LGU Netiquette μπορείτε να διαβάσετε ηλεκτρονικά στο . Αποστέλλεται πάντως αυτόματα και σε μηνιαία βάση στην +linux-greek-users, ώστε να το λαμβάνουν όλοι οι νέοι συμμετέχοντες σε αυτήν. Μεταξύ άλλων στο κείμενο αναφέρονται και τα εξής: + +> `` +> +> * Βάλτε ένα σχετικό subject στο e-mail σας. Subjects του στυλ "βοήθεια, +> αρχάριος" ή "πρόβλημα με το linux" δε βοηθάνε ούτε τους αναγνώστες, +> ούτε όσους ψάχνουν για παρόμοιο πρόβλημα στα archives αλλά ούτε κι εμάς +> που γράφουμε το faq. +> +> * Αλλάζετε το subject όταν αλλάζετε το θέμα. +> +> * Μπορείτε όταν σας απαντήσουν και λυθεί το πρόβλημά σας, να γράψετε +> ένα e-mail με την προσθήκη του "FIXED:" ή κάτι παρόμοιο στο θέμα, και +> να περιγράψετε με λίγα λόγια πως τελικά λύσατε το πρόβλημά σας. Με +> αυτό τον τρόπο δημιουργείται μια περίληψη του όλου thread και βοηθάτε +> κάποιον με παρόμοιο πρόβλημα να βρει τη λύση πολύ γρηγορότερα. +> +> * Γενικά, αν είστε νέος στη λίστα και γενικά σε λίστες ταχυδρομείου, +> διαβάστε τα μηνύματα που στέλνονται για μια εβδομάδα περίπου για να +> καταλάβετε τον τρόπο συμπεριφοράς σε τέτοιους χώρους. +> +> * Quotes: Όταν κάνετε reply σε κάποιο e-mail κόψτε όσο ποιο πολλά +> μπορείτε από το αρχικό μύνημα. Kόψτε το footer που προσθέτει ο +> mail-server στο τέλος κάθε μηνύματος. Αφήστε μόνο τα σχετικά με την +> απάντησή σας για να καταλάβουν οι υπόλοιποι σε τί απαντάτε. +> Οτιδήποτε άλλο χαραμίζει bandwidth και χρόνο. +> +> * Signatures: Γενικά είναι καλό να περιορίσετε το signature στα e-mail +> σας σε 4-5 σειρές το πολύ. +> +> * Attachments: Γενικά είναι καλό να μην στέλνετε αρχεία στη λίστα. Αν +> χρειάζεται να στείλετε κάποιο αρχείο που έχει σχέση με το πρόβλημά σας +> προσπαθήστε να βρείτε το πιθανό σημείο του προβλήματος και να στείλετε +> μόνο αυτό. Το να στέλνετε όλο το syslog δεν είναι καλή τακτική! + +### [4.2 MAGAZ]{#ss4.2} + +Άρθρα με παρεμφερή προβληματισμό, μπορείτε να βρείτε και στο [ηλεκτρονικό περιοδικό magaz](http://magaz.hellug.gr). + +Ένα άρθρο γενικού ενδιαφέροντος που εκφράζει κάποιες γενικότερες σκέψεις για την κοινότητα και τις δραστηριότητές της είναι το: [Σκέψεις για την ελληνική +κοινότητα του Linux](http://magaz.hellug.gr/21/03_community_thought.html). + +Μια άλλη πληροφορία που μπορεί να σας φανεί χρήσιμη είναι πως τα τεύχη του magaz, έως και το 16ο, περιλαμβάνουν και αλληλογραφία με το κοινό. Σε αυτήν υπάρχουν +αρκετές ερωταπαντήσεις κυρίως αρχαρίων χρηστών. + +### [4.3 HOWTOs]{#ss4.3} + +Ένα από τα γνωστότερα και παλαιότερα Ελληνικά HOWTOs, το [Hellenic HOWTO](http://www.hellug.gr/gr/howto/howto/pub/html/Hellenic-HOWTO.html) αναφέρει και αυτό με +την σειρά του μερικούς χρήσιμους κανόνες καλής συμπεριφοράς. Αναφέρουμε αποσπασματικά\... + +> `` +> +> Χρήσιμες συμβουλές +> +> - Το magaz έχει πλήθος από ερωτήσεις που έχουν γίνει στο παρελθόν, +> και λίγο πολύ οι ερωτήσεις επαναλαμβάνονται. +> +> - Αφιερώστε αρκετό χρόνο διαβάζοντας για να ενημερωθείτε γύρω από το +> πρόβλημα που ψάχνετε, +> +> - ΜΗΝ παραλείψετε να διαβάσετε τα HOWTO και FAQ (/usr/doc/faq) του +> LDP Project (http://metalab.unc.edu/LDP/). +> +> - Ψάξτε σχετικά θέματα από την σελίδα: http://lists.hellug.gr/archives. +> +> - Τα διεθνή newsgroups comp.os.linux* είναι επίσης χρήσιμα, +> πχ news://comp.os.linux.misc +> +> - Μην στέλνετε προσωπικό email σε κάποιον, γιατί σπάνια υπάρχει +> ο χρόνος για απάντηση. Αντίθετα προτιμήστε την λίστα ή το newsgroup, +> όπου η πιθανότητα να πάρετε απάντηση είναι πολύ μεγαλύτερη. +> ΠΧ, στο δικό μου mailbox, συχνά φτάνουν γράμματα αυτού του τύπου: +> me lene Xxxxx spoudazo yyyyyyy kai arxisa na asxoloumai me to linux. +> Tha ithela na mou peis pou mporo na bro to programma. +> oti theleis na mou to steileis sto zzz@zzzzzzzzzz.zz" +> Δεν απαντώ τέτοια email, ειδικά όταν το HOWTO και το FAQ έχουν τις απαντήσεις, +> αντίστοιχα πράττουν και άλλοι. + +Εκτός των παραπάνω, το HOWTO αυτό έχει μια λίστα συχνά τιθέμενων ερωτήσεων (FAQ) για προβλήματα Ελλήνων Linuxάδων, που μπορεί να σας φανεί ιδιαίτερα χρήσιμη. + +### [4.4 HELLUG]{#ss4.4} + +Οδηγίες για το τι σκοπούς εξυπηρετεί η κάθε λίστα, ποιες είναι οι συχνότερα τιθέμενες ερωτήσεις και απαντήσεις τους (FAQ), συμβουλές για να βοηθήσετε και να +βοηθηθείτε καθώς και για το πώς να εγγραφείτε στις λίστες, θα βρείτε στην διεύθυνση και στο [LGU FAQ (Linux Greek Users Frequently +Asked Questions)](http://http://homepages.pathfinder.gr/lgu_faq/) + +![](/27/img/lists-hellug-gr.jpg) + +Διαβάζουμε: + +> `` +> +> Πρέπει να περιοριστεί λίγο το traffic στη λίστα. Τον τελευταίο καιρό με +> αύξουσα πορεία σε συνάρτηση με το χρόνο, τίθενται ερωτήσεις που έχουν απαντηθεί +> στο παρελθόν. Παράλληλα, καλό θα ήταν να ανέβει λίγο το επίπεδό της, εννοώντας +> ότι παλιές απορίες λύνονται, και εμφανίζονται νέες, πιο προχωρημένες. +> +> * Οι απαντήσεις που γράφονται είναι εγγυημένα σωστές; +> Φυσικά και όχι! Οι απαντήσεις δίνονται από τον καθένα σε εθελοντική βάση +> σύμφωνα με τις γνώσεις και εμπειρίες που είχε μέχρι στιγμής. +> +> * Πέρασαν 24 ώρες κι ακόμα απάντηση δεν πήρα. Γιατί; +> Πολύ απλά μπορεί να μην ξέρει κανείς την απάντηση! Οι απαντήσεις γράφονται +> από άλλους χρήστες, που μπορεί να μην έχουν αντιμετωπίσει το πρόβλημά σας. +> +> * Κάποιος μου απάντησε υβριστικά/με έθιξε/κλπ. Να του απαντήσω; +> Όχι μέσω της λίστας. Για τέτοιου είδους θέματα να στέλνετε προσωπικά e-mail. +> Δεν ενδιαφέρει κανέναν στη λίστα οι προσωπικές σας διαφορές με κάποιον. +> +> * Μην ξεχνάτε ότι το linux απαιτεί κόπο και από τον ίδιο το χρήστη. +> +> * Το να στείλετε μια ερώτηση που έχει απαντηθεί δεκάδες φορές στο παρελθόν +> δείχνει ότι θεωρείτε το χρόνο σας πιο πολύτιμο από τον χρόνο αυτών που θα σας +> απαντήσουν... +> +> * Προσέξτε τη γλώσσα που χρησιμοποιείτε. Η λίστα είναι διαθέσιμη σε πολύ κόσμο +> και δε μιλάτε στους φίλους σας μόνο. Η λίστα αυτή αποτελεί και έναν τρόπο να +> δείχνουμε την εικόνα του Linux στον υπόλοιπο κόσμο. +> +> * Spam: Σε καμία περίπτωση δε θα πρέπει να στείλετε spam mail στη λίστα. Άσχετα +> διαφημιστικά, μηνύματα-αλυσίδες, κλπ. Μη σχολιάζετε spam-mail που καταλήγει +> στη λίστα. Απλά επιβαρύνετε κι άλλο τη λίστα. + +### [4.5 ΕΕΕΑ]{#ss4.5} + +Τέλος, για μια ακόμα πιο επιθετική και ωμή στάση στο ζήτημα μπορείτε να διαβάσετε το [Linux Savoir Vivre HOWTO στην +EEEA](http://www.eeea.gr/repository/grlinux/Linux-Savoir-Vivre-HOWTO/Linux-Savoir-Vivre-HOWTO.html) που φημίζεται για την αμεσότητά της παρά για την πολιτικά +ορθή στάση της. Για μια πρόγευση: + +> `` +> +> - Ελπίζεις να είναι όλοι καλύτεροι από σένα. Δέξου το, αν όντως αληθεύει. +> Για να σου λύσουν το πρόβλημα, οι άλλοι, η κοινότητα, βασίζεσαι σε μια κρυφή +> ελπίδα. Να ξέρουν αυτό για το οποίο χρειάζεσαι βοήθεια. Δηλαδή να είναι +> καλύτεροί σου. Να μάθεις να ακούς λοιπόν και να κάνεις τουμπέκα γιατί αυτή +> τη στιγμή ένας καλύτερός σου, εθελοντικά δαπανά χρόνο. Μην του τον χαραμίζεις. +> +> - Του άλλου ο χρόνος είναι πάντα πιο σημαντικός από σένα τον ασήμαντο. +> Απόδειξη: Εσύ του τον ζητάς και αυτός άμα γουστάρει τον δίνει. +> Σεβάσου τον λοιπόν. +> +> - Χέρι με χέρι ή δώσε πρώτος. +> Μην θεωρείς δεδομένο πως σου χρωστάει κανείς μόνο και μόνο γιατί αποφάσισες +> να βάλεις Linux. Ίσα - ίσα. Εσύ χρωστάς να συνεχίσεις και να βελτιώσεις αυτό +> που τόσο απλόχερα σου προσφέρθηκε. +> + diff --git a/content/articles/27/04_proc.md b/content/articles/27/04_proc.md new file mode 100644 index 0000000..cdbbedc --- /dev/null +++ b/content/articles/27/04_proc.md @@ -0,0 +1,159 @@ ++++ +title = 'Περιγραφή του proc filesystem' +date = '2000-10-01T00:00:00Z' +description = '' +author = 'Πρατικάκης Πολύβιος(mailto:polyvios@softlab.ntua.gr)' +issue = ['Magaz 27'] +issue_weight = 4 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Εισαγωγή** +-------------------------------------- + +**2. Οι δομές του proc** +----------------------------------------------- + +**3. Std disclaimer** +-------------------------------------------- + + +### [1. Εισαγωγή]{#s1} + +Στο linux υπάρχει ένα σύστημα αρχείων, το proc, το οποίο προσαρτάται συνήθως στο **/proc** στο δένδρο καταλόγων, και το οποίο είναι εικονικό. Αυτό που δηλαδή +φαίνεται ως αρχεία, στην πραγματικότητα δεν υπάρχει πουθενά στο δίσκο ή στην μνήμη του υπολογιστή. Στην πραγματικότητα, τα φαινομενικά αρχεία είναι απλές +\"εγγραφές\" στο δένδρο καταλόγων που αντιστοιχούν το διάβασμα, γράψιμο κ.λ.π των \"αρχείων\" αυτών σε κλήσεις διαφόρων συναρτήσεων. Έτσι, όταν διαβάζει κάποιος +το αρχείο π.χ. /proc/interrupts δεν διαβάζει τα περιεχόμενα ενός υπαρκτού αρχείου, αλλά απλώς την έξοδο μιας συνάρτησης που καλείται κάθε φορά που το αρχείο +αυτό διαβάζεται. + +Το εικονικό σύστημα αρχείων proc, χρησιμοποιείται κυρίως για την αναφορά πληροφοριών (δυναμικά) του συστήματος. Μπορεί δε να αλλάξει δυναμικά, δηλαδή να +προστεθούν και να αφαιρεθούν αρχεία και κατάλογοι, ανάλογα με την τρέχουσα κατάσταση του συστήματος.\ +Ο προγραμματισμός του συστήματος αρχείων proc στον πυρήνα, προσφέρει ένα υπάρχον σύνολο συναρτήσεων (ελληνιστί API), που καθιστούν την επέμβαση στο proc και την +προσθαφαίρεση αρχείων σχετικά εύκολη. Για να προσθέσουμε ένα αρχείο στο proc, χρησιμοποιούμε τη συνάρτηση proc\_register(), η οποία παίρνει ως όρισμα μια δομή +που περιγράφει το αρχείο (όνομα, μέγεθος, ιδιότητες, κ.λ.π.), καθώς και τις συνδεδεμένες με το αρχείο συναρτήσεις. Επιπλέον, δίνεται η - πολύ χρήσιμη - +δυνατότητα να περάσουμε ένα δείκτη, ο οποίος θα περαστεί ως παράμετρος στην συνάρτηση που κάθε φορά καλείται. Με αυτό τον τρόπο, μπορούμε να γράψουμε μια φορά +τις συναρτήσεις που καλύπτουν πολλά \"ίδια\" αρχεία του proc. + +Για παράδειγμα, προφανώς δεν χρειάζεται να γραφούν ξεχωριστές συναρτήσεις για το αρχείο /proc/parport/0/irq και /proc/parport/1/irq, αλλά οι ίδιες συναρτήσεις +καλούνται με διαφορετικό όρισμα. Ο τρόπος για να γίνει αυτό, είναι ένας δείκτης void \*, ο οποίος \"συνδέεται\" με κάθε αρχείο, και \"κουβαλάει\" ό,τι αυτό +χρειάζεται. + + +### [2. Οι δομές του proc]{#s2} + +Επειδή το καλό με το Open Source είναι το\... open source, παρατηρώντας το αρχείο linux/include/linux/proc\_fs.h, βλέπουμε τα εξής: + +- 3-4 enum τα οποία καθορίζουν σταθερές. Οι σταθερές αυτές χρησιμοποιούνται από κάποια \"αρχεία\" του proc, το ποιά είναι φανερό από την ονομασία τους. Π.χ., + οι σταθερές PROC\_\* (το πρώτο enum), είναι τα \"είδη\" των αρχείων ή καταλόγων που βλέπει κανείς ακριβώς \"κάτω\" από το σημείο που προσαρτάται το proc, + συνήθως δηλαδή στο /proc/\*. Οι σταθερές PROC\_NET\_\* βρίσκονται στο /proc/net κ.ο.κ. +- Στη συνέχεια, βλέπουμε το σημαντικό μέρος του αρχείου, την δομή `proc_dir_entry`. Κάθε αρχείο του proc είναι ουσιαστικά μια τέτοια δομή. Αναλυτικά, τα πεδία + της δομής είναι: + + **`low_ino`** + + : Στη μεταβλητή αυτή τίθεται το είδος του αρχείου, που συνήθως είναι μια από τις σταθερές που ορίζονται παραπάνω. + + **`namelen`** + + : Όπως ίσως φαίνεται, στη μεταβλητή αυτή αποθηκεύεται το μήκος του ονόματος του αρχείου. + + **`name`** + + : Πρόκειται για δείκτη σε null terminated αλφαριθμητικό, με το όνομα του αρχείου. + + **`mode`** + + : Στη μεταβλητή αυτή, καθορίζεται ο τύπος και τα permissions του αρχείου, δηλαδή το αν πρόκειται για αρχείο ή κατάλογο, αν και για ποιόν επιτρέπεται η + εγγραφή, η ανάγνωση κ.λ.π. + + **`nlink`** + + : Στη μεταβλητή αυτή αποθηκεύεται ο αριθμός των συνδεδεμένων αρχείων με αυτό το αρχείο, δηλαδή 1 αν πρόκειται για απλό αρχείο που συνδέεται μόνο με τον + κατάλογο που το περιέχει, ή 2 αν πρόκειται για κατάλογο. Στην περίπτωση αυτή, το nlink καταλόγου αυξάνει όταν προσθέτουμε αρχεία σε κατάλογο. + + **`uid`** + + : Το owner ID του αρχείου. + + **`gid`** + + : Το group ID του αρχείου. + + **`size`** + + : Το φαινομενικό μέγεθος του αρχείου, όπως αυτό φαίνεται π.χ. με την εντολή ls -l. + + **`ops`** + + : Μια δομή inode\_operations στην οποία περιέχονται δείκτες στις συναρτήσεις που χειρίζονται το inode (βλέπε κείμενα για συστήματα αρχείων) που + δημιουργείται. Στο άρθρο αυτό, δεν θα υπάρξει εκτενής περιγραφή για τη δομή αυτή και τις πιθανές χρήσεις της. Για όποιον ενδιαφέρεται, ας κοιτάξει το + linux kernel module programming guide, στο όπου γίνεται μια περιγραφή του proc, και χρησιμοποιείται η συγκεκριμένη δομή για + είσοδο. + + **`get_info`** + + : Συνάρτηση που καλείται κατά την ανάγνωση από το αρχείο και επιστρέφει το μήκος. + + **`fill_inode`** + + : Η συνάρτηση αυτή καλείται για να συμπληρώσει τη δομή inode που αντιστοιχεί στο αρχείο, και χρησιμοποιείται μόνο όταν αυτά τα δεδομένα δεν μπορούν να + καθοριστούν στατικά κατά την δημιουργία του αρχείου. + + **`next,parent,subdir`** + + : Πρόκειται για δείκτες σε δομές proc\_dir\_entry. Με το δείκτη next, δημιουργείται μια συνδεδεμένη λίστα από όλες τις εγγραφές (entries) στο proc, ενώ + χρησιμοποιώντας τους δείκτες parent και subdir, διατηρείται στη μνήμη ένα \"δένδρο\" καταλόγων για το proc. + + **`data`** + + : Όπως αναφέρθηκε και στην εισαγωγή, κατά τη δημιουργία του αρχείου θέτουμε το δείκτη αυτό ώστε να δείχνει στα δεδομένα που αντικατοπτρίζει το αρχείο, και + στη συνέχεια όταν καλλούνται οι διάφορες συναρτήσεις του αρχείου περνιέται ως παράμετρος. Έτσι, οι συναρτήσεις του αρχείου \"ξέρουν\" σε ποιά δεδομένα + αναφέρεται το αρχείο αυτό. + + **`read_proc`** + + : Συνάρτηση που καλείται όταν το αρχείο διαβάζεται. Η συνάρτηση αυτή χρησιμοποιείται για έξοδο από τον πυρήνα, και επιστρέφει (γράφει σε ένα buffer) + δεδομένα κάθε φορά που καλείται. Μια από τις παραμέτρους της συνάρτησης αυτής είναι ο δείκτης data που προαναφέρθηκε. + + **`write_proc`** + + : Συνάρτηση που καλείται κατά το γράψιμο στο αρχείο. Με τη συνάρτηση αυτή επιτυγχάνεται η είσοδος παραμέτρων προς τον πυρήνα μέσα από το σύστημα αρχείων + proc. Αυτό βέβαια γίνεται και μέσω των συναρτήσεων του inode του αρχείου, αλλά ο τρόπος αυτός είναι προτιμότερος, γιατί υπάρχει και εδώ ο μηχανισμός με + το δείκτη data, που επιτρέπει να υπάρχουν \"παρόμοια\" αρχεία. + + **`readlink_proc`** + + : Η συνάρτηση αυτή (από ότι έχω καταλάβει πάντα) καλείται όταν το αρχείο \"συνδέεται\" (link), όπως π.χ. με την εντολή ln. + + **`count`** + + : Μετρητής για την απαρίθμηση της χρήσης του αρχείου. Αυξάνει κάθε φορά που το αρχείο ανοίγεται, και μειώνεται όταν κλείνεται. + + **`deleted`** + + : Σημαία για το αν το αρχείο έχει σβηστεί. +- Μετά τον ορισμό της δομής proc\_dir\_entry, ακολουθούν ορισμοί τύπων για τους δείκτες συναρτήσεων που χρησιμοποιούνται, και δηλώνονται ορισμένες μεταβλητές + που αντιστοιχούν στα \"σίγουρα\" αρχεία του proc, όπως π.χ. η ρίζα του, οι υποκατάλογοι net, scsi, sys, pid, κ.λ.π. +- Οι επόμενες ενδιαφέρουσες δηλώσεις στο αρχείο, είναι αυτές των συναρτήσεων proc\_register και proc\_unregister. Χρησιμοποιώντας τις συναρτήσεις αυτές, + \"βάζουμε\" και \"βγάζουμε\" proc\_dir\_entries, δηλαδή αρχεία, στο και από το proc filesystem. + +Η συνέχεια του αρχείου είναι λίγο εως πολύ συγκεκριμένες δηλώσεις που χρησιμοποιούνται για τα υπάρχοντα αρχεία του proc, ή απλώς δεν τα έχω ψάξει αρκετα ;-). + +Η μέχρι τώρα επεξήγηση πρέπει να είναι αρκετή για να \"φτιάξετε\" ένα αρχείο στο proc που θα μπορεί από το να \"περιέχει\" ένα απλό \"hello world!\", μέχρι να +κάνει dump τα στατιστικά μιας tbf queueing discipline (Αυτό είναι σίγουρα ένα άλλο θέμα!). Για το πού θα πρέπει να προσθέσετε την proc\_register() γραμμή σας, +ένα πιθανό μέρος είναι η do\_basic\_setup() συνάρτηση στο αρχείο linux/init/main.c, ή η init\_module() συνάρτηση του αρχείου που θα κάνετε insmod (Αλλά κι αυτό +είναι ένα άλλο θέμα\...) + +Αν αυτή η περιγραφή σας άνοιξε την όρεξη, μπορείτε να διαβάσετε περισσότερα στον linux kernel module programmers guide, αν και οι αναφορές δεν είναι με τίποτα +εκτενείς. Στο συγκεκριμένο guide υπάρχει γενικότερη αναφορά στα modules, σε IO - device drivers κ.λ.π. Μην ξεχνάτε όμως πως ο καλύτερος οδηγός είναι ο κώδικας. +Άλλωστε γιατί ειναι τόσο σημαντικό το Open Source; + + +### [3. Std disclaimer]{#s3} + +Στο παρόν άρθρο, καταβλήθηκε προσπάθεια να περιγραφεί το σύστημα αρχείων proc, όπως το έχω καταλάβει προσωπικά από τα sources του πυρήνα, και διάφορα guides. +Δεν είμαι σίγουρος ότι οι πληροφορίες που δίνονται ανταποκρίνονται στην πραγματικότητα, και μη βασιστείτε σε αυτο :-). + diff --git a/content/articles/27/05_lfs.md b/content/articles/27/05_lfs.md new file mode 100644 index 0000000..929695f --- /dev/null +++ b/content/articles/27/05_lfs.md @@ -0,0 +1,118 @@ ++++ +title = 'To \...δικό μας Linux. Γιατί και πως μέρος 2ο' +date = '2000-10-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης(mailto:kabrianis@hellug.gr)' +issue = ['Magaz 27'] +issue_weight = 5 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Συνεχίζουμε την προσπάθεια για τη δημιουργία του δικού μας Linux, μπαίνοντας στα extra προγράμματα και τις ρυθμίσεις.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Την περασμένη φορά (προηγούμενο τεύχος) είχαμε φτάσει να έχουμε ένα minimum σύστημα το οποίο κάνει boot και έχει δίκτυο, telnet, ftp, compiler (και όλα τα +απαιτούμενα tools για compile) και τα sources του πυρήνα. Αυτό το σύστημα το έχουμε και σε backup (ας το ονομάσουμε «στάδιο 2»). Τώρα πρέπει να κάνουμε το +fork\... + +**1. Forking** +------------------------------------ + +**2. Κοινός server** +------------------------------------------ + +**3. Development μηχάνημα** +------------------------------------------------- + +**4. Μεταφορά** +------------------------------------- + + +### [1. Forking]{#s1} + +Από εδώ και πέρα, αποφασίζουμε τι ακριβώς ανάγκες θα εξυπηρετεί το μηχάνημά μας.\ +Αν το μηχάνημα το «χτίζουμε» για (π.χ.) **stand-alone workstations** φοιτητών σε Πανεπιστήμιο που θα μπαίνουν Internet, θα θέλουν mail, browser, editor και +λοιπά παρόμοια προγράμματα, δεν χρειάζεται να του βάλουμε καθόλου servers και απλά θα εγκαταστήσουμε (αν τίθεται τέτοια απαίτηση για την χρήση του workstation) +τα X-windows. Μπορούμε να μην σηκώνουμε καν το inetd για παράδειγμα, και ούτε κουβέντα για Apache, sendmail, postgres/mysql, squid και λοιπά καλούδια που μας +βάζουν συνήθως οι distributions.\ +Αν το μηχάνημα το «χτίζουμε» για να εξυπηρετεί **συγκεκριμένο service** (π.χ. θα γίνει mail server) τότε απλά του εγκαθιστούμε το αντίστοιχο service και ένα +πρόγραμμα για remote access. Σε όλες τις περιπτώσεις, για remote access προτιμώ το ssh έναντι των παραδοσιακών telnet/ftp. Δεν συζητάμε καθόλου βέβαια για +r-tools εκτός αν πρόκειται το μηχάνημα να είναι backup-server (το rmt χρειάζεται rshd). Δημιουργούμε τα αντίστοιχα scripts για να σηκώνονται και να σταματάνε τα +σχετικά services, κατά τα παραδείγματα του Gerard.\ +Αν μιλάμε για περίπτωση **«τυπικού» server** που θα εξυπηρετεί web, mail, dns, μία (τουλάχιστον) βάση, ίσως news, ότι σκεφτούμε δηλαδή (κλασικά παραδείγματα +τέτοιων μηχανημάτων είναι ο tux.hellug.gr και το igloo.linux.gr, τα μηχανήματα του συλλόγου), τότε ξεκινάμε και εγκαθιστούμε όλα τα services, πολλά extra-libs, +φτιάχνουμε όλα τα scripts για startup-shutdown, ίσως ακόμα και να πρέπει να φτιάξουμε (επιτέλους;) και κάποιο inetd.conf για να ξεκινάμε τον inetd (ανάλογα με +τις απαιτήσεις πάλι), σίγουρα κάποιο cron, θα αυτοματοποιήσουμε κάποιες εργασίες\... Πολλή δουλειά.\ +Τέλος, μπορεί να θέλουμε να φτιάξουμε ένα **πλήρες development μηχάνημα**, το οποίο όπως το εννοώ εγώ είναι ένας συνδυασμός της πρώτης και τελευταίας από τις +προαναφερθείσες περιπτώσεις. Δηλαδή πολλούς servers (που θα «σηκώνουμε» κατ\' επιλογή όποιον/όποιους χρειαζόμαστε για να κάνουμε τους ελέγχους μας) και τα +X-windows με τα αντίστοιχα προγράμματα για ppp, internet, writing-tools κλπ, ότι δίνει δηλαδή ένα distribution. (τόση δουλειά για να ξαναφτάσουμε εκεί που +ξεκινήσαμε!!! :-) + +Εγώ εδώ θα ασχοληθώ με τις δύο τελευταίες περιπτώσεις, μια και είναι αυτές ακριβώς με τις οποίες ασχολήθηκα. + + +### [2. Κοινός server]{#s2} + +Εφόσον δεν χρησιμοποιούμε κάποιο standard package management software (π.χ. rpm) πρέπει να έχουμε κάποιο τρόπο, να «κρατάμε» κάπου ένα κατάλογο με το αρχεία +βάλαμε και σε ποιο σημείο. Εγώ χρησιμοποίησα το installwatch για αυτό το λόγο (και τώρα ετοιμάζομαι μα γράψω ένα απλό uninstall script που να παίρνει σαν input +τα logs του installwatch) και θα πρότεινα, για να μην βρεθείτε πιο χαμένοι από ότι ξεκινήσατε, να χρησιμοποιήσετε κι εσείς κάποιο τέτοιο πακέτο.\ +Οι servers που εγκατέστησα (όχι ότι έχει και σημασία αφού όπως είπαμε ο καθένας βάζει ότι τον εξυπηρετεί) είναι οι apache, mysql, qmail, bind, sshd, ενώ και +ένας nfs server μου φάνηκε χρήσιμος κάποια στιγμή (για να κάνω «βαριά» compiles στο άλλο, γρήγορο μηχάνημα που έχω\... το πως και γιατί στο περίπου, μπορείτε να +το βρείτε στο πρώτο-πρώτο τεύχος του magaz που ο Φώτης Γεωργάτος χρησιμοποίησε το ίδιο τρικ για να κάνει compile τον πυρήνα σε ένα μηχάνημα). Φυσικά εγκατέστησα +και ένα cron, και μια που το παραδοσιακό cron είναι αρκετά παλιό, εγκατέστησα το fcron. Προτίμησα το qmail αντί για το sendmail για λόγους ασφαλείας και επειδή +το qmail μου καλύπτει τις ανάγκες μου.\ +Τα σημαντικά (για μένα) κομμάτια είναι τα εξής: + +- Έβαλα ολόκληρα τα πακέτα σε δικά τους ξεχωριστά directory (π.χ. o apache μπήκε στο /usr/local/apache). Αυτό ήταν εύκολο για ορισμένα πακέτα (apache, inn) + και πιο δύσκολο για άλλα (mysql) ενώ για κάποια ακόμα (π.χ. ssh) δεν είχε νόημα. +- Έφτιαξα (η άλλαξα όσα υπήρχαν έτοιμα) τα startup - shutdown scripts τα οποία μπήκαν στο /etc/init.d και φτιάχτηκαν τα αντίστοιχα links στο /etc/rc.d. + +\ +Αν έχουμε ένα παράλληλο μηχάνημα με τις ίδιες ρυθμίσεις μπορούμε να κάνουμε αυτό που προτείνουν πολλοί security experts, να μην αφήσουμε δηλαδή compiler(s) στο +μηχάνημα και να αφαιρέσουμε όλα τα sources. Ένα tripwire ή ένα md5sum που το βάζουμε να \"τρέχει\" κάθε βράδυ και να μας στέλνει με mail τα αποτελέσματα για να +τα συγκρίνουμε με τα αρχικά, μας βοηθάει και μας δημιουργεί λίγο την ψευδαίσθηση ότι το μηχανάκι μας είναι ασφαλές. Εμείς πάντως κάναμε ότι έπρεπε, από αυτή τη +μεριά (γιατί υπάρχει πάντα και το θέμα του administration της βάσης, τα τυχόν cgi scripts που τρέχουν κλπ). + + +### [3. Development μηχάνημα]{#s3} + +Αυτό το οποίο χρειάζομαι πραγματικά να έχω είναι ένα development μηχάνημα, το οποίο θα χρησιμοποιώ ως εξής: + +- Στήνω όλα τα services όπως στον server. Ένα ακριβές αντίγραφο του server. Ελλείψη τρίτου μηχανήματος, το κάνω αυτό στο βασικό μου μηχάνημα. +- Περνάω επάνω ότι extra προγράμματα χρειάζομαι, όπως X-Windows, mail-client, browser, editors κλπ για να μπορώ να το δουλέψω χωρίς κανένα πρόβλημα. Τα βασικά + στα βασικά τους σημεία (π.x. τα X-Windows στο /usr/X11R6) και τα μη βασικά εκεί που θέλω (π.χ. όλα τα γραφικά προγράμματα στο /opt και όλα τα προγράμματα + κονσόλας στο /opt/local). +- Θυμάστε που είπα προηγουμένως ότι όλα τα services τα έβαλα σε δικά τους directory; Ε, όλα τα directories ήταν και στο ίδιο filesystem (/usr/local). Ένα + level 0 backup του filesystem σήμερα, και ένα differential όταν τελειώσω το development (της τυχόν εφαρμογής, ή τον έλεγχο της τυχόν νέας έκδοσης), με + καλύπτει κατά 99% για πλήρη μεταφορά στον server. Το 1% που αφήνω είναι για τυχόν περιπτώσεις που δεν μου έρχονται τώρα στο μυαλό. +- Μεταφέροντας το differential backup στον server, ξαναπαίρνω ένα level 0 backup και βρίσκομαι πάλι σε αυτό που μπορούμε να ονομάσουμε checkpoint. + +Το εν λόγω μηχάνημα λοιπόν έχει περασμένα (εκτός από τα προγράμματα του server) και τα XFree86-4.01, gtk και glib (καθώς και gnome-libs και gnome-includes της +έκδοσης 1.2), και τα υπόλοιπα desktop tools (Staroffice, Netscape, Acrobat κλπ). + + +### [4. Μεταφορά]{#s4} + +Ωραία τα φτιάξαμε αυτά και δουλέυουν. Τι κερδίσαμε; Το όλο νόημα ήταν στην αρχή να μπορούμε να το μεταφέρουμε από δω κι από κει, όποιο \"παρακλάδι\" από αυτά +που είπαμε στο τμήμα Forking θέλουμε, χωρίς πρόβλημα. E, αυτό είναι εύκολο\... + +1. Κατ\' αρχάς υπάρχει η παραδοσιακή (και πολλές φορές καλύτερη) μέθοδος με το tar. Προσοχή λίγο στις παραμέτρους (συγκεκριμένα για τα permissions) και έχετε + ένα tar image του συστήματός σας. Αν στο νέο σύστημα boot-άρετε από μία ειδική δισκέτα (π.χ. tom\'s boot disk), κάνετε mount ένα CD που έχετε το εν λόγω + image, και κάνετε untar το image στον δίσκο, το μόνο που χρειάζεται να κάνετε μετά είναι ένα chroot στον νέο δίσκο, διόρθωμα αν χρειάζεται του /etc/fstab + και /etc/lilo.conf, τρέχουμε ένα lilo και reboot. Θεωρητικά όλα είναι έτοιμα. Για να πω την αλήθεια, όχι μόνο θεωρητικά. Αυτή τη μέθοδο χρησιμοποίησα για να + αντιγράψω το βασικό \"server\" μηχάνημα στο development. +2. Υπάρχει η λύση του cluclo (cluster cloning) αν το νέο μηχάνημα έχει δίκτυο. Διαβάστε το documentation καλά κάντε τα 3-4 βήματα που λέει, και είστε έτοιμοι. +3. Κάποιος μου είπε για κάποιο πρόγραμμα με όνομα ghost που κάνει κάτι τέτοιο, αλλά είναι λέει για Windows οπότε δεν μπόρεσα να το δοκιμάσω. +4. Υπάρχει και το αντίστοιχο (ίδιο;) πρόγραμμα open source για Linux. Λέγεται Partition Image και θα το βρείτε και αυτό στο Freshmeat. Από μία σύντομη ματιά + που έριξα στο documentation, κρίνω ότι μάλλον είναι ιδιαίτερα εύχρηστο και ευέλικτο. +5. Πάντα παίζει και η λύση του dd. Βάζουμε δηλαδή τον δίσκο του νέου μηχανήματος στο παλιό μηχάνημα, και αν ο δίσκος είναι ίδιος του κάνουμε ένα dd και + τελειώνει η υπόθεση, ενώ αν οι δίσκοι διαφέρουν, παίζουμε λίγο με τα partitions και κάνουμε dd το partition. + +Όλες οι μέθοδοι που αναπτύξαμε πιο πάνω, είναι σαφώς πιο γρήγορες από μία εγκατάσταση από CD. Βέβαια έτσι κάνεις μόνο τυποποιημένες εγκαταστάσεις, αλλά μπορείς +να τις τροποποιήσεις πολύ εύκολα (μια που ξέρεις ακριβώς τι υπάρχει μέσα) και, βέβαια, πόσες φορές χρειάζεσαι μία διαφορετική εγκατάσταση απ\' ότι έκανες την +περασμένη φορά; + +Αν δεν σας φτάνουν αυτοί οι τρόποι, βρείτε κάποιον μόνοι σας. Εξάλλου, αυτή είναι η ομορφιά του Linux. + diff --git a/content/articles/28/01_editorial.md b/content/articles/28/01_editorial.md new file mode 100644 index 0000000..ce24122 --- /dev/null +++ b/content/articles/28/01_editorial.md @@ -0,0 +1,69 @@ ++++ +title = 'Editorial' +date = '2000-11-01T00:00:00Z' +description = '' +author = 'Βαγγέλης Παπαδογιαννάκης(mailto:papas@hellug.gr)' +issue = ['Magaz 28'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Μάγκας εν όψη!* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Καλώς ήρθατε στο magaz Νοεμβρίου! + +Το τι γίνεται στο περιοδικό μας είναι πρωτοφανές. Τα στατιστικά δείχνουν ότι οι επισκέψεις πληθαίνουν, πράγμα που πάει να πει οτι όλο και περισσότεροι φίλοι του +linux μας επισκέπτονται καθημερινά + +Αυτό με τη σειρά του πάει να πει ότι οι ευθύνες μας για σωστή και συνεχή ενημέρωση αυξάνονται. To Magaz έχει ξεφύγει πλέον από τη φάση που ήταν ένα απλό ezine, +φτιαγμένο από linuxάδες που σκοπό είχαν να κάνουν το κέφι τους και να βοηθήσουν την κοινότητα. Έχει πλέον εξελιχθεί σαν η πηγή που (περισσότερο αλλά όχι μόνο) +οι νέοι χρήστες linux αναζητούν λύσεις και προτάσεις που θα τους βοηθήσουν. + +Πρέπει το magaz να αλλάξει μορφή, και αυτό είναι το κύριο μέλημά μου αυτή τη στιγμή. Ένα πειραματικό magaz οργανώνεται, και θα είναι έτοιμο σε περίπου δύο +μήνες. Ενδεικτικά να αναφέρω ότι το look θα είναι πολύ πιο καλαίσθητο, και η εργονομία θα είναι από τα σημεία που θα δοθεί πολύ προσοχή. Θέλουμε το magaz να +γίνει ένα μέρος στο οποίο θα μπορείτε άνετα να ψάξετε και να **βρείτε αυτό που ψάχνετε**. + +Τα άρθρα θα είναι χωρισμένα και κατηγοριοποιημένα σε ενότητες, με το καθένα από αυτά να έχει κάποιες λέξεις κλειδιά που θα βοηθούν στην αναζήτηση και τη +θεματική κατηγοριοποίηση τους. Θα μπορείτε να ψηφίζετε για το κάθε άρθρο ξεχωριστά, και να βρείτε παρόμοια άρθρα. Οι αρθρογράφοι (επιτέλους) θα καταχωρηθούν και +θα μπορείτε να δείτε όλα τα άρθρα που έχει γράψει κάποιος συγκεκριμένος αρθρογράφος. + +Θα μπορείτε να γράφετε τις παρατηρήσεις σας για ένα άρθρο, και να κρίνετε αν είναι βοηθητικό, να συμπληρώνετε, και να βοηθάτε προς μια περισσότερο +\`\`ολοκληρωμένη\'\' εικόνα ενός θέματος. + +Θα μπορείτε να δείτε μια \"printer friendly\" έκδοση του κάθε άρθρου ώστε να μπορείτε να το τυπώσετε και επίσης να το κατεβάσετε σε ότι μορφή μπορεί να +υποστηριχτεί από την sgml. Πρακτικά όλες δηλαδή :). + +Εκτός αυτού, το περιοδικό θα μπορεί να ανανεώνεται συχνότερα, και όχι πλέον κάθε μήνα. Με αυτό τον τρόπο θα ξεφύγουμε από τα \`\`περιθώρια\'\' του ημερολογιακού +μήνα, και σταδιακά (πράγμα που νομίζω ότι τελικά θα πάρει πολύ καιρό αλλά κάποτε θα γίνει) θα προχωρήσουμε σε ένα magaz που θα έχει νέα και άρθρα (όλα φυσικά +γύρω από το linux) που θα ανανεώνονται ακόμα και καθημερινά (άρθρα να υπάρχουν!). Θα δημιουργηθεί μια mailing list όπου θα μπορείτε να γράφεστε και να λαμβάνετε +email κάθε φορά που θα ανανεώνεται το magaz. Έτσι, όσοι ενδιαφέρονται, θα μπορούν να έχουν μια συνεχή επαφή με τα νέα της Ελληνικής κοινότητας linux. + +Πληροφοριακά, το νέο magaz θα χτιστεί σε [PHP4](http://www.php.net) και [MySQL](http://www.mysql.com), και (φυσικά) όλος ο κώδικας θα είναι GPLed. + +Φυσικά, κάτι τέτοιο δεν είναι εύκολο να γίνει χωρίς τη βοήθεια από εσάς, όποιοι και αν είσαστε. Πως μπορείτε να βοηθήσετε; + +- Στέλνοντας άρθρα προς δημοσίευση. Το θέμα είναι ελεύθερο, αν και καλό θα ήταν να υπάρχει μια συνεννόηση για να αποφεύγονται καταστάσεις όπου πχ δύο άτομα να + γράφουν άρθρο για το ίδιο θέμα. Περισσότερες πληροφορίες για το πως να βοηθήσετε μπορείτε να πάρετε στέλνοντας mail στον + [αρχισυντάκτη](mailto:papas@hellug.gr) του περιοδικού. Να σας υπενθυμίσω εδώ, ότι το magaz είναι το περιοδικό **ΟΛΗΣ** της κοινότητας Linuxάδων της Ελλάδος, + και όχι δικό μου ή του Καμπριάνη ή του Μαυρογιαννόπουλου ή του Παπακώστα ή της Σανίδα ή \... είναι ΟΛΩΝ μας! +- [Στέλνοντας προτάσεις](mailto:papas@hellug.gr) για τη μορφή και το περιεχόμενο του νέου magaz. Τι θα θέλατε να δείτε; Τι θα θέλατε να υπάρχει; Τι ΔΕΝ θα + θέλατε να δείτε; +- [Στέλνοντας παρατηρήσεις](mailto:papas@hellug.gr) για τη μορφή και την εργονομία του νέου magaz. +- Στέλνοντας χρήματα για να αγοράσω επιτέλους αυτή την Porsche (αστειεύομαι). +- Ψηφίζοντας αυτό το μήνα. + +Αυτά περί της επερχόμενης αλλαγής. Ας προχωρήσουμε στα θέματα του μήνα\... + +- [Xbasic συνέχεια](02_xbasic.html)\... Πολύ καλό sequence από τον [Κώστα Τσακάλογλου](mailto:tsakf@hellug.gr). Διαβάστε το\... +- [linux VS windows](04_linuxvswin.html)\... Από τον [Ευριπήδη Παπακώστα](mailto:evris@hellug.gr). Πολυσηζητημένο; Ίσως. Απλά, μερικές φορές, είναι πολύ + δύσκολο να δούμε τα πράγματα όπως είναι, δηλαδή \`\`ΑΠΛΑ\'\'. Για περάστεεεεε. +- [Ρυθμίσεις](03_rithimis.html)\... Πως να γράψω ένα CD με το linuxι μου; Ένα κατανοητό και συνάμα βοηθητικό άρθρο από τον [Νίκο + Αποστολάκη](mailto:nickapos@agriroot.aua.gr). Επιτέλους, θα χρησιμοποιήσετε το CDR σας, για το λόγο για τον οποίο το αγοράσατε! Να καλωσορίσουμε το Νίκο τον + Αποστολάκη στην παρέα του Magaz, και ας ελπίσουμε να μας ξαναγράψει\... (άρθρο, μην αρπάζεστε) +- [Κρυπτογράφηση](05_passwd.html). Τιιιιι συμβαίνει με αυτό το θέμα; Τι είναι το passwd; Γιατί υπάρχει αυτό το shadow; Μας στοιχειώσανε το μηχάνημα οι σκιές; + Ένα πολύ κατατοπιστικό άρθρο από τον [Νίκο Μαυρογιαννόπουλο](mailto:nmav@hellug.gr), τον αιώνιο μπάκουρο :) + +[Μην ξεχάσετε να ψηφίσετε!!!](http://magaz.hellug.gr/cgi-bin/poll28.cgi). Μόνο ψηφίζοντας θα μας βοηθήσετε να σας προσφέρουμε αυτά που πραγματικά θέλετε στο νέο +magaz που έρχεται\... diff --git a/content/articles/28/02_xbasic.md b/content/articles/28/02_xbasic.md new file mode 100644 index 0000000..d370dae --- /dev/null +++ b/content/articles/28/02_xbasic.md @@ -0,0 +1,329 @@ ++++ +title = 'Xbasic' +date = '2000-11-01T00:00:00Z' +description = '' +author = 'Κώστας Τσακάλογλου(mailto:tsakf@hellug.gr)' +issue = ['Magaz 28'] +issue_weight = 2 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Μία γλώσσα προγραμματισμού Basic που έχει αρκετά στοιχεία C. Μέρος 4ο* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Σχεσιακοί τελεστές** +-------------------------------------------------- + +- [1.1 Παραδείγματα χρήσης σχεσιακών τελεστών](#ss1.1) + +**2. Η εντολή IF** +------------------------------------------- + +**3. Παραδείγματα** +-------------------------------------------- + +- [3.1 Παράδειγμα 1. Εντολή IF χωρίς ELSE](#ss3.1) +- [3.2 Παράδειγμα 2 Εντολή IF μαζί με ELSE.](#ss3.2) +- [3.3 Επόμενο τεύχος](#ss3.3) + + +### [1. Σχεσιακοί τελεστές]{#s1} + +Οι σχεσιακοί τελεστές της Xbasic χρησιμοποιούνται για να συγκρίνουν μεταβλητές με σταθερές ή μεταβλητές μεταξύ τους. Π.χ. Είναι η τιμή της μεταβλητής x +μεγαλύτερη από 100; Η τιμή της μεταβλητής a είναι ίση με την τιμή της μεταβλητής d; + +Αυτοί οι τελεστές μας επιστρέφουν τιμές \$\$TRUE ή \$\$FALSE αντίστοιχα αν η σχέση ισχύει ή όχι. + +Παραθέτω παρακάτω ένα πίνακα με τους σχεσιακούς τελεστές που υπάρχουν στην Xbasic. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Μεγαλύτερο >, !<= Το x είναι μεγαλύτερο του y x>y x!<=y + Μεγαλύτερο ή ίσο >=, !< Το x είναι μεγαλύτερο ή ίσο του y x>=y x! Το x είναι μικρότερο ή ίσο του y x<=y x!>y + Μικρότερο <, !>= Το x είναι μικρότερο του y x=y + Διάφορο (όχι ίσο) <>, != Το x είναι διάφορο του y x<>y x!=y + Ισο =,== Το x είναι ίσο με το y x=y x==y + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +### [1.1 Παραδείγματα χρήσης σχεσιακών τελεστών]{#ss1.1} + +- 5 = 1 Είναι το 5 ίσο με το 1; \$\$FALSE +- 5 \> 1 Είναι το 5 μεγαλύτερο από το 1 \$\$TRUE +- 5 +- 1 Είναι το 5 διάφορο του 1 \$\$TRUE + + +### [2. Η εντολή IF]{#s2} + +Οι σχεσιακοί τελεστές χρησιμοποιούνται για να γίνονται οι έλεγχοι στις εντολές IF και WHILE που θα μελετήσουμε. Αυτές οι εντολές χρειάζονται για να αποφασίζεται +η εκτέλεση διαφορετικών κομματιών κώδικα, ανάλογα με το αν ισχύουν ή όχι οι σχεσιακοί τελεστές που αναφέρονται στην εντολή IF ή WHILE αντίστοιχα. Από τα +προηγούμενα παραδείγματα είδαμε ότι η εκτέλεση των προγραμμάτων γίνεται με εκτέλεση των εντολών από πάνω προς τα κάτω. Έτσι, η εντολή IF υπολογίζει το +αποτέλεσμα των σχεσιακών τελεστών και εκτελεί το κομμάτι του κώδικα αντιστοιχεί για την κάθε περίπτωση αληθές/ψευδές (\$\$TRUE/\$\$FALSE). + +Στην Xbasic η εντολή if μπορεί να έχει τις εξής μορφές: + +- IF (σχεσιακός τελεστής.) ΤΗΕΝ (εντολή 1) + + Αν ισχύει ο σχεσιακός τελεστής (\$\$TRUE) τότε θα εκτελεστεί η εντολή 1 + +- IF (σχεσιακός τελεστής) ΤΗΕΝ (εντολή 1) ELSE (εντολή 2) + + Αν ισχύει ο σχεσιακός τελεστής (\$\$TRUE) τότε θα εκτελεστεί η εντολή 1 αλλιώς αν δεν ισχύει (\$\$FALSE) τότε θα εκτελεστεί η εντολή 2 + +- IF (σχεσιακός τελεστής) ΤΗΕΝ + + (εντολή 1 + + εντολή + + εντολη) + + END IF + + Αν ισχύει ο σχεσιακός τελεστής (\$\$TRUE) τότε θα εκτελεστεί η εντολή 1 και όλες οι υπόλοιπες που ακολουθούν μέχρι το END IF. + +- IF (σχεσιακός τελεστής) ΤΗΕΝ + + (εντολή 1 + + εντολή + + εντολη) + + ELSE + + (εντολή 2 + + εντολή + + εντολη) + + END IF + + Αν ισχύει ο σχεσιακός τελεστής (\$\$TRUE) τότε θα εκτελεστεί η εντολή 1 και όλες οι υπόλοιπες που ακολουθούν μέχρι το ELSE αλλιώς αν δεν ισχύει ο τελεστής + (\$\$FALSE) τότε θα εκτελεστεί η εντολή 2 και όλες οι υπόλοιπες που ακολουθούν μέχρι το END IF. + + +### [3. Παραδείγματα]{#s3} + +Για να κατανοήσουμε καλύτερα την χρήση των σχεσιακών τελεστών θα δούμε δύο παραδείγματα με την εντολή IF. Στο ένα παράδειγμα θα χρησιμοποιήσουμε την εντολή IF +χωρίς το ELSE και στο επόμενο θα την χρησιμοποιήσoυμε μαζί με το ELSE. + +### [3.1 Παράδειγμα 1. Εντολή IF χωρίς ELSE]{#ss3.1} + +Ας δούμε όμως μερικά παραδείγματα. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + 1. ' + 2. ' #################### + 3. ' ##### PROLOG ##### + 4. ' #################### + 5. ' + 6. PROGRAM "progname" ' 1-8 char program/file name without .x or any .extent + 7. VERSION "0.0000" ' version number - increment before saving altered program + 8. ' + 9. ' You can stop the PDE from inserting the following PROLOG comment lines + 10.' by removing them from the prolog.xxx file in your \xb\xxx directory. + 11.' + 12.' Programs contain: 1: PROLOG - no executable code - see below + 13.' 2: Entry function - start execution at 1st declared func + 14.' * = optional 3: Other functions - everything else - all other functions + 15.' + 16.' The PROLOG contains (in this order): + 17.' * 1. Program name statement PROGRAM "progname" + 18.' * 2. Version number statement VERSION "0.0000" + 19.' * 3. Import library statements IMPORT "libName" + 20.' * 4. Composite type definitions TYPE typename ... END TYPE + 21.' 5. Internal function declarations DECLARE/INTERNAL FUNCTION Func (args) + 22.' * 6. External function declarations EXTERNAL FUNCTION FuncName (args) + 23.' * 7. Shared constant definitions $$ConstantName = literal or constant + 24.' * 8. Shared variable declarations SHARED variable + 25.' + 26.' ****** Comment libraries in/out as needed ***** + 27.' + 28.' IMPORT "xma" ' Math library : SIN/ASIN/SINH/ASINH/LOG/EXP/SQRT... + 29.' IMPORT "xcm" ' Complex library : complex number library (trig, etc) + 30.' IMPORT "xst" ' Standard library : required by most programs + 31.' IMPORT "xgr" ' GraphicsDesigner : required by GuiDesigner programs + 32.' IMPORT "xui" ' GuiDesigner : required by GuiDesigner programs + 33.' + 34. DECLARE FUNCTION Entry () + 35.' + 36.' + 37.' ###################### + 38.' ##### Entry () ##### + 39.' ###################### + 40.' + 41.' Programs contain: + 42.' 1. A PROLOG with type/function/constant declarations. + 43.' 2. This Entry() function where execution begins. + 44.' 3. Zero or more additional functions. + 45.' + 46.FUNCTION Entry () + 47.STRING in1,in2 + 48.SSHORT num1,num2 + 49.in1=INLINE$("Number 1... ") + 50.in2=INLINE$("Number 2... ") + 51.num1=SSHORT(in1) + 52.num2=SSHORT(in2) + 53.IF num1=num2 THEN + 54. PRINT num1; " = "; num2 + 55.END IF + 56.IF num1>num2 THEN + 57. PRINT num1; " > "; num2 + 58.END IF + 59.IF num1 +αριθμός2. Αν δεν ισχύει αυτό τότε η εκτέλεση του προγράμματος θα συνεχιστεί παρακάτω χωρίς να εκτελεστεί η γραμμή 57. + +**Γραμμές 59..61**\ +Γίνεται ο έλεγχος για την περίπτωση που ο πρώτος αριθμός είναι μικρότερος. Αν αυτό ισχύει τότε στην κονσόλα της XBASIC εμφανίζεται το μήνυμα αριθμός1 \< +αριθμός2. Τότε δεν θα εκτελεστεί η γραμμή 60. + +Αυτός είναι ο απλός τρόπος να κάνουμε συγκρίσεις και λαμβάνει υπ\' όψιν του όλες τις περιπτώσεις. Έχει όμως ένα μειονέκτημα. Αν οι δύο αριθμοί είναι ίσοι τότε +θα τυπωθεί αριθμός1 = αριθμός2 όμως στην συνέχεια θα γίνουν οι επόμενες συγκρίσεις που δεν χρειάζονται. Έτσι για να βελτιστοποιήσουμε την ταχύτητα εκτέλεσης +χρησιμοποιούμε την εντολή IF μαζί με την ELSE. Παρακάτω θα δούμε πως διαφοροποιείται το πρόγραμμα με την χρήση της ELSE. + +### [3.2 Παράδειγμα 2 Εντολή IF μαζί με ELSE.]{#ss3.2} + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + 1.' + 2.' #################### + 3.' ##### PROLOG ##### + 4.' #################### + . + . + . + . + . + 37.' ###################### + 38.' ##### Entry () ##### + 39.' ###################### + 40.' + 41.' Programs contain: + 42.' 1. A PROLOG with type/function/constant declarations. + 43.' 2. This Entry() function where execution begins. + 44.' 3. Zero or more additional functions. + 45.' + 46.FUNCTION Entry () + 47.STRING in1,in2 + 48.SSHORT num1,num2 + 49.in1=INLINE$("Number 1... ") + 50.in2=INLINE$("Number 2... ") + 51.num1=SSHORT(in1) + 52.num2=SSHORT(in2) + 53.IF num1=num2 THEN + 54. PRINT num1;" = ";num2 + 55.ELSE + 56. IF num1>num2 THEN + 57. PRINT num1;" > ";num2 + 58. ELSE + 59. PRINT num1;" < ";num2 + 60. END IF + 61.END IF + 62.END FUNCTION + 63.END PROGRAM + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**Ανάλυση του παραδείγματος.** + +**Γραμμές 1..45 PROLOG , Γραμμές 46..62 Συνάρτηση ENTRY, Γραμμές 47,48 και οι γραμμές 49..52** + +Έχουν την ίδια ακριβώς σημασία με το προηγούμενο παράδειγμα και έτσι δεν θα ασχοληθούμε με αυτές εδώ. Στις γραμμές 53..61 φαίνεται η διαφορά στις εντολές του +παραδείγματος με το προηγούμενο, γι\' αυτό θα σταθούμε λίγο πιο αναλυτικά. + +**Γραμμές 53..55** + +Στην περίπτωση που οι δύο αριθμοί είναι ίσοι τότε θα εκτελεστεί η γραμμή 54. Η παρουσία του ELSE στην γραμμή 55 που σημαίνει ότι αν δεν ισχύει η ισότητα τότε θα +εκτελεστεί ο κώδικας που βρίσκεται ανάμεσα στις γραμμές 56..61 αναγκάζει το πρόγραμμα να συνεχίσει την εκτέλεση στην γραμμή 62. Με αυτόν τον τρόπο αποφεύγουμε +τις υπόλοιπες συγκρίσεις. + +**Γραμμές 56..58** + +Αν ο αριθμός1 είναι μεγαλύτερος, τότε θα εκτελεστεί η γραμμή 57. Η παρουσία του ELSE στην γραμμή 58 που σημαίνει ότι αν ο αριθμός1 δεν είναι μεγαλύτερος τότε θα +εκτελεστεί η εντολή στην γραμμή 59 αναγκάζει το πρόγραμμα να συνεχίσει την εκτέλεση .στην γραμμή 61.Έτσι ανάλογα με το αν ο αριθμός1 είναι μεγαλύτερος ή όχι +εκτελείται η γραμμή 57 ή η γραμμη 61 αντίστοιχα. + +Για να ανακεφαλαιώσουμε τα παραπάνω επιγραμματικά έχουμε: + +**Πρώτο παράδειγμα** + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + IF num1=num2 THEN + . + END IF + IF num1>num2 THEN + . + END IF + IF num1num2 THEN + . + ELSE + .. + END IF + END IF + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Εδώ τώρα, ανάλογα με τις τιμές των μεταβλητών θα εκτελεστούν. + +- Αν οι δύο αριθμοί είναι ίσοι γίνεται η πρώτη σύγκριση και παραλείπονται τα υπόλοιπα +- Αν ο πρώτος αριθμός είναι μεγαλύτερος τότε γίνονται και οι δύο συγκρίσεις num1=num2 και num1\>num2. +- Αν ο πρώτος αριθμός είναι μικρότερος τότε πάλι γίνονται οι δύο συγκρίσεις num1=num2 και num1\>num2. + +Όπως βλέπουμε στο πρώτο παράδειγμα γίνονται πάντα τρεις συγκρίσεις; ενώ στο δεύτερο γίνονται μία ή και δύο. Είναι φανερό πια γιατί προτιμάμε να χρησιμοποιούμε +το ELSE από το να κάνουμε διαδοχικές συγκρίσεις. Γράφουμε μικρότερο και ταχύτερο κώδικα. + +### [3.3 Επόμενο τεύχος]{#ss3.3} + +Στο επόμενο, θα αναλύσουμε τις συναρτήσεις στην XBasic. Θα πούμε ποιός είναι ο σκοπός τους, πως δημιουργούνται, και πως τις χρησιμοποιούμε. Θα αναλύσουμε επίσης diff --git a/content/articles/28/03_rithimis.md b/content/articles/28/03_rithimis.md new file mode 100644 index 0000000..01d7ca5 --- /dev/null +++ b/content/articles/28/03_rithimis.md @@ -0,0 +1,240 @@ ++++ +title = 'CD Recording' +date = '2000-11-01T00:00:00Z' +description = '' +author = 'Νίκος Αποστολάκης(mailto:nickapos@agriroot.aua.gr)' +issue = ['Magaz 28'] +issue_weight = 3 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Βήματα και μεθόδοι που ακολουθούμε για να γράψουμε ένα cd απο το Linux.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. DISCLAIMER** +-------------------------------------------- + +**2. Ρυθμίσεις του πυρήνα του Linux για να γράψουμε ένα cd.** +---------------------------------------------------------------------------------------- + +- [2.1 Η θεωρία](#ss2.1) +- [2.2 Τα modules](#ss2.2) +- [2.3 Ειδικές περιπτώσεις όσον αφορά το module loading and unloading.](#ss2.3) + +**3. Δημιουργία και έλεγχος του iso-image.** +----------------------------------------------------------------------- + +- [3.1 Δημιουργία του iso-image.](#ss3.1) +- [3.2 Έλεγχος του iso-image.](#ss3.2) + +**4. Το κάψιμο του cd.** +--------------------------------------------------- + +- [4.1 Η εντολή](#ss4.1) +- [4.2 Επεξήγηση παραμέτρων](#ss4.2) + +**5. Ειδικές ρυθμίσεις για την εγγραφή multisession cd.** +------------------------------------------------------------------------------------ + +- [5.1 Γενικά](#ss5.1) +- [5.2 Έλεγχος του προηγούμενου session και δημιουργία του image.](#ss5.2) +- [5.3 Εγγραφή του session](#ss5.3) + +**6. Βιβλιογραφία** +---------------------------------------------- + + +### [1. DISCLAIMER]{#s1} + +Δεν φέρω καμία ευθύνη για τυχόν ζημίες που θα προκληθούν στο μηχάνημα σας απο την εφαρμογή των παρακάτω. Εάν αποφασίσετε να ακολουθήσετε τα παρακάτω το κάνετε +με δική σας ευθύνη. + + +### [2. Ρυθμίσεις του πυρήνα του Linux για να γράψουμε ένα cd.]{#s2} + +### [2.1 Η θεωρία]{#ss2.1} + +Κατ\' αρχάς για να επιτύχουμε την εγγραφή του cd στο Linux πρέπει να ενεργοποιήσουμε την υποστήριξη για SCSI που έχει το Linux. Εάν το cdwriter που έχουμε δεν +είναι SCSI ακόμη και τότε θα πρέπει να ενεργοποιήσουμε το λεγόμενο SCSI emulation. + +Η δική μου περίπτωση είναι η δεύτερη. + +### [2.2 Τα modules]{#ss2.2} + +Εδώ θα ήθελα να αναφέρω ότι όσον αφορά το configuration του πυρήνα προτιμώ να βάζω μέσα στον πυρήνα τα απολύτως απαραίτητα και να φτιάχνω τα υπόλοιπα σαν +modules. + +Θεωρούμε ότι έχετε ρυθμίσει τον πυρήνα ώστε να μπορείτε να χρησιμοποιείτε το cdrom και να διαβάζετε iso-9660 filesystems. + +Για να ενεργοποιήσουμε το SCSI emulation πρέπει να απαντήσουμε Y ή M στην επιλογή scsi emulation support, στο SCSI generic support επίσης Y ή M και το ίδιο και +στο SCSI cdrom support. Αφότου ενεργοποιήσουμε το SCSI emulation μπορούμε πια να αναφερόμαστε στις IDE συσκευές μας σα να ήταν SCSI. + +### [2.3 Ειδικές περιπτώσεις όσον αφορά το module loading and unloading.]{#ss2.3} + +#### Eνδιαφέρουσες περιπτώσεις. + +Κατά την ρύθμιση του πυρήνα μπορούν να προκύψουν κάποιες ενδιαφέρουσες περιπτώσεις. + +- Η πρώτη περίπτωση είναι να έχετε επιλέξει το **SCSI emulation** ώστε να γίνει compile μέσα στον πυρήνα (όχι σαν module). Σε αυτή την περίπτωση αν έχετε + επιλέξει την υποστήριξη για **IDE cd-rom drives** ώστε να γίνει compile μέσα στον πυρήνα τότε δεν θα μπορείτε να χρησιμοποιήσετε το cdwriter για την + εγγραφή cd. Αυτό συμβαίνει γιατί όπως αναφέρεται στο documentation του πυρήνα όταν έχετε επιλέξει υποστήριξη για **IDE cd-rom** και **SCSI emulation** τότε + αυτόματα χρησιμοποιείται το default δηλαδή εδώ το IDE cd-rom. Το ίδιο αποτέλεσμα και για τους ίδιους λόγους θα έχετε και όταν επιλέξετε το **IDE cd-rom + drive support** σαν build-in στον πυρήνα και το **SCSI emulation** σαν module. +- Η δεύτερη περίπτωση είναι να έχετε επιλέξει και στις δύο επιλογές **Module**. Τότε θε πρέπει να παίζετε με τις εντολές **lsmod** , **rmmod** , **insmod** ή + **modprobe** προκειμένου να μπορέσετε να κάνετε load τα modules που χρειάζονται για το **SCSI emulation** και unload τα modules που χρησιμοποιούνται απο το + IDE cd-rom. +- Η τρίτη περίπτωση είναι να έχετε επιλέξει μόνο το SCSI emulation είτε build-in στον πυρήνα είτε σαν module και να έχετε επιλέξει **Module** στο **IDE cd-rom + support**. Σε αυτή την περίπτωση θα βλέπετε όλα τα cd-rom drives σας σαν SCSI και θα μπορείτε να χρησιμοποιείτε το cdwriter άμεσα. + +#### Αποτελέσματα + +Εάν όλα είναι εντάξει τότε η εντολή **cdrecord -scanbus** μας δείχνει τις SCSI συσκευές που υπάρχουν στο σύστημα. Εγώ προσωπικά έχω δοκιμάσει και τα δύο +τελευταία configurations για σχετικά μεγάλα χρονικά διαστήματα με εξίσου καλά αποτελέσματα όσον αφορά την εγγραφή των cd\'s. + +Όταν είχα το configuration μόνο για **SCSI emulation** είχα κάποια προβλήματα στο **audio-ripping** αλλά δεν έχω διαπιστώσει αν γι\'αυτο ήταν υπεύθυνο το +configuration ή το drive μου που είναι αρκετά παλιό και σχετικά προβληματικό. + + +### [3. Δημιουργία και έλεγχος του iso-image.]{#s3} + +### [3.1 Δημιουργία του iso-image.]{#ss3.1} + +#### Η εντολή + +Φτιάχνουμε το **iso-image** με το **mkisofs**. Η εντολή που δίνουμε είναι η παρακάτω: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + mkisofs -r --o iso-image firstdir/ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#### Επεξήγηση παραμέτρων + +- Η παράμετρος **-r** χρησιμοποιείται για να προσθέσει τα **Rockridge extensions** στο iso-image. +- Η παράμετρος **-o** χρησιμοποιείται για να δηλώσει ο χρήστης το όνομα του αρχείου που θα αποθηκευτεί η έξοδος του **mkisofs** δηλαδή το **iso-image**. +- Το **firstdir/** αποτελεί το directory εισόδου του **mkisofs** δηλαδή το directory απο το οποίο το **mkisofs** θα ξεκινήσει να διαβάζει ώστε να δημιουργήσει + το iso-image. Το directory αυτο δεν θα φαίνεται όταν γραφεί το cd και θα αντικατασταθεί απο το root directory του cd. + +### [3.2 Έλεγχος του iso-image.]{#ss3.2} + +#### Η εντολή + +Για να ελέγξουμε εάν το **iso-image** που δημιουργήσαμε είναι αυτο που επιθυμούμε, δεν έχει λάθη κ.τ.λ. χρησιμοποιούμε τα λεγόμενα **loopback devices**. Έτσι η +εντολή που δίνουμε είναι η παρακάτω : + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + mount -t iso9660 -o ro,loop=/dev/loop0 iso-image /cdrom + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#### Επεξήγηση παραμέτρων + +- Η παράμετρος **-t** δηλώνει τον τύπο του filesystem που θέλουμε να προσαρτήσουμε. +- Η παράμετρος **-o** δηλώνει με τι επιλογές θέλουμε να προσαρτήσουμε το iso-image και σε ποιό loopback device. +- Τέλος προσδιορίζουμε σε ποιό directory θέλουμε να προσαρτήσουμε το **iso-image**. + +Αφού προσαρτήσουμε το **iso-image** μπορούμε να πάμε στο directory που επιλέξαμε να γίνει η προσάρτηση και να ελέγξουμε αν όλα είναι εντάξει. + + +### [4. Το κάψιμο του cd.]{#s4} + +### [4.1 Η εντολή]{#ss4.1} + +Η εντολή που χρησιμοποιούμε είναι η παρακάτω: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + cdrecord -v -multi -eject speed=2 dev=0,0 iso-image + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +### [4.2 Επεξήγηση παραμέτρων]{#ss4.2} + +- Η παράμετρος -v χρησιμοποιείται ώστε το **cdrecord** να τυπώνει αναλυτικά το στάδιο στο οποίο βρίσκεται το γράψιμο του cd. +- Η επιλογή **speed=2** δηλώνει την ταχύτητα της εγγραφής. +- Η επιλογή **dev=0,0** δηλώνει την συσκευή μέσω της οποίας θα γίνει η εγγραφή (στο pc μου αυτή είναι η dev=0,0) σε άλλα μηχανήματα θα είναι διαφορετική. +- Η επιλογή **-multi** χρησιμοποιείται για την δημιουργία **multisession cd**. +- Η επιλογή **-eject** χρησιμοποιείται για να γίνει eject μόλις τελειώσει η εγγραφή. + + +### [5. Ειδικές ρυθμίσεις για την εγγραφή multisession cd.]{#s5} + +### [5.1 Γενικά]{#ss5.1} + +Παρακάτω περιγράφεται η διαδικασία για την δημιουργία ενός **multisession cd**. Για την εγγραφή του πρώτου session αρκεί η παραπάνω διαδικασία με την επιλογή +**-multi** κατά την εγγραφή του cd. + +### [5.2 Έλεγχος του προηγούμενου session και δημιουργία του image.]{#ss5.2} + +#### Έλεγχος του προηγούμενου session. + +Αρχικά πρέπει να πάρουμε πληροφορίες για το sector που έχει σταματήσει το προηγούμενο session. Η εντολή που χρησιμοποιούμε είναι η παρακάτω: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + cdrecord -msinfo dev=0,0. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Το output της εντολή αυτής είναι δύο αριθμοί της μορφής **xx,yy**. + +Εννοείται βέβαια ότι για να πάρουμε αυτές τις πληροφορίες θα πρέπει το cd στο οποίο θα προστεθεί το νέο session να είναι μέσα στο drive. + +#### Δημιουργία του image + +Για να φτιάξουμε το iso-image χρησιμοποιούμε και πάλι το mkisofs και η εντολή που δίνουμε είναι η παρακάτω + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + mkisofs -o cd-image -R --C xx,yy -M /dev/cdwriter firstdir/ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Η επεξήγηση των παραμέτρων της εντολής ακολουθεί παρακάτω: + +- Η παράμετρος **-o** καθορίζει το όνομα του αρχείου στο οποίο θα γραφεί το iso image. +- Η παράμετρος **-R** προσθέτει στο **iso image** τα **Rockridge extensions**. +- Η παράμετρος **-C xx,yy** προσδιορίζει δύο αριθμούς. Ο πρώτος αντιστοιχεί στο πρώτο sector number του τελευταίου session του cd στο οποίο θα προστεθεί το + image που θα φτιάξουμε και ο δεύτερος στο πρώτο sector number του νέου session. Οι αριθμοί **xx,yy** δίνονται ακριβώς με την σειρά που βγαίνουν απο το + **cdrecord -msinfo dev=0,0**. +- Η παράμετρος **-M /dev/cdwriter** προσδιορίζει την συσκευή απο την οποία θα διαβαστούν πληροφορίες για το **iso image** στο τέλος του οποίου θα προστεθεί το + **iso image** που εμείς θα δημιουργήσουμε. Στην περίπτωση μας η συσκευή αυτή είναι το cdwriter που στο pc μου είναι η συσκευή **/dev/sr0**. +- Η παράμετρος **firstdir/** έχει περιγραφεί παραπάνω. + +#### Έλεγχος του iso image + +Η γενική ιδέα του ελέγχου του **iso image** είναι η ίδια όπως και παραπάνω όμως υπάρχει μια μικρή (σχετικά) διαφορά. Έτσι για να μπορέσουμε να ελέγξουμε το +**iso image** θα πρέπει να φτιάξουμε ένα άλλο **iso image** με την παρακάτω εντολή: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + mkisofs -o iso-image1 -R --C xx,0 -M /dev/cdwriter firstdir/. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Η εντολή αυτή είναι η ίδια με την προηγούμενη απλά εδώ το **iso image** θα είναι φτιαγμένο έτσι ώστε το πρώτο του sector number να είναι μηδέν. + +Τώρα μπορούμε να το κάνουμε mount κατά τα γνωστά με τις **loopback devices**. + +### [5.3 Εγγραφή του session]{#ss5.3} + +Η εγγραφή του session γίνεται κατα τα γνωστά με την εντολή : + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + cdrecord -v -multi -eject speed=2 dev=0,0 iso-image + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + +### [6. Βιβλιογραφία]{#s6} + +- Το σχετικό howto. +- Τα manuals των εντολών mkisofs, cdrecord, lsmod , rmmod , insmod, modprobe. +- Το documentation του πυρήνα. +- Το Internet. + diff --git a/content/articles/28/04_linuxvswin.md b/content/articles/28/04_linuxvswin.md new file mode 100644 index 0000000..d429886 --- /dev/null +++ b/content/articles/28/04_linuxvswin.md @@ -0,0 +1,233 @@ ++++ +title = 'Linux VS Windows' +date = '2000-11-01T00:00:00Z' +description = '' +author = 'Ευριπήδης Παπακώστας(mailto:evris@hellug.gr)' +issue = ['Magaz 28'] +issue_weight = 4 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Κοινωνική διάσταση ενός ακύρηχτου πολέμου (ή εναλλακτικά \"Νίκησε και εσύ στα flamewars Linux εναντίον Windows.Μπορείς\").* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Γενικά\...** +---------------------------------------------- + +**2. Οπλοστάσια** +---------------------------------------------- + +- [2.1 \...των χρηστών windows](#ss2.1) +- [2.2 \...των χρηστών Linux](#ss2.2) +- [2.3 Προσωπικά](#ss2.3) + +**3. Γενικές παραδοχές** +----------------------------------------------------- + +- [3.1 Νέο μοντέλο συνεργασίας.](#ss3.1) +- [3.2 Ισα δικαιώματα και ευκαιρίες](#ss3.2) +- [3.3 Μονοπώλια stop](#ss3.3) +- [3.4 Η κλοπή είναι κακό πράγμα](#ss3.4) +- [3.5 Λήξη χρόνου](#ss3.5) + + +### [1. Γενικά\...]{#s1} + +Τον τελευταίο καιρό νοιώθω πως βρίσκομαι σε ένα συνεχές deja-vu (=η αίσθηση πως κάτι το έχεις ξαναζήσει, ξαναβιώσει ακριβώς όπως συμβαίνει τώρα, σαν να βλέπεις +ένα replay από την ζωή σου). + +Έχει να κάνει με ένα πολύ συγκεκριμένο θέμα. Την επαναλαμβανόμενη συζήτηση (σε ανύποπτο χρόνο, με διαφορετικούς ανθρώπους, από διαφορετικά μέσα) σχετικά με το +πολύ πιασιάρικο και μοδάτο (τελευταίως) ζήτημα **\"Linux εναντίον Windows\"**. + +Πρώτα πρώτα, έχω παρατηρήσει πως το θέμα αυτό απασχολεί ολοένα και περισσότερο στήλες άλλων -ευρύτερης ύλης και γενικότερου προσανατολισμού- περιοδικών (για +παράδειγμα τη στήλη του **Νίκου Δήμου στο RAM** και αποτελεί ένα από τα κύρια θέματα της αλληλογραφίας των αναγνωστών. Οι αναγνώστες νοιώθουν την ανάγκη να +υποστηρίξουν το αγαπημένο τους λειτουργικό (με βάσιμα ή μη επιχειρήματα). Το έντυπο **flamewar** πουλάει. Ο αρθρογράφος έχει έναν εύκολο τρόπο να διακτινίσει +τον εαυτό του σε έναν χώρο (Linux) στον οποίο μέχρι κάποια στιγμή δεν υπήρχε, από την πίσω πόρτα. Η στήλη με μαγικό τρόπο αυτοσυμπληρώνεται και ο αρθρογράφος +της απεμπλέκεται από μέρος της δουλειάς του. + +Ομως, η ίδια καρμπόν κατάσταση ισχύει και στις τετ α τετ συζητήσεις με διάφορα άτομα του χώρου (συνήθως κατά τη διάρκεια άπειρων καφέδων). Ομοίως και στο +Internet: ηλεκτρονικές λίστες, web forums, emails. Εδώ τα πράγματα είναι 10 τάξεις μεγέθους πιο επιθετικά και πιο προσβλητικά. Βλέπετε, το mail είναι απρόσωπο +(ίσως και ανώνυμο) και καθένας μπορεί να παρεξηγήσει τους συνομιλητές του. + +Στην όλη αυτή \*διαμάχη\* πρωταγωνιστές είναι συνήθως οι νεώτεροι (ηλικιακά αλλά και σε εξοικείωση με τα λειτουργικά) χρήστες Η/Υ. + +Μπορώ πλέον να κοιτάξω κάποιον από μακριά και να ξέρω τι θα πει για το θέμα, με ποια σειρά, τι θα απαντήσω, τι θα ανταπαντήσει, πότε να φέρω στην επιφάνεια την +τάδε τεχνική ερώτηση παγίδα, πως θα γλυτώσει. Σε λίγο καιρό, ο καθένας έχει χτίσει ένα τέτοιο οπλοστάσιο και η συζήτηση είναι ακριβώς σαν και αυτές μεταξύ +Παναθηναϊκών και Ολυμπιακών. + +Η άποψη του καθενός είναι σεβαστή και πρέπει να να ακούγεται, να υποστηρίζεται (και μάλιστα και με θέρμη). Όμως είναι αληθινά πολύ ρηχό (στα όρια της +γηπεδοποίησης) να εκφυλίζεται η συζήτηση σε τέτοια κλισέ κανάλια που δεν οδηγούν σε εποικοδομητική κατάληξη. + + +### [2. Οπλοστάσια]{#s2} + +### [2.1 \...των χρηστών windows]{#ss2.1} + +Από τη μια λοιπόν, έχουμε τους χρήστες των windows που προτάσουν ως όπλα τα εξής: + +- Η ευχρηστία των Windows +- η έλλειψη drivers στο Linux +- πρωτόγονα Linux GUIs +- Μόνο στα Windows βρίσκω τα εργαλεία που χρειάζομαι για την δουλειά μου. +- Κλοπή Windows=μαγκιά +- Linux=κόλλημα +- Οι φίλοι, που προμηθεύουν με το παράνομο λογισμικό (άρα και τα Windows τζάμπα είναι +- Windows προεγκατεστημένα και προπληρωμένα (τι κερδίζω;) +- Το Linux είναι για power users, εγώ θέλω να μην ταλαιπωρηθώ για απλές δουλειές. +- Πως θα διαβάζω τα .doc; +- Αν δεν υπήρχαν τα Windows δεν θα ήξερε ο κόσμος πληροφορική. +- Στατιστικά, ρυθμών ανάπτυξης της MS, benchmarks. + +### [2.2 \...των χρηστών Linux]{#ss2.2} + +Από την άλλη μεριά, οι χρήστες Linux έχουν να λένε: + +- Σταθερότητα του Linux. +- Δωρεάν κώδικας και λογισμικό. +- δυνατότητα τροποποίησης. +- Μόνο στο Linux βρίσκω τα εργαλεία που χρειάζομαι για την δουλειά μου. +- Linux=μαγκιά, Windows=αρτηριοσκλήρωση. +- Πριν βγουν τα Windows υπήρχε το Internet, οι εκτυπώσεις βιβλίων, το Desktop Publishing, η επεξεργασία εικόνας, τα γραφικά, το GUI. Τι ακριβώς λοιπόν + προσέφεραν; +- Αν δεν υπήρχαν τα Windows ο κόσμος θα ήξερε Πληροφορική. +- Χιλιάδες στατιστικά, ρυθμών ανάπτυξης του Linux, benchmarks + +### [2.3 Προσωπικά]{#ss2.3} + +Ως Linuxας φυσικά και θέλω στο τέλος του \"ματς\" το Linux να έχει κερδίσει τις εντυπώσεις. Δεν θέλω όμως να δώσω την μάχη με τεχνικά, οικονομικά και ιστορικά +στοιχεία. (Εδώ που τα λέμε, ουσιαστικά δεν υφίσταται καν μάχη). + +Κατ\' εμέ, τέτοιες συζητήσεις θα πρέπει να έχουν εντελώς **άλλο προσανατολισμό**. Κάθε προϊόν που έχει την διάδοση των Windows (τολμώ να πω και του Linux) δεν +μπορεί να εξετάζεται στενά με κριτήρια τύπου \"εγώ κάνω αυτό, μου προσφέρει εκείνο, δεν μπορώ να κάνω το άλλο\" και μόνο, αλλά ευρύτερα με βάση το γενικότερο +κοινωνικό καλό. (Υποστηρίζουμε πως η Πληροφορική είναι η νέα επανάσταση που επηρεάζει κοινωνικοοικονομικά τον κόσμο όλο, έτσι;;). + +Σε τέτοια πλαίσια κανείς δεν μπορεί να αρνηθεί μερικά προφανή πράγματα\... + + +### [3. Γενικές παραδοχές]{#s3} + +Ναι, υπάρχουν μερικά προφανή πράγματα, που κανένας δεν μπορεί να τα αρνηθεί + +### [3.1 Νέο μοντέλο συνεργασίας.]{#ss3.1} + +Η μοναδικότητα του Linux (και όχι μόνο αυτού, γιατί όπως μονοπωλεί τις συζητήσεις, τείνει να πνίξει άλλες υπέροχες προσπάθειες και λειτουργικά) έγκειται στο +ριζικά επαναστατικό τρόπο συνεργασίας, σχεδιασμού, ανάπτυξης, διόρθωσης, διανομής λογισμικού που έχει εδραιώσει. Δεν έχει να κάνει με το αν το προϊόν είναι +καλό. Στην παρούσα φάση μπορεί να είναι χειρότερο ή και καλύτερο από άλλα υπάρχοντα. Το μόνο σίγουρο όμως είναι πως με την εμπλοκή και άλλων ατόμων σε επίπεδο +χρήστη ή κωδικογράφου ή tester μόνο να βελτιωθεί μπορεί. + +Χρησιμοποιώντας Linux είτε ως hobby είτε επαγγελματικά συμμετέχετε έστω και εν αγνοία σας σε μια ζωντανή κοινότητα. Ακόμα και να μην μιλήσετε ποτέ με αυτούς +τους ανθρώπους και να μην τους βοηθήσετε συνειδητά, και πάλι συμμετέχετε. + +Ίσως κάποιο ποσό από τη διανομή που αγοράσατε να μεταγγίζεται ως δωρεά σε ένα από τα projects της κοινότητας. Ίσως αν απλά κατεβάσατε το CD από το δίκτυο, το +μποτιλιάρισμα στις γραμμές που διαθέτουν να τους κάνει να βρουν πιο γρήγορους τρόπους να το προσφέρουν. Ίσως να ρωτήσατε μια απορία σε μια λίστα και να πήραν +κουράγιο πως προσφέρουν όντως βοήθεια ή να αποθαρρύνθηκαν μια που τσακωθήκατε. Πάντως ο ρόλος σας δεν είναι εντελώς ουδέτερος. + +Στην αντίθετη περίπτωση, η κοινωνική σας συνεισφορά είναι για όλους παντελώς ανύπαρκτη. Το αν είσαστε πελάτης του μεν ή του δε καταστήματος δεν αφορά κανέναν +άλλον εκτός από εσάς. + +'λλο το να μετέχεις ενεργά σε μια ερασιτεχνική ομάδα ποδοσφαίρου (ακόμα και στην χειρότερη που υπάρχει), να παίζεις μπάλα στο γήπεδο, να κάνεις δωρεές για να +επιβιώσει, να διαθέτεις τα απογεύματά σου κάνοντας τον εμπειροτέχνη προπονητή της και άλλο να είσαι απλά ένα εισιτήριο διαρκείας της μεγάλης κερδοσκοπικής +εταιρείας Μάντσεστερ. Αυτό δεν έχει καμμία κοινωνική προσφορά. Και να έφτασε κάποιος να θεωρεί σκοπό της ζωής του το να υποστηρίζει έναν κερδοσκοπικό οργανισμό +με πάθος αγγίζει τα όρια της αρρώστιας. + +**Κοινωνία εναντίον Εταιρείας λοιπόν 1-0.** + +### [3.2 Ισα δικαιώματα και ευκαιρίες]{#ss3.2} + +**\"Η πληροφορία είναι δύναμη\", \"γνώση προσιτή σε όλους\", \"ίσες ευκαιρίες στην μόρφωση, στην εκπαίδευση\"**. Όλα αυτά τα κλισέ πραγματάκια που κατά καιρούς +πίστεψαν μερικοί, και ίσως να θυσίασαν πολλά για να τα διασφαλίσουν. + +Το Linux είναι **ακριβώς αυτό**. Κάθε τι που γράφετε και βγαίνει σε μορφή **GPL** πλέον ανήκει σε όλους. Κάθε αλγόριθμος που επινοήθηκε που κατασκευάστηκε και +που ελευθερώθηκε ως δώρο στην κοινωνία της Πληροφορικής είναι ελεύθερο αγαθό για πάντα. Να το αλλάξουν, να το διαβάσουν, να το πουλήσουν, να το χαρίσουν, να +χτίσουν πάνω του. + +Δεν νομίζω ότι κανείς ενδιαφέρεται τώρα πια για το αν πληρώθηκε ο **Πυθαγόρας** ή ο **Ομηρος** ή ο **Μπαχ** για την δουλειά του. Αυτό που μετράει είναι ότι τώρα +**η δουλειά τους υπάρχει για όλους ανεξαιρέτως**. Οχι μόνο για τα μέλη κάποιου prive club. + +Δεν μπορεί κάποιος να έχει το δικαίωμα χρήσης του Θεωρήματος του Πυθαγόρα, σε προνομιακή φοιτητική τιμή, ή για δέκα θέσεις εργασίας και ο διπλανός του να +απαγορεύεται να το χρησιμοποιεί. Είναι τρομακτικό κόστος για την κοινωνία να περιμένει έναν ακόμα Μπαχ, για να ξαναεφεύρει παραπλήσια πράγματα σε άλλη τιμή, με +άλλη συσκευασία. + +Θα μου πείτε τι άλλη λύση υπάρχει; Πλέον η έρευνα απαιτεί δαπάνη κεφαλαίων που δεν μπορεί κανείς πελάτης να επωμιστεί μεμονωμένα. Γιαυτό και το χαράτσι ανά +κεφάλι, ανά μήνα, ανά upgrade, ανά ηλικία, ανά προϊόν. + +Ευτυχώς πολύς κόσμος έχει επιχειρήματα για το ακριβώς αντίθετο. + +Πρώτον η ύπαρξη του **δωρεάν free λογισμικού** (που τις περισσότερες φορές είναι ποιοτικά τουλάχιστον συγκρίσιμο) αποδεικνύει πως το κόστος δεν είναι και τόσο +μεγάλο. Δεύτερον, κανείς δεν είπε να μην πληρωθεί κάποιος για την δουλειά του. + +**Σενάριο 1:** η πρώτη ομάδα πελατών που και πραγματικά χρειάζεται το προϊόν επωμίζεται πλήρως το κόστος. Μετά το πέρας κάποιου διαστήματος (ώστε και οι πελάτες +να κάνουν με την σειρά τους την απόσβεσή τους) ο κώδικας απελευθερώνεται και γίνεται κτήμα όλων. + +**Σενάριο 2:** Το κόστος μοιράζεται σε όλους **από την αρχή, εφάπαξ**. Οργανωμένα, μέσω sites χρηματοδότησης ανάπτυξης λογισμικού το κόστος αναλαμβάνει η +κοινότητα. Οι developers πληρώνονται ακριβώς όσο κοστολόγησαν την δουλειά τους, και αυτή είναι πλέον διαθέσιμη σε όλους. + +Οικονομία δυνάμεων λοιπόν, μυαλών, κεφαλαίων, αποδέσμευση από απίστευτους περιοριστικούς όρους, ίσες ευκαιρίες και έχουμε ένα εύκολο **Κοινωνία εναντίον +Εταιρείας 2-0 στον αιφνιδιασμό.** + +### [3.3 Μονοπώλια stop]{#ss3.3} + +Οι μονοπωλιακές καταστάσεις είναι επιβλαβείς για την οικονομία και την κοινωνία. Η εξήγηση είναι προφανής για τον αναγνώστη μας\... + +Η προστασία μας είναι και κρατικό ζήτημα (αν το Χ κράτος το αποφασίσει και μπορεί να το επιβάλλει σε εύλογο διάστημα). Καλό θα ήταν όμως να υπάρχουν και άλλες +εναλλακτικές ασφαλιστικές δικλείδες. Δεν πρέπει ο κόσμος να εξαρτάται αποκλειστικά από το αν κάποιος δικαστής υποχρεώσει (λίγο πριν τις καλοκαιρινές του +διακοπές) κάποια εταιρεία να διχοτομηθεί και να αναρτήσει άλλη ταμπέλα, αριστερά και δεξιά μιας νοητής διαχωριστικής γραμμής εντός του κτηρίου της. + +Με το Linux πλέον φαίνεται πως o κίνδυνος μονοπώλιου ελαχιστοποιείται. Όποιος θέλει μπορεί πάντα να έχει πρόσβαση σε ένα λειτουργικό σύστημα και κάποιες +εφαρμογές. Μπορεί πάντα να διαβάσει και να μάθει από τον κώδικα του πως είναι αυτά τα λειτουργικά. Δεν είναι κάποιο κρυφό μαγικό φίλτρο του Φύλαρχου του χωριού. + +**Κοινωνία εναντίον Εταιρείας 3-0 με καταπληκτικό ψαλιδάκι.** + +### [3.4 Η κλοπή είναι κακό πράγμα]{#ss3.4} + +Συνήθως αυτό υποστηρίζουν τα έννομα κράτη. Το δικαστήριο, οι νομοθετικές αρχές και οι αστυνομικές αρχές δαπανούν πολύ από το χρόνο και τους πόρους τους πάνω σε +αυτήν την κατεύθυνση. + +Η χώρα μας έχει ακόμα μια θλιβερή επίδοση στη διάδοση του παράνομου λογισμικού (νομίζω έρχεται πρώτη σε Ευρωπαϊκό επίπεδο). Η BSA είναι ένας οργανισμός που δρα +υποβοηθητικά στην πάταξη της κλοπής προϊόντων λογισμικού. Σε συνεργασία με τις εισαγγελικές αρχές προσπαθεί να προασπίσει τα συμφέροντά των μελών και πελατών +της (η **MS** όπως και πολλές άλλες εταιρείες λογισμικού είναι τέτοιοι). + +Το παράδοξο εδώ είναι το εξής. Ενώ σε οποιαδήποτε περίπτωση στην οποία ήσασταν μάρτυρας μιας κλοπής αυτοκινήτου το πιθανότερο είναι να τηλεφωνούσατε στην +αστυνομία και να το αναφέρατε, στην κλοπή λογισμικού αλλάζουν ως δια μαγείας οι παράμετροι. Ακόμα και με την αμοιβή -σύλληψης μέσω επώνυμης καταγγελίας- της BSA +(1 εκατ. δρχ, η περιβόητη ολοσέλιδη διαφήμιση στο ΒΗΜΑ) δεν φαίνεται τόσο αυτονόητο και δελεαστικό να καταδείξει κανείς τον κλέφτη. + +Αλλά και να τον καταδείξει, αν οι αριθμοί που ικάζονται για το κλεψίτυπο λογισμικό είναι σωστοί τι θα γίνει; + +Θα γίνονται αθρόες έρευνες με εισαγγελική παρουσία και προσαγωγές ανήλικων, μαθητών, φοιτητών, οικογενειαρχών, δασκάλων, παπάδων, γιατρών; Θα δημιουργηθεί μια +νέα τάξη δισεκατομμυριούχων επαγγελματιών καταδοτών επί αμοιβή; Δύσκολο\...προσωπικά πιστεύω πως το όπλο αυτό ενεργοποιείται εκλεκτικά κατά μεγαλοπελατών ως +**μέτρο εκφοβισμού και παραδειγματισμού στις μάζες**. Έχουμε λοιπόν το παράδοξο της εταιρείας που (δικαιωματικά ομολογουμένως) τρομοκρατεί εχθρούς/κλέφτες ώστε +να γίνουν μελλοντικοί φίλοι/πελάτες. + +Υπάρχει φαντάζομαι μια εύκολη δικαιολογία πάνω στην κλοπή εμπορικού λογισμικού που πολλοί ήδη έχουν χρησιμοποιήσει σε αντίστοιχες συζητήσεις. \"Το χρειαζόμουν +αλλά τόσο που το χρεώνουν σιγά μην το αγοράσω, άλλωστε δεν στοιχίζει τίποτα η αντιγραφή ενός CD, άυλο και ανέξοδο είναι, δεν είναι πως έκλεψα και κάτι που +κοστίζει πραγματικά λεφτά\". + +Είναι τόσο βαθιά ανήθικη, ανώριμη και διαβρωτική αυτή η δήλωση που είναι τρομακτική. + +**Πρώτον**, αν χρειάζεσαι κάτι το πληρώνεις. Αλλιώς δεν μπορείς να το έχεις (όπως και πολλά άλλα πράγματα στην ζωή). Δεν τίθεται εδώ θέμα πραγματικής απειλής +της ίδιας της ύπαρξης του ανθρώπου (όπως είναι η κλοπή φαγητού για να μην λοιμοκτονήσει). Αν θέλει κάποιος να σταδιοδρομήσει επαγγελματικά σε ένα χώρο που ο +απαραίτητος εξοπλισμός είναι πέραν δυνατοτήτων, έχει κάνει λάθος εκτίμηση. Ας αλλάξει δουλειά. + +**Δεύτερον**, πολλές φορές υπάρχει **δωρεάν εναλλακτική λύση**. Ίσως και χειρότερη. Αλλά που δεν οδηγεί στην κλοπή. + +**Τρίτον**, το πόσο κοστίζει κάτι **δεν καθορίζεται από το πόσα λεφτά θα ήθελε κάποιος να διαθέσει, αλλά για πόσα το αποχωρίζεται ο παραγωγός του**. Από την +στιγμή που δεν εισέπραξε τα λεφτά του έχει ζημίες και διαφυγόντα κέρδη και τα δικαιούται. + +**Τέταρτον**, τι περιθώρια επιβίωσης αφήνει η κλοπή λογισμικού και μάλιστα πολυσύνθετου (όπως ένα λειτουργικό) στον προγραμματιστή/συγγραφέα ενός προγράμματος +ΠΡΟΠΟ σε C; Ποιός θα αγοράσει 100 χιλ. δρχ το προγραμματάκι αυτό, όταν δεν δίστασε να κλέψει 500Mbyte λογισμικού Πολυεθνικών Εταιριών αξίας 3 εκατ. δρχ; Γιατί +να μην το κλέψει επίσης; + +Δεν χρειάζεται να πω πάλι πως από κοινωνικής πλευράς το Linux δρα εξυγιαντικά, χαρίζοντας στον κόσμο την δυνατότητα να μείνει εκτός φυλακής, χωρίς την ρετσινιά +του κλέφτη και τελικά με τα λεφτά του στην δική του και μόνο τσέπη. + +Καταπληκτικό σουτ-γκολ από την σέντρα και **Κοινωνία εναντίον Εταιρείας 4 - 0** + +### [3.5 Λήξη χρόνου]{#ss3.5} + +Κάπου εδώ πρέπει να σφυρίξουμε και την λήξη αυτού του ματς. Αναπληρωματικοί παίκτες όπως \"Διαρροή συναλλάγματος\", \"Διαφάνεια, Ασφάλεια, Κρατικά Συμφέροντα\", +\"Μελλοντική σιγουριά κάλυψης αναγκών ζωτικής σημασίας για μικρά κράτη (γλώσσα, ελληνικοποιήσεις, παιδεία)\" δεν χρειάστηκε καν να μπουν στον αγώνα. + +Θυμίζω πως δεν υπάρχει λόγος να γίνει κάποιος φίλαθλος, οπαδός, και πόσο μάλλον παίχτης. Αλλά αν, στο καφενείο, πρέπει να έχει έναν λόγο να τσακώνεται με +κάποιους άλλους, να εκτονώνεται, να περνάει ευχάριστα η ώρα, ας το κάνει. Απλά ας διαλέξει τους σωστούς λόγους να δώσει την μάχη και ας πάει με την ομάδα που, diff --git a/content/articles/28/05_passwd.md b/content/articles/28/05_passwd.md new file mode 100644 index 0000000..9f87197 --- /dev/null +++ b/content/articles/28/05_passwd.md @@ -0,0 +1,198 @@ ++++ +title = 'Password encoding in UNIX systems' +date = '2000-11-01T00:00:00Z' +description = '' +author = 'Νίκος Μαυρογιαννόπουλος' +issue = ['Magaz 28'] +issue_weight = 5 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Password encoding σε UNIX συστήματα, τι είναι, τι εναλλακτικές λύσεις έχουμε, και άλλες πληροφορίες.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Τι είναι το Password encoding;** +-------------------------------------------------------------- + +**2. DES Password Encoding** +----------------------------------------------------- + +**3. MD5 crypt** +----------------------------------------- + +**4. Blowfish crypt (bcrypt)** +------------------------------------------------------- + +**5. Cracking Passwords** +-------------------------------------------------- + +**6. Συμπεράσματα και γεγονότα** +--------------------------------------------------------- + +**7. Παραπομπές** +------------------------------------------ + + +### [1. Τι είναι το Password encoding;]{#s1} + +Τα UNIX συστήματα μιας και είναι πολυχρηστικά, χρειάζονται κάποιο τρόπο για να ξεχωρίζουν τους χρήστες. Ο κάθε χρήστης διαθέτει ένα μοναδικό αριθμό (user id), +το οποίο αντιστοιχεί σε κάποιο όνομα χρήστη (username). Οι παραπάνω αντιστοιχίες καθορίζονται στο αρχείο \"/etc/passwd\", ονομασμένο έτσι για ιστορικούς λόγους. +Μια καταχώριση στο αρχείο αυτό θα μπορούσε να είναι: + + nmav:x:500:4:Nikos Mavroyanopoulos:/home/nmav:/bin/bash + +\ +Τα πεδία σε αυτό το αρχείο ξεχωρίζουν απο την ανω-κάτω τελεία \':\', ενώ τα πεδία που μας ενδιαφέρουν είναι το 1 που περιέχει το όνομα χρήστη - nmav - καθώς και +το πεδίο 3 όπου αναφέρεται η ταυτότητα του χρήστη - 500. + +Τα περισσότερα UNIX σύστηματα, για να πιστοποιήσουν την ταυτότητα του χρήστη χρησιμοποιούν συνθηματικές λέξεις, ή απλώς συνθηματικά (passwords). Αυτά τα +συνθηματικά αλλάζουν με την εκτέλεση του \"/usr/bin/passwd\" προγράμματος, το οποίο ανανεώνει τη βάση συνθηματικών του συστήματος. Σε απλά συστήματα αυτή η βάση +είναι ένα εκτυπώσιμο αρχείο, και στα περισσότερα παλαιά συστήματα αυτό ήταν το ίδιο το \"/etc/passwd\". Στα πιο νέα συστήματα είναι ένα αρχείο αναγνώσιμο μόνο +απο τον διαχειριστή του συστήματος, και συνήθως είναι το \"/etc/shadow\". + +Αντίθετα με αυτό που θα περίμενε κανείς, η βάση συνθηματικών του συστήματος δεν περιέχει τα ίδια τα συνθηματικά. Τα συνθηματικά κωδικοποιούνται μέσω ενός +αλγορίθμου μίας φοράς ( [1](05_passwd-7.html#1)) και αποθηκεύονται. Με αυτόν τον τρόπο δεν μπορεί ούτε ο διαχειριστής του συστήματος να δει τα συνθηματικά των +χρηστών (μπορεί όμως να τα αλλάξει). Μιας και τα συνθηματικά δεν υπάρχουν στην βάση ίσως να αναρωτηθήτε πως γίνεται η πιστοποίηση του χρήστη. Αν υποθέσουμε ότι +ο αλγόριθμος μίας φοράς είναι PW(x), με x να είναι το συνθηματικό, τότε κατά την εισαγωγή του συνθηματικού(x) το σύστημα αρκεί να υπολογίσει πάλι το PW(x) και +να το συγκρίνει με το αποθηκευμένο στην βάση. + + +### [2. DES Password Encoding]{#s2} + +Τα πρώτα UNIX συστήματα κωδικοποιούσαν τα συνθηματικά χρησιμοποιώντας ένα τροποποιημένο DES αλγόριθμο, με τετοιο τρόπο έτσι ώστε να μην μπορεί απο την +κωδικοποιημενη μορφή να προκύψει το αρχίκο συνθηματικό. Ο μόνος τρόπος για να προκύψει το αρχικό συνθηματικό είναι η δοκιμή όλων των δυνατών συνδιασμών +συνθηματικών (η διαδικασία αυτή συχνά καλείται brute force attack). Αυτό το είδος επίθεσης, ενώ αρχικά ήταν πρακτικά αδύνατο να εφαρμοστεί, τα τελευταία χρόνια, +με την πρόοδο των υπολογιστών, μπορεί να εφαρμοστεί χωρίς ιδιαίτερα ακριβό εξοπλισμό. Ενα τυπικό UNIX έχει καταχώρισεις στο \"/etc/shadow\" της μορφής: + + nmav:ZKZ/wHem5Uv:11000:0:99999:7::: + +\ +Το δευτερο πεδίο περιέχει μια εκτυπώσιμη μορφή του DES encoded συνθηματικού. Τα δύο πρώτα του ψηφία είναι η εκτυπώσιμη μορφή ενός τυχαίου salt που αποτελείται +απο 12 bits ( [2](05_passwd-7.html#2)). Χρησιμοποιείται ώστε να διαφοροποιεί την έξοδο του αλγορίθμου, ακόμα και σε ίδια συνθηματικά. Ενα συνθηματικό μπορεί να +αποθηκευτεί με 212 τρόπους το πολύ. + +Ο αλγόριθμος DES (Data Encryption Standard) είναι κρυπτογραφικός αλγόριθμος που λειτουργεί με 64 bit μπλοκ. Ήταν πρότυπο τις δεκαετίες του \'70 και \'80, αλλά +είναι ξεπερασμένος σήμερα. Ο τρόπος με το οποίο χρησιμοποιείται είναι: + +- εκκίνηση του DES +- Μετατροπή του Expansion Permutation συναρτήσει του salt +- Κρυπτογράφηση για 25 φορές 8 null bytes χρησιμοποιώντας σαν κλειδί το συνθηματικό του χρήστη +- Το τελικό αποτέλεσμα είναι η εκτυπώσιμη μορφή των κρυπτογραφημένων 64 bit μαζί με τα 12 bit του salt. + +Ο παραπάνω αλγόριθμος είναι ουσιαστικά αλγόριθμος μιας φοράς, αφού δεν υπάρχει τρόπος αντιστροφής της διαδικασίας και εξαγωγής του συνθηματικού απο την +κωδικοποιημένη μορφή, χωρίς να δοκιμάσουμε όλους τους δυνατούς συνδυασμούς. Έχει το λιγότερο, την ασφάλεια του DES, αλγόριθμου δοκιμασμένου για αρκετά χρόνια. +Ένας περιορισμός που έχει είναι ότι τα συνθηματικά περιορίζονται στους 8 χαρακτήρες από τους οποίους χρησιμοποιούνται τα 56 bits (λόγω του μικρού ευρους +κλειδιών του DES). + +Μιας και τα E-boxes του DES είναι σταθερά ανά salt, είναι δυνατό με κάποιο δυνατό υπολογιστή να δοκιμάσουμε όλα τα πιθανά συνθηματικά σε λογικό χρόνο. Ο DES +όπως είδαμε χρησιμοποιεί μόνο 56 bits για κλειδί οπότε όλοι οι πιθανοί συνδιασμοί που πρέπει να δοκιμάσει κανείς είναι 256, αριθμός οχι υπερβολικά μεγάλoς. + +Έτσι ενώ αρχικά τα κωδικοποιημένα συνθηματικά αποθηκεύονταν στο \"/etc/passwd\", αρχείο αναγνώσιμο απο όλους τους χρήστες του συστήματος, τα τελευταία χρόνια +μεταφέρθηκαν σε ειδικό αρχείο αναγνώσιμο απο τον διαχειριστή μόνο του συστήματος. Αυτό η κίνηση φανέρωσε την αδυναμία του αλγορίθμου κωδικοποίησης να +προστατέψει αποτελεσματικά τα συνθηματικά των χρηστών. + + +### [3. MD5 crypt]{#s3} + +Λύση στο παραπάνω πρόβλημα και στο ότι ο DES είναι κρυπτογραφικός αλγόριθμος και υπήρχε παλαιότερα δυσκολία εξαγωγής του από τις Η.Π.Α, κυρίως για τα μη +εμπορικά UNIX λειτουργικά, έδωσε ο Paul-Henning Kamp για το FreeBSD λειτουργικό. Σχεδιάσε ένα αλγόριθμο κωδικοποίησης συνθηματικών βασισμένο στον MD5 ( +[3](05_passwd-7.html#3)) hash αλγόριθμο. Ο MD5 είναι απο τον σχεδιασμό του μίας φοράς (one-way), οπότε οι μετατροπές σε αυτόν ήταν μικρές, ενώ προστέθηκε salt +απο 12 μέχρι 48 bits. + +Ο αλγορίθμος αυτός σε γενικές γραμμές κωδικοποιεί το salt και το συνθηματικό, με τον MD5, με αρκετούς διαφορετικούς τρόπους, έτσι ώστε να καθυστερήσει την +διαδικασία. Ο MD5 αλγόριθμος παράγει ένα 128 bit hash και αφού μετατραπεί σε εκτυπώσιμη μορφή μαζί με το salt αποθηκεύεται στο αρχείο συνθηματικών. Ενα τυπικό +σύστημα με MD5 κωδικοποιημένα συνθηματικά θα έχει καταχωρίσεις στο /etc/shadow της μορφής: + + nmav:$1$4Wcrq7pj$l8uWovJXI1QBP6MXRrWdt0:11000:0:99999:7::: + +\ +Οι χαρακτήρες \'\$1\$\' καθορίζουν τον συγκεκριμένο αλγόριθμο που χρησιμοποιείται (versioning) και μιας και η DES κωδικοποίηση δεν χρησιμοποιεί τον χαρακτήρα +\'\$\', δεν είναι πρόβλημα για ένα πρόγραμμα να τα διακρίνει. Το salt ξεχωρίζει απο την έξοδο του MD5 με τον χαρακτήρα \'\$\'. + +O MD5 δεν έθετε πρακτικούς περιορισμούς στο μέγεθος του συνθηματικού του χρήστη. Είχε όμως το πρόβλημα του DES encoding\... έχει συγκεκριμένη πολυπλοκότητα και +κάποια στιγμή στο μέλλον θα ήταν εφικτή η brute force attack και σε αυτόν, άρα θα έπρεπε να αντικατασταθεί και πάλι. + + +### [4. Blowfish crypt (bcrypt)]{#s4} + +Την λύση σε αυτή την αδυναμία δίνει ένας αλγόριθμος σχεδιασμένος απο τον Niels Provos και τον David Mazieres για το OpenBSD σύστημα. Ο αλγόριθμος αυτός είναι +βασισμένος στον blowfish ( [4](05_passwd-7.html#4)) αλγόριθμο, με εκθετικά μεταβαλλόμενη πολυπλοκότητα O (2n), και το n καθορίζεται απο τον διαχειριστή του +συστήματος. Ο τροποποιημένος αλγόριθμος καλείται eksblowfish, ή πιο αναλυτικά Expensive Key Schedule Blowfish. + +Η επιλογή του blowfish έγινε λόγω του ότι διαθέτει s-boxes εξαρτώμενα από το κλειδί, και συνεπώς έχει πολύ μεγαλύτερη πολυπλοκότητα, κατά την εκκίνηση του, από +τον DES αλγόριθμο. Επιπρόσθετα έχει πολύ μεγαλύτερο εύρος κλειδιών (448 bits), κάτι που δεν θέτει πρακτικούς περιορισμούς στο μέγεθος των συνθηματικών (55 +bytes). + +Ο eksblowfish χρησιμοποιεί μια τροποποιημένη μορφή της δημιουργίας των s-boxes του αλγορίθμου, και ένα 128 bits salt. Σε γενικές γραμμές η λειτουργία του +αλγορίθμου συνοψίζεται στο: + +- Εκκίνηση του Blowfish (δημιουργία των s-boxes) +- Από 1 μέχρι 2n τροποποίηση των s-boxes και των sub-keys συναρτήσει του salt και συναρτήσει του κλειδιού +- Κρυπτογράφιση 64 φορές, μιας αλυσίδας χαρακτήρων (192 bits) με το κλειδί + +Το κωδικοποιημένο string είναι η εκτυπώσιμη μορφή του salt και της εξόδου του αλγορίθμου. Ενα σύστημα με Bcrypt κωδικοποιημένα συνθηματικά θα έχει καταχωρίσεις +στο /etc/shadow της μορφής:\ + + nmav:$2a$05$abcdefghijklmnopqrstuu5s2v8.iXieOjg/.AySBTTZIIVFJeBui:11000:0:99999:7::: + +\ +Οπως παρατηρούμε και αυτός ο αλγόριθμος χρησιμοποιεί τους πρώτους χαρακτήρες (\'\$2a\$\'), του κωδικοποιημένου συνθηματικού για να δείξει την έκδοση του +αλγορίθμου, ενώ πάλι ο χαρακτήρας \'\$\' χρησιμοποιείται σαν σημείο διαχωρισμού πεδίων. Το πρώτο πεδίο όπως είδαμε περιέχει την έκδοση του αλγορίθμου, το +δεύτερο το μέγεθος του κόστους(n), ενώ το τρίτο περιέχει το 128 bits salt και το κωδικοποιημένο συνθηματικό. + +Μια πρόχειρη υλοποίηση του bcrypt, καθώς και ένα patch για το Linux pam\_unix module, βρίσκεται στο . Στο +, μπορούν να βρεθούν περισσότερες πληροφορορίες για τον αλγόριθμο, καθώς και η αρχική υλοποίηση του. + + +### [5. Cracking Passwords]{#s5} + +Η αδυναμία του DES encoding, να προσαρμοστεί στον χρόνο και στην συνεχώς αυξανόμενη υπολογιστική δύναμη, προκάλεσε την δημιουργία προγραμμάτων που προσπαθούσαν +απο την κωδικοποιημένη μορφη να παράξουν το συνθηματικό σε σχετικά μικρό χρόνο. Τα προγράμματα αυτά ονομάστηκαν password crackers, και βασίζοντουσαν στην χαλαρή +επιλογή συνθηματικών απο τους χρήστες, αλλά καθώς το υλικό βελτιωνώταν, το «σπάσιμο» ενός όχι πολυ σύνθετου συνθηματικού έγινε εφικτό. Αρχικά βασίζονταν κυρίως +σε κάποιο λεξικό που κρατάει συνθηματικά που επιλέγαν πιο συχνά οι χρήστες (dictionary attack). Πιο τελευταία προγράμματα χρησιμοποιούν αρκετά πιο εξελιγμένες +τεχνικές. + +Μερικά προγράμματα είναι: + +- John the Ripper του \"Solar Designer\" +- QCrack του \"Crypt Keeper\" +- Crack του Alec Muffett + +Μια ενδιαφέρουσα ερευνα για τις cracking εφαρμογές και την αποδοσή τους έγινε από τον Kurt Hockenbury και μπορεί να βρεθεί στο +. Στο κείμενο αυτό παρουσιάζεται η αναποτελεσματικότητα του DES σε συνθηματικά με λιγότερους απο 6 +χαρακτήρες και σε ορισμένες μορφές συνθηματικών με 8 χαρακτήρες, ενώ το hardware που χρησιμοποιήθηκε είναι εύκολα προσβάσιμο απο οποιονδήποτε φοιτητή στο +πανεπιστήμιο του. + + +### [6. Συμπεράσματα και γεγονότα]{#s6} + +Γενικά οι περισσότεροι διανομείς και εταιρίες παραγωγής UNIX χρησιμοποιούν ακόμα την DES κωδικοποίηση, αν και ξεπερασμένη, για λόγους συμβατότητας. Αυτοί οι +λόγοι συνήθως προκύπτουν όταν διαφορετικά συστήματα διαμοιράζονται αρχεία συνθηματικών πχ. με NIS ή NIS+. Ακόμα χειρότερα, μερικές εταιρίες ακόμη χρησιμοποιούν +την παλιά μορφή του \"/etc/passwd\", που περιέχει το κωδικοποιημένο συνθηματικό. + +Η \'bcrypt\' κωδικοποίηση δεν χρησιμοποιείται, μέχρι σήμερα, σε άλλα λειτουργικά πέρα απο το OpenBSD, κυρίως επειδή χρησιμοποιεί κρυπτογραφικό αλγόριθμο με +μεγάλο εύρος κλειδιών, οπότε και η εξαγωγή απο τις Η.Π.Α (στις οποίες έχουν την έδρα τους οι περισσότερες επιχειρήσεις) δεν ήταν μέχρι πρόσφατα, νόμιμη. +Ορισμένα συστήματα, όπως το QNX ( [5](05_passwd-7.html#5)), επέλεξαν διαφορετικούς τρόπους αποθήκευσης των συνθηματικών, αλλά απέτυχαν στον σχεδιασμό των +αλγορίθμων τους. Περισσότερες πληροφορίες για την συγκεκριμένη αδυναμία του αλγορίθμου θα βρείτε στο . + +Βέβαια δεν αρκεί ένας καλός αλγόριθμος κωδικοποίησης για να είναι ασφαλής ένας λογαριασμός. Ο χρήστης έχει σημαντικό ρόλο στην ασφάλεια του λογαριασμού του και +αυτό γιατί η επιλογή του συνθηματικού ανήκει σε αυτόν. Οσο μεγάλο και να είναι το salt, όσο καλός και να είναι ο αλγόριθμος, αν το συνθηματικό είναι \'12345\' +είναι ζητημα δευτερολέπτων να βρεθεί. Για την αποφυγή ευκολων συνθηματικών από τους χρήστες η shadow μορφή των συνθηματικών, καθώς και η πιστοποίηση με PAM +(Plugable Authentication Modules), επιτρέπουν στον διαχειριστή του συστήματος να θέσει μέγιστο χρόνο ζωής ενός συνθηματικού, επιτρεπόμενο χρόνο αλλαγής ενός +συνθηματικού, λήξη λογαριασμών κλπ, κάτι που επιβάλεται σε ένα σύστημα που προορίζεται για ασφαλές. Επίσης υπάρχει η CrackLib του Alec Muffett, που μπορεί να +χρησιμοποιηθεί απο το πρόγραμμα αλλαγής συνθηματικών, για να απορρίπτει τα πολύ εύκολα από αυτά. + + +### [7. Παραπομπές]{#s7} + +[]{#1} φοράς: Έστω y=A(x). Σε ένα αλγόριθμο μιας φοράς(A) αν γνωρίζουμε το y, είναι δύσκολο να υπολογίσουμε το x. + +[]{#2} bits: 8 bit == 1 byte + +[]{#3} MD5: Ο MD5 (ή Message Digest 5) είναι Αλγόριθμος που παράγει ένα 128 bits χαρακτηριστικό αριθμό για κάθε μηνύμα. Σχεδιαστηκε απο τον Ron Rivest και +περιγράφεται στο RFC1321 + +[]{#4} blowfish: κρυπτογραφικός συμμετρικός αλγόριθμος σχεδιασμένος από τον Bruce Schneier []{#5} QNX: Real-time λειτουργικό σύστημα + diff --git a/content/articles/29/01_editorial.md b/content/articles/29/01_editorial.md new file mode 100644 index 0000000..0ceaaf9 --- /dev/null +++ b/content/articles/29/01_editorial.md @@ -0,0 +1,60 @@ ++++ +title = 'Editorial' +date = '2000-12-01T00:00:00Z' +description = '' +author = 'Βαγγέλης Παπαδογιαννάκης(mailto:papas@hellug.gr)' +issue = ['Magaz 29'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Και καλές γιορτές\...* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Φτάσαμε στο Δεκέμβρη και βροχές δεν έχουμε δει ακόμα\... Μόνο 2-3 πλημμύρες, που ήταν και αναμενόμενες μια και έχουμε κάψει ό,τι καιγεται. Και το χώμα δε +συγκρατεί το νερό και το βουνό δε συγκρατεί το χώμα και γενικώς δε συγκρατείται τίποτα. Μόνο η ψυχραιμία μας, αλλά **μέχρι πότε**; + +Και με αυτήν τη μελαγχολική εισαγωγή, ξεκινάει αυτό το **Editorial**. Ένα Editorial που κανονικά θα έπρεπε να είναι χαρωπό, **Χριστούγεννα πλησιάζουν!**. Και +όλοι μαζεύονται δίπλα στο τζάκι και όλοι είναι κοντά στο **Χριστουγεννιάτικο δέντρο** και όλοι κοιτάνε τις **κάλτσες** που έχουν κρεμάσει στο **τζάκι** +περιμένοντας το δώρο του **'ϊ Βασίλη**. **ΟΧΙ**, κάτι τέτοια γίνονται μόνο στη Αμερική. Εκεί που περιμένουν τα Χριστούγεννα για να βρεθούν όλοι μαζι, εκεί που ο +θεσμός της οικογένειας δεν είναι τόσο δυνατός (γιατί άραγε να υπάρχουν τόσοι άστεγοι;) ασχέτως πώς την παρουσιάζουν τα media και ο κάθε υποψήφιος προεδράρας, +που προς άγραν ψήφων βάζει και τη γυναίκα του δίπλα στο φακό.\ +Δεν έχει σημασία ότι κάτω από το γραφέιο του περιμένει μια \`\`Μόνικα\'\'. + +Μα τι είναι όλα αυτά και τι σχέση έχουν με το Linux και το Magaz ειδικότερα; + +**Καμία\...** + +\`Αντε λοιπόν καλές γιορτές, καλά φαγοπότια, και μην ξεχνάτε ότι έχουν πλέον απαγορευτεί τα κοκορέτσια και τα κεφαλάκια και τα λοιπά εδέσματα. ΧΑ, ας έρθουν +στην Κρήτη να μας το πουν\...\ +(DISCLAIMER: Εγώ δεν τρώω τέτοια, για τους άλλους λέω (γλύψιμο, ο Αρτέμης ε;;;)). + +Ένας τρελός επιστήμονας, ονόματι **Φώτης Γιαννούλας**, που οι φήμες τον τοποθετούν στο **Βόλο**, μου έστειλε ένα email για ένα Project, το **LCP (Linux +Classification Project)**, την κατηγοριοποίηση των HOW-TOs. Χαιρετίζουμε την προσπάθειά του και του υποσχόμαστε (εμείς, οι Παπαδογιαννάκηδες Βαγγέληδες) ότι +έχει μια θέση στο **magaz**, αλλά στο επόμενο τεύχος, γιατί δεν πρόλαβα να τα μεταφράσω σε **SGML**. Το Project είναι σε **Beta** φάση και, απ\' όσο το είδα, +είναι \*ήδη\* σε πολύ καλή κατάσταση.\ +Να σημειώσω εδώ ότι είναι μια πολύ καλή δουλειά και πραγματικά χρειάζεται βοήθεια. Και αν όχι βοήθεια, στήριξη. Σύντομα αυτό το project θα μεγαλώσει πολύ. Η +κοινότητα του linux πραγματικά το είχε ανάγκη.\ +Περισσότερες πληροφορίες από τον ίδιο, στο mail + +Στα άρθρα του magaz τώρα, το τεύχος, αν και θα έπρεπε να είναι εορταστικό, δεν είναι και τόσο, αφου δεν έχει **bonus άρθρο**. Αυτό γιατί δεν προσφέρονται και +τόσοι να γράψουν καμιά γραμμή. Ευτυχώς που ο [Παπακώστας ο Ευρυπίδης](mailto:evris@hellug.gr) μου έχει αφήσει παρακαταθήκη κάτι άρθρα που θα δημοσιεύονταν στο +DILIMA, αλλά τελικά αποφάσισε ότι το **magaz** είναι καλύτερο (γιατί άραγε;). Ευτυχώς που υπάρχει ο [Καμπριάνης ο Μιχάλης](mailto:kabrianis@hellug.gr), και +ξελασπώνει λίγο την κατάσταση\... Φυσικά και θα αναφέρω το μεγάλο μας ευεργέτη, τον [Κώστα Τσακάλογλου](mailto:tsakf@hellug.gr), που ουκ ολίγες φορές μας έχει +ξελασπώσει με την XBASIC. Όσο για εμένα, ε, γράφω κάνα editorial, γράφω και κάνα άλλο άρθρο που πότε - πότε βάζω, ε φτιάχνω και το νέο site του magaz, ε, +αυτά\... + +Με χαρά (και ανησυχία για το τι θα βάλω στο επόμενο τεύχος) λοιπόν σας παραπέμπω στα άρθρα αυτού του μήνα: + +- [XBASIC](04_xbasic.html) και οι συναρτήσεις της, από τον Τσακάλογλου. +- [Hellenic Status](03_hellenic-status.html)από τον Ευρυπίδη Παπακώστα. +- [Bash\...](05_bash.html)από τον Καμπριάνη Μιχάλη +- [Ελληνικοί ISPs](02_erevna.html)από το Βραχνάκη το Γιώργο. Αυτόν τον καλωσορίζουμε ιδιαιτέρως στην παρέα του magaz, μια και κατάγεται από το Linuxοχώρι!\ + Τιιιιιι;;;;; Δεν ξέρετε το linuxοχώρι;;;;;;;;; Ντροπή σας! για πηγαίνετετε [εδώ](http://www.eeea.gr/article.php3?sid=20000607113131) εδώ να διαβάσετε\... + και μετά [εδώ](http://www.eeea.gr/article.php3?sid=20000613081716). Για να θυμούνται οι παλιοί και να μαθαίνουν οι νεότεροι\... + +ΑΑΑΑ, να μην ξεχάσω να αναφέρω ότι δε νομίζω το επόμενο magaz να βγεί νωρίς το Γενάρη του νέου έτους. Αυτό πιστεύω ότι είναι κατανοητό και χωρίς να χρειάζεται +να το εξηγήσω\... + +Καλή ανάγνωση mages και υπομονή, το νέο magaz έρχεται!\ diff --git a/content/articles/29/02_erevna.md b/content/articles/29/02_erevna.md new file mode 100644 index 0000000..901020b --- /dev/null +++ b/content/articles/29/02_erevna.md @@ -0,0 +1,248 @@ ++++ +title = 'Τα Operating Systems Τών Ελληνικών I.S.P\s' +date = '2000-09-01T00:00:00Z' +description = '' +author = 'Γιώργος Βραχνάκης(mailto:gi0rgos@pathfinder.gr)' +issue = ['Magaz 29'] +issue_weight = 2 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Αυτό το άρθρο επιχειρεί μια έρευνα για τους internet service providers της Ελλάδας. Σε καμία περίπτωση δεν είναι πλήρης, και δεν μπορεί να γίνει. Παρόλα αυτά, +μια βασική ιδέα την πέρνουμε για τα τεκταινόμενα του Internet εν Ελλάδι. Όσοι λοιπόν έχετε αναρωτηθεί τι O/S τρέχει ο Internet Provider που έχετε Account τώρα +μπορείτε να μάθετε.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Γενικά περί της έρευνας** +------------------------------------------------------- + +**2. Απαντήσεις** +------------------------------------------ + +- [2.1 HellasNet](#ss2.1) +- [2.2 Otenet](#ss2.2) +- [2.3 SparkNet](#ss2.3) +- [2.4 Panafonet](#ss2.4) +- [2.5 GroovyNet](#ss2.5) + +**3. Οι μη απαντήσαντες\...** +------------------------------------------------------ + +**4. Servers (προγράμματα) στους servers** +------------------------------------------------------------------- + +- [4.1 HTTP](#ss4.1) +- [4.2 MAIL](#ss4.2) +- [4.3 NEWS](#ss4.3) + +**5. Αναλύσεις\...** +--------------------------------------------- + +**6. Ευχαριστίες.** +-------------------------------------------- + + +### [1. Γενικά περί της έρευνας]{#s1} + +Οι αναφορές γίνονται σε κάθε Internet Provider και τι λειτουργικό σύστημα τρέχουν oι διάφοροι Servers του (web, ftp, dial up, etc) + +Σε όλους είχε σταλεί το παρακάτω email: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Κύριε/Κυρία, + Τους θερμούς χαιρετισμούς μου, και μπαίνω κατευθείαν στο θέμα. + Ονομάζομαι Παπαδογιαννάκης Ευάγγελος, και είμαι ο αρχισυντάκτης του magaz, του επίσιμου online περιοδικού για το linux στην Ελλάδα, της HELLUG (Hellenic Linux Users Group, http://www.hellug.gr). To περιοδικό μας βρίσκεται στο http://magaz.hellug.gr. Στα πλαίσια ενός άρθρου που συντάσσω με τον Βραχνάκη Γεώργιο, θα ήθελα να με ενημερώσετε για τα παρακατω στοιχεία όσον αφορά στο τι τρέχουν οι server σας. + + Operating system of Mail Servers: + Operating system of DNS Servers: + Operating system of FTP Servers: + Operating system of Dial Up Servers: + Operating system of Web Servers: + + software of Mail Servers: (πχ Sendmail 8.9.3/8.9.3) + software of DNS Servers: (πχ bind) + software of FTP Servers: (πχ wuftp) + software of News Servers: (πχ NNTPcache server) + software of Web Servers: (πχ IIS) + + Θα το εκτιμούσα αν απαντήσετε μέχρι τις 2 Σεπτεμβρίου, πράγμα που το θεωρώ αρκετά εύκολο. + Το άρθρο θα παρουσιαστεί στο magaz (http://magaz.hellug.gr) στο τεύχος Σεπτεμβρίου, που θα βγει στη δημοσιότητα στις 3 του ίδιου μήνα. + + Για οποιαδήποτε απορία - διευκρίνιση, παρακαλώ μη διστάσετε να επικοινωνήσετε μαζί μου. + + Ευχαριστώ εκ των προτέρων, + Ο Αρχισυντάκτης και Συντονιστής Αρθρογραφίας του Μagaz, + Παπαδογιαννάκης Ευάγγελος. + papas@hellug.gr + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Το mail αυτό στάλθηκε στις παρακάτω διευθύνσεις. + +- +- +- +- +- +- +- +- +- +- +- +- + + +### [2. Απαντήσεις]{#s2} + +Φυσικό και αναμενόμενο, δεν πήραμε και πολλές απαντήσεις. Οι λίγοι όμως που μας έστειλαν, πρέπει να τιμηθούν αφού μας αφιέρωσαν λίγο από το χρόνο τους. + +Παρακάτω λοιπόν, είναι όσοι απάντησαν και οι απαντήσεις τους όσον αφορά στο θέμα μας + +### [2.1 HellasNet]{#ss2.1} + +**Mail Servers**: Solaris\ +**DNS Servers**: Solaris & Linux RedHat\ +**FTP Servers**: Linux RedHat\ +**Dial Up Servers**: Solaris\ +**Web Servers**: Linux RedHat, Solaris και WinNT + +### [2.2 Otenet]{#ss2.2} + +**Mail Servers**: Solaris\ +**DNS Servers**: Solaris\ +**FTP Servers**: Solaris\ +**Dial Up Servers**: Solaris\ +**Web Servers**: Solaris + +Εδώ, όπως φυσικά οι περισσότεροι ξέρετε, υπάρχει μια αντίθεση. Για τους web servers τους, οι της OteNet μας έστειλαν πληροφορίες ότι τρέχουν **Solaris**. Σε +αυτή την περίπτωση εγώ σηκώνω τα χέρια ψηλά, γιατί από τη μια στο site τους μας λένε ότι τρέχουν Windows 2000, και από την άλλη γιατί και το +**[NetCraft](http://www.netcraft.com)** μου δίνει επίσις ότι τρέχουν Windows 2000 με Microsoft-IIS/5.0. + +Επίσης, στο email απάντηση της OteNet, υπήρχε (μεταξύ άλλων) το + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Υπόψιν ότι όλα τα παραπάνω στοιχεία μπορούσατε να τα πάρετε με νόμιμο τρόπο. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Δηλαδή εμείς τώρα τα πήραμε με παράνομο τρόπο; Τέλος πάντων\... + +### [2.3 SparkNet]{#ss2.3} + +**Mail Servers**: Solaris\ +**DNS Servers**: Solaris\ +**FTP Servers**: Solaris\ +**Dial Up Servers**: Solaris\ +**Web Servers**: Solaris + +### [2.4 Panafonet]{#ss2.4} + +**Mail Servers**: Solaris\ +**DNS Servers**: Solaris\ +**FTP Servers**: Solaris\ +**Dial Up Servers**: Solaris\ +**Web Servers**: Solaris + +### [2.5 GroovyNet]{#ss2.5} + +NetBSD ή OpenBSD + + +### [3. Οι μη απαντήσαντες\...]{#s3} + +Στους παρακάτω Providers έστειλα 2 φορές email (!) με μια διαφορά 6 ημερών, δεν απάντησε κανείς!. + +Σημείωση: Οι παρακάτω πληροφορίες έχουν παρθεί απο το [NetCraft](http://www.netcraft.com). Αυτό σημαίνει οτι **\*δεν\* είναι απολύτα αξιόπιστες και είναι +\*μονο\* για το σε τι O/S τρέχουν οι Web Servers**. + +\ +**Forthnet**: IRIX\ +**HOL**: Solaris\ +**Compulink**: Win2000\ +**TEE**: Solaris\ +**StsNet**:Red Hat Linux\ +**Mbn**:Windows 2000\ +**Internet Hellas**: Linux ('γνωστη Διανομή)\ +Η Internet Hellas \*απάντησε\* στο mail μου αλλά με σε UTF-8 με αποτέλεσμα να μην μπορώ να το διαβάσω γι\'αυτό το λόγο δεν γράφω και για τους υπόλοιπους +servers. + + +### [4. Servers (προγράμματα) στους servers]{#s4} + +Ας περάσουμε τώρα στο τι τρέχει ο κάθε provider στις επιμέρους υπηρεσίες. Τα αποτελέσματα προέρχονται από το [NetCraft](http://www.netcraft.com) + +### [4.1 HTTP]{#ss4.1} + +\ +**HellasNet**: Apache/1.3.4\ +**OteNet**: Microsoft-IIS/5.0\ +**SparkNet**: Apache/1.3.12 (Unix) PHP/3.0.16 mod\_perl/1.21 mod\_ssl/2.6.2 OpenSSL/0.9.5a-beta2\ +**PanafoNet**: Netscape-Enterprise/4.0\ +**GroovyNet**: Apache/1.3.12 (Unix) mod\_ssl/2.6.2 OpenSSL/0.9.5a\ +**ForthNet**: Νetscape-Enterprise/3.6 SP2\ +**HOL**: Netscape-Enterprise/3.6 SP2\ +**Compulink**: Microsoft-IIS/5.0\ +**TEE**: Netscape-Enterprise/4.0\ +**Internet Hellas**: Apache/1.3.12\ +**stsnet**: Apache/1.3.9 (Unix)\ +**mbn**: Microsoft-IIS/5.0 + +### [4.2 MAIL]{#ss4.2} + +Να σημειωθεί, οτι τα αποτελέσματα για τους mail servers eξήχθηκαν με ένα telnet στην πόρτα 25. + +**HellasNet**: Sendmail 8.9.1/8.9.1\ +**otenet**: Sendmail 8.10.1/8.10.1\ +**SparkNet**: Sendmail 8.11.0/8.11.0\ +**PanafoNet**: Netscape Messaging Server 4.1\ +**GroovyNet**: Sendmail 8.8.8/8.8.8\ +**forthnet**: Sendmail 8.8.5/8.8.5\ +**HOL**: QMail\ +**Compulink**: Sendmail 8.10.2/8.10.2\ +**TEE**: -\ +**Internet Hellas**:-\ +**stsnet**: Sendmail 8.9.3/8.9.3\ +**mbn**: Sendmail 8.8.5/8.8.5 + +### [4.3 NEWS]{#ss4.3} + +Αποτελέσματα με telnet στην πόρτα 119. + +**HellasNet**: NNTPcache server V2.3.3\ +**otenet**: -\ +**SparkNet**: -\ +**PanafoNet**: -\ +**GroovyNet**: -\ +**forthnet**: NNTPcache server V2.3.3\ +**HOL**: -\ +**Compulink**: InterNetNews NNRP server INN 2.2.1\ +**TEE**: -\ +**Internet Hellas**: -\ +**stsnet**: -\ +**mbn**: - + + +### [5. Αναλύσεις\...]{#s5} + +Από μια βασική ανάλυση, φαίνεται ότι το **Solaris** έχει τη μερίδα του λέωντος, πράγμα πολύ καλό αν αναλογιστούμε πόσο σταθερό και αξιόπιστο θεωρείται. + +Από την άλλη στους εξηπηρετητές web φαίνεται οτι ο **Apache** και ο **Netscape** είναι η πιο χρησιμοποιούμενη λύση. + +Όσο για τους **mail servers**, ε εδώ δεν χρειάζεται ανάλυση, το **sendmail** είναι ο αδιαμφισβήτητος (και αναμενόμενος) βασιλιάς. Οπαδοί του **Q** +μαζευτείτεεεεε! + + +### [6. Ευχαριστίες.]{#s6} + +Τέλος να ευχαριστίσω για τιw πληροφορίες που μας έδωσαν: + +τον Κύριο Αντώνιο Πετράκη απο την HellasNet,\ +τον Κύριο Αχιλλέα Βολίοτη απο την Otenet,\ +τον Κύριο Νίκο Ασλανάκη απο την SparkNet,\ +την κυρία Ζωή Παπακωνσταντίνου απο την Panafonet, + diff --git a/content/articles/29/03_hellenic-status.md b/content/articles/29/03_hellenic-status.md new file mode 100644 index 0000000..725f52e --- /dev/null +++ b/content/articles/29/03_hellenic-status.md @@ -0,0 +1,372 @@ ++++ +title = 'Το Linux στην Ελλάδα' +date = '2000-02-01T00:00:00Z' +description = '' +author = 'Evripidis Papakostas (evris@hellug.gr) Voula Sanida (voulariba@hellug.gr)' +issue = ['Magaz 29'] +issue_weight = 3 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Φαίνεται πως κάτι αρχίζει να κινείται στον Ελληνικό χώρο όσον αφορά στο Linux. Η Ελληνική Linux κοινότητα πολλαπλασιάζει τα μέλη της, νέα οργανωμένα sites και +λίστες συζητήσεων εμφανίζονται, πρόοδος σημειώνεται στον χώρο της υποστήριξης και ενσωμάτωσης ελληνικών στο λειτουργικό αυτό. Παράλληλα, το Linux κεντρίζει +πλέον το ενδιαφέρον των ελληνικών περιοδικών, βιβλιοπωλείων, εταιριών, ακόμα και των Κρατικών Οργανισμών που βλέπουν μια πιθανή αγορά να δημιουργείται. Τις +περισσότερες φορές οι διεθνείς εξελίξεις στην Πληροφορική, τελικά υιοθετούνται και από την Ελληνική αγορά (έστω και με μια διαφορά φάσης). Από αυτή την πλευρά, +παρουσιάζει ιδιαίτερο ενδιαφέρον να καταγράψουμε την μέχρι τώρα εικόνα της ελληνικής Linux σκηνής και πως αυτή επηρεάστηκε το τελευταίο διάστημα.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Ελληνική Linux Κοινότητα** +----------------------------------------------------------------- + +**2. Linux και Ελληνικά Σχολεία** +------------------------------------------------------------------- + +**3. H Εμπορική Πλευρά** +---------------------------------------------------------- + +- [3.1 Providers - Ένωση Ελλήνων Χρηστών Internet (EEXI)](#ss3.1) +- [3.2 Προεγκατεστημένα Linux - ΥΕΠ και Μακεδονικά Περιφερειακά](#ss3.2) +- [3.3 Πώληση και Υποστήριξη Συστημάτων. Step Computers](#ss3.3) + +**4. Έντυπη πληροφόρηση και Linux** +--------------------------------------------------------------------- + +**5. To Ελληνικό Linux με αριθμούς** +---------------------------------------------------------------------- + + +### [1. Ελληνική Linux Κοινότητα]{#s1} + +Μέχρι κάποια εποχή οι Έλληνες Linuxάδες αποτελούσαν μια αμελητέα μειοψηφία ανάμεσα στο σύνολο των υπολοίπων χρηστών Η/Υ. Η πρώτη επίσημη προσπάθεια καταμέτρησης +των Ελλήνων χρηστών Linux έγινε κάπου στα μέσα του 1996 και αυτοί που δηλώθηκαν δεν ξεπερνούσαν τους 50. Σήμερα σε τελευταία καταμέτρησή τους από το ελληνικό +ηλεκτρονικό περιοδικό για Linux, magaz (http://magaz.hellug.gr) ξεπερνούν τους 450 (αύξηση 800%). Αν οι απόλυτοι αριθμοί αυτοί σας φαίνονται μικροί, σκεφτείτε +πόσοι από εσάς έχετε συνδρομή internet και την χρησιμοποιήσατε μάλιστα για να δηλώσετε σε κάποιο δικτυακό τόπο ποιό λειτουργικό σύστημα χρησιμοποιείτε. + +Υπήρχαν βέβαια από τότε κάποιες λιγοστές μεμονωμένες σελίδες σχετικά με το Linux, στις οποίες οι τότε γκουρού έδιναν τεχνικές συμβουλές και βοήθεια στους +απεγνωσμένους (υποστήριξη ελληνικών, γραμματοσειρές). + +Στα λίγα αυτά χρόνια που πέρασαν η κατάσταση έχει σαφώς καλυτερεύσει. Ενδεικτικά αναφέρουμε μερικά από τα μεγαλύτερα και γνωστότερα sites: http://www.linux.gr +(Φθινόπωρο 1997), του επίσημου site του HELLUG http://www.hellug.gr, το ηλεκτρονικό περιοδικό magaz (http://magaz.hellug.gr), την ΕΕΕΑ (http://www.eeea.gr). + +Κάπου τον Φεβρουάριο του 1997 γίνεται το σημαντικότερο ίσως βήμα για την ελληνική Linux κοινότητα. Ο Γιάννης Ιωάννου δημιουργεί την ηλεκτρονική λίστα +linux-greek-users στον κόμβο argeas.argos.hol.gr. Η λίστα αυτή ασχολείται με την επίλυση προβλημάτων χρήσης του Linux και γενικότερα με οποιοδήποτε θέμα που +άπτεται του ενδιαφέροντος των Ελλήνων Linuxάδων. Αποτελεί δε ορόσημο στην πορεία του Linux στην Ελλάδα, καθώς έφερε σε επαφή όλους τους (μέχρι τότε μοναχικούς +και αποκομμένους) Linuxάδες, αναπτέρωσε το ηθικό και τις ελπίδες τους και αποτέλεσε το μέσο για την σύσφιξη των δεσμών τους και την ανάπτυξη της ιδέας της +κοινότητας (μιας ιδέας που είναι στενά συνυφασμένη με το Linux γενικότερα). + +Σήμερα, η λίστα αυτή αριθμεί επισήμως περί τα 200 μέλη (300% αύξηση μελών στα δύο χρόνια λειτουργίας της) και αρκετές φορές πολλαπλάσιο αριθμό ατόμων που την +παρακολουθούν χωρίς να είναι εγγεγραμμένοι. Αυτό πρακτικά σημαίνει πως ο νέος χρήστης που αντιμετωπίζει προβλήματα με το Linux (και που δεν μπορεί να λύσει +μόνος του) έχει μεγάλες πιθανότητες να βρει την λύση του αν καταφύγει (με ευγενικό τρόπο) στην βοήθεια του τεράστιου think tunk της ελληνικής Linux κοινότητας. + +Παράλληλα, έχει μπει σε λειτουργία η linux-howto. Διαθέτει πάνω από 60 μέλη, στην οποία συζητούνται προβλήματα τεκμηρίωσης, μεταφράσεων, εξελληνισμών +προγραμμάτων και διανομών (60 εθελοντές μεταφραστές και συγγραφείς δεν είναι και λίγοι!). + +Η δραστηριοποίηση των ελλήνων Linuxάδων οδήγησε και στο σχηματισμό του επίσημου συλλόγου Linuxάδων HELLUG (Hellenic Linux Users Group) που σήμερα αριθμεί περί +τα 100 μέλη. + +Ο σκοπός του συλλόγου είναι η ανάπτυξη εφαρμογών, η σύσφιξη των σχέσεων των Ελλήνων χρηστών Linux, η προώθηση και η διάδοση του λειτουργικού, ο εξελληνισμός +μέρους του και η συνεργασία με αντίστοιχους συλλόγους, οργανισμούς και εταιρίες εντός και εκτός Ελλάδας. + +Ανεπίσημα τοπικά LUGs υπάρχουν επίσης στην Θεσ/κη (TheLUG), Πάτρα (PLUG), Αλεξανδρούπολη (ALLUG) και Θράκη (ThraceLUG). + +Μέσω του συλλόγου, μπόρεσαν να οργανωθούν, συστηματοποιηθούν και συνεχιστούν οι ανεξάρτητες συνεισφορές των διαφόρων Linuxάδων και έτσι πλέον στον κόμβο του θα +βρείτε λύση για χρόνια προβλήματα που ταλαιπωρούσαν τον κόσμο: ελληνικά πληκτρολόγια, γραμματοσειρές, εκτυπώσεις με ελληνικά, μεταφρασμένη τεκμηρίωση και +εφαρμογές, ελληνικοποιημένες διανομές (π.χ. SuSE), διορθωτές ορθογραφίας, ερωταπαντήσεις (FAQ), οδηγίες κλπ. Πλέον περιβάλλοντα όπως το KDE, Gnome έχουν σχεδόν +ολικά εξελληνιστεί. + +Στις δραστηριότητες του HELLUG περιλαμβάνονται happenings (όπως αυτό στην Στουρνάρη, όπου μοιράστηκαν δωρεάν διανομές Linux και ενημερωτικό υλικό, το +παρακολούθησαν περί τα 2000 άτομα), παρουσία σε εκθέσεις (περίπτερο στην INFOSYSTEM 99) κλπ. + +Σημαντική εξέλιξη του χώρου αποτέλεσε και η κυκλοφορία (Ιανουάριος 1998) του ηλεκτρονικού περιοδικού για Linux, magaz (http://magaz.hellug.gr) με άνω των 2500 +hits μηνιαίως και με συντακτική ομάδα άνω των 10 αρθρογράφων. + +Βλέπουμε πως η δουλειά που έχει γίνει και η πληροφόρηση που προσφέρεται γύρω από το Linux στον ελληνικό χώρο είναι δυσανάλογα μεγάλη σε σχέση με την διάδοση +του. Δεν είμαστε ενήμεροι για αντίστοιχους αφιλοκερδείς συλλόγους, λίστες βοηθείας και δωρεάν ηλεκτρονικά περιοδικά και τόπους στην Ελλάδα για άλλα λειτουργικά. + + +### [2. Linux και Ελληνικά Σχολεία]{#s2} + +Στις 22 Απριλίου 1999, το Υπουργείο Εθνικής Παιδείας και Θρησκευμάτων προκυρήσει διαγωνισμό για την προμήθεια αρκετών χιλιάδων Η/Υ για τα Ενιαία Λύκεια με +προεγκατάσταση 2 Λ.Σ. εκ των οποίων το ένα θα πρέπει να είναι \"τύπου Linux\". Λίγους μήνες πριν, η Αγγλία, η Γαλλία και το Μεξικό είχαν προβεί σε αντίστοιχες +ενέργειες. Ο διαγωνισμός αυτός αναγκαστικά κινεί το ενδιαφέρον των μεγάλων εταιριών γύρω από το λειτουργικό αυτό. Να σημειωθεί πως μέχρι σήμερα ο διαγωνισμός +δεν έχει κριθεί. + +![](/29/img/ypepth1.gif) + +![](/29/img/ypepth2.gif) + +Τέτοιοι διαγωνισμοί προκυρήχτηκαν παράλληλα για όλα τα γεωγραφικά διαμερίσματα της Ελλάδας. + +To ΥΠΕΠΘ συνεχίζει να εκπλήσσει ευχάριστα τον κόσμο, παρακολουθώντας από κοντά τις εξελίξεις και αναβαθμίζοντας μέσα σε λίγους μήνες και το πρόγραμμα σπουδών +του, όπως φαίνεται και στο απόκομμα από το μάθημα Λειτουργικά Συστήματα για τα ΤΕΕ. + +![](/29/img/ypepth3.gif) + + +### [3. H Εμπορική Πλευρά]{#s3} + +Κατηγορηματικά μπορούμε να πούμε πως αυτή τη στιγμή, το Linux κάθε άλλο παρά πρωταγωνιστεί στις δραστηριότητες των περισσοτέρων εταιριών. Με την ίδια βεβαιότητα +πάντως μπορούμε να ισχυριστούμε πως ο αριθμός των εταιριών που βλέπουν πλέον με άλλο μάτι το λειτουργικό αυτό δεν είναι αμελητέος (ειδικά σε σύγκριση με το +παρελθόν). + +Ολοένα και περισσότερες εταιρίες αρχίζουν να ασχολούνται συστηματικά με τον χώρο του Linux, καθώς σιγά σιγά αρχίζουν να βλέπουν να αποτελεί ένα υπολογίσιμο +μέρος της πίτας της αγοράς. Ενδεικτικά αναφέρουμε εταιρίες όπως η Step στον Πειραιά, τα Μακεδονικά Περιφερειακά και την ΥΕΠ (Υπηρεσίες Εφαρμοσμένης +Πληροφορικής) στην Θεσ/κη που ήδη προσφέρουν Η/Υ με προεγκατεστημένο Linux. + +Στον χώρο της τεχνικής υποστήριξης, οι πατροπαράδοτα μεγάλες εταιρίες, όπως η Compaq και η HP, έχουν (ή προσπαθούν) να αλλάξουν την πολιτική τους και να +ακολουθήσουν τη γραμμή που υπαγορεύει η μητρική εταιρεία (τεχνική υποστήριξη σε Linux αλλά και πώληση). Από όσο είμαστε ενήμεροι, υπάρχουν σκέψεις από μεγάλες +ελληνικές εταιρίες για κυκλοφορία σειρών Η/Υ με προεγκατεστημένο Linux και από τις αλυσίδες λιανικής διάθεσης που διαθέτουν. + +Επίσης, όπως εδώ και καιρό συμβαίνει στο εξωτερικό, υπάρχουν κάποιες εταιρείες που το στηρίζουν επενδύοντας σε μακροπρόθεσμα έμμεσα oφέλη από αυτήν την κίνηση. +Έτσι, δεν είναι λίγοι αυτοί που έχουν βοηθήσει ενεργά την ελληνική Linux κοινότητα με διάφορους τρόπους. + +Η Forthnet, για παράδειγμα, χορηγεί στον σύλλογο HELLUG τη γραμμή που εξυπηρετεί το www.hellug.gr, η Internet Hellas το www.linux.gr (και παλαιότερα η HOL), η +ΕΕΧΙ έχει επίσης προσφερθεί να βοηθήσει αναλόγως όπου χρειαστεί. + +Κάποιοι άλλοι όπως τα Μακεδονικά Περιφερειακά και η SYSWARE, έχουν δωρίσει τους απολύτως αναγκαίους servers, ενώ υπάρχουν και περιπτώσεις εταιριών που έχουν +εμπλακεί προάγοντας το Linux, χωρίς καν να άπτεται των δραστηριοτήτων τους (όπως π.χ. η Modus Vivendi που ανέλαβε την διακόσμηση και τα έξοδα του περιπτέρου +στην INFOSYSTEM 99). + +Μιλήσαμε με μερικούς αντιπροσώπους των χαρακτηριστικότερων κατηγοριών εταιριών που στις εμπορικές τους δραστηριότητες ήδη περιλαμβάνουν το Linux. + +### [3.1 Providers - Ένωση Ελλήνων Χρηστών Internet (EEXI)]{#ss3.1} + +Ο κ. Αλέξης Κουλουμπής υπεύθυνος για την διαχείριση του δικτύου της ΕΕΧΙ μας αναφέρει: + +\"Η EEXI είναι μια Ένωση μη κερδοσκοπικού χαρακτήρα. Από την πρώτη κιόλας μέρα λειτουργίας της, το δίκτυο της βασίζεται εξ\'ολοκλήρου πάνω σε Linux. + +Η απόφαση αυτή πάρθηκε λαμβάνοντας υπόψιν την σταθερότητα που επιδείκνυε το εν λόγω λειτουργικό σύστημα, την εμπειρία των system administrators με αυτό, την +πληθώρα εφαρμογών που υπήρχαν διαθέσιμες στο δίκτυο καθώς και το ανύπαρκτο κόστος αρχικής κτήσης του λογισμικού. + +Σημαντικό ήταν για εμάς επίσης το γεγονός πως δεν ήμασταν αποκομμένοι από τους \*προμηθευτές\* του λογισμικού. Αυτοί καθώς γνωρίζετε δεν είναι άλλοι από την +Linux κοινότητα, κοινοί άνθρωποι με τους οποίους μπορούμε να έρθουμε άμεσα σε επαφή και να συνεργαστούμε για να διορθώσουμε οποιαδήποτε προβλήματα. + +Από την άλλη, η προσφορά του κώδικα των εφαρμογών, κάνει το customization πολύ πιο εύκολο. + +Αξίζει να σημειώσουμε πως από το 1993 μέχρι σήμερα, υπάρχουν Linux μηχανήματα που παραμένουν σε λειτουργία, με συνεχείς on-line αναβαθμίσεις, επιδεικνύοντας +άψογη συμπεριφορά. + +Η ΕΕΧΙ εξυπηρετεί άνω των 2000 μελών, προσφέροντας τους όλες τις συνήθεις διαδικτυακές υπηρεσίες, καθώς και δυνατότητα χρήσης unix shell. + +Μέσα στις δραστηριότητές μας συμπεριλαμβάνονται και Linux specific σεμινάρια σε ιδιώτες και οργανισμούς, καθώς και συνεργασίες με το HELLUG στον οποίο μερικοί +από μας τυγχάνουν και ενεργά μέλη\" + +### [3.2 Προεγκατεστημένα Linux - ΥΕΠ και Μακεδονικά Περιφερειακά]{#ss3.2} + +\"Διαπιστώνουμε καθημερινά, ότι και ο επιχειρηματικός κόσμος αναγνωρίζει τα πλεονεκτήματα του Linux και προχωράει βαθμιαία στην εφαρμογή του. Αναμένουμε όμως +αντίστοιχη ανταπόκριση και από τους Home users. Οι μέχρι τώρα δραστηριότητές μας, όσον αφορά τον χώρο του Linux, μπορούν να συνοψιστούν στα εξής: + +Αντιπροσωπεύουμε την διανομή SuSE και παρέχουμε δωρεάν τηλεφωνική υποστήριξη εγκατάστασης για 60 ημέρες (μόνο για την τρέχουσα έκδοση). + +Τα \"Μακεδονικά Περιφερειακά\" με την συνεργασία μας παράγουν την σειρά υπολογιστών XpePPer με λειτουργικό σύστημα Linux (SuSE). + +Από την εταιρεία μας ζητείται συνήθως η προμήθεια και εγκατάσταση file και print servers καθώς επίσης FAX servers, DNS, proxy κλπ. + +Αντιπροσωπεύουμε στην Ελλάδα το εξελληνισμένο λογισμικό διαχείρισης νοσοκομειακών εργαστηρίων της γερμανικής εταιρείας IMP. Το λογισμικό αυτό τρέχει σε Linux με +αρχιτεκτονική client/server. + +Το Υπουργείο Παιδείας σε πρόσφατο μεγάλο διαγωνισμό για τον εξοπλισμό των εργαστηρίων Πληροφορικής και Φυσικής ζήτησε οι προσφορές να περιλαμβάνουν +εγκατεστημένο λειτουργικό σύστημα πλην των Windows και Linux. Η InfoQuest συμμετείχε σ\' αυτόν τον διαγωνισμό συνεργαζόμενη μαζί μας στο μέρος που σχετίζεται με +το Linux. + +Στη συνεισφορά μας για την προώθηση του Linux μεταξύ άλλων συγκαταλέγεται μια σειρά ολιγόλεπτων δυστυχώς παρουσιάσεων στην εκπομπή PCTV της ΕΤ3 καθώς και η +προβολή μέσω του δικτυακού τόπου μας www.suse.gr. Επίσης προσπαθούμε να βοηθάμε την εξάπλωση του λειτουργικού αυτού, με όποιον τρόπο μπορούμε. Χαρακτηριστικά +αναφέρω την αρμονική μας συνεργασία με το HELLUG, το οποίο τόσο εμείς όσο και τα Μακεδονικά Περιφερειακά έχουμε ενισχύσει κατά καιρούς, χορηγώντας διανομές +Linux και Η/Υ σε εκθέσεις όπως η INFOSYSTEM και διάφορα happenings που διοργανώθηκαν.\" + +Γ. Παπαδόπουλος + +Υπηρεσίες Εφαρμοσμένης Πληροφορικής + +Δωδεκανήσου 61, 551 31 Θεσσαλονίκη + +Τηλ: 031-424512, FAX: 031-417537 + +### [3.3 Πώληση και Υποστήριξη Συστημάτων. Step Computers]{#ss3.3} + +\"Η Step δημιουργήθηκε στα τέλη του 1994 με αντικείμενο την πώληση και συντήρηση εξοπλισμού Η/Υ και την παροχή ολοκληρωμένων λύσεων LAN στις μικρομεσαίες +επιχειρήσεις. Η έδρα μας είναι στον Πειραιά και δραστηριοποιούμαστε σε ολόκληρη την Αττική. + +Από τα μέσα του 1996 πειραματιστήκαμε με το Linux και αρκετά αργότερα ξεκινήσαμε μια συνεργασία με την SuSE, της οποίας αποτελέσαμε τον αρχικό distributor στην +Ελλάδα. + +Η εταιρία μας έχει πλέον μεγάλη εμπειρία στο Linux και στις εφαρμογές του στον επιχειρηματικό χώρο. Αρκετοί από τους πελάτες μας βασίζονται σε αυτό για τις +καθημερινές τους ανάγκες, σε επίπεδο server βέβαια ακόμα. + +Έχουμε συνεργαστεί με το HELLUG για τον εξελληνισμό της διανομής SuSE Linux, και έχουμε στηρίξει σε αρκετές περιστάσεις, με παροχή υλικού, διανομών και άλλες +χορηγίες τις προσπάθειες του συλλόγου. + +Η ίδια η εταιρία μας καλύπτει τις δικτυακές της ανάγκες βασισμένη σε σύστημα Linux και την τεχνογνωσία που αποκομμίζουμε από αυτό, θα προσπαθήσουμε να την +περάσουμε και στην αγορά σε συστήματα που θα παρέχουμε. Μια τέτοια συνεργασία με μεγάλη εταιρία πληροφορικής είναι σε εξέλιξη. + +Έχουμε συνεργαστεί με το HELLUG για τον εξελληνισμό της διανομής SuSE Linux, και έχουμε στηρίξει σε αρκετές περιστάσεις, με παροχή υλικού, διανομών και άλλες +χορηγίες τις προσπάθειες του συλλόγου. + +Επειδή πιστεύουμε πως η ενίσχυση της Linux κοινότητας έμμεσα ή άμεσα ωφελεί και τις επιχειρηματικές μας δραστηριότητες, προσπαθούμε να προσφέρουμε και στον χώρο +αυτό. Στα σχέδια μας συμπεριλαμβάνεται η συγγραφή εγχειριδίου για Linux για τον άπειρο χρήστη με σκοπό να τον ενημερώσει για τις ιδιαιτερότητες των διάφορων +διανομών Linux. \" + +Γιώργος Παπαμιχελάκης + +Step Computers + + +### [4. Έντυπη πληροφόρηση και Linux]{#s4} + +Αν ξεφυλλίσετε προσεκτικά τα γνωστότερα περιοδικά του χώρου της πληροφορικής θα παρατηρήσετε πως πλέον σταθερά θα βρείτε άρθρα, αφιερώματα, ερωταπαντήσεις, νέα +και προγράμματα για Linux. + +Μέχρι κάποιο διάστημα, το ηλεκτρονικό περιοδικό magaz ήταν το μοναδικό βήμα για το, ομολογουμένως ολιγομελές, ελληνικό Linux κοινό. + +Στον έντυπο χώρο, οι επιλογές περιορίζονταν σε εξειδικευμένες εκδόσεις του εξωτερικού (βλέπε Linux Journal). + +Δειλά δειλά το 1998 αρχίζουν να εμφανίζονται μικρά άρθρα και νέα για Linux, ενώ η τάση αυτή γίνεται ιδιαίτερα αισθητή από τα μέσα του 1999. + +Για παράδειγμα, το RAM του Απριλίου (τεύχος 124) κάνει το πρώτο εκτεταμένο αφιέρωμα για Linux, διαθέτοντας πάνω από 40 σελίδες, καθώς και μια ολοκληρωμένη +διανομή SuSE 6.0. + +Παρεμφερή πολιτική ακολούθησαν και τα υπόλοιπα περιοδικά όπως το Chip, το Computer Για Όλους κλπ. + +Ακόμα και μη τεχνικά περιοδικά ή εφημερίδες έχουν αφιερώσει σελίδες τους στο νέο αυτό λειτουργικό. Ενδεικτικά αναφέρουμε το ΜΕΝ, το ΜΕΤΡΟ, το Βήμα, την +Ελευθεροτυπία. + +Ας μην ξεχνάμε και την κυκλοφορία του D.I.Li.Ma που αποτελεί το πρώτο εξειδικευμένο περιοδικό για Unix. + +Το γεγονός αυτό μιλάει από μόνο του. Η ύλη των εντύπων θα πρέπει να βρίσκεται σε συμφωνία με το ενδιαφέρον και τις προτιμήσεις του αγοραστικού κοινού. +Περισσότερες λοιπόν σελίδες για Linux/Unix ένα πράγμα μπορεί να σημαίνει: αυξημένη απήχηση του λειτουργικού στους αναγνώστες. + + +### [5. To Ελληνικό Linux με αριθμούς]{#s5} + +Καταμέτρηση Χρηστών Linux Ελλάδας (στοιχεία από το magaz.hellug.gr) + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + \ Αριθμός Χρηστών + Έτος + + 1996 50 + + 1999 450 + + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + +Αριθμός Λιστών Ηλεκτρονικών Μηνυμάτων + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + \ Αριθμός Λιστών + Έτος + + 1996 0 + + 1997 2 + + 1998 4 + + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + +Οι λίστες αυτές είναι οι : + +linux-greek-users\@hellug.gr για κάθε είδους συζήτηση και τεχνικά προβλήματα σχετικά με Linux. + +linux-howto\@hellug.gr για μεταφραστικά ζητήματα και συγγραφή τεκμηρίωσης για Linux. + +hellug\@hellug.gr για διαδικαστικά θέματα από τα μέλη του συλλόγου HELLUG + +thelug (από newsgroup στο edessa.topo.auth.gr) για την επικοινωνία των μελών του Θεσσαλονικιώτικου LUG + +Χρήστες της linux-greek-users (δεν προσμετρούνται οι χρήστες που τη διαβάζουν μέσω newsgroup και που είναι αρκετές φορές πολλαπλάσιοι) + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + \ Αριθμός Χρηστών + Έτος + + 1997 50 (3978 Messages) + + Μέσα του 1999 200 (9000 Messages) + + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + +Ο διεθνής counter χρηστών Linux (counter.li.org) δίνει: + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + \ Χρήστες + Χώρα + + Κύπρος 70 + + Ελλάδα 518 + + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + +![](/29/img/linux_counter.jpg) + +Ιδιαίτερο ενδιαφέρον παρουσιάζει η πρόβλεψη του Linux Counter για τον πραγματικό αριθμό χρηστών Linux. Με αναγωγή στα δεδομένα της Ελλάδας ο αριθμός των H/Y με +Linux κυμαίνεται μεταξύ των 10360 και 200000 μηχανημάτων! + +Αριθμός Linux Users Groups (LUGs) + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + \ Αριθμός LUGs + Έτος + + 1996 0 + + 1997 1 + + 1998 3 + + 1999 5 + + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + +Επίσημος σύλλογος: HELLUG (http://www.hellug.gr) + +Τοπικά LUGs: + +TheLUG (http://hal.csd.auth.gr/thelug) + +PLUG (http://students.ceid.upatras.gr/ glavas/linux) + +ALLUG (http://www.neta.gr/allug) + +ThraceLUG (http://www.thracelug.gr) + +Αρθρογράφοι του magaz + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + \ Αριθμός + Έτος + + 1998 4 (800 hits/month) + + 1999 10 (3500 hits/month) + + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + +Άρθρα του RAM με εκτεταμένες αναφορές στο Linux + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + \ Αριθμός + Έτος + + 1997 0 + + 1998 20 (περίπου) + + 1999 50 (περίπου) + + 2000 25 (περίπου - μέχρι Απρίλιο) + + + ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- + +Συνολικά Hits στον κόμβο του HELLUG σε 14 μήνες λειτουργίας: 1894265 + diff --git a/content/articles/29/04_xbasic.md b/content/articles/29/04_xbasic.md new file mode 100644 index 0000000..a9e00ee --- /dev/null +++ b/content/articles/29/04_xbasic.md @@ -0,0 +1,336 @@ ++++ +title = 'Xbasic' +date = '2000-12-01T00:00:00Z' +description = '' +author = 'Κώστας Τσακάλογλου(mailto:tsakf@hellug.gr)' +issue = ['Magaz 29'] +issue_weight = 4 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Συναρτήσεις στην XBASIC.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Οι συναρτήσεις** +---------------------------------------------- + +**2. Παράδειγμα συνάρτησης.** +------------------------------------------------------ + +- [2.1 Επεξήγηση του προγράμματος](#ss2.1) + +**3. Πως λειτουργούν οι συναρτήσεις** +-------------------------------------------------------------- + +- [3.1 Συναρτήσεις και δομημένος προγραμματισμός](#ss3.1) +- [3.2 Γιατί το να γράφουμε δομημένα με συναρτήσεις είναι σημαντικό;](#ss3.2) +- [3.3 Σχεδιάζοντας ένα δομημένο πρόγραμμα.](#ss3.3) +- [3.4 Γράφοντας μια συνάρτηση](#ss3.4) +- [3.5 Το εσωτερικό της συνάρτησης](#ss3.5) +- [3.6 Ο κώδικας των συναρτήσεων.](#ss3.6) + + +### [1. Οι συναρτήσεις]{#s1} + +Οι συναρτήσεις είναι βασικό δομικό στοιχείο των προγραμμάτων στην Xbasic. Οι συναρτήσεις είναι ανεξάρτητα κομμάτια κώδικα που εκτελούν μια συγκεκριμένη εργασία +και μπορεί να επιστρέφουν κάποια τιμή στον κώδικα που τις καλεί. + +Οι ιδιότητες των συναρτήσεων: + +- **Έχουν μοναδικό όνομα.**\ + Κάθε συνάρτηση έχει ένα μοναδικό όνομα. Η χρήση του ονόματος σε ένα άλλο μέρος του προγράμματος, επιτρέπει την εκτέλεση των εντολών που περιέχονται σε αυτή. + Αυτό ονομάζεται και κλήση της συνάρτησης. Μια συνάρτηση μπορεί να καλείται και μέσα από μια άλλη συνάρτηση. +- **Ο κώδικας που περιέχουν είναι ανεξάρτητος από το υπόλοιπο πρόγραμμα.**\ + Όλες οι μεταβλητές που χρησιμοποιούνται δεν έχουν σχέση με τις μεταβλητές που μπορεί να έχουν το ίδιο όνομα και να υπάρχουν αλλού στο πρόγραμμα. Εξαίρεση + είναι οι μεταβλητές που εμείς ορίζουμε ότι θα έχουν σχέση με το υπόλοιπο πρόγραμμα όπως θα δούμε παρακάτω. +- **Μια συνάρτηση εκτελεί μια συγκεκριμένη εργασία.**\ + Οι συναρτήσεις συνήθως χρησιμοποιούνται για να εκτελέσουμε συγκεκριμένες εργασίες που μπορεί να χρειαστεί να εκτελεστούν πολλές φορές μέσα σε ένα πρόγραμμα, + με διαφορετικά δεδομένα κάθε φορά. +- **Μια συνάρτηση μπορεί να επιστρέφει μια τιμή στον κώδικα που την καλεί.**\ + Όταν το πρόγραμμά μας καλεί μια συνάρτηση, εκτελείται ο κώδικας της συνάρτησης και μπορούμε να έχουμε κάποια τιμή που επιστρέφει από την συνάρτηση σαν + αποτέλεσμα της εκτέλεσης του κώδικα. + + +### [2. Παράδειγμα συνάρτησης.]{#s2} + +Παρακάτω ακολουθεί ένα παράδειγμα συνάρτησης στην XBASIC. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + 1.' + 2.' + 3.' #################### + 4.' ##### PROLOG ##### + 5.' #################### + 6.' + 7.PROGRAM "progname" ' 1-8 char program/file name without .x or any .extent + 8.VERSION "0.0000" ' version number - increment before saving altered program + 9.' + 10.' You can stop the PDE from inserting the following PROLOG comment lines + 11.' by removing them from the prolog.xxx file in your \xb\xxx directory. + 12.' + 13.' Programs contain: 1: PROLOG - no executable code - see below + 14.' 2: Entry function - start execution at 1st declared func + 15.' * = optional 3: Other functions - everything else - all other functions + 16.' + 17.' The PROLOG contains (in this order): + 18.' * 1. Program name statement PROGRAM "progname" + 19.' * 2. Version number statement VERSION "0.0000" + 20.' * 3. Import library statements IMPORT "libName" + 21.' * 4. Composite type definitions TYPE ... END TYPE + 22.' 5. Internal function declarations DECLARE/INTERNAL FUNCTION Func (args) + 23.' * 6. External function declarations EXTERNAL FUNCTION FuncName (args) + 24.' * 7. Shared constant definitions $$ConstantName = literal or constant + 25.' * 8. Shared variable declarations SHARED variable + 26.' + 27.' ****** Comment libraries in/out as needed ***** + 28.' + 29.' IMPORT "xma" ' Math library : SIN/ASIN/SINH/ASINH/LOG/EXP/SQRT... + 30.' IMPORT "xcm" ' Complex library : complex number library (trig, etc) + 31.' IMPORT "xst" ' Standard library : required by most programs + 32.' IMPORT "xgr" ' GraphicsDesigner : required by GuiDesigner programs + 33.' IMPORT "xui" ' GuiDesigner : required by GuiDesigner programs + 34.' + 35.DECLARE FUNCTION Entry () + 36.DECLARE FUNCTION SLONG cube (SLONG x) + 37.' + 38.' + 39.' ###################### + 40.' ##### Entry () ##### + 41.' ###################### + 42.' + 43.' Programs contain: + 44.' 1. A PROLOG with type/function/constant declarations. + 45.' 2. This Entry() function where execution begins. + 46.' 3. Zero or more additional functions. + 47.' + 48.FUNCTION Entry () + 49. SLONG inpu, answer + 50. STRING inpus + 51. + 52. inpus=INLINE$("Enter number :") + 53. inpu=SLONG(inpus) + 54. answer = cube(inpu) + 55. PRINT answer + 56. + 57. + 58. + 59.END FUNCTION + 60.' + 61.' + 62.' ##################### + 63.' ##### cube () ##### + 64.' ##################### + 65.' + 66.FUNCTION SLONG cube (SLONG x) + 67. + 68. x_cube = x * x * x + 69. + 70.END FUNCTION(x_cube) + 71.END PROGRAM + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +### [2.1 Επεξήγηση του προγράμματος]{#ss2.1} + +Ας προσπαθήσουμε όμως να κάνουμε μια ανάλυση του παραπάνω προγράμματος. Έχουμε λοιπόν. + +**Γραμμές 1..34**\ +Εδώ έχουμε τους αρχικούς ορισμούς και το κομμάτι PROLOG όπως έχουμε αναλύσει και στα προηγούμενα τεύχη. + +**Γραμμή 35**\ +Εδώ έχουμε το ορισμό της συνάρτησης Entry() όπου αναλύοντας τον βλέπουμε ότι αυτή η συνάρτηση δεν έχει παράμετρο. + +**Γραμμή 36**\ +Σε αυτή την γραμμή ορίζεται η συνάρτηση cube και από τον ορισμό της βλέπουμε ότι αυτή η συνάρτηση είναι τύπου SLONG που σημαίνει ότι θα μας επιστρέψει κάποια +τιμή SLONG. Στην λίστα παραμέτρων (αυτή που υπάρχει ανάμεσα στις παρενθέσεις) βλέπουμε ότι η cube δέχεται σαν παράμετρο μια SLONG μεταβλητή για να κάνει τον +υπολογισμό. Στο παράδειγμά μας έχουμε ορίσει και την cube και την παράμετρό της ίδιου τύπου. Αυτό δεν είναι δεσμευτικό, μπορούμε να έχουμε μία ή και πολλές +παραμέτρους διαφορετικού τύπου από τον τύπο της οριζόμενης συνάρτησης. + +**Γραμμές 48..55**\ +Στην γραμμές 49 και 50 ορίζουμε τις μεταβλητές που θα χρησιμοποιηθούν μέσα στην Entry. Στην γραμμή 52 παίρνουμε την πληκτρολόγηση του χρήστη στην μεταβλητή +τύπου string inpus. Στην γραμμή 53 την μετατρέπουμε σε SLONG για να μπορεί να χρησιμοποιηθεί από την cube. Στην γραμμή 54 καλείται η συνάρτηση cube να κάνει τον +υπολογισμό και να επιστρέψει το αποτέλεσμα στην μεταβλητή answer.\ +Στην γραμμή 55 εμφανίζουμε το αποτέλεσμα στο console window της Xbasic. + +**Γραμμές 66..71**\ +Εδώ βρίσκεται ο κώδικας της συνάρτησης cube. Στην γραμμή 66 υπάρχει ο ορισμός των παραμέτρων και στην συνέχεια έχουμε τον κώδικα υπολογισμού. Σε αυτή την +συνάρτηση έχουμε απλά το υπολογισμό του κύβου (ύψωση στην τρίτη δύναμη) της παραμέτρου x, που βρίσκεται στην γραμμή 68. Στην γραμμή 70, η τοποθέτηση του +αποτελέσματος σε παρένθεση κάνει την Xbasic να δώσει την τιμή αυτή σαν αποτέλεσμα υπολογισμού στην συνάρτηση cube και να το επιστρέψει στην μεταβλητή που +χρησιμοποιήσαμε για την κλήση της, την answer. + +Με αυτό το απλό παράδειγμα φαίνεται πόσο χρήσιμο είναι να χρησιμοποιούμε συναρτήσεις, εφόσον αν ξαναχρειαστούμε μέσα στο πρόγραμμα να υπολογίσουμε τον κύβο ενός +αριθμού δεν έχουμε παρά να καλέσουμε την συνάρτηση. + +Π.χ. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + SLONG x1,x2 + + x1 = 10 + x2 = cube(x1) + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + +### [3. Πως λειτουργούν οι συναρτήσεις]{#s3} + +Ένα πρόγραμμα Xbasic δεν εκτελεί τις εντολές που βρίσκονται σε μια συνάρτηση μέχρι η συνάρτηση να κληθεί από ένα άλλο μέρος του προγράμματος. Όταν η συνάρτηση +κληθεί, τότε το πρόγραμμα στέλνει τις παραμέτρους (αν υπάρχουν) στην συνάρτηση. Η παράμετρος είναι κάποια μεταβλητή που περιέχει πληροφορία που είναι απαραίτητη +για την εκτέλεση του κώδικα της συνάρτησης. Στην συνέχεια εκτελούνται οι εντολές που περιέχονται στην συνάρτηση εκτελώντας την επιθυμητή εργασία. Όταν τελειώσει +η εκτέλεση του κώδικα της συνάρτησης η εκτέλεση συνεχίζεται στην αμέσως επόμενη εντολή μετά την κλήση της συνάρτησης. Οι συναρτήσεις μπορεί να επιστρέφουν +κάποια τιμή στο πρόγραμμα που τις κάλεσε. + +### [3.1 Συναρτήσεις και δομημένος προγραμματισμός]{#ss3.1} + +Χρησιμοποιώντας τις συναρτήσεις δημιουργούμε ένα πρόγραμμα που είναι πολύ πιο εύκολο να αναπτυχθεί και να διορθωθεί εκ των υστέρων. Αυτός ο τρόπος συγγραφής +προγράμματος ονομάζεται δομημένος προγραμματισμός. + +### [3.2 Γιατί το να γράφουμε δομημένα με συναρτήσεις είναι σημαντικό;]{#ss3.2} + +Είναι πολύ ευκολότερο να προγραμματίζουμε δομημένα γιατί αυτός ο τρόπος προγραμματισμού μας επιτρέπει να αντιμετωπίσουμε το περίπλοκα προβλήματα διαιρώντας τα +σε πολλά απλά μικρά. Κάθε μικρό πρόβλημα αντιμετωπίζεται με την δική του συνάρτηση όπου οι μεταβλητές είναι απομονωμένες από το υπόλοιπα πρόγραμμα εκτός από τις +παραμέτρους και την τιμή επιστροφής. Έτσι η επίλυση μικρών προβλημάτων ένα κάθε φορά μας επιτρέπει να αναπτύξουμε με μεγαλύτερη ευκολία την εφαρμογή μας. + +Είναι πολύ ευκολότερο να βρίσκουμε τα λάθη σε ένα δομημένο πρόγραμμα. Αν υπάρχει κάποιο λάθος, αυτό μπορεί να περιοριστεί στην αντίστοιχη συνάρτηση και να +επιλυθεί. Δεν μπορούμε να το συγκρίνουμε με το πόσο επίπονο θα είναι να ψάχνουμε σε ένα κατεβατό από πολλές γραμμές κώδικα για να εντοπίσουμε το λάθος. + +Ένα πραγματικό πλεονέκτημα των συναρτήσεων είναι ότι αφού γράψουμε μια συνάρτηση για να λύσουμε ένα επιμέρους πρόβλημα τότε αυτή η συνάρτηση είναι διαθέσιμη να +χρησιμοποιηθεί ξανά, είτε στο τρέχον πρόγραμμα που γράφουμε, είτε σε κάποιο άλλο μεταγενέστερο. Ακόμα και αν οι ανάγκες του επόμενου προγράμματος είναι λίγο +διαφορετικές, είναι πιο απλό να αλλάξουμε λίγο τις εντολές μιας συνάρτησης, παρά να την ξαναγράψουμε από την αρχή. + +### [3.3 Σχεδιάζοντας ένα δομημένο πρόγραμμα.]{#ss3.3} + +Αν θέλετε να σχεδιάσετε ένα δομημένο πρόγραμμα πρέπει πρώτα να κάνετε ένα σχέδιο των λειτουργιών του προγράμματος. Αυτό πρέπει να γίνει πριν ακόμη αρχίζουμε να +γράφουμε κάποια γραμμή κώδικα. Είναι ανάγκη να ορισθούν οι λειτουργίες του προγράμματος. Παρακάτω θα δούμε ένα παράδειγμα στησίματος ενός δομημένου +προγράμματος. Ας πούμε λοιπό ότι ένα πρόγραμμα θα εκτελεί τις εργασίες: + +- Εισαγωγή νέων ονομάτων και διευθύνσεων +- Διόρθωση των στοιχείων που ήδη υπάρχουν +- Ταξινόμηση στοιχείων κατά όνομα +- Εκτύπωση ετικετών + +Με αυτόν τον κατάλογο εργασιών μπορούμε τώρα να αναλύσουμε κάθε εργασία στις επιμέρους για να ξεκινήσουμε να γράφουμε τον κώδικα. Ας ξεκινήσουμε με το +\"Εισαγωγή νέων ονομάτων και διευθύνσεων\" + +- Ανάγνωση των διαθεσίμων ονομάτων από το αρχείο +- 'νοιγμα πεδίων στην οθόνη για την καταχώρηση νέων στοιχείων +- Προσθήκη νέων στοιχείων στον κατάλογο των ονομάτων +- Φύλαξη όλου του καταλόγου + +Το \"Διόρθωση των στοιχείων που ήδη υπάρχουν\" αναλύεται σε: + +- Ανάγνωση των διαθεσίμων ονομάτων από το αρχείο +- 'νοιγμα πεδίων στην οθόνη για την διόρθωση των στοιχείων +- Φύλαξη όλου του καταλόγου + +Θα παρατηρήσατε ότι και στις δύο περιπτώσεις υπάρχουν δύο κοινές λειτουργίες, η \"Ανάγνωση των διαθεσίμων ονομάτων από το αρχείο\" και η \"Φύλαξη όλου του +καταλόγου\". Εδώ φαίνεται καθαρά η οικονομία χρόνου που μπορεί να έχουμε με την χρήση των συναρτήσεων. Θα γράψουμε δύο συναρτήσεις για αυτές τις δύο λειτουργίες +και θα τις χρησιμοποιήσουμε την κάθε μια, δύο φορές μέσα στο πρόγραμμά μας. Αυτή η μέθοδος δίνει ιεραρχική δομή στον κώδικα του προγράμματός μας. + +Αν ακολουθήσουμε την μέθοδο της αντιμετώπισης ενός προβλήματος διαιρώντας το σε περισσότερα μικρότερα δημιουργούμε ευανάγνωστα και εύκολα στην διόρθωση +προγράμματα. Έτσι θα δείτε πολλά προγράμματα Xbasic να έχουν ένα πολύ μικρό κομμάτι εκτελέσιμου κώδικα στην Entry(), και όλες οι λειτουργίες να γίνονται με +συναρτήσεις. Αποφεύγετε να γράφετε μεγάλες συναρτήσεις γιατί χάνονται τα πλεονεκτήματα της χρήσης τους. Επίσης σε ομάδες προγραμματιστών που ο κάθε ένας έχει +αναλάβει να γράψει κώδικα για διαφορετικό κομμάτι της εφαρμογής οι συναρτήσεις επιτρέπουν να μην γράφεται πολλές φορές (κάθε φορά από διαφορετικό +προγραμματιστή) κώδικας, που εκτελεί την ίδια λειτουργία. Συνήθως η συνάρτηση γράφεται από έναν και είναι διαθέσιμη σε όλους. + +### [3.4 Γράφοντας μια συνάρτηση]{#ss3.4} + +Εδώ θα δούμε λίγο πιο αναλυτικά αυτά που είδαμε παραπάνω στο παράδειγμά μας. + +Το πρώτο βήμα για να γράψουμε μια συνάρτηση είναι να έχουμε αποφασίσει τι θα κάνει. Όταν ξέρουμε τι θέλουμε να κάνει η συνάρτηση, είναι σχετικά εύκολο να την +γράψουμε. Στην πρώτη γραμμή της συνάρτησης, ορίζονται: + +- Το όνομά της +- Ο τύπος της συνάρτησης +- Η λίστα παραμέτρων (αν χρειάζεται) + +Στο παράδειγμά μας, στην γραμμή 66 έχουμε: `FUNCTION SLONG cube (SLONG x)` + +Αναλύοντας αυτή την γραμμή έχουμε: + +- Την εντολή `FUNCTION` που δηλώνει ότι ξεκινά από εδώ και πέρα κώδικας που ανήκει σε συνάρτηση και οι μεταβλητές που θα βρεθούν δεν έχουν σχέση με τυχόν + ίδιου ονόματος σε άλλα σημεία του προγράμματος. + +- Τον τύπο `SLONG` που σημαίνει ότι αυτή η συνάρτηση θα επιστρέψει τιμή τύπου `SLONG`. Ο τύπος της συνάρτησης μπορεί να είναι οποιοσδήποτε από τους τύπους + μεταβλητών της Xbasic που έχουμε αναφέρει σε προηγούμενα άρθρα.\ + Ετσι οι ορισμοί: + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + FUNCTION STRING retstr .. + FUNCTION SSHORT test . + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ορίζουν συναρτήσεις τύπου `STRING` και `SSHORT` αντίστοιχα. + +- Το όνομα της συνάρτησης που είναι το `cube`. Τα ονόματα των συναρτήσεων ακολουθούν του ίδιους κανόνες με τα ονόματα των μεταβλητών που έχουμε αναφέρει. + +- Τις παραμέτρους της συνάρτησης. + +Πολλές συναρτήσεις χρησιμοποιούν παραμέτρους που οι τιμές τους είναι απαραίτητα στοιχεία για εκτελέσουν κάποιο υπολογισμό. Για κάθε παράμετρο που μεταφέρει +κάποια τιμή στην συνάρτηση η λίστα παραμέτρων πρέπει να έχει έναν ορισμό. Αυτός ο ορισμός δηλώνει τον τύπο της μεταβλητής που φέρνει τα δεδομένα και ένα όνομα +που με αυτό αντιστοιχείται η τιμή αυτή μέσα στην συνάρτηση. + +Στην cube έχουμε την λίστα παραμέτρων (`SLONG x`). Με αυτόν τον τρόπο δηλώνουμε ότι, όταν κληθεί αυτή η συνάρτηση, θα μας έρθει +μια τιμή από το πρόγραμμα που την καλεί και από δώ και πέρα μέσα στην συνάρτηση αναφέρεται με το όνομα x. Στο παράδειγμά μας με την κλήση της συνάρτησης cube η +τιμή της μεταβλητής inpu περνάει στην συνάρτηση, και από δω και πέρα η τιμή αυτή εκπροσωπείται από την μεταβλητή x. + +Για να δούμε ξεκάθαρα την ευκολία που μας παρέχει η χρήση των συναρτήσεων θα κάνουμε διαδοχική κλήση της ίδιας συνάρτησης με άλλες παραμέτρους κάθε φορά. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + FUNCTION Entry() + SLONG num1 + SLONG num2 + SLONG z + num1 = 8 + num2 = 10 + z = cube(num1) + PRINT z + z = cube(num2) + PRINT z + END FUNCTION + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αν αντικαταστήσουμε την Entry() στο παράδειγμά μας με τις παραπάνω γραμμές, τότε το αποτέλεσμα του προγράμματος στην κονσόλα θα δείξει: + +`512`\ +`1000` + +Έτσι γράφοντας μια φορά την cube μπορούμε να έχουμε τον υπολογισμό του κύβου αριθμού με διαφορετικά δεδομένα κάθε φορά, και το αντίστοιχο αποτέλεσμα. + +### [3.5 Το εσωτερικό της συνάρτησης]{#ss3.5} + +Μπορούν να ορισθούν μεταβλητές στο εσωτερικό μιας συνάρτησης. Οι μεταβλητές αυτές ονομάζονται τοπικές. Ο όρος τοπικές σημαίνει ότι οι μεταβλητές αυτές ανήκουν +στην συνάρτηση και δεν έχουν καμμία σχέση με μεταβλητές ίδιου ονόματος σε άλλα σημεία του προγράμματος. Εννοείται ότι ακολουθούνται οι κανόνες ονοματολογίας των +μεταβλητών στην Xbasic. Συνοψίζοντας την χρήση των μεταβλητών στις συναρτήσεις της Xbasic έχουμε: + +- Τοπικές μεταβλητές\ + Ορίζονται στην συνάρτηση και δεν έχουν καμμία σχέση με άλλες μεταβλητές αλλού στο πρόγραμμα. +- Παράμετροι\ + Αυτές οι μεταβλητές μεταφέρουν δεδομένα από το πρόγραμμα που τις καλεί, για να χρησιμοποιηθούν σε υπολογισμούς. +- Επιστρεφόμενη τιμή\ + Για να μπορεί το πρόγραμμα που καλεί την συνάρτηση να πάρει ένα αποτέλεσμα του υπολογισμού της, πρέπει να ορισθεί μια τιμή επιστροφής. Αυτή ορίζεται είτε με + την τοποθέτηση της μεταβλητής που περιέχει την επιστρεφόμενη τιμή δίπλα στην εντολή END FUNCTION μέσα σε παρένθεση, είτε με τοποθέτηση μέσα στην συνάρτηση + μιας από τις δύο εντολές (RETURN ή EXIT FUNCTION) και δίπλα, σε παρένθεση, την μεταβλητή με την τιμή επιστροφής. + +### [3.6 Ο κώδικας των συναρτήσεων.]{#ss3.6} + +Συνήθως ο κώδικας των συναρτήσεων ακολουθεί τον κώδικα της συνάρτησης ENTRY () μέσα στο ίδιο αρχείο που περιέχεται όλο το πρόγραμμα. Σε πολύπλοκα προγράμματα +όμως, όπου αρκετοί προγραμματιστές ασχολούνται με το ίδιο θέμα, είναι καλύτερα οι συναρτήσεις να μπαίνουν σε ξεχωριστό αρχείο ή και σε πολλά αρχεία ανάλογα με +τις ανάγκες της εφαρμογής. Έτσι μπορεί να έχουμε σε ένα αρχείο όλες τις συναρτήσεις που έχουν σχέση με την αποθήκευση στον δίσκο, σε άλλο τα γραφικά, σε άλλο οι +μαθηματικοί υπολογισμοί κλπ. Έτσι δημιουργούνται οι βιβλιοθήκες συναρτήσεων, όπου ο κάθε προγραμματιστής μπορεί να τις συντηρεί (διορθώνει, βελτιώνει) και αυτές +να είναι διαθέσιμες σε όλους τους άλλους. + +Κλείνοντας το κεφάλαιο των συναρτήσεων θέλω να τονίσω ότι η διαφορά στον τρόπο προγραμματισμού με συναρτήσεις και χωρίς αυτές, είναι τόσο μεγάλη που πια σήμερα +κανείς δεν γράφει προγράμματα που να μην έχουν συναρτήσεις. Όταν εγώ ξεκίνησα να γράφω, οι γλώσσες που χρησιμοποιούσα τότε, δεν είχαν την δυνατότητα δημιουργίας +συναρτήσεων και πάρα πολλά λάθη είχαν εμφανισθεί λόγω της χρήσης ίδιων ονομάτων μεταβλητών σε διαφορετικά σημεία του προγράμματος. Η δε απομόνωση του σημείου +του κώδικα που περιείχε το λάθος ήταν εξαιρετικά επίπονη. Με την χρήση συναρτήσεων ο χρόνος εντοπισμού των σφαλμάτων περιορίστηκε σε κάτω από τον μισό. Στην +συνέχεια θα δούμε τις εντολές ελέγχου της ροής του προγράμματος στην Xbasic. + diff --git a/content/articles/29/05_bash.md b/content/articles/29/05_bash.md new file mode 100644 index 0000000..49cdfae --- /dev/null +++ b/content/articles/29/05_bash.md @@ -0,0 +1,197 @@ ++++ +title = 'Απλός χειρισμός Bash' +date = '2000-09-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης(mailto:kabrianis@hellug.gr)' +issue = ['Magaz 29'] +issue_weight = 5 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το standard shell του Linux είναι το bash, γι αυτό, ας μάθουμε μερικά πράγματα για αυτό.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Το Bash είναι ένα shell που χρησιμοποιείται ως standard στο Linux και υπάρχει διαθέσιμο και σαν πηγαίος κώδικας για να προστεθεί σε οποιoδήποτε Unix θέλετε. +Είναι ένα POSIX-compliant shell και βασικά πρόκειται για μια μετεξέλιξη του shell (sh) συνδυάζοντας τα καλύτερα στοιχεία των C-shell (csh) και Korn-shel (ksh).\ +Το bash υποστηρίζει command-line editing, substitution, filename completion, προχωρημένες δυνατότητες scripting κλπ. Το bash υποστηρίζει βέβαια και +wildcharacters ή χαρακτήρες-μπαλαντέρ (? για αντικατάσταση ενός χαρακτήρα και \* για αντικατάσταση απεριόριστων χαρακτήρων, `[ ]` +για καθορισμό εύρους τιμών κλπ. Σε κάθε περίπτωση, αυτό το κείμενο δεν μπορεί παρά να κάνει μία απλή εισαγωγή, και για περισσότερες πληροφορίες που θα οδηγούσαν +στην πλήρη εκμετάλλευση των δυνατοτήτων του bash, ο αναγνώστης πρέπει να διαβάσει το manual του bash (man bash). + +**1. Μεταβλητές** +---------------------------------------- + +**2. Ανακατεύθυνση** +------------------------------------------- + +**3. Έξοδος λογικής έκφρασης: test** +----------------------------------------------------------- + +**4. Έλεγχοι ροής** +------------------------------------------ + +**5. Επαναληπτικοί βρόγχοι** +--------------------------------------------------- + + +### [1. Μεταβλητές]{#s1} + +Οι μεταβλητές (βασικό στοιχείο σε κάθε πρόγραμμα) στο bash δεν είναι προκαθορισμένου τύπου, μπορεί δηλαδή η ίδια μεταβλητή να έχει αριθμητική τιμή, ή τιμή +κειμένου (string) κλπ χωρίς να το προδηλώσουμε πουθενά (αν και για το bash όλες οι μεταβλητές είναι strings, με την χρήση της eval μπορούμε να κάνουμε και +αριθμητικές πράξεις αν τα strings αποτελούνται μόνο από αριθμούς). Οι μεταβλητές ορίζονται με απλή τοποθέτηση (assignment, π.χ. var=1) και προσπελαύνονται +βάζοντας μπροστά από το όνομά τους το σύμβολο \$. Αν η τιμή μίας μεταβλητής εσωκλείεται σε διπλά εισαγωγικά \"\", τότε το bash αγνοεί οποιαδήποτε κενά +βρίσκονται εκεί. Αν δεν τα αγνοούσε, η τιμή της μεταβλητής θα ήταν οτιδήποτε υπάρχει μέχρι το πρώτο κενό. Ότι ήταν μετά το κενό θα θεωρούνταν ως τιμή της +δεύτερης μεταβλητής, κάτι το οποίο έχει ιδιαίτερο νόημα για παραμέτρους που δίνονται από την γραμμή εντολών κατά την κλήση του προγράμματος. Αν εσωκλείεται σε +ανάποδα μονά εισαγωγικά \`, τότε εννοείται ότι πρόκειται περί εντολής, η οποία θα εκτελεστεί και το αποτέλεσμα της εντολής θα αποτελεί την τιμή της μεταβλητής. + +Το bash χρησιμοποιεί κάποιες προκαθορισμένες μεταβλητές για τα διάφορα \"προγραμματάκια\" που μπορούμε να φτιάξουμε. Αυτές είναι οι: + +- \$\# Ο αριθμός των παραμέτρων που δώσαμε στην γραμμή εντολών. +- \$0 Η πρώτη λέξη της κληθείσας εντολής (πρακτικά δηλαδή το όνομα του προγράμματος). +- \$1 - \$N Οι παράμετροι που δώσαμε στην γραμμή εντολών (όπου \$1 η πρώτη παράμετρος, και N ίσο με το \$\#). +- \$@ Φυλάσσει το σύνολο των παραμέτρων της γραμμής εντολών (δηλαδή από \$1 μέχρι \$N όπως ακριβώς τις γράψαμε.) σε μορφή πίνακα (array). +- \$\* Φυλάσσει το σύνολο των παραμέτρων της γραμμής εντολών (δηλαδή από \$1 μέχρι \$N όπως ακριβώς τις γράψαμε) σε μία μεταβλητή (μία και μόνη, τύπου + string). +- \$? Σε αυτή τη μεταβλητή φυλάσσεται το αποτέλεσμα εξόδου της προηγούμενης εντολής. + + +### [2. Ανακατεύθυνση]{#s2} + +Το bash υποστηρίζει όπως θα ήταν ίσως αναμενόμενο, ανακατεύθυνση των τριών βασικών file descriptors, δηλαδή των standard input, standard output και standard +error (αντίστοιχα 0, 1 και 2). Η ανακατεύθυνση της εισόδου γίνεται με το σύμβολο \<, και η ανακατεύθυνση εξόδου (και εξόδου λάθους) με το σύμβολο \> γράφοντας +και τον αριθμό του file descriptor. Δηλαδή η έκφραση command 1\> output θα ανακατευθύνει την κανονική έξοδο στο αρχείο output (και είναι ισοδύναμη με την +command \> output) ενώ η έκφραση command 2\> error θα ανακατευθύνει την έξοδο λάθους στο αρχείο error. Για να ανακατευθύνουμε και την κανονική έξοδο, αλλά και +την έξοδο λάθους σε ένα αρχείο, μπορούμε να χρησιμοποιήσουμε οποιαδήποτε από τις ακόλουθες εκφράσεις: +`command &> out, command >& out, command 2>&1 out` + +Τέλος, το bash υποστηρίζει και piping, να ανακατευθύνει δηλαδή την έξοδο μίας εντολής, στην είσοδο μίας άλλης εντολής, με το σύμβολο \|. + + +### [3. Έξοδος λογικής έκφρασης: test]{#s3} + +Όποτε θέλουμε να ελέγξουμε το αποτέλεσμα μίας λογικής ή αριθμητικής έκφρασης χρησιμοποιούμε τη συνάρτηση test. Η συνάρτηση test επιστρέφει τιμή \"αληθής\" ή +\"ψευδής\" ανάλογα με το αληθές ή ψευδές της λογικής (ή και αριθμητικής) έκφρασης που ελέγχεται. H συνάρτηση test μπορεί να γραφεί και ώς `[ έλεγχος ]` . Η +έκφραση μπορεί να έχει ένα μόνο στοιχείο και έναν τελεστή (ο οποίος έτσι ονομάζεται unary operator) ή μπορεί να έχει δύο στοιχεία και έναν τελεστή ο οποίος +ονομάζεται binary operator. Πιο πολλές πληροφορίες από το manual page της συνάρτησης test το οποίο μπορείτε να δείτε γράφοντας man test + +Οι πιο συνηθισμένοι τελεστές: + +- `test [ 1 -eq 2 ]`\ + Η ανωτέρω έκφραση είναι ψευδής γιατί ο (αριθμητικός) τελεστής -eq σημαίνει ισότητα (equal). Άλλοι αριθμητικοί τελεστές είναι οι: + 1. -gt ο αριθμός αριστερά είναι μεγαλύτερος από τον αριθμό δεξιά (greater than). + 2. -lt ο αριθμός δεξιά είναι μικρότερος από τον αριθμό αριστερά (less than). + 3. -ne οι δύο αριθμοί δεν είναι ίσοι (not equal). + 4. -ge ο αριθμός αριστερά είναι μεγαλύτερος ή ίσος από τον αριθμό δεξιά (greater or equal). + 5. -le ο αριθμός αριστερά είναι μικρότερος ή ίσος από τον αριθμό δεξιά (less or equal). +- `test [ like = likme ]`\ + Η ανωτέρω έκφραση είναι ψευδής γιατί ο (λογικός) τελεστής = σημαίνει ότι τα δύο strings που συγκρίνουμε είναι ίσα (ίδια). Άλλοι λογικοί τελεστές σχετικοί με + strings είναι οι: + 1. != ο οποίος προφανώς επιστρέφει \"αληθές\" όταν τα δύο strings που συγκρίνουμε είναι ανόμοια. + 2. -z ο οποίος είναι unary operator (συντάσσεται δηλαδή ως εξής: `test [ -z string ]`) επιστρέφει \"αληθές\" αν το μήκος του string είναι μηδενικό. + 3. -n που είναι και αυτός unary operator (συντάσσεται δηλαδή ως εξής: `test [ -n string ]`) επιστρέφει \"αληθές\" αν το μήκος του string δεν είναι + μηδενικό. +- `test [ -e filename ]`\ + Η ανωτέρω έκφραση βγαίνει αληθής όταν το αρχείο με όνομα filename υπάρχει. Άλλοι τελεστές ελέγχου της κατάστασης ενός αρχείου είναι οι εξής (όλοι όσοι + αναφέρονται εδώ είναι unary operators): + 1. -b αν το αρχείο υπάρχει και είναι block device + 2. -c αν το αρχείο υπάρχει και είναι character device + 3. -d αν το αρχείο υπάρχει και είναι directory + 4. -f αν το αρχείο υπάρχει και είναι κανονικό αρχείο + 5. -r αν το αρχείο υπάρχει και μπορεί να διαβαστεί + 6. -s αν το αρχείο υπάρχει και το μέγεθος του δεν είναι μηδέν + 7. -w αν το αρχείο υπάρχει και μπορεί να γραφτεί + 8. -x αν το αρχείο υπάρχει και μπορεί να εκτελεστεί + + +### [4. Έλεγχοι ροής]{#s4} + +- if - then - else + + Ένας τρόπος και ο πιο συνηθισμένος ελέγχου ροής ενός προγράμματος είναι ο έλεγχος if-then-else όπου ελέγχουμε το αποτέλεσμα μίας λογικής έκφρασης και + ανάλογα με αυτό το αποτέλεσμα καθορίζουμε τι θα κάνει το πρόγραμμα. Προφανώς ο έλεγχος χρησιμοποιεί το αποτέλεσμα της συνάρτησης test για να καθορίσει την + ροή. Για παράδειγμα + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + if [ $i -eq 3 ]; then + echo 'Number is 3'; + elif [ $i -eq 2 ]; then + echo 'Number is 2'; + else echo 'Number is neither 3 nor 2'; + fi + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + όπου είναι προφανές ότι κάπου στο πρόγραμμά μας έχουμε δώσει τιμή στην παράμετρο \$i. Μπορούμε να έχουμε όσα elif θέλουμε, αρκεί στο τέλος να υπάρχει και + ένα else. Αν δεν υπάρχει κανέναν elif δεν είναι υποχρεωτικό και το else, είναι όμως σε κάθε περίπτωση υποχρεωτικό το fi. + +- select + + Η συνάρτηση select δουλεύει (και συντάσσεται) όπως η if αλλά δίνει τη δυνατότητα να δημιουργήσουμε menu. Για παράδειγμα + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + select i in a.txt b.txt c.txt; do + cat $i; + done + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Το ανωτέρω παράδειγμα παρουσιάζει στον χρήστη ένα menu με τρεις επιλογές και ανάλογα με την επιλογή του χρήστη, του εμφανίζει το αντίστοιχο αρχείο στην + οθόνη. + +- case + + Η συνάρτηση case τέλος, προσομοιάζει στην αντίστοιχη συνάρτηση της C και σαν σύνταξη, αλλά και σαν αποτέλεσμα, και συγκεκριμένα εκτελεί προκαθορισμένες + εντολές για προκαθορισμένες τιμές μίας μεταβλητής, έχοντας ταυτόχρονα και μία γενική περίπτωση που δεν εμπίπτει στις υπόλοιπες. Για παράδειγμα + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + case $i in + 1 | 3 | 5 | 7 | 9) echo -n "Odd one-digit number";; + 0 | 2 | 4 | 6 | 8) echo -n "Even one-digit number";; + *) echo -n "It definitely is not a one-digit nummber";; + esac + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Το ανωτέρω παράδειγμα ελέχει την μεταβλητή \$i που υποτίθεται ότι κάπου πιο πριν την έχουμε δώσει, και μας απαντάει αν είναι μονός ή ζυγός μονοψήφιος + αριθμός, ή όχι. + + +### [5. Επαναληπτικοί βρόγχοι]{#s5} + +- for - do + + Ο βρόγχος for - do είναι ο πιο συνηθισμένος σε όλες τις γλώσσες προγραμματισμού. Η χρήση του είναι απλούστατη ειδικά στο bash όπου \\textbf{δεν μπορούμε να + ορίσουμε πεδίο τιμών, αντ\' αυτού είμαστε υποχρεωμένοι να ορίζουμε τις τιμές μία μία, ακόμα και αν αυτές είναι κατά κάποια έννοια συνεχόμενες. Ένα + παράδειγμα είναι το απλούστατο: + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + for i in 1 3 5 ; do + echo $i; + done + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Το πεδίο τιμών της μεταβλητής \$i δεν αποτελείται υποχρεωτικά από αριθμούς αλλά μπορεί να είναι και λέξεις ή γράμματα, ή ακόμα και wildcharacters (\* και ?) + κάνοντας έτσι αυτό τον βρόγχο ένα πανίσχυρο εργαλείο. + +- while - do Η συνάρτηση while εκτελεί κάποιες εντολές όσο μία λογική έκφραση είναι αληθής. Το κλασικότερο παράδειγμα είναι η δημιουργία ενός επαναληπτικού + βρόγχου, ως εξής: + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + while [ $i -lt 10 ]; do + read i; + echo $i; + done + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Προφανώς το παράδειγμα αυτό θα μας εμφανίζει συνέχεια ότι του γράφουμε μέχρι να δώσουμε ένα αριθμό μεγαλύτερο (ή ίσο) του 10. Προσοχή χρειάζεται εδώ, γιατί + στο πρόγραμμά μας η μεταβλητή \$i πρέπει να έχει τιμή πριν κληθεί η while. + diff --git a/content/articles/30/01_editorial.md b/content/articles/30/01_editorial.md new file mode 100644 index 0000000..b547ac5 --- /dev/null +++ b/content/articles/30/01_editorial.md @@ -0,0 +1,108 @@ ++++ +title = 'Editorial' +date = '2001-09-01T00:00:00Z' +description = '' +author = 'Παπαδογιαννάκης Βαγγέλης(mailto:papas@hellug.gr)' +issue = ['Magaz 30'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Καλώς ήρθατε στο magaz.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**Ενα editorial διαφορετικό από τα άλλα.** + +Αυτό το editorial δεν θα σας πει ποια άρθρα φιλοξενούμε αυτό το μήνα, ούτε θα σας προτρέψει να ψηφίσετε σε μια ψηφοφορία. Θα σχολιάσω (όπως το βλέπω εγω) το +περιοδικό μας και μερικά πράγματα για το **linux** ξεχωριστά. Θα μπορούσε να είναι ένα ξεχωριστό άρθρο, αλλά καλά είναι και εδώ, το κάνει πιο επίσημο. + +Άλλο ένα καθυστερημένο [magaz](http://magaz.hellug.gr) λοιπόν. Δεν θα προσπαθήσω να δικαιολογηθώ για αυτήν την καθυστέρηση, το ξέρω άλλωστε ότι πολλές ευθύνες +βαραίνουν και εμένα. + +Το θέμα είναι ότι κάτι φαίνεται να μην πάει καλά. Τι όμως είναι αυτό, και πώς μπορούμε να το καταπολεμήσουμε, ώστε να μην παίρνω email διαμαρτυρίας για το πότε +θα βγεί το περιοδικό; Και η αλήθεια είναι ότι δεν με πτοούν τα email διαμαρτυρίας. Αυτό που με στεναχωρεί όμως είναι ότι λαμβάνω και πολλά emails με +συγχαρητήρια και προτροπές για να συνεχίσουμε την καλή δουλειά που κάνουμε κ.λπ. Θα απορήσετε γιατί με στεναχωρεί αυτό. Η απάντηση είναι απλή: επειδή βλέπω ότι +δεν είμαστε πια σε θέση να ακολουθήσουμε την ολοένα αυξανόμενη κίνηση των χρηστών υπολογιστών προς το **linux**. + +Και εξηγούμαι:\ +Είμαστε 5-6 άτομα. Το κάθε περιοδικό απαιτεί 4 άρθρα τουλάχιστον. Αν λοιπόν από αυτά τα 6 άτομα ο ένας δεν μπορέσει ένα μήνα να γράψει άρθρο και αν άλλος ένας +δεν ξέρει τι να γράψει - μια και ο καθένας την ειδικότητά του μερικές φορές την έχει καλύψει και η θεματολογία του πλεον έχει παρουσιαστεί εξολοκλήρου - τότε +πρέπει οι άλλοι να δουλέψουν πυρετωδώς για να βγάλουν ένα περιοδικό για όλους. + +Μέχρι πότε; Πόσο πιστεύετε ότι μπορεί να κρατήσει αυτό; + +Πόσο δηλαδή κάποιοι θα σηκώνουν όλο το βάρος πάνω τους; + +Ξέρω, όλα αυτά είναι χιλιοειπωμένα και στο παρελθόν και η ανταπόκριση ήταν μηδαμινή και τότε. Γιατί τα γράφω λοιπόν; Η απάντηση είναι απλή: επειδή πιστεύω ότι +κάποιοι, έστω και λίγοι, μπορούν (και θέλουν) να βοηθήσουν. Δεν είναι ανάγκη τα άρθρα τους να είναι πλήρη από τεχνικής πλευράς. + +Δεν είναι ανάγκη να δουλεύουν και να έχουν φοβερή πείρα, για να γράψουν ένα άρθρο. Δεν είναι ανάγκη να ξέρουν τίποτα παραπάνω από το θέμα για το οποίο θα +γράψουν. Τι θα πει αυτό; Ας πούμε, για παράδειγμα, ότι κάποιος πάει να στήσει την κάρτα ήχου του, τη SB Live!. Γιατί όσο την στήνει να μη γράψει ένα άρθρο με το +οποίο να εξηγεί τι έκανε και δεν πέτυχε, τι έκανε λάθος, τι χρειάστηκε να προσθέσει για να δουλέψει, από που κατέβασε τι κ.λπ.; + +Άλλο παράδειγμα: Κάποιος έστησε ένα δικτυάκι στο σπίτι του και χρησιμοποίησε **linux**, για να μοιράζει internet και samba, για file sharing. Γιατί να μη γράψει +και αυτός ένα άρθρο, εξηγώντας πώς το έκανε; + +Όπως βλέπετε, δεν είναι ανάγκη να γράφουμε εξειδικευμένα άρθρα. Oι αναγνώστες μας είναι ως επί το πλείστον νέοι. Δεν λέω να μην υπάρχουν τεχνικά άρθρα φυσικά, +αλλά αυτά θα είναι το κερασάκι στην τούρτα. + +**Πού απευθύνομαι**; Σε όλους αυτούς που έχουν χρόνο, σε όλους τους φοιτητές που μπορούν να κρατήσουν το περιοδικό ζωντανό. Είναι αυταπόδεικτο ότι δεν μπορούμε +να στηριχτούμε σε άτομα που εργάζονται 8 με 10 ώρες τη μέρα. Είναι λογικό το ότι νέο αίμα πρέπει να κυλίσει. Είναι βασική η βοήθειά σας, μην την αρνιέστε. Χωρίς +όλους εσάς, εμείς δεν μπορούμε να συνεχίσουμε. Μη φοβάστε ότι θα είσαστε λάθος. \`Ολοι είμαστε, λίγο ή πολύ. Η πορεία προς την επιτυχία δεν καθορίζεται από τα +5-6 άτομα τακτικούς αρθρογράφους. Καθορίζεται από το σύνολο των Linuxάδων της χώρας μας. + +Αν θέλετε να βοηθήσετε, και δεν ξέρετε πώς, στείλτε ένα email σε εμένα να σας πω λεπτομέρειες. Μη διαβάζετε αυτήν τη γραμμή και μέσα σας λέτε \`\`σιγά μωρέ, ωχ +αδερφέ\'\' και άλλα χαριτωμένα. + +Και κάτι τελευταίο και κλείνω αυτόν τον τομέα.\ +Το περιοδικό δεν είναι του [hellug](http://www.hellug.gr). Είναι δικό σας. Μπορεί ο [hellug](http://www.hellug.gr) να το φιλοξενεί, αλλά είναι δικό σας! \`Ολων +εσάς που το διαβάζετε κάθε μήνα! Για μια φορά μην το διαβάσετε απλά, βοηθήστε το! + +Θα ήθελα, ακόμα, να σχολιάσω το **linux** γενικότερα, παίρνοντας ως αφορμή την ολοένα αυξανόμενη αναλογία του noise/signal στην [Linux Greek +Users](http://lists.hellug.gr). + +Η έννοια που πρέπει να καταλάβουν όλοι γύρω από το **linux** , κατά τη δική μου άποψη, δεν είναι ότι είναι τσάμπα (δωρεάν). Δωρεάν προγράμματα υπάρχουν πολλά. +Τσάμπα. Δεν τα πληρώνεις. Δεν είσαι αναγκασμένος να τα πληρώσεις για να τα χρησιμοποιήσεις. Και στα windows υπάρχουν τσάμπα προγράμματα (**IE, outlook express, +realdownload**, κα). Το θέμα είναι ο κώδικας. + +Είναι η ελευθερία που σου παρέχει να **ΔΕΙΣ** πώς αυτό το πρόγραμμα κάνει αυτό που κάνει. Να σιγουρευτείς ότι δεν έχει ένα **backdoor**, ούτε στέλνει τα +στοιχεία σου σε έναν κεντρικό server και **φακελώνεσαι κανονικά και με το νόμο**. \`Ολοι έχουν ακούσει για τα περίφημα *\`\`τσάμπα\'\'* προγράμματα που στέλνουν +σε ένα server τα αρχεία που κατεβάζεις, τις σελίδες που επισκέπτεσαι, το όνομα και το επώνυμό σου. Η πιο τρανή απόδειξη είναι το **RealDownload** και όλα τα +προγράμματα της ABE (ναι, και το **CuteFTP** που όλοι χρησιμοποιείτε).\ +Σας παραπέμπω στις εξής σελίδες: + +\ + + +όπου μπορείτε να δείτε πώς οι κύριοι που βγάζουν \`\`τσάμπα\'\' προγράμματα σας φακελώνουν κανονικά, τόσο εσάς όσο και τις προτιμήσεις σας, τις σελίδες που +επισκέπτεστε, όλα. + +Κάτι τέτοιο με προγράμματα του **linux** είναι απίθανο (αδύνατο) να συμβεί, μια και η συντριπτική πλειοψηφία είναι OPEN SOURCE, (παρέχεται και ο κώδικας). Αν +κάποιος αντιληφθεί κάτι τέτοιο, είναι θέμα ωρών να διορθωθεί το πρόβλημα και να κατέβει αυτό το πρόγραμμα από οπουδήποτε υπάρχει. + +Αυτό είναι το καλό του **linux**. \`Οχι ότι είναι \`\`τσάμπα\'\'. + +Μαζί, φυσικά, έρχονται και κάτι άλλα, που λίγοι τα εκτιμούν. Είναι η δημιουργία (και τήρηση) των standards (έχετε δοκιμάσει reverse DNS se NT;). Είναι ότι άν +βρεθεί τρύπα ασφαλείας, σε μία ώρα έχει φτιαχτεί. Είναι ότι η βελτίωση είναι ραγδαία, ακόμα και στο επίπεδο του desktop, που ενδιαφέρει τους περισσότερους +(νέους) χρήστες (σας θυμίζω την περίπτωση του \`\`πολυσυζητημένου\'\' benchmark win2K-Linux, όπου υπήρχε ένα λάθος στο TCP stack του πυρήνα. Φτιάχτηκε σε +λιγότερο από 1 ώρα). + +Είναι όλα αυτά που κάνουν το λειτουργικό μας ξεχωριστό. Είναι όλα αυτά που μας κάνουνε να λατρέυουμε το **linux**. Και συγχωρέστε μας, αν καμιά φορά είμαστε +απότομοι, είναι όμως \*σκληρό\* να βλέπεις πόσοι πολλοί δεν κάνουν το βασικότερο, να διαβάσουν το help. Απαιτούν κάτι έτοιμο, κάτι μασημένο. Αυτούς δεν τους +θέλουμε. Θέλουμε σκεπτόμενα άτομα, θέλουμε άτομα ενεργά και όχι παράσιτα. Θέλουμε βοήθεια, όπως εμείς προσφέρουμε βοήθεια. Δεν θέλουμε τα script kiddies, τους +ετοιματζήδες, δεν θέλουμε τους (και καλά) hackers. Ποιους (και καλά) hackers; Θα σας δώσω ένα παράδειγμα. + +Αυτούς που θέλουν να hackέψουν **linux** servers με το Unicode Bug! Που θέλουν να κατεβάσουν ένα μηχάνημα, για να το λένε αργότερα κομπάζοντας στα φιλαράκια +τους, αλλά ούτε καν κάνουν τον κόπο να δούνε τι λειτουργικό τρέχει! Υπάρχουν web servers, που δέχονται γύρω στις 20 επιθέσεις τη μέρα, και οι 18 είναι με χρήση +του **Unicode Bug**, bugs του **FrontPage** και bugs του **IIS** (και των samples αυτού). Αν αυτοί δεν είναι παιδάκια που θέλουν να κάνουν το κομμάτι τους, τι +είναι; + +Αυτά είχα να πω, να ξανατονίσω όμως ότι είναι προσωπικές μου απόψεις, και δεν έχουν καμία σχέση με το [magaz](http://magaz.hellug.gr) ή το +[hellug](http://www.hellug.gr) γενικότερα. Οποιοδήποτε flame/αντίρρηση/παρατηρήσεις/συγχαρίκια/email με vbscript viruses(!) , στείλτε τα στο +[papas\@hellug.gr](papas@hellug.gr). Βεβαιωθείτε μόνο ότι έχετε βάλει charset, αν υπάρχουν ελληνικά, γιατί το **procmail** μου δεν αστειεύεται (BTW, υπάρχει ένα +πολύ καλό άρθρο για το procmail αυτό το μήνα από τον Αποστολάκη Νίκο) + +Κλείνοντας, να ζητήσω συγνώμη από τα άτομα που μου έχουν στείλει άρθρο πολύ καιρό αλλά λόγω της έλλειψης ύλης δεν μπορούσα να τα δημοσιεύσω. + +[Παπαδογιαννάκης Βαγγέλης](mailto:papas@hellug.gr) diff --git a/content/articles/30/02_xbasic.md b/content/articles/30/02_xbasic.md new file mode 100644 index 0000000..e182115 --- /dev/null +++ b/content/articles/30/02_xbasic.md @@ -0,0 +1,386 @@ ++++ +title = 'Xbasic' +date = '2001-09-01T00:00:00Z' +description = '' +author = 'Κώστας Τσακάλογλου(mailto:tsakf@hellug.gr)' +issue = ['Magaz 30'] +issue_weight = 2 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Εντολές ανακύκλωσης* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Εντολές ανακύκλωσης** +--------------------------------------------------- + +**2. Η εντολή FOR \... NEXT** +------------------------------------------------------ + +- [2.1 Παράδειγμα](#ss2.1) + +**3. FOR \... NEXT μέσα σε άλλο FOR..NEXT** +-------------------------------------------------------------------- + +- [3.1 Παράδειγμα πολλαπλών FOR\...NEXT.](#ss3.1) + +**4. Η εντολή EXIT FOR** +------------------------------------------------- + + +### [1. Εντολές ανακύκλωσης]{#s1} + +Ο τρόπος που εκτελείται ένα πρόγραμμα XBASIC είναι ο συνηθισμένος, όπου οι εντολές εκτελούνται από επάνω προς τα κάτω.\ +Η εκτέλεση των εντολών ξεκινά από την συνάρτηση `ENTRY()` και εκτελούνται μία-μία οι εντολές, από επάνω προς τα κάτω μέχρι να φτάσουμε στην εντολή +`END FUNCTION` όπου εκεί τελειώνει η εκτέλεση του προγράμματος. + +Στην πραγματικότητα όμως, σπάνια βρίσκουμε προγράμματα που να εκτελούνται έτσι απλά όπως περιγράψαμε πριν. Σε πάρα πολλές περιπτώσεις χρειαζόμαστε +επαναλαμβανόμενες διαδικασίες και πολύπλοκους ελέγχους για να κατασκευάσουμε ένα πρόγραμμα που θα εκτελεί κάποια ζητούμενη, σύνθετη εργασία.\ +Η XBASIC μας δίνει κάποιες εντολές για να μπορούμε να έχουμε επαναλαμβανόμενες διαδικασίες μέσα στο πρόγραμμά μας. Αυτές είναι οι εντολές `FOR ... NEXT` και η +εντολές `DO ... LOOP` + +Παρακάτω θα αναλύσουμε και τις δύο για να δούμε την χρήση τους και πως μπορούμε να τις εφαρμόσουμε. + + +### [2. Η εντολή FOR \... NEXT]{#s2} + +Αυτή την εντολή την χρησιμοποιούμε για να έχουμε την εκτέλεση μιας ή μιας ομάδας εντολών για προκαθορισμένο αριθμό επαναλήψεων. Η μορφή της είναι: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + FOR [μεταβλητή] = [αρχική τιμή] ΤΟ [τελική τιμή] STEP [βήμα] + .. + [εντολές που θα εκτελεστούν επαναλαμβανόμενα] + .. + NEXT [μεταβλητή] + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +### [2.1 Παράδειγμα]{#ss2.1} + +Θα δούμε ένα παράδειγμα χρήσης της FOR \... NEXT + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + 1. ' + 2. ' + 3. ' #################### + 4. ' ##### PROLOG ##### + 5. ' #################### + 6. ' + 7. PROGRAM "progname" ' 1-8 char program/file name without .x or any .extent + 8. VERSION "0.0000" ' version number - increment before saving altered program + 9. ' + 10. ' You can stop the PDE from inserting the following PROLOG comment lines + 11. ' by removing them from the prolog.xxx file in your \xb\xxx directory. + 12. ' + 13. ' Programs contain: 1: PROLOG - no executable code - see below + 14. ' 2: Entry function - start execution at 1st declared func + 15. ' * = optional 3: Other functions - everything else - all other functions + 16. ' + 17. ' The PROLOG contains (in this order): + 18. ' * 1. Program name statement PROGRAM "progname" + 19. ' * 2. Version number statement VERSION "0.0000" + 20. ' * 3. Import library statements IMPORT "libName" + 21. ' * 4. Composite type definitions TYPE ... END TYPE + 22. ' 5. Internal function declarations DECLARE/INTERNAL FUNCTION Func (args) + 23. ' * 6. External function declarations EXTERNAL FUNCTION FuncName (args) + 24. ' * 7. Shared constant definitions $$ConstantName = literal or constant + 25. ' * 8. Shared variable declarations SHARED variable + 26. ' + 27. ' ****** Comment libraries in/out as needed ***** + 28. ' + 29. ' IMPORT "xma" ' Math library : SIN/ASIN/SINH/ASINH/LOG/EXP/SQRT... + 30. ' IMPORT "xcm" ' Complex library : complex number library (trig, etc) + 31. ' IMPORT "xst" ' Standard library : required by most programs + 32. ' IMPORT "xgr" ' GraphicsDesigner : required by GuiDesigner programs + 33. ' IMPORT "xui" ' GuiDesigner : required by GuiDesigner programs + 34. ' + 35. DECLARE FUNCTION Entry () + 36. ' + 37. ' + 38. ' ###################### + 39. ' ##### Entry () ##### + 40. ' ###################### + 41. ' + 42. ' Programs contain: + 43. ' 1. A PROLOG with type/function/constant declarations. + 44. ' 2. This Entry() function where execution begins. + 45. ' 3. Zero or more additional functions. + 46. ' + 47. FUNCTION Entry () + 48. SSHORT i + 49. FOR i=1 TO 20 + 50. PRINT i + 51. NEXT i + 52. END FUNCTION + 53. END PROGRAM + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#### Γραμμές 1..35 Ορισμοί + +Οι γνωστές πια σε όλους γραμμές ορισμού του προγράμματος των βιλιοθηκών και των συναρτήσεων του προράμματος. + +#### Γραμμές 47..52 Η συνάρτηση ENTRY() + +Εδώ έχουμε την συνάρτηση `ENTRY()` όπου και θα αναλύσουμε για να δούμε τον τρόπο λειτουργίας της `FOR ... NEXT` + +Η εκτέλεση του προγράμματος ξεκινά από την γραμμή 49 όπου υπάρχει και η εντολή `FOR`. Έχοντας ορίσει ακριβώς παραπάνω το είδος της μεταβλητής `i` μπορούμε να +την χρησιμοποιήσουμε. Αναφέρω ξανά τα παραπάνω προασμοσμένα στο παράδειγμά μας. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + FOR [μεταβλητή] = [αρχική τιμή] ΤΟ [τελική τιμή] STEP [βήμα] + .. + [εντολές που θα εκτελεστούν επαναλαμβανόμενα] + .. + NEXT [μεταβλητή] + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Όπου έχουμε :\ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + [μεταβλητή] = i + [αρχική τιμή] = 1 + [τελική τιμή] =20 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Το `STEP` έχει παραλειφθεί γιατί θεωρείται ότι η απουσία της STEP δηλώνει αύξηση κατά 1 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + [εντολές που θα εκτελεστούν επαναλαμβανόμενα]= PRINT i + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Θα ξεκινήσουμε παρακολουθώντας βήμα-βήμα την εκτέλεση του προγράμματος για να δούμε τι γίνεται. + +Η εκτέλεση ξεκινά από την γραμμή 49 όπου η μεταβλητή `i` παίρνει την τιμή `1` και γίνεται έλεγχος άν αυτή η τιμή είναι μεγαλύτερη από την τελική τιμή της. Εφ\' +όσον η τιμή της μεταβλητής είναι μικρότερη από την τελική τιμή, τότε συνεχίζεται η εκτέλεση της γραμμής 50.\ +Στην γραμμή 50 γίνεται εμφάνιση της τιμής της `i` στο παράθυρο κοσόλας της **XBASIC**. Στην γραμμή 51 γίνεται αύξηση της τιμής της `i` κατά το βήμα που έχει +ορισθεί (1) και εκτελείται ξανά η εντολή 49. Τώρα πάλι γίνεται έλεγχος άν η τιμή της `i` που είναι πια 2 είναι μικρότερη από την μέγιστη (20). Είναι, οπότε +έχουμε πάλι την εκτέλεση της γραμμής 50 και εμφανίζεται πάλι στο παράθυρο κονσόλας η τιμή της i. Συνεχίζουμε ξανά με την ΝΕΧΤ όπου η τιμή της i γίνεται 3. Πάλι +εκτέλεση της 49, έλεγχος και επανάληψη όλων των παραπάνω μέχρι η τιμή της `i` να γίνει 20.\ +Μόλις η τιμή γίνει 20 τότε ο έλεγχος στην γραμμή 49 δίνει ότι έχουμε φτάσει στην τελική τιμή της μεταβλητής. Τότε παταλείπονται όλες οι εντολές μέχρι την εντολή +`NEXT` και η εκτέλεση του προγράμματος συνεχίζεται μετά από αυτήν. Στο παράδειγμά μας, δεν έχουμε τίποτε άλλο έτσι η εκτέλεση του προγράμματος τελειώνει. + +Με την βοήθεια ορισμού του βήματος μπορούμε να έχουμε διάφορες περιπτώσεις που η μεταβλητή `i` δεν αυξάνει κατά 1 αλλά με διαφορετικό βήμα. Π.χ. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + FOR i= 1 to 16 STEP 3 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Σε αυτή την περίπτωση το βήμα για κάθε ανακύκλωση αυξάνει κατά 3 και οι διαδοχικές τιμές που μπορεί λαμβάνει η `i` είναι 1,4,7,10,13,16. Επίσης μπορούμε να +έχουμε αντί για αύξηση της τιμής της `i` μείωση με την παρακάτω σύνταξη. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + FOR i = 16 to 1 STEP -1 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Σε αυτή την περίπτωση η διαδοχικές τιμές της `i` θα είναι 16,15,14,\...3,2,1. + +Συνοψίζοντας βλέπουμε ότι με την εντολή `FOR ... NEXT` μπορούμε να έχουμε επαναλαμβανόμενη εκτέλεση κώδικα όσες φορές επιθυμούμε +και με οποιοδήποτε βήμα. + + +### [3. FOR \... NEXT μέσα σε άλλο FOR..NEXT]{#s3} + +Υπάρχει η δυνατότητα να έχουμε πολλαπλά `FOR ... ΝΕΧΤ` το ένα μέσα στο άλλο.\ +Απαραίτητη προυπόθεση είναι αυτά να έχουν διαφορετικές μεταβλητές μέτρησης. Αν χρησιμοποιηθεί η ίδια μεταβλητή μέτρησης τότε το ένα `NEXT` θα επηρεάζει το άλλο +με απρόβλεπτα αποτελέσματα στην εκτέλεση του κώδικα.\ +Έτσι είναι λάθος να γράψουμε: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + FOR i=1 TO 10 + FOR i=2 TO 7 + . + . + . + NEXT i + NEXT i + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Θα παρατηρήσουμε ότι στο παραπάνω παράδειγμα έχει τοποθετηθεί το δεύτερο `FOR` δεξιότερα από το πρώτο.\ +Αυτό μας βοηθάει πάρα πολύ κατά την ανάγνωση το προγράμματός μας να βλέπουμε που τελειώνει η κάθε ανακύκλωση χωριστά. Ένα άλλο λάθος που γίνεται μερικές φορές +είναι η λάθος αντιστοίχηση των `FOR` με τα αντίστοιχα `NEXT`. Κάποιος που θα γράψει: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + FOR i= 1 TO 10 + FOR k= 1 TO 5 + . + . + . + NEXT i + NEXT k + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +θα λάβει μήνυμα λάθους `NESTING ERROR`. Αυτό συμβαίνει γιατί κατά την ανάγνωση του κώδικα ο υπολογιστής έχει καταχωρίσει ότι η τελευταία μεταβλητή μέτρησης +είναι η `k` και όχι η `i`. + +Ένα άλλο λάθος που μπορεί να γίνει είναι ο λάθος υπολογισμός της τελικής τιμής άν έχουμε βήμα διαφορετικό από το 1 όπως στο προηγούμενο παράδειγμα και έτσι ενώ +έχουμε γράψει + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + FOR i = 1 TO 10 STEP 3 + . + . + + ΝΕΧΤ i + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Ετσι η τελική τιμή της μεταβλητής i είναι διαφορετική από αυτήν που περιμένουμε να έχει η i κατά την τελευταία ανακύκλωση. + +### [3.1 Παράδειγμα πολλαπλών FOR\...NEXT.]{#ss3.1} + +Θα γράψουμε ένα μικρό πρόγραμμα που θα δημιουργεί μια επιφάνεια από Χ ανάλογα με τις διαστάσεις που εισάγουμε. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + 1. ' + 2. ' + 3. ' #################### + 4. ' ##### PROLOG ##### + 5. ' #################### + 6. ' + 7. PROGRAM "progname" ' 1-8 char program/file name without .x or any .extent + 8. VERSION "0.0000" ' version number - increment before saving altered program + 9. ' + 10. ' You can stop the PDE from inserting the following PROLOG comment lines + 11. ' by removing them from the prolog.xxx file in your \xb\xxx directory. + 12. ' + 13. ' Programs contain: 1: PROLOG - no executable code - see below + 14. ' 2: Entry function - start execution at 1st declared func + 15. ' * = optional 3: Other functions - everything else - all other functions + 16. ' + 17. ' The PROLOG contains (in this order): + 18. ' * 1. Program name statement PROGRAM "progname" + 19. ' * 2. Version number statement VERSION "0.0000" + 20. ' * 3. Import library statements IMPORT "libName" + 21. ' * 4. Composite type definitions TYPE ... END TYPE + 22. ' 5. Internal function declarations DECLARE/INTERNAL FUNCTION Func (args) + 23. ' * 6. External function declarations EXTERNAL FUNCTION FuncName (args) + 24. ' * 7. Shared constant definitions $$ConstantName = literal or constant + 25. ' * 8. Shared variable declarations SHARED variable + 26. ' + 27. ' ****** Comment libraries in/out as needed ***** + 28. ' + 29. ' IMPORT "xma" ' Math library : SIN/ASIN/SINH/ASINH/LOG/EXP/SQRT... + 30. ' IMPORT "xcm" ' Complex library : complex number library (trig, etc) + 31. ' IMPORT "xst" ' Standard library : required by most programs + 32. ' IMPORT "xgr" ' GraphicsDesigner : required by GuiDesigner programs + 33. ' IMPORT "xui" ' GuiDesigner : required by GuiDesigner programs + 34. ' + 35. DECLARE FUNCTION Entry () + 36. ' + 37. ' + 38. ' ###################### + 39. ' ##### Entry () ##### + 40. ' ###################### + 41. ' + 42. ' Programs contain: + 43. ' 1. A PROLOG with type/function/constant declarations. + 44. ' 2. This Entry() function where execution begins. + 45. ' 3. Zero or more additional functions. + 46. ' + 47. FUNCTION Entry () + 48. USHORT i1,i2 + 49. USHORT side1,side2 + 50. STRING sside1,sside2 + 51. sside1=INLINE$("side 1 ") + 52. sside2=INLINE$("side 2 ") + 53. side1=USHORT(sside1) + 54. side2=USHORT(sside2) + 55. FOR i1 = 1 TO side1 + 56. FOR i2 = 1 TO side2 + 57. PRINT "X"; + 58. NEXT i2 + 59. PRINT "" + 60. NEXT i1 + 61. + 62. + 63. + 64. END FUNCTION + 65. END PROGRAM + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#### Γραμμές 1..46 + +Οι ορισμοί του προγράμματος και των βιβλιοθηκών που χρειάζονται + +#### Γραμμές 47..64 + +Η συνάρτηση `ENTRY()` που περιέχει και τον εκτελέσιμο κώδικα του προγράμματός μας. + +Θα αναλύσουμε την `ENTRY()` για να δούμε την διαδοχική χρήση των εντολών `FOR ... NEXT` + +#### Γραμμή 48 + +Σε αυτές τις γραμμές ορίζουμε τις μεταβλητές που θα χρησιμοποιήσουμε παρακάτω στις εντολές `FOR ... NEXT` + +#### Γραμμή 49 + +Ορίζονται οι μεταβλητές που θα περιεχουν τις διαστάσεις της τετράγωνης επιφάνειας. + +#### Γραμμή 50 + +Εδώ ορίζουμε βοηθητικές μεταβλητές τύπου STRING για να πάρουμε την πληκτρολόγηση του χρήστη. + +#### Γραμμές 51 και 52 + +Με την γνωστή πια εντολή `INLINE$` δίνουμε μήνυμα στον χρήστη να εισάγει διαδοχική τις επιθυμιτές διαστάσεις του τετραγώνου. + +#### Γραμμές 53 και 54 + +Μετατροπή των μεταβλητών STRING σε αριθμητικές για να τις χρησιμοποιήσουμε παρακάτω και τις εντολές ανακύκλωσης `FOR ... NEXT` + +#### Γραμμή 55 + +Αρχή της πρώτης ανακύκλωσης. Εδώ ο μετρητής `i1` θα λάβει τιμές από 1 έως την τιμή της μεταβλητής `side1` που είναι η κάθετη διάσταση του τετραγώνου + +#### Γραμμή 56 + +Αρχή της δεύτερης ανακύκλωσης. Εδώ ο `i2` θα λάβει τιμές από 1 έως την τιμή της `side2` που είναι η οριζόντια διάσταση του τετραγώνου. + +#### Γραμμή 57 + +Εμφάνιση στο παράθυρο κονσόλας του χαρακτήρα `X` + +#### Γραμμή 58 + +Κλείσιμο της δεύτερης ανακύκλωσης και έτσι η εκτύπωση των `X` θα γίνει τόσες φορές όσες έχει επιλέξει ο χρήστης που έχουν αποθηκευθεί στην μεταβλητή `side2` + +#### Γραμμή 59 + +Αλλαγή γραμμής στο παράθυρο κονσόλας. + +#### Γραμμή 60 + +Κλείσιμο της πρώτης ανακύκλωσης. Εδώ τών αυξάνει κατά 1 ο μετρητής της κάθετης διάστασης του τετραγώνου. Ετσι ολόκληρη η διαδικασία \[επαναλαμβανόμενη εμφάνισης +των `X` (δεύτερη ανακύκλωση) και η αλλαγή γραμμής\] θα γίνει τόσες φορές όσες έχει ζητήσει ο χρήστης όταν όριζε την πρώτη (κάθετη) διάσταση του τετραγώνου. Αυτή +η τιμή είναι αποθηκευμένη στην μεταβλητή `side1`. + + +### [4. Η εντολή EXIT FOR]{#s4} + +Συνήθως χρησιμοποιούμε τις ανακυλώσεις για να εκτελέσουμε συγκεκριμένο αριθμό επαναλήψεων ενός κομματιού κώδικα.\ +Υπάρχουν όμως περιπτώσεις που θέλουμε να διακόψουμε την ανακύκλωση στην μέση γιατί μετά από κάποιο έλεγχο που κάνουμε, θέλουμε να συνεχίσει το πρόγραμμα με τον +κώδικα που υπάρχει μετά το `NEXT`. Τότε μαζί με τον έλεγχό μας χρησιμοποιούμε και την εντολή `EXIT FOR` έτσι το `FOR ... NEXT` +διακόπτεται και η εκτέλεση συνεχίζεται μετά το `NEXT` σαν να είχε τελειώσει κανονικά η ανακύκλωση. + diff --git a/content/articles/30/03_yacas.md b/content/articles/30/03_yacas.md new file mode 100644 index 0000000..8e7a9eb --- /dev/null +++ b/content/articles/30/03_yacas.md @@ -0,0 +1,325 @@ ++++ +title = 'YACAS (Yet Another Computer Algebra System)' +date = '2001-09-01T00:00:00Z' +description = '' +author = 'Πίπιλας Κων/νος(mailto:pilotos@hellug.gr)' +issue = ['Magaz 30'] +issue_weight = 3 ++++ + +**1. ΕΙΣΑΓΩΓΗ** +--------------------------------------- + +**2. ΕΓΚΑΤΑΣΤΑΣΗ** +------------------------------------------ + +**3. ΧΡΗΣΗ** +------------------------------------ + +**4. ΕΠΙΠΛΕΟΝ ΣΤΟΙΧΕΙΑ** +------------------------------------------------ + +**5. Yacas vs Others** +---------------------------------------------- + + +### [1. ΕΙΣΑΓΩΓΗ]{#s1} + +Πρόκειται για ένα πολύ ισχυρό και επεκτάσιμο πρόγραμμα, που για να εκμεταλευτείτε όλη του τη δύναμη \"θα πρέπει να του μιλήσετε στη δική του γλώσσα\". Δεν είναι +και τίποτα ιδιαίτερο, ιδίως αν έχετε μια βασική γνώση προγραμματισμού. Αλλά και εντελώς αρχάριοι να είστε, νομίζω ότι είναι απλά θέμα εξοικείωσης και λίγων +λεπτών για να μπορέσετε να κάνετε τις βασικές εργασίες. + +Αν λοιπόν θέλετε να εκτελείτε σε δευτερόλεπτα διάφορα προβλήματα όπως υπολογισμός παραγώγου, ολοκληρωμάτων, ορίων, πολλαπλασιασμός πινάκων, επίλυση γραμμικών +εξισώσεων, απλοποίηση παραστάσεων, υπολογισμός σειρών Taylor κτλ., που απαιτούν ένα σωρό πράξεις σίγουρα το Yacas θα το αγαπήσετε. + + +### [2. ΕΓΚΑΤΑΣΤΑΣΗ]{#s2} + +Το Yacas μπορείτε να το κατεβάσετε από το επίσημο site:\ +url name=\"http://www.xs4all.nl/ apinkus/\" url=\"http://www.xs4all.nl/ apinkus/\"\>\ +ή από κάποιο κοντινό mirror\ +(http://linuxberg.ntua.gr στο Ε.Μ.Π. στην κατηγορία X11/Scientific/Math/).\ +Το μέγεθος του είναι περίπου 450ΚΒ. + +Είναι συμβατό με όλες τις Unixοειδή πλατφόρμες (αφού η είσοδος και η έξοδος του Yast είναι σε μορφή text) οπως τα **Linux**, **FreeBSD** κτλ., αρκεί να έχετε +εγκατεστημένο ένα compiler **C++**, πχ. **τον g++**. + +Αφού το κατεβάσετε εκτελέστε την εντολή : + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + tar -xzvf yacas-έκδοση.tgz + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +στον κατάλογο που επιθυμείτε. Στην συνέχεια μπείτε σε αυτόν τον κατάλογο και πληκτρολογήστε τις εξής εντολές : + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ./configure + make + make install + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αν όλα πάνε καλά τότε είστε έτοιμοι να χρησιμοποιήσετε το πρόγραμμα με την εντολή yacas. Εκτός από τη **Source** μορφή, μπορείτε να το κατεβάσετε και σε **RPM ή +DEB**. + + +### [3. ΧΡΗΣΗ]{#s3} + +Για να ξεκινήσει το Yacas όπως είπαμε και πιο πάνω γράψτε + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + yacas + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +ή αν είστε στα X-Windows ανοίξτε ένα παράθυρο προσωμοίωσης τερματικού και κάντε το ίδιο. Στις πρώτες σειρές θα δείτε κάποιες πληροφορίες για το πρόγραμμα και +την βοήθεια. Στην συνέχεια βλέπετε το command prompt του Yacas: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + + In> + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +στο οποίο εισάγετε όλες τις εντολές.Στο τέλος κάθε εντολής μπαίνει ένα ελληνικό ερωτηματικό. Σε κάθε γραμμή μπορείτε να εισάγετε μια μόνο εντολή.Πχ: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + In>N(Cos(Pi)); + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Οι \`\`απαντήσεις\'\' του Yacas στις εντολές που του δίνουμε εμφανίζονται μετά το prompt: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Out> + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Για να κλείσουμε το πρόγραμμα πληκτρολογούμε `Exit()` ή `quit` ή `^C (Ctrl+C)`. + +Το Yacas συνοδεύεται από ένα πολύ καλό documentation, που εξηγούνται όλες οι λεπτομέρειες του προγράμματος και η πρόσβαση σ\' αυτό γίνεται με την εντολή `??` +όπου και θα ανοίξει ο Browser **Lynx** για να δείτε τις **HTML** σελίδες του documentation. Επίσης μπορείτε να πάρετε βοήθεια για μια συνάρτηση δίνοντας +`?συνάρτηση()`, πχ. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ?Sin() + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Το συντακτικό που χρησιμοποιεί το Yacas είναι C-like.\ +Δηλαδή οι αριθμητικές πράξεις παριστάνονται ως εξής: + +πρόσθεση : +\ +αφαίρεση : -\ +πολ/σμος : \*\ +διαίρεση : /\ +δύναμη : \^ (δηλαδή το 2 στον κύβο παριστάνεται 2\^3). + +Δύο άλλα σύμβολα που χρησιμοποιούνται είναι:\ +ανάθεση τιμής : =\ +ισότητα : == + +Επίσης υπάρχουν διάφορες συναρτήσεις εκ των οποίων οι βασικότερες είναι οι:\ +ημίτονο = `Sin()`\ +συνημίτονο = `Cos()`\ +εφαπτομένη = `Tan()`\ +Υπολογισμός `e^x = Exp(x)`\ +νεπέριος λογάριθμος του `x = Ln(x)`\ +ρίζα του `x=Sqrt(x)`\ +απόλυτη τιμή αριθμού = `Abs(x)`\ +η αριθμητική τιμή μιας έκφρασης = `N(έκφραση)`\ +n παραγοντικό = `n!` + +Για μια ολοκληρωμένη εικόνα των συναρτήσεων που συναντούνται στο Yacas υπάρχει το **functions reference** (το βρίσκετε με την εντολή `??`). Για παράδειγμα ένας +αριθμητικός υπολογισμός που θα μπορούσε να εκτελεστεί στο Yacas θα ήταν: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + In>(3*6^2+7*897)/(N(Sin(5)*Tan(6))); + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +και η έξοδος από το Yacas θα ήταν : + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Out>22888.1333231108; + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Όταν δουλεύουμε με δεκαδικούς αριθμούς τότε μπορούμε από την αρχή να καθορίσουμε την ακρίβεια των δεκαδικών ψηφίων.\ +Αυτό γίνεται με την συνάρτηση `Precision(n)`, όπου n ο αριθμός των δεκαδικών ψηφίων. Πχ.: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + In> Precision(15); + Out> True; + In> N(7/23); + Out> 0.304347826086956; + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Το κύριο χαρακτηριστικό του Yacas είναι η χρήση λιστών για την παρουσίαση πιο σύνθετων αλγορίθμων όπως ο πολ/σμος πινάκων, διανυσμάτων κτλ. (η ιδέα αυτή +προέρχεται από την γλώσσα προγραμματισμού LISP).\ +Μια λίστα είναι ένα αριθμημένο σύνολο από αντικείμενα. Στο Yacas μια λίστα δημιουργείται βάζοντας μέσα σε άγκυστρα τα αντικείμενα και χωρίζοντάς τα με κώμμα. +Πχ. αν `a, b, c, d` είναι αντικείμενα, μια λίστα θα είχε τη μορφή : {a,b,c,d}. Έτσι ένα διάνυσμα παριστάνεται στο Yacas σαν μια λίστα και ένας πίνακας σαν μια +λίστα από λίστες. Για να προσπελάσουμε ένα αντικείμενο μιας λίστας χρησιμοποιούμε την εντολή: `ls[n]`, όπου `ls` είναι το όνομα της λίστας και `n` είναι η θέση +του αντικειμένου που ζητάμε από τη λίστα. Οπότε αν είχαμε το διάνυσμα + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ls{a,b,c,d,e,f} + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +τότε θα μπορούσαμε να εκτελέσουμε τις εξής εντολές: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ls[3]; + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +και η έξοδος του προγράμματος θα ήταν το `c`. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ls[2 .. 4]; + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +και η έξοδος θα ήταν η λίστα `{b,c,d}` (οι 2 τελείες \"..\" μεταφράζονται \"εως\" και χρησιμοποιούνται για λόγους συντομίας). Ας κάνουμε τώρα ενα παράδειγμα +πολ/σμού πινάκων. Έστω ο πίνακας Κ23 είναι 2x3 και ο M34 είναι 3x4. Για να τους ορίσουμε δίνουμε στο prompt: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + In> K23:={{x,y,2},{4,y,x)}; και + In> M34:={{3,x,y,x+1},{x+y,y-2,2,y},{y^2-1,4,y,2*x^2}}; + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Οπότε αν τώρα δώσουμε + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + K23*M34 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +θα πάρουμε το γινόμενο των 2 αυτών πινάκων που είναι ένας νέος πίνακας 2x4. + +Υπάρχουν αρκετές συναρτήσεις για τους πίνακες και γενικά για την γραμμική 'λγεβρα όπως η συνάρτηση `Determinant(M)`, που μας επιστρέφει την ορίζουσα του πίνακα +M, η `Inverse(Μ)` που επιστρέφει τον αντίστροφο του M κτλ. + +Στο **Yacas** μπορούμε να δουλέψουμε άνετα με συναρτήσεις και να κάνουμε τους συνήθεις υπολογισμούς όπως υπολογισμός τιμών συνάρτησης, παραγώγου, ολοκληρώματος +και ορίου.\ +Πχ. έστω ότι έχουμε την συνάρτηση `f(x)=2x+3` και θέλουμε να υπολογίσουμε το `f(4)`, την παράγωγο της `f`,το ολοκλήρωμα της `f` από `a` εως `b` και το όριο της +`f` όταν το `x` τείνει στο 0. Τότε θα είχαμε τα παρακάτω : + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + In> f(x):=2*x+3; /* Ορισμός συνάρτησης */ + Out> true; + In>f(4); /* Υπολογισμός του f(4) */ + Out>11; + In>D(x) f(x); /* Υπολογισμός παραγώγου της f */ + Out>2; + In>Integrate(x,a,b) f(x); /* Υπολογισμός ολοκληρώματος */ + Out>(2*b^2)/2+3*b-((2*a^2)/2+3*a); + In>Limit(x,0) f(x); /* Υπολογισμός ορίου της f όταν x->0 */ + Out>3; + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Με το Yacas έχουμε την δυνατότητα επίλυσης συστημάτων γραμμικών (προς το παρόν) εξισώσεων, αρκεί να μην το παρακάνετε (μην του βάλετε ένα σύστημα 100x100 γιατί +θα σας πάρει κάποια χρόνια:). + +Για παράδειγμα έστω ότι θέλουμε να λύσουμε το σύστημα : + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + 4x+6y+z=2 + x-4z=4 + y+2z=2 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Θα χρησιμοποιήσουμε την συνάρτηση `Solve` πέρνωντας κάθε εξίσωση και κάθε μεταβλητή σαν στοιχεία μιας λίστας : + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + In> Solve({4*x+6*y+z==2,x-4*z==4,y+2*z==2},{x,y,z}); + Out> {{-84/5,62/5,-26/5}}; + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Μπορούμε ακόμη να κάνουμε απλοποίηση παραστάσεων με την συνάρτηση `Simplify`: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + In> Simplify((x-8)^2+(x-6)^2); + Out> 2*x^2-28*x+100; + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Πολλές φορές τα αποτελέσματα που παίρνουμε από το **Yacas** είναι μεγάλα και δύσκολα στο διάβασμα. Γι\' αυτό μας δίνεται η δυνατότητα να εκτυπώνονται τα +αποτελέσματα έτσι ώστε να τα καταλαβαίνουμε εύκολα με την βοήθεια της συνάρτησης `PrettyForm` (σε **ASCII text**). + +Πχ. αν είχαμε ως αποτέλεσμα από έναν υπολογισμό την παράσταση: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ((3*x^2+1)/2!)+7*x+1/2*x^2-2*x+3/8 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +δίνοντας: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + In> PrettyForm(%); /* Το % παίρνει την προηγούμενη τιμή της εξόδου */ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Θα πέρναμε ως έξοδο: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +      2 + 3 * x + 1           1    2           3 + --------- + 7 * x + - * x - 2 * x + - +     2               2                8 + Out>True; + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + +### [4. ΕΠΙΠΛΕΟΝ ΣΤΟΙΧΕΙΑ]{#s4} + +Οι δυνατότητες του **Yacas** δεν σταματούν βέβαια εδώ. Το **Yacas** μπορεί να συνεργαστεί με άλλα προγράμματα όπως το **Gnuplot** και να μας δίνει πχ. το +αποτέλεσμα από έναν υπολογισμό πάνω στο καρτεσιανό επίπεδο σε ένα παράθυρο στα **X-Windows**. + +Μπορεί να προσπελάσει αρχεία που έχουμε δημιουργήσει (κάποιον αλγόριθμο) και να τα εκτελέσει.Μια πολύ μεγάλη δυνατότητα που μας δίνει αυτό το πρόγραμμα είναι +οτι μπορούμε να ορίσουμε τις δικές μας συναρτήσεις που χρησιμοποιούμε καθημερινά και να το φέρουμε στα μέτρα μας. Όλα αυτά ελπίζω να τα προσθέσω σε μια +καινούρια έκδοση αυτής της παρουσίασης. + + +### [5. Yacas vs Others]{#s5} + +Πολλοί από σας θα αναρωτηθήκατε γιατί να μπω στον κόπο να μάθω άλλο ένα τέτοιο πρόγραμμα, την στιγμή που υπάρχουν διάφορα άλλα, με πλήρη κατάλογο συναρτήσεων, +καλύτερη οργάνωση, τεράστια και αναλυτικά εγχειρίδια χρήσης, που είναι και καθιερωμένα στο χώρο και τα χρησιμοποιεί και πολύς κόσμος (βλέπε **Mathematica** και +**Scilab**). + +Η απάντηση είναι απλή : γιατί το Yacas μπορεί να το αποκτήσει οποιοσδήποτε αφού διανέμεται κάτω από **GNU General Public License** (δεν γνωρίζω αν το Scilab +είναι κάτω από GPL αλλά νομίζω πως είναι) με ολόκληρο τον κώδικα μπροστά του και από την αλλή γιατί το μέγεθος του είναι **ελάχιστο** σε σχέση με τα άλλα +παρόμοια προγράμματα και με τις δυνατότητες που έχει. + +Οπότε το μόνο που έχετε να κάνετε τώρα είναι να το κατεβάσετε στον υπολογιστή σας και να το δοκιμάσετε, γιατί όπως λέει ο λαός: \"καλό ακούγεται αλλά αν δεν το diff --git a/content/articles/30/04_procmail.md b/content/articles/30/04_procmail.md new file mode 100644 index 0000000..5d13492 --- /dev/null +++ b/content/articles/30/04_procmail.md @@ -0,0 +1,217 @@ ++++ +title = 'procmail' +date = '2001-09-01T00:00:00Z' +description = '' +author = 'Νίκος Αποστολάκης(mailto:nickapos@agriroot.aua.gr)' +issue = ['Magaz 30'] +issue_weight = 4 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*USING **procmail**. Πώς;* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Γενικά** +---------------------------------------- + +- [1.1 DISCLAIMER](#ss1.1) +- [1.2 Τι είναι το **procmail**](#ss1.2) + +**2. Στο ψητό** +------------------------------------------ + +- [2.1 Η κατάσταση των διανομών σε σχέση με το **procmail** σήμερα](#ss2.1) +- [2.2 Εάν το **procmail** δεν έχει έρθει μαζί με την διανομή μου τι κάνω;](#ss2.2) +- [2.3 Κατάφερα να ξεκινήσω το **procmail** μετά τι κάνω;](#ss2.3) + +**3. Παράδειγμα αρχείου procmailrc.** +---------------------------------------------------------------- + +**4. Bibliography** +---------------------------------------------- + + +### [1. Γενικά]{#s1} + +### [1.1 DISCLAIMER]{#ss1.1} + +Δεν φέρω καμία ευθύνη εάν η εφαρμογή των παρακάτω προκαλέσει οποιουδήποτε είδους ζημία στο μηχάνημα σας ή στα δεδομένα σας. + +### [1.2 Τι είναι το **procmail**]{#ss1.2} + +Το **procmail** είναι ένα πρόγραμμα με το οποίο μπορείς να επεξεργαστείς, φιλτράρεις, ταξινομήσεις το e-mail σου. Με το **procmail** μπορείς επίσης να φτιάξεις +**auto-mail-responders, mailing lists** και πολλά άλλα. + + +### [2. Στο ψητό]{#s2} + +### [2.1 Η κατάσταση των διανομών σε σχέση με το **procmail** σήμερα]{#ss2.1} + +Το **procmail** έρχεται σήμερα ως ο **default mail delivery** agent σε SuSE 6.4 και Slackware 7.1. + +Αυτό σημαίνει ότι όχι μόνο το **procmail** έρχεται έτοιμο σε αυτές τις διανομές αλλά και ότι το sendmail είναι έτσι ρυθμισμένο ώστε να χρησιμοποιεί το +**procmail** σαν mail delivery agent (MDA) αντί του παραδοσιακού mail. Σύμφωνα με τα παραπάνω συμπεραίνω (μπορεί και εσφαλμένα βέβαια) ότι το **procmail** +έρχεται ως ο default MDA στις περισσότερες διανομές. + +### [2.2 Εάν το **procmail** δεν έχει έρθει μαζί με την διανομή μου τι κάνω;]{#ss2.2} + +Εάν είναι αυτή η περίπτωση σας τότε θα πρέπει να κατεβάσετε το **procmail** απο το , να το κάνετε compile σύμφωνα με τις οδηγίες που +σας δίνει και να το εγκαταστήσετε. Τώρα έχετε δύο επιλογές: + +Mπορείτε να ρυθμίσετε το sendmail ώστε να χρησιμοποιεί απευθείας το **procmail** σαν MDA ή + +Nα βάλετε μέσα στο .forward την παρακάτω γραμμή: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + |exec /usr/bin/:lockfile + + contitions + + exactly one action. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Φυσικά μπορούμε να χρησιμοποιήσουμε πολλα τέτοια block εντολών μέσα σε ένα .**procmailrc** + +#### Flags + +Στην πρώτη γραμμή δηλώνουμε ότι ξεκινάμε ένα νέο `block απο filtering rules` (χρησιμοποιώντας το `:0`). Δηλώνουμε με τι `flags` θέλουμε να γίνει αυτο το +φιλτράρισμα και αν θέλουμε όσο γίνεται αυτο να έχουμε κλειδωμένο το αρχείο ή τα αρχεία στα οποία αναφέρεται αυτο το `block` με ένα `lockfile`. + +Μερικά απο τα πιο κοινά `flags` είναι το `c` και το `f` με το πρώτο δημιουργούμε ένα πιστό αντίγραφο του μυνήματος που βρίσκεται υπο επεξεργασία και δουλεύουμε +πάνω σε αυτό.\ +Αυτό το flag χρησιμοποιείται όταν θέλουμε να στείλουμε ή να προωθήσουμε ένα μύνημα σε πολλούς παραλήπτες ή σε πολλούς φακέλους. + +Το δεύτερο flag χρησιμοποιείται όταν θέλουμε να θεωρήσουμε το ένα `pipe` σαν φίλτρο. Φυσικά το πιο κοινό είναι να μην χρησιμοποιήσουμε καθόλου `flags` και να +επεξεργαστούμε το ίδιο το e-mail με το **procmail** χωρίς να το περάσουμε σε ένα άλλο πρόγραμμα ή να εργαστούμε πάνω σε ένα αντίγραφο του. + +Υπάρχουν και άλλα πολλά `flags` τα οποία συνδιαζόμενα δίνουν στο **procmail** τεράστια ευελιξία αλλά δεν θα αναφερθούν έδω.\ +Περιγράφονται αναλυτικά στο σχετικό manual page (**`man procmailrc`**). + +#### Lockfiles + +Το γιατί μπορεί κάποιος να θέλει να χρησιμοποιήσει `lockfiles` έχει αναφερθεί παραπάνω. Το όνομα ενός `lockfile` δηλώνεται ως εξής : + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + :0:lockfilename + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Μπορούμε να παραλείψουμε το όνομα του `lockfile` και η προηγούμενη έκφραση να γίνει η εξής + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + :0: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +οπότε το **procmail** χρησιμοποιεί το όνομα του αρχείου στο οποίο αναφέρεται αυτο το `block` εντολών για να φτιάξει ένα `lockfile`.\ +Ασφαλώς μπορούμε να μην χρησιμοποιήσουμε καθόλου `lockfile` σε ένα block εντολών οπότε η έκφραση γίνεται + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + :0 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Υπάρχουν δύο περιπτώσεις όπου η χρήση `lockfile` δεν έχει νόημα. Η μια περίπτωση είναι αυτή οταν κατευθύνεις κάποιο μύνημα στο **/dev/null** και ή δέυτερη είναι +όταν κάνεις **forward** ένα μύνημα σε κάποια άλλη διέυθυνση e-mail (όπως στο παράδειγμα **procmailrc** ). + +#### Conditions + +Το **procmail** για να δει εάν το μύνημα που επεξεργάζεται αυτή την στιγμή πληρεί τις συνθήκες που εσείς του έχετε δηλώσει περνάει όλο το μύνημα μέσα απο την +**`egrep`** δίνοντας της σαν **`regular expression`** τα contitions που έχετε γράψει εσείς. + +Δηλαδή τα contitions αυτά δεν είναι τίποτα άλλο απο **`regular expressions`**. Για περισσότερα για τις +**`regular expressions, man egrep.`** + +#### Action(s) + +Τα actions του **procmail** μπορεί να είναι οτιδήποτε (σχεδόν) απο ένα απλό όνομα οπότε το **procmail** γράφει τα μυνήματα που πληρούν τις συνθήκες σε ένα +αρχείο με αυτο το όνομα μέσα στο `MAILDIRECTORY`, μια ή πολλές e-mail adress οπότε το **procmail** απλά κάνει forward το μύνημα σε αυτές τις διευθύνσεις ή τέλος +το input οποιουδήποτε προγράμματος.\ +Όπως έχω γράψει παραπάνω την σύνταξη των `filtering rules` είμαστε αναγκασμένοι να χρησιμοποιήσουμε μόνο ένα `action`. Μπορούμε +όμως με την χρήση των αγκύλων {} να κάνουμε `nest` πολλά `blocks` απο `actions` τα οποία μπορεί να είναι ακόμα και condition rules : + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + :0: + condition + {action1,action2,action3} + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + +### [3. Παράδειγμα αρχείου procmailrc.]{#s3} + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + # Please check if all the paths in PATH are reachable, remove the ones that + # are not. + + PATH=$HOME/bin:/usr/bin:/usr/ucb:/bin:/usr/local/bin:. + MAILDIR=$HOME/Mail # You'd better make sure it exists + DEFAULT=$MAILDIR/mbox + LOGFILE=$MAILDIR/from + LOCKFILE=$HOME/.lockmail + + :0 # Anything from thf + * ^From.*thf@somewhere.someplace + todd # will go to $MAILDIR/todd + + :0 # Anything from people at uunet + * ^From.*@uunet + uunetbox # will go to $MAILDIR/uunetbox + + :0 # Anything from Henry + * ^From.*henry + henries # will go to $MAILDIR/henries + + # Anything that has not been delivered by now will go to $DEFAULT + # using LOCKFILE=$DEFAULT$LOCKEXT + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + +### [4. Bibliography]{#s4} + +Καταλήγοντας θα ήθελα να πω ότι σε αυτό το άρθρο επιχείρησα να καλύψω τις απολύτως βασικές λειτουργίες του **procmail**, προσπαθώντας να είμαι σύντομος και +περιεκτικός. Για περισσότερες πληροφορίες παρακαλώ να αναφερθείτε στο documentation που έρχεται μαζί με τον κώδικα του **procmail** καθώς και στην σελίδα του diff --git a/content/articles/30/05_lids.md b/content/articles/30/05_lids.md new file mode 100644 index 0000000..d0c4313 --- /dev/null +++ b/content/articles/30/05_lids.md @@ -0,0 +1,175 @@ ++++ +title = 'Linux Intrusion Detection System - μία παρουσίαση' +date = '2000-03-01T00:00:00Z' +description = '' +author = 'Μιχάλης Καμπριάνης' +issue = ['Magaz 30'] +issue_weight = 5 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το LIDS, Linux Intrusion Detection System είναι ένα add-on του πυρήνα του linux, που συνοδεύεται από ένα admin tool, το οποίο φροντίζει να κάνει το σύστημά μας +κάπως πιο\... \"ασφαλές\"* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Εισαγωγή** +-------------------------------------- + +**2. Capabilities** +------------------------------------------ + +- [2.1 Τι είναι τα capabilities?](#ss2.1) +- [2.2 Δεν κατάλαβα τι μου παρέχουν\...](#ss2.2) +- [2.3 Δεν μου αναφέρεις μερικά capabilities;](#ss2.3) + +**3. LIDS λοιπόν\...** +--------------------------------------------- + +- [3.1 Το kernel-patch](#ss3.1) +- [3.2 Το lidsadm](#ss3.2) + +**4. Άρα\....** +-------------------------------------- + +- [4.1 Hints and tricks](#ss4.1) +- [4.2 Που το βρίσκω; Άλλο Documentation;](#ss4.2) +- [4.3 Disclaimer και συμπεράσματα.](#ss4.3) + + +### [1. Εισαγωγή]{#s1} + +Το linux, ως unix-type λειτουργικό, κουβαλάει μαζί του κάποιες αδυναμίες των παλιών και άλλων unices. Μία από αυτές τις αδυναμίες, έχει να κάνει με το +γενικότερα σύστημα authorization, όπου υπάρχουν πάρα πολλά πράγματα, που μπορεί να τα κάνει μόνο το παντοδύναμο root account\... Αυτό το σχήμα της ασφάλειας, +θεωρείται ξεπερασμένο, εφόσον + +- υπάρχουν πάρα πολλά πράγματα που γίνονται μόνο από το root account, αναγκάζοντάς μας έτσι αφενός να κάνουμε πολλά προγράμματα setuid root, αφετέρου να + μοιράζουμε το root password σε πολλά άτομα αν μιλάμε για μία φάρμα servers με πολλούς operators. +- αρκεί για κάποιον εισβολέα να αποκτήσει το root password για να έχει πλήρη έλεγχο στο σύστημα. +- προγράμματα που είναι άσχετα με το λειτουργικό (π.χ. sendmail στις παλαιότερες εκδόσεις), ακριβώς επειδή πρέπει να τρέχουν με root privileges, αποτελούν + κίνδυνο γενικότερης ασφάλειας στο σύστημα, και όχι μόνο για την υπηρεσία που εξυπηρετούν αυτή καθ\' αυτή. + +Πολλά από αυτά τα θέματα, θα μπορούσαν να ξεπεραστούν με χρήση των capabilities, ένα \"τρικ\", το οποίο προστέθηκε στην έκδοση 2.2 του Linux kernel. + + +### [2. Capabilities]{#s2} + +### [2.1 Τι είναι τα capabilities?]{#ss2.1} + +Τα capabilities είναι ένα set, όπως λέει και το όνομά τους, δυνατοτήτων, που ορίζονται μέσα στον πυρήνα, και περιορίζουν τις δυνατότητες του root που μέχρι τώρα +ξέραμε ότι είχε (και των setuid root προγραμμάτων αντίστοιχα). Τα capabilites ορίστηκαν από κάποιο POSIX draft (το οποίο τώρα αποσύρθηκε), ενώ ο πυρήνας του +Linux έχει και πολλά capabilities τα οποία δεν αναφέρονται στο draft αλλά είναι linux-specific.\ +Ένα παράδειγμα capability, είναι το CAP\_CHOWN το οποίο επιτρέπει την αλλαγή ιδιοκτήτη ενός αρχείου. Όπως καταλαβαίνετε, για να κάνουμε chown ένα αρχείο, πρέπει +να είμαστε ο root, άρα ένα πρόγραμμα που θέλουμε να κάνει chown πρέπει να είναι setuid root. Κάτι τέτοιο όμως αυτόματα σημαίνει ότι το ίδιο πρόγραμμα, θα μπορεί +να διαβάσει το αρχείο /etc/shadow, δημιουργώντας έτσι, για κάτι τόσο απλό, μία τρύπα ασφαλείας στο σύστημα. Με χρήση των capabilities, μπορεί το setuid root +πρόγραμμα να αρχίσει να τρέχει, και μετά να \"ρίξει\" όλα τα capabilities που δεν χρειάζεται και να κρατήσει μόνο το cap\_chown. Μπορεί επίσης, να αλλάξει το +effective uid και πλέον να μην μπορεί καν να ανακτήσει τα dropped capabilities. + +### [2.2 Δεν κατάλαβα τι μου παρέχουν\...]{#ss2.2} + +Λογικό, γιατί ακόμα, δεν μας παρέχουν τίποτα. Για να τα λέμε σωστά τα πράγματα, πρέπει η εφαρμογή μας να γραφτεί έτσι ώστε να χρησιμοποιεί τα capabilities, +αλλιώς δεν κερδίζουμε τίποτα.. Γι αυτό ξεκίνησε και το project LIDS (Linux Intrusion Detection System) το οποίο παρέχει απλά ένα layer μεταξύ του συστήματος +(kernel) και των εφαρμογών, για να επιβάλλει την χρήση capabilities σε ήδη γραμμένες εφαρμογές. + +### [2.3 Δεν μου αναφέρεις μερικά capabilities;]{#ss2.3} + +Αμέ\... Το CAP\_CHOWN που είδαμε πιο πάνω, το CAP\_NET\_BIND\_SERVICE που επιτρέπει σε μία εφαρμογή να ανοίξει ένα port κάτω από το 1024 (privileged ports), το +CAP\_SYS\_PTRACE που επιτρέπει την χρήση της ptrace() σε οποιοδήποτε process\...\ +Μία πλήρη λίστα για τον δικό σας πυρήνα, θα βρείτε εδώ: + + /usr/src/linux/include/linux/capability.h + + +### [3. LIDS λοιπόν\...]{#s3} + +Το LIDS αποτελείται από δύο κομμάτια: ένα (μεγαλούτσικο) kernel patch, και ένα administration πρόγραμμα, το lidsadm. Ας τα δούμε ξεχωριστά. + +### [3.1 Το kernel-patch]{#ss3.1} + +Παρέχει τις εξής extra παραμέτρους στον πυρήνα: + +- CONFIG\_LIDS: όπως λέει και το όνομά του, ενεργοποίηση του LIDS. +- CONFIG\_LIDS\_HANGUP: κάθε φορά που κάποιο πρόγραμμα προσπαθεί να κάνει κάτι που απαγορεύεται από το LIDS, τότε η κονσόλα στην οποία το πρόγραμμα είναι + attached θα κλείνει. +- CONFIG\_LIDS\_SA\_EXEC\_UP: κάθε φορά που εκτελείται ένα πρόγραμμα μη προστατευμένο πριν μπει σε \"λειτουργία\" το LIDS (κατά τη διάρκεια του boot προφανώς) + θα δημιουργείται ένα security alert. +- CONFIG\_LIDS\_NO\_EXEC\_UP: με αυτή την επιλογή το LIDS θα αρνηθεί να τρέξει μη προστατευμένα προγράμματα πριν αυτό μπει σε \"λειτουργία\". +- CONFIG\_LIDS\_INIT\_CHILDREN\_LOCK: με αυτή την επιλογή θα προστεθεί η δυνατότητα να αποκλειστούν κάποια στιγμή (την οποία επιλέγουμε εμείς) όλοι οι τρόποι + για να σκοτώσει κάποιος ένα process του οποίου το parent process είναι η init. +- CONFIG\_LIDS\_NO\_FLOOD\_LOG: Αν ένα μήνυμα του LIDS επαναλαμβάνεται επί μακρόν, το LIDS θα σταματήσει να το γράφει στα logs για να μην τα γεμίσει. +- CONFIG\_LIDS\_PORT\_SCAN\_DETECTOR: Με αυτή την επιλογή θα δημιουργηθεί μέσα στον kernel ένας port scanner detector, και για κάθε port scan το LIDS θα + καταγράφει τα απαιτούμενα μηνύματα στα logs. +- CONFIG\_LIDS\_TIMEOUT\_AFTER\_FLOOD: Είναι ο χρόνος τον οποίο πρέπει να απέχουν μεταξύ τους δύο διαφορετικά security alerts για να καταγραφούν. +- CONFIG\_LIDS\_ALLOW\_SWITCH: Με αυτή την επιλογή μπορεί να \"απενεργοποιηθεί\" προσωρινά το LIDS. +- CONFIG\_LIDS\_MAX\_TRY: Πόσες φορές θα δεχθεί λάθος password το LIDS πριν \"κλειδώσει\" για λίγο τη δυνατότητα απενεργοποίησής του. +- CONFIG\_LIDS\_TTW\_FAIL: Πόση ώρα θα κρατάει το \"κλείδωμα\" που λέγαμε πιο πάνω. +- CONFIG\_LIDS\_REMOTE\_SWITCH: Με αυτή η επιλογή, η απενεργοποίηση θα είναι δυνατή και από απόμακρο τερματικό, αλλιώς, μόνο από την κονσόλα. +- CONFIG\_LIDS\_ALLOW\_ANY\_PROG\_SWITCH: Κανονικά μόνο το /sbin/lidsadm μπορεί να απενεργοποιήσει το LIDS αλλά με αυτή την επιλογή, μπορούμε να επιτρέψουμε + και σε άλλα προγράμματα να κάνουν κάτι τέτοιο. +- CONFIG\_LIDS\_RELOAD\_CONF: Επιτρέπει την επανανάγνωση του αρχείου ρυθμίσεων του LIDS χωρίς να χρειάζεται reboot. +- CONFIG\_LIDS\_SA\_THROUGH\_NET: Με αυτή την επιλογή, τα security alerts στέλνονται δια μέσω του δικτύου, και γι αυτό πρέπει να οριστούν ορισμένες ρυθμίσεις, + τις οποίες θα δούμε παρακάτω. +- CONFIG\_LIDS\_HIDE\_KLIDS: Με αυτή την επιλογή, το process του Lids θα κρύβεται από το /proc (άρα δεν θα φαίνεται στα ps, top κλπ). +- CONFIG\_LIDS\_NET\_MAX\_TRIES: Πόσες φορές θα προσπαθήσει το LIDS να στείλει το security alert μέσω δικτύου. +- CONFIG\_LIDS\_NET\_TIMEOUT: Πόση ώρα θα είναι το timeoute μεταξύ των προσπαθειών να σταλεί το μήνυμα μέσω δικτύου. +- CONFIG\_LIDS\_MSGQUEUE\_SIZE: Πόσο μεγάλη να είναι η ουρά των μηνυμάτων που θα σταλούν μέσω δικτύου. Μόλις γεμίσει η ουρά, δεν θα καταγράφονται άλλα + μηνύματα (μέχρι να ξανααδειάσει προφανώς). + +### [3.2 Το lidsadm]{#ss3.2} + +Το πρόγραμμα /sbin/lidsadm είναι απαραίτητο για να μπορούμε να χρησιμοποιήσουμε σωστά και αποδοτικά το LIDS. Δεν θα μπούμε βέβαια σε λεπτομέρειες χρήσης, θα +πούμε μόνο ότι με αυτό το πρόγραμμα: + +- μπορούμε να θέσουμε κάποια αρχεία και directories σε read-only για όλες τις processes του συστήματος, ακόμα και τις root-owned processes. Παράδειγμα το + /usr/lib +- μπορούμε να θέσουμε κάποια αρχεία σε append-only mode (θυμηθείτε Windows-NT και permission to write), όπως για παράδειγμα το /var/log/messages +- μπορούμε να θέσουμε κάποια αρχεία σε hidden για όλες τις processes, όπως το /etc/shadow\... +- \...δίνοντας σε συγκεκριμένα προγράμματα το δικαίωμα να τα διαβάζουν, όπως το /bin/login +- μπορούμε να ορίσουμε τα capabilities που θα αφαιρέσουμε από **όλα** τα προγράμματα, όταν θα κλειδώσουμε τον πυρήνα, π.χ. το CAP\_SYS\_MODULE +- μπορούμε να προσθέσουμε κάποια από αυτά που αφαιρέσαμε globally, σε συγκεκριμένα executables +- με τη δυνατότητα να γίνονται inherited στα child processes +- μπορούμε να απενεργοποιήσουμε προσωρινά το LIDS (για να θέσουμε νέες ρυθμίσεις π.χ.)\... +- \... και να το επανενεργοποιήσουμε αφού του ζητήσουμε να διαβάσει το configuration ξανά +- μπορούμε να \"κρύψουμε\" processes +- ή μπορούμε να τα κάνουμε να αγνοούν το kill + +Νομίζω ότι πιάσατε την κεντρική ιδέα. Υπάρχουν βέβαια περιορισμοί. Συγκεκριμένα, τα file-attributes που θέτουμε, τίθενται με βάση το inode, άρα δεν μπορούμε να +κλειδώσουμε το /etc directory και να περιμένουμε να δουλεύει η εντολή passwd (η οποία αναδημιουργεί το password file κάθε φορά, άρα αυτό αποκτά άλλο inode κάθε +φορά, συνεπώς ΔΕΝ μπορούμε να δώσουμε full privilege στην εντολή passwd πάνω σε αυτό το αρχείο). + + +### [4. Άρα\....]{#s4} + +### [4.1 Hints and tricks]{#ss4.1} + +Πολύ χρήσιμο κρίνεται το remote logging που παρέχει το LIDS. Πρέπει να δοθεί προσοχή στις ρυθμίσεις (σε ποιο server θα κάνει logging, με ποια μέθοδο κλπ) και να +σχεδιαστεί σωστά το δίκτυο ούτως ώστε να μην έχουμε \"κομμένες\" γραμμές εκεί (π.χ. κάποιος αποφάσισε να βάλει ένα firewall ανάμεσα στα συστήματά μας :-).\ +Θέλει σοβαρή μελέτη το ποια αρχεία/directories θα κλειδώσουμε, πόσο θα τα κλειδώσουμε (όπως είπαμε μπορούμε να τα κρύψουμε εντελώς, να τα κάνουμε μόνο +ανάγνωσης, να τα κάνουμε μόνο append ή να τα κάνουμε εγγραφής/ανάγνωσης), σε ποια προγράμματα θα δώσουμε δικαίωμα να προσπελαύνουν τα αρχεία/directories +αυτά\... Το μόνο σίγουρο είναι ότι δεν υπάρχει συνταγή, και μάλλον είναι δύσκολο να γραφτεί μία. Μην εμπιστευτείτε καμία συνταγή, αν πρόκειται για production +σύστημα.\ +Πρέπει επίσης να μελετηθεί σωστά το σε ποια αρχεία/executables θα δοθούν τα capabilities που θα επιτρέπουν να κάνουν unmount τα filesystems και να τερματίζουν +διεργασίες, για να μπορεί το σύστημα να \"κατεβαίνει\" κανονικά, και να μην κάνει fsck σε κάθε boot, ούτε να βρίσκει \"ανοιχτά\" processes.\ +Σε κάθε περίπτωση, **πρέπει** να επιτραπεί το switching κατά το compile του πυρήνα, για να μπορείτε να απενεργοποιήσετε το lids προσωρινά. Αλλιώς, το root +account, σε μία normal εγκατάσταση, θα είναι τόσο περιορισμένο που θα είναι άχρηστο.\ +Τέλος, αν δείτε ότι το σύστημα δεν καλο-δουλεύει μετά τις αλλαγές που κάνατε, ένα security=0 σαν command parameter στο lilo θα σας δώσει τη δυνατότητα να +ξεκινήσετε το σύστημα με το LIDS απενεργοποιημένο. + +### [4.2 Που το βρίσκω; Άλλο Documentation;]{#ss4.2} + +Που το βρίσκετε; Μα που αλλού, εκτός από το . Εκεί θα βρείτε, εκτός από τα patches για τους πυρήνες της σειράς 2.4 και της σειράς 2.2, και +διάφορα links για documentation. Το δικό τους FAQ, links για άρθρα που έχουν γραφτεί για το LIDS, links για reviews, link για εκείνο το POSIX draft\....\ +Καλό θα ήταν βέβαια να υπήρχε ένα graphical configuration utility (πεδίον δόξης λαμπρό για τους απανταχού qt ή gtk programmers) αλλά δεν έχει γραφτεί κάποιο +τέτοιο ακόμα από ότι ξέρω. Ιδού η Ρόδος\.... + +### [4.3 Disclaimer και συμπεράσματα.]{#ss4.3} + +Δεν χρειάζεται βέβαια να πω ότι η χρήση του LIDS δεν προτείνεται αν είστε αρχάριος. Σε κάθε περίπτωση, για ότι κάνετε με το LIDS (ή και χωρίς αυτό :-) δεν φέρω +καμία ευθύνη. Διαβάστε το documentation, ξαναδιαβάστε το, κι αν είστε έτοιμοι, πάρτε ένα backup τα αρχεία σας και δοκιμάστε το\... + +Το LIDS δεν μου φάνηκε ακόμα έτοιμο για production servers, κυρίως λόγω της έλλειψης documentation και ενός εύκολου configuration utility. Όπως ξαναείπα, ιδού +πεδίο δόξης λαμπρό\...\ +Η αλήθεια είναι πάντως, ότι παρέχει ένα επίπεδο ακόμα ασφαλείας στο παλιό γνωστό και ταλαιπωρημένο Unix-security scheme\... Μόλις δοθεί η δυνατότητα υποστήριξης +capabilities και στο filesystem, όλα θα είναι καλύτερα :-) + diff --git a/content/articles/31/01_editorial.md b/content/articles/31/01_editorial.md new file mode 100644 index 0000000..bc5d0b5 --- /dev/null +++ b/content/articles/31/01_editorial.md @@ -0,0 +1,52 @@ ++++ +title = 'Editorial' +date = '2000-06-01T00:00:00Z' +description = '' +author = 'Βαγγέλης Παπαδογιαννάκης(mailto:papas@hellug.gr)' +issue = ['Magaz 31'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Aircondition τώρα!* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Καλός ήρθατε σε άλλο ένα magaz. Ένα magaz που είναι βγαλμένο με πολύ ιδρώτα, κυριολεκτικά μιλώντας μια και η ζέστη είναι ανηπόφορη. Τουλάχιστον εδώ στο Ηράκλειο +της Κρήτης, το θερμόμετρο έχει χτηπήσει κόκκινα, και δυστηχώς πολλές φορές ακόμα και αυτό το air-condition αποδυκνείεται λίγο. + +Αυτό το τεύχος, σας επιφυλάσει πολλά θέματα, advanced θα μπορούσαμε να τα χαρακτηρίσουμε, κάτι που η αλήθεια είναι ότι είχε λείψει από το magaz. Πριν να +προχωρήσουμε όμως σε ανάλυση των θεμάτων που φιλοξενούνται αυτό το μήνα, θα ήθελα να πω ένα μεγάλο ευχαριστώ σε όλους όσους προσφέρθηκαν να βοηθήσουν γράφοντας +άρθρα για το magaz. Η ανταπόκριση στο editorial του προηγούμενου μήνα ήταν κάτι παραπάνω από θερμή και αποδείχτικε ότι υπάρχει και όρεξη για βοήθεια αλλά και +υλικό για κάλυψη θεμάτων. Και όσοι δεν είδαν το άρθρο τους, αυτό το μήνα, ας μην ανυσηχούν, θα μπούν στον επόμενο μήνα. + +Προχωράμε λοιπόν, στο επόμενο θέμα, που είναι το **install festival** που έγινε στο **Ηράκλειο της Κρήτης στις 15 και 16 Ιουνίου**. Σε γενικές γραμμές, όλα +πήγαν πολύ καλά. Προβλήματα φυσικά και υπήρξαν, αλλά ήταν σχεδόν όλα οργανοτικά, πράγμα αναμενώμενο, μια και ποτέ δεν είχαμε οργανώσει κάτι αντίστοιχο. Στα +highlights θα ήθελα να αναφέρω + +**τα μπλουζάκια που είχαμε τυπώσει**, το οποία έγιναν ανάρπαστα και πολλές φορές ήταν η πέτρα του σκανδάλου για το ποιός θα τα πάρει τελικά.\ +**Τις ομιλίες** που έγιναν όλες και μάλιστα με μεγάλη επιτυχία, παρόλο που οι περισσότεροι δεν είχαν ξαναανέβει σε βήμα για ομιλία. Η συμμετοχή του κόσμου δεν +ήταν όση ακριβώς θα ηθέλα εγώ προσωπικά, αλλά και αυτό είναι λογικό αν αναλογιστούμε ότι ήταν περίοδος εξετάσεων, παρασκευή-σάββατο, καταμεσήμερα, και από τις +πιο ζεστές ημέρες. + +Θα ήθελα να ευχαριστήσω πολύ όλα τα παιδιά που έστηναν τους υπολογιστές (πρέπει να στήθηκαν περίπου **20 μηχανάκια**). Αυτοί ήταν οι πραγματικοί ήρωες του +διημέρου, μια και κουράστηκαν πολύ περισσότερο από όλους εμάς που απλά κάναμε μια ομιλία. Έπρεπε να αντιμετωπίσουν τους νέους χρήστες, να τους εξηγήσουν πέντε - +έξι βασικά πράγματα, και αυτό όπως ξέρουμε όλοι είναι πολύ δύσκολο :)\ +Σε γενικές γραμμές, περάσαμε καλά, και αυτό είναι που μετράει στο φινάλε :) + +Ας δούμε όμως και τα θέματα που φιλοξενούμε αυτό το μήνα στο περιοδικό μας. Έχουμε λοιπόν ένα άρθρο για KIOSLAVES, γραμένο από τον Δημήτρη Καμενόπουλο ( +) τα οποία είναι απαραίτητα για να δουλέψει καλά το KDE. Φυσικά, δεν θα τα δείτε μπροστά σας, πιθανότατα να μην τα έχετε καν +ακούσει, αλλά κάνουν πολύ δουλειά διάφανα - αθόρυβα - αποτελεσματικά. + +Window Manager of choice :) IceWm, ένας απλός, πλήρως παραμετροποιήσιμος, πανέμορφος, πανάλαφρος Window Manager. Εισαγωγικό άρθρο από τον **Αποστολάκη Νίκο** ( +[Nick Apostolakis](mailto:nickapos@agriroot.aua.gr)) έναν πολύ ενεργό συντάκτη του [magaz](http://magaz.hellug.gr). Κατέβηκε και στο **InstallFestival** και μας +βοήθησε κιόλα :) Περισσότερες πληροφορίες για το Nίκο αλλά και για όλους τους αρθρογράφους του magaz (που μας έχουν στείλει πληροφορίες για τις αφεντιές τους) +στη σελίδα [info](http://magaz.hellug.gr/info.html). + +Και για τους φρέσκους στο Linux και γενικότερα στα unixοειδή λειτουργικά, ένα πολύ καλό κείμενο από τον Άγγελο Οικονομόπουλο ( για +την ιστορία του Unix. Πολλοί από τους παλιούς χρήστες, πάντως, θα βρούν και πράγματα που δεν τα ήξεραν για αυτό ας το διαβάσουν και αυτοί :) + +Πόσοι ξέρετε το **blender**; Το blender λοιπόν είναι ένα πρόγραμμα, πολύ δυνατό στη δημιουργία τρισδιάστατων γραφικών. Μια γνωριμία - παρουσίαση, επιχηρεί ο +Καπελώνης Κώστας ( ) ένα νέο μέλος στην οικογένεια των magazάτωρων, με ενεργή συμετοχή και στο **install festival** της Κρήτης. + +Καλή ανάγνωση λοιπόν και για όσους φεύγουν διακοπές καλά μπάνια, ή ότι άλλο έχετε σχεδιάσει να κάνετε. diff --git a/content/articles/31/02_KDE_IOSlaves.md b/content/articles/31/02_KDE_IOSlaves.md new file mode 100644 index 0000000..79b48d3 --- /dev/null +++ b/content/articles/31/02_KDE_IOSlaves.md @@ -0,0 +1,308 @@ ++++ +title = 'Ολοκλήρωση στο KDE: Η τεχνολογία IO Slaves' +date = '' +description = '' +author = 'Δημήτρης Καμενόπουλος για το Magaz ( magaz.hellug.gr(http://magaz.hellug.gr) )' +issue = ['Magaz 31'] +issue_weight = 2 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Αυτό που εντυπωσιάζει τον προγραμματιστή και τον χρήστη της κονσόλας του Unix είναι ότι \"τα πάντα είναι αρχεία\". Οι κατάλογοι, τα φυσικά αρχεία, οι σκληροί +δίσκοι, οι συσκευές δικτύου, οι δικτυακές συνδέσεις\... Όλα είναι αρχεία και αντιμετωπίζονται μέσα από ένα πρότυπο σύνολο λειτουργιών. Η τάση αυτή για διαφάνεια +και ολοκλήρωση είναι διάχυτη στο Unix, και αποτελεί βασικό τμήμα της φιλοσοφίας του.Το KDE, που παρά το γραφικό του χαρακτήρα δε θα μπορούσε ποτέ να απαρνηθεί +τη φιλοσοφία του παλιού καλού Unix, χρησιμοποιεί ένα ανάλογο μοντέλο για να αντιμετωπίζει με ενιαίο τρόπο όλες τις δυνατές πηγές εισόδου/εξόδου πληροφοριών. +Είτε πρόκειται για τα τοπικά συστήματα αρχείων, είτε για βάσεις δεδομένων SQL. Η αντίστοιχη τεχνολογία λέγεται KDE IO Slaves, είναι βασικό μέρος του KDE 2.x και +τη χρησιμοποιείτε καθημερινά μέσω του Konqueror.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Εισαγωγή** +---------------------------------------------- + +**2. Η Αφαίρεση** +------------------------------------------------ + +- [2.1 Με δυο κουβέντες](#ss2.1) +- [2.2 Αφαίρεση ναι, αλλά είναι τα πάντα ίδια;](#ss2.2) + +**3. Πώς Λειτουργούν οι KDE IO Slaves** +---------------------------------------------------------------------- + +**4. Πώς Χρησιμοποιούμε (οι Χρήστες) έναν IO Slave** +----------------------------------------------------------------------------------- + +**5. IO Slaves σε Δράση** +-------------------------------------------------------- + +- [5.1 Finger με χρωματάκια και ιστορίες](#ss5.1) +- [5.2 Ο Konqueror σαν πρόγραμμα ηλ. ταχυδρομείου](#ss5.2) +- [5.3 Απ\' ευθείας IO 1: περιορισμος των mount/umount](#ss5.3) +- [5.4 Απ\' ευθείας IO 2: ο Konqueror σαν CD ripper](#ss5.4) + +**6. Πού χρησιμοποιούνται οι IO Slaves** +----------------------------------------------------------------------- + +**7. Επίλογος** +---------------------------------------------- + + +### [1. Εισαγωγή]{#s1} + +Ένα από τα μεγάλα ατού των Windows 98 ήταν η \"επαναστατική\" δυνατότητα του IE να ανοίγει τοπικούς καταλόγους, δικτυακές ιστοσελίδες και τόπους FTP. Μπορώ να +θυμηθώ ενθουσιώδη άρθρα σε περιοδικά του χώρου για τον \"ενιαίο τρόπο\" αντιμετώπισης τοπικών και απομακρυσμένων αρχείων. Αφήνουμε κατά μέρος το ότι η +\"επαναστατική\" ενιαία αντιμετώπιση προϋπήρχε στο Unix εδώ και αρκετά χρόνια (ποτέ μην ξεχνάτε ότι στο μηχάνημά σας \"συνδέεστε\", και ότι το /home δεν +αποκλείεται να είναι προσαρτημένο με NFS και να αντιπροσωπεύει ένα σκληρό δίσκο στην άλλη όχθη του Ατλαντικού). + +Το πρόβλημα ήταν ότι η αντιμετώπιση εσωτερικά δεν ήταν καθόλου ενιαία. Εντελώς διαφορετικό πρόγραμμα (με διαφορετικά κουμπάκια και μενού) είναι το τμήμα του +Explorer που λειτουργεί ως Web Browser, εντελώς διαφορετικό το τμήμα FTP browser και εντελώς διαφορετικό το τμήμα File Manager. Το γεγονός ότι ο Explorer +παθαίνει \"μεταμόρφωση\" εσωτερικά για να αντιμετωπισει διαφορετική είσοδο κρύβεται από το χρήστη και από τον προγραμματιστή, και αυτό είναι καλό. Ωστόσο το να +επιτρέπεις σε λειτουργίες εισόδου/εξόδου να φτάνουν μέχρι το επίπεδο του User Interface δεν είναι κατά τη γνώμη μου καλή σχεδίαση. Ο Explorer, ή καλύτερα το +αντικείμενο \"Explorer\" είναι τρία (ή και περισσότερα) μονολιθικά προγράμματα. + +Αποτέλεσμα: παρά την υψηλής ποιότητας δουλειά των προγραμματιστών της Microsoft, ο Explorer είναι δυνατόν να κολλήσει αν τον \"στείλετε\" σε έναν κατάλογο FTP +και η σύνδεση είναι πολύ αργή ή κοπεί. Κι αυτό γιατί το \"υψηλού\" επιπέδου UI είναι στενά δεμένο με το \"χαμηλού\" επιπέδου σύστημα Ι/Ο. + +Ας έρθουμε όμως στα δικά μας, και συγκεκριμένα στο KDE. Ο Konqueror, όπως θα ξέρετε όλοι είναι File Manager και ταυτόχρονα Web και FTP browser. Θα δούμε σε αυτό +το άρθρο ότι ο Konqueror μπορεί να δει επίσης αλληλογραφία POP3, ηχητικά CD, αρχειοθήκες .tar.gz και άλλα πολλά. Όλα (εκτός από τις Ιστοσελίδες) +αντιμετωπίζονται με ενιαίο τρόπο και μάλιστα με εξαιρετική απλότητα. Υπεύθυνο για όλα αυτά είναι ένα στρώμα βοηθητικών προγραμμάτων, που εσωτερικά είναι γνωστά +με την ονομασία **KDE IO Slaves**. + + +### [2. Η Αφαίρεση]{#s2} + +### [2.1 Με δυο κουβέντες]{#ss2.1} + +Η σχεδίαση της τεχνολογίας IO Slaves είναι η \*σωστή\* αρθρωτή και ιεραρχική σχεδίαση που υποτίθεται ότι διδάσκεται σε κάθε μάθημα προγραμματισμού. Ο τελευταίος +απόφοιτος μιας σχολής προγραμματισμού γνωρίζει πως δεν πρέπει ποτέ λειτουργίες των χαμηλών επιπέδων (Ι/Ο) να \"εισβάλλουν\" στα υψηλά επίπεδα (User Interface), +όπως και ότι κοινές λειτουργίες θα πρέπει κατά το δυνατόν να ομαδοποιούνται και να προσφέρονται κατά ομοιόμορφο τρόπο στους χρήστες και στους προγραμματιστές. +Οι IO Slaves δεν είναι παρά απλή εφαρμογή των παραπάνω ιδεών. Με αυτά υπόψη, θα μπορούσαμε να συνοψίσουμε την τεχνολογία IO Slaves στην παρακάτω παράγραφο: + +**Οι ΙΟ Slaves είναι ένα στρώμα αντικειμένων που παρεμβάλλονται ανάμεσα σε ένα πρόγραμμα που ζητά πληροφορίες (π.χ. Konqueror) και την πηγή αυτών των +πληροφοριών. Αναλαμβάνουν να απαλλάξουν το πρόγραμμα από τις λεπτομέρειες της συνδιαλλαγής με την πηγή και της ανάκτησης των πληροφοριών, πραγματοποιώντας οι +ίδιοι αυτές τις λειτουργίες. Η χρήση των IO slaves γίνεται μέσω εντολών που είναι κοινές για όλους τους IO Slaves και άρα ανεξάρτητες του είδους της πηγής.** + +### [2.2 Αφαίρεση ναι, αλλά είναι τα πάντα ίδια;]{#ss2.2} + +Αν το δούμε πολύ αφαιρετικά το θέμα, σχεδόν τα πάντα σε έναν υπολογιστή μπορούν να αντιμετωπισθούν είτε ως περιεχόμενο, είτε ως αρχεία. Η διαφορά είναι μεγάλη. +Ένα \"αρχείο\" είναι ένα \"πράγμα\" με συγκεκριμένο όνομα. Τα περιεχόμενά του δε φαίνονται κατ\' ευθείαν όταν το κοιτάμε απ\' έξω. Πρέπει να το \"ανοίξουμε\" +και τότε κάποιο πρόγραμμα θα μας παρουσιάσει το \"περιεχόμενο\" του αρχείου. Υπάρχουν πρωτόκολλα που είναι καλύτερο να αντιμετωπιστούν σαν πρωτόκολλα αρχείων. +Το FTP για παράδειγμα, ή το NFS. Υπάρχουν όμως και πρωτόκολλα που (μολονότι εν τέλει στηρίζονται και αυτά σε κάποια αρχεία) καθορίζουν κυρίως περιεχόμενο. Για +παράδειγμα το HTTP κατά κανόνα χρησιμοποιείται για μεταφορά περιεχομένου. + +Οι IO Slaves κάνουν αυτή τη διάκριση. Όταν πρόκειται για περιεχόμενο αναλαμβάνουν να το εξαγάγουν σε κάποια μορφή που να μπορεί να προβληθεί από τον Konqueror. +Π.χ. ο gzip IO Slave παίρνει στην είσοδο ένα συμπιεσμένο αρχείο και το αποσυμπιέζει στην έξοδο. Ενεργεί δηλαδή σαν φίλτρο. Από εκεί και πέρα είναι θέμα του +Konqueror (ή οποιασδήποτε άλλης επφαρμογής χρησιμοποιεί τις υπηρεσίες του IO Slave) να προβάλλει σωστά αυτό το περιεχόμενο. Όταν πρόκειται για αρχεία, ο IO +Slave απλά δίνει πληροφορίες για αυτά τα αρχεία στην εφαρμογή, η οποία πρέπει να ζητήσει μια συγκεκριμένη υπηρεσία (την get) για να πάρει τα περιεχόμενά τους. Ο +FTP ΙΟ Slave π.χ., δίνει στον Konqueror μια λίστα με τα αρχεία ενός καταλόγου FTP και ο Konqueror εμφανίζει τα αντίστοιχα εικονίδια στην οθόνη. + +Ας δούμε τι αντιμετωπίζεται κυρίως σαν αρχείο (ή κατάλογος): + +- τα \...αρχεία και οι κατάλογοι +- οι τοποθεσίες **FTP** +- οι κατάλογοι **HTTP** που δεν έχουν index.html +- οι συμπιεσμένες αρχειοθήκες **.tar.gz** και **.tar.bz2** (που αντιμετωπίζονται σαν κανονικοί κατάλογοι) +- δικτυακοί κατάλογοι **NFS** +- πόροι **SMB** +- λογαριασμοί αλληλογραφίας POP3 και IMAP4 +- Ηχητικά CD +- Δισκέτες + +Και τι αντιμετωπίζεται κυρίως σαν περιεχόμενο: + +- Ιστοσελίδες **HTML** (τοπικές ή μέσω **HTTP**) +- Σελίδες **man** και **info** +- Βοήθεια του KDE (που μπορεί να είναι XML ή HTML) +- Πληροφορίες **finger** +- Συμπιεσμένα αρχεία **.gz** και **.bz2** + +Οι λίστες δεν είναι εξαντλητικές, ενώ η διάκριση δεν είναι πάντοτε τόσο απόλυτα. Σε γενικές γραμμές, ο IO slave αντιμετωπίζει ένα πρωτόκολλο σαν βασισμένο σε +αρχεία όταν σας δίνει στον Konqueror μια λίστα με εικονίδια, και σαν βασισμένο σε περιεχόμενο όταν σας δίνει HTML ή άλλη έξοδο. + + +### [3. Πώς Λειτουργούν οι KDE IO Slaves]{#s3} + +Ένας IO Slave είναι (σχεδιαστικά) ένα αντικείμενο που καταλαβαίνει ένα πρωτόκολλο και παρέχει λειτουργίες του πρωτοκόλλου για χρήση από προγράμματα ανωτέρου +επιπέδου. Συνήθως όμως τα περισσότερα προγράμματα χρησιμοποιούν μόνο μερικές στάνταρ λειτουργίες για την επικοινωνία με όλους τους IO Slaves, ενώ μόνο ειδικά +γραμμένα για κάποιον IO Slave προγράμματα κάνουν πλήρη χρήση όλων των λειτουργιών του. + +Επειδή αυτό ακούγεται λίγο περίπλοκο, θα προσπαθήσω να το εξηγήσω με ένα παράδειγμα: τον τετριμμένο IO Slave \"ftp\" ο οποίος χρησιμοποιείται από τον Konqueror +για τις λειτουργίες διαχείρισης τόπων FTP. Ο \"ftp\" παρέχει τις εξής λειτουργίες: + +- **get**, που ανακτά ένα απομακρυσμένο FTP αρχείο και το \"σερβίρει\" π.χ. τοπικά στο KWrite για άνοιγμα. +- **stat**, που δίνει πληροφορίες για ένα απομακρυσμένο FTP αρχείο (π.χ. ημερομηνία δημιουργίας, μέγεθος κλπ.) +- **listdir**, που παράγει για έναν απομακρυσμένο FTP κατάλογο μια λίστα με τα αρχεία του, επιτρέποντας π.χ. στον Konqueror να σας δείξει αυτά τα ωραία + εικονίδια που σε τίποτα δεν ξεχωρίζουν από τα τοπικά αρχεία. + +Οι περίσσότεροι IO Slaves παρέχουν μία τουλάχιστον από αυτές τις τρεις λειτουργίες. Οι Slaves περιεχομένου υποστηρίζουν βασικά την **get**, που στην περίπτωσή +τους \"φιλτράρει\" την είσοδό τους. Επίσης οι Slaves περιεχομένου υποστηρίζουν τη λειτουργία **mimetype** που καθορίζει το είδος της εξόδου τους. Οι +περισσότεροι έχουν έξοδο τύπου **text/html**, δηλαδή ιστοσελίδα, ώστε να μπορεί να απεικονιστεί στον Konqueror. Τέλος, μερικοί IO slaves (βασικά ο file και +μελλοντικά οι FTP και SMB) έχουν και λειτουργίες εγγραφής. + +Φυσικά άλλoi ΙΟ Slaves έχουν και άλλες υπηρεσίες, αλλά οι \"στάνταρ\" είναι αυτές οι τέσσερις. Αν το καλοσκεφτείτε, δεν κάνετε και άλλα πράγματα με οποιονδήποτε +πόρο του Η/Υ σας. Είτε βλέπετε πληροφορίες για αυτόν, είτε τον ανοίγετε, είτε τον τροποποιείτε. + + +### [4. Πώς Χρησιμοποιούμε (οι Χρήστες) έναν IO Slave]{#s4} + +Τουλάχιστον τρεις IO Slaves τους χρησιμοποιείτε κατά κόρον: είναι οι file, HTTP και ftp με προφανείς λειτουργίες. Για να χρησιμοποιήσουμε γενικά έναν +οποινδήποτε πόρο μέσω IO Slave, η σύνταξη είναι + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + (όνομα IO Slave): ('/' ή '//') (όνομα πόρου ή URL) + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +δηλαδή + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ftp://ftp.ntua.gr/pub/linux + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +ή + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + http://localhost:631/admin + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +ή + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + floppy:/ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Μέχρι στιγμής το μόνο πρόγραμμα που υποστηρίζει πλήρως αυτή τη σύνταξη είναι ο Konqueror. Μπορείτε να βάλετε στη μπάρα διεύθυνσης τη \"διεύθυνση\" οποιουδήποτε +από τους υπάρχοντες IO Slaves και είναι σίγουρο ότι θα επικοινωνήσει μια χαρά, και θα βρει και κάτι χρήσιμο να κάνει. + +Από την άλλη, οποιοσδήποτε προγραμματιστής μιας εφαρμογής KDE μπορεί να χρησιμοποιήσει αυτή τη σύνταξη στα προγράμματά του για να εξυπηρετηθεί από έναν IO +Slave. Οι \"γενικευμένες\" διευθύνσεις, που είναι σαν URLs αλλά αντί για **http://**, **ftp://** ή **file://** ή άλλα στάνταρ πρωτόκολλα έχουν και τα +\"ψευδοπρωτόκολλα\" που προφέρει κάποιος IO Slave (π.χ. **info://**) περιγράφονται από την κλάση KURL. + +Εκτός από τετριμμένες λειτουργίες (π.χ. έξοδος στο **standard error**) τα προγράμματα KDE **πρέπει** να χρησιμοποιούν KURLs και όχι απλά ονόματα αρχείων ή απλά +URL για είσοδο/έξοδο, οπότε καταλαβαίνετε πως η μέρα που το KEdit π.χ. θα επεξεργάζεται \"απ\' ευθείας\" αρχεία σε απομακρυσμένα FTP Sites στην άλλη άκρη της +γης ίσως να μην είναι και τόσο μακριά (αν και για την ώρα απέχουμε αρκετά από κάτι τέτοιο, δείτε και παρακάτω). + + +### [5. IO Slaves σε Δράση]{#s5} + +### [5.1 Finger με χρωματάκια και ιστορίες]{#ss5.1} + +Πολλοί θα ξέρετε την εντολή finger. Αυτή καλείται ως \'finger username\@hostname\' και εμφανίζει πληροφορίες για το χρήστη username του μηχανήματος hostname. Η +χρήση του IO Slave είναι απλή: + +Στη μπάρα διεύθυνσης του Konqueror δώστε π.χ. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + finger://root@localhost + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +και θα πάρετε πληροφορίες για το χρήστη root. + +### [5.2 Ο Konqueror σαν πρόγραμμα ηλ. ταχυδρομείου]{#ss5.2} + +Συνδεδεθείτε στο Internet, και δώστε στη μπάρα διεύθυνσης + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + pop3://διεύθυνση.του.mail.server.σας + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +π.χ. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + pop3://mail.ntua.gr + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Πατήστε Enter. Αν όλα πάνε καλά, θα σας ζητηθεί username και password και μετά από λίγο ο Konqueror θα εμφανίσει τα μηνύματα που περιμένουν να τα παραλάβετε, +σαν μια λίστα εικονιδίων. + +Βέβαια τα πράγματα δεν είναι πολύ βολικά, αφού αν ανοίξετε ένα από αυτά τα \"αρχεία\" θα πάρετε το αντίστοιχο μήνυμα σαν \"raw data\", ενώ ένα πρόγραμμα όπως το +KMail αποκωδικοποιεί αυτά τα raw data και σας εμφανίζει ελληνικά, HTML, URL και τα λοιπά. Από την άλλη, μπορείτε εύκολα να αντιγράψετε αυτά τα ακατέργαστα +μηνύματα στο δίσκο σας με ένα Select All και μετά με drag \'n\' drop, ενώ π.χ. με το KMail θα πρέπει να τα αποθηκεύσετε ένα ένα ή όλα μαζί σε ένα μεγάλο αρχείο. + +### [5.3 Απ\' ευθείας IO 1: περιορισμος των mount/umount]{#ss5.3} + +Ένα πράγμα που είναι λίγο βαρετό, είναι τα mount/umount που πρέπει να γίνονται ακόμα και για απλή προβολή της δισκέτας. Υπό την προϋπόθεση ότι έχετε δικαιώματα +ανάγνωσης απ\' ευθείας από το /dev/fd0 ή όποια άλλη συσκευή αντιστοιχεί στο floppy disk drive του συστήματός σας, δίνοντας + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + floppy:/ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Θα δείτε αμέσως τα περιεχόμενα της δισκέτας σας, χωρίς να χρειαστεί να κάνετε mount. + +### [5.4 Απ\' ευθείας IO 2: ο Konqueror σαν CD ripper]{#ss5.4} + +Ναι, ο τίτλος είναι σωστός. Πρόκειται για μια εντυπωσιακή εφαρμογή της τεχνολογίας IO Slaves, που κακώς δε διαφημίζεται. Υπάρχουν κάποια προαπαιτούμενα και +πάλι. + +- Να μπορείτε να διαβάσετε απ\' ευθείας από το /dev/hdc ή όποια άλλη συσκευή αντιστοιχεί στο CD ROM σας. Συνήθως μόνο ο root έχει τέτοια άδεια. +- Να είστε συνδεδεμένοι στο Internet. +- Το πακέτο kdebase σας να έχει μεταγλωτιστεί με υποστήριξη cdparanoia (οπωσδήποτε) και Ogg Vorbis ή MP3 (όχι υποχρεωτικά). + +Η όλη διαδικασία είναι αρκετά πολύπλοκη και κατά πάσα πιθανότητα θα αποτελέσει αντικείμενο ξεχωριστού άρθρου. + +Αν όμως οι παραπάνω προϋποθέσεις πληρούνται, βάλτε στο CD ROM σας ένα ηχητικό CD και δώστε στη μπάρα διεύθυνσης του Konqueror + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + audiocd:/ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Θα δείτε (μετά από λίγο) το εξής εκπληκτικό: Ο Konqueror γεμίζει με εικονίδια, που αντιστοιχούν στα tracks του CD (track01, track02\...), και εμφανίζει και +μερικούς καταλόγους, με ονόματα όπως \"WAV\", \"Ogg Vorbis\" και \"MP3\". Αυτοί οι κατάλογοι, \"περιέχουν\" τις ripped και encoded εκδόσεις των κομματιών του +CD. Φυσικά δεν έχει γίνει ακόμα κανένα ripping. Αλλά ο audiocd ΙΟ Slave είναι έτοιμος να σας σερβίρει ότι του ζητήσετε. Αν έχετε \"σφαιράτο\" μηχάνημα, ανοίξτε +ένα από τα MP3 κομμάτια. Θα έχετε τη -σπανιότατη- εμπειρία να ακούτε ένα MP3 που ripάρεται και κωδικοποιείται σε πραγματικό χρόνο. Πιο ρεαλιστική εφαρμογή, +είναι να \"τσιμπήσετε\" το MP3 και να το \"πετάξετε\" σε κάποιον τοπικό κατάλογο. Ο audio slave αρχίζει τότε να κάνει ripping και να γράφει το mp3 στο δίσκο. +Αντίστοιχα γίνεται η εξαγωγή σε μορφή Ogg Vorbis, σε WAV ή και σε RAW. + +To πλέον εντυπωσιακό, είναι ότι αν το CD σας υπάρχει στη CDDB (όπως το \"Dark Side of the Moon\" των Pink Floyd, τότε αντί για track0, track02 και λοιπά θα +δείτε τους τίτλους των τραγουδιών (π.χ. \"Pink Floyd - The Dark Side of The Moon - Time.mp3\", ). Γι\' αυτό και απαιτείται η σύνδεση με Ιντερνετ. Ο IO Slave +προσπαθεί πάντοτε να χρησιμοποιήσει τη CDDB. Μάλιστα (και εδώ έχουμε μια ατέλεια), αν δεν είστε συνδεδεμένοι, ο IO Slave κλείνει χωρίς να σας ενημερώσει, ενώ θα +μπορούσε να συνεχίζει και να ονομάζει τα κομμάτια track01, track02 κλπ. + + +### [6. Πού χρησιμοποιούνται οι IO Slaves]{#s6} + +Κανονικά: παντού όπου υπάρχει Ι/Ο στο KDE, είτε ο χρήστης το καταλαβαίνει, είτε όχι. Το KMail χρησιμοποιεί τους pop3 και imap4 IO Slaves για να ανακτήσει την +αλληλογραφία σας, ο Konqueror (κυρίως) τους http, ftp, file,help, man, info και tar για τις καθημερινές του λειτουργίες, ενώ πολλές εφαρμογές χρησιμοποιούν τους +nfs και smb για να προσφέρουν λειτουργίες \"Network Neighboorhoud\". + +Πρέπει να τονιστεί ότι **ΟΛΟΙ ανεξαιρέτως** οι IO Slaves μπορούν να χρησιμοποιηθούν απ\' αυθείας από τον Konqueror, επιτρέποντας ενδιαφέρουσες εφαρμογές, όπως +δημιουργία σελιδοδείκτη για μια ιστοσελίδα που βρίσκεται συμπιεσμένη σε ένα αρχείο .tar.gz και drag \'n\' drop από ηχητικά CD\'s σε τοπικούς καταλόγους. Έχετε +πάντοτε υπόψη σας όμως ότι όλες οι λειτουργίες ενός IO slave πιθανόν να μην είναι προσπελάσιμες έτσι απλά, ή να απαιτούν άδειες που έχει μόνον ο root. + +Μια παράλειψη των IO slaves είναι ότι δεν είναι και τόσο \"O\" όσο είναι \"Ι\". Δηλαδή δεν έχουν ακόμα λειτουργίες εγγραφής στον πόρο που χειρίζονται (με +κάποιες εξαιρέσεις). Αυτό όμως είναι και λογικό. Ποιος θέλει να τροποποιήσει μια man page ή ένα audio cd; Πάντως αυτή η έλλειψη είναι και ο λόγος που το KEdit +δε μπορεί ακόμα να επεξεργαστεί απ\' ευθείας ένα αρχείο σε κάποιον FTP server :-o. + +Πληροφορίες για τους διαθέσιμους IO Slaves μπορείτε να πάρετε (στο τρέχον CVS του KDE) στον Πίνακα Ελέγχου, στην ενότητα **Δίκτυο** - υποενότητα **Πρωτόκολλα**. +Α, ναι :-) Το \"user-friendly\" όνομα των IO Slaves είναι \"KDE Networking Protocols\", κάτι που δεν είναι βέβαια απόλυτα σωστό, αλλά οι περισσότεροι αποφάσισαν +ότι λέει περισσότερα σε έναν μη προγραμματιστή από το \"IO slaves\". Εσωτερικά βέβαια η τεχνολογία λέγεται πάντα \"ΙΟ Slaves\". + + +### [7. Επίλογος]{#s7} + +Να \'μαστε λοιπόν. Ο δικός μας Web Browser φτιάχνει και MP3, και μάλιστα με απλό drag \'n\' drop. Αυτό είναι ένα δίδαγμα για όσους, ερχόμενοι από τον κόσμο των +Windows και του Macintosh περιμένουν να τα βρουν όλα ολόιδια. Ποτέ μην περιφρονείτε τον τρόπο που τα πράγματα γίνονται στο linux, γιατί μπορεί να είναι και +καλύτερος. Κανείς δεν έχει ιδιαίτερα μεγάλη όρεξη να φτιάξει αντίγραφα των Windows. Θα ήταν μάλλον χαζό, αφού υπάρχει το πρωτότυπο. + +Η ομάδα KDE πήρε απλά τη λόγική της ενιαίας αντιμετώπισης των πόρων που είχε ενσωματωμένη πάντοτε το Unix, και την έφτασε δέκα χρόνια μπροστά από τις εμπορικές +\"ευκολίες\". Για \"αντίγραφο των Windows κατασκευασμένο από δεκαπεντάχρονο χακερά\" όπως είχε αποκαλέσει κάποιος ..απλός χρήστης, νομίζω ότι το KDE δεν τα πήγε +και άσχημα. + diff --git a/content/articles/31/03_icewm.md b/content/articles/31/03_icewm.md new file mode 100644 index 0000000..d3c9d56 --- /dev/null +++ b/content/articles/31/03_icewm.md @@ -0,0 +1,100 @@ ++++ +title = 'Μια παρουσίαση του IceWM' +date = '2001-06-01T00:00:00Z' +description = '' +author = 'Nick Apostolakis(mailto:nickapos@agriroot.aua.gr)' +issue = ['Magaz 31'] +issue_weight = 3 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*IceWm, a lightweight windowmanager* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Γενικά** +------------------------------------- + +- [1.1 DISCLAIMER](#ss1.1) +- [1.2 Τι είναι ο IceWM](#ss1.2) +- [1.3 Χαρακτηριστικά του IceWM](#ss1.3) + +**2. Compilation και αρχικές ρυθμίσεις του IceWM** +-------------------------------------------------------------------------- + +- [2.1 Compilation](#ss2.1) +- [2.2 Starting IceWM](#ss2.2) + + +### [1. Γενικά]{#s1} + +### [1.1 DISCLAIMER]{#ss1.1} + +Δεν φέρω καμία ευθύνη εάν η εφαρμογή των παρακάτω προκαλέσει οποιουδήποτε είδους ζημία στο μηχάνημα σας ή στα δεδομένα σας. + +### [1.2 Τι είναι ο IceWM]{#ss1.2} + +Ο **IceWM** είναι ένας Window Manager σχεδιασμένος έτσι ώστε να είναι μικρός, γρήγορος και να έχει οικεία εμφάνιση. Αρχικά σχεδιάστηκε ώστε να μοιάζει με το +Motif το OS/2, τα Windows 95 αν και αφού υποστηρίζει themes η εμφάνιση του μπορεί να αλλάζει. Όπως τα παραπάνω συστήματα ο **IceWM** έχει taskbar και το +αντίστοιχο του Start menu των Windows 95 όπως φαίνεται και στο Screenshot. + +Ο **IceWM** δεν έχει σχεδιαστεί ώστε να είναι πάρα πολύ παραμετροποιήσιμος όπως ο fvwm. Τα αρχεία μέσα απο τα οποία γίνεται η παραμετροποίηση του **IceWM** +είναι αρχεία κειμένου με παρα πολύ απλή σύνταξη το οποία μπορούμε να τα αλλάξουμε εντελώς χειροκίνητα με τον αγαπημένο μας editor ή να χρησιμοποιήσουμε ένα απο +τα γραφικά εργαλεία όπως είναι το iceMC. + +### [1.3 Χαρακτηριστικά του IceWM]{#ss1.3} + +Ο **IceWM** αν και δεν είναι τόσο παραμετροποιήσιμος όσο ο fvwm παραμετροποιείται σε σχετικά μεγάλο βαθμό με μεγάλη ευκολία. Επίσης αν και δεν έχει +χαρακτηριστικά των μεγάλων window managment systems (**KDE, Gnome**) όπως ήχους ανα event, μεγάλο integration μεταξύ των εφαρμογών του κτλ, δεν έχει και τα +σοβαρά τους μειονεκτήματα όπως μεγάλες απαιτήσεις σε μνήμη και χώρο, δυσκολία στο compilation απο source λόγω πολλών προαπαιτούμενων βιβλιοθηκών κα. + +Η υποστήριξη που έχει για themes, multiple workspaces, έλεγχο των πάντων (σχεδόν) απο το ποντίκι αλλά και απο το πληκτρολόγιο με τους κατάλληλους συνδυασμούς +πλήκτρων και η σταθερότητα του τον κάνουν ιδανική λύση για συστήματα με λίγους ή πολλούς πόρους και για όποιους τους ενδιαφέρει περισσότερο η παραγωγικότητα, +απο τον αν το πέρασμα απο την μια στην άλλη εφαρμογή συνοδέυεται και απο τον κατάλληλο ήχο ή αν ο terminal emulator που χρησιμοποιούν είναι διάφανος. Βέβαια εδώ +πρέπει να προσθέσω ότι ο **IceWM** ανήκει στους **GNOME compliant window managers** οπότε αν κάποιος έχει και GNOME μπορεί να έχει ένα συνδυασμό των +χαρακτηριστικών των δύο συστημάτων. + + +### [2. Compilation και αρχικές ρυθμίσεις του IceWM]{#s2} + +### [2.1 Compilation]{#ss2.1} + +Για να κάνουμε compile τον **IceWM** χρειαζόμαστε κάποιες βιβλιοθήκες γραφικών οι οποίες έχουν χρησιμοποιηθεί για την συγγραφή του. Αυτές οι βιβλιοθήκες είναι η +`gtk/glib` και `libXpm ή ImLib`. Ο **IceWM** είναι γραμμένος σε C++ οπότε θα χρειαστούμε τον `g++` και το `make` της `GNU`. Η +διαδικασία του compilation είναι η ίδια με όσα προγράμματα χρησιμοποιούν το `automake` πακέτο της `GNU` δηλαδή τρέχουμε πρώτα το `configure script` το οποίο +προσπαθεί να ανιχνεύσει τι σύστημα έχουμε και να φτιάξει τα Makefiles. Αφού δημιουργηθούν τα Makefiles τρέχουμε make και make install για να δημιουργηθεί και να +εγκατασταθεί ο **IceWM** στο σύστημα μας (το τελευταίο πρέπει να το τρέξουμε σαν **root**). + +### [2.2 Starting IceWM]{#ss2.2} + +Η επίσημη τεκμηρίωση υποστηρίζει ότι για να ξεκινήσουμε τον **IceWM** θα πρέπει να χρησιμοποιήσουμε το αρχείο `.Xclients` και εκεί μέσα να τοποθετήσουμε τις +κατάλληλες ρυθμίσεις ώστε να ξεκινάει ο **IceWM**. Επίσης δίνει και ένα δείγμα του αρχείου αυτού το οποίο παραθέτω παρακάτω: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + *# run profile to set $PATH and other env vars correctly + + *$HOME/.bash_profile + + + * # setup background + + *xsetroot -solid '#056' + + *# setup mouse acceleration + + *xset m 7 2 + + *# run initial programs + + *xterm& + + *# start icewm, and run xterm if it crashes (just to be safe) + + *exec icewm || exec xterm -fg red + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Έδω το αρχείο αυτό θέτει κάποιες μεταβλητές περιβάλλοντος και ξεκινάει κάποια προγράμματα αφού ξεκινήσει ο **IceWM** ή ξεκινάει ένα xterm εάν κάτι δεν πάει +καλά. Αφού όλα πάνε καλά μπορούμε να ξεκινήσουμε τον **IceWM** και να αρχίσουμε να τον ρυθμίζουμε σύμφωνα με τις προτιμήσεις μας. diff --git a/content/articles/31/04_unixevo.md b/content/articles/31/04_unixevo.md new file mode 100644 index 0000000..1edf977 --- /dev/null +++ b/content/articles/31/04_unixevo.md @@ -0,0 +1,430 @@ ++++ +title = 'Εξέλιξη των συστημάτων Unix' +date = '2001-06-01T00:00:00Z' +description = '' +author = 'Οικονομόπουλος Άγγελος(mailto:lydwigvernon@yahoo.co.uk) γιά το magaz(http://magaz.hellug.gr)' +issue = ['Magaz 31'] +issue_weight = 4 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Μαθαίνοντας την ιστορία, αποφέυγουμε να ξανακάνουμε τα ίδια λάθη. Και πόσα λάθη μπορεί πλέον να βρούμε σε κάτι το οποίο εξελλίσεται συνεχώς από το 1969; +Διαβάζοντας αυτό το άρθρο, ο κάθε ένας πρέπει όταν εργάζεται στο ελεύθερο Unix του να νιώθει την οικονομία και την συνέπεια ενός κατασκευάσματος που εδώ και +τριάντα και πλέον χρόνια δοκιμάζεται, χρησιμοποιείται και κατά περίσταση ξαναγράφεται από πανεπιστήμια, εταιρίες λογισμικού, βιομηχανίες, κράτη, τον αμερικάνικο +στρατό, αλλά κυρίως, από παθιασμένους hackers, που το βελτιώνουν, πέρα από την όποια αμοιβή μπορεί να λαμβάνουν, πρώτα από όλα για τον εαυτό τους. Δεν μπορεί +λοιπόν να γεννά απορία η συνοχή και η στιβαρότητα των ελεύθερων Unix, αφού αυτά ανήκουν στην οικογένεια ενός συστήματος πού όπως χαρακτηριστικά έχει αναφερθεί +έχει σε τέτοιο βαθμό διαποτίσει την κοινότητα των προγραμματιστών, ώστε μπορεί οποιαδήποτε στιγμή να ξαναγραφεί από το μηδέν.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Unix (R)evolution** +-------------------------------------------------- + +- [1.1 Η γέννηση του Unix](#ss1.1) +- [1.2 Το Unix όπως το γνωρίζουμε σήμερα: SVR1](#ss1.2) +- [1.3 Berkeley Software Distribution](#ss1.3) + +**2. Unix Variants** +---------------------------------------------- + +- [2.1 XENIX](#ss2.1) +- [2.2 Unix System V](#ss2.2) +- [2.3 SunOS/Solaris](#ss2.3) +- [2.4 HP-UX](#ss2.4) +- [2.5 AIX](#ss2.5) +- [2.6 NeXTSTEP](#ss2.6) +- [2.7 IRIX](#ss2.7) +- [2.8 A/UX](#ss2.8) +- [2.9 OSF/1](#ss2.9) +- [2.10 Minix](#ss2.10) +- [2.11 BSDi](#ss2.11) +- [2.12 UnixWare](#ss2.12) +- [2.13 tru64 Unix](#ss2.13) +- [2.14 Mac OS X](#ss2.14) + +**3. Open Source** +-------------------------------------------- + +- [3.1 GNU](#ss3.1) +- [3.2 GNU/Linux](#ss3.2) +- [3.3 FreeBSD](#ss3.3) +- [3.4 NetBSD](#ss3.4) +- [3.5 OpenBSD](#ss3.5) + +**4. Standardization** +------------------------------------------------ + +- [4.1 SVID](#ss4.1) +- [4.2 POSIX](#ss4.2) +- [4.3 XPG3/4](#ss4.3) +- [4.4 Single UNIX Specification](#ss4.4) +- [4.5 Single UNIX Specification 2](#ss4.5) + + +### [1. Unix (R)evolution]{#s1} + +Η εποχή αυτή είναι η εποχή των ερευνητικών ομάδων και των πανεπιστημίων, της ατομικής συνεισφοράς και τρέλας, αλλά κυρίως της ελεύθερης διάθεσης του κώδικα, +αυτή που ο Stallman νοσταλγούσε όταν ξεκίνησε την προσπάθειά του να ελευθερώσει το λογισμικό από τις πατέντες των εταιριών. Και όταν ακόμα η AT&T κατέστησε το +Unix αμιγώς εμπορικό προϊόν, το επιστημονικό ενδιαφέρον έπαιζε για αρκετό καιρό ακόμα σημαντικότερο ρόλο στην κατεύθυνση που ακολούθησε η εξέλιξη του Unix, από +τις αποφάσεις του τμήματος marketing των εταιριών. + +### [1.1 Η γέννηση του Unix]{#ss1.1} + +Στα τέλη της δεκαετίας του 1960, το Τεχνολογικό Ινστιτούτο της Μασσαχουσέτης (ΜΙΤ) μαζί με τα διάσημα Bell Labs της AT&T ανέπτυσσαν ένα εξελιγμένο λειτουργικό +σύστημα για το mainframe 645 της General Electric, υπό την ονομασία Multics (Multiplexed Information and Computing System). Για το ίδιο mainframe ο Ken Thompson +(εργαζόμενος στα Bell Labs) είχε γράψει ένα παιχνίδι το οποίο προσομοίωνε το ηλιακό σύστημα με τον τίτλο Space Travel, αλλά η εκτέλεση του παιχνιδιού από τον +645 ήταν απογοητευτική. Έτσι, αφού μαζί με τον Dennis Ritchie εξασφάλισε πρόσβαση σε έναν DEC PDP-7, ξαναέγραψαν το παιχνίδι για να τρέχει στον PDP-7 και +ταυτόχρονα, αξιοποιώντας πλήθος ιδεών από το Multics, δημιούργησαν ένα νέο λειτουργικό με μία πρώιμη γραμμή εντολών και το δικό του filesystem. Το λειτουργικό +αυτό μπορούσε να χρησιμοποιηθεί από δύο χρήστες ταυτόχρονα και ο Brian Kernighan του έδωσε χιουμοριστικά το όνομα Unics (Uniplexed Computing and Information +System), που το 1970 άλλαξε στο πασίγνωστο πλέον Unix. + +Με τον όρο να περιλαμβάνει utilities επεξεργασίας κειμένου, τα Bell Labs χρηματοδότησαν την μεταφορά του Unix στον ταχύτερο PDP-11/20. Το 1972 το Unix, μαζί με +το runoff (που εξελίχθηκε στο σημερινό troff), και τα δύο γραμμένα σε assembly, έτρεχε σε 10 mainframes. Το μεγαλύτερο, ίσως, άλμα στην εξέλιξη του Unix ήταν η +δημιουργία της γλώσσας προγραμματισμού C από τους Kernighan και Ritchie. Ο τελευταίος, μαζί με τον Thompson, ξαναέγραψε τον πυρήνα του Unix το 1973 +χρησιμοποιώντας την C, καθιστώντας το έτσι εύκολο στη συντήρηση και μεταφορά σε άλλες πλατφόρμες hardware. Στις επόμενες εκδόσεις (editions) του συστήματος, τις +οποίες η AT&T διέθετε σε εκπαιδευτικούς οργανισμούς, εταιρίες και κρατικές υπηρεσίες για ένα ονομαστικό κόστος, η μία καινοτομία διαδεχόταν την άλλη, ώστε η +έβδομη έκδοση του Unix περιελάμβανε το Bourne shell και το προτόκολο UUCP. Βασισμένο σε αυτή την έκδοση, το Unix System III ήταν το πρώτο Unix που η AT&T +διέθεσε εμπορικά. + +### []{#ref1} [1.2 Το Unix όπως το γνωρίζουμε σήμερα: SVR1]{#ss1.2} + +Ταυτόχρονα με τη διάθεση του SIII, από τα τμήματα έρευνας της AT&T, γίνονταν διαθέσιμες σε πανεπιστήμια και εργαστήρια ανεπίσημες εκδόσεις που εισήγαγαν +πειραματικά χαρακτηριστικά, ώστε ήταν δύσκολο για τον κάθε χρήστη ή προγραμματιστή να γνωρίζει αν τα προγράμματα που ανέπτυσσε θα ήταν συμβατά με τις επόμενες +εκδόσεις ή αν το user interface θα παρέμενε το ίδιο. Με την έκδοση του System V, πέρα από τις όποιες τεχνολογικές καινοτομίες, η AT&T φρόντισε κυρίως να +μετριάσει το fragmentation, εγγυόμενη πως το SV θα είχε προς τα εμπρός συμβατότητα με τις επόμενες επίσημες εκδόσεις. + +Η σημασία της απόφασης αυτής δεν καθίσταται άμεσα εμφανής - τουλάχιστον όχι μέχρι να σκεφτούμε πως σε οποιαδήποτε παραλλαγή του Unix και αν χρειαστεί να +εργαστούμε, θα βρούμε τουλάχιστον το παλιό-καλό Bourne shell τα ίδια ονόματα για τις βασικές εντολές και τα utilities (ls, grep, sed, more, κ.α.). Μάλιστα, σε +ένα ακραίο παράδειγμα, ένας χρήστης Unix αυτής της εποχής θα μπορούσε να εργαστεί χωρίς σημαντικό πρόβλημα στο κέλυφος και να εκτελέσει scripts που έγραψε προ +δεκαετιών. + +Στην τεχνική πλευρά τώρα, η SVR1 ενσωμάτωνε πολλά από τα στοιχεία του BSD, με σημαντικότερο όλων τον editor vi, ο οποίος έμελλε να καθιερωθεί σαν ο standard +editor των Unix συστημάτων. Η έκδοση System V Release 2 εισήγαγε το file locking. Ακόμα πιό επηρεασμένη από το BSD ήταν η SVR3 που απορρόφησε πολλές από τις +καινοτομίες των 4.xBSD\'s ιδιαίτερα όσες αφορούσαν τις τεχνολογίες δικτύωσης. Η SVR4, η τελευταία μαζί με την 4.2 που εκδόθηκαν από την AT&T, ενσωμάτωνε το +προτόκολο TCP/IP και τις BSD r\* εντολές, όπως και τα NFS, RPC από το SunOS. Η SVR5 εκδόθηκε από την Santa Cruz Operation (SCO). + +### [1.3 Berkeley Software Distribution]{#ss1.3} + +Περνώντας από το τμήμα επιστήμης υπολογιστών του Πανεπιστημίου του Berkeley, o Thompson μετέφερε την έκτη έκδοση του Unix σε έναν PDP-11/70. Έχοντας πλέον άμεση +πρόσβαση στο λειτουργικό σύστημα, οι φοιτητές Bill Joy και Chuck Halley ξεκίνησαν την ανάπτυξη των δικών τους εφαρμογών εξελλίσοντας τον line-editor ed, στον +ex, τον πρώτο editor με visual mode που επέτρεπε στο χρήστη να βλέπει μία οθόνη με το κείμενό του (σημαντική προσθήκη για την εποχή!) και ο οποίος εξελίχθηκε +από τον Joy στον αγαπημένο σε όλους (καλά, ίσως όχι σε όλους :) μας vi. Ακόμα, ανέπτυξαν το C shell, που είναι το default για τα BSD συστήματα και το οποίο +πρόσφερε δυνατότητες αδιανόητες για τους χρήστες του Bourne shell: λίστα των τελευταίων εντολών, command line editing, συνώνυμα (aliases) και ξεχωριστό login +και rc file. Περιλαμβάνοντας στα παραπάνω και έναν pascal compiler, οι Joy και Halley συνέθεσαν μία δική τους διανομή Unix που την διέθεσαν ως Berkeley Software +Distribution. Ακολούθησε το 1978 η 2BSD, ενώ η 3BSD εισήγαγε μία ριζική καινοτομία, την εικονική(ιδεατή) μνήμη που έκανε διαθέσιμη στο λειτουργικό πολλαπλάσια +ποσότητα μνήμης από την φυσική. + +Σταθμός στην εξέλιξη του Unix μπορεί να θεωρηθεί η απόφαση του DARPA (Defence Advanced Research Projects Agency) να αναθέσει στο πανεπιστήμιο του Berkeley την +ανάπτυξη του λειτουργικού του αμυντικού του δικτύου υπολογιστών. Στο πλαίσιο αυτής της συνεργασίας το DARPA χρηματοδότησε την εξέλιξη του 4BSD, η τρίτη έκδοση +του οποίου(4.2) το 1983 ενσωμάτωνε υποστήριξη για το δικτυακό πρωτόκολλο TCP/IP και τις πασίγνωστες remote commands (rsh, rlogin, rcp etc.) και τις DARPA +commands ftp και telnet που, παρά τα προβλήματα ασφάλειας, χρησιμοποιούνται ακόμα και σήμερα. Στο 4.2BSD στηρίχθηκε εν πολλοίς και το SVR4, όπως και το SunOS, +ενώ πάνω στην τελευταία έκδοση από το πανεπιστήμιο του Berkeley (4.4BSD ή 4.4BSDLite λόγω νομικών προβλημάτων) βασίστηκαν και τα open source FreeBSD, NetBSD, +OpenBSD μαζί με το εμπορικό BSD/OS (συνέχεια περισσότερο του 386BSD). + + +### [2. Unix Variants]{#s2} + +Σε μία τέτοια λίστα είναι προφανές ότι δεν θα μπορούσαν να συμπεριληφθούν όλα τα συστήματα που, περισσότερο ή λιγότερο το καθένα, ανήκουν στην οικογένεια του +Unix. Άν όμως ελλείψεις όπως το Plan9, το Ultrix και Unicos σας ενοχλούν, είναι σίγουρο ότι δεν χρειάζεται να διαβάσετε αυτό το άρθρο, δεν θα σας προσφέρει +απολύτως τίποτα. Γιά όποιον θέλει περισσότερες λεπτομέρειες για την εξέλιξη και τις αλληλεπιδράσεις ανάμεσα στις διάφορες βαριάντες, μπορεί να κατεβάσει μία +εξευτελιστικά λεπτομερή timeline (η οποία όμως συνιστάται ανεπιφύλακτα) από το URL: + +### [2.1 XENIX]{#ss2.1} + +Το 1980 η τότε-όχι-και-τόσο-κακή εταιρεία Microsoft, παρουσίασε το Xenix, ένα λειτουργικό βασισμένο στην έβδομη έκδοση του AT&T Unix το οποίο ήταν ο πρώτος Unix +κλώνος που δεν έτρεχε σε mainframe αλλά σε μικροεπεξεργαστές. Με την άμεση ανάμειξη της SCO, το Xenix μεταφέρθηκε στον Motorolla 68000 και στους 8086, 80286 και +80386 της Intel. Προερχόμενο απ\'ευθείας από το Unix της AT&T και με επιρροές από τα διάφορα BSD, το Xenix εισήγαγε και αυτό ορισμένες καινοτομίες (κυρίως +εντολές) τις οποίες όμως ενσωμάτωσε η AT&T στην έκδοση 3.2 του Unix System V, έτσι ώστε το Xenix άρχισε να φθίνει. Το ίδιο συνέβαινε και με την ανάμειξη της +Microsoft με το όλο project ( είχαν βρει το μέλλον στους IBM compatible και στο DOS :), ώστε μετά από λίγα χρόνια να μιλάμε για το SCO Xenix. + +### [2.2 Unix System V]{#ss2.2} + +Γιά το Unix System V μέχρι και την τέταρτη Release, βλέπε [Το Unix όπως το γνωρίζουμε σήμερα: SVR1](04_unixevo-1.html#ref1). Μετά και αυτή την έκδοση, η +ανάπτυξη του SV συνεχίστηκε από την θυγατρική της AT&T, Unix System Laboratories (USL), η οποία παρήγαγε το SVR4.2 στοχεύοντας και στην αγορά των desktop. Ο +κώδικας του SVR4 περιήλθε στην ιδιοκτησία της Novell, όταν η απέκτησε την πλειοψηφία μετοχών στα USL. Εξέδωσε το δικό της SVR4-based Unix σαν UnixWare, μέχρι να +πουλήσει τον κώδικα της R4 και το όνομα UnixWare στην Santa Cruz Operation (SCO). Το brand-name Unix έγινε ιδιοκτησία του X/OPEN και αργότερα του OpenGroup. Η +SCO συνέχισε την ανάπτυξη του Unix System V, ιδιαίτερα στο επίπεδο του πηρύνα, προσθέτοντας χαρακτηριστικά ώστε να το καταστήσει ανταγωνιστικό στην αγορά των +\"μεγάλων\" server, όπως υποστήριξη 64GB RAM, 512 logical disks, 1TB files και άλλα τέτοια \"μπαλωματάκια\". Στον πηρύνα της SVR5 στηρίζεται και το UnixWare της +ίδιας εταιρίας. + +### [2.3 SunOS/Solaris]{#ss2.3} + +Η Sun ιδρύθηκε to 1982 από τον Bill Joy, ο οποίος συμμετείχε ενεργά στην ανάπτυξη της Berkeley Software Distribution. Δεν μπορεί λοιπόν να αποτελεί έκπληξη το +γεγονός ότι η πρώτη έκδοση του λειτουργικού που διέθετε η Sun για το hardware το οποίο πουλούσε βασιζόταν σε μεγάλο βαθμό στο 4.xBSD. Στα πρώτα χρόνια της +ύπαρξής του το SunOS επηρέασε καταλυτικά την κατεύθυνση ανάπτυξης του Unix με πρωτοποριακές ιδέες όπως το Network File System (NFS), το Network Information +Service (NIS ή Yellow Pages-YP), το RPC (Remote Procedure Call) και το ξεχασμένο σήμερα XDR (External Data Representation) για ανταλλαγή δεδομένων, που ήταν +τόσο επιτυχημένες ώστε ενσωματώθηκαν αμέσως στο SVR4 από την AT&T. + +Στα επόμενα χρόνια, το SunOS ήταν εκείνο το οποίο ακολουθούσε την εξέλιξη των υπόλοιπων Unix, για αυτό η Sun μέσω της θυγατρικής της SunSoft έθεσε σαν στόχο την +μετάβαση σε ένα SVR4-based λειτουργικό, στόχο τον οποίο δεν πέτυχε η πρώτη έκδοση του Solaris(1.0), όντας ακόμα βαθιά εξαρτημένη από το σχετικά απαρχαιωμένο +SunOS. Τελικά με την έκδοση 2.1 του Solaris, η Sun έκανε ένα βήμα μπροστά υλοποιώντας μία ενιαία πλατφόρμα λογισμικού για το εξαιρετικό της hardware καθώς η 2.1 +μπορούσε να αξιοποιήσει όλους τους Sparc καθώς και τους x86 επεξεργαστές. Το SunOS συνέχισε την πορεία του παράλληλα με το Solaris (δεν ενδιαφέρει η εμπορική +ονομασία αλλά η ταυτότητα του λειτουργικού και το αναφέρω αυτό λόγω των διπλών ονομασιών που έδινε η Sun στο Solaris) έως το 1994. + +Με την έκδοση 2.5 το (συμβατό με POSIX από την 2.3 και με υποστήριξη του Motif από την 2.4) Solaris περιλαμβάνει και το CDE (Common Desktop Environment). Στην +έκδοση 2.6 ,η οποία έχει την \"σφραγίδα\" UNIX 95, υπάρχει για πρώτη φορά η (αμφιλεγόμενη σήμερα, επαναστατική τότε γλώσσα της Sun) Java. Οι εκδόσεις 7 και 8 +(το δύο \"κόπηκε\" από τους \"bad marketing people\") είδαν βελτιώσεις στα utilities διαχείρισης συστήματος και στις επιδόσεις, ενώ αναμένεται στην επόμενη +έκδοση η υιοθέτηση του GNOME ως default γραφικού περιβάλλοντος (σ.σ. : εγώ πάντως στον UltraSparc που θα πάρω τα Χριστούγεννα για το subnet του πλυσταριού θα +τρέχω Linux :) + +### [2.4 HP-UX]{#ss2.4} + +Η Hewlett-Packard παρουσίασε την δική της εκδοχή του Unix με το λανσάρισμα του HP-UX 1.0 το 1986. Η πρώτη αυτή έκδοση βασιζόταν στο SVR2 και το HP-UX ακολούθησε +την πορεία του SV μέχρι και την R4. Αρχικά το υποστηριζόμενο hardware ήταν μόνο ο HP9000/500 (μέχρι και 7 επεξεργαστές υποστηριζόμενοι) από τις πρώιμες +SIII-based εσωτερικές εκδόσεις της HP, ενώ αργότερα χρησιμοποιήθηκαν οι 680Χ0 της Motorolla. Σημαντικό γεγονός στην εξέλιξη του λειτουργικού ήταν η εμφάνιση του +Visual User Environment, ενός έγχρωμου(μη γελάτε μερικοί, δεν ήταν καθόλου αυτονόητο to 1990), με ψευδοτρισδιάστατη αίσθηση και αισθητικά υπέροχου (οκ, εντελώς +υποκειμενικό αυτό) GUI δημιουργημένου πάνω στο Motif της HP. Βεβαία λίγα στοιχεία θα φανούν διαφορετικά σε όσους είδαν τα Windows 95 (μείον τις +επαναλαμβανόμενες ανά πεντάλεπτο, με διαφορετική δικαιολογία κάθε φορά BSODs), αφού ακούγεται ότι η Microsoft το αντέγραψε μέχρι αηδίας. Το 1992, η HP +ανακαλύπτει ότι το νόημα της ύπαρξης είναι το standardization, αφού το HP-UX 9.0 είναι POSIX.!, POSIX.2, XPG4, SVID1 και SVID2 compliant ενώ είναι και +βελτιωμένο σε όλους τους τομείς σε σχέση με τις προηγούμενες εκδόσεις. Τη λίστα μεγαλώνει το UNIX 95 certified HP-UX 10.0 που ενσωματώνει και τις real-time +extensions του POSIX standard, είναι δηλαδή συμβατό με POSIX.1b. Τελευταία έκδοση η 64μπιτη 11.0 (1997) με δεν συμμαζεύεται χαρακτηριστικά για τους hi-end +servers/workstations. + +### [2.5 AIX]{#ss2.5} + +Δεν ήταν παρά το 1986, όταν η Big Blue ξεκίνησε να διαθέτει το δικό της Unix κλώνο υπό την ονομασία AIX. Το AIX ήταν βασισμένο στην έκδοση 3.2 του Unix System V +και ενσωμάτωνε στοιχεία του 4.3BSD, ενώ προοριζόταν να αποτελέσει το λειτουργικό σύστημα των workstations που (μεταξύ πολλών άλλων) παρήγαγε τότε η IBM. +Μένοντας συνεχώς κάτω από την άμεση εποπτεία της \"μαμάς\", το AIX ακολούθησε από κοντά τις εξελίξεις στην οικογένεια των Unix αφού αυτή συμμετείχε στην +ανάπτυξη του CDE και στο X/Open (βλέπε Standardization). Έτσι, η εξέλιξή του μπορεί να θεωρηθεί ότι ακολουθεί τα πασίγνωστα standards POSIX, XPG\* ενώ ήταν από +τα πρώτα λειτουργικά με τη \"σφραγίδα\" UNIX 98. + +### [2.6 NeXTSTEP]{#ss2.6} + +Το NeXTSTEP ήταν το λειτουργικό που ανέπτυξε η NeXT Computers γιά το hardware που κατασκεύαζε τη δεκαετία του 80. Χρησιμοποιούσε τον Mach και βασιζόταν πάνω στο +4.3BSD. Πάνω στο λειτουργικό έτρεχε ένα πρωτοποριακό, τότε, γραφικό περιβάλλον που έχει βρει το δρόμο του σε πολλούς σημερινούς (νεότερους τελοσπάντων) window +managers, στον window maker, στα steps.Μία άλλη καινοτομία ήταν το σύστημα απεικόνισης Display PostScript γιά πραγματικό WYSIWYG. Ακόμα, το NeXTSTEP διατηρούσε +ικανή συμβατότητα με τα BSD και ήταν (όχι σε όλες τις εκδόσεις του) POSIX-compliant. Μετά το 1993, η NeXT σταμάτησε να παράγει hardware και επικεντρώθηκε στην +ανάπτυξη του λειτουργικού, ώστε το 1997 (ζυγίζοντας και πολλούς άλλους παράγοντες είναι η αλήθεια) η Apple το επέλεξε σαν βάση γιά την επόμενη γενιά του MacOS. +Ανέφερα ότι πίσω από όλα αυτά ήταν ο Jobs; + +### [2.7 IRIX]{#ss2.7} + +Για την πορεία του IRIX ήταν δυνατό να βρεθούν λίγα στοιχεία πέρα από το ότι αντικατέστησε το MIPS OS στην πλατφόρμα hardware που παρήγαγε η Silicon Graphics. +Στο μεγαλύτερο, πάντως, χρονικό διάστημα από τη στιγμή της πρώτης υλοποίησής του απευθυνόταν σε αγοραστές με extreme απαιτήσεις ενώ σήμερα είναι κατάλληλο για +χρήση σε υπερυπολογιστές, servers ή workstations για όποιον θα ήθελε 80GB/s I/O bandwidth! Ανεπίβεβαίωτες πληροφορίες το θέλουν να είναι από την εποχή του +Nintendo 64 η προτιμητέα πλατφόρμα για την ανάπτυξη παιχνιδιών για τις κονσόλες (pre-rendered σκηνές). Βεβαία αφού απευθύνεται και σε mid/hi-end servers δεν θα +μπορούσε να λείπει η συμβατότητα με πλήθος standards, όπως UNIX 95, SVID3, XPG3, POSIX. + +### [2.8 A/UX]{#ss2.8} + +Το A/UX (=Apple\'s UNIX) ξεκίνησε την πορεία του σαν ένα SysV-derived λειτουργικό από την Apple. Στην πορεία, το A/UX ενσωμάτωσε πολλές από τις καινοτομίες που +εισήχθησαν στην οικογένεια του Unix, τόσο από την SV όσο και από την BSD πλευρά. Πιό συγκεκριμένα, βασιζόταν στο SVR2.2, αλλά επηρεάστηκε από τα 4.2/4.3BSD και +φυσικά από την SVR4, ώστε να πετύχει SVID/POSIX.1 συμβατότητα, ενώ έτρεχε στους 680x0 της Motorola. Οι 3.x.x εκδόσεις είχαν ικανή συμβατότητα με το MacOS, αλλά +τελικά η Apple εγκατέλειψε το A/UX στα μέσα της δεκαετίας του 90. + +### [2.9 OSF/1]{#ss2.9} + +Η κυριαρχία της AT&T στον χώρο των λειτουργικών συστημάτων, χάρη στην επιτυχία του System V, έφερε σαν απάντηση την σύνθεση ενός consortium (Open Software +Foundation) από τις IBM, HP, DEC κ.α. με στόχο την δημιουργία ενός συστήματος το οποίο θα μπορούσε να ανταγωνιστεί το SVR4. Μοναδικός καρπός αυτής της, +καταδικασμένης όπως αποδείχθηκε αργότερα, προσπάθειας ήταν το OSF/1 (κάτω από τον Mach) το οποίο γνώρισε σχεδόν πλήρη εμπορική αποτυχία. Από την απόρριψη +διέφυγε μόνο το γραφικό περιβάλλον που περιλαμβάνονταν στο OSF/1, το πασίγνωστο ακόμα και σήμερα Motif, που πέρασε στις περισσότερες από τις μεταγενέστερες του +1990 βαριάντες. Μόνη εταιρία που βάσισε την δική της έκδοση Unix στο δημιούργημα του Open Software Foundation (το οποίο εγκαταλείφθηκε από τους δημιουργούς του +και στράφηκε στην τυποποίηση) ήταν η DEC. To DEC OSF/1 βεβαία μικρή σχέση είχε με το σύστημα του 1990, αφού η DEC το βελτίωσε δραματικά σε κάθε σχεδόν τομέα +ενσωματώνοντας παράλληλα το πλήθος των χαρακτηριστικών που έλειπαν από το OSF/1 σε σχέση με το SV και την BSD. Με άλλα λόγια, η στιγμή γέννησης του OSF/1, ήταν +και η στιγμή του θανάτου του, αφού καθυστερημένο από τεχνικής άποψης και χωρίς υποστήριξη από τα μέλη του OSF, ήταν καταδικασμένο να αποτύχει. + +### [2.10 Minix]{#ss2.10} + +ΟΚ, όλοι έχουν ακούσει για \"το λειτουργικό από το οποίο εμπνεύστηκε ο Linus\". Αλλά αυτό είναι μάλλον το λιγότερο που προσέφερε το Minix στον τομέα της +πληροφορικής, ή μάλλον είναι ακριβώς αυτό : η έμπνευση. Το Minix είναι τέκνο του γνωστού καθηγητή του πανεπιστημίου Vrije στο Amsterdam, Andrew S. Tannenbaum, ο +οποίος το ανέπτυξε γιά μία και μόνο χρήση, τη διδασκαλία των εσωτερικών διεργασιών ενός λειτουργικού συστήματος. Αυτός ο σκοπός δεν θα μπορούσε να επιτευχθεί με +κάποιο άλλο Unix, λόγω της περιπλοκότητας και των πνευματικών δικαιωμάτων που τα καλύπτουν. Έτσι, ο Tannenbaum προχώρησε στην συγγραφή ενός Unix κλώνου, δικού +του copyright, το οποίο διέθεσε μαζί με τον κώδικα σε όποιον θα ήθελε να το χρησιμοποιήσει γιά εκπαιδευτικούς σκοπούς. Μόλις ένα μήνα μετά την έκδοση του +λειτουργικού, το comp.os.minix είχε συγκεντρώσει 10000 συμμετέχοντες, αρκετοί από τους οποίους προσέφεραν τη δουλειά τους γιά την περεταίρω εξέλιξη του Minix. +Πραγματοποιήθηκαν ports σε άλλες αρχιτεκτονικές πλην του IBM PC, PC/AT (Atari ST, Commodore Amiga, Macintosh-εδώ υπήρχε συνύπαρξη με το λειτουργικό της Apple). +Ωστόσο, ο Tannenbaum ποτέ δεν έχασε την βασική ιδέα που τον οδήγησε στη δημιουργία του συστήματος και πεισματικά αρνιόταν την πλειοψηφία των προσφορών γιά την +βελτίωση/επέκταση του Minix, αφού όπως λέει και ο ίδιος \"ήθελα να κρατήσω το λειτουργικό αρκετά μικρό ώστε οι φοιτητές μου να μπορούν να το κατανοήσουν σε ένα +εξάμηνο\"(ελεύθερη μετάφραση). Βεβαία, ταυτόχρονα εξελίσσονται ανεξάρτητες προσπάθειες πάνω στο Minix (που πλέον διατίθεται και κάτω από την BSD άδεια), γιά +συμβατότητα με το POSIX.1 πρότυπο, με τη C89 και άλλα παρόμοια. Κώδικας του Minix χρησιμοποιήθηκε (μέχρι να αντικατασταθεί από νέο) στα (πολύ, πάρα πολύ) πρώτα +στάδια της ανάπτυξης του πηρύνα από τον Linus. + +### [2.11 BSDi]{#ss2.11} + +Το BSDi ή BSD/OS είναι ένα POSIX.1 (και εν μέρει POSIX.2) συμβατό Unix το οποίο βασίζεται πάνω στον 386BSD πηρύνα, δηλαδή σε ιδιόκτητο κώδικα και όχι σε κώδικα +που διατίθεται κάτω από την BSD licence. Η τελευταία είναι η άδεια που χρησιμοποιείται για όσο από τον κώδικα του πηρύνα από το πανεπιστήμιο του Berkeley έχει +μείνει στα open source FreeBSD, OpenBSD και NetBSD και η άδεια κάτω από την οποία διατίθεται ο κώδικας των τελευταίων. Δηλαδή το BSD/OS είναι ένα εμπορικό +λειτουργικό που ανήκει στην εταιρεία Wind River, η οποία δίνει ιδιαίτερη έμφαση στον προσανατολισμό του δημιουργήματός της στις τεχνολογίες δικτύωσης και το +οποίο έχει μία \"ιδιαίτερη\" σχέση με το FreeBSD(= ενσωματώνουμε και εκμεταλλευόμαστε τον κώδικά σας, η τουλάχιστον αυτό ακούγεται). Το σύστημα αυτό δεν +φαίνεται να διαδραμάτισε κάποιο ρόλο στην κατεύθυνση της ανάπτυξης της οικογένειας Unix. Όπως ανέφερε παλαιότερα και ο Linus (για το 386BSD): μα είναι όνομα +αυτό; φοβίζει τον κόσμο\... + +### [2.12 UnixWare]{#ss2.12} + +Το UnixWare αποτελεί το λειτουργικό της Santa Cruz Operation το οποίο απευθύνεται στους hi-end servers. Το UnixWare ξεκίνησε από τη Novell σαν ένα βασισμένο στο +SVR4 σύστημα. Η ιδιοκτησία του πέρασε μετά το 1995 στην SCO, γιά να αντικαταστήσει το SVR3.2-based SCO UNIX. Παράλληλα η SCO εξέλισε την Unix System V Release 5 +(είχε αγοράσει την SVR4 \"πακέτο\" με το όνομα UnixWare) σε ένα 64-bit εξωτικών προδιαγραφών σύστημα, κατάλληλο για εφαρμογές υψηλών απαιτήσεων (τώρα τι +κατάφερε είναι άλλο θέμα). Ο πηρύνας της SVR5 χρησιμοποιήθηκε στο UnixWare 7 (1997) που περιελάμβανε Motif, CDE και ένα περιβάλλον ανάπτυξης 64 bit εφαρμογών. +Το σύστημα της SCO είναι συμβατό με POSIX.1/2, XPG4.2, έχει το mark UNIX 95 και γιά όποιους διαβάζουν το πορτοκαλί \"βιβλιαράκι\" βρίσκεται στο C2 επίπεδο +ασφάλειας, όπως δηλαδή και τα ανταγωνιστικά του Unix. Υποστηρίζει την IA32 και η SCO συνεργάζεται με την IBM στο project Merced-64. + +### [2.13 tru64 Unix]{#ss2.13} + +Το κυρίαρχο στις 64 bit πλατφόρμες tru64 UNIX της Compaq, έχει πίσω του μακριά ιστορία. Πρόκειται γιά την εξέλιξη του DEC OSF/1 (μετέπειτα Digital UNIX, το +οποίο η Compaq αγόρασε από την DEC γιά να το ξαναβαφτίσει στο σημερινό του όνομα). Από το DEC OSF/1, το tru64 κουβαλάει έναν 64μπιτο πηρύνα, βασισμένο πάνω στον +CMU Mach 2.5 και με επιδράσεις από τα 4.xBSD και το SV. Η Compaq το εξέλιξε ώστε να πετύχει μερική συμβατότητα με το POSIX.1b και να πάρει το χαρακτηρισμό UNIX +95. Φυσικά, τρέχει στους Alpha της DEC. + +### [2.14 Mac OS X]{#ss2.14} + +Η στροφή της Apple προς το Unix ήταν περισσότερο αποτέλεσμα του αδιεξόδου στην ανάπτυξη του MacOS και της επακόλουθης επιστροφής του Jobs στην εταιρία. Η +επανένταξη του Jobs στο δυναμικό της εταιρίας έγινε με την εξαγορά της NeXT και σχεδόν άμεσα, ανακοινώθηκε από την Apple η πρόθεσή της να στηρίξει την επόμενη +γενιά των λειτουργικών της σε πηρύνα Unix, αξιοποιώντας την δουλειά της NeXT. Έτσι, χρησιμοποιήθηκε το περιβάλλον Darwin γύρω από πηρύνα Mach, με τη χρήση των +οποίων η Apple λανσάρει το γραφικό περιβάλλον Aqua. Στόχος αυτής της αλλαγής πορείας είναι η αξιοποίηση της σταθερότητας του BSD, και η φιλικότητα προς τον +τελικό χρήστη. Συγχρόνως, η εταιρία διατυμπάνισε την επιλογή της για συνεργασία με την κοινότητα των υποστηρικτών του λογισμικού ανοικτού κώδικα (με +αμφιλεγόμενη, πλέον, ειλικρίνεια προθέσεων) για την περαιτέρω βελτίωση του Darwin. Ακόμα, το Mac OS X στοχεύει και στην αγορά των servers αφού ο κώδικας +δικτύωσης βασίζεται σχεδόν εξ\' ολοκλήρου στο 4.4BSD και εκδόσεις του λειτουργικού περιλαμβάνουν τον Apache. + + +### [3. Open Source]{#s3} + +Η ενηλικίωση του GNU project, αλλά και η αποδέσμευση των εκδόσεων του BSD από τα πνευματικά δικαιώματα της USL, μετά την αγορά της τελευταίας από τη Novell, +συνετέλεσαν ώστε να δημιουργηθεί μία ικανή βάση στην οποία θα μπορούσε να στηριχθεί κάθε προγραμματιστής ο οποίος θα επιθυμούσε να συνεισφέρει στην κοινότητα +ανοικτού κώδικα. Έτσι, μετά τις αρχές της προηγούμενης δεκαετίας, παρατηρείται εκθετική αύξηση στην συγγραφή open source προγραμμάτων και η κοινότητα εισάγει +ένα νέο μοντέλο ανάπτυξης, που δίνει διέξοδο έκφρασης σε κάθε νέα ιδέα και αναγνωρίζει το δικαίωμα του κάθε ατόμου να μετέχει στην τεχνική πρόοδο. + +### [3.1 GNU]{#ss3.1} + +Το GNU project (GNU\'s Not Unix)ξεκίνησε το 1983, όταν ο Richard M. Stallman συνέλαβε την ιδέα της συγγραφής ενός ελεύθερου λειτουργικού συστήματος δανειζόμενου +πολλά στοιχεία από την προϋπάρχουσα οικογένεια των Unix συστημάτων, αλλά χωρίς να χρησιμοποιεί πατενταρισμένο κώδικα. Η ιδέα πίσω από το όλο εγχείρημα είναι ότι +η τεχνική γνώση είναι κτήμα της κοινωνίας και ότι ο περιορισμός της διάδοσής της είναι ενάντια στον κοινό συμφέρον. Όσοι προγραμματιστές ανταποκρίθηκαν στην +πρόσκληση του Stallman, δημιούργησαν εκ του μηδενός πλήθος προγραμμάτων ανάλογα με αυτά των Unix, ώστε το 1985 είχαν διαθέσιμο τον editor emacs, έναν debugger +σε επίπεδο πηγαίου κώδικα, ένα ανάλογο του yacc και περίπου 35 utilities. Ήδη ο gcc είχε κατορθώσει να μεταγλωτίσει τον εαυτό του και το Bash μπορούσε σχεδόν να +χρησιμοποιηθεί. Όμως ο χρόνος που απαιτήθηκε για να φτάσει το GNU να περιλαμβάνει αρκετές χιλιάδες executables, τεκμηρίωση και libraries, ήταν πολλαπλάσιος (το +1987 πραγματοποιήθηκε η πρώτη beta-release του gcc, το 1988 έγινε διαθέσιμη η Ghost Script) και τελικά το Free Software Foundation ήταν, στις αρχές της +δεκαετίας του 90, σε θέση να διαθέσει μία λίγο-πολύ ολοκληρωμένη και χρησιμοποιήσιμη userland, καθώς ο πηρύνας Hurd (βασισμένος στον μικροπηρύνα CMU Mach) +απείχε πολύ από την ολοκλήρωση. Τελικά, το υλικό του GNU μπόρεσε να αποτελέσει ένα χρησιμοποιήσιμο λειτουργικό με την προσθήκη του πηρύνα Linux, ο οποίος +διανέμεται κάτω από την ίδια άδεια με τα υπόλοιπα μέρη του GNU. + +Λόγω της τεράστιας αποδοχής του GNU/Linux, η ανάπτυξη του Hurd από το FSF πέρασε σε δεύτερη μοίρα και μόνο το 2001, μπόρεσε ο πηρύνας να αποτελέσει την \"ψυχή\" +του GNU. Στο χρονικό διάστημα που μεσολάβησε, το Free Software Directory συνέχισε να μεγαλώνει, τροφοδοτούμενο από τους (δυνάμει) προγραμματιστές που το Linux +εισήγαγε στην φιλοσοφία του ελεύθερου λογισμικού. Το 1997 ξεκίνησε η ανάπτυξη του GNOME (GNU Network Object Model Environment), ενός γραφικού περιβάλλοντος +εργασίας, βασισμένο στην βιβλιοθήκη GTK+, καθώς και πολλών συνοδευτικών εφαρμογών για αυτό. Η πρώτη διανομή του GNU ήταν (είναι) η Debian GNU/Hurd το 2001. + +### [3.2 GNU/Linux]{#ss3.2} + +Χιλιοειπωμένη ιστορία! Ο Linus Torvalds (φοιτητής τότε στο πανεπιστήμιο του Ελσίνκι), γιά να εξασκηθεί στην C, ξεκίνησε το 1991 τη συγγραφή ενός πηρ\... +Χμμ\...Ας περιοριστούμε στο Linux.Ο πηρύνας του Linux στην πρώτη του έκδοση (0.01) είχε δυνατότητα γιά task-switching, παρείχε pseudo-tty\'s, οδηγό γιά ΑΤ +δίσκους, BSD sockets, BSD long filenames και system calls που έτειναν προς τις απαιτήσεις του POSIX στα 71KB του tarball. Δύο μήνες μετά, ο 0.11 προσέφερε +demand loading, data sharing ανάμεσα στις διεργασίες, υποστήριξη οδηγού δισκέτας και ήχο (beep!) στην κονσόλα, ενώ έτρεχε αρκετά πλέον executables από το GNU +Project. Εκτός του ότι ήταν ο πρώτος πηρύνας που μεταγλωττίστηκε κάτω από τον εαυτό του και πέρα από την πολύ σημαντική VM, το Linux 0.12 ήταν η πρώτη έκδοση +του πηρύνα κάτω από την GPL. + +Μετά και την έκδοση 1.0, το Linux έχει υποστήριξη SCSI και γύρω από τον Linus έχει αρχίσει να μαζεύεται η πολυπληθής παρέα που λίγοι μπορούν να ονομάσουν (Cox, +κ.τ.λ.). Ο Cox είναι ο κύριος υπέυθυνος για τον firewalling κώδικα του πηρύνα ο οποίος βασίζεται ουσιαστικά στα BSD και διατηρήθηκε στους 1.x πηρύνες, στους +οποίους οι προγραμματιστές του πηρύνα σταδιακά πρόσθεσαν/βελτίωσαν την υποστήριξη για συνδέσεις αρχικά SLIP και στη συνέχεια PPP, πάνω στις οποίες \"κάθονταν\" +τα TCP/IP και IPX. Η έκδοση 2.0.x είδε την δεύτερη γενιά του firewall, ενώ με τους 2.2.x πηρύνες, το Linux απαγκιστρώνεται από τα BSD και αποκτά μία \"καθαρή\" +υλοποίηση packet filtering, οδεύοντας προς το σημερινό netfilter. Συγχρόνως γίνονται ports και σε άλλες, πλην της x86, αρχιτεκτονικές , ώστε το Linux 2.0 να +τρέχει σε Motorola 68K, Sparc, MIPS, Alpha και PPC, giά να φτάσουμε στον 2.4 στον οποίο το ls arch δίνει: alpha arm i386 ia64m68k mips mips64 parisc ppc s390 sh +sparc sparc64. Σε όλη την εξέλιξη του πηρύνα αυτό που δεν μένει στάσιμο είναι το πλήθος των υποστηριζόμενων συσκευών το οποίο αυξάνεται αδιάκοπα, σε βαθμό που +εδώ και λίγα χρόνια το GNU/Linux να θεωρείται εναλλακτική επιλογή και σαν desktop σύστημα. + +Στο GNU/Linux ενσωματώνεται ο Samba server γιά την διευκόλυνση των μικτών δικτύων Unix/NT, ενώ ο πηρύνας αναγνωρίζει πλήθος άλλων filesystems και προτοκόλων +επικοινωνίας, ώστε να καθιστούν το Linux σαν την πρώτη επιλογή όταν το ζητούμενο είναι η interoperability. Μία ακόμα καινοτομία που εισήγαγε το Linux είναι το +μοντέλο ανάπτυξης προγραμμάτων ανοικτού κώδικα στο οποίο δεν υπάρχει κεντρική διαχείριση, μεσολαβεί μικρό χρονικό διάστημα μεταξύ των σταθερών εκδόσεων και ο +κώδικας είναι διαθέσιμος στον καθένα σε όλα τα στάδια ανάπτυξής του (βλέπε [The Cathedral and the +Bazaar](http://howto.hellug.gr/howto/pub/html/cathedral-bazaar.html)). + +### [3.3 FreeBSD]{#ss3.3} + +Η αρχική ομάδα του FreeBSD στηρίχθηκε πάνω στο 386BSD και έθεσε ως βασικό στόχο στην ανάπτυξη του λειτουργικού την υποστήριξη της PC πλατφόρμας καθώς και την +παροχή περισσότερων ευκολιών στον τελικό χρήστη. Αφού αξιοποίησε τα patches για το 386BSD που ο δημιουργός του αδυνατούσε να εφαρμόσει, αντλώντας στοιχεία +απευθείας από την 4.3BSD Networking Release 2 (Net/2) και \"ντύνοντάς\" το με υλικό από το GNU Project, η ομάδα διέθεσε το FreeBSD 1.0 το Δεκέμβρη του 1993. +Μετά την μετάβαση στο 4.4BSD-Lite με την έκδοση 2.0, η δημοτικότητα του FreeBSD, αυξάνεται αλματωδώς και στο λειτουργικό ενσωματώνονται αρκετές καινοτομίες. Το +1994 εισάγεται η έννοια του ports collection, την οποία υιοθετούν αργότερα και τα άλλα open source BSD\'s. Η ομάδα του FreeBSD επιτυγχάνει ταχύτατες υλοποιήσεις +των γνωστότερων δικτυακών προτοκόλων, και η userland μεγαλώνει διαρκώς σε όγκο (υπάρχουν περίπου 4000 ports), ενώ καθίσταται δυνατή η χρήση shared libraries. Το +λειτουργικό διατίθεται πλέον και γιά την πλατφόρμα των Alpha της DEC και προετοιμάζεται η μεταφορά του στο hardware της Sun. + +### [3.4 NetBSD]{#ss3.4} + +Η ανάπτυξη του NetBSD ξεκίνησε σαν μία προσπάθεια γιά την συνέχιση και ανανέωση του 386BSD, το οποίο, παρά τη μεγάλη του απήχηση, δεν μπορούσε να ακολουθήσει +τις εξελίξεις λόγω της αδυναμίας του δημιουργού και συντονιστή του, Bill Jolitz, να εργαστεί εντατικά σε αυτό. Έτσι μία ομάδα χρηστών του 386BSD συνεργάστηκαν +γιά να συνθέσουν τη δική τους διανομή, προσθέτοντας τη δική τους δουλειά και εφαρμόζοντας τον τεράστιο όγκο των patches που είχαν συνεισφέρει χρήστες του +συστήματος και τα οποία έμεναν αναξιοποίητα στα χέρια του Jolitz. Το NetBSD group απορρόφησε μεγάλο μέρος της δουλειάς του Computer Systems Research Group +(CSRG) του UCB καθώς και κώδικα από το GNU project. Στην έκδοση 1.0 έγινε η αναγκαστική, γιά νομικούς λόγους, αλλαγή βάσης στο 4.4BSD-Lite και τα BSD μπόρεσαν +να εκμεταλλευτούν τον διαχωρισμό του κώδικα σε machine-independant και μη που είχε επιτύχει το CSRG, γιά την εύκολη μετάβαση σε νέες πλατφόρμες (porting). +Ειδικά το NetBSD group έθεσε σαν μία από τις πρώτες προτεραιότητες τη συμβατότητα με όσο το δυνατό μεγαλύτερο αριθμό επεξεργαστών ή/και ηλεκτρονικών συσκευών, +απόφαση που καθιστούσε σαν επιτακτική, πλέον, ανάγκη ο κώδικας του συστήματος να είναι καθαρογραμμένος και σωστά οργανωμένος. Το NetBSD ήταν το πρώτο +open-source λειτουργικό που έτρεξε στον Alpha και μέσα στο 2001, οι επίσημα υποστηριζόμενες πλατφόρμες πλησιάζουν τις 40 (βεβαία αυτό το νούμερο θα έχει ήδη +μεγαλώσει :). Είναι μερικώς συμβατό με το POSIX.1 και λιγότερο, με το POSIX.2, ενώ από το δέντρο του αντλούν στοιχεία πολλές ports των άλλων BSD συστημάτων. + +### [3.5 OpenBSD]{#ss3.5} + +Το OpenBSD γεννήθηκε από ένα fork στην ανάπτυξη του NetBSD, όταν μία ομάδα προγραμματιστών συνέχισε την εργασία της πάνω στον κώδικα του NetBSD δίνοντας +ιδιαίτερη προσοχή στην ασφάλεια του συστήματος. Από το 1996 μέχρι και σήμερα μία ομάδα από 12 άτομα \"χτένισε\" τον κώδικα στον οποίο βασίζεται το OpenBSD +αναζητώντας bugs, σχεδιαστικά λάθη, παραλήψεις τα οποία μπορούσαν να χρησιμοποιηθούν γιά να αποδυναμωθεί η ασφάλεια του μηχανήματος. Θεμελιώδη σημασία γιά το +OpenBSD είχε η απόφαση των δημιουργών του να το αναπτύξουν στον Καναδά και να δέχονται (στον τομέα που αναφέρεται παρακάτω) συνεισφορές μόνο εκτός Ηνωμένων +Πολιτειών, παρακάμπτοντας με τον τρόπο αυτό τους νόμους των ΗΠΑ περί εξαγωγής μεθόδων κρυπτογράφησης. Έτσι με το λειτουργικό μπορούν να διανέμονται οι DES, +triple DES, Blowfish και Cast transforms που βρίσκουν εφαρμογή στο IPSEC και στον Kerberos, δίνοντας στο σύστημα πρωτοποριακές (τότε), σε σχέση με τα άλλα open +source λειτουργικά, δυνατότητες στον τομέα της ασφάλειας των επικοινωνιών και της κρυπτογράφησης ευαίσθητων δεδομένων. Εξίσου σημαντική, γιά όλα τα ανοικτού +κώδικα συστήματα, ήταν (είναι) και η ανάπτυξη του OpenSSH, μιας ανοικτής υλοποίησης του προτοκόλου SSH, συμβατή με όλες τις εκδόσεις του τελευταίου. Επιπλέον, η +κοινή βάση με το NetBSD διευκολύνει τη μεταφορά του OpenBSD σε νέες αρχιτεκτονικές, με 11 ports να έχουν ολοκληρωθεί και αρκετές να βρίσκονται σε εξέλιξη. + + +### [4. Standardization]{#s4} + +Ήδη από τις αρχές της δεκαετίας του 80, τα νέα χαρακτηριστικά που εισήγαγαν οι κυριότερες βαριάντες Unix, διεύρυναν τις ασυμβατότητες μεταξύ τους. Το φαινόμενο +αυτό μετριαζόταν, αφού όπως παραδοσιακά συνέβαινε στην οικογένεια του Unix, κάθε καινοτομία υιοθετούνταν άμεσα από όλους τους κατασκευαστές, αλλά και πάλι +κανένας προγραμματιστής δεν μπορούσε να είναι βέβαιος ότι η εφαρμογή που ανέπτυσσε γιά ένα σύστημα θα μπορούσε να χρησιμοποιηθεί και σε κάποιο άλλο. Για τη +διευκόλυνση των χρηστών/πελατών, οι εταιρίες που συμμετείχαν στην ανάπτυξη Unix συστημάτων, συνεργάστηκαν γιά την καθιέρωση ορισμένων κοινά αποδεκτών standards, +με στόχο την ευρύτερη συμβατότητα. Τούτη η προσπάθεια αποτέλεσε τον κλασικό τρόπο αντιμετώπισης του προβλήματος του fragmentation γιά περισσότερο από μία +δεκαετία. Σήμερα, τα open source Unix συστήματα είναι μάλλον αυτά που ακολουθούν το σωστότερο δρόμο, γιατί σε αυτά το συμφέρον των χρηστών/δημιουργών είναι +εκείνο που καθορίζει την κατεύθυνση της ανάπτυξης. + +### [4.1 SVID]{#ss4.1} + +Η System V Interface Definition αποτέλεσε μέρος της προσπάθειας της AT&T να καταστήσει το SV de facto standard στον κόσμο των Unix. Η SVID καθορίζει τεχνικά +χαρακτηριστικά του Unix System V τα οποία παρέχονται με την εγγύηση ότι θα διατηρηθούν στις επόμενες εκδόσεις και κάθε SVID-compliant σύστημα δεσμεύεται από την +υποχρέωση να διατηρήσει αυτή την συμβατότητα. Ακόμα, περιγράφει λεπτομερώς τα interfaces που παρέχονται για τις εφαρμογές, ώστε να εξασφαλίζει στον +προγραμματιστή ότι αν γράψει μία εφαρμογή στο πλαίσιο της SVID, αυτή θα μπορεί να εκτελεστεί σε όλα τα συμβατά συστήματα. Φυσικά, οι εκδόσεις του System V είναι +SVID-compliant και η SVID συνέχισε να εξελίσσεται με κάθε νέα υλοποίηση του Unix από την AT&T. Οι προδιαγραφές που όρισε η System V Interface Definition +αποτέλεσαν τη βάση γιά τα standard που υιοθέτησε το X/OPEN Consortium και πέρασαν σχεδόν αυτούσιες στην Single UNIX Specification. + +### [4.2 POSIX]{#ss4.2} + +Η ανησυχία γιά την ασυμβατότητα ανάμεσα στις βαριάντες/εκδόσεις Unix, οδήγησαν το 1981 την ομάδα χρηστών /usr/group στην αναζήτηση ενός standard το οποίο θα +εξασφάλιζε portability γιά τις διάφορες εφαρμογές. Το πρώτο αποτέλεσμα της προσπάθειάς τους δημοσιοποιήθηκε το 1984 και δεδομένης της ευρύτητας του +εγχειρήματος, η προσπάθεια συνεχίστηκε μετά το 1985 μέσα από την IEEE (Institute for Electrical and Electronics Engineers) στο πλαίσιο του Project 1003 (P1003). +Ο σκοπός αυτού του project ήταν ο καθορισμός ενός συνόλου από standards που θα καθόριζαν τον τρόπο αλληλεπίδρασης του λειτουργικού συστήματος με τις εφαρμογές +και το οποίο ονομάστηκε POSIX (στην εισαγωγή του POSIX.1 αναφέρεται: \"The name POSIX was suggested by Richard Stallman. It is expected to be pronounced +pahz-icks as in positive, not poh-six, or other variations. The pronounciation has been published in an attempt to promulgate a standardized way of referring to +a standard operating system interface\". + +Από τα POSIX standards, μεγαλύτερη προσοχή δίνεται συνήθως στο P1003.1 (POSIX.1), το απόλυτο minimum γιά να μπορεί ένα λειτουργικό να ισχυριστεί ότι ανήκει στην +οικογένεια των Unix συστημάτων. Το POSIX.1 καθορίζει το system interface (system calls, signals, files, pipes, I/O, κ.τ.λ.). Στο POSIX.1b περιλαμβάνεται το +real-time interface, δηλαδή τα real-time signals/priorities, file synchronization, asynchronous I/O, semaphores κ.α. Το POSIX.1c ασχολείται με τα threads, το e +με την ασφάλεια, το d περιλαμβάνει τις λεγόμενες real-time extensions, γιά να μη σας πω ότι το real-time υποσύνολο ονομαζόταν POSIX.4 και ότι το POSIX.3.5 +καλύπτει την Ada. Είναι πλέον φανερό το εύρος του POSIX πρότυπου. Κάτω από αυτό το πρίσμα δεν μπορεί να θεωρηθεί έκπληξη το γεγονός ότι τα νεότερα standards +χτίζουν πάνω σε κάποια από τα είκοσι και πλέον υποσύνολα του POSIX προτύπου. + +### [4.3 XPG3/4]{#ss4.3} + +To X/OPEN consortium γεννήθηκε το 1984 στην Ευρώπη (=από ευρωπαϊκές εταιρίες) και είχε σαν στόχο του τον ορισμό των standards που θα έπρεπε να πληρεί ένα +σύστημα γιά να μπορεί να χαρακτηριστεί Unix. Αργότερα στο X/OPEN προσχώρησαν όλες σχεδόν οι εταιρίες που κατασκεύαζαν Unix κλώνους. Το consortium αυτό δεν +εισήγαγε δικά του standards, αλλά υιοθέτησε τα ήδη υπάρχοντα, ώστε να είναι ευκολότερη η οριοθέτηση ενός κοινά αποδεκτού interface γιά την ανάπτυξη εφαρμογών, +λύση που πήρε τη μορφή του Common Applications Environment. Το CAE βασιζόταν κατά το μεγαλύτερο μέρος του στην SVID και περιελάμβανε τα βασικότερα POSIX +standards. Η πιστοποίηση της συμμόρφωσης γινόταν με το X/OPEN Portability Guide (XPG), πιστοποίηση την οποία είχε και το SVR4 (XPG3). Το XPG3 καθόριζε i18ned +system calls και βιβλιοθήκες, εντολές και utilities, καθώς και χαρακτηριστικά της C και την αλληλεπίδραση μεταξύ των XPG3-certified συστημάτων. Στην +interoperability επικεντρωνόταν και το XPG4 του 1992. Σαν αποτέλεσμα της συγχώνευσης του Open Software Foundation με το X/OPEN consortium, το XPG περιέχεται +πλέον στην Single UNIX Specification του OpenGroup (το προϊόν αυτής της συγχώνευσης). + +### [4.4 Single UNIX Specification]{#ss4.4} + +Το 1993 το X/OPEN consortium ανέλαβε την ευθύνη της παραγωγής ενός specification γιά τα κοινότερα Application Programming Interfaces, ώστε να είναι δυνατή η +άμεση μεταφορά ανάμεσα στις διάφορες πλατφόρμες που θα το ακολουθούσαν. Γιά να επιτύχει αυτή την τεράστια ενοποίηση, το X/OPEN κατέγραψε τα (αθροιστικά) 1170 +διαφορετικά APIs που προβλέπονται από την System V Interface Definition, το X/OPEN Portability Guide, το Application Environment Specification Full Use +Interface (AES) από το Open Software Foundation και μία ανάλυση των περισσότερο διαδεδομένων εφαρμογών, γιά αυτό και το αποτέλεσμα αυτής της προσπάθειας έγινε +γνωστό σαν Spec 1170. Μετά από ορισμένες μετατροπές και/ή προσθέσεις, το X/OPEN παρουσίασε τον καρπό αυτού του εγχειρήματος με το όνομα Single UNIX +Specification. Τα συμβατά συστήματα, όπως το AIX, το IRIX, το HP-UX και άλλα, λαμβάνουν το mark UNIX 95. + +### [4.5 Single UNIX Specification 2]{#ss4.5} + +To OpenGroup consortium παρουσίασε το 1997 ένα ευρύτερο σύνολο προδιαγραφών, το οποίο επέκτεινε το αρχικό standard του X/OPEN, με την ονομασία Single UNIX +Specification, Version 2. Σύμφωνα με τις θέσεις του OpenGroup, το νέο standard αποσκοπούσε στην εδραίωση του Unix ως την πρώτη επιλογή γιά εργασίες που απαιτούν +υψηλή αξιοπιστία και την καθιέρωσή του στον τομέα της επεξεργασίας γραφικών με υψηλές επιδόσεις. Η Version 2 είναι υπερσύνολο της πρώτης έκδοσης και τα νέα +στοιχεία που εισάγει περιλαμβάνουν extended threads functions, συμβατότητα με τα νεότερα POSIX, το γνωστό σαν N-bit cleanup, τον διαχωρισμό δηλαδή του +architecture-dependant κώδικα (όσον αφορά το data-length), με άλλα λόγια επιτρέπει τη μετάβαση στα 64 bit. Επιπλέον, προβλέπει αρχεία ικανού μεγέθους γιά να +εξυπηρετηθούν οι σύγχρονες εφαρμογές (κυρίως οι βάσεις δεδομένων), dynamic linking extensions (όχι δεν ξέρω που χρησιμεύουν :) και Year 2000 Allignment (όχι ότι +χρειαζόταν). Βεβαία, όλα αυτά και διατηρώντας προς τα πίσω συμβατότητα. Με στοιχεία του 1999, μόνο η IBM, η Sun και η NCR είχαν πιστοποιήσει ως UNIX 98 κάποιο +από τα προϊόντα τους. + diff --git a/content/articles/31/05_blender_intro.md b/content/articles/31/05_blender_intro.md new file mode 100644 index 0000000..23ef252 --- /dev/null +++ b/content/articles/31/05_blender_intro.md @@ -0,0 +1,257 @@ ++++ +title = 'Είσαγωγη στο Blender 3D' +date = '2001-06-01T00:00:00Z' +description = '' +author = 'Καπελώνης Κωστής για το Magaz ( magaz.hellug.gr(http://magaz.hellug.gr) )' +issue = ['Magaz 31'] +issue_weight = 5 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Το άρθρο αυτό αποτελεί μια είσαγωγη στο \"μαγικό\" κόσμο του 3D Modelling. Το πακέτο τρισδιάστατων γραφικών που επιλέχτηκε είναι το δημοφιλές Blender 3D. +Απεύθυνεται σε άτομα χρήστες του Linux με μηδαμινή γνώση σε αυτον τον τομέα.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Εισαγωγή** +----------------------------------------------- + +**2. Τι είναι το Blender;** +----------------------------------------------------------- + +**3. Έτσι όπως μας τα λες φαίνεται πολύ \"σοβαρό\" πρόγραμμα. Γιατί εγώ ο ταπεινός Linux-as να ασχοληθώ μαζί του;** +--------------------------------------------------------------------------------------------------------------------------------------------------- + +**4. Ακούγεται πολύ καλό για να είναι αληθινό\...Κάποιο λάκκο έχει η φάβα\...** +--------------------------------------------------------------------------------------------------------------- + +**5. Εγκατάσταση** +-------------------------------------------------- + +**6. Γνωριμία με το περιβάλλον** +---------------------------------------------------------------- + +**7. Η Θεωρία** +----------------------------------------------- + +**8. Η Πράξη** +---------------------------------------------- + +**9. Επίλογος** +----------------------------------------------- + + +### [1. Εισαγωγή]{#s1} + +Ωραία! Επιτέλους εγκαταστήσαμε το Linux στον υπολογιστή μας και αρχίζουμε να το χρησιμοποιούμε. Και τώρα; + +Προφανώς θα ασχοληθούμε με προγραμματισμό σε κάποιες από τις άπειρες γλώσσες που λογικά διαθέτει η διανομή που εγκαταστήσαμε. Θα σερφάρουμε και λίγο στο +INTERNET, θα στήσουμε κανέναν Server και γενικά θα κάνουμε όλα τα φυσιολογικά πράγματα που κάνουν όλοι οι Linux-άδες. Κάτι λείπει όμως\.... + +Πιστεύω ότι η εξίσωση Linux-ας = guru στον προγραμματισμό είναι λανθασμένη, και η σωστή είναι Linux-ας= \"ψαγμένο\" άτομο που χρησιμοποιεί στο έπακρο το PC του. + +Παράλληλα έχω βαρεθεί όλους αυτούς που χρησιμοποιούν Χ-windows μόνο και μόνο για να σηκώνουν πολλαπλά τερματικά. Είναι δυνατόν να αγοράζουν ένα μηχάνημα τόσων +χιλιάδων, για το πληκτρολόγιο και την οθόνη;(ποντίκι μόνο για αλλαγή focus :-) + +Αποφάσισα λοιπόν να γράψω αυτό το άρθρο για ένα πρόγραμμα που: + +- θα φτάσει τον υπολογιστή σας στα όρια του αφήνοντας σας έκπληκτους με τις δυνατότητές του. +- Θα εκμεταλλευτεί την πανάκριβη κάρτα γραφικών σας. +- θα αναδείξει την καλλιτεχνική φλέβα που όλοι κρύβετε μέσα σας. +- Θα σας κάνει να δείτε με άλλο μάτι τα εφφέ των ταινιών. +- θα αποδείξει ότι οι Linux-αδες δεν προγραμματίζουν μόνο. + +Το πρόγραμμα αυτό είναι το [Blender 3D](www.blender.nl) + + +### [2. Τι είναι το Blender;]{#s2} + +Το Blender είναι μια πλήρης σουίτα 3D CAD με δυνατότητες παραγωγής στατικών εικόνων ή 3D animation (video). Είναι επαγγελματικό εργαλείο και η εταιρία που το +κατασκεύασε το χρησιμοποιούσε αρχικά η ίδία για τις ανάγκες τις πριν το δώσει στο ευρύ κοινό. Είναι \"ώριμο\" προγραμματιστικά και έχει προχωρημένα 3D +χαρακτηριστικά (radiosity,particles) που αλλά παρόμοια προγράμματα (σε Linux) μόνο ονειρεύονται. + +Είναι cross platform (SGI,Sun,FreeBSD x86,Linux x86,Linux Alpha,Linux PPC,BeOS x86,WINDOWS), μικρό στο download (λιγότερο από 2MB), πλήρως επεκτάσιμο +(plugins-αρκεί να ξέρετε Python), και είναι Δωρεάν!! + +Άλλα τέτοια προγράμματα που τρέχουν μόνο σε Windows(3D studio,Lightwave,Truespace) απαιτoύν μια μικρή περιουσία. Την τελευταία φορά που είδα την τιμή του 3D +Studio MAX ήταν 2.000.000 δρχ (δυο εκατομμύρια δραχμές). + +Και μην αρχίσω να μιλάω για το SoftImage Extreme της M\$\... + +Το Blender μέχρι την έκδοση 1.8 προσφερόταν δωρεάν αλλά για να χρησιμοποιήσει κανείς όλες τις δυνατότητές του έπρεπε να αγοράσει ένα C-key που τις ξεκλείδωνε. +Από την έκδοση 1.8 και μετά διατίθεται εντελώς δωρεάν με όλες τις δυνατότητες του ακόμα και για επαγγελματική (commercial) χρήση. + + +### [3. Έτσι όπως μας τα λες φαίνεται πολύ \"σοβαρό\" πρόγραμμα. Γιατί εγώ ο ταπεινός Linux-as να ασχοληθώ μαζί του;]{#s3} + +Με το Blender μπορείτε να κάνετε τα εξής: + +- Εικόνες για backgrounds,icons +- Animated GIFs για την σελίδα σας +- γραφικά για το τρομερό παιχνίδι που φτιάχνετε (χε,χε\...) +- να μάθετε για το πως λειτουργούν τα 3D γραφικά. +- να ετοιμάσετε τον Terminator 4 :-) + +Βασικά για να μετατρέψετε το Linux σας σε ένα μικρό **Silicon Graphics Workstation** (Ωραία δεν ακούγεται;) + +Εδώ μπορείτε να δείτε το περιβάλλον εργασίας του Blender + +[\[tank.jpg 97k\]](/31/img/tank.jpg) [\[cup.jpg 89k\]](/31/img/cup.jpg) [\[robot 13k\]](/31/img/robot.jpg) + +Εδώ εικόνες από μέσους χρήστες: [www.blendermania.com](http://www.blendermania.com) + +και εδώ από επαγγελματίες + +[\[bottes.jpg 43k\]](/31/img/bottes.jpg) [\[doogieducati.jpg 51k\]](/31/img/doogieducati.jpg) [\[couteau.jpg 43k\]](/31/img/couteau.jpg) [\[blues.jpg 72k\]](/31/img/blues.jpg) +[\[zippo.jpg 25k\]](/31/img/zippo.jpg) [\[lagrangedwarf.jpg 170k\]](/31/img/lagrangedwarf.jpg) + +(Ναι **ΌΛΑ** αυτά είναι από υπολογιστή και όχι πραγματικές φωτογραφίες) + + +### [4. Ακούγεται πολύ καλό για να είναι αληθινό\...Κάποιο λάκκο έχει η φάβα\...]{#s4} + +Where \'s the catch? Που λένε και οι αμερικάνοι + +Ορίστε τι σας \"έκρυψα\" μέχρι τώρα. + +- Αν και το Blender δίνεται δωρεάν, ΔΕΝ είναι open-source. Κάποια μέρη του προσφέρονται open-source άλλα όχι ολόκληρο. +- Επειδή είναι cross-platform δεν μπορούσε να υιοθετήσει κάποιο περιβάλλον (look-n-feel) ενός λειτουργικού συστήματος. Έτσι το Blender διαθέτει το δικό του + γραφικό περιβάλλον (toolkit) το οποίο αν δεν σας \"ξενίσει\" θα σας φανεί δύσχρηστο στη αρχή. +- Εκτός από tooltips μέσα στο πρόγραμμα δεν έχει online βοήθεια ή οργανωμένη τεκμηρίωση(documentation).Μην ανησυχείτε όμως! Τα διάφορα tutorials στο ΙΝΤΕΡΝΕΤ + καθώς και το magaz ;-) είναι εδώ. +- Κανείς δεν είπε ότι το 3D modelling είναι εύκολο. Ακριβώς όπως το πρώτο σας πρόγραμμα, δεν ήταν ένα λειτουργικό σύστημα μην περιμένετε οι πρώτες σας + δημιουργίες να είναι ότι είδατε στα screenshots.\ + Σας απογοήτευσα τώρα,ε; :-( + + +### [5. Εγκατάσταση]{#s5} + +To Blender μπορείτε να το πάρετε από την επισήμη σελιδά με http απο την http://www.blender.nl/download/ ή κατευθείαν με FTP από το ftp.blender.nl/pub Προφανώς +επιλέγετε το Linux x86 αρχείο. Τελευταία έκδοση 2.12 (Εγώ έχω τώρα την 2.04) + +Υπάρχουν δυο εκδόσεις H static (1.2MB) και η dynamic (1.8ΜΒ) Mε την dynamic εκμεταλλεύεστε πλήρως την 3D κάρτα γραφικών σας, με την static όχι. + +Αν έχετε χρόνο κατεβάστε πρώτα την dynamic και αν αυτή δεν λειτουργήσει δοκιμάστε την static + +Αν έχετε μια καινούρια διανομή Linux με υποστήριξη 3D (Xserver 4/opengl/mesa3d) κατεβάσετε την dynamic + +Αν δεν ξέρετε τι πρέπει να διαλέξετε,κατεβάστε την static + +Καλό θα ήταν επίσης να κατεβάσετε και οτιδήποτε βρείτε στην ενότητα HELP της download σελίδας + +Το πακέτο δεν χρειάζεται εγκατάσταση παρά μόνο αποσυμπιεση. Μπορείτε να το χρησιμοποιήσετε από την περιοχή σας (home directory) αλλά προτείνεται να το βάλετε σε +κάποιον κατάλογο προσβάσιμο από όλους τους χρήστες (το /usr/local/blender είναι λογική επιλογή) + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Γίνετε υπερχρηστης με την εντολή su + + cp blenderX.XXX.tar.gz /usr/local + cd /usr/local/ + gunzip blender.X.XXX.tar.gz + tar xvf blender.X.XXX.tar + rm blender.X.XXX.tar + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Τέλος \"χτυπήστε\" ένα make μέσα στον κατάλογο plugins και προαιρετικά φτιάξτε ένα σύνδεσμο (symbolic link) στο /usr/locαl/bin για να μην χρειάζεται να +πληκτρολογείτε όλη την διαδρομή κάθε φόρα. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ln -s /usr/local/blenderX.XX/blender /usr/local/bin/blender + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αν θέλετε και εικονίδιο στείλτε μου ένα [mail](mailto:kapelon@csd.uoc.gr) + +Τα αρχεία του blender έχουν επέκταση .blend και μπορείτε να τα αποθηκεύσετε όπου θέλετε. (Δεν πρόκειται να φτιαχτεί κατάλογος .blender στην περιοχή σας) + +Ξεκινήστε το πρόγραμμα και θαυμάστε! Πατήστε και space να δείτε τι γίνεται. (Παναγία μου κουμπιά και μενού\...) + + +### [6. Γνωριμία με το περιβάλλον]{#s6} + +Μην τα \"χάσετε\" από το μέγεθος της πληροφορίας που έχει η οθόνη.Δεν πρόκειται να τα χρησιμοποιήσετε όλα αυτά στις πρώτες σας προσπάθειες. + +Για αρχή μεγαλώστε το παράθυρο του Blender ώστε να πιάσει όλη την οθόνη.Αν χρησιμοποιείτε window manager που το υποστηρίζει (π.χ. Enlightenment, Windowmaker) +αφαιρέστε την γραμμή τίτλου (titlebar) και τα περιγράμματα (borders) από το παράθυρο και ξανά μεγιστοποιήστε. + +Αυτό που βλέπετε είναι η προκαθορισμένη (default :-) διάταξη των παραθύρων του Blender.Αυτή αποτελείται από 3 παράθυρα (frames/panels).Ένα μικρό στην πάνω μεριά +ρυθμισμένο να δείχνει τα μενού, ένα μεγάλο στην μέση (3D view) ρυθμισμένο να δείχνει τον τρισδιάστατο κόσμο και ένα μεσαίου μεγέθους, στην κάτω μεριά σε ρόλο +toolbar.Ο αριθμός των παραθύρων που βρίσκονται κάθε στιγμή στην οθόνη, η διάταξη τους πάνω σε αυτή,το μέγεθος τους καθώς και το περιεχόμενο τους είναι πλήρως +παραμετροποιήσιμα. Αυτή η διάταξη είναι καλή για αρχή. + +Πατήστε το 5 στο αριθμητικό πληκτρολόγιο (για perspective view) και κρατώντας πατημένο το μεσαίο πλήκτρο του ποντικιού(ή το ροδάκι) μετακινήστε το ποντίκι μέσα +στο 3D view.Έτσι μετακινείστε (orbit) μέσα στο 3D view.\ +Υπάρχουν και 3 προκαθορισμένες (predefined) όψεις, τα πλήκτρα 7,1,3 του αριθμητικού πληκτρολογίου. + +Το πλέγμα είναι ο ορίζοντας της σκηνής Η πυραμίδα είναι η κάμερα τής σκηνής(Για να δείτε οποιαδήποτε σκηνή τι βλέπει η κάμερα πατήστε το 0 (μηδέν) στο +αριθμητικό πληκτρολόγιο) Ο στόχος είναι το σημείο που θα εμφανιστούν τα καινούρια αντικείμενα (Μετακινήστε τον κάνοντας αριστερό κλικ κάπου αλλού). Το μικρό +τετράγωνο είναι ένα plane και είναι εάν απλό αντικείμενο. + +Ξοδέψτε λίγο χρόνο και μετακινήστε το 3D παράθυρο προς όλες τις μεριές. Παρατηρήστε ότι παίζει μεγάλη σημασία ως προς την περιστροφή η θέση του ποντικιού (ΟΧΙ +του στόχου) όταν ξεκινάτε το drag με το μεσαίο πλήκτρο. Αν χάσετε τον προσανατολισμό (μην γελάτε, συμβαίνει) πατήστε το 7 για να βρεθείτε στην πάνω όψη + +Όταν βαρεθείτε, συνεχίστε στο θεωρητικό υπόβαθρο. + + +### [7. Η Θεωρία]{#s7} + +Στον προγραμματισμό τα βήματα που ακολουθούμε είναι τις περισσότερες φορές τα εξής: + +- Πληκτρολόγηση του πηγαίου κώδικα σε ένα αρχείο κειμένου +- Compilation του παραπάνω αρχείου +- Εκτέλεση του έτοιμου προγράμματος + +Στο 3D modelling μια πολύ περιληπτική αντίστοιχη λίστα είναι η: + +- Κατασκευή των 3D αντικειμένων που θα αποτελέσουν την σκηνή(scene) που θέλουμε να φτιάξουμε +- Επεξεργασία υφών/υλικών/επιφανειών/χρωμάτων που θέλουμε να έχουν τα αντικείμενά μας (textures/materials) +- Φωτισμός της σκηνής από διάφορες πηγές (lighting) +- Απόδοση του τελικού αποτελέσματος (Rendering) + +Το rendering είναι αντίστοιχο με το compile με την έννοια ότι παίρνει πολλή ώρα (ανάλογα και με την πολυπλοκότητα της σκηνής) Σε αυτό το στάδιο ο υπολογιστής +επεξεργάζεται όλες τις πληροφορίες που του έχουμε δώσει, την γεωμετρία των σχημάτων,τον φωτισμό, την κίνηση (σε περίπτωση animation) και βγάζει το τελικό +αποτελέσμα.Τα εφφέ των ταινιών είναι τόσο απαιτητικά που το rendering γίνεται σε δίκτυα υπολογιστών ειδικά φτιαγμένων για επεξεργασία γραφικών (Silicon +graphics) + + +### [8. Η Πράξη]{#s8} + +Η πρώτη μας σκηνή είναι αντίστοιχη του hello world στον προγραμματισμό(ως προς την απλότητα) Αποτελείται από ένα έτοιμο γεωμετρικό σχήμα (σφαίρα) και μόνο. + +Επιλέξτε File/New από το μενού Πατήστε το πλήκτρο Χ (στο πληκτρολόγιο)και από το μικρό μενού διαλέξτε ERASE SELECTED + +Πατήστε space και μετά ADD/MESH/UVSPHERE Πατήστε ΟΚ και στις δυο ερωτήσεις + +Πατήστε ΤΑΒ για να βγείτε από το EDITMODE (Περισσότερα για το EDITMODE προσεχώς) Όπως είδατε η [σφαίρα](/31/img/sphere.jpg) εμφανίστηκε εκεί που ήταν o στόχος. + +Πατήστε 0 στο αριθμητικό πληκτρολόγιο και μετά F12 για Rendering Τι βλέπετε;\ +Τίποτα είναι η σωστή απάντηση γιατί δεν υπάρχουν φώτα στην σκηνή μας (Πατήστε Esc για να φύγει το μικρό παράθυρο) + +Επιστρέψτε στην πάνω όψη (numpad 7) και με αριστερό κλικ κάπου ανάμεσα στην κάμερα και την σφαίρα μετακινήστε τον στόχο + +Πατήστε space ADD/LAMP ξανά F12 + +H σφαίρα μας όμως δεν είναι λεία Επιλέξτε τη ,με δεξί κλικ του ποντικιού πάνω της. Θα πρέπει να γίνει ροζ. Πατήστε F9 για τα EDIT BUTTONS Και αλλά κουμπιά\....\ +Πατήστε το Set smooth (βλέπε [εικόνα](/31/img/smooth.jpg)) που βρίσκεται περίπου κάτω και αριστερά και πάλι F12 Τώρα είναι καλύτερα. (Πατήστε Esc για να φύγει το +μικρό παράθυρο) + +Ας αλλάξουμε τώρα το χρώμα της F5 για material buttons. Αριστερό κλικ (κρατήστε πατημένο) στην παύλα (βλέπε [εικόνα](/31/img/material.jpg)) για δημιουργία νέου +υλικού.\ +ADD NEW από το μικρό μενού. Ακόμα περισσότερα κουμπιά\...\...\...\... + +Βρείτε τα RGB sliders (βλέπε [εικόνα](/31/img/rgb.jpg)) και αλλάξτε το χρώμα της (preview τέρμα αριστερά).\ +F12 για δείτε το αποτέλεσμα + + +### [9. Επίλογος]{#s9} + +Αν κάτι δεν σας πάει καλά μην εκνευρίζεστε.Κάθε αρχή και δύσκολη + +Ελπίζω με αυτό το άρθρο να σας έδωσα το αρχικό ερέθισμα για να ασχοληθείτε με το Blender.Λογικά θα βγάλω και δεύτερό μέρος μόλις μπορέσω. + +Μέχρι τότε δείτε αυτό το [tutorial](http://www.blendermania.com/tutbook/interface.php3) + diff --git a/content/articles/32/01_editorial.md b/content/articles/32/01_editorial.md new file mode 100644 index 0000000..02ea9af --- /dev/null +++ b/content/articles/32/01_editorial.md @@ -0,0 +1,23 @@ ++++ +title = 'Editorial' +date = '2003-06-01T00:00:00Z' +description = '' +author = 'Ιατρού Μιχάλης iatrou ατ hellug.gr(mailto:iatrou%20%C3%A1%C3%B4%20hellug.gr)' +issue = ['Magaz 32'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Magaz\... reloaded.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Έχουν περάσει σχεδόν δύο χρόνια από το προηγούμενο τεύχος του Magaz.\ +Εύχομαι να μην περάσουν άλλα τόσα μέχρι το επόμενο\...\ +Δυστυχώς, προσωπικά δεν μπορώ να κάνω και πολλά για να υλοποιηθεί η παραπάνω ευχή: είναι στο χέρι των φίλων/αναγνωστών του Magaz να συνεχίσει η λειτουργία του +περιοδικού. Χωρίς συντάκτες (έστω και περιστασιακούς) δεν υπάρχουν άρθρα, χωρίς άρθρα δεν υπάρχει Magaz. Τόσο απλά. + +Να αναφέρω, για πολλοστή φορά, ότι δεν είναι ανάγκη να είστε Linux-guru για να γράψετε ένα άρθρο, αρκεί απλά να θέλετε να μοιραστείτε μια εμπειρία σας ή κάτι +που σας προβλημάτισε και κίνησε το ενδιαφέρον σας τέλος πάντων. + +Ελπίζω να απολαύσετε το τεύχος \-- και ελπίζω να μην είναι το \"τελευταίο\". diff --git a/content/articles/32/02_msvcd.md b/content/articles/32/02_msvcd.md new file mode 100644 index 0000000..11355cb --- /dev/null +++ b/content/articles/32/02_msvcd.md @@ -0,0 +1,105 @@ ++++ +title = 'Μετατροπή DivX, DVD σε Video CD στο Linux' +date = '2003-04-01T00:00:00Z' +description = '' +author = 'Nick Apostolakis(mailto:nickapos@agriroot.aua.gr)' +issue = ['Magaz 32'] +issue_weight = 2 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Ένας σύντομος οδηγός για το πώς μπορείτε να μετατρέψετε video, από DivX και DVD format, σε VCD, χρησιμοποιώντας τον mplayer.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Εισαγωγή** +--------------------------------------- + +**2. Τα εργαλεία** +------------------------------------------ + +**3. Λίγα λόγια γενικά για τον MPlayer** +---------------------------------------------------------------- + +**4. Τα υλικά** +--------------------------------------- + +**5. Η διαδικασία** +------------------------------------------- + +**6. Επίλογος** +--------------------------------------- + + +### [1. Εισαγωγή]{#s1} + +Κοιτάζοντας κανείς τον παραπάνω τίτλο μπορεί να αναρωτηθεί για ποίο λόγο κάποιος να θέλει να μετατρέψει ένα video από DivX ή από DVD σε Video CD τη στιγμή που +τα 2 πρώτα έχουν σαφώς καλύτερες δυνατότητες από πλευράς ποιότητας αλλά και από πλευράς συμπίεσης (το DivX). Η απάντηση είναι απλή. Το Video CD είναι ένα +βιομηχανικό πρότυπο το οποίο έχει υλοποιηθεί σε πληθώρα οικιακών αλλά και φορητών συσκευών ενώ η επεξεργαστική ισχύς που απαιτείται είναι μικρή. Επίσης, +χρησιμοποιεί, ως μέσο αποθήκευσης, απλά CD τα οποία είναι διαθέσιμα σε όλους με μικρό κόστος. Οι άλλες λύσεις υστερούν σε αυτούς τους δύο τομείς. Τα μεν DivX +είναι κάτι που μεταβάλλεται πολύ γρήγορα και δεν είναι ανοιχτό σε όλο το κόσμο, υπάρχουν δε ελάχιστες standalone συσκευές με δυνατότητα αναπαραγωγής των αρχείων +αυτών (και μάλιστα, μόνο συγκεκριμένες εκδόσεις). Το DVD είναι μια πολύ καλή λύση, μόνο που τα εγγράψιμα DVD είναι ακόμα σε βρεφικό στάδιο. + +Το εμφανές μειονέκτημά των Video CD είναι η χαμηλή ποιότητα εικόνας και ήχου που έχουν. Σε αυτό το τομέα υστερούν σαφώς έναντι των DivX αλλά και των DVD. Εδώ +όμως θα πρέπει να παρατηρήσω ότι τα VCD έχουν φτιαχτεί για να παίζουν στις χαμηλές αναλύσεις των οικιακών τηλεοράσεων και όχι σε οθόνες υπολογιστών που είναι +σαφώς ανώτερες σε ποιότητα. Έτσι, όταν το video παρακολουθείται σε τηλεόραση η διαφορά στην απόδοση σε σχέση με τις άλλες δύο τεχνολογίες είναι μικρή. Τα VCD +είναι επίσης \"προβληματικά\" και στον ήχο αφού οι δυνατότητες του φτάνουν μόνο μέχρι τον στερεοφωνικό ενώ δεν υποστηρίζουν AC3. Δυστυχώς για αυτό δεν υπάρχει +λύση. + +Παρόλα τα παραπάνω, το VCD παραμένει ένα πολύ καλό ψηφιακό format το οποίο ξεπερνάει σε απόδοση και την ποιότητα της λήψης της τηλεόρασης αλλά και των +αναλογικών μέσων (VHS). + + +### [2. Τα εργαλεία]{#s2} + +Στο Linux υπάρχουν πολλά εργαλεία με τα οποία μπορείτε να κάνετε μετατροπές video μερικά αυτά είναι DVDrip, transcode, MPlayer, DVDx. Τα τρία πρώτα είναι native +Linux προγράμματα ενώ το τελευταίο είναι ένα open source πρόγραμμα για Windows το οποίο δουλεύει πολύ καλά και σε Linux μέσω του wine. Στο κείμενα που ακολουθεί +θα αναπτύξω την χρήση του MPlayer. + + +### [3. Λίγα λόγια γενικά για τον MPlayer]{#s3} + +Ο MPlayer αποτελεί τον ελβετικό σουγιά για video στον χώρο του Linux, με λίγα λόγια τα κάνει όλα και συμφέρει. Μπορεί να παίξει σχεδόν όλες τις γνωστές μορφές +video, να κάνει encode και capture από κάρτες τηλεόρασης, να μετατρέψει videos από την μια μορφή στην άλλη, να παίξει stream από το δίκτυο, να διορθώσει +χαλασμένα αρχεία και διάφορα άλλα. Λίγοι είναι αυτοί που μπορούν να ισχυριστούν ότι γνωρίζουν τις λειτουργίες του MPlayer σε βάθος και εγώ δεν είμαι ένας από +αυτούς. Παρακάτω θα περιγράψω μια σχετικά απλή διαδικασία με την οποία μπορούμε να μετατρέψουμε ένα οποιοδήποτε αρχείο video που μπορεί να παίξει ο MPlayer σε +mpg αρχικά και τελικά σε Video CD. + + +### [4. Τα υλικά]{#s4} + +Χρειαζόμαστε, προφανώς, τον ίδιο τον MPlayer (τον κώδικα του). Μέσα στο πακέτο του MPlayer υπάρχει ένα shell script το οποίο ονομάζεται mencvcd και το οποίο +χρησιμοποιεί τον MPlayer καθώς και τα mjpegtools για να κάνει την μετατροπή. Το παραγόμενο mpg το μετατρέπουμε σε bin/cue iso images με το πρόγραμμα vcdimager +και το γράφουμε με το cdrdao. Τα προγράμματα αυτά μπορούμε να τα αναζητήσουμε στο http://freshmeat.net και να ακολουθήσουμε τις οδηγίες εγκατάστασης τους. + + +### [5. Η διαδικασία]{#s5} + +Η διαδικασία είναι αρκετά απλή. Έχοντας εγκαταστήσει τα παραπάνω πακέτα, είμαστε έτοιμοι να κάνουμε τις πρώτες δοκιμές. Η λογική πίσω από το mencvcd είναι η +εξής: Το καλούμε και του δίνουμε αρχικά τις παραμέτρους για το ίδιο. Μετά ακολουθούν οι παράμετροι που χρειάζεται το MPlayer για να παίξει την ταινία. Προσοχή, +δεν δέχεται όλες τις παραμέτρους που δέχεται το MPlayer, αφού για πολλές από αυτές δεν έχει νόημα η χρήση τους. Οι βασικές παράμετροι του mencvcd είναι τρεις. +Το -vnorm, το -vfr, και το -w. Το πρώτο καθορίζει ως τι θα μεταχειριστεί το mencvcd το εισαγόμενο video και μπορεί να έχει 3 τιμές p, n, s που αντιστοιχούν σε +PAL, NTSC, SECAM. Το δεύτερο και πολύ σημαντικό δηλώνει ποίο θα είναι το frame rate του παραγόμενου mpg και παίρνει ακέραιες τιμές από 0 μέχρι 8. Εάν θέλουμε να +καταλήξουμε σε ένα mpg με frame rate 24fps (NTSC) επιλέγουμε την τιμή 2, για 25fps (PAL) επιλέγουμε την τιμή 3. Τέλος, το -w, ασχέτως από το τι μορφής είναι το +εισαγόμενο video, κάνει το mencvcd να το μετατρέψει σε 16:9. + +Έτσι, για να μετατρέψουμε το πρώτο τίτλο ενός DVD σε VCD δίνουμε: + + mencvcd output -vnorm n -vfr 2 -dvd 1 + +και το mencvcd κάνει όλη την δουλειά μέχρι το σημείο του bin/cue image. Μετά γράφουμε το image σε ένα cd: + + cdrdao write --device 0,0,0 --eject --speed videocd.cue. + +Η αντίστοιχη εντολή για ένα DivX θα ήταν: + + mencvcd output -vnorm n -vfr 2 video.avi + + +### [6. Επίλογος]{#s6} + +Αυτή είναι η διαδικασία της μετατροπής. Οι πιθανοί συνδυασμοί των παραμέτρων είναι πάρα πολλοί και η αναφορά τους θα απαιτούσε την επεξήγηση του τρόπου που +δουλεύει το mencvcd πράγμα που ξεφεύγει από τον σκοπό αυτού του κειμένου. Πάντως, η συμβουλή είναι μια: κάντε πειράματα και για να μην χαλάτε πολλά CD καλό +είναι να έχετε 1-2 rewriteable κοντά σας. + diff --git a/content/articles/32/03_grlinux.md b/content/articles/32/03_grlinux.md new file mode 100644 index 0000000..34a4dba --- /dev/null +++ b/content/articles/32/03_grlinux.md @@ -0,0 +1,400 @@ ++++ +title = 'Ελληνικά στο Linux' +date = '2003-04-01T00:00:00Z' +description = '' +author = 'Κυρίτσης Αθανάσιος (aka DJ Art)' +issue = ['Magaz 32'] +issue_weight = 3 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Η κατάσταση με τα Ελληνικά στο Linux είναι πλέον σε σχεδόν άριστη μορφή. Όλες οι μοντέρνες διανομές και εφαρμογές υποστηρίζουν Ελληνικά. Το μόνο που θα +χρειαστεί να κάνετε, είναι να τα επιλέξετε για χρήση. Η επιλογή αυτή γίνεται με σωστή ρύθμιση 2-3 παραμέτρων του συστήματος και από εκεί και πέρα, τα Ελληνικά +είναι θέμα της κάθε εφαρμογής. Με τις παρακάτω οδηγίες μπορείτε να εγκαταστήσετε \"σωστά\" (δηλαδή iso-8859-7) ελληνικά.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Για να εγκαταστήσετε τα ελληνικά, Θα πρέπει να κάνετε τα εξής 3 απλά βήματα: + +1. Να εγκαταστήσετε γραμματοσειρές στο σύστημά σας. +2. Να εγκαταστήσετε τα ελληνικά locales και να τα ενεργοποιήσετε. +3. Να ενημερώσετε τα αρχεία των Χ για το ελληνικό πληκτρολόγιο και να το ενεργοποιήσετε. + +**1. Εγκατάσταση Γραμματοσειρών** +----------------------------------------------------------- + +- [1.1 Graphis](#ss1.1) +- [1.2 Εγκατάσταση TrueType γραμματοσειρών](#ss1.2) +- [1.3 AntiAliasing](#ss1.3) + +**2. Ενεργοποίηση των locales** +--------------------------------------------------------- + +- [2.1 Για το RedHat](#ss2.1) +- [2.2 Για το Mandrake](#ss2.2) +- [2.3 Για το Slackware](#ss2.3) +- [2.4 Για Debian](#ss2.4) + +**3. Ρύθμιση των X-Windows** +------------------------------------------------------ + +- [3.1 Για X 4.3.0 και πάνω](#ss3.1) +- [3.2 Για Χ 4.1.0 ώς και X 4.2.1](#ss3.2) +- [3.3 Για Χ 4.0.2 και 4.0.3](#ss3.3) +- [3.4 Για Χ μικρότερα από 4.0.1](#ss3.4) + +**4. Για την κονσόλα και μόνο** +--------------------------------------------------------- + +**5. Για GTK+ 2.x / GNOME 2.x εφαρμογές** +------------------------------------------------------------------- + +**6. Για το Netscape της σειράς 4.x** +--------------------------------------------------------------- + +**7. \*BSD Compatibility** +---------------------------------------------------- + +**8. Credits** +---------------------------------------- + + +### [1. Εγκατάσταση Γραμματοσειρών]{#s1} + +Για να έχετε ελληνικά στο σύστημά σας, το πρώτο βήμα είναι να εγκαταστήσετε ελληνικές γραμματοσειρές. Εδώ έχετε 2 επιλογές: να εγκαταστήσετε τις δωρεάν +γραμματοσειρές του πακέτου Graphis ή/και επιπλέον TrueType γραμματοσειρές. Εμείς σας προτείνουμε να εγκαταστήσετε και τα δύο. Οι Truetype γραμματοσειρές είναι +αισθητικά πιο όμορφες και πιο προτεινόμενες για χρήση σε ένα desktop σύστημα. + +### [1.1 Graphis]{#ss1.1} + +Το Graphis είναι ένα project του Hellug, το οποίο έχει σαν στόχο την ομαδοποίηση των ήδη υπαρχόντων πακέτων γραμματοσειρών, αλλά και την επίλυση αρκετών +προβλημάτων τους. Η διεύθυνση του Graphis στο Internet είναι . Απο εκεί μπορείτε να κατεβάσετε τις γραμματοσειρές σε .rpm πακέτο ή σε +source μορφή (.tar.gz). + +Στη συνέχεια, είναι απαραίτητες οι παρακάτω ενέργειες: + +- Για να γίνει η εγκατάσταση αυτόματα είναι απαραίτητη η ύπαρξη της perl (γλώσσα προγραμματισμού), και να εισέλθετε στο μηχάνημά σας ως \"root\", όχι ως απλός + χρήστης. Χρησιμοποιούνται επίσης κάποιες άλλες εντολές, οι οποίες όμως ανήκουν στις standard εντολές, και θα πρέπει να είναι ήδη εγκατεστημένες (π.χ. οι + dirname και expr). +- Αρχικά πηγαίνετε στον φάκελο που έχετε σώσει τα RPM αρχεία. Στη συνέχεια εκτελέστε αυτήν την εντολή:\ + rpm -Uvh xfntgr-\*.rpm\ + Κανονικά θα δείτε τα πακέτα να εγκαθιστώνται το ένα μετά το άλλο. +- Αν το σύστημά σας δεν υποστηρίζει rpm πακέτα, τότε θα πρέπει να κάνετε την εγκατάσταση μόνοι σας: Αρχικά πρέπει να αποσυμπιέσετε το αρχείο + xfntgr-xx-xx.tar.gz, κάτι που μάλλον ήδη έχετε κάνει. Ως αποτέλεσμα θα πρέπει να έχετε ένα φάκελο με όνομα \"xfntgr-xx\" καθώς και πολλά αρχεία και + υποφακέλους μέσα σε αυτόν. Αυτόν τον κατάλογο θα πρέπει να τον μεταφέρετε, μετονομάζοντάς στον σε \"hellas\" στη θέση \"/usr/X11R6/lib/X11/fonts/\". Δηλαδή + θα πρέπει να υπάρχει ως \"/usr/X11R6/lib/X11/fonts/hellas/\". Στον φάκελο \"hellas\" θα βρείτε το αρχείο \"graphis\". Εκτελέστε το και οι γραμματοσειρές θα + εγκατασταθούν στο σύστημά σας (δηλαδή θα μπούν στο path στο XF86Config). + +### [1.2 Εγκατάσταση TrueType γραμματοσειρών]{#ss1.2} + +Truetype γραμματοσειρές μπορείτε να βρείτε οπουδήποτε. Το καλύτερο μέρος είναι ο φάκελος Fonts των Windows :-) (αρκεί να τα έχετε νόμιμα). Για όσους δεν έχουν +πρόσβαση σε μία Windows εγκατάσταση, μπορείτε να κατεβάσετε τα \"core fonts for the web\" στο . Επίσης, μπορείτε να βρείτε +Truetype γραμματοσειρές σε διάφορα σημεία στο Internet, ενώ υπάρχουν και εμπορικές λύσεις, εμπορικά πακέτα που προσφέρουν ως προϊόν οικογένειες TrueType +γραμματοσειρών. + +Για να εγκαταστήσετε και να χρησιμοποιήσετε truetype γραμματοσειρές, χρειάζεστε 2 πράγματα: + +1. font server με υποστήριξη truetype. Αν χρησιμοποιείτε Χ-Windows της σειράς 4.0.x και πάνω, δεν χρειάζεται να ανησυχείτε γιατί τον έχουν ενσωματωμένο. Για Χ + κατώτερης έκδοσης, τον truetype font server (xfsft) θα τον βρείτε στο .\ + \ +2. Την εφαρμογή ttmkfdir. Αν δεν την έχετε στο σύστημά σας, μπορείτε να την βρείτε στο + +Τώρα είστε έτοιμοι να εγκαταστήσετε τις γραμματοσειρές. Πηγαίντε στον κατάλογο /usr/X11R6/lib/X11/fonts και δημιουργείστε έναν καινούριο φάκελο με την ονομασία +π.χ. ttf. Μέσα σε αυτόν τον κατάλογο τοποθετήστε όσες truetype γραμματοσειρές επιθυμείτε. Σημειώστε πως τα filenames των γραμματοσειρών δεν θα πρέπει να +περιέχουν κενό. Επίσης, αν κάνατε copy τις γραμματοσειρές από το φάκελο fonts των Windows, τότε σιγουρευτείτε πως κάνατε copy μόνο όσα αρχεία έχουν την κατάληξη +.ttf, όλες οι άλλες γραμματοσειρές των Windows δεν είναι truetype και δεν θα δουλέψουν. Στη συνέχεια, μπείτε στον κατάλογο ttf και εκτελέστε τις εντολές +ttmkfdir -o fonts.dir και ttmkfdir -o fonts.scale. Θα δημιουργηθούν τα αρχεία fonts.dir και fonts.scale, τα οποίο θα περιέχουν όλες τις γραμματοσειρές που +εγκαταστήσατε. Τώρα θα πρέπει να προσθέσετε τον φάκελο /usr/X11R6/lib/X11/fonts/ttf στο Fontpath των X-Windows. Αυτό μπορείτε να το κάνετε με 2 τρόπους: + +1. Αν χρησιμοποιείτε τον X font Server (xfs), πηγαίνετε στον κατάλογο /etc/X11/fs και ανοίξτε το αρχείο config με έναν text editor. Προσθέστε στο + \"catalogue=\" τον παραπάνω κατάλογο με τις truetype γραμματοσειρές και κάντε restart τον xfs. + +2. Αν δεν χρησιμοποιείτε τον xfs, τότε ανοίξτε το κατάλληλο XF86Config (π.χ. /etc/X11/XF86Config ή /etc/X11/XF86Config-4) και προσθέστε την παρακάτω γραμμή στο + Section \"Files\": + + FontPath "/usr/X11R6/lib/X11/fonts/ttf/" + + Κάντε restart τα X-Windows + +Στις καινούριες διανομές, είναι απαραίτητο ακόμα ένα βήμα. Έτσι, λοιπόν, αν έχετε μία από τις εξής διανομές: **RedHat έκδοσης 8.0 και πάνω, Mandrake έκδοσης 9.0 +και πάνω, SuSE έκδοσης 8.0 και πάνω, Slackware έκδοσης 9.0 και πάνω ή οποιαδήποτε άλλη διανομή που χρησιμοποιεί το πακέτο fontconfig**, τότε αφού έχετε κάνει +όλα τα παραπάνω βήματα, εκτελέστε ως root την εντολή **fc-cache -fv**\ +Το output αυτής της εντολής θα πρέπει να σας πληροφορήσει σχετικά με τον αριθμό των γραμματοσειρών που βρήκε στον κατάλογο με τις ttf γραμματοσειρές σας. Αν δεν +\"διάβασε\" τον συγκεκριμένο κατάλογο, τότε θα χρειαστεί να τον προσθέσετε κατάλληλα στο αρχείο: **/etc/fonts/fonts.conf** + +Για το Debian, με την παρακάτω εντολή θα εγκατασταθούν αυτόματα οι core γραμματοσειρές της Microsoft: + +\# apt-get install msttcorefonts + +### [1.3 AntiAliasing]{#ss1.3} + +Όσον αφορά το θέμα AntiAliasing στα fonts, απλά θα αναφέρω πως εδώ μιλάμε πλέον \*ΜΟΝΟ\* για truetype γραμματοσειρές (το ΑΑ δουλεύει μόνο πάνω σε αυτές). +Επίσης, θα πρέπει να είστε σίγουροι πως οι βιβλιοθήκες που έχετε, όπως το QT ή το GTK+/Glib και τα X-Windows/libfreetype, το υποστηρίζουν ή ότι τα έχετε κάνει +compile με ενεργοποιημένη την υποστήριξη ΑΑ. + +Για τους πιο πολλούς, αν έχετε κάποια από τις τελευταίες διανομές, τότε το πιθανότερο είναι ότι δεν θα χρειαστεί να κάνετε τίποτα (π.χ. απλά επιλέξτε την +συγκεκριμένη δυνατότητα από το control center του KDE) + +Σε κάθε άλλη περίπτωση, σας παραπέμπω στο πολύ καλό HowTo για το θέμα αυτό, το οποίο θα βρείτε στο . + + +### [2. Ενεργοποίηση των locales]{#s2} + +Το επόμενο βήμα που θα πρέπει να κάνετε είναι να ενεργοποιήσετε τα ελληνικά locales στο σύστημά σας. Για να το κάνετε αυτό, καλό θα ήταν να συμβουλευτείτε τις +οδηγίες που δίνει η διανομή σας. Και, φυσικά, να φροντίσετε (πρίν από οτιδήποτε) τα ελληνικά locales να είναι εγκατεστημένα. Προσέξτε πως αν δεν τα +ενεργοποιήσετε, τότε τίποτα από όλα αυτά που αναφέρουμε εδώ δεν πρόκειται να δουλέψει σωστά. (Συνοπτικά, έχω ακούσει ότι για SuSE θα πρέπει να κάνετε το +απαραίτητο βήμα μέσω του YAST, ενώ για Redhat/Mandrake, υπάρχει το αρχείο /etc/sysconfig/i18n όπου ορίζονται οι μεταβλητές των locales και η γλώσσα). Αν έχετε +αναλυτικές οδηγίες για κάποια διανομή, ευχαρίστως να τις συμπεριλάβω σε αυτό το κείμενο. + +Αν είστε σίγουροι πως έχετε εγκατεστημένα τα locales και ξέρετε πώς να τα ενεργοποιήσετε, τότε πρέπει να ορίσετε το LC\_CTYPE ώς el ή el\_GR ή greek, ανάλογα με +τη διανομή που χρησιμοποιείτε. Για να έχετε ελληνικό πληκτρολόγιο η παραπάνω μεταβλητή είναι αρκετή. Αν θέλετε να χρησιμοποιείτε τα εξελληνισμένα προγράμματα +και να βλέπετε τα μενού στα παράθυρα στα ελληνικα, τότε πρέπει να ορίσετε την LC\_MESSAGES όπως και την LC\_CTYPE. Ένας manual τρόπος να ορίσετε τις δύο αυτές +μεταβλητές είναι να ανοίξετε το αρχείο εκίννησης του shell σας, π.χ. το .bash\_login ή το .bash\_profile ή το .bashrc (ανάλογα με τη διανομή που χρησιμοποιείτε) +που υπάρχει στο home directory σας και να γράψετε: + + export LC_CTYPE=el_GR + export LC_MESSAGES=el_GR + +### [2.1 Για το RedHat]{#ss2.1} + +Aνοίγουμε το αρχείο /etc/sysconfig/i18n και φροντίζουμε ώστε να υπάρχουν οι εξής γραμμες: + + LANG="el_GR" + SUPPORTED="en_US.UTF-8:en_US:en:el_GR.UTF-8:el_GR:el" + LC_CTYPE="el_GR" + +Μετά το πείραγμα αυτού του αρχείου, θα πρέπει το RedHat με κάποιο τρόπο να ξαναδιαβάσει αυτό το αρχείο. Ένας γρήγορος τρόπος να το κάνετε αυτό είναι να βγείτε +σε init 1 με την εντολή **telinit 1** και ξανά σε init 3 με την εντολή **telinit 3**. Οι πιο αρχάριοι μπορούν να κάνουν ένα reboot (shutdown) του μηχανήματος αν +μπερδεύονται με τα inits. + +### [2.2 Για το Mandrake]{#ss2.2} + +Ανοίγουμε το αρχείο /etc/sysconfig/i18n και φροντίζουμε ώστε να μοιάζει κάπως έτσι: + + LANG="el_GR" + SUPPORTED="en_US.UTF-8:en_US:en:el_GR.UTF-8:el_GR:el" + LC_CTYPE="el_GR" + +Μετά το πείραγμα αυτού του αρχείου, θα πρέπει το Mandrake με κάποιο τρόπο να ξαναδιαβάσει αυτό το αρχείο. Ένας γρήγορος τρόπος να το κάνετε αυτό είναι να βγείτε +σε init 1 με την εντολή **telinit 1** και ξανά σε init 3 με την εντολή **telinit 3**. Οι πιο αρχάριοι μπορούν να κάνουν ένα reboot (shutdown) του μηχανήματος αν +μπερδεύονται με τα inits. + +### [2.3 Για το Slackware]{#ss2.3} + +Στο Slackware τα πράγματα είναι πολύ εύκολα. Προσθέστε τις παρακάτω γραμμές είτε στο /etc/profile ή στο \~/.bash\_login: + + export LANG=el_GR + export LC_CTYPE=el_GR + export LC_NUMERIC=POSIX + export LC_TIME=POSIX + export LC_COLLATE=POSIX + export LC_MONETARY=POSIX + export LC_MESSAGES=POSIX + export LC_PAPER=POSIX + export LC_NAME=POSIX + export LC_ADDRESS=POSIX + export LC_TELEPHONE=POSIX + export LC_MEASUREMENT=POSIX + export LC_IDENTIFICATION=POSIX + +Όσες επιπλέον μεταβλητές περιβάλλοντος θέλετε να δείχνουν σε el\_GR, αλλάξτε κατάλληλα στις παραπάνω γραμμές το POSIX με el\_GR. + +### [2.4 Για Debian]{#ss2.4} + +Στο Debian, τα locales εγκαθίστανται και ρυθμίζονται με τις εξής εντολές: + +\# apt-get install locales\ +\# dpkg-reconfigure locales + +Στη συνέχεια επιλέγετε el\_GR.ISO8859-7 ή/και ότι άλλο χρειαζόσαστε. + + +### [3. Ρύθμιση των X-Windows]{#s3} + +### [3.1 Για X 4.3.0 και πάνω]{#ss3.1} + +Αν έχετε Χ 4.3.0 και πάνω, τότε για να έχετε ελληνικά, αρκεί να πάτε σε κάποιο εργαλείο ρύθμισης των Χ (όπως το xf86config, το xf86cfg, το XF86Setup κλπ) και +στην επιλογή για το πληκτρολόγιο να επιλέξετε το ελληνικό. Στη συνέχεια, θα πρέπει να ανοίξετε το κατάλληλο αρχείο XF86Config (ανάλογα με τη διανομή σας, π.χ. +το /etc/X11/XF86Config ή το /etc/X11/XF86Config-4) και να πάτε στην ενότητα του πληκτρολογίου ( Section \"Keyboard\" ) και να σιγουρευτείτε πως αυτή η ενότητα +θα μοιάζει κάπως έτσι: + + Option "XkbRules" "xfree86" + Option "XkbModel" "pc101" + Option "XkbLayout" "us,el" + Option "XkbOptions" "grp:alt_shift_toggle" + +Η δεύτερη γραμμή μπορεί να είναι διαφορετική, ανάλογα με πόσα πλήκτρα έχει το πληκτρολόγιό σας (προφανώς, αν υπάρχει ήδη γραμμή XkbModel μπορείτε απλά να την +κρατήσετε), ενώ η τέταρτη δηλώνει με ποιό συνδυασμό πλήκτρων μπορείτε να αλλάξετε από το αγγλικό στο ελληνικό πληκτρολόγιο, και μπορεί να είναι \"grp:toggle\" +(με AltGr), \"grp:shift\_toggle\" (τα δύο Shift μαζί), \"grp:ctrl\_shift\_toggle\", \"grp:ctrl\_alt\_toggle\" και \"grp:caps\_toggle\" (αυτά τα τρία νομίζω +είναι προφανή). + +### [3.2 Για Χ 4.1.0 ώς και X 4.2.1]{#ss3.2} + +Αν έχετε Χ 4.1.0 έως και X 4.2.1, τότε για να έχετε ελληνικά, αρκεί να πάτε σε κάποιο εργαλείο ρύθμισης των Χ (όπως το xf86config, το xf86cfg, το XF86Setup κλπ) +και στην επιλογή για το πληκτρολόγιο να επιλέξετε το ελληνικό. Στη συνέχεια, θα πρέπει να ανοίξετε το κατάλληλο αρχείο XF86Config (ανάλογα με τη διανομή σας, +π.χ. το /etc/X11/XF86Config ή το /etc/X11/XF86Config-4) και να πάτε στην ενότητα του πληκτρολογίου ( Section \"Keyboard\" ) και να σιγουρευτείτε πως αυτή η +ενότητα θα μοιάζει κάπως έτσι: + + Option "XkbRules" "xfree86" + Option "XkbModel" "pc101" + Option "XkbLayout" "el" + Option "XkbOptions" "grp:alt_shift_toggle" + +Η δεύτερη γραμμή μπορεί να είναι διαφορετική, ανάλογα με πόσα πλήκτρα έχει το πληκτρολόγιό σας (προφανώς, αν υπάρχει ήδη γραμμή XkbModel μπορείτε απλά να την +κρατήσετε), ενώ η τέταρτη δηλώνει με ποιό συνδυασμό πλήκτρων μπορείτε να αλλάξετε από το αγγλικό στο ελληνικό πληκτρολόγιο, και μπορεί να είναι \"grp:toggle\" +(με AltGr), \"grp:shift\_toggle\" (τα δύο Shift μαζί), \"grp:ctrl\_shift\_toggle\", \"grp:ctrl\_alt\_toggle\" και \"grp:caps\_toggle\" (αυτά τα τρία νομίζω +είναι προφανή). + +### [3.3 Για Χ 4.0.2 και 4.0.3]{#ss3.3} + +Αν έχετε είτε Χ 4.0.2 είτε 4.0.3, τότε για να έχετε ελληνικά, αρκεί να πάτε σε κάποιο εργαλείο ρύθμισης των Χ (όπως το xf86config, το xf86cfg, το XF86Setup κλπ) +και στην επιλογή για το πληκτρολόγιο να επιλέξετε το ελληνικό. Στη συνέχεια, θα πρέπει να ανοίξετε το κατάλληλο αρχείο XF86Config (ανάλογα με τη διανομή σας, +π.χ. το /etc/X11/XF86Config ή το /etc/X11/XF86Config-4) και να πάτε στην ενότητα του πληκτρολογίου ( Section \"Keyboard\" ) και να σιγουρευτείτε πως αυτή η +ενότητα θα μοιάζει κάπως έτσι: + + Option "XkbRules" "xfree86" + Option "XkbModel" "pc101" + Option "XkbLayout" "gr" + Option "XkbOptions" "grp:ctrl_shift_toggle" + +Η δεύτερη γραμμή μπορεί να είναι διαφορετική, ανάλογα με πόσα πλήκτρα έχει το πληκτρολόγιό σας (προφανώς, αν υπάρχει ήδη γραμμή XkbModel μπορείτε απλά να την +κρατήσετε), ενώ η τέταρτη δηλώνει με ποιό συνδυασμό πλήκτρων μπορείτε να αλλάξετε από το αγγλικό στο ελληνικό πληκτρολόγιο, και μπορεί να είναι \"grp:toggle\" +(με AltGr), \"grp:shift\_toggle\" (τα δύο Shift μαζί), \"grp:ctrl\_shift\_toggle\", \"grp:ctrl\_alt\_toggle\" και \"grp:caps\_toggle\" (αυτά τα τρία νομίζω +είναι προφανή). + +### [3.4 Για Χ μικρότερα από 4.0.1]{#ss3.4} + +Το επόμενο απαραίτητο βήμα είναι η ενημέρωση των αρχείων των Χ και η ενεργοποίηση του ελληνικού πληκτρολογίου. Θα πρέπει να κάνετε τις εξής ενέργειες: + +Πρώτα θα πρέπει να έχετε τα αρχεία el και Compose. Μπορείτε να τα βρείτε συμπιεσμένα στο . + +1. Αντιγράφετε το Compose στο /usr/X11R6/lib/X11/locale/iso8859-7/. + +2. Προσθέτετε την παρακάτω γραμμή στο /usr/X11R6/lib/X11/locale/compose.dir: + + iso8859-7/Compose el_GR.ISO8859-7 + +3. Αντιγράφετε το el στο /usr/X11R6/lib/X11/xkb/symbols/. + +4. Προσθέτετε την παρακάτω γραμμή στο /usr/X11R6/lib/X11/xkb/symbols.dir: + + -dp----- a------- el(basic) + +5. Στο /etc/X11/XF86Config, στο section \"Keyboard\", σβήνετε όλες τις επιλογές του XKB, και στη θέση τους βάζετε τις εξής: + + XkbRules "xfree86" + XkbModel "pc104" + XkbLayout "el" + XkbOptions "grp:toggle" + + (Η παραπάνω σύνταξη είναι για Χ 3.3.x. Για Χ 4.x η σύνταξη είναι η εξής): + + Option "XkbRules" "xfree86" + Option "XkbModel" "pc101" + Option "XkbLayout" "el" + Option "XkbOptions" "grp:ctrl_shift_toggle" + + H δεύτερη γραμμή μπορεί να είναι διαφορετική, ανάλογα με πόσα πλήκτρα έχει το πληκτρολόγιό σας (προφανώς, αν υπάρχει ήδη γραμμή XkbModel μπορείτε απλά να + την κρατήσετε), ενώ η τέταρτη δηλώνει με ποιό συνδυασμό πλήκτρων μπορείτε να αλλάξετε από το αγγλικό στο ελληνικό πληκτρολόγιο, και μπορεί να είναι + \"grp:toggle\" (με AltGr), \"grp:shift\_toggle\" (τα δύο Shift μαζί), \"grp:ctrl\_shift\_toggle\", \"grp:ctrl\_alt\_toggle\" και \"grp:caps\_toggle\" (αυτά + τα τρία νομίζω είναι προφανή). + +6. Ξαναξεκινάτε τον X server σας. Αυτό ήταν! + + +### [4. Για την κονσόλα και μόνο]{#s4} + +- Σιγουρευόμαστε πως το αρχείο /etc/inputrc περιέχει τις εξής γραμμές: + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + set meta-flag on + set convert-meta off + set output-meta on + + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +- Εκτελούμε με τη σειρά τις εξής εντολές: + + **\$ echo -ne \"\\033(K\\033)K\" \>/dev/tty**\ + **\$ setfont iso07.16**\ + **\$ loadkeys gr** + + Τώρα χρησιμοποιώντας το Alt+Shift μπορούμε να αλλάξουμε σε ελληνικό πληκτρολόγιο και να γράψουμε ελληνικά. + + Αν οι παραπάνω εντολές δεν δουλέψουν στο RedHat 8.0 και πάνω, δοκιμάστε τις εξής εντολές: + + **\$ echo -ne \"\\033(K\\033)K\" \>/dev/tty**\ + **\$ setfont iso07u-16.psfu.gz -u /lib/kbd/consoletrans/8859-7\_to\_uni.trans**\ + **\$ loadkeys gr** + + **Για το Debian**, θα χρειαστεί να χρησιμοποιήσετε την εντολή consolechars αντί της setfont, δηλαδή οι εντολές θα είναι κάπως έτσι: + + **\$ echo -ne \"\\033(K\\033)K\" \>/dev/tty**\ + **\$ consolechars -f /usr/share/consolefonts/iso07.f16.psf.gz**\ + **\$ loadkeys gr** + + +### [5. Για GTK+ 2.x / GNOME 2.x εφαρμογές]{#s5} + +Λόγω ενός bug στο gtk+ 2.x, δεν εμφανίζονται οι τόνοι στις εφαρμογές. Για να επιλύσετε το συγκεκριμένο πρόβλημα, θα χρειαστεί να προσθέσετε τις παρακάτω γραμμές +στο \~/.bashrc ή \~/.bash\_profile ή \~/.bash\_login (ή όποιο άλλο είναι το αρχείο εκκίνησης του shell σας): + + export GTK_IM_MODULE=xim + + +### [6. Για το Netscape της σειράς 4.x]{#s6} + +Για να εχουμε ελληνικά στη γραμμή που δίνουμε τις διευθύνσεις και παντού στο email, αντιγράφουμε το αρχείο Netscape.ad απο τον κατάλογο +/usr/doc/netscape-communicator-4.xx/ (αν ο netscape είναι εγκατεστημένος από μορφή .rpm ή από τον κατάλογο που τον εγκαταστήσατε, σε περίπτωση μορφής .tar.gz) +στο /usr/X11R6/lib/X11/app-defaults/ και το μετονομάζουμε σε Netscape. Το ανοίγουμε με τον joe ή με άλλον επεξεργαστή και στη γραμμή 5567, 5568, 5569 (σημειώστε +ότι οι αριθμοί των σειρών αλλάζουν από έκδοση σε έκδοση, θα τους βρείτε όμως γύρω στη γραμμή 5500+) όπου λέει adobe βάζουμε \* δηλ πρέπει να είναι: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + *XmTextField.fontList: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-* + *XmText.fontlist: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-* + *XmList*fontlist: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Επίσης, στη γραμμή 5600,5601,5602 αντικαθιστούμε το -\*-helvetica με -greek-helvetica και το 100 με 120 δηλαδή πρέπει να είναι: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + *XmLGrid*fontList:\ + -greek-helvetica-medium-r-*-*-*-120-*-*-*-*-iso8859-*,\ + -greek-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*=BOLD,\ + -greek-helvetica-medium-o-*-*-*-120-*-*-*-*-iso8859-*=ITALIC + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +ΤΕΛΕΙΩΣΑΜΕ + +Ξεκινάμε τον Netscape και απο το view -\> encoding επιλέγουμε το Greek (ISO-8859-7) και πάλι απο το ίδιο μενού το \"Set Default Encoding\" και στο +Εdit-\>Preferences-\>Appearance-\>fonts το \"Greek(iso-8859-7)\" και ορίζουμε ποιές γραμματοσειρές θέλουμε. Οι καλύτερες είναι οι Courier (Greek). Tο ίδιο +κάνουμε για το \"Western(iso-8859-1)\" έτσι ώστε να μπορούμε να γράψουμε ελληνικά στις φόρμες και στο mail τύπου text/plain. + + +### [7. \*BSD Compatibility]{#s7} + +Ναι, καλά θα το καταλάβατε. Όλα αυτά για τα Χ ισχύουν σε οποιοδήποτε Unix σύστημα που τρέχει X-Windows (προσοχή, για τα Χ μόνο, όχι και για την κονσόλα). Οι +γραμματοσειρές Graphis εγκαθίστανται και σε FreeBSD και σε \*BSD. Παρόλα αυτά, αν σαν ενδιαφέρει το θέμα των ελληνικών στα \*BSD, τότε πρέπει οπωσδήποτε να +επισκεφτείτε το web site του [Greek BSD Project](http://www.bsd.gr) και να δείτε τις οδηγίες που προσφέρουν τα παιδιά για τα \*BSD τόσο για την κονσόλα, όσο και +για τα Χ, όσο και τις γραμματοσειρές που έχουν φτιάξει. + + +### [8. Credits]{#s8} + +Τα παιδιά που εργάστηκαν ώστε εσείς να βλέπετε ελληνικά είναι οι: + +- To Graphis team ( ) και ιδιαιτέρως ο Παναγιώτης Κατσαλούλης. +- Βασίλης Βασαΐτης. Το section για τη ρύθμιση των Χ προέρχεται από δικό του e-mail στην i18n mailing list. Ο Παναγιώτης και ο Βασίλης είναι οι δημιουργοί των + el και Compose. +- Όλα τα παιδιά στην i18n mailing list. +- To Σίμο Ξενιτέλλη και όλο το team που μεταφράζει τα προγράμματα που βλέπετε και χρησιμοποιείτε στα ελληνικά. +- Τους Αλέξανδρο Παπαδόπουλο και Ιωάννη Παπαϊωάννου για τις Debian specific οδηγίες. +- Όλους όσους ξέχασα να αναφέρω, όσους κατά λάθος αδίκησα αναφέροντας λιγότερα από όσα έχουν κάνει και όσους απλά αγνοώ ότι έχουν προσφέρει. Καλά θα κάνουν να + μου στείλουν αμέσως ένα e-mail για να αποκαταστήσω την αλήθεια ;-) + diff --git a/content/articles/32/04_traffic.md b/content/articles/32/04_traffic.md new file mode 100644 index 0000000..3c158af --- /dev/null +++ b/content/articles/32/04_traffic.md @@ -0,0 +1,250 @@ ++++ +title = 'Traffic Shaping - Queueing algorithms' +date = '' +description = '' +author = 'Στέφανος Χαρχαλάκης' +issue = ['Magaz 32'] +issue_weight = 4 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Μία σύντομη εισαγωγή σε queueing algorithmsς και της εφαρμογής τους σε δίκτυα υπολογιστών.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. FIFO** +------------------------------------- + +- [1.1 Γενικά](#ss1.1) +- [1.2 Λειτουργία](#ss1.2) +- [1.3 pfifo\_fast](#ss1.3) +- [1.4 Πλεονεκτήματα/Μειονεκτήματα](#ss1.4) + +**2. Stochastic Fairness Queueing (SFQ)** +------------------------------------------------------------------- + +- [2.1 Γενικά](#ss2.1) +- [2.2 Λειτουργία](#ss2.2) + +**3. Random Early Detection (RED)** +------------------------------------------------------------- + +- [3.1 Γενικά](#ss3.1) +- [3.2 Λειτουργία](#ss3.2) + +**4. Αναφορές:** +------------------------------------------ + + +### [1. FIFO]{#s1} + +### [1.1 Γενικά]{#ss1.1} + +Ο αλγόριθμος FIFO είναι ο ποιο απλός απ\' όσους μπορούν να εφαρμοστούν για την διαχείριση της ουράς σε έναν network interface. Είναι ιδιαίτερα απλός και συνήθως +αποτελεί την default αντιμετώπιση. + +### [1.2 Λειτουργία]{#ss1.2} + +Η λειτουργία του βασίζεται στα εξής χαρακτηριστικά: + +- Υπάρχει μία ουρά με σταθερό μέγεθος σε bytes ή πακέτα. +- Όσο η ουρά δεν είναι γεμάτη, κάθε πακέτο που έρχεται τοποθετείται στο τέλος της ουράς. +- Όταν πρόκειται να σταλεί ένα πακέτο στο δίκτυο, επιλέγεται το πρώτο από την ουρά. +- Όταν η ουρά είναι γεμάτη, κάθε πακέτο που έρχεται απορρίπτεται. Ο τρόπος αυτός ονομάζεται tail-drop. + +### [1.3 pfifo\_fast]{#ss1.3} + +Ο pfifo\_fast αποτελεί μια παραλλαγή του FIFO. Ακολουθεί την ίδια λογική, αλλά χωρίζει την ουρά σε τρία bands. Στη συνέχεια, κάθε πακέτο που έρχεται +τοποθετείται σε ένα από τα τρία bands, ανάλογα με την τιμή του TOS πεδίου. Το πεδίο αυτό έχει μέγεθος 4 bits, κάθε ένα από τα οποία έχει και άλλη σημασία: + + --------------------------------------------------------------------------------------------------------------------------------------------------------------- + \ + ![](/32/img/fig1.png) + + --------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Η ταξινόμηση των πακέτων σε κάθε ένα από τα τρία bands γίνεται όπως φαίνεται στον πίνακα. + + --------------------------------------------------------------------------------------------------------------------------------------------------------------- + \ + ![](/32/img/fig2.png) + + --------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Ποτέ δεν στέλνεται πακέτο από την band 1 όταν υπάρχει κάποιο στη band 0, ούτε από την band 2 όταν υπάρχει κάποιο στη band 1. + +### [1.4 Πλεονεκτήματα/Μειονεκτήματα]{#ss1.4} + +Το μόνο πλεονέκτημα του αλγόριθμου είναι η ταχύτητά και η απλότητά του. Στην πράξη δεν έχει καλά αποτελέσματα όταν υπάρχει συμφόρηση σε κάποια γραμμή, αλλά +χρησιμοποιείται με επιτυχία σε γρήγορα interfaces όπου δεν παρατηρείται συμφόρηση. + + +### [2. Stochastic Fairness Queueing (SFQ)]{#s2} + +### [2.1 Γενικά]{#ss2.1} + +Ο αλγόριθμος SFQ προσπαθεί να λύσει το πρόβλημα που δημιουργεί ο FIFO όταν κάποιο μηχάνημα του δικτύου προκαλεί υπερβολική κίνηση. Απευθύνεται κυρίως σε μικρά +τοπικά δίκτυα για τα σημεία όπου υπάρχει συμφόρηση. + +### [2.2 Λειτουργία]{#ss2.2} + +Ο SFQ δημιουργεί πολλά slots του ενός πακέτου, στα οποία ταξινομεί τα πακέτα και στη συνέχεια επιλέγει το επόμενο από αυτά που θα σταλεί στο δίκτυο με κυκλικό +(Round-Robin) τρόπο. Πιο συγκεκριμένα: + +- Δημιουργεί 128 διαφορετικά slots του ενός πακέτου. +- Κάθε πακέτο το οποίο έρχεται κατευθύνεται ένα από αυτά. +- Αν το slot είναι κατειλημμένο τότε το πακέτο απορρίπτεται, αλλιώς τοποθετείται μέσα σε αυτό. + +Στη συνέχεια, όταν πρόκειται να δρομολογήσει ένα πακέτο στο δίκτυο, παίρνει το πρώτο που υπάρχει στην \`\`επόμενη\'\' ουρά. + +#### Hashing + +Η τοποθέτηση του κάθε πακέτου σε κάθε ένα από τα 128 slots γίνεται με την βοήθεια ενός αλγόριθμου hashing. Για τον υπολογισμού του hash key λαμβάνονται υπόψη: + +**Για IPv4 πακέτα:** + +: Η source IP address, η destination IP address και το πρωτόκολλο (TCP,UDP, \...). + +**Για IPv6 πακέτα:** + +: Η source IP address, η destination IP address και η τιμή ενός εσωτερικού pointer. + +**Για τα υπόλοιπα:** + +: Οι τιμές τριών εσωτερικών pointers. + +Επίσης χρησιμοποιείται και ένας τυχαίος αριθμός ο οποίος προέρχεται από το δίκτυο και ο οποίος αλλάζει κάθε 10 δευτερόλεπτα \-- το χρονικό διάστημα ονομάζεται +perturb \-- και είναι παραμετροποιήσιμο. + +Ο σκοπός του hashing είναι να αναγνωρίζει flows και να τα διαχωρίζει, δίνοντας ίσες ευκαιρίες στους χρήστες του δικτύου, ακόμα και αν κάποιος δημιουργεί +υπερβολική κίνηση. Λόγω του ότι τα hash keys δεν είναι μοναδικά, χρησιμοποιείται ο τυχαίος αριθμός που αναφέρθηκε, ο οποίος ουσιαστικά μεταβάλει τον αλγόριθμο +κάθε 10 δευτερόλεπτα. + +#### Αποστολή πακέτων + +Η επιλογή του επόμενου πακέτου προς αποστολή γίνεται με κυκλικό τρόπο (Round-Robin), επιλέγοντας ένα πακέτο από την επόμενη στοίβα κάθε φορά. Με τον τρόπο αυτό, +τα flows τα οποία παρουσιάζουν κίνηση μπορούν να δημιουργήσουν 128 φορές μικρότερο πρόβλημα στο δίκτυο. + +#### Παράδειγμα + +Ο τρόπος λειτουργίας του SFQ φαίνεται στο σχήμα. Τη στιγμή όπου η ουρά των 128 πακέτων είναι γεμάτη, ένα πακέτο έχει φύγει για το δίκτυο ελευθερώνοντας χώρο για +ένα καινούριο το οποίο θα καταλάβει τη θέση του. Την ίδια στιγμή, ένα άλλο πακέτο θα απορριφθεί γιατί το slot για το οποίο προορίζονταν είναι κατειλημμένο. + + --------------------------------------------------------------------------------------------------------------------------------------------------------------- + \ + ![](/32/img/fig7.png) + + --------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#### Πλεονεκτήματα/Μειονεκτήματα + +Όπως αναφέρθηκε, ο SFQ προορίζεται για μικρά τοπικά δίκτυα όπου μπορεί να εξασφαλίσει την ομαλή λειτουργία. Έχει το πλεονέκτημα της ταχύτητας και της απλότητας, +μιας και δεν απαιτεί ιδιαίτερους υπολογισμούς για τη λειτουργία του. + +Το πρόβλημά του είναι το μικρό μήκος ουράς (μόλις 128 πακέτα), το οποίο οδηγεί σε πολύ μεγάλο αριθμό χαμένων πακέτων. Κάτι τέτοιο είναι αποδεκτό και ίσως και +επιθυμητό σε περιπτώσεις όπου ένα flow/slot αντιστοιχεί σε έναν μόνο υπολογιστή του τοπικού δικτύου, αλλά δημιουργεί προβλήματα σε μεγαλύτερα δίκτυα. + + +### [3. Random Early Detection (RED)]{#s3} + +### [3.1 Γενικά]{#ss3.1} + +Ο αλγόριθμος αυτός είναι μία άλλη αντιμετώπιση της FIFO ουράς. Σκοπός του είναι να μην αφήσει την FIFO ουρά να γεμίσει, απορρίπτοντας επιλεκτικά πακέτα όταν +χρειάζεται. + +### [3.2 Λειτουργία]{#ss3.2} + +Η απόρριψη των πακέτων γίνεται στατιστικά, όταν το **μέσο** μέγεθος της ουράς ξεπεράσει κάποιο όριο. + +Ο αλγόριθμος δέχεται τις εξής παραμέτρους: + +**Minimum queue length: (min\_q)** + +: Το μέσο μέγεθος της ουράς το οποίο πρέπει να ξεπεραστεί πριν αρχίσει ο αλγόριθμος να εξετάζει πιθανή απόρριψη πακέτων. + +**Maximum queue length: (max\_q)** + +: Το μέσο μέγεθος της ουράς κάτω από το οποίο προσπαθεί να την κρατάει πάντα ο αλγόριθμος. Ονομάζεται και soft limit. + +**Queue limit: (qlim)** + +: Το απόλυτο μέγιστο μέγεθος της ουράς. Αν το φτάσει τότε ο αλγόριθμος μετατρέπεται σε FIFO. Ονομάζεται και hard limit. + +**Average packet size: (avg\_p)** + +: Το μέσο μέγεθος του κάθε πακέτου. Με βάση αυτό γίνεται ο υπολογισμός όλων των υπόλοιπων. + +**Burst size: (burst)** + +: Το μέγιστο επιτρεπόμενο μέγεθος των bursts , ώστε να μην απορρίπτονται πακέτα όταν δεν υπάρχει πραγματική συμφόρηση. + +Ο αλγόριθμος δεν αναγνωρίζει flows όπως κάποιοι άλλοι και στηρίζεται στην τυχαία επιλογή πακέτων. Η λειτουργία του βασίζεται στο μέσο μέγεθος της ουράς +(avg\_q), το οποίο υπολογίζεται με την άφιξη κάθε νέου πακέτου σύμφωνα με τον τύπο: + + --------------------------------------------------------------------------------------------------------------------------------------------------------------- + \ + ![](/32/img/fig3.png) + + --------------------------------------------------------------------------------------------------------------------------------------------------------------- + +όπου cql είναι το τρέχον μέγεθος της ουράς (current queue length), m είναι ο χρόνος κατά τον οποίο η ουρά δεν είναι άδεια και W είναι μία τιμή που υπολογίζεται +ως συνάρτηση των burst, min\_q και avg\_p έτσι ώστε να ισχύει: + + --------------------------------------------------------------------------------------------------------------------------------------------------------------- + \ + ![](/32/img/fig4.png) + + --------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Το W ονομάζεται και βάρος της ουράς (Queue Weight) και υποδηλώνει το κατά πόσο επηρεάζουν το avg\_q οι νέες τιμές της. Όσο μεγαλύτερο είναι το W, τόσο +μεγαλύτερη σημασία έχουν προσωρινές αυξομειώσεις της ουράς \-- δηλώνει το κατά πόσο πρέπει να \`\`θυμάται\'\' ο αλγόριθμος τα παλαιότερα μεγέθη της ουράς. + +Η μεταχείριση του κάθε πακέτου μεταβάλλεται ανάλογα με το avg\_q: + +- **avg\_p \< min\_q** + + Το πακέτο δεν επηρεάζεται. + +- **min\_q \< avg\_q \< max\_q** + + Στο πακέτο αποδίδεται μια πιθανότητα p\_b: + + --------------------------------------------------------------------------------------------------------------------------------------------------------------- + \ + ![](/32/img/fig5.png) + + --------------------------------------------------------------------------------------------------------------------------------------------------------------- + + όπου max\_p είναι η μέγιστη επιθυμητή τιμή του p\_b. Ταυτόχρονα υπάρχει ένας counter ο οποίος αυξάνεται με κάθε πακέτο όταν το avg\_q βρίσκεται σε αυτά τα + όρια. Στη συνέχεια υπολογίζεται η πιθανότητα απόρριψης p\_a: + + --------------------------------------------------------------------------------------------------------------------------------------------------------------- + \ + ![](/32/img/fig6.png) + + --------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Τέλος χρησιμοποιείται ένας τυχαίος αριθμός R, μεταξύ των 0 και 1, σύμφωνα με τον οποίο απορρίπτεται το πακέτο αν ο R είναι μικρότερος του p\_a. + +- **avg\_q \> max\_q** + + Το πακέτο απορρίπτεται. + +Επειδή η απόρριψη των πακέτων γίνεται με στατιστικό τρόπο, τα flows τα οποία δημιουργούν μεγαλύτερη κίνηση έχουν περισσότερες πιθανότητες να χάσουν πακέτα μιας +και στέλνουν δεδομένα ποιο συχνά στο δρομολογητή. + +#### Πλεονεκτήματα/Μειονεκτήματα + +Ο RED αποτελεί μια πολύ καλή λύση για την αντιμετώπιση της συμφόρησης του δικτύου ενώ ταυτόχρονα βοηθάει το TCP/IP να βρει σχετικά σύντομα το σωστό ρυθμό +αποστολής δεδομένων. + +Λόγω του ότι δεν αναγνωρίζει flows δεν έχει τη δυνατότητα να παρέχει μεγάλη δικαιοσύνη κάτι το οποίο δεν αποτελεί και σκοπό του. + + +### [4. Αναφορές:]{#s4} + +- Bert Hubert, Gregory Maxwell, Remco van Mook, Martijn van Oosterhout, Paul B Schroeder, Jasper Spaans, Pedro Larroy. Linux Advanced Routing & Traffic + Control HOWTO, +- Sally Floyd and Van Jacobson. Random Early Detection Gateways for Congestion Avoidance. University of California, 1993 +- Linux kernel 2.4.20 sources + diff --git a/content/articles/32/05_rce1.md b/content/articles/32/05_rce1.md new file mode 100644 index 0000000..43c2490 --- /dev/null +++ b/content/articles/32/05_rce1.md @@ -0,0 +1,682 @@ ++++ +title = 'Reverse Engineering σε Περιβάλλον Linux, Μέρος 0' +date = '2003-04-01T00:00:00Z' +description = '' +author = 'Φραντζής Αλέξανδρος (aka Alf)' +issue = ['Magaz 32'] +issue_weight = 5 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Reverse Engineering, από τη σκοπιά του απλού χρήστη :-)* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Μέρος 0 - Εισαγωγή στο Reverse Code Engineering** +----------------------------------------------------------------------------- + +**2. Γιατί RCE** +--------------------------------------- + +**3. Tools of the trade.** +------------------------------------------------- + +**4. GDB - Ο παρεξηγημένος debugger** +------------------------------------------------------------ + +- [4.1 GDB - Τα βασικά](#ss4.1) + +**5. Πρόκληση 0** +---------------------------------------- + + +### [1. Μέρος 0 - Εισαγωγή στο Reverse Code Engineering]{#s1} + +\"In the beginning the Universe was created. This has made a lot of people very angry and been widely regarded as a bad move.\"- HGG Book 2 + +Τη δεκαετία του \'60-\'70 τα προγράμματα άρχισαν να μεγαλώνουν και να γίνονται χαώδη (βλέπε ΙΒΜ OS/360). Ο Dikjstra προσπάθησε να βάλει τάξη αλλά ήταν ήδη αργά +:) Πολλοί προγραμματιστές βρέθηκαν στη δύσκολη κατάσταση να λαμβάνουν τόνους παρατημένου κώδικα (σε assembly βέβαια) που έπρεπε να χρησιμοποιήσουν. Τα σχόλια +που συνόδευαν τα προγράμματα ήταν συχνά λειψά και στη χειρότερη περίπτωση λανθασμένα(!). Οι επιλογές ήταν δύο· να ξαναγραφεί ο κώδικας από την αρχή ή να +χρησιμοποιηθεί (με τα χίλια ζόρια) όπως είναι. Οποιοσδήποτε, όμως, δρόμος απαιτούσε την πλήρη κατανόηση του ήδη υπάρχοντος κώδικα. Ήταν μια δύσκολη δουλειά αλλά +κάποιος έπρεπε να την κάνει. Έτσι λοιπόν γεννήθηκε το Reverse Code Engineering. + +Σήμερα τα πράγματα είναι πολύ διαφορετικά από τη μεριά των developers. Οι εφαρμογές αναπτύσσονται σχεδόν αποκλειστικά σε γλώσσες υψηλού επιπέδου (και με +εργαλεία ακόμα πιο υψηλού επιπέδου). Οι ίδιοι οι προγραμματιστές, τις περισσότερες φορές, δεν έρχονται σε επαφή με τον object κώδικα που παράγουν οι compilers. +Τα έτοιμα modules, που καλούνται να χρησιμοποιήσουν, είναι σε μορφή πηγαίου κώδικα ή σε βιβλιοθήκες με καλά καθορισμένη διεπαφή. + +Μπορεί η διαδικασία παραγωγής να έχει αλλάξει, ο τελικός χρήστης όμως έχει στα χέρια του ότι και παλιότερα: μια ακατανόητη, για την πλειονότητα, σειρά από bytes +(εξαιρούνται τα open source) κρυμμένα πίσω από στρώματα αφαιρετικότητας (πχ εικονίδιο). Τώρα πια η τέχνη του RCE εξασκείται κυρίως από περίεργους χρήστες και +σπάνια από developers. + +Τώρα έφτασε η μαγική στιγμή για να ορίσουμε το Reverse Code Engineering. Σε ελεύθερη μετάφραση στα ελληνικά ονομάζεται Αντίστροφη Μηχανική Κώδικα και είναι η +διαδικασία κατά την οποία εξάγεται η λειτουργικότητα ενός προγράμματος από τον κώδικα του, ο οποίος συνήθως βρίσκεται σε κάποια \"δύσπεπτη\" (συνήθως assembly) +μορφή. + +Σε αυτό το σημείο θα ήταν σκόπιμο να αναφερθούμε λίγο στη έννοια cracker. Σε κάποιον εκτός των πραγμάτων ίσως να θυμίζει τα μπισκότα που δίνουμε στους +παπαγάλους (Poly wanna cracker?). Συχνά συνδέεται με τον κόσμο των δικτύων και αναφέρεται στον κακόβουλο hacker ο οποίος σπέρνει την καταστροφή στο πέρασμα του +:) Στον σύμπαν του RCE το cracking αναφέρεται στη διαδικασία, κατά την οποία προσπαθούμε να ξεπεράσουμε ένα σύστημα ασφαλείας στο επίπεδο του λογισμικού (πχ +copy protection). Είναι ουσιαστικά υποκατηγορία του RCE διότι αν και χρησιμοποιεί τις ίδιες τεχνικές έχει πιο περιορισμένο σκοπό και σπάνια απαιτεί την πλήρη +κατανόηση του λογισμικού. + + +### [2. Γιατί RCE]{#s2} + +- 1\. **Γνώση**: Η παρατήρηση της εσωτερικής δομής των προγραμμάτων οδηγεί σε καλύτερη κατανόηση της λειτουργίας τους αλλά και του υπολογιστή γενικότερα. +- 2\. **Σιγουριά**: Γνωρίζοντας την εσωτερική λειτουργία ενός προγράμματος είσαι πια σίγουρος πως το λογισμικό κάνει αυτό που λέει, τίποτα λιγότερο και τίποτα + περισσότερο. +- 3\. **Ευτυχία**: Η διαδικασία του RE είναι ένα πνευματικό παιχνίδι. Αν βγεις νικητής δεν μπορείς παρά να νιώσεις ευτυχισμένος. + + +### [3. Tools of the trade.]{#s3} + +Βασική προϋπόθεση για την επιτυχία μιας προσπάθειας στο RCE είναι η γνώση των εργαλείων που υπάρχουν, των λεγόμενων tools of the trade. Τα εργαλεία χωρίζονται +σε δύο βασικές κατηγορίες ανάλογα με την προσέγγιση που χρησιμοποιούν. Από τη μία υπάρχουν τα εργαλεία που επιτρέπουν την παρακολούθηση της δυναμικής εκτέλεσης +του κώδικα και αποτελούν την live προσέγγιση. Τέτοια εργαλεία είναι οι debuggers με πιo χαρακτηριστικά παραδείγματα το πραγματικά πανίσχυρο Numega Softice για +Windows και το περιβόητο :) GDB για το linux. Από την άλλη υπάρχουν εργαλεία που παρουσιάζουν τον κώδικα σε στατική μορφή (dead listing). Αυτά είναι +disassemblers όπως w32Dasm, IDA (τρέχει σε windows αλλά υποστηρίζει και ELF-linux εκτελέσιμα) και biew, ldasm (linux). Στο linux οι περισσότεροι disassemblers +είναι scripts που χρησιμοποιούν την έξοδο του objdump, που περιέχεται στα binutils. Τέλος αξίζει να αναφερθούμε σε μια υβριδική κατηγορία εργαλείων τα οποία εγώ +ονομάζω undead. Αυτά παρουσιάζουν την δυναμική εκτέλεση του κώδικα αλλά δεν δίνουν τη δυνατότητα τροποποίησης της εξέλιξης του. Συνήθως οι πληροφορίες που +δίνουν είναι πιο υψηλού επιπέδου από assembly. Παράδειγμα τέτοιου εργαλείου είναι το strace που καταγράφει τα system calls που κλήθηκαν από ένα πρόγραμμα. + + +### [4. GDB - Ο παρεξηγημένος debugger]{#s4} + +O GDB (GNU DeBugger) αποτελεί πνευματικό παιδί του Richard Stallman, ιδρυτή του FSF (Free Software Foundation). Υποστηρίζει πολλές αρχιτεκτονικές (x86, alpha, +MIPS\...) και γλώσσες υψηλού επιπέδου (C, C++, Fortran, Modula-2, Pascal, CHILL). Υποστηρίζει (conditional, hardware) breakpoints, remote debugging. Έχει, +λοιπόν, όλα εκείνα τα χαρακτηριστικά που τον καθιστούν έναν πολύ ισχυρό debugger. Ποίο είναι το πρόβλημα λοιπόν; + +Όπως δηλώνει και ο τίτλος, ο GDB είναι ο ορισμός του παρεξηγημένου debugger. Κατά καιρούς έχει χαρακτηριστεί με επίθετα όπως \"brain-damaged\", άδικα κατά την +ταπεινή μου γνώμη. Το βασικό επιχείρημα των πολέμιων του GDB είναι το user interface. Και όντως, το UI καμία σχέση δεν έχει με το γραφικό περιβάλλον πχ του M\$ +Visual Studio. Εδώ έχουμε να κάνουμε με command line σε όλο της το μεγαλείο! Όσοι έχουν ασχοληθεί με το Softice στα windows καταλαβαίνουν τι εννοώ. Βέβαια +πολλοί έσπευσαν να βελτιώσουν την κατάσταση και έτσι σήμερα υπάρχει μία πληθώρα από front-ends: το built-in Text User Interface (TUI) σε curses, +DataDisplayDebugger (DDD) για Χ11/Motif, Kdbg gia KDE κ.α. Στο κείμενο αυτό θα ασχοληθούμε με την απλή μορφή του GDB (άντε και με το TUI :) ). Θα αρχίσουμε με +source-code debugging\... + +### [4.1 GDB - Τα βασικά]{#ss4.1} + +Βασική δυνατότητα ενός debugger είναι η παρακολούθηση της εκτέλεσης ενός άλλου προγράμματος και η εν δυνάμει αλλαγή της εξέλιξης του είτε άμεσα, είτε έμμεσα +μέσω της αλλαγής των δεδομένων του. Στο κομμάτι αυτό θα χρησιμοποιηθεί ως παράδειγμα ο παρακάτω C κώδικας: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + #include + + int main(int argc, char **argv) + { + int num; + + if (argc < 2) { + printf("Usage: %s \n",argv[0]); + exit(1); + } + + num=alf(argv[1]); + + if (num > 10) + printf("Ok!\n"); + else + printf("Failed!\n"); + } + + int alf(char *s) + { + return atoi(s); + } + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Κάντε compile με : gcc -g -o rce1 rce1.c + +To flag -g λέει στον compiler να περιλάβει στο εκτελέσιμο αρχείο εκτός από το symbol table, πληροφορίες που χρειάζεται ο GDB για source-code debugging. Αν ένα +πρόγραμμα δεν έχει τέτοιες πληροφορίες τότε μπορούμε μόνο να δούμε τον assembly κώδικα (και τα σύμβολα). + +Το παραπάνω (παντελώς άχρηστο) πρόγραμμα το μόνο που κάνει είναι να ελέγχει αν η πρώτη παράμετρος στη γραμμή εντολής είναι μεγαλύτερη από 10 και τυπώνει το +κατάλληλο μήνυμα. + +#### Φόρτωμα προγράμματος + +Καταρχάς πρέπει να φορτώσουμε το πρόγραμμα στο GDB: + +> bash$ gdb -q rce1 +> (gdb) +> +> + +Το switch -q/\--quiet λέει στον gdb να μη δείχνει τα εισαγωγικά μηνύματα. Από εδώ και πέρα θα εννοείται ακόμα και αν δεν γράφεται (πχ alias gdb =\"gdb -q\"). + +Το (gdb) prompt δηλώνει πως ο debugger έχει σταματήσει το πρόγραμμα και είναι έτοιμος να δεχτεί εντολές. Παρατηρήστε πως ο GDB δεν έγραψε κάποιο μήνυμα +επιβεβαίωσης ότι έγινε σωστά το φόρτωμα του rce1. Εφόσον δεν υπάρχει μήνυμα λάθους η διαδικασία ολοκληρώθηκε επιτυχώς. + +H έξοδος από τον debugger γίνεται με την \"quit\"/\"q\" + +> (gdb) q +> bash$ +> +> + +Μια εναλλακτική μέθοδος για να φορτώνουμε αρχεία είναι με την εντολή **file** του GDB. Η **file** φορτώνει το εκτελέσιμο στη μνήμη ΚΑΙ το symbol table στον GDB. +Υπάρχει και η exec-file η οποία φορτώνει μόνο τo εκτελέσιμο στη μνήμη. + +> bash$ gdb +> (gdb) file rce1 +> Reading symbols from rce1...done. +> (gdb) +> +> + +Σημείωση: Ο GDB περιλαμβάνει ένα αρκετά πλήρες σύστημα βοήθειας με την εντολή **help**. + +> (gdb) help file +> Use FILE as program to be debugged. +> It is read for its symbols, for getting the contents of pure memory, +> and it is the program executed when you use the `run' command. +> If FILE cannot be found as specified, your execution directory path +> ($PATH) is searched for a command of that name. +> No arg means to have no executable file and no symbols. +> (gdb) +> +> + +Για να δούμε τον κώδικα που έχουμε φορτώσει χρησιμοποιούμε τη εντολή **list**. Η εντολή έχει διάφορες μορφές. Χωρίς παραμέτρους εμφανίζει 10 γραμμές πηγαίου +κώδικα γύρω από την τρέχουσα ή τις πρώτες 10 γραμμές αν το πρόγραμμα δεν εκτελείται. + +> (gdb) list +> 1 #include +> 2 +> 3 int main(int argc, char **argv) +> 4 { +> 5 int num; +> 6 +> 7 if (argc<2) { +> 8 printf("Usage: %s \n",argv[0]); +> 9 exit(1); +> 10 } +> (gdb) +> +> + +Αν η **list** έχει μία παράμετρο τότε εμφανίζει 10 γραμμές κώδικα γύρω από αυτή ενώ μπορούμε να προσδιορίσουμε και ένα διάστημα ***list x,y*** + +> (gdb) list 8 +> 3 int main(int argc, char **argv) +> 4 { +> 5 int num; +> 6 +> 7 if (argc<2) { +> 8 printf("Usage: %s \n",argv[0]); +> 9 exit(1); +> 10 } +> 11 +> 12 num=alf(argv[1]); +> (gdb) list 9,14 +> 9 exit(1); +> 10 } +> 11 +> 12 num=alf(argv[1]); +> 13 +> 14 if (num>10) +> (gdb) +> +> + +#### Εκτέλεση + +Αφού το πρόγραμμα έχει φορτωθεί μπορούμε να το εκτελέσουμε με την εντολή **run** ή **r**. Η **run** δέχεται ως παραμέτρους τα command-line arguments που θέλουμε +να περάσουμε στο πρόγραμμα. + +> (gbd) r +> Starting program: /home/alf/temp/rce1 +> Usage: /home/alf/temp/rce1 Program exited with code 01. +> (gdb) r 42 +> Starting program: /home/alf/temp/rce1 42 +> Ok! +> Program exited with code 04. +> (gdb) r 3 +> Starting program: /home/alf/temp/rce1 3 +> Failed! +> Program exited with code 07. +> (gdb) r +> Starting program: /home/alf/temp/rce1 3 +> Failed! +> Program exited with code 07. +> +> + +Παρατηρήστε ότι στην απλή **r** τα command-line arguments παραμένουν από την προηγούμενη εκτέλεση. Αυτά είναι αποθηκευμένα στην εσωτερική μεταβλητή του GDB +\"args\". Υπάρχει μια πληθώρα από εσωτερικές μεταβλητές που μπορούν να προσπελαστούν με τις **show** και **set** (hint: μη ξεχνάτε το help\...). + +> (gdb) show args +> Argument list to give program being debugged when it is started is "3". +> (gdb) set args 666 7 +> (gdb) r +> Starting program: /home/alf/temp/rce1 666 7 +> Ok! +> Program exited with code 04. +> (gdb) +> +> + +Βέβαια ως εδώ το μόνο που έχουμε κάνει είναι\... τίποτα! Τα ίδια και με πιο απλό τρόπο θα μπορούσαν να γίνουν από τo command line ενώ εμείς θέλουμε να ελέγχουμε +το πρόγραμμα βήμα προς βήμα. + +Για να γίνει αυτό, πρέπει να φροντίσουμε ο έλεγχος να επιστρέψει πίσω στον debugger όταν αρχίσει το πρόγραμμα. Για την ώρα δεχτείτε αυτή την εντολή χωρίς +εξηγήσεις (λίγο υπομονή βρε παιδιά!) + +> (gdb) break main +> Breakpoint 1 at 0x8048466: file rce1.c, line 7. +> (gdb) r +> Starting program: /home/alf/projects/rce1 +> +> Breakpoint 1, main (argc=1, argv=0xbffff7e4) at rce1.c:7 +> 7 if (argc<2) { +> (gdb) +> +> + +Αυτό που κάναμε ήταν να πούμε στον GDB να σταματήσει την εκτέλεση του προγράμματος όταν μπει στη συνάρτηση main. Τώρα είμαστε πριν την εκτέλεση της πρώτης +εντολής της main και ο GDB περιμένει οδηγίες. Για να εκτελέσουμε την τρέχουσα εντολή χρησιμοποιούμε την εντολή **next** ή **n**: + +> (gdb) next +> 8 printf("Usage: %s \n",argv[0]); +> (gdb) n +> Usage: /home/alf/projects/rce1 9 exit(1); +> (gdb) n +> +> Program exited with code 01. +> +> + +Επειδή δεν περάσαμε παραμέτρους στο πρόγραμμα, το argc ήταν μικρότερο του 2 και εκτυπώθηκε ο τρόπος χρήσης του προγράμματος. Ας ξαναδοκιμάσουμε: + +> (gdb) r 123 +> Starting program: /home/alf/projects/rce1 123 +> +> Breakpoint 1, main (argc=2, argv=0xbffff7e4) at rce1.c:7 +> 7 if (argc<2) { +> (gdb) n +> 12 num=alf(argv[1]); +> (gdb) n +> 14 if (num>10) +> (gdb) n +> 15 printf("Ok!\n"); +> (gdb) n +> Ok! +> 18 } +> (gdb) n +> 0x4003abb4 in __libc_start_main () from /lib/libc.so.6 +> (gdb) n +> Single stepping until exit from function __libc_start_main, +> which has no line number information. +> +> Program exited with code 04. +> (gdb) +> +> + +Παρατηρήστε ότι μετά τη γραμμή 18 το πρόγραμμα δεν κάνει exit αλλά επιστρέφουμε σε μια συνάρτηση που ανήκει στην libc.so.6. Επειδή δεν έχουμε debugging +πληροφορίες για αυτή, η **next** απλώς προχωράει μέχρι να τελειώσει η συνάρτηση. Αυτό που συμβαίνει ακριβώς είναι ότι με την **next** προχωράμε μια γραμμή +κώδικα αλλά o GDB δεν έχει πληροφορίες για ποίες εντολές assembly αντιστοιχούν σε κάθε γραμμή, οπότε δεν ξέρει πόσο να προχωρήσει. H \_\_libc\_start\_main() +είναι στην πραγματικότητα η πρώτη συνάρτηση που έχει κληθεί από το πρόγραμμα μας και έχει στόχο να αρχικοποιήσει την libc και μετά να καλέσει τη δική μας main +(περισσότερα για αυτό στο επόμενο μέρος, όταν θα ασχοληθούμε με την assembly μορφή του κώδικα). + +Αν ενώ είμαστε στον GDB θέλουμε να συνεχίσει κανονικά η εκτέλεση του προγράμματος μπορούμε να χρησιμοποιήσουμε την εντολή **continue** ή **c**. To πρόγραμμα +συνεχίζει μέχρι να συναντήσει κάποιο breakpoint ή να τερματιστεί. + +> (gdb) r 123 +> Starting program: /home/alf/projects/rce1 123 +> Breakpoint 1, main (argc=2, argv=0xbffff7e4) at rce1.c:7 +> 7 if (argc<2) { +> (gdb) n +> 12 num=alf(argv[1]); +> (gdb) c +> Continuing. +> Ok! +> Program exited with code 01. +> (gdb) +> +> + +Εκτός από την **next** υπάρχει και η **step** ή **s** η οποία κάνει ότι και η **next** με τη διαφορά ότι αν η τρέχουσα εντολή είναι κλήση συνάρτησης η **step** +μπαίνει μέσα στον κώδικα της συνάρτησης. + +> (gdb) r 123 +> Starting program: /home/alf/projects/rce1 123 +> +> Breakpoint 1, main (argc=2, argv=0xbffff7e4) at rce1.c:7 +> 7 if (argc<2) { +> (gdb) n +> 12 num=alf(argv[1]); +> (gdb) s +> alf (s=0xbffff94f "123") at rce1.c:25 +> 25 return atoi(s); +> (gdb) n +> 26 } +> (gdb) n +> main (argc=2, argv=0xbffff7e4) at rce1.c:14 +> 14 if (num>10) +> (gdb) c +> Continuing. +> Ok! +> Program exited with code 01. +> (gdb) +> +> + +Ας δοκιμάσουμε μερικές ακόμη εντολές: + +> (gdb) r 123 abc +> Starting program: /home/alf/projects/rce1 123 abc +> +> Breakpoint 1, main (argc=2, argv=0xbffff7e4) at rce1.c:7 +> 7 if (argc<2) { +> (gdb) print argc +> $1 = 3 +> (gdb) set argc=6 +> (gdb) print argc +> $2 = 6 +> (gdb) set argc=argc-2 +> (gdb) print argc +> $3 = 4 +> +> + +Παραπάνω είδαμε δύο σημαντικές εντολές για να εξετάζουμε δεδομένα, την **print** και την **set** (η οποία όπως είδαμε χρησιμοποιείται και για εσωτερικές +μεταβλητές). Είναι πολύ βασικό να σημειωθεί πως ό,τι ακολουθεί τις **print** και **set** είναι έκφραση της C, γεγονός που μας δίνει ιδιαίτερη ευελιξία O GDB +αναγνωρίζει αυτόματα τον τύπο της έκφρασης και παρουσιάζει τα δεδομένα με τον κατάλληλο τρόπο. + +> (gdb) print &argc +> $4 = (int *) 0xbffff790 +> (gdb) print &argc + 1 +> $5 = (int *) 0xbffff794 +> (gdb) print (char *)&argc + 1 +> $6 = 0xbffff791 "" +> +> + +Στην πρώτη εντολή λέμε στον GDB να τυπώσει την διεύθυνση της μεταβλητής argc. Το αποτέλεσμα της δεύτερης εντολής ίσως να φαίνεται λίγο παράξενο. Πολλοί θα +περίμεναν να είναι 0xbffff791. Επειδή η argc είναι τύπου int που στη συγκεκριμένη περίπτωση είναι 4 bytes το &argc + 1 δείχνει 4 bytes μπροστά. Γενικά, αν p +είναι δείκτης σε τύπο Τ, το p + n δείχνει στη θέση μνήμης p+n\*sizeof(T) ( εδώ &argc + 1\*sizeof(int) ). Αν κάνουμε cast το &argc σε (char \*) το αποτέλεσμα +είναι το αναμενόμενο, διότι ο char είναι εξ ορισμού 1 byte. + +> (gdb) print argv[1] +> $7 = 0xbffff94a "123" +> (gdb) print argv[2] +> $8 = 0xbffff94d "abc" +> (gdb) print argv[0] +> $9 = 0xbffff932 "/home/alf/projects/rce1" +> +> + +Ο GDB αναγνωρίζει πως οι μεταβλητές πρόκειται για strings (char \*) και εμφανίζει το περιεχόμενο τους. Ας παίξουμε λίγο με τα strings :) + +> (gdb) set argv[1]="555" +> (gdb) print argv[1] +> $10 = 0x8049588 "555" +> +> + +Παρατηρείστε πως ο GDB έκανε μία σοφή κίνηση: δέσμευσε μόνος του χώρο για το καινούργιο string και άλλαξε τον δείκτη argv\[1\] να δείχνει στον καινούργιο χώρο. +O παλιός έμεινε όπως είναι: + +> (gdb) print (char *)0xbffff94a +> $11 = 0xbffff94a "123" +> +> + +#### Breakpoints + +Μετά από όλα αυτά, ήρθε επιτέλους η ώρα να ασχοληθούμε με ένα από τα πιο σημαντικά στοιχεία ενός debugger, τα breakpoints. Όπως δηλώνει και το όνομα τους είναι +σημεία στον κώδικα όπου διακόπτεται η εκτέλεση και ο έλεγχος επιστρέφει στον debugger. H βασική εντολή στον GDB για να τεθεί ένα BP είναι η **break** ή **b**. +Δέχεται (στη βασική της μορφή) μία παράμετρο: το σημείο όπου θα διακοπεί η εκτέλεση. Η παράμετρος έχει τις εξής μορφές: + +- 1\. Το αρχείο(προαιρετικά) και τη γραμμή του πηγαίου κώδικα \[file:\]line +- 2\. Το όνομα μιας συνάρτησης πχ main +- 3\. Μια θέση μνήμης πχ \*0x8048560 (προσέξτε το \'\*\') + +Χρήσιμες εντολές για τα BPs είναι η **info break** η οποία είναι εμφανές τι κάνει :), η **delete \[n\]** η οποία σβήνει το BP \#n (η όλα αν δεν προσδιορίσουμε +αριθμό), η **disable \[n\]** η οποία απενεργοποιεί προσωρινά το BP \#n (η όλα\...) και η αντίθετη της, η **enable \[n\]**. + +> bash$ gdb rce1 +> (gdb) break main +> Breakpoint 1 at 0x804839c: file rce1.c, line 7. +> (gdb) break alf +> Breakpoint 2 at 0x804840c: file rce1.c, line 25. +> (gdb) info break +> Num Type Disp Enb Address What +> 1 breakpoint keep y 0x0804839c in main at rce1.c:7 +> 2 breakpoint keep y 0x0804840c in alf at rce1.c:25 +> (gdb) disable 1 +> (gdb) info break +> Num Type Disp Enb Address What +> 1 breakpoint keep n 0x0804839c in main at rce1.c:7 +> 2 breakpoint keep y 0x0804840c in alf at rce1.c:25 +> (gdb) r 1 +> Starting program: /home/alf/projects/rce1 1 +> +> Breakpoint 2, alf (s=0xbffff951 "1") at rce1.c:25 +> 25 return atoi(s); +> (gdb) n +> 26 } +> (gdb) n +> main (argc=2, argv=0xbffff7e4) at rce1.c:14 +> 14 if (num>10) +> (gdb) c +> Continuing. +> Failed! +> +> Program exited with code 01. +> (gdb) +> +> + +Μια εναλλακτική (και πολύ χρήσιμη) μορφή της **break** είναι η **break \... if expr**, με τη οποία η εκτέλεση διακόπτεται μόνο αν η έκφραση *expr* είναι αληθής. + +> bash$ gdb rce1 +> (gdb) list 10 +> 5 int num; +> 6 +> 7 if (argc<2) { +> 8 printf("Usage: %s \n",argv[0]); +> 9 exit(1); +> 10 } +> 11 +> 12 num=alf(argv[1]); +> 13 +> 14 if (num>10) +> (gdb) break 14 if (num==10) +> Breakpoint 1 at 0x80483d7: file rce1.c, line 14. +> (gdb) info break +> Num Type Disp Enb Address What +> 1 breakpoint keep y 0x080483d7 in main at rce1.c:14 +> stop only if num == 10 +> (gdb) r 4 +> Starting program: /home/alf/projects/rce1 4 +> Failed! +> +> Program exited with code 01. +> (gdb) r 10 +> Starting program: /home/alf/projects/rce1 10 +> +> Breakpoint 1, main (argc=2, argv=0xbffff7e4) at rce1.c:14 +> 14 if (num>10) +> (gdb) c +> Continuing. +> Failed! +> +> Program exited with code 01. +> (gdb) +> +> + +Για να αλλάξουμε τη συνθήκη ενός breakpoint υπάρχει η εντολή **cond n \[expr\]** η οποία αλλάζει τη συνθήκη του BP \#n σε *expr*(ή τίποτα). + +Επίσης είναι δυνατόν να καθορίσουμε μια σειρά από ενέργειες που θα εκτελούνται όταν \"χτυπάει\" ένα BP. Αυτό γίνεται με την + +> commands n +> list +> end +> +> + +Ένα δείγμα του τι δυνατότητες μας δίνει το σύστημα: + +> (gdb) break 14 if (numi<=10) +> Breakpoint 1 at 0x80483d7: file rce1.c, line 14. +> (gdb) commands 1 +> Type commands for when breakpoint 1 is hit, one per line. +> End with a line saying just "end". +> >set num=13 +> >c +> >end +> (gdb) r 20 +> Starting program: /home/alf/projects/rce1 20 +> Ok! +> +> Program exited with code 01. +> (gdb) r 3 +> Starting program: /home/alf/projects/rce1 3 +> +> Breakpoint 1, main (argc=2, argv=0xbffff7e4) at rce1.c:14 +> 14 if (num>10) +> Ok! +> +> Program exited with code 01. +> (gdb) +> +> + +Το breakpoint \"χτυπάει\" αλλά συνεχίζει αυτόματα, διότι η τελευταία εντολή στο command list είναι η **continue**. Καταφέραμε με αυτόν τον τρόπο να κάνουμε το +πρόγραμμα να τυπώνει πάντα Ok!, ανεξάρτητα από την τιμή της παραμέτρου στη γραμμή εντολής! Βέβαια, αυτό γίνεται μόνο όταν τρέχουμε το πρόγραμμα μέσα από το GDB. +Υπομονή μερικά τεύχη για μια καλύτερη λύση\... + +Μια παραλλαγή είναι η **tbreak** (temporary breakpoint) που έχει ακριβώς την ίδια σύνταξη με την **break** αλλά εκτελείται μόνο μια φορά (γίνεται disabled +μετά). Πρακτικά είναι ισοδύναμη με την ακολουθία: + +> break xyz +> commands 3 --> Αν υποθέσουμε πως το breakpoint είναι το #3 +> disable 3 +> end +> +> + +#### Watchpoints + +Τα watchpoints είναι breakpoints τα οποία δεν ενεργοποιούνται με κριτήριο την εκτέλεση μιας εντολής αλλά την αλλαγή μιας θέσης μνήμης. Για να θέσουμε ένα +watchpoint χρησιμοποιούμε την εντολή **watch**! + +> (gdb) watch num +> No symbol "num" in current context. +> (gdb) break main +> Breakpoint 1 at 0x804839c: file rce1.c, line 7. +> (gdb) r 11 +> Starting program: /home/alf/projects/rce1 11 +> +> Breakpoint 1, main (argc=2, argv=0xbffff7e4) at rce1.c:7 +> 7 if (argc<2) { +> (gdb) watch num +> Hardware watchpoint 2: num +> (gdb) c +> Continuing. +> Hardware watchpoint 2: num +> +> Old value = 1075130932 +> New value = 11 +> main (argc=2, argv=0xbffff7e4) at rce1.c:14 +> 14 if (num>10) +> (gdb) c +> Continuing. +> Failed! +> +> Watchpoint 2 deleted because the program has left the block in +> which its expression is valid. +> 0x4003abb4 in __libc_start_main () from /lib/libc.so.6 +> (gdb) c +> Continuing. +> +> Program exited with code 01. +> (gdb) +> +> + +Η πρώτη εντολή (**watch num**) απέτυχε διότι η *num* είναι τοπική μεταβλητή και έχει νόημα μόνο μέσα στη main(). Οπότε πρέπει να είμαστε στη main() για να +αναφερθούμε σε αυτή. Τελικά ο GDB μας ενημέρωσε πως η μεταβλητή num άλλαξε τιμή σε 11. Παρατηρήστε πως ο έλεγχος γύρισε σε εμάς αμέσως μετά την εντολή που +προκάλεσε την αλλαγή, η οποία προφανώς δεν είναι η if (num \< 10) αλλά η προηγούμενη num=alf(argv\[1\]) που δε φαίνεται πουθενά. Ύστερα ο GDB μας λέει πως το +watchpoint διαγράφηκε. Αυτό έγινε διότι η *num* ως τοπική μεταβλητή αποθηκεύεται στο σωρό (stack) και μετά την έξοδο από τη συνάρτηση στην οποία βρισκόταν (τη +main()) ο σωρός ελευθερώνεται (δε γίνεται ακριβώς έτσι, όταν εξετάσουμε τον κώδικα σε πιο χαμηλό επίπεδο θα δούμε την διαδικασία επακριβώς) + +Παρόμοια με την **watch** είναι η **rwatch** η οποία ενεργοποιείται όχι σε αλλαγή της μνήμης αλλά σε απλή ανάγνωση. + +> (gdb) break main +> Breakpoint 1 at 0x804839c: file rce1.c, line 7. +> (gdb) r 12 +> Starting program: /home/alf/projects/rce1 12 +> +> Breakpoint 1, main (argc=2, argv=0xbffff7e4) at rce1.c:7 +> 7 if (argc<2) { +> (gdb) rwatch num +> Hardware read watchpoint 2: num +> (gdb) c +> Continuing. +> Hardware read watchpoint 2: num +> +> Value = 12 +> 0x080483db in main (argc=2, argv=0xbffff7e4) at rce1.c:14 +> 14 if (num>10) +> (gdb) c +> Continuing. +> Ok! +> +> Watchpoint 2 deleted because the program has left the block in +> which its expression is valid. +> 0x4003abb4 in __libc_start_main () from /lib/libc.so.6 +> (gdb) c +> Continuing. +> +> Program exited with code 01. +> +> + +Ουφφ! Τελειώσαμε\... για την ώρα :)\ +Αυτό το πρώτο άρθρο δεν είναι και πολύ hardcore RCE αλλά ήταν απαραίτητο ώστε να τεθούν κάποιες βάσεις για αυτά που θα ακολουθήσουν. Στο επόμενο άρθρο θα +ασχοληθούμε με τη χρήση του GDB για assembly debugging και θα ρίξουμε μια πιο προσεκτική ματιά στα υπόλοιπα εργαλεία. Επίσης θα μιλήσουμε λίγο περισσότερο για +τα breakpoints και πιο συγκεκριμένα για το πως αυτά υλοποιούνται σε χαμηλό επίπεδο. + + +### [5. Πρόκληση 0]{#s5} + +Σε κάθε άρθρο θα υπάρχει ένα πρόβλημα-πρόκληση για να ασχοληθούν όσοι επιθυμούν. Εδώ τα πράγματα είναι κάπως απλά (αλλά όχι πολύ) αφού το εκτελέσιμο είναι +compiled με το -g flag, πρακτικά σας δίνω τον πηγαίο κώδικα δηλαδή. Πάντως είναι μια καλή ευκαιρία να ακονίσετε τα GDB skills και να πάρετε μια πρώτη γεύση από +RCE! + +Σκοπός της πρόκλησης είναι να βρείτε ποίος κωδικός αντιστοιχεί στο όνομα/ψευδώνυμο σας. Όποιοι θέλουν ας μου στείλουν τις απαντήσεις τους για να αναγραφούν στο +hall of fame στο επόμενο άρθρο! Οι πρώτοι τρεις παίρνουν δώρο μια ετήσια συνδρομή στο magaz :P + +πχ + +> bash$ challenge0 -h +> Magaz RCE Challenge 0 +> Use '-g' to load it into gdb +> +> bash$ challenge0 -g +> (gdb) +> +> bash$ challenge0 +> Name: alf82 +> Password: 089s33k4das +> Authentication failed! +> +> bash$ challenge0 +> Name: alf82 +> Password: 09d12iie78722 +> Authentication successful! +> +> + +Μπορείτε να κατεβάσετε το εκτελέσιμο από [εδώ](./challenge0.bz2). + +Στείλτε απαντήσεις, σχόλια, διορθώσεις, προσθήκες στο alf82 at freemail.gr. Καλό θα ήταν το subject του email να είναι της μορφής magaz-rce-\... ή κάτι τέτοιο, +για να τα ξεχωρίζω εύκολα! + +Καλό RCE! + diff --git a/content/articles/33/01_editorial.md b/content/articles/33/01_editorial.md new file mode 100644 index 0000000..3910639 --- /dev/null +++ b/content/articles/33/01_editorial.md @@ -0,0 +1,18 @@ ++++ +title = 'Editorial' +date = '2003-07-01T00:00:00Z' +description = '' +author = 'Ιατρού Μιχάλης iatrou ατ hellug.gr(mailto:iatrou%20%C3%A1%C3%B4%20hellug.gr)' +issue = ['Magaz 33'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Καλωσορίσατε στο καλοκαιρινό Magaz.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Το τεύχος αυτό είναι ένα \"δώρο\" σε όλους εκείνους που, ηθελημένα ή όχι, αψηφούν τις υψηλές θερμοκρασίες (και όχι μόνο) και μένουν μακριά από τις παραλίες, +κοντά στα \"μηχανάκια\" τους. + +Καλή διασκέδαση και καλό καλοκαίρι. diff --git a/content/articles/33/02_iptun.md b/content/articles/33/02_iptun.md new file mode 100644 index 0000000..82efd7c --- /dev/null +++ b/content/articles/33/02_iptun.md @@ -0,0 +1,534 @@ ++++ +title = 'IP/Ethernet Tunnel Using Linux' +date = '2003-06-01T00:00:00Z' +description = '' +author = 'Τοπογλίδης Κων/νος' +issue = ['Magaz 33'] +issue_weight = 2 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*IP tunnels με απλά λόγια.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Εισαγωγή** +--------------------------------------- + +- [1.1 Τι είναι όμως αυτά τα IP/Ethernet Tunnels;](#ss1.1) +- [1.2 Γιατί όμως είναι χρήσιμα; Τι εφαρμογές έχουν;](#ss1.2) + +**2. Τα εργαλεία** +------------------------------------------ + +**3. Tunnel με το SSH** +----------------------------------------------- + +- [3.1 Socks 4 proxy](#ss3.1) +- [3.2 Port Forwarding](#ss3.2) +- [3.3 Και αν δεν μπορούμε να κάνουμε ssh;](#ss3.3) + +**4. Vtun - Virtual tunnel** +---------------------------------------------------- + +- [4.1 Εγκατάσταση](#ss4.1) +- [4.2 Τι θα χρειαστούμε](#ss4.2) +- [4.3 Εγκατάσταση](#ss4.3) +- [4.4 Ρύθμιση του server](#ss4.4) +- [4.5 Ρύθμιση του client](#ss4.5) +- [4.6 Και τώρα;](#ss4.6) +- [4.7 Και αν είμαστε πίσω από proxy;](#ss4.7) + +**5. FreeS/WAN** +---------------------------------------- + +**6. Επίλογος** +--------------------------------------- + + +### [1. Εισαγωγή]{#s1} + +Όλοι μας, λίγο πολύ έχουμε ακούσει κάτι για τα IP tunnels και ίσως να έχουμε ακούσει περισσότερα τώρα που υπάρχει και έξαρση με τις wireless συσκευές. + +### [1.1 Τι είναι όμως αυτά τα IP/Ethernet Tunnels;]{#ss1.1} + +Τα IP Tunnels είναι, με απλά λόγια, μια σύνδεση 2 υπολογιστών μέσω κάποιου ευρύτερου (όχι απαραίτητα) δικτύου όπως το intenet. Όμως διαφέρει από τις υπόλοιπες +συνδέσεις γιατί η σύνδεση που δημιουργείται μεταξύ των δύο υπολογιστών έχει κάποιες ιδιότητες. Για παράδειγμα, μπορεί να είναι encrypted ή και να σχηματίζουν +ένα τοπικό δίκτυο μεταξύ τους. + +### [1.2 Γιατί όμως είναι χρήσιμα; Τι εφαρμογές έχουν;]{#ss1.2} + +Η κυριότερη εφαρμογή - ίσως και ο λόγος που δημιουργήθηκαν - είναι η απομακρυσμένη και ασφαλής σύνδεση ενός υπολογιστή σε ένα εταιρικό τοπικό δίκτυο για να μην +υποκλαπούν δεδομένα και η απομακρυσμένη και ασφαλής σύνδεση δύο τοπικών δικτύων, για τον ίδιο λόγο. Οπότε μπορεί κανείς να δει την χρησιμότητα τους στα wireless +δίκτυα. Άλλο όνομα για τα IP Tunnels είναι το VPN (δηλαδή Virtual Private Network). Όμως, μπορούν να χρησιμοποιηθούν και για να \"προσπεράσει\" κάποιος έναν +πολύ \"αυστηρό\" proxy server. + + +### [2. Τα εργαλεία]{#s2} + +Υπάρχουν αρκετοί τρόποι για να κάνει κάποιος ένα Tunnel. Υπάρχουν αρκετές διανομές που είναι παρακλάδια μικρών διανομών όπως: Wolverine Firewall and VPN Server, +Astaro Security Linux που δεν είναι όμως από την άδεια χρήσης GPL. Υπάρχουν και λύσεις όπως της Cisco και άλλων εταιριών, που πωλούν ένα συγκεκριμένο μηχάνημα +και συνήθως κοστίζει αρκετά χρήματα ακόμα και για μεσαίες επιχειρήσεις. + +Φυσικά όμως, υπάρχουν και αρκετά project τα οποία είναι Free/Open Source κάτω από την GPL άδεια χρήσης. Το άρθρο θα καλύψει μερικά από αυτά όπως: tunnels με το +ssh, το vtun, και λιγότερο το FreeS/WAN. Φυσικά υπάρχουν και άλλα projects όπως το OpenVPN, το vpnd, το tinc, το SLAN, το CIPE, το Htun και άλλα. + + +### [3. Tunnel με το SSH]{#s3} + +Το ssh είναι από τα πιο γνωστά πλέον προγράμματα. Είναι για όλους σχεδόν ένα από τα πιο χρήσιμα εργαλεία για remote access. Το αγαπημένο μας ssh μπορεί να κάνει +και κάποιες άλλες δουλειές, όπως να κάνει port forwarding ή να γίνει socks 4 proxy, διοχετεύοντας όλο το traffic από το τοπικό μηχάνημα στο απομακρυσμένο. + +### [3.1 Socks 4 proxy]{#ss3.1} + +Για να γίνει το ssh ένας μικρός τοπικός socks 4 proxy το μόνο που έχετε να κάνετε είναι: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ssh -D 1080 my.linux.server.gr + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Τώρα όσο είμαστε συνδεδεμένοι στο απομακρυσμένο μηχάνημα my.linux.server.gr θα παρατηρήσουμε και την port 1080 στο μηχάνημά μας να ακούει για συνδέσεις. Το +option -D ορίζει πως το τοπικό μηχάνημα θα εξυπηρετεί συνδέσεις στην port 1080. Άρα, αν ρυθμίσουμε τον φυλλομετρητή μας να χρησιμοποιεί proxy ή τον αγαπημένο +μας IRC client να χρησιμοποιεί την port 1080 σαν proxy θα παρατηρήσουμε πως όλες πλέον οι συνδέσεις μας περνούν μέσα από το secure shell που έχουμε. + +### [3.2 Port Forwarding]{#ss3.2} + +Ένα άλλο option που έχει το ssh είναι να κάνει port forwarding από και προς το απομακρυσμένο μηχάνημα. Εδώ υπάρχουν δύο περιπτώσεις. + +#### Να κάνει κάποιος forward μία port από το τοπικό μηχάνημα μέσω του ssh. + +Για να γίνει αυτό το μόνο που πρέπει να κάνουμε είναι : + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ssh -L 1080:uk.irc.gr:6667 my.linux.server.gr + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +όπου στην προκειμένη περίπτωση, ανοίγει μια port στο τοπικό μηχάνημα και στο παράδειγμά μας η port 1080 και ότι σύνδεση γίνει εκεί μεταφέρεται αμέσως μέσω του +ssh και κάνει σύνδεση στο server uk.irc.gr στην port 6667. Με το συγκεκριμένο παράδειγμα μπορούμε να ανοίξουμε τον αγαπημένο μας IRC Client και να δώσουμε σαν +server το local μηχάνημα και port την 1080 + + /server 127.0.0.1 1080 + +και να συνδεθούμε στο GRNet και συγκεκριμένα στον server uk.irc.gr. Ομοίως, μπορούμε να κάνουμε το ίδιο και για ένα web site ή ένα ftp server. Προσωπικά βρήκα +πολύ χρήσιμο το option αυτό όταν ο διαχειριστής του proxy της εταιρίας σου επιτρέπει να κάνεις ssh άλλα δεν επιτρέπει τις port για να κάνει κανείς IRC. + +#### Να κάνει κάποιος forward μία port από το απομακρυσμένο μηχάνημα στο τοπικό μηχάνημα ή σε κάποιο άλλο στο τοπικό δίκτυο. + +Αυτό θα ήτανε ιδιαίτερα χρήσιμο αν θέλουμε να συνδεθεί κάποιος προσωρινά στο μηχάνημα μας ή σε κάποιο μηχάνημα στο τοπικό μας δίκτυο. Με την εντολή: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ssh -R 5100:192.168.0.3:80 my.linux.server.gr + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +ανοίγουμε την port 5100 στο μηχάνημα my.linux.server.gr και του ορίζουμε πως θα ανακατευθύνει ότι συνδέσεις γίνονται εκεί μέσω του ssh στο μηχάνημα 192.168.0.3 +και στην port 80 (που είναι οι web υπηρεσίες συνήθως). Έν ολίγοις αν στο μηχάνημα μας 192.168.0.3 έχουμε κάποιο web server όποιος χρήστης πάει να δει το site +http://my.linux.server.gr:5100/ στην πραγματικότητα θα δει τον web server μας. + +Σημείωση: Για να ανοίξουμε ports μικρότερα από την port 1024 θα πρέπει να έχουμε root access στα αντίστοιχα μηχανήματα, δηλαδή στο 3.2.2 πρέπει να έχουμε root +access στο απομακρυσμένο μηχάνημα και στην ενότητα 3.2.1 θα πρέπει να έχουμε root access στο μηχάνημα το οποίο βρισκόμαστε. + +### [3.3 Και αν δεν μπορούμε να κάνουμε ssh;]{#ss3.3} + +Σε πολλές περιπτώσεις όμως, για πολλούς και διάφορους λόγους, κάποιος \"κακός\" διαχειριστής δεν μας αφήνει να έχουμε πρόσβαση με secure shell (ssh), και +περνάει όλη την κίνηση του δικτύου προς το Internet από κάποιο proxy. Ευτυχώς όμως υπάρχουν εργαλεία που μας επιτρέπουν να μπορέσουμε να \"προσπεράσουμε\" τον +proxy. Τέτοια εργαλεία είναι: το proxytunnel, το corkscrew, το desproxy, το Http Proxy και άλλα. Ύστερα από αρκετές δοκιμές εμένα μου άρεσε περισσότερο και μου +δούλεψε αρκετά έως πολύ εύκολα το proxytunnel που δεν χρειάζεται καν root access, μπορείς να το έχεις στο home directory και υποστηρίζει και proxy +authentication. + +#### Εγκατάσταση - ρύθμιση + +Μπορείτε να κατεβάσετε το πρόγραμμα από το http://proxytunnel.sf.net/ και να το εγκαταστήσετε πολύ εύκολα, είτε να κατεβάσετε binaries. Ίσως η ρύθμισή του να +φανεί λιγάκι περίεργη αλλά είναι αρκετά εύκολη. Τα μόνα που έχετε να κάνετε είναι: + +- Να δημιουργήσετε τον κατάλογο  /.ssh στο home directory σας (mkdir  /.ssh) + +- Να δημιουργήσετε το αρχείο config (touch  /.ssh/config) + +- Να επεξεργασθείτε το αρχείο config με τον αγαπημένο σας επεξεργαστή κειμένου (πχ. vi, vim, mcedit, pico, joe ή όποιον προτιμάτε) + +- και τέλος να προσθέσετε την γραμμή + + Host foobar + + ProtocolKeepAlives 30 + + ProxyCommand /path/to/proxytunnel -g proxy.customer.com + -G 8080 -u user -s password -d my.linux.server.gr -D + 443 + + Όπου: + + \* proxy.customer.com είναι ο proxy server (μπορεί να χρησιμοποιηθεί και η IP του server) + + \* 8080 είναι η port του proxy + + \* user είναι το username που χρησιμοποιείτε για τον proxy + + \* password είναι το password για τον proxy + + \* my.linux.server.gr είναι το μηχάνημα στο οποίο θέλετε να συνδεθείτε + + \* και 443 είναι η port στο μηχάνημα αυτό (η port για το ssh συνήθως είναι η 22, αλλά μπορούμε να \"σηκώσουμε\" ssh server σε όποια port θέλουμε. Εδώ + χρησιμοποιώ την 443 γιατί σε αυτήν την port επιτρέπει ο proxy secure connections, επειδή η 443 είναι η port για https) + +Είναι πλέον έτοιμο το proxytunnel να το χρησιμοποιήσετε. Για να το χρησιμοποιήσουμε απλά γράφουμε: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ssh foobar + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +και το πρόγραμμα κάνει τα υπόλοιπα. Αν όλα πάνε καλά και είναι σωστές οι ρυθμίσεις θα συνδεθεί στο my.linux.server.gr χωρίς κανένα πρόβλημα. + + +### [4. Vtun - Virtual tunnel]{#s4} + +Το vtun είναι ένα πάρα πολύ καλό εύχρηστο και μικρό εργαλείο για την δημιουργία IP tunnel πάνω από ένα ήδη υπάρχον δίκτυο. Υποστηρίζει συμπίεση, κρυπτογράφηση +ακόμα και περιορισμό κίνησης (compression, encryption and traffic shaping). + +### [4.1 Εγκατάσταση]{#ss4.1} + +Μπορείτε να κατεβάσετε το vtun από το site http://vtun.sf.net/ . Υπάρχει και σαν binary πακέτα, όπως επίσης υπάρχουν και πακέτα για FreeBSD, OpenBSD και +Solaris. + +Το πρόγραμμα χρησιμοποιείται και σαν server αλλά και σαν client, ανάλογα την ρύθμιση. + +### [4.2 Τι θα χρειαστούμε]{#ss4.2} + +Τα λιγότερα πράγματα που θα χρειαστείτε για να γίνει compile είναι: + +\* Good C compiler (gcc, egcs, etc) + +\* Lexical Analyzer (flex, lex) + +\* YACC (yacc, bison, byacc) + +\* Universal TUN/TAP driver http://vtun.sourceforge.net/tun + +\* OpenSSL encryption library http://www.openssl.org + +και optional τα: + +\* Zlib compression library + +\* LZO compression library http://www.oberhumer.com/opensource/lzo + +Κατά ένα μεγάλο ποσοστό αυτό που θα χρειαστείτε και δεν θα υπάρχει ήδη στην διανομή σας είναι το TUN/TAP Driver, που θα πρέπει να κατεβάσετε και να +εγκαταστήσετε. + +### [4.3 Εγκατάσταση]{#ss4.3} + +Εφ\' όσον έχουμε όλα τα παραπάνω απλά κάνουμε unzip/untar το αρχείο + + tar xzvf vtun-2.6.tar.gz + + cd vtun + + ./configure + + make + +και τέλος σαν root για να το εγκαταστήσετε + + make install + +Την ίδια ακριβώς διαδικασία πρέπει να γίνει και στο μηχάνημα με το οποίο θέλουμε να κάνουμε το IP/Ethernet Tunnel. + +### [4.4 Ρύθμιση του server]{#ss4.4} + +Όταν εγκαταστήσουμε πλήρως και στα δύο μηχανήματα το vtun θα παρατηρήσουμε πως στον κατάλογο /etc υπάρχει το αρχείο vtund.conf, που έχει ήδη κάποια παραδείγματα +από ρυθμίσεις. Εμείς θα το ρυθμίσουμε από την αρχή. Πρώτα πρέπει να ορίσουμε τα γενικά options: + + options { + + port 5000; # Listen on this port. + + # Syslog facility + + syslog daemon; + + # Path to various programs + + ppp /usr/sbin/pppd; + + ifconfig /sbin/ifconfig; + + route /sbin/route; + + firewall /sbin/ipchains; + + ip /sbin/ip; + + } + + # Default session options + + default { + + compress no; # Compression is off by default + + speed 0; # By default maximum speed, NO shaping + + } + +Όπου στην αρχή δηλώνουμε ότι ο vtun server \"ακούει\" στην port 5000 μετά ότι θα χρησιμοποιήσει τον syslog για τα logs και μετά οι τοποθεσίες που βρίσκεται κάθε +πρόγραμμα, όπως ο pppd δαίμονας και άλλα προγράμματα που ίσως θα χρειαστούμε και τέλος ορίζουμε τα default options των συνδέσεών μας, για το αν θα έχει ή όχι +κρυπτογράφηση ή αν θα έχει όριο στο bandwidth. + +Η βασική ρύθμιση για ένα Ethernet Tunnel είναι: + +Πρέπει να ορίσουμε ένα όνομα για να αναφερόμαστε στη συγκεκριμένη ρύθμιση μιας και μπορούμε να έχουμε παραπάνω από μία. + + alekos { + +Μέτα ορίζουμε το password στον server μας + + passwd magaz; # Password + +Μετά τι τύπος tunnel θα είναι. Εδώ μπορούμε να ορίσουμε είτε ether, είτε tun, είτε tty ή pipe + + type ether; # Ethernet tunnel + +Ποια συσκευή θα χρησιμοποιήσει (αν δεν κάνετε και 2ο tunnel αφήστε το option ως έχει). + + device tap0; # Device tap0 + +Ποιο πρωτόκολλο θα χρησιμοποιήσει. Αυτό παίζει ρόλο αν είσαστε πίσω από proxy ή όχι. Προτιμήστε το udp αν δεν είσαστε πίσω από proxy, αλλιώς θα πρέπει να +χρησιμοποιήσετε το tcp. + + proto tcp; # UDP protocol + +Αν θέλουμε συμπίεση και σε τι επίπεδο (παίρνει περισσότερη επεξεργαστική ισχύ, αλλά μπορεί να δώσει περισσότερο bandwidth) + + # compress lzo:5; # LZO compression level 1 + +Αν θέλουμε να είναι το tunnel μας κρυπτογραφημένο (καταναλώνει αρκετό bandwidth). Καλό είναι να το έχουμε ενεργοποιημένο, εκτός αν το περνάμε μέσω ssh tunnel, +όπου είναι περιττό. + + encrypt no; # Encryption + +Αν θέλουμε να κρατάει log files στο syslog. + + stat yes; # Log connection statistic + +Αν θέλουμε να προσπαθεί να κρατάει την σύνδεση ενεργή αν δεν την χρησιμοποιήσουμε για κάποια ώρα. Χρήσιμο αν κάνουμε tunnels μέσω dial-up συνδέσεων ή +dial-on-demand συνδέσεων. + + keepalive yes; # Keep connection alive + +Εδώ ορίζουμε τι θέλουμε να κάνει όταν ανοίξει η σύνδεση μεταξύ server και client. + + up { # Connection is Up + +Να δώσει μία IP στο μηχάνημα (ορίζω την 192.168.0.1 μιας και είναι ο server) + + # Assign IP address + ifconfig "%% 192.168.0.1 netmask 255.255.255.0"; + +Δίνουμε και μία δρομολόγηση (routing) για να ξέρει που πάνε τα IP πακέτα + + # Add route to net + route "add -net 192.168.0.0 netmask 255.255.255.0 gw + 192.168.0.1"; + +Ενεργοποιούμε το firewall μας για masquerading (αν για παράδειγμα συνδεόμαστε στον server για να έχουμε internet access) + + # Enable masquerading for net 10.2.0.0.0/24 + # firewall "-A forward -s 192.168.0.0/24 -d 0.0.0.0/0 + -j MASQ"; + + }; + +και τέλος τι κάνουμε όταν κλείνει η σύνδεση + + down { # Connection is Down + +Κλείνουμε την συσκευή + + # Shutdown tap device. + ifconfig "%% down"; + +και απενεργοποιούμε το firewall μας + + # Disable masquerading for net 10.2.0.0.0/24 + # firewall "-D forward -s 192.168.0.0/24 -d 0.0.0.0/0 + -j MASQ"; + + }; + + } + +### [4.5 Ρύθμιση του client]{#ss4.5} + +Πάμε στο μηχάνημα που θα είναι ο client στο tunnel μας. Πάλι στον κατάλογο /etc θα βρούμε το αρχείο vtund.conf . Οι ρυθμίσεις που θα μπουν εδώ θα πρέπει να +είναι αντίστοιχες με τον server αλλά όχι ίδιες. Οπότε: + + options { + + port 5000; # Connect to this port. + + timeout 60; # General timeout + + # Path to various programs + + ppp /usr/sbin/pppd; + + ifconfig /sbin/ifconfig; + + route /sbin/route; + + firewall /sbin/ipchains; + + ip /sbin/ip; + + } + +Όπως και πριν, το πρώτο option αναφέρεται στο port που θα συνδεθεί στον server, το timeout για να κλείσει την σύνδεση και τέλος τα διάφορα προγράμματα. + +Και οι ρυθμίσεις που θα πρέπει να κάνουμε για την αντίστοιχη σύνδεση στον server. Οι ρυθμίσεις είναι στο ίδιο μοτίβο: + +Το όνομα της ρύθμισης για να αναφερόμαστε σ\' αυτήν + + alekos { + +Το password που έχουμε ορίσει στον server + + passwd magaz; # Password + +Τι τύπος tunnel θα είναι πρέπει να είναι ίδιο με τον server + + type ether; # Ethernet tunnel + +Ποια συσκευή να χρησιμοποιήσει, αφήστε το default εκτός και αν θέλετε να κάνετε πάνω από ένα tunnel + + device tap0; # Device tap0 + +Τι θα κάνει όταν γίνει η σύνδεση + + up { # Connection is Up + +Πρέπει να ορίσουμε μία IP αλλά φυσικά όχι ίδια με τον server εδώ ορίζουμε την IP 192.168.0.2 + + # Assign IP address and netmask. + ifconfig "%% 192.168.0.2 netmask 255.255.255.0"; + +Ορίζουμε και την δρομολόγηση (routing) για τα IP πακέτα + + route "add default gw 192.168.0.1"; + + }; + +Τι να κάνουμε όταν κλείσει η σύνδεση + + down { # Connection is Down + +Να κλείσει την συσκευή. + + # Shutdown tap device + ifconfig "%% down"; + }; + } + +Και στον client θα μπορούσαμε να ανοίγουμε και να κλείνουμε κάποιο firewall αν θέλαμε να περάσουμε μέσω του tunnel κίνηση (traffic) μεταξύ δύο τοπικών δικτύων. +Περισσότερα παραδείγματα θα βρείτε και στο site του vtun αλλά και στα configuration files (στο /etc/vtund.conf) που καλύπτουν σχεδόν κάθε περίπτωση IP/Ethernet +tunnel. + +### [4.6 Και τώρα;]{#ss4.6} + +Αφού ρυθμίσαμε και τον vtun server μας αλλά και τον client, ήρθε η ώρα να ενεργοποιήσουμε το tunnel που ρυθμίσαμε. + +Από τον server σαν root λοιπόν, δίνουμε την εντολή: + + vtund -s alekos + +Όπου -s είναι το option για τρέξει τον server και να περιμένει για συνδέσεις, και alekos είναι το όνομα της ρύθμισης που κάναμε στο server. Τώρα ο server μας +λειτουργεί και περιμένει να συνδεθούμε. + +Οπότε, πάμε στο client και πάλι σαν root δίνουμε την εντολή: + + vtund alekos my.linux.server.gr + +Αν όλα έχουν πάει καλά και οι ρυθμίσεις μας είναι σωστές μπορούμε να δούμε αν έχει πραγματοποιηθεί το IP tunnel μας με την εντολή: + + /sbin/ifconfig + +Όπου θα δούμε κάτι σαν: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + tap0 Link encap:Ethernet HWaddr 00:FF:AE:E8:EC:85 + + inet addr:192.168.0.2 Bcast:192.168.0.255 + Mask:255.255.255.0 + + UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 + + RX packets:432204 errors:0 dropped:0 overruns:0 frame:0 + + TX packets:151242 errors:0 dropped:0 overruns:0 + carrier:0 collisions:0 txqueuelen:100 + + RX bytes:612105831 (583.7 Mb) TX bytes:9998554 (9.5 Mb) + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Επιτυχώς λοιπόν έχουμε φτιάξει το πρώτο μας IP Tunnel! + +### [4.7 Και αν είμαστε πίσω από proxy;]{#ss4.7} + +Φυσικά υπάρχει η περίπτωση να είμαστε πίσω από κάποιον proxy που δεν μας επιτρέπει να κάνουμε IP Tunnels. Η γνώση και οι δοκιμές που περιέχονται σε αυτό το +άρθρο αποκτήθηκαν στην προσπάθεια να \"προσπεράσουμε\" κάποιον proxy server που δεν μας επέτρεπε να κάνουμε σχεδόν τίποτα. Η λύση λοιπόν είναι η εξής: + +Κάνουμε όλα τα configurations και όλες τις ρυθμίσεις μας για το tunnel με το vtun. Επίσης ρυθμίζουμε το proxytunnel όπως περιγράφετε στο πρώτο μέρος και πρώτα +κάνουμε ένα ssh tunnel κάνοντας forward το port 5000 από το τοπικό μας μηχάνημα στο server. Παράδειγμα: + +Έστω πως το proxytunnel δουλεύει κανονικά για να κάνουμε και IP Tunnel δίνουμε: + + ssh -L 5000:127.0.0.1:5000 foobar + + Οπότε και ανοίγουμε μία σύνδεση με το μηχάνημα που + θέλουμε να κάνουμε IP Tunnel οπότε δίνουμε την εντολή: + + vtund alekos 127.0.0.1 + +και το tunnel σας λειτουργεί. + + +### [5. FreeS/WAN]{#s5} + +Το FreeS/WAN είναι ένα πρόγραμμα που υλοποιεί το IPSec πρωτόκολλο. Το IPSec δεν είναι τίποτα άλλο παρά Security for the Internet Protocol, δηλαδή είναι η +επέκταση ασφαλείας του απλού IP πρωτοκόλλου. Εν ολίγοις είναι ένα τυποποιημένο πρωτόκολλο που θα είναι μέρος της έκδοσης του Internet Protocol v6 (IPv6). Αυτό +σημαίνει πως το IPSec είναι συμβατό και με άλλες εμπορικές εφαρμογές, όπως τα VPN clients της Cisco και τα hardware firewalls (PIX) της Cisco. Με το IPSec +μπορούμε να δημιουργήσουμε VPN (Virtual Private Network), που είναι ακριβώς ίδιο με στην γενική ιδέα με το vtun αλλά τα tunnels που δημιουργούνται είναι +κρυπρογραφημένα και εξακριβωμένα (encrypted and authenticated). Που σημαίνει πως κάθε πακέτο που ανταλλάσσεται μεταξύ των δύο μηχανημάτων, ελέγχεται πρώτα για +να διαπιστωθεί αν είναι εξακριβωμένος (authenticated) ο αποστολέας και το πακέτο μετά μεταδίδεται μέσω του κρυπτογραφημένου tunnel ώστε να μην υποκλαπεί. Ένα +μεγάλο μειονέκτημα που έχει το FreeS/WAN όμως είναι ότι είναι αρκετά περίπλοκο στην εγκατάστασή του, μίας και απαιτεί μερικές αλλαγές στην ρύθμιση του πυρήνα. +Το δύσκολο κομμάτι δεν είναι στο να τα εγκαταστήσει τα επιπλέον κομμάτια, αλλά να γίνουν compile σωστά. Το άρθρο αυτό δεν θα αναφερθεί παραπάνω στο FreeS/WAN +ακόμα. Όποιο θα θέλανε να το δοκιμάσουν μπορούνε να βρούνε αρκετά πακέτα σε binary μορφή και οδηγίες από το site του FreeS/WAN, http://www.freeswan.org . Τέλος +να αναφέρω πως υπάρχουν μερικές διανομές που περιλαμβάνουν το FreeS/WAN στα CD τους. Τέτοιες διανομές όπως: + +\* SuSE Linux + +\* Conectiva + +\* Mandrake + +\* Version 3.0 of Debian will include FreeS/WAN. \"unstable\" and \"test\" versions already have it + +\* the Polish(ed) Linux Distribution + +\* Best Linux + + +### [6. Επίλογος]{#s6} + +Η δημιουργία και η υλοποίηση ενός IP Tunnel δεν είναι κάτι δύσκολο, ούτε κάτι το οποίο απαιτεί \"ειδικές\" γνώσεις και είναι αρκετά χρήσιμο σε πολλές +περιπτώσεις. Ανάλογα και την περίπτωση το κάθε πρόγραμμα έχει τα αρνητικά και τα θετικά του στοιχεία. Το καλό όμως, είναι πως υπάρχουν αρκετά Free/Open Source diff --git a/content/articles/33/03_qos1.md b/content/articles/33/03_qos1.md new file mode 100644 index 0000000..0a511b4 --- /dev/null +++ b/content/articles/33/03_qos1.md @@ -0,0 +1,320 @@ ++++ +title = 'Τιθασεύοντας την κίνηση του δικτύου σας, Μέρος 1ο' +date = '2003-06-01T00:00:00Z' +description = '' +author = 'Στοΐλης Ιωάννης giannis@stoilis.gr' +issue = ['Magaz 33'] +issue_weight = 3 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Δυστυχώς, το Ίντερνετ στην Ελλάδα είναι είδος πολυτελείας. Για εταιρείες που το χρειάζονται απαραίτητα, είναι ένας οικονομικός βραχνάς. Η σειρά των άρθρων που +θα ακολουθήσει, αποσκοπεί στο να ρυθμίσετε, με την χρήση ενός Linux server, με τον καλύτερο δυνατό την χρήση της γραμμή σας.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Πρόλογος** +-------------------------------------- + +- [1.1 Το πρόβλημα](#ss1.1) +- [1.2 Η λύση](#ss1.2) +- [1.3 Τι θα ακολουθήσει;](#ss1.3) +- [1.4 Τι ΔΕΝ θα ακολουθήσει;](#ss1.4) +- [1.5 \"Δεν μου δουλεύει όσο καλά λες ότι λειτουργεί\"](#ss1.5) +- [1.6 Επικοινωνία](#ss1.6) + +**2. Το δίκτυο** +--------------------------------------- + +- [2.1 Σχηματική παράσταση του δικτύου.](#ss2.1) +- [2.2 Ανάλυση του δικτύου](#ss2.2) +- [2.3 Κοινές παραλλαγές του δικτύου](#ss2.3) + +**3. Proxy server** +------------------------------------------ + +- [3.1 Τι είναι ο proxy server;](#ss3.1) +- [3.2 Σε τι μηχάνημα;](#ss3.2) +- [3.3 Τι είναι το latency;](#ss3.3) +- [3.4 Ποιον proxy server;](#ss3.4) + +**4. Διαδικασία** +---------------------------------------- + +- [4.1 Download του squid](#ss4.1) +- [4.2 Μεταγλώττιση](#ss4.2) +- [4.3 Ρύθμιση του squid](#ss4.3) +- [4.4 Η πρώτη δοκιμή](#ss4.4) + +**5. ΠΡΑΓΜΑΤΙΚΗ ρύθμιση του squid** +---------------------------------------------------------- + +**6. Επίλογος** +-------------------------------------- + +- [6.1 Ανασκόπηση](#ss6.1) +- [6.2 Τι θα ακολουθήσει;](#ss6.2) + + +### [1. Πρόλογος]{#s1} + +### [1.1 Το πρόβλημα]{#ss1.1} + +Η ιστορία αυτής της σειράς άρθρων, ξεκινά από τα παράπονα μιας εταιρείας πριν από περίπου δύο χρόνια. Παραπονιόντουσαν για αργή ταχύτητα σύνδεσης με το +Ίντερνετ, παρόλο που είχαν μισθωμένη γραμμή 256kbit. Όταν πήγα να ερευνήσω το θέμα, με έκπληξη βρήκα ένα δίκτυο με περίπου 100 υπολογιστές να βγαίνουν απευθείας +στο Ίντερνετ με NAT, χωρίς proxy. Η λύση ήταν προφανής. + +### [1.2 Η λύση]{#ss1.2} + +Μέσα σε λίγες μέρες, έστησα έναν Linux proxy server και η κατάσταση βελτιώθηκε αισθητά. Με τον καιρό, αυξήθηκαν οι απαιτήσεις και δεν είχα παρά να αξιοποιήσω +τον Linux server στο μέγιστο. Χρησιμοποίησα squid access pools, active directory authentication integration, QoS με tc και παραγωγή στατιστικών για σχεδόν +οτιδήποτε είναι δυνατόν να μετρηθεί. Μετά από ένα χρόνο, το όλο εγχείρημα έχει φτάσει σε ένα ώριμο στάδιο, οπότε θεώρησα χρήσιμο να καταγράψω όλες τις κινήσεις +μου, μέσω του [magaz](http://magaz.hellug.gr), ώστε να βοηθήσω όσους περισσότερο μπορώ. + +### [1.3 Τι θα ακολουθήσει;]{#ss1.3} + +Βασικά, αυτό που θα ακολουθήσει είναι \"Τι μπορούμε να κάνουμε με ένα proxy server\". Δεν είναι πρωτότυπο σαν άρθρο, υπάρχουν παρόμοιοι οδηγοί παντού στο +Ίντερνετ, στα αγγλικά. Ελπίζω όμως να παρέχω στον Έλληνα αναγνώστη την δυνατότητα να τα βρει όλα μαζεμένα σε μια γωνιά του Ίντερνετ, αλλά επίσης φιλοδοξώ και να +εξηγήσω τον τρόπο σκέψης που θα πρέπει να έχει ένας διαχειριστή που ξέρει μεν τι να κάνει, αλλά δεν ξέρει το πως. + +### [1.4 Τι ΔΕΝ θα ακολουθήσει;]{#ss1.4} + +Αυτή η σειρά των άρθρων δεν πρόκειται σε καμία περίπτωση να καλύψει τον κάθε τρόπο που μπορεί να γίνει μια οποιαδήποτε εργασία. Υπάρχουν πραγματικά αμέτρητοι +τρόποι και αμέτρητοι συνδυασμοί προγραμμάτων, ρυθμίσεων και τοπολογίας δικτύου, για να επιτύχετε αυτό που θέλετε. Εγώ θα παραθέσω αυτά που έκανα, και τα +αποτελέσματά τους. Είναι σίγουρο ότι μπορούν να γίνουν με διαφορετικό τρόπο, ευκολότερα ή δυσκολότερα.\ +Επίσης, το άρθρο αυτό παίρνει ως δεδομένο ότι έχετε καλή γνώση του δικτύου σας, όπως επίσης και καλή γνώση διαχείρισης του Linux. + +### [1.5 \"Δεν μου δουλεύει όσο καλά λες ότι λειτουργεί\"]{#ss1.5} + +Δυστυχώς, αυτό είναι το μόνο σίγουρο. Το όλο εγχείρημα είναι αρκετά περίπλοκο και χρειάζεται αρκετό παιχνίδι και χρόνο εκ μέρους σας, για να φτάσει στο καλύτερο +δυνατό αποτέλεσμα. Ο λόγος που θα εξηγήσω τόσο λεπτομερώς τι έκανα και γιατί, είναι και για να σας δείξει πως μπορείτε να πειραματιστείτε μόνοι σας. + +. + + +### [2. Το δίκτυο]{#s2} + +### [2.1 Σχηματική παράσταση του δικτύου.]{#ss2.1} + +![](/33/img/net.gif) + +Το παραπάνω σχεδιάγραμμα αντιπροσωπεύει ένα τυπικό δίκτυο, πάνω στο οποίο θα εφαρμόσω όλες τις τεχνικές. + +### [2.2 Ανάλυση του δικτύου]{#ss2.2} + +PC1, PC2, PC3 και PC4: Αυτοί είναι κάποιοι σταθμοί εργασίας του δικτύου μας. Οι μετρήσεις μας θα γίνουν από αυτούς. Στο δικό μου δίκτυο είναι περίπου 120 οι +υπολογιστές.\ +WEB SERVER: Είναι ένας server με πραγματική διεύθυνση στο Internet, που σερβίρει τις σελίδες της εταιρείας.\ +MAIL SERVER: Είναι άλλος ένας server με πραγματική διεύθυνση στο Internet, που ασχολείται με όλα τα εισερχόμενα και εξερχόμενα e-mails της εταιρείας.\ +ΕΞΩΤΕΡΙΚΟΣ ROUTER: Μια δικτυακή συσκευή που συνδέει το εσωτερικό μας δίκτυο με το Internet μέσω μιας μισθωμένης γραμμής. Κάνει NAT και εκτελεί και χρέη +firewall. Στο δίκτυο μου είναι ένας Cisco router.\ +INTERNET: Στο δικό μου δίκτυο, η γραμμή σύνδεσης με το Internet είναι 256kbit. Βασικά, δεν έχει καμία σημασία αν έχετε μικρότερη ή μεγαλύτερη ταχύτητα από +αυτήν. Η ανάγκη των τεχνικών που αναφέρω εφαρμόζονται καλύτερα ανάλογα με το πόσοι υπολογιστές θα μοιραστούν την ταχύτητα. Όσοι περισσότεροι υπολογιστές, τόσο +μεγαλύτερη η ανάγκη για εξοικονόμηση bandwidth, είτε πρόκειται για σύνδεση 33.6kbit, είτε για 1mbit.\ +PROXY SERVER: Ο proxy server του δικτύου μας, με τον οποίο θα ασχοληθούμε. Προσέξτε ότι έχει δύο κάρτες δικτύου, μία για κάθε δίκτυο που συνδέεται. + +### [2.3 Κοινές παραλλαγές του δικτύου]{#ss2.3} + +Η πιο κοινή διαφορά του δικτύου αυτού με άλλα μικρότερα, είναι ο router. Πολλά δίκτυα έχουν ήδη έναν Linux server που κάνει το dialup στο Internet με ISDN. Δεν +έχει καμία απολύτως σημασία σε αυτά τα άρθρα, έχει όμως σημασία το θέμα της ασφάλειας, επειδή ο Linux server είναι αυτός που θα κάνει το NAT και το firewall. Η +εγκατάσταση αυτών δεν αφορά αυτό το άρθρο, θεωρώ ότι υπάρχουν ήδη. + + +### [3. Proxy server]{#s3} + +### [3.1 Τι είναι ο proxy server;]{#ss3.1} + +Proxy server ονομάζουμε οποιοδήποτε πρόγραμμα ή υπολογιστή λειτουργεί ως ενδιάμεσος για οποιαδήποτε σύνδεση δικτύου θέλουμε να κάνουμε. Ας πούμε για παράδειγμα +ότι και οι τέσσερις υπολογιστές θέλουν να συνδεθούν στην σελίδα . Χωρίς proxy, η σελίδα αυτή θα ζητηθεί από το Ίντερνετ 4 φορές. Αν +χρησιμοποιούμε proxy, η σελίδα θα ζητηθεί μια φορά, και ο proxy θα αναλάβει να κρατήσει ένα αντίγραφο στην μνήμη ή τον δίσκο του. Μετέπειτα, όποιος ζητάει την +συγκεκριμένη σελίδα, o proxy δεν χρειάζεται να την ξαναζητήσει από το internet, εξοικονομώντας έτσι bandwidth για άλλες δουλειές. + +### [3.2 Σε τι μηχάνημα;]{#ss3.2} + +Όσοι έχουν ασχοληθεί με διαχείριση Linux και Windows 2000, γνωρίζουν από πρώτο χέρι, ότι το Linux είναι πιο ελαφρύ λειτουργικό σύστημα από τα Windows. Για αυτό, +υπάρχει μια τάση να εγκαθιστούμε το Linux σε απαρχαιωμένο hardware, για λόγους οικονομίας. Η αλήθεια είναι ότι δουλεύει, και δουλεύει καλά. Υπάρχει όμως ένα +μειονέκτημα που πρέπει να λάβετε υπόψιν. Το latency. + +### [3.3 Τι είναι το latency;]{#ss3.3} + +Αφότου χρησιμοποιήσετε ένα proxy server σε ένα δίκτυο μαζί με τεχνικές QoS που θα αναλύσω σε επόμενα άρθρα, να γνωρίζετε ότι αυτομάτως θα χαθεί η \"σπιρτάδα\" +του Internet. Οι συνδέσεις σε άλλους server αντί να γίνονται αστραπιαία, μπορεί να γίνονται πλέον σε ένα δευτερόλεπτο. Οι σελίδες του Internet θα αρχίσουν να +κατεβαίνουν με μεγαλύτερη αρχική καθυστέρηση αρκετών millisecond, αλλά σε τελική ταχύτητα θα είναι σίγουρα πιο γρήγορες από το να μην χρησιμοποιείτε καθόλου +proxy server. + +Στην περίπτωση του QoS, αν δεν είναι καλο-ρυθμισμένο, αυτό το φαινόμενο μπορεί να ενταθεί σε μεγάλο βαθμό, διότι, ανάλογα με τους κανόνες που θα εφαρμόσουμε, +δίνουμε στον proxy server το δικαίωμα να σταματά κάθε πακέτο που περνά από μέσα του, να το κοιτάει, να συμβουλεύεται του κανόνες που θα του έχετε βάλει, να +κατηγοριοποιεί το πακέτο ανάλογα με την σπουδαιότητά του, και μετά να επεξεργάζεται όλα τα πακέτα που έχει στην ουρά, αρχίζοντας από τα σημαντικότερα. + +Στην περίπτωση του squid, όταν ζητάμε μια σελίδα, πρώτα ελέγχει την βάση του στην μνήμη αν έχει αυτή την σελίδα. Αν την έχει, θα πρέπει να ψάξει τον δίσκο του, +ανάμεσα σε χιλιάδες άλλες. Μετά, θα πρέπει να διαπιστώσει αν το αντίγραφο που έχει είναι ξεπερασμένο. Σε αυτή την περίπτωση, θα πρέπει να κάνει νέο αντίγραφο. +Αν διαπιστώσει ότι δεν έχει χώρο, πρέπει βρει ποια είναι η σελίδα που έχει πιο πολύ καιρό να ζητηθεί, να την σβήσει και μετά να αφήσει εκεί ένα νέο αντίγραφο +της σελίδας που θέλει, στέλνοντας (ΕΠΙΤΕΛΟΥΣ!!!) την σελίδα σε αυτόν που την ζήτησε. + +Η όλη διαδικασία, μπορεί να διαρκέσει μερικές φορές ακόμα και μερικά δευτερόλεπτα, στην χειρότερη περίπτωση. Αυτό το φαινόμενο όμως, είναι δυνατό να +ελαχιστοποιηθεί με ένα καλό και γρήγορο μηχάνημα, με γρήγορους δίσκους, και αρκετή μνήμη. Η χρήση RAID0 είναι συνηθισμένη, σε περιπτώσεις που θέλουμε να έχουμε +το καλύτερο δυνατό αποτέλεσμα. Επίσης, είναι καλό να μην τρέχει τίποτα άλλο, ώστε να μην τον απασχολούμε με περιττές εργασίες. + +Τέλος, προτείνω το μηχάνημα να είναι εξοπλισμένο με δύο καλές και επώνυμες κάρτες δικτύου. Η διαφορά τιμής μιας καλής κάρτας δικτύου από μια παλιά ή και ανώνυμη +είναι γελοία. + +### [3.4 Ποιον proxy server;]{#ss3.4} + +Υπάρχει πραγματικά μεγάλη πληθώρα proxy server στο Ίντερνετ, με τον καθένα από αυτούς να υποστηρίζει περισσότερα ή λιγότερα πρωτόκολλα και δυνατότητες. Μετά από +έρευνα, κατέληξα στον [squid](http://www.squid-cache.org/). Είναι ο πιο διαδεδομένος, είναι GPLed, υπάρχει εδώ και πολλά χρόνια, είναι σταθερός, υποστηρίζεται +από πληθώρα εφαρμογών και υποστηρίζει τις περισσότερες λειτουργίες από αυτές που μας ενδιαφέρουν. + + +### [4. Διαδικασία]{#s4} + +### [4.1 Download του squid]{#ss4.1} + +Μπορείτε να κατεβάσετε τον squid από εδώ την τελευταία stable έκδοση. + +**Σημείωση: ΠΡΕΠΕΙ να το κατεβάσετε και να το κάνετε compile, διότι μια δυνατότητα που θα χρησιμοποιήσουμε (delay pools) είναι απενεργοποιημένη από default στα +διάφορα pre-compiled binaries που περιλαμβάνονται ήδη στις διάφορες διανομές.** + +### [4.2 Μεταγλώττιση]{#ss4.2} + +Αφού το κατεβάσετε και το αποσυμπιέσετε σε ένα προσωρινό φάκελο, κάντε compile με τις εξής εντολές: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + ./configure --enable-delay-pools + make + make install + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +### [4.3 Ρύθμιση του squid]{#ss4.3} + +Ας σιγουρευτούμε καταρχήν ότι δουλεύει. Ξεκινήστε τον, με την εντολή: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + /usr/local/squid/bin/squid -z + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Η παραπάνω εντολή δημιουργεί την cache του. Χρειάζεται να χρησιμοποιηθεί μόνο την πρώτη φορά που θα τρέξετε το squid ή αν για οποιοδήποτε λόγο θέλετε να +μηδενίσετε την υπάρχουσα cache. + +Τώρα μπορούμε να τον τρέξουμε κανονικά με την εντολή: + +/usr/local/squid/bin/squid + +### [4.4 Η πρώτη δοκιμή]{#ss4.4} + +Ρυθμίστε τον browser από κάποιον υπολογιστή μέσα στο δίκτυο να χρησιμοποιεί ως proxy την IP διεύθυνση του proxy, με την πόρτα 3128. Δοκιμάστε να επισκεφτείτε +οποιαδήποτε σελίδα. Αν δείτε το μήνυμα \"Access Denied\", τότε είστε σε καλό δρόμο. Το μήνυμα αυτό σημαίνει ότι ο squid δεν είναι ρυθμισμένος να απαντάει σε +ερωτήματα από IP που δεν γνωρίζει. Για λόγους ασφαλείας, αυτό είναι καλό. Ας το ρυθμίσουμε και αυτό. Βάλτε τις παρακάτω παραμέτρους στο αρχείο ρυθμίσεων του +squid(/usr/local/squid/etc/squid.conf): + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + acl localnet src_ip 10.0.0.0/8 + http_access allow localnet + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**Σημαντικό: Ψάξτε το αρχείο και βάλτε την πρώτη ρύθμιση μαζί με τις ήδη υπάρχουσες. Δεν θα δημιουργηθεί πρόβλημα αν δεν το κάνετε, αλλά αν πάτε κάποτε να +κάνετε αλλαγές, θα χάσετε τον μπούσουλα.\ +Την δεύτερη ρύθμιση ΠΡΕΠΕΙ να την βάλετε ΠΡΙΝ από την υπάρχουσα παράμετρο: \"http\_access deny all\". Αν δεν το κάνετε, δεν θα μετρήσει καθόλου.** + +Κάντε reload το squid, με την εντολή: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + /usr/local/squid/bin/squid -k reconfigure + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Με αυτή την εντολή, λέμε στο squid να ξαναδιαβάσει το αρχείο ρυθμίσεών του. + +Δοκιμάστε πάλι να δείτε κάποια από την σελίδα του browser σας. Αν όλα πάνε καλά, είστε έτοιμοι για παρακάτω. + + +### [5. ΠΡΑΓΜΑΤΙΚΗ ρύθμιση του squid]{#s5} + +Αν θέλουμε απλά να παίξει, είναι εύκολο. Αν θέλουμε όμως να παίξει καλά, θα πρέπει να ρυθμίσουμε πολλά πράγματα. Κάθε παράμετρος εξηγείται σαφέστατα μέσα στο +αρχείο ρυθμίσεων. Δεν έχετε παρά να διαβάσετε τα σχόλια που προηγούνται κάθε παραμέτρου και να κάνετε δοκιμές. Επίσης, στην σελίδα του squid μπορείτε να βρείτε +το πλήρες manual του. Δυστυχώς όμως, μερικά πράγματα είναι θέματα εμπειρίας. Παρακάτω θα κοιτάξουμε μερικές από τις πιο σημαντικές ρυθμίσεις που μπορούμε να +κάνουμε. + +**http\_port IP:PORT**\ +Όπου IP, βάζουμε την εσωτερική διεύθυνση του proxy server. Όπου PORT, βάζουμε την πόρτα όπου θα δέχεται αιτήσεις. Π.χ: **http\_port 10.0.0.1:3128**. Μπορείτε να +παραλείψετε την δήλωση του IP και έτσι ο squid θα ακούει σε όλες τις διευθύνσεις του server. Για λόγους ασφαλείας, δεν προτείνεται. + +**icp\_port**\ +Ρύθμιση της πόρτας που ακούει το squid για επικοινωνία με άλλους proxy servers. To 0 το απενεργοποιεί. Απενεργοποιήστε το για να ελαφρύνετε το σύστημα. + +**cache\_dir**\ +Αυτή η παράμετρος ρυθμίζει το που θα αποθηκεύεται η cache του proxy. Π.χ: **cache\_dir ufs /usr/local/squid/cache 1000 16 256**\ +ufs: Τύπος της cache. \"ufs\" είναι το πιο stable, αφήστε το έτσι, καλύτερα.\ +/usr/local/squid/cache: Φάκελος που βρίσκεται η cache. Το καλύτερο είναι να βρίσκεται σε διαφορετικό δίσκο. Αν όχι, βάλτε το τουλάχιστον σε διαφορετική +κατάτμηση. Αν πάλι δεν μπορείτε, αφήστε το όπως είναι.\ +1000: Μέγεθος της cache, σε Megabytes. Αυτή η τιμή είναι καθαρά θέμα εμπειρίας. Κάθε administrator έχει την προσωπική του άποψη για το πόσο πρέπει να είναι. Εγώ +το υπολογίζω με τον εξής εμπειρικό τύπο: **συνολικό bandwidth ΕΠΙ αναμενόμενος χρόνος χρήσης ανά ημέρα**. Π.χ., αν το bandwidth μου είναι 256kbit ανά +δευτερόλεπτο, και η αναμενόμενη χρήση της γραμμής γίνεται για 8 ώρες την ημέρα, τότε έχουμε 921 Mbytes για αυτή την cache, για αυτή τη χρήση.\ +**ΣΗΜΕΙΩΣΗ: Αν για οποιοδήποτε λόγο αλλάξετε αυτήν την τιμή, π.χ. να την κάνετε μικρότερη για οικονομία χώρου, ΔΕΝ ΧΡΕΙΑΖΕΤΑΙ ΝΑ ΣΒΗΣΕΤΕ ΤΙΠΟΤΑ ΑΠΟ ΤΗΝ CACHE ΜΕ +ΤΟ ΧΕΡΙ (ναι, το έχω δει και αυτό). Σιγά σιγά μόνο του το squid θα την προσαρμόσει στα μέτρα που του ορίσατε.**\ +Οι υπόλοιπες παράμετροι ρυθμίζουν κάποια πράγματα για την cache, με τα οποία δεν θεωρώ σημαντικό να ασχοληθούμε. Μην τα αλλάξετε, εκτός αν ξέρετε τι κάνετε. + +**ftp\_user squid\@server.com**\ +Αυτή η παράμετρος δηλώνει το e-mail που θα δίνει το squid στους ftp servers που συνδέεται με anonymous login. Δεν έχει καμία σημασία τι θα βάλετε εδώ, αρκεί να +μοιάζει με πραγματική e-mail διεύθυνση. Η προεπιλογή του squid δεν παίζει με μερικούς ftp server που κοιτάζουν αν η e-mail διεύθυνση αυτή μοιάζει πραγματική. +Πλέον αυτό το πρόβλημα δεν φαίνεται να υπάρχει, αλλά καλύτερα να φυλάμε τα ρούχα μας. + +**shutdown\_lifetime 5 seconds**\ +Είναι το περιθώριο που θα δώσουμε στις σελίδες που ήδη κατεβαίνουν, να τελειώσουν, αφότου δώσουμε εντολή τερματισμού στο squid. Καταντά ενοχλητικό, κατά την +γνώμη μου, να περιμένεις πάνω από μερικά δευτερόλεπτα, ακόμα και αν αυτό σημαίνει ότι θα διακόψουμε κάποιους χρήστες. Ένα shutdown, γίνεται για σημαντικό λόγο +μόνο και είναι πιο σημαντικό να τελειώσει το συντομότερο δυνατόν. Βάλτε ότι πιστεύετε. + +**acl ACLNAME TYPE PARAMETERS**\ +Οι access lists είναι αυτές που δίνουν στο squid την δυνατότητα να κατηγοριοποιεί είτε τις αιτήσεις που δέχεται, είτε τις σελίδες που τραβάει. Θα τις +χρειαστείτε αρκετές φορές στην διάρκεια των άρθρων αυτών. Η συνταξή τους είναι αρκετά απλή. Ας πάρουμε τις ρυθμίσεις που βάλαμε πριν, για να αφήσουμε το squid +να δεχτεί τις αιτήσεις μας, για την πρώτη μας δοκιμή:\ +**acl localnet src\_ip 10.0.0.0/8**\ +**acl all src\_ip 0.0.0.0/0**\ +**http\_access allow localnet**\ +**http\_access deny all** Οι access lists χωρίζονται σε δύο κατηγορίες. Η πρώτη κατηγορία περιλαμβάνει το \"τι θα πιάνει\". Η δεύτερη κατηγορία, δηλώνει το \"τι +θα κάνει αυτό που πιάνει\".\ +H πρώτη γραμμή δηλώνει ότι υπάρχει μια ομάδα υπολογιστών που ονομάζεται all. Στην αυτήν την ομάδα συμπεριλαμβάνεται οποιαδήποτε IP.\ +Η δεύτερη γραμμή δηλώνει ότι υπάρχει μια ομάδα υπολογιστών που ονομάζεται \"localnet\". Σε αυτήν την ομάδα ανήκουν όλοι όσοι είναι στο subnet 10.0.0.0/8. Οι δύο +τελευταίες γραμμές, κάνουν το εξής: Λένε ότι επιτρέπεται να έχουν πρόσβαση σε σελίδες όσοι ανήκουν στο γκρουπ \"localnet\", δηλαδή όλοι οι υπολογιστές στο +δίκτυό μας. Η επόμενη γραμμή απαγορεύει την πρόσβαση σε οποιονδήποτε υπολογιστή.\ +Ο έλεγχος αυτών των παραμέτρων από το squid γίνεται από πάνω προς τα κάτω, και δεν κοιτάει παρακάτω αν βρει μια που ταιριάζει στο αίτημα που δέχτηκε. Οπότε, αν +ένας υπολογιστής του δικτύου μας ζητήσει μια σελίδα, θα \"πιαστεί\" από τον πρώτο κανόνα, θα γίνει δεκτό το αίτημα του και δεν θα προχωρήσει παραπέρα.\ +Αν όμως κάποιος υπολογιστής που δεν είναι στο δίκτυό μας ζητήσει μια σελίδα από το squid, τότε δεν θα πιαστεί παρά μόνο από τον τελευταίο μας κανόνα. Άρα, θα +απορριφθεί.\ +Οι access lists παρέχουν μεγάλη δύναμη ελέγχου στο squid και επίσης μπορούν να σας προκαλέσουν αρκετά προβλήματα αν δεν τις ρυθμίσετε σωστά.\ +Υπάρχουν πραγματικά πάρα πολλοί τρόποι για να ρυθμίσετε ποίος δεν θα βλέπει τι. Το squid έχει access lists για να απαγορεύει σελίδες ανάλογα με το όνομα του +υπολογιστή που τις ζήτησε, ανάλογα από που τις ζήτησε, ή ακόμα και αν έχει συγκεκριμένες λέξεις μέσα στο url. Π.χ, θα μπορούσαμε να απαγορεύσουμε σελίδες που +έχουν την λέξη \"porn\" μέσα στο URL τους. Για περισσότερες πληροφορίες, δείτε τις εξηγήσεις μέσα στο αρχείο ρυθμίσεων του squid, ακριβώς εκεί που αρχίζει η +πρώτη access list. + +**cache\_mgr webmaster**\ +Δηλώνει το e-mail του υπεύθυνου αυτού του proxy server. Θα εμφανίζεται σε κάθε σελίδα του squid που δηλώνει ότι υπάρχει κάποιο πρόβλημα. Βάλτε εδώ την διεύθυνσή +σας. Π.χ. netadmin\@server.com. + +**forwarded\_for off**\ +Αυτή η παράμετρος ρυθμίζει το αν θα συμπεριλαμβάνει το squid την διεύθυνση του client που ζήτησε την σελίδα, στον server από τον οποίο θα την ζητήσει. +Απενεργοποιήστε το καλύτερα. + + +### [6. Επίλογος]{#s6} + +### [6.1 Ανασκόπηση]{#ss6.1} + +Είπαμε βασικά πράγματα, όπως το τι είναι ένας proxy server και που χρειάζεται. Είπαμε για τις επιπτώσεις που θα έχει το δίκτυό μας, καλές και κακές.\ +Είπαμε πόσο εύκολο είναι να τον εγκαταστήσουμε, και πόσο δύσκολο είναι να ρυθμίσουμε τα πάντα όπως πρέπει για να δουλεύει τέλεια. Είπαμε ότι αν δεν παίξετε λίγο +με τις ρυθμίσεις, τότε πιθανότατα δεν θα παίξει με το μέγιστο των δυνατοτήτων του. + +### [6.2 Τι θα ακολουθήσει;]{#ss6.2} + +Στο επόμενο άρθρο θα ασχοληθούμε με πιο ενδιαφέροντα πράγματα, όπως το τι προγράμματα μπορούμε να χρησιμοποιήσουμε για να φτιάξουμε στατιστικά που θα μας +δείχνουν πόσο αποδοτικά λειτουργεί ο proxy server μας, αναφορές για το που πηγαίνουν οι χρήστες μας, περιορισμός ταχύτητας ανά χρήστη, έλεγχος πρόσβασης στον +proxy με την βοήθεια Windows NT domain ή Windows 2000 active directory, εξαναγκασμός χρήσης του proxy σε ένα δίκτυο, ακόμα και αν δεν το έχουν δηλώσει οι +χρήστες τους στον browser τους μέσω του transparent proxy.\ +Επίσης, θα δημοσιεύσω και μερικές access lists που θα περιορίζουν σημαντικά τα διαφημιστικά banner σε Ελλάδα και εξωτερικό, όπως επίσης και σελίδες με diff --git a/content/articles/33/04_mobile.md b/content/articles/33/04_mobile.md new file mode 100644 index 0000000..399980a --- /dev/null +++ b/content/articles/33/04_mobile.md @@ -0,0 +1,431 @@ ++++ +title = 'Επικοινωνία κινητού - υπολογιστή στο Linux' +date = '2003-06-01T00:00:00Z' +description = '' +author = 'Σιδηρόπουλος Αθανάσιος' +issue = ['Magaz 33'] +issue_weight = 4 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Εισαγωγή.** +----------------------------------------- + +**2. Εν αρχή είναι η σύνδεση.** +-------------------------------------------------------- + +**3. Επικοινωνία κινητού - υπολογιστή.** +----------------------------------------------------------------- + +- [3.1 Η ζωή με το kandy.](#ss3.1) +- [3.2 Η ζωή με το gsmlib.](#ss3.2) + +**4. Επίλογος** +---------------------------------------- + + +### [1. Εισαγωγή.]{#s1} + +Όλοι ξέρουμε ότι το Linux είναι ένα καταπληκτικό λειτουργικό σύστημα που εξελίσσεται ραγδαία, καταφέρνοντας πρώτο αυτό που κανένα UNIX δεν έχει καταφέρει: να +γίνει προσιτό και να καλύψει τις ανάγκες του απλού χρήστη. Σε αυτό συνέβαλαν τα γραφικά περιβάλλοντα KDE και GNOME και μια πλειάδα εφαρμογών από επεξεργαστές +κειμένου, λογιστικά φύλλα, προγράμματα παρουσιάσεων και ένα σωρό άλλα που κάνουν την ζωή μας με τον υπολογιστή ευκολότερη κάθε μέρα, ειδικά γι αυτούς που δεν +είναι συνηθισμένοι στην γραμμή εντολών. + +Μπορούμε να γράψουμε τα κείμενά μας σε επεξεργαστές WYSIWYG, να ετοιμάσουμε τις παρουσιάσεις για την δουλειά μας να υπολογίσουμε χίλια δυο πράγματα σε ένα +λογιστικό φύλο να δούμε τις φωτογραφίες μας και να ακούσουμε τα mp3 μας με την ίδια ευκολία ή ακόμα και περισσότερη κάποιες φορές από ότι άλλοι άνθρωποι μπορούν +να κάνουν χρησιμοποιώντας τα windows. + +Όμως, καλά όλα αυτά, Αλλά\... + +Αν θέλω να δημιουργήσω ένα αρχείο στον υπολογιστή μου με τα sms που μου έστειλε η κοπέλα μου; Αν θέλω να δημιουργήσω ένα άλλο αρχείο με τα sms κάποιων φίλων +μου; Θα κάθομαι και θα πληκτρολογώ ότι μου έχουν στείλει στον υπολογιστή μου; Και αν θέλω να απαντήσω ταυτόχρονα αυτά τα sms; Μήπως μετά πρέπει να παιδευτώ με +το πληκτρολόγιο του κινητού μου για να γράψω την απάντηση; Και αν θέλω να αλλάξω όλα τα νούμερα που έχω στο κινητό μου επειδή πάλη άλλαξε ο τρόπος κλίσης; (πχ. +από 093 έγινε 693). Η ακόμα χειρότερα να συγχρονίσω τον τηλεφωνικό κατάλογο του κινητού με τα περιεχόμενα ενός αντίστοιχου που διατηρώ στον υπολογιστή. Σε αυτό +το άρθρο θα δούμε πως μπορούν να γίνουν όλα τα παραπάνω, χωρίς να χαλάσουμε το uptime του Linux. + +Ναι, το Linux έχει την δυνατότητα να κάνει και αυτά τα κόλπα και ίσως και καλύτερα από ότι τα windows. Ανάλογα βέβαια και με την \"ποιότητα\" της σχετικής +εφαρμογής που μας παρέχετε. Αν και είναι ακόμα αρκετά νωρίς και δεν είναι αρκετά εξελιγμένα τα αντίστοιχα GUI και μη προγράμματα η ωρίμανση και σε αυτό το +σημείο δεν είναι τόσο μακριά. + +Άλλα αρκετά με τα εισαγωγικά. Ας πάμε στο ζουμί. + + +### [2. Εν αρχή είναι η σύνδεση.]{#s2} + +Το πρώτο πράγμα που πρέπει να καταφέρουμε για να κάνουμε όλα αυτά τα ωραία κολπάκια είναι να επιτύχουμε σύνδεση μεταξύ του προσωπικού μας υπολογιστή και του +κινητού. Αυτή μπορεί να είναι ενσύρματη (RS 232, σειριακή θύρα) είτε ασύρματη (μέσω υπέρυθρων). + +Να σημειώσουμε εδώ μια αρκετά σημαντική λεπτομέρεια. Η όλη διαδικασία δεν διαφέρει και πολύ από την σύνδεση υπολογιστή με modem. Τα περισσότερα, αν όχι όλα, +σημερινά κινητά άλλωστε ενσωματώνουν modem και απαντούν σε AT εντολές. Απλώς, έχουν μερικές ακόμη AT εντολές για να διαχειριστούν τον τηλεφωνικό κατάλογο τα sms +και άλλα. + +Στην δική μου περίπτωση έπρεπε να ακολουθήσω τον μακρύ και δύσκολο δρόμο των υπερύθρων καθότι δεν διέθετα καλώδιο που να συνδέει το κινητό μου με τον +υπολογιστή. Και ευτυχώς ο φορητός μου διέθετε υπέρυθρες (γιατί δεν διαθέτει σειριακή) γιατί δεν ήθελα να ασχοληθώ με το ψάξιμο ενός δέκτη υπερύθρων για τον +σταθερό μου υπολογιστή. + +Ας δούμε πως γίνεται. + +Καταρχάς, πρέπει να πούμε στο Linux ότι υπάρχει θύρα υπερύθρων ώστε να \"ακούει\" και εκεί, όπως κάνει με τη σειριακή. Επειδή η διανομή μου (SuSE 7.2 τότε) έχει +ετοιμάσει τα απαραίτητα για να φορτωθούν τα modules που είναι απαραίτητα για να αναγνωριστεί η υπέρυθρη θύρα, το μόνο που χρειάστηκα να κάνω είναι ένα rcirda +start. Μετά έπρεπε να βάλω το κινητό μου να βλέπει το \"ματάκι\" των υπερύθρων στο φορητό και να ενεργοποιήσω την θύρα του κινητού από το menu. Εκτελώντας από +πριν το irdump σε ένα xterm έβλεπα αμέσως να εμφανίζεται το κινητό μου. Η σύνδεση είχε επιτευχθεί. Έμενε να αξιοποιηθεί πλέον από το απαραίτητο λογισμικό. + +Αν δεν μου τα είχε έτοιμα όλα η διανομή μου, θα έπρεπε να έτρωγα κάποιες ώρες (?) διαβάζοντας το σχετικό how to για να βρω ποια είναι τα απαραίτητα modules +(αυτά που αντιστοιχούν στο hardware που διαθέτω) του πυρήνα που έπρεπε να φορτώσω (irtty & irda τουλάχιστον στην δικιά μου περίπτωση) και να ασχοληθώ με εντολές +όπως η irattach για να \"συνδέσω\" την θύρα με ένα οδηγό συσκευής. Όχι πολύ δύσκολα πράγματα δηλαδή. + + +### [3. Επικοινωνία κινητού - υπολογιστή.]{#s3} + +Προγράμματα τα οποία να μπορούν να επικοινωνούν με το κινητό τηλέφωνο για να κάνουν την δουλειά που θέλουμε στο Linux γνωρίζω (έχω χρησιμοποιήσει / δοκιμάσει) +δύο. + +Το ένα είναι μέρος του KDE, συγκεκριμένα του πακέτου pim και ονομάζεται kandy. Δυστυχώς είναι ακόμα αρκετά ανώριμο και μόλις πρόσφατα φαίνεται να το ξαναπιάσανε +για να το εξελίξουν περαιτέρω. Ακόμα κι έτσι όμως, είναι πανεύκολο στην χρήση και θα χαρώ πολύ να το δω να βελτιώνεται. Αποτελείται από δύο καρτέλες. Η μία +είναι η καρτέλα από όπου μπορείς να ελέγξεις τις διάφορες λειτουργίες που σου παρέχει το πρόγραμμα (μεταφορά τηλεφωνικού καταλόγου από το κινητό καθώς και +συγχρονισμός με τα στοιχεία που υπάρχουν στο pim). Η δεύτερη σου δίνει πλήρη πρόσβαση στις λειτουργίες του κινητού μέσω των εντολών AT και σου δίνει την +δυνατότητα για προγραμματισμό (εν μέρει) του προγράμματος για να ταιριάξει απόλυτα στις συγκεκριμένες ανάγκες του κινητού σου. Βασικός σκοπός του προγράμματος +είναι να διαχειριστεί τον τηλεφωνικό κατάλογο του κινητού τηλεφώνου, μη δίνοντας καμιά σημασία στα μηνύματα sms. + +Το άλλο είναι βασικά μία συλλογή από προγράμματά που μπορεί να διαχειριστεί πλήρως τον τηλεφωνικό κατάλογο του τηλεφώνου καθώς και τα μηνύματα sms που υπάρχουν +στην κάρτα sim. Το \"πρόβλημα\" του είναι ότι δεν έχει GUI. Για τους λάτρεις του είδους αυτό δεν είναι πρόβλημα αλλά για τον μέσο χρήστη ίσως να είναι. Ελπίζω +σύντομα να αναπτυχθεί κάποιο front-end και γι αυτό. + +Το πακέτο αυτό λέγεται gsmlib. Μπορεί κανείς να την βρει στην διεύθυνση www.phx.de/fs/gsmlib/index.html. Την στιγμή που γράφονταν το παρόν άρθρο η έκδοση ήταν +1.10. θα ασχοληθούμε κυρίως με αυτή την συλλογή καθότι είναι αρκετά ώριμη και λειτουργική και θα κάνουμε μια μικρή μόνο αναφορά στο kandy. + +### [3.1 Η ζωή με το kandy.]{#ss3.1} + +Το kandy είναι όπως είπαμε μέρος του πακέτου pim του KDE. Η τρέχουσα έκδοση είναι η 0.3 και έχει αρκετό δρόμο μπροστά του. Βασική του λειτουργία είναι η +διαχείριση του τηλεφωνικού καταλόγου του κινητού μας. Μπορεί να διαβάσει τα περιεχόμενα του (με πολύ δυσκολία και προσπάθεια σε πολλά κινητά) ή τουλάχιστον ένα +μέρος αυτού και να περάσει τα δεδομένα αυτά στο pim. Η επικονωνία με τον χρήστη επιτυγχάνεται χάρη σε δύο καρτέλες. Η κύρια καρτέλα (mobile GUI) αποτελείται από +δύο καταλόγους με τα τηλέφωνα που υπάρχουν, στο KDE address book ο ένας και στο κατάλογο του κινητού τηλεφώνου ο δεύτερος. Κάτω από κάθε ένα υπάρχουν τα κουμπιά +που θα πατήσει κανείς για να διαβάσει τα νούμερα από το κινητό τηλέφωνο ή το KDE address book καθώς και για να γράψει τα τηλέφωνά πίσω όπως τα βλέπει εκείνη την +στιγμή. Στα δεξιά μπορεί κανείς να δει πληροφορίες για το κινητό του τηλέφωνο, όπως το μοντέλο και την έκδοσή του καθώς και το ποσοστό φόρτισης της μπαταρίας.\ +Την δεύτερη καρτέλα μπορεί κανείς να την δει επιλέγοντας show -\> terminal από τα μενού. Από εδώ έχει πρόσβαση στο κινητό του τηλέφωνο σε \"χαμηλό\" επίπεδο. +Μπορεί να δώσει εντολές απευθείας στο κινητό του καθώς και να διορθώσει τις ήδη υπάρχουσες για να καλύψουν τις συγκεκριμένες ιδιαιτερότητες του κινητού του +τηλέφωνο. + +### [3.2 Η ζωή με το gsmlib.]{#ss3.2} + +Το gsmlib είναι μία βιβλιοθήκη που συνοδεύεται από ένα σετ προγραμμάτων για γραμμή εντολής. Αυτά είναι: + +- gsmpb: Πρόγραμμα διαχείρισης καταλόγου. +- gsmsctl: Διαχείριση κινητού τηλεφώνου. (ποικίλες δυνατότητες) +- gsmsmsd: Δαίμονας διαχείρισης μηνυμάτων sms. +- gsmsiectl: Δεν γνωρίζω δεν απαντώ. Μάλλον για low-level \"δουλειές\". +- gsmsendsms: Αποστολή sms σε άλλα κινητά. +- gsmsiexfer: Ούτε για αυτό γνωρίζω τίποτα. +- gsmsmsstore: Πρόγραμμα διαχείρισης sms. + +Με αυτά τα απλά προγραμματάκια είναι δυνατόν κάποιος να διαχειριστεί με πολύ μεγάλη ευκολία τον τηλεφωνικό του κατάλογο καθώς και τα μηνύματα sms που έχει +αποθηκευμένα στο κινητό του. Ας δούμε πως. + +#### Τηλεφωνικός κατάλογος κινητού τηλεφώνου. + +Ας ξεκινήσουμε με τον τηλεφωνικό κατάλογο. Γι αυτόν τον σκοπό θα χρησιμοποιήσουμε το gsmpb. Το συγκεκριμένο πρόγραμμα μπορεί να διαβάσει τον κατάλογο του +κινητού μας αλλά και να γράψει σε αυτόν. Για να διαβάσει τον τηλεφωνικό κατάλογο και να τον αποθηκεύσουμε σε ένα αρχείο στον δίσκο μας δίνουμε την ακόλουθη +εντολή. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + gsmpb -b 19200 -c -d katalogos.txt -i -p MT -s /dev/ircomm0 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Ας δούμε όμως τι σημαίνει αυτό το μακρινάρι. + +**-b 19200** είναι η ταχύτητα με την οποία θα γίνει η επικοινωνία μεταξύ υπολογιστή και κινητού. Δεν είναι απαραίτητο να δοθεί Η προεπιλεγμένη τιμή αν δεν δοθεί +είναι 38400bps. + +**-c** Για να πραγματοποιηθεί η αντιγραφή των περιεχομένων της \"πηγής\" στον \"προορισμό\" που ορίσαμε. + +**-d katalogos.txt** Το αρχείο προορισμού του τηλεφωνικού καταλόγου. Στην συγκεκριμένη περίπτωση είναι το katalogos.txt + +**-i** Για να υπάρχει αύξων αριθμός εγγραφής (ένδειξη θέσης) στο αρχείο που θα δημιουργήσουμε. Αν θέλουμε να γνωρίζουμε ποία ακριβώς θέση στον τηλεφωνικό +κατάλογο έχει το κάθε τηλέφωνο. Αν δεν βάλουμε το -i τότε το αρχείο θα έχει την μορφή \[όνομα \| νούμερο\]. Αν το βάλουμε θα προστεθεί και ο αύξων αριθμός +εγγραφής στην αρχή του κάθε τηλεφώνου. Ο διαχωριστής τον πεδίων είναι το \|. + +**-p MT** Εδώ είναι το ενδιαφέρον μέρος. Καταρχάς όλα τα σημερινά κινητά τηλέφωνα έχουν και δικό τους εσωτερικό τηλεφωνικό κατάλογο και δεν μας αφήνουν στον +περιορισμένο σε αριθμό εγγραφών κατάλογο της κάρτας sim. Τώρα εμείς μπορεί να θέλουμε είτε τον κατάλογό της κάρτας sim, είτε του κινητού τηλεφώνου, είτε και +τους δύο μαζί. Για να διευκρινίσουμε τι θέλουμε, δίνουμε έναν κωδικό δύο γραμμάτων. Έτσι αν θέλουμε τον κατάλογο της κάρτας sim θα δώσουμε -p SM. Αν πάλι +θέλουμε του κινητού τηλεφώνου μόνο δίνουμε -p ME. Στην περίπτωση που δώσουμε -p MT θα πάρουμε τον κατάλογο και του τηλεφώνου (πρώτα) και της κάρτας sim (αμέσως +μετά και ξεκινώντας από τον επόμενο αύξοντα αριθμό εγγραφής αν έχουμε δώσει -i) + +**-s** dev/ircomm0/ Μα φυσικά η \"πηγή\" του τηλεφωνικού μας καταλόγου. Η θύρα πού είναι συνδεδεμένο το κινητό μας τηλέφωνο. Στην συγκεκριμένη περίπτωση στην +πρώτη θύρα υπερύθρων. + +Για να κάνουμε την αντίθετη εργασία, να γράψουμε τα περιεχόμενα ενός αρχείου με ονόματα και τηλέφωνα που πιθανόν να το έχουμε διορθώσει από τον υπολογιστή μας +στο κινητό τηλέφωνο απλώς πρέπει να βάλουμε στην θέση του προορισμού την θύρα που συνδέεται το κινητό και στη θέση της πηγής το αρχείο που θέλουμε να +μεταφέρουμε. Τόσο απλά. + +Ας δούμε όμως μερικές άλλες παραμέτρους που είναι δυνατόν να χρησιμοποιήσουμε με το gsmpb. + +**-I \**\ +**\--init \**\ +Με αυτό μπορούμε να δώσουμε κάποιες εντολές αρχικοποίησης του κινητού μας. Το ποίες θα είναι αυτές, δεν το ξέρω. Ανάλογα τι γνωρίζετε ότι χρειάζεται το κινητό +σας τηλέφωνο αλλά δεν πρόκειται να το πάρει από το πρόγραμμα υπό κανονικές συνθήκες. Μάλλον δεν θα χρειαστείτε αυτή την παράμετρο, αν δεν θέλετε να κάνετε κάτι +\"περίεργο\". + +**-V**\ +**\--verbose**\ +Για να σας δείχνει τι κάνει τόση ώρα που του παίρνει για να τελειώσει την μεταφορά :-) + +**-v**\ +**\--version**\ +Ε, τα γνωστά. Τυπώνει την έκδοση του προγράμματος. + +**-X**\ +**\--xonoff**\ +Για να χρησιμοποιηθεί η μέθοδος XON/XOFF κατά την \"συνομιλία\" μεταξύ υπολογιστή / κινητού. Αν αντιμετωπίζετε δυσκολίες με την συνήθη μέθοδο χρησιμοποιήστε +αυτήν. Αν όχι, καλύτερα με την hardware μέθοδο που είναι η προεπιλογή. + +**-y**\ +**\--sychronize**\ +Αυτή η επιλογή κάνει συγχρονισμό μεταξύ των περιεχομένων \"πηγής\" και \"προορισμού\". Έτσι, αν μια εγγραφή δεν υπάρχει στον \"προορισμό\" θα προστεθεί. Αν μια +εγγραφή βρεθεί στην \"πηγή\" με όνομά που υπάρχει και στον \"προορισμό\", η εγγραφή στον \"προορισμό\" θα αλλαχθεί σύμφωνα με την εγγραφή της \"πηγής\". Εάν +όμως βρεθούν περισσότερες εγγραφές απλά θα προστεθεί μία ακόμα. Επίσης εγγραφές που δεν υπάρχουν στην πηγή θα διαγραφούν. + +**-t \**\ +**\--charset \**\ +Εδώ υπάρχει πολύ ζουμί.\ +Μπορεί κανείς να επιλέξει μία από τις διαθέσιμες στο κινητό του κωδικοσελίδες. Τα δεδομένα που θα μεταφερθούν θα είναι σε αυτήν την κωδικοσελίδα. Έτσι μπορεί +κανείς, με αρκετή προσπάθεια, να καταφέρει να μεταφέρει τα ονόματα του τηλεφωνικού καταλόγου με ελληνικά όπως τα έχει γραμμένα στο τηλέφωνό του. Όμως δυστυχώς η +προεπιλεγμένη GSM alphabet ΔΕΝ υποστηρίζει τα ελληνικά. Άρα\... πειράματα και προσπάθειες πολλές χρειάζονται, μέχρι να γίνει κάτι τέτοιο εφικτό. + +#### Αποστολή λήψη μηνυμάτων sms. + +Ως εδώ είδαμε έναν τρόπο για να διαχειριστούμε τον τηλεφωνικό κατάλογο του κινητού μας τηλεφώνου. Ας δούμε τώρα με ποία προγράμματα θα μεταφέρουμε τα μηνύματα +sms που έχουμε αποθηκευμένα στο κινητό μας. + +Ας ξεκινήσουμε με το gsmsendsms, με το οποίο μπορεί κανείς να στείλει μηνύματα sms σε άλλα κινητά τηλέφωνα. Αυτό γίνεται με την παρακάτω εντολή: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + gsmsendsms -b 19200 -d /dev/ircomm0 <αριθμός τηλεφώνου> <μήνυμα> + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Θα παρατηρήσατε πιστεύω ότι το -b και -d είναι ίδια με το το προηγούμενο παράδειγμα. Αυτό συμβαίνει γιατί είναι μερικές από τις κοινές, μεταξύ των προγραμμάτων +του πακέτου, παραμέτρους. Δεδομένου ότι υπάρχει πιθανότητα να μας καλύπτουν οι προεπιλεγμένες τιμές για αυτές τις παραμέτρους, το μόνο που χρειάζονταν να +δώσουμε είναι ο αριθμός του κινητού στο οποίο θέλουμε να στείλουμε το μήνυμα και το ίδιο, φυσικά, το μήνυμα. + +Να σημειωθεί ότι η παράμετρος -d έχει σαν προεπιλογή προορισμού την θέση /dev/mobilephone οπότε ένα link με το πραγματικό device που χρησιμοποιείτε για την +επικοινωνία με το κινητό τηλέφωνο είναι απαραίτητη. + +Πρέπει να προσέξουμε ιδιαίτερα ένα σημείο. Το χρησιμοποιούμενο αλφάβητο και σε αυτήν την περίπτωση είναι το GSM alphabet (από την μεριά του κινητού) και το +latin 1 (από την μεριά του υπολογιστή). Το πρόγραμμα θεωρεί ότι το μήνυμά μας είναι γραμμένο με βάση την κωδικoσελίδα latin 1. Αν το μήνυμά μας περιέχει +χαρακτήρες που δεν υπάρχουν στην κωδικoσελίδα latin 1 σε αυτό θα αντικατασταθούν από τον GSM delta χαρακτήρα (GSM code 16). + +Υπάρχουν βέβαια και πολλές άλλες παράμετροι με τις οποίες θα μπορούσαμε να παίξουμε κι εδώ για να κάνουμε κάτι πιο περίπλοκο. Αυτές είναι: + +**-c \<ταυτότητα μηνύματος\>**\ +**\--concatenate \<ταυτότητα μηνύματος\>** + +Με αυτήν την παράμετρο μπορούμε να στείλουμε μηνύματα που είναι πολύ μεγαλύτερα από τα συνηθισμένα (160 χαρακτήρες). Το μήνυμά μας χωρίζεται σε μικρότερα με την +ίδια \"ταυτότητα\" και αύξοντα αριθμό μηνύματος. Αν το κινητό που λαμβάνει το μήνυμα μπορεί να χειριστεί αυτού του είδους τα μηνύματα θα το εμφανίσει σαν ενιαίο +μήνυμα. Ειδάλλως, θα το λάβει ως ξεχωριστά μηνύματα. + +**-C \<διεύθυνση υπηρεσίας\>**\ +**\--sca \<διεύθυνση υπηρεσίας\>** + +Ο αριθμός του κέντρου αποστολής sms μέσω του οποίου θέλουμε να αποσταλούν τα sms μας. + +**-r**\ +**\--requeststat** + +Ζητάει αναφορά για το μήνυμα που στείλαμε από το δίκτυο. + +**-t**\ +**\--test** + +Για να δούμε πώς θα φτάσει το μήνυμα μας στον προορισμό του. Μην ξεχνάτε ότι το πρόγραμμα δέχεται σαν κωδικοσελίδα του μηνύματος την latin 1 και την μετατρέπει +σε GSM alphabet για να την στείλει στο κινητό τηλέφωνο. Αν δώσουμε αυτή την παράμετρο στο πρόγραμμά τότε δεν θα στείλει το μήνυμα αλλά θα το μεταφράσει πάλι σε +latin 1 και θα μας δείξει το πώς θα φαινόταν. Οτιδήποτε είναι εκτός των χρησιμοποιούμενων κωδικοσελίδων μετατρέπεται σε ASCII code 172. + +Αφού μάθαμε να στέλνουμε sms ώρα να μάθουμε να τα αποθηκεύουμε κιόλας στον υπολογιστή μας. Αυτό μπορεί να το κάνει το πρόγραμμα gsmsmstore. Βεβαίως μπορεί να +κάνει και την αντίστροφη εργασία. Δηλαδή να αποθηκεύσουμε μηνύματα sms στην κάρτα sim του κινητού μας αν το επιθυμούμε. Αυτό γίνεται με την παρακάτω εντολή: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + gsmsmstore -b 19200 -c -d arxeio.sms -s /dev/ircomm0 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Ας δούμε τι κάνει καθετί: + +Το **-b** φυσικά είναι ίδιο όπως και στα δύο προηγούμενα παραδείγματα. + +**-c** σημαίνει αντέγραψε τα περιεχόμενα της πηγής στον προορισμό. Αν στο τέλος της εντολής δίναμε αριθμούς θα έπαιρνε μόνο τα μηνύματα που αντιστοιχούν σε +αυτές τις θέσεις. Αν, για παράδειγμα, θέλουμε μόνο το 5ο και το 7ο sms από το κινητό μας τηλέφωνο, δεν έχουμε παρά να προσθέσουμε ένα 5 7 στο τέλος. + +**-d arxeio.sms** Ο προορισμός μας. Το αρχείο με τα sms που θέλουμε. + +**-s** dev/ircomm0/ Είναι η \"πηγή\" μας. To device που αντιστοιχεί στη θύρα που έχουμε συνδεδεμένο το κινητό μας τηλέφωνο. + +Ας δούμε τώρα μερικές ακόμα παραμέτρους που μπορούμε να χρησιμοποιήσουμε. + +**-C \<διεύθυνση υπηρεσίας\>**\ +**\--sca \<διεύθυνση υπηρεσίας\>**\ +Τα είπαμε πριν αυτά έτσι δεν είναι; + +**-k**\ +**\--backup** + +Παρόμοιο με το -c με μία διαφορά. Προσθέτει μόνο ότι δεν υπάρχει ήδη στον προορισμό. Με το -c αντιγράφονται όλα τα περιεχόμενα της πηγής στον προορισμό. Κι εδώ, +αν δώσουμε αριθμούς μηνυμάτων θα λάβει υπόψιν του μόνο τις ανάλογες θυρίδες μηνυμάτων. + +**-l**\ +**\--list** + +Επειδή τα μηνύματα στο αρχείο είναι σε μη αναγνώσιμη μορφή, με αυτήν την παράμετρο βλέπουμε στην οθόνη μας σε αναγνώσιμη αυτήν την φορά μορφή και όχι +κωδικοποιημένα. + +**-x**\ +**\--delete** + +Για να διαγράψουμε τα μηνύματα που θέλουμε από τον προορισμό. + +#### Μηνύματα sms με άλλον τρόπο. + +Ας δούμε και έναν άλλο τρόπο να διαχειριστούμε τα μηνύματα sms που λαμβάνουμε. Θα χρησιμοποιήσουμε το gsmsmsd. Τον δαίμονα διαχείρισης sms του πακέτου. Ο πιο +απλός τρόπος λειτουργίας του είναι να περιμένει να έρθει ένα sms στο κινητό μας και να το τυπώσει στην στάνταρ έξοδο. Για να το πετύχουμε αυτό δεν χρειαζόμαστε +να δώσουμε καμιά απολύτως παράμετρο εκτός ίσως από την επιθυμητή ταχύτητα επικοινωνίας καθώς και την συσκευή που αντιστοιχεί στο κινητό μας αν αυτή δεν την +έχουμε κάνει ήδη link στο /dev/mobilephone που είναι η προεπιλογή όπως έχουμε δει για όλα τα προγράμματα του πακέτου. Όμως, αν ας πούμε θέλουμε να λαμβάνουμε +email με τα sms που μας στέλνουνε στο κινητό μας; Τότε; + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + gsmsmsd -d /dev/ircomm0 -b 19200 -a "mail xrisths1" + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Πολλοί από εσάς θα βρείτε πολύ πιο χρήσιμες δουλειές για το gsmsmsd, όπως διαχείριση του server εξ\' αποστάσεως μέσω απλών εντολών στο κινητό τηλέφωνο που έχετε +μονίμως συνδεδεμένο επάνω του. Αφήστε την φαντασία σας να οργιάσει. Χρήσιμη σε μία τέτοια περίπτωση θα φανεί και η δυνατότητα του gsmsmsd να στέλνει μηνύματα +sms και όχι μόνο να λαμβάνει. Όχι ότι δεν θα ήταν δυνατόν κάτι τέτοιο με τα δύο προηγούμενα προγράμματα. Απλώς εδώ γίνεται αυτοματοποιημένα από ένα μόνο +πρόγραμμα. + +Για να δουλέψει όμως το πρόγραμμα είναι απαραίτητο να υπάρχει τουλάχιστον μία κενή θέση αποθήκευσης sms στο κινητό.\ +Ας δούμε εν συντομία τώρα τι άλλες παραμέτρους μπορούμε να δώσουμε στο gsmsmsd. + +**-c \<ταυτότητα\>**\ +**\--concatenate \<ταυτότητα\>** + +Όπως και στο gsmsendsms έτσι κι εδώ με την χρήση αυτού του αριθμού ταυτότητας μπορούμε να στείλουμε μεγάλου μεγέθους sms κομμένα σε πολλά μικρότερα τα οποία αν +το υποστηρίζει το κινητό του παραλήπτη θα ανασυσταθούν σε ένα ενιαίο sms μεγάλου μεγέθους. + +**-D**\ +**\--direct** + +Ενεργοποιεί την απευθείας δρομολόγηση των μηνυμάτων. Επειδή όμως δεν υποστηρίζεται από πολλά κινητά η προεπιλογή είναι να αποθηκεύονται πρώτα τα sms και μετά να +διεκπεραιώνονται. + +**-f**\ +**\--flush** + +Διαβάζει και σβήνει τα περιεχόμενα της θυρίδας αποθήκευσης που δίνουμε με την παράμετρο -store. Τα περιεχόμενα ακολουθούν κανονικά τον δρόμο που θα ακολουθούσε +κάθε νεοεισερχόμενο μήνυμα. Δηλαδή τυπώνονται ή περνούνε στην εντολή που έχουμε δώσει να εκτελείται με την παράμετρο -a (\--action). + +**-r**\ +**-requeststat**\ +Αιτείται αναφοράς κατάστασης από το δίκτυο για το sms που αποστέλλει. + +**-s \<κατάλογος\>**\ +**\--spool \<κατάλογος\>** + +Εδώ είμαστε σε μια αρκετά σημαντική παράμετρο που μπορεί να φανεί ιδιαίτερα χρήσιμη σε μερικούς. Εδώ ορίζουμε έναν κατάλογο που ελέγχεται κάθε 5 δευτερόλεπτα +και που θα τοποθετήσουμε αρχεία με τα sms που θέλουμε να στείλουμε. Η μορφή των αρχείων αυτών είναι απλή. Περιέχουν τον αριθμό που θέλουμε να στείλουμε το sms +και αμέσως μετά το μήνυμα. Δηλαδή 6931234567 Sas omhlei o aftomatos thlefoniths toy ypologisth sas. + +**-t \<Όνομα θυρίδας\>**\ +**\--store \<όνομα θυρίδας\>** + +Εδώ ορίζουμε που θα κοιτάει το πρόγραμμα για εισερχόμενα μηνύματα. Το σύνηθες είναι να κοιτάει στην κάρτα sim (SM). + +#### Έλεγχος λειτουργιών κινητού τηλεφώνου. + +Τέλος θα δούμε πως μπορούμε να παίξουμε με τις λειτουργίες του κινητού μας τηλεφώνου. Για τον σκοπό αυτό θα χρησιμοποιήσουμε το gsmctl. Με το gsmctl μπορούμε +τόσο να δούμε όσο και να ορίσουμε πολλές και διάφορες παραμέτρους του κινητού μας τηλεφώνου. Καλό είναι όμως πρώτον να μελετήσουμε πάρα πολύ καλά το manual του +gsmctl γιατί δεν είναι καθόλου δύσκολο να προξενίσουμε αρκετά μεγάλο πρόβλημα στην λειτουργία του κινητού μας τηλεφώνου. Αν δεν είμαστε σίγουροι για το τι +κάνουμε καλό είναι να το αφήσουμε. + +Να σημειώσουμε ότι πολλές από τις λειτουργίες που είναι δυνατόν να διαχειριστούμε με το gsmctl ενδέχεται να μην υποστηρίζονται από το κινητό μας τηλέφωνο. Σε +αυτήν την περίπτωση παίρνουμε ένα ωραιότατο μήνυμα λάθους και διακόπτεται η προσπάθεια. + +Η σύνταξη της σχετικής εντολής είναι (ανάλογα και με το αν θέλουμε να δούμε η να αλλάξουμε κάτι): + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + gsmctl -d /dev/ircomm0 -b 19200 <πληροφορία που θέλουμε> + gsmctl -d /dev/ircomm0 -b 19200 -o <παράμετρος που πειράζουμε> + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Με την πρώτη μορφή ρωτάμε το κινητό μας για διάφορες πληροφορίες που μπορεί να μας δώσει. Αυτές είναι: + +**ALL** Όλες οι δυνατές πληροφορίες που μπορεί να μας δώσει. + +**BATT** Κατάσταση μπαταρίας και επίπεδο φόρτισης. + +**BITERR** Δίνει μία ένδειξη για τον ρυθμό λαθών που παρουσιάζει το σήμα. + +**CLIP** Δείχνει αν είναι ενεργή ή όχι η αποστολή αριθμού κλίσης από το δίκτυο. + +**CSET** Τρέχουσα και διαθέσιμες κωδικοσελίδες. + +**CURROP** Δείχνει ποιος είναι ο τρέχον παροχέας δικτύου. + +**FLCAP** Δίνει έναν συνδυασμό δύο γραμμάτων που δείχνει κάποιες από τις δυνατές φραγές που μπορούμε να ενεργοποιήσουμε. Αυτές μπορεί να είναι από το κλείδωμα +πληκτρολογίου (CS) και της sim (SC) μέχρι φραγή εισερχομένων και εξερχομένων κλίσεων. + +**FLSTAT** Δείχνει τις ενεργοποιημένες φραγές (δες παραπάνω FLCAP). + +**FORW** Πληροφορίες για τις προωθήσεις κλίσεων που είναι ενεργές. + +**OP** Πληροφορίες για τους διαθέσιμους παροχείς δικτύου. + +**PIN** Πληροφορίες για τον αριθμό PIN (αν απαιτείται η εισαγωγή του π.χ. κατά το άνοιγμα του κινητού). + +**PW** Δείχνει της προστατευμένες με password φραγές. + +**SCA** Δίνει το κέντρο διακίνησης sms. + +**SIG** Μας δίνει έναν αριθμό που αντιστοιχεί με την ένταση λήψης σήματος από το κινητό με βήματα των 2 dBm. + +Με την δεύτερη μορφή μπορούμε να επηρεάσουμε τον τρόπο που λειτουργεί το κινητό μας τηλέφωνο. Το μόνο που έχουμε να κάνουμε είναι να πούμε τι και πώς επιθυμούμε +να επηρεάσουμε. Βέβαια, ό,τι πάμε να κάνουμε εδώ θα πρέπει να γίνει με πολύ προσοχή γιατί δεν αποκλείεται να κλειδώσουμε την συσκευή μας καθιστώντας τη άχρηστη. +Ας δούμε εν συντομία τη μπορούμε να επηρεάσουμε. + +**-o dial \<νούμερο\>** + +Κάνει κλίση προς το νούμερο που ορίζουμε και περιμένει να πατήσουμε το \ για να τερματίσουμε την σύνδεση. + +**-o forw \<κατάσταση\> \<λόγος\> \<νούμερο\> \[τάξη υπηρεσίας\] \[χρόνος\]** + +Εδώ μπορούμε να ορίσουμε το που θα προωθούνται οι κλίσεις που δεχόμαστε (\<νούμερο\>) όταν ικανοποιούνται τα κριτήρια που ορίζουμε (\<λόγος\>). Επίσης μπορούμε +να διαγράψουμε κάποια ενεργή προώθηση κλίσεων (\<κατάσταση\> = erase). Επίσης μπορούμε να ορίσουμε (σε κάποιες περιπτώσεις) μετά από πόση ώρα θα γίνει η +προώθηση κλίσεως. + +**-o pin \<νούμερο\>** + +Ρυθμίζει τον αριθμό pin της κάρτας sim. + +**-o setsca \<νούμερο\>** + +Ορίζει τον αριθμό του κέντρου διαχείρισης μηνυμάτων. + + +### [4. Επίλογος]{#s4} + +Μην περιμένετε όλα αυτά τα θαυμαστά πράγματα να δουλέψουν απρόσκοπτα σε όλα τα κινητά της αγοράς. Για παράδειγμα, δεν μπόρεσα να κάνω το gsmsmsd να δουλέψει με +το motorola timeport 250 που έχω καθώς και πολλές από τις πληροφορίες που δίνει το gsmctl έδιναν ένα θαυμάσιο μήνυμα λάθους. Παρόλα αυτά όμως με λίγο +πειραματισμό δεν αποκλείεται να καταφέρετε να κάνετε τα θαυμαστά πράγματα που υπόσχεται το άρθρο. Λίγος παραπάνω κόπος ίσως είναι αρκετός να σας δώσει την +δυνατότητα να διαχειριστείτε τον τηλεφωνικό σας κατάλογο ακόμα και στα ελληνικά καθώς και να διαχειριστείτε εξ\' αποστάσεως τον υπολογιστή σας με μόνο μέσο το +κινητό σας τηλέφωνο. + +Όσο εξελίσσονται και ωριμάζουν σιγά-σιγά τα σχετικά προγράμματα (ίσως και με την δική σας συνεισφορά) η ευχρηστία τους θα γίνεται όλο και λιγότερη. Ελπίζω το +παρόν άρθρο να ήταν αρκετά ενδιαφέρον δίνοντας σας ερεθίσματα για πολλές εξαιρετικά ενδιαφέρουσες εφαρμογές. + diff --git a/content/articles/33/05_rce2.md b/content/articles/33/05_rce2.md new file mode 100644 index 0000000..7a9c56c --- /dev/null +++ b/content/articles/33/05_rce2.md @@ -0,0 +1,1280 @@ ++++ +title = 'Reverse Engineering σε περιβάλλον Linux, Μέρος 1' +date = '2003-06-01T00:00:00Z' +description = '' +author = 'Φραντζής Αλέξανδρος (aka Alf) alf82 at freemail dot gr' +issue = ['Magaz 33'] +issue_weight = 5 ++++ + +**1. Εισαγωγή** +-------------------------------------- + +**2. Χρήση του GDB για assembly debugging** +------------------------------------------------------------------ + +- [2.1 Εξετάζοντας τον κώδικα assembly και άλλα παρεμφερή](#ss2.1) +- [2.2 Εξετάζοντας τα δεδομένα](#ss2.2) +- [2.3 Εκτελώντας τον κώδικα](#ss2.3) +- [2.4 Πληροφορίες για το εκτελέσιμο](#ss2.4) +- [2.5 Καλώντας συναρτήσεις και ψάχνοντας για σύμβολα](#ss2.5) + +**3. Άλλα χρήσιμα εργαλεία** +--------------------------------------------------- + +- [3.1 strace](#ss3.1) +- [3.2 ltrace](#ss3.2) + +**4. Υλοποίηση των breakpoints** +------------------------------------------------------- + +- [4.1 Software Breakpoints](#ss4.1) +- [4.2 Hardware Breakpoints](#ss4.2) +- [4.3 Hints and Tips - Home-made Traps](#ss4.3) + +**5. Χρήσιμες έως **πολύ** χρήσιμες πληροφορίες** +------------------------------------------------------------------------ + +- [5.1 The C calling convention](#ss5.1) +- [5.2 System Calls](#ss5.2) + +**6. Hands-on Παράδειγμα** +------------------------------------------------- + +**7. Πρόκληση** +-------------------------------------- + +- [7.1 Προηγούμενη πρόκληση - Λύση και Hall Of Fame](#ss7.1) +- [7.2 Πρόκληση \#1](#ss7.2) + + +### [1. Εισαγωγή]{#s1} + +Το πρώτο μέρος του άρθρου (2-3) έχει βασικό σκοπό την παρουσίαση των πιο κοινών εργαλείων που υπάρχουν στο linux και που μπορούν να ενισχύσουν την προσπάθεια +κατανόησης της λειτουργίας ενός εκτελέσιμου. Βέβαια, αυτά τα εργαλεία δεν είναι τα μόνα που υπάρχουν και μια αναζήτηση στο διαδίκτυο θα εμφανίσει πολλούς +θησαυρούς. Το πρόβλημα με τα περισσότερα από τα προγράμματα που ίσως βρείτε, είναι ότι πρόκειται περί \"diamonds in the rough\". Θα σας ταλαιπωρήσουν μέχρι να +τα στήσετε σωστά και μετά ποιος ξέρει τι άλλα προβλήματα θα εμφανιστούν. + +Στο δεύτερο μέρος (4-6) θα ασχοληθούμε με πιο γενικές πληροφορίες σε σχέση με το RCE. **Προσοχή**: δεν πρόκειται για περιττές πληροφορίες αλλά για βασικές +γνώσεις, χωρίς τις οποίες θα δυσκολευτείτε να κατανοήσετε τι πραγματικά συμβαίνει. + +Για την καλύτερη κατανόηση του άρθρου είναι επιθυμητή μια στοιχειώδης, το λιγότερο, γνώση της γλώσσας assembly. Θα προσπαθήσω να εξηγώ όπου χρειάζεται, όμως +σίγουρα δεν πρόκειται να μετατρέψω το κείμενο σε assembly tutorial. Πολλοί ίσως να θεωρούν την assembly παρωχημένη γλώσσα άλλα να είστε σίγουροι πως RCE χωρίς +assembly δε νοείται. Μια αναζήτηση για \"x86 assembly tutorial\" στο google θα σας δώσει πληροφορίες που θα σας απασχολήσουν για πολύ καιρό. + +Τέλος όπως κάθε φορά υπάρχει η πρόκληση του μήνα. Στόχος είναι να σας επιτρέψει να εξασκήσετε τις ικανότητές σας, να γνωρίσετε τα όρια σας και να χαρείτε από +πρώτο χέρι τη διαδικασία του RCE! + +Επίσης οτιδήποτε σχόλιο δεκτό: θεωρείτε τις προκλήσεις πολύ εύκολες/δύσκολες, θα θέλατε να καλυφθεί κάποιο θέμα ή να καλυφθεί εκτενέστερα; + +Στο επόμενο τεύχος θα συνεχίσουμε με τη δομή των ELF, το objdump, το /proc filesystem, περισσότερα hands-on παραδείγματα και ποιος ξέρει τι άλλο :) + +Καλό RCE και κυρίως **καλό καλοκαίρι**! + + +### [2. Χρήση του GDB για assembly debugging]{#s2} + +Στο μέρος αυτό θα εξετάσουμε τις δυνατότητες του GDB για assembly debugging. Το case-study πρόγραμμα θα είναι το ίδιο με την προηγούμενη φορά: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + #include + + int main(int argc, char **argv) + { + int num; + + if (argc<2) { + printf("Usage: %s \n",argv[0]); + exit(1); + } + + num=alf(argv[1]); + + if (num>10) + printf("Ok!\n"); + else + printf("Failed!\n"); + } + + int alf(char *s) + { + return atoi(s); + } + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Κάντε compile με : gcc \[-g\] -o rce1 rce1.c + +Αυτή τη φορά η παράμετρος \"-g\" δεν είναι απαραίτητη αλλά και να την χρησιμοποιήσουμε δε μας ενοχλεί. Το φόρτωμα του προγράμματος στον GDB γίνεται ως συνήθως: + +> bash$ gdb rce1 +> (gdb) + +Αν δοκιμάσουμε να δούμε τον πηγαίο κώδικα του προγράμματος χωρίς να έχουμε κάνει compile με -g: + +> (gdb) list +> 1 init.c: No such file or directory. +> in init.c +> (gdb) + +O GBD δε βρίσκει το αρχείο \"init.c\". Ε, και τι έγινε θα πείτε; Το δικό μας αρχείο είναι το \"rce1.c\"! Το πρόβλημα είναι ότι το εκτελέσιμο δεν περιλαμβάνει +καμία πληροφορία για το ποιο είναι το πηγαίο αρχείο του και ο GDB υποθέτει το όνομα \"init.c\". To \"init.c\" είναι το αρχείο πηγαίου κώδικα που αντιστοιχεί +στην αρχικοποίηση της libc. Αν δημιουργήσουμε ένα αρχείο με το όνομα \"init.c\", τότε η **list** θα μας δείξει το περιεχόμενο του αρχείου αυτού. Αλλά και πάλι +δεν μπορούμε να κάνουμε δουλειά, διότι ο debugger δεν γνωρίζει ποιες εντολές assembly αντιστοιχούν σε ποιες γραμμές C κώδικα. Αν πχ έχουμε αντιγράψει το +\"rce1.c\" σε \"init.c\": + +> bash$ cp rce1.c init.c +> bash$ gdb -q rce1 +> (gdb) break main +> Breakpoint 1 at 0x8048392 +> (gdb) r +> Starting program: /home/alf/projects/magaz/issue1/rce1 +> Breakpoint 1, 0x08048392 in main () +> (gdb) n +> Single stepping until exit from function main,which has no line number +> information. +> Usage: /home/alf/projects/magaz/issue1/rce1 +> +> Program exited with code 01. +> (gdb) + +Όταν πήγαμε να προχωρήσουμε μία γραμμή πηγαίου κώδικα με την **n**, ο GDB παραπονέθηκε πως δεν έχει τις απαραίτητες πληροφορίες και αποφάσισε να προχωρήσει +μέχρι το τέλος της main(). Για πλάκα μπορούμε να συγχύσουμε τον GDB (και τους εαυτούς μας) αν κάνουμε compile με το -g flag και μετά αντικαταστήσουμε το source +αρχείο μας με ένα άσχετο :) + +Αφού λοιπόν δεν έχουμε τον πηγαίο κώδικα αυτό ήταν\... ας πάμε να παίξουμε τάβλι καλύτερα. Αλλά μια φωνή μέσα μας (τουλάχιστον μέσα σε εμένα!) αρνείται να +παραδώσει τα όπλα. The gate is now open, welcome to the world of RCE! + +### [2.1 Εξετάζοντας τον κώδικα assembly και άλλα παρεμφερή]{#ss2.1} + +Αφού λοιπόν δεν αποθαρυνθήκαμε, ας εξετάσουμε το assembly listing της main. Αυτό γίνεται (κυρίως) με την εντολή **disassemble \<διεύθυνση\> \[\<τελική +διεύθυνση\>\]**. Αν ορίσουμε μόνο μια παράμετρο, τότε εμφανίζεται ο κώδικας **όλης της συνάρτησης** στην οποία ανήκει η διεύθυνση. Το πρόβλημα είναι πως αν ο +GDB δε γνωρίζει σε ποια συνάρτηση ανήκει η διεύθυνση (πχ όταν δεν υπάρχουν σύμβολα στο εκτελέσιμο), είτε θα παραπονεθεί και δε θα τυπώσει τίποτα είτε θα +συγχυστεί με προηγούμενα σύμβολα και θα μας εκτυπώσει κατεβατά ολόκληρα. Για παράδειγμα: + +> (gdb) disas main +> Dump of assembler code for function main: +> 0x804838c

: push %ebp +> 0x804838d : mov %esp,%ebp +> 0x804838f : sub $0x8,%esp +> 0x8048392 : and $0xfffffff0,%esp +> 0x8048395 : mov $0x0,%eax +> 0x804839a : sub %eax,%esp +> 0x804839c : cmpl $0x1,0x8(%ebp) +> 0x80483a0 : jg 0x80483c1 +> 0x80483a2 : sub $0x8,%esp +> 0x80483a5 : mov 0xc(%ebp),%eax +> 0x80483a8 : pushl (%eax) +> 0x80483aa : push $0x8048464 +> 0x80483af : call 0x80482ac +> 0x80483b4 : add $0x10,%esp +> 0x80483b7 : sub $0xc,%esp +> 0x80483ba : push $0x1 + +Οι εντολές: + +> (gdb) disas main+44 +> (gdb) disas 0x80483f7 + +και γενικά όσες διευθύνσεις περιέχονται στη main θα έχουν ως αποτέλεσμα να εκτυπωθεί όλη η main (ακριβώς όπως παραπάνω). Προσοχή πως το \"main\" είναι απλώς ένα +σύμβολο που αντιστοιχεί σε κάποια διεύθυνση, εδώ την 0x804838c. Η έκφραση main+44 είναι και αυτή μια διεύθυνση (0x80483b8). Δεν έχει σημασία που δεν αποτελεί +την αρχή κάποιας εντολής ( είναι το δεύτερο byte της sub \$0xc,%esp), αρκεί που ανήκει μέσα στη συνάρτηση main. + +[]{#gdb_asm} Η ερώτηση που τίθεται είναι η εξής: που ξέρει ο GDB που αρχίζει και τελειώνει μια συνάρτηση; Και η απάντηση: ο GDB ξέρει μόνο που αρχίζει η +συνάρτηση και υποθέτει ότι συνεχίζει η ίδια συνάρτηση μέχρι να βρει κάποιο άλλο σύμβολο που είναι σύμβολο συνάρτησης. + +Αν τα σύμβολα στο εκτελέσιμο κατά σειρά αύξουσας διεύθυνσης είναι: + +> 0804838c main +> 08048406 alf +> 0804841c __do_global_ctors_aux + +O GDB θεωρεί πως ό,τι βρίσκεται μεταξύ των διευθύνσεων main και alf ανήκει στη συνάρτηση main, ό,τι βρίσκεται μεταξύ των alf και \_\_do\_global\_ctors\_aux +ανήκει στη συνάρτηση alf κτλ. Το γεγονός πως τα όρια της κάθε συνάρτησης (για την ακρίβεια το τέλος) δεν είναι γνωστά, προκαλεί το πρόβλημα που αναφέρθηκε +παραπάνω (ο GDB δε μπορεί να βρει σε ποια συνάρτηση ανήκει η διεύθυνση ή κάνει λάθος). Ας δούμε το πρόβλημα στην πράξη: + +> bash$ strip -s rce1 +> bash$ gdb rce1 +> (no debugging symbols found)... +> (gdb) + +H εντολή strip \"απογυμνώνει\" ένα object αρχειο από όλα τα σύμβολα που μπορεί. Γράφω \"μπορεί\", διότι υπάρχουν μερικά που δε έχει νόημα να αφαιρέσει, όπως για +παράδειγμα αυτά που αναφέρονται σε εξωτερικές συναρτήσεις και δεδομένα. Ο λόγος είναι ότι στο στάδιο του linking (είτε αυτό είναι dynamic είτε όχι) δε θα +μπορέσει να βρει τις διευθύνσεις τους αν δε γνωρίζει το όνομα τους! + +> (gdb) disas main +> No symbol table is loaded. Use the "file" command. + +Το σύμβολο main δε βρέθηκε αλλά εμείς ξέρουμε τη διεύθυνση του. + +> (gdb) disas 0x804838c +> Dump of assembler code for function atoi: +> 0x80482cc : jmp *0x804958c +> 0x80482d2 : push $0x18 +> 0x80482d7 : jmp 0x804828c +> 0x80482dc : xor %ebp,%ebp +> 0x80482de : pop %esi + +Και ιδού\... Ο GDB τα \"πήρε\" :) + +Το μόνο σύμβολο που υπάρχει αμέσως πριν τη διεύθυνση της main είναι το atoi οπότε ο debugger θεωρεί πως η διεύθυνση 0x804838c ανήκει στη συνάρτηση atoi(). Το +σύμβολο atoi δείχνει σε μια εξωτερική συνάρτηση για αυτό και δεν αφαιρέθηκε. Σε αυτές τις περιπτώσεις είναι χρήσιμη η εναλλακτική μορφή της disassemble στην +οποία ορίζουμε τόσο την αρχική όσο και την τελική διεύθυνση για το disassembly : + +> (gdb) disas 0x804838c 0x80483a0 +> Dump of assembler code from 0x804838c to 0x80483a0: +> 0x804838c : push %ebp +> 0x804838d : mov %esp,%ebp +> 0x804838f : sub $0x8,%esp +> 0x8048392 : and $0xfffffff0,%esp +> 0x8048395 : mov $0x0,%eax +> 0x804839a : sub %eax,%esp +> 0x804839c : cmpl $0x1,0x8(%ebp) +> End of assembler dump. + +Μπορεί ο GDB να πιστεύει πως βρισκόμαστε 192 bytes από την αρχή της atoi αλλά εμείς ξέρουμε πως ουσιαστικά είμαστε στην αρχή της main! + +Κλείνοντας αυτό το κομμάτι θα ασχοληθούμε λίγο με τη μορφή του listing. Όσοι έχετε ασχοληθεί με assembly στον x86 η σύνταξη των προηγούμενων listing ίσως σας +φανεί λίγο παράξενη. Αυτή ονομάζεται AT&T syntax και ένα βασικό χαρακτηριστικό της είναι ότι στις εντολές της έχει ανάποδα την πηγή και τον προορισμό, σε σχέση +με την άλλη μορφή την Intel syntax. Πχ για να μετακινήσουμε το περιεχόμενο του καταχωρητή ebx στον eax : + +> mov %ebx, %eax AT&T +> mov eax, ebx Intel + +Βέβαια υπάρχουν και άλλες διαφορές αλλά δε θα μας απασχολήσουν εδώ. Επίσης υπάρχουν και παραλλαγές των παραπάνω όπως η σύνταξη που χρησιμοποιεί ο Nasm (Netwide +Assembler) η οποία βασίζεται στην Intel αλλά κατά τη γνώμη είναι πιο ξεκάθαρη Παρακάτω θα χρησιμοποιήσουμε τη σύνταξη της Intel διότι είναι γενικά πιο +διαδεδομένη για τους επεξεργαστές της. Στον GDB η σύνταξη ορίζεται στην εσωτερική μεταβλητή disassembly-flavor: + +> (gdb) set disassembly-flavor intel +> (gdb) disas main +> Dump of assembler code for function main: +> 0x804838c
: push ebp +> 0x804838d : mov ebp,esp +> 0x804838f : sub esp,0x8 +> 0x8048392 : and esp,0xfffffff0 +> 0x8048395 : mov eax,0x0 +> 0x804839a : sub esp,eax +> 0x804839c : cmp DWORD PTR [ebp+8],0x1 +> 0x80483a0 : jg 0x80483c1 +> 0x80483a2 : sub esp,0x8 +> 0x80483a5 : mov eax,DWORD PTR [ebp+12] +> 0x80483a8 : push DWORD PTR [eax] +> 0x80483aa : push 0x8048464 +> 0x80483af : call 0x80482ac +> 0x80483b4 : add esp,0x10 +> 0x80483b7 : sub esp,0xc +> 0x80483ba : push 0x1 +> 0x80483bc : call 0x80482bc +> 0x80483c1 : sub esp,0xc +> 0x80483c4 : mov eax,DWORD PTR [ebp+12] +> 0x80483c7 : add eax,0x4 +> 0x80483ca : push DWORD PTR [eax] +> 0x80483cc : call 0x8048406 +> 0x80483d1 : add esp,0x10 +> 0x80483d4 : mov DWORD PTR [ebp-4],eax +> 0x80483d7 : cmp DWORD PTR [ebp-4],0xa +> 0x80483db : jle 0x80483ef +> 0x80483dd : sub esp,0xc +> 0x80483e0 : push 0x8048478 +> 0x80483e5 : call 0x80482ac +> 0x80483ea : add esp,0x10 +> 0x80483ed : jmp 0x80483ff +> 0x80483ef : sub esp,0xc +> 0x80483f2 : push 0x804847d +> 0x80483f7 : call 0x80482ac +> 0x80483fc : add esp,0x10 +> 0x80483ff : mov eax,0x1 +> 0x8048404 : leave +> 0x8048405 : ret +> End of assembler dump. +> (gdb) + +### [2.2 Εξετάζοντας τα δεδομένα]{#ss2.2} + +Τα δεδομένα που μας ενδιαφέρουν όταν ασχολούμαστε με low-level debugging μπορούν να βρίσκονται είτε σε κάποιον καταχωρητή είτε στη μνήμη. + +#### Εξετάζοντας καταχωρητές + +Ο βασικός τρόπος για να δούμε τα περιεχόμενα των καταχωρητών είναι με την **info registers**/ **i r** \[reg\]. Χωρίς όρισμα εκτυπώνει όλους τους ακέραιους +καταχωρητές με τα περιεχόμενα τους σε δεκαεξαδική και δεκαδική μορφή, αλλιώς τυπώνει μόνο αυτόν που ορίσαμε. + +> (gdb) i r +> eax 0x0 0 +> ecx 0x4 4 +> edx 0x4014f1ec 1075114476 +> ebx 0x40153234 1075130932 +> esp 0xbffff730 0xbffff730 +> ebp 0xbffff738 0xbffff738 +> esi 0x40014020 1073823776 +> edi 0xbffff794 -1073743980 +> eip 0x804839c 0x804839c +> eflags 0x386 902 +> cs 0x23 35 +> ss 0x2b 43 +> ds 0x2b 43 +> es 0x2b 43 +> fs 0x0 0 +> gs 0x0 0 +> fctrl 0x37f 895 +> fstat 0x0 0 +> ftag 0xffff 65535 +> fiseg 0x0 0 +> fioff 0x0 0 +> foseg 0x0 0 +> fooff 0x0 0 +> fop 0x0 0 +> mxcsr 0x1f80 8064 +> orig_eax 0xffffffff -1 +> (gdb) i r edx +> edx 0x4014f1ec 1075114476 +> (gdb) + +Υπάρχει και η εντολή **info all-registers** η οποία τυπώνει όλους τους καταχωρητές ( integer και floating-point και ΜΜΧ και ΧΜΜ για x86). + +To πρόβλημα με την εντολή **i r** είναι πως μας επιτρέπει μόνο να δούμε τις τιμές των καταχωρητών, ενώ αρκετά συχνά θέλουμε να τις αλλάξουμε ή να τις +χρησιμοποιήσουμε σε κάποια έκφραση. Στον GDB για κάθε καταχωρήτη υπάρχει μια ψευδο-μεταβλητή της οποία το όνομα αποτελείται από το \'\$\' και το όνομα του +καταχωρήτη πχ \$eax. Ο μηχανισμός αυτός προσφέρει μεγάλη ευελιξία και ευκολία: + +> (gdb) print $eip +> $1 = (void *) 0x804839c +> (gdb) set $eip=$eip+1 +> (gdb) print $eip +> $2 = (void *) 0x804839d +> (gdb) set $eip-- +> (gdb) print $eip +> $3 = (void *) 0x804839c + +#### Εξετάζοντας τη μνήμη + +Η προσπέλαση στη μνήμη γίνεται με την εντολή **x**. Η πλήρης σύνταξη είναι **x/FMT** όπου FMT είναι μια ακολουθία τριών στοιχείων \\\. To πρώτο ορίζει πόσα αντικείμενα να εκτυπωθούν, το δεύτερο δηλώνει τι μέγεθος θα έχει το κάθε αντικείμενο ( b(byte 1), h(halfword 2) +, w(word 4) ,g(giant 8) και τέλος το format σε τι μορφή να εκτυπωθούν ( o(octal), x(hex), d(decimal), u(unsigned decimal), t(binary), f(float), a(address), +i(instruction), c(char) και s(string). ) + +Πχ Εκτύπωσε 5 bytes σε οκταδική μορφή αρχίζοντας από τη διεύθυνση main + +> (gdb) x/5bo main +> 0x804838c
: 0125 0211 0345 0203 0354 + +Το ίδιο σε hex + +> (gdb) x/5bx main +> 0x804838c
: 0x55 0x89 0xe5 0x83 0xec + +Εκτύπωσε 3 λέξεις (4 bytes η κάθε μία) σε δεκαεξαδική μορφή αρχίζοντας από τη διεύθυνση main + +> (gdb) x/3wx main +> 0x804838c
: 0x83e58955 0xe48308ec 0x0000b8f0 + +Εκτύπωσε τις πρώτες δέκα εντολές της main( όχι τις γνωστές δέκα\...) + +> (gdb) x/10i main +> 0x804838c
: push %ebp +> 0x804838d : mov %esp,%ebp +> 0x804838f : sub $0x8,%esp +> 0x8048392 : and $0xfffffff0,%esp +> 0x8048395 : mov $0x0,%eax +> 0x804839a : sub %eax,%esp +> 0x804839c : cmpl $0x1,0x8(%ebp) +> 0x80483a0 : jg 0x80483c1 +> 0x80483a2 : sub $0x8,%esp +> 0x80483a5 : mov 0xc(%ebp),%eax + +Η τελευταία εντολή έχει το ίδιο αποτέλεσμα με την εντολή **disassemble main main+25**. + +Συχνά χρειάζεται να εξετάζουμε συνέχεια μια θέση μνήμης και καταντάει κουραστικό να γράφουμε την εντολή **x/FMT** . Σε τέτοιες περιπτώσεις βολεύει η εντολή +**display** που συντάσεται ακριβώς όπως η **x/FMT** και μαζί με κάθε gdb prompt μας εμφανίζει τα δεδομένα που της ζητήσαμε. Ένα πολύ χρήσιμο παράδειγμα της +display είναι το παρακάτω: + +> (gdb) display/5i $eip +> (gdb) break main +> Breakpoint 1 at 0x8048392 +> (gdb) r +> Starting program: /home/alf/projects/magaz/issue1/rce1 +> +> Breakpoint 1, 0x08048392 in main () +> 2: x/5i $eip +> 0x8048392 : and $0xfffffff0,%esp +> 0x8048395 : mov $0x0,%eax +> 0x804839a : sub %eax,%esp +> 0x804839c : cmpl $0x1,0x8(%ebp) +> 0x80483a0 : jg 0x80483c1 +> (gdb) ni +> 0x08048395 in main () +> 2: x/5i $eip +> 0x8048395 : mov $0x0,%eax +> 0x804839a : sub %eax,%esp +> 0x804839c : cmpl $0x1,0x8(%ebp) +> 0x80483a0 : jg 0x80483c1 +> 0x80483a2 : sub $0x8,%esp + +Μετά από κάθε **ni** (next instruction, δείτε λίγο παρακάτω) εμφανίζονται αυτόματα οι 5 επόμενες εντολές assembly. Για να εξετάσουμε ποια auto-display έχουμε +στο σύστημα μας γράφουμε info display ενώ για να ακυρώσουμε μια εντολή display χρησιμοποιούμε την **undisplay \[\#num\]** ή **delete display \[\#n\]**. + +### [2.3 Εκτελώντας τον κώδικα]{#ss2.3} + +Είναι ωραίο να βλέπουμε τον κώδικα του προγράμματος μας και τα δεδομένα του αλλά είναι καλύτερο να μπορούμε και να το εκτελούμε! Για το σκοπό αυτό οι εντολές +που χρειαζόμαστε είναι οι **ni**/**nexti** (next instruction) και **si**/**stepi**. Αυτές λειτουργούν αντίστοιχα με τις **next** και **step** αλλά σε επίπεδο +εντολών assembly και όχι σε επίπεδο γραμμών πηγαίου κώδικα. Οι **nexti** και **stepi** εκτελούν την επόμενη εντολή assembly αλλά η **nexti** δεν ακολουθεί τις +κλήσεις συναρτήσεων. + +> (gdb) display/1i $eip +> (gdb) ni +> 0x080483ca in main () +> 2: x/i $eip +> 0x80483ca : push DWORD PTR [eax] +> (gdb) ni +> 0x080483cc in main () +> 2: x/i $eip +> 0x80483cc : call 0x8048406 +> (gdb) ni +> 0x080483d1 in main () +> 2: x/i $eip +> 0x80483d1 : add esp,0x10 +> (gdb) ni +> 0x080483d4 in main () +> 2: x/i $eip +> 0x80483d4 : mov DWORD PTR [ebp-4],eax +> (gdb) ni +> 0x080483ca in main () +> 2: x/i $eip +> 0x80483ca : push DWORD PTR [eax] +> (gdb) ni +> 0x080483cc in main () +> 2: x/i $eip +> 0x80483cc : call 0x8048406 +> (gdb) si +> 0x08048406 in alf () +> 2: x/i $eip +> 0x8048406 : push ebp +> (gdb) ni +> 0x08048407 in alf () +> 2: x/i $eip +> 0x8048407 : mov ebp,esp +> (gdb) ni +> 0x08048409 in alf () +> 2: x/i $eip +> 0x8048409 : sub esp,0x8 +> (gdb) ni +> 0x0804840c in alf () +> 2: x/i $eip +> 0x804840c : sub esp,0xc + +**Breakpoints-Watchpoints** + +Για τα breakpoints και τα watchpoints ισχύουν όσα είχαν γραφτεί στο προηγούμενο τεύχος. Απλώς λόγω έλλειψης συμβόλων χρησιμοποιείται αρκετά η μορφή που περιέχει +απλή διεύθυνση πχ **break \*0x8045333**. + +### [2.4 Πληροφορίες για το εκτελέσιμο]{#ss2.4} + +Η εντολή **info files** τυπώνει πληροφορίες για το εκτελέσιμο: + +> (gdb) info files +> Symbols from "/home/alf/projects/magaz/issue1/rce1". +> Local exec file: +> `/home/alf/projects/magaz/issue1/rce1', file type elf32-i386. +> Entry point: 0x8048330 +> 0x080480f4 - 0x08048107 is .interp +> 0x08048108 - 0x08048128 is .note.ABI-tag +> 0x08048128 - 0x08048160 is .hash +> 0x08048160 - 0x080481f0 is .dynsym +> 0x080481f0 - 0x0804824e is .dynstr +> 0x0804824e - 0x08048260 is .gnu.version +> 0x08048260 - 0x08048280 is .gnu.version_r +> 0x08048280 - 0x08048290 is .rel.dyn +> 0x08048290 - 0x080482b8 is .rel.plt +> 0x080482b8 - 0x080482cf is .init +> 0x080482d0 - 0x08048330 is .plt +> 0x08048330 - 0x080484ac is .text +> 0x080484ac - 0x080484c7 is .fini +> 0x080484c8 - 0x080484f6 is .rodata +> 0x080494f8 - 0x08049504 is .data +> 0x08049504 - 0x08049508 is .eh_frame +> 0x08049508 - 0x080495d0 is .dynamic +> 0x080495d0 - 0x080495d8 is .ctors +> 0x080495d8 - 0x080495e0 is .dtors +> 0x080495e0 - 0x080495e4 is .jcr +> 0x080495e4 - 0x08049608 is .got +> 0x08049608 - 0x08049610 is .bss +> (gdb) + +Καταρχάς δίνεται το path και το είδος του εκτελέσιμου.\ +Αμέσως μετά δίνεται το entry point, δηλαδή η διεύθυνση της πρώτης εντολής που θα εκτελεστεί όταν αρχίσει το πρόγραμμα. **Προσοχή: αυτή συνήθως δεν είναι η +διεύθυνση της main αλλά είναι η αρχή του κώδικα που αρχικοποιεί την libc!** + +Όλα τα υπόλοιπα είναι τα sections του ELF και οι διεύθυνσεις μνήμης που καταλαμβάνουν. + +### [2.5 Καλώντας συναρτήσεις και ψάχνοντας για σύμβολα]{#ss2.5} + +Εδώ θα αναφερθούμε σε δύο αρκετά χρήσιμες εντολές που μάλλον θα ταίριαζαν περισσότερο στο προηγούμενο άρθρο. + +Η πρώτη εντολή είναι η **call** η οποία χρησιμοποιείται για να καλέσουμε μια οποιαδήποτε συνάρτηση. Η σύνταξη που χρησιμοποιεί εξαρτάται από την τρέχουσα γλώσσα +και στη C είναι γνωστή η **call func(arg1,arg2,\...)**. + +> bash$ gdb rce1 +> (gdb) call alf("123") +> evaluation of this expression requires the target program to be active +> (gdb) break main +> Breakpoint 1 at 0x80483f0: file rce1.c, line 7. +> (gdb) r +> Starting program: /home/alf/magaz/issue1/rce1 +> +> Breakpoint 1, main (argc=1, argv=0xbffff7a4) at rce1.c:7 +> 7 if (argc<2) { +> (gdb) call alf("123") +> $1 = 123 +> (gdb) call alf("747") +> $2 = 747 +> (gdb) print $1 +> $3 = 123 +> (gdb) print $+1 +> $4 = 124 + +Η τιμή που επιστρέφει η συνάρτηση αποθηκεύεται στη μεταβλητή που μας δείχνει ο GDB πχ \$1. Η μεταβλητή \$ περιέχει την τελευταία τιμή που παράχθηκε. + +Η επόμενη εντολή είναι η **info functions \[name\]**. Η εντολή αυτή εμφανίζει όλες τις συναρτήσεις που ξέρει ο GDB μαζί με τη διεύθυνση τους (αμέτρητες!). Αν +καθορίσουμε κάποιο όνομα θα εμφανιστούν μόνο οι συναρτήσεις που περιέχουν αυτό το όνομα. Αν και γενικά τα πράγματα είναι απλά, υπάρχουν μερικά σκοτεινά σημεία +που ίσως σας προβληματίσουν. + +Για παράδειγμα έστω ότι έχουμε ένα πρόγραμμα που καλεί την fprintf(). Αφου το φορτώσουμε στο GDB έχουμε: + +> (gdb) info functions fprintf +> All functions matching regular expression "fprintf": +> +> Non-debugging symbols: +> 0x080482e0 fprintf +> (gdb) break main +> Breakpoint 1 at 0x80483f0: file rce1.c, line 7. +> (gdb) r +> Starting program: /home/alf/tst +> +> Breakpoint 1, main (argc=1, argv=0xbffff7a4) at rce1.c:7 +> 7 if (argc<2) { +> (gdb) info functions fprintf +> All functions matching regular expression "fprintf": +> +> Non-debugging symbols: +> 0x080482e0 fprintf +> 0x4006e5c0 _IO_vfprintf +> 0x4006e5c0 _IO_vfprintf_internal +> 0x4006e5c0 __GI_vfprintf +> 0x4006e5c0 vfprintf +> 0x40072b40 buffered_vfprintf +> 0x400788f0 _IO_fprintf +> 0x400788f0 __GI_fprintf +> 0x400788f0 fprintf +> 0x4007c8d0 buffered_vfprintf + +Αρχικά (πριν εκτελέσουμε το πρόγραμμα) το μόνο σύμβολο fprintf που υπήρχε ήταν στη διεύθυνση 0x080483e0. Η διεύθυνση αυτή ανήκει στο δικό μας πρόγραμμα και +επομένως δεν μπορεί να είναι η αρχή της fprintf()! Στην πραγματικότητα είναι ένα jmp προς την κανονική fprintf(). Αφού τρέξουμε το πρόγραμμα, ο GDB +συνειδητοποιεί πως φορτώθηκαν βιβλιοθήκες και προσθέτει τα σύμβολα των συναρτήσεων στη λίστα του. Μια από αυτές που φορτώθηκε ήταν η libc έτσι προστέθηκε μεταξύ +άλλων το σύμβολο fprintf στη διεύθυνση 0x400788f0 που αποτελεί και τη πραγματική αρχή της συνάρτησης. + +> bash$ gdb tst +> (gdb) break fprintf +> Breakpoint 1 at 0x80482e0 +> (gdb) r +> Starting program: /home/alf/tst +> Breakpoint 1 at 0x400788f6 +> +> Breakpoint 1, 0x400788f6 in fprintf () from /lib/libc.so.6 +> (gdb) + +Παρατηρήστε ότι ενώ το αρχικό breakpoint ήταν στη διεύθυνση 0x80482e0 το break έγινε στη διεύθυνση 0x400788f6. Ο GDB αναγνωρίζει ότι το σύμβολο fprintf στη +διεύθυνση 0x80482e0 έχει ειδική σημασία, και όταν φορτωθεί η πραγματική fprintf() ανανεώνει το breakpoint. Περισσότερα για το θέμα στο επόμενο τεύχος όταν +εξετάσουμε το ELF. + + +### [3. Άλλα χρήσιμα εργαλεία]{#s3} + +Παρακάτω παρουσιάζονται εν συντομία δύο πολύ χρήσιμα εργαλεία που υπάρχουν σε κάθε σύγχρονο linux σύστημα. Βασίζονται και τα δύο στο ptrace() system call που +επιτρέπει τον έλεγχο διεργασιών στο linux. + +### [3.1 strace]{#ss3.1} + +To strace (system call trace) καταγράφει τα system calls ενός προγράμματος. Από default καταγράφει όλα τα syscalls αλλά υπάρχει η δυνατότητα να προσδιοριστούν +μόνο κάποια συγκεκριμένα. Δέχεται πολλές παραμέτρους και ρυθμίσεις αλλά εδώ θα ασχοληθούμε μόνο με τις πιο βασικές (εξάλλου δεν υπάρχει λόγος να επαναλαμβάνουμε +τη manpage!) + +Η βασική σύνταξη είναι **strace \[options\] \[-o outputfile\] \[objfile \[args\]\]**.\ +Αν δεν καθορίσουμε κάποιο αρχείο για output τα syscalls εμφανίζονται στo stderr. + +Χρήσιμες παράμετροι είναι:\ +**-e call1,call2,\...** ή **-e trace=call1,call2,\...,callΝ**\ +Καθορίζει ποια syscalls να παρακολουθήσει το πρόγραμμα. Αν πριν από κάποιο όνομα υπάρχει το \'!\' σημαίνει να μην παρακολουθηθεί το syscall αυτό. H default τιμή +είναι -e trace=all.\ +**-p pid**\ +καθορίζει σε ποια διεργασία να \"αγκιστρωθεί\" το πρόγραμμα ώστε να αρχίσει να παρακολουθεί. Προφανώς στην περίπτωση αυτή είναι περιττό να καθοριστεί το +objfile.\ +**-i**\ +Πριν από κάθε syscall εμφανίζεται η τιμή του IP (instruction pointer) τη στιγμή της κλήσης. Η επιλογή αυτή είναι λιγότερο χρήσιμη από ότι φαίνεται, διότι τα +syscalls καλούνται μέσα από wrapper συναρτήσεις που βρίσκονται σε βιβλιοθήκες, και έτσι οι διευθύνσεις που θα λαμβάνουμε δεν θα είναι και πολύ χρήσιμες. + +πχ + +> bash$ strace -e trace=write rce1 +> write(1, "Usage: rce1 \n", 21Usage: rce1 +> ) = 21 + +Το παραπάνω είναι λίγο μπερδεμένο διότι το strace αρχίζει να καταγράφει το syscall write στο stderr(που από default είναι η οθόνη), ύστερα εκτυπώνεται το +κείμενο μας και μετά τελειώνει η καταγραφή με την τιμή επιστροφής της write. Αν είχαμε χρησιμοποιήσει το option -ο δε θα υπήρχε πρόβλημα. + +> bash$ strace -o rce1.trace -e trace=write rce1 +> Usage: rce1 +> bash$ cat rce1.trace +> write(1, "Usage: rce1 \n", 21) = 21 + +Ας δούμε τώρα το πλήρες trace από το αγαπημένο μας rce1. + +> bash$ strace -o rce1.trace rce1 +> Usage: rce1 +> bash$ cat -n rce1.trace +> 1 execve("./rce1", ["rce1"], [/* 51 vars */]) = 0 +> 2 brk(0) = 0x8049598 +> 3 open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or +> directory) +> 4 open("/etc/ld.so.cache", O_RDONLY) = 3 +> 5 fstat64(3, {st_mode=S_IFREG|0644, st_size=64466, ...}) = 0 +> 6 old_mmap(NULL, 64466, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40015000 +> 7 close(3) = 0 +> 8 open("/lib/libc.so.6", O_RDONLY) = 3 +> 9 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\\\1\000"..., +> 1024) = 1024 +> 10 fstat64(3, {st_mode=S_IFREG|0755, st_size=1435624, ...}) = 0 +> 11 old_mmap(NULL, 1256740, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = +> 0x40025000 +> 12 mprotect(0x4014f000, 36132, PROT_NONE) = 0 +> 13 old_mmap(0x4014f000, 20480, PROT_READ|PROT_WRITE, +> MAP_PRIVATE|MAP_FIXED, 3, 0x12a000) = 0x4014f000 +> 14 old_mmap(0x40154000, 15652, PROT_READ|PROT_WRITE, +> MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40154000 +> 15 close(3) = 0 +> 16 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, +> -1, 0) = 0x40158000 +> 17 munmap(0x40015000, 64466) = 0 +> 18 fstat64(1, {st_mode=S_IFCHR|0700, st_rdev=makedev(136, 0), ...}) = 0 +> 19 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, +> -1, 0) = 0x40015000 +> 20 write(1, "Usage: rce1 \n", 21) = 21 +> 21 munmap(0x40015000, 4096) = 0 +> 22 semget(1, 4096, IPC_CREAT|0x40150140|0400) = -1 ENOSYS (Function not +> implemented) +> 23 _exit(1) = ? + +**1:** Εδώ καλείται η execve() ώστε να εκτελεστεί το πρόγραμμα μας. Η επόμενη γραμμή είναι πιο ενδιαφέρουσα. + +**2:** Η brk() χρησιμοποιείται για να αλλάξει το μέγεθος του data segment. Παίρνει ως παράμετρο το νέο τέλος του data segment και επιστρέφει 0 αν όλα πήγαν καλά +και -1 σε περίπτωση λάθους (όλα αυτά σύμφωνα με την man page που έχει ξεμείνει απο το linux 0.9.11). Εδώ η παράμετρος είναι 0 και η τιμή επιστροφής είναι ένας +μια διεύθυνση. Μόλις μάθαμε ότι η brk(NULL) επιστρέφει το τρέχον τέλος του data segment :) + +Τώρα ο dynamic linker αναλαμβάνει δράση.\ +**3-4:** Παρατηρούμε μια προσπάθεια να ανοίξουν δύο αρχεία: το \"/etc/ld.so.preload\" και το \"/etc/ld.so.cache\". Το πρώτο περιέχει μια λίστα με το ποιες +βιβλιοθήκες να φορτωθούν πριν από οποιαδήποτε βιβλιοθήκη του συγκεκριμένου εκτελέσιμου και στο δικό μου σύστημα δεν υπάρχει (θα ήταν ύποπτο αν υπήρχε\...). Το +δεύτερο περιέχει μια λίστα με όλες τις βιβλιοθήκες που γνωρίζει ο dynamic linker (δες man ldconfig) και ανοίγει επιτυχώς με file descriptor 3. + +**5-7:** Με την fstat ο linker πληροφορείται για το αρχείο που μόλις άνοιξε. Η πληροφορία που τον ενδιαφέρει πιο πολύ είναι το μέγεθος st\_size=64466 (δες man +fstat). Ύστερα το αρχείο γίνεται mapped(αντιστοιχείται) στη μνήμη στη διεύθυνση 0x40015000 (δες man mmap) και το αρχείο κλείνει. + +**8-15:** Ο linker βλέπει πως το εκτελέσιμο χρειάζεται τη βιβλιοθήκη libc.so.6. Έχοντας τις πληροφορίες από το προηγούμενο βήμα βρίσκει το path και το ανοίγει. +Ύστερα διαβάζει τα πρώτα 1024 bytes που περιέχουν τον ELF(Executable and Linkable Format) header του αρχείου και αφού επιβεβαιώσει ότι όντως πρόκειται για +shared βιβλιοθήκη φορτώνει τα διάφορα sections της. + +**16-17:** Γίνονται map ανώνυμα 4Kbytes και ελευθερώνεται(unmapped) ο χώρος που αντιστοιχεί στο \"/etc/ld.so.cache\". + +**18-19:** Λαμβάνονται πληροφορίες για τον file descriptor 1 (stdout) και γίνονται map ανώνυμα άλλα 4Kbytes + +**20:** Εδώ γράφεται στον fd 1 το κείμενο μας. Εμείς δεν χρησιμοποιήσαμε την write κατευθείαν αλλά η printf τελικά καλεί την write. + +**21-23:** Ελευθερώνεται το block που δεσμεύτηκε στη γραμμή 19, καλείται η semget() η οποία δεν έχει υλοποιηθεί(!) ακόμα στον δικό μου πυρήνα (2.4.20) και το +πρόγραμμα τερματίζει. + +### [3.2 ltrace]{#ss3.2} + +To ltrace είναι αντίστοιχο με το strace αλλά όπως δηλώνει και το όνομα του (library trace) παρακολουθεί κλήσεις συναρτήσεων από βιβλιοθήκες. Πρόκειται για ένα +αρκετά χρήσιμο πρόγραμμα που δίνει μια εποπτική εικόνα της ροής του προγράμματος. Βέβαια όπως και το strace μας δίνει απλώς μια ακολουθία από συμβάντα και +καθόλου πληροφορίες για τα κομβικά σημεία της διεργασίας (πχ κάποιος έλεγχος). + +H σύνταξη είναι : **ltrace \[options\] \[-o outputfile\] \[objfile \[args\]\]** + +Χρήσιμες παράμετροι είναι:\ +**-e call1,call2,\...**\ +Το πρόγραμμα παρακολουθεί μόνο τις call1,call2\... Αν πριν από κάποια συνάρτηση υπάρχει \'!\' τότε να μην παρακολουθηθεί.\ +**-p pid**\ +Καθορίζει σε ποια διεργασία να \"αγκιστρωθεί\" το πρόγραμμα ώστε να αρχίσει να παρακολουθεί. Προφανώς στην περίπτωση αυτή είναι περιττό να καθοριστεί το +objfile.\ +**-i**\ +Πριν από κάθε call εμφανίζεται η τιμή του IP (instruction pointer) τη στιγμή της κλήσης. Σε αντίθεση με την strace η επιλογή είναι πολύ χρήσιμη, διότι οι +κλήσεις συναρτήσεων βιβλιοθήκης γίνονται συνήθως κατευθείαν από τον κώδικα που μας ενδιαφέρει και όχι από κάποια μυστική γωνιά κάποιας απέραντης βιβλιοθήκης.\ +**-l libfilename**\ +Καθορίζει τις συναρτήσεις ποιων βιβλιοθηκών να παρακολουθεί η ltrace. Για περισσότερες από μια βιβλιοθήκες πρέπει να επαναληφθεί το \'-l\' πχ -l lib1 -l lib2 +\... + +> πχ +> bash$ ltrace -orce1.ltrace -i rce1 +> Usage: rce1 +> bash$ cat rce1.ltrace +> [080482fd] __libc_start_main(0x0804838c, 1, 0xbffff784, 0x08048274, 0x08048440 +> +> [080483b4] printf("Usage: %s = 21 +> [080483c1] exit(1 +> [ffffffff] +++ exited (status 1) +++ + + +### [4. Υλοποίηση των breakpoints]{#s4} + +Τα breakpoints, όπως είχαμε πει και στο προηγούμενο τεύχος, είναι σημεία στον κώδικα όπου διακόπτεται η εκτέλεση του προγράμματος και ο έλεγχος επιστρέφει στον +debugger. Όσον αφορά στον τρόπο υλοποίησης τους μπορούν να χωριστούν σε δύο κατηγορίες: τα software και τα hardware. + +### [4.1 Software Breakpoints]{#ss4.1} + +Είναι το είδος που απαντάται πιο συχνά διότι δεν απαιτεί κάποια υποστήριξη από τον επεξεργαστή. Όταν ορίζουμε ένα software breakpoint σε κάποια διεύθυνση μνήμης +τότε ο debugger, αφού αποθηκεύσει την εντολή που βρίσκεται σε εκείνο το σημείο την αντικαθιστά με μια εντολή trap (software interrupt). Ο debugger έχει +φροντίσει να αποκτήσει τον έλεγχο του trap αυτού. Επομένως, όταν εκτελεστεί η trap ο έλεγχος επιστρέφει στον debugger, ο οποίος επανατοποθετεί τα bytes της +αρχικής εντολής και περιμένει οδηγίες. Αφού προχωρήσουμε στο πρόγραμμα τοποθετείται πάλι η trap, αν πρόκειται για μόνιμο breakpoint. Στους x86 επεξεργαστές ως +trap χρησιμοποιείται η \"int 3\" με opcode 0xCC. + +Ας δούμε ένα παράδειγμα: + +> 0x8048429 : 0xff 0x75 0xf0 push DWORD PTR [ebp-16] +> 0x804842c : 0xff 0x75 0xf4 push DWORD PTR [ebp-12] +> 0x804842f : 0xe8 0x8c 0xfe 0xff 0xff call 0x80482c0 +> 0x8048434 : 0x83 0xc4 0x10 add esp,0x10 + +Έστω ότι τοποθετούμε ένα breakpoint στην εντολή call 0x80482c0. Αυτό που συμβαίνει είναι ότι ο debugger αντικαθιστά το πρώτο byte της εντολής με \"0xcc\" αφού +βέβαια σώσει κάπου το 0xe8. Οπότε τώρα έχουμε στην πραγματικότητα: + +> 0x804842f : 0xcc int 3 +> 0x8048430 : 0x8c 0xfe 0xff 0xff ... (σκουπίδια) +> 0x8048434 : 0x83 0xc4 0x10 add esp,0x10 + +Τα bytes που απέμειναν από την call (0x8c - 0xff) ίσως να σχηματίζουν μια καινούργια εντολή αλλά πάντως όχι μια που είναι επιθυμητή! Μην περιμένετε την παραπάνω +εικόνα της μνήμης να τη δείτε ποτέ μέσα από τον debugger με τον οποίο έχετε τοποθετήσει το breakpoint. Αυτό διότι ο ίδιος φροντίζει να μας εμφανίζει το +\"αυθεντικό\" περιεχόμενο της μνήμης όταν του το ζητάμε. Πάντως, παρόλο που δε μπορείτε να τα δείτε εύκολα, τα software breakpoints όντως υπάρχουν! Το παρακάτω +πρόγραμμα είναι αρκετό για να πείσει ακόμα και τους πιο \"δύσκολους\" από εσάς: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + #include + + int main(void) + { + + if (*((unsigned char *)main+6)==0xcc) + printf("Software Breakpoint detected at main()!\n"); + else + printf("No software breakpoint at main()!\n"); + + return 0; + } + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +> bash$ gcc -o bp_test bp_test.c +> bash$ ./bp_test +> No software breakpoint at main()! +> bash$ gdb bp_test +> (gdb) r +> Starting program: /home/alf/projects/magaz/issue1/bp_test +> No software breakpoint at main()! +> +> Program exited with code 01. +> (gdb) break main +> Breakpoint 1 at 0x804832e +> (gdb) r +> Starting program: /home/alf/projects/magaz/issue1/bp_test +> +> Breakpoint 1, 0x0804832e in main () +> (gdb) c +> Continuing. +> Software Breakpoint detected at main()! +> +> Program exited with code 01. + +Ο λόγος που ο έλεγχος γίνεται στο 7 byte της main() (main+6) και όχι στο πρώτο (main), είναι ότι ο GDB τοποθετεί τα breakpoints μετά από τον [πρόλογο της +συνάρτησης](05_rce2-5.html#c_call). + +### [4.2 Hardware Breakpoints]{#ss4.2} + +Τα hardware breakpoints βασίζονται στο υλικό και για αυτό ο ακριβής τρόπος υλοποίησης διαφέρει ανάλογα με τον επεξεργαστή. Στην αρχιτεκτονική x86 (386+) μέσα +στον επεξεργαστή υπάρχουν 4 debug registers DR0-DR3. Σε κάθε έναν από αυτούς μπορεί να ανατεθεί ο έλεγχος μιας θέσης μνήμης, ώστε να προκαλεί ένα interrupt όταν +η διεύθυνση μνήμης που τον αφορά διαβαστεί, γραφτεί, διαβαστεί ή γραφτεί ή εκτελεστεί ως μέρος της τρέχουσας εντολής (R, W, RW, X). Στα τρία πρώτα modes έχουμε +λειτουργία watchpoint και πρόκειται για τον μόνο πρακτικό τρόπο υλοποίησης τους. Με software, το μόνο που θα μπορούσαμε να κάνουμε είναι να ελέγχουμε κάθε +εντολή για προσπελάσεις στη μνήμη, διαδικασία **εξαιρετικά** χρονοβόρα. Εκμεταλλευόμενοι το hardware, κάθε προσπέλαση στη μνήμη συγκρίνεται σιωπηλά με τα +περιεχόμενα των DR\'s και αν υπάρξει κάποιο ταίριασμα επεμβαίνει ο debugger. Οι έλεγχοι γίνονται παράλληλα με την υπόλοιπη λειτουργία του επεξεργαστή και για +αυτό δεν υπάρχει καμία καθυστέρηση. + +Για να χρησιμοποιήσουμε hardware breakpoints στον GDB αντί για την εντολή **break** χρησιμοποιούμε την **hbreak**. H σύνταξη είναι ακριβώς όμοια με την +**break**. + +### [4.3 Hints and Tips - Home-made Traps]{#ss4.3} + +Συχνά χρειάζεται να σταματήσουμε ένα κομμάτι κώδικα πριν εκτελεστεί αλλά δεν μπορούμε να το κάνουμε με τη break του GDB διότι πχ ο κώδικας βρίσκεται σε μια +shared βιβλιοθήκη που δεν έχει φορτωθεί ακόμα. Ένας τρόπος να πετύχουμε το σκοπό μας είναι να τοποθετήσουμε μια εντολή trap (0xCC για x86) στο σημείο που +θέλουμε, αφού γράψουμε κάπου πιο byte ήταν πριν εκεί. Αυτό βέβαια θα πρέπει να γίνει στο αρχείο με έναν hex editor. Όταν τρέξει ο επιθυμητός κώδικας θα δούμε +κάτι σαν το παρακάτω: + +> Program received signal SIGTRAP, Trace/breakpoint trap. +> 0x0804835d in function () +> (gdb) print $eip$1 = (void *) 0x804835d +> (gdb) set *(--(char *)($eip))=0x55 +> (gdb) r +> ... + +Αυτό που κάνουμε είναι ουσιαστικά ότι ακριβώς κάνει ο debugger όταν βρει ένα breakpoint που έχουμε τοποθετήσει με την **break**.Η εντολή + +> set *(--(char *)($eip))=0x55 + +Πιo καθαρά θα μπορούσε να γραφτεί: + +> (gdb) set $eip=$eip-1 +> (gdb) set *(char *)$eip=0x55 ή (gdb) set {char}$eip=0x55 + +Χρειάζεται να μειώσουμε τον eip, διότι όταν προκληθεί το trap ο έλεγχος επιστρέφει στον GDB με τον eip να δείχνει στην αμέσως επόμενη εντολή. Επομένως, +πηγαίνουμε μια θέση πίσω στη μνήμη και γράφουμε το αυθεντικό byte (εδώ το 0x55, push ebp). Προσοχή στο casting σε (char \*). Είναι απαραίτητο γιατί αλλιώς ο GDB +νομίζει (από default) πως θέλουμε να γράψουμε τον **ακέραιο** 0x55 (0x00000055) και έτσι θα γράψει 4 bytes αντί 1 που θέλουμε εμείς! + +> + + +### [5. Χρήσιμες έως **πολύ** χρήσιμες πληροφορίες]{#s5} + +### [5.1 The C calling convention]{#ss5.1} + +Στο κομμάτι αυτό θα εξετάσουμε τον τρόπο με τον οποίο γίνεται το πέρασμα των παραμέτρων στις συναρτήσεις αλλά και πως υλοποιούνται οι τοπικές μεταβλητές. +Ύστατος σκοπός είναι η εξοικείωση με τον υλοποίηση των συναρτήσεων σε χαμηλό επίπεδο ώστε η μελέτη των assembly listings να είναι γρήγορη και οδηγεί σε ξεκάθαρα +συμπεράσματα. + +Υπάρχουν βέβαια διάφορες επιλογές αλλά εδώ θα δούμε την πιο κοινή, η οποία χρησιμοποιείται στα προγράμματα της C (και όχι μόνο). Η κλήση μιας συνάρτησης έχει ως +αποτέλεσμα τη μεταφορά του ελέγχου σε κάποιο αυθαίρετο κομμάτι κώδικα. Τα μεγάλα ερωτήματα που τίθενται είναι τα εξής: + +- 1\. πως ξέρει αυτό το κομμάτι που βρίσκονται οι παράμετροι που περιμένει; +- 2.που αποθηκεύει τις τοπικές μεταβλητές; + +Μια πρώτη προσέγγιση θα ήταν να παίρνει τα δεδομένα του (παραμέτρους και τοπικές μεταβλητές) από συγκεκριμένες απόλυτες διευθύνσεις μνήμης. Όλα ωραία και καλά +μέχρι να χρειαστεί να υλοποιήσουμε αναδρομικές συναρτήσεις (συναρτήσεις που καλούν τον εαυτό τους). Για παράδειγμα η f η οποία εκτυπώνει τους αριθμούς από το 1 +μέχρι το x: + +> void f(int x) +> { +> if (x>1) +> f(x-1); +> printf("%d ",x); +> } + +και έστω πως η συνάρτηση περιμένει την παράμετρο x στη διεύθυνση 100 (τι πρωτότυπους αριθμούς που χρησιμοποιώ!) + +Αν έχουμε την κλήση f(2) εμείς περιμένουμε το αποτέλεσμα \"1 2\". Ας δούμε πιο αναλυτικά τι όντως θα συμβεί: Όταν κληθεί για πρώτη φορά η f όλα είναι όπως +πρέπει, η διεύθυνση 100 περιέχει το αρχικό x (το 2). Το 2 είναι μεγαλύτερο από το 1 οπότε καλείται η f(x-1) δηλαδή η f(1). H διεύθυνση 100 περιέχει τώρα τον +αριθμό 1. Το τρέχον x δεν είναι μεγαλύτερο του 1 οπότε απλώς εκτελείται η printf και εκτυπώνεται το \"1\". Η συνάρτηση f(1) επιστρέφει και εκτελείται η printf η +οποία εκτυπώνει \... πάλι \"1\". Η προηγούμενη τιμή του x (το 2) έχει χαθεί :( + +Η μαγική λέξη για την αποφυγή τέτοιων προβλημάτων είναι ο σωρός (stack). Κάθε πρόγραμμα διατηρεί το δικό του σωρό, ο οποίος αρχίζει από υψηλές διευθύνσεις και +μεγαλώνει προς της χαμηλές. Η σύμβαση της C για την κλήση συναρτήσεων λέει πως οι παράμετροι \"σπρώχνονται\" στο σωρό από τα δεξιά προς τα αριστερά. Επίσης η +συνάρτηση που έκανε την κλήση είναι υπεύθυνη για να καθαρίσει τον σωρό (να τον φέρει στην αρχική κατάσταση). Για παράδειγμα η κλήση της συνάρτησης f(x,y,z) +μεταφράζεται σε: + +> push z +> push y +> push x +> call f -------> f: ... +> ... +> ret +> add esp,12 (4bytes * 3 παραμέτρους) + +![](/33/img/stack01.png) + +Οι τοπικές μεταβλητές αποθηκεύονται και αυτές στο σωρό σε χώρο που δεσμεύεται μετά τη διεύθυνση επιστροφής της συνάρτησης. Αυτό γίνεται απλά με την μείωση του +stack pointer esp (δείκτη στην \"κορυφή\" του σωρού) κατά τόσες θέσεις όσες τα bytes που χρειαζόμαστε για τις τοπικές μεταβλητές. + +![](/33/img/stack02.png) + +Για να προσπελάσουμε κάποιο δεδομένο χρησιμοποιούμε τον esp και τη σχετική απόσταση του από αυτόν. Για παράδειγμα η τελευταία τοπική μεταβλητή (σε σχέση με τη +σειρά που τις έχουμε δηλώσει στον κώδικα) βρίσκεται στη διεύθυνση esp+0.Το πρόβλημα με το παραπάνω σχέδιο είναι ότι κανείς δεν εγγυάται πως ο esp δεν θα αλλάξει +τιμή κατά τη διάρκεια της συνάρτησης. Για παράδειγμα αν εκτελεστεί μία εντολή push eax, η τελευταία τοπική μεταβλητή είναι πια στη θέση esp+4 και όχι esp+0. +Έτσι ο compiler πρέπει να φροντίσει να ακολουθεί τις αλλαγές και να παράγει σωστά offsets για τις τοπικές μεταβλητές. + +![](/33/img/stack03.png) + +Μια πιο βολική προσέγγιση χρησιμοποιεί την έννοια του \"πλαισίου\". Με κάθε κλήση συνάρτησης δημιουργείται στο σωρό ένα \"πλαίσιο\" (frame) που περιέχει τα +δεδομένα της συγκεκριμένης κλήσης (παραμέτρους, τοπικές μεταβλητές και διεύθυνση επιστροφής) και επίσης τη διεύθυνση του πλαισίου της προηγούμενης συνάρτησης +(αυτή που κάλεσε την τρέχουσα). Μέσα σε κάθε πλαίσιο ο τρόπος πρόσβασης στα τοπικά δεδομένα είναι ανεξάρτητος από τις αλλαγές του δείκτη του σωρού. Η δημιουργία +του πλαισίου απαιτεί 4 μικρές αλλαγές σε σχέση με τη προηγούμενη προσέγγιση: + +- 1.Ένας καταχωρητής δεσμεύεται καθολικά για να συγκρατεί την τρέχουσα διεύθυνση πλαισίου. Στους x86 αυτός είναι ο ebp. +- 2.Πριν τη δέσμευση χώρου για τις τοπικές μεταβλητές αποθηκεύεται στο σωρό η διεύθυνση του προηγούμενου πλαισίου. +- 3.Μετά το (1) η διεύθυνση που περιέχει ο esp (κορυφή του σωρού) γίνεται η διεύθυνση του τρέχοντος πλαισίου και αποθηκεύεται στον ebp. +- 4.Πριν την επιστροφή της συνάρτησης επανατοποθετείται στον ebp η διεύθυνση του προηγούμενου πλαισίου. + +Σχηματικά: + +![](/33/img/stack04.png) + +Τώρα σε κάθε συνάρτηση ο κώδικας για την προσπέλαση των τοπικών δεδομένων είναι ο ίδιος. Αν υποθέσουμε πως έχουμε επεξεργαστή και λειτουργικό 32-bit (πχ linux +:) ) τότε η πρώτη παράμετρος της συνάρτησης βρίσκεται στη θέση ebp+8, η δεύτερη στην ebp+12 κτλ Ομοίως η πρώτη τοπική μεταβλητή βρίσκεται στη θέση ebp-4, η +δεύτερη στη θέση ebp-8.Αυτό ισχύει ακόμα και όταν οι παράμετροι και οι τοπικές μεταβλητές είναι πιο μικροί από 4 bytes (πχ char). O compiler προτιμά να +σπαταλήσει λίγη μνήμη για λόγους ομοιογένειας στον παραγόμενο κώδικα αλλά κυρίως για λόγους απόδοσης, αφού με αυτόν τον τρόπο όλα τα δεδομένα είναι +ευθυγραμμισμένα (aligned) σε όρια των 4bytes (ανοίξτε κάποιο βιβλίο αρχιτεκτονικής υπολογιστών για να μάθετε γιατί\...). Βέβαια, υπάρχουν και προφανείς +εξαιρέσεις όταν για παράδειγμα έχουμε \"δεδομένα\" μεγαλύτερα των 4 bytes όπως structs. + +Οι περισσότεροι compilers δίνουν επιλογή πιο από τους δύο τρόπους να χρησιμοποιήσουν. Ο gcc χρησιμοποιεί πλαίσια ως default επιλογή και με το flag +\"-fomit-frame-pointer\" προσπαθεί να το αποφύγει όπου γίνεται. Από το info: + +> -fomit-frame-pointer +> Don't keep the frame pointer in a register for functions that +> don't need one. This avoids the instructions to save, set up and +> restore frame pointers; it also makes an extra register available +> in many functions. *It also makes debugging impossible on some +> machines.* + +Mια συνάρτηση που χρησιμοποιεί frames τυπικά αρχίζει με την ακολουθία: []{#c_call} + +> push ebp +> mov ebp,esp ; Function prologue +> sub esp, M + +και τελειώνει: + +> mov esp, ebp +> pop ebp ; Function epilogue +> ret +> +> ή +> +> leave +> ret + +### [5.2 System Calls]{#ss5.2} + +Τα σύγχρονα λειτουργικά συστήματα που σέβονται τον εαυτό τους, φροντίζουν να ξεχωρίζουν το \"χώρο\" του πυρήνα (kernel space) από το \"χώρο\" τον χρηστών (user +space). Αυτό γίνεται ώστε να μη μπορεί οποιοσδήποτε τυχαίος χρήστης να πειράξει τον πυρήνα(ή να εκτελεί κώδικα του πυρήνα αυθαίρετα) και να θέσει σε κίνδυνο την +ασφάλεια του συστήματος. Ο χωρισμός αυτός υλοποιείται με τη χρήση μηχανισμών που προσφέρει ο εκάστοτε επεξεργαστής (πχ paging, segmentation). + +Βέβαια, με κάποιο τρόπο πρέπει οι εφαρμογές να επικοινωνούν με τον πυρήνα για διάφορες εργασίες (πχ Ι/Ο). Η λύσεις είναι τα λεγόμενα call gates (όχι colgates, +αυτά είναι οδοντόκρεμες\...) και τα software interrupts. Και τα δύο έχουν ως σκοπό να ορίσουν διακριτά σημεία εισόδου στον πυρήνα. Μπορείτε να τα σκεφτείτε ως +\"gateways\" για το τοπικό δίκτυο του πυρήνα. + +Στο linux χρησιμοποιούνται τα call gates για εκτελέσιμα που έρχονται από άλλα λειτουργικά πχ solaris και το software interrupt 0x80 για native εφαρμογές. Στο +κείμενο αυτό θα ασχοληθούμε μόνο με την δεύτερη τεχνική (για την πρώτη θα έπρεπε πρώτα να αναφερθεί όλος ο μηχανισμός των descriptors στους x86). Το interrupt +0x80 όταν κληθεί μεταφέρει τον έλεγχο στον πυρήνα, μαζί με πληροφορίες για την εργασία που πρέπει να εκτελέσει. + +Κατά την κλήση ενός syscall (για την αρχιτεκτονική x86) στον eax υπάρχει ο αριθμός του syscall και στους ebx, ecx, edx, esi, edi, ebp(πυρήνες 2.4 και πάνω) οι +μέχρι έξι παράμετροι που δέχεται το συγκεκριμένο syscall. Έτσι μια τυπική κλήση είναι: + +> mov ebx, 0 +> mov eax, 1 ; syscall 1: exit +> int 0x80 + +Φυσικά, επειδή το να γράφουμε τέτοιο κώδικα κάθε φορά που θέλουμε κάτι από τον πυρήνα δεν είναι και πολύ ευχάριστο, η libc έχει φροντίσει να δημιουργήσει τις +αντίστοιχες wrapper συναρτήσεις. Έτσι αντί για το παραπάνω εμείς αρκεί να γράφουμε exit(0). + + +### [6. Hands-on Παράδειγμα]{#s6} + +Έστω ότι μια μέρα πέφτει στα χέρια σας το παρακάτω εκτελέσιμο : [rce2.bz2 (1.7k)](rce2.bz2) + +Όλο χαρά το εκτελείτε: + +> bash$ rce2 +> Say the password: sesame +> What??? +> bash$ rce2 +> Say the password: kuku +> What??? + +Ποιο να είναι άραγε το μυστικό password; + +Ας ετοιμαστούμε λοιπόν για αντιμετωπίσουμε ατελείωτα listing με εκατομμύρια γραμμές ακατανόητου κώδικα! Η ας δοκιμάσουμε κάτι πιο απλό: + +> bash$ strings rce2 +> ... + +Η **strings** τυπώνει όλες τις εκτυπώσιμες ASCII ακολουθίες που υπάρχουν στο εκτελέσιμο και έχουν μήκος πάνω από 4 χαρακτήρες (default). + +Μέσα στη λίστα με τα strings θα παρατηρήσετε κάποιο πιο ενδιαφέρον από τα υπόλοιπα :) Σπάνια βέβαια συμβαίνει να υπάρχουν plain-text κωδικοί μέσα στο εκτελέσιμο +αλλά δε χάνουμε τίποτα να δοκιμάσουμε! + +Για εκπαιδευτικούς σκοπούς, θεωρήστε ότι η προηγούμενη διαδικασία δε απέδωσε καρπούς. Ας δούμε τι μπορούμε να μάθουμε για τη ροή του προγράμματος. + +> bash$ ltrace -i -o rce2.ltr rce2 +> Say the password: sesame +> What??? +> bash$ cat rce2.ltr +> [080483b5] __libc_start_main(0x0804851c, 1, 0xbffff784, 0x0804830c, 0x08048594 +> +> [080484d5] printf("%s: ", "Say the password") = +> 18 +> [080484e1] fflush(0x40150340) = 0 +> [080484f5] fgets("sesame\n", 20, 0x401501e0) = +> 0xbffff700 +> [0804849c] isspace(10, 0x40153234, 0xbffff700, 0xbffff784, 0xbffff6e8) = +> 8192 +> [0804849c] isspace(101, 0x40153234, 0xbffff700, 0xbffff784, 0xbffff6e8) = 0 +> [08048557] puts("What???") = 8 +> [ffffffff] +++ exited (status 0) +++ + +Μόλις αποκτήσαμε δύο σπουδαίες πληροφορίες.\ +Κοιτάξτε καλά τη \_\_libc\_start\_main().\ +Συνεχίστε να την κοιτάζετε.\ +H \_\_libc\_start\_main(), εκτός των άλλων, φροντίζει να κληθεί και το δικό μας κυρίως πρόγραμμα.\ +Κοιτάξτε λίγο ακόμα\...\ +H \_\_libc\_start\_main() πρέπει να γνωρίζει που βρίσκεται ο δικός μας κώδικας. Επομένως\...\ +Για να σας βγάλω από την αγωνία, σας λέω πως η πρώτη παράμετρος της \_\_libc\_start\_main() πρόκειται για τη διεύθυνση της main (0x0804851c)! + +Αυτή η πρώτη πληροφορία οδηγεί στη δεύτερη. Παρατηρήστε ότι όλες οι διευθύνσεις μετά την \_\_libc\_start\_main() και μέχρι πριν την puts() είναι μικρότερες από +την αρχή της main(). Άρα είναι ασφαλές να υποθέσουμε πως δεν ανήκουν σε αυτή αλλά σε κάποια άλλη συνάρτηση. + +Το τρίτο πράγμα που μάθαμε, είναι ότι στη διεύθυνση 0x08048557 έχει ήδη αποφασιστεί αν το password μας είναι σωστό ή όχι. + +Ας χρησιμοποιήσουμε το βαρύ πυροβολικό\... + +> bash$ gdb rce2 +> (no debugging symbols found)...(gdb) break main +> Function "main" not defined. +> (gdb) + +Ουπς. Το εκτελέσιμο δεν περιέχει σύμβολα αλλά εμείς ξέρουμε τη διεύθυνση της main()! + +> (gdb) break *0x804851c +> Breakpoint 1 at 0x804851c +> (gdb) r +> Starting program: /home/alf/projects/magaz/issue1/rce2 +> (no debugging symbols found)... +> Breakpoint 1, 0x0804851c in printf () +> (gdb) x/30i $eip +> 0x804851c : push ebp +> 0x804851d : mov ebp,esp +> 0x804851f : push edi +> 0x8048520 : push esi +> 0x8048521 : sub esp,0x20 +> 0x8048524 : and esp,0xfffffff0 +> 0x8048527 : push esi +> 0x8048528 : push 0x13 +> 0x804852a : lea esi,[ebp-40] +> 0x804852d : push esi +> 0x804852e : push 0x80485bd +> 0x8048533 : call 0x80484bc +> 0x8048538 : mov edi,0x80485ce +> 0x804853d : mov ecx,0xb +> 0x8048542 : cld +> 0x8048543 : add esp,0x10 +> 0x8048546 : repz cmps ds:[esi],es:[edi] +> 0x8048548 : jne 0x8048564 +> 0x804854a : sub esp,0xc +> 0x804854d : push 0x80485d9 +> 0x8048552 : call 0x8048354 +> 0x8048557 : add esp,0x10 +> 0x804855a : lea esp,[ebp-8] +> 0x804855d : pop esi +> 0x804855e : xor eax,eax +> 0x8048560 : pop edi +> 0x8048561 : leave +> 0x8048562 : ret +> 0x8048563 : nop +> 0x8048564 : sub esp,0xc + +O GDB νομίζει πως βρισκόμαστε 408 bytes από την αρχή της printf για τους [γνωστούς λόγους](05_rce2-2.html#gdb_asm). Πριν αρχίσουμε σαν παλαβοί να κάνουμε single +step ας δούμε τι μπορούμε να συνάγουμε από το listing. + + push ebp + mov ebp,esp + push edi + push esi + +Καταρχάς η main είναι [frame-based](05_rce2-5.html#c_call) κάτι που φαίνεται από το γνώριμο πρόλογο. Επίσης σώζονται στο σωρό οι καταχωρητές esi και edi ώστε να +μπορούν να ανακτηθούν οι τιμές τους πριν το τέλος της συνάρτησης. Το γιατί γίνεται αυτό πρόκειται για μια εσωτερική υπόθεση του compiler (o gcc διατηρεί τους +ebx, esi και edi κατά τις κλήσεις διότι τους χρησιμοποιεί για δικά του θέματα (πχ προσωρινή αποθήκευση τιμών). + + sub esp,0x20 + and esp,0xfffffff0 + +Μετά δεσμεύεται χώρος στο σωρό για 0x20 bytes και επίσης ο esp μειώνεται(πιθανότατα) και άλλο ώστε να έρθει σε όριo των 16 bytes. Η όλη διαδικασία είναι +αποτέλεσμα του optimization και δεν είναι απαραίτητο πως το πρόγραμμα θα χρησιμοποιήσει όλη τη μνήμη που δεσμεύτηκε τελικά. + + push esi <--- ?? + push 0x13 + lea esi,[ebp-40] + push esi + push 0x80485bd + call 0x80484bc + ... + add esp,0x10 + +Ακολουθεί ένα μυστηριώδες \"push esi\" και ύστερα μια κλασική κλήση συνάρτησης. Η συνάρτηση δέχεται τρεις παραμέτρους: func\_0x804845c( 0x80485bd, 0x13, +ebp-40). H τελευταία παράμετρος είναι η διεύθυνση μιας τοπικής μεταβλητής, αφού έχει αρνητικό offset από τον ebp. Το αναμενόμενο \"add esp, X\" (διόρθωση του +σωρού) βρίσκεται λίγες γραμμές πιο κάτω. Ο λόγος που δε βρίσκεται αμέσως μετά την call, είναι ότι ο gcc αποφάσισε να αλλάξει τη σειρά των εντολών για λόγους +optimization (έχει να κάνει με τα pipelines του pentium). Όλα εντάξει; + +Ελπίζω να μην απαντήσατε \"ναι\"! Κάτι δεν πάει καλά σε όσα έχω πει ως τώρα: γιατί δέχτηκα με τόση σιγουριά πως η συνάρτηση δέχεται τρεις παραμέτρους, ενώ όχι +μόνο γίνονται τέσσερα push πριν από αυτή αλλά κυρίως, ο σωρός διορθώνεται κατά 0x10 = 4\*4 bytes (4 bytes για κάθε παράμετρο). Λοιπόν, εκτός από το γεγονός ότι +εγώ έγραψα το πρόγραμμα και το ξέρω :), υπάρχει ένας επιπλέον λόγος. Όταν γίνεται το πρώτο \"push esi\", ο esi δεν έχει αρχικοποιηθεί μέσα στη main() και έτσι +έχει μια άγνωστη τιμή. Γιατί να περάσουμε σε μια συνάρτηση μια παράμετρο με άγνωστη τιμή; + +Η απάντηση για ακόμα μια φορά είναι το optimization (περιττό να σας πω ότι το πρόγραμμα έγινε compile με -Ο2). Ο compiler θέλει να κρατάει τον esp σε +διευθύνσεις πολλαπλάσιες των 16 bytes! Το κόστος προσπέλασης σε μη aligned διευθύνσεις είναι τόσο σημαντικό, ώστε ο gcc εισάγει dummy εντολές για να το +αποφύγει! + + mov edi,0x80485ce + mov ecx,0xb + cld + ... + repz cmps ds:[esi],es:[edi] + jne 0x8048564 + +Εδώ στον edi φορτώνεται μια διεύθυνση μνήμης και στον edi η τιμή 11. Μετά \"καθαρίζεται\" το direction flag. Ακολουθεί η εντολή \"repz cmps +ds:\[esi\],es:\[edi\]\", η οποία με λίγα λόγια λέει: όσο τα bytes που βρίσκονται στις διευθύνσεις που δείχνουν esi και edi είναι ίσα και ο ecx δεν είναι 0 +αύξησε (αν το direction flag είναι 0/clear) τους esi και edi κατά ένα byte και έλεγξε ξανά (η μαγεία των CISC επεξεργαστων\...). Ουσιαστικά κάνει ακριβώς την +ίδια δουλειά με μια κλήση strncmp(esi,edi,ecx), ελέγχει αν τα πρώτα \#ecx bytes δύο string που αρχίζουν στις διευθύνσεις esi και edi είναι ίσα. + +Ωραία, ξέρουμε την τιμή του edi αλλά ο esi τη τιμή έχει; Λίγο πιο πάνω υπάρχει η \"lea esi,\[ebp-40\]\" και επειδή ξέρουμε ότι ο gcc φροντίζει να μην αλλάζει ο +esi από συναρτήσεις, είμαστε σίγουροι ότι έχει ακόμα την ίδια τιμή. + +Για να συνοψίσουμε, το πρόγραμμα καλεί μια συνάρτηση της οποίας μια παράμετρος είναι η διεύθυνση μιας τοπικής μεταβλητής (ebp-40) και μετά συγκρίνει τα bytes +που βρίσκονται εκεί με κάποια άλλα που βρίσκονται σε μια σταθερή θέση. Δε ξέρω τι λέτε εσείς αλλά εμένα μου φαίνεται πως εδώ γίνεται ο έλεγχος του password! + +Η επόμενη εντολή είναι η jne (jump if not equal/zero). Αν η σύγκριση είναι επιτυχής τότε το zero flag έχει ενεργοποιηθεί από το προηγούμενο βήμα και έτσι +**δεν** ακολουθούμε το άλμα. Αν το password είναι λάθος το ZF=0 και το άλμα γίνεται. + +Για να δούμε ποίο είναι το password: + +> (gdb) break *0x8048546 +> Breakpoint 2 at 0x8048546 +> (gdb) c +> Continuing. +> Say the password: sesame +> +> Breakpoint 2, 0x08048546 in printf () +> (gdb) x/5i $eip +> 0x8048546 : repz cmps ds:[esi],es:[edi] +> 0x8048548 : jne 0x8048564 +> 0x804854a : sub esp,0xc +> 0x804854d : push 0x80485d9 +> 0x8048552 : call 0x8048354 +> (gdb) x/s $esi +> 0xbffff720: "sesame" +> (gdb) x/s $edi +> 0x80485ce <_IO_stdin_used+26>: .......... xe xe! + +Η παραπάνω τεχνική, όπου βρίσκουμε ένα σωστό password/serial εντοπίζοντας το σημείο που γίνεται η σύγκριση με αυτό που έχουμε εισάγει εμείς, λέγεται +**password/serial fishing** + +Εντάξει, μάθαμε το password, γιατί όμως να σταματήσουμε εδώ; Γιατί να μην πειράξουμε το πρόγραμμα ώστε να δέχεται ως σωστό κάθε password; Για να το πετύχουμε, +αρκεί να μην ακολουθούμε ποτέ το άλμα. Ξέρουμε ότι η jne (σε αυτή τη μορφή) καταλαμβάνει στη μνήμη 2 bytes, διότι η επόμενη εντολή αρχίζει δύο bytes πιο μετά. + +> (gdb) x/2b 0x8048548 +> 0x8048548 : 0x75 0x1a + +Το 0x75 είναι το opcode της εντολής ενώ το 0x1a η (προσημασμένη) απόσταση του άλματος. Αν γίνει το άλμα ο έλεγχος θα μεταφερθεί 0x1a bytes από το τέλος της +εντολής(αρχή της επόμενης), εδώ 0x804854a + 0x1a = 0x8048564. + +Για να πετύχουμε το σκοπό μας, αρκεί να αντικαταστήσουμε τα δύο αυτά bytes με nop (no operation, opcode 0x90). Φυσικά δεν έχει νόημα να το κάνουμε αυτό μόνο στη +μνήμη αλλά στο image του εκτελέσιμου που βρίσκεται στο αρχείο. Το πρόβλημα είναι να εντοπίσουμε σε ποιο σημείο του αρχείου βρίσκεται ο κώδικας που θέλουμε να +πειράξουμε. Ο ELF header έχει όλες τις πληροφορίες που χρειαζόμαστε αλλά αφού δεν έχουμε αναφερθεί ακόμα σε αυτόν θα κάνουμε κάτι άλλο: θα ψάξουμε το αρχείο για +να βρούμε την αρχική ακολουθία από bytes. Υπάρχει περίπτωση η ίδια ακολουθία να υπάρχει σε πολλά σημεία και πρέπει να είμαστε σίγουροι πως πειράζουμε το σωστό. +Για αυτό χρειαζόμαστε αρκετά bytes γύρω από την εντολή (το context). + +> (gdb) x/10b 0x8048548-5 +> 0x8048543 : 0x83 0xc4 0x10 0xf3 0xa6 0x75 +> 0x1a 0x83 +> 0x804854b : 0xec 0x0c + +Αν ψάξετε για αυτά τα bytes στο αρχείο(με έναν hexeditor πχ του mc) θα τα βρείτε μόνο μια φορά και το offset του 0x75 0x1a είναι 0x548. Αντικαταστήστε τα δύο +αυτά bytes με 0x90 0x90. + +> bash$ ./rce2 +> Say the password: qrwrwr +> Hooray! +> bash$ ./rce2 +> Say the password: sdfeg4453 +> Hooray! + +Συγχαρητήρια, μόλις \"σπάσατε\" το πρόγραμμα! + + +### [7. Πρόκληση]{#s7} + +### [7.1 Προηγούμενη πρόκληση - Λύση και Hall Of Fame]{#ss7.1} + +Στην προηγούμενη πρόκληση ο σκοπός ήταν να βρείτε ποιος κωδικός αντιστοιχεί στο όνομα σας. Το μεγάλο πρόβλημα που είχα ήταν ότι για να υπάρξει source listing +πρέπει εκτός από το compilation με το -g να είναι διαθέσιμο και το αντίστοιχο source αρχείο. Θα μπορούσα απλώς να σας το δώσω και να σας προτρέψω να μην το +κοιτάξετε. Κάτι μου λέει όμως ότι πολλοί δε θα μπορούσαν να αντισταθούν στο πειρασμό ;) Για αυτό το λόγο το κυρίως αρχείο είναι απλώς ένα container που περιέχει +τόσο το εκτελέσιμο challenge όσο και τον κώδικα του (στοιχειωδώς κρυπτογραφημένο με xor). Κατά την εκτέλεση τα κάνει dump σε δύο κρυφά αρχεία(\".ch0src\" και +\".alfch0\") στον τρέχοντα κατάλογο και τρέχει το \".alfch0\" ή τον gdb. Τα αρχεία αυτά διαγράφονται μόλις τελειώσει το πρόγραμμα. + +Το challenge αυτό καθεαυτό είναι σχετικά απλό, για αυτό και άλλαξα τον πηγαίο κώδικα ώστε να έχει ανούσια ονόματα μεταβλητών και συναρτήσεων. Αρχικά προτρέπει +τον χρήστη για το όνομα και τον κωδικό (συνάρτηση \"f\"), και μετά παράγει δύο αριθμούς, έναν για το όνομα(συνάρτηση \"f1\") και έναν για τον κωδικό(συνάρτηση +\"f45\"). Aν οι δύο αριθμοί συμπίπτουν και το μήκος το ονόματος και του κωδικού είναι μη μηδενικά τότε όλα ΟΚ! + +Η συνάρτηση f1 περιέχει μια πιθανώς one-way hash function (σημ: δεν έχει αποδειχτεί ότι τέτοιες συναρτήσεις υπάρχουν) ενώ η f45 είναι σαφώς +αντιστρέψιμη(υπολογιστικά πάντα). Αν και η f45 ήταν δύσκολα αντιστρέψιμη, τότε η πρόκληση θα ήταν πρακτικά άλυτη. Για όσους αρέσκονται στoυς τύπους: + +Ν=f1(name)\ +P=f45(pass) + +Εμείς γνωρίζουμε τo name, την f1(), την f45() και μπορούμε να υπολογίσουμε το Ν. Το πρόβλημα είναι να βρούμε το pass ώστε το P να είναι ίσο με το N. + +Η f45() είναι: + +> long int f45(char *s,int l) +> { +> unsigned long int h; +> +> h=strtoul(s,NULL,16); +> if (h!=0) { +> h^=0x55555555; +> if (h&1) +> h^=0x00badbad; +> else +> h^=0x00dabdab; +> } +> return h; +> } + +Η αντιστρεψιμότητα(υπολογιστική) της f45() βασίζεται στο γεγονός ότι η xor είναι συμμετρική και εδώ έχουμε μόνο xor. Επίσης με το if(h&1) {\...} υπάρχει +κίνδυνος να κάνουμε την f45() μη αντιστρέψιμη(μαθηματικά) αλλά οι τιμές είναι επιλεγμένες ώστε να μη συμβαίνει αυτό. Βέβαια η μαθηματική μη αντιστρεψιμότητα δεν +είναι πρόβλημα, απλώς θα υπήρχαν περισσότεροι από ένας σωστοί κωδικοί για κάθε όνομα. + +Επομένως η f\_45() (αντίστροφη): + +> unsigned long f_45(unsigned long h) +> { +> unsigned long r; +> +> r=h; +> +> if (r!=0) { +> r^=0x55555555; +> if (r&1) +> r^=0x00badbad; +> else +> r^=0x00dabdab; +> } +> +> return r; +> } + +**Hall Of Fame** + +Συγχαρητήρια στους: + +1\. Λαμπής Μιχαήλ\ +2. Γιώργος Πρέκας\ +3. Αρχισυντάκτης (\...με ανάγκασε να τον συμπεριλάβω στο hall of fame!) + +Για τις δωρεάν συνδρομές ενοχλείστε τον αρχισυντάκτη :) + +Ο κώδικας του προηγούμενου challenge: [magaz-ch0-src.tar.bz2 (15k)](magaz-ch0-src.tar.bz2) + +### [7.2 Πρόκληση \#1]{#ss7.2} + +Αυτή τη φορά τα πράγματα είναι κάπως πιο πολύπλοκα. Το εκτελέσιμο δεν περιέχει debugging πληροφορίες. Σκοπός είναι το σύστημα να σας πει ότι το authentication +έγινε με επιτυχία. Καλή εξερεύνηση\... + +Το εκτελέσιμο: [challenge1.bz2 (6.3k)](challenge1.bz2) + +Όσοι επιθυμούν ας μου στείλουν ένα mail εξηγώντας συνοπτικά πως λειτουργεί το πρόγραμμα και τα δεδομένα-απαντήσεις. Αν κάποιος έχει όρεξη ας φτιάξει και έναν +key generator! Ως συνήθως όσοι τα καταφέρουν θα μπουν στο επόμενο Hall Of Fame! + +Στείλτε σχόλια, διορθώσεις, προσθήκες στο alf82 at freemail dot gr. + diff --git a/content/articles/34/01_editorial.md b/content/articles/34/01_editorial.md new file mode 100644 index 0000000..12325b8 --- /dev/null +++ b/content/articles/34/01_editorial.md @@ -0,0 +1,32 @@ ++++ +title = 'Editorial' +date = '2003-10-01T00:00:00Z' +description = '' +author = 'Ιατρού Μιχάλης iatrou ατ hellug ντοτ gr(mailto:iatrouNO@SPAMhellug.gr)' +issue = ['Magaz 34'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Magaz\... still unpatented.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αναμφισβήτητα το πιο σημαντικό γεγονός του Σεπτεμβρίου ήταν η ψηφοφορία σχετικά με τα software patents στο Ευρωπαϊκό Κοινοβούλιο. Η ψηφοφορία πραγματοποιήθηκε +στις 24 Σεπτεμβρίου, ενώ είχε ήδη αναβληθεί δύο φορές, εκ των οποίων η τελευταία ήταν στις αρχές Σεπτεμβρίου. Τα αποτελέσματα της ψηφοφορίας δικαίωσαν τις +προσπάθειες όλων όσων αντιτάχθηκαν στα software patents: οι περισσότερες τροποποιήσεις που ψηφίστηκαν στηρίζουν την ιδέα ότι το software δεν μπορεί να +πατενταριστεί. Αν κρίνουμε δε από διάφορες [αντιδράσεις](http://news.zdnet.co.uk/business/legal/0,39020651,39116709,00.htm) μάλλον \"κάποιοι\" ενοχλήθηκαν πολύ +από αυτή την εξέλιξη\... + +Όπως όμως ήταν αναμενόμενο, σε μία ψηφοφορία που διήρκεσε μόλις 40 λεπτά και ψηφίστηκαν συνολικά 78 τροποποιήσεις, δεν ήταν εφικτό να γίνουν όλα **ακριβώς** +όπως θα τα θέλαμε: μπορεί οι βάσεις να έχουν μπει, αλλά περίπου το 20% των τροποποιήσεων πρέπει να επανεξεταστεί και να καταστεί απόλυτα σαφές ότι software και +πατέντες δεν συμβαδίζουν. + +Το σίγουρο είναι ότι αν και κερδίσαμε αυτή τη μάχη, δεν έχουμε κερδίσει τον πόλεμο. Είναι βέβαιο πως στο εγγύς μέλλον θα υπάρξουν πολλές προσπάθειες να πληγεί η +ελευθερία του λογισμικού και πρέπει όλοι να είμαστε σε εγρήγορση + +**Επί του πιεστηρίου\...**\ +9 με 12 Οκτωβρίου πραγματοποιήθηκε στον εκθεσιακό χώρο της HELEXPO στη Θεσσαλονίκη η δεύτερη μεγαλύτερη έκθεση πληροφορικής στην Ελλάδα, η Infosystem. Ο +HEL.L.U.G. μετά από δύο χρόνια απουσίας έδωσε και πάλι το παρόν. Η παρουσία του μπορεί να χαρακτηριστεί απόλυτα επιτυχής: μοιράστηκαν μερικές χιλιάδες CD, ο +κόσμος ενημερώθηκε για το Linux, τον σύλλογο, το ελεύθερο λογισμικό αλλά και για σημαντικά προβλήματα όπως τα software patents. Φωτογραφίες τόσο από την έκθεση +όσο και από τις λοιπές δραστηριότητες του τετραήμερου μπορείτε να βρείτε [εδώ](http://www.hellug.gr/infosystem2003/index.html). diff --git a/content/articles/34/02_texinfo.md b/content/articles/34/02_texinfo.md new file mode 100644 index 0000000..fea6b39 --- /dev/null +++ b/content/articles/34/02_texinfo.md @@ -0,0 +1,326 @@ ++++ +title = 'Documentation ala GNU' +date = '2002-07-01T00:00:00Z' +description = '' +author = 'Καπελώνης Κωστής kkapelon _AT_ freemail.gr(mailto:kkapelonSPAM@SUXfreemail.gr)' +issue = ['Magaz 34'] +issue_weight = 2 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Σε αυτό το άρθρο γίνεται μία εισαγωγή στο επίσημο εργαλείο για documentation της GNU, το σύστημα Texinfo. Απευθύνεται σε προγραμματιστές που έχουν τελειώσει +την κατασκευή μιας εφαρμογής κονσόλας και επιθυμούν να ενσωματώσουν βοήθεια σε αυτή.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Εισαγωγή** +----------------------------------------- + +**2. Οι επιλογές σας** +------------------------------------------------ + +**3. Το texinfo από την μεριά του χρήστη.** +--------------------------------------------------------------------- + +**4. texinfo vs manpages** +---------------------------------------------------- + +**5. Η φιλοσοφία του texinfo** +-------------------------------------------------------- + +**6. To πιο απλό Texinfo αρχείο** +----------------------------------------------------------- + +**7. Ένα μεγαλύτερο έγγραφο** +------------------------------------------------------- + +**8. Συγγραφή του κυρίως κειμένου.** +-------------------------------------------------------------- + +**9. Emacs shortcuts** +------------------------------------------------ + +**10. Επίλογος** +-------------------------------------------- + + +### [1. Εισαγωγή]{#s1} + +Δεν νομίζω ότι χρειάζεται να επαναλάβω ρήσεις για το Documentation και το sex. Μεγάλα παιδιά είστε, οπότε ξέρετε ότι μεγάλο βάρος στην ποιότητα και την +ευχρηστία μιας εφαρμογής, έχει ΚΑΙ η βοήθεια/τεκμηρίωση που την συνοδεύει. + +Δυστυχώς αρκετές φορές η βοήθεια ενός προγράμματος παραμελείται από τους προγραμματιστές της. Όλοι μας έχουμε συναντήσει προγράμματα που ενώ ήταν λειτουργικά +και μπορούσαν να εκπληρώσουν το σκοπό τους, είχαν ελλιπές ή ακόμα και μηδαμινό documentation. + +Ειδικά στον χώρο του ανοιχτού λογισμικού (open source) τα πράγματα δεν είναι πολύ καλά. Άπειρες επιλογές με περίεργα ονόματα σε γραφικά προγράμματα, ή +undocumented παράμετροι σε προγράμματα κονσόλας (command line arguments) είναι καθημερινό φαινόμενο. Δεν μου αρέσει να ενεργοποιώ επιλογές που απλά είδα στο +δίκτυο ή άκουσα από φίλους ότι \"έτσι λειτουργεί\". Οι μέρες του voodoo πρέπει να μείνουν επιτέλους στην ιστορία. + +Τώρα θα πούνε μερικοί, \"σιγά ρε φίλε! Use the source, Luke!\". Μα καλά είμαστε σοβαροί; Είμαστε στο 2000+ και θα πρέπει να ανοίξω τον πηγαίο κώδικα του +προγράμματος για να δω τι κάνει;Δεν το δέχομαι αυτό. Καλή εφαρμογή = καλός κώδικας + καλή τεκμηρίωση. + +Γράφω λοιπόν αυτό το άρθρο έτσι ώστε όταν τελειώσετε το προγραμματιστικό σας αριστούργημα, με την τέλεια δομημένη εσωτερική αρχιτεκτονική, την ταχύτατη μεταφορά +πληροφορίας ανάμεσα στα διάφορα μέρη του, τις βελτιστοποιημένες στο έπακρο εσωτερικές ρουτίνες και τις πολύπλοκες δομές δεδομένων,όταν πιστέψετε ότι έχετε βάλει +τάξη στο χάος ;-), όταν νιώσετε ένας μικρός θεός και βιώσετε το θαύμα της δημιουργίας, να μην ξεχάσετε και τον παράγοντα τεκμηρίωση. + +### [2. Οι επιλογές σας]{#s2} + +Αν η εφαρμογή που γράφετε έχει γραφικό μέρος και ανήκει σε κάποιο από τα δύο γνωστά περιβάλλοντα εφαρμογών (desktop environments), δεν χρειάζεται να συνεχίσετε +την ανάγνωση. Απλά δείτε τις αντίστοιχες σελίδες που εξηγούν πως πρέπει να είναι το documentation της εφαρμογής σας. Λογικά θα πρέπει να γράψετε ένα αρχείο SGML +Docbook το οποίο θα πρέπει να έχει μια συγκεκριμένη μορφή. + +Αν η εφαρμογή σας είναι απλά γραφική και δεν υπάρχει \"σωστός\" τρόπος για την εισαγωγή βοήθειας, προτιμήστε το δοκιμασμένο Latex. Βάζετε το output σε html στο +site του προγράμματος για online αναζήτηση, ενώ μαζί με το ίδιο το πρόγραμμα ενσωματώνετε τα ps και pdf αρχεία. Αυτό είναι απλά μία πρόταση. Είναι στην κρίση +σας να επιλέξετε. + +Εδώ θα μιλήσουμε για την περίπτωση όπου το πρόγραμμα σας δεν έχει γραφικό περιβάλλον, αλλά εκτελείται σε περιβάλλον γραμμής εντολών. Αν είναι πολύ απλό στην +χρήση, και με λίγες παραμέτρους τα πράγματα είναι εύκολα. Απλά βάλτε στο -h/\--help του να εμφανίζεται κάθε δυνατή παράμετρος με μία μικρή εξήγηση. Σε αυτήν την +περίπτωση μπορείτε να ακολουθήσετε και το GNU style για τις παραμέτρους όπου κάθε μία έχει ένα σύντομο όνομα για τους έμπειρους χρήστες (πχ -b) και ένα πιο +μεγάλο για τους αρχάριους (πχ \--buffer-size). + +Αν όμως δεν ισχύει κάτι τέτοιο οφείλετε να δώσετε ξεχωριστό documentation. Αυτό θα βοηθήσει τόσο τους έμπειρους χρήστες όταν θα θελήσουν να \"ξεζουμίσουν\" το +πρόγραμμα σας, αλλά και τους αρχάριους που αρέσκονται στο να βρίσκουν κάπου \"μαζεμένη\" την βοήθεια ενός προγράμματος. + + +### [3. Το texinfo από την μεριά του χρήστη.]{#s3} + +Ας δούμε ένα παράδειγμα. Έστω ότι θέλετε να μάθετε τα πάντα για το GNU flex. + +Αρχικά μπορείτε να ανοίξετε ένα τερματικό στο pc σας και να δώσετε \"info flex\" [\[εικόνα\]](/34/img/flexINFO.png). Πατώντας το πλήκτρο space μπορείτε να διαβάσετε +όλο το manual από την αρχή μέχρι το τέλος. Με τα πλήκτρα (p)revious, (n)ext kai (u)p μπορείτε να περιπλανηθείτε στους κόμβους του. Μπορείτε επίσης να φορτώσετε +τον Emacs 21+ και με Ctrl-h i ή από το μενού \"Help-\>manuals-\>Browse manuals with info\" να δείτε όλα τα manuals που έχετε στο σύστημα σας σε texinfo format +(το ίδιο γίνεται και αν γράψετε σκέτο \"info\" στην γραμμή εντολών). Μόλις πάτε στο manual του flex ισχύουν τα ίδια keyboard shortcuts. Επίσης έχετε όμορφα +κουμπιά στην toolbar, ενώ μπορείτε να κάνετε και μεσαίο κλικ στα links που βλέπετε [\[εικόνα\]](/34/img/flexEMACS.png). + +Αν επιθυμείτε κάτι πιο συμβατικό μπείτε στο [gnu.org (manuals section)](http://www.gnu.org/manual/manual.html) όπου μπορείτε είτε να κατεβάσετε ολόκληρο το +manual σε Postscript μορφή [σε Postscript μορφή](http://www.gnu.org/manual/flex-2.5.4/ps/flex.ps.gz) για να το τυπώσετε ή μπορείτε να το διαβάσετε Online σε +απλή και γρήγορη [HTML μορφή](http://www.gnu.org/manual/flex-2.5.4/html_node/flex_toc.html) + +Τέλος ακόμα και αν έχετε GNOME η KDE βάζοντας info://foo στην γραμμή διεύθυνσης, μπορείτε να δείτε τα infopages της εφαρμογής foo. (Αν και νομίζω ότι στις +τελευταίες εκδόσεις KDE και GNOME υπάρχει στο help ξεχωριστή επιλογή \"browse info pages\" όπου βρίσκονται όλα τα manuals του συστήματος.) + +Τώρα πια θα πρέπει να έχετε αναγνωρίσει την άνεση που προσφέρει το texinfo. Browsing σε κονσόλα χρήσιμο για τους servers σας, ενσωμάτωση με τον emacs, γνώριμη +html μορφή και υψηλής ποιότητας manual έτοιμο για εκτύπωση. Ταχύτητα, ευχρηστία και συμβατότητα. Και όπως προφανώς καταλάβατε τα πάντα βγαίνουν από ένα αρχείο +που γράφετε μία φορά και μετά με τα διάφορα εργαλεία το μετατρέπετε σε ότι μορφή θέλετε. + + +### [4. texinfo vs manpages]{#s4} + +Λυπάμαι που θα απογοητεύσω όλους τους hard-core unixάδες, αλλά το επίσημο documentation format σύμφωνα με την GNU είναι το texinfo και όχι οι manpages. Μία +manpage είναι αρκετή για μικρά προγράμματα, από κάποιο σημείο και μετά όμως τα πράγματα δυσκολεύουν. + +Το γεγονός ότι μία manpage στερείται δομής, την κάνει δύσχρηστη. Πόσες φορές δεν έχετε εκνευρισθεί όταν ψάχνετε μία παράμετρο σε μία manpage και έχετε βρει όλες +τις άλλες εκτός από αυτήν που χρειάζεστε;Κατά την γνώμη μου μία manpage πρέπει να έχει απλά μια μικρή περιγραφή του προγράμματος. + +Έτσι σήμερα είναι δυνατόν να βρείτε προγράμματα που διαθέτουν infopages αλλά όχι manpages. Άλλες φορές μάλιστα υπάρχει manpage η οποία όμως απλά αναφέρει \"see +the info pages for the full documentation\" η κάτι παρόμοιο. + +Μπορεί λοιπόν οι manpages να ήταν αρκετές το 1980, σήμερα όμως έχετε την δυνατότητα να έχετε και δομημένο και εύκολα αναγνώσιμο documentation,οπότε γιατί να μην +το χρησιμοποιήσετε; + + +### [5. Η φιλοσοφία του texinfo]{#s5} + +Το texinfo ως σύστημα βασίζεται πάνω στο Tex/Latex. Γράφετε ένα απλό αρχείο κειμένου lala.texi με ειδική σύνταξη (τα @-commands) και μετά με την εντολή texi2foo +παίρνετε το lala.foo όπου foo μέχρι τώρα μπορεί να είναι html/dvi/pdf. Υπάρχει και εντολή makeinfo με διάφορες παραμέτρους για την παραγωγή των info αρχείων. + +Αυτό όμως δεν πρέπει να σας φοβίζει αν δεν γνωρίζετε το Latex. (Αν και κάποια στιγμή πρέπει να μάθετε και Latex :-). Το Texinfo είναι ένα επίπεδο πιο πάνω από +το Latex. Αυτό σημαίνει ότι αποκρύπτει από εσάς τα \\verylongandcomplicatedLatexdirectives και σας επιτρέπει να γράψετε το κείμενο σας με μικρά \@commands +δηλαδή εντολές/keywords που απλά ξεκινάνε με το @. Τα \@commands είναι όλα documented στο manual του texinfo το οποίο είναι γραμμένο επίσης σε (μαντέψτε!) +texinfo. Έτσι υπάρχει το \@chapter, \@section ,\@code, \@itemize με απλά και κατανοητά ονόματα. Αν μάλιστα χρησιμοποιείτε emacs θα βρείτε ότι η συγγραφή texinfo +αρχείων με το αντίστοιχο mode είναι πραγματικά πολύ εύκολη. + +H μαγεία είναι ότι μπορείτε να χρησιμοποιήσετε ακόμα τις εντολές του Latex αν το επιθυμείτε (κυρίως για τα εκτυπώσιμα outputs). Μάλιστα μπορείτε να γράψετε +διαφορετικά τμήματα για την περίπτωση που το texinfo αρχείο μετάφράζεται σε tex, html ή info. (Περίπου σαν τα \#ifdef του C-preprocessor). + +Παρόλο που το texinfo διαθέτει την εντολή \@image για την εισαγωγή εικόνων σε ένα έγγραφο, δεν θα πρέπει να την χρησιμοποιήσετε (στην αρχή τουλάχιστον). Και +αυτό γιατί η εικόνα δεν θα φαίνεται στο info output του αρχείου σας οπότε \"χάνεται\" η συμβατότητα του texinfo, για την οποία το διαλέξατε. Δηλαδή το texinfo +τεχνικά μπορεί να χειριστεί εικόνες (αφού μπορεί το Latex). + + +### [6. To πιο απλό Texinfo αρχείο]{#s6} + +Ας ξεκινήσουμε με το πιο μικρό texinfo αρχείο(σχεδόν). Στον αγαπημένο σας editor γράψτε τα παρακάτω: (σε emacs και gvim θα έχετε και syntax highlighting) + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + \input texinfo + @setfilename example.texi + @settitle example + @bye + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αφού το αποθηκεύσετε με όνομα sample.texi δοκιμάστε με τις εντολές texi2dvi,texi2html,texi2pdf και makeinfo να το μετατρέψετε στα αντίστοιχα format. (To dvi +αρχείο μπορείτε να το δείτε με την εντολή xdvi. Τα dvi αρχεία είναι μια ενδιάμεση μορφή του tex.Μπορείτε να τα κάνετε Postscript με την εντολή dvips). Τo .info +αρχείο μπορείτε να το δείτε με την εντολή info ./example.info. + +H πρώτη γραμμή είναι η μοναδική εντολή σε ένα texinfo αρχείο που δεν ξεκινάει με @. Και αυτό γιατί φορτώνει το texinfo.tex το οποίο περιέχει τα defines/macros +που ενεργοποιούν τις ίδιες τις @-εντολές. Η επόμενη γραμμή ορίζει το όνομα του αρχείου που γράφετε (το οποίο προφανώς θα πρέπει να είναι ίδιο με του αρχείου που +την περιέχει). + +Η \@settitle δίνει έναν γενικό τίτλο στο manual σας, και η τελευταία εντολή δείχνει που σταματάει η επεξεργασία (processing) του κειμένου. Οτιδήποτε μετά το +\@bye αγνοείται από το Texinfo. + +Παρατηρείστε αυτό που ανέφερα παραπάνω σχετικά με την απλότητα του Texinfo. Οι @-εντολές έχουν μικρά και κατανοητά ονόματα, κάτι που δεν συμβαίνει με το Latex. + + +### [7. Ένα μεγαλύτερο έγγραφο]{#s7} + +Ας δούμε ένα μεγαλύτερο παράδειγμα. Σε ένα νέο αρχείο γράψτε τα παρακάτω. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + \input texinfo + @setfilename sample.info + @settitle A sample manual + @setchapternewpage odd + @titlepage + @title My first Texinfo manual + @subtitle Demo for Magaz + @author Kapelonis Kostis + + @comment This is a comment + @page + @vskip 11pt plus 1fill1 + Copyright @copyright{} 2002 + @end titlepage + @comment name,next,prev,up + @node Top,First Chapter,,(dir) + @menu + * First Chapter:: The first chapter is the only chapter in this sample + * Concept Index:: This index has two entries + @end menu + @node First Chapter,Concept Index,Top,Top + @chapter First Chapter + @cindex Sample index entry + These are the contents of the first chapter + Here is a simple line of text. + @cindex Another sample index entry + Here is a numbered list + @enumerate + @item + This is the first item + @item + This is the second item + @end enumerate + + @iftex + This paragraph should + appear only in a printed manual. + It is enclosed inside iftex keywords. + @end iftex + + @ifinfo + This paragraph should + appear only in the info manual. + It is enclosed inside ifinfo keywords. + @end ifinfo + + The @command{makeinfo} command will convert this manual + into an info file and @TeX{} to a printed file. + @node Concept Index ,,First Chapter,Top + @unnumbered Concept Index + @printindex cp + @comment Place here table of contents + @contents + @bye + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Εδώ βλέπουμε αρκετές \@εντολές. Δεν θα τις αναφέρω όλες, για τις λεπτομέρειες δείτε το manual του texinfo. Οι γνώστες του Latex ήδη θα έχουν δει πως το texinfo +\"καλύπτει\" με τις δικές του \@εντολές τις αντίστοιχες του Latex. + +Το παράδειγμα δείχνει τις εντολές για την δημιουργία indexing, την \@menu για την δημιουργία μενού για το browsing μέσα σε Info αρχείου, καθώς και την πολύ +σημαντική εντολή \@node. H εντολή \@vskip υπάρχει για να δείξει ότι δεν έχει χαθεί η ευελιξία που διαθέτει το Tex/Latex. + +Ένα node (κόμβος στα ελληνικά) είναι το μικρότερο δομικό στοιχείο ενός info αρχείου. Όταν πατήσατε previous,next και up στο manual του flex, ουσιαστικά +μετακινηθήκατε στα αντίστοιχα nodes. Κάθε info αρχείο \"κρέμεται\" από έναν top node που είναι ο αρχικός κόμβος του αντίστοιχου manual. Όλοι οι top nodes από τα +manuals που έχετε στο σύστημα σας \"κρέμονται\" από έναν top node(supernode) του συνολικού info tree. Αν γράψετε σκέτο info σε ένα τερματικό (χωρίς όνομα manual +δηλαδή) βλέπετε αυτόν τον supernode και άρα έχετε μπροστά σας όλα τα manual που έχετε εγκατεστημένα. To ίδιο συμβαίνει και όταν μπαίνετε στο info mode του +Emacs. + +Πρακτικά αυτό σημαίνει ότι τελικά θα πρέπει να χωρίσετε το κείμενο σας σε nodes. Τα \@chapter και \@section δεν είναι αυτά που καθορίζουν την δομή του online +manual. Όπως είδατε και στην σελίδα [της GNU για τον flex](http://www.gnu.org/manual/flex-2.5.4/flex.html) ειδικά η html μορφή είναι δυνατόν να κατασκευαστεί με +διάφορους τρόπους ανάλογα με τα nodes/chapters. Αυτή είναι και μια μεγάλη διαφορά που ίσως δυσκολέψει όσους \"σκέφτονται\" σε Latex. (Αναφέρομαι πάντα στο .info +output που είναι browsable. Για ps/pdf ισχύουν τα γνωστά, δηλαδή το texinfo είναι ένα πιο φιλικό tex. Αν γράψετε ένα manual και ξέρετε από πριν ότι θα το +βγάλετε μόνο σε pdf δεν χρειάζεται να δώσετε σημασία σε \@node και \@menu). + +To \@node command συντάσσεται ως εξής: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + @node όνομα,όνομα-επόμενου,όνομα-προηγούμενου,όνομα-πατρικού. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Μία από τις πρώτες δυσκολίες που θα συναντήσετε κάθε φορά που γράφετε ένα καινούριο node,είναι να συμπληρώσετε τα παραπάνω ονόματα. Αν γράφετε σε Emacs υπάρχει +βέβαια έτοιμη εντολή που απλοποιεί τα πράγματα. Στην αμέσως επόμενη γραμμή βάλτε ένα \"συμβατικό\" δομικό \@command (π.χ. \@chapter, \@section) για τα outputs +se html/ps/pdf. + +Τo \@menu ορίζει το μενού που θα φαίνεται στην κάτω μεριά του node που βρίσκεται ο χρήστης. Συνήθως περιέχουν pointers σε άλλα nodes του ίδιου manual. Το +supernode (μετά από ένα εισαγωγικό κείμενο) δεν είναι παρά ένα μεγάλο μενού με όλα τα manuals του συστήματος. Οι λεπτομέρειες αφήνονται ως άσκηση στον αναγνώστη +(Βασικά δεν έχω ασχοληθεί πολύ με μενού ;-) + +Τα outputs του παραπάνω αρχείου είναι τα παρακάτω [\[PDF screenshot\]](/34/img/samplePDF.png) [\[HTML screenshot\]](/34/img/sampleHTML.png) [\[INFO +screenshot\]](/34/img/sampleINFO.png) + + +### [8. Συγγραφή του κυρίως κειμένου.]{#s8} + +Κατά τα άλλα, απλά γράφετε στο body του κειμένου, το τι ακριβώς κάνει το πρόγραμμα σας, ποιες παραμέτρους παίρνει και τι έξοδο πρέπει να περιμένει ο χρήστης. + +Έχετε ανοιγμένο και το manual του texinfo για να βλέπετε τα διάφορα \@commands και την χρήση τους. Θα δείτε ότι το texinfo διαθέτει αρκετά \@commands ειδικά για +το documentation προγραμμάτων (σε αντίθεση με το Latex που έχει δώσει μεγαλύτερο βάρος στο επιστημονικό/μαθηματικό κείμενο). + +Υπάρχουν τα \@key για keyboard input, τα \@env για environment variables, τα \@file για ονόματα αρχείων, και διάφορα άλλα \@commands που ανάλογα με την +περίπτωση μπορεί να σας φανούν πολύ χρήσιμα. Αυτά τα \@commands καθορίζουν απλά την εμφάνιση του κειμένου πάνω στο οποίο εφαρμόζονται και όχι την δομή του. +Προφανώς έχουν περισσότερη σημασία στο τυπωμένο manual αφού η html έχει λίγα tags μορφοποίησης κειμένου, και σχεδόν μηδαμινή στο περιβάλλον κονσόλας. + +Επίσης υπάρχουν όλα τα αναμενόμενα \@commands για list,bullets, subsection,verbatim text,code κ.τ.λ. Όλα βρίσκονται μέσα στο manual του texinfo με παραδείγματα. + +Όπως ίσως έχετε υποψιαστεί για να βάλετε το ίδιο το \"@\" μέσα στο κείμενο το γράφετε δύο φορές δηλαδή \"@@\". Υπάρχει και ειδικό \@command με όνομα \@email. + + +### [9. Emacs shortcuts]{#s9} + +Αφού το texinfo είναι μέρος της Gnu tool chain (Emacs,gcc,make,gdb, [m4](http://www.gnu.org/software/m4/) ,automake,autoconf, +[gprof](http://sources.redhat.com/binutils/docs-2.12/gprof.info/)) δεν ήταν δυνατόν να μην συνεργάζεται άψογα με τον Emacs. + +Έτσι λοιπόν υπάρχει ειδικό Texinfo mode το οποίο διαθέτει πολύ συχνά χρησιμοποιούμενα short commands (Ctrl-c) και λιγότερο συχνά long commands (Meta/Alt-x) +Αναφέρω εδώ μερικά: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + C-c C-c n Enter node + C-c C-c e Enter end + C-c C-c i Enter item + C-c C-c v Enter variable + C-c C-s Show structure + C-c C-u C-m update Menu + C-c C-u C-n update Node + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αυτά που πραγματικά σας λύνουν τα χέρια είναι οι εντολές για την εισαγωγή ενός νέου node,αφού συμπληρώνονται αυτόματα τα next,prev, up καθώς και η εντολή που +ανοίγει ένα νέο buffer με την δομή του texinfo αρχείου όπου μπορείτε να καταλάβετε οπτικά πως είναι αυτή. + +Γενικά, ακόμα και αν είστε φανατικός χρήστης του vi/vim/gvim σας προτείνω να ασχοληθείτε λίγο με τον Emacs κατά την συγγραφή texinfo αρχείων. Είναι πολύ +χρήσιμος, ενώ για πολύ μεγάλα manuals με περίπλοκη δομή/μενού και cross references σχεδόν απαραίτητος. + + +### [10. Επίλογος]{#s10} + +Ξέρω ότι έδωσα λιγότερες τεχνικές λεπτομέρειες από όσες ίσως θα θέλατε. Δεν αναφέρθηκα στην δημιουργία indexing/table of contents ,cross-references,table και +διάφορων άλλων δυνατοτήτων του Texinfo. Υπάρχει και η πολύ εντυπωσιακή δυνατότητα της δημιουργίας link σε εντελώς διαφορετικό manual, όπου μεταφέρεται αυτόματα +ο χρήστης, όταν χρησιμοποιεί το info format. + +Έτσι είναι δυνατόν ο χρηστής να διαβάζει το manual του flex μέσα στον Emacs και με ένα κλικ να βρεθεί σε αυτό του bison. Η από αυτό του automake να μεταφερθεί +σε αυτό του autoconf και μόλις δει αυτό που θέλει, να επιστρέψει. Σε html και τυπωμένα manual τέτοια links γίνονται απλά \"See the bison manual page 33\" ή κάτι +τέτοιο, και πάλι όμως είναι εντυπωσιακή η αυτόματη εισαγωγή τους, αφού εσείς μέσα στο texinfo αρχείο απλά βάζετε το όνομα του manual που θα μεταφερθεί ο χρήστης +καθώς και το όνομα του node στο οποίο θα γίνει η μεταφορά. + +Νομίζω όμως ότι ο σκοπός των άρθρων του magaz δεν είναι να σας πάρουν από το χεράκι και να σας δείξουν βήμα-βήμα τις οδηγίες χρήσης. Οφείλετε απλά να δείτε τι +υπάρχει διαθέσιμο και αν κάτι σας φαίνεται χρήσιμο να ασχοληθείτε μαζί του. + diff --git a/content/articles/34/03_security.md b/content/articles/34/03_security.md new file mode 100644 index 0000000..852de9e --- /dev/null +++ b/content/articles/34/03_security.md @@ -0,0 +1,686 @@ ++++ +title = 'Host/network security' +date = '2003-06-01T00:00:00Z' +description = '' +author = 'Αλέξανδρος Παπαδόπουλος apapadop@cmu.edu(mailto:apapadop+magaz@cmu.edu)' +issue = ['Magaz 34'] +issue_weight = 3 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Βήματα για να ασφαλίσουμε το GNU/Linux σύστημά μας έναντι τοπικών και δικτυακών επιθέσεων. Ίσως πούμε δυο λογάκια και για θέματα privacy.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Τοπική ασφάλεια (Local Access)** +---------------------------------------------------------------- + +- [1.1 sXid binaries](#ss1.1) +- [1.2 Password cracking](#ss1.2) +- [1.3 Φυσική πρόσβαση](#ss1.3) + +**2. Δικτυακή ασφάλεια** +--------------------------------------------------- + +- [2.1 Επιθέσεις Denial of Service (DoS)](#ss2.1) +- [2.2 Network Visibility](#ss2.2) +- [2.3 Firewalls](#ss2.3) + +**3. Privacy** +----------------------------------------- + +- [3.1 Διαφημίσεις (banner ads)](#ss3.1) +- [3.2 Cookies](#ss3.2) +- [3.3 Web bugs](#ss3.3) + + +### [1. Τοπική ασφάλεια (Local Access)]{#s1} + +Με αυτό τον όρο εννοούμε τα μέτρα που πρέπει να πάρουμε ώστε κάποιος χρήστης που έχει πρόσβαση στον υπολογιστή μας (είτε φυσική πρόσβαση, είτε user account), να +μη μπορεί να αποκτήσει τον έλεγχο του συστήματος (root access). + +### [1.1 sXid binaries]{#ss1.1} + +Ιδιαίτερα επικίνδυνα για αυτό το σκοπό είναι τα suid root binaries. Δηλαδή τα προγράμματα που, ασχέτως του χρήστη που τα καλεί, εκτελούνται πάντα σαν να τα είχε +καλέσει ο root. Ο αριθμός των suid root binaries σε ένα σύστημα είναι ένα νούμερο που θέλουμε να το κρατήσουμε όσο το δυνατό μικρότερο, και να ελέγχουμε τακτικά +οποιαδήποτε αλλαγή. Μια ατέλεια στον κώδικα ενός εκτελέσιμου προγράμματος αρκεί για να γίνει ένα [buffer +overflow](http://www.wikipedia.org/wiki/buffer_overflow), το οποίο, σε suid root binaries, σημαίνει root shell, δηλαδή πλήρη έλεγχο του συστήματος. + +Αν λοιπόν έχουμε μετρήσει όλα τα suid root binaries και ξέρουμε ότι είναι 25 στο σύστημά μας, και μετά από λίγο καιρό ελέγξουμε και βρούμε 26, πρέπει να +εξετάσουμε πολύ προσεχτικά αυτό το 26ο πρόγραμμα και να σιγουρευτούμε ότι είναι κάτι που εμείς εγκαταστήσαμε. + +Για μια λίστα με τα setuid και setgid αρχεία στο σύστημά μας, κάνουμε το εξής: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + # find / \( -perm -02000 -o -perm -04000 \) -ls > setXid + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Κατόπιν μπορούμε να μετρήσουμε τις γραμμές αυτού του αρχείου, και έτσι να ξέρουμε πόσα τέτοια (setXid) ειδικά αρχεία έχουμε: + + # wc -l setXid + +Είναι καλή ιδέα να ελέγχουμε περιοδικά το πλήθος αυτών των ειδικών αρχείων και να εντοπίζουμε τυχόν διαφορές. + +### [1.2 Password cracking]{#ss1.2} + +Ακόμα και αν κάποιος καταφέρει να αποκτήσει τοπική πρόσβαση στο σύστημά μας, με κάποιον υπάρχοντα λογαριασμό, έχουμε χάσει μόνο τη μάχη, αλλά όχι απαραιτήτως +τον πόλεμο. Για να μην τραβήξει την προσοχή, ο επιτιθέμενος θα προσπαθήσει να μάθει όλα τα συνθηματικά (passwords) των χρηστών του συστήματος, χωρίς να τα +αλλάξει. Ακόμα και αν κάποιος έχει root access στο μηχάνημά σας, πρέπει να είναι ιδιαίτερα προσεχτικός για να μην τον ανακαλύψετε. Οπότε, παρόλο που ο root +μπορεί να αλλάξει οποιοδήποτε password και να προσθέσει οποιονδήποτε λογαριασμό, η καλύτερη μέθοδος είναι να ξέρει κανείς όλα τα υπάρχοντα συνθηματικά, και να +τα χρησιμοποιεί όποτε χρειάζεται πρόσβαση. + +Έχοντας root, ή έχοντας καταφέρει να διαβάσει το αρχείο /etc/shadow με κάποιο άλλο τρόπο, ο επιτιθέμενος θα προσπαθήσει να μάθει όλα τα συνθηματικά που +βρίσκονται σε αυτό το αρχείο. Αν τα συνθηματικά ακολουθούν τους κανόνες των δυνατών passwords, κάτι τέτοιο θα είναι από πολύ δύσκολο έως πρακτικά αδύνατο. + +Ο καλύτερος τρόπος για να διαπιστώσετε πόσο ισχυρά είναι τα συνθηματικά που χρησιμοποιούνται στο σύστημά σας, είναι να προσπαθήσετε να τα \"σπάσετε\" (crack) +μόνοι σας. Χρησιμοποιώντας το καλύτερο password cracker για συστήματα UNIX [(John the Ripper)](http://www.openwall.com%20john/), θα μάθετε αν το συνθηματικό σας +θα αντέξει σε τέτοιου είδους επιθέσεις. + +Η χρήση του John είναι πολύ απλή: Αφού κατεβάσετε το tarball (\*.tar.gz), το κάνετε extract (tar xvfz \*.tar.gz), μπαίνετε στον κατάλογο john-1.x/src/ και +δίνετε ένα + + $ make + +Αυτό θα σας πει τις επιλογές που έχετε, και θα διαλέξετε την πιο κατάλληλη για το σύστημά σας. Μόλις τελειώσει το compile, μπείτε στον κατάλογο john-1.x/run/ +και: + + # ./unshadow /etc/passwd /etc/shadow > passwords + $ ./john passwords + +Ο John θέλει λίγα δευτερόλεπτα για να μαντέψει τα τελείως ελεεινά συνθηματικά (όμοια με το όνομα χρήστη, κάτω από 4 χαρακτήρες, λέξεις λεξικού), αλλά μπορεί να +τρέχει επί εβδομάδες χωρίς να μπορεί να βρει ένα δυνατό password 8 χαρακτήρων. + +Καλά συνθηματικά είναι αυτά που έχουν τα εξής στοιχεία: + +- Έχουν τουλάχιστον 6 χαρακτήρες +- Περιέχουν τουλάχιστον έναν χαρακτήρα από τις εξής κατηγορίες: + - Kεφαλαία (A-Z) + - Πεζά (a-z) + - Aριθμούς (0-9) + - Eιδικούς χαρακτήρες (!, @, \#, %, : κτλ.) +- Δεν συνδέονται με κάτι που μπορεί να μαντέψει ο επιτιθέμενος αν σας γνωρίζει προσωπικά (ημερομηνία γέννησης, όνομα συγγενή κτλ) +- Είναι αρκετά εύκολα να τα θυμάστε εσείς και να τα πληκτρολογείτε ώστε να μη σας σπάνε τα νεύρα! Δε λέω, καλό συνθηματικό το **kj%{8\*\#I**, αλλά δεν + πρόκειται να το θυμάμαι για πάνω από 2 λεπτά, **ή** (ακόμα χειρότερα), άπαξ και το μάθω δεν θα θέλω να το αλλάξω ποτέ επειδή είναι το πλέον uncrackable + συνθηματικό. Αυτή είναι εξίσου κακή πρακτική με το να έχετε πολύ εύκολα συνθηματικά, επειδή αν κάποιος καταφέρει να κλέψει αυτό το συνθηματικό + παρακολουθώντας το δίκτυο, πχ, θα έχει αιώνια πρόσβαση στο μηχάνημά σας. +- Δεν είναι λέξη σε οποιαδήποτε γλώσσα! Αν νομίζετε ότι ένα συνθηματικό σε Σουαχίλι ή από κάποιον επιστημονικό κλάδο σας σώζει, ρίξτε μια ματιά στις + [λίστες](ftp://ftp.ox.ac.uk/pub/wordlists/) που κυκλοφορούν. + +Μια καλή πρακτική είναι να δημιουργούμε συνθηματικά από χαρακτήρες φράσεων που μπορούμε να τις θυμηθούμε εύκολα, αλλά αν δεν ξέρει κάποιος την φράση, το +συνθηματικό να μην έχει κανένα νόημα. Παράδειγμα: Ας πούμε ότι το αγαπημένο σας τραγούδι είναι το \"Welcome to the machine\" των Pink Floyd. Από τους πρώτους +χαρακτήρες κάθε λέξης, βγάζουμε το εξής: Wttm\_PF, που δεν είναι καθόλου άσχημο, αλλά δεν σέβεται όλους τους κανόνες ενός καλού συνθηματικού. Οπότε +αντικαθιστούμε μερικούς χαρακτήρες με αριθμούς σε \"leet-speak lingo\": **W11m-PF** και ιδού! + +### [1.3 Φυσική πρόσβαση]{#ss1.3} + +Για να προστατέψουμε τον υπολογιστή μας από επιθέσεις με φυσική πρόσβαση, όπου ο χρήστης κάθεται στο πληκτρολόγιο, χρειαζόμαστε πολλά και διάφορα. Ο γενικός +κανόνας είναι ότι \"φυσική πρόσβαση = root πρόσβαση\", για τους εξής λόγους: + +Ας πούμε ότι αφήνουμε τον υπολογιστή μας και πεταγόμαστε στο διπλανό δωμάτιο για μερικά λεπτά. Αν κάποιος θέλει να αποκτήσει πρόσβαση στον υπολογιστή μας, +μπορεί απλά να κάτσει στο πληκτρολόγιο και να ψάξει για τυχόν root logins που έχουμε αφήσει ενεργά. Λύση: ΠΟΤΕ μην αφήνετε root logins ενεργά χωρίς πολύ καλό +λόγο. Αν χρειάζεται να τρέχει κάτι σαν root για μεγάλα χρονικά διαστήματα, μπορείτε να το καλέσετε με έναν τρόπο που να κάνει logout μόλις τερματιστεί η +εργασία. Παράδειγμα: + + # tail -f /var/log/messages ; logout + +Με αυτή τη γραμμή, μπορείτε να αφήσετε ένα root terminal με σχετική ασφάλεια, επειδή αν κάποιος διακόψει την εργασία με CTRL+C, εκτελείται αμέσως το logout και +χάνεται το root shell. + +Αλλά ακόμα και η πρόσβαση σαν κανονικός χρήστης μπορεί να είναι καταστροφική. Πχ, μπορεί κάποιος να σβήσει/διαβάσει/διαφθείρει όλα τα προσωπικά σας αρχεία, να +στείλει email με το όνομά σας και άλλα δυσάρεστα. Μια λύση είναι όταν δουλεύετε στο γραφικό περιβάλλον να κλειδώνετε το τερματικό πριν φύγετε από το +πληκτρολόγιο (όλοι οι μοντέρνοι window managers μπορούν να καλέσουν το xlock που κάνει ακριβώς αυτή τη δουλειά). + +Τι γίνεται όμως αν κάποιος πατήσει απλά CTRL+ALT+Backspace και \"σκοτώσει\" το γραφικό περιβάλλον; Δεν θα μείνει με ένα shell του χρήστη μας; + +Δεν είναι απαραίτητο. Για να αποφύγουμε αυτό το πρόβλημα μπορούμε να προσθέσουμε ένα alias στο .bashrc μας, που να θέτει: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + alias startx="startx -- -nolisten tcp; logout" + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Έτσι, με το που τερματίσουμε με οποιοδήποτε τρόπο το X session μας, ο χρήστης μας κάνει αυτόματα logout. Για τη σημασία του **\"-nolisten tcp\"** θα μιλήσουμε +παρακάτω. + +Όμως ακόμα και αν ο επιτιθέμενος δεν βρει έτοιμο prompt στο μηχάνημά μας, δεν μπορεί να το εκμεταλλευτεί; Σίγουρα, αν έχουμε \"ευκολίες\" όπως automount και +autoexec στο CDROM. Μια δυσάρεστη έκπληξη που είχα σε ένα φρεσκο-εγκατεστημένο σύστημα ήταν όταν έβαλα ένα δισκάκι στο CD drive και μετά από λίγα δευτερόλεπτα +είδα τον Mozilla να ανοίγει ένα παράθυρο και να μου δείχνει την \"αρχική σελίδα\" του CD, παίζοντας περιχαρώς **μουσική**! Τι θα γινόταν αν αυτό το CD είχε +κώδικα με περίεργες προθέσεις, που περίμενε την αρχική σελίδα (index.html) για να ενεργοποιηθεί; + +Για να αποφύγουμε τέτοιες εκπλήξεις καλό είναι να απενεργοποιήσουμε οποιοδήποτε automount και να σιγουρευτούμε ότι το mount γίνεται με ασφαλείς παραμέτρους. +Μερικές χρήσιμες παράμετροι είναι oι noexec, nosuid. Ρίξτε μια ματιά στο man mount για περισσότερα. + +Αλλά και πάλι, αν κάποιος μπορεί να επανεκκινήσει τον υπολογιστή, μπορεί να επιλέξει από τον boot loader (LILO, GRUB ή οτιδήποτε άλλο χρησιμοποιούμε) να κάνει +boot σε single mode, όπου έχει πλήρη έλεγχο του συστήματος. Για να αποκλείσουμε και αυτή την πιθανότητα, μπορούμε να βάλουμε έναν κωδικό στον boot loader. Έτσι, +μόνο όποιος ξέρει τον κωδικό μπορεί να ξεκινήσει το σύστημα. Αυτό επιτυγχάνεται στα αρχεία /etc/lilo.conf και /etc/grub.conf (για τους δύο πιο δημοφιλείς boot +loaders). + +Όμως ποιος τα χρειάζεται όλα αυτά, όταν υπάρχει το [KNOPPIX](http://www.knopper.net/knoppix/index-en.html); Απλά κάνουμε ένα reboot τον υπολογιστή, βάζουμε το +δισκάκι στο drive, παρακάμπτουμε ό,τι είδους ασφάλεια υπάρχει, και κάνουμε mount τον δίσκο του θύματος με πλήρη δικαιώματα! Εύκολο; Όχι τόσο γρήγορα. Γι\'αυτό +υπάρχουν τα [BIOS](http://www.webopedia.com/TERM/B/BIOS.html) passwords, που ζητούν τον κωδικό του χρήστη πριν επιτρέψουν σε κάποιον να αλλάξει τη συνηθισμένη +σειρά εκκίνησης και να κάνει boot από CD ή δισκέτα. + +Αλλά αν έχετε laptop πχ, και ο \"κακός\" μπορεί να βουτήξει απλά ολόκληρο το laptop ή να βγάλει στο πι και φι τον δίσκο και να τον πάρει μαζί του; Αυτή είναι +μάλλον η χειρότερη περίπτωση, και το μόνο που μας σώζει είναι κάποιο encrypted filesystem, που δεν επιτρέπει στον δίσκο να διαβαστεί από κάποιον που δεν έχει το +κατάλληλο λογισμικό και δεν ξέρει το σωστό συνθηματικό (pass-phrase) για να τον αποκωδικοποιήσει. Επειδή δεν έχω εμπειρία σε κάτι τέτοιο, θα σας προτείνω απλά +να κωδικοποιείτε με το [Gnu Privacy Guard (GPG)](http://gnupg.org) οτιδήποτε δεν θέλετε να πέσει με τίποτα σε λάθος χέρια. + +Δεν είναι καθόλου δύσκολο! Αν έχετε ήδη [δημιουργήσει τα κλειδιά](http://andrew.cmu.edu/~apapadop/linux/howto.html#3.3.7) σας και μπορείτε να χρησιμοποιήσετε το +gpg, μπορείτε να μαζέψετε όλα τα ευαίσθητα αρχεία σας σε έναν κατάλογο (ας πούμε secret/). Με ένα + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + $ tar -cf secret.tar secret + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +δημιουργείτε ένα αρχείο που περιέχει ολόκληρο τον κατάλογο secret. Μετά μπορείτε να κωδικοποιήσετε (encrypt) το αρχείο αυτό με το προσωπικό σας κλειδί, ώστε +μόνο εσείς να μπορείτε να το αποκωδικοποιήσετε στο μέλλον: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + $ gpg -esr apapadop@cmu.edu secret.tar + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +(αντικαταστήστε το email μου με το email που αντιστοιχεί στο προσωπικό κλειδί σας) Αυτή η εντολή θα έχει σαν αποτέλεσμα ένα αρχείο secret.tar.gpg που θα +μπορείτε μόνο εσείς να το διαβάσετε. Μπορείτε να ελέγξετε αν το σύστημα δουλεύει σωστά με τις εξής εντολές: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + $ gpg -d -o test.tar secret.tar.gpg + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αυτή η εντολή θα αποκωδικοποιήσει το αρχείο και θα το σώσει σαν test.tar. Για να δοκιμάσουμε αν έχει την παραμικρή διαφορά από το αυθεντικό αρχείο που έχει τα +ευαίσθητα περιεχόμενα, δίνουμε + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + $ md5sum test.tar secret.tar + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αν το αποτέλεσμα δεν είναι ακριβώς το ίδιο, κάτι δεν πήγε καλά. Αν το checksum όμως είναι το ίδιο, μπορούμε να σβήσουμε τον κατάλογο με τα ευαίσθητα αρχεία + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + $ rm -r secret/ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +και να αποκρυπτογραφήσουμε/αποσυμπιέσουμε ξανά τα περιεχόμενά του όποτε τα χρειαστούμε με τις εντολές + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + $ gpg -d -o secret.tar secret.tar.gpg + $ tar xvf secret.tar + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αν τα παραπάνω σας φαίνονται υπερβολικά, θυμηθείτε ότι υπάρχουν εργαστήρια που διαβάζουν δεδομένα χωρίς κανένα πρόβλημα από [καμένους +υπολογιστές](http://www.datarr.com/tfds.html), συσκευές που [διαβάζουν οθόνες πίσω από τοίχους](http://www.sans.org/rr%20encryption/TEMPEST.php) και κυβερνήσεις +που θεωρούν σκόπιμο το [ψήσιμο](http://treachery.net/~jdyson/dod_cd_declassification.html) των CD που θέλουν να αποσύρουν\... + + +### [2. Δικτυακή ασφάλεια]{#s2} + +Σε αυτή την ενότητα θα εξετάσουμε τις επιθέσεις DOS και τα μέτρα που μπορούμε να πάρουμε για να αμυνθούμε. Κατόπιν θα αναφέρουμε διάφορες βασικές αρχές για τις +δικτυακές σας περιπέτειες, που (ελπίζω) θα σας γλιτώσουν από πολλές δυσάρεστες γνωριμίες\... + +### [2.1 Επιθέσεις Denial of Service (DoS)]{#ss2.1} + +[Αυτές οι επιθέσεις](http://www.wikipedia.org/wiki%20Denial_of_service) έχουν σαν σκοπό τους να μην επιτρέψουν στο σύστημά μας να επιτελέσει τον στόχο του. +Δηλαδή, αν έχουμε κάποιον server που παρέχει υπηρεσίες email για μια εταιρεία, ο σκοπός της επίθεσης DoS είναι να μη μπορεί πλέον ο συγκεκριμένος server να +παρέχει αυτές τις υπηρεσίες. Οι επιθέσεις αυτές είναι ή μέρος μιας ιδιαίτερα συντονισμένης και μελετημένης επίθεσης (οπότε δε μας σώζει τίποτα), ή το τελευταίο +στάδιο της απογοήτευσης για έναν φιλόδοξο επιτιθέμενο που δεν μπορεί να μπει στο σύστημά μας και απλά καταφεύγει στην επίδειξη δύναμης, προσπαθώντας να μας +\"πετάξει έξω από το δίκτυο\". + +Υπάρχουν πολλές περιπτώσεις στις οποίες επιθέσεις DoS έχουν χρησιμοποιηθεί για να επιτευχθεί κάποιος άλλος σκοπός. Παράδειγμα: Ο επιτιθέμενος καταφέρνει +προσωρινό DoS ενός SSH server για 10 κρίσιμα λεπτά. Σε αυτά τα 10 λεπτά, κάποιος νόμιμος χρήστης προσπαθεί να συνδεθεί στον SSH server, αλλά ο επιτιθέμενος +δίνει στο μηχάνημά του την IP του SSH server (που δεν μπορεί να απαντήσει), και προσκαλεί τον χρήστη να συνδεθεί στο μηχάνημά του. Ο χρήστης βλέπει ένα +[περίεργο μήνυμα](http://www.hpcvl.org/faqs/ssh_help.html#answer_4) ότι το fingerprint του server έχει αλλάξει, λέει \"ώχου μωρέ τώρα\" και επιλέγει να +συνδεθεί, αγνοώντας το μήνυμα. Ο επιτιθέμενος δέχεται την σύνδεση του χρήστη-θύματος, σταματάει το DoS του πραγματικού SSH server, και επιπροσθέτως του στέλνει +όλα τα πακέτα του θύματος. Αποτέλεσμα; Ο χρήστης κάνει κανονικά τη δουλειά του στον server, και ο επιτιθέμενος βλέπει και καταγράφει τα πάντα σε clear text, +μαθαίνοντας συνθηματικά, λογαριασμούς, άλλους κωδικούς, προσωπικά στοιχεία του θύματος, κτλ. Συγχαρητήρια, μόλις λάβατε μέρος σε μια επίθεση man-in-the-middle. +Το συγκεκριμένο σενάριο μπορεί να πραγματοποιηθεί πανεύκολα με παλιά SSH πρωτόκολλα και το εκπληκτικό πακέτο +[dsniff](http://naughty.monkey.org/~dugsong/dsniff/). + +Δυστυχώς δεν υπάρχει καμία καθολική λύση για το πρόβλημα των DoS. Για την ακρίβεια, με την άνθιση των DDoS (Distributed Denial of Service) επιθέσεων, τα +πράγματα γίνονται διαρκώς χειρότερα. Πάντως, μερικά βήματα που μπορούμε να ακολουθήσουμε για να αντιμετωπίσουμε τις πιο παραδοσιακές επιθέσεις DoS ( [SYN +floods](http://www.cert.org/advisories/CA-1996-21.html) και ping floods) είναι τα εξής: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + #!/bin/bash + + # Ενεργοποιούμε προστασία έναντι επιθέσεων SYN flood + echo 1 > /proc/sys/net/ipv4/tcp_syncookies + # Μην απαντάς σε ICMP echo requests (προστατεύει έναντι ping floods) + echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Επίσης μπορούμε να χρησιμοποιήσουμε το module LIMIT που παρέχει το [netfilter](http://netfilter.org), το σύστημα που διαχειρίζεται τα πακέτα στο επίπεδο του +πυρήνα, με κάτι σαν: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αυτός ο κανόνας λέει στον πυρήνα να δέχεται μόνο μία νέα TCP σύνδεση ανά δευτερόλεπτο, και να αγνοεί τις υπόλοιπες. Γενικά ο πυρήνας έχει αρκετές δυνατότητες +άμυνας έναντι DoS επιθέσεων μέσω του συστήματος netfilter και των ρυθμίσεων στον κατάλογο /proc/sys/net/ipv4. + +### [2.2 Network Visibility]{#ss2.2} + +**\...ή, πόσο μεγάλο στόχο δίνουμε.** + +Εκτός από τις DoS, που έχουν έναν πολύ συγκεκριμένο σκοπό, υπάρχουν και άλλες επιθέσεις, που συνήθως έχουν σκοπό την εκμετάλλευση κάποιου bug σε ένα service του +υπολογιστή μας. Παράδειγμα: Υπάρχουν \"εργαλεία\" που μπορεί να βρει ο καθένας στο Internet, και να δίνουν άμεσο root access αν χρησιμοποιηθούν εναντίον +συστημάτων που τρέχουν παλιές εκδόσεις του HTTP server Apache. Όσο γρήγορα και να αναβαθμίζουμε το σύστημά μας όταν ο διανομέας βγάζει patches που κλείνουν +αυτές τις τρύπες, υπάρχει πάντα μια ακαθόριστη περίοδος προτού γνωστοποιηθεί το bug, κατά την οποία το σύστημά μας είναι ευάλωτο. Ό,τι και να κάνουμε, και όσα +firewalls και να έχουμε, κάποτε συμβαίνει σε όλους. + +Οπότε εκτός από τα άμεσα patches, μια **πολύ** καλή ιδέα είναι να μην έχετε κανένα ενεργό service στο σύστημά σας, εκτός από τα τελείως απαραίτητα. Έτσι οι +ευκαιρίες για εκμετάλλευση bugs ελαχιστοποιούνται, επειδή κανείς δεν μπορεί να εκμεταλλευτεί ένα πρόγραμμα που δεν τρέχει! + +Αυτές οι επιθέσεις είναι πιο δύσκολες στον εντοπισμό από τις DoS, μιας και δεν δημιουργούν άμεσα προβλήματα στο σύστημά μας. Σχεδόν όλες ξεκινούν με +αναγνωριστικές κινήσεις, όπως portscans και προσπάθειες σύνδεσης σε συνήθεις πόρτες (80-http, 22-ssh, 23-telnet, 25-smtp, 110-pop3 κτλ). Η καλύτερη άμυνα είναι +να ρυθμίσουμε το μηχάνημά μας ώστε να μη δίνει καν στόχο. Η κλασσική λύση που ακούγεται παντού είναι ένα firewall, αλλά υπάρχει κάτι πολύ πιο σημαντικό: το να +κλείσουμε οποιαδήποτε πόρτα / δικτυακό service δεν χρειαζόμαστε. + +Μία default εγκατάσταση μιας μοντέρνας \"φιλικής προς το χρήστη\" διανομής, συνήθως αφήνει πολλές περιττές πόρτες ανοιχτές στον υπολογιστή μας. Μπορούμε να +δούμε ποια services έχουμε ενεργά με ένα + + # lsof -i + +ή, από την μεριά του επιτιθέμενου (χρήσιμο για να καταλάβουμε τι μπορούν να δουν οι άλλοι για το μηχάνημά μας): + + # nmap <η_ΙΡ_μου> + +Για να δούμε τι βλέπω για το σύστημά μου: + + # lsof -i + COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME + privoxy 14769 privoxy 3u IPv4 173542 TCP localhost.localdomain:6969 + (LISTEN) + # ifconfig wlan0 + wlan0 Link encap:Ethernet HWaddr 00:20:E0:8D:01:2D + inet addr:192.168.1.106 Bcast:192.168.1.255 Mask:255.255.255.0 + UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 + RX packets:58578 errors:0 dropped:0 overruns:0 frame:0 + TX packets:69317 errors:0 dropped:0 overruns:0 carrier:0 + collisions:0 txqueuelen:100 + RX bytes:34820912 (33.2 MiB) TX bytes:2989402 (2.8 MiB) + + # nmap -p1-65535 192.168.1.106 + + Starting nmap V. 3.10ALPHA4 ( www.insecure.org/nmap/ ) + All 65535 scanned ports on 192.168.1.106 are: closed + + Nmap run completed -- 1 IP address (1 host up) scanned in 100.306 seconds + +Τί μας λένε τα παραπάνω; Με την εντολή lsof -i βλέπω μια υπηρεσία (privoxy) να \"ακούει\" (LISTEN) για τοπικές συνδέσεις TCP στην πόρτα 6969 (TCP +localhost.localdomain:6969). Αλλά το nmap μου λέει ότι όλες οι πόρτες είναι κλειστές! Τι γίνεται εδώ; + +Ο privoxy στην συγκεκριμένη περίπτωση \"ακούει\" μόνο για συνδέσεις στη διεύθυνση localhost.localdomain:6969. Επειδή αυτό το όνομα δεν είναι δυνατόν να +χρησιμοποιηθεί για απομακρυσμένες δικτυακές συνδέσεις (είναι alias για το τοπικό μηχάνημα, και δεν μπορεί να χρησιμοποιηθεί σαν δικτυακό όνομα με το παρόν +σύστημα [DNS](http://www.webopedia.com/TERM/D/DNS.html)), ο privoxy φαίνεται σαν να μην υπάρχει όταν κάποιος εξετάζει τις πόρτες μας από το δίκτυο (γι\'αυτό +χρησιμοποίησα την εξωτερική μου IP στο nmap - αν είχα χρησιμοποιήσει την 127.0.0.1 θα είχα διαφορετικά αποτελέσματα). Για τις χάρες του privoxy θα μιλήσουμε +στην επόμενη ενότητα. Όπως είδαμε, δεν φαίνεται καν να υπάρχει από το δίκτυο. Άρα δεν το θεωρώ ευάλωτο σημείο. + +Σε μια default εγκατάσταση κάποιας μοντέρνας διανομής, δυστυχώς έχουμε μεγάλες πιθανότητες να δούμε μια ελαφρώς διαφορετική εικόνα: + + [root@helios root]# lsof -i + COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME + privoxy 14769 privoxy 3u IPv4 173542 TCP localhost.localdomain:6969 + (LISTEN) + tcpserver 14781 root 3u IPv4 176623 TCP *:44444 (LISTEN) + tcpserver 14783 root 3u IPv4 176629 TCP *:2121 (LISTEN) + smbd 14793 root 9u IPv4 176648 TCP *:netbios-ssn (LISTEN) + xinetd 14814 root 5u IPv4 179758 UDP *:ntalk + httpd 14831 root 3u IPv4 185996 TCP *:http (LISTEN) + httpd 14886 apache 3u IPv4 185996 TCP *:http (LISTEN) + +Όλα αυτά τα (LISTEN) δεν είναι καθόλου απαραίτητα, εκτός κι\'αν ξέρετε τι κάνετε. Αν δεν ξέρετε τι σημαίνει κάποια καταχώρηση (όπως πχ. netbios-ssn), μπορείτε +να την αναζητήσετε στο αρχείο /etc/services για περισσότερες πληροφορίες: + + $ grep netbios-ssn /etc/services + netbios-ssn 139/tcp # NETBIOS session service + netbios-ssn 139/udp + +Το μηχάνημα που δεν δείχνει τίποτα να ακούει (LISTENing), είναι σχεδόν αόρατο στο δίκτυο. Είναι εξαιρετικά δύσκολο για κάποιον επιτιθέμενο να το βρει και να του +επιτεθεί. Πώς ξεφορτωνόμαστε όλα αυτά τα LISTEN λοιπόν; + +Ανάλογα με τη διανομή που χρησιμοποιούμε ( [Debian](http://www.debian.org), [Slackware](http://www.slackware.com), [Red Hat](http://www.redhat.com), +[Gentoo](http://www.gentoo.org) κτλ), υπάρχουν διαφορετικοί τρόποι ελέγχου των υπηρεσιών (services) που είναι ενεργές στον υπολογιστή μας. Οι περισσότερες +διανομές GNU/Linux χρησιμοποιούν System V init scripts, δηλαδή αποθηκεύουν τα scripts που ελέγχουν τις υπηρεσίες στους καταλόγους /etc/rcX.d, όπου Χ είναι μια +τιμή από 0 έως 6. Αυτή η τιμή αντιστοιχεί στο runlevel του συστήματος. Το runlevel στο οποίο λειτουργεί το σύστημα αμέσως μετά την εκκίνησή του (boot) το +βρίσκουμε με ένα + + # grep default /etc/inittab + +Στο δικό μου σύστημα αυτό δίνει: + + # The default runlevel. + id:2:initdefault: + +που σημαίνει ότι αν θέλω να κάνω κάποιες υπηρεσίες να μην ενεργοποιούνται σε κάθε επανεκκίνηση, πρέπει να τις απενεργοποιήσω από το φάκελο /etc/rc2.d . + +Αν κάνουμε ένα + + ls -l + +μέσα σε αυτό το φάκελο, θα δούμε ότι υπάρχουν πολλά symbolic links με τα ονόματα όλων των διαθέσιμων υπηρεσιών. Αν θέλουμε να μην ξεκινάει σε κάθε εκκίνηση ο +http daemon (httpd) (που είναι συνήθως ο [Apache](http://www.apache.org)), απλά σβήνουμε το link SXXhttpd (όπου ΧΧ η προτεραιότητα με την οποία ενεργοποιείται +κατά την εκκίνηση αυτό το service). + +Ωραία, ο web server δεν θα ξεκινάει σε κάθε εκκίνηση από δω και στο εξής. Πώς όμως τον σταματάμε εδώ και τώρα; + +Αν προσέξατε, όλα τα symbolic links στον κατάλογο που είμαστε \"δείχνουν\" σε αρχεία του καταλόγου ../init.d (δηλαδή στο /etc/init.d). Για να σταματήσουμε ή να +ξεκινήσουμε μια υπηρεσία αμέσως, καλούμε το script που την ελέγχει με την παράμετρο stop ή start: + +Αυτή η εντολή ενεργοποιεί άμεσα τον HTTP server: + + # /etc/init.d/httpd start + +Αυτή η εντολή τον σταματάει: + + # /etc/init.d/httpd stop + +Με αυτό τον τρόπο μπορούμε να ξεφορτωθούμε και οποιεσδήποτε άλλες υπηρεσίες που είναι ενεργές χωρίς λόγο. Υπενθύμιση: σε ένα home PC, η εντολή + + # lsof -i + +δεν πρέπει να δείχνει τίποτα που να \"ακούει\" (LISTEN) για συνδέσεις από το δίκτυο (\*:port\_number). + +ΣΗΜΕΙΩΣΗ: Υπάρχουν μερικές ειδικές περιπτώσεις, όπως το port 6000 (X11), το οποίο είναι περιττό για το 99% των συστημάτων για αποκλειστικά προσωπική χρήση, και +έχει γνωστά προβλήματα ασφάλειας (οποιοσδήποτε στο δίκτυο μπορεί να δει τι πληκτρολογείτε). Οπότε είναι πολύ καλή ιδέα να το κλείσετε, καλώντας τα X με την +παράμετρο -nolisten tcp: + + $ startx -- -nolisten tcp + +### [2.3 Firewalls]{#ss2.3} + +Tα firewalls είναι προγράμματα ή συσκευές που ελέγχουν τα δεδομένα που ταξιδεύουν σε ένα δίκτυο. Σε προσωπικό επίπεδο, μπορούμε να τα χρησιμοποιήσουμε για να +ελέγξουμε τις δικτυακές συνδέσεις του υπολογιστή μας και να δυναμώσουμε την άμυνά μας έναντι δικτυακών επιθέσεων. Στο GNU/Linux το +[firewalling](http://www.wikipedia.org/wiki/firewall) γίνεται από το σύστημα [netfilter](http://www.netfilter.org), που ελέγχεται από το πρόγραμμα iptables. + +Σε όλες τις μοντέρνες διανομές το σύστημα netfilter είναι ενεργοποιημένο στον πυρήνα Linux και το πρόγραμμα netfilter υπάρχει προεγκατεστημένο. Συνεπώς το μόνο +που έχουμε να κάνουμε είναι να δώσουμε τους κανονισμούς σύμφωνα με τους οποίους θα διαχειρίζεται ο πυρήνας τα δικτυακά δεδομένα που έρχονται και φεύγουν από τον +υπολογιστή μας. + +Δεν θα μπούμε σε λεπτομέρειες, επειδή το firewalling είναι αρκετά μεγάλο θέμα. Θα σας δείξω τα rules που χρησιμοποιώ στο laptop μου, με σχόλια που θα εξηγούν τι +κάνει το κάθε rule. Το παρόν ruleset έχει βασιστεί στο εξαιρετικό [tutorial του James C. Stephens.](http://www.sns.ias.edu/~jns/security/iptables/index.html) + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + #!/bin/bash + + if [ -z $1 ]; then + # Δεν έχουμε command line argument, οπότε δεν αφήνουμε κανέναν να συνδεθεί με + SSH σε μας. + echo Disallowing SSH access... + NOSSH=1 + else + # Έχουμε IP address στη γραμμή εντολών, που θέλουμε να συνδέεται σε μας με + SSH. + echo Allowing SSH access for $1... + fi + + ############################## + #### ΓΕΝΙΚΕΣ ΠΡΟΦΥΛΑΞΕΙΣ ##### + ############################## + + ## Μην απαντάς σε ping. + /bin/echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all + + ## Μην απαντάς σε broadcasts. + /bin/echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts + + ## Μη δέχεσαι source routed πακέτα. + /bin/echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route + + ## Μη κάνεις ICMP redirect. + /bin/echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects + + ## Προστασία έναντι περίεργων λαθών. + /bin/echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses + + ## Ενεργοποίησε το reverse path filtering. + for interface in /proc/sys/net/ipv4/conf/*/rp_filter; do + /bin/echo "1" > ${interface} + done + + ## Σημείωσε στα system logs (/var/log/messages by default) τα πακέτα που + φαίνεται να έχουν ψεύτικες διευθύνσεις ή γενικώς να είναι ύποπτα. + /bin/echo "1" > /proc/sys/net/ipv4/conf/all/log_martians + + ## Μην λειτουργείς σαν router (μην προωθείς πακέτα σε άλλες διευθύνσεις). + /bin/echo "0" > /proc/sys/net/ipv4/ip_forward + + ################## + #### FIREWALL #### + ################## + + ## Φόρτωσε τα connection-tracking modules. + /sbin/modprobe ipt_state + /sbin/modprobe ip_conntrack + /sbin/modprobe ip_conntrack_ftp #ports=2121 + #/sbin/modprobe ipt_owner + + ## Καθάρισε τυχόν ενεργά rules + /sbin/iptables -F + ## Διέγραψε τυχόν custom tables + /sbin/iptables -X + ## Μηδένισε όλους τους μετρητές πακέτων + /sbin/iptables -Z + + ## By default κάνουμε DROP (αγνοούμε) όλα τα πακέτα (ώστε να περνάνε μόνο αυτά + που έχουν λόγο να περνάνε) + /sbin/iptables -P INPUT DROP + /sbin/iptables -P FORWARD DROP + /sbin/iptables -P OUTPUT DROP + + + ##################### + #### ΕΙΣΕΡΧΟΜΕΝΑ #### + ##################### + + ## Δεχόμαστε όλες τις τοπικές συνδέσεις + /sbin/iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT + + ## Δεχόμαστε πακέτα από όλες τις ήδη υπάρχουσες συνδέσεις (λόγω των υπολοίπων + rules, αναγκαστικά τις έχουμε ξεκινήσει εμείς οπότε υποθέτουμε ότι είναι + ασφαλείς) + /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT + + if [ $NOSSH ]; then + #Καθόμαστε. + echo + else + ## Επέτρεψε συνδέσεις SSH από τη διεύθυνση που παρέχουμε στη γραμμή εντολών + /sbin/iptables -A INPUT -p tcp -s $1 --sport 1024: --dport 22 -j ACCEPT + fi + + ###################### + ##### ΕΞΕΡΧΟΜΕΝΑ ##### + ###################### + + ## Δεχόμαστε τοπικές συνδέσεις + /sbin/iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT + + ## SSH + /sbin/iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT + + ## HTTP + /sbin/iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT + + ## HTTPS + /sbin/iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT + + ## POP3 + /sbin/iptables -A OUTPUT -p tcp --dport 110 -j ACCEPT + + ## SMTP + /sbin/iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT + + ## DNS + /sbin/iptables -A OUTPUT -p udp --dport 53 -j ACCEPT + + ## FTP (command) + /sbin/iptables -A OUTPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j + ACCEPT + + ## FTP (data::Active) + /sbin/iptables -A OUTPUT -p tcp --dport 20 -m state --state ESTABLISHED -j + ACCEPT + + ## FTP (data::Passive) + /sbin/iptables -A OUTPUT -p tcp --sport 1024: --dport 1024: -m state --state + ESTABLISHED,RELATED -j ACCEPT + + if [ $NOSSH ]; then + echo + else + ## Επιτρέπουμε στον SSH server μας να απαντήσει. + /sbin/iptables -A OUTPUT -p tcp --sport 22 --dport 1024: -m state --state + ESTABLISHED,RELATED -j ACCEPT + fi + + ## ICMP + /sbin/iptables -A OUTPUT -p icmp -j ACCEPT + + ## dict.org:2628 + /sbin/iptables -A OUTPUT -p tcp -d 66.111.36.30 --dport 2628 -j ACCEPT + + ## Importing OpenPGP keys από pgp.mit.edu:11371 + /sbin/iptables -A OUTPUT -p tcp -d 18.7.14.139 --dport 11371 -j ACCEPT + + ## JETDIRECT printing + /sbin/iptables -A OUTPUT -p tcp --dport 9100 -j ACCEPT + + ## Whois queries + /sbin/iptables -A OUTPUT -p tcp --dport 43 -j ACCEPT + + ## NTP updates + /sbin/iptables -A OUTPUT -p tcp -d 128.2.4.21/16 --dport 123 -j ACCEPT + /sbin/iptables -A OUTPUT -p udp --sport 123 -d 128.2.4.21/16 --dport 123 -j + ACCEPT + + + ################# + #### LOGGING #### + ################# + ## Αυτά τα μηνύματα καταχωρούνται στο /var/log/messages + ## Με ένα tail -f /var/log/messages σαν root τα παρακολουθούμε + + ## Log εισερχόμενα TCP πακέτα που απορρίφθηκαν. + /sbin/iptables -A INPUT -p tcp -j LOG --log-prefix "iptables:IN-TCP DROPPED:" + + ## Log εξερχόμενα TCP πακέτα που απορρίφθηκαν. + /sbin/iptables -A OUTPUT -p tcp -j LOG --log-prefix "iptables:OUT-TCP DROPPED:" + + ## Log οτιδήποτε άλλο που δεν πέρασε + #/sbin/iptables -A INPUT -j LOG --log-prefix "iptables:INCOMING DROPPED:" + /sbin/iptables -A OUTPUT -j LOG --log-prefix "iptables:OUTGOING DROPPED:" + + ## Τέλος του iptables script + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Μπορείτε να κατεβάσετε αυτό το script και [σε ASCII μορφή](fw.rules) για πιο εύκολη χρήση. Το script πρέπει να ανήκει στον root και να είναι executable: + + # chown root:root fw.rules + # chmod 770 fw.rules + +\...και το εκτελείτε. Τα αποτελέσματα τα βλέπετε με ένα + + # iptables -L + + +### [3. Privacy]{#s3} + +Σε αυτή την ενότητα θα εξετάσουμε τα βήματα που μπορούμε να ακολουθήσουμε για να δυσκολέψουμε το έργο των απανταχού +[spammers](http://www.wikipedia.org/wiki/Spamming), διαφημιστών, και λοιπών κερδοσκοπικών ατόμων και εταιρειών, που έχουν σαν σκοπό να μετατρέψουν το Internet +σε ένα μεγάλο εμπορικό κέντρο. Μόνο και μόνο διαβάζοντας σελίδες και στέλνοντας emails οι κινήσεις μας παρακολουθούνται και καταγράφονται για σκοπούς marketing. +Τα προσωπικά μας δεδομένα πωλούνται σε όσους μπορούν να πληρώσουν, και καταντάμε έρμαια μαζικών διαφημίσεων στα προσωπικά μας mailbox. Σε κάθε σελίδα που +διαβάζουμε υπάρχουν 5-10 διαφημιστικά banners που αναβοσβήνουν, αστράφτουν, κουνιούνται, έχουν ήχο\... κάνουν τα πάντα για να αποσπάσουν την προσοχή μας από τον +σκοπό που είχαμε όταν πήγαμε στην σελίδα (να διαβάσουμε τις πληροφορίες που έχει εκεί), και να μας κάνουν να θυμηθούμε το οποιοδήποτε προϊόν όταν το δούμε +μπροστά μας. Προσωπικά βρίσκω τις διαφημίσεις αυτές εξαιρετικά ενοχλητικές και την πώληση των προσωπικών μου πληροφοριών σε εταιρείες ανήθικη. Να τι κάνω για να +προστατέψω τον εαυτό μου λοιπόν. + +### [3.1 Διαφημίσεις (banner ads)]{#ss3.1} + +Τα banners έχουν αρχίσει να γίνονται ιδιαίτερα ενοχλητικά. Δεν μπορεί κανείς να διαβάσει μια σελίδα στο Internet χωρίς να βομβαρδίζεται από ενοχλητικά +[animation, ήχους και χρώματα](/34/img/ads.png), όλα να υπόσχονται λεφτά και εκπτώσεις και ευκαιρίες. Εκτός από την ενόχληση αυτή, τα banners χρησιμοποιούνται από +τους διαφημιστές για να παρακολουθούν τους netizens και να δημιουργούν καταναλωτικά προφίλ για σκοπούς marketing (βλ. ενότητα για cookies παρακάτω). Ευτυχώς +είναι αρκετά εύκολο να [απαλλαγεί](/34/img/noads.png) κανείς από αυτά, χάρη στους proxy servers που υπάρχουν ελεύθερα διαθέσιμοι. + +O [privoxy](http://www.privoxy.org) είναι ένας anonymizing proxy. Ένα πρόγραμμα, δηλαδή, που δέχεται αιτήσεις για νέες σελίδες από τον browser σας, και τις +φέρνει από το δίκτυο. Όταν τις σερβίρει στον browser για να τις δείξει στην οθόνη, διαβάζει τον κώδικα της σελίδας και [αντικαθιστά τις +διαφημίσεις](http://www.andrew.cmu.edu/~apapadop/linux/images/bloomberg_privoxy.png) με άσπρα κουτάκια (που δεν φαίνονται) είτε ένα σήμα που δείχνει στον χρήστη +ότι υπήρχε μια διαφήμιση εκεί, και τώρα δεν την βλέπει. Έτσι βλέπουμε μόνο αυτό που θέλουμε, και όχι διαφημίσεις που μας αποσπούν την προσοχή. + +### [3.2 Cookies]{#ss3.2} + +Τα cookies είναι μικρά αρχεία κειμένου που οποιοδήποτε site μπορεί να αποθηκεύσει στον υπολογιστή μας. Έχουν δημιουργηθεί για να ξεπεράσουν κάποια [προβλήματα +σχεδιασμού του πρωτοκόλλου HTTP](http://www.wikipedia.org/wiki/HTTP_cookie) που χρησιμοποιείται για web browsing. Επειδή το HTTP είναι stateless, δηλαδή δεν +μπορεί να καταλάβει αν κάποιο click που κάνουμε είναι συνδεμένο με προηγούμενες ενέργειές μας στην ίδια σελίδα ή όχι, εφευρέθηκαν τα cookies. Τώρα, όταν κάνω +login σε κάποιο δικτυακό χώρο που χρειάζεται να ελέγχει την πρόσβαση των χρηστών του (π.χ. online email service), το site μου δίνει ένα cookie που περιέχει +κωδικοποιημένες τις πληροφορίες του λογαριασμού μου. Έτσι, όταν ζητάω να δω το inbox μου, το εκάστοτε site ξέρει ότι είμαι ο νόμιμος χρήστης αυτού του +λογαριασμού, και μου δείχνει τα email μου. Αν δεν υπήρχε αυτός ο μηχανισμός για να παρακολουθεί πχ. το Yahoo! ποιος χρήστης ζητάει να δει τι, θα ήταν δυνατό να +διαβάζουν όλοι τα emails όλων των άλλων χρηστών. + +Όλα καλά και άγια ως εδώ με τα cookies. Τα προβλήματα ξεκινούν όταν διάφοροι εξυπνάκηδες αρχίζουν να εκμεταλλεύονται αυτό το μηχανισμό για να μας παρακολουθούν +για διαφημιστικούς λόγους. Υπάρχουν εταιρείες όπως η απεχθής Doubleclick, που μοιράζουν άφθονα cookies σε κάθε ευκαιρία, και μετά παρακολουθούν το πού πάει ο +κάτοχός τους. + +Ένα παράδειγμα. Είχα ένα λογαριασμό για free web email στο rocketmail.com και ήμουν πολύ ικανοποιημένος. Ούτε spam, ούτε διαφημίσεις, ούτε τίποτα. Όταν το +rocketmail.com αγοράστηκε από το Yahoo! άρχισαν τα προβλήματα. Κάθε φορά που χρησιμοποιώ το λογαριασμό μου, το Yahoo! προσπαθεί να μου δώσει ένα cookie εκ +μέρους της Doubleckick. Αν δεν προστάτευα τον εαυτό μου απορρίπτοντας το cookie, οποιαδήποτε άλλα sites είχαν διαφημίσεις της Doubleclick (και είναι λίγα που +**δεν** έχουν) θα μπορούσαν να μάθουν τη διεύθυνση email μου. Καθώς πήγαινα σε περισσότερα sites, με το cookie της Doubleckick στον υπολογιστή μου, οι συνήθειές +μου θα καταγράφονταν και θα συσχετιζόντουσαν για να δημιουργήσουν ένα καταναλωτικό προφίλ. Τι ενδιαφέρει αυτόn τον καταναλωτή; Σε τι δικτυακούς τόπους συχνάζει; +Πόσο χρόνο κάθεται σε τι είδους σελίδες; Αυτό το προφίλ είναι έτοιμο να πουληθεί σε οποιονδήποτε ενδιαφερόμενο κάνει direct marketing. Σε όλη αυτή τη διαδικασία +εγώ ουδέποτε έχω συμφωνήσει να φτιαχτεί τέτοιο προφίλ, να παρακολουθούνται οι κινήσεις μου, και να δέχομαι spam email από εταιρείες που δεν ξέρω καν. Και όμως, +δεχόμενος το cookie, έχω κάνει όλα τα παραπάνω. + +Τα cookies είναι άχρηστα για την σωστή λειτουργία του δικτυακού τόπου στη συντριπτική πλειοψηφία των περιπτώσεων. Ο γενικός κανόνας είναι ότι αν δεν χρειάζεται +να κάνετε login κάπου (με username και password), τότε δεν χρειάζεστε και τα cookies από εκείνο το site. + +Για να αμυνθούμε έναντι των cookies, πρέπει απλά να ρυθμίσουμε τον browser μας να μας ρωτάει τι να κάνει κάθε φορά που κάποιος προσπαθεί να μας δώσει cookie. +Και ο [Mozilla](/34/img/mozilla_cookie.png) και ο [Konqueror](/34/img/konqueror_cookie.png) έχουν πολύ ωραίο τρόπο αντιμετώπισης των cookies. Μπορούν να ρυθμιστούν να +θυμούνται την επιλογή του χρήστη (αποδοχή ή απόρριψη cookies από ένα συγκεκριμένο site), και να σβήνουν όλα τα cookies με το που κλείνουμε τον browser. Έτσι +κρατάμε τις χρήσιμες λειτουργίες των cookies επιλεκτικά, όπου τις χρειαζόμαστε, και σιγουρεύουμε ότι δεν μπορεί κανείς να μας παρακολουθήσει την επόμενη φορά +που θα ανοίξουμε τον browser μας. + +### [3.3 Web bugs]{#ss3.3} + +Τα web bugs είναι αόρατες εικόνες (1x1 pixel transparent GIFs, συνήθως) που στέλνονται σαν μέρος ενός HTML email, και πρέπει να φορτωθούν από το Internet όταν +το email ανοιχτεί. Τι σημασία έχει αυτό, σας ακούω να ρωτάτε. + +Ας πούμε ότι είμαι ένας spammer. Τρέχω έναν web server και έναν mail server δικό μου. Στέλνω 10,000 email ένα πρωί, μη ξέροντας ποιες από αυτές τις διευθύνσεις +είναι πραγματικές και ποιες έχουν καταργηθεί. Επίσης θέλω να μετρήσω το πόσο γρήγορα φτάνουν στα θύματά μου (καταναλωτές) οι διαφημίσεις που στέλνω. Πώς θα το +κάνω αυτό; + +Το email που στέλνω είναι σε HTML. Περιέχει στον κώδικα της σελίδας μια αόρατη εικόνα (transparent GIF), η πηγή του οποίου είναι ο web server μου. Συνεπώς μόλις +κάποιο θύμα ανοίξει αυτό το email, ο mail client του θα προσπαθήσει να του δείξει την εικόνα, άρα θα προσπαθήσει να την κατεβάσει από το Internet, και πιο +συγκεκριμένα από τον δικό μου web server. Αλλά οι web servers έχουν logs που δείχνουν ποια διεύθυνση (ΙΡ), ζήτησε ποιο αρχείο (το GIFάκι), ποιά ώρα. Συνεπώς +μαθαίνω ότι κάποιος στο domain 194.15.60.x (που μπορώ εύκολα να μάθω πως ανήκει σε subnet ενός συγκεκριμένου Internet Service Provider - ας πούμε της OTEnet) +άνοιξε το email μου στις 11:34 ακριβώς το πρωί. + +Αμέσως ξέρω ότι κάποια από τις διευθύνσεις \@otenet.gr που έχω είναι πιθανότατα πραγματικό mailbox κάποιου θύματος, το οποίο διαβάζει τα mail του αρκετά συχνά. +Άρα αρχίζω να χτυπάω τις διευθύνσεις \@otenet.gr πιο πολύ με spam από δω και πέρα. + +Η μόνη άμυνα για αυτή την παραβίαση του προσωπικού μας χώρου είναι η απαγόρευση των HTML email. Ο [Mozilla Mail](/34/img/moz_mail.png) και το [KMail](/34/img/kmail.png) +έχουν ρυθμίσεις για να σας βοηθήσουν να αντιμετωπίσετε τα web bugs, που είναι τελικά τελείως άχρηστα σε εμάς, και πολύ χρήσιμα στους spammers. + +**Συμπέρασμα:** + +Οι απειλές είναι πολλές, άλλα υπάρχουν και πολλά που μπορούμε να κάνουμε για να προστατευθούμε. Με λίγη προσοχή και τη δύναμη των εργαλείων του GNU/Linux, diff --git a/content/articles/34/04_tips.md b/content/articles/34/04_tips.md new file mode 100644 index 0000000..21bb374 --- /dev/null +++ b/content/articles/34/04_tips.md @@ -0,0 +1,357 @@ ++++ +title = 'Tips για την γραμμή εντολής.' +date = '2003-08-01T00:00:00Z' +description = '' +author = 'Φανουργάκης Μανώλης(mailto:mfano@NOSPAMfreemail.gr)' +issue = ['Magaz 34'] +issue_weight = 4 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Μερικά tips που διευκολύνουν τη ζωή μας στη γραμμή εντολής* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Aliases** +------------------------------------- + +- [1.1 ls](#ss1.1) +- [1.2 less](#ss1.2) +- [1.3 pushd, popd, dirs](#ss1.3) +- [1.4 PATH](#ss1.4) +- [1.5 history](#ss1.5) +- [1.6 find](#ss1.6) +- [1.7 Συντόμευση για συνηθισμένα μακριά command lines.](#ss1.7) +- [1.8 Διάφορα](#ss1.8) + +**2. Shell prompt** +------------------------------------------ + +**3. Vi (=very intelligent) editor** +----------------------------------------------------------- + +**4. Screen** +------------------------------------ + + +### [1. Aliases]{#s1} + +Τα παρακάτω aliases μπορούν να μπουν στο \~/.bashrc. Αν όμως γίνουν πολλά, είναι καλύτερα για λόγους τάξης να μπουν σε ένα ξεχωριστό αρχείο, π.χ. στο \~/.alias +και να μπει στο \~/.bashrc η γραμμή: + + test -s ~/.alias && . ~/.alias + +### [1.1 ls]{#ss1.1} + + alias l='ls -lA ' + alias lh='l -h ' + +Ο διακόπτης -h της ls είναι αρκετά χρήσιμος γιατί μετατρέπει το μέγεθος αρχείων σε kB,MB,GB. Έτσι, με \'l \~/mbox\' θα πάρω το παρακάτω: + + -rw------- 1 manolis users 135987 Ιούλ 28 22:33 /home/manolis/mbox + +Ενώ με \'lh \~/mbox\' το παρακάτω: + + -rw------- 1 manolis users 133k Ιούλ 28 22:33 /home/manolis/mbox + +### [1.2 less]{#ss1.2} + + alias m='$PAGER' + +Όπου η μεταβλητή PAGER έχει τεθεί στο \~/.bashrc ως εξής: + + export PAGER='less -rM ' + +Ή ό,τι άλλο χρησιμοποιείται ως pager τέλος πάντων. Εξαιρετικά βολικό, χρησιμοποιώ το less αμέτρητες φορές κάθε μέρα. + +### [1.3 pushd, popd, dirs]{#ss1.3} + + alias pd='pushd' + alias po='popd' + alias ds='dirs -v' + +Χρήσιμα για τις \...περιπλανήσεις μας στη δομή αρχείων του linux. + +Οι εντολές pushd, popd, dirs χειρίζονται μια στοίβα (stack) καταλόγων στους οποίους μετακινούμαστε. + +- Με την εντολή \'pushd dir\' μεταφερόμαστε στον κατάλογο dir και τοποθετείται αυτός στην κορυφή της στοίβας. +- Με την εντολή popd αφαιρείται ο κατάλογος που βρίσκεται στην κορυφή της στοίβας και μεταφερόμαστε σ\' αυτόν που θα γίνει η νέα κορυφή. +- Με την εντολή dirs βλέπουμε τα περιεχόμενα της στοίβας. + +Ένα παράδειγμα θα γίνει πιο εύκολα κατανοητό: + + $ pd /tmp/ + /tmp ~ + +Ξεκινώντας ένα νέο shell βρίσκομαι στο home directory. Κάνω push το /tmp. Παρατηρώ ότι η pushd μου αναφέρει και την κατάσταση της στοίβας: Στην κορφή βρίσκεται +το /tmp και μετά το home από όπου ξεκίνησα. + + $ pd /usr/local/bin/ + /usr/local/bin /tmp ~ + +Έκανα push και το /usr/local/bin. Η στοίβα τώρα έχει τρεις καταλόγους. + + $ ds + 0 /usr/local/bin + 1 /tmp + 2 ~ + +Ας υποθέσουμε τώρα ότι θέλω να εναλλάσομαι γρήγορα μεταξύ αυτών των καταλόγων. Με ένα pushd +n (όταν χρησιμοποιήσουμε την pushd χωρίς όρισμα, εννοείται +1) ο +κατάλογος που βρίσκεται στη θέση n πάει στην κορυφή. + + $ pd +1 + /tmp /usr/local/bin ~ + +Με ένα popd ξεφορτώνομαι τον κατάλογο που βρίσκεται στην κορυφή και μεταφέρομαι στον αμέσως επόμενο. + + $ po + /usr/local/bin ~ + +Με τη σωστή χρήση των pushd, popd, dirs μπορούμε να κάνουμε πολύ γρήγορα πολύπλοκες δουλειές. Και μην ξεχνάτε ότι τα πλήρη ονόματα των καταλόγων μπορεί να +γίνουν πολύ μεγάλα (π.χ. /usr/X11R6/lib/X11/fonts/hellas/, \~/download/pictures/flags/greece/). Είναι πολύ βολικό να μπορεί κανείς με τρία χτυπήματα πλήκτρων να +εναλάσσεται μεταξύ τους. + +Για περισσότερες πληροφορίες \'help pushd\', \'help popd\', \'help dirs\'. + +Επίσης, ας μην ξεχνάμε και την εντολή \'cd -\' που μας τοποθετεί στον προηγούμενο κατάλογο (σ\' αυτόν που είμασταν πριν κάνουμε cd ή pushd/popd). + +### [1.4 PATH]{#ss1.4} + + alias pt='echo $PATH|tr : \\n ' + addpath() { while test "$1" ; do PATH=${PATH}:"$1" ; shift ; done ; } + +Το alias pt κάνει το εξής απλό και έξυπνο: Παίρνει τη μεταβλητή PATH και την περνάει στην εντολή tr (δώστε man tr) ώστε να μετατρέψει τις άνω και κάτω τελείες +που χωρίζουν τους καταλόγους του path σε αλλαγές γραμμών. Έτσι έχουμε το εξής ευανάγνωστο αποτέλεσμα: + + $ pt + /usr/local/bin + /usr/bin + /usr/X11R6/bin + /bin + /usr/games/bin + /opt/gnome/bin + /opt/kde3/bin + . + +Η συνάρτηση addpath προσθέτει τα ορίσματά της στο τέλος της μεταβλητής PATH. Οι συναρτήσεις (functions) του shell είναι σαν μικρά σκριπτάκια, έχουν πιο πολλές +δυνατότητες από τα απλά aliases. Εδώ όπως βλέπετε μπορούμε να χειριστούμε μία- μία όλες της παραμέτρους της addpath(). + +(Για περισσότερες πληροφορίες, man bash, section FUNCTIONS) + +### []{#history} [1.5 history]{#ss1.5} + +Το shell μας δίνει τη δυνατότητα να επαναλάβουμε μια προηγούμενη εντολή χωρίς να χρειάζεται να την πληκτρολογήσουμε ολόκληρη. + +- Με τα βελάκια πάνω και κάτω μπορούμε να έχουμε γρήγορη πρόσβαση στις προηγούμενες εντολές. +- Δίνοντας \'!cmd\' επαναλαμβάνεται η τελευταία εντολή που αρχιζε με τους χαρακτήρες \'cmd\'. +- Δίνοντας \'history n\' (παρεμπιμπτόντως μην ξεχάσετε το alias h=\'history \' στο \~/.bashrc) μας εμφανίζονται οι τελευταίες n εντολές μαζί με τον αριθμό + τους. Στη συνέχεια με \'!n\', όπου n ο αριθμός της εντολής μπορούμε να επαναλάβουμε όποια θέλουμε. +- Με \'!-n\', όπου n αριθμός, εκτελείται η n-ιοστή προηγούμενη εντολή. Με \'!!\' εκτελείται η αμέσως προηγούμενη (συνώνυμο του \'!-1\'). + +(Για περισσότερες πληροφορίες, man bash, section HISTORY) + +### [1.6 find]{#ss1.6} + + export FIN='-printf %s\t%TY-%Tm-%Td-%TX\t%p\n' + +Έχοντας αυτή τη γραμμή στο \~/.bashrc έχω πάντα στο shell μου μια μεταβλητή, την FIN. Το κείμενο της είναι μια εντολή μορφοποίησης για τα αποτελέσματα της find. +Δίνοντας λοιπόν \"find dir \$FIN\" παίρνω μια λίστα των αρχείων κάτω από τον κατάλογο dir στην εξής μορφή: + + 135987 2003-07-28-22:33:13 ./mbox + +Στην πρώτη στήλη το μέγεθος του αρχείου, στη δεύτερη η ημερομηνία τροποποίησης και στην τρίτη το όνομα του αρχείου. Οι στήλες είναι χωρισμένες με tab. + +Κατευθύνοντας τώρα την έξοδο της προηγούμενης εντολής στην sort μπορούμε να κάνουμε πολύ ενδιαφέροντα πράγματα: + + % find $FIN |sort -rnk 1|head -n 4 + + 5146003 2003-08-02-20:45:48 ./Mail/LGU + 2457441 2003-08-01-11:00:07 ./Mail/saved + 2029849 2003-02-04-20:32:24 ./tmp/lp/ss11 + 1603828 2003-07-28-22:22:08 ./downl/wg/glib-2.2.2.tar.bz2 + +Ο διακόπτης \'-k NUM\' της sort κάνει ταξινόμηση σύμφωνα με το NUM-οστό πεδίο. Εδώ βάλαμε το πρώτο, το μέγεθος δηλαδή. Το \'r\' είναι για φθίνουσα ταξινόμηση. +Το \'n\' είναι για να λάβει η sort υπόψη της ότι πρόκειται για αριθμούς (και να μη βάλει το 11111 πριν από το 11 στη φθίνουσα ταξινόμηση, για παράδειγμα). +Χρησιμοποίησα το φίλτρο head για να κρατήσω τις πρώτες 4 γραμμές μόνο (man head). + +Τι κάναμε δηλαδή; Κάναμε μια αναζήτηση κάτω από τον τρέχοντα κατάλογο και βρήκαμε τα πιο μεγάλα σε μέγεθος αρχεία. + +Άλλο: + + % find $FIN |sort -rk 2|head -n 4 + + 20480 2003-08-03-12:32:13 ./tmp/.tips.swp + 7946 2003-08-03-12:32:13 ./tmp/tips + 4096 2003-08-03-12:32:13 ./tmp + 150606 2003-08-03-12:21:35 ./.bash_history + +Κάναμε ταξινόμηση ως προς την ημερομηνία και ώρα τροποποίησης. + +Παρατήρηση: Η find μας επιστρέφει και ονόματα καταλόγων (όπως το ./tmp που φαίνεται πιο πάνω). Για να μην το κάνει αυτό μπορούμε να προσθέσουμε στις παραμέτρους +της find το \'! -type d\'. + +(man find για περισσότερες πληροφορίες). + +### [1.7 Συντόμευση για συνηθισμένα μακριά command lines.]{#ss1.7} + +Αυτό που κάναμε για την find μπορούμε να το κάνουμε και για άλλες εντολές όταν υπάρχει ένα αρκετά μακρύ command line που πληκτρολογούμε συχνά. Να μπαίνει δηλαδή +ένα κομμάτι της εντολής που είναι πάντα σταθερό σε μια μεταβλητή του shell ή αν είναι όλη η εντολή σταθερή να μπαίνει όλη σε ένα alias. + +Για παράδειγμα, κάθε φορά που διαβάζω ένα ενδιαφέρον ρητό πάω και το προσθέτω σε ένα αρχείο των fortunes. Με τα παρακάτω γλυτώνω πολλή πληκτρολόγηση: + + alias addfort='pushd /usr/local/share/games/fortunes;vi quotes;strfile quotes;popd' + +Για το rip ενός dvd: + + alias dvdrip='for i in `seq 1 $n` ; do mplayer -dvd $i -dumpstream -dumpfile ${i}.stream ; done' + +Αφού πρώτα θέσουμε τον αριθμό τίτλων του dvd, τους κάνουμε όλους rip με μια εντολή: + + % n=3;dvdrip + +Το παραπάνω μπορούσε να γίνει πιο απλά με μια συνάρτηση: + + dvdrip() { for i in `seq 1 $1` ; do mplayer -dvd $i -dumpstream -dumpfile ${i}.stream ; done ;} + +οπότε θα χρειαζόταν απλά: + + % dvdrip 3 + +### [1.8 Διάφορα]{#ss1.8} + + alias h='history ' + alias he='head ' + alias t='tail ' + alias j='jobs -l ' + +Γλυτώνουμε πληκτρολόγηση\... + + alias ejclcd='eject /dev/cdrom;sleep 5s;eject -t /dev/cdrom' + +Γιατί να πρέπει να κουραζόμαστε να πατάμε το κουμπί του cd όταν μπορεί να το κάνει το λινουξάκι για μας ;-) ejclcd, βγαίνει το πορτάκι, βάζουμε το δισκάκι, +κλείνει μόνο του. + + ssdu() { ls -AQ|xargs du -sb|sort -rn|cut -f 2|awk '{print "\"" $0 "\""}'|xargs du -sh ; } + ssdus() { while test "$1";do du -sb "$1";shift;done|sort -rn|cut -f 2|awk '{print "\"" $0 "\""}'|xargs du -sh ; } + +Να κάτι πιο εξεζητημένο: Η ssdu δείχνει, σε φθίνουσα σειρά, πόσο χώρο χρησιμοποιεί, σε kB/MB/GB, κάθε στοιχείο (αρχείο ή κατάλογος) του τρέχοντος καταλόγου. Και +αν θέλετε για συγκεκριμένα αρχεία/καταλόγους μονο, η ssdus παίρνει και ορίσματα. + +Βασική ιδέα είναι να τρέξει πρώτα η du για να μας δώσει λίστα αρχείων και καταλόγων ταξινομημένων κατά μέγεθος. Στη συνέχεια για κάθε στοιχείο της λίστας, +παίρνουμε το όνομα και δείχνουμε μαζί και το μέγεθός του σε kB/MB/GB. + + +### [2. Shell prompt]{#s2} + +Το command prompt του shell μπορεί να μας παρέχει σημαντικές πληροφορίες. Π.χ. βάζοντας στο \~/.bashrc τη γραμμή: + + export PS1='\u \w (\#)% ' + +θα πάρουμε ένα prompt του τύπου: + + manolis /usr/local/bin (15)% + +που μας δείχνει το όνομα του χρήστη, τον τρέχοντα κατάλογο και τον αριθμό των εντολών που έχουμε πληκτρολογήσει. (Ο αριθμός αυτός είναι χρήσιμος για την εντολή +[history](04_tips-1.html#history)). + +Το shell μας δίνει τη δυνατότητα να εμφανίσουμε στο prompt ένα σωρό χρήσιμα πράγματα, όπως το hostname (/h), τον αριθμό των εργασιών που τρέχουν στο υπόβαθρο +(/j), την ημερομηνία και ώρα (/d, /t). Φυσικά πρέπει να επιλέξει κανείς μόνο όσα πραγματικά είναι χρήσιμα γιατί ένα πολύ μακρύ prompt δυσχεραίνει τη χρήση του +τερματικού. + +Μπορούμε να τρέξουμε ακόμα και ένα πρόγραμμα και να δείξουμε την έξοδό του στο prompt. Δώστε \"PS1=\'\`uptime\` % \'\" χωρίς τα εισαγωγικά. Δοκιμάστε επίσης +\"PS1=\'\\n\`fortune\`\\n \$ \'\" Κάπως περίεργο, αλλά έχει πλάκα. 8-) + +Για περισσότερες πληροφορίες, man bash, section PROMPTING. + + +### [3. Vi (=very intelligent) editor]{#s3} + +Κατ\' αρχάς διαβάστε τα tips που δίνονται στα τεύχη 22 και 27 του magaz. + +Έχω βάλει στο \~/.vimrc μου τα εξής: + + map :w + map j. + map :bp + map :bn + map :files + map :bdelete + +Κάνουμε map: + +- Στο f1 το σώσιμο του αρχείου. Έτσι θα είναι πιο εύκολο να το πατάμε όλη την ώρα! Ποτέ δεν ξέρεις πότε θα χτυπήσει ο δίσκος ή θα κοπεί το ρεύμα (όποιος έχει + καεί\...). +- Στο f2 την εντολή \'j.\' κάνει τα εξής: Κατεβαίνει μια γραμμή (j) και επαναλαμβάνει την προηγούμενη ενέργεια αλλαγής/διόρθωσης κειμένου (.). Αυτό είναι + χρήσιμο για να επαναλάβουμε σε πολλές γραμμές την ίδια αλλαγή με ελάχιστο κόπο. +- Στα f5 και f6: Μεταφορά στο προηγούμενο και στο επόμενο αρχείο που είναι φορτωμένο στον vi αντίστοιχα. (Θυμίζω ότι με \':e file\' μπορούμε να ανοίξουμε ένα + αρχείο μέσα από τον vi. Και μάλιστα, διαθέτει και autocomplete όπως το shell!) +- Στο f7: Λίστα με όλα τα αρχεία που είναι φορτωμένα +- Στο f8: κλείνουμε το τρέχον αρχείο. + +Επίσης, + +- με την εντολή \':set tw=n\' μπορούμε να θέσουμε το μήκος του κειμένου. Το κείμενο που θα πληκτρολογούμε στο εξής θα αναδιπλώνεται αυτόματα χωρίς να + ξεπερνάει το μήκος που ορίσαμε. +- Με την εντολή \'gqip\' ο vi αναλαμβάνει να μορφοποιήσει την τρέχουσα παράγραφο σύμφωνα με το μήκος κειμένου που έχουμε ορίσει. + +Για περισσότερα για κάθε εντολή, \'help command\' μέσα στο περιβάλλον του vi. + + +### [4. Screen]{#s4} + +Η screen είναι ένα πολύ χρήσιμο πρόγραμμα που μας δίνει τη δυνατότητα να έχουμε σε ένα τερματικό πολλές οθόνες. + +Τρέχουμε τη screen και φαίνεται να μας ανοίγει ένα νέο shell. Πατώντας \'Ctrl-A w\' (Control και A μαζί και στη συνέχεια τα αφήνουμε και πατάμε w) φαίνονται οι +οθόνες που έχουμε. Στην προκειμένη είναι μόνο μία: η νούμερο 0 με τίτλο \'bash\'. Μπορούμε να διορθώσουμε τον τίτλο πατώντας \'Ctrl-A A\'. + +Πατώντας \'Ctrl-A c\' φτιάχνουμε μια καινούρια οθόνη. Άλλος τρόπος έιναι δίνοντας screen (όταν βρισκόμαστε ήδη μέσα στη screen, φτιάχνει μια καινούρια οθόνη, +δεν τρέχει νέο στιγμιότυπο της screen). Μπορούμε με \'screen -t title\' να της δώσουμε και τίτλο. + +Ο πιο απλός τρόπος να τερματίσουμε μια οθόνη είναι να κάνουμε logout από το shell της. + +Με \'Ctrl-A n\' μεταφερόμαστε στην οθόνη με αριθμό n. Με \'Ctrl-A Ctrl-A\' εναλλασόμαστε μεταξύ της τρέχουσας και της προηγούμενης οθόνης. + +Φτιάχνοντας ένα αρχείο \~/.screenrc και προσθέτοντας την παρακάτω γραμμή + + caption always "[%n %t]%? (%W)%? (%D %d %M,%c) (%l)" + +λέμε στη screen να μας δείχνει στο κάτω μέρος της οθόνης μας τις εξής πληροφορίες: + + [0 main] (1 kernel-build) (Sun 03 Aug,13:44) (1.17 1.11 1.04) + +- Τον αριθμό και τον τίτλο της τρέχουσας οθόνης σε αγκύλες. +- Τους αριθμούς και τους τίτλους των άλλων οθονών (αν υπάρχουν) σε παρενθέσεις. +- Την ημερομηνία και ώρα. +- Το system load + +Με τη screen μπορούμε να το παίζουμε \... σε πολλά ταμπλώ έχοντας μόνο ένα τερματικό ανοιχτό. + +Επίσης, άλλη πολύ ενδιαφέρουσα δυνατότητα της screen είναι ότι μπορεί να χωρίσει την οθόνη σε πολλά οριζόντια τμήματα. Σε κάθε ένα από αυτά θα αντιστοιχεί μια +οθόνη, με δυνατότητα ρύθμισης φυσικά του ύψους του καθενός. + +- Ctrl-A S για χωρισμό της οθόνης +- Ctrl-A X για καταστροφή τρέχοντος τμήματος +- Ctrl-A Tab για μετάβαση στο επόμενο τμήμα +- Ctrl-A :resize n για αλλαγή του ύψους του τρέχοντος τμήματος σε n γραμμές, (παίρνει και +n,-n για αύξηση ή μείωση κατα n αντιστοίχως). + +Τέλος, με τη screen έχουμε τη δυνατότητα να κάνουμε detach και reattach ένα session. + +Με (Ctrl-A d) γίνεται το detach, οπότε κλείνει η screen. Το session μας όμως δεν χάθηκε. Δίνοντας screen -ls θα πάρουμε μια έξοδο της μορφής: + + There are screens on: + 781.pts-0.linux (Attached) + 893.pts-3.linux (Attached) + 2002.pts-7.linux (Detached) + 3 Sockets in /tmp/uscreens/S-manolis. + +Με \'screen -r 2002\' (το pid δεν χρειάζεται όταν υπάρχει μόνο ένα detached session) ξανακάνουμε attach το session στο τρέχον τερματικό συνεχίζοντας τη δουλειά +μας ακριβως απο εκεί που την αφήσαμε) + +Αν το session δεν είναι detached και δεν έχουμε, για κάποιο λόγο, πρόσβαση σ\' αυτό μπορούμε να χρησιμοποιήσουμε την εντολή \'screen -d -r pid\' η οποία κάνει +πρώτα detach κι ύστερα attach στο τρέχον τερματικό. + +Μια περίπτωση στην οποία αυτή η ιδιότητα είναι πολύ χρήσιμη είναι σε remote shells. Ας υποθέσουμε ότι συνδέόμαι με telnet σε ένα απομακρυσμένο unix box και +αρχίζω να κάνω μια δουλειά. Μπορώ ανά πάσα στιγμή να κάνώ detach και να τερματίσώ τη σύνδεση. Όταν αργότερα ξανασυνδεθώ, κάνω attach το προηγούμενο session και +συνεχίζω τη δουλειά μου από εκεί που την άφησα! + diff --git a/content/articles/34/05_rce3.md b/content/articles/34/05_rce3.md new file mode 100644 index 0000000..1608d98 --- /dev/null +++ b/content/articles/34/05_rce3.md @@ -0,0 +1,1631 @@ ++++ +title = 'Reverse Engineering σε περιβάλλον Linux, Μέρος 2' +date = '2003-09-01T00:00:00Z' +description = '' +author = 'Φραντζής Αλέξανδρος (aka Alf) alf82 at freemail dot gr' +issue = ['Magaz 34'] +issue_weight = 5 ++++ + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*To άρθρο αυτό είναι το τρίτο της σειράς \"Reverse Engineering σε περιβάλλον Linux\". Σκοπός της σειράς είναι να εξοικοιώσει τους αναγνώστες με τις βασικές +τεχνικές του Reverse Enineering, με έμφαση στο πως αυτές μπορούν να εφαρμοστούν στο Linux, και να τους προσφέρει πιο βαθιές γνώσεις για τη λειτουργία του +συστήματος τους. Στο συγκεκριμένο άρθρο θα ασχοληθούμε κυρίως με τη διαδικασία της εκτέλεσης των προγραμμάτων και τις πληροφορίες που μπορούμε να αποκομίσουμε +από αυτά.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Εισαγωγή** +-------------------------------------- + +**2. Διαδικασία Δημιουργίας και Φόρτωσης Εκτελέσιμου** +----------------------------------------------------------------------------- + +- [2.1 Εισαγωγή](#ss2.1) +- [2.2 Η πορεία ενός bit: Από την πηγαίο κώδικα στο τελικό εκτελέσιμο](#ss2.2) +- [2.3 Το φόρτωμα του προγράμματος](#ss2.3) +- [2.4 Relocation - Εναλλακτικοί τρόποι για τη διόρθωση των αναφορών στο dynamic linking.](#ss2.4) + +**3. Το ELF** +------------------------------------ + +- [3.1 Τι είναι το ELF;](#ss3.1) +- [3.2 Βασική δομή του ELF](#ss3.2) +- [3.3 Ο ELF Header](#ss3.3) +- [3.4 Τα ELF Sections](#ss3.4) +- [3.5 Τα ELF Segments](#ss3.5) +- [3.6 Εκτέλεση ενός ELF executable και dynamic linking](#ss3.6) +- [3.7 Εργαλεία για το ELF](#ss3.7) + +**4. Το /proc filesystem** +------------------------------------------------- + +- [4.1 Τι είναι το /proc filesystem](#ss4.1) +- [4.2 Γενικές πληροφορίες για το σύστημα](#ss4.2) +- [4.3 Πληροφορίες για μια διεργασία](#ss4.3) + +**5. Χρήσιμες έως πολύ χρήσιμες πληροφορίες ΙΙ** +----------------------------------------------------------------------- + +- [5.1 Dead Listing και Εργαλεία](#ss5.1) +- [5.2 Packed Executables - Συμπιεσμένα Εκτελέσιμα](#ss5.2) + +**6. Hands-on Παράδειγμα - Υπό πίεση** +------------------------------------------------------------- + +- [6.1 Πράξη 1η](#ss6.1) +- [6.2 Επιστροφή σε Κανονικές Συνθήκες πίεσης και θερμοκρασίας.](#ss6.2) +- [6.3 Σταματώντας τον χρόνο](#ss6.3) +- [6.4 To patch](#ss6.4) +- [6.5 Ασκήσεις για το σπίτι :)](#ss6.5) + +**7. Πρόκληση** +-------------------------------------- + +- [7.1 Προηγούμενη Πρόκληση (\#1) - Λύση και Hall Of Fame](#ss7.1) +- [7.2 Πρόκληση \#2](#ss7.2) + + +### [1. Εισαγωγή]{#s1} + +Καλωσήρθατε στο τρίτο άρθρο (η μέτρηση αρχίζει από το 0) για Reverse Code Engineering σε Linux! + +Στο μέρος 2 θα ασχοληθούμε με το πως λειτουργούν τα εκτελέσιμα αρχεία γενικά, ενώ στο 3ο μέρος θα μιλήσουμε συγκεκριμένα για τα ELF αρχεία. Για την καλύτερη +κατανόηση των προηγούμενων σας προτείνω να δημιουργήσετε δικά σας μικρά προγράμματα και να δείτε πως ο compiler και ο linker τα μεταμορφώνουν στο τελικό +εκτελέσιμο. + +Στο μέρος 4 θα ρίξουμε μια σύντομη ματιά στα άδυτα του /proc filesystem και στο 5 θα αναφερθούμε σε δύο πολύ σημαντικά θέματα: το dead-listing και τα packed +εκτελέσιμα. + +Το μέρος 6 περιέχει το hands on παράδειγμα αυτού του μήνα, όπου θα συναντήσουμε τη Σταχτοπούτα και τη C++ σε όλο της το μεγαλείο :) Εδώ θα εφαρμόσουμε πολλά από +όσα ειπώθηκαν στα προηγούμενα μέρη. + +Τέλος, όπως πάντα, υπάρχει η λύση του προηγούμενης πρόκλησης, μαζί με το hall of fame και μια καινούργια (και αρκετά διαφορετική από τις προηγούμενες) πρόκληση! + +Να σημειωθεί πως όλα τα εκτελέσιμα έχουν δημιουργηθεί με gcc 3.2.2 και επομένως μπορεί να υπάρχουν προβλήματα αν εκτελεστούν σε σύστημα με παλιά έκδοση του gcc +(πχ 2.95). Ειδικά στην περίπτωση των C++ προγραμμάτων αυτό είναι σίγουρο, διότι έχει αλλάξει ριζικά το Application Binary Interface (ABI). + +Μη διστάσετε να επικοινωνήσετε μαζί μου για οποιαδήποτε διόρθωση, διευκρίνηση ή σχόλιο. + +Επίσης είμαι ανοιχτός σε ιδέες για το τι θα θέλατε να περιέχουν τα επόμενα άρθρα (αν υπάρξουν, βέβαια). + + +### [2. Διαδικασία Δημιουργίας και Φόρτωσης Εκτελέσιμου]{#s2} + +### [2.1 Εισαγωγή]{#ss2.1} + +Η δημιουργία ενός εκτελέσιμου είναι μια από τις πιο βασικές διαδικασίες σε οποιοδήποτε υπολογιστικό σύστημα. Την εποχή του 1950-1960 τα πράγματα ήταν σχετικά +\"απλά\". Ο προγραμματιστής έγραφε τον αλγόριθμο σε μνημονική γλώσσα assembly και τον μετέφραζε με το χέρι σε γλώσσα μηχανής. Ύστερα τον περνούσε με κάποιο +τρόπο (βύσματα, διάτρητες κάρτες) στο σύστημα και προσευχόταν όλα να πάνε καλά! + +Η πρώτη προσπάθεια αυτοματοποίησης ήρθε με την δημιουργία των assemblers. Τώρα πια ο ίδιος ο υπολογιστής έκανε την κουραστική δουλειά της μετάφρασης από +assembly σε γλώσσα μηχανής. Οι (τεμπέληδες :) )προγραμματιστές, όμως, δεν αρκέστηκαν σε αυτό. Ανέπτυξαν γλώσσες υψηλού επιπέδου και δημιούργησαν compilers οι +οποίοι τις μετέφραζαν σε γλώσσα assembly. Οι assemblers που ήδη υπήρχαν ολοκλήρωναν τη διαδικασία αλλά τα πράγματα δε σταμάτησαν ούτε εδώ! Ακολούθησε η χρυσή +εποχή του δομημένου προγραμματισμού και των modules. Αποφασίστηκε ότι ήταν σοφό να επαναχρησιμοποιείται ο κώδικας που υπήρχε ήδη και έτσι έπρεπε να βρεθεί ένας +τρόπος να μπορούν να συνενώνονται κομμάτια κώδικα (σε δυαδική μορφή) που βρίσκονταν σε διαφορετικά αρχεία. + +### [2.2 Η πορεία ενός bit: Από την πηγαίο κώδικα στο τελικό εκτελέσιμο]{#ss2.2} + +Υπάρχουν τρία βασικά είδη object αρχείων: + +- Relocatable Object File: Περιέχουν δεδομένα και κώδικα και είναι κατάλληλα για τη δημιουργία executable ή shared object αρχείων με τη διαδικασία του linking + (Κατάληξη: \".o\", \".obj\" ) +- Executable Object File: Αρχεία κατάλληλα για εκτέλεση (Κατάληξη: στα Unix συστήματα συνήθως καμία, \".bin\", \".exe\") +- Shared Object File: Μπορούν να γίνουν link με άλλα Shared Object ή Relocatable Object Files για να δημιουργήσουν Executable Files Επιπλέον μπορούν να + συνδεθούν δυναμικά με το εκτελέσιμο κατά τη διάρκεια της φόρτωσης του. (Κατάληξη: \".so\", \".dll\") ???? + +Το παρακάτω σχήμα δείχνει συνοπτικά τα στάδια που περνάει ένα πρόγραμμα από τη στιγμή της δημιουργίας του μέχρι την εκτέλεση. + +![](/34/img/linking.png) + +Το παραπάνω πρόγραμμα αποτελείται από δύο modules (Relocatable Object File 1 και 2). Επιπλέον, χρησιμοποιεί δύο \"βιβλιοθήκες\" (Shared Object File 1 και 2). Η +πρώτη συνδέεται στατικά στο πρόγραμμα μας, δηλαδή ο κώδικας της συγχωνεύεται στο τελικό object αρχείο. Η δεύτερη συνδέεται δυναμικά. Στην περίπτωση αυτή, στο +στάδιο του linking δε γίνεται συγχώνευση κώδικα, αλλά εισάγονται πληροφορίες ώστε όταν φορτωθεί το πρόγραμμα ο dynamic linker να μπορέσει να βρει τις +διευθύνσεις των συναρτήσεων και των δεδομένων. + +### [2.3 Το φόρτωμα του προγράμματος]{#ss2.3} + +Όταν ζητάμε από το λειτουργικό να εκτελέσει ένα πρόγραμμα, γίνονται πολλά περισσότερα από όσα φαίνονται εκ πρώτης όψεως. Σε γενικές γραμμές ακολουθούνται τα +εξής βήματα (για τα ELF εκτελέσιμα τα πράγματα διαφέρουν λίγο): + +1. Αρχικά το λειτουργικό διαβάζει τον header του εκτελέσιμου για να πάρει απαραίτητες πληροφορίες, όπως: + - Αν όντως πρόκειται για εκτελέσιμο που μπορεί να τρέξει στον υπολογιστή. + - Πόση μνήμη απαιτεί και τι ιδιότητες έχει κάθε τμήμα (segment) του εκτελέσιμου ( πχ read-only, executable κτλ). + - Ποια shared objects απαιτεί το εκτελέσιμο. +2. Το λειτουργικό αποδίδει στη διεργασία τη μνήμη που χρειάζεται και φορτώνει τα διάφορα τμήματα στη μνήμη. +3. O dynamic linker φορτώνει στο address space της διεργασίας τις βιβλιοθήκες που χρειάζεται. +4. Γίνεται relocation στο εκτελέσιμο και τις βιβλιοθήκες. Ως μέρος της διαδικασίας του relocation, διορθώνονται οι αναφορές σε συναρτήσεις/δεδομένα των + βιβλιοθηκών που φορτώθηκαν. Αυτό είναι το θέμα του επόμενου τμήματος. +5. Τέλος, ο έλεγχος μεταφέρεται στο entry point του προγράμματος. Αυτό αποτελεί τη διεύθυνση της πρώτης εντολής που πρόκειται να εκτελεστεί. + +### [2.4 Relocation - Εναλλακτικοί τρόποι για τη διόρθωση των αναφορών στο dynamic linking.]{#ss2.4} + +Το relocation (επανατοποθέτηση) είναι η διαδικασία κατά την οποία γίνονται διορθώσεις στην εικόνα ενός προγράμματος επειδή αυτή μπορεί να τοποθετηθεί στη μνήμη +σε κάποιο αυθαίρετο σημείο. Αυτό συμβαίνει πάντα για τα shared objects ενώ για τα εκτελέσιμα γίνεται σε πολύ μικρότερο βαθμό. Λόγω της εικονικής μνήμης, +μπορούμε να φορτώνουμε το εκτελέσιμο πάντα στο ίδιο σημείο. Για τα shared objects, από την άλλη, δε γίνεται να υποθέσουμε πως δε θα υπάρχει σύγκρουση, διότι +πρέπει να μπορούν να συνυπάρχουν με οποιοδήποτε άλλο shared object. + +Η διαδικασία του relocation είναι σχετικά πολύπλοκη και εδώ θα ασχοληθούμε μόνο με ένα υποσύνολο της. Αυτό το υποσύνολο σχετίζεται με τις διορθώσεις των +αναφορών σε σύμβολα τα οποία βρίσκονται σε βιβλιοθήκες και συνδέονται δυναμικά με το εκτελέσιμο. + +H χρήση των shared objects για dynamic linking προσφέρει πολλά πλεονεκτήματα σε σχέση με το static linking. Μερικά από αυτά είναι η μείωση του μεγέθους των +εκτελέσιμων, οι αυξημένες δυνατότητες για επαναχρησιμοποίηση κώδικα και η δυνατότητα επέκτασης των εφαρμογών (πχ plug-ins). Όλα αυτά όμως έρχονται με ένα +(μικρό, ομολογουμένως) τίμημα. Επειδή οι βιβλιοθήκες φορτώνονται σε κάποιο αυθαίρετο σημείο της εικονικής μνήμης της διεργασίας, οι διευθύνσεις των +συναρτήσεων/δεδομένων τους δεν είναι γνωστές από πριν. Έτσι οι κλήσεις/αναφορές σε αυτά δεν είναι ολοκληρωμένες στο εκτελέσιμο. + +Υπάρχουν διάφοροι τρόποι για να αντιμετωπιστεί το πρόβλημα αυτό. Έτσι οι κλήσεις σε συναρτήσεις βιβλιοθηκών μπορεί να έχουν μια από τις παρακάτω μορφές (και όχι +μόνο, αυτές είναι οι πιο βασικές): + +1. call 0x???????? : Για τη διόρθωση, πρέπει σε κάθε κλήση της συνάρτησης ο dynamic linker να αλλάξει την τιμή στην πραγματική διεύθυνση της συνάρτησης. πχ + call 0x40001000. Το πρόβλημα είναι πως αν η συνάρτηση καλείται σε 100 διαφορετικά σημεία, πρέπει καταρχάς το εκτελέσιμο να περιέχει πληροφορίες για όλα αυτά + τα σημεία και ο dynamic linker είναι αναγκασμένος να κάνει 100 διορθώσεις. + + ![](/34/img/dynamic1.png) + +2. call \[func1\_offset\] : στη διεύθυνση μνήμης func1\_offset (που είναι καθορισμένη από πριν) ο dynamic linker τοποθετεί τη διεύθυνση της επιθυμητής + συνάρτησης. Όλες οι κλήσεις προς αυτή τη συνάρτηση διαβάζουν τη διεύθυνση από τη συγκεκριμένη θέση μνήμης και την καλούν έμμεσα (indirect call). Έτσι + αποφεύγονται οι πολλαπλές διορθώσεις, με ένα μικρό κόστος στην ταχύτητα εκτέλεσης. Τα PE (Portable Executable) format που χρησιμοποιούν τα MS Windows + στηρίζεται σε αυτό το μοντέλο. + + ![](/34/img/dynamic2.png) + +3. call jmp\_func : στη διεύθυνση jmp\_func βρίσκεται μια εντολή jmp \[func\_offset\]. Στη διεύθυνση func\_offset ο dynamic linker τοποθετεί τη διεύθυνση της + επιθυμητής συνάρτησης. Γιατί όλη αυτή η ταλαιπωρία; Ο μηχανισμός αυτός προσφέρει τη δυνατότητα οι διορθώσεις να γίνονται κατά τη διάρκεια της εκτέλεσης του + προγράμματος, όταν υπάρχει ανάγκη, και όχι απαραίτητα όλες μαζί κατά τη φόρτωση του προγράμματος. Το ELF χρησιμοποιεί μια παραλλαγή του μοντέλου αυτού και + θα το εξετάσουμε αναλυτικότερα παρακάτω. + + ![](/34/img/dynamic3.png) + + +### [3. Το ELF]{#s3} + +### [3.1 Τι είναι το ELF;]{#ss3.1} + +Το Εxecutable and Linking Format (ELF) αποτελεί το format που χρησιμοποιεί το linux για τα object αρχεία του. Υποστηρίζει μια πληθώρα αρχιτεκτονικών και για +αυτό είναι ιδανικό για ένα multi-platform λειτουργικό όπως το linux. Παρακάτω θα γίνει μια περιγραφή των βασικών στοιχείων του ELF. Για μια πιο αναλυτική +περιγραφή ανατρέξτε στο standard (pdf): [ELF 1.1](http://www.nondot.org/sabre/os/files/Executables/ELF.pdf), [ELF +1.2](http://x86.ddj.com/ftp/manuals/tools/elf.pdf) + +Αυτό το ELF δεν έχει καμία σχέση με τον Tolkien :) + +### [3.2 Βασική δομή του ELF]{#ss3.2} + +Τα βασικά συστατικά που απαρτίζουν κάθε ELF object αρχείο είναι: + +- O ELF header +- Το Program Header Table (optional στα Relocatable Object Files) +- Τα sections και τα segments. Τα segments αποτελούνται από ένα ή παραπάνω sections. +- To Section Header Table (optional στα Executable Object Files) + +Σχηματικά: + +![](/34/img/elf_views.png) + +Τα δύο views αποτελούν διαφορετικούς τρόπους με τους οποίους το σύστημα βλέπει ένα ELF object αρχείο. Το πρώτο (linking view) χρησιμοποιείται όταν το αρχείο +πρόκειται να συνδεθεί για την παραγωγή εκτελέσιμου. Η δομική μονάδα εδώ είναι το section. Το δεύτερο (execution view) χρησιμοποιείται κατά τη φόρτωση-εκτέλεση +ενός εκτελέσιμου. Ο loader δε \"βλέπει\" πια sections αλλά φορτώνει στη μνήμη ολόκληρα segments (ομάδες από sections). + +### [3.3 Ο ELF Header]{#ss3.3} + +![](/34/img/elf_header.png) + +Ο ELF Header περιέχει βασικές πληροφορίες για το object αρχείο. To πρώτο του κομμάτι (16 bytes) είναι το ELF Identification. Αυτό εκτός από τον \"μαγικό +αριθμό\" (υπογραφή) του ELF καθορίζει + +- **File Class**: Aν το εκτελέσιμο είναι 32-bit ή 64-bit (πάνε τα 16-bit, πόσο μάλλον τα 8-bit!). +- **Data Encoding**: Aν τα δεδομένα είναι σε LSB (little-endian) ή MSB (big-endian) μορφή. +- **Header Ver \#**: Την έκδοση του ELF Header. + +Ακολουθούν 9 padding bytes και ύστερα αρχίζει ο κυρίως header. + +- **Object File Type** : Το είδος του object file (relocatable, executable, shared object). +- **Required Architecture** : Η αρχιτεκτονική στην οποία πρέπει να είναι στηριγμένος ο επεξεργαστής ώστε να μπορεί να λειτουργήσει το πρόγραμμα (Intel 80386, + SPARC, MIPS RS3000 κτλ) +- **Object File Version \#** : H εκδοση του ELF. +- **Process Entry point** : H εικονική διεύθυνση της πρώτης εντολής του προγράμματος η οποία θα εκτελεστεί. +- **Program Header Table Offset** : To offset του PHT στο object αρχείο. +- **Section Header Table Offset** : To offset του SHT στο object αρχείο. +- **Processor Specific Flags** : Σημαίες που αφορούν σε ιδιότητες του εκάστοτε επεξεργαστή. +- **ELF Header Size** : To μέγεθος του ELF Header σε bytes. +- **PHT Entry Size** : Το μέγεθος μιας καταχώρησης στο Program Header Table. +- **Number of PHT entries** : Ο αριθμός των καταχωρήσεων στο Program Header Table σε bytes. +- **SHT Entry Size** : Το μέγεθος μιας καταχώρησης στο Section Header Table σε bytes . +- **Number of SHT entries** : Ο αριθμός των καταχωρήσεων στο Section Header Table. +- **Section Name String Table SHT Index** : Το index στο SHT που καθορίζει ποιο section περιέχει το string table με τα ονόματα των sections. + +### [3.4 Τα ELF Sections]{#ss3.4} + +Το section είναι ένα τμήμα του object αρχείου το οποίο περιέχει συγκεκριμένες και ομογενείς πληροφορίες. Για παράδειγμα, ένα section μπορεί να περιέχει τον +κώδικα του προγράμματος, ένα άλλο τα δεδομένα, ένα τρίτο το string table κτλ. Τα sections ενός ELF αρχείου καθορίζονται στο Section Header Table. Αν και είναι +προαιρετικός στο executable object αρχεία, πάντα περιλαμβάνεται (από όσο έχω δει). Το Section Header Table αποτελείται από μια σειρά από περιγραφείς, καθένας +από τους οποίους μας δίνει πληροφορίες για ένα section: + +![](/34/img/elf_section.png) + +Οι πληροφορίες που μας παρέχει η παραπάνω δομή είναι: + +- **Section Name String Table Index** : To offset του ονόματος του section στο string table. +- **Section Type** : Το είδος του section (πχ program-defined, symbol table, dynamic linking info). +- **Section Flags** : Σημαίες που καθορίζουν διάφορα χαρακτηριστικά του section (πχ allocation (αν το section φορτώνεται στη μνήμη κατα την εκτέλεση), write, + execute). +- **Section Virtual Address** : Η εικονική διεύθυνση στην οποία θα φορτωθεί το section στη μνήμη ή 0 αν δεν φορτώνεται. +- **Section File Offset** : Το offset στο οποίο αρχίζει το section στο object αρχείο. +- **Section Size** : Το μέγεθος του section σε bytes +- **Section Header Table Index Link** : Κάποια sections χρειάζονται πληροφορίες από κάποιο άλλο section. To πεδίο καθορίζει το index του απαραίτητου section + στο section header table. Χαρακτηριστικό παράδειγμα είναι τα sections που περιέχουν πληροφορίες για το dynamic linking. Σε αυτά, το πεδίο καθορίζει σε ποιo + string table section βρίσκονται τα ονόματα του εξωτερικών συμβόλων. +- **Additional Section Info** : Επιπλέον πληροφορίες, η σημασία των οποίων εξαρτάται από το είδος του section. +- **Section Address Alignment** : Καθορίζει σε τι όρια πρέπει να φορτωθεί το section. +- **Fixed-Size Entry Size** : Αν το section αποτελείται από κάποιον πίνακα στον οποίο κάθε καταχώρηση έχει σταθερό μέγεθος, το πεδίο αυτό δίνει το μέγεθος της + κάθε καταχώρησης (πχ το symbol table section) + +Υπάρχουν κάποια sections τα οποία κατά σύμβαση περιέχουν συγκεκριμένες πληροφορίες. Μια πλήρης λίστα μπορεί να βρεθεί στο standard. Τα πιο σημαντικά και κοινά +είναι: + +- **.text** : Περιέχει τον εκτελέσιμο κώδικα του προγράμματος. +- **.data** : Περιέχει τα αρχικοποιημένα δεδομένα του προγράμματος (πχ global μεταβλητές στις οποίες έχουμε δώσει αρχική τιμή). +- **.bss** : Περιέχει μη αρχικοποιημένα δεδομένα του προγράμματος (πχ global μεταβλητές στις οποίες δεν έχουμε δώσει αρχική τιμή). Το section αυτό δεν + καταλαμβάνει χώρο στο αρχείο αλλά δημιουργείται μόνο στη μνήμη, όπου όλα τα bytes του μηδενίζονται. +- **.dynamic** : Περιέχει πληροφορίες απαραίτητες για το dynamic linking. +- **.strtab** : Περιέχει strings που χρησιμοποιούνται κυριώς από το symbol table. +- **.dynstr** : Περιέχει τα strings σχετικά με το dynamic linking. +- **.shstrtab** : Περιέχει τα strings των ονομάτων των sections. +- **.symtab** : Περιέχει τo symbol table για το αρχείο. +- **.dynsym** : Περιέχει τo symbol table για τα σύμβολα που χρειάζονται για το dynamic linking. +- **.plt** : Περιέχει τo procedure linkage table. Θα ασχοληθούμε με αυτό αργότερα. +- **.interp** : Περιέχει το path του interpreter που θα φορτώσει το εκτελέσιμο. + +#### String Table Section + +Τα τρία sections .strtab, .dynstr και .shstrtab περιέχουν strings τα οποία χρησιμοποιούνται από κάποια άλλα sections. Η δομή τους είναι αρκετά απλή: Το πρώτο +byte του section είναι \'\\0\' και από εκεί και πέρα ακολουθεί μια σειρά από null-terminated strings. Τα strings καθορίζονται από το offset τους από την αρχή +του section. + +![](/34/img/elf_string.png) + +Για το παραπάνω table έχουμε: + + index/offset String + 1 "alf" + 2 "lf" + 5 "tx" + κτλ + +### [3.5 Τα ELF Segments]{#ss3.5} + +Τα segments αποτελούνται από ένα ή περισσότερα sections τα οποία κατά τη φόρτωση του εκτελέσιμου/shared object αρχείου έχουν κοινές ιδιότητες. Για κάθε segment +υπάρχει μια καταχώρηση στο Program Header Table: + +![](/34/img/elf_segment.png) + +- **Segment Type** : To είδος του segment και των πληροφοριών που περιέχει (πχ loadable(θα φορτωθεί στη μνήμη), dynamic linking info) +- **Segment File offset** : Το offset της αρχής του segment στο αρχείο. +- **Segment Virtual Address** : Η εικονική διεύθυνση στην οποία θα φορτωθεί το segment στη μνήμη. +- **Segment Physical Address** : Η φυσική διεύθυνση μνήμη στην οποία θα φορτωθεί το segment. Προφανώς τα περισσότερα συστήματα αγνοούν αυτό το πεδίο. +- **Segment File Image Size** : To μέγεθος που καταλαμβάνει το segment στο αρχείο. +- **Segment Memory Image Size** : To μέγεθος που θα καταλαμβάνει το segment στη μνήμη (\>=Segment File Image Size) +- **Segment Flags** : Σημαίες που καθορίζουν ιδιότητες του segment. +- **Segment Alignment** : Καθορίζει σε τι όρια πρέπει να φορτωθεί το segment. + +### [3.6 Εκτέλεση ενός ELF executable και dynamic linking]{#ss3.6} + +#### Φόρτωση - Εκτέλεση + +Σε γενικές γραμμές ακολουθούνται τα εξής βήματα: + +1. Αρχικά το λειτουργικό (μέσω του syscall exec()) διαβάζει τον header του εκτελέσιμου για να πάρει απαραίτητες πληροφορίες όπως: + - Αν όντως πρόκειται για εκτελέσιμο που μπορεί να τρέξει στον υπολογιστή + - Πόση μνήμη απαιτεί και τι ιδιότητες έχει κάθε τμήμα (segment) του εκτελέσιμου ( πχ read-only, executable κτλ) +2. To λειτουργικό ελέγχει στο Program Header Table αν το εκτελέσιμο περιέχει ένα segment τύπου PT\_INTERP (το οποίο περιέχει μόνο ένα section, το .interp).\ + Αν δεν υπάρχει τότε: + - Το λειτουργικό αποδίδει στη διεργασία τη μνήμη που χρειάζεται και φορτώνει τα διάφορα τμήματα στη μνήμη. + - Γίνεται relocation (επανατοποθέτηση) αν χρειάζεται. + - Τέλος, ο έλεγχος μεταφέρεται στο entry point του προγράμματος. + + Αν υπάρχει (συνήθως υπάρχει): + - Διαβάζει από το segment το path του interpreter και φορτώνει τον interpreter στη μνήμη. + - Το λειτουργικό είτε φορτώνει το εκτελέσιμο στη μνήμη και \"περνάει\" τη διεύθυνση του στον interpreter, είτε \"περνάει\" στον interpreter έναν file + descriptor για το αρχείο του εκτελέσιμου και τον αφήνει να κάνει τη δουλειά. Σε κάθε περίπτωση, **ο έλεγχος περνάει στον interpreter**. + - O interpreter, αν είναι ο dynamic linker ld.so (κατά 99% είναι αυτός), φορτώνει στο address space της διεργασίας τις βιβλιοθήκες που χρειάζεται το + εκτελέσιμο. + - Γίνεται relocation στο εκτελέσιμο και στις βιβλιοθήκες. Ως μέρος του relocation, διορθώνονται, αν είναι ανάγκη, οι αναφορές σε συναρτήσεις/δεδομένα των + βιβλιοθηκών που φορτώθηκαν. Στο ELF αυτό μπορεί να γίνει και στο run-time. + - Δίνεται η δυνατότητα σε κάθε shared object να εκτελέσει κάποιο κώδικα αρχικοποίησης. + - Τέλος, ο έλεγχος μεταφέρεται στο entry point του εκτελέσιμου. + +#### Το dynamic linking στο ELF + +Τα sections τα οποία σχετίζονται με το dynamic linking σε ένα εκτελέσιμο είναι τα εξής: + +**.dynamic** + +Αυτό περιέχει πληροφορίες για το ποια shared object είναι απαραίτητα για την εκτέλεση, τη διεύθυνση του relocation table, τη διεύθυνση του symbol table που +περιέχει τα εξωτερικά σύμβολα κτλ. Ο dynamic linker διαβάζει τα πεδία αυτά, φορτώνει (και επανατοποθετεί) τις βιβλιοθήκες και προσπαθεί να \"επιλύσει\" +(resolve) τις αναφορές στα εξωτερικά σύμβολα. Με άλλα λόγια, βρίσκει τις διευθύνσεις των συμβόλων και τις διορθώνει στο εκτελέσιμο. Πρέπει να σημειωθεί πως οι +βιβλιοθήκες που φορτώνει ο dynamic linker μπορεί και αυτές να απαιτούν άλλες βιβλιοθήκες, οπότε η όλη διαδικασία επαναλαμβάνεται αναδρομικά. Βέβαια, κάθε +βιβλιοθήκη φορτώνεται μόνο μια φορά, άσχετα από το αν χρησιμοποιείται από πολλά ELF objects. + +**.got (Global Offset Table)** + +Το section αυτό (αφού φορτωθεί το πρόγραμμα) περιλαμβάνει τις διευθύνσεις των συμβόλων που είναι πιθανό να αλλάξουν από το relocation. Στα εκτελέσιμα περιέχει +μόνο τις διευθύνσεις των εξωτερικών συμβόλων (dynamically linked), ενώ για τα shared object περιλαμβάνει τις διευθύνσεις όλων των συμβόλων (εσωτερικών και +εξωτερικών). Αυτό συμβαίνει αφού σίγουρα το shared object θα επανατοποθετηθεί. Οι πρώτες τρεις καταχωρίσεις έχουν ειδική σημασία. Η πρώτη (offset 0) περιέχει τη +διεύθυνση του .dynamic section. Η τρίτη περιλαμβάνει τη διεύθυνση του dynamic linker. Η τύχη της δεύτερης αγνοείται προς το παρόν. + +**.plt (Procedure Linkage Table)** + + Αυτό έχει τη μορφή: + plt_start: + push got_start+4 + jmp [got_start+8] + ... + jmp_func1: + jmp [func1_offset] + push relocation_offset1 + jmp plt_start + + jmp_func2: + ... + +Το func1\_offset είναι μια διεύθυνση μέσα στο .got section που τελικά (μετά το relocation) θα περιέχει τη διεύθυνση της συνάρτησης func1. To relocation\_offset1 +είναι ένα offset που καθορίζει μια καταχώρηση στο relocation table. H καταχώρηση αυτή θα έχει ως offset αλλαγής (η διεύθυνση στην οποία θα γίνει η διόρθωση) το +func1\_offset. + +Αρχικά, η διεύθυνση func1\_offset περιέχει τη διεύθυνση της επόμενης εντολής από την jmp \[func1\_offset\]. Έτσι, ο έλεγχος πάει στην push relocation\_offset1 +και μετά, μέσω της jmp plt\_start, στο push got\_start+4, jmp \[got\_start+8\]. + +Το got\_start+8 είναι η τρίτη καταχώρηση στο .got section και όπως είπαμε περιλαμβάνει τη διεύθυνση του dynamic linker. Έτσι, ο έλεγχος περνάει στο dynamic +linker με δύο παραμέτρους (got\_start+4, relocation\_offset1). Με αυτές τις πληροφορίες ο dynamic linker μπορεί να βρει τη διεύθυνση της ζητούμενης συνάρτησης +και να την τοποθετήσει στη func1\_offset. Την επόμενη φορά που θα κληθεί η jmp\_func1, η εντολή jmp \[func1\_offset\] θα οδηγήσει στην πραγματική συνάρτηση +func1 (και όχι στο αμέσως επόμενο push). + +Είναι φανερό πως αυτή η διαδικασία δεν είναι απαραίτητο να γίνει στο φόρτωμα του προγράμματος αλλά την πρώτη φορά που θα χρειαστεί να κληθεί η func1. Αυτή είναι +η default συμπεριφορά και ονομάζεται lazy binding. Μπορούμε να την αλλάξουμε δίνοντας στη enviroment μεταβλητή LD\_BIND\_NOW μία μη null τιμή. + +### [3.7 Εργαλεία για το ELF]{#ss3.7} + +Η δομή του ELF καθιστά αρκετά επίπονη και χρονοβόρα την απευθείας εξαγωγή πληροφοριών από ένα object αρχείο. Ευτυχώς για εμάς, υπάρχει μια πληθώρα εργαλείων που +μπορούν να μας διευκολύνουν. + +Το πιο κοινό ίσως εργαλείο (αλλά σίγουρα όχι το καλύτερο) είναι το **objdump**. Το objdump είναι μέρος των binutils και μπορεί να μας δώσει σχεδόν όλες τις +πληροφορίες που περιέχει ένα ELF object αρχείο. Η επιλογή των πληροφοριών που θα απεικονιστούν γίνεται με διάφορα flags. Βασικά flags είναι το **-x** το οποίο +δείχνει *σχεδόν* όλες τις πληροφορίες (**εκτός από αυτές που σχετίζονται με δυναμικά σύμβολα**), το **-Τ** που δείχνει τα δυναμικά σύμβολα, το **-d** που κάνει +disassemble τον κώδικα, το **-M** με το οποίο ρυθμίζουμε τον disassembler (πχ **-M intel** για intel σύνταξη) και το **-C** που ενεργοποιεί το demangling. Το +κύριο μειονέκτημα του objdump είναι στον τομέα του disassembly. Το listing που παράγεται έχει ελάχιστες πληροφορίες, ειδικά αν δεν υπάρχουν σύμβολα. Παρέα με το +objdump (στα binutils) έρχονται το readelf και το nm. Η αλήθεια είναι πως δεν είναι και πολύ χρήσιμα, αφού το objdump κάνει ότι τα προηγούμενα δύο μαζί και +ακόμα παραπάνω. + +Ένα σαφώς πιο εξελιγμένο εργαλείο είναι το **ELFsh** (Site: ). Πρόκειται για μια scripting γλώσσα που μας επιτρέπει να διαχειριστούμε +ένα ELF αρχείο. Οι δυνατότητές του ποικίλουν από μια απλή απεικόνιση των πληροφοριών του header, μέχρι και συγχώνευση δύο object αρχείων! Η \"ψυχή\" του +προγράμματος βρίσκεται σε μια καλοσχεδιασμένη βιβλιοθήκη (libelfsh) και έτσι μπορεί να χρησιμοποιηθεί σε οποιαδήποτε άλλη εφαρμογή. + +Μια πιο εύχρηστη λύση είναι o **HT Editor** (Site: ). Παρέχει πλήρη διαχείριση του object αρχείου και έναν αρκετά καλό disassembler. +Θα αναφερθούμε λίγο περισσότερο σε αυτόν στο κομμάτι για το [dead-listing](05_rce3-5.html#dead-listing). + + +### [4. Το /proc filesystem]{#s4} + +### [4.1 Τι είναι το /proc filesystem]{#ss4.1} + +To /proc είναι ένα εικονικό σύστημα αρχείων το οποίο μας δίνει τη δυνατότητα να πάρουμε πληροφορίες από τις δομές δεδομένων του πυρήνα. Είναι εικονικό με την +έννοια ότι τα αρχεία που βλέπουμε δεν έχουν κάποια φυσική υπόσταση (πχ δεν βρίσκονται σε κάποια συσκευή). Τα περισσότερα αρχεία μπορούν να ανοιχτούν μόνο για +ανάγνωση. Με ένα \"man proc\" θα λάβετε ότι πληροφορίες για το /proc θέλετε και δε θέλετε να μάθετε :) + +### [4.2 Γενικές πληροφορίες για το σύστημα]{#ss4.2} + +Στο βασικό κατάλογο /proc υπάρχει ένα πλήθος από αρχεία και καταλόγους. Κάποια από αυτά περιέχουν ολόκληρες δομές πληροφοριών, ενώ άλλα απλώς την τιμή μιας +συγκεκριμένης μεταβλητής του πυρήνα. Τα περισσότερα αρχεία έχουν ονόματα που αυτοεξηγούνται. Κάποια κύρια είναι: + +- **/proc/\ (directory)** : Οι κατάλογοι που το όνομα τους είναι ένας αριθμός, περιέχουν πληροφορίες για τη διεργασία με τον συγκεκριμένο process id. Θα + τους εξετάσουμε αναλυτικά σε λίγο. +- **/proc/self (directory)** : Symbolic link στον κατάλογο που περιέχει πληροφορίες για την τρέχουσα διεργασία +- **/proc/ide (directory)** : Πληροφορίες για τις συσκευές που είναι συνδεδεμένες στο ide bus. +- **/proc/sys (directory)** : Πλήθος πληροφοριών για το σύστημα και τον πυρήνα. +- **/proc/cpuinfo** : Πληροφορίες για τον επεξεργαστή μας και τα bugs του :) +- **/proc/filesystems** : Λίστα από τα filesystem που υποστηρίζει ο πυρήνας. +- **/proc/meminfo** : Πληροφορίες για τη χρήση της μνήμης στο σύστημα σας. +- **/proc/modules** : Ποια modules είναι φορτωμένα στον πυρήνα. Αυτό χρησιμοποιεί και η *lsmod*. +- **/proc/interrupts** : Από ποιες συσκευές πηγάζουν τα hardware interrupts. +- **/proc/partitions** : Λίστα με όλα τα partitions στον υπολογιστή (άσχετα αν είναι mounted η όχι). +- **/proc/mounts** : Λίστα με όλα τα mounted directories. (link στο self/mounts) + +### [4.3 Πληροφορίες για μια διεργασία]{#ss4.3} + +Αν και το /proc filesystem περιέχει τεράστιο όγκο πληροφοριών, αυτές που είναι πραγματικά χρήσιμες για κάποιον που επιδίδεται στο RCE είναι οι πληροφορίες περί +διεργασιών. Αυτές βρίσκονται στον κατάλογο με αριθμό (όνομα) το pid της διεργασίας. Ο κατάλογος περιέχει: + +- **/cwd (directory link)**: link στον τρέχον κατάλογο της διεργασίας (current working directory). + +- **/fd (directory)** : Περιέχει links στα ανοικτά αρχεία της διεργασίας. Πχ το link για το αρχείο με file descriptor 2 είναι fd/2. + +- **/root (directory link)**: link στο root directory του filesystem στο οποίο εκτελείται η διεργασία (συνήθως \"/\" ). + +- **cmdline** : Η πλήρης γραμμή εντολής με την οποία κλήθηκε η διεργασία. + +- **environ** : Λίστα με τις enviroment variables που βλέπει η διεργασία. + +- **exe (link)** : link στο εκτελέσιμο από το οποίο δημιουργήθηκε η διεργασία. + +- **maps** : Το memory map της διεργασίας. Για παράδειγμα για την εντολή less: + + Virtual Address Perm Offset Device INode Path + 08048000-08060000 r-xp 00000000 03:07 1457441 /usr/bin/less + 08060000-08061000 rw-p 00018000 03:07 1457441 /usr/bin/less + 08061000-0806a000 rwxp 00000000 00:00 0 + 40000000-40014000 r-xp 00000000 03:07 615324 /lib/ld-2.3.1.so + 40014000-40015000 rw-p 00014000 03:07 615324 /lib/ld-2.3.1.so + 40026000-40059000 r-xp 00000000 03:07 615315 /lib/libncurses.so.5.3 + 40059000-40062000 rw-p 00032000 03:07 615315 /lib/libncurses.so.5.3 + 40062000-40063000 rw-p 00000000 00:00 0 + 40063000-4018d000 r-xp 00000000 03:07 615327 /lib/libc-2.3.1.so + 4018d000-40192000 rw-p 0012a000 03:07 615327 /lib/libc-2.3.1.so + 40192000-40196000 rw-p 00000000 00:00 0 + 40196000-40396000 r--p 00000000 03:07 745906 /usr/lib/locale/locale-archive + 40396000-403c9000 r--p 00507000 03:07 745906 /usr/lib/locale/locale-archive + bfffc000-c0000000 rwxp ffffd000 00:00 0 + + Η πρώτη στήλη και η δεύτερη δίνουν το πεδίο εικονικών διευθύνσεων που καταλαμβάνει το segment και τα διακαιώματα του, αντίστοιχα. Η τρίτη είναι το offset + στο οποίο βρίσκεται το segment στο αρχείο από το οποίο φορτώθηκε. Οι υπόλοιπες στήλες δίνουν το device major:minor number, το ΙNode και το πλήρες path του + αρχείο αυτού. + + Παρατηρήστε πως όλα τα shared object φορτώνονται στη διεύθυνση 0x40000000 και πάνω. Επιπλέον το τελευταίο segment περιέχει το σωρό. Το γεγονός ότι από + default είναι executable (-x- flag) είναι η ρίζα του κακού για τα buffer overflow exploits. + +- **mem** : Η ίδια η μνήμη της διεργασίας. Διαβάζοντας και γράφοντας στο αρχείο αυτό, προσπελαύνουμε κατευθείαν τη μνήμη της διεργασίας. Προφανώς πρέπει να + έχουμε τα κατάλληλα δικαιώματα. + +- **mounts** : Λίστα με όλα τα mounted directories. (link στο self/mounts) + +- **stat** : Η κατάσταση της διεργασίας (αλά *ps*). + +- **statm** : Πληροφορίες για την κατάσταση της μνήμης. + +- **status** : Πληροφορίες από τα δύο παραπάνω αρχεία σε πιο ευανάγνωστη μορφή. + +Οι πιο χρήσιμες (για RCE) από τις παραπάνω πληροφορίες είναι αυτές που δίνονται από τα **fd/**, **map**, **cmdline** και **exe**. Ειδικά το τελευταίο έχει μια +ενδιαφέρουσα χρήση. Ακόμα και αν διαγράψουμε το εκτελέσιμο αρχείο μιας διεργασίας ενώ εκτελείται, μπορούμε να έχουμε πρόσβαση σε αυτό μέσω του **exe**! + + +### [5. Χρήσιμες έως πολύ χρήσιμες πληροφορίες ΙΙ]{#s5} + +### []{#dead-listing} [5.1 Dead Listing και Εργαλεία]{#ss5.1} + +#### Τι είναι το dead listing + +Dead listing είναι η παρουσίαση του κώδικα ενός εκτελέσιμου σε στατική μορφή. Κύριο πλεονέκτημα αυτού του τρόπου μελέτης του κώδικα είναι πως δίνει μια πιο +ολοκληρωμένη άποψη για τη λειτουργία του, και, ανάλογα με την ποιότητα του disassembler, ένα πλήθος πληροφοριών (function calls, strings κτλ). Το βασικό +μειονέκτημα είναι ότι δε μπορεί να μας δώσει χρήσιμα αποτελέσματα αν ο κώδικας αλλάζει κατά τη διάρκεια της εκτέλεσης (πχ self-modifying code, +συμπιεσμένα/κρυπτογραφημένα εκτελέσιμα) ή αν υπάρχουν πολλά έμμεσα jmp και calls (πχ jmp \[eax\]), διότι δεν μπορούμε να ακολουθήσουμε (έστω και νοητικά) την +πορεία της εκτέλεσης. Το καλύτερο που έχουμε να κάνουμε σε τέτοιες περιπτώσεις, είναι να φέρουμε το εκτελέσιμο σε μια μορφή που να μπορεί να διαβάσει ο +disassembler, ώστε να εκμεταλλευτούμε τις ευκολίες που μας προσφέρει. + +[]{#objdump-weakness} Δυστυχώς, οι disassembly δυνατότητες του objdump δεν είναι αρκετά ικανοποιητικές (μη ξεχνάμε βέβαια πως το objdump δε σχεδιάστηκε για +αυτό). Εκτός από ο γεγονός ότι δε φροντίζει να παρουσιάζει τα cross-references (πχ αν μια διεύθυνση μνήμης είναι στόχος μιας jump ή call εντολής), το +disassembly του είναι γραμμικό και δε γίνεται καμία προσπάθεια να ακολουθηθεί η ροή του προγράμματος. Για παράδειγμα το παρακάτω κομμάτι κώδικα ο ΗΤEditor το +κάνει disassemble σωστά\... + +> 8048080 ! +> ....... ! entrypoint: +> ....... ! jmp loc_8048083 +> 8048082 db 86h +> 8048083 ! +> ....... ! loc_8048083: ;xref j8048080 +> ....... ! cmp eax, ebx +> 8048085 ! ret + +\...ενώ το objdump δεν καταλαβαίνει ότι ο έλεγχος θα πάει στη διεύθυνση 0x8048083 και συνεχίζει το disassembly με το επόμενο byte (dummy byte), με αποτέλεσμα να +αποσυγχρονιστεί το listing από εκεί και κάτω. + +> 08048080 <_start>: +> 8048080: eb 01 jmp 8048083 <_start+0x3> +> 8048082: 86 39 xchg BYTE PTR [ecx],bh +> 8048084: d8 c3 fadd %st,st(3) + +Μπορεί τα \"κανονικά\" προγράμματα να μην έχουν κώδικα αυτής της μορφής αλλά πρόκειται για μια πολύ κοινή τεχνική για προστασία έναντι των \"χαζών\" +disassemblers. + +#### Εργαλεία + +Παρακάτω παρουσιάζονται συνοπτικά μερικοί disassemblers και το disassembly που παράγουν για το γνωστό :) πρόγραμμα. + +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- +> +> #include +> +> int main(int argc, char **argv) +> { +> int num; +> +> if (argc<2) { +> printf("Usage: %s \n",argv[0]); +> exit(1); +> } +> +> num=alf(argv[1]); +> +> if (num>10) +> printf("Ok!\n"); +> else +> printf("Failed!\n"); +> +> return 1; +> } +> +> int alf(char *s) +> { +> return atoi(s); +> } +> +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +#### IDA + +Ένα από τα καλύτερα εργαλεία για disassemby είναι ο **IDA (Interactive DisAssembler)**. Υπάρχει μια freeware έκδοση που δουλεύει σε DOS, ενώ η εμπορική υπάρχει +και για περιβάλλον Windows. Υποστηρίζει πλήθος αρχιτεκτονικών, εκτελέσιμων και compilers, ενώ περιέχει μια script γλώσσα για διάφορες αυτοματοποιήσεις. Στο +linux μπορεί να εκτελεστεί μέσω wine. Το επίσημο site είναι , ενώ τη freeware εκδοση μπορείτε να τη βρείτε με μια αναζήτηση στο +google. + +> .text:0804838C ; ??????????????? S U B R O U T I N E ??????????????????????????????????????? +> .text:0804838C +> .text:0804838C ; Attributes: bp-based frame +> .text:0804838C +> .text:0804838C public main +> .text:0804838C main proc near ; DATA XREF: _start+17 o +> .text:0804838C +> .text:0804838C var_4 = dword ptr -4 +> .text:0804838C arg_0 = dword ptr 8 +> .text:0804838C arg_4 = dword ptr 0Ch +> .text:0804838C +> .text:0804838C push ebp +> .text:0804838D mov ebp, esp +> .text:0804838F sub esp, 8 +> .text:08048392 and esp, 0FFFFFFF0h +> .text:08048395 mov eax, 0 +> .text:0804839A sub esp, eax +> .text:0804839C cmp [ebp+arg_0], 1 +> .text:080483A0 jg short loc_80483C1 +> .text:080483A2 sub esp, 8 +> .text:080483A5 mov eax, [ebp+arg_4] +> .text:080483A8 push dword ptr [eax] +> .text:080483AA push offset aUsageSNumber ; "Usage: %s \n" +> .text:080483AF call _printf +> .text:080483B4 add esp, 10h +> .text:080483B7 sub esp, 0Ch +> .text:080483BA push 1 +> .text:080483BC call _exit +> .text:080483C1 +> .text:080483C1 loc_80483C1: ; CODE XREF: main+14 j +> .text:080483C1 sub esp, 0Ch +> .text:080483C4 mov eax, [ebp+arg_4] +> .text:080483C7 add eax, 4 +> .text:080483CA push dword ptr [eax] +> .text:080483CC call alf +> .text:080483D1 add esp, 10h +> .text:080483D4 mov [ebp+var_4], eax +> .text:080483D7 cmp [ebp+var_4], 0Ah +> .text:080483DB jle short loc_80483EF +> .text:080483DD sub esp, 0Ch +> .text:080483E0 push offset aOk ; "Ok!\n" +> .text:080483E5 call _printf +> .text:080483EA add esp, 10h +> .text:080483ED jmp short loc_80483FF +> .text:080483EF ; --------------------------------------------------------------------------- +> .text:080483EF +> .text:080483EF loc_80483EF: ; CODE XREF: main+4F j +> .text:080483EF sub esp, 0Ch +> .text:080483F2 push offset aFailed ; "Failed!\n" +> .text:080483F7 call _printf +> .text:080483FC add esp, 10h +> .text:080483FF +> .text:080483FF loc_80483FF: ; CODE XREF: main+61 j +> .text:080483FF mov eax, 1 +> .text:08048404 leave +> .text:08048405 retn +> .text:08048405 main endp +> .text:08048405 +> .text:08048406 +> .text:08048406 ; ??????????????? S U B R O U T I N E ??????????????????????????????????????? +> .text:08048406 +> .text:08048406 ; Attributes: bp-based frame +> .text:08048406 +> .text:08048406 public alf +> .text:08048406 alf proc near ; CODE XREF: main+40 p +> .text:08048406 +> .text:08048406 arg_0 = dword ptr 8 +> .text:08048406 +> .text:08048406 push ebp +> .text:08048407 mov ebp, esp +> .text:08048409 sub esp, 8 +> .text:0804840C sub esp, 0Ch +> .text:0804840F push [ebp+arg_0] +> .text:08048412 call _atoi +> .text:08048417 add esp, 10h +> .text:0804841A leave +> .text:0804841B retn +> .text:0804841B alf endp +> .text:0804841B +> .text:0804841C + +#### Bastard Disassembly Enviroment + +Στον κόσμο του open source τώρα, στο sourceforge θα βρείτε projects που υπόσχονται πολλά αλλά δυστυχώς είναι σε πρώιμο στάδιο. Ένα από αυτά είναι το Bastard +Disassembly Enviroment. Πρακτικά πρόκειται για μια scripting γλώσσα και το αντίστοιχο interpreter shell. Site: . + +> main: +> 0804838C 55 push ebp +> 0804838D 89 E5 mov ebp , esp +> 0804838F 83 EC 08 sub esp , 0x8 +> 08048392 83 E4 F0 and esp , 0xF0 +> 08048395 B8 00 00 00 00 mov eax , 0x0 +> 0804839A 29 C4 sub esp , eax +> 0804839C 83 7D 08 01 cmp [ebp+0x08] , 0x1 +> 080483A0 7F 1F jg loc_080483C1 ;(0x80483C1 was +31) ; xrefs: >080483C1[x] +> 080483A2 83 EC 08 sub esp , 0x8 +> 080483A5 8B 45 0C mov eax , [ebp+0x0C] +> 080483A8 FF 30 push [eax] +> 080483AA 68 64 84 04 08 push 0x8048464 +> 080483AF E8 F8 FE FF FF call printf ;(0x80482AC was -264) ; xrefs: >080482AC[x] +> 080483B4 83 C4 10 add esp , 0x10 +> 080483B7 83 EC 0C sub esp , 0xC +> 080483BA 6A 01 push 0x1 +> 080483BC E8 FB FE FF FF call exit ;(0x80482BC was -261) ; xrefs: >080482BC[x] +> loc_080483C1: +> 080483C1 83 EC 0C sub esp , 0xC ; xrefs: <080483A0[x] +> 080483C4 8B 45 0C mov eax , [ebp+0x0C] +> 080483C7 83 C0 04 add eax , 0x4 +> 080483CA FF 30 push [eax] +> 080483CC E8 35 00 00 00 call alf ;(0x8048406 was +53) ; xrefs: >08048406[x] +> 080483D1 83 C4 10 add esp , 0x10 +> 080483D4 89 45 FC mov [ebp-0x04] , eax +> 080483D7 83 7D FC 0A cmp [ebp-0x04] , 0xA +> 080483DB 7E 12 jle loc_080483EF ;(0x80483EF was +18) ; xrefs: >080483EF[x] +> 080483DD 83 EC 0C sub esp , 0xC +> 080483E0 68 78 84 04 08 push 0x8048478 +> 080483E5 E8 C2 FE FF FF call printf ;(0x80482AC was -318) ; xrefs: >080482AC[x] +> 080483EA 83 C4 10 add esp , 0x10 +> 080483ED EB 10 jmp loc_080483FF ;(0x80483FF was +16) ; xrefs: >080483FF[x] +> loc_080483EF: +> 080483EF 83 EC 0C sub esp , 0xC ; xrefs: <080483DB[x] +> 080483F2 68 7D 84 04 08 push 0x804847D +> 080483F7 E8 B0 FE FF FF call printf ;(0x80482AC was -336) ; xrefs: >080482AC[x] +> 080483FC 83 C4 10 add esp , 0x10 +> loc_080483FF: +> 080483FF B8 01 00 00 00 mov eax , 0x1 ; xrefs: <080483ED[x] +> 08048404 C9 leave +> 08048405 C3 ret +> alf: +> 08048406 55 push ebp ; xrefs: <080483CC[x] +> 08048407 89 E5 mov ebp , esp +> 08048409 83 EC 08 sub esp , 0x8 +> 0804840C 83 EC 0C sub esp , 0xC +> 0804840F FF 75 08 push [ebp+0x08] +> 08048412 E8 B5 FE FF FF call atoi ;(0x80482CC was -331) ; xrefs: >080482CC[x] +> 08048417 83 C4 10 add esp , 0x10 +> 0804841A C9 leave +> 0804841B C3 ret + +#### HT Editor + +Πρόκειται για ένα ιδιαίτερα χρήσιμο και καλοφτιαγμένο εργαλείο. Ο HT Editor είναι ένας editor με έμφαση στα εκτελέσιμα αρχεία. Τα file formats που υποστηρίζει +είναι τα COFF, ELF, LE, NE, PE, MZ, και Java Class. Εκτός από τη δυνατότητα για εύκολη επεξεργασία των headers, sections, symbols κτλ των αρχείων, προσφέρει +έναν αρκετά καλό disassembler. Το μόνο πρόβλημα που υπάρχει (στην έκδοση 0.7.3 τουλάχιστον), είναι ότι ο C++ demangler δεν υποστηρίζει ακόμα το gnu-V3 mangling, +οπότε αν κάποιο πρόγραμμα έχει γίνει compile με g++ 3 τα σύμβολα θα είναι ακαταλαβίστικα. Site: . + +> ....... ! ;******************************************************** +> ....... ! ; function main (global) +> ....... ! ;******************************************************** +> ....... ! main: ;xref o80482f3 +> ....... ! push ebp +> 804838d ! mov ebp, esp +> 804838f ! sub esp, 8 +> 8048392 ! and esp, 0fffffff0h +> 8048395 ! mov eax, 0 +> 804839a ! sub esp, eax +> 804839c ! cmp dword ptr [ebp+8], 1 +> 80483a0 ! jg loc_80483c1 +> 80483a2 ! sub esp, 8 +> 80483a5 ! mov eax, [ebp+0ch] +> 80483a8 ! push dword ptr [eax] +> 80483aa ! push strz_Usage:__s__number___8048464 +> 80483af ! call printf@@GLIBC_2.0 +> 80483b4 ! add esp, 10h +> 80483b7 ! sub esp, 0ch +> 80483ba ! push 1 +> 80483bc ! call exit@@GLIBC_2.0 +> 80483c1 ! +> ....... ! loc_80483c1: ;xref j80483a0 +> ....... ! sub esp, 0ch +> 80483c4 ! mov eax, [ebp+0ch] +> 80483c7 ! add eax, 4 +> 80483ca ! push dword ptr [eax] +> 80483cc ! call alf +> 80483d1 ! add esp, 10h +> 80483d4 ! mov [ebp-4], eax +> 80483d4 ! mov [ebp-4], eax +> 80483d7 ! cmp dword ptr [ebp-4], 0ah +> 80483db ! jng loc_80483ef +> 80483dd ! sub esp, 0ch +> 80483e0 ! push data_8048478 +> 80483e5 ! call printf@@GLIBC_2.0 +> 80483ea ! add esp, 10h +> 80483ed ! jmp loc_80483ff +> 80483ef ! +> ....... ! loc_80483ef: ;xref j80483db +> ....... ! sub esp, 0ch +> 80483f2 ! push strz_Failed___804847d +> 80483f7 ! call printf@@GLIBC_2.0 +> 80483fc ! add esp, 10h +> 80483ff ! +> ....... ! loc_80483ff: ;xref j80483ed +> ....... ! mov eax, 1 +> 8048404 ! leave +> 8048405 ! ret +> 8048406 ! +> ....... ! ;******************************************************** +> ....... ! ; function alf (global) +> ....... ! ;******************************************************** +> ....... ! alf: ;xref c80483cc +> ....... ! push ebp +> 8048407 ! mov ebp, esp +> 8048409 ! sub esp, 8 +> 804840c ! sub esp, 0ch +> 804840f ! push dword ptr [ebp+8] +> 8048412 ! call atoi@@GLIBC_2.0 +> 8048417 ! add esp, 10h +> 804841a ! leave +> 804841b ! ret + +#### LDasm + +Το ldasm είναι ένα πρόγραμμα που χρησιμοποιεί και επεκτείνει την έξοδο του objdump. Χρησιμοποιεί perl/Tk για να δώσει ένα οπτικό αποτέλεσμα παρόμοιο με το +W32Dasm που υπάρχει για Windows. Δυστυχώς, ο δημιουργός του το έχει παρατήσει και έτσι έχει ξεμείνει στην έκδοση 0.04.53 (!). Πάντως, έχει τις στοιχειώδεις +δυνατότητες που χρειαζόμαστε, αν και αφού χρησιμοποιεί το objdump, έχει και τα ίδια [αδύνατα σημεία](#objdump-weakness). Site: +. + +> Exported fn(): main +> :0804838c 55 push ebp +> :0804838d 89e5 mov ebp, esp +> :0804838f 83ec08 sub esp, 8 +> :08048392 83e4f0 and esp, -16 +> :08048395 b800000000 mov eax, 0 +> :0804839a 29c4 sub esp, eax +> :0804839c 837d0801 cmpl ptr [ebp+8], 1 +> :080483a0 7f1f jg 080483c1 +> :080483a2 83ec08 sub esp, 8 +> :080483a5 8b450c mov eax, ptr [ebp] +> :080483a8 ff30 pushl (eax) +> +> * Possible StringData Ref from Code Obj ->"Usage: %s " +> | +> :080483aa 6864840408 push 8048464 +> +> * Reference To: GLIBC_2.0::printf +> | +> :080483af e8f8feffff call 080482ac +> :080483b4 83c410 add esp, 10 +> :080483b7 83ec0c sub esp, c +> :080483ba 6a01 push 1 +> +> * Reference To: GLIBC_2.0::exit -. +> | +> :080483bc e8fbfeffff call 080482bc +> +> Referenced by a (U)nconditional or (C)onditional Jump at Address: +> | :080483a0 +> | +> :080483c1 83ec0c sub esp, c +> :080483c4 8b450c mov eax, ptr [ebp] +> :080483c7 83c004 add eax, 4 +> :080483ca ff30 pushl (eax) +> +> * Reference To: alf -------------. +> | +> :080483cc e835000000 call 08048406 +> :080483d1 83c410 add esp, 10 +> :080483d4 8945fc mov ptr [ebp-4], eax +> :080483d7 837dfc0a cmpl ptr [ebp-4], a +> :080483db 7e12 jle 080483ef +> :080483dd 83ec0c sub esp, c +> +> * Possible StringData Ref from Code Obj ->"Ok!" +> | +> :080483e0 6878840408 push 8048478 +> +> * Reference To: GLIBC_2.0::printf +> | +> :080483e5 e8c2feffff call 080482ac +> :080483ea 83c410 add esp, 10 +> :080483ed eb10 jmp 080483ff +> +> Referenced by a (U)nconditional or (C)onditional Jump at Address: +> | :080483db +> | +> :080483ef 83ec0c sub esp, c +> +> * Possible StringData Ref from Code Obj ->"Failed!" +> | +> :080483f2 687d840408 push 804847d +> +> * Reference To: GLIBC_2.0::printf +> | +> :080483f7 e8b0feffff call 080482ac +> :080483fc 83c410 add esp, 10 +> +> Referenced by a (U)nconditional or (C)onditional Jump at Address: +> | :080483ed +> | +> :080483ff b801000000 mov eax, 1 +> :08048404 c9 leave +> :08048405 c3 ret +> +> Referenced by a Call at Address: +> | :080483cc +> | +> Exported fn(): alf +> :08048406 55 push ebp +> :08048407 89e5 mov ebp, esp +> :08048409 83ec08 sub esp, 8 +> :0804840c 83ec0c sub esp, c +> :0804840f ff7508 pushl ptr [ebp+8] +> +> * Reference To: GLIBC_2.0::atoi -. +> | +> :08048412 e8b5feffff call 080482cc +> :08048417 83c410 add esp, 10 +> :0804841a c9 leave +> :0804841b c3 ret + +### []{#packing}[5.2 Packed Executables - Συμπιεσμένα Εκτελέσιμα]{#ss5.2} + +#### Τι είναι; + +Τα εκτελέσιμα αρχεία, όπως και όλα τα αρχεία, περιέχουν μέσα τους επαναλήψεις που καθιστούν δυνατή τη συμπίεση τους. Η συμπίεση στα εκτελέσιμα, εφόσον η +αποσυμπίεση μπορεί να εκτελεστεί αρκετά γρήγορα ώστε να μη γίνεται αισθητή, είναι σίγουρα επιθυμητή. Τα αρχεία καταλαμβάνουν λιγότερο χώρο και επίσης είναι πιο +δύσκολο να ερευνηθούν και να αλλαχτούν (βέβαια, για όσους κάνουμε RCE αυτό είναι μεγάλο πρόβλημα). Μάλιστα, πολλά προγράμματα συμπίεσης εκτελέσιμων εφαρμόζουν +και άλλες τεχνικές, όπως κρυπτογράφηση και CRC ελέγχους. Είναι σαφές πως δε βολεύει απλώς να συμπιεστεί το αρχείο με κάποια παραδοσιακή μέθοδο (πχ με το gzip). +Αυτό συμβαίνει, διότι εκτός από το ότι το εκτελέσιμο δεν είναι πια εκτελέσιμο (η κατάσταση διορθώνεται με χρήση scripts για αυτόματη αποσυμπίεση, το utility +gzexe λειτουργεί έτσι), χάνεται η προστασία από το RCE, αφού τελικά το εκτελέσιμο θα βρεθεί στην αρχική του μορφή πριν εκτελεστεί. Για αυτό, έχουν αναπτυχθεί +διάφορες άλλες τεχνικές για συμπίεση προγραμμάτων. + +#### Βασικές Τεχνικές packing + +Καταρχάς θα δούμε την απλή packing τεχνική που αναφέραμε στην εισαγωγή . Η βασική της λειτουργία φαίνεται στο παρακάτω σχήμα: + +![](/34/img/unpacking1.png) + +Ο packer συμπιέζει **όλο το εκτελέσιμο** και δημιουργεί ένα καινούργιο που περιλαμβάνει τα συμπιεσμένα δεδομένα και τον κώδικα αποσυμπίεσης. Ο κώδικα +αποσυμπιέζει τα συμπιεσμένα δεδομένα (αρχικό εκτελέσιμο), τα σώζει σε ένα προσωρινό αρχείο, και μετά το εκτελεί συνήθως με exec(). Η αδυναμία του βρίσκεται στο +γεγονός πως εμφανίζεται το αυθεντικό εκτελέσιμο στο δίσκο, και επομένως δεν παρέχει ιδιαίτερη προστασία. Το θετικό στοιχείο του είναι η απλότητα. + +Μια πιo εξελιγμένη τεχνική : + +![](/34/img/unpacking2.png) + +Εδώ τα πράγματα είναι πιο ενδιαφέροντα. Δε συμπιέζεται όλο το εκτελέσιμο αλλά μόνο τα segments του. Το καινούργιο εκτελέσιμο περιέχει τα συμπιεσμένα δεδομένα +και τον κώδικα για το unpacking (κατά προτίμηση μετά τα δεδομένα). + +![](/34/img/unpacking3.png) + +Κατά την εκτέλεση φορτώνονται τα συμπιεσμένα segments στη μνήμη, με τέτοιο τρόπο, ώστε όταν αποσυμπιεστούν να έχουν τις αρχικές διευθύνσεις τους. Επίσης, ο +unpacker πρέπει να κάνει και κάτι άλλο που δεν είναι φανερό με την πρώτη ματιά. Αν το αυθεντικό εκτελέσιμο χρησιμοποιούσε shared objects (βιβλιοθήκες), τότε +μέσα στο αρχείο υπήρχαν οι πληροφορίες, ώστε ο dynamic linker να τα φορτώσει. Όμως το συμπιεσμένο εκτελέσιμο έχει διαφορετικές πληροφορίες και έτσι τα shared +objects δε φορτώνονται. Θα πρέπει ο unpacker να επωμιστεί αυτό το βάρος και επιπλέον να διορθώσει τις αναφορές στα εξωτερικά σύμβολα. Αυτό γίνεται με χρήση των +συναρτήσεων dlopen() και dlsym() που χρησιμοποιούνται για να φορτώνουν shared objects στο run-time (δείτε manpages). Ο unpacker, αφού ολοκληρώσει όλες τις +εργασίες του, θα μεταφέρει τον έλεγχο στο OEP (original entry point) και έτσι θα αρχίσει το κυρίως πρόγραμμα. + +#### Βασικές Τεχνικές Unpacking + +Στην πιο απλή περίπτωση, όπου ο unpacker αποσυμπιέζει το αρχικό αρχείο στο δίσκο και το εκτελεί από εκεί, τα πράγματα είναι εύκολα. Αρκεί να βρούμε ποιο +προσωρινό αρχείο χρησιμοποιείται και τελειώσαμε. Το /proc filesystem είναι ιδιαίτερα χρήσιμο, όπως θα φανεί και στο hands-on παράδειγμα που ακολουθεί. + +Αν ο packer είναι εξελιγμένος, τότε θα πρέπει να φερθούμε και εμείς πιο έξυπνα. Η μέθοδος αυτή είναι σχετικά επίπονη αλλά μπορεί να εφαρμοστεί ακόμα και στις +πιο δύσκολες περιπτώσεις. Σκοπός είναι να κάνουμε dump από τη μνήμη την εικόνα του εκτελέσιμου σε ένα αρχείο. Αυτό, βέβαια, δε θα είναι το πλήρες, αυθεντικό +αρχείο αλλά συχνά είναι ότι καλύτερο μπορούμε να κάνουμε. Εξάλλου, μετά μπορούμε να κάνουμε διάφορες επεμβάσεις για να το \"βελτιώσουμε\". + +Η διαδικασία αποτελείται από τα παρακάτω βήματα: + +1. **Ανάκτηση του OEP (original entry point)** : Εδώ προσπαθούμε να εντοπίσουμε τη διεύθυνση της πρώτης εντολής του αυθεντικού προγράμματος στην εικόνα του + εκτελέσιμου μετά την αποσυμπίεση. Αυτό το βήμα είναι που απαιτεί την περισσότερη εμπειρία. Σημάδια πως τελειώνει ο κώδικας του unpacker και περνάμε στο + αρχικό εκτελέσιμο είναι: + - Unconditional jump ( άμεσο πχ jmp 0x8048954 ή έμμεσο πχ jmp eax ) σε κάποια \"μακρινή\" διεύθυνση. + - Αλλαγή του ύφους του προγράμματος. Οι unpackers είναι συνήθως γραμμένοι σε assembly με το χέρι και το στυλ τους διαφέρει από τον κώδικα που έχει + παραχθεί από compilers. + - Χρήση των popa/popad (pop all registers). Επειδή η unpackers αλλοιώνουν το context της διεργασίας (πχ τιμές των registers) τους σώζουν όλους πριν + αρχίσουν (με pusha/pushad) και τους επαναφέρουν πριν περάσουν τον έλεγχο στο αρχικό πρόγραμμα. +2. **Dump της εικόνας (image) του εκτελέσιμου σε ένα αρχείο** : Κάνουμε dump την εικόνα του εκτελέσιμου, όπως είναι αυτή, ακριβώς πριν περάσει ο έλεγχος στο + αυθεντικό εκτελέσιμο. Για αυτό χρειαζόμαστε το OEP που μας δινει το προηγούμενο βήμα. Αφου, λοιπόν, το έχουμε, αναγκάζουμε τη διεργασία να εκτελεστεί μέχρι + το OEP (έτσι είμαστε σίγουροι πως όλα είναι unpacked όπως πρέπει) και τότε κάνουμε dump την εικόνα του εκτελέσιμου. Μπορούμε να χρησιμοποιήσουμε την εντολή + **dump** του gdb. Η σύνταξη της είναι **dump memory \ \ \**. Για να αποφασίσουμε ποιες διευθύνσεις θα κάνουμε dump μπορούμε να + συμβουλευτούμε το map από το /proc/\/. Για τα εκτελέσιμα στο linux, αρκούν συνήθως τα δύο πρώτα segments που είναι το code και data segment αντίστοιχα + . +3. **Διόρθωση του ELF Header** : Διορθώνουμε τον ELF Header του dumped αρχείου, ώστε να μπορεί να εξεταστεί και να εκτελεστεί. Συγκεκριμένα θέτουμε το entry + point του εκτελέσιμου στο OEP, διορθώνουμε τα στοιχεία των segments και αναδημιουργούμε το DYNAMIC segment. Το τελευταίο είναι αρκετά επίπονο και όχι + απαραίτητο αν απλώς θέλουμε να εξετάσουμε τον κώδικα (dissasembly). Αν δε γίνει αυτή η διόρθωση, τότε οι διευθύνσεις των συναρτήσεων των shared objects θα + έχουν παντα τις τιμές που είχαν την στιγμή που κάναμε dump, διότι ο dynamic linker δε θα ενεργοποιηθεί. Αν χρησιμοποιούμε το dumped εκτελέσιμο μόνο στο δικό + μας σύστημα και με τι ίδιες **ακριβώς** βιβλιοθήκες, ίσως να τη γλιτώσουμε. + + +### [6. Hands-on Παράδειγμα - Υπό πίεση]{#s6} + +### [6.1 Πράξη 1η]{#ss6.1} + +Αυτή τη φορά θα ασχοληθούμε με το demo του εκπληκτικού προγράμματος για πράξεις μη αρνητικών ακεραίων: [rce2-files/hands-on.gz](rce2-files/hands-on.gz). Το demo +θα σταματήσει να λειτουργεί μετά από κάποιο χρονικό διάστημα. Αυτό το είδος της προστασίας ονομάζεται Cinderella (Σταχτοπούτα) protection, διότι όπως και στο +γνωστό παραμύθι, όταν παρέλθει κάποιο χρονικό διάστημα η άμαξα/πρόγραμμα θα γίνει κολοκύθα :) Για να δούμε\... + +> bash$ ./hands-on +> Ready> 1+3 +> Result: 4 +> Ready> 4*5 +> Result: 20 +> Ready> 25/5 +> Result: 5 +> Ready> + +Αν πάμε την ημερομηνία του συστήματος μερικές μέρες μπροστά\... + +> ./hands-on +> Not ready> 3+4 +> Result: 11 +> Not ready> 6*6 +> Result: 108 +> Not ready> 2/3 +> Result: -1 +> Not ready> + +Χμμ, το πρόγραμμα όντως σταμάτησε να λειτουργεί (σωστά τουλάχιστον). Αν επιστρέψουμε στην αρχική ημερομηνία και εκτελέσουμε το πρόγραμμα θα δούμε ότι λειτουργεί +κανονικά. Όποιος έφτιαξε την προστασία μάλλον δεν το έκανε πολύ καλά :) Πάντως είναι εκνευριστικό να πρέπει να γυρνάμε το ρολόι πίσω όποτε θέλουμε να +εκτελέσουμε αυτή την *εκπληκτική* εφαρμογή. Θα πρέπει να κάνουμε κάτι καλύτερο! + +Ας δούμε τι μπορούμε να μάθουμε για το πρόγραμμα\...\ +[listing1](rce2-files/listing1.txt)\ +Ουακ! Τι είναι όλα αυτά; + +Τα ακατανόητα ονόματα είναι σύμβολα της C++ σε μπλεγμένη (mangled) μορφή. Υποτίθεται πως το ltrace έχει μια επιλογή (-C) για να κάνει demangling αλλά σε εμένα +δε βελτίωσε την κατάσταση. Ευτυχώς υπάρχει ένα πρόγραμμα, το **c++filt**, το οποίο αποκωδικοποιεί τα ονόματα των c++ συμβόλων.\ +[listing2](rce2-files/listing2.txt)\ +Αν δεν είστε μυημένοι στους μυστικούς συμβολισμούς της STL (Standard Template Library) της C++, τα παραπάνω ίσως να σας φαίνονται τόσο ακατανόητα όσο και τα +mangled σύμβολα. Η αλήθεια είναι, όμως, ότι περιέχουν σημαντικές πληροφορίες. Για παράδειγμα, οι περισσότερες γραμμές που αρχίζουν με std::basic\_ostream είναι +κλήσεις στη συνάρτηση operator\<\<() η οποία είναι υπεύθυνη για την υπερφόρτωση του τελεστή \<\<. Αν έχετε ασχοληθεί στοιχειωδώς με C++ σίγουρα θα έχετε δει το +cout\<\<\"Hello World\". Στην πραγματικότητα αυτό είναι μια κλήση operator\<\<(cout, \"Hello World\") η οποία γράφει δεδομένα στο stream της κονσόλας. Oι +κλήσεις στο παραπάνω listing δεν είναι τίποτα άλλο από τέτοιου είδους κλήσεις. Παρομοίως, οι γραμμές που αρχίζουν με std::basic\_istream είναι κλήσεις στη +συνάρτηση operator\>\>() η οποία διαβάζει δεδομένα από κάποιο stream (πχ πληκτρολόγιο). + +Ξεφεύγοντας λίγο από τη C++, άξιες προσοχής είναι οι κλήσεις στην **time(NULL)** που επιστρέφει την τρέχουσα ώρα και επίσης στη stat (\_\_xstat) που επιστρέφει +πληροφορίες για κάποιο αρχείο (το \"hands-on\" στην περίπτωση αυτή). Παρατηρήστε, επίσης, ότι στο πρόγραμμα οι κλήσεις αρχίζουν να επαναλαμβάνονται: η +\[08048be0\] time(NULL) καλείται στην αρχή και ξανακαλείται από το ίδιο σημείο αργότερα. Επίσης, αμέσως μετά και τις δύο αυτές time() (0x08048be0), υπάρχει η +ίδια ακολουθία ostream\..., istream\..., string\... . Υπαρχεί μεγάλη πιθανότητα αυτό να είναι το σημείο στο οποίο εμφανίζεται το prompt (ostream), εισάγουμε την +αριθμητική παράσταση (istream) και αυτή αποθηκεύεται (string). Αλλά αρκετά με τις υποθέσεις. Ας δούμε τι άλλο μπρούμε να μάθουμε για το εκτελέσιμο: + +> bash$ objdump -x ./hands-on +> /hands-on: file format elf32-i386 +> ./hands-on +> architecture: i386, flags 0x00000102: +> EXEC_P, D_PAGED +> start address 0x08048080 +> +> Program Header: +> LOAD off 0x00000000 vaddr 0x08048000 paddr 0x08048000 align 2**12 +> filesz 0x000005b8 memsz 0x000005b8 flags r-x +> LOAD off 0x000005b8 vaddr 0x080495b8 paddr 0x080495b8 align 2**12 +> filesz 0x0000002c memsz 0x0000002c flags rw- +> +> Sections: +> Idx Name Size VMA LMA File off Algn +> SYMBOL TABLE: +> no symbols + +\...όχι και πολλά πράγματα. Μάλιστα, κάτι ύποπτο συμβαίνει! Ενώ γνωρίζουμε ότι το εκτελέσιμο καλεί δυναμικά συναρτήσεις βιβλιοθηκών (από το ltrace) δεν υπάρχει +DYNAMIC segment. Εκτός των άλλων, δεν υπάρχουν καθόλου sections, γεγονός παράξενο (βέβαια δεν είναι απαραίτητο να υπάρχουν στο εκτελέσιμο αλλά είναι +συνηθισμένο). + +Συνεχίζοντας να μαζεύουμε πληροφορίες: + +> bash$ file hands-on +> hands-on: ELF 32-bit LSB executable, Intel 80386, version 1, statically linkedfile: corrupted section header size. +> bash$ strings hands-on +> Linux +> SlQf +> UPXδ +> δψRQθώ +> $Info: This file is packed with the UPX executable packer http://upx.sf.net $ +> $Id: UPX 1.24 Copyright (C) 1996-2002 the UPX Team. All Rights Reserved. $ +> UWVSQRό +> ... +> ... + +Τώρα όλα βγάζουν νόημα\... Το εκτελέσιμο έχει συμπιεστεί με το πρόγραμμα UPX! Στην περίπτωση που θέλουμε απλώς να εργαστούμε με κάποιον debugger αυτό δε μας +ενοχλεί ιδιαίτερα, αρκεί κάθε φορά να προσπερνάμε τον κώδικα της αποσυμπίεσης και να ασχολούμαστε με το πραγματικό εκτελέσιμο. Το πρόβλημα είναι στη περίπτωση +του dead-listing. Θα μπορούσαμε να το αγνοήσουμε, όμως, όπως έχουμε αναφέρει, οι ευκολίες που προσφέρει είναι ανεκτίμητες. Οπότε, στο επόμενο κομμάτι θα κάνουμε +ότι μπορούμε για να φέρουμε το εκτελέσιμο όσο πιο κοντά γίνεται στην αυθεντική του μορφή. + +### [6.2 Επιστροφή σε Κανονικές Συνθήκες πίεσης και θερμοκρασίας.]{#ss6.2} + +(ΣΗΜΕΙΩΣΗ: Αν δεν έχετε διαβάσει τις πληροφορίες για το packing, [τώρα είναι μια καλή στιγμή να το κάνετε](05_rce3-5.html#packing)) + +Πως όμως θα δούμε το αρχικό εκτελέσιμο; Αυτό μπορεί να επιτευχθεί ως εξής: + +**1. Ο εύκολος τρόπος** + +Μπορούμε να πάμε στη σελίδα του UPX , να το κατεβάσουμε και να αποσυμπιέσουμε το εκτελέσιμο. Αν και είναι απλή μέθοδος, δεν έχει +καμία γενικότητα. Για παράδειγμα, δε μπορεί να εφαρμοστεί στην περίπτωση που η συμπίεση/κρυπτογράφηση έχει γίνει με κάποιο custom αλγόριθμο ή ακόμα και με άλλη +έκδοση του ίδιου προγράμματος. + +**2. Ο καλύτερος τρόπος** + +Χρησιμοποιώντας το strace (κάτι που αμελήσαμε να κάνουμε πριν): + +> bash$ strace -ohands-on.st hands-on +> Ready> +> ^C +> bash$ cat -n hands-on.st +> 1 execve("./hands-on", ["hands-on"], [/* 48 vars */]) = 0 +> 2 getpid() = 690 +> 3 open("/proc/690/exe", O_RDONLY) = 3 +> 4 lseek(3, 1508, SEEK_SET) = 1508 +> 5 read(3, "0e\300\177\314\30\0\0\314\30\0\0", 12) = 12 +> 6 gettimeofday({1062315999, 908816}, NULL) = 0 +> 7 unlink("/tmp/upxCOXBQXPAAVS") = -1 ENOENT (No such file or directory) +> 8 open("/tmp/upxCOXBQXPAAVS", O_WRONLY|O_CREAT|O_EXCL, 0700) = 4 +> 9 ftruncate(4, 6348) = 0 +> 10 old_mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40000000 +> 11 read(3, "\314\30\0\0b\f\0\0", 8) = 8 +> 12 read(3, "\177?d\371\177ELF\1\0\2\0\3\0\r\30\211\4\377o\263\335\010"..., 3170) = 3170 +> 13 write(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\2\0\3\0\1\0\0\0\30\211"..., 6348) = 6348 +> 14 read(3, "\0\0\0\0UPX!", 8) = 8 +> 15 munmap(0x40000000, 12288) = 0 +> 16 close(4) = 0 +> 17 close(3) = 0 +> 18 open("/tmp/upxCOXBQXPAAVS", O_RDONLY) = 3 +> 19 access("/proc/690/fd/3", R_OK|X_OK) = 0 +> 20 unlink("/tmp/upxCOXBQXPAAVS") = 0 +> 21 fcntl(3, F_SETFD, FD_CLOEXEC) = 0 +> 22 execve("/proc/690/fd/3", ["hands-on"], [/* 48 vars */]) = 0 +> ... + +Λοιπόν, για να δούμε τι συμβαίνει. + +**1**: Εκτελείται το hands-on. + +**2-5**: Το πρόγραμμα μαθαίνει το pid του και ανοίγει το ίδιο το αρχείο του μέσω του /proc filesystem (θα μπορούσε να έχει χρησιμοποιήσει το /proc/self άλλα +ίσως δεν το έκανε για λόγους συμβατότητας). Ύστερα διαβάζει 12 bytes από το offset 1508 στο αρχείο. + +**6-9**: Διαβάζεται η ώρα του συστήματος, γίνεται μια προσπάθεια να διαγραφεί το αρχείο \"/tmp/upxCOXBQXPAAVS\" το οποίο δεν υπάρχει και δημιουργείται εκ νέου +με δικαιώματα 0700 = -rwx\-\-\-\-\--. Τέλος, το μέγεθος του αρχείου καθορίζεται στα 6348 bytes. Η δημιουργία του αρχείου με δικαίωμα εκτέλεσης ελπίζω να σας +προβλημάτισε. Παρεπιπτόντως, παρατηρήστε οτι οι δύο τελευταίες τετράδες bytes από τα 12 bytes που διαβάστηκαν στη γραμμή 5 αντιστοιχούν στο 6348 αν τις +θεωρήσουμε ακέραιους των 4 bytes (διαβασμένα LSB first). + +**10-15**: Αρχικά γίνονται map 12288 bytes. Μετά διαβάζονται 8 bytes από αρχικό αρχείο (hands-on) (συνεχίζοντας από εκεί που είχε μείνει μετά τα 12 bytes). Αν +ερμηνευτούν ως ακέραιοι των 4-bytes είναι οι τιμές 6348 και 3170. Ύστερα διαβάζονται από το αρχικό αρχείο 3170 bytes (τι σύμπτωση!) και γράφονται στο καινούργιο +(\"/tmp/upxCOXBQXPAAVS\") 6348 bytes. Παρατηρήστε πως η αρχή των δεδομένων που γράφονται είναι ένας ELF header. Τέλος, διαβάζονται άλλα 8 bytes (μοιάζουν με end +of data signature) και γίνονται unmap αυτά που είχαν γίνει map πιο πριν. + +**16-22**: Κλείνουν τα δύο αρχεία και ανοίγει πάλι το \"/tmp/upxCOXBQXPAAVS\" με δικαιώματα μόνο ανάγνωσης αυτή τη φορά. Μετά ελέγχεται αν η τρέχουσα διεργασία +έχει δικαιώματα ανάγνωσης (R\_OK) και εκτέλεσης (X\_OK) για το αρχείο και αμέσως μετά αυτό διαγράφεται. Η διαγραφή αυτή όμως είναι τυπική διότι η τρέχουσα +διεργασία έχει ήδη ένα file handle (3), οπότε αν και το αρχείο δεν υπάρχει πια ως μέρος του filesystem τα δεδομένα του δεν έχουν χαθεί. Με τη fcntl() που +ακολουθεί, καθορίζεται ότι σε περίπτωση που κληθεί η exec() για την αντικατάσταση της διεργασίας με κάποια καινούργια, η καινούργια *δε* θα λάβει τον file +descriptor 3. Αυτό ονομάζεται close-on-exec. Τέλος, εκτελείται το αρχείο. + +Ελπίζω ύστερα από τα παραπάνω, η γενική λειτουργία του UPX να έχει γίνει φανερή. Με απλά λόγια, όταν ένα πρόγραμμα συμπιεσμένο με UPX εκτελείται, το αυθεντικό +αρχείο αποσυμπιέζεται σε ένα προσωρινό αρχείο στον κατάλογο \"/tmp\" και ο έλεγχος περνάει σε αυτό. Το αποσυμπιεσμένο αρχείο \"διαγράφεται\" αλλά τα δεδομένα +του υφίστανται μέχρι να τελειώσει η εκτέλεση. + +Τώρα τίθεται το ερώτημα: πως θα έχουμε πρόσβαση στο αποσυμπιεσμένο εκτελέσιμο; Και από το πουθενά ακούγεται ένας υπερκοσμικός ψίθυρος: **/proc/\/exe**! + +Πράγματι : + +> bash$ ./hands-on & +> [1] 804 +> Ready> bash$ cat /proc/804/exe > ./hands-on-unpacked +> +> [1]+ Stopped ./hands-on +> bash$ %1 +> ./hands-on +> ^C +> bash$ objdump -x ./hands-on-unpacked +> +> ./hands-on-unpacked: file format elf32-i386 +> ./hands-on-unpacked +> architecture: i386, flags 0x00000112: +> EXEC_P, HAS_SYMS, D_PAGED +> start address 0x08048918 +> +> Program Header: +> PHDR off 0x00000034 vaddr 0x08048034 paddr 0x08048034 align 2**2 +> filesz 0x000000e0 memsz 0x000000e0 flags r-x +> INTERP off 0x00000114 vaddr 0x08048114 paddr 0x08048114 align 2**0 +> filesz 0x00000013 memsz 0x00000013 flags r-- +> LOAD off 0x00000000 vaddr 0x08048000 paddr 0x08048000 align 2**12 +> filesz 0x00001050 memsz 0x00001050 flags r-x +> LOAD off 0x00001050 vaddr 0x0804a050 paddr 0x0804a050 align 2**12 +> filesz 0x000002f4 memsz 0x00000430 flags rw- +> DYNAMIC off 0x000011f8 vaddr 0x0804a1f8 paddr 0x0804a1f8 align 2**2 +> filesz 0x000000e0 memsz 0x000000e0 flags rw- +> NOTE off 0x00000128 vaddr 0x08048128 paddr 0x08048128 align 2**2 +> filesz 0x00000020 memsz 0x00000020 flags r-- +> EH_FRAME off 0x00001014 vaddr 0x08049014 paddr 0x08049014 align 2**2 +> filesz 0x0000003c memsz 0x0000003c flags r-- +> +> Dynamic Section: +> NEEDED libstdc++.so.5 +> NEEDED libm.so.6 +> NEEDED libgcc_s.so.1 +> +> ... +> bash$ ./hands-on-unpacked +> Ready> +> ^C + +Αυτό ήταν, τώρα πια έχουμε το εκτελέσιμο στην αυθεντική του μορφή! + +### [6.3 Σταματώντας τον χρόνο]{#ss6.3} + +Αφού αποσυμπιέσαμε ο εκτελέσιμο, ήρθε η ώρα να δούμε πως μπορούμε να απενεργοποιήσουμε την προστασία. Αυτή τη φορά αντί για τον GDB θα χρησιμοποιήσουμε την +dead-listing προσέγγιση με τον HTEditor. Φορτώνοντας το πρόγραμμα στο ht εμφανίζεται μπροστά μας ένα γραφικό περιβάλλον σε ncurses. Με το F6/Space εμφανίζεται +το παράθυρο επιλογής mode, και εμείς επιλέγουμε το mode elf/image. Τώρα πια βλέπουμε το listing αρχίζοντας από το entry point. Με τα βελάκια μπορούμε να +κινηθούμε στις διάφορες διευθύνσεις/σύμβολα και με το πλήκτρο enter το listing μετακινείται στο σημείο όπου αναφέρεται η τρέχουσα επιλογή. Αρχικά έχουμε: + +> 8048918 ! +> ....... ! ;****************************************************************** +> ....... ! ; end of section <.plt> +> ....... ! ;****************************************************************** +> ....... ! +> ....... ! ;****************************************************************** +> ....... ! ; section 13 <.text> +> ....... ! ; virtual address 08048918 virtual size 00000678 +> ....... ! ; file offset 00000918 file size 00000678 +> ....... ! ;****************************************************************** +> ....... ! +> ....... ! ;**************************** +> ....... ! ; executable entry point +> ....... ! ;**************************** +> ....... ! entrypoint: +> ....... ! xor ebp, ebp +> 804891a ! pop esi +> 804891b ! mov ecx, esp +> 804891d ! and esp, 0fffffff0h +> 8048920 ! push eax +> 8048921 ! push esp +> 8048922 ! push edx +> 8048923 ! push offset_8048f90 +> 8048928 ! push offset_80487e0 +> 804892d ! push ecx +> 804892e ! push esi +> 804892f ! push offset_80489c8 +> 8048934 ! call __libc_start_main +> 8048939 ! hlt +> 804893a ! nop +> 804893b ! nop +> 804893c ! + +Έτσι, αν επιλέξουμε το offset\_80489c8 και πατήσουμε enter, το listing θα αρχίζει από τη διεύθυνση 0x80489c8 η οποία είναι και η διεύθυνση της main. + +Κάνοντας μερικές \"βόλτες\" στη main παρατηρούμε ότι τα πράγματα δεν είναι και πολύ κατατοπιστικά. Αυτό οφείλεται εν μέρει στα optimizations του g++ αλλά και +την ίδια τη C++ ως γλώσσα. Θα μπορούσαμε να κυκλοφορούμε σαν την άδικη κατάρα στο listing ψάχνοντας για οτιδήποτε ενδιαφέρον αλλά σίγουρα μπορούμε να σκεφτούμε +κάτι καλύτερο. Ας καταστρώσουμε, λοιπόν, κάποιο σχέδιο. Σκοπός μας είναι, καταρχάς, να εντοπίσουμε σε ποιο σημείο (ή σημεία) γίνεται ο έλεγχος για το αν έχουμε +ξεπεράσει το επιτρεπτό χρονικό όριο. Αυτό συχνά είναι και το πιο δύσκολο κομμάτι σε μια προσπάθεια RCE, το να εντοπίσουμε και να ξεχωρίσουμε μέσα στις χιλιάδες +εντολές αυτές που μας ενδιαφέρουν. + +Ένας καλός τρόπος να το πετύχουμε αυτό είναι να δούμε πως η εσωτερική αλλαγή/έλεγχος επηρεάζει εξωτερικά (προς το χρήστη) το πρόγραμμα και να ψάξουμε για το +σημείο στον κώδικα που γίνεται αυτή η εξωτερική αλλαγή. Επειδή η προηγούμενη περίοδος είναι κάπως ασαφής ας κάνουμε τα πράγματα πιο συγκεκριμένα. Αυτό που μας +ενδιαφέρει είναι να εντοπίσουμε που γίνεται ο χρονικός έλεγχος. Επειδή αυτό είναι κάπως δύσκολο, ας αναλογιστούμε πως το αποτέλεσμα του χρονικού ελέγχου (αλλαγή +της εσωτερικής κατάστασης) επηρεάζει τη συμπεριφορά του προγράμματος. Είδαμε στην αρχή πως, όταν δεν έχει λήξει η demo περίοδος, το πρόγραμμα εμφανίζει το +prompt \"Ready\>\" ενώ όταν έχει λήξει το \"Not Ready\>\". Ας ψάξουμε λοιπόν μήπως βρούμε κάποιο από αυτά τα strings. Με το F7 εμφανίζεται το παράθυρο +αναζήτησης όπου αν βάλουμε \"Ready\>\" θα βρεθούμε στο εξής + +> +> 8048fb1 db 00h ; ' ' +> 8048fb2 db 02h ; ' ' +> 8048fb3 db 00h ; ' ' +> 8048fb4 +> ....... strz_Not_ready___8048fb4: ;xref o8048bf3 +> ....... db "Not ready> \0" +> 8048fc0 +> ....... strz_Result:__8048fc0: ;xref o8048c25 +> ....... db "Result: \0" +> 8048fc9 +> ....... strz_Ready___8048fc9: ;xref o8048c8f +> ....... db "Ready> \0" +> 8048fd1 db 33h ; '3' +> 8048fd2 db 42h ; 'B' +> 8048fd3 db 75h ; 'u' +> 8048fd4 db 6ch ; 'l' +> 8048fd5 db 00h ; ' ' +> 8048fd6 db 33h ; '3' +> 8048fd7 db 44h ; 'D' +> 8048fd8 db 69h ; 'i' +> 8048fd9 db 76h ; 'v' +> 8048fda db 00h ; ' ' + +Ο disassembler έχει βρει τα strings και μάλιστα τους έχει δώσει και όνομα (πχ strz\_Ready\_\_\_8048fc9). To xref o8048c8f σημαίνει ότι αυτό το σύμβολο/διεύθυνση +έχει \"αναφερθεί\"/χρησιμοποιηθεί στη διεύθυνση 0x8048c8f ως offset σε κάποια εντολή. Ας πάμε εκεί λοιπόν : + +> +> ....... ! loc_8048c84: ;xref j8048c20 +> ....... ! lea esp, [ebp-0ch] +> 8048c87 ! pop ebx +> 8048c88 ! pop esi +> 8048c89 ! pop edi +> 8048c8a ! leave +> 8048c8b ! ret +> 8048c8c ! +> ....... ! loc_8048c8c: ;xref j8048bea +> ....... ! sub esp, 8 +> 8048c8f ! push strz_Ready___8048fc9 +> 8048c94 ! jmp loc_8048bf8 +> 8048c99 nop +> 8048c9a nop +> 8048c9b nop + +Παρατηρούμε ότι το offset του string χρησιμοποιήθηκε στην push. Σημειώστε τη διεύθυνση του τελικού jmp και ότι ο μόνος τρόπος για να φτάσουμε σε αυτό το κομμάτι +κώδικα είναι μέσω ενός jump που βρίσκεται στη διεύθυνση 0x8048bea (το xref μας έδωσε αυτές τις πληροφορίες). Δε μένει τίποτα παρά να πάμε εκεί να δούμε: + +> +> 8048bd4 ! +> ....... ! loc_8048bd4: ;xref j8048c73 +> ....... ! sub esp, 0ch +> 8048bd7 ! mov ebx, [edi] +> 8048bd9 ! push 0 +> 8048bdb ! call time +> 8048be0 ! mov edx, [ebx+8] +> 8048be3 ! add edx, [ebx] +> 8048be5 ! add esp, 10h +> 8048be8 ! cmp eax, edx +> 8048bea ! jng loc_8048c8c <------ Αυτό το jump μας ενδιαφέρει +> 8048bf0 ! sub esp, 8 +> 8048bf3 ! push strz_Not_ready___8048fb4 +> 8048bf8 ! +> ....... ! loc_8048bf8: ;xref j8048c94 +> ....... ! push _ZSt4cout +> 8048bfd ! call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc +> 8048c02 ! pop ebx +> 8048c03 ! pop esi +> 8048c04 ! push dword ptr [ebp-10h] +> 8048c07 ! push _ZSt3cin +> 8048c0c ! call _ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E +> 8048c11 ! mov [esp], edi +> 8048c14 ! call sub_8048c9c +> 8048c19 ! add esp, 10h +> 8048c1c ! test eax, eax +> 8048c1e ! mov ebx, eax +> 8048c20 ! jz loc_8048c84 +> 8048c22 ! sub esp, 8 +> 8048c25 ! push strz_Result:__8048fc0 +> 8048c2a ! push _ZSt4cout +> 8048c2f ! call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc +> 8048c34 ! mov esi, eax + +Κάτι μου λέει πως φτάνουμε στη λύση του μυστηρίου! Το jump ψάχνουμε είναι ακριβώς μετά από μια σύγκριση του eax με τον edx. Από το listing βλέπουμε πως ο eax +περιέχει την τιμή επιστροφής της κλήσης της συνάρτησης time(0) (\@0x8048bdb). Αυτή επιστρέφει την τρέχουσα ώρα σε δευτερόλεπτα, μετρημένη από τις 1/1/1970 (το +λεγόμενο Epoch). Η τιμή στον edx προκύπτει από την πρόσθεση δύο τιμών που βρίσκονται στις διευθύνσεις ebx και ebx+8. Αν η τωρινή ώρα είναι μικρότερη από το +άθροισμα, τότε το πρόγραμμα κάνει άλμα, κάνει push \"Ready\>\" και γυρίζει στη διεύθυνση 0x8048bf8. Αντίθετα, αν η τρέχουσα ώρα είναι μεγαλύτερη ή ίση από το +άθροισμα, το άλμα δεν εκτελείται, γίνεται push \"Not Ready\>\" και φτάνουμε πάλι στη διεύθυνση 0x8048bf8. Μου φαίνεται ότι είναι πια ξεκάθαρο πως το άθροισμα +που παράγεται ( \[ebx\] + \[ebx+8\] ) αποτελεί τη χρονική στιγμή πέρα από την οποία λήγει το demo. + +Στη διεύθυνση 0x8048bf8 γίνεται push το σύμβολο cout και καλείται η συνάρτηση \_ZStlsISt11char\_traitsIcEERSt13basic\_ostreamIcT\_ES5\_PKc. Χμμ, όχι και πολύ +ξεκάθαρα πράγματα. Ας το κάνουμε demangle manually με το c++filt\ +[listing3.txt](rce2-files/listing3.txt)\ +Όλη η προηγούμενη ακολουθία μας λέει πως καλείται η συνάρτηση για τον overloaded τελεστή \<\<, με αριστερή πλευρά ένα αντικείμενο τύπου *basic\_ostream* (output +stream) και δεξιά *const char \**. Με απλά λόγια, η εντολή που εκτελέστηκε ήταν η std::cout\<\<\"Ready\>\" ή std::cout\<\<\"Not Ready\>\". + +Λίγο πιο κάτω (έχω αποπλέξει τα σύμβολα με το c++filt):\ +[listing4.txt](rce2-files/listing4.txt)\ +Το οποίο μεταφράζεται σε std::cin\>\>string1, όπου string1 ένα αντικείμενο τύπου *std::string*. Σε αυτό το string μπορούμε να υποθέσουμε πως αποθηκεύεται η +έκφραση που εισάγουμε. + +Ας αφήσουμε την ανάλυση του listing για λίγο και ας αναλογιστούμε πως μπορούμε να πειράξουμε το εκτελέσιμο ώστε να ξεπεράσουμε το χρονικό έλεγχο. Η πιο απλή +λύση είναι να αντικαταστήσουμε το jng στη διεύθυνση 0x8048bea με ένα jmp στη διεύθυνση 0x8048c8. Το πρόβλημα με αυτή την προσέγγιση είναι ότι αντιμετωπίζουμε το +αποτέλεσμα και όχι την αιτία. Θα πρέπει σε κάθε σημείο που γίνεται ένα τέτοιος έλεγχος να αλλάξουμε το άλμα. Εμείς βρήκαμε ένα τέτοιο σημείο αλλά πιθανότατα +υπάρχει τουλάχιστον ακόμα ένα. Θυμηθείτε πως όταν το πρόγραμμα είχε λήξει, εκτός από το prompt \"Not Ready\>\", κάτι δεν πήγαινε καλά και με τις πράξεις. Στο +σημείο που αναλύσαμε εμείς, ο έλεγχος φαίνεται να επηρεάζει μόνο το prompt, οπότε θα πρέπει να υπάρχει και κάποιο άλλο checkpoint. Σε ένα πλήρες πρόγραμμα τα +σημεία ελέγχου μπορεί να είναι εκατοντάδες και σίγουρα δεν είναι πρακτικό να τα αλλάξουμε όλα. Η πιο σωστή λύση είναι να βρούμε σε ποιο σημείο αρχικοποιούνται +οι μεταβλητές που περιέχουν τις πληροφορίες για τη λήξη του χρόνου και να τις \"πειράξουμε\" εκεί. Ας αρχίσουμε λοιπόν\... + +Επιστρέφοντας στο listing λίγο πιο πάνω από εκεί που είχαμε μείνει: + +> 8048bc0 ! +> ....... ! ;----------------------- +> ....... ! ; S U B R O U T I N E +> ....... ! ;----------------------- +> ....... ! sub_8048bc0: ;xref c8048a7d +> ....... ! push ebp +> 8048bc1 ! mov ebp, esp +> 8048bc3 ! push edi +> 8048bc4 ! push esi +> 8048bc5 ! push ebx +> 8048bc6 ! sub esp, 0ch +> 8048bc9 ! mov edi, [ebp+8] +> 8048bcc ! lea eax, [edi+4] +> 8048bcf ! mov [ebp-10h], eax +> 8048bd2 ! mov esi, esi +> 8048bd4 ! +> ....... ! loc_8048bd4: ;xref j8048c73 +> ....... ! sub esp, 0ch +> 8048bd7 ! mov ebx, [edi] +> 8048bd9 ! push 0 +> 8048bdb ! call time +> 8048be0 ! mov edx, [ebx+8] +> 8048be3 ! add edx, [ebx] +> 8048be5 ! add esp, 10h +> 8048be8 ! cmp eax, edx +> 8048bea ! jng loc_8048c8c +> 8048bf0 ! sub esp, 8 +> 8048bf3 ! push strz_Not_ready___8048fb4 + +Είπαμε πως ο edx περιέχει την ημερομηνία λήξης του demo. Αυτή προκύπτει από το άθροισμα των τιμών στις διευθύνσεις \[ebx+8\] και \[ebx\]. Προχωρώντας πιο πάνω +βλέπουμε πως ο ebx εξαρτάται από το edi (8048bd7 ! mov ebx, \[edi\]) το οποίο με τη σειρά του εξαρτάται από το ebp (8048bc9 ! mov edi, \[ebp+8\]). Μάλιστα το +ebp+8 είναι η πρώτη παράμετρος της συνάρτησης στην οποία είμαστε! Επομένως, κατά κάποιο τρόπο τα δεδομένα για τη λήξη έχουν περαστεί ως παράμετρος στη +συνάρτηση. Παρατηρήστε πως η παράμετρος γίνεται dereferenced 2 φορές και επομένως μπορούμε να υποθέσουμε πως είναι κάποιο είδος δείκτη σε δείκτη. Η συνάρτηση +στην οποία βρισκόμαστε καλείται από το σημείο 0x8048a7d (xref c8048a7d) οπότε καλό θα ήταν να ελέγξουμε τι συμβαίνει εκεί. + +> 80489c8 ! +> ....... ! offset_80489c8: ;xref o804892f +> ....... ! push ebp +> 80489c9 ! mov ebp, esp +> 80489cb ! push esi +> 80489cc ! push ebx +> 80489cd ! sub esp, 70h +> 80489d0 ! and esp, 0fffffff0h +> 80489d3 ! push eax +> 80489d4 ! lea ebx, [ebp-78h] +> 80489d7 ! push ebx +> 80489d8 ! mov eax, [ebp+0ch] +> 80489db ! push dword ptr [eax] +> 80489dd ! push 3 +> 80489df ! call __xstat +> 80489e4 ! mov eax, [ebp-38h] +> 80489e7 ! mov [ebp-18h], eax +> 80489ea ! mov eax, [ebp-40h] +> 80489ed ! mov [ebp-14h], eax +> 80489f0 ! lea esi, [ebp-18h] +> 80489f3 ! mov dword ptr [ebp-10h], 2a300h +> 80489fa ! mov edx, ?data_804a470 +> 80489ff ! mov eax, 1 +> 8048a04 ! lock add [edx], eax +> 8048a07 ! mov dword ptr [ebp-74h], ?data_804a474 +> 8048a0e ! mov dword ptr [ebp-6ch], 0 +> 8048a15 ! mov dword ptr [ebp-68h], 0 +> 8048a1c ! mov dword ptr [ebp-70h], data_804a0a8 +> 8048a23 ! mov dword ptr [ebp-60h], 0 +> 8048a2a ! mov dword ptr [ebp-5ch], 0 +> 8048a31 ! mov dword ptr [ebp-64h], data_804a098 +> 8048a38 ! mov dword ptr [ebp-54h], 0 +> 8048a3f ! mov dword ptr [ebp-50h], 0 +> 8048a46 ! mov dword ptr [ebp-58h], data_804a078 +> 8048a4d ! mov dword ptr [ebp-48h], 0 +> 8048a54 ! mov dword ptr [ebp-44h], 0 +> 8048a5b ! mov dword ptr [ebp-4ch], data_804a088 +> 8048a62 ! mov dword ptr [ebp-3ch], 0 +> 8048a69 ! mov dword ptr [ebp-38h], 0 +> 8048a70 ! mov dword ptr [ebp-40h], data_804a068 +> 8048a77 ! mov [ebp-78h], esi +> 8048a7a ! mov [esp], ebx <---- Ο ebx είναι παράμετρος της συνάρτησης +> 8048a7d ! call sub_8048bc0 <---- Η συνάρτηση στην οποία βρισκόμασταν +> 8048a82 ! mov edx, [ebp-74h] + +Πάνω από την call sub\_8048bc0 υπάρχει η εντολή *mov \[esp\],ebx*. Αυτή είναι ένας τρόπος να αντικαταστήσουμε την κορυφαία τιμή στο σωρό. Αντιστοιχεί με pop +\<κάπου\>, push ebx. Παρατηρήστε πιο πάνω πως η \_xstat δεν \"καθαρίζει\" το σωρό και επομένως, η τιμή που αντικαθίσταται είναι απλώς η πρώτη παράμετρος της +\_xstat, άχρηστη πια (για περισσότερες πληροφορίες περί σωρού βλ. προηγούμενο άρθρο \#1). + +Και τώρα αρχίζει το μπλέξιμο\...\ +Πιο πάνω: + +> 80489d4 ! lea ebx, [ebp-78h] (load effective address) + +Ο ebx, δηλαδή, περιέχει τη διεύθυνση ebp-78 (είναι ένας δείκτης προς αυτή). Ας προσπαθήσουμε να βρούμε τι περιέχει αυτή η διεύθυνση. Ψάχνοντας για μια άλλη +αναφορά στην ebp-78 βρίσκουμε λίγο πριν την κλήση της συνάρτησης sub\_8048bc0: + +> 8048a77 ! mov [ebp-78h], esi + +Ο καταχωρητής esi παίρνει τιμή πιο πάνω και περιέχει τη διεύθυνση της θέσης μνήμης ebp-18: + +> 80489f0 ! lea esi, [ebp-18h] + +Σχηματικά: + +![](/34/img/hands_on_stack.png) + +Στη συνάρτηση sub\_8048bc0 θυμηθείτε πως η παράμετρος edi=\[ebp+8\] (που είναι το ebx της καλούσας συνάρτησης και του σχήματος) γινόταν dereferenced μια φορά +στο 8048bd7 ! mov ebx, \[edi\] οπότε και το ebx περιέχει τη διεύθυνση ebp\'-18 (με τον ebp\' να είναι ο frame pointer της προηγούμενης (καλούσας) συνάρτησης). +Μετά είχαμε τα \[ebx\] και \[ebx+8\] που αναφέρονται τελικά στο \[ebp\'-18\] και \[ebp\'-10\]. Επομένως, επιστρέφοντας τη συζήτηση στην καλούσα συνάρτηση +(ebp=ebp\'), τo άθροισμα \[ebp-18\]+\[ebp-10\] καθορίζει πότε θα λήξει το πρόγραμμα! + +Στη διεύθυνση 0x80489f3 έχουμε mov dword ptr \[ebp-10h\], 2a300h δηλαδή το ένα από τα δύο μέρη του αθροίσματος έχει τη σταθερή τιμή 0x2a300=172800. Επειδή όλες +οι χρονικές συγκρίσεις γίνονται σε δευτερόλεπτα μπορούμε να υποθέσουμε πως και αυτή η τιμή είναι σε δευτερόλεπτα οπότε 172800sec=48h=2 μέρες! Το πρώτο κομμάτι +του αθροίσματος παίρνει τιμή μετά από μια κλήση στην stat. Μετά από λίγο ψάξιμο συμπεραίνουμε πως είναι η τιμή που έχει, είναι η χρονική στιγμή της τελευταίας +τροποποίησης του εκτελέσιμου αρχείου (βλέπε ασκήσεις\...). + +Με λίγα λόγια λοιπόν, το πρόγραμμα διαβάζει την ώρα τελευταίας τροποποίησης του αρχείου, προσθέτει σε αυτή 2 μέρες και ελέγχει αν η τρέχουσα ώρα είναι +μεγαλύτερη από αυτό το όριο. Αν αναλογιστεί κάποιος την προστασία αυτή, συμπεραίνει πως είναι εντελώς άχρηστη :) Εκτός από το γεγονός ότι αν γυρίσουμε το ρολόι +πίσω το ληγμένο πρόγραμμα λειτουργεί ξανά, μπορούμε απλώς να κάνουμε *touch* το εκτελέσιμο ώστε να αλλάξουμε το last modification time και έτσι να επεκτείνουμε +το όριο για 2 μέρες ακόμα! + +### [6.4 To patch]{#ss6.4} + +Αν θέλουμε να πειράξουμε το πρόγραμμα για να λειτουργεί για πάντα (σχεδόν\...), μια επιλογή είναι να αντικαταστήσουμε την + + 80489f3 ! mov dword ptr [ebp-10h], 2a300h + με + 80489f3 ! mov dword ptr [ebp-10h], 7fffffffh (η μεγαλύτερη θετική τιμή) + και την + 80489e4 ! mov eax, [ebp-38h] + με + 80489e4 ! xor eax, eax + +Η δεύτερη αλλαγή γίνεται ώστε να μην έχουμε αρνητικό αποτέλεσμα κατά την πρόσθεση των \[ebp-10h\] και \[ebp-18h\]. Αυτό θα είχε ως συνέπεια ο έλεγχος να +αποτυγχάνει πάντα! + +Αρκεί, λοιπόν, να βρούμε που στο αρχείο βρίσκεται η συγκεκριμένη εντολή. Θα μπορούσαμε να ψάξουμε το αρχείο για την ακολουθία από bytes που αποτελούν την εντολή +και μερικές άλλες γύρω της (βλέπε hands-on στο προηγούμενο τεύχος) αλλά αυτή τη φορά θα στηριχτούμε στον ELF Header. H έξοδος του objdump είναι: + +> bash$ objdump -x ./hands-on-unpacked +> +> ./hands-on-unpacked: file format elf32-i386 +> ./hands-on-unpacked +> architecture: i386, flags 0x00000112: +> EXEC_P, HAS_SYMS, D_PAGED +> start address 0x08048918 +> +> Program Header: +> PHDR off 0x00000034 vaddr 0x08048034 paddr 0x08048034 align 2**2 +> filesz 0x000000e0 memsz 0x000000e0 flags r-x +> INTERP off 0x00000114 vaddr 0x08048114 paddr 0x08048114 align 2**0 +> filesz 0x00000013 memsz 0x00000013 flags r-- +> LOAD off 0x00000000 vaddr 0x08048000 paddr 0x08048000 align 2**12 +> filesz 0x00001050 memsz 0x00001050 flags r-x +> LOAD off 0x00001050 vaddr 0x0804a050 paddr 0x0804a050 align 2**12 +> filesz 0x000002f4 memsz 0x00000430 flags rw- +> DYNAMIC off 0x000011f8 vaddr 0x0804a1f8 paddr 0x0804a1f8 align 2**2 +> filesz 0x000000e0 memsz 0x000000e0 flags rw- +> NOTE off 0x00000128 vaddr 0x08048128 paddr 0x08048128 align 2**2 +> filesz 0x00000020 memsz 0x00000020 flags r-- +> EH_FRAME off 0x00001014 vaddr 0x08049014 paddr 0x08049014 align 2**2 +> filesz 0x0000003c memsz 0x0000003c flags r-- +> ... + +Η διεύθυνση 0x80489f3 βρίσκεται στο τρίτο segment διότι αυτό καταλαμβάνει τις διευθύνσεις 0x08048000-0x08049050 (*vaddr* μέχρι *vaddr+memsz-1*) στην οποία +ανήκει και η προηγούμενη. + +> LOAD off 0x00000000 vaddr 0x08048000 paddr 0x08048000 align 2**12 +> filesz 0x00001050 memsz 0x00001050 flags r-x + +Το virtual offset της 0x80489f3 από την αρχή του segment είναι 0x80489f3-0x08048000=0x09f3. Στο αρχείο, τώρα, το segment αρχίζει από το 0 και επομένως η +διεύθυνση 0x80489f3 αντιστοιχεί στο byte offset 0 + 0x09f3=0x09f3. Απλά μαθηματικά :) + +Η εντολή καταλαμβάνει 7 bytes (0x80489fa - 0x80489f3, όπου 0x8048bf0 η αρχή της επόμενης εντολής): 0xc7 0x45 0xf0 **0x00 0xa3 0x02 0x00**. Τα τονισμένα bytes +είναι η τιμή 0x0002a300 (σε little endian μορφή) τα οποία αρκεί να αντικαταστήσουμε με **0xff 0xff 0xff 0x7f**. + +Ομοίως, βρίσκουμε ότι η διεύθυνση 0x80489e4 αντιστοιχεί στο byte offset 0x09e4. Η εντολή καταλαμβάνει 3 bytes: 8b 45 c8. Αντικαθιστούμε το πρώτο byte με 0x31, +το δεύτερο με 0xc0 (xor eax, eax) και τo τελευταίο με 0x90 (nop). Τώρα το εκτελέσιμο θα λειτουργεί χωρίς πρόβλημα για τα επόμενα 30 χρόνια περίπου :) + +### [6.5 Ασκήσεις για το σπίτι :)]{#ss6.5} + +1. Πως φτάσαμε στο συμπέρασμα πως η εντολή *80489e7 ! mov \[ebp-18h\], eax* τοποθετεί στη διεύθυνση \[ebp-18h\] την ώρα τελευταίας τροποποίησης του + εκτελέσιμου; +2. Εκτός από τον χρονικό έλεγχο για την εκτύπωση του \"Ready\>\"/\"Not Ready\>\" γίνεται χρονικός έλεγχος και σε κάποιο άλλο σημείο. Που είναι αυτό και τι + επιπτώσεις έχει στο πρόγραμμα; + +Ο πηγαίος κώδικας του προγράμματος: [rce2-files/hands-on.cpp.gz](rce2-files/hands-on.cpp.gz). Το πρόγραμμα έχει γραφεί επίτηδες ώστε να χρησιμοποιεί στοιχεία +της C++ τα οποία στην προκειμένη περίπτωση δεν αποτελούν την καλύτερη, σχεδιαστικά, επιλογή. Για παράδειγμα, όλες οι μέθοδοι των κλάσεων έχουν δηλωθεί (έμμεσα) +να είναι inline και για αυτό δημιουργείται ένας μικρός χαμός στο εκτελέσιμο! + + +### [7. Πρόκληση]{#s7} + +### [7.1 Προηγούμενη Πρόκληση (\#1) - Λύση και Hall Of Fame]{#ss7.1} + +Σκοπός του προηγούμενου challenge ήταν να κάνετε authenticate. Αρχικά το πρόγραμμα διαβάζει 18 bytes από το αρχείο \"auth.key\". Αυτά αποτελούν το +authentication key. + +Στην όλη διαδικασία του authentication εμπλέκονται επίσης το username, το όνομα του υπολογιστή και την έκδοση του πυρήνα. Το πρόγραμμα βρίσκει το username με +την κλήση getpwuid(getuid()). Αυτή επιστρέφει έναν δείκτη σε struct passwd, το πεδίο pw\_name της οποίας περιέχει το login name. Οι υπόλοιπες δύο πληροφορίες +βρίσκονται με την κλήση uname() που επιστρέφει πληροφορίες για το σύστημα σε μια δομή struct utsname. + +Τα τρία στοιχεία συνδυάζονται για να παραχθεί ένα τελικό pass-string. Αυτό γίνεται στη συνάρτηση merge(). + +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- +> +> char *merge(char *u,char *n,char *v) +> { +> char u1[]="connor"; +> char n1[]="skynet"; +> char v1[]="tx2000"; +> int len=0; +> char *r; +> int i; +> +> replace(u1,6,u); +> Debug("New username: \'%s\'\n",u1); +> replace(n1,6,n); +> Debug("New nodename: \'%s\'\n",n1); +> replace(v1,6,v); +> Debug("New kver: \'%s\'\n",v1); +> +> r=malloc(18+1); +> if (r==NULL) { +> fprintf(stderr,"Internal Error #923\n"); +> exit(1); +> } +> +> i=0; +> while (i<6) { +> r[i*3]=u1[i]; +> r[i*3+1]=n1[i]; +> r[i*3+2]=v1[i]; +> i++; +> } +> Debug("Final pass-phrase: \'%s\'\n",r); +> +> return r; +> } +> +> ---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αρχικά τα strings u1, n1, v1 αντικαθίστανται με τους 6 πρώτους χαρακτήρες των username, nodename και kernel version αντίστοιχα. Αν κάποιο από τα προηγούμενα +έχει λιγότερους από 6 χαρακτήρες, αντικαθίστανται μόνο όσοι υπάρχουν. Όλα αυτά τα κάνει η replace(). + +Oι χαρακτήρες των strings γράφονται σε ένα καινούργιο string κατά *στήλες*. Δηλαδή, πρώτα γράφονται οι πρώτοι χαρακτήρες των u1, n1 και v1, μετά οι δεύτεροι +κτλ. Αυτό το αναδιοργανωμένο string αποτελεί το τελικό pass-string. + +Τέλος, καλείται η do\_math() με παραμέτρους το authentication key και το pass-string, η οποία αποφασίζει αν είναι το κλειδί είναι εντάξει. Ο έλεγχος είναι ο +ακόλουθος. Αρχικά τα δύο strings χωρίζονται σε τρεις ομάδες των 6 bytes η κάθε μια. Κάθε ομάδα προστίθεται byte-wise με την αντίστοιχη ομάδα του άλλου string +και έτσι παράγονται τρεις αριθμοί x, y και r. Όταν γράφω byte-wise εννοώ ότι κατά την πρόσθεση των ομάδων αθροίζονται όλα τα bytes των αντίστοιχων ομάδων από τα +δύο strings ένα προς ένα (τα bytes θεωρούνται προσημασμένα): + +> 1η Ομάδα 2η Ομάδα 3η Ομάδα +> k0 k1 k2 k3 k4 k5 | k6 k7 k8 k9 k10 k11 | k12 k13 k14 k15 k16 k17 +> p0 p1 p2 p3 p4 p5 | p6 p7 p8 p9 p10 p11 | p12 p13 p14 p15 p16 p17 +> +> 5 11 17 +> x=Σ(ki+pi) y=Σ(ki+pi) r=Σ(ki+pi) +> i=0 i=6 i=12 + +Για να είναι επιτυχής ο έλεγχος θα πρέπει x\^2 + y\^2 = r\^2 με r!=0. Οι τριάδες (x,y,r) που ικανοποιούν την προηγούμενη σχέση ονομάζονται πυθαγόρειες τριάδες. +Η πιο απλή είναι η (3,4,5). + +Εμείς γνωρίζουμε τα pi και ψάχνουμε τα ki ώστε να ισχύουν τα παραπάνω. Αν θέσουμε ki=-pi για όλα εκτός από ένα σε *κάθε ομάδα* πχ το πρώτο, τότε x=k0+p0, +y=k6+p6, r=k12+p12 =\> k0=x-p0 k6=y-p6, k12=r-p12. Επειδή τα (x,y,r) πρέπει να είναι πυθαγόρεια τριάδα επιλέγουμε x=3, y=4, r=5. Επομένως k0=3-p0, k6=4-p6, +k12=5-p12. Και αυτό ήταν! + +Παρακάτω θα βρείτε άλλους δύο key generators που είναι πιο πολύπλοκοι αλλά και πιο δημιουργικοί από αυτόν που προτείνω. + +#### Hall Of Fame + +Συγχαρητήρια για τη λύση και τους key generators στους: + +1. **Γιώργος Πρέκας** [Challenge \#1 Keygen](rce2-files/prekas_giorgos-rce1sol.tgz) + + > \...Το πρόγραμμα keygen είναι ένας ολοκληρωμένος key generator. Παρέχει περισσότερες δυνατότητες από όσες περιμένει κανείς από ένα key generator\... + +2. **Αντώνης Σταμπούλης** [Challenge \#1 Keygen](rce2-files/stampoulis_antonis-rce1sol.tgz) + + > \... Δουλεύει σχετικά απλά, ψάχνοντας να βρει μια πυθαγόρεια τριάδα κοντά στην περιοχή που βρίσκονται τα a, b και c που δημιουργούνται όταν το input + > string αποτελείται από χαρακτήρες κενού (ascii 32). Μετά προσθέτει τυχαίους αριθμούς στους χαρακτήρες του input string έτσι ώστε να βγαίνουν τελικά τα + > επιθυμητά a, b και c\... + +Ο δικός μου keygen και το source αρχείο του challenge \#1 : [Challenge \#1 source](rce2-files/alf-rce1sol.tgz) + +### [7.2 Πρόκληση \#2]{#ss7.2} + +Αγαπητοί αναγνώστες,\ +πρόσφατα στο υπόγειο των καινούργιων κτιρίων του περιοδικού μας ανακαλύφθηκε ένα κρυφό δωμάτιο. Μέσα σε αυτό βρέθηκε μια tamperproof θήκη που από ότι φαίνεται +περιέχει ένα υπολογιστικό σύστημα. Το μόνο που φαίνεται από το σύστημα είναι μια μικρή οθόνη και μια υποδοχή για rom memory modules που περιέχουν τον προς +εκτέλεση κώδικα. Ένας από τους εργαζόμενους θυμάται πως η εταιρεία που υπήρχε εδώ παλιότερα είχε ασχοληθεί με την υλοποίηση ενός πρότυπου υπολογιστικού +συστήματος τεχνολογίας RISC αλλά το project εγκαταλείφθηκε λόγω έλλειψης χρημάτων. + +Δυστυχώς οι προσπάθειες μας για επικοινωνία με άτομα που πιστεύουμε πως έχουν σχέση με το εν λόγω project δεν έχουν φέρει αποτέλεσμα. Ύστερα από διεξοδικότερη +έρευνα στο κρυφό δωμάτιο ήρθε στο φως μια δισκέτα που γράφει πάνω \"RISC-Emu v0.42rox\" και από ότι φαίνεται περιέχει και έναν emulator του επεξεργαστή. +Εικάζεται πως αυτός είχε χρησιμοποιηθεί για λόγους prototyping. Τα αρχεία που βρέθηκαν στη δισκέτα βρίσκονται στο αρχείο: +[rce2-files/challenge2.tar.gz](rce2-files/challenge2.tar.gz). + +Η tamperproof θήκη γράφει με μεγάλα γράμματα \"Προσοχή! Η θήκη μπορεί να ανοίξει μόνο από το ίδιο το σύστημα. Οποιαδήποτε προσπάθεια για παραβίαση θα έχει ως +αποτέλεσμα την απελευθέρωση χημικών που θα καταστρέψουν το hardware\". + +Η αποστολή σας, αν την αποδεχτείτε, είναι να βρείτε έναν τρόπο να ανοιχτεί η θήκη χωρίς να προκληθεί ζημιά στο hardware. Από όσα ξέρουμε ως τώρα αυτό θα πρέπει +να γίνεται με την εισαγωγή ενός σωστού memory module. Η ανταμοιβή θα είναι πλουσιοπάροχη και θα φθάνει το ύψος των 10000 δωρεάν συνδρομών στο περιοδικό μας. + +Με εκτίμηση, + + Ο Πρόεδρος + diff --git a/content/articles/35/01_X-Windows.md b/content/articles/35/01_X-Windows.md new file mode 100644 index 0000000..b6dde26 --- /dev/null +++ b/content/articles/35/01_X-Windows.md @@ -0,0 +1,416 @@ ++++ +title = 'X-windows, πως και γιατί;' +date = '' +description = '' +author = 'Καπελώνης Κωστής kkapelon _AT_ freemail.gr(mailto:kkapelonSPAM@SUXfreemail.gr)' +issue = ['Magaz 35'] +issue_weight = 1 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Στο άρθρο αυτό προσπαθούμε να αποκαλύψουμε τις πραγματικές δυνατότητες των X-windows οι οποίες συχνά είναι άγνωστες στους χρήστες τους. Βασικά θέλουμε να πούμε +ότι τα X-Windows ΔΕΝ είναι το γραφικό περιβάλλον του Linux. Αν και σήμερα (κυρίως μέσα από το KDE και το GNOME) χρησιμοποιούνται με αυτόν τον τρόπο, στην +πραγματικότητα η φιλοσοφία πίσω από τα X-Windows είναι λίγο διαφορετική. Το άρθρο απευθύνεται σε μέσους χρήστες GNU/Linux (και ορεξάτους αρχάριους).* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Εισαγωγή** +------------------------------------------- + +**2. X-Windows το γιατί (η αλλιώς η θεωρία)** +------------------------------------------------------------------------- + +- [2.1 Αρχιτεκτονική](#ss2.1) +- [2.2 Περί ενοποίησης (Integration).](#ss2.2) +- [2.3 Όλα για το δίκτυο](#ss2.3) +- [2.4 Απόκρυψη των λεπτομερειών (abstraction)](#ss2.4) +- [2.5 Δύο εφαρμογές με ενδιαφέρον](#ss2.5) + +**3. X-Windows το πως (η αλλιώς η πράξη)** +---------------------------------------------------------------------- + +- [3.1 Ο εύκολος τρόπος](#ss3.1) +- [3.2 Ο δύσκολος τρόπος](#ss3.2) +- [3.3 Ο ασφαλής τρόπος](#ss3.3) + +**4. Άλλα θέματα και επίλογος** +----------------------------------------------------------- + + +### [1. Εισαγωγή]{#s1} + +Χρησιμοποιείτε GNU/Linux εδώ και λίγο καιρό. Αν ανάμεσα στα χιλιάδες ερωτήματα σας είναι και τα παρακάτω\... + +- Γιατί το γραφικό περιβάλλον του Linux είναι τόσο αργό; +- Τι εννοούν οι \"παλιοί\" όταν λένε ότι τα X-Windows είναι \"network-transparent\"; +- Παλαιότερα λέγαν ότι το Linux ήταν πολύ πιο γρήγορο από τα MSWindows, σήμερα όμως είναι πιο αργό στην πραγματικότητα. Γιατί; +- Γιατί τα X-Windows αναφέρονται ως \"σύστημα\";. Δεν είναι απλά το γραφικό περιβάλλον του Linux; +- Τι εννοεί η τάδε διανομή όταν λέει ότι δεν χρησιμοποιεί πια XFREE86 αλλά τον server από το X.org ; +- Υπάρχει κάτι αντίστοιχο σε remote assistance/desktop για Linux συστήματα; + +\...τότε αυτό το άρθρο είναι γραμμένο για σας! Αν όχι τότε μπορείτε να γράψετε και να στείλετε το δικό σας άρθρο στο Magaz. Το περιμένουμε με αγωνία! + + +### [2. X-Windows το γιατί (η αλλιώς η θεωρία)]{#s2} + +Τα X-Windows δεν αποτελούν εξαίρεση στον κανόνα. Ακολουθούν και αυτά την φιλοσοφία του Unix. Δηλαδή κατασκευάζουμε μικρά προγράμματα που κάνουν μια δουλειά καλά +και δίνουμε στον προγραμματιστή την μέγιστη ελευθερία να προσαρμόσει το περιβάλλον του όπως θέλει. (το \"μικρά\" βέβαια σε αυτήν την περίπτωση είναι +αμφιλεγόμενο) + +Αυτό έρχεται σε αντίθεση με τα καταναλωτικά λειτουργικά συστήματα (γκουχ,γκουχ) που πιστεύουν ότι \"ξέρουμε τι θέλουν οι χρήστες μας πριν από αυτούς για αυτούς +και θα τους παρέχουμε εμείς το καλύτερο γραφικό περιβάλλον. Ξέρουμε βέβαια ότι αυτό θα ικανοποιήσει μόνο το 80% των χρηστών. Δεν πειράζει όμως, το υπόλοιπο 20% +ας πάει να πνιγεί\". + +### [2.1 Αρχιτεκτονική]{#ss2.1} + +Μετά από αυτήν την σύντομη αλλά αναγκαία προπαγάνδα μπορούμε να δούμε τα πράγματα από μια πιο ρεαλιστική σκοπιά. Έτσι λοιπόν ένα μονολιθικό λειτουργικό σύστημα +που βασίζεται στην πλήρης ενοποίηση (integration) όλων των υποσυστημάτων του μοιάζει κάπως έτσι [\[εικόνα\]](/35/img/integrated.png) + +Κύριο πλεονέκτημα αυτής της αρχιτεκτονικής είναι βέβαια ή ταχύτητα. Με αυτό εννοούμε ότι όλα τα υποσυστήματα (άρα και το γραφικό περιβάλλον) είναι πλήρως +εναρμονισμένα μεταξύ τους (αφού είναι εντελώς προβλέψιμη η σύνθεση τους) και τα κανάλια επικοινωνίας μεταξύ τους είναι τα βέλτιστα δυνατά. + +Αντιθέτως σε ένα GNU/Linux σύστημα όπου Linux σημαίνει μόνο ο πυρήνας (φαντάζομαι ότι το ξέρετε αυτό :-) τα πράγματα είναι κάπως έτσι +[\[εικόνα\]](/35/img/modular.png) . Η εικόνα δείχνει ένα σύστημα βασισμένο σε gtk+/GNOME αλλά ανάλογα πράγματα ισχύουν και για QT/KDE. + +Το όλο σύστημα δηλαδή αποτελείται από αυτοδύναμα κομμάτια τα οποία μπορούν να να συνεργαστούν με διάφορους τρόπους μεταξύ τους. Κύριο πλεονέκτημα αυτής της +αρχιτεκτονικής είναι η επεκτασιμότητα και η ευελιξία. Έτσι είναι δυνατόν κάποιος ανάλογα με τις ανάγκες του να αρχίσει να αφαιρεί από \"την κορυφή\" +υποσυστήματα φτάνοντας σε ένα πιο ελαφρύ σύστημα. + +Θα μπορούσατε ας πούμε να αφαιρέσετε το GNOME και να βάλετε έναν άλλο απλό window manager κρατώντας όμως τις Gtk βιβλιοθήκες. H να αφήσετε μόνο τα ίδια τα +X-windows για να τρέχετε μόνο μια συγκεκριμένη εφαρμογή σε Motif. Η ακόμα να αφαιρέσετε όλο το γραφικό περιβάλλον αφήνοντας μόνο τον πυρήνα και τις εφαρμογές +κονσόλας, έχοντας έτσι ένα πολύ γρήγορο σύστημα ιδανικό για server. + +Στην πραγματικότητα βέβαια επειδή κάποιος θέλει να τρέχει πολλά και διαφορετικά προγράμματα τα πράγματα δεν είναι τόσο απλά. Έτσι αν είστε στο KDE και σηκώσετε +το Mozilla θα φορτωθούν όλες οι βιβλιοθήκες του στην ίδια μνήμη που είναι ήδη φορτωμένες αυτές του KDE. Αν σηκώσετε και GIMP ας πούμε θα έχετε και το GTK+ να +καταναλώνει μνήμη. Ουσιαστικά δηλαδή σε ένα μηχάνημα έχετε 3 ειδών βιβλιοθήκες. Αυτήν την ευελιξία (πολλά είδη εφαρμογών) την πληρώνετε σε απόδοση (μνήμη) + +Επίσης είναι δυνατόν να αλλάξουν τα \"κάτω\" ή τα \"πάνω\" επίπεδα του συστήματος χωρίς καμία επίπτωση. Όπως θα ξέρετε τα X-windows δεν είναι αποκλειστικό +προνόμιο του Linux. Τα \*ΒSDς τρέχουν επίσης X-Windows όπως και μερικά εμπορικά Unix (π.χ. Solaris). Αυτό δίνει πάλι μεγάλη ευελιξία καθώς ένα πρόγραμμα που +χρησιμοποιεί μόνο γραφικές βιβλιοθήκες (Xlib και πάνω) τρέχει όπου υπάρχουν X-windows άσχετα με το αν \"από κάτω\" υπάρχει Linux/FreeBSD/Solaris ή οτιδήποτε +άλλο. + +Τα KDE/GNOME για παράδειγμα τρέχουν άνετα σε FreeBSD. Προφανώς θα μεταφέρθηκαν (ported) κάποια συγκεκριμένα κομμάτια από το ένα σύστημα στο άλλο, αλλά κανείς +δεν ξανάγραψε κώδικα \"από το γραφικό περιβάλλον του Linux\" στο \"γραφικό περιβάλλον του FreeBSD\". + +Τέλος, η αντικατάσταση των πάνω επιπέδων σημαίνει αντικατάσταση των X-Windows. Τι σημαίνει αυτό; Τι θα μπορούσαμε να βάλουμε στην θέση τους; Εδώ φτάνουμε σε ένα +σημαντικό σημείο του άρθρου. Τα x-windows (η επίσημα \"The X-Window system\") είναι απλά μια περιγραφή (specification). Ο XFree86 είναι απλά μια δωρεάν +υλοποίηση (implementation). Υπάρχουν και άλλες υλοποιήσεις. Προφανώς αρκετές είναι forks του XFree86 αλλά υπάρχουν και εμπορικές εκδόσεις με διάφορα +χαρακτηριστικά (π.χ. 3D επιτάχυνση). Τον τελευταίο καιρό λόγω διάφορων νομικών επιπλοκών με την άδεια χρήσης του XFree86 αρκετές διανομές ψάχνουν εναλλακτικές +λύσεις. Αυτό όμως δεν έχει καμία επίπτωση στο τεχνικό επίπεδο. Όλες οι γραφικές εφαρμογές μπορούν να λειτουργήσουν όπως και πριν. + +### [2.2 Περί ενοποίησης (Integration).]{#ss2.2} + +Μέχρι στιγμής δεν έχουμε πει τίποτα καινούριο. Γιατί λοιπόν αυτή η ευελιξία που προσφέρουν τα X-Windows μεταφράζεται σε μειωμένη απόδοση; (άσχετα με το μπάχαλο +με τις πολλές βιβλιοθήκες που έχει μεγαλύτερη επίπτωση στην μνήμη παρά σε επεξεργαστική ισχύ). Η απάντηση είναι η εξής. + +Κάθε γραφικό πρόγραμμα (Χ client) είναι μια εφαρμογή που στο 99% των περιπτώσεων αναλογεί σε μία διεργασία του Unix (process). Το ίδιο όμως το υποσύστημα +γραφικών (Χ server) που ελέγχει οθόνη, πληκτρολόγιο και ποντίκι είναι επίσης απλά άλλη μία διεργασία του συστήματος που τρέχει πάνω από τον πυρήνα (userspace). +Ξαναδιαβάστε την τελευταία πρόταση δύο φορές. Δεν υπάρχει καμία ειδική μεταχείριση μέσα στο πυρήνα του Linux για γραφικά ή για Χ servers ή για διάφορα άλλα +τέτοια. (Εδώ κλέβω λίγο βέβαια, αλλά αν το ξέρετε αυτό είστε αρκετά έμπειρος ώστε αυτό το άρθρο μάλλον δεν σας ενδιαφέρει). Το \"γραφικό περιβάλλον\" είναι +δηλαδή άλλο ένα πρόγραμμα που μοιράζεται τους πόρους του μηχανήματος στην ίδια βάση με τα υπόλοιπα προγράμματα που τρέχουν εκείνη την στιγμή (κονσόλας ή +γραφικά). + +Αυτό μπορείτε να το διαπιστώσετε και οι ίδιοι. Με ένα απλό ps μπορείτε να βρείτε τον ίδιο τον Xserver και \"σκοτώνοντας\" τον θα καταρρεύσει αυτομάτως όλο το +γραφικό περιβάλλον. Τόσο απλά. Μάλιστα μπορείτε να χρησιμοποιήσετε τις κλασσικές εντολές του Unix πάνω στον Xserver. Για παράδειγμα με την εντολή nice μπορείτε +να ανεβάσετε ή να μειώσετε την προτεραιότητα του Xserver σε σχέση με τα άλλα προγράμματα. Ακόμα και στα επίπεδα πάνω από τα ίδια τα X-Windows η λογική είναι η +ίδια. O window manager που σχεδιάσει τα περιγράμματα των παραθύρων και ασχολείται με την θέση τους είναι επίσης απλά άλλο ένα userspace πρόγραμμα. Τα ίδια +ισχύουν και για KDE/GNOME. Το πάνελ τους, o window manager, ο file manager κ.τ.λ είναι \"κανονικά\" προγράμματα χωρίς κάποιο ειδικό χαρακτηριστικό. + +Ξαναδείτε τις δύο εικόνες που αναφέρθηκαν προηγουμένως. Αν φανταστείτε ότι κάθε \"βελάκι\" αποτελεί μία σημαντική καθυστέρηση (communication overhead) μπορείτε +εύκολα να δείτε ότι ένα σύστημα βασισμένο σε GNOME/KDE και γενικά με X-Windows πληρώνει μερικές έξτρα καθυστερήσεις οι οποίες πολύ απλά δεν υπάρχουν σε ένα +μονολιθικό λειτουργικό σύστημα όπου τα πάντα είναι ενωμένα (και ο πυρήνας έχει και λειτουργίες για γραφικά). + +Αυτό είναι το τίμημα που πληρώνετε για την ευελιξία των X-Windows. Να το θυμάστε λοιπόν την επόμενη φορά που θα επιδοθείτε στο αγαπημένο σπορ των απανταχού +Unixάδων, αυτό δηλαδή της εύρεσης του κατάλληλου συνδυασμού window manager/background/theme/dockapps/desklets/toolbars/panels που θα σας δώσουν το \"τέλειο\" +υπολογιστικό περιβάλλον. + +Ειδικά το GNOME και το KDE πάσχουν σε ταχύτητα όσο καλός και αν είναι ο κώδικας τους (το KDE βέβαια πρέπει να παραδεχτώ ότι έχει κάνει τρομερή πρόοδο στον τομέα +ταχύτητα) γιατί είναι κατασκευασμένα για να παρέχουν λειτουργίες και να μιμούνται το περιβάλλον ενός μονολιθικού λειτουργικού συστήματος, κάτι που τα X-Windows +ποτέ δεν προορίζονταν να κάνουν. + +### [2.3 Όλα για το δίκτυο]{#ss2.3} + +Τώρα βέβαια θα πείτε: \"Και καλά, αν δεν είναι κατασκευασμένα τα X-Windows για να παρέχουν γραφικά σε ένα μονολιθικό λειτουργικό σύστημα, τότε για τι είναι +κατασκευασμένα;\", και θα έχετε κάθε δίκιο να το ρωτήσετε αυτό. + +Η μαγική φράση δεν είναι τόσο το \"μονολιθικό σύστημα\" όσο το \"σε ένα\". Τα X-Windows σχεδιάστηκαν για το δίκτυο. O σκοπός τους είναι να παρέχουν γραφικές +υπηρεσίες ανάμεσα σε πολλούς υπολογιστές που επικοινωνούν μεταξύ τους. Αναφερόμαστε βέβαια στο περιβόητο \"network transparency\". (Δεν νομίζω ότι μπορώ να βρω +καλή ελληνική μετάφραση του όρου.) + +Οι προγραμματιστές των X-Windows σκέφτηκαν ως εξής όταν τα σχεδίαζαν (όλα αυτά μέσα στα \'80s). \"Ξέρουμε ότι στο μέλλον τα δίκτυα θα είναι παντού. Και ξέρουμε +επίσης ότι πολλοί προγραμματιστές θα θέλουν να γράψουν γραφικά προγράμματα που θα τρέχουν πάνω από το δίκτυο. Θα ήταν επίσης κρίμα ο κάθε προγραμματιστής να +γράφει κάθε φορά κώδικα που αφορά μεταφορά δεδομένων μέσα από το δίκτυο, κάτι το οποίο δεν έχει σχέση με το ίδιο το πρόγραμμα. (γνωστό και ως plumbing +code/infrastructure ή και βαρετός κώδικας/εφεύρεση του τροχού για νιοστή φόρα στα ελληνικά :-). Θα κάνουμε λοιπόν το εξής: Θα γράψουμε μία φορά εμείς οι ίδιοι +τον κώδικα του δικτύου και θα δώσουμε στους άλλους προγραμματιστές την δυνατότητα να γράψουν τα προγράμματα τους βασισμένα στα X-Windows χωρίς πότε να πρέπει να +ασχοληθούν αυτοί με το δίκτυο άλλα να μπορούν να επικεντρώσουν την προσοχή τους στο ίδιο το πρόγραμμα τους\". + +Τι ακριβώς εννοούσαν λοιπόν οι προγραμματιστές των X-Windows και τι έλεγε αυτή η επαναστατική τους (ακόμα και σήμερα κατά την ταπεινή γνώμη του αρθρογράφου) +ιδέα; + +Ας δούμε ένα παράδειγμα. Έχετε δύο υπολογιστές συνδεδεμένους στο δίκτυο. Θέλετε να πάρετε κάποιες μετρήσεις από τον Α (οι οποίες μπορεί να είναι +θερμοκρασίες/hits σε ένα webserver/στατιστικά μιας βάσης δεδομένων και ότι άλλο μπορείτε να φανταστείτε) και να τις δείτε με ένα γραφικό πρόγραμμα στον Β στον +οποίο και κάθεστε. + +Αν οι δύο υπολογιστές τρέχουν ένα μονολιθικό λειτουργικό σύστημα πρέπει στην ουσία να γράψετε δύο προγράμματα. Το πρώτο (που δεν είναι απαραίτητο να είναι +γραφικό) θα τρέχει στον Α, θα μαζεύει τα δεδομένα και θα τα στέλνει μέσω δικτύου στο δεύτερο πρόγραμμα που θα τρέχει στον Β και το οποίο θα τα δείχνει γραφικά +στην οθόνη. Δείτε την [\[εικόνα\]](/35/img/client-server.png) .Στις περισσότερες περιπτώσεις ο κώδικας του δικτύου θα είναι χαμηλού επιπέδου (sockets) και θα είναι +στενά συνδεδεμένος με τα δεδομένα που μεταφέρονται. Παρατηρήστε επίσης ότι ο κώδικας αυτός δεν έχει καμία απολύτως σχέση ούτε με την συλλογή δεδομένων η οποία +μπορεί να είναι πολύ περίπλοκη από μόνη της ούτε με την επεξεργασία και γραφική τους αναπαράσταση που επίσης μπορεί να είναι πολύ περίπλοκη. + +Κλασσικά παραδείγματα αυτής της αρχιτεκτονικής είναι τα άπειρα γραφικά database frontends που επιτρέπουν σε κάποιον να χειριστούν γραφικά μια απομακρυσμένη βάση +δεδομένων, και τα διάφορα remote administration προγράμματα γενικότερα. Ακόμα και όλα τα κακόβουλα προγράμματα τύπου δούρειου ίππου (trojan horse) βασίζονται σε +αυτήν την ιδέα. + +Αν όμως έχετε X-Windows στους δύο υπολογιστές τα πράγματα είναι πολύ πιο απλά! Οι προγραμματιστές των X-Windows έχουν γράψει ήδη των κωδικά του δικτύου για εσάς +πριν από εσάς. Σε αυτήν την περίπτωσή θα γράψετε ένα μόνο πρόγραμμα (όπως και ήταν η αρχική σας επιδίωξη) το οποίο θα τρέξετε κανονικά στον Α και μετά με κάποιο +συγκεκριμένο τρόπο θα του πείτε \"Θέλω να δω την έξοδο του προγράμματος στην οθόνη του υπολογιστή Β και όχι στην οθόνη του υπολογιστή Α που το έτρεξα\". Και +αυτό ήταν! Δείτε την [\[εικόνα\]](/35/img/X-win.png) . Ο Α δεν χρειάζεται να τρέχει X-Windows. Στην πραγματικότητα ο Α δεν χρειάζεται να έχει καν οθόνη. Μπορεί να +είναι κάλλιστα ένας headless server που κάθεται στα φωτεινά υπόγεια μιας πολυεθνικής εταιρίας ή στο σκοτεινό πατάρι του γείτονα. Το μόνο που χρειάζεται ό Α +είναι οι βιβλιοθήκες γραφικών των X-Windows (xlib/Xt) και ότι άλλο toolkit χρησιμοποιεί (gtk+/qt/fltk/tk/motif κ.τ.λ) το πρόγραμμα. Κατά τα άλλα δεν χρειάζεται +να ασχοληθείτε εσείς ως προγραμματιστής, καθόλου με κώδικα για δίκτυο. Η μεταφορά των δεδομένων μέσα από τον δίκτυο γίνεται με τον τρόπο που έχουν +\"ενσωματωμένο\" (built-in) τα ίδια τα X-windows. + +Κάτι σημαντικό που πρέπει να παρατηρήσετε στην δεύτερη εικόνα και το οποίο έχει μπερδέψει αρκετούς ανθρώπους (μαζί και τον αρθρογράφο) είναι η ανάποδη +αντιστοίχηση των όρων client και server. Έχουμε συνηθίσει να έχουμε το client κομμάτι στον υπολογιστή που καθόμαστε (π.χ. ftp client/web browser/database +client) και το server κομμάτι στον απομακρυσμένο υπολογιστή (π.χ. ftp server/web server/database server). Στην περίπτωση των X-Windows όμως τα πράγματα είναι +ανάποδα. Ο χρήστης κάθεται στον X-Server (= οθόνη,πληκτρολόγιο και ποντίκι) ενώ το απομακρυσμένο πρόγραμμα είναι ο X-client. Αυτό είναι εύκολο να το θυμάστε αν +σκεφτείτε ότι ο client είναι πάντα αυτός που ξεκινάει την σύνδεση. Στην συγκεκριμένη περίπτωση ο χρήστης κάθεται στον X-Server που \"περιμένει\" συνδέσεις από +X-Clients σε άλλα μηχανήματα που θέλουν να χρησιμοποιήσουν την οθόνη του. + +Αυτά όσον αφορά το \"network\" κομμάτι. Τι ακριβώς όμως σημαίνει το \"transparency\" κομμάτι; (Στα ελληνικά transparent = διάφανος και transparency = +διαφάνεια). + +### [2.4 Απόκρυψη των λεπτομερειών (abstraction)]{#ss2.4} + +Φτάνουμε λοιπόν στην δεύτερη σημαντική απόφαση των προγραμματιστών των X-Windows. Η απόφαση αυτή έχει να κάνει με το τι γίνεται στην περίπτωση που ένα γραφικό +πρόγραμμα δείχνει την έξοδο του στον ίδιο τον υπολογιστή που τρέχει και άρα δεν χρειαζόμαστε μεταφορά δεδομένων μέσω δικτύου. Αυτή η περίπτωση μας ενδιαφέρει +πολύ γιατί έτσι τρέχουν το 99% των χρηστών GNU/Linux το KDE/GNOME στον υπολογιστή τους. Αυτή είναι η πλειοψηφία των περιπτώσεων της εφαρμογής των X-Windows +σήμερα δηλαδή. + +Είπαν λοιπόν οι προγραμματιστές των X-Windows: \"Το ξέρουμε ότι θα μπορούσαμε (για λόγους ταχύτητας) να γράψουμε διαφορετικό κώδικα που θα δίνει την δυνατότητα +στον προγραμματιστή να έχει απευθείας πρόσβαση στο υποσύστημα γραφικών όταν το πρόγραμμα του έχει την έξοδο στον ίδιο τον υπολογιστή που τρέχει. Κάτι τέτοιο +όμως θα ήταν πιο πολύπλοκο και επίσης θα χάλαγε \"την ομοιομορφία\" του συστήματος μας (τα X-Windows δηλαδή). Προτιμούμε να δώσουμε στον προγραμματιστή ένα +ενιαίο τρόπο κατασκευής γραφικών εφαρμογών άσχετα αν αυτές χρησιμοποιούν το δίκτυο τελικά ή όχι. Θα ακολουθήσουμε αυτήν μας την απόφαση παρόλο που ξέρουμε ότι +δεν είναι η βέλτιστη δυνατή από άποψη ταχύτητας, είναι όμως η βέλτιστη δυνατή λύση από άποψη ευελιξίας\". Έτσι ακριβώς έγινε. + +Τελικά δηλαδή τα X-Windows δεν ενδιαφέρονται αν υπάρχει στην μέση δίκτυο ή όχι. Ακόμα και όταν τα πάντα (Χ-server και X-Clients) τρέχουν σε έναν υπολογιστή +τοπικά, όλα τα δεδομένα πάλι μέσα από το \"δίκτυο\" θα σταλούν. Το \"δίκτυο\" βέβαια θα είναι το ιδεατό(virtual) δίκτυο που έχει πάντα ένας υπολογιστής με τον +εαυτό του. Αυτό πρακτικά σημαίνει ότι κάθε γραφικό πρόγραμμα που ξεκινάτε στον υπολογιστή σας συνδέεται μέσω δικτύου στην οθόνη του localhost/127.0.0.1 Δεν +υπάρχει κάποια ειδική ρύθμιση για να αποφασίσετε αν ένα γραφικό πρόγραμμα τρέχει μέσω δικτύου ή τοπικά. Είναι ακριβώς το ίδιο. Εκεί αναφέρεται και ο όρος +\"transparency\". + +Και βέβαια από όλα αυτά καταλαβαίνετε ότι ένα γραφικό πρόγραμμα δεν έχει ποτέ απευθείας πρόσβαση στην κάρτα γραφικών του μηχανήματος που θα τρέξει ακόμα και αν +τρέχει τοπικά. Τα πάντα θα περάσουν μέσα από το δίκτυο και μέσα από τον XServer (εδώ πάλι κλέβω αλλά αν το ξέρετε αυτό μπλα,μπλα). Θα μπορούσαν δηλαδή οι +προγραμματιστές των X-Windows να δώσουν ένα διαφορετικό API για την περίπτωση που το πρόγραμμα τρέχει τοπικά, προτίμησαν όμως να μην το κάνουν αυτό για χάρη της +ευελιξίας και ομοιομορφίας του συστήματος. + +Να λοιπόν ένας ακόμα λόγος που τα X-Windows δεν μπορούν να ανταγωνιστούν τα γραφικά περιβάλλοντα των μονολιθικών λειτουργικών συστημάτων στο θέμα της ταχύτητας. +Για άλλη μια φορά θυσίασαν την ταχύτητα για χάρη της ευελιξίας. + +### [2.5 Δύο εφαρμογές με ενδιαφέρον]{#ss2.5} + +Προφανώς υπάρχουν πολλές διαφορετικές περιπτώσεις όπου τα X-Windows μπορούν να χρησιμοποιηθούν για απομακρυσμένη εκτέλεση γραφικών εφαρμογών. Ανάλογα με τις +ανάγκες του καθενός είναι δυνατόν τα X-Windows τις καλύψουν χωρίς να χρειάζεται η προμήθεια εξωτερικών εφαρμογών. Εμείς θα θέλαμε να αναφέρουμε δύο περιβάλλοντα +που πιστεύουμε ότι αξίζουν την προσοχή σας. + +Περιβάλλον 1. Ας φανταστούμε έναν (δύστυχο) system administrator που κάθεται στο γραφείο του που τρέχει GNU/Linux και θα ήθελε να ξέρει ανά πάσα στιγμή των +σημαντικών πόρων/μηχανημάτων του δικτύου. Προφανώς μέσω SSH ο απομακρυσμένος έλεγχος (remote administration) των μηχανημάτων είναι δυνατόν να γίνει χωρίς καν να +σηκωθεί από την καρέκλα του. Δεν θα ήταν όμως ιδανικό να μπορούσε να σηκώσει και γραφικά προγράμματα απομακρυσμένα; + +Χωρίς λοιπόν την προσθήκη έξτρα προγραμμάτων ο system administrator αλλά με τις σωστές ρυθμίσεις θα μπορούσε να κάνει κάτι όπως την +[\[εικόνα\]](/35/img/central-control.png) + +Αυτός κάθεται λοιπόν σε ένα μηχάνημα χαμηλών/μέσων επιδόσεων και μπορεί να βλέπει στην (ας πούμε TFT 19\") οθόνη του ταυτόχρονα + +- Το γραφικό hit analyser που τρέχει στο Webserver του με FreeBSD +- Το γραφικό του network analyser που τρέχει στο router/firewall me OpenBSD +- Το γραφικό του database frontend που τρέχει στον application server με Solaris +- Το γραφικό του -βάλτε το δικό σας πρόγραμμα εδώ- που τρέχει στον server με GNU/Linux + +Στο όλο σύστημα δηλαδή τρέχει ένας μόνο X server (στον κεντρικό υπολογιστή) και οι υπόλοιποι X-clients τρέχουν περιφερειακά σε διαφορετικά μηχανήματα. Προφανώς +οι servers μπορούν κάλλιστα να είναι headless. + +Γιατί είναι σημαντική αυτή η σύνθεση (configuration); + +- Κεντρικός έλεγχος. O sys admin έχει όλα τα γραφικά προγράμματα σε μία οθόνη στο γραφείο του. +- Κατανεμημένοι πόροι. Συνήθως μια βάση δεδομένων είναι μια βαριά εφαρμογή. Επίσης ένας πολυάσχολος web server τείνει να ζορίζει ένα σύστημα. Σε αυτήν την + περίπτωση όμως ο system admin βλέπει σε μία οθόνη προγράμματα που θα ήταν αδύνατο να τρέξουν σε έναν υπολογιστή όλα μαζί. Επίσης ο ίδιος ο υπολογιστής του + sys admin έχει πολύ χαμηλό φόρτο αφού το μόνο που κάνει είναι να \"δείχνει\" τα δεδομένα και όχι να τα επεξεργάζεται. Έτσι η εταιρία μπορεί να επενδύσει + πολλά χρήματα στον database server και όχι στον υπολογιστή του sys admin. (Αυτή η λογική δεν ισχύει πάντα στην πραγματικότητα :-) +- Ανεξαρτησία. Αν ο sys admin είναι από τους νευρωτικούς που θέλουν να συνεχίσουν να έχουν τον έλεγχο ακόμα και όταν φεύγουν από την δουλειά δεν υπάρχει + κανένα πρόβλημα. Θα μπορούσε ας πούμε ο sys admin να πάει σπίτι του (θεωρητικά) και να σηκώσει το frontend της βάσης δεδομένων από το GNU/Linux μηχάνημα που + έχει στο υπνοδωμάτιο του. Θα έχει ακριβώς το ίδιο περιβάλλον που είχε και στην δουλειά. + +Περιβάλλον 2. Η δεύτερη περίπτωση είναι η λογικά αντίθετη (σχεδόν). Έχουμε στο κέντρο τον X-Client και διάφοροι X-Servers σηκώνουν το πρόγραμμα γραφικά. Τυπικό +παράδειγμα τέτοιας λύσεις αποτελούν τα πανεπιστήμια. Υπάρχει εγκατεστημένη σε ένα μηχάνημα μια σημαντική/εμπορική εφαρμογή και όλοι οι φοιτητές σηκώνουν το +γραφικό περιβάλλον από τον υπολογιστή που κάθονται. Η εφαρμογή δεν μπορεί να υπάρξει εγκατεστημένη σε άλλους υπολογιστές για διάφορους λόγους + +- Είναι εμπορική και το πανεπιστήμιο έχει μόνο μια άδεια +- Χρησιμοποιεί συγκεκριμένο υλικό συνδεδεμένο μόνο σε αυτόν τον αυτόν τον υπολογιστή +- Έχει πολύ μεγάλες απαιτήσεις σε πόρους (μπορεί να τρέξει μόνο σε αυτόν τον υπολογιστή) + +Δείτε την [\[εικόνα\]](/35/img/distributed.png). Τα χαρακτηριστικά αυτής της σύνθεσης είναι: + +- (Το κύριο) Πολλοί χρήστες χρησιμοποιούν μια γραφική εφαρμογή η οποία στην πραγματικότητα είναι εγκατεστημένη σε ένα μηχάνημα. +- Εύκολη αναβάθμιση της εφαρμογής, αφού βρίσκεται σε ένα κεντρικό σημείο. +- Οικονομική λύση. Ο μόνος απαιτητικός υπολογιστής είναι ο κεντρικός. Οι χρήστες μπορούν να έχουν απλούς thin clients. Εφόσον όμως δεν έχουν μπροστά τους μια + απλή εφαρμογή WEB αλλά μια κανονική εφαρμογή συστήματος που έχει διαθέσιμους όλους τους πόρους ενός μηχανήματος τελικά τα περιφερειακά μηχανήματα είναι + thick clients. + +Και τα δύο περιβάλλοντα που αναφέραμε δεν λειτουργούν ακριβώς έτσι στην πραγματική ζωή και για αυτό συμβάλλουν κυρίως δύο λόγοι. Ό ένας είναι ότι απαιτείται ένα +γρήγορο δίκτυο (αν ο sys admin έχει απλό dial-up σπίτι του δεν μπορεί να κάνει και πολλά). Ο δεύτερος λόγος είναι η ασφάλεια την οποία θα αναφέρουμε και στο +επόμενο τμήμα του άρθρου. + + +### [3. X-Windows το πως (η αλλιώς η πράξη)]{#s3} + +Και ερχόμαστε στο πρακτικό κομμάτι του άρθρου. Δεν πρόκειται όμως να αναφερθούμε εκτενώς στις λεπτομέρειες καθώς αυτές είναι ήδη μαζεμένες στο Remote-X-apps +HOWTO το οποίο οφείλετε να διαβάσετε αν θέλετε πραγματικά να ασχοληθείτε με το \"άθλημα\". Θα περιοριστούμε λοιπόν σε μερικά μόνο σημαντικά σημεία. + +Καταρχήν πρέπει να ξέρετε τρία πράγματα πριν ξεκινήσετε οποιοδήποτε πείραμα. Πρώτον προσέξτε το firewall της διανομή σας. Μερικές διανομές έχουν ανάμεσα στις +προκαθορισμένες (default) ρυθμίσεις τους και ένα απλό firewall. Επειδή τα X-Connections δεν τρέχουν σε χαμηλές πόρτες (ports) (1-1024) αλλά συνήθως +χρησιμοποιούν πόρτες με αριθμό 6000 και κάτι ψιλά είναι πολύ πιθανό να μην μπορεί ο υπολογιστής που έχει τον X-Server να δεχτεί συνδέσεις. + +Δεύτερον πρέπει να δώσετε μεγάλη σημασία στο θέμα της ασφάλειας. Τα Χ-Windows πάσχουν από διάφορα προβλήματα ασφαλείας (βλέπε και telnet/ftp/rlogin) αν δεν +ρυθμιστούν σωστά. Αναφερόμαστε τόσο στο ποιος μπορεί να συνδεθεί στον X-server (authentication) όσο και στην ίδια την μεταφορά των δεδομένων μέσα από το δίκτυο. +Μην ξεχνάτε ότι ένας X-server είναι οθόνη και ποντίκι και πληκτρολόγιο. Έτσι θα μπορούσε ένας κακόβουλος χρήστης να συνδεθεί στον X-server σας και να βάλει τα +δικά του παράθυρα στην οθόνη σας. (κάτι που μπορεί να είναι αστείο). Θα μπορούσε όμως να φτιάξει και ένα πρόγραμμα που συνδέεται στον X-Server σας και διαβάζει +τι γράφετε στο πληκτρολόγιο (κάτι που δεν είναι καθόλου αστείο). + +Έτσι θα πρέπει στην καλύτερη περίπτωση να κάνετε τα πειράματα σας σε ένα μικρό δίκτυο που δεν διαθέτει εξωτερική σύνδεση στο Internet, ενώ στην χειρότερη σε ένα +καλά προστατευμένο δίκτυο πίσω από ένα \"σοβαρό\" (π.χ. εταιρικό) firewall. Μερικοί μπορεί να τα θεωρήσουν γελοία όλα αυτά, αλλά είναι καλό να είστε λίγο +περισσότερο παρανοϊκοί από όσο πρέπει στο θέμα της ασφάλειας. Δείτε και τα άλλα τεύχη του Magaz με θέμα την ασφάλεια δικτύων. + +Και τρίτον θα πρέπει ο ίδιος ο X-server να είναι ρυθμισμένος ώστε να δέχεται εξωτερικές συνδέσεις. Πάλι για λόγους ασφάλειας μερικές διανομές μπορεί να έχουν +απενεργοποιήσει αυτήν την λειτουργία. Εδώ πρέπει να ψάξετε την τεκμηρίωση της διανομής σας. Για XFREE86 αυτό μπορεί να είναι κάτι απλό όπως η παράμετρος +\"-nolisten tcp\". Τις περισσότερες φορές όμως αυτό είναι \"θαμμένο\" πίσω από διάφορα startup scripts και ο χρήστης έχει επιλογές \"υψηλότερου επιπέδου\". Θα +μπορούσε ας πούμε η διανομή σας να έχει σε κάποιο αρχείο ρυθμίσεων την γραμμή \"ALLOW\_REMOTE\_X\_CONNECTIONS=no\" την οποία εσείς πρέπει να αλλάξετε βέβαια σε +\"yes\". Δείτε πάλι την τεκμηρίωση της διανομή σας. Δεν έχει νόημα να μπούμε σε περίπλοκες λεπτομέρειες για το θέμα. + +Από την μεριά του X-client τα πράγματα είναι σχετικά απλά. Η μαγική λέξη είναι DISPLAY. Κάθεστε στον υπολογιστή, βάζετε στην μεταβλητή περιβάλλοντος +(environment variable) DISPLAY το όνομα (hostname) του υπολογιστή με τον X-Server προσθέτοντας και το display στο τέλος (στο 99% των περιπτώσεων θα είναι :0.0) +και τέλος τρέχετε το γραφικό πρόγραμμα που θέλετε. Αν όλα πάνε καλά θα πρέπει το πρόγραμμα να εμφανίσει το περιβάλλον του στον X-Server χρησιμοποιώντας όμως +πάντα τους πόρους (resources) του Χ-Client. Για tcsh/csh ας πούμε αυτό γίνεται + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + >setenv DISPLAY xserver.example.gr:0.0 + >gftp + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αντίστοιχα και για άλλα shells (π.χ bash). Για περισσότερες λεπτομέρειες δείτε το HOWTO. + +Ας δούμε και τις ρυθμίσεις από την πλευρά του X-Server. + +### [3.1 Ο εύκολος τρόπος]{#ss3.1} + +Στην πιο απλή περίπτωση ο X-Server κρατάει μία λίστα με υπολογιστές (hostnames) που μπορούν να ανοίξουν μια σύνδεση με αυτόν. Η λίστα αυτή παραμετροποιείται με +την εντολή xhost. Η παράμετρος είναι ένα όνομα (hostname) που θέλετε να βάλετε ή να βγάλετε από την λίστα. Αυτό καθορίζεται με ένα + η - πριν από το όνομα +(χωρίς κάποιο κενό). Έτσι στον X-Server μπορείτε να τρέξετε: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + xhost +xclient.example.gr + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Και μόλις τελειώσετε: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + xhost -xclient.example.gr. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Υπάρχει επίσης ή xhost + που επιτρέπει σε οποιονδήποτε να συνδεθεί (απαγορεύεται δια ροπάλου) και η xhost - που δεν αφήνει κανέναν να συνδεθεί εκτός από +X-Clients που τρέχουν στον ίδιο τον X-Server (localhost δηλαδή μονό). + +Όπως καταλάβατε αυτός ο τρόπος πιστοποίησης (authentication) ασχολείται μόνο με hostnames και δεν είναι καθόλου ασφαλής. Αν χρησιμοποιήσετε αυτόν τον τρόπο +σημαίνει ότι ξέρετε πολύ καλά τι κάνετε και ότι εμπιστεύεστε την ασφάλεια του δικτύου σας. Εμείς τον προτείνουμε μόνο για δοκιμές σε ένα μικρό προστατευμένο +τοπικό δίκτυο χωρίς σύνδεση στο δίκτυο. + +Προσέξτε επίσης ότι ακόμα και το xhost - δεν είναι 100% ασφαλές. Είναι δυνατόν κάποιος κακόβουλος χρήστης αντί να τρέξει τον keylogger του απομακρυσμένα, να +πάρει πρόσβαση στον υπολογιστή που τρέχει ο X-Server με τους συνήθεις τρόπους και μετά να \"ανεβάσει\" τον keylogger του και να τον τρέξει τοπικά. Τότε o +keylogger θα συνδέεται από τον υπολογιστή \"localhost\" που έχει πάντα πρόσβαση στον X-Server άσχετα με τα αποτελέσματα της εντολής xhost. + +### [3.2 Ο δύσκολος τρόπος]{#ss3.2} + +Ο δεύτερος τρόπος είναι με χρήση της εντολής xauth (σύστημα MIT-MAGIC-COOKIE-1) Σε αυτήν την περίπτωση ο XServer ξέρει μία \"μαγική λέξη\"(magic-cookie). Μόνο +όσοι X-Clients ξέρουν επίσης την ίδια ακριβώς μαγική λέξη μπορούν να ανοίξουν σύνδεση. Το \"μαγικό\" στην όλη υπόθεση αναφέρεται στο γεγονός ότι δεν έχει +σημασία τόσο το περιεχόμενο αυτής της λέξης όσο το ότι πρέπει να είναι η ίδια και από τις δύο μεριές (X-Server/X-Client) ώστε να ανοιχτεί επιτυχώς η σύνδεση. +Στα \"νεοελληνικά\" δηλαδή συνδέονται στον X-server μόνο όσοι X-clients έχουν το κοκκαλάκι της νυχτερίδας. + +Εδώ θα μπορούσαμε να αναφέρουμε άπειρες λεπτομέρειες για το πως μπορείτε να φτιάξετε τα cookies αυτά, πώς θα τα μεταφέρετε από τον X-server στον Χ-client, και +άλλα τεχνικά ζητήματα. Κάτι τέτοιο δεν έχει νόημα όμως γιατί όλα αυτά είναι ήδη γραμμένα στο Remote-X-Apps HOWTO και δεν πρόκειται να ασχοληθούμε ξανά εδώ με τα +ίδια θέματα. + +Θα σταθούμε μόνο σε δύο σημαντικά σημεία. Το ένα είναι ότι με το xauth μπορείτε να καθορίσετε την πρόσβαση σε επίπεδο χρήστη πια (και όχι σε επίπεδο υπολογιστή +όπως το xhost) κάτι το οποίο είναι απαραίτητο σε ένα μέσο/μεγάλο τοπικό δίκτυο έτσι και αλλιώς. Το δεύτερο σημείο είναι ότι για να χρησιμοποιήσετε αυτόν τον +τρόπο πιστοποίησης πρέπει να τρέξετε τον XServer με την παράμετρο -auth και το όνομα του αρχείου που περιέχει το cookie ( /.Xauthority). + +### [3.3 Ο ασφαλής τρόπος]{#ss3.3} + +Σχεδόν πάντα βέβαια ο χρήστης κάθεται στον X-server (= οθόνη, πληκτρολόγιο και ποντίκι). Επομένως μέσα από telnet στον X-client ξεκινάει την γραφική εφαρμογή +που τον ενδιαφέρει και εφόσον έχει θέσει την μεταβλητή περιβάλλοντος DISPLAY το πρόγραμμα θα εμφανιστεί στην οθόνη που έχει μπροστά του. Αυτό όμως σημαίνει +βέβαια ότι τα δεδομένα περνάνε μέσα από το δίκτυο χωρίς καμία κάλυψη (αναφερόμαστε γενικότερα στην απομακρυσμένη σύνδεση). Υπάρχει ο όμως και η λύση του ssh +(secure shell). Σε αυτήν την περίπτωση έχετε αυτομάτως κρυπτογραφημένα δεδομένα. Πιο ενδιαφέρον είναι το γεγονός ότι μέσω της παραμέτρου -Χ λέτε στο ssh ότι +θέλετε X forwarding. Αυτό αυτοματοποιεί την όλη διαδικασία Δηλαδή + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + >ssh -X xclient.example.gr + >gftp. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Εννοείται βέβαια ότι πρέπει να έχετε στήσει τον αντίστοιχο δαίμονα (sshd) στο μηχάνημα. Για άλλη μία φορά δείτε το αντίστοιχο HOWTO για τις λεπτομέρειες. + + +### [4. Άλλα θέματα και επίλογος]{#s4} + +Θα μπορούσαμε να συνεχίσουμε να απαριθμούμε και άλλες δυνατότητες των X-Windows τότε όμως το άρθρο αυτό θα έχανε τον εισαγωγικό του χαρακτήρα. Οφείλετε ανάλογα +με τις ανάγκες σας να δείτε τι σας ενδιαφέρει και πως μπορείτε να το χρησιμοποιήσετε στο δικό σας περιβάλλον. Ορίστε μερικές άλλες ιδέες. + +Displays/screens. + +Μπορείτε να έχετε περισσότερα από ένα Χ displays σε έναν υπολογιστή και να αλλάζετε μεταξύ τους ακριβώς όπως αλλάζετε τις κονσόλες σας με Ctrl-alt-Fx. Έτσι +μπορείτε να έχετε και δύο χρήστες ταυτόχρονα στο ίδιο μηχάνημα με εντελώς διαφορετικό περιβάλλον την ίδια στιγμή. Επίσης είναι δυνατόν να έχετε δύο φυσικές +οθόνες σε έναν υπολογιστή αν η κάρτα γραφικών σας το επιτρέπει. Τα X-Windows το υποστηρίζουν και αυτό. + +Xinerama. + +Το xinerama είναι μια επέκταση (Extension) που σας επιτρέπει να έχετε ένα \"ενοποιημένο\" περιβάλλον από πολλές οθόνες. Φανταστείτε παράθυρα που τα κάνετε drag +and drop από την μία οθόνη στην άλλη και μακρόστενες ταπετσαρίες (backgrounds) στο υπολογιστικό σας περιβάλλον. + +x2x + +Το x2x είναι ένα μικρό προγραμματάκι που σας επιτρέπει να ενώσετε δύο X-displays. Προσέξτε όμως ότι δεν είναι απαραίτητο να είναι στον ίδιο υπολογιστή. Δεν +είμαστε σίγουροι για την σημερινή κατάσταση του προγράμματος μέχρι πρόσφατα πάντως ήταν μέσα στο Debian archive. + +xnest. + +Ένα διασκεδαστικό πρόγραμμα (κατά την γνώμη του αρθρογράφου). Σας επιτρέπει να έχετε ένα Χ-display μέσα σε ένα παράθυρο μέσα σε άλλο X-display. Φανταστείτε τον +άνθρωπο που κρατάει έναν καθρέφτη και επειδή είναι ο ίδιος μπροστά από έναν δεύτερο καθρέφτη η αντανάκλαση είναι ό ίδιος και μέσα στον καθρέφτη που κρατάει +φαίνεται ο ίδιος και μέσα στον καθρέφτη που κρατάει κ.τ.λ. + +XDMCP + +Το XDMCP είναι ένα πρωτόκολλό που σας επιτρέπει να πάτε ένα επίπεδο πιο πάνω. Αντί δηλαδή να έχετε X-clients μέσα από το δίκτυο έχετε ολόκληρα X-sessions. Αν +ασχοληθείτε προσέξτε πάλι το θέμα ασφάλειας. + +vnc. + +Το vnc (virtual network computing) δεν έχει άμεση σχέση με τα X-windows, δεν θα μπορούσαμε όμως να μην το αναφέρουμε. Σας επιτρέπει να έχετε remote desktops +ανάμεσα σε διαφορετικούς υπολογιστές ακόμα και αν αυτοί τρέχουν μονολιθικά λειτουργικά συστήματα. Ουσιαστικά δηλαδή μπορείτε να κάνετε αυτό που κάνουν τα +X-windows εγγενώς ακόμα και αν τα λειτουργικά σας δεν τρέχουν X-windows. Προφανώς πρέπει το ίδιο το λειτουργικό σύστημα να υποστηρίζεται από το vnc. ΤΟ vnc +βασίζεται στην λογική client-server. Εδώ όμως η ορολογία είναι η \"φυσική\". Ο υπολογιστής με τον vnc server σερβίρει το desktop του στον vnc client στον οποίο +κάθεται και ο χρήστης. Υπάρχει και java based client που μπορεί να τρέχει και σε Web browser. Ένα μειονέκτημα του vnc είναι ότι πραγματικά σας δίνει τον έλεγχο +του desktop δηλαδή δεν μπορεί και κάποιος άλλος να χρησιμοποιήσει τον server ταυτόχρονα με εσάς. Και αν κάποιος κάθεται εκεί δίπλα θα βλέπει στην οθόνη του +server ακριβώς αυτά που κάνετε από τον client (ναι ακόμα και την κίνηση του ίδιου του mouse pointer). Δείτε επίσης και το tightvnc. + +- Πηγές +- Remote-X-Apps howto +- Xwindow-USer-howto +- XDMCP HOWTO + diff --git a/content/articles/35/02_kernel-shrink.md b/content/articles/35/02_kernel-shrink.md new file mode 100644 index 0000000..95e85f4 --- /dev/null +++ b/content/articles/35/02_kernel-shrink.md @@ -0,0 +1,240 @@ ++++ +title = 'Αγάπη μου, Συρρίκνωσα τον Πυρήνα!' +date = '' +description = '' +author = 'Παντελής Κουκούσουλας' +issue = ['Magaz 35'] +issue_weight = 2 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Βελτιστοποιώντας ένα πυρήνα της σειράς 2.6 για χρήση σε παλαιότερα / ενσωματωμένα συστήματα.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Εισαγωγή** +----------------------------------------------- + +**2. Ξεκινώντας - Διαμόρφωση του πυρήνα** +------------------------------------------------------------------------- + +**3. Παίζοντας με τις επιλογές του μεταγλωττιστή** +---------------------------------------------------------------------------------- + +**4. Το -tiny patchset** +-------------------------------------------------------- + +**5. Άλλες επεμβάσεις** +------------------------------------------------------- + +**6. Συμπεράσματα** +--------------------------------------------------- + +**7. Αναφορές** +----------------------------------------------- + + +### [1. Εισαγωγή]{#s1} + +Είναι γεγονός! Η νέα σειρά πυρήνων 2.6 είναι εδώ και υπόσχεται να κάνει τη συμβίωση με τον υπολογιστή μας αρκετά πιο ευχάριστη! Preemptible kernel, βελτιωμένο +σύστημα διαχείρισης μνήμης και άλλες αλλαγές όλα συμβάλλουν σε ακόμα καλύτερη απόδοση των μηχανημάτων μας! + +Στο άρθρο αυτό, θα προσπαθήσουμε να εκμεταλλευτούμε τα οφέλη από τις παραπάνω καινοτομίες και σε παλαιότερα μηχανήματα που πιθανώς χρησιμοποιούμε, μέσω μιας +σειράς παρεμβάσεων στον πυρήνα, οι οποίες στοχεύουν στη μείωση των απαιτήσεών του σε μνήμη, καθώς και του χρόνου που χρειάζεται για την εκκίνηση (booting time). +Για να βεβαιωθούμε ότι οι τεχνικές μας είναι εφαρμόσιμες σε όσο το δυνατόν περισσότερα συστήματα, θα τις δοκιμάσουμε σε ένα μηχάνημα που πλησιάζει τις ελάχιστες +απαιτήσεις του Linux, δηλ. σε ένα 386sx/25 με 4mb RAM και 40 Mb σκληρό. Έτσι, όσοι έχουν ανώτερα από αυτό συστήματα θα μπορέσουν να υιοθετήσουν μόνο τις +αναγκαίες γι αυτούς παρεμβάσεις από αυτές που θα παρουσιαστούν στη συνέχεια. + +Για την αξιολόγηση κάθε τεχνικής, μετράμε σε κάθε ενδιάμεσο στάδιο το μέγεθος του ασυμπίεστου πυρήνα (vmlinux), το μέγεθος του συμπιεσμένου πυρήνα (system size +- vmlinux.bin), το μέγεθος του συμπιεσμένου αρχείου (bzImage), την ελεύθερη μνήμη που αφήνει για τις εφαρμογές ο πυρήνας αμέσως μετά την εκκίνηση (από τα 4mb) +και το χρόνο από το πάτημα του κουμπιού \"power\" στον 386 μέχρι την εμφάνιση του prompt (χρόνος εκκίνησης). Ειδικά τα δύο τελευταία μετρούν σε μεγάλο βαθμό την +εφαρμοσιμότητα του πυρήνα σε κάποιο μηχάνημα. Για την εκκίνηση του μηχανήματος χρησιμοποιείται το init του busybox, το οποίο τρέχει ένα ιδιαίτερα στοιχειώδες +bootscript (/etc/rcS) που δεν αναμένεται να προσθέσει περισσότερο από μισό με ένα δευτερόλεπτο στο χρόνο εκκίνησης. Έτσι, ο τελευταίος καθορίζεται σε μεγάλο +βαθμό από τον πυρήνα. + +Εννοείται ότι καθώς οι επεμβάσεις στον πυρήνα και το BIOS είναι εξίσου επικίνδυνες για την υγεία του υλικού σας με τον υπερχρονισμό (overclocking), ο γράφων δεν +δίνει καμία εγγύηση ότι οι παρακάτω ενέργειες θα δουλέψουν για εσάς χωρίς προβλήματα κλπ. καθώς και παραιτείται από κάθε ευθύνη για τις επιπτώσεις του υπόλοιπου +άρθρου στη λειτουργία του Η/Υ σας, τις σχέσεις με το έτερον ήμισυ, την ψυχική υγεία του σκύλου σας ή οτιδήποτε άλλο. + +Ας μη σπαταλάμε όμως άλλο χρόνο στα εισαγωγικά και ας περάσουμε στην καθαυτό συρρίκνωση του πυρήνα μας! + + +### [2. Ξεκινώντας - Διαμόρφωση του πυρήνα]{#s2} + +Για να μπορούμε να μετρήσουμε το όφελος των βελτιστοποιήσεων μας, χρειαζόμαστε ένα σύστημα αναφοράς. Ξεκινάμε λοιπόν κατεβάζοντας ένα πυρήνα 2.6.5 από το +gr.kernel.org. Καθώς θέλουμε το ελάχιστο δυνατό μέγεθος για το bzImage του, (ώστε να φορτώνει γρήγορα στη μνήμη κατά την εκκίνηση), θα μεταγλωττίσουμε μόνο την +απαραίτητη λειτουργικότητα για την εκκίνηση και την προσάρτηση του θεμελιώδους (root) partition στον πυρήνα. Όλη η υπόλοιπη λειτουργικότητα (δηλ. οι δυνατότητες +που δεν θα χρησιμοποιούνται συνέχεια και ταυτόχρονα), θα μεταγλωττιστεί ως modules. Έτσι πετυχαίνουμε γρήγορη εκκίνηση χωρίς να θυσιάζουμε λειτουργικότητα (δεν +φορτώνουμε modules κατά την εκκίνηση παρά μόνο τη στιγμή που θα χρειαστούν). + +Στην περίπτωσή μου, έκανα τις εξής επιλογές: (όποιο μενού δεν αναφέρω, σημαίνει ότι τα αφήνουμε όλα ως έχουν): + +- Στο μενού General Setup: Επιλέγουμε μόνο την υποστήριξη για swap και System V IPC. Επίσης μπαίνουμε στο μενού Remove kernel features και αφήνουμε επιλεγμένα + μόνο τον deadline I/O scheduler και το futex support. Δεν επιλέγουμε το optimize for size γιατί θέλουμε να αρχίσουμε με ένα vanilla (και όσο το δυνατόν πιο + σταθερό) kernel. +- Στο μενού Loadable module Support: Επιλέγουμε μόνο τα \"Enable loadable module support\" και \"Module unloading\". +- Στο Μενού Processor type and features: Επιλέγουμε μόνο τον τύπο του επεξεργαστή μας (σε εμένα pc-compatible και 386), το \"preemptible kernel\" και το math + emulation (εκτός αν ο υπολογιστής μας έχει FPU - από 486dx και πάνω δηλαδή) +- Στο Μενού Power management options: Αποεπιλέγουμε τα πάντα (προσοχή γιατί το ACPI είναι επιλεγμένο). +- Στο Μενού Bus Options: Αφήνουμε μόνο το ISA Support (καθώς οι 386 έχουν μόνο ISA slots). +- Στο Executable File Formats: Αφήνουμε μόνο το elf. +- Στο device drivers: Επιλέγουμε μόνο τα ATA/ATAPI/κλπ support, Old hard disk driver, Networking support, Network device support, TCP Networking, i8042 PC + Keyboard controller, keyboards, AT Keyboard support, Virtual Terminal, console on virtual terminal και Unix98 PTY Support. +- Στο μενού file systems, επιλέγουμε μόνο το minix (ή το ext2) filesystem και το /proc filesystem. +- Αποεπιλέγουμε όλες τις επιλογές των υπόλοιπων μενού. (Ότι χρειαζόμαστε, το διαλέγουμε ως module) + +Για να μην πληκτρολογείτε άσκοπα, μπορείτε να βρείτε το .config που χρησιμοποίησα [εδώ](http://www.intelligence.tuc.gr/~pantelis/linuxlite/initial.config). Για +να το χρησιμοποιήσετε, απλώς το τοποθετείτε στον κύριο κατάλογο του κώδικα του Linux και το ονομάζετε .config. Μετά κάνετε: make oldconfig + +Ονομάζουμε τον πυρήνα που προέκυψε από αυτή τη διαδικασία (με make bzImage) \"kernel-initial\". Ο πυρήνας αυτός έχει τα ακόλουθα χαρακτηριστικά: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Μέγεθος vmlinux: 1.5Mb + Μέγεθος system: 604kb + Μέγεθος bzImage: 612kb + Ελεύθερη μνήμη: 1484kb + Χρόνος εκκίνησης: 32s + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Για τη μεταγλώττιση του παραπάνω πυρήνα χρησιμοποιήσαμε τη gcc-2.95.3 που συνιστά η ομάδα ανάπτυξης του πυρήνα, για μέγιστη δυνατή σταθερότητα. Αν και όπως +παρατηρούμε ο πυρήνας που προέκυψε (στο εξής θα αναφερόμαστε σε αυτόν ως kernel-initial) είναι ήδη αρκετά μικρός, θα προσπαθήσουμε για ακόμα καλύτερα +αποτελέσματα, δεδομένου ότι στον 386 κάθε βελτίωση είναι αισθητή. + + +### [3. Παίζοντας με τις επιλογές του μεταγλωττιστή]{#s3} + +Ως γνωστόν, το μεγαλύτερο μέρος του Linux είναι γραμμένο στη γλώσσα προγραμματισμού C, η οποία όπως όλες οι γλώσσες υψηλού επιπέδου, βασίζεται σε ένα ειδικό +πρόγραμμα (το μεταγλωττιστή) για την μετατροπή της σε γλώσσα μηχανής. Είναι λοιπόν λογικό, ότι ενεργοποιώντας συγκεκριμένες επιλογές του τελευταίου, θα +μπορέσουμε να επηρεάσουμε λίγο ως πολύ τα χαρακτηριστικά του τελικού πυρήνα. + +Η μέθοδος των επιλογών του μεταγλωττιστή έχει το πλεονέκτημα ότι προσφέρει μείωση του μεγέθους του τελικού πυρήνα, χωρίς επέμβαση στον πηγαίο κώδικα, άρα είναι +πιο γενικά εφαρμόσιμη. Από την άλλη, λάθη στην υλοποίηση του μεταγλωττιστή τείνουν να παρουσιάζονται ευκολότερα αν έχουμε ενεργοποιήσει ασυνήθιστες επιλογές και +μπορούν να προξενήσουν ένα μη λειτουργικό πυρήνα! + +Καταρχήν, για να έχουμε τα καλύτερα δυνατά αποτελέσματα, θα χρησιμοποιήσουμε την πιο πρόσφατη έκδοση του μεταγλωττιστή gcc (3.4.0). Στην έκδοση αυτή, το +υποσύστημα που αναλαμβάνει τη βελτιστοποίηση έχει βελτιωθεί αρκετά, οδηγώντας σε μικρότερο και γρηγορότερο κώδικα. Οι επιλογές (options) που θα χρησιμοποιήσουμε +φαίνονται παρακάτω: + +- -Os. Η πιο γνωστή επιλογή για τέτοιες δουλειές, λέει στο μεταγλωττιστή να μικρύνει όσο μπορεί τον τελικό κώδικα ακόμη και σε βάρος της απόδοσης. Βέβαια, + λόγω του τρόπου με τον οποίο λειτουργούν τα σύγχρονα μηχανήματα, διάφορες φήμες λένε ότι στην πραγματικότητα οι πυρήνες γίνονται εξίσου ή ίσως και λίγο πιο + γρήγοροι με αυτή την επιλογή. Για να ενεργοποιήσουμε την -Os, επιλέγουμε \"optimize for size\" στο μενού \"Remove kernel features\" +- -funit-at-a-time. Επιλέγεται αυτόματα αν χρησιμοποιούμε τη gcc-3.4.0 ή νεώτερη. Λέει στο μεταγλωττιστή να φορτώνει ολόκληρο το κάθε αρχείο στη μνήμη, πριν + αρχίσει την παραγωγή τελικού κώδικα (μηχανής). Η περισσότερη πληροφορία που έχει έτσι ο μεταγλωττιστής στη διάθεσή του, οδηγεί στην καλύτερη απόρριψη + άχρηστου κώδικα μεταξύ άλλων. Το μόνο κόστος αυτής της επιλογής είναι λίγη παραπάνω μνήμη στο μηχάνημα που θα κάνει τη μεταγλώττιση. +- -mregparm=3. Η λιγότερο ασφαλής από τις επιλογές, αλλά και αυτή με το μεγαλύτερο όφελος. Αν ενεργοποιηθεί, αλλάζει τον τρόπο κλήσης των συναρτήσεων στον + κώδικα του πυρήνα. Έτσι, για τα πρώτα τρία ορίσματα κάθε συνάρτησης δεν θα χρησιμοποιείται πλέον η στοίβα (μικρή περιοχή της RAM) αλλά οι καταχωρητές, δηλ η + γρηγορότερη (και μικρότερη) μορφή μνήμης σε ένα υπολογιστή. Έτσι ο πυρήνας γίνεται όχι μόνο μικρότερος αλλά και γρηγορότερος. Το μειονέκτημα είναι ότι λόγω + αυτής της αλλαγής, τυχόν binary modules που χρησιμοποιούμε (π.χ. drivers της nVidia ή ασύρματων καρτών γραφικών) παύουν αυτομάτως να λειτουργούν! Βέβαια, + επειδή πρακτικά όλοι οι οδηγοί για ένα παλιό μηχάνημα είναι λογισμικό ανοιχτού κώδικα, η επιλογή αυτή θα μπορέσει να ωφελήσει τους περισσότερους, χωρίς + τέτοιου είδους προβλήματα. + +Θα ονομάσουμε τον πυρήνα που προέκυψε από αυτές τις αλλαγές kernel-opts. Τα χαρακτηριστικά του φαίνονται παρακάτω: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Μέγεθος vmlinux: 1.4Mb + Μέγεθος system: 527kb + Μέγεθος bzImage: 536kb + Ελεύθερη μνήμη: 1616Kb + Χρόνος εκκίνησης: 27s + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Όπως παρατηρούμε, καταφέραμε να γλιτώσουμε περίπου 100kb από ένα ήδη σχετικά μικρό πυρήνα, απλώς με την αναβάθμιση της gcc και την ενεργοποίηση 2 επιλογών! Σε +μεγαλύτερους πυρήνες μάλιστα έχουν αναφερθεί μειώσεις μεγέθους της τάξεως των 300kb. Τις παραπάνω επιλογές καλό θα ήταν να σκεφτούν και οι κάτοχοι καινούργιων +μηχανημάτων, τουλάχιστον όσοι δε χρησιμοποιούν binary drivers. + + +### [4. Το -tiny patchset]{#s4} + +Για ακόμα δραστικότερες μειώσεις μεγέθους, ο μόνος τρόπος είναι να επέμβουμε στον κώδικα του πυρήνα. Αυτό άλλωστε είναι ένα από τα σημαντικότερα πλεονεκτήματα +του open source! Ο μόνος κίνδυνος είναι ότι με τις επεμβάσεις μας μπορεί να εισάγουμε νέα λάθη τα οποία θα κάνουν ίσως κάποιο καιρό να ανακαλυφθούν, ανάλογα και +με τη δημοτικότητα των αλλαγών μας. Αν δεν είμαστε προγραμματιστές, ή θέλουμε κάποιο καλό σημείο εκκίνησης, ο Matt Mackall διατηρεί ένα σύνολο τέτοιων +επεμβάσεων (patches) που σκοπό έχουν να κάνουν τον καινούργιο πυρήνα φιλικότερο σε παλαιότερα ή ενσωματωμένα μηχανήματα, καθώς διαπιστώνει ότι η προσοχή του +Linux μετακινήθηκε από αυτά \"από τότε που ο Linus βρήκε μια πραγματική δουλειά\". + +Οι αλλαγές αυτές αποτελούν το -tiny patchset, διαθέσιμο στη διεύθυνση www.selenic.com/tiny. Εφαρμόζοντας το patch αυτό στον πυρήνα μας, παρατηρούμε ότι μια +σειρά από νέες επιλογές εμφανίζονται κάτω από το μενού \"Remove kernel features\", το οποίο μάλιστα αλλάζει όνομα σε \"Configure standard kernel features (for +small devices)\". Οι επιλογές αυτές ρυθμίζουν διάφορες παραμέτρους του \"εσωτερικού\" του πυρήνα δίνοντάς μας τη δυνατότητα να μικρύνουμε το μέγεθος διάφορων +εσωτερικών δομών αλλά και γενικότερα να προσαρμόσουμε τον πυρήνα στα ιδιαίτερα χαρακτηριστικά του μηχανήματός μας. + +Οι επιλογές που αξίζει να ενεργοποιήσουμε σε αυτό το μενού είναι: \"various size reductions for core\" (και networking), futex support, POSIX file locking API, +Deadline I/O Scheduler, Optimize for size (και with register passing), Set compiler arch flags .. (-march=i386), sys file system (υποχρεωτικά!), support for +executable shell scripts, block device support και από supported processor vendors, μόνο αυτόν που έχει φτιάξει τον επεξεργαστή μας (για μένα intel). Επίσης +number of swap files = 0 (δηλαδή επιτρέπουμε ένα μόνο swap file (δεν ξέρω κανένα να χρησιμοποιεί παραπάνω από 1 έτσι κι αλλιώς, πόσο μάλλον σε ένα σκληρό των +40Mb!), 4 tty line disciplines (είναι αρκετά), 10 realtime priority levels (μικραίνει τις δομές του δρομολογητή - scheduler) και 100Hz timer interrupts per +second. Η τελευταία επιλογή είναι πολύ σημαντική για τη γρήγορη λειτουργία του υπολογιστή μας καθώς με περισσότερα Hz έχουμε μεν μεγαλύτερη ακρίβεια και +καλύτερο χρόνο απόκρισης αλλά και μεγαλύτερο overhead το οποίο αφαιρεί πολύτιμους κύκλους από τους ήδη λίγους του επεξεργαστή μας. Τα 100Hz είναι κατά τη γνώμη +μου ένας καλός συμβιβασμός για προ pentium επεξεργαστές. + +Φυσικά και πάλι για να μην πληκτρολογείτε άσκοπα, το .config που χρησιμοποίησα βρίσκεται [εδώ](http://www.intelligence.tuc.gr/~pantelis/linuxlite/tiny.config). +Τα χαρακτηριστικά του πυρήνα που προκύπτει από αυτή τη διαμόρφωση (kernel-tiny) φαίνονται παρακάτω. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Μέγεθος vmlinux: 1.2Mb + Μέγεθος system: 446kb + Μέγεθος bzImage: 456kb + Ελεύθερη μνήμη: 2052kb + Χρόνος εκκίνησης: 43s + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Είναι εύκολο να παρατηρήσουμε τη σημαντική οικονομία σε μνήμη που πετύχαμε με τις παραπάνω επιλογές, διατηρώντας παράλληλα τη λειτουργικότητα που θέλαμε και ένα +σχετικά σταθερό πυρήνα. Το περίεργο που προέκυψε είναι ότι ο χρόνος αποσυμπίεσης του νέου πυρήνα έγινε σημαντικά μεγαλύτερος, πράγμα που αποτελεί την κύρια +αιτία για την (ομολογουμένως σημαντική) αύξηση του χρόνου εκκίνησης. Η αύξηση αυτή πιστεύω ότι οφείλεται στις αλλαγές στον κώδικα αποσυμπίεσης του πυρήνα που +περιλαμβάνονται στο -tiny patchset και σκοπό έχουν τη μείωση του μεγέθους εις βάρος της ταχύτητας. Παρόλα αυτά, το πρόβλημα αυτό δεν μας αφορά ιδιαίτερα καθώς +θα προτείνουμε μια πολύ καλύτερη λύση για τη συμπίεση στην επόμενη ενότητα. + + +### [5. Άλλες επεμβάσεις]{#s5} + +Έχοντας δοκιμάσει τον προηγούμενο πυρήνα και βεβαιωθεί ότι δουλεύει και μάλιστα πολύ καλά και σταθερά για τις εφαρμογές που θέλουμε να τον χρησιμοποιήσουμε, +μπορούμε να προβούμε και σε πιο δραστικές λύσεις, προκειμένου να ελευθερώσουμε ακόμα περισσότερη μνήμη, όπως το να απενεργοποιήσουμε τα μηνύματα του πυρήνα +(printk) και τον κώδικα ανίχνευσης και αναφοράς των kernel panics. Οι επιλογές αυτές είναι αρκετά πιο επικίνδυνες από τις προηγούμενες και επίσης δεν προσφέρουν +τόσα οφέλη, αλλά σε ένα μηχάνημα με π.χ. 2mb RAM είναι μάλλον αναγκαίες για να μπορέσει να λειτουργήσει έστω και στοιχειωδώς. + +Τέλος, για ιδιαίτερα γρηγορότερη αποσυμπίεση καθώς και ακόμα μικρότερο μέγεθος bzImage, μπορούμε να συμπιέσουμε τον πυρήνα μας με το upx 1.90. Αν και ο +συμπιεστής αυτός δεν είναι ανοιχτό λογισμικό, ο αποσυμπιεστής (που βάζει στο αρχείο του πυρήνα) είναι και μας δίνει το πλεονέκτημα αφενός της καλύτερης +συμπίεσης από το gzip (376kb αντί για 436kb τελικό αρχείο) και αφετέρου της τρομερά γρηγορότερης αποσυμπίεσης (περίπου 2x). Επίσης, ο αποσυμπιεστής έχει μέγεθος +μόνο μερικά bytes! (είναι γραμμένος σε assembly). + +Έτσι φτάνουμε στον τελικό πυρήνα που έχει τα παρακάτω χαρακτηριστικά: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Μέγεθος vmlinux: 1.2Mb + Μέγεθος system: 424kb + Μέγεθος bzImage: 376kb + Ελεύθερη μνήμη: 2112kb + Χρόνος εκκίνησης: 15s + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Από εδώ κι εμπρός, υπάρχουν μεν κι άλλα πράγματα που μπορεί κάποιος να κάνει για ακόμα μικρότερους πυρήνες αλλά όλα περιλαμβάνουν αρκετό κόπο για ελάχιστα +παραπάνω οφέλη, όποτε θα σταματήσουμε εδώ. Έτσι κι αλλιώς, τα 15s του χρόνου εκκίνησης είναι ήδη λιγότερα από τους χρόνους των περισσότερων φίλων μου με πολύ +γρηγορότερους υπολογιστές από τα 8.19 BogoM\*ps του 386! (οι οποίοι όμως τρέχουν μη βελτιστοποιημένους πυρήνες και init sequences). + + +### [6. Συμπεράσματα]{#s6} + +Εκμεταλλευόμενοι το νεότερο μεταγλωττιστή και τις μεγαλύτερες δυνατότητες διαμόρφωσης του νέου πυρήνα, καταφέραμε να μειώσουμε σημαντικά το μέγεθός του (από 612 +σε 376kb για το bzImage) καθώς και το χρόνο εκκίνησης του συστήματος (σε λιγότερο από το μισό - από 32 σε 15 second!) φέρνοντας μάλιστα τον τελευταίο κοντά στα +επίπεδα του dos ( 12s γιατί το dos χρειάζεται περισσότερες λειτουργίες από το BIOS τις οποίες μπορούμε να απενεργοποιήσουμε όταν χρησιμοποιούμε το Linux). + +Ο πυρήνας που προέκυψε μπορεί άνετα να χρησιμοποιηθεί σε μηχανήματα με ακόμα και 4 (ή και 3Mb) RAM, επιτρέποντάς τους να εκμεταλλευτούν τις νέες δυνατότητες που +προσφέρει (καλύτερη δικτύωση, καλύτερη υποστήριξη εφαρμογών πραγματικού χρόνου κλπ). Στη δική μου περίπτωση, ο 386 μπόρεσε με αυτό τον τρόπο να βγει από την +αχρησία και απέκτησε αρκετές πρωτότυπες εφαρμογές (streaming video σε ascii-art! αλλά αυτό είναι μια άλλη ιστορία). + +Αναστήστε λοιπόν κι εσείς τους παλιούς σας υπολογιστές και γελάστε άφοβα στα μούτρα όσων σας πουν ότι τα Longhorn θα χρειάζονται επεξεργαστή 2GHz και μνήμη +512Mb μόνο για να ξεκινήσουν!!!. + + +### [7. Αναφορές]{#s7} + +- Shrinking the kernel with gcc (LWN) - http://lwn.net/Articles/67175/ +- Linux: Reducing Disk And Memory Footprint - http://kerneltrap.org/node/view/1769 +- UPX 1.90: http://upx.sourceforge.net/ + diff --git a/content/articles/35/03_squid.md b/content/articles/35/03_squid.md new file mode 100644 index 0000000..86604c2 --- /dev/null +++ b/content/articles/35/03_squid.md @@ -0,0 +1,324 @@ ++++ +title = 'Bandwith Limiting using Squid Proxy Server with Delay Pools and CBQ' +date = '' +description = '' +author = 'Αντώνιος Χάψας' +issue = ['Magaz 35'] +issue_weight = 3 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Ένα από τα κοινά προβλήματα που αντιμετωπίζει κάποιος στο μοίρασμα μιας σύνδεσης είναι ο σωστός καταμερισμός του bandwith και ο τρόπος διαχείρισης των χρηστών +κατά τέτοιο τρόπο ώστε να υπάρξει η μέγιστη χρήση του δικτύου και η ισόποση κατανομή πακέτων σε όλους. Το παρακάτω κείμενο είναι μια μικρή προσπάθεια επίλυσης +ενός τέτοιου προβλήματος.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Σενάριο** +-------------------------------------- + +**2. Τι θα χρειαστούμε** +------------------------------------------------ + +**3. Εγκατάσταση Squid Proxy with Delay Pools Enabled** +------------------------------------------------------------------------------- + +- [3.1 Παράδειγμα 1](#ss3.1) +- [3.2 Παράδειγμα 2](#ss3.2) + +**4. Introducing CBQ (What is CBQ ?)** +-------------------------------------------------------------- + +**5. About** +------------------------------------ + +**6. Τέλος** +------------------------------------ + + +### [1. Σενάριο]{#s1} + +Ας υποθέσουμε ότι έχουμε μια dsl γραμμή και 5 χρήστες που μοιράζονται αυτή την σύνδεση μέσω ενός proxy server που τρέχει linux. Θα θέλαμε για παράδειγμα όταν +κατεβάζουν όλοι διάφορα αρχεία από internet να έχουν συγκεκριμένη ταχύτητα πχ. 15 kb/s, κάποιος που κατεβάζει παραπάνω από 2 ώρες να πέφτει η ταχύτητά του στα 5 +kb/s (ποίος κατεβάζει συνέχεια ταινίες ?!) και κάποιος που κατεβάζει π.χ. ένα αρχείο .avi η ταχύτητά του να μην ξεπερνάει τα 2kb/s (ας πρόσεχε !). Η λύση σε +αυτό γίνεται με την χρήση magic word πχ. .mp3,.exe,.zip. + + +### [2. Τι θα χρειαστούμε]{#s2} + +Καταρχήν ένα pc που τρέχει linux, (στην δικιά μας περίπτωση έτρεχε Mandrake 9.1 αλλά έχει δοκιμαστεί και σε RedHat 6.2, οπότε λογικά πρέπει να παίζει και σε +άλλες γνωστές εκδόσεις) μια κάρτα δικτύου σε αυτό και μπόλικη όρεξη. Αυτός ο οδηγός προϋποθέτει ότι υπάρχουν οι βασικές γνώσεις Linux και για αυτό δεν θα +σταθούμε αναλυτικά σε εντολές bash. Κατεβάζουμε το squid source από http://www.squid-cache.org, στην συγκεκριμένη περίπτωση το squid είχε έκδοση +squid-2.5.STABLE4 (έχει δοκιμαστεί και με παλιότερα sources). Για να υπάρχει καλύτερη απόδοση προτείνεται να υπάρχει ένας ξεχωριστός δίσκος που θα υπάρχει η +cache του proxy. + + +### [3. Εγκατάσταση Squid Proxy with Delay Pools Enabled]{#s3} + +Σε κονσόλα πάντα προσθέτουμε τον χρήστη squid (αν δεν υπάρχει, αν υπάρχει τον αφαιρούμε με userdel) αφού έχουμε φτιάξει ένα directory με όνομα cache: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + # useradd -d /cache/ -r -s /dev/null squid >/dev/null 2>&1 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Κανένας δεν μπορεί να κάνει login σαν χρήστης squid εννοείται και ο root. Αυτό είναι ένα βήμα βέλτιστης ασφάλειας που μπορεί βεβαίως να παραλειφθεί αν δεν +υπάρχει άμεσος κίνδυνος. (πάντα υπάρχει !) + +Αφού έχουμε κατεβάσει το squid source το αποσυμπιέζουμε πχ. στο /tmp: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + # cd/tmp + # tar xzfv squid-2.5.STABLE4-src.tar.gz + # cd squid-2.5.STABLE4 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Είμαστε έτοιμοι για το compile. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + #./configure --prefix=/opt/squid --exec-prefix=/opt/squid --enable-delay-pools --enable-cache-digests \ + --enable-poll --disable-ident-lookups --enable-truncate --enable-removal-policies + # make all + # make install + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αφού ολοκληρώσουμε επιτυχώς o squid έχει εγκατασταθεί στο /opt/squid. Και για να είμαστε σίγουροι ότι τα πάντα κάτω από το /opt/squid και /cache ανήκει στον +χρήστη squid γράφουμε: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + # chown -R squid:squid /opt/squid + # chown -R squid:squid /cache + + ή + + # chown -R squid.squid /opt/squid + # chown -R squid.squid /cache. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Υποθέτουμε ότι το δίκτυο μας είναι το 192.168.0.0/24. Μετά πάμε στο /opt/squid/etc/squid.conf που είναι το σημαντικότερο βήμα. Ένα τυπικό squid.conf είναι το +παρακάτω: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + # SQUID CONFIGURATION FILE + # by Αντώνιος Χάψας © 2003. + visible_hostname Dias #Your name pc + http_port 8080 + icp_port 3130 + acl QUERY urlpath_regex cgi-bin ? + no_cache deny QUERY + cache_mem 64 MB + + cache_dir ufs /cache 250 16 256 + redirect_rewrites_host_header off + cache_replacement_policy GDSF + emulate_httpd_log on + + acl localnet src 192.168.0.0/255.255.255.0 + acl localhost src 127.0.0.1/255.255.255.255 + acl Safe_ports port 80 443 210 119 70 21 1025-65535 + acl CONNECT method CONNECT + acl all src 0.0.0.0/0.0.0.0 + http_access allow localnet + http_access allow localhost + http_access deny !Safe_ports + http_access deny CONNECT + http_access deny all + + maximum_object_size 3000 KB + store_avg_object_size 50 KB + + #Αυτό το κομμάτι το γουστάρω πολύ, + #για τους έξω χρήστες χρησιμοποιείται τον παρακάτω browser ! + anonymize_headers deny User-Agent + fake_user_agent Shit/1.0 (FuckWindows; U; WindowsShit 1.0 i8088) + + cache_mgr root + cache_effective_user squid + cache_effective_group squid + log_icp_queries off + buffered_logs on + + # Εδώ είναι το κρίσιμο κομμάτι που μας ενδιαφέρει + #DELAY POOLS + #Δεν θέλουμε να περιορίσουμε το κατέβασμα στο τοπικό μας δίκτυο + acl magic_words1 url_regex -i 192.168 + #Θέλουμε να περιορίσουμε το κατέβασμα των παρακάτω αρχείων + #Όλα σε μια σειρά + acl magic_words2 url_regex -i ftp .zip .exe .mp3 .rpm .zip .avi .mpeg + # Δεν βάζουμε .htm .html .jpg .gif γιατί συνήθως δεν καταναλώνουν μεγάλο bandwith. + #Εχουμε 2 διαφορετικά delay_pools + delay_pools 2 + #1st Delay pool + delay_class 1 2 + #-1/-1 σημαίνει ότι δεν έχουμε όρια + delay parameters 1 -1/-1 -1/-1 + delay_access 1 allow magic_words1 + + #2nd Delay pool + delay_class 2 2 + #Τα παρακάτω νούμερα είναι σε bytes + # 6000/15000 είναι τα νούμερα για όλο το δίκτυο + # 5000/15000 είναι για μια απλή ΙΡ + #για κατέβασμα αρχείων μεγαλύτερο από 150000 bytes + #οι χρήστες συνεχίζουν το κατέβασμα με 5000 bytes/s + delay_parameteres 2 6000/150000 5000/150000 + delay_access 2 alllow magic_words2 + #Τέλος Αρχείου. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αφού είμαστε σίγουροι ότι το παραπάνω αρχείο είναι σωστό γράφουμε για να δημιουργηθούν τα cache του directories: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + # /opt/squid/sbin/squid -z + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Λογικά πρέπει να είμαστε εντάξει, κάνουμε ένα έλεγχο με τους browser μας βάζοντας την ip του server στο 8080. Γράφουμε ένα ps -A \| grep squid για να δούμε αν +τρέχει. Για να τρέχει κάθε φορά που ξεκινάει ο server μας βάζουμε την παρακάτω γραμμή στο τέλος του /etc/rc.d/rc.local + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + /opt/squid/sbin/squid -D + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Aλλες χρήσιμες εντολές θα μπορούσε να είναι η + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + # /opt/squid/sbin/squid -κ reconfigure (κάνει reconfigure αν κάναμε αλλαγές στο squid.conf) + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +όπως και η + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + # /opt/squid/sbin/squid -help. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +### [3.1 Παράδειγμα 1]{#ss3.1} + +Περιορισμός μιας γραμμής ολικού bandwith ας πούμε στα 512 Kbs. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + acl all src 0.0.0.0/0.0.0.0 #μπορεί να έχει επαναληφθεί πιο πάνω. + delay pools 1 + delay_class 1 1 + delay_access 1 allow alll + delay_parameteres 1 64000/64000 #512 kbits = 64 kbytes pes sec + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +### [3.2 Παράδειγμα 2]{#ss3.2} + +Περιορισμός μια γραμμής στα 128 Kbps. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + acl 128Kusers src 192.168.0.1/255.255.255.0 + acl all src 0.0.0.0/0.0.0.0 + delay_pools 1 + delay_class 1 3 + delay_access 1 allow 128kusers + delay_access 1 deny all + delay_parameters 1 64000/64000 -1/-1 16000/64000 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Το παραπάνω παράδειγμα δίνει μια λύση σε ένα δίκτυο από ένα σύνολο 512Kbits, και κάθε ΙΡ παίρνει μόνο 128Kbits από αυτό το pool. + +Περισσότερα παραδείγματα στο http://www.squid-cache.org/Doc/FAQ/FAQ-19.html. + + +### [4. Introducing CBQ (What is CBQ ?)]{#s4} + +Η παραπάνω διαδικασία ισχύει αν όλο το traffic διακινείται μέσω του squid proxy server από έναν browser πχ. Internet Explorer. Τι γίνεται όμως αν πχ. έχουμε +έναν υπολογιστή που βρίσκεται πίσω από Linux server με Ip Masquerade ? Η λύση λέγεται CBQ. Για να δούμε όμως τι γίνεται. Καταρχήν πρέπει να είναι εγκαταστημένο +στο linux μας το iproute2 (συνήθως είναι). Κατεβάζουμε το cbq.init-v0.7.2 από το https://sourceforge.net/projects/cbqinit και το βάζουμε στο /etc/sysconfig/cbq +(το directory αν δεν υπάρχει, το φτιάχνουμε). Φτιάχνουμε ένα αρχείο για να περιορίσουμε την κίνηση μέσω του ftp πρωτοκόλλου + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + # touch /etc/sysconfig/cbq/cbq-10.ftp-network + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Βάζουμε μέσα σε αυτό: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + DEVICE=eth0,10Kbit,1Mbit + RATE=10Kbit + WEIGHT=1Kbit + PRIO=5 + RULE=:20,192.168.0.0/24 + RULE=:21,192.168.0.0/24 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Για κάθε μια από τις παραπάνω εντολές υπάρχει επεξήγηση στο cbq.init-v0.7.2 αρχείο. + +Μετά τρέχουμε ./cbq.init-v0.7.2 compile (είναι εκτελέσιμο, αν δεν είναι chmod +x cbq.init-v0.7.2) και κατόπιν ./cbq.init-v0.7.2 start και είμαστε έτοιμοι για +δοκιμές. Σε μένα λειτούργησε χωρίς κανένα πρόβλημα απολύτως. Με το παραπάνω ο server μας δεν θα στέλνει ftp data στο eth0 γρηγορότερα από 10kbits/sec και δεν θα +κατεβάζει γρηγορότερα από 10kbits/sec. Αν πχ μέσω squid υπάρχει καλύτερη απόδοση ο χρήστης θα αναγκαστεί να χρησιμοποιεί τον squid για τα downloads του. Ας +φτιάξουμε ένα ακόμα παράδειγμα πχ. για το Windows Media Player και το Emule. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + DEVICE=eth0,10Mbit,1Mbit + RATE=50Kbit + WEIGHT=5Kbit + PRIO=5 + #Windows Media Player + RULE=:1755,192.168.0.0/24 + #Emule + RULE=:4661,192.168.0.0/24 + RULE=:4671,192.168.0.0/24 # Διορθώστε με μήπως κάνω λάθος τις πόρτες. + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αν θέλουμε να είμαστε πιο έξυπνοι μπορούμε να βάλουμε πολλούς ρόλους στο cbq και να είμαστε αυστηροί στο μοίρασμα του bandwith (με το σταγονόμετρο !) έτσι ώστε +να αναγκάσουμε όλο τον κόσμο να χρησιμοποιεί τον proxy server (θέλοντας και μη !). Αν τρέχουμε Ip-Masquerade για να έχουν οι χρήστες icq, email κ.α. ή για +κάποιο άλλο λόγο, καλό θα ήταν για τους εξυπνάκηδες του δικτύου μας, να τρέχαμε iptables με περιορισμούς (ipchains επίσης για παλαιότερες εκδόσεις Linux) έτσι +ώστε κανένας να μην συνδέετε απευθείας (Ip-Masquerade). + +Τέλος αφού βλέπουμε ότι όλα είναι εντάξει βάζουμε στο /etc/rc.d/rc.local στο τέλος το cbq.init-v0.7.2 start για να ξεκινάει κάθε φορά που γίνεται εκκίνηση στον +υπολογιστή μας. + +Υπάρχει ένας ακόμα εύκολος αλλά μάλλον ξεπερασμένος τρόπος για να γίνει αυτό το traffic shaping. Στην διαδρομή +/usr/src/linux-2.4.21-0.13mdk/Documentation/networking/ (σε έκδοση Mandrake 9.1) υπάρχει το αρχείο shaper.txt που αναφέρει πως, αλλά είναι μάλλον για μια εύκολη +και περιστασιακή περίπτωση και δεν δίνει ευελιξία στον server μας. + + +### [5. About]{#s5} + +Το παραπάνω κείμενο δημιουργήθηκε εξ ολοκλήρου σε Linux Mandrake 9.1 και γράφτηκε με την χρήση του προγράμματος OpenOffice 1.0.2. (Για να είμαι πάντως +ειλικρινής είχα εγκαταστήσει την γραμματοσειρά verdana από τα windows στο OpenOffice!) Οι παραπάνω οδηγίες έγιναν επιτυχώς στο ίδιο λειτουργικό χωρίς κανένα +απολύτως πρόβλημα. + + +### [6. Τέλος]{#s6} + +Η παραπάνω προσπάθεια έγινε εκ μέρους μου θέλοντας να βάλω και εγώ ένα λιθαράκι στην προσπάθεια μερικών administrators να ομαλοποιήσουν και να αυξήσουν τις +δυνατότητες των δικτύων τους, με την χρήση πάντα Open Source λειτουργικών συστημάτων και προγραμμάτων που είναι free. Το παραπάνω κείμενο λογικά θα περιέχει +κάποια λάθη γι αυτό θα εκτιμηθεί ιδιαίτερα οποιαδήποτε διόρθωση. Το email μου είναι το antonyhapsas\@hotmail.com και είναι δεκτή οποιαδήποτε +διόρθωση/παρατήρηση. Αυτή είναι η πρώτη έκδοση αυτού του tutorial, λογικά θα υπάρξει και νεότερη με περισσότερες τεχνικές και διορθώσεις. + +Και για να έχουμε φυλαγμένα τα νώτα μας + +ΔΕΝ ΥΠΑΡΧΕΙ ΚΑΜΙΑ ΑΠΟΛΥΤΩΣ ΕΓΓΥΗΣΗ ΟΤΙ ΤΑ ΠΑΡΑΠΑΝΩ ΔΕΝ ΠΡΟΚΕΙΤΑΙ ΝΑ ΚΑΤΑΣΤΡΕΨΟΥΝ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΑΣ Η ΝΑ ΔΗΜΙΟΥΡΓΗΣΟΥΝ ΑΝΕΠΑΝΟΡΘΩΤΗ ΒΛΑΒΗ ΣΤΟΝ ΥΠΟΛΟΓΙΣΤΗ ΣΑΣ. Η +ΠΑΡΑΠΑΝΩ ΔΙΑΔΙΚΑΣΙΑ ΓΙΝΕΤΑΙ ΠΑΝΤΑ ΜΕ ΔΙΚΗ ΣΑΣ ΕΥΘΥΝΗ. + diff --git a/content/articles/35/04_pubkey-gr.md b/content/articles/35/04_pubkey-gr.md new file mode 100644 index 0000000..9bb5ece --- /dev/null +++ b/content/articles/35/04_pubkey-gr.md @@ -0,0 +1,241 @@ ++++ +title = 'Passwordless public key authentication using SSH/OpenSSH' +date = '' +description = '' +author = 'Στέφανος Χαρχαλάκης' +issue = ['Magaz 35'] +issue_weight = 4 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*Ένας βήμα προς βήμα οδηγός για ενεργοποίηση public-key authentication σε SSH/OpenSSH.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Εισαγωγή** +------------------------------------------- + +**2. Δημιουργία κλειδιών** +------------------------------------------------------ + +- [2.1 Δημιουργία DSA κλειδιών με χρήση SSH](#ss2.1) +- [2.2 Δημιουργία DSA κλειδιών με χρήση OpenSSH](#ss2.2) + +**3. Configuration του Client** +----------------------------------------------------------- + +- [3.1 Configuration του Client (SSH)](#ss3.1) +- [3.2 Configuration του Client (OpenSSH)](#ss3.2) +- [3.3 Μετατροπή του public key](#ss3.3) +- [3.4 Client: OpenSSH, Server: OpenSSH](#ss3.4) +- [3.5 Client: SSH, Server: SSH](#ss3.5) +- [3.6 Client: OpenSSH, Server: SSH](#ss3.6) +- [3.7 Client: SSH, Server: OpenSSH](#ss3.7) + +**4. Configuration του Server** +----------------------------------------------------------- + +- [4.1 Configuration του Server (SSH)](#ss4.1) +- [4.2 Configuration του Server (OpenSSH)](#ss4.2) + +**5. Δοκιμή** +----------------------------------------- + + +### [1. Εισαγωγή]{#s1} + +Το κείμενο αυτό περιγράφει τα βήματα τα οποία απαιτούνται για να πραγματοποιηθεί public key authentication χρησιμοποιώντας SSH ή/και OpenSSH. + +Για τις ανάγκες του κειμένου υποθέτουμε ότι: + +- Υπάρχει ένα μηχάνημα με το όνομα Client (hostname: Client.hell.gr, IP: 10.1.1.2). +- Υπάρχει ένα μηχάνημα με το όνομα Server (hostname: Server.hell.gr, IP: 10.1.1.3). +- Υπάρχει ένα account με το όνομα clntacnt στο Client. +- Υπάρχει ένα account με το όνομα srvacnt στο Server. +- Ο clntacnt\@Client θα προσπαθήσει να συνδεθεί στο srvacnt\@Server. +- Θα χρησιμοποιηθεί η έκδοση 2 του SSH πρωτοκόλλου και ο DSA σαν αλγόριθμος παραγωγής κλειδιού. + +Για να λειτουργήσει η πιστοποίηση δεν πρέπει να είναι κλειδωμένος ο srvacnt ούτε να έχει λήξει το password του. + +Για την πραγματοποίηση του public key authentication ο χρήστης πρέπει: + +- Να δημιουργήσει ένα ζευγάρι public/private DSA κλειδιών. +- Να έχει τα public και private κλειδιά στο Client. +- Να έχει το public κλειδί στο Server. + + +### [2. Δημιουργία κλειδιών]{#s2} + +Τα κλειδιά μπορούν να δημιουργηθούν στο Client ώστε να αποφευχθεί η μεταφορά του private κλειδιού μέσα από το δίκτυο εκτός και αν η μεταφορά γίνει με κάποιο +ασφαλή τρόπο όπως το sftp. + +Το κείμενο αυτό περιγράφει την διαδικασία δημιουργίας κλειδιών στη μεριά του Cleint χρησιμοποιώντας SSH ή OpenSSH. Το SSH χρησιμοποιεί το  /.ssh2 ενώ το OpenSSH +χρησιμοποιεί το  /.ssh για να αποθηκεύσουν τα αρχείου τους για το SSH2. + +### [2.1 Δημιουργία DSA κλειδιών με χρήση SSH]{#ss2.1} + +Για τη δημιουργία των κλειδιών με SSH χρησιμοποιείστε το ssh-keygen2 χωρίς να δώσετε κάποιο passphrase (πατήστε enter όταν ζητηθεί): + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + $ ssh-keygen2 + Generating 1024-bit dsa key pair + 3 o.oOo.ooOo.o + Key generated. + 1024-bit dsa, clntacnt@Client, Thu Mar 06 2003 17:20:35 +0200 + Passphrase : + Again : + Key is stored with NULL passphrase. + (You can ignore the following warning if you are generating hostkeys.) + This is not recommended. + Don't do this unless you know what you're doing. + If file system protections fail (someone can access the keyfile), + or if the super-user is malicious, your key can be used without + the deciphering effort. + Private key saved to /home/clntacnt/.ssh2/id_dsa_1024_a + Public key saved to /home/clntacnt/.ssh2/id_dsa_1024_a.pub + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +### [2.2 Δημιουργία DSA κλειδιών με χρήση OpenSSH]{#ss2.2} + +Στην περίπτωση του OpenSSH χρησιμοποιείστε το ssh-keygen χωρίς να δώσετε κάποιο passphrase: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + $ ssh-keygen -t dsa + Generating public/private dsa key pair. + Enter file in which to save the key (/home/clntacnt/.ssh/id_dsa): + Enter passphrase (empty for no passphrase): + Enter same passphrase again: + Your identification has been saved in /home/clntacnt/.ssh/id_dsa. + Your public key has been saved in /home/clntacnt/.ssh/id_dsa.pub. + The key fingerprint is: + 04:91:c8:22:7b:aa:2a:c4:e7:66:1e:61:1e:2b:32:d8 clntacnt@Client + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + +### [3. Configuration του Client]{#s3} + +Αυτή τη στιγμή έχουν δημιουργηθεί τα κλειδιά και καλό είναι να μετονομαστούν σε κάτι που να έχει νόημα (π.χ. clntkey και clntkey.pub). Στη συνέχεια θα πρέπει να +δημιουργηθεί η να αλλαχθεί το configuration του Client ώστε να χρησιμοποιεί αυτό το κλειδί για πιστοποίηση στον Server: + +### [3.1 Configuration του Client (SSH)]{#ss3.1} + +Ανοίξτε το  clntacnt/.ssh2/identification και προσθέστε: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Server.hell.gr: + IdKey clntkey + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +### [3.2 Configuration του Client (OpenSSH)]{#ss3.2} + +Ανοίξτε το  clntacnt/.ssh/config και προσθέστε: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + Host Server.hell.gr + IdentityFile ~/.ssh/clntkey + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +### [3.3 Μετατροπή του public key]{#ss3.3} + +Το SSH και το OpenSSH έχουν διαφορετική μορφή για τα αρχεία των public και private κλειδιών. Αν οι δαίμονες στο Client και το Server δεν είναι ίδιοι θα πρέπει +να γίνει μετατροπή του public key χρησιμοποιώντας το ssh-keygen του OpenSSH. Αυτό θα γίνει στο μηχάνημα στο οποίο υπάρχει το OpenSSH. + +### [3.4 Client: OpenSSH, Server: OpenSSH]{#ss3.4} + +Στείλτε το clntkey.pub στο Server και τοποθετήστε το στο  srvacnt/.ssh/clntkey.pub. + +### [3.5 Client: SSH, Server: SSH]{#ss3.5} + +Στείλτε το clntkey.pub στο Server και τοποθετήστε το στο  srvacnt/.ssh2/clntkey.pub. + +### [3.6 Client: OpenSSH, Server: SSH]{#ss3.6} + +Πρώτα μετατρέψτε το public key στη μορφή που το χρειάζεται το SSH (στο Client): + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + $ ssh-keygen -e -f clntkey.pub > tmp + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +και στη συνέχεια στείλτε το στο Server και τοποθετήστε το στο  srvacnt/.ssh2/clntkey.pub. + +### [3.7 Client: SSH, Server: OpenSSH]{#ss3.7} + +Πρώτα στείλτε το public key στο Server τοποθετώντας το στο  srvacnt/.ssh/clntkey.pub και στη συνέχεια μετατρέψτε το: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + $ ssh-keygen -i -f clntkey.pub.tmp > clntkey.pub + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + +### [4. Configuration του Server]{#s4} + +### [4.1 Configuration του Server (SSH)]{#ss4.1} + +Αυτή τι στιγμή το public key πρέπει να βρίσκεται στο  srvacnt/.ssh2/clntkey.pub. Ανοίξτε το  srvacnt/.ssh2/authorization και προσθέστε: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + 10.1.1.2: + Key clntkey.pub + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +(Το 10.1.1.2 είναι η IP διεύθυνση του Client) + +### [4.2 Configuration του Server (OpenSSH)]{#ss4.2} + +Αυτή τι στιγμή το public key πρέπει να βρίσκεται στο  srvacnt/.ssh/clntkey.pub. Ανοίξτε το και προσθέστε στην αρχή του το \`\`from=\"Client.hell.gr\"\'\'. Το +όλο clntkey.pub πρέπει να δείχνει κάπως έτσι: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + from="client.hell.gr" ssh-dss AAAAB3NzaC1kc .... gSlSJA== + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Τέλος, προσθέστε το κλειδί αυτό στο τέλος του  srvacnt/.ssh/authorized\_keys: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + $ cat clntkey.pub >> authorized_keys + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + +### [5. Δοκιμή]{#s5} + +Πηγαίνετε στο Client και σαν clntacnt δώστε: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + $ ssh srvacnt@Server.hell.gr + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αν όλα πήγαν καλά θα σας βάλει μέσα στο Server χωρίς να ζητήσει password. Πρέπει να δώσετε ολόκληρο το hostname, ακριβώς όπως υπάρχει μέσα στο configuration +file του Client. + + +### [6. Δοκιμή]{#s6} + +Πηγαίνετε στο Client και σαν clntacnt δώστε: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + $ ssh srvacnt@Server.hell.gr + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Αν όλα πήγαν καλά θα σας βάλει μέσα στο Server χωρίς να ζητήσει password. Πρέπει να δώσετε ολόκληρο το hostname, ακριβώς όπως υπάρχει μέσα στο configuration diff --git a/content/articles/35/05_rce4.md b/content/articles/35/05_rce4.md new file mode 100644 index 0000000..3f65b4e --- /dev/null +++ b/content/articles/35/05_rce4.md @@ -0,0 +1,1253 @@ ++++ +title = 'Reverse Engineering σε περιβάλλον Linux, Μέρος 3' +date = '' +description = '' +author = 'Αλέξανδρος Φραντζής' +issue = ['Magaz 35'] +issue_weight = 5 ++++ +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*To άρθρο αυτό είναι το τέταρτο της σειράς \"Reverse Engineering σε περιβάλλον Linux\". Σκοπός της σειράς είναι να εξοικοιώσει τους αναγνώστες με τις βασικές +τεχνικές του Reverse Engineering, με έμφαση στο πως αυτές μπορούν να εφαρμοστούν στο Linux, και να τους προσφέρει πιο βαθιές γνώσεις για τη λειτουργία του +συστήματος τους.* + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +**1. Εισαγωγή** +-------------------------------------- + +**2. Εικονικές Μηχανές** +----------------------------------------------- + +- [2.1 Εισαγωγή](#ss2.1) +- [2.2 Ενδιάμεσες Μορφές Κώδικα](#ss2.2) +- [2.3 Java Virtual Machine](#ss2.3) + +**3. Μερικές σκέψεις για το μέλλον του RCE - Obfuscation** +--------------------------------------------------------------------------------- + +**4. Hands-on παράδειγμα: Java vs C** +------------------------------------------------------------ + +- [4.1 Το πείραμα](#ss4.1) +- [4.2 Η αναζήτηση](#ss4.2) +- [4.3 Η ανάλυση](#ss4.3) +- [4.4 Το συμπέρασμα](#ss4.4) + +**5. Πρόκληση** +-------------------------------------- + +- [5.1 Προηγούμενη Πρόκληση](#ss5.1) +- [5.2 Hall of Fame](#ss5.2) + + +### [1. Εισαγωγή]{#s1} + +Καλωσήρθατε στο τέταρτο άρθρο (η μέτρηση αρχίζει από το 0) για Reverse Code Engineering σε Linux! + +Το γενικό θέμα με το οποίο ασχολείται το παρόν άρθρο είναι οι εικονικές μηχανές (Virtual Machines). + +Στο πρώτο τμήμα θα ασχοληθούμε εν συντομία με την ιστορία και το γενικό σχεδιασμό των VMs. + +Στο δεύτερο τμήμα εκφράζονται μερικές σκέψεις μου για το μέλλον του RCE και το πως σχετίζεται η τεχνική του obfuscation με αυτό. + +Στο τρίτο τμήμα του άρθρου, θα μάθουμε γιατί ο κώδικας Java μπορεί να είναι πιο γρήγορος από τον ίδιο κώδικα σε C. + +Στο τέταρτο και τελευταίο τμήμα θα δώσουμε μια ενδεικτική λύση για την προηγούμενη πρόκληση και βέβαια το Hall of Fame. + +Καλό RCE! + + +### [2. Εικονικές Μηχανές]{#s2} + +### [2.1 Εισαγωγή]{#ss2.1} + +Η εικονική μηχανή (Virtual Μachine), όπως δηλώνει και το όνομα της, είναι μια μηχανή που υφίσταται μόνο στο βασίλειο του αφηρημένου. Πρόκειται για επεξεργαστή +υλοποιημένο μόνο με λογισμικό, με δικό του σετ εντολών και ιδιαίτερων χαρακτηριστικών. + +Μια προφανής και σημαντική χρήση των εικονικών μηχανών είναι η εξομοίωση και η μελέτη υπαρχόντων ή και υπό σχεδίαση hardware συστημάτων. Για αυτή την κατηγορία +έχει επικρατήσει η ονομασία εξομοιωτής (emulator) και σήμερα για σχεδόν όλα τα υπολογιστικά συστήματα περασμένων εποχών υπάρχει ένας εξομοιωτής. + +Ένας δεύτερος πολύ σημαντικός λόγος για την ύπαρξη VMs είναι η χρήση τους ως ένα \"μονωτικό στρώμα\" ανάμεσα στις εφαρμογές και το υλικό. Μια εφαρμογή που είναι +σχεδιασμένη για μια VM μπορεί να εκτελεστεί σε οποιοδήποτε επεξεργαστή για τον οποίο υπάρχει ένας διερμηνευτής για τον κώδικα της VM. Αυτή είναι η νοοτροπία του +\"Προγραμμάτισε μια φορά, τρέξε παντού\" (Code Once, Run Everywhere). + +Πολύ συχνά οι εικονικές μηχανές χρησιμοποιούνται για να δώσουν στο προγραμματιστή την ψευδαίσθηση πως δουλεύει σε ένα ιδιαίτερα εξελιγμένο σύστημα, με +χαρακτηριστικά ειδικά σχεδιασμένα για την εργασία του. Τέτοιες μηχανές χρησιμοποιούνται σε παιχνίδια όπου βασικές εντολές του εικονικού επεξεργαστή μπορεί να +είναι για παράδειγμα \"μετακίνησε το sprite A από τη θέση x στη θέση y\". + +Οι εικονικές μηχανές, αν και είναι πολύ στη μόδα σήμερα, δεν αποτελούν καινούργιο φαινόμενο. Ήδη από το 1970 η ανάγκη διαχωρισμού των διάφορων φάσεων της +μεταγλώττισης ενός προγράμματος οδήγησε τους δημιουργούς μεταγλωττιστών στην εισαγωγή και χρήση ενδιάμεσων μορφών κώδικα. Μια πολύ γνωστή ενδιάμεση μορφή είναι +η P-Code που χρησιμοποιήθηκε για τους μεταγλωττιστές της γλώσσας Pascal. Πολύ σύντομα η P-Code έπαψε να χρησιμοποιείται μόνο στους μεταγλωττιστές και έγινε η +βάση μιας εικονική μηχανής για το σύστημα της UCSD Pascal. + +![](/35/img/pcode.png) + +Παρ\' όλο που που η δεκαετία του \'70 μοιάζει μακρινή, τα πράγματα δεν έχουν αλλάξει πολύ στον συγκεκριμένο τομέα. Οι σύγχρονες γλώσσες προγραμματισμού +χρησιμοποιούν το ίδιο μοντέλο με μια μικρή αλλά σημαντική προσθήκη. Για λόγους ταχύτητας, οι πιο εξελιγμένοι διερμηνευτές δεν εκτελούν τον κώδικα σε ενδιάμεση +μορφή αλλά τον μετατρέπουν στη γλώσσα μηχανής του επεξεργαστή στον οποίο τρέχουν (native code). Η μετατροπή αυτή γίνεται την ώρα της εκτέλεσης και ονομάζεται +Just-In-Time (JIT) μεταγλώττιση, ενώ η κλασική μεταγλώττιση έχει την ονομασία Ahead-Of-Time (AOT). + +### [2.2 Ενδιάμεσες Μορφές Κώδικα]{#ss2.2} + +Οι ενδιάμεσες μορφές κώδικα αλλά και γενικά τα σετ εντολών μπορούν να χωριστούν σε δύο μεγάλες κατηγορίες, ανάλογα με το πως τροφοδοτούνται οι εντολές με +δεδομένα. + +Στην πρώτη κατηγορία ανήκουν οι μορφές κώδικα στις οποίες τα δεδομένα ανταλλάσσονται μέσω καταχωρητών. Οι μηχανές που υλοποιούν αυτό το μοντέλο ονομάζονται +register-based και αποτελούν τη πλειοψηφία των hardware επεξεργαστών. Η πράξη a=a+b\*c σε ένα τέτοιο σύστημα έχει τη μορφή: + + move t1, b ;; t1=b + multiply t1, t1, c ;; t1=t1*c + add a, a, t1 ;; a=a+t1 + +Αντίθετα, τα συστήματα όπου το μέσο ανταλλαγής δεδομένων είναι ο σωρός ονομάζονται stack-based. Ο σωρός αυτός έχει την ειδική ονομασία *σωρός τελεστέων (operand +stack)*. Οι περισσότερες εικονικές μηχανές ακολουθούν αυτό το μοντέλο διότι έχει αποδειχθεί ότι προσφέρει ταχύτερη εκτέλεση σε λογισμικό και είναι πιο απλή και +συμπαγής. Η πράξη a=a+b\*c εδώ έχει την εξής μορφή (στα σχόλια φαίνεται η κατάσταση του σωρού *μετά* την εκτέλεσης της εντολής): + + load b ;; Σωρός: [b] + load c ;; Σωρός: [b] [c] + multiply ;; Σωρός: [b*c] + load a ;; Σωρός: [b*c] [a] + add ;; Σωρός: [a+b*c] + store a ;; Σωρός: - , a=a+b*c + +Να σημειωθεί ότι και στις αρχιτεκτονικές βασισμένες σε καταχωρητές υπάρχει η έννοια του σωρού αλλά δεν έχει τον ίδιο σκοπό, δηλαδή να είναι το βασικό κανάλι +δεδομένων μεταξύ εντολών. + +Σήμερα, η Java της Sun και το .NET της Microsoft είναι ίσως τα δύο πιο διάσημα περιβάλλοντα που χρησιμοποιούν εικονικές μηχανές. Και τα δύο είναι βασισμένα στη +stack-based αρχιτεκτονική και τα σετ εντολών τους είναι παρεμφερή. Τα standards και για τις δύο περιβάλλοντα υπάρχουν ανοικτά στο internet. Στο Linux, +υλοποιήσεις της Java Virtual Machine προσφέρονται από τη Sun, την ΙΒΜ και επίσης υπάρχουν μερικές open source προτάσεις όπως το kaffe ( ). +Για το .NET στο Linux υπάρχει το open source Mono Project ( ). + +### [2.3 Java Virtual Machine]{#ss2.3} + +Η ενδιάμεση μορφή στην οποία αποθηκεύονται τα προγράμματα σε Java είναι τα Java Bytecodes. Κατά την εκτέλεση της Java Virtual Machine (JVM) κάθε thread +αποτελείται από τα παρακάτω στοιχεία: + +- PC (μετρητή προγράμματος): κάθε στιγμή δείχνει τη διεύθυνση της τρέχουσας εντολής. +- Normal Stack: περιέχει κυρίως τα πλαίσια (frames) των συναρτήσεων και ενδιάμεσες τιμές. +- Heap: περιοχή από την οποία μοιράζεται η μνήμη στα αντικείμενα. +- Method Area: περιοχή η οποία περιέχει τα bytecode των μεθόδων και τις σταθερές των κλάσεων. + +Κάθε στιγμή το πρόγραμμα βρίσκεται μέσα σε μία συνάρτηση και αποθηκεύει τις τοπικές πληροφορίες σε ένα πλαίσιο στον κανονικό σωρό. Το πλαίσιο περιέχει το σωρό +τελεστέων, έναν πίνακα τοπικών μεταβλητών και κάποιες άλλες πληροφορίες που σχετίζονται με τα δεδομένα της κλάσης στην οποία ανήκει η μέθοδος. Η πρώτη τοπική +μεταβλητή (index 0) περιέχει την αναφορά στο τρέχον instance της κλάσης. Πρόκειται ουσιαστικά για το *this* που σίγουρα έχουν χρησιμοποιήσει όσοι έχουν +ασχοληθεί με Java. Από εκεί και πέρα (index 1) οι τοπικές μεταβλητές περιέχουν τις παραμέτρους της συνάρτησης. Η έννοια των τοπικών μεταβλητών είναι πιο ευρεία +από αυτή που έχουμε συνηθίσει από άλλες γλώσσες (πχ C). + +Ένα μικρό παράδειγμα: + + public int alf(int x) + { + if (x > 3) + x++; + else + x--; + + return x; + } + +παράγει τα εξής bytecodes: + + || .. ! ;---------------------------------------------- + || .. ! ; public int test::alf(int) + || .. ! ;---------------------------------------------- + || .. ! alf_fd: + || .. ! iload_1 ;; Φόρτωσε στο σωρό τελεστέων τη δεύτερη τοπική + ;; μεταβλητή (την πρώτη παράμετρο της συνάρτησης). + || fe ! iconst_3 ;; Φόρτωσε στο σωρό τελεστέων τη σταθερά 3. + || ff ! if_icmpge loc_108 ;; Αν η κορυφαία τιμή στο σωρό τελεστέων είναι μεγαλύτερη ή ίση + ;; με την αμέσως προηγούμενη, πήγαινε στη διεύθυνση 108. + || 102 ! iinc 1, 1 ;; Πρόσθεσε στη δεύτερη τοπική μεταβλητή την τιμή 1. + || 105 ! goto loc_10b ;; Πήγαινε στη διεύθυνση 10b. + || 108 ! + || ... ! loc_108: + || ... ! iinc 1, 0ffh ;; Πρόσθεσε στη δεύτερη τοπική μεταβλητή την τιμή -1. + || 10b ! + || ... ! loc_10b: + || ... ! iload_1 ;; Φόρτωσε στο σωρό τελεστέων τη δεύτερη τοπική μεταβλητή. + || 10c ! ireturn ;; Πάρε την κορυφαία τιμή από τον τρέχον σωρό τελεστέων και + ;; τοποθέτησέ την στην κορυφή του σωρού τελεστέων του κώδικα + ;; που κάλεσε την τρέχουσα συνάρτηση. + +Για να κάνουμε disassemble κάποιο class αρχείο στις εντολές της JVM (όπως παραπάνω) μπορούμε να χρησιμοποιήσουμε τον ΗΤ editor ( ). +Όμως, μπορούμε να πάμε ακόμα πιο πέρα, χρησιμοποιώντας κάποιον decompiler για Java ο οποίος θα προσπαθήσει να μας δώσει τον αρχικό πηγαίο κώδικα! Δυο πολύ +γνωστοί Java decompilers είναι ο MOCHA ( ) και ο JAD ( ). + + +### [3. Μερικές σκέψεις για το μέλλον του RCE - Obfuscation]{#s3} + +Γλώσσες όπως η Java και η C\# που χρησιμοποιούν ενδιάμεσες μορφές κώδικα ως το βασικό μέσο μεταφοράς τους, εμφανίζουν μια νέα πρόκληση για το RCE. Οι ενδιάμεσες +μορφές μεταφέρουν αναπόφευκτα πολλές πληροφορίες για τον πηγαίο κώδικα και έτσι κάποιος θα μπορούσε να θεωρήσει πως είναι πιο εύκολο να τον ανασυνθέσουμε. Και +αυτό είναι, όντως, αλήθεια. + +Έπρεπε, λοιπόν, να βρεθεί ένας διαφορετικός τρόπος για προστασία του κώδικα από τα αδιάκριτα μάτια. Αυτό που έγινε, τελικά, είναι να δοθεί περισσότερο βάρος +στην παλιά τεχνική του code obfuscation. Οι ίδιες βασικές αρχές παρέμειναν αλλά προσαρμόστηκαν στη νέα πραγματικότητα του αντικειμενοστρεφούς μοντέλου. + +Σκοπός του obfuscation είναι να μετασχηματίσει ένα πρόγραμμα σε ένα άλλο, ισοδύναμο του, τέτοιο ώστε να είναι πιο δύσκολο να κατανοηθεί από ανθρώπους. Επιπλέον +χρειάζεται ο μετασχηματισμός αυτός να είναι δύσκολα αντιστρεπτός από κάποιο άλλο αυτόματο εργαλείο (deobfuscator). Στο παιχνίδι παίζουν ρόλο πολλοί +αντικρουόμενοι παράγοντες και έτσι πρέπει να βρεθεί μια ικανοποιητική λύση, ανάλογα με τις ανάγκες του χρήστη. Για παράδειγμα, αύξηση της πολυπλοκότητας του +κώδικα μπορεί να επιφέρει δραματική αλλαγή στην ταχύτητα εκτέλεσης, οπότε πρέπει να αποφασιστεί τι έχει μεγαλύτερη σημασία, η απόδοση ή η προστασία. + +Ο πιο απλός τρόπος obfuscation ενός προγράμματος είναι η μετονομασία των συμβόλων του (μεταβλητές, συναρτήσεις κτλ) σε ακατανόητες συμβολοσειρές. Άλλο είναι να +βλέπεις μια συνάρτηση \"CheckUser\" και άλλο αυτή να λέγεται \"mvkof89\". Πάντως, αν και έτσι δυσχεραίνονται οι RCE προσπάθειες, η κατάσταση δεν είναι τόσο +άσχημη. + +Το επόμενο βήμα είναι το λεγόμενο control-flow obfuscation. Σκοπός αυτής της τεχνικής είναι να μπερδευτεί τόσο πολύ η ροή του προγράμματος ώστε να είναι δύσκολο +να την ακολουθήσει κάποιος. Για παράδειγμα το απλό κομμάτι κώδικα: + + printf("OK"); + +μπορεί να μετασχηματιστεί στο ισοδύναμο: + + y=72; + ... + x=random(); + if ( (x*13) % 5 < 3) { + doit: + if (y > 61) + printf("OK"); + else + printf("KUKU"); + } + else { + if (y * 2 - 6 == 138) + goto doit; + printf("KUKU"); + } + +Φανταστείτε τι σύγχυση μπορεί να προκληθεί σε επίπεδο bytecodes (η και γλώσσα μηχανής)! Από τη μεριά τους, οι deobfuscators προσπαθούν να αντιμετωπίσουν τη +μέθοδο αυτή χρησιμοποιώντας αυτόματες τεχνικές για την απόδειξη θεωρημάτων. Για παράδειγμα, βλέποντας πως το y είναι 72 ξέρουν πως πάντα ισχύει y\>61 και +επομένως το printf(\"KUKU\") δεν πρόκειται να εκτελεστεί ποτέ. + +Για επιπλέον αύξηση του χάους σε ένα πρόγραμμα, μπορεί να εφαρμοστεί η τεχνική του data obfuscation. Εδώ στο στόχαστρο βρίσκονται πλέον τα δεδομένα του +προγράμματος τα οποία σπάνε, συγχωνεύονται, ψευδο-κρυπτογραφούνται και γενικώς υπόκεινται σε ένα σωρό μετασχηματισμούς. Ένα απλό παράδειγμα: + + ;; Έστω a ένας πίνακας 20 στοιχείων + x = 0; + + for(i = 0; i < 20; i++) { + x += a[i]; + } + + if (x == 10) + printf("Ok!"); + else + printf("Kuku!"); + + ;; Έστω a ένας πίνακας 20 στοιχείων + x = 100; + for(i = 0; i <20; i++) { + x += 2 * a[i] + i; + } + + if (x == 310) + printf("Ok!"); + else + printf("Kuku!"); + +Υπάρχουν πολλές ακόμη κατηγορίες obfuscating μετασχηματισμών και ένας σωστός συνδυασμός τους καθιστά την κατάσταση πολύ δύσκολη για τον reverse engineer. + +Στο μέλλον προβλέπω (κοιτώντας τη κρυστάλλινη σφαίρα :) ) πως το παιχνίδι του RCE σε ένα μεγάλο βαθμό θα έχει μετατραπεί σε ένα παιχνίδι +obfuscation/deobfuscation. Εδώ και καιρό υπάρχουν εργαλεία για obfuscation ενώ τον τελευταίο καιρό εμφανίζονται πρωτότυποι deobfuscators βασισμένοι σε σχετικές +δημοσιεύσεις. Ας αρχίσουν οι χοροί\... + + +### [4. Hands-on παράδειγμα: Java vs C]{#s4} + +> \...και την 42η μέρα ο Θεός δημιούργησε την C. Βλέποντας την απειλή οι δυνάμεις του Κακού αποφάσισαν να αντεπιτεθούν\... και έτσι γεννήθηκε η Java. + +Η Java από τότε που δημιουργήθηκε κλήθηκε να αντιμετωπίσει τις κυρίαρχες τότε (αλλά και σήμερα) C και C++. Η σύγκριση ήταν αναπόφευκτη΄ η Java διαφημιζόταν ως +μια πιο κομψή και ασφαλής C++, μια γλώσσα ικανή να χρησιμοποιηθεί σε ένα ευρύ πεδίο εφαρμογών, από ιστοσελίδες μέχρι ενσωματωμένες συσκευές. Όπως συνηθίζεται +στον κόσμο των υπολογιστών, ένας \"ιερός\" πόλεμος ξέσπασε. + +Οι πολέμιοι της Java είχαν κυρίως δύο λόγους για τους οποίους ήθελαν να την κάψουν στην πυρά. Καταρχάς υπήρχαν εκείνοι που στο άκουσμα της λέξης +\"αντικειμενοστρεφής\" έβγαζαν σκόρδα και προσπαθούσαν να ξορκίσουν τα δαιμόνια. Σε αυτούς, βέβαια, δεν άρεσε ούτε η C++, η οποία όμως έπαιρνε άφεση διότι +μπορούσε απλώς να χρησιμοποιηθεί ως βελτιωμένη C. Ο δεύτερος και πιο καταδικαστικός λόγος ενάντια στην Java ήταν ότι ήταν αργή. Ειδικά σε ότι είχε σχέση με +γραφικές διεπαφές (GUI) ήταν εκνευριστικά αργή και επιπλέον είχε μια μέτριας ποιότητας (εμφανισιακά, τουλάχιστον) βιβλιοθήκη χειριστηριών. + +Σήμερα, αρκετό καιρό ύστερα από την έναρξη της διαμάχης, τα πράγματα φαίνεται να έχουν μπει σε μια τάξη. Η Java έχει καταφέρει να βελτιωθεί θεαματικά στο φλέγον +θέμα της απόδοσης και έτσι έχει κατακτήσει μια αρκετά υψηλή θέση στις καρδιές των προγραμματιστών αλλά και των διοικητικών στελεχών. Η C παραμένει κυρίαρχη στον +τομέα για τον οποίο σχεδιάστηκε, τον προγραμματισμό συστημάτων, ενώ η C++ απολαμβάνει μια σταθερή θέση σε εφαρμογές που επωφελούνται από την αντικειμενοστρεφή +προσέγγιση και ταυτόχρονα έχουν αυξημένες απαιτήσεις απόδοσης. + +Δυστυχώς στις απόψεις πολλών η Java και γενικά οι διερμηνευόμενες (interpreted) γλώσσες έχουν στιγματιστεί από την αργοπορία που τις χαρακτήριζε στα πρώτα τους +βήματα. Στο πείραμα που ακολουθεί θα εξετάσουμε και θα εξηγήσουμε την απρόσμενα καλή απόδοση ενός προγράμματος σε Java. + +### [4.1 Το πείραμα]{#ss4.1} + +Στο πείραμα που ακολουθεί θα μετρήσουμε τους χρόνους εκτέλεσης του ίδιου προγράμματος σε C (gcc 3.2.3) και σε Java (Sun J2RE 1.4.2\_01). Το πρόγραμμα είναι η +αναδρομική συνάρτηση υπολογισμού των όρων της σειράς fibonacci fn = fn-1 + fn-2, με f0 = 0 και f1 = 1. + +Σε C: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + #include + #include + + unsigned long fib(unsigned long n) + { + if (n < 2) + return n; + else + return fib(n-1) + fib(n-2); + } + + int main(int argc, char *argv[]) + { + int n; + + if (argc < 2) + n = 1; + else + n = atoi(argv[1]); + + printf("%lu\n", fib(n)); + + return 0; + } + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Σε Java: + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + + public class fib { + + public static void main(String args[]) { + int n; + + if (args.length < 1) + n = 1; + else + n = Integer.parseInt(args[0]); + + System.out.println(fib(n)); + } + + public static int fib(int n) { + if (n < 2) + return n; + else + return fib(n-1) + fib(n-2); + } + } + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Μεταγλωττίζουμε τα δύο προγράμματα και τα εκτελούμε 3 φορές το καθένα. Το J2RE της Sun προσφέρει δύο εικονικές μηχανές, την server και την client (default). Η +πρώτη έχει μεγαλύτερες απαιτήσεις μνήμης αλλά έχει ως αποτέλεσμα καλύτερη ταχύτητα εκτέλεσης ενώ η δεύτερη έχει πιο μικρές απαιτήσεις αλλά η ταχύτητα εκτέλεσης +δεν είναι η βέλτιστη. Εδώ χρησιμοποιούμε την παράμετρο \"-server\" που επιλέγει την server VM (εικονική μηχανή). + + $ gcc -O3 -fomit-frame-pointer -o fib.c.exe fib.c + $ time fib.c.exe 39 + 63245986 + + real 0m7.479s + user 0m7.361s + sys 0m0.017s + $ time fib.c.exe 39 + 63245986 + + real 0m7.478s + user 0m7.368s + sys 0m0.013s + $ time fib.c.exe 39 + 63245986 + + real 0m7.471s + user 0m7.366s + sys 0m0.016s + $ javac fib.java + $ time java -server fib 39 + 63245986 + + real 0m5.853s + user 0m5.618s + sys 0m0.049s + $ time java -server fib 39 + 63245986 + + real 0m5.848s + user 0m5.625s + sys 0m0.043s + $ time java -server fib 39 + 63245986 + + real 0m5.847s + user 0m5.622s + sys 0m0.044s + +Η Java φαίνεται να έχει αρκετά καλύτερες επιδόσεις από τη C!!! Είναι δυνατόν; Ευτυχώς ή δυστυχώς είναι! + +### [4.2 Η αναζήτηση]{#ss4.2} + +Αφού περάσει το πρώτο σοκ, ανασυντασσόμαστε και προσπαθούμε να φερθούμε όσο πιο επιστημονικά γίνεται. Έχουμε ένα πείραμα με απροσδόκητα αποτελέσματα και +καλούμαστε να τα εξηγήσουμε. + +Καταρχάς, γνωρίζουμε ότι o διερμηνευτής της Java περιέχει JIT μεταγλωττιστή οπότε γενικά θα περιμέναμε μια καλή απόδοση. Το βασικό ερώτημα είναι το τι έκανε ο +JIT μεταγλωττιστής, που δε μπόρεσε να κάνει ο gcc, ώστε να βελτιώσει την απόδοση κατά 20% περίπου. Για να απαντήσουμε σε αυτό το ερώτημα το καλύτερο που +μπορούμε να κάνουμε είναι να συγκρίνουμε τον κώδικα μηχανής που παρήγαγε καθένας από τους δύο αντιπάλους. + +Τον κώδικα μηχανής που παρήγαγε ο gcc είναι πολύ απλο να τον εξετάσουμε χρησιμοποιώντας τον HT Editor. Βεβαίως, μπορείτε να χρησιμοποιήσετε όποιο εργαλείο σας +βολεύει. + + || ....... ! ;******************************************************** + || ....... ! ; function fib (global) + || ....... ! ;******************************************************** + || ....... ! fib: ;xref c80483d7 c80483e4 c8048427 + || ....... ! ;xref c8048434 + || ....... ! push esi + || 8048411 ! push ebx + || 8048412 ! mov esi, [esp+0ch] ;; esi=n + || 8048416 ! cmp esi, 1 + || 8048419 ! mov eax, esi + || 804841b ! ja loc_8048420 + || 804841d ! + || ....... ! loc_804841d: ;xref j804843f + || ....... ! pop ebx + || 804841e ! pop esi + || 804841f ! ret + || 8048420 ! + || ....... ! loc_8048420: ;xref j804841b + || ....... ! sub esp, 0ch + || 8048423 ! lea edx, [esi-1] + || 8048426 ! push edx + || 8048427 ! call fib ;; fib(n-1) + || 804842c ! lea edx, [esi-2] + || 804842f ! mov ebx, eax + || 8048431 ! mov [esp], edx + || 8048434 ! call fib ;; fib(n-2) + || 8048439 ! lea eax, [eax+ebx] ;; eax = fib(n-1) + fib(n-2) + || 804843c ! add esp, 10h + || 804843f ! jmp loc_804841d + +Ένα πολύ χρήσιμο χαρακτηριστικό του HT editor είναι ότι υποστηρίζει πληθώρα εκτελέσιμων αρχείων, μεταξύ αυτών και τα .class αρχεία της Java! Έτσι είναι απλό να +εξετάσουμε και τα bytecodes στα οποία μεταφράστηκε η συνάρτηση fib: + + || ... ! ;---------------------------------------------- + || ... ! ; public static int fib::fib(int) + || ... ! ;---------------------------------------------- + || ... ! fib_1fa: + || ... ! iload_0 ;; Σωρός: [n] + || 1fb ! iconst_2 ;; Σωρός: [n] [2] + || 1fc ! if_icmpge loc_201 ;; Σωρός: -, if (n >= 2) goto loc_201 + || 1ff ! iload_0 ;; Σωρός: [n] + || 200 ! ireturn + || 201 ! + || ... ! loc_201: ;xref j1fc + || ... ! iload_0 ;; Σωρός: [n] + || 202 ! iconst_1 ;; Σωρός: [n] [1] + || 203 ! isub ;; Σωρός: [n-1] + || 204 ! invokestatic 4 ;; Σωρός: [fib(n-1)] + || 207 ! iload_0 ;; Σωρός: [fib(n-1)] [n] + || 208 ! iconst_2 ;; Σωρός: [fib(n-1)] [n] [2] + || 209 ! isub ;; Σωρός: [fib(n-1)] [n-2] + || 20a ! invokestatic 4 ;; Σωρός: [fib(n-1)] [fib(n-2)] + || 20d ! iadd ;; Σωρός: [fib(n-1)+fib(n-2)] + || 20e ! ireturn + +#### Φως στο τούνελ του Java JIT μεταγλωττιστή + +Η αποστολή μας, αν τη δεχθούμε, είναι να βρούμε και να αναλύσουμε τον κώδικα μηχανής που παρήγαγε ο JIT μεταγλωττιστής (native κώδικας). Το πρόβλημα είναι ότι +δε γνωρίζουμε καθόλου την εσωτερική λειτουργία του Sun Java διερμηνευτή (αφού ο κώδικας είναι κλειστός). Το μόνο σίγουρο είναι ότι ο εκτελέσιμος κώδικας μηχανής +δημιουργείται δυναμικά κάπου στο χώρο διευθύνσεων της Java και ο έλεγχος κάποια στιγμή περνάει στο σημείο αυτό. + +Αρχίζοντας την εξερεύνηση μας εκτελούμε την ltrace -i -o fib.ltr java -server fib 10 (βλέπε προηγούμενα τεύχη). Εξετάζοντας το fib.ltr τα αποτελέσματα δεν είναι +ιδιαίτερα ενθαρρυντικά, οπότε συνεχίζουμε με την strace -i -o fib.str java -server fib 10. Προς το τέλος του fib.str βρίσκουμε τα εξής: + + [400379db] open("/home/alf/projects/magaz/issue3/src/fib.class", O_RDONLY|O_LARGEFILE) = 5 + [401514e7] fstat64(5, {st_mode=S_IFREG|0644, st_size=561, ...}) = 0 + [401512f7] stat64("/home/alf/projects/magaz/issue3/src/fib.class", ... + [40036eeb] read(5, "\312\376\272\276\0\0\0.\0$\n\0\7\0\22\n\0\23\0\24\t\0\25"..., 561) = 561 + [40036f5f] close(5) = 0 + [40118b71] gettimeofday({1081166745, 55282}, NULL) = 0 + [40118b71] gettimeofday({1081166745, 55460}, NULL) = 0 + [40118b71] gettimeofday({1081166745, 55594}, NULL) = 0 + [40118b71] gettimeofday({1081166745, 56101}, NULL) = 0 + [40118b71] gettimeofday({1081166745, 56241}, NULL) = 0 + + ... + + [401516d7] lstat64("/home", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 + [401516d7] lstat64("/home/alf", {st_mode=S_IFDIR|0711, st_size=4096, ...}) = 0 + [401516d7] lstat64("/home/alf/projects", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 + [401516d7] lstat64("/home/alf/projects/magaz", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 + [401516d7] lstat64("/home/alf/projects/magaz/issue3", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 + [401516d7] lstat64("/home/alf/projects/magaz/issue3/src", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 + [40118b71] gettimeofday({1081166745, 82175}, NULL) = 0 + [40118b71] gettimeofday({1081166745, 82915}, NULL) = 0 + [40118b71] gettimeofday({1081166745, 83546}, NULL) = 0 + [40118b71] gettimeofday({1081166745, 83719}, NULL) = 0 + [40118b71] gettimeofday({1081166745, 83851}, NULL) = 0 + + ... + + [40159ac5] brk(0) = 0x80c4000 + [40159ac5] brk(0x80c5000) = 0x80c5000 + [40159ac5] brk(0) = 0x80c5000 + [40159ac5] brk(0x80c6000) = 0x80c6000 + [40036e5b] write(1, "89", 2) = 2 + [40036e5b] write(1, "\n", 1) = 1 + + ... + + [400a8ac1] kill(789, SIGRTMIN) = 0 + [400a8ac1] kill(789, SIGRTMIN) = 0 + [40154c7d] unlink("/tmp/hsperfdata_alf/787") = 0 + + ... + +Παρατηρούμε πως η Java διαβάζει το .class αρχείο που περιέχει τα bytecodes της εφαρμογής μας. Ύστερα αρχίζει να διαβάζει συνεχώς την ώρα της ημέρας, μαθαίνει +κάποια πράγματα για το τρέχον directory, συνεχίζει να δειγματοληπτεί την ώρα, αυξάνει το μέγεθος του data segment κατά 0x2000 bytes και τελικά τυπώνει το +αποτέλεσμα (89). Ομολογουμένως οι πληροφορίες δεν είναι ιδιαίτερα χρήσιμες. + +Ένα ενδιαφέρον σημείο είναι το αρχείο /tmp/hsperfdata\_alf/787 το οποίο βλέπουμε να διαγράφεται. Παραπάνω στο fib.str υπάρχει το σημείο που ανοίγει: + + [400379b8] open("/tmp/hsperfdata_alf/787", O_RDWR|O_CREAT|O_TRUNC, 0600) = 3 + [4015bd61] ftruncate(3, 16384) = 0 + [4015d8ed] old_mmap(NULL, 16384, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0) = 0x4081e000 + [40036f41] close(3) = 0 + +Το /tmp/hsperfdata\_alf/787 αντιστοιχείται (mapped) στις διευθύνσεις μνήμης 0x4081e000-0x40822000 και περαιτέρω προσπελάσεις γίνονται μέσα από αυτές τις +διευθύνσεις. Μπορούμε να δούμε τα περιεχόμενα του αρχείου αν φροντίσουμε ώστε να αργήσει να τελειώσει το πρόγραμμα μας (πχ με java -server fib 100), για να μην +προλάβει να σβηστεί το προσωρινό αυτό αρχείο. + +Μια σύντομη εξέταση του αρχείου μας δείχνει πως πρόκειται για πληροφορίες που χρησιμοποιεί ο HotSpot(TM) JIT μεταγλωττιστής της Sun. Έτσι εξηγείται και το +\"hsperfdata\_alf\" που μάλλον σημαίνει HotSpot(TM) Performance Data για τον χρήστη alf. Επίσης, το αρχείο αρχίζει με τα bytes 0xCA 0xFE 0xC0 0xC0. Η αναζήτηση +στο internet για το νόημα των bytes ήταν άκαρπη, πάντως υποψιάζομαι ότι είναι το signature των αρχείων δεδομένων του JIT μεταγλωττιστή. + +Αν και (ελπίζω) ενδιαφέρουσα, η ως τώρα περιήγηση στον JIT μεταγλωττιστή δε μας οδήγησε πιο κοντά στη λύση. Παραμένει το καίριο ερώτημα για τη θέση του native +κώδικα. + +Ένας συλλογισμός που ίσως μας οδηγήσει στη λύση είναι ο παρακάτω: Ο java διερμηνευτής αφού δημιουργήσει τον native κώδικα περνάει τον έλεγχο σε αυτόν. Ο κώδικας +μας είναι αμιγώς cpu-intensive, δηλαδή χρησιμοποιεί πολύ τον επεξεργαστή και δεν έχει I/O που μπορούν να διακόψουν τη λειτουργία του. Αυτό σημαίνει πως αν σε +μια τυχαία χρονική στιγμή εξετάσουμε σε ποια διεύθυνση δείχνει ο instruction pointer (IP) της διεργασίας, αυτή με πολύ μεγάλη πιθανότητα θα βρίσκεται μέσα στις +διευθύνσεις που καταλαμβάνει ο native κώδικας. + +Επομένως, το πρόβλημα μας μετασχηματίστηκε στην εύρεση ενός τρόπου να παρακολουθούμε σε ποια διεύθυνση βρίσκεται η εκτέλεση κάποια διεργασίας! + +#### \...Σαν να ψάχνεις διεύθυνση στα άχυρα + +Μια πρώτη σκέψη είναι να εκτελέσουμε την java στο GDB, να διακόπτουμε το πρόγραμμα κάθε λίγο και να καταγράφουμε τις τιμές του IP. Απλό και αποτελεσματικό\... +μόνο που δε φαίνεται να λειτουργεί στη δική μας περίπτωση :( + + $ gdb -q java + (no debugging symbols found)...(gdb) r -server fib 10 + Starting program: /usr/lib/j2sdk1.4.2_01/bin/java -server fib 10 + (no debugging symbols found)...[New Thread 16384 (LWP 1536)] + (no debugging symbols found)... + (no debugging symbols found)...Cannot find user-level thread for LWP 1536: generic error + (gdb) info reg + No selected frame. + (gdb) q + The program is running. Exit anyway? (y or n) y + Cannot find thread 16384: generic error + (gdb) q + The program is running. Exit anyway? (y or n) y + Cannot find thread 16384: generic error + +Όχι μόνο δεν καταφέραμε να τρέξουμε τη Java αλλά \"τα πήρε\" και ο GDB. Αααργκ!!! Αν κάποιος ξέρει τι συμβαίνει παρακαλώ να μου γράψει\... + +Μην απελπίζεστε! Ευτυχώς για εμάς, το πάντα χρήσιμο /proc προσφέρει την υπηρεσία που χρειαζόμαστε (τον τρέχων IP μιας διεργασίας). Η πληροφορία βρίσκεται καλά +κρυμμένη μέσα στο /proc/\#/stat και θα χρησιμοποιήσουμε την εντολή ps για να τη φέρουμε στην επιφάνεια. Συγκεκριμένα θα χρησιμοποιήσουμε τη παράμετρο -ο για να +ορίσουμε τις πληροφορίες που θέλουμε να εμφανίζει η ps (βλέπε man page). + +Τώρα, λοιπόν, έχουμε όλα τα εργαλεία στα χέρια μας και μπορούμε να αρχίσουμε δουλειά! Με τις παρακάτω εντολές τρέχουμε τη java και κάθε 0.2 δευτερόλεπτα +τυπώνουμε τον IP της (30 δείγματα). + + $ java -server fib 100 & + [1] 1390 + $ for ((i=0;$i<30;i++)); do ps --pid=1390 -o eip; sleep 0.2; done + EIP + 42900340 + EIP + 429003b8 + EIP + 4290033b + EIP + 4290031c + EIP + 4290030f + EIP + 42900302 + EIP + 42900372 + EIP + 429002e0 + EIP + 429002e0 + EIP + 42900414 + EIP + 42900386 + EIP + 429003dc + EIP + 429003d3 + EIP + 429002e0 + EIP + 4290044d + EIP + 42900455 + EIP + 429003dc + EIP + 429003b4 + EIP + 42900369 + EIP + 42900453 + EIP + 42900409 + EIP + 42900350 + EIP + 42900441 + EIP + 429003c4 + EIP + 429002e7 + EIP + 42900372 + EIP + 42900390 + EIP + 42900311 + EIP + 429003b4 + EIP + 429003b4 + +Παρατηρούμε πως ο κώδικας βρίσκεται σε ένα βρόχο με μικρότερη διεύθυνση την 0x429002e0 και μέγιστη 0x42900453. Οι διευθύνσεις αυτές μπορεί να μην είναι τα +ακριβή άκρα του βρόχου, αφού έχουμε κάνει τυχαία δειγματοληψία, αλλά με μεγάλη πιθανότητα είναι κάπου εκεί κοντά. + +Το μόνο που μένει τώρα είναι να διαβάσουμε τον κώδικα που βρίσκεται σε αυτές τις θέσεις μνήμης. Για το σκοπό αυτό θα χρησιμοποιήσουμε και πάλι το /proc και +συγκεκριμένα το \"αρχείο\" /proc/\#/mem. Η πρόσβαση στο αρχείο γίνεται με τις γνωστές εντολές (open/fopen, lseek/fseek, read/fread) αλλά υπάρχουν δύο σημεία που +πρέπει να προσεχθούν. Καταρχάς, για να μας επιτραπεί να διαβάσουμε από το mem αρχείο θα πρέπει η δική μας διεργασία να έχει \"δεθεί\" με τη διεργασία της οποίας +τη μνήμη σκοπεύουμε να προσπελάσουμε. Αυτό το \"δέσιμο\" γίνεται μέσω της ptrace, η οποία μας δίνει το δικαίωμα να παρακολουθούμε τη διεργασία. Ένα δεύτερο +σημείο προσοχής είναι ότι θα πρέπει η διεργασία που μας ενδιαφέρει να μην είναι σε κατάσταση εκτέλεσης. Αυτό επιτυγχάνεται στέλνοντάς της το σήμα SIGSTOP. + + $ kill -SIGSTOP 1390 + $ memread 1390 0x429002e0 0x200 < fib.bin + Reading from Process: 1390 Address: 0x429002e0 Size: 512 + Successfully read 512 bytes! + +Ο αριθμός των 512 bytes επιλέχθηκε αυθαίρετα, με μόνη προϋπόθεση να είναι μεγαλύτερος από τα όρια του βρόχου που βρήκαμε προηγουμένως. + +Ο κώδικας του memread: [memread.c.gz](./memread.c.gz). + +### [4.3 Η ανάλυση]{#ss4.3} + +Τώρα που επιτέλους έχουμε στα χέρια μας τον native κώδικα μπορούμε να αρχίσουμε την ανάλυση. Τι μυστικά κρύβει, άραγε, αυτό το μικρό αρχείο των 512 bytes; + +Φορτώνουμε το αρχείο στον ht με ht fib.bin και επιλέγουμε disasm/x86 mode (πατώντας space ή F6). Παρακάτω φαίνεται ο κώδικας με κάποια σχόλια: + + 00000000 89842400d0ffff mov [esp-00003000], eax + 00000007 81ec24000000 sub esp, 0x24 + 0000000d 83f902 cmp ecx, 0x2 ;; ecx=n + 00000010 0f8c5d010000 jl 0x173 ;; n < 2 ? + 00000016 89742414 mov [esp+0x14], esi + 0000001a 896c2418 mov [esp+0x18], ebp + 0000001e 897c241c mov [esp+0x1c], edi + 00000022 8be9 mov ebp, ecx + 00000024 4d dec ebp ;; ebp=n-1 + 00000025 8bd9 mov ebx, ecx + 00000027 83c3fb add ebx, fffffffb ;; ebx=n-5 + 0000002a 8bf1 mov esi, ecx + 0000002c 83c6fe add esi, fffffffe ;; esi=n-2 + 0000002f 8bc1 mov eax, ecx + 00000031 83c0fc add eax, fffffffc ;; eax=n-4 + 00000034 8bd1 mov edx, ecx + 00000036 83c2fd add edx, fffffffd ;; edx=n-3 + + 00000039 83fd02 cmp ebp, 0x2 + 0000003c 0f8c96000000 jl 0xd8 ;; n-1 < 2 => n < 3 ? + 00000042 83fe02 cmp esi, 0x2 + 00000045 7c40 jl 0x87 ;; n-2 < 2 => n < 4 ? + 00000047 8954240c mov [esp+0xc], edx ;; + 0000004b 89442408 mov [esp+0x8], eax ;; Save registers (1) + 0000004f 895c2404 mov [esp+0x4], ebx ;; + 00000053 890c24 mov [esp], ecx ;; + 00000056 8bca mov ecx, edx + 00000058 90 nop + 00000059 90 nop + 0000005a 90 nop + 0000005b e8a0ffffff call 0x0 ;; call fib(n-3) + 00000060 89442410 mov [esp+0x10], eax + 00000064 8b4c2408 mov ecx, [esp+0x8] + 00000068 90 nop + 00000069 90 nop + 0000006a 90 nop + 0000006b e890ffffff call 0x0 ;; call fib(n-4) + 00000070 8bf8 mov edi, eax + 00000072 037c2410 add edi, [esp+0x10] ;; edi = fib(n-3)+fib(n-4) + 00000076 8b0c24 mov ecx, [esp] ;; + 00000079 8b5c2404 mov ebx, [esp+0x4] ;; Restore registers (1) + 0000007d 8b442408 mov eax, [esp+0x8] ;; + 00000081 8b54240c mov edx, [esp+0xc] ;; + 00000085 eb02 jmp 0x89 + + 00000087 8bfe mov edi, esi ;; edi = n-2 + 00000089 83fa02 cmp edx, 0x2 + 0000008c 7c26 jl 0xb4 ;; n-3 < 2 => n < 5 ? + 0000008e 8954240c mov [esp+0xc], edx ;; + 00000092 89442408 mov [esp+0x8], eax ;; Save registers (2) + 00000096 895c2404 mov [esp+0x4], ebx ;; + 0000009a 890c24 mov [esp], ecx ;; + 0000009d 8bc8 mov ecx, eax + 0000009f e85cffffff call 0x0 ;; call fib(n-4) + 000000a4 8be8 mov ebp, eax + 000000a6 8b4c2404 mov ecx, [esp+0x4] + 000000aa 90 nop + 000000ab e850ffffff call 0x0 ;; call fib(n-5) + 000000b0 03c5 add eax, ebp ;; eax = fib(n-4) + fib(n-5) + 000000b2 eb11 jmp 0xc5 + + 000000b4 8954240c mov [esp+0xc], edx ;; + 000000b8 89442408 mov [esp+0x8], eax ;; Save registers (3) + 000000bc 895c2404 mov [esp+0x4], ebx ;; + 000000c0 890c24 mov [esp], ecx ;; + 000000c3 8bc2 mov eax, edx + 000000c5 8be8 mov ebp, eax + 000000c7 03ef add ebp, edi + 000000c9 8b0c24 mov ecx, [esp] ;; + 000000cc 8b5c2404 mov ebx, [esp+0x4] ;; Restore registers (2,3) + 000000d0 8b442408 mov eax, [esp+0x8] ;; + 000000d4 8b54240c mov edx, [esp+0xc] ;; + + 000000d8 83fe02 cmp esi, 0x2 + 000000db 0f8c80000000 jl 0x161 ;; n-2 < 2 => n < 4 + 000000e1 83fa02 cmp edx, 0x2 + 000000e4 7c39 jl 0x11f ;; n-3 < 2 => n < 5 + 000000e6 8bfa mov edi, edx + 000000e8 89442408 mov [esp+0x8], eax ;; + 000000ec 895c2404 mov [esp+0x4], ebx ;; Save registers (4) + 000000f0 890c24 mov [esp], ecx ;; + 000000f3 8bc8 mov ecx, eax + 000000f5 90 nop + 000000f6 90 nop + 000000f7 e804ffffff call 0x0 ;; call fib(n-4) + 000000fc 8944240c mov [esp+0xc], eax + 00000100 8b4c2404 mov ecx, [esp+0x4] + 00000104 90 nop + 00000105 90 nop + 00000106 90 nop + 00000107 e8f4feffff call 0x0 ;; call fib(n-5) + 0000010c 8bf8 mov edi, eax + 0000010e 037c240c add edi, [esp+0xc] ;; edi = fib(n-4) + fib(n-5) + 00000112 8b0c24 mov ecx, [esp] ;; + 00000115 8b5c2404 mov ebx, [esp+0x4] ;; Restore registers (4) + 00000119 8b442408 mov eax, [esp+0x8] ;; + 0000011d eb02 jmp 0x121 + + 0000011f 8bfa mov edi, edx + 00000121 83f802 cmp eax, 0x2 + 00000124 7c37 jl 0x15d ;; n-4 < 2 => n < 6 + 00000126 890424 mov [esp], eax + 00000129 8bf1 mov esi, ecx + 0000012b 8bcb mov ecx, ebx + 0000012d 90 nop + 0000012e 90 nop + 0000012f e8ccfeffff call 0x0 ;; call fib(n-5) + 00000134 890424 mov [esp], eax + 00000137 8bce mov ecx, esi + 00000139 83c1fa add ecx, fffffffa ;; n' = n - 6 + 0000013c 90 nop + 0000013d 90 nop + 0000013e 90 nop + 0000013f e8bcfeffff call 0x0 ;; call fib(n-6) + 00000144 030424 add eax, [esp] ;; eax = fib(n-5) + fib(n-6) + 00000147 eb14 jmp 0x15d + 00000149 8b6c2418 mov ebp, [esp+0x18] + 0000014d 8b7c241c mov edi, [esp+0x1c] + 00000151 8b742414 mov esi, [esp+0x14] + 00000155 83c424 add esp, 0x24 + 00000158 e9a377ffff jmp ffff7900 + 0000015d 03c7 add eax, edi + 0000015f eb02 jmp 0x163 + 00000161 8bc6 mov eax, esi + 00000163 03c5 add eax, ebp + 00000165 8b6c2418 mov ebp, [esp+0x18] + 00000169 8b7c241c mov edi, [esp+0x1c] + 0000016d 8b742414 mov esi, [esp+0x14] + 00000171 eb02 jmp 0x175 + 00000173 8bc1 mov eax, ecx + 00000175 83c424 add esp, 0x24 + 00000178 c3 ret + + 00000179 90 nop ;; Από εδώ και κάτω είναι άχρηστος (για τους σκοπούς μας) κώδικας + 0000017a 90 nop + 0000017b 8bc8 mov ecx, eax + 0000017d ebca jmp 0x149 + 0000017f 8bc8 mov ecx, eax + 00000181 ebc6 jmp 0x149 + 00000183 8bc8 mov ecx, eax + 00000185 ebc2 jmp 0x149 + 00000187 8bc8 mov ecx, eax + 00000189 ebbe jmp 0x149 + 0000018b 8bc8 mov ecx, eax + 0000018d ebba jmp 0x149 + 0000018f 8bc8 mov ecx, eax + 00000191 ebb6 jmp 0x149 + 00000193 8bc8 mov ecx, eax + 00000195 ebb2 jmp 0x149 + 00000197 8bc8 mov ecx, eax + 00000199 ebae jmp 0x149 + +Το παραπάνω listing αν και μεγάλο σε μήκος είναι στην ουσία αρκετά απλό. Οι βασικοί λόγοι για τους οποίους φαίνεται μπερδεμένο είναι οι συνεχείς μετακινήσεις +προς και από το σωρό και οι επαναχρησιμοποίηση των καταχωρητών για εντελώς διαφορετικό σκοπό (πχ ο ebp αρχικά εκφράζει το n-1 ενώ αργότερα, από τη διεύθυνση +0xc7 και πέρα περιέχει κάποιο άλλο άθροισμα). + +[]{#advice} Το πρώτο βήμα για την ανάλυση κώδικα σε assembly είναι συνήθως η επισύναψη σχολίων πάνω στον κώδικα όπως παραπάνω. Ένας καλός τρόπος για να +συνεχίσουμε είναι η σταδιακή μετατροπή του κώδικα σε κάποια πιο υψηλή και γνώριμη μορφή, αγνοώντας περιττές λεπτομέρειες. Για παράδειγμα, το κομμάτι ανάμεσα +στις διευθύνσεις 0x39 και 0x87 θα μπορούσε ως επόμενο βήμα να γραφτεί: + + if (n-1 < 2) goto 0xd8 + if (n-4 < 2) goto 0x87 + edi = fib(n-3) + fib(n-4) + goto 89 + 87: edi = n-2 + 89: + +και ύστερα, αναγνωρίζοντας τη δομή if-else που υπάρχει: + + if (n-1 < 2) goto 0xd8 + if (n-4 >= 2) + edi = fib(n-3) + fib(n-4); + else + edi = n-2; + 89: + +Ακολουθώντας μια τέτοια διαδικασία τελικά καταλήγουμε στον παρακάτω Java/C κώδικα που εκφράζει πιο ξεκάθαρα την λειτουργία του assembly κώδικα: + + int fib_jit(int n) + { + int C,D; + + if (n < 2) + return n; + + if (n >= 3) { + int A,B; + + if (n >= 4) + A=fib_jit(n-3)+fib_jit(n-4); + else + A=n-2; + + if (n >= 5) + B=fib_jit(n-4)+fib_jit(n-5); + else + B=n-3; + + C=A+B; + } + else + C=n-1; + + if (n >= 4) { + int A,B; + + if (n >= 5) + A=fib_jit(n-4)+fib_jit(n-5); + else + A=n-3; + + if (n >= 6) + B=fib_jit(n-5)+fib_jit(n-6); + else + B=n-4; + + D=A+B; + } + else + D=n-2; + + return D+C; + } + +Βέβαια, ακόμη και με την παραπάνω μορφή το τι ακριβώς συμβαίνει και γιατί λειτουργεί το κατασκεύασμα του JIT μεταγλωττιστή παραμένει κάπως μυστήριο. Για να +ανακαλύψουμε όλη την αλήθεια θα πρέπει να θυμηθούμε την αρχική συνάρτηση fib. Αυτή μπορεί να ξαναγραφτεί ως: + + public static int fib(int n) { + int R; + + if (n >= 2) + R=fib(n-1) + fib(n-2); + else + R=n; + + return R; + } + +Σας θυμίζει τίποτα; Η δομή if-else που υπάρχει στη αρχική fib φαίνεται να μοιάζει πολύ με τις if-else που υπάρχουν διάσπαρτες στην fib\_jit. Για την ακρίβεια, +οι δομές που υπάρχουν στην fib\_jit *είναι* η fib() για διάφορες παραστάσεις του n!!! + +Για να γίνει πιο κατανοητό το παραπάνω θεωρήστε το: + + if (n >= 4) + A = fib_jit(n-3)+fib_jit(n-4); + else + A = n-2; + +το οποίο πρακτικά είναι το: + + Α=fib(n-2); + +Κάνοντας τις παραπάνω αντικαταστάσεις και κάποιες απλοποιήσεις προκύπτει η εξής fib\_jit1: + + int fib_jit1(int n) + { + int C,D; + + if (n < 2) + return n; + + if (n >= 3) + C = fib(n-2) + fib(n-3); + else + C = n-1; + + if (n >= 4) + D = fib(n-3) + fib(n-4); + else + D = n-2; + + return D+C; + } + +Χμμ, εμφανίστηκαν πάλι οι γνωστές δομές if-else. Είναι σαν τον κώδικα της μαρμότας\... ξαναζείς τον ίδιο κάθε φορά :) Αν αντικαταστήσουμε και αυτές τις δομές με +την αντίστοιχη fib προκύπτει: + + int fib_jit2(int n) + { + + if (n < 2) + return n; + + return fib(n-1) + fib(n-2); + } + +H παραπάνω συνάρτηση δεν είναι άλλη από τη αυθεντική fib! Επομένως φτάσαμε στο συμπέρασμα πως fib=fib\_jit και άρα όντως η fib\_jit λειτουργεί σωστά, αφού στην +ουσία είναι η ίδια η fib σε άλλη μορφή. + +Τώρα πιστεύω πως είναι σαφές τι \"μαγικά\" έκανε ο JIT μεταγλωττιστής της Java. Ουσιαστικά έκανε inlining των αναδρομικών κλήσεων της fib σε δύο επίπεδα βάθους! +Αυτό είχε ως αποτέλεσμα να αποφευχθεί ένα μέρος του κόστους των κλήσεων συναρτήσεων και επομένως να αυξηθεί η ταχύτητα εκτέλεσης. + +### [4.4 Το συμπέρασμα]{#ss4.4} + +Τελικά είναι η Java πιο γρήγορη από τη C; Θέλω να ελπίζω πως θα συμφωνήσετε μαζί στο ότι αυτή είναι η λάθος ερώτηση! Αυτό που πρέπει να ρωτήσουμε είναι αν ο JIT +μεταγλωττιστής παράγει πιο γρήγορο κώδικα από τον gcc. Η απάντηση είναι πως ειδικά σε αυτή τη περίπτωση ναι και σε γενικές γραμμές παράγει εξίσου καλό κώδικα. + +Αν συνεχίσουμε το πείραμα και μεταγλωττίσουμε τη συνάρτηση fib\_jit() (σε C) με τον gcc, το τελικό εκτελέσιμο θα έχει ελαφρώς καλύτερη απόδοση από αυτό της +Java. Το θέμα εδώ είναι ότι ο JIT μας απαλλάσσει από αυτή τη διαδικασία. Βέβαια, για να υπερασπιστούμε λίγο και τον gcc, o JIT μεταγλωττιστής έχει το +πλεονέκτημα πως έχει πρόσβαση και στις πληροφορίες δυναμικής εκτέλεσης του προγράμματος ενώ ο gcc μπορεί μόνο στατικά να ελέγξει τον κώδικα. + +Ηθικό δίδαγμα: οι γλώσσες δε μπορούν να συγκριθούν με κριτήριο την ταχύτητα, μόνο οι μεταγλωττιστές τους μπορούν. + + +### [5. Πρόκληση]{#s5} + +### [5.1 Προηγούμενη Πρόκληση]{#ss5.1} + +Η προηγούμενη πρόκληση είχε ως στόχο την ανακάλυψη ενός τρόπου για να ανοίξει η θήκη μέσα στην οποία βρίσκεται ένας πρότυπος RISC επεξεργαστής, μέσω της μελέτης +του emulator του. + +Καταρχάς, ο emulator περιείχε συνολικά τρία αρχεία: το εκτελέσιμο risc-emu, το change.txt και το log.txt. Παρ\' όλο που τα δύο τελευταία αρχεία έχουν .txt +κατάληξη, κάθε άλλο παρά text είναι! Θα μπορούσαμε να τα αγνοήσουμε τελείως αλλά για να υπάρχουν εκεί κάποιο ρόλο παίζουν\... Επιπλέον, δεν αισθάνεστε την +ανάγκη να ικανοποιήσετε την περιέργεια σας; Τι άραγε κρύβουν τα αρχεία αυτά; + +Μια προσεκτική παρατήρηση των στοιχείων μπορεί να φέρει στην επιφάνεια τέσσερα σημεία που οδηγούν στη λύση: + +1. Τα αρχεία έχουν κατάληξη .txt. Αν και τα ίδια δεν αποτελούνται από κείμενο, πιθανότατα να έχουν κάποια σχέση με κείμενο. Βέβαια, ίσως οι καταλήξεις να είναι + εντελώς παραπλανητικές {δαιμονικό γέλιο ακούγεται στο υπόβαθρο} :) + +2. Τα αρχεία έχουν ακριβώς το ίδιο μέγεθος. Αυτό είναι ισχυρό στοιχείο πως σχετίζονται μεταξύ τους έμμεσα ή άμεσα. + +3. Αν συνδυάσουμε τα ονόματα των δύο αρχείων λαμβάνουμε τη λέξη changelog η οποία είναι ένα αρκετά κοινό αρχείο που ακολουθεί προγράμματα. Το γεγονός αυτό + ενισχύει την άποψη πως τα δύο αρχεία συνδέονται μεταξύ τους. Το θέμα είναι πως υπάρχουν άπειροι τρόποι να συνδυαστούν δύο αρχεία! + +4. Αν προσέξετε το κείμενο της πρόκλησης, ο emulator ονομάζεται \"RISC-emu v0.42rox\". Η ύποπτη λέξη εδώ είναι το rox το οποίο είναι το ανάποδο του xor\... + +Πιστεύω πως τώρα πια το μυστήριο αρχίζει να ξεδιαλύνει. Αν εφαρμόσετε το δυαδικό τελεστή xor, byte προς byte μεταξύ των δύο αρχείων, θα καταλήξετε στο εξής: + + RISC-emu Changelog + -------------------- + v0.42 + ------ + - Preliminary support for sorting rom module authentication scheme. + The random values are stored at registers 0x90, 0x91, 0x92 after startup. + - Added support for the "random reg" instruction + + v0.41 + ----- + - Added Support for the new "swap reg1,reg2" instruction (opcode 0x82) + - Preliminary support for the "random reg" instruction + + v0.40 + ------ + - The CPU architecture has changed significantly so this version is + an almost complete rewrite. + *ram 1024 bytes, + *registers 256, 4-bytes each + *The instruction size is now 4 bytes. + +Οι πιο σημαντικές πληροφορίες που μας δίνει το παραπάνω changelog είναι ότι ο επεξεργαστής έχει μέγεθος εντολών 4 bytes και εφόσον πρόκειται για RISC +αρχιτεκτονική αυτό ισχύει για όλες τις εντολές. Επίσης μαθαίνουμε ότι υπάρχει μια εντολή swap με opcode 0x82 και μια εντολή random reg με άγνωστο opcode. Τέλος +στους καταχωρητές 0x90, 0x91 και 0x92 αρχικά τοποθετούνται τυχαίες τιμές που πρέπει να ταξινομήσουμε (sorting rom module authentication scheme). + +Αν τρέξουμε το πρόγραμμα μερικές φορές μας ζητάει να ταξινομήσουμε τρεις αριθμούς κάθε φορά: + + $ ./risc-emu + Welcome to Skynet. Please sort: 975 + $ ./risc-emu + Welcome to Skynet. Please sort: 396 + +Για να το καταφέρουμε αυτό θα πρέπει να φτιάξουμε ένα πρόγραμμα στον κώδικα μηχανής του συγκεκριμένου RISC επεξεργαστή. Το βασικό μας πρόβλημα είναι ότι δεν +ξέρουμε καν ποιο είναι το σετ εντολών του επεξεργαστή! Το μόνο που μπορούμε να κάνουμε είναι να το βρούμε αναλύοντας τον εξομοιωτή. + +Αν φορτώσουμε το εκτελέσιμο στον ht και κάνουμε μια βόλτα στο .text section θα παρατηρήσουμε ότι τα πράγματα δεν είναι και τόσο καλά. + + || ....... ;****************************************************************** + || ....... ; section 13 <.text> + || ....... ; virtual address 08048464 virtual size 000004b8 + || ....... ; file offset 00000464 file size 000004b8 + || ....... ;****************************************************************** + || ....... mov eax, 0d6b4dc0bh + || 804846a mov cl, 0a5h + || 804846c add eax, 493d0701h + || 8048471 fcom double ptr [ecx+5dh] + || 8048474 cmp eax, 5d51d6d9h + || 8048479 add al, 3 + || 804847b cmp eax, 5d51d041h + || 8048480 mov ebp, 0aaaaaa2ah + +Οι παραπάνω εντολές δεν είναι του είδους που θα περίμενε κάποιος σε ένα τέτοιο πρόγραμμα. Και το entry point που είναι χαμένο; Επιλέγοντας το mode elf/header +στον ht βρίσκουμε ότι το entry point είναι στη διεύθυνση 0x80489ea. Χμμ\... ελέγχοντας τη διεύθυνση, με έκπληξη διαπιστώνουμε πως δεν ανήκει σε κανένα +section!!! + + Sections: + Idx Name Size VMA LMA File off Algn + ... + + 11 .text 000004b8 08048464 08048464 00000464 2**2 + CONTENTS, ALLOC, LOAD, CODE + 12 .fini 0000001b 0804891c 0804891c 0000091c 2**2 + CONTENTS, ALLOC, LOAD, READONLY, CODE + 13 .rodata 00000010 08048938 08048938 00000938 2**2 + CONTENTS, ALLOC, LOAD, READONLY, CODE + 14 .data 000000a4 08049960 08049960 00000960 2**5 + CONTENTS, ALLOC, LOAD, DATA + ... + +To κοντινότερο section είναι το .rodata το οποίο όμως τελειώνει αρκετά πριν το entry point, στη διεύθυνση 0x8048947. Τι γίνεται εδώ; + +Θυμηθείτε πως για το φόρτωμα του προγράμματος βασική δομική μονάδα δεν είναι το section αλλά το segment. Με άλλα λόγια, δεν φορτώνονται sections αλλά segments +που μπορούν να περιέχουν παραπάνω από ένα sections. Για το risc-emu η λίστα με τα segments είναι (με objdump -p): + + Program Header: + PHDR off 0x00000034 vaddr 0x08048034 paddr 0x08048034 align 2**2 + filesz 0x000000c0 memsz 0x000000c0 flags r-x + INTERP off 0x000000f4 vaddr 0x080480f4 paddr 0x080480f4 align 2**0 + filesz 0x00000013 memsz 0x00000013 flags r-- + LOAD off 0x00000000 vaddr 0x08048000 paddr 0x08048000 align 2**12 + filesz 0x00000948 memsz 0x00000948 flags rwx + LOAD off 0x00000960 vaddr 0x08049960 paddr 0x08049960 align 2**12 + filesz 0x000001c0 memsz 0x000001c4 flags rwx + DYNAMIC off 0x00000a08 vaddr 0x08049a08 paddr 0x08049a08 align 2**2 + filesz 0x000000c8 memsz 0x000000c8 flags rw- + NOTE off 0x00000108 vaddr 0x08048108 paddr 0x08048108 align 2**2 + filesz 0x00000020 memsz 0x00000020 flags r-- + +Το πρώτο load segment είναι το code segment και το δεύτερο το data segment. Και πάλι το entry point δε φαίνεται να ανήκει σε κανένα segment! + +Το κλειδί στην όλη υπόθεση είναι το πεδίο align, με τιμή 2\^12= 0x1000 (μια σελίδα). Η τιμή αυτή μας λέει ταυτόχρονα τρία πράγματα: + +1. Τo segment μπορεί να φορτωθεί μόνο σε κομμάτια πολλαπλάσια των 0x1000 bytes. + +2. Τo segment μπορεί να φορτωθεί μόνο από file offsets πολλαπλάσια των 0x1000 bytes. + +3. Το segment μπορεί να τοποθετηθεί μόνο σε εικονικές διευθύνσεις πολλαπλάσιες των 0x1000 bytes. + +Αν το data segment αρχίζει από ένα άλλο σημείο μιας σελίδας τότε φορτώνεται όλη η σελίδα στην οποία ανήκει η αρχή του data segment και έτσι ίσως φορτωθεί ένα +μέρος από το τέλος του code segment. Επίσης σε περίπτωση που το text segment δεν τελειώνει σε όρια σελίδας τότε πάλι φορτώνεται όλη η σελίδα στην οποία ανήκει +και επομένως ίσως φορτωθεί και ένα μέρος από την αρχή του data segment. Αυτή η τελευταία παρατήρηση είναι ο λόγος που το πρόγραμμα μας με το άφαντο entry point +λειτουργεί. Το παρακάτω σχήμα ίσως ξεκαθαρίσει λίγο τα πράγματα: + +![](/35/img/mem.png) + +Τα δύο segments αντιστοιχούνται σε δύο διαφορετικά σημεία της εικονικής μνήμης αλλά υπάρχουν μόνο μια φορά στη φυσική μνήμη. Έτσι η διεύθυνση 0x80489ea (entry +point) έχει τα ίδια δεδομένα με τη διεύθυνση 0x80499ea η οποία ανήκει στο data segment! Ουσιαστικά το entry point δείχνει σε κώδικα που βρίσκεται μέσα στο data +segment στο αρχείο αλλά έχει φορτωθεί παρέα με το code segment στη μνήμη. Πολύ μπέρδεμα η όλη υπόθεση\... ελπίζω να βγάλατε άκρη τελικά ;) + +Για να δούμε τι υπάρχει στο entry point αρκεί λοιπόν να πάμε με τον ht στη διεύθυνση 0x80499ea. Εκεί, όμως, δε θα δούμε εντολές διότι ο ht δεν επεξεργάζεται τα +bytes που βρίσκονται στο .data section, αφού θεωρεί (δίκαια) πως δε περιέχουν κώδικα. Για να αναλύσει τη συγκεκριμένη διεύθυνση θα πρέπει να δηλώσουμε ότι όντως +εκεί υπάρχει κώδικας. Αρκεί στο mode elf/sections headers να επιλέξουμε to section .data και να αλλάξουμε το πεδίο flags ώστε το flag executable να είναι 1 +(πατώντας F4 όταν είμαστε στα flags μπαίνουμε σε edit mode). Τώρα στο elf/image θα έχει αναλυθεί και ο κώδικας στο entry point: + + || 80499ea mov ecx, 4b8h + || 80499ef mov eax, 8048464h + || 80499f4 xor byte ptr [eax], 55h + || 80499f7 inc eax + || 80499f8 dec ecx + || 80499f9 jnz 80499f4h + || 80499fb jmp 8049464h + || 8049a00 add [eax], al + || 8049a02 add [eax], al + +Ο κώδικας είναι πολύ απλός: αρχίζοντας από τη διεύθυνση 0x8048464 και για τα επόμενα 0x4b8 bytes, το κάθε byte (b) αντικαθίσταται με το (b xor 0x55). Πρόκειται +για έναν στοιχειώδη αλγόριθμο κρυπτογράφησης. Η διεύθυνση 0x8048464 (όπως και η διεύθυνση 0x8049464) είναι η αρχή του .text section και η τιμή 0x4b8 το μήκος +του section. Αυτός είναι και ο λόγος που τα περιεχόμενα του .text δεν έβγαζαν κάποιο νόημα όταν τα εξετάσαμε στην αρχή. + +Από εδώ και πέρα υπάρχουν δύο τρόποι για να προχωρήσουμε. Ο πρώτος είναι να \"παγώσουμε\" το πρόγραμμα αμέσως μετά την αποκρυπτογράφηση και να αποθηκεύσουμε την +εικόνα του σε κάποιο αρχείο (βλέπε προηγούμενο άρθρο Packed Executables - Συμπιεσμένα Εκτελέσιμα). Αυτό μπορεί να επιτευχθεί χρησιμοποιώντας το gdb, με την +τοποθέτηση ενός breakpoint στη διεύθυνση 0x80489fb. Αφού \"χτυπήσει\" το breakpoint μπορούμε με την εντολή dump να αποκτήσουμε την εικόνα της μνήμης του +προγράμματος. + +Επειδή ο αλγόριθμος κρυπτογράφησης είναι εξαιρετικά απλός, μπορούμε με κάποιο πρόγραμμα ή hex editor να αποκρυπτογραφήσουμε μόνοι μας το .text section. Αν +θέλουμε να μπορεί να εκτελείται το πρόγραμμα, δε θα πρέπει να αμελήσουμε να διορθώσουμε το entry point η τουλάχιστον να αδρανοποιήσουμε τον αλγόριθμο +κρυπτογράφησης (πχ αλλάζοντας το κλειδί από 0x55 σε 0x00). + +Από εδώ και πέρα μένει η ανάλυση του κώδικα που είναι το πιο χρονοβόρο και κουραστικό μέρος. Δε θα αναφερθώ περισσότερο σε αυτή διότι στηρίζεται σε μεγάλο βαθμό +στην εμπειρία του αναλυτή. Μερικές συμβουλές μπορείτε να βρείτε [εδώ](05_rce4-4.html#advice). To μόνο περίεργο που μπορεί να συναντήσετε είναι το γεγονός ότι η +δομή ελέγχου switch υλοποιείται σε χαμηλό επίπεδο (από τον gcc) με εμφωλευμένες δομές if, ακολουθώντας τη λογική της δυαδικής αναζήτησης. Για παράδειγμα το: + + switch(x) { + case 1: ...; break; + case 2: ...; break; + case 3: ...; break; + case 4: ...; break; + case 5: ...; break; + case 6: ...; break; + default: ...; break; + } + +μπορεί να μεταγλωττιστεί σα να είχατε γράψει κώδικα της μορφής: + + if (x<4) { + if (x<=2) { + if (x==1) ...; + if (x==2) ...; + } + else /* x==3 */ + ...; + } + else if (x<=6) + if (x<=5) { + if (x==4) ...; + if (x==5) ...; + } + else /* x==6 */ + ...; + } + else /* default */ + ...; + +O επεξεργαστής έχει εντολές των 4 bytes με το byte 0 να είναι το opcode. Οι διαθέσιμες εντολές είναι: + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + \ Opcode Περιγραφή + Όνομα + + HALT 0x00 halt + + ADD 0x01 reg{b1} = reg{b2} + reg{b3} + + LOADIL 0x02 low word(reg{b1}) = (b2b3) + + LOADIH 0x03 high word(reg{b1}) = (b2b3) + + STORE 0x04 mem{(b1b2)} = reg{b3} + + LOAD 0x05 reg{b3} = mem{(b1b2)} + + INDSTORE 0x06 mem{reg{b1} + reg{b2}} = b3 + + INDLOAD 0x07 b3 = mem{reg{b1} + reg{b2}} + + BE 0x08 if (reg{b1} == reg{b2}) ip += 4 \* b3 + + BNE 0x09 if (reg{b1} != reg{b2}) ip += 4 \* b3 + + BU 0x0A ip += 4 \* (b1b2) + + BR 0x0B ip += reg{b1} + + PRINT 0x0C τύπωσε τα δεδομένα με αρχή τη θέση μνήμης (b1b2) ως + δεκαεξαδικό, χαρακτήρα η συμβολοσειρά (b3=0,1,2) + + SETLT 0x0D if (reg{b2} \< reg{b3}) reg{b1} = 1; else reg{b1} = + 0; + + SWAP 0x82 reg{b1} \<=\> reg{b2} + + RANDOM 0xFF reg{b1} = random(0,9) + + + ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- + +όπου *reg\[i\]*: το περιεχόμενο του καταχωρητή i, *mem\[i\]*: το περιεχόμενο της θέσης μνήμης i, *(ij)*: η λέξη (16-bit) που δημιουργείται από τα bytes i και j +με i το λιγότερο σημαντικό byte, *ip*: δείκτης για την επόμενη εντολή που θα εκτελεστεί, *bi*: το byte i της τρέχουσας εντολής. + +Για να ταξινομήσουμε τους τρεις αριθμούς ένας απλός αλγόριθμος είναι: + + if (r91 < r90) swap(r90, r91); + if (r92 < r90) swap(r90, r92); + if (r92 < r91) swap(r91, r92); + +δηλαδή στη γλώσσα του δικού μας RISC: + + setlt r9,r91,r90 + be r0,r0,+1 + swap r91,r90 + setlt r9,r92,r90 + be r9,r0,+1 + swap r92,r90 + setlt r9,r92,r91 + be r9,r0,+1 + swap r92,r91 + +Αρκεί να σώσουμε το δυαδικό κώδικα σε ένα αρχείο και να το φορτώσουμε στον εξομοιωτή με risc-emu \<αρχείο\>. Βέβαια, μην περιμένετε ο εξομοιωτής να επιβεβαιώσει +την ορθότητα της λειτουργίας του προγράμματος\... όπως λέει και το changelog η υποστήριξη για το συγκεκριμένο χαρακτηριστικό δεν είναι πλήρης :) + +### [5.2 Hall of Fame]{#ss5.2} + +Αυτή τη φορά έλαβα μόνο μια απάντηση, η οποία όμως ήταν πραγματικά αξιόλογη! + +Συγχαρητήρια, λοιπόν, στον *Γιώργο Πρέκα* για τη [λύση](./prekas_geo-rce2sol.tar.gz) του ! + + Από το email του Γιώργου: + "Η λύση αποτελείται από τα εξής αρχεία: + + changelog.txt, το αποκρυπτογραφημένο changelog του εξομοιωτή. + + geo.c, το πρόγραμμα που αποκρυπτογραφεί το changelog.txt αρκεί να υπάρχουν + στον κατάλογο εκτέλεσής του τα αρχεία change.txt και log.txt. + + newprg, ο αποκρυπτογραφημένος εξομοιωτής. Φαίνεται πως κάποιο λάθος έκανα με + την εντολή dump του gdb και το αρχείο περιέχει δύο images: Ένα + αποκρυπτογραφημένο και ένα κρυπτογραφημένο. Δεν το διόρθωσα γιατί φοβόμουν + ότι μετά θα χάνονταν όλα τα σχόλια που είχα γράψει στον ht. + + newprg.ht*, αρχεία για τον ht. + + rom, αποτελεί ένα rom module, του οποίου η εκτέλεση μπορεί να εξομοιωθεί με + την εντολή ./risc-emu rom, και αφού πρώτα ταξινομήσει τις τιμές των + καταχωρητών 0x90, 0x91, 0x92, εκτελεί έναν ατέρμονα βρόχο, ώστε να μπορέσει + τελικά να ανοιχτεί η περιβόητη θήκη. Σημείωση: Από όσα κατάλαβα, για να + θεωρηθεί ένα rom module έγκυρο πρέπει να ταξινομήσει τους συγκεκριμένους + καταχωρητές. Αυτό δεν το ελέγχει ο εξομοιωτής, αν και έπειτα αφού + αποκρυπτογράφησα το changelog.txt, κατάλαβα πως δεν είναι ολοκληρωμένη η + υποστήριξη της συγκεκριμένης λειτουργίας." + +Τον source κώδικα της πρόκλησης και τη δική μου λύση μπορείτε να την κατεβάσετε από [εδώ](./alf-rce2sol.tar.gz). + +Ευτυχώς ή δυστυχώς, αυτό το άρθρο είναι μάλλον το τελευταίο της σειράς οπότε δεν υπάρχει επόμενη πρόκληση. Πάντως, όσοι πραγματικά ενδιαφέρονται για γρίφους +τέτοιου είδος δεν έχουν παρά να ψάξουν στο internet όπου θα βρουν αρκετές σχετικές σελίδες. Το μόνο αρνητικό στην όλη υπόθεση είναι πως οι περισσότερες από +αυτές ασχολούνται με εκτελέσιμα σε περιβάλλον Win32. Καλή συνέχεια! + diff --git a/content/articles/magaz_rebuild.sh b/content/articles/magaz_rebuild.sh new file mode 100755 index 0000000..17c237a --- /dev/null +++ b/content/articles/magaz_rebuild.sh @@ -0,0 +1,88 @@ +#!/bin/bash +# Work on a copy of the site or an extract of the tar files + +# Delete any non html. It should be located in the static/ dir +#find . -type f -not -name "*.html" -delete +#rm -r */img +#rm contents-full.html +# Initial Conversion to MarkDown +#find . -name "*.html" -exec sh -c "cat {} | sed -n '/Main content table/,/End of main content/p;/End of main content/q' | iconv -f iso8859-7 -t utf-8 | pandoc -s -r html -t markdown_github-raw_html | grep -vE '\[Περιεχόμενα\]|\[Επόμενο\]|\[Προηγούμενο\]' > {}.md_1" \; +# or +#find . -name "*.html" -exec sh -c "cat {} | sed -n '/Main content table/,/End of main content/p;/End of main content/q' | iconv -f iso8859-7 -t utf-8 | pandoc -s --columns=160 -r html -t markdown+pipe_tables-raw_html | grep -vE '\[Περιεχόμενα\]|\[Επόμενο\]|\[Προηγούμενο\]|^:::' > {}.md_1" \; + +for d in `find . -mindepth 1 -maxdepth 1 -type d`; do + echo \#Entering dir $d + cd $d + for chapter in $(ls [0-1]*html.md_1 | sed -e 's/\(.*\)-[0-9]*.html\.md_1/\1/' | cut -f1 -d\. | uniq); do + issue=$(basename $d) + # construct article header + intro=${chapter}.html.md_1 + title=$(cat $intro | sed '/^====.*/Q' | grep -v "^$" | tr -d "\'") + author="$(cat $intro | sed -n '/^\[\*.*/p;/.+\*\]/Q' | sed -e "s/\ <.*>//" | sed -e "s/{.*}//" | sed -e "s/ (.*)//" | tr -d "*,[]\\\'" )" + adate="$(cat $intro | sed -n '/^*\[/p' | sed -e 's/\*\[\(.*\)\].*/\1/' | tr -d "*\'")" + case "$adate" in + *Ιανουάριος* | *Ιανουαρίου*) + amonth="1" + ;; + *Φεβρουάριος* | *Φεβρουαρίου*) + amonth="2" + ;; + *Μάρτιος* | *Μαρτίου*) + amonth="3" + ;; + *Απρίλιος* | *Απριλίου*) + amonth="4" + ;; + *Μάϊος* | *Μαΐου*) + amonth="5" + ;; + *Ιούνιος* | *Ιουνίου*) + amonth="6" + ;; + *Ιούλιος* | *Ιουλίου*) + amonth="7" + ;; + *Αύγουστος* | *Αυγούστου*) + amonth="8" + ;; + *Σεπτέμβριος* | *Σεπτεμβρίου*) + amonth="9" + ;; + *Οκτώβριος* | *Οκτωβρίου*) + amonth="10" + ;; + *Νοέμβριος* | *Νοεμβρίου*) + amonth="11" + ;; + *Δεκέμβριος*) + amonth="12" + ;; + *) + echo -n "failed date" + ;; + esac + ayear=$(echo $adate | sed -e "s/.*\([[:digit:]]\{4\}\).*/\1/") + series="Magaz ${issue}" + order="$(basename $chapter | cut -d_ -f1|bc)" + # Start Template + # Start Front Matter + echo '+++' > ${chapter}.md + echo "title = '$title'">> ${chapter}.md + echo "date = '$(date -d $ayear-$amonth-01 +%Y-%m-%dT00:00:00Z)'" >> ${chapter}.md + echo "description = ''" >> ${chapter}.md + echo "author = '$author'">> ${chapter}.md + echo "issue = ['$series']">> ${chapter}.md + echo "issue_weight = $order">> ${chapter}.md + echo '+++'>> ${chapter}.md + # Append content + #cat ${intro} | sed -e "s/(${chapter}.*)//" | sed -e "s/^-.*\[\(.*\)\]$/- \1/" | sed -e "s/\([[:digit:]]\)\. \[\(.*\)\]$/\1. \2/" >> ${chapter}.md + cat ${intro} | sed -e "s/${chapter}.*\.html//" | sed -e 's/\[\(.*\)\]{.*} \[\(.*\)\](.*/**\1 \2**/' | tail +7 >> ${chapter}.md + cat ${chapter}-?.html.md_1 >> ${chapter}.md 2>/dev/null + cat ${chapter}-??.html.md_1 >> ${chapter}.md 2>/dev/null + + # Change image links to absolute paths + sed -i "s/(img\//(\/${issue}\/img\//g" ${chapter}.md + + done + cd .. + done diff --git a/static/03/img/gates.gif b/static/03/img/gates.gif new file mode 100755 index 0000000000000000000000000000000000000000..a0105430217be4a4203b6dc3193f71c5b421a592 GIT binary patch literal 96437 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 literal 0 HcmV?d00001 diff --git a/static/06/img/badday-anim.gif b/static/06/img/badday-anim.gif new file mode 100755 index 0000000000000000000000000000000000000000..5d13bea95d0db6c735d8e45b0a2a77715f21d6b1 GIT binary patch literal 582419 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�Ybu?{7U?`8x9L|d?ag0gG zR$g@;l+1iTU7&NmFH4%5Ww$E!^%QbNX=8y=5kV7ylq&$DVd-Heaq=?N(qk0DLS1$c z7nC9gpkM|-0;7Q&E1+C4AVbm!W_co9iYITh$5d2-TR~x8(G_TfQgBa~Csu$#bCy9*Ktw!IMZ&q|BN|YUaa_Ppp2#h^aJ%?Qz33H1 zVnoZfAE?3w0FXHJffz4>MV{h+T{bfJ6hcCIG*?kmG9x`835kV~JbQqQxdJeqg*R%% zPXIsy`gCt#K^tfR9Wj6+8^i?{R0W=Bi-)!ad)a+1g%;JwJUSVTtaNDjL@oH_UNyr> zOi_o-m^cfP5IZM6xAG!EGeWAAV~KQ68Ml9!zA zR|55R09|01qvRYiIhvOz1EXdJLKYe{l|*t=`%S2k}S{}Vw5L;XI6W}WbHU-@)(bqcRW^M zV4}fBHz5OPVV{oqASotzg~o`6sbfs_hB$F>==Xv|NE;ZWZ<~UZ2?Z8dk}85=0INxV zTG3R>7c>erB1U6_K>{(XzGE$n`QC6r5vcd24iVpoAOz z8A8*t6)_N;!(|FFfg3M5ll7>iKw1SVgL&QJf}`=FSacdb@h+D#i0_dw7nKrgHWzw8 z9#;xv#PLAG;adY)B>Qm)d*F}!enWfGQ+nWLm9}Uj{(?voxl?f%1MhZkb7o6#NuDWU zBq|Vec`|j(VK2$kpI-S|{79NZ35QyUPdUe&1lfw2c2HzmMGw&=?-6G%vVDEVj5q}- za%6Qxq&U=)q=O0^VF;2k5NFYlpXsw7f*^xv5gZt@6+!oNLdrL_WKw81n$;--O67?% zIvj~=FG=c6f>M6gvO#SHoRQj~!*yRi<2Xj4Zv*)vG_e9wk~S})C{$WX-qQu1B1g^g zDE{_vX~T$0DvHT-cp*6#93nH%vrL#lZBVy!Q$bMs6m;=;Z_4ABegkDtN1IR9E>{p3 z5+`_X%A}T;g@8#${OO2}lS51_lC2c^6nry(;dnZVay?Bqf^vj3;DWM!^&Ap298=L& zgO!dWS(fZ^CQR~P#iXaJt*i9Rcwt8@i2;B(t22#A13SFi_& zz%?$?WX_rvy6HEqq(O`cq34*X%n=qn7Brb+72LuruNesbv^|~KQc*E;*?~W*2Msku zB}TF#I1-0EH7U)+7ox!=5c5J2g>cCO0JgSR^cIgrE2J^7PulicV5mzg@QZtJ1(y3v z_L8+H)qNU7EqOVVN2!Ij#4TCoJv`Af&GAtIjc}(I7nnHWxl3Bs;sRZ%Jz(tGK^9ux|RS*P^tOOBQ3{9DZ%CWy~H*x zwFVUeg*+yVi@mF&nABykR5#xBqJDTDzq>Jr5FLUOG0?#rjJ86=;fTt^E`*pceNhnO zu>$C0C2^QHK60z>!l*#otIhkdQarFv@uSn?h^yErAy>JRVZ5j(D5L3uU`QL>;)(nl zBt3m{DRX-mm}nz85mhr4qR`7%1X6&Ei)offNZN>DJ^AmaIW`YR@Bc|{p z8zaM0b0r7SF?C!(2l*+?2y#86TP($h6dPOR^nP0#ln>$gFS(qP9&oGIVsk`gji~SpTaXpB6(GIn9BP% zFtrrV0nvP65Hm>`6k@qTxvP&%Zz~YZzsfiJM6Vb7T9*qKFyvixu_JLyP57hEM+S@o zr(#&T9PFyZ;hZ4kW+qhl5gK+{)}UiFbJ9(>8%VNO6(Xsl{8S|iGXU+sPhk@Rb`98} zxp`80K{uDr{IRykL7;>grd&}|(<9JR)mD9EcX*}m97^7!Xh+06B6Ke8f(WeQa$Vwb zo$=XattKC49@G*~hXYf#_bGDKE-CVb_2?8wlU;yta{j_0{JQx(DAb7@6gaTNG2S6E zh|<^v6f_vti+y5$Own{$R7FeqN!iL1heA`(xs*6j3TD=T=4Ni6y&t8pFy_*9xjA8g zhSGwD8%gq?P#3wbktCAEC`DW@0@ijbVq`QtK`t}gIeddRI7Lmh$gwRW^Sme>t1dqC zW8h;mHM4NjBin&y1)4ot`T-q+@~2@a1J?b60r+@H;z{yCI4Sa{?Kpea5}8(}U^c<0 z@CLOI;v0oaAHB-7J`5zA$-E$Y%xC zJ%qkv-V;mV2gfZBfe5r=6MCge5eC$imq+K=H~jisX_+)*MLcgq+L1{5p+@m}MiJ8> zhe`2-k!kT1kH;jm1uj0eUre>SThud}QkffPr6?3H>H8F#Z9GMnA{W?X)6!PqD_nfh zRx|@Ri(Kd50+e73v&yqUZw}|NHRh%$jnqa?ZqBd#T692BPB|f&Ah$D%Vy-^})3;SU zGrs3mYBL1c&zxi|{JiJX;I`r2SA=Z5Kak#2j0)`ol5 zbbIA3Bo5vO{x}3~BwbyQGQ+WbfbSbDMQ9vdWn6E=_$W;7}Cf=5a4 zSt~3?*n~dEK)HROY=KfvXD)5Q+J#dUcyb&3XzJ~Pe5J}%!bXQ8D7MjsDY1R^x6G}p zyP7=xGFkn&)+>jTW*`od6w>W<_MB_e&YZVq%?JmtlvFgtQN&0COAW?txz_Z1&wU!_ zb{z>8rgZeWpH0?^SoJvCK-)GUkrppi1QjF7Y8X2P3OJo22Z|Q4) zXtCC1ss~aY_G3vYUVj~Ol`Ap| z7L;-2;ffV{u0`YWgp0&3db(Ko2*?VTJzVr~DTorHl`0RdIE>*^rb>w@KYj!dV1>(r zDrJ6TD3YN|lqj$08Tk+?QHCl_UNIU~D9S)qL{<%Hr7B4-9if)=7`EeBDe(s#>)I-iP`Dh_QwP&8EevxCZB@zsCc8uJs(k)EISg=mEl}O zk`2TaZStzalLzg>b>YXI(FQ_1m=NfJJ%MBZaOsd@plhraN6jr1P|?zVp*XA}Ugk{H ztgU!Hz_aRQq%v|RT}UXUf>KH)q}W@^Fo}*+EIPwb3TvaRki(6mv;v7Rt=eh>4z0sZ zA}%c}4$wocQXaYjp}e?|?2u9dDdDn$SQu|GmI@N8B+c6M$+4JPdWkX?s(5cD8F?K0 zDyN;SknAARP>KO8))=GBC8&maEx0Q;s*%t4~0tt}i%sk5@ zHQ7QFtK3Qmgq3TalOen07ShVW%Nzo%3i1d_s;1qtobO17BpWiwn3%#0v!hV*Y{?-H zvU0Mn<};{091GkmDU*g0i8%X;N(|K$6%)y(w05hIs|HUpYorjz((5!iw+jTCS+?pk zkQ7M*>LD2^;;X#JQd%g%1i5@DGKheT&x#d*eDu$iN<#?{{GPZB)5aFktk{%JLW;2~ zZKVk_-{3@QtJpxaDZQ`i{b;r|i|b-Ie8% ziD|g=5cSE}f_{|j(U>ITbiQ`)3xEW`R$$>E8TEn{wWh3u%?hM|TIwd5qneIgnc4kH z!?L_*F${cFBrmDC!| zlo*qBbeD=%7sZDGZ>q4wpfWY8kvOXj>!9yFFsYeS%?+)$3L;Bpp!;G-mKD+vdT2eS zLX#mfitG#|riU|a{Us|NegCl-iezE_Y26RmN&pO4LGOoLlZ;5BryJnhEGYtd7fp&| zKndx_R;_YPp@2rTZq;N}Ma#`XnscwKs04ysS;`6yp|JO*2q6c#f@=z+trg^l718L+ zmUh&bf>do|kNHzeWMD%eg~xMla~pn0Gaq%0EK;f2+k9B&wgDO@H;6J?RhE)LR)vUY zVyYe%F=({nKH2bNhU%R7KSh#kLR_G-!CX`4` zfTKBUq0t(BwAI@-b|d%{WR3Hi9ZQacKU&IUe=7h=Nr1-%pA>6=Q(??$w$wL7qKKD4 z`OP0&Whz<$$S`Iqnsj7UmEO3CEJXXyF-vKuFk&wucR^z9T4)7Ma$${%@u5t>Rl0|; z4P57JTcS`?soo`~b+s7^mDFWV2w89{Kr~9;{^pxhWoav}LRFz2b{gbh^JuFvoY7pl z0z0*$3soS_9)`oG^SsP`6uE*m%oCG!wXa%rWYUb{7@w-ykDVHurAu-G0Pxk)Qx_8Mhiou<2SVO6vBVVCm5N?B3xt}Sv-=sK1k6nk!r(&=@B}-t0uWHp4&_iHBfW)Y z1uD1#G+GfyJFcWrID}03-WNyEEa@_ok>`9WWjmL>WPSPLRF)vRvy7q2K|%r1t1LDq z!w|Gv+N%>QSRo6=S_2Rcd7P;RD=NyWfTHE;0%TVstTwt2Fb5!yc~+3I`2a}<<=def zg9I5_zNaNRtfjVOy1x*4=r0WNs6omI#JZyMs2<%?Z*f!@u)PX3i5010Wzk6+iV8TF zY^H7RV}+_FD0?6)EB6v>1slRIKGk9pk?=^x*fMF+EZ$!%;%2X#>v0KK9h0l)O z#e3N0)|G&1Aln#lc!v?wy8D2#I4;%ZAgf?3D^?MW#4hRP@RfN! zQb4H1&X^COQD^~^&WUJ@NN}`Y`M!(V$$+=4wDb&ky1>1229hn|D@`C~K^OR?a&N?g z){le3+x%szRZdc{Vi#)-YqY`|OpTg_BBIC+}3| zb+Gj;T+1u1nCwJtje?)HT)+moat^tS@FvwqJDU4Qc1rZXEQ>0p9MJrIJ*jCI!$)@PCAQr7^@7)<$fFdt< z)2v!n$`V|wE&E&k6gAVwuwYS~0+OL|oLE5gcy~#3rpzQVGa>73hCS7?Vh1A^NJ~0~ zfrXQRyu=tN7$Bsg2DOqO%?d}0+SH+LvSKkyk(S78<;^WUi}y zUHcR?I=ws^5#|&wUV}%UkU41;h+svQ4-)ZJKpKqKsJ1{@u}0p7$Zd6-5m=L39$&p& z)cav1SDj{&;RLgy3+^^R01R*d63Fe<$f|MZYXaJ8Slae zuongbzcQI&u}Di=(;TD}UN*%cOtFeECpF>+;pR2ulJSAudUuFR${~d^o~kxk_0g~f z?nT{L>!jP!N)AN3SMZt7(0p#7QSVOHjM}QX*_Dhh$V(@4qy6RQ*Y2|+DbY2$jhscX zbZPG(Z5+^-NuDQPzIrKEp>^*`{19QblceRp3bkTBQUXNO=H~u(l*^^$@&}{cV+E|s zGQilO7K)p`3jh^30LyAX&^WPna;=WB78Y}#M~Sue0pYJ+PBBj1ve*Yd?##suA-G zYpE6k0D!*ZyC)<*zbK!xVKH!tjQB_|jfuX~S}nzcn>D(;`PhT0Lo866isj|ztqK)B;_ERh|TP#ijyOI;azPP!U$T`Vy zx47A#zKcS?b1P}ti4}XNwW^jOc`0hq8tVHD_o$=0`INd!5%FQPk=ho{+dR*rA<0lI z7Zil|qs13-k_Eb=q{^PUI*m_ZwjOb%C>f#n`#mBYLIx`jCH&-`_ZdD&96on@#z|bG z*Ge03vBJ~}uR2OP9Wt$gP!h74zJgFZ(wZT^ikHO-1h`5x)M&40nZl2er6rpURA;*uU=<0WjHh@J4fAQT88Oh%Rn1X<_{{-LpGWJ0`)F?S1qt)qyWtDh&Z z$cEgZ_c^OpqQdy8mP%P6l?oY)8J%I-iWgc17Ez_RBAu6Th~}fNB=a&jTr?-?r>j_= ze(4vqsGtY2kJEspcDk0Hs1x}s$g0RWYY_?l$vMzC00ZbdN$k74Qvs_a4^!)loI9I| z01TaDGmUYKa14@zk(;)G2~IH=-H4pCkOdg3mUjF!7Sei0$AGPtxXG>4#ls1aqnLy}{uJA!lVzi|wpPWmdilm4th{glZOeSnXo$w6K5xcE8 z3pGIr#e7P(S}U}wmNoj0P~1WgOR24Tn34jC$_Y2~FqXLNEcJ55A}NllNS?Nc6RYqF zsxS_MDI-0T6@;=Uue_Fo0EF(a0x)x>)FOf6bBL`34H<}m11JFlfVURPyWtA}>MF?4 z^q%ABj--JCc+n;x30Up`sW-?zuwoq!D)8pGq+WgOoqJvx?;K z7wY(`omheQxW*ewDWm%g8KI-D^qk)4t%T@}KoFFP`8h45B|1XGR&qYIIGUu1FyV|K zzr2gl=&eiJ9c^+6iU5S~JE4PMfhTB*^-wB6coXwfL}pydocpZ4+X-&MxM;w*x!Vel z*s`90nnuJ-eOoQ~84}0a$d_oY{Gk#z!H|zYgqH)!`V+^8$UwD<2`gMh4I+>*!4PRO z3^`#A)Ho(#;}o6qi=%A6x0JN7D~|vf3vdFR zTm6X2NU2L~P34=Bd?P8;{D`2ixeMaZmGW4alyZ!B{6y87qtwJpwIGh}i<8$ViCokQ z(v(j7BTyPLmL)j|Q+pAoFb?Bbv_}I%v5Nr%;Lb+8ISs87M$5Q2JFY-GD~M|9h~`kT3dF*{&`r0xwW^UmhhdBDlOnFTG;H0vLXE{RE4_WZ z8vBC3tg{vj(F#-BgDOxHaw9@<6FXU;3uIZ#>A)b-7L-!MDAh$0L{|HOE&QB5d0Q(+y+9mWs+(xhe`%Gc+PaUZM{#4U@+gX1 zGzGS6wHP=ELHxNoQvkjLW3;zbFeIC?xrqV1bP`_yz zY6<0|odKauGqIRDaWsyMqoKnefJM#1LoE*$ZfV={XDkTWC zx4HacfzolU_t4Q}vz?>?gs{*G|6D2eX$g=C4QV+%H>(z7dytX9C$hjNf9VdeI7*8X zDJEmGXE+27jw6=MJ<-BfJG8+^Yckt2xxR1`icngHNh~M(zaNx8g{%*eH~`v_!p9Ik z80Ekv`IyS!N+QJ!9O#s@&<>fovKYX|v&pyj5!xS_!teSf5dqG`Ad5HA5isq^Jzz9z z_&Sk#TRj%3xAY#Cn>&mXM3<8V83rRaMM``fkt)!rXiL2zv=i%~*Mp?iD_DVb;?%$U zyZ7;o7@>#}1?3|lxV&@GG`O`YR(Qh!jK7<;*+gcTQtA_t$T^J~4KL%pxkE}N76`d8kHTo7ilmVdjl!O7 zD{?-*<9p4rdJ5-o(1HLyER2apO&ipl9}})0A{o9sDaz;d%S-yF!#LN)66)_$FvcQi zajTOiW7{xFtdo4v=uVD$-a1otU{&{CY%_1`LeM38ysY zSEDQ6!5s3{MT0OovQj<)U90o@F3ET&b{nlcxy2pQIgCVUdt-^76t~}NFy&gTu6wjP zK?yIrlf;?}FiWaHu;@EpZ06)1ruJVF0hj<#$G-~&;Jprb1sv3tvF1nktVZ6~5b6MnMlE_1X5>*K=?=*BW9 z@B36GOD+Y22L2tyRmIF;EdeB^W_4?4lPzVJjy_;%dlc=M8eYrkLQ58!u&%P=NJvjne6XgZbx%8ks6Gu ziZmj&FARB(yhwvKnOiSEVtYX&F*7~l5K|abtn*c} z7N6k;6Dc6oiZHv2&)Ygc5CoSEW>(+=o0BDbR!S>?LqR|_B@4g=i!@|bEIQ0{@4=5I z^iIDUQN07_w2tq&iS4trKTa8z-q2vmacM^@Q`LeGyf&}McqbY;-mfMBEVh^t@5o}5sD5uI(hnQirkO;2fw+A7wo7!I_(IMLcrKfOTT2A7yVX(l|U zx{bd0=-Sic-7cf-c2_^rv)xsQ1)=`5op`_WX?HC+<@ zarDL;u|!C}JRzle@X1z_L)dqGmBBEJi8yriFpIcd)~5A<33g*bhS-Us;WE@~GDZ^w zd-T*W5LqKVi8iT^G+^SBIIFdMsGUBa$T01!s}%|Mzj{4XvpHr>AL4@y_ES| zeD#RSef>X(O9lul{Hs=#l9A_7pg>$=Sg9gIMvN5;S*$PsAb^1Y0AlDlu;L1!D|!N1 zNf?L~N>-~_oxH|MRx6e<_8=@JC?O)20CrXku)?Fy5*H7USn;#O3Z6!nQe0|OhLxyS ztW326HEI_tfcB8=8Ym>mlGkLhva%v-RHzQ4I$Ti&N<^bgff@yH)(RK2QBCqq2q@v9 zzkN*#4rGY$;VNzqp#&uGtJxSbjN&zG(e6$ID*~|qP!eR9seu@yba~CCESIfT1)ADr zv>=3tP6pDrB0y261`Yr)P}HM}y1eH)J$eA`RjFyC>dDHbtJW(D!=?WJ(~31aetM2b2JmP)Xf(-cL%&Wt30F=|vS$3P|-<0+A~;)o7f0<+Wms&DB_ALNrom&1&17 z3f_0CPUfl#6a{zWd1h^PNGSmsgpN<)v6g=E;yy zawVY@tSMxnL>gq$RT#)@IHMFuni+|RS(+;#@m~zNXh^!*WKr6ZZvP!EQLJ-6d5BpSKLab?a(wF^F z#s!0wU3IEcFrpPmY^LONQnuQX#HWRTot=3TnXSN|z_-i4n2j zk<#!kcP~`xm6fSY>o4g05ywzsg;bS_Aq-@cTcA~fBL(0;M$rsgjG~|31#czC``z18 z0*&RRge=fd$pNaspqIUd74tF60fMulfk9zllo}EgxcnfuKJAPpS+bOqZpJ5*utX@9 zOUj@SbwMO~C|*VSNz3$-oaRswQ=rMzlb`^IR_G`Y2Gh=U91@opJOMaPL5~5@GAzDn zt1ts$1;jd-lI0-}8g-NfG>8`n6-?=Oe}UL&98(1%G2~P+IHVXGBAFlgs910WOyr<6 zM4aUb5NX0333ihd0F#U%L>{%okDdH-i#H$2Pt3m+qGLjuy6Ioi(ib)VcP1aabVlz7%Yg}ougbdOlRY27k zR}hhim^32#bRrT%B}EaCQ;^C*~48%Q@MhyOlO$OM*H0=ntxM4|5lH$)yrzAD9{E0RCIYbp4qt9Gv zrCW|k4nux))s^lwRWV>eAx#nW}}x)^2Q>VBTz+#b{i8-=4iJ&PrX)@ z*-KSXYB4(9UdF-_m3l{1k{SDwLW#r66_7wOZyA_okcSeotU^c1n=J^{*1MH3<}YjW zRS4k*$Sh@PVrXF!U=_1hZsxUNBB2yqx>`=e@kNbxVJAj@ny8Cl6?9HfT3(Z*79W*K zl}e>ix4QLDt$Zq`1^uh2u9_&wdeS3YTOdTMzzVVQ4urvzV+rpT2w7O;J%4$QHDrc7 z-|?233P}s9BDhyX0@kH?xdKSIwXYR%i!ZN{!A>|?pv}Q5MVCwz=z!uQv;eS0N(D`8 zGS#ntDe#b0T`64TTNj2A>(#AD_L6Z^>Zc2zPK zTr!bb1~||-XNLQ#Oo&;oo2Cky*pqePC2#_!0ERn9I6EwonHU zm0E7okmI~0%0@;sT#u%LL$WGSW+{sBZmSaM1@}(3+cBgRIN znw4^Ix}fN3%ZU?IsAxLVJx59t@)W>GVie`-7>&7M*itCP@fGmeBZq(nX(SH9;BIJ; zDT>R{pw*qF1fU96pC*w#2sZ%-?nk{*!9@rpzjL4KDJZQfrF?Xqq&QY-S3dOts*Pf~ zOfZKlS_@W&PLggBy+$C3$|}UUrKbo!Uhn%fdOQQW<3y$GiGAape#f`ADc#2%N1CJi zY=9f#7I?Bm7nG+AU4!ELCsPI3&#_8>pA)LgZ!TFAQH0NDlvj(;Vyfu-SW3pt zk+YSy)TJ(3k10;XoUw~?B(DCbwM#02G=nt|#>mZWiaT3b22Hr6u?xlR%4W8Om&atD z@U|q}V3uO=uKn+XK=?D7pT!$wc}U0k)Z3wl-vNgaZPVbX*V6p$Dwok5e2BR_)Ky*w>0hMGgH(h5?S5a2BTU zi*&rkU6n%Xki?py*kz5|S%iqFl-l4xlt7>$2r14=0D=e(5)_>K-iV+W(G*1uE{`&0 z8y?9_r0v&Aj9gi$9H(6dyd{zQq>NB-nozipiF6!#;Lc8X1fLCC;Yg8oT%mdK+q8Vf zU+fd(aY1R6UKyT;rfEiq9fz5XV5)4*#;o1e9okK-R#RM-&{!5w@y1Cklk%KUHAoLJ z0uS&I*&!Ao@L2@BwUb7iTRZVa67|GVq++4GT6hpup;Vz&T%kiO72xFBuIx&4Ob1Co z0V3$gHH=BZEldTOTM=eNClQGZJq^Q^z)6$>Z%tET*~BVv0j%g4yeyHK6$<@Sgfs!q z39Z6puu7BER{XghS#W_5DqX5Jd|7!4v&t9;{5pyvz#%=GEbmm*a(F zw_u8ySfEReL`gJBgiH_cEn>U*RM0pI#+_0`$iP787Rj{@W9$*sMFe_;N7z-Oc-Vz0 zssvlXU1M#=bLfX{IS77SM!OXuyv<+{X3|c1WI&3TQFI4LTnQrZ1WERuLh0B~a3fT- zjGL6>V8mqV>`GK%35Ep1WQ>f%@WiXg&rh_RZ5W>#Nd#eZh3}*UsWD3#nTIAeV0yd< zv`ETpEJ+p26l;h{LdZf`tO(z=llzoN3}J*%#2og0ned#3EJQ;QPLOG$nRgAIm$6vB z^u=q~3|G7cZ#Ktf#KbiqLJw*ND;8S?{9R+{)I}8O1%benwX|1ke1#GgNhuNF>rlkJ z*v3h;<`|NMq!7tQn1X7w&NZ|G9l{&S#hpeF2*x4bUKC4tUV}ij!Zn1LeZHDxI)x|t z*aEegK1~I;R0Xf`n$lfCo02rIcbv?sh~)sl~yU1VosJ`sg`yrmwxG%hN+i| zDQ`^B0bsSs_|A_>ieX`>Oq$vbbL@c$E(KXP(#7b*=9YWGgTqOltYcYIf#Z5E4CKYce z=46|2!L?Ntae9#y;tFzMH5ynGWt0(kCmkXlb)}>yWFX8j$5u{UUBMn#Rk=qTe3*?? z-!afZp7In)lEdnM3ZxP=Jr!> z!m)ToY+%jQ1$JF|#Z?!9E)^Yj(XbNaU1b5XlyjqL1=d<&)g@M-c#ZWZO;jmm1$+q& zs1Yj_DrDM2`(#EmODPMk;u(SgdWIQ9sg1ePeF|Qa(0sGVYE2;ES*Mp#d%5WwiBkE* z9#OdAg%e)V31yZQF@QK+TW=vrY*#T{g=DC9fyLZjIv#6WjpLeCmri!A<(_+pR&`cz zT*0T3EECa}7_DqNG+{;@VRma{AVuk`H83&8u!5~%wBSe?O{dotfs{gBMwFWM<{`v} zOxR%J71$TQ+?8TQ#a%(wT3dj|rdN>BwS{PNXrUF|cIh6w)KX}5Dprk0ZK^4tFLE_1 z05YVy>eHtN0@{R>RpuqGV6wXKXX;K)q-&Gl?*fS4Kq}LfGpiAAX5cZhdSRlc+dFScw5fUakW%aL+XXpOaehM5n~lX zg9t{l1On4R6w=BPcOQLu>#DxG%92Zy<%pV^(5Q`aMiS!AiiCWzx!v4#hb*{s)b6C! zQ8~>79$yr)GU5s^_X*Y&L25`hAbv|VIpo}Dh+RfOO0{Vqkl$>@yDRIczLQJKfD$YD z;Rjlypn=vuE zHs1v)Mn~)jt`5c$%(TJ^2asNiq*xU$V8xs*LKF*!d6e@#{3~aY`7R>q1%?i7i|7KQqiAqN z1}EX+M1WO0f2K!&lIaLzF2bcq`p+6I>tmlV8JwiBXN8xPXl#bbsjRrOUg%U*Q<{QK zsIZ_cW|7YD1ZSXy2x2BB0l)!PZ~%is#VZ&C+)tMzMdv8$Ptci*biT(RE3jahFgzS9 zco-PE5wUBu%9>m|q6ZOii#X~m&MD2=Q$*3_p?37CibkmuRG#RkhJ%U>IHbfOkuf6` zB1u8LVo(t^^kVl?;U07bG^p0FEIKt;hHjWP9Q#6btpKQk;B@3F0AcBfk<1!2x?opO z6$fVLd`eD+8Z(}dp_*LTeqWF<+ZLnCTSxYSdv z%I)M_*HNF+yi#I^k_DYP3(j%MXnL{BF#;nq}C0Dziua(-nYoU%!D6V-HTMq$f>g-w{hZ zda;HeqMKYPw&z6L3o3Mu>}iNrCD43r%FR}xR@BBoBM+iTnG|z1S|tc=%d< zoY0bCwhBZKyJMt)@+pTh4qHh5*XD#udNYy99L<8UyfnGNX3+|FxRbH50CGT9VCao& zddYT@8aN>)YPtOc)j(VrfNFLKXjlp+1&w4CU(?J+P~wn4Box}^HY`=ni52Y{T8f8G zxI2sbOGE#7oY;a2gZqVq?WCS7J?e`|bfVlSL_xttYx%SkZ}i~+e;SpSs~1!d;mo%H zAOKZ3&#hFIpjktRy(NT~F|Q_)`LryK_dWPsdkYj$F?w?Q1um#m1ZWQ(C*mLP3JWAf zq}-6NFnTHRn;_VzTbVFClFm;?6#Tc~D5}5p%4^XND{R|x!OT8gS`1ENKlVOs&5~gl zt(g=k%2}OQ2*FIc^d`bS?o@l^cBdu*g~~vE3TKE1TG4~v7FrtVVwBDzk+hy4MfMv2 zXs(!6^b#0ZP={~P>#*bG5~xEZh2V)j9O9zF!)HopYpqL&X>wJ&(HJi*eSeBhf)}2; z{`zm*3jDg#g45qp^OiUs;_zAoUU|MP)(WWC$rY<@QPFy_Fo9_WnXJ(T04%et=`qkp z+j7dk+H>i}Iechsq%>zPjRh+ZdtxHypoX}_Sd!u*c=1Kf^hjsKB7MSms&qKOB|gUC zaK8l{H^m;gB^)m^P;oSEmzP9TR~V4?Oc)U{vj7MIaDEtl?-~0d)CPTccMuGWG<1^BQgeaS+FTE+TZv zb50u;e^NATZQ*Eq0|ltpX_caDVgXE7R2P7BjI3ZNwbLm4@)gX{dQI_U%k)tplz>=~ zN~1=3f$||H(G-V4XIGFm0>c>dA!l6i6)XUawuMGffoUL9TYb`ex%Dahn<6Oe1bv4V z73Cy+eb_fMVU0;5z7&Cerk`YothsXyw zN+N^NAp=#x0(2-4ASDyINKFh=A1C%aD_{U6z)LeScQWxZ))p3a@-o{PbYs~kM>$Rq zB~u(}TZ@Q&=%`?E^pA>zicXYS%+V5f#zq}=5hX!NXR%#ZAvw~42%dA2FoQ`1IeJfk zC{?fmz>$N1pd5txIo*Um6{9pVz)MtxP+4gx!f{eImVkw4bXK8u#Ia$96@4X1kS>#w za^yG3bv(Y;1sCT+nUW*&VHoM7HmuME2~~ALGc=<#LDC^!{3lq6zKE1FVS{h60-)rS z^~Vb0HI-JwZH);+UjaQ-11jJZS~?RJiJXoGC}eq8*=QBQ@sU$uhy1}ohec?8K=(4Wcs`^=78JEzyR|Z< zz)%^{D55b{mVy_Tf^;{cDHt;}CKfty1Z^cIA|YZ>`NA|RgMCs%m^aiWT~sLC*_bQv zrCPZHAtD1Yppq@pgun)HprU2U*?fccbkd`eBeJA28gannN9(u~my#*4@fFc!1r(Ea zfp7p-fEILQK4HYGc{mqW6c`P3d?$ny68WiCwKPvaNMUv|QdStmF(a*Xm0qC&F)&r! zsg=ResHzI9tO;%9^cLw!d5*?}WEXKnIZ!ykJ%DK=phTB|*cE`lKP<%sB~YwHbEum_ z7fG>>fDx1=(J?4#XZ6<>qUw~DYD4_ec|(OGu~&IQ;CcXG8X_|yuGwh-VVSCLsvM$P ziud)AIT4OWS(K|P94h&7U-5C)2#BqLUEB3(274nf0*IusD;E*~Eg5{zF*AH&AhHlU zIym=}{Fr_dQab{pKI*qe<{^o%1a|yHJeJZjRfeR304oZUZ-=qD zDY+w;$rHy>gxg83WZSkPy8_=!t}c_ht-%E<@N!p)P?KcLj-ti+~*FYwvR6_zUdTX)RmD&SB@+gvjV2mwed3Iy7)K)FE~}VS zd{H}Av$X1i2-tBF;;|hXLM-S3noPENW(Zy$mTp)!PA|hG5Ee_1Yr)qb5C@=($x|_V z)Qc@rVVZdW{3lGh<@yywIZiJJ03=`lZ7gmZ3vg7ds)sdN>gOH*ryb%IH$?0meqkNP z8@;boIiu%o9u_Z>M=$BdWghZd5(gK~!DA^%lNjMpBDHD4STTjuP8w^*9vix%I?5g~!*O(D)YWgk*EkLKM9M5(1J?H7xe0 zWcbHRV#&ZF0~q1)%WPda7e_68Ys^SuDb@nl$CKLIRbqyg8`L74D zy$v)GrU1X_R#@^4JuB;7^H?aOgteF20)DtcRuM6&~<}p+aUsuqycuY<+HDT%dP8} zu&qa3_Z65C2vavbSO(mZ*B*5Ndn^c>NrpmP7QyCo1zhZv z#Zkqw3D=g>w`rrX0D91GO6ikyF;VBk zJ)QWlJPvJqby$kFDMRkRQRvAzMcHss=me>rW;bZ>=fJ;yWpVM$;Z3OTf?dr~+J8wt zI%Q;#!vb8u5`;vkHI%xDO|y>a7$XAbXIB-Bwo_^9GVw`~QP_B%7F-DF&VWK)O4*(y zdSh+jB&n881Abo!tzRhDS9KKJIz3bsZrey!}^MQ5` z8tGH+DM9x#P)(6jfi%R0a9qGc#FArmIJ>}>JP!CG-la*xR#Zm;X6GXt$D%Yd zufIR+&j-GY3bm`ZAjUqKg;d@qjB_n?lw zRfpwEs6Ok!(II-8GedQ>hIedpQ38R$m;0QO9%%ZWhJq3H8Y(o^U!b`4ESR_U8$zjD zo~LwM>U$ELI42QRc885mBkA(28c&YXAwJ1r>Xb8GfO3Gj7VE7RGQX?x6r`kfsFrd7 z4bmYQtsiTf}t#f?*~q#f9>EJr{}`wA>bk&D5X8a*cL+c2%ngp3Wp zwBq<>OOq94Ue+ixX5^ZUp}4gs)yk7DfdG}}vSNjxKr0R`WT6_-HC8MfUY6UJ@jZnQ`Rx zktHd=zj!53!;+CLG7m&Mu8imMD?;gF6+wuyqKe>}Dj^0_u0iC9rNH9|qJ)g&%8I09 zXbLQ`$O?`r;{d~GpqrZ8W0km;N~nq}>PoIU>l~Ueuj(f3$)Jc#V$43xGP=z^jNU`3 zrSpbF&n1nF;`*BN@?L+P?)nwQy5U_URsG^%dEUqc8xayEV z;f&KN#_JYh>i|Gl`>;B#kP{EB5YhTD#s?3AsG!8&l*lBG*t1cx`1Bx&qpPmaqo9#0 zd-TbSELcipyaKIoD^fkYunJLSAdaiEJbb9d5SeSM zw74AFgRGnK)T+Fx0F{fdfsn-uF@gGWPtx7wdUR08WJ2jQ9j~j>zR3il=`n4I666|L zWJ;<(mX>Q#ORrd&B@o-vvXR(@$QpIc;)uhw-xfbS2!H?p=#(sos)(@8gJx6+((Rso zQ2eeNe_YQ-hX!pgEs-3h7NL~{vdliqxcKQ%OGhBa!9qEqLE1kqxvgoLY{F|jf+-zDvI4bT^z{Fp*@trz{L42 zQ?0Dv3?P7}`TXfl>i|zbn|W<2}tGurs< zma0mtiuN3zv+DbbtL=)xeY5R}bF;I%%3#MWE{=sHO66->sXM090NKNYKoztD=wTMt zxIz`G#~taBMO0x4j;z8$oTl8WPTI3VbNrO66>Ke4morG9wu6;ixeq*mL00_gauI|MfUsU8+S3yNN_n1+%~WC}|fXRDGtEqw|%GY$q9; zNT>pl6~rJK`eA|Cp0mO_HAOWBgvJ$CpqK9$Cvi+X&_ICm$Wi-Uu|RCPU)V5wuW&5@$$iE@XPf zS;|td$C<1oP>bj!V_@>+qMW4)LLTiTDj${*cFCn%M$yA_SW>=6*)pX^gClg_MVs4o z!B7TkSKUeR-&t)MBYqzJ7*hnu2LxdQv1iIQ?5nwd&OFBqe!O=w{s+?-re zXtlHeDpGL#3s6`w*0IvmJh5}s9#H}vE8LSdzI4e_vN#a0sHR*EnrnrgSi!kO@GQ}s zYc;Dg*R=!yXC!eGAehKVr()-X{q!EBV%CyZ8mdRyi5avWvIM~AX2b!vnrxnXtRO}TGB(oY2KNdG8V2Bl_|}0CWa*F8-Ep7lWr-^T)w%7 zy@5v%g5W}$GWs~ZK*WpITOb*yR-W6$gshxpg)CSBja4KiJ~|9(kCFxj1MFcI49W{P zi`%K>$Sq!sqhh|M*A(DD5LZ3*%5M8*X2s&%3nI-C6W2O^t9@ZkkTS zE8ftk_8QlKX*}Iz%W3uPkB5MQPRKgvIX{OLf}nF~RdawRGG%%X$_i?7BF zEL$Y^nK}*b%UtNJAc)qmVl}LLA8M|Pwo`>FnI;gcfQBrB2aPj_<{Dghf<(9p8Lqj> zHGA-(DFU(KP?HrJtzi2Fu4xlc(1zA2D`<;qqWF|iMR0irA~b=9oLhV;#F>6}wiN|d z6o>{hs}U1~s9VE8#~F=h!o)I#7!s2in-7z=VT3uuJ*kK?6x zD*`&_R*;$%RNjMXN}z%RtiS-SQB7SF4%=cY^mq^)6$LxQMB@5%F3rhOCL=1o>x^|j zjZX7IKqWm)Kc^I-HBn5+4eD!H!_=m}#vvG2!bY~y#3jfNyz0$M+E@b`xDiC~#wy-G z9NYi_FaQY-P=bUXTr~$5ORSm#1u8agp%T=PzQE$MOX@bs*vlgCU}%@RgtwQ`n{Ktg zyx(xI)M?-X_$6pdu#iMZ}35 zY$lvtMJY_g3R4_n*5&?mDa_n*y|)IZ(OFLn$*7uA&}P&Jj0W^!u5RAT9lF2>o*53pdoR6Hw+fUq{V2FT5;hiyfdk;a008^8 z0{}no+rSmLA_@92-`S983JcqMxMHKC2%0D}=_kP0nT7!%E6BE=dll`{BI+m_;{po- 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%0D6bpDT&glih)j|BUgO=3m7s3*k3VrM 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

gP}1zH0l6g# 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 BrnLY7 literal 0 HcmV?d00001 diff --git a/static/08/img/georgatos.jpg b/static/08/img/georgatos.jpg new file mode 100755 index 0000000000000000000000000000000000000000..45a589666cdf31b2efa72700775d0c13b260d359 GIT binary patch literal 5382 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 literal 0 HcmV?d00001 diff --git a/static/08/img/kabrianisbw.jpg b/static/08/img/kabrianisbw.jpg new file mode 100755 index 0000000000000000000000000000000000000000..4041313e8c56ae64c52de4b73917b5f3794549b7 GIT binary patch literal 2739 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 literal 0 HcmV?d00001 diff --git a/static/08/img/manos.jpg b/static/08/img/manos.jpg new file mode 100755 index 0000000000000000000000000000000000000000..69c2fdb99a5d76f2aed86e66713a483f6f661361 GIT binary patch literal 3668 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 literal 0 HcmV?d00001 diff --git a/static/08/img/papakostas.jpg b/static/08/img/papakostas.jpg new file mode 100755 index 0000000000000000000000000000000000000000..0c365885a3a323909beca729bc1ad7df91f4655d GIT binary patch literal 3950 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 literal 0 HcmV?d00001 diff --git a/static/08/img/tsakaloglou.jpg b/static/08/img/tsakaloglou.jpg new file mode 100755 index 0000000000000000000000000000000000000000..f50efd46f6c7b8551f7587998bd34f749e565bb6 GIT binary patch literal 3363 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 literal 0 HcmV?d00001 diff --git a/static/08/img/vryonis.jpg b/static/08/img/vryonis.jpg new file mode 100755 index 0000000000000000000000000000000000000000..172e5a7df1d7e643e6ced1ed98021d3e3894c01d GIT binary patch literal 3139 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 literal 0 HcmV?d00001 diff --git a/static/09/index.nif b/static/09/index.nif new file mode 100644 index 0000000..e28b4f3 --- /dev/null +++ b/static/09/index.nif @@ -0,0 +1,167 @@ +<--BarTags1--> + + +<--A--> + + +<--B--> + + +
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ + + + + +
+
+
+ Magaz, The Greek Linux Magazine +
+
+
+
+ + + + + +
+
+ Magaz Logo +
+
+
+
+
+
+ + + + + +
+
+
+ #09 +
+
+
+ + + + + +
+
+
+

+ + +

+

+ + +

+

+ Mirrors +

+

+ Links +

+

+ +

+

+ +

+

+ +

+

+ +

+
+
+
+
+
+ + + + + + + + +
+ + + + + +
+
+ +<--C--> + +
+
+
+
+
+
+
+ + + + +
+
+ + Valid HTML 4.01! +   + + Valid CSS! +
+
+
+ +

+
\ No newline at end of file diff --git a/static/11/img/Hap1.jpg b/static/11/img/Hap1.jpg new file mode 100755 index 0000000000000000000000000000000000000000..dd9ded0d30e1ff2a3d9e7b19d62d101f85e1e564 GIT binary patch literal 61251 zcmbTdbx<5n6fU}0a0mp~5Zn`jYk=SZ65J)Yy9L<*0fGkzkf6b`xU)C}5AH1NBFkdI zchSW!zk6@pTlM~W@12>cnyTsPIbU~GpYwfv=3(&x4tT1rtfmaWz`y`#JRX1t7(fw# ziGlIo`M(Vd2kSq3f{l%ZgZl&*_rD7dpAa7pj{pxBmw=dnfRO0XaPdhy(91msHkaZ>DW0qxwv_RMMTBKB_tK!Dk-a|s;TSh=^Gdt8JpPH+Sxle zIyw9J`uPV027QYB5)~cuH8w6a?R$Dg=8vCQg+;|Bzd@yC<@F7XP2lF1*0$ch{(-@v zzr!Olvvczcki{kFI$~pUYkTM4?jGvo^z8iN5`A_3A1(|4*8hU_e~|q@aFIRY!hDwGNWE^$AO0oYUfUxxsehL{Rh3yYL z0Pq`gO-+CiCQ%Q7h^pRU8w4!W#EFkcN<&R#zO0G5R=L9(F?TZc#a;P{1< zoq)OVxk|oQO8RF~%`u=E@cjCdE`AG7xy4fe?Um7H1j(ld!1d{PkXY{n0GbCuoKHqn z3lkdo$&m*Bp4isNH6}_K0-3*k=2k{yyT*agqs8E9kB0Yl(v9{D0EgedK^T=3H?|BVsOtEQJ7OCM)3Nj(Jj zkB_ejM&`~(^PkI<{Ahu{T;u3@{#V=#(_7gqB>_&3!RC|q0)4ff|HSDMBKsWD7)ri6 zvUceG^Z282!RLa|8=4(Yv)gu4kYd)VxN7G&-rT_}eB4Rv$UF)kSc|j`bGmSh<(0=v z8rZZpgWumBknWz#PR(Nc#n4QcXvk|i|K^P~9G831X%XH-jtfNZ1(bc>CT@M8>cF$e z3jgpO`T7$qsTz9Kav)M?GC`IHEp{X7EX$5ej)(LbUMrW`*@=vSKddP6n5Ta((7;uNm$gZV}}syIza(3=$b|m2XVmOq#{16yPVG zB+EH&VJ2Lyy0xel5gs?=@iK`K2pAwH701W=xRDJ zq~`uzSb6+4x8LjU&QXRq!O$7@Ih^TJjROS~JgCJlMg8_eWaAL?yYNO}zPj1lq*8;Y zrbpEPK3p?W*ZZbze}mx%0O9Nam@0@aImHISE|^=WX62#~^;b$CqMb;qVsC!~Q(ZhYGri_7uBqKQx}Ey0Vvi*~^(&E6eF0MP*ja80*|#vG=+$nn ztH8PC6nTwHK>~ChKf9nT?@)3qQilm-i7G5X?<1is~y(PeDVz&@h zuC_t{&u-B={Bz*hob_a`CrHTViMRy2iBZF@0kY4|jp3;h(bL`tal}^~)oEqSQU(Cv z57sY=LmOJd?k9P4@~}D?v-Mh!U68Q&CsmKL8f-Bt^JU0o|8*3&|HP9 zgyJSKPT3JM29TAtYGsvOoty7U1f{-Q3XC>$lM@8)-`;UW8Epgz41qvR-eCj~Runj` z+?*`X_1I(E)X6$p_3grbl!_q@AN@AVT+(U|xRK#`mRok7AgU@kqJy_|Uu@g2ZU*kO z{Yqg*6;9grRU&{bia>(z&At(nD0=5th-Ac!xwGjgUiD_++f?}<2;Zn}mSx7G&BR)t zgoNM)mBBJNWFo)lFEql)sl>11EPBGJ_=iG$XJwGSdqdAQ!;YK-?AC7s*w}d-6UOZ* z%RDWT4f}_f6T$81Acw7(m>3%?Vn?iR@zacavHEFU+Y$fmX{{K|inCdn_kbAW`o2p= zcY_qot>_WbOC)S+ zR4_tw3F#31Ih51WZ{}Fg4Q^^Ig7=Nmrv7a>(Bw#IAh8$`e0mGSu z)H@Tq`GH2Usg(h@;xQJ!XywjtcoVziZ_3;*GNEKY1a3+BQ9B1)a5q`(Dc>5b5b2Hu zk-LxPJW#}%N<>hjqw1RQR@u~5V&khKsiA3>7ZJ5tb&HhEJ`H7kjIVu7W=MKFib2&DBm)(2b?7` zs?E9Ny0Nf|vY38}vzbcoIKuWtB2l6FM>!2yOB4hZa9D=>MI@JAvwgO4R8!kH%PwhR zd)VvoT_P+xA=kZev zIg_LUWY2TGDc`3mQSmE?cE(Fi4ibOD_7K>kJbST3BKOLYDQx8dfHY(bh7&cf5+f%H z*t#S$rqm%qPF|f|si|<~>4IcxG2;BxS2wjmDW45Yu3ap?(k$-4^3qQN4vUbV*7{B0 z3(y5_3tpN6C)!UG-OYB_x781TXcxY>9J@`LOG&R27@@7_lTlqS(W3)-j8irIQI(>f zGBTY)+0U0p#wOWRx5)A49Lh#tmtrF;aeS$|MCOk+QrNm$)NEK95?gh17_4jxXf8yy z^8p=BAky&Fr%hQG6dmRQG}t__-|zF=a2Za^^wQ?&n zRWippUsd(?%`G(X7742(Y>l=t3^|9h?3$Y&)=U1aB1?aX{|=MXt7oIM<|+F0#wgI` z!Yg$TW~QkuQAr04m1R%hwPdTuu}aWhNz5iX06hQP9tY-Rj4O#L;AyfiEAHZ~ztz7@ zKU)22mIGscdJj3=IMhX~eQjb1_MLLxTN4gakia0>b%A!YoR?P(E~zwEK;hIV{g_aO_y zT-SKPmmW=bgx-BWY3C%iD4frpbmeYG@P?3?S%UUt_&^@MGgmO{E2G0PBdz56A*6IY zyRUg_D2CJL8QXL2kFgnSHdYcfc_XN~efU;#!Ngj}-M-Q=Z3IRBZPhJVO&@dF;jpX9l2g zT$m5Zkj)p7b2=`J$`62kNigV1)~?X%l|dc;b8S9eOu`qKHBngO1^}!{6{L;wv`BXh z)FY7tSu**xXiBV?N8fWHjea?;Wo`8d$RLX{P86 zS*4pPZtIq(h&ePQ_Vbfwwr$1s$8Wc2d9U7GH|T`d2Y z$!-mQ?MX7lSE9qXE5`_+g_WY0^?c>{5w;`^JgGfN%F9Ww2K+5}?~*$-?}{X0E9j3G zu)|pex8L7}*wjHr`0) z{zDReWhH?3JR#+?eqEl+_HGy6Zd=YiGHiAEjVKKccZ zhaMlUe;?ra1{xy+n=4e$_pqgW_QYpp%0(HBj1D4Trftnlw$uKa*yL1PCn_&q(hp+T zdnI5l=_U|uUfJil`kE_DpM4XCRSXwLrLF>~$5N)Lw54$7K-tZSr%^)RORg&qi>&Vbh1CEUtg-{+k?LVX`BF`LJa8(qv&HS@?DO^F9Z#z9c8K2h8>^r; z!HVBx?8n`#o0Aa2Ezt`fwuT8=OLZqmo;(QxY)pMJ{O1aj=2{iC`#SQ!chG92ROcWbo_U5nc@>MLuh zj2JPbB`+l2ytz;RGM`&zcNf;#cp%NToRhu!04TIfiA0WGSRk4En8}DeG?8aI`*q)5 z%$+|;y*QfJ$7Zn(iVu3O{556-*22YSw3)YNIPK=wl1Er!o5$T_K+dt{j((0*VWdyu zxev4Qnu(P)V^+Kes;g`5=%~4dKoF0sfO{1DMO$~T#*!?(%TqIv!+`|R#4@ypahR6C zS*91$`X6%Gk8OaJ#Pg5Gk4zbcAM%Vp`AZk?zXeOurq-kTK9CDlGY1fVf3}sJ&7e6k z(v26F-mQ9po0Ns9g`+E0{7B9O#SAMNki_k+`OL(LiivGp!7@kQr-0g>vjpm&nz(#R zGGIKaEE8u>cw06KUamfIQqJ;NnSKD6J^&0)MSjm-n#gKAj^kq_?lCRCOYqH3j$XxY zb-eYff(2!Ym7?7U#5O755l8r}zn7U>|J;(J@&`j*2D@0=yXMc`G<4Zgrmd1Te;ionm;KaaC;hK=6aZeC!o`@lqIDt^yPYTV<)Bni@~O{#~1mO>tpYecu9 zs8_{6Tr{x1?W|6m1ZwvM!oj-880TfF*4;M=9fjle^1AsLOyBxZho`O!R=YOgB_1ZY zMvju38LPDjJWKc+xpnkv=wI_8%Z)BtZ{+{t5N^Mh&2=jHlM9;rBxX`wpVdW9;`}Xt4 zfefP9Meq(xyfQd+xveRgoby;bh9^hg8U`baHaMe0oPsJW|J~EXE4F7~P%oYDGjmTV zanbNhM<)nM(;Ed~HKy&ZF&a5qQiKp*+_*45bzXgyx1-)!+X_76-biJ?5ou&k!p#(5 zOj_{4g%v|-3L!hoYmFUiwVAQEGAN%v7cYQIFhqljSDBM2)GOAPunhNgISK39?Hj9C zj1#>7G<`1eyYKQtJ`|!arkpKg(AK#;F- zbu|sw;1!#HSWGo8fNN7$$QcajrjRArH*8K(atWxCX`mXbU0wOgY|ENky8dM*Rw`cS z2mAM=(_SFGH1)45nWk<=s22CAw2~I??hA0Dj8Y_94J%TetM;byfw#3{; zv9@iNZwEXjZ3A+7FZhj3C}?|L`X;m(P~`>WE7Z-;k|@O5R<=+o_dj?5uy*COb?;wK z&E94EO5C#E*o1`6F8I^gowad(JvhWLuNw|_dto*L0BmhGy!W{qJO8NNgpSl}oIW6) zC<^uf8JQF!j^M3nQIRL5p!I!PJ;Ps4*(K-sCWC}H60MI!#~5sGEtTbou&`2MS6TKjyvs3 zRquI6Crq_hr+NiAZn5U?cl2I0t4m_`PI|$}+7E7f`?zQ~ZFXf2=CQQ9FvqNtwex_x z7_-hhN^SkNI(CxpUiiZY=*9|^nI-R;f|;Q^7xD88##yK9m%UOgd+k#3dyEE;NT z#dqk#H_6W4gtZ?%U#{SO32||`kq`0ICSOux=)yyP^5FOFR4T?~^f2_aYHNwPLBbTb zVX^W&GiF-2*VX!2z=g+bUy2mUaeNmfcq-NXrJJBKj0`PG{9@H`?ifpCu%z7V`Hfax zFbC145A*TgKMW)kI7%2F-s}p{y79xd-T>I;S>*rhru`|dQ}|ZOrpA~5+ErrnnrY)2 z?vYpV zIk~ATot^Jez0;G0?^-*8m?{u*QB0IEN^N;}9l+nt{O-1@*rUW%=fm6_{<&3nY-bWs zk|W;T;Gv)FPPT!F#>jxI6UK5&xm9T#hMhIWm-6WMAun6*in`r_IDskyADrYqA`PQG z&iD73i8c7YNLv3ajG!6(^+h9qn?x+#=!05l>s51Tz`ESh(4TwKSvURy3>w!~BrbN!Amk6NOe*@>D0r(H8 z$A6d`_|E6uYlb)FDi}HO5|^`?@-KQ6@%A3G9>r1T+sn((+jqJ*Rhg~I?^@r{{&h$E zC6Yw;;&p^eiBg@(H46lK{yWXbt7?y$Y9T{+*h^rSAvX6TzLR@O>DKLFfZcn1ejyy3 zABMg8lpj$lw-m1xP-Fgd)kW)%ERBiT$u-aM2V36Dd22qZ6*gSV!KELxw7>;T7Nw7@ z#LU2(_qPEHeD_Syz+lDhcx`k%V*jf&?Rqr#&yLp~jBP;2Js%D)hN%Je;h!xh5LZX< z2B~28*hhJo@RsN0-f#!=5x(pMmDA;*}}CcR2?5~8eGJ>*o=Iq>I>l6r|s z=qEw#{p;iXHLSDj;AE!2!EIIZqgy#Ik3udI_LJ$u!=tSbfJA!nSBVd&p{XpNpFPQs z@~iNOeE=|qC?fW8Te@d&MeI1gbjV)#keAuuH! zRK4aR`wATdx6{-f`ZV;Ft!3U%sp-}3Dnl)k*^})fkDpqb@wV@u3yjk;U)CH8b=*^W zoC_{jrq^pVow5!Ffbf*_?XEo2JWTHTR1kYh<<*p%^|1K0eWM+eAp(ynuPHzHg_3w; zvXCv8w0-)hir_}B#aiDdnep?pF8$7WcYER(0ZaWO#kUF z(RFA)@~-?tP9@7oZYxeoU2gFi4M%6Ud2O`D@3xm$KbyrYKT3ap`yxjiSsr>I9hR}(P8AwQG)4U07A6HJ>b ziy#(N|7r^7+1kKhXl9*T`NYWhn&Irp6~IV|@@y025|zzo;x+>gylcE1!FO z)}p26o;7Nx<~G013DB>=Sg^V1w6F$$qpHGRSu6Z6sT6Rsq(x@kWhav_TL03DOxtah z*Fn-Z$o&aPav98U6RR@AXyy#>%iMD?HJR4Vmd?) z-c4lb^6B_%RY`kOi};D#$B4ZJ?y=aMt&o$-;w?sH`8`=IbQGMK;(q#G6eTo_FgjP7 zVQXua>|8b^w)3qjjU=v@odp~EKY3on-0|-7>*VTgr{sh@*14#m$Sy`RHDEQme8%p6 zrmi!IX1xX6KbBI96S5O4${;sUuM+u9Q)i)zB19U^iiAE&5~St(FL$rARb);?D_+*! zyp856w(6C}$1YVJIewpfVnxA3;uTSloRjw=poBF3CzMxX$pqrG1U_z4`)5~N&b3ln zb$A6d4gGf_NIO(;i@OlU93t1CY z8uL|S=S#`U3wCe{k&_1-7&Rco)}Wg2hyNk`vl*9kMM=oj4QF7{P(CHlF`v}b*)VH- zGWz_cj7rEYq~m#F9Cxce$(rbT;uVYbWrb_Ia2WxrZzMY+%`Dzw)ZGZw32rm5ny2r> zEVt%Na^n^I4HXzYKD){{37e8MC_s*Cg|Z7WHhM5=y8L!})^rxjlFuR1J9a522Z8dZ(omssX{Z0X2~Mscf@ zrf2Yg^3Bq4wc*9hT^+wHeTe%^4Ij?vzdYU7UV?+@z0Sbf$E?4me_E>Jr7D4R6TZB8Z=#QZvJAhRku-aX_lShNP;YVDQ!{)g?oWu!kpzl z6mi;aY50CcO!T1`InK&)P=0J^xA<>w(Y#WAy@znau65AdxSW!mTf;?af4Y^o$*&V^ z2;CO0J;_P^B5;4>ci)~B_5v*eEI{LGLHKSJNhGr!rA<5LxrjS?lcn>GI#KHn0Ws`9nG~Xs|tDFj+$CffbehJi-~_ z@h8_;{f~+&v@gIlVsD#SdgO1P4`WI0XVS}gBX|PVnP6Wh6HLCL7WmY{+%ePeVp68+ z;_OQiZ+T-%-OZkU%F8~!Ur2AYOHUdz;o`mZqLDOHG5dw&Y4gSm$iHf9%byylycHVV zE6tfz6QdW=<{DbFjbG31bl{!yjgjm{9{dC$)5_&7uG|uwGGB4NQWk-nP3H12)kOH^ zKGe3}yl;LnLGeT0<16ZO<>cwh31bW_)*9h8V)ThNv-X8u(u_-@fKt*4;>9kOdVi&| zOrQ7WAieV@CSWBz&BX$FH;vpHqZV3xOTd`A67l7B2Wy;Ygg(8u^boRLQ(U5c>Sx0- zyF05XH+fH-#-Vp`E=Bq|OnUaL2F*>~b7LBM+ErJo=D~bq%tQ>HeImdR1BlhbYR1K# z6}fH`!qv4*wruDEvEDDNVRy)v{dBNHjb|i#u*6$8kt9Cpt;peSdHr;}nI(qd^ac-v z^{a|U&nL6<JxO8~s{&c;vez^F3NsD>Yh%giB_V_gbp=>3ILBL|?EE zV~0nCdJTkm1AE5TC{;dp!}CRM1Nf>M-IrMQRmZ(1)0!eaY4(>g8Q zsInz|7H3PjMLhs8YWnigQgR!AyHLk{-2hWF<=x*)n&oDL7(_L^IPW%Xj*6@zCxZU* zDiwZj=e)NpgG7MFjagBnX5DcJ9l)Z@{RUUsDT2!nPx>7+ zyN5PGvGgr_?A&RD`1q%1Lo?+?hlNLNpzE;wSVUz$t-QK;P=(z7@#!t;qPY#ivd?lc z|3Y-8i|$q_SsBF0g>sv%$Ej!V#C<3rGMd}`M2Vdl&1GsgYF33Mh-rgcfup!U*i#LB%o zBp@_n8_mR2Az-2|J^RVnrR;|IhW1fH3%w@_Q81Nxjj)V-%wTb}U-3Xvj5!K^7l|1V zJRPRtEQN;s?gF7Nk?W1TH@PlfszYe%>~3yS9Lc6*>RjK~cy^ ze!Dy!tD79*?bEx&d-AaHPa$-<)hUceMUGg+8oC}beHf!Wwb1U*)gBwohm%a*rE)PH zoQ$i@Wi@}vr=pWy&2F=9eaP{#j5NHK*Pz!442j3$$*^Qp8KvnuUl6rN63-{_(wLNzIUKu)X zoNhA?RQxx)91YKOEI?ytm0RS&gH>m zENr%9=yufcI(7fJqPZ;lLWoo-@i%~Q-QR{nk^yk)n@iTtQ0)f*w)+AnTI5FEN%qx( z2<=4FZzD_1(icUti}z!22gcVdi5SwDec}v|=Dyp2Y;`b`ex2T4c|(F7C8gasTV)Bg z-)PZg_Ox-!-1!=|93qRHO!nixRjJ%F z=m9o|7@SDPJ05|&mEJIuQJWeRKm z>`^0P$sPIHZ29k?Qx14N!~0i+!ujNJ&hCCF>Bx)uqd1=sc9h@%opZX$_%2)#W3&USgu;~l0WdcFZNxzf1cMd2LB`N}0SlUdo=OS_?7 z+`=q_hPUW>KTuYcD|d@!sgb*_%X3N`nrFsC`ah9=aSxj$-r9);WgZyVm3(yl-GW^i z+X9&35l;2=PyNA=7m_n6)c@W~&pPuL+zNXlOJU(P8 z+?SPI_;7UA1a@hlY#$H#)`(B=)z%>)`Q__(NdTzwJkC#V3=}DvNA8f*`ceD%;x9{$ zyf0(Rx{TlaNw+%jap0pW2fcC8*4qX(Oi|KTLCMpy?x%>F#52LgNjU2e`;YFn+K5$| z*IG@H<1O=o+dvL+ghGG@-zjAxmZ(u)dFfd9vk(U~V|9r8iSHUiwl-Pd17HApcCm1g zugw{}=oif|gerjGO(>vkNEGG0s@WpKf4U2YJlu_x7Prop%Db=7k{ph$lc8MVn zM03-4c_(${_~|nIttF+OHcg1)0>2+`S@U~MN z9OD#W2AQX}pzQ8OvR~wv(zsUr2Dc1!g2bp*MuAyJUeT*sGpiP>-qJ%)I{a_o-7(TE z8$rLOJGdW*k9_)INoT@0w%9aQdVqYXIi^Xpc#3 z_Ey_JL}WeNhN;ZDLb~}WU-(CIj$Qfo<`!{iX@5Btpx-e4Ak8c6;^qNhiM(dBk(c1t z(ltSQ6y6G=ec($WqILi1stfG=%GUP$sgV7nY#Bs_2z}UAkb)Yf^&fhpUxRyB8=9!l z&YHd(m08)ob<#)q-)I?KV0kCk4|OS^338Tv{0HeOM_+C_i-&@rr>b% zKtzqzI~wpam{9lqsqyeCr8rr|oqzv%kR$2MTY#&?uwZV?v@AE!799`wgGBq8x>R(k z7$+@Uo0@a?eZSns~GEb?#&@-?8mC8(GSXypAVpbRDVF{_f4O^dyVbhIU zyS@cJ%YF=jp?i7ENKo>573Xe=^%l8xInKbywdnH`7f z;QW>`w^O*gY;N5x(__Hw%Hbkoy6Kqme)>~QRES6k)GRPtH+t0M#(Yoi!awmzpU1_| z9HPH}`qkgGYt(<%TJ1dUIVK8pxKKqp#0oSKt80vwiO{6!LIjIWMfjc9;Za4JrDCcY zsybY(44!et=b0PSNr$rJ_w!T@!!D)H0eRfW3h3^&-4_MZDg^`-Wu!vG#)aWd)9`nc z!I?I98iSQo5y?M(oGc8;FTCPuS z1Oa&`z;FSfoK{IE5KwOacG3&E+6KLkvI)C5T@u-9(^_aqe{Gt95hvR_+TnofLiSBr z)BNX;Qe5{}v$qd`{DoG_s65ul0TWhBW64oa$=Eck-Zz`P#eUN(@+8^p*;JLE?ytXa z?@xZ9u95*GkaWTFwqoFUfD^P=J>x8pBkq+tqq-} zO(o%;>DiaE$LK41MUuX4tkhS3cjid3?z--A_Z|RDvQJGMC9%OTo#U&aEBxayNfqa~ z`dG8?IQ3*Of|o{cceBmlVCU$|cY$o+=gXq#8HQx`zQ`BRu21!-tY?oTlUvP_2jytA z;ggvAbP-18`(jydIZmW_4OH#sB2G^lLduQ6q*iL@w7Tl=oetg>xY7394|bD=aNdYG zQ-{$tw{<-x5-h<1bGBXdCdP`(RiF&qVFsm4kmL+esy zXD!d~mJL`6p3pQ~{oLx`8k_L^VlRx1DcjSCzVkxGtmjT-b0lSEMO78c!Kg2vskjsm z$&of62OSyr{xW)>yLlLfAI|8;Rw*Tt!u3G|=8K@=sI7RhDP#=>2u zpF6Y&gw_S21A4-kn`Rmhc{C-j?KAbd8l#}{PJDmG%H6NBq{HcmL0gvZAo=%GtHd*c zm97{wA5l14-~#sZqh!XM-k}dK@C!Yf(vyc1@V1_74d6ke60-GqJCVuZ0=Htti_81e z29PXp&LrEX3VeM~TiVB~Q`*zhb?Giz&m?`X77PS)qveqCIq6s3MVXT7ir>a~2&w=h zM+0BiH2yYncJ@tzl0MSq3Lf$R-LiNM>|FiP&B}x3&eTsA)1WSx=RAlipZ9|WF!dDT z(Ua$gIv(`A^}oxJ4#^~UYV$8!zjN->iCffakcny(d)X_%mN-{UG6Apr%u5tac{14p zg!=S1cQ=B=-6|~}=>qE>auW38+^Gr?x1^?1g>OSt*K+lPQm}=%5_e?Hs@OmODbT@# z+I&B=b~huVxnZ&}G*7Ily~&=*wr_;UmTR=B{_q9-txxL{S#NFpJ(I5LLbm|p*4Sfm zyWn_gaIJZ;u65j(1RuiK7Yfg6qw-Y+XS6J=kdIp?8t>g}64WbS25LHjJ<40E%2yV-yj zQ@(#ssw&k=_U1{ofs!|XEy0zBHuD~Te`DNo-7t1_V?by4_wIG%IDg+e#L1ddpnMP= z_5;8!&dP0YBS*k6FNve^^rvo)n|7wL@i}z7gwjQ0b#2G~e9*c)RBg5D%EXz@Y3AAm z;vO?%0QOG|TK_izTK{`4BR=W&8#YPnCMqG?R@I--li(fW`Ob&2Xlq#yP_Zu8sNJLe zbYHS6_o%`@)tTQ-?4oJBKTJ;*VQg-0Nn>aGyt-F@Q$Q({7p42>|2-ps(*f7(U)|hkb>c$#+mH6dpG{kLT$r}h09$~bJSJ>i$Tr} zxDh&W5#aA|Yc1B1$fJ_)7`4*VW% zrw}i&Ex}}AgXKs-o5|@3%b%*JnZHg~olowjf`M10&(S8c)q42?=+5RvktE4hxC5E{Ey+aqbpq3`OQNY;KgCYPTT1gOhDDN?@0Q`wwr^XZ}2Z&%{fh9c=5P%-w6t zSYZ8eJO?C|^6brgs>9Eb=daZ6#D(8_ynVfqq^K25sbO%?`JMkq%#vO!S#tql57> zoi@E85;UB@aA`%*ybl1}=S~(c&~-Q7RSRY7ohp5OT2qIWhpers68CeT+k@h!8(6UG z;7mi(kd=H=AiOMVEvC}CajqKjp+45Lz8oh*WJrP3%y4oId_2U+dr^zZp@x=MjlG8w z+Sw=YmX~o}LuAZYFT4#6r92m_)lT2u8lXt~4z;yfmiTk}I0+O|iG3h+jPtppD#Aj& z8)$RYd%x>Qxr6m}Z8Fm!Em*M*fhvgfFyG58CKd?KUs&Zew4E>d&I9LtOK8J5p;EJJ z;W5W^7SLUA*!TE%Q~xcZH409j?MZXsjKLE0q%R^kay(Szu~@7Zn%Q?J8FUb^JVd3| zoAmv8;tb*9h{V{;;>TG>p{NOVo#5+Eqciq7*3HAPczp>oA!EF#D%y^p& z>b3!*Io>hJO$h^OL*Ag6eijD0p9R$}#wNoAsheH7Wc%|=LMwuAR6_*se%#`cB(KjY zH_R$8epGCFB9(J@Jd|~nuX$H#*kicSdzmGhi;%;2>Q}L&?7dwWDZ)sJVU>*$34VW9 z(DlqoC>y4Y8CzrI4s06UQDg>Y20ahczpd*JK zcaW+O-YH-0#i8~3o^ox6QgrIUPk}AcmdrEk3+A1wkYkj}J%QJSx!i%t+xNR8MR)oY zb}?XOKutzRC~Bv_o6-+#EO4~s;L4^t5N~^Vq#2ABz#7^%3WVpOgjb^?`K;aI=-?TLH=5oX5`ZoHGfX4WbC&1Az;pP16`sLh~` z4}iMNK0!jXWgpaTq3FWS%h|@(C4LuEYI%9|Da(%>;iM4&7GaCE-hJBlK*JQfhLR-D zOc9w+OHIvf85P^-77jbclk_%qObc;2X6(P?4taU^fwMI!yAY-I@Wy!h=;%ZK4eiG6 zu?r*^UXwOoM{gsezIn6KI(Jq>u-N0ANWtY_Nd^9AqVNO&quYc7guKF+A!A{*ca_pO zpxbwy3n3p+FJP*C-PW1f%|Dq&dbw%MqgLPsx>E1tAv^(RrY%Pyp7cs8sXogjn51Kr3WyDHWoAl^KGpafqKKUhpu*|sa z0pM<_+-(~OU7)W@V*k052Kb_yvXal5u7vCLKI|FFus=IF+2ZA_v|6e0vLl^bj9-N# z`0v=bz-UYH$->J5<$+kekk&u)&7W1~n31}?{I3y^aN$JqUSe%S$l`is;0G#ODdguL>2m?Q{Pm<1=TluM%7VdzfRo7?COmE6B*6W>LdSI@d5} zOEPBz2$da{>b8Wzl>JME&aK&22Um*56!Qdk_*O_TN@V9y4kc*%s8Xzk#`l5iOy&C5 z$Y3jc-X@P4^WQU5W8?7G%WpL_IDCkREbnZm%g?NT?NF?x{L?Bdp>Ov8(12PkxKRwe z_lR47`s|0{BK49T;BVX8T>Mbc-LL7D=OWe@-_&r|H`4H6XObroGthDD1 z#J!d&!u%68yjnim^y7rk-Mc4u)VnQYGWYgkVNz+w<5UDBy2kl7Wd9}*9bkc0DY8Hp z92E!uSf?_$gzAn`R4|19(&y4p!(?5yvk*(^2_UdJ)si4xf^Fc&NRuL6`mXh!DgrC6 zUO`O*gEhl5uCL9oV__dHQ@o2gxK(DD%g) z+A&%jN}rz_0w!nq=krZ{C;T#yhUQ#W?(ugreWYC6W1$p91B!TSu+t`x<>dHK_kE+O zgb_^>uGRFIU0;w6cQ*T_P&q5nrKl`rTdaM{!r2{`;g1OugIPX$t<={!@Um3p@9@Yp zu4O6PsH&aOamT7oF<{LoQutTN@UhI8M|@k31un`x*>{GAbFmt6W8N?84E>dg`-=SK zkhHbW@P`~vmvv_72XcGsz}E zI+hPaudV0DJZ=&!@qwmYj}9%^vq)tHWvI)DO5y=Q8+qqfrZ@8U6B$5aIe6ixMkMSi z);Gft#X_sMMo`8H^JX?X-L;VQQz4D$m;$tj8&tuzleeTu5Ap&7){<)y}Bh2gGkezZ;zWK`!@ zb1e1yS4HD_ho$s$T?Jo>O zEbg}c{%bV-<$nOrKrp|T5ru4*X_%IgC#^J-Ug0 zQoZ{%)|;iq36uc7H} z@e1=>@t=opwb(B;KMlU8KAwgxKg%g~aXu|P*dHv>+n~X?QWW`t$l!(Je`|jOYX1Nb zwMb*S)8Npw8%<6>w)llFg~JHeR`SF#yh;}9VlT`c)qjZLLe)vUUE?1G_-fZj@Ybgc znmyIct3h*hZxzUv)yjF17A(TyLdXL$m1R@}umVpe&&KZpYhN5Z7i+1-;sn<8y)qQO zVqpb+uHedWNHKl$yaVw`-Gl#$b`o>8H$# z^Ea920Ib~;=zUwm`mUR!X%`~TOSiw$uF@M=zqMqMV3aP(vb-H1T)ezOmURTNyM%^O>F zZ7mz6>aTS4veWr^B?S82{ug?_pVPn2hl%_trg*O2@57q5jdkJOcUrx@&;3n`sk?`Zi(%5Uh7}Txp?JecIlIKX&8sge@S;TR= z2b4(}Qs6#R>@6M(WY^T5HTaA*Plo!1y^LE!=-gN1 z-|&8S)Zvn-+fU(rFK?gq>unD*m&0Biy3qVZt~RNyXmQw()=^!Pj1+D&WL%X=%|*84u^i~M!*1@DLc6iJ}XbF1A6?%|Hcdz-6;UF$GAZXC?GzZu$iLs!;(FRWPHY7KQ~XMWOR`q`~6SRXwLu`1~CVe=_r6CNJAf7#bt)U<5| z*6K1`=`&q;ZtBM7aPbF_VLZ27m5obBwX(^C;y!a-+GNL4NuwL8<;LW6kZ)x(@(k5F0>i$C2511;};N*FK$2}r~t9Y-5ALG z-@R93%e$Chj5~ii`~vuIB=#N-@GS6IJni;PDph4gT!_^f^2Fl`;m@xFjP2d~_o^`( zoyOjOdf&{~RvwfgDRS!FuKrtg(OdN}rq?vJ{IaFuy z#U910{@5NP(zRx2@8w{`mQ4Jo@U49(_Sw{BiG|h+J_uq@?#TZDKc#%xd3J`)k@w7>7_+6A!s8Esk^F*Xj6luH(Xgwr-at z(z9v?KKb>}rS>@OZ%YDxLZuXaYwo|<>-Oxj@x8Fq zwdhh=R{>www@=6Pucdqopm#j$HhY(Cn90nt=He*OFYb@9`&$+sxGGi%(KP+xMIFueLvC57;-up9{4cTd1_SZ*P>VCCuPE zs}7}e!2V;_zK8JF!KJfw+W-X)0SYoOcw z(^8(S`Ml2`TB@|$w`15pX2YxaO3Enw(It_=Sn>!%>`zMfpBH=$@aOFtqFb+s;Jb%X zwpK{);JTIuo;Cn^Q-o#n;^BTqC3qF{UxYMkt1Ut?4yQ6O0JIUfY>wyDiuS*T-YwSc zt|5(NmF?6VG^vc>^d#qxrYqCL(S+%`b5~DBd6XpYq0;F801DUOtU6R$&Z8cqr^P!v zO3p3ptyLEZ6gGR(B?J}>PUk*h`LKWt@7i0!-v)eBr>3!g;ZF$a{w2J=hRFmrM&DMr zou2_wqgA*LR2{CYG5~H+5W2L5;j$?E&#O zMfm06KaHAhin@lI;ve`#G#d>=OTV^jJx9axCaG}g9KnX-WLuSWa9J5ZDo6y^wtmh( z5p+8rgWeO+WowIlLqgH*ZQDdhCb_J*% z!G0aGzkLr_)F+!yyOV61edWHLJV;sz!4e%zX8gS-{ue~N8l*E&t7hAi}d30g?rRC<_=8fLf(#7ObWaWqgN z3H!qUC`vZ^&i$7B6XG8Pd=-aJ*YDu|+tlZ{@h^z)?cM&-sp{9CJhDhpz+e@UD8U0_ zK!l8i+2hdsMZW!@e{3BSM%EWd(8t5gR$Y5ji&4W_Uuv;L=T5Y@U{}tH($+P&L9rci z2KbZaBXi^b0PQHY8bj&2WQ}Kkc&fKI8-bmQqJ?J9%^79oV_>bfa}cBfSB%#SIy~I6 zl5x9NSGAqipLNa%b5x%?S}p$o;D23APukm1zxb!|BHQ7GrSQJJ@zmNLjWnA}v^MW| zd2w`FJm9ewmWLa@apmv>X1y=RUOUi#Wt$6IFAv*Yc#FoqHoI$G6U=CpwM(fb@}Pvf z6^64#wZ*-(S|yvjX%>N_*6-Ip%AT_+~jZ!5QLx}(0OIm$lL6ztx=E}pkNli>Hky;t^Z z_;IJ{z9w4>-FwA)lvlnW)e|Wy>Qk=c9KSQGM5+b4Ixqo(0)R-)J-6Xrq_%n_(n~7E z`^kQ0{s5sDcfJA^KaFI3e7*kL@g!CP+6$dCSFx5!)^HV`B7!z68v(s>CJLNn6UfF7 z4e(=ExVVM<8!XpX*O1;UcY2(;GE1Z~yGJlNC-;F`+b65XB#rYNH_`t9YExK`s;Ijq zzeLvR{{S`Vt?i+VD7Ei1(mW@n%W$Dw%NW6Xmq1iU5F9&vz!?eJ zykypOr-#JTRdtQ6?`s#)=+jQ!`aM>v=T;h(NX@3Nd+DS6Kd02+{h>ZCXukq9%|BJ1 z?m2axK25i5(%^X$ym7gezrDGVP=n@XfdCxW(-$PgevO^dS{eBsUG`>rG97r z(|@v-xBE`&e*^qR9!oC{_@>U^Q`L08I!Ovj?;Nhdwt!ESBPW=|9zIYD8vPsaW~(l{ z;4KpF<%genr`t;|)xh4-DI{m7&F$%3Sbl5CwWgmvH~doh1#4O?j(_-*Yko^@TTAkM zvPr~K5=m3-A>@CzxOHU}@t5tZ@DE)0k^5h1GicV!6`}C-5^5TZ=gPFP33D<7EST!s zfK(Y~JSwr`zRK}T-bJP3ybE@#Ya^JLl}T`iE0K~jj-!#(bgogYr@8S=PpZz>1{-xY zv0#Yg8^~!$2WgNEir+3rP}^kMH>-w)dTx~VZGH_f!{a4}tgBPqFV91i_$}}=PWWl# z&lUKl%EooR@zYo~rGGrnzWz&FHG(~m5Ecm4RgMnn8Rc@!08}2Pj%9^U86%!5z3#bf zeG)+vhmzJq=56I-U@%ag&GUWU-SNdFGZO-V&}01n04maZ=wnH?uFCiNrM{mJnQ?Ii zygp*aURMaA*@CK)d$SM#?noU-tZx!{Qr}yi*5QjqBom2cXpY$?RgP6u-PLf?ZUkco zKi)Y{h`$eD_>ZHD8@6?fzBe!Mh9Eluf(vNEz%Q?Sm8cr?qZEbem{lDSP_(4XDtEr{S zz1_5WD|h`gIBH0bWN2;#T3+GMt8k8EOX^2hTD8_NM40#GXT#bNlP z;brHEd>5-}x|_sqvLLmcC6NG*7iP9Bq3~k|Yiv0FFnWVsE|2ls!#@x_BX6j|d~Fut zr9*9YfJqxh?1Vb0AdId-1cEW&ipRM4t)s)F+j-ZGae7cB&l1fN=bxDHa5+2-<0l!# zFYMJO*CW>V-rD~F!;rH#7^_VyHEqAHpEi6O<8;-$ALIRU3-tu)mvcc1NT9W(Wmjv) zP6864IaOQ?U;;M}uDmtyrcV#}VqIfG(RF=WRn+w@?>riWY-P4Hl|*>u2&mxgkbr@f zWoG0TR`B19UkqEvpR^B&FEu;1T>|7T*tEa+__|fLkACS(WmlY%fSsiN@ec#uybdF=Uf(dE?<=(>EmgZMR?nc9ULKFe9}4X>-5y!|EpHW^lU&{0IJUC2y+9Ao z86Hy^{{VPfYNlhjeBqcaVR#2$@n^-YdP|E~d^>sIzc^jRd#YJJ`KFF2)3fN78R=>iS>^Td`9thq2h>am%zHZ+cN5KOv)ABSrRGC3PU4C@u-{3RT259 z#E&XW@SpIs^?wU$nw^Z=cC8(ci7szrxE5CUj^gS|*&%r&DjUkg5y)EvZ7@UgWt$xs zl}ZUztlEm*bkgZxrMm6ETO^!3HA=IzT5Epy>i6yU{w(FbE_jPs@n6Re5NW!l&5iG! zr8ME}?_SUB^1_lbl!QpnKgkGBnb{D|NCom6;vd@k_NnpLz#rSASkP@C)30>j4%=JF zW#{Qo+#=h{YYfq;+^x9~F$fr(1B@XizWMlp;Li=;d{@*zvV>N8wcW+?3E~na%OtRZ z=Mv2+WQ+;R7dtYWPDw-tz6$>Uf~aY?68_PU+*`hukodbrwh?O(TM0xdZqi$lCmCZH z8#fgJTovHqLGkB$7 z2mb(R&xs!rAn_ibsKcPg7m4-Bbx94aq*KdnB(oDU?vI$!c7;Ge8IwC$vZMVqc5M7> z;Vnil5=^sPc^_c3(=_cm7%lg&?=vZyIR@8x0~X*rU~JkAe1-cycn0F<;h%+dNUe7W zZf!-i)RFOZJc_~BciwG;M5qFg3{HBnWA>lJ3-hg8Z;IN+Ek4B~ib$KAYs;koq;nZE zSxSIT&~fB}wTc41mR(+Qi&DM({{Tea=clHJCMt|!HzgIz{{RQ`{7egP2zaC6PlYuL zJsZUO#0pidj>U``CkRBWp*L3<(5-pQOBTb>j_6#@_9tHoh9uEnLvf^AYr37nPk#3DTqW$b>dr;7I>RDE z0=mZAH)WI@`nQ9P&+&1`Lk~h0z2512s>#alqJ5LQ+1l*$=rulQ$zAPzcmBVwr2Z-R z{{TOTwfzTCn@_Rv6~jW-+LKv%l3G|f10mwttf4TOB!Z`LBMiBY>-O2W@aKasETr(> zn{*H&#+KJpU2ZOR?9Y}_N}Z&gh=k@th#s?OCG6ejKs{7 znB(%wI;cjB?fw8!!sfnA@u$Y=Z)Rn;y%v!pJ8ezVJC#;g)VI3srjQMuX$XKA0dUV)`}*HzT?n-|jb{{RsSX>V-h4=TOHImD{U zpDPo$C%#;eOL6hfh<+{WTJ?lh;4Bug{G)7PS=PR~!n(SO7BJr%=wa*ra5``@Yej;Ha%!ygpe{l6X9fX1XtrUlAa*@H`g!rK;QN_Osi^X!gTz+oHotv&MSxkuosqq^Qm|=kxDD z)lHNGn3cU*YjDV{?$=@LikgtC8AyEdY+<+ zBZ|h^<;CiU{nSKdk&B4OTbE?j}VqyvUn%%wlH+vPakVO8!cbdXjno)La=#37D<0HLDK`J@v zQT?@~m^OLsR`o9n&tWN7Mi@QDDwNuMmi<8(HN0gBYMA|%w>mEa_{Qf!)#I6Eky#FS zJ!|S8f&T!tedd9zTim6=5+MP;Y;G0t)H0an2Rw@EbPZNp5|b+poxnWSHMyX@#(CJh z3@ScmkJ``Km-fE2@oj~_+envi!G5KC5t{m2!xmP4D!Yzo<&(&nbMm$h?wAY)e-EX8 zB>v6+0JKo>mal6NnZC~K1EU^44^C_JtKhHg1aEv13_|FnY@x;gEz^PieJk9{a|JcY zJ<;(P{0ync`#-=seu<&qL2{`BvYdIK0>ih>*bjQ{rtyS2ZJXlV5fFfm6guGX#&8GW zUn6`y@ouTDUs?pz!mBgLtO*G#XC!UfdHsEeuW|6_#KwZoD_g61(TLBU>>4&XCJ5X0oP{uXX2}E zCTocv2~dH%f5>y!EN~S1cBzyVwHlVTN4tD6_&c7QHjauPu8%?m%=hdKJKHgnV#CnF6Wbt%jO|Xz| zUcc&zJbcU4ep}1&cf_6w{{VuQd|R>C))_occc+WU=hSaa(pcRrFe*z6h{hl6O(a2z z{NzWFql)pfJJE$UotHFMm9^i~L(s!G)KiVMv;Mw!vDw;qe^mHa@ODoMUg~!m{=IRi z&9CcMBXhKxq>=`cQEkx2FPt4gjn4N?nO2N|83&1{@fUzRZK=lg@W!`xld9O;+obbI z=H*z0SXfF`nM)TaM&ZaAuBT7Yv|kwbD$4U%w$xy_k5axzylZJ5S!Q_RD-*hI0$ACL z@^agOT>RjC?eWvZDK@un;X5nkxp-reYwM|`GdJ1PlP1y2I10f;V>xCy`Bag~iK|*R zao3wg)5}%m>W*r3sHWvN@aot6A3sNOAK7R2P`sbV8g`*|s9NfFDRN!(#=bE{;u~ou zj#w6E0};g|2g|EFGGwFk@_ z<6KAwn2EnD#^ek?JU$V8PrUHIhdf4XXS%gZTM6ypjao>WRfZ!hLRJiRkT94BVF*Fp zlb_Ll+9UQpPmP+QU)<^!NhAueiwi_sJ4h3Ga>%13u?GxUzHR_02Gc7fp<0J6NZ;1m z>YcQHcDA~`N~4=plr;3yRq+IuR*+ozw-<28k(-5y zj#*wtP$O7bS7S=3SZyZ)y({3KgY_+2TD#Tt4O-F-R#phjXo7oLVp;I9va@qE&m zH7K9Xjz`?F@8Q8Xbd2Nf^xcEgjOM+Xbd(|I{dP!%+mdW|$4`g)#NHdTZ6f@M)y=i? ztV^=#8A%^25>SR90w3nxwSn9je>*>BFNV6$#@~pZHN5f6sj6zab@VpytEZP7DFw`t z74pFQftgq#7z{UHwSJ{Vp{}8%+*vlKsocdIm2o1*#!y22@*xEJa&kvpo@?XJgFguM zZ6o%e_?iKl-$!j)<^;QyPRV6A5l`g|72PM7l0X~-l0fFTF|_XKNiVf#zE5A3w>^9e z()Ox-5_kEd>5JbDmH18Y>Ig@g)-bh@*%&14P`^R`ubl8PU1!0|r<>r{g_)Q$rj>0O zW#kgED&!vHjt`*~7K5P(d^@IEY7;%Jg`|vD7jS`rC5GYLlat9mrc3@7$rK(0(k%q% zHj&9`BC3psiOf<00QOBOUQy zm*4PEFZeA^nef7WbHaWNu+-$$G}ik)?x}ZV;h=Kk0^TV`3CYKsC(HfRY=*8}MlPNn zlbuIp{b*}OgR3#9J!7#3MM0O zo$osG_o6&b&&p$TBDiU-c{qDYB@JCOn-p>hHZ||l+PEn_JUQSOL z$0VBK#FNSKD()L-ZLem%(Jlm5*HSca%_L5xQQ1K%tYpC;5(h!jy9Z6N5CJ*tIIb&K zxRXfunWNpuwY>Q5?HB##i_9OaRrKnT<+4Z1)UPJ*CSd$J)#QrC;yZ|z(r27X@J7Yf z29h+Cpkv7aoQ$4*d9K+jS2D2x{>kt^}ed1z3(c z@NhjVmGJ)niZz`_;dh4oH{yvcZ?#LCpRj5d#UA|2n~4k?7^=BoE+b}eBiv(k03dAj zch^x}z*}oKvGimouZDp1=Za)vbtIZ$$Bz_aNxnh3E(#pard?xs-H;=Dv zZv1s*w%YJrULAW!L*(4ccLlwS2F_pCvXU{s)|^QKvaZ*G>HQdwvhM z-g-5ckMy|gv__siO{|{s-&e4-)9ut*+$?d0QX$Udi0_5evgM>@Bm=ouq+JEG~n z7;|$OzWL>n6hje0i6JBuc2HUIz9l0)Yw_3irugNkd}jE$t?IW-NxQs~Y<48EJv}+% zy$o9BwJJ|pYTx%#==}P0-Ss=N3>7N%-Xd}LWB9(GcK)_8J|cW-)_x&t6WnSS(mPH` zX6VhHa8IYTax&^E8juD_9RR=-*fh(HLQJG=LG)8szu^wNg;<*_$p{%I$tpiHinvpw zMRKhVv6SjdV?Hfj=gZos2zz3XUF~cJz$XVP4;60eS#)50%QcL2A>>^C7_7N9HDYlX z8TIECyd%x3S{&1;p`@j$c~!nl?kUt{;0o1Sh$VtC_J_A&jzP~qQC#)4%yZ1Xe9g2T zobW3B%yt7MZbwg-Xx*Q#YdW;`N&ZBtidvrI`yJTn{vh~;b*F1O&D1LPl0B4Bl=5z_ z0aJ+;&KXK8Wj~CC75!!SD)irYCqta7gFc&UAqp@Qm{8)sjV}&ewUz7_7Po4X!yq7J z2IHX>{fB_aUD9!n#e%6UIx}!o>cy*O$pfxE}|^*k=q(YhOt%yEXoI zKaP#;yns;sI@HlbE*R&MJ9Vl|*gdd)MhCTA(Aj*??`}BbisqKrKC;VlIINB3@JxN~ zfQs}lho1;#@iw6nqzwGz@OpodQ+Na6`PX$=yZ=2Oh)xn))-q9stqpwEKP0p_xFz92WZiwb+d+%mAh!Q-PdtE7p!(NkY$8+|Sy{ z%JyjdvG}R`AI|sEpRvfLc_b;%*ZF>R<32L|oi8-@XoP3w>_H?~?0>`$hFW&1q_m%B zP|P#(uLs}!`d5f}yWk~-?Yz=UYKM-hqbuBTkHWrp7lfV~U%Qu??ND&6uOxm>YrhI_ zbhwMOG9Ve`f&s2!+G`1RF=ZZyfnTG)7r$ofc{C|ayb8g9;XrJjf6w_9@z2G7gO8xy zIoL-h<=M?v8!>m~s&ZGt^4`eed>O0ULv)@|!N}-(*V>-|{w&}4d&5@gE0zNaxjf^J z{{ZKpuaUkUcu1X08BlFQoF29A(fEaQjV>7X0kg2^eLebC{@q5SlpT+j%&A6gM#t+1 z>`UT3KgV7X`$>splx-kq05?A{$@TQ+y^qG;HMa1DoUu(fiV~Rt7_6vAQMil{e>(j5 z{{Vt`d{?;8HFzzWQkHk51HE@A<=EtYzm0y3>Gpmd)--&*?Y z1}EFlQhW9Oyw8Tj(sb&$t&Sf-_|>MJO4@rzxB)PJXvE1NJ$`H{;QI1C>#fxMV`t*o z<&xg!Av%S^8OD z_-lKiUQYJcHu|oeB$CoaBt3w{5;SS@;*>eg360O9SYrCZ0sM+)_N@*^qF+b;|mB_3ZF-a|Raj}u--=SVmF<7e?mOd3 zwJbZXm$>g6`Kv$4ekKgoIzR03@Gd=T`&&@8(j?YC%c$u80BBo_6pCa5LmW~avCOf? zSxiPf%!}p*1Pbt9+3)sJyZE`M>Jm?`MG@9-puE&|OU*5&hRWT;wTh@YGEY2gCxt^{ zy!6N*p=%$sr^I`I5O}U{2#1pL(*FQZXcpnZL20(*C@w>CP>9x72WjD4lk+KV>*5EA zhmSra>o&d?itLMlE|(%fAh$ZEnQdaC2zRh8CzK*3JjLAVWQ!;!JAArwqbyA0ABLTy zZB^UVzq?1@=2k8b>abNeo92FtZ}a~Ef@k=TR`4&vy@ex`9a%;02=)X@E^vlH$(U%qWFu%Y;-$Yy)M%4&$?pq%pM5O$m$N} zB;X;$hXn1w&3;i%*OyXhT6Mx{`i_rtsX-;Qq1>}9jIfCjkgEnDsBE69GMkr=)Bga2 zT6{h!{gd=>4(c|@E#mO>7Nv`cW1b|!M=N}w08C5>!Bu2D;DX(_EJUX{Q?-{)-9Hb* z@HlxCT9P(DXD^SshsVDZ_@Kd~&!_ljM=;yj-pK=%p5rg)A(w<{RBYWEXUpI|811gc zGS)sVyKym(_e{i~$3WQ5bL(DB{{RHyf^Q9e%C}lnXho)n;=M}N7~_wBl&t&qoC3q1 za#gYpNg2TOi;oi94;m^u%@a&SP4=YwI(*Ed1=s*jCxyxOuTrHaNxE}-t^WY8$j1wa z_Rx)G)bBM}t~7l|S#@QYO>qa8mLNv1cI4w6hB@uQ9+ih<;p-T@Lp9Cdj^W55q@3?q z!!h6kzy-0u#!1dHYHt*3uX6?A`%Sw^HI=hN<^A3MY-LLvF#{|TvXSOwq7z+w&oY`4rp@JOyjQdseSjUz^_<_7?>NJA+k zf*%0j5?uT%`%(V@!A|uE^o!je;Z3}gn+-kh8&YV9M!zaQZ9mwe&*N{!EmG1Lv&r2)5KAl^+~#a|YE>>x`Uczf&fhG4jvx5;+;?(EfGuPsbZ0rF>e}*p4o44aPIT zEQynj#Nd8)>eIo~#WhN*ym$MxJlswyczSNFJsLTGhrSHbJ`?yOP4Mo6YYm2zq(mXN zfkDq4mSc`xj!PcopQUfbeuOY$Il#_wgPhkhCEJ+*%972{@x?^CyTnNZ01h%Zud1g7 z6r&YmBwP}p z9{I>0O6UG0YvL^?D}#*MT){a5{fUwB`2+s|>a7~lqd7@Ei(Vx$+I&%k$ph`$JW?F7 zB>8SefAQn`)2~@jGa&;U_55n5#R7EQU&9ly17N(cBmv5+?ioMu8kb3eU1ns0-Wjg0 z4lx{2nH`V&qb7=O%TS)Oxu10%#k?rt_eUV#fKF6yWgz?fx%v@MN_WSdpn9Hp{{T6! zO8)?bIeQhPQfo5l{vU)ZHtXp^vx0gA89DYiJc{IXohH`C{zz@^lJ+FV*^(wr++^^1 z;P-4WI_~)VM`mgL!sB1d4g^YTZmG-$KmdbZS z1h>~t9vgIgea|()h9be35g{QnUc+@9ae_|3zJzAJVEw5yt!Lry!`(wy@gIXV%~Qda zI;8iI>v|0E-Q7iPH0tr&N*;375j4`|${{Mn0;;pLjK3$w7lsqssJU4+WUlpB^X&Y*Np<|s6DeV`@2#qy&O1BV%aydP%=AwCU9^{FsrA^ZlBsw&+s$g*`}+6R+mc^+ zITJ{^(zG}&1+=!&UP)o9va-OChVxa+W+1^`opxhrau^P4$$UX!plW_Kyo&QspF*(I z9xG`JrszV6QK#kA*+T`4Ba_#A9IFl9rSSg%;#b38iV$krw}`dR3PPG4oxY*0+T5f> zSwbaLkV4Yr`LZ06g`Jc#h1yuNeB1j-{{X>Iz8k)$<@gKX-j#7Y1Z};R*==A~QZVR) zF2@L&-az2|xMQAtBx++YKF%?f^ysYhyK4JucH3U}nXV5HIm?!scHa7?otBNe-^;F> z9Y2bECE@=7_(esYn%8riH;~&s&CAM>`GQ6$j8|X;fEcT1aZ*mD%vuB5_@7nuS znk&1PV#Xy_SQpa-oU!*f9eBlf=Z?Q^zZ!VX>PZ$`9XLo&7S`Zn^UZngv+)yL@fmNn z>bKLY^+PEM{{VcBE78DYIEpIHe|y*PKF2Ti7+P+eTX%Q){Li4gd*jau{5&sh1eV`u zi1Q2x8$QQx0R2sQ7mU6(-FTH=8!I?1B4U1hyWIYLD}~r!llhZdUJ#Q{j{Sb!C`hx( z*|^uK47!yV`$;Dzzpaktik(Nwz0_OKJ{(_ozTR1jyEy5PShZt#gTWeyhY9;lw6QL5 z7^%a1*VNw*FT5Qlixhfxt!VSG{{T|RQGxtNt#{f7hO}*R8DP}ytY@`YiFS~Uy#0SV z;f8ZsHMwN8eLD`e3Y4kyE&l+n=fFjI`c|)kt?g&=O_08Y=dxJ?Pa3wvA`VLDwt8m0 z591HRe+qb4$F~b@tj9i{TY5)n^N>32$>O*jYgmBD>8IN*wW&OA`JIQoeH*CiQ}=Xl z@IH1DQK_Q3Uw5JF-xGc>cxT3TBHVZj!a6KA%By5FXd2pR03hZ`OBR@s)V_M0V!x^n z*qZoi-?2BrYoU+ypNHNblY^XROt-J&wpp3TB;=23{=L88o44(#f5AHb0!q!2ejaE_ zPy4nIul~zg;Hfw^q}#uC-)`s5aWv&QLT}AkD=wYCJ8bTRn3&}p6KhIj_pTd1yV|~wU_#b}P+SEv(C|#pHGsv&H{t#5>M_w!H4*+=ZTH7MZ`&oG$<%s9}=Dt$C zVeD$Qne-Su3Y{d9KDF>Cjv;G69}01TqXguCpXXh~9xAtTtg@=E1~~r!8u_!szY%Rw zBalzz$iH|VFnjS`PlrAsNvxCQx{;o}`~Lt=pF{K>y*%nID9PU8EWXb6J%hx4Hfb&P zp;D{PMfTIWJt3aKR2c-@5R3ivg(FZ zh@7@SJR0i$1o(3Q08w>8wPRl0Nc=w!>0e2O#446Y=XtIV*mE{|-@rc&&!+2^cF;*a z#3OdX2Y-H}`DfpswER`^I^Vz_3gwc0M`WuAh7UBTDCBTHZk>m{eADo<7`#6UIzXGp zRzEWLz|W`C)~tMe)-N@$hv_7@*Kq8ae5iOLR?a{J89k2~?_XV460n(dTta%Nw!Lkq z;(Rp>GsI)*(rZT~zY|yXS^cr&_+jy7bbpI6%X{JNb;`weC(ZU?-8%FGjEBw)xJ-QnB6I`&;z9D=$wHmd(vffP?QYQHt zGmLKMq0Mam&VLCYkNzZjrlFv69(ESIA_)>-@lf_|U%Q&r4T1wts?bUB?`k!-nGWWtZf;jCwW2Nf4 zUGlZCis1QMnT9s7R$exXAA+}9U@h6^16cA z0|$6exB!wkU0dLPguE-FX%?be7-#c?F}NfwL=Tu8bBufX;<-=S`E^f+{{RBD3DqFf zX0)~vY4wc}51F zD<+*OH}P%et*_kLXNvqh)0^Wzk9=2s0;PF=xl&{`j#40eb6MY9}oF<##rqitDy|l4l&X$s##~78=VO)s_Byqh? zGC(V|t$Sy}FAexk`@t8>ccR~4>e@~H%(k~WY|_Q3S*+2=ESp*b6Tlj6!N|s3e87Oh zzKKo|t)o|cJMZhE<|Ncr(Y^aQ+v}P=)})#h^TnWRy36YeW|79vKkh;*vyH|jJ3-(c zPEYqorE60O{9UHqHN1&!2g-s}`DBz}o<>GfZUH~U&CsdGo@w8+ex0c3_tz2pMDccy zZ)BGWxB6|}f&_t-pD;{qOR!z+6^oD>GDd0*Pr^E{gD-3}{YKYK)udl8J1fZTA+KUXN?3 zhq<3VlXsv7-9R&s$L-Q zg#h!;Fmqp>e;xi4$!FnjiF)pxtjcdZFyCy`ibEWeUWw(77K%Ak2S#8{8a54(IqRPv zGsDjj2*MJz_uscv?0S@IDt_}N{6amdfzKk!d2KS%JNhkR+_jWW_}NVJVjaWvsXx57mxH*9>)-ddn$ zU<(j<0~Psu@fX1#5I!zkXm&mo@ZODWt=dTsh;KC2*X*I6O>m7Atlnh6$dYX?z@Odc z8&Eb6=$FAyjanzcU3bQQESgz04J%lOOolkEN~|%PW__%bD`@W9CbYt zPt@%%wQV98bAoG6#d>L!tp9>@@E6aZ+-O!#%CI#eOmZ32i;ZXvx z3ZN?P;0)Kdmf}67c(^Zi`@hkDosTCl#Zq)!BJSUBCU>&VRY}U9a69#?bIra+8Og@( zdJ3~X2qz$8oMV&df6uK_mNM81xy}Ijc|Yg+SJuY+A2TO?NR7!yI4lVS@yP%B_Lv!NBsJg#{^xO4vhTBku`T{n~ZyRUW<&XIl>R$?^_=LX>B97MP z4-NQs0P_pmrAuPS#IZYwGHvG|;YYqJ=KlZ^{7mrQgT5C+d{eI3XwkedsA*0e9wh+$ zxgCK6KmNZi@lX5}io)^Ww$L>lV^V?(SJL30?BY@6Z2^}I3hW~QlgZjR;8%@`&9Jm( z$tfoLEl+m?lH#hado-=N_r>Rdq4yYuR!z${VnB|J^Y&SW` zt~*hWz@8PpHuLKj9xBw4u-3LDTfi80W-Y&`bw7oEV0={lw&uLKxUs+2J|nERU;zf2 zZBi>A&xuq!0BA3yZd2jdQ-<`VJE~pp`Fhrqa1!|VZc6N`H9aw5IW+#&-I!L zR*ZD{{{WZur_0w|F*z<~_5Qs705kP>T=DW-lMbJ!XxetgKk@Bsw+@-d4J(2huO(OL z#=INj{{W94%ked=>Gu1D&?UZ|WtCJsVO}*LG1y4L0rE2qiWQWdr{fQX-?t}^JO!&Y z+v}@$p?O55j-hKk19x75?1%9+ovtcS*GIeU-+Cc=~>=Ev%N;TL$==+sq(qjF2!)@rUO*^H-7>G3$S3?}A#d?G54o033Ww@nO{N z0KP}GypjgD7nl2_l55N_$_f&wgMQJ7H;If2Ug=A~~JzrVlQl?Ifhm!G2ZA;4U(%0+LA0 zc=_#Lsec_mVyy?`rKPlb+}BHUr7407n|q(%MtskiTXOUx=J~lK=RDWMpBVlGTYk;| z02lOFqPdoMMdN~JK+KI4qnqj z`$YH?;*E1g(={a0u4B{niWm3i2<*wZNd%!HzOvN(Nj&y;+GUodcW!Rng`O!{jiO4p+(rgB zjDiDgTu8$k*Kd^kfA|Y=;(adj#g^KNDrxq?7TuJewQZ4=gh56I4?OXXatXz7;j=2W zYo#p}o}I62U(fvg4w^O8W~WiEUA4!@%t<7Ya!IIk`C7JbLeV48{qhk zcbitcT|UkgCFEo$C;Puz?x&5THtFA8tb5h)@}UoGw*I;re+zs!Y+1F7nHtK*GB!rc zUFB~{!*aGvs3j)F0(sKZt%NHk)*onp4Fkg`mV`;``_O z-1n|p{{X}j>XN(Mznahe;!Xf3LD;@Nm2~h>=k}9Veti!jzACj>Yx2jpUzpQ1v^SgN zd2WYZeqYb6HuCx#nfHi7cAk`No^JbTxAg6ea()Nx=(TK>2{;FQn1kJrIBbr-wbW@}5m!UWQmTQ5<`~?h6Wgy(<@xw7k*Pg>PY zao%0#ZNUB&!3aJW> zN|N`VQ>zb3F?NaBrlBMbzyjF=Z7y zq+sah1b-0s{eR9XUm20ANa_)OQbv02r~DYTYhN2$Dz?(j1_yEJf%tx3jeQnVjB%V( z?tFfKfm5R?TU#EL<9~{JXMpYA2-L}PtH6^aWcNRp;mvYB2=Qj6<9%jrXIj2C`Zk}L zQY`$Sj)6g}-;9=WYaTt42AVh_fdfoW86V?{)cAMdE02kn7WV#E+4MU%=sr^^9;f{E zt{y7Q=TT0Bm7=%u^0$7+laS>U=~Ip(+O@x5k==L)Mw89Hrqf>(I^M+ z5!`zk@4REF!EvS9-!-rNOSCE0P_VFBG3p0(9mlnD`nQVy&2ewx?+?M|%^33A${a`A zk<+p3{cCStw7RnJ+}cbVF11^TiIF0}SVw)t@IM~4`E_|qnLmYe*Jb^6>U~rix@W#$ z_}fqMZ-G2F;(G^*_`Hf6&j6|ski#Hu&mVViKF2lO_-DYHcg2qiU3g|wYIjOhW0Q<+k>808>z6|)D-@tFIwd3t;n_J5*G~Gm9QYhjv?v0ll6x?~N zs!r7y^1~+3X?Si6kBqSD;u|={(p=k^Zth)8qgxhet_0GS&gj`eR!oc|bopzu@%6Tq zp!n*~#21&A@aXq&ODTnxJ<&GYc}yID2q%tDLbxQ6UN=9-4I^1~)4VNhXP_#^AQM|k zkx1;sWwZQXVJk3fWEHE4!P0)o1!*c_Wrx;=~4^C_3e-U^)`yS&{h6yz#vcI-V_)KoB=`WV8 zlxNEZEYIHueoBxCKFRwBN8%5M9varHY+y0p>WyXlxMPao!hzd-vbUf@z_|lH+kqT7 zOzAvil(k8>rt(&@vU>g6b-mq;TeNzMDW+a4PQyqFC$GV(@}yuI7Bh0 zlN?{0e}FJgO(U#4Z@b`>9A^4T2nCxs+78rZKf>7R?`*}Vh9e9h z3lqrl#{yzGSmbO)=rB~A1A;g`Nw2TNI?ioBb#z^A=j&^)BbriHB#z?$0K>Cr6QqfJ zBfMw@tg>vC7E4%nY>|&WNDC($m<{SNUp{#6_HohvF=^f^)_hGE(EKl`+bNe+)%Had zw2H$IDwZ)akGuQKsocPI&3Z4!Z;V=phV|_qPtd$N+Lo_yW7MI)ymJ+Ws;QPNNw+e{ z`HgW30n`%c7&Uk&#D50rUlKf1Z>speQ`Njpa~;ZDX?8wF+Y2cjfh`T3e)zS3*A@8ONu=$|v zj@}S_sAIt&Dh1EVPUiWm)8hCeFP$CEw<6g^1Ri(TZ4x_+i4}Jhc94>hCPVN6ZP@RO z^Zx)G{8gj;F!0ur-T~7fy|lK5TWvy1i-aC(yy5rHEUo1}tC1Na@DChCfl;@{%4F`_%08HKN);Gt;4O}T3GAzEZT_ERpw1P*#*N) zW?%|9`A+D-W+Fkf7Q)xl`rpKVh8j1+t8WGA8m5PH)1Q2-5c^AeX3Eud7!uEh_n%1cSGedDT&bt>hw*Q(eUmKV(}X4qi4RF_utIJ_`Bh4L*k8# zTH1JP#TwSAlKrmZSk~ujTR{-X!a~FVoxyCAgX@a%4-sf{e`5rS;U#60%V@3T@?%f; zQCsF2A4=f-L;G2HvsTnty~_(=*)W!DKl|MBYNWrk--!PJwNm!cZEdd+3~MUDrIZna zfs78lai4nl$YH8!c>XK?2j8jsgm6`3qHFQ~zU>add|Bcj2Sq-UY;B@m2?8C?yyZfFemr?pSmF6<1yH z4xN14?V?q0;fs5@X7wbRa;DR>MaKy^yU86#h`uA3wB$D$tk+US7RX|nSt2n3=!<|l z`qu^F{{V^Fmxg>(X{uV?NF=qBdaJQ@#~_RzFhL{ntj%l0mp3qoWJp4<{W4wO_trD| z);qgro-%q{}# zY>a{r=a0be3w&Gnnfm~0I;V&HM>enE?*i-1CFh0XXZuV$V_5~e9O^okgLR!^J9{e)E$=j#qO^sdP;+q7%Nx5KnUqNTdgU5!hYmHR z9!lx8q@!+{wWD`$%c=2rihPtNqVLH!w@rHO->2Ssw~C}_A=2ewqS{EVH!>6Q$>l1p z=EqFGanmQa9|ZpZ!ADm~m06=obgZaVxP<&O>J|W%d=T1#p zJw^P!-~gkN*G*{tK;N%+u}cGzXrI=-7^^T_Oo%1=^w0A{>L_Km#Kd{J$u+<1RgI;sG| z;TASRhq1;wb*@k1R;8uh>ke#9#G%hw56XwzJpOg5;6D{<-Vf5I6W$_EC?KqH7bpG& zisGY%bX033+`Cx&d19&7r0K>wY4SYD(Su-vnnsC$u)= z7Pa9yw7DDPC3_RWtO=8Akb767O0;S##hkc|Go_;I3>$@~}=T`j7trgLto+@BRqk@O4H{k^Qk3ANCl$Z~dCODg1xek@DH{{nTHd z=+EXTe6NNhb_NONwlr&?Wf>$8bI&>Tti?jEHs`0W6>Cg#vt;lOpvbQ(vgV2RSa_@I zdS`+BOmwmV0k;eR(-qlCuZx>yaporO`2PStmF2n|tX+C5gX#DW@++$Lq{iNIm_broW5eA_Suha7R5;xx@_NM#@{0N|2wS8sK7lPmx% zN8Se&pelRxBsPhiMxaSzfc!0k%NMCbgoby_m zZ;2?7MjxJk&TGw}@jM3KJa5O-C)T8k#v9my+qv&vTfj`w&MGfMyVQI`<}YA!1#EmQ z)x!XAP#bKT{wC!GEJTy zVaqB~k8|j6iT(hK#eOeK>#dr8n6d7fQ-SAW*Po?k-h5AkQ$gYX012Rq)D4qefwe&I zj()vs!hSORX7NXj{6^MsS!!>mS}5J*M0RtYqzn$d>D~qK_lf*z8rzLR-$T=wVfMHT zNBd3Myo}Q+b!tx+iKvoow42dit4mhS90e5|JRatM~~xxygo+~e~0u5aPL!mk2+KDSG$i};^X zkLGMPM$F?H>wsEj!^p zqidn)+LoVd<2`;PoBMZLnO+%SZjEY2QOG=C5rfwTpWsbT#5aEmA+)r+(X!qGs3?Uv>UtDv%a>IPHTzcf#2teCXPU@ zjQoUhxE%4C{c9V+H7Au|@zie_a^6YVJzJKVt*>n?(z9CJ_#8hI!dZ?d3nhPhOKY~4 zdRwLKvwQSD-T40i;2#WlSK#-Cq41QNj=AD(1H`r$dX}aKpTxHTWNGohQdp6J!BN`0 zA^rwwo*Yr8N|u%)%H`H;>%e86>9D`Mg#l$i#127LDU6;)dVj(VX5Ya+2iCOhC&T_$ zfvF&ot@VpZE-n|$ASg$9jDRl(=E((k^s4&Sod<{*yIZZtn{_SJo@9#{c^XFZ8HvFG zNg&{<1rB;wyOzyW;xklC&EqpZ^x zj6_yBmoa?K7meoxHc2NPSl68VVDaUQIulw$eP9jtnIhOp3oE>UJF5aWZXYx7+$kG) zCpqdq0P15|y3$P1Lo5c^GFn39A(4L0=%L8Q2GU7Wl0YDJuc5=>QmU#n<0org`>Stf zcAfO^zmfB^oV}MV@2~a!c^&8Nefv<_{7SXbv^7Zdt9x7d4aCI~N4|{O%d#buNE#K$ zR%Z(1B}NC{J%)?o5vzDnH3-(?SpHcqcnOqcU>##5ZcM7>hhPBVdGc=+cnUcDS8~t` zJY0VHBM_MuB0lgS^X2jgBZg84?T*{Rch@j!a9Y`<7qRKcR_Yickh}q;I53Ae9ESN+ z1t(|#5?Zms;xTI*FRaT}m95L~cI~#kFK(}=6>oKHbXvE8EPPwyJu_0&Z{E)4+SJ2x zkV2v|6}-h}l>E_;n+JjkAa3IaiTIiEPs38`*0A_qB%T)A2~iMO9le@^Y3 z(zmnbTbiE`{CBJTM7T+AFDCxWg5$}a9irad8J95aSb=F&62P+)f<``3&m-d9cS(-! zK@OLBscLCzEk&Y0_h(DESXuVA^#(9wZPAk!e6@DQFe^vKdX}SMqqMNcVqw;F$ft#) zVkBANc@re{WMY6F!#oU(fnP;@c!I*?<0phXL}0OfQ(l%C?q!O|qpFmQM8&dCndHkd zWHH(qus|e?u=#7m(e|~Ko{3-A^Yl6DVrR(g_VVs{rkAPS_`~*XiKDr<((iQ}Pd*PR zUU+3t50(zrErwNAY!JX?0uC#C;%=>Ft9&x>TH5Lwquf|&&89uXmXamJYcxgUkwHY< z0A2_Opvld7&ZXk(pNAd-i_EpS)C?97u!0pPB;2JCj-^09D;{tLaf6Xl!Jii|bl-<@ zN8+7U%I&RTvw|t?tqc~{YaCr9k=qhwiwvu~&^IF#3>Hh!+w%zTi zwFNqnwKUpx*Qeg?{(eP&4ftzVxA9i1dp5Hz?WNh3t^U%}8)iO@BM$TTc1(hTeXblIiX~H z0#-#JfI#Qpj31^wtMKpko$zL%@bC7y@t21L*Do;ECo1w0x>)36A`^}|Rv+hz{c8AW z`)YVkSCMQyORQ;^k9l<*NvK-g$uyQR@{z_6lBDA##sZAsj!tXmFWQ^-RnV?~;Hvs? zOZat-C&&I5U24vMEGA`0Om4UZfFQ(AUNg^1^|*r<8u$fPD)U_yyXpDZ_INsj!e(-# zKY~kruG3HQx$}>J{{UmHGsHd=wz{~t`$gQNbAk$i->-kdwsarZ=SS0Z65^M=V_50?2*+_dFWHTv z9=>FF+sChJ`$NQEAATJCFteU*LhjO4gl=Nj2s51a>QCid8h^n;{s(xAP&UI^p2>;B zN%lv0lY!3V&mF&|P8$hT!TT!repk2Ou(6n^!QOGP`RV&u{?7~WcJ2wG$%;=eflDf~OV_*>(f?GpKM zHKX7W(nUOm9>iDF@a|;lMd52dem{!!K3_M(tE%+&d-*f$kN6?)i^h@hb5(+5xx2K} z?sWZLYe=IqdGN<_vCO4MP|?e@jx)Fl(*2>VG+)?zayt9_LFHc=}YCyV(hGKq#<3SaHQfvy9^I1z^MR?SCGFa70rQ) zo1J-T=I{7_TORgbgN_=HDtEb|E%}>ANRQnQpL4}}Z-RVq-VObo?<{r#o*>l#azBk? zLD%SCr@m{+5%9ZvS4XAzveiBr-)OfM?=9Ecqr0-4Fbe?M%P1qM+ysC3&0Z@H&jlN4 zb#vIGD7RtM(xrt=*+{W%B547#vdJNTj zt4Fq-qhW?qf-9z+Bg@F$$>ymBr4#Mn_$A+huRML>Pa4gAIJMC2#5;&g2Vx&MKEQsy z#;bfw@CB3jg6LUFB)3L8Sg7X*sjn3H3;R}H{1x~a;{N~**#=wPa#&=ylP3rU;Ny>| zVKEYgS=FfDyw#Vv)AXDsR~_V1(lkMC00X{r)PJAwuCB-TcHc4v3_YtZ-avyZz{ecsr%Cf32g*sw z^cCXQl&U>XcAW@ANR_W&6Cadw*cxI@dbOaUccwPPP#ivgK5aeC)T5u)5r~yatE(kIpXw2x`>zT zgMd%5#wpP2E~J%X*Vd_t!ECuF^fb<8az_X2RqWH<8A_|z(QRp@VUoj~XQ8g=;W?L5 z@eQ(~H26E1dwbWO+sClr{KML|M~HOIH^SGJH-k~Nxx7q8cWOvzj&e8zaal@~T%xU| z`W!f@&a_=RZC$RrA58215AiR7yi~p*(e-4q5uiW4c;kjt10^I^I6eDzsoVDL_#@>8 z@sEO3YO9#%I()G*vve*Bka_Em*1j0kei-7ft-CI7O>lw9uT-dd_BmPJa&FCWgmQJAb<* zt@4IE{n5^A;jh_?L(}y?i8>@RTE}#d^5*}4V$Mca}5Pa|`h`eWnI?3J&0 z*4jqXW_7lWa@ffrb?f=p%$^$kkoCP+;>Mq$%(Gm^*BFz`ViRt8C$%YPC0msZw1LEvtGdwq*NXCLwXqKuhWKoiueG}U z=OJU^-x7GYRuf6~NZ``ulHz$}Zz={>Dpv%B+!0RI2a}S#?FPNG!QU2qJK=a^?PtY0yh`&~>9-;SY(kuQ zZV>E@4t9lLI{AdLuVR*ASyYTEK`11w_18-)d0W4iQ{~=UDvO(<>)*d$>gVhK0Es?5 zcpKv9h;O0M{8OSXppnOKXp*w4&*Xmbop*q{aVvB=Dx{7MYpu|{Wp5sXB$KU+n_|%$ zi$#X$EZ%5lR2zdVq%mR%AykGuD=mIG=pVC9j-TUY)czp+MU?6~Manbj3#-BQnAi`L zGs^7eAKdc$^NRItJNBjcXYhB$*1GTfCEg~`^$S8GMqNfrgDfN*!7a0X>7glY*x@`(W00ss+ zfsdQ~QTum6@sGf|g|~uN!%MAdX!jO+j8Q0zZ^q>jvlK}(gKwG&qa5;0d=`E=YhDHM z_5F^cYc=K66PtG$mGqZV##HUwh>8W|V;H~~1Xgu%P>okBDMnYjzmnzG&QxS5^2lDJsRWE?1dLaf*!UmgAH};(XW})Ek>YJjPV>XwYV)aEp)rK*40|p`R}IZZ9Wb6uH^08=cc>=09vE%FB^W>*545C4~H*q z^;j+9yI5h3q&Cq@wMO8|L2v`AjmPF75rA7O=f59*DQVsb_$6hd-)b^GuNVAHH5+&( zB*{1!jSG@ge@0L3Q)<$deNl=Qiv$9# zh68YJn8$kg-{Y6XTTdPM{`XS0-qFhbVywLa?Aiu8XN>2$HR{f~sYX1BS?Q;5>qYZB zu(?+zCBpaRv+}=hyI;7))_y7L{w&nwxW2qLRt+GKK^Y3MfxyB7GC=50dV73YxYQL= zStgzcSgOS&n|?xa2VYU!rhV&|z1L&ZuFEZ)Cu;rYW0uD`JoTy<&z_kl~at2*T(Sct91VWIZDh&p}?@`wl0MKWeWY-uP8@878~2v}vAMB*+LD1IW)gKhD07{j2`~ zW6ulxOx2#}!|}%Ygwq+GFyTop^An%Oy$}8gGy5!9{2TH1wW-GP8`&*YE{mx~iB3+; z9-OE=^%(W9nS?0fryLbXE^FJFTc-N@bUyP7QPQUC(v_9A{=Co2U)rz0ULx=x#l2@q z*H+?Noj!Jmvl3B&JQ4NlTV zmJ-QlHOobFa$_sxl6I>W>;e8G{{ZXad_DUD=^h5WivIvgTWwy^PUVW?Jg^?2$Klj> zttE_{DLgzWsd9c@9lyx#t%ZbYD(+8S-;v;7vaiGM6!>#li%@ucm}JVz$eE5+>PZ8w za3AncABI%_g@E80RcJIeJt?r-k4@{o+ zJ!4M0(~b3Z#x)0+$Q>DSIXy-V zeSS%fojEFr*~zxQ;IEdK?WU;tjxEaY_~}R5LrBF%KD}Szf9mD0+V|o=hJG(-)|WbF zg)NS_ZTz|CS(T0Nl^U;}>al^!pi#AgfHRDPUoB4$+0N5~-p3-ok^O=`G{NxK<9sRQ zz}I?|4`*RQK641;hPDkx(TY}W-v0o9`T1>Q!4FFA zzh=J!X#W5c{xxWRAJ?zOm8I&^v=ZGD{-o?;zncI*8m(#Y55-sh9bHv)n~`BA3QSiD zz?=dPLNmwKr0}Q1%k3*w`$f{Vs@i44obbb@G2Xdr;^^{8DJ!16Dl?Rov_8(!emM9K z_8#~J;(rLggIC6SUyojBMdiqjNLR~`WKv;)+afzNsQ?^-gT`y%E98{i85?=?4&crF zUiI`=v+*+1R{fuK3pKVHq_;QFL||@89G2r8^2i6#jd|CPv|GtMIj39R=-O_PbG^RJ z4XwgFo>}MTP3-H=d1~Ox@pU;8sjZ#5Y1h|xsozr#?Gxl%b=O|kdwCci2)+_(-x@qq z4v(a&8>!t=J)~POMMy*K z==_%d0FUHe8w{MeUg>JQ{{Y}G%=sBK`BqK1Wgz1f+ITbJjsB|`xM-L{yyu}c>+t*_ zwAHRtRF2$F06Ap9>GY=fgT)c)7OfO<2-P?UM%;ZX&BfGtNZ*?Wq{{Y~e*RiHCXX9;39zW~W!T$i8n*MwBZxzV$J8sH? zbK1XqKj79KK6-RNZ&chW6wY1ORiiL3;wZ=+~kg*jdGVdfr?XreYoV;1q?Ep zKScV=j)?2v)KcRmM*st!n5kisLg!&D%zIZMYvLgk*&y@D-CZt|twP8-0OOx(iuh?k zUdLq`{M}9aD+}Apa3e-z>zY_?}j!3RoO8C9!KFgH{J;2Rw z!K>P8Nxl~hPrpiIF5g-5(M{li7Wu?8q zVpQ!wSd+l@p-RhAYSl?yllXT@H`Ay*fa)7PaC_HH@nctp*3op$D#jt@AX#qYOqDq3 zJ?qId&xliLzAuw9Ja&xURG9t|p1*~CiSU!*lwTSAIcUw{>m6z|k9?Eq+LEM~AP?e= zxexePCO(B)HQ_m{r?T@j%c@bUN>x+UKK9V^Z`jkrHXbhVjoyWKcO(}P#%>3l_bvx; z4`W{a@jLcF()?B7$s)LkLS!E?2h2X7=hm?_uh_dn@rRC#-VfEhOQdRgU@X>GR$Cnp zbaw;-r?JLy+Pw|d-iL8UgwpZ zxk55=dRt?Y{hj{+W1kQF9`Q7KfSOy`6_w)iu!bh>-`AymBWfDnA3V6cTOb%yca7N+^TogF9-Y5Bni#nAFKHCwwfujt^F8+^ zHSWF7r2HSGPvb8eTzUHCmX%?rks3xok>ticW6l(Rg>)YqG=Bqlx8dHW;XPAVv$nU? z;4qoslgXYLag>%e9B)>EzbIUsOX z+}@4RabH(~#MYfT zMx7L`YsymS_S4U`y-yc5uY$w4`)ZBdKXx(fwetJlq4WO$?d#(GL&QH4w4VdLp|gj< z(Mf9XX;z7C70a}TG9+r)UFeay{{U!{z}f|mfZG26jC36y`@$a%bo=Yi82F#}H-Bcg z5!_f>sX2~E83CELlY_t<`VXPJYXn{<{h_TsA$Xrcv+*U0_!X`$?=4|NTMywAr^h(GW~zl}e$r^Q`2 zPViE;v8T?mN-krR!5ai!*le5!IKcJxth>M2r&;}?nppLwhr?bw(3q{@yN~ShT|%QN zG=uxVe1(S$06ETU_3y^N81*QxqK4+ktav2L8ORyzYx5ia3hnXA+ryqR@CLI0DKs~C zRu{tni@P}h5<>iPHtqws-bk+(5~#v*r54@#dGy!IUzUdN4>Y5R(CUC)RA z0BD;e_<4763;3%_*YE9ELnXDP*V|(ss8{6yj}34;m^YV0Ee0v#19zw zOHS7OE2i3!rA>Jr`#H=w%PILofW!>)Gm(xfGz*uf5B*fX^k_+zZ_%me}b-{xbS|B zVGQy;tccM~aU$+43h;2HN9XEm;Mtjg=c(#**1OLgcuLd3Iu?xc+`Yx#sirLMtGEdF z7TbbA+%b+uM_gB*Gj2TQzJm_5xxr1w&Qa_5f=P^yx%TNqz^EA@< z@XVedy;zj($j*H$qH~NFG`2ORN_8J371@{{pK80M-AN6~2ulZJ#yB+HYebhtzj$N^ zDt$WFL-12bi&FTTql=m2w}~!M!#E@}1C<k*TtBCmF`*Qfd_G!~?&WGX47_{w4o^{kBE$3WG zyCh5q7#%UxV0N!O{g}QOd|bBp4e<}f+QL2OhBU2y81FS1E{j}6HOB?EV{udays#%} zagokP3-NdMi`RZ3YL|L(@T2NFW|B&->4Y$lINVsD<;8qVt5$-I-!0YdwC20$-pfPi zuoWZiWrw7>`DJfKZ7=to&xHQ~;Gtg`KWKjtHiVi!fSM+=Cfm8Bw_h=1AP3HP!5KX> zn)-W6j$eiPZLO@c`IaFD*KC(jj9`v%Gw<5I2KZ(1Pgt_lrMA#CzYb}soGRXGMdl6A z;gAuG`&X=6{?MNgye}Dp#W86Ynk>t+&9uATW9RR30X37wB%G$-GFp4r{{Y*suT$E_ z(!|nSl7i)ZzslVYNBHOB%L~+(FAh`ZWhW;%#~-J?eEZ=GJ8z7?AN(VrT}T$j{{U8k zIq`AiW!^V5otfsXA`^g$#*PS&uzy(oLA*{{1hL?9wgSjDjR)fFqSZ= zdjg78b`g&K`eawAd>7OHKHK<$D|>r8o4@S$Fz+FBYpngXJ{oC$ zD)<|ynC*~wn$WG_jxaW^Idwsd@(JUfnB$7|op{p6LaScx+ubis6|LA$nsnSG_22sS zJ_*uq+QU$Sb-`$)R{-)34|@6|#@;?Z+OpW(2_<6!%>iaRt{`9t`Hv)~ag&l%4CI4e z1>oCVE%m|uwz`+tLbgSg!7l7!d2RsC3HIZRB#XqlHl3MMx&sqqME)~gk`2^;f{oqN_TjqxhcdLzVow7)35T#O&BP z2kH(hMh_8a+El4=3>Pw8kV~V;HT{Opm=*vg`MS$++Vgf z7r0_~7d+&Ff%sPo`$B%we-Hj7cs6*gbo&`^rBZz4BXB;zf1XWzd9P^q9vjuJY^My9 zTFTK#hqEalkJ7JrKf-c&rJOCrybO#6*KnnWbImEnaiwQd-1J+0*ZGeRI!dBy7nb|I zf8ZYd@F&OapAH@-$YghodCv78{=8Q!pa9aV#ZBgTC*nwAYuPSG?AeLm7qlUptr z9yb%z`}17Ch*_Fq(j4v`M@spK)90?`vew6^Hj=wJ?P}xf(mJjP-O%&Je*6Cb!KC*q zfBO&oLbv|_o<25ta650YwIBN>e?NM$49-c%wk!9;{tWfI`+w}s@p{WY@$2GCNx$#q zv0weCUtN~M)v2!c{F(85S0^kV%^!=}mxdnjoC5BuIO;!2;&tr?OG$oy2{_2;-{<;Q zw@+gUP@zH*k`8$}u6M*<8;eu3Wf(1-0#1E-ALqS%b{jBs{dq(+> zPAS%!gMu(~irMjhhNaUPw`G?-eJhtct=}u0SJY9IYQpI9>q>McpF^RCS!Pfe_5&uX z>T@H5)9Ko?BGr@*Q=e*NleN+LK?0m`_LcTDshCDkvUg&OQF7#|$E9?h3A2@Mv$&LA zaC(3Gt205-R{| ziIv#-m;iysO?N*BKWCqaAGFSmc-|1VvGO8sEsf2}!@T1=Lmo5rHIe%>e$Nv8bMZqy zt>?q0$IH4fN5+4LJXh$??33`9!T$iWrjaI>quc5?e{FFs!Jb1V_QwaH1Giya`6mu6 zMB`Gg!Pn2zN7wZ}2a9;cVU)1=S9+Rsx?Z}U0C=1J39a#KzYfn4pK&M5v1Gkp zsq%|s@%67W@YcQKPk}xn6KU64mX&vG`SQ->Dnah280Nouyek!svt_;yKFUNNe`ylk#c65&0bitFi3DWgY-4@IKC2u(^Thl`bj3f^=p01 z`P{F>n$%iYieEUkpWN?%y&sm^7yK0y;)buH9XT!ZsBR`*lHSJvSy&$Dk7~K$ABp;g zzvX?dMw)EycVm`sT%XrI)$YHv-~1D%%i;cudE%b}+Dmt&z*(+rH+i=QaEs^{t$Ov??KVE(a%mDg2d znthsI*JIxF!*8itfM)}LeBkHnoL6_@dwrUEMy|3bI2%+Dr2CG&z4`R70`T{Y+905i z%OA`#20H%$BVF%wyGcOL9GIRd=vO8)?Y zi+I~a)g_5+ZZ3Q$Z*?WDjmA=GEs+ie-NUkx&!MlOj4M~7=I>{8wM+2%>93*JHH4uh z7Sx)v+4=tfT7Qx6-?xJ5S}*J`7O|q3n@fVq&dfxGM7EacJkZS8BXL<6TJGnQ5}qDI!@9yjP_5T2ZcsP1$H7`$2XQkGQt-kJu=(mUe0N}3Q z1wI*EOQA`wTHnl)Y%@n25Km0!Y0iJI;azWy{{Y~neiG5V19Rd{Hsx-hf*(3Kf|4c2 zY;b+6@wZL*1*+ zixEHJC%>OI_lUWDIY?hD0uLj(9{8?`So+gyjv1{JewJ7MwP&QTlv4JUuXfVgyGyC& zo+AGMg8u+`kHvblwwiy#gf{%6w3i{iT;n|kIIk-GzPw9m`(u90*M2k5bbIY9Q1CV6 zH#(K1k_i;SG4k3-*kF}c*~T~roYOot{{RGv@lKJb$uv5@`ZJb8JXaE^Qcec!V0Feb z>MQH-0{;NPJ+x1PAG6nqG@GmYo83di`YpwU>~px0K#~_+rvsrOvFZgbdbKM?qgP8- z+PC%c+{V5dG~m=7pKkuTXn7Zbd?n(KhaUty2jOoOXNHtypPZAh)$3Sk5DkL2{i?i8_@agTcq= zUmJedI_1~FPl0+o_Ikdl;$0)e;?^BH`%x|Sm^_Pjj#x%X+7zsK0OJUluH)cO$L&|f zKeH!=*GAPXG+kRyjyR^cyoKdR(%dqYCE47g)X2z8-jv_S}UxA7e{dTrU9`c85}+b|)C%*H({4OHN?AYyl>t}+4)C$==^o#k$-0foog75%FJM4 zi7tPGtuk3SciCY&Q3W%zlYt-tU`zlf0j*T1kI#=nH^c#Yzwy-iBc zNg)DdXi+0m)Z=x&51?xJ+r_^Owe1Vy7Omkco0)WpjHEJNe(c6c=>2*gGBP`igI**1 z2>#c)uk3UCL}|V$u%1P+mo{3QYECA$ayN02k}w#1t$v<<)7Bmk{k(h?ZL4{(>3$@V z1bZE3)q=YjGQh}qEf7({oOSKiy_|ki9CaA-yG|Q+YkPTHr}b}+!)8@-j8v4B>CN+B zs(N47ZGQve-wyu6nu*l>&-h9-dr9At%O>F290Gl6KZ>6V zsm*z>#vKddf5Bf7G3(k2U63x{r!HWpdI!pRC+xh9Vgs z1Mn5|amuPrU%s}Vf82fkCpm^9lJ*Zr>8Y`+_=@Mn8ko0)OXbShUi-Pn;xn51`~C^R zbEW(Z_~qeW6KjG<^!+k#F`XM}B!avVj--KJ2m3wz3Gsi#EnyzR!&?3P>Od^ElDS^o zu^-RUzRJ_T;F+HlekAx$PSfmcY`ip=GM2f&)~8q!)C^&SV3`?!1b_!PsH=y?POKq= zrrL{I*|mQ&$FExpMwFH&tX0##s^`K%{{XFBj~j-w3H?#im%^J#`Dt(RJ!4V$8K&BJPgwDsw=mgS+uQk(Sw2y&82q5F z;fBi|icjHQVc~xiJU3EWyJjoDyPkHFRQz%A7hl&bVA5~(JL&YxL%!P8Q+!77ev{y@1=!el#!&VWd6%+X zL#giCBR*S4kZKkzF{{gnO;_*>!bmbR^Pcc?>guFnOk!ZmBRf8H@U z<~YF$yzl~ld!Ho#0E2!10A+sLcLf0|0OSO{N|n|r(6{NBrDuggS!C;rpl3>)D`#qD2AH@3Q!oR<>K zWqEBn%^dN0j4`=M80h@$ z@MnjL*Ted6?Fbm{^JMVpAAr?A#=2?#?s1yw{!Mg*#|$Zd|ikrb28M8zZ5rR6`p!g?7O-JG$iyJmW z-7hLL#(LMwI+LkZ5|iq`GpiW}u+=$s<$saszXbmPWt~gHDDde)q=I3V`8gTpzL@ws z@RI97NK*bMN0+RuPCEK^81=7G_;=yUJsZN-q6KLtF#*m!Jt|xMKg8O!?Qf^sBs-9j z?78;H;=iMC_)1h@lr+%(K*iUoR;;BxbuVci7t<`IA+AIWgXbZR2=yS=mXIy%qkpsN z5X~8ow=Na&$NvDU>0G{>`!jf_#4xwpH5je;V{um@oBaO(g;<;RCe&oM4G)SgAb9y9 z^2*;(J7fIzttBP7lwj^|c&EZzcZy+FitJn6?fD&m!+R6y`S-7b{{U{E_$Q3;Tiy7V z!L~j|tg2;_O~x>GRtpq8yMa<7-b;i2hirae-C)|3$a)ZJ(OT9_LcMTWAv}zXhAAUmDusJ@NQ3zbqvllIu!hQkw1xC@oP!fj{j(1qR=O>E>7wbc z$qOdpj4f&pEtK!d`J&~fsUDtt+c#FsnaQwoLwL~ZwuLXJIseJjFz8~Z@~ zK(^AYEH#e{=#uExib@*?#V1lfPoQ!&8`&QC;ze>LGWt5ka%GyIs6J85u#O)5@ z=4>C{3L6L1itJd{`Eb#Gx3aT-ojwuS(UoC3UOX9;qTd=UxuC()h6(T?wR7-PX@^Ye{DpP z+iBMq5&@kyRhbo(IKh28$Fws5)cz5Hs?9=_H@DIgS*7DtnQ%||^1P^^| z>>P;}W0jd4;{o!;aHj-U!v6rbPsVLy;YY`h2z)iY&~@D#M7Bw$zMksdIL57gENmvc zV;LctRsP=bVFF4~f1t zKZzxd-$>G-(&0RLNtWdMn)Kh>Lq@fS#e(YE?#AnSpE(wFX&}b{I2`_!!u%cZ^}Y4^ zyO=6k+YRj|J9`twc^FD`r$touZOv(Gz5O1?*iO7u6La@$bsBHMsUr9p;y)8>RLHSF5fc#x8hq}G8eVeE!N)LsSF1$;~iPMn&eH(GM-6hH9T?2e>*DR zouu>WilrhnZGs3R*1cW#GNnyN)CUH>xcz|t0BSqPrL^!qp+A_c!F2a;nZ`-XV?DVi zA6oex+c-E1F^)PKn@iPhbUj83%Q>XCxwdg6QpUwu7<3?tq}q2zSnMQmG@UtoyqWrm zeWl%9TP4IwF5#90ZIXPzjlc|!pW)xBu8YF{A=ErAl()7PQf>%Y6Oaca@Hyi@fUhL| ziT*5W-x+=yz38<%is;P^t>}f3=C%=y+sbFmV89#@rzJ=o4Sjd;;%x)P7H~P#G?_}y zOo{fC45Y3$x}HHD!5mfL=v}F&X8!=;osWgZHwijZS7_!mPmW$E@>gZ;&9H2~Bl$Mx z3IQVrr};e9FBE)J@g3w$kxzehlnSNhY!2SJ#y_2Vu9NW7LwjXp7EH++f@75%m28~z z>G{_?<7V);h0uMYRnp@T{KXbf@)gSt5i(B=*mcEvPY*6%en$_rN&ATW;Qs)Em3T){ zw)l0SYZvBMn&VPi+=k?eOkDjeoLViSDd4 z+laL945I3mmvcq7TaurA?fb!Yvty3@@rwMKcU{6wBgK8wZlph-Yu`c zR9)3%it=dXQG_FvQ_6c$ExJUc!6BM1GD_`bř)^kXAWMm2>o#J3YBj{_L!Pxg< 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 Hg1P_MT*D@B literal 0 HcmV?d00001 diff --git a/static/11/img/Hap10.jpg b/static/11/img/Hap10.jpg new file mode 100755 index 0000000000000000000000000000000000000000..b0bd686f2cb4beec188bab44f8882390ffdada29 GIT binary patch literal 65964 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

s=w1<0x!*pZ0 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 literal 0 HcmV?d00001 diff --git a/static/11/img/Hap15.jpg b/static/11/img/Hap15.jpg new file mode 100755 index 0000000000000000000000000000000000000000..70ca7bc7b10ed0558b9078f7ab50a7060111b31b GIT binary patch literal 56392 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 literal 0 HcmV?d00001 diff --git a/static/11/img/Hap6.jpg b/static/11/img/Hap6.jpg new file mode 100755 index 0000000000000000000000000000000000000000..a24678e62e88c04d2df2d6c45772012fb91dad7a GIT binary patch literal 49852 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 Q2hxfwihG`feiVQI*^P;zi2wiq literal 0 HcmV?d00001 diff --git a/static/11/img/Hap8.jpg b/static/11/img/Hap8.jpg new file mode 100755 index 0000000000000000000000000000000000000000..43b02b50a348592e7202aa3444da779d246a5647 GIT binary patch literal 51524 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 !RO(`DSN7AA@3Oys$E_Tv4GKyyZpkjE>ulff zT+f8w1+c$s4JX9jB)yqX+aZEGNJFXJ^OEdwxDJYXbg#>gh#wNJym5G@^7`)mm*k1( zW0=r%L6UF>KspNJeB1$r0FL6;mT7A&AxJe0hA-4ub#@~A5uTHF$ zxwckaf3Ka*USCP`${IPQzVq}OQ`R)OZuc*Sz8|;9fwLJ<7$6J>A9Ngmdw>lU@fF9! zJGmqT-^vcv9622T6jzP)Y)jS1@D~i#xA8v*{%4;j-t?zBdA)#f{{W9r$PoeDGw3-q zk8(-@fyV&%uczNseGQUUkoX`sAfO+-9S3t>srw%I$4~H&#Wp&eVn}YRE^VVHppl|r zxgO__sjnwnhYlDVFz81Hoej&|&ax{I>URU4b6HoS>OsS~r7EzDllebG>MsIY_}@vGqXgQFIAJ|DP)Q_^oh{{V?}Q-+W^ z1&@+&#TX8w?v_0`uZ!iok)$NMFg)^eQZB1-3YD5gE7J@{E9dIuGjr#KTR%_uC$~d6 zgem(e!v6r*qdv9q&yH8%=fit#GsCv8bt**rjqs8yn`SIa0SF;-qX%~}W5zmGN4{3-pQby+m?rt6n>+U>o!Hn#f23w0Xj0ELnMXq$n8 z2px@eKMX%;pN9Vc3w%SUUF#nSd^_U1tC1muYLeVP_I%j+8Bj`64287mn zR8Ws(wYH6aPtLu2!~X!bLTlD0%UJP$i}gs@0p)78+Fq>&eKy?Mv2VnVzn|99$#VLT z+FsSKbzMFi%hUaxbuJ7GauhDtbzTgGfF;M?KBV*3c$>nX3ce$1 zGu_?ko&%O?0gXfWTIWf^fO%7=Uqc>Ga$@J2O+o$+d>Fd6)%1T3_)o*S#lG31zqGv8 zuB2_JA(A;RkwM7*CU4U<;$~bK3bdM~RtZ~6ryJ|7?ajWOe9uOY7G=^-6a{{%tq9meAy&qkrb8;8+KF<{CN+;FAMl9_P+g`d>P<$@gAXT;!h9S zNxm7awnZD4Vs^erU;za5IQm!2RIe732Q^hIbzlJOgZ+MyRAdtD#%MBDTjN=ZY|Y za(4hsLn^r-U<@AF@m3XLmKyp!6qCBYXWPqur>*{|;vNUHx33J`CS@Gr=<-hMy4IRUQ)76(!QO!!)aLp=udYUQ(3p+B%7 zlIKmdTd&-;)Mo^48B)gpDuc@&!oOa8Gi|5-&p!&*E3GuzL#0{6DqQLE8^pT8jlpxZ z(D9rRf;tjLD<9&IhCCgwYPK4ducm2!A=K@Vn6H@^b<(i^09n0wA%{8X&(gO1De-4T z)by{jPXuyl<~@cPhEW%8Hk03uIIo|?=2EX1EJIFFR@Ys7`QQ4`^>CSL!_Km$qHgNl zyL`6v^FAj1vwv=HAAZz+8`S(2;k_$NpTXM9(OR2XkxZ6P6p12BB=R!(Px772La0`5 zam{?)`!N2&{{R$!Z4GWq4~KpS@dt|TAi%hjPqb+uv<;kj(ws*SI5;lA99Qdy?4|zz z1ai>-0BnyQc$zI^Q`ap%5kVvucS6}?j(d$vxp8lAE5_e;-LWeH^7)bSTPi`_@WW2yJYW=s#0Ut_CSphTYb*W>1OEU7 z%TtAANeBINa6#a(&N?4T`dHy8$})#4NvnDOKkyHemMXKHYIACue{uZG=sr2u{8EO} z)od(NqfKug?^t6UTR7wEUs!&^Kd~2zJ|t=a{{TVozO~{hR!p_bHnK|^x$0hQY*Xr4 zh5*L`zht~M{{RI0_(h}N!KhF0r{ST!gzra#!uEz+^p )3n&(w1(aok}Fsg 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

V&3vrArKw-4tS7-=ch{Y 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 S#AZ0RF_`)k4Bz@O`F{Wz9_o+) literal 0 HcmV?d00001 diff --git a/static/11/img/projects1.jpeg b/static/11/img/projects1.jpeg new file mode 100755 index 0000000000000000000000000000000000000000..5079eeac4d9806ba80be603588359f4b80c5e5f9 GIT binary patch literal 86909 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 literal 0 HcmV?d00001 diff --git a/static/15/img/arvanitidis.jpg b/static/15/img/arvanitidis.jpg new file mode 100755 index 0000000000000000000000000000000000000000..13fdc38225c02b87e0b4a85a06fa8f01b0f36be9 GIT binary patch literal 14292 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 a7q~az$FJtcul>h1#C-T=;jcA`rT+n@q4CuK literal 0 HcmV?d00001 diff --git a/static/15/img/arvanitidis_sm.jpg b/static/15/img/arvanitidis_sm.jpg new file mode 100755 index 0000000000000000000000000000000000000000..1a80404b9887f1ed5240594cc8a839a147134551 GIT binary patch literal 5734 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 KY}sp%v;Wy+n~K~3 literal 0 HcmV?d00001 diff --git a/static/15/img/evris.jpg b/static/15/img/evris.jpg new file mode 100755 index 0000000000000000000000000000000000000000..910d23b3f9cf5cb2460865b0e7dbce6008a3beeb GIT binary patch literal 19810 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 z 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 qYGYXZRT*-2`5X>2%KmXah;_%e~ literal 0 HcmV?d00001 diff --git a/static/15/img/evris_sm.jpg b/static/15/img/evris_sm.jpg new file mode 100755 index 0000000000000000000000000000000000000000..68511faa7a71dca1bc17027635cb56df943bd8e1 GIT binary patch literal 6569 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

xwc=NW%y#EA$9FeUnb{6^|DBl^$G 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 literal 0 HcmV?d00001 diff --git a/static/15/img/karla.jpg b/static/15/img/karla.jpg new file mode 100755 index 0000000000000000000000000000000000000000..5b437ca6a400f883b9106a7ba884ad514cfb2794 GIT binary patch literal 19141 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 literal 0 HcmV?d00001 diff --git a/static/15/img/karla_sm.jpg b/static/15/img/karla_sm.jpg new file mode 100755 index 0000000000000000000000000000000000000000..3dba490f2b93d43b374c56f001cb3e83e5d11033 GIT binary patch literal 6797 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 C_+J|U literal 0 HcmV?d00001 diff --git a/static/15/img/mama.jpg b/static/15/img/mama.jpg new file mode 100755 index 0000000000000000000000000000000000000000..4d179e6c47a0d51a90308a8cfc7180362d8f5b22 GIT binary patch literal 13592 zcmbt)1ymecw`Sw+?(Pz39D+;Z1b4UK8rJp<+Fn$IR`5n zfLBaL0qO+sm!ShZj937W@5jH&zjIfA=ivYL@9wV{G~(Yih<|Ey=zrG`0q^y{4f5~% zZvMWO27Iuvc+c3rd)U7t5dVr4W@i0o1o)nT0O-8?|M(2o-w~Go8Tq@-`}aBk;P~E; z|D{14{FVM+rr!R4a)0;vpAq=0ukZbY6#3`;*LWbjM*+wf@9wWL2zWmY-Y?(F*!N4M z8vs54;_csOLmD9cj`S5kCuL=8PVVk(E3Bm@8w>OYd`00?LZC`f2X7&usX7${_p_ap`s zGzBI*jHt3P7Nt`l5EeVJuwIOc8b_tigoD#LXhs~4CQ0>t^TO1H3%95tm{uZL%}lbt z*p(Y^R(;F-vN2>}?#uR-6kSS5XjAIo{LXc0^U%WXjfRC=SXx=j@Z#Pr4@lF}Jv_a< zb!2J(4g&xQ`HmL)Z%lBoFkF8_pkT*@en;R$i3I};OvL^RL7&RZIR~}LrgKn|xGIjR z3+Dw5>|X%jXu0}l-$4}PnMta1yP9wPCxrh!0=oYR;cXRw4E6VSVgQ5z$2!DRN*Piu z6D!fasi3OWpIZCA=;De?0*^g195w>fWD#nQ1FOHHa|mC+Zi2C-LYs|BSE(H+zIGSZ z4PQOnD=z;;N9Wy<3{BJO-3eUX6>|!WKqAnL1XMN!F_Ayz%rNE8q0RZ}kx@4-#x@fAB8FPD!4R=dcf67kB56Dg|F7oxOeOONurAPV-%bhlr zF<;{6JNiXFKlsvU(uUnITbc^(@vp%(9j_9;0VbFCa;NSnlJN!U@2TbQ(T}fDy9~Th z1;c=hm@>i&JzZ}A{EhQyQv-9)bg8c8JGSQ6G*Oz;5pnez0o^0N8`j2^#5Vxo39r~_ zkAnyGYZ>PvGqg~-^8}%SyUN*pway;nB_Wh7dHMXM3iWf+X-4u2JCb5Gt>;PALavX7 zM5g=TtJ)YiQrL!Kt6-m|!xixZv=zr5uQKUz@z~psQ$`e)okiXd^8J$yE*Fex z3NjQR76|$weDs=hc-|0*LVh3;Qjeyd`hZYE`C4u_1!bq6Zdb?e4(nE5^9Jaq(pRk> zx2f{ZS0!Vq-?nKPdlb`uh&Cvc%cdz(N-CUpwzexK`!q^BLAZh`(58_j ztAMFpDL>foQ)x@xYXVA15~$U1{duo!;E<&zWuXpDB%QnW4d9xwe(iSlD7=Z~npdM+ z&6Q<~O2~=ZM|GEj)hWz`(zjS&mL52muds2WR6~lN>^%z>QBAywM>@_m)7MJd<7!EO z`v7OY>d$o8{zV^(vM<`!7m3xSnyzhixP9R9yY;}IR|jALU>D^tQM+t+jwfAB zMZ(p9n#AS~0B<~vl5k1l)5IO*9C0*=2(~kSC|W{!}DoA8Bnvu4#P92W)A}uxZhml+w0}a#E9ZJS z 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 literal 0 HcmV?d00001 diff --git a/static/15/img/mama_sm.jpg b/static/15/img/mama_sm.jpg new file mode 100755 index 0000000000000000000000000000000000000000..a85708e08433a0f69a7014925ca848017777c3f6 GIT binary patch literal 5471 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 Vz%p4oyb!m((MDV=S*@Y<{{zV3iemr( literal 0 HcmV?d00001 diff --git a/static/15/img/martinos.jpg b/static/15/img/martinos.jpg new file mode 100755 index 0000000000000000000000000000000000000000..9b201bcc48ba15a49d16131f2b8855d9a4461a53 GIT binary patch literal 17466 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%0AbogR4IHh>Q zJl(sSf=5cDzZbJ&bS21n?d+8c2hi)xp7<%RmB%F1tEl{w{-Y6-fCeiF@o~V2QxLLV z29G^LE|9kLyE<{&+l1mZOto6XMS-WDc=PS;U}(!1v^u4&FrLM3A-e(XIrn)ZDl(aH z#<(HT0m^!oRX)l7WwqV_I#bb=p(tITyor5O zrIKGQl9t=Ai_)aDN`&}J08H7ar0~t!c59tYEtmz7jF2xozMMR?!W;sQLhpI<7_OOg z2n^Kd6VNC`0_<8}4NDJ|hvPE3F<{pHiq0L4Rf+*s;y%TPKBdm< z{a}{KQ}@Wd7%X|{wzVB@V`gr&-+!JA3b&oD#pd=Jk^vqx6~qNpl<>>eb1m+KyWeK* zQVX!E2RykIGw!RYkHwXPGjAvZ2t%KgFx5#R=R@vjO5Ep5K_1&?gOw)YX*g(I1sIT* z_Z}|A=p(W0I=tE9c_g=1pl@Guz6@}-iw@Fz*?_UpHF<)CnGPK5Zj{Fsf;G0_~#?TsCc z39_MHrenV17x z7X2U_>-qXZ3(|TgtT+g--e7ePQ&mq^Wf`3iC#)=Hx5vC6J5*b8YN4-Pt47v3c%xN^ z{#%+&6u7v&j;_kep2R;XQ>cif<{Z!I295l8;UglFz$VZb{4-d~_BLFbIYq@st{}uS zNeu0>vbRSol1Aoe3!!aUnzmRef7tGZ?+Y0%;W?mdTX|hWDV(6!a|xuzY(!@$2n8l4{pKLX|0S;scj3~DWyE?zmFcq8)`RsY&_Jhm>pQbpIi^4D zde-q8i!mONwGHOo3+`r^7jJM5gFLAl(1qpIVqz_3x(drK+MSC;R>* zxSup|>Z5b3pwe*V|@W2v)Zgotu` z0U;peT%ZSQfG>Y(U7`% zBynk66MWsB_m}KW&DKBv3doR;O9w-+7(F0W_Q-^{K5VR(daWz!w}UWe^)*5;46H=} z=vD~@3MY6<@x(<+U@2A64WDRwHFYR|75&-6ZBOnq%uyLZT|`PJ2>U1Ae4eV{HJcm? zPn7$UJpDFpC}dPRP*Rmuod0XU^9>yfK!d+%Zhy>}J3knGt@&!bW#!Y+yRxQb{)Hp&BRbPJ~{tmVo_=7ns zUoTI%@=Y#asfgC^tpOti*$U(Mltk4Cg93^IdBGn;2=693JP<ZgebiXXX-lmDqNpG16m)yL0f)?Siwc%=a8uIpINL+?PLj!eFKTpE-d!D%Go3*hI7gEOb9zt z>LmAv9yDoHf$@10pq0!^26;@m9Yr!j<36!F4(RmPuBv9%W}5wt*(^v`lzdl!#`PlC zAEqxgm2E0#3O?Y1W9WHM#@z%F~ zKHgF zvxdc?j&|T|p5Ms4WiHy!&>tr|Vq%aM@KA`>cx$+uWbm%f2f^2|87_NHIr%WVeWPW6 zxsT_Fr%tn$=k_EhgsjVjzup^%7%Ub8pMg;+10%=KJfxi)v)^Tx^>lz4PCf=E6bP2g zn$a@O9Bm{QIP<`NKk}=BWz$Ha+3^9pckU(zMi1n|K}8d2D`Xj7Cv2(+&EN z_$wn4m%bsVpfH<)%dx#FKbtWDd=!QIS_)IF#9=w>NZ1nHRQdEX$phE6BD1>U%_qgv ziS2Svex7;(ztM6k>QUpt`Y@Pc*k*q|cKS|W-&`pcyF0txc)0{Fn5me)FD{ZLC9032 z?F^tvp7&3ex_^_X<|%Va-vW|{5+*`}@A&!-Yuu4H4FytRzSV;sx}+D^d}D`RnOXDV zzI^5P)^`BS#a7q|bjlfDTbUr(CL3R2Hi44QQWoWE(>U|M$cpK_G|Y^mJq&r>8pN;- zX2%y1g%PlC5*UO4Xsi$0n~_v2G#o{?xPt}KaOleT(g3A%ENX&9UX2d(v!(f2V5E?aF}%>Zz+}a==3wupXfC{mT*5v%`~%9 z3F-_r&$X@0z3S~a+Fs(ku&<$gN^quN$4u}MjGaeN+c@rNsM}MNO$MISj<$gCuZowC z$nQ(U`w?sWG;Vl4Ks|u94HjEtE&V&AP_!2jks9y0Xlt050GR*Zw!>cYuo4y&Bwp z*=EOXeZ09Hn#B@*=8=4^#!%aAY|?y)QYXyI)oa`5&z=I|XnbyV3^A;NaEL@xEIMP&x@>Qd zGH6|^CrSt1gg6FZbeesdGk!?V@$_1G*nnjj`Ad+YVaErv3hv3tyYL_Uz&z;mb~P+I zsWGMtiH;W%^d`WeJt#k9J8W^LUjIT+XNVn)meVg?6wam{?{0lMJ%TUO!T z_MD-x^Y28frHcwB+5d=!;uRDy|L7knsfs699uE5DmKBi^-R!DTy#ajFxMm3b0c+d2 zNo?=z2rIaphvMzFvXeS7p<9QZF1_$L+>RiMmLL&U*R$}Wk?b(1m$c6mhP4dtu1INM zuM_i|YtqquxNsSYB!d#_1rnfKLze#R%D;z3D z2?zTZQqg6{*Xj1SvGvRiCsUuyMO&}CGE2WTnqCE5P#Vr1_s)U;tk^P)>n7c-Fq>UY z1|4)H@48?4JatgCK$V-jytS20a>1fV>uhEO?m^t<>O8?AXM-mb%g=OA4`cqIxiu89 zbByGK^v0F3am2-msF26HKV*)~WhRE#w^~PK6e_JT+zWP4{L+P`gHF0tV%f|JohA?I zlAF}jStLPT4YD=P4I+LphgT|lse=Gt+JS}?BrZ0m<2KF|8?6>bzby!K-ZOzn+ag2@ zvwq?%lf$qB@Ec19DX5or)Wys>2m`m6eaNhC z$xA}b?#v$fd@!%PQyNaSh~GU?vTbg@nKmE7+au2T^Dlh((q|f2gw<5*?mB-aPfz9# zhFxH%y~9swO&kAmVd0xcc!fC;ccI8}5~kOW=fZtEJR1=P>_6%;^tb?zcxaql!>*55 zNVQVIPv6$_1kOhJ6*{c{L~9W`PWdLgp?uxzg$uSxt9x=dyBY4dW){RpE-LmE@?jRm z+l4}edsKxFb9{1lSE7yQe`J5`M!@zssIv5a!*_6jSAMSb6sqDIeQehk3>Vi5JTkP- z)W+nGrqX731)~N9*jX-zpcFEf@}}b9dER`lyHk8*J?MD< zb?E$s!tS`|9pIb~Zq~eJ|7wviJp~na+1PRn8*U@lTBc0@4uFqy*k4Oy8;9>C)8|-Z z%+IRY=QqyglO|7iWAz^Q%1nRikn3J}jVd|82A&h;mC*5A0ndf?WHprrWgLuQwE+iz zHiqIj8b*xG34~c{rkTVJ+AqGwq*#hCk$4<8Q!HNCZ6SDemyH&f|1ysiBDm37$k*_r z!--1wjbvI6*bCP>XI?9Vpl@)Nc%=5u(^E~V`TV<^xe#inEp-Qygck_aZMv;KD0>+2 zIz(6qwiFQ_E+4s-w-^5tR`g6v8r$ToipY z5>MxWhgQTf`FvQa5HY_r9w~2|563vA-GQ+;#vT7y>!*PN_MSs?aM)LZ3!m+?j5Vl$orD+Sg)us@3IJ4s4;9Q5fzZ{`yvxLuBB|*NJn+i4HsU1?=yo0Xqt@Pb~>4ULOP#Jq2dD zIiPv(OeAdJs~e0&`c7E7qPh5a_cVCpIjb+I4rRXxSvF1QRL`?AyG8fbX&G`_Xg)_` z-mncn?~#&-Zo?s8!oH!eeqcQ=ghb44jZ5NfBK8PxPB?$ciu2q%g3TNA99Zzu_JA|796?4#AoDCPEZ5gGs+^C-$8Agw@3Kf;F z33~}?L)_&Kk-CfN2H7fntP{bxV_F24CHa_gkOz~$4{Oa(4o+u0>ds!6g`rD=xCnmn z92a~zMYc)sRk=gmH{hYm{=`3P?e`LWW&|!ubtDK!qIWw;k8f2^k?`qJBD$!Dh}I>a zsDkx?RukH&`#DYWDzr}=r0i@DvPG$VkP(<~kW-nQirtC~dlHUIe2?SmnuiIewPc9C ze=gfPh|u!W)Ay^8+?`=jdD^ab2LA7@MoZ+TN|xQna^C# zWp(-VJVaNkmLp|E{81V78y0)56Uy;3wK|N!^MHSb{ni$#qj@~TO|wYZMi%Sf_a+`= zl23beWdoK0UIOEl<+}d#5^?HtHJWPRl3Mcf0;hO{AFf0kdO!E@mIb`YIMZDbY5^Q1 z#7(T-JGCi7MW*Sm*9=%O1`CfyLFFN!0FzOuC}W~5Cn^vxfh_6$ zv)VpxnYC{2%$P2b?~w^}YYk#0j*Vr6-%Rk?oq(;e$t^u8KWZgLfX5!3^;vE?;+j$y zgFxo%uiIXCOMdz6lQ&Q&3?ZhW5@_%7O0S^8kY9Xtd1zxRE#_?G=c5Rxj2wZGk3!v~cF$uJpw=^!j!SiGY}T zXS?(GR=ov*lb(QIk;5aLvQw%Ixo1}L@^C0D*y7U)U0f$6xLv}_R;&cR)-(nTz|~f| zlM}`-a@npuNXq3tm22O{2ZDOE;Sb$-KfH>pwc<5~Px=AYqk_4xCxiVBQX}bg?9|Xs z>-u&CdVQ&UUq%J1S5hMNyr&RGJC_PjglOqb+uPHb`A8ype%|nvm6?SVZ%&z@&NGyp zW1is;!z9Yz-M`eI2A?gIvK0?S^rNjoj`+3U;DkFpi=sL2fI;a&wa**WU6^tk2!I|7 zEd{yoSZ-tjUR0>O!&z7o2a>Doj)PC_0h$!&_hbwPXzN2!wN>h`4aG%+ozck=_!VE^ z0EOt8d$M|=ZTzxd4|j#w$zy$ixxL4S7TZ%SyhgWDXe2Ej2@65CR2kN*!MRIl*11dj zte>%(dZ3Q3c4>ZF3we?WQeCtadmAsPj{O?MS271X&mblGF+aIK zFS>krYtldTxrn8~sqbS4W!6vgP4}t!dKEvzi#;7z0S|cSUoMaOqWf616z{oEBw*Az zr_1?lzaQvDjP2pdv(U)xu#LuLVg9M7Y$}2 z8TwLqK!;CKTAv-nce(b}3E1QNpG+Dkb%Zb!@-K#9n&v?snHCEOFd* zYouHw*93gGU^@5@y+BnC_sHVSF|4Ga-=WK3uam#@-%<|9 z-T_^U6u_(5ZZ)Ns{&IRGFY;cl)Dex)fym z^#CQkFlC}Vfy7HoO)@Ob@X_zh5lym7 z<+fJP8q4iakK^)pvhBMuKz7DK(k`8Sn8v17ee~+?E{0c>L%g>ZLmj1H$9c~5lz=B?S;W9O{e4j5{%4@rtXod6_ z(}G`9>;*@3=jptWb88{%PqfOqbk=mxa_Vw}9@d0?K?7%!AR!AJ&GPPj0#%+#3dG1oJ_3Yy#uoB{qRxe zET``+;^N4YasrV3@2tNC)L2T29L$wY;{V#)8X!n?Ex!!1ex60irU=mUlqXQmmzuZc z-esi~k~aV0;C-*MxzjcX3uYG=>9XpiuosZC(EiQ%6Pa&|yJ}9fP9ktgTDnrDLi6Am zO*%VM&-51O<68_DRdJnZlut6YMCdIJ^lSHJTVi+iSR98XmWoujd+Uy;zJZ%RE5`3d zEFw0(7P4LSJJQkY7Iy6_QA7>{DfP}L{fpLzBlR-g=ThBlCfqG`b>~Rjen~Ut-N8eM zfL1*`#jrbW#8Ry2UsjlYlXZg=?+vPPMW+ueYXY2~f3kfzgj)FCS*halDI`$+m2nATriU<;2kPFu%4Itu||Y`oTK4xQd@v&4}Xg!zKA@XfH!GE@q{N z1AFOfj1n>*>UzXfPtVYyn`(u2+za+fc0f*2P zy1nYBrGNM&qmz!HMX1Ys0rxnl9a2n%tyazIH*zV~Ujynw@CD)Dx|kb?89wd?n41`t zFChR9ElazKjA4muaQag7vlq(Fla+yzE!~|GKC_E`<%_W2kei@DHZI0(M8U}?M|VQ8{4;8{v`gg%g>FGy_Jq^X%3g9i$uQ?L{o|h% zsi?S%=@12>yC@25J?&&41=to{U~DCuA4xUyQ;BSatmdj|(c!*V|0zfwtR3KJvfGEo zur%_|0CDb{hZ7Kpp60voEY?388ft#rlZ!vI^#wcai`lLDovBeBZAZkvo5OJLPiFaw zucaAby#v~_;IlC3IUmG1MeAjrD1 zZ3rw*`BaGeY_Ohj@MaL^b3q9s-9fpQq!k9U;7}#%rsCa2eS1_x;LGDpR}_GGGiE1t z?aK(cqcB`+IT=}2q)|aD>atv^Tbm4W>wce)5pzz~l>X92VAvA+;c7xTLO$tKp~DuV zh%>*_+~PoyeD7`~rjJ3TdXGx71qPqmc+|=1l6Yr>FcQjhAnoe1I>TUfyX+SqEYAl? zSo^Ugun4AV#7T^o;C7EsP+H%EFAx8${Uw!K#MLG%sEK0!08OsRu5uu|&BK`6t-czx zhLqT9nS>(Zl4`0kzZJKpfw?S+G{D zmndok9Ew%ZENrb?xcayL?ZMQ#H+tO#GyI`;>;CP+D(+~tX)jfpBv-2@s6g`dj}#p_ zN`B(n#VAa?8=E+|8e9-DgKe3%zExSYlID^fh&iLP;&4d^JgbLNaA4OQk3d%wqo-Ve z6FKR1ewA{%e~FH&>I=lEnYK6*b@koAQ1BQ~hpW&(wUPt{e;7h?fxiMX>ak{;jKP6k zXN_)@5{Qq0#D$(Xp;fJZ)!S$NRA?P4@mpbdp2w5UEUY1FYV9)8jOA-Wpvna7+k@2g$NsTgQ#U_EyFy zA?^%XKWquU;XB7G4}H54cDH9ea|4jCFotd9GKz$FA?T^rN{118>X<;F?v z!em4&gRr{}C(>*Vqr@j0`>>z?t4`c)=};05JW$L!$KY-SOWe{oMP0?)!Pye9k&&t+n@_-`e~9alXi}$Zr6VytJG&073%+vZx<`+=gI0 zv9NQpgIn0yGw^fq0QVosDWPuzzl`YD2ml12{o{UJJGic4Uwf4MmBYZjjzGU77NYA2 z7d7*@pF5oy3T<9$YdtJ{WHUds(=6;l>f&V=yitkpPB15Pf;-d z*rWRRw}!sz{keM#=*wN!NDiS!^I;eC&b4mB&Q-JB_}1NBF4YAKW@K+fAt^&JUjvj0TBd3 zLE*|J#i>Q|l{U1dl0E7WTN5eqF1Y==iqT}ZU)MFUdO{4Kp`p}b zTx$YjVM4DZF!GXMpcFVTkz(@s#gP3{@KJ5(2S2mPf}?+|4a3atgplzy42RKn&R4tK{v(x_kK5M^Y~}`{dCrSXbzw z6%x32Yq6RZ-xvv?8(zw)!i_R0iQiK$sa}P*96TcK%&t*H4Pn#uuzcenh?BqBY|8Sxm=F`k}rV)^(AuKzRl1x+5M+RYd4yH_1N zL2s$E)*kfRPw5uIzMn;75*u566iqB{a29*)=?%UNwO#jX2N5rcZOLop39*M-jGAXu zB=g9z8*U6d$tE}!qSdvAeqm7sw_>W!GK5Fx7iV`}h6iBQM?-~WhYt^^1h1mfav*ciPMsanPth1M!0U^ZgmB3VD+eHOtk{yDr?L^m9Dq5UoyflB6{|+ z2Tai-_Rh!g{bH~@E+KO8kmII3ugXsXpCd-)@wF7fbBJI92NEd6E(?`#qlWqhhNmFd zLbNU<*4<61&|!JqGe*)~KJ&4X=_yCWnI>W*E>CHHEKWdkVsD*C`K)rJH6MlK>nrSS zL~PVnXd5x3Eu3p^)}4tpHJu*zCF!uE;Va19dh!rYWlQj?5AvEL&uYr~_3eusA8mz5 z?NRdgWd74plci2r8yIe&tTpY2q1F!U@7BrBQ>AOadIyB@&Y?$N9$7jozV8Z-pzXri znVMW0m>IJp$BS9(;PQKaTu(;|w!&j46k|F$ccf=}+|7FhkJ-0r2(GV}pxwOuyl505 z0ZCDmpe-?|-JR$PGx}Lr+0dV|Gzol6{p{>YxoWCKMW;8b%Y!d`CeIOzb*DyAf@Eyx zs(f`iWrTW@nr2-u?87KfqB;y9-`$2Qnd`!?F(3b+xhE zPux|ba@VJ!r)1kzN_?jK?wgVSAT4#h;;WEh%h~}I#_=lsw~8u}P#Id^9jRK;WIvNT z=?Wbir-=F*^P&1NPszz!TB6ZM>gh>xFsnRTY$jpy{!887win99xW%8g@^o~TAS8O1 zrB<~Unw1XXeE~yQbav!pdwkPlK~mdf0@+njfV-7X!u&}BU5fs(9_!1rOwWakROT4G zg7c1%`M6hHo#1T_;g=00!!P@{FU@<5g&C6-Z8+gOur%oFa^vpX^h6V%scn}QgkBZG z4Z7j_1h=BI)|bwt9zNAF|CkLA9$wr27SVFI*&xqML1~*XbXZcqadzi&eonmC!7Q3^ zM>E5e@vMZA0>WO=?X6i*#{wO{lSTiejYmLO?scCAX>JY*1ph+jYGJ?-=hbpUS*y4CAEUp&Y zfxfB!Z4rfupN3Dq)jPej?>AFu>du4>a#%lOmO@(`gv7-@-j6W-ka!^@)1J@NrE4*B z+|fyyC*}Dyz710m zy8!12DTc6Js7CU!%V#b$=D6>9 zQ1uE8OQ@aE;8xRAp+k~rE9E^4@G939w8X;HJ9Gi=qj7M~T2O-^r>*;du2M6lpfgT+ zDLS{CQQa`0+rEB}@;m9qgEFY*!x#pi(IWT!b~hPmMTg-5b$YGyO%JYHw)hm&rnM8= zyq7QNzZiHXBzbG>_BMqW!jkS|(*vWlbD44JKBY0HB@S<9o--$jKk=;g%Qwn0V^Gu4 z-qfycwD`Hoa$nigb;ye2W)}nr@P5c@IkF>~f4w?c#_2Oq9R{H>+}5c(6rt&*k)nT5 z+b^lhMPPC45q(m1FjR1KFKQk+@~LyPt}%Cc!3>%#-0>($t5p`?UZ|czc&*H92mGy> zoqOXBH1%P&pN89sR_Fbx3u_-9{jKSm#w3y}zZjJ#b)-xy!Ky!(x4|%9!nG5d%iTFu zKw@pG8IyONV7@s+A;6CwP3(ZYTA7YhcYlUTA~6cDdd!@5M)^(GNbo1q*~4A;(U^-8 zyUM1L;$3galO{hjG`E^S(0Fh0_=j3&y1dTe&37{%1GRZkQ6peU7tT;jSWTcowEQ|6Bf98S zv|?>5In zM?pqgZ6|M{<_TZt4G7F1|1=0LT(EjXP}YN(XsFN`-bLTps^U#2nTHxRS_S^lc$&#E zp&{#xby@A_%-shpItKDzh$gyvA)^Q!#1x}!uFx$sG?hs;-xl^7_I zqxtD$c6lXUmU1r#jO-x}1Oyg(SDG&UN0c-iEOXl?Dq;#V>D=2=t1=q4oyK9l^QPgN%*k1F+dd;XkOKW#1?OT`xuh5S?R}bRp%6+xPcwZq> zdLTx#hDc7jQ4>wrGE>jy`Pa}BnQ+D{>z|`9oGmK7YRb;;Kv)-y-oURGXrx}*8hqOgnzJ))DZc3WAXQp<5$w;vKG=(OfdQH@BRgT3X>nqj{bYMCGS0r z&3bPNZ-YK&iOa4Mpj0<=`ZT;h$I>JGZBawd)W-R5PC>`SM6nYF zHafb^pQt2(sftpJ<=_{?ms$CP?BmeFtw-c)CXRdj%=aYyDPo`A&N6-928Itq7as>u zs>h*DgzCl}0V!%0Gbatf{p_kwtanG24g%wIs{bxo`Y+7%S7iE|=Kn?V-_d5Bg4(%g zJrSRCNo;L!^v!t7Y}u+ciFGN>mFOZ8h=E=5D8I`*EWX(=Em`;TKrdgdL|RL{g((pI ztBy~vh~Yk`PafEl#$Zqi2{28Z8y7y220Qh1o8cEr2s0$#pS*7i4p>JiI@kCi^xohgklC_N@}k z#^7P>-j7?vLgsN5cNk!UW>^;6#hdks=qWZ+gQ$P`s#`})d%xv zMOTQQ%23C`(>JC>Gpl0V;+bC;TDsi(l-^540^6~pdrs1tsRm5*7%M9_w;2ZpB3zGP zy^)__UU$=btw6$s7u}aKXrj6Gm(fk>n*ljS_8d`3PgbY}AH7tA7|w>D?xv8JcT5N< zd`rEUM-FZ_s09sI?;!!MLBg{;^*KH4dJ$G>_5nR}&#FFHL>|1!2xlE=%WZ~oXuWEM zd{tRC>{k%uoBfaqw-`^757tVic`Hly)9MjOQ&lqQN7`e%na(aAmlq^FQ8&Jl5K%Bn z$>Fk#i@^ImCelSF3pdmhlVYcf5N@0qMI1&i(*x~}y(c&hAB=5F6nwwCeTnF78ZbJZ zIxIAcxn1Fx|4Nh0CoC-6MU3=EPaeM1n{-4K(T&?}guO0;B^$02tVym)%*9ScTU&Cp zU2UsAReO$lg8Ta~pUG2pE%7C?)&LGz3CyR9F5^`jLQb24H*)GCKZ^sZ9q|M$MjfLm5h z|5VOjqe{(-15fn#qXn5Ph;P_GFV64q!NGr2<8l0egs~28w5Moht_kT8%lS51Vrv>H zga|9>tER#IHsA9RCv9UXnGd@@A(z~8cJnxFDQL<&fgneX8Umy7mDs=*rd>188{w>u zf(*|wwn;}Zr-sr-RD5@TdD!b9&G7mGe71em!M?rknNr+?+sa$4uHag!rjeBkF>dM5 zA}%{~+H7AaTKPe@YZek{uQ+!x)>Lyl%n6q;#nOkHZNJ~QMO^2cE}iixT{*2(H@eUe z|Lf`N-3x7RLzbkaY~)Zm|7HW{T(r6IOWO(T*V39%ts#eP6w63}xLY})#Nu2a)5;Sw zGj3z6Gc9v@&;MPN45`G$ed85T7*|taK3l7=@TI}f8;ynF@q4QsE%QlF`}UQP0O&P2 zNw1LPO`HV(g6FtwUfKoO0?E0d6A%XM($CD>V_9h8&nTw1&cTY~*3Kz*rCM?uEYdov z@uz(6FjsDpD7o}6)vDQMXeQi{5JP*VOr1)4CGZ8BXZ7q{eXcoj8_)ki&|0f^uRpf+ z;j`tuI*QUvJZdCE`(9n$rmVzNO#UVmnynKW}}s*HAw325Vf zau_8yzj&I?FeOlAcc}4J8*ip_C(aQn5|IR6*X+9~&AJp6V3yuIwRWJaZLtL`&ovMW zD{%N5;{YXQgCp}^j|3YMpFKlhdXP^=?_Q1H6>U;`{QR&z@{-UYD6uxGA0dss#{N|D zO9>B7+0kCl3#CU_4b0jFXo_?6-Qb4^IZ4L1rQEZaSTUwVDMtcwR^~g z{fjimjsican%sum$tO`3rTUf{MB*fqYe-n!M8=c+Gwly_G8~!p!Zmn}G-Q@LR+U&aa}^x{g|sk{1k*ije?6+^C$p63T@H9@-&?SL@DS#lV;EmokORLfJjv zx81h2kB{Yf-%#ZxUt+2fa)tyxcegto5!H#e_wH;4+*u<3j?^5FbuKhnY0k zgRe8(jCG0YcjIqpwoV%n=&NuXi0sD>+%2wzGM~OPR2t14SzQS^QG@Vvn}~Qv;!cUWaxwPt$2Y{7F4KlY?BqCQwhE>GtW6|flWl_;jyw{`cM)^J8Z4)9 zqwbN$-Gew#Och@!9O&Vc4jcvJhMYVpCqFSg{$d)c-pchN+#C;_eQVf<=V%k#051&l z&>TA`zc5xHzisBcA^N*l=$zh+{>*2%E2ORI`RkngWQLg58H%ayvF&O5|(g`89c5cP=gz zONlj!x4f4LhBPHhBdYAmwLIoCo7K+;2+LmDz0MzJ@7;D<|FQDL>L~bpqEx?FB|Fbr znEBvg+}nbR)sHlA?ksBgzG)2kMPM0x!!ayO%rq;_5oYg<02ltv-a5OPyWb z$9C;q_7aOY&3KlQ+%`cfMpSUl+aDRd^{zNek5GR3W|+aOw61fnU3Ciwdg6G(&9S18 z<%nJuR*9PzCZbnq^PjluE*K~9Y#$0GIF^o?&|(rAB#ZC4s@&`pJ{~ylBK6sA$)opF z?rj#=mt%GyFZYPluep&^EU(djzqsPG6$$8GS+0%P3c>GI#9{ IB1BI94^3{-8vpb!r? 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 literal 0 HcmV?d00001 diff --git a/static/15/img/panos_sm.jpg b/static/15/img/panos_sm.jpg new file mode 100755 index 0000000000000000000000000000000000000000..51187ad940ff4814ce81f6e2555ba29da3793a5e GIT binary patch literal 6287 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 KmoFJ=;(q{Xq$LIb literal 0 HcmV?d00001 diff --git a/static/15/img/papaioannou.jpg b/static/15/img/papaioannou.jpg new file mode 100755 index 0000000000000000000000000000000000000000..a5c88551589c8db0020b11a02b566a2704c503a4 GIT binary patch literal 16525 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Å!lK@80X8w^GJ;v7`aqe|-BRbRk%Nwg2UgGk0NG>G+FSKpjtF zVTu)WU2`Q^L4y(~*t&bKGylhb-r%d8bBa&+zU{D_D(7(SY<|&hd5c7~ep1}(Z~D7J zZ;u$-1z?j1SKQb=_-DpKq%vd3pXAnU=CG!L-#w_2qgp*fLIV zJg!$w_COic6~^ZNA=^KvwYdWhprn6-0}vB(-rcK4g*+#IjDd2KV+v~@=1U&DJfDsa+>b*L zGkadJ12|wh9(<*vJY9FjOyu+OWlOVyb>Tvc~Vh1gCU}h5f!!X=7q|6lQ9vF&=8d~(|qzZ%@S_x4SbECF)-zbOna3*|rR8;&Ylt9#_D$U{i zOjhbO@?!V+CS6-{mS$buV~iwc^NRP^-126%J|EiH*_^6p_R95J?MW4<&sl>4R=Vdo zz|GxaZ~&VOtm1Ghu49SCHg)~vD|jDA!z@zy3fJgd5ORfkd)3#C??+rkId;0=TD@4y R7GTLwdHk*9+7Z6^zW~-)ILH71 literal 0 HcmV?d00001 diff --git a/static/15/img/pavloudis_sm.jpg b/static/15/img/pavloudis_sm.jpg new file mode 100755 index 0000000000000000000000000000000000000000..f8d6715fccef36c855cf372163148fcf82f3b21c GIT binary patch literal 5129 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 Xo(Qa34sLz*$IpC~Jm6Zx5(oYTBOdYl literal 0 HcmV?d00001 diff --git a/static/15/img/prothimos.jpg b/static/15/img/prothimos.jpg new file mode 100755 index 0000000000000000000000000000000000000000..5498cfe4cf2d9d222fdbabdc8405e4c7e89aa7b9 GIT binary patch literal 15908 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 J#`kUUe*o8yNTmP( literal 0 HcmV?d00001 diff --git a/static/15/img/prothimos_sm.jpg b/static/15/img/prothimos_sm.jpg new file mode 100755 index 0000000000000000000000000000000000000000..b0ef392bba7478f5006361652d4fa05f3596a3bf GIT binary patch literal 5938 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 beAo?iQ_Y-j(uc$NX2?Elcl#HAE^q(Y==$-- literal 0 HcmV?d00001 diff --git a/static/15/img/some1_sm.jpg b/static/15/img/some1_sm.jpg new file mode 100755 index 0000000000000000000000000000000000000000..da61871bc22ce552f639e9b6f8377b3fb352db50 GIT binary patch literal 6449 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 TX5D@K{g=DNY<;CaX8Jz>+~j8* literal 0 HcmV?d00001 diff --git a/static/15/img/stavroulakis.jpg b/static/15/img/stavroulakis.jpg new file mode 100755 index 0000000000000000000000000000000000000000..3b2ff0c877b8694b18c1cdb2f1b61f29a809bc37 GIT binary patch literal 17198 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 O{2JyoxZybP;{O068slI9 literal 0 HcmV?d00001 diff --git a/static/15/img/stavroulakis_sm.jpg b/static/15/img/stavroulakis_sm.jpg new file mode 100755 index 0000000000000000000000000000000000000000..db9748881718cce4d500fc4bf9acf6c6e62ccc13 GIT binary patch literal 5803 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 literal 0 HcmV?d00001 diff --git a/static/15/img/tsiounis.jpg b/static/15/img/tsiounis.jpg new file mode 100755 index 0000000000000000000000000000000000000000..ae9487b7a4c714fb1ed79721cfd9b95cce05ffbf GIT binary patch literal 14735 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 literal 0 HcmV?d00001 diff --git a/static/15/img/tsiounis_sm.jpg b/static/15/img/tsiounis_sm.jpg new file mode 100755 index 0000000000000000000000000000000000000000..02e589453b69c3316cf4199185c1cca18c636689 GIT binary patch literal 5496 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 literal 0 HcmV?d00001 diff --git a/static/15/img/voula.jpg b/static/15/img/voula.jpg new file mode 100755 index 0000000000000000000000000000000000000000..ed3fe0abdc2e84dbb791fbfd1fe8e62fb477e17c GIT binary patch literal 18268 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 JMqD+s|JjzD2A}`{ literal 0 HcmV?d00001 diff --git a/static/15/img/voula_sm.jpg b/static/15/img/voula_sm.jpg new file mode 100755 index 0000000000000000000000000000000000000000..d752b0c67cd30ec762b55ac3ec83f94106819aca GIT binary patch literal 6560 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 literal 0 HcmV?d00001 diff --git a/static/16/img/buttons.jpg b/static/16/img/buttons.jpg new file mode 100755 index 0000000000000000000000000000000000000000..4de8373d9db7f09d4baad63034be2a1f45287801 GIT binary patch literal 21326 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

1z=9 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 literal 0 HcmV?d00001 diff --git a/static/17/img/perm.png b/static/17/img/perm.png new file mode 100755 index 0000000000000000000000000000000000000000..a9bfa0a8fdcc2b31705b2e0dacf9a8a51f8b152f GIT binary patch literal 2483 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 literal 0 HcmV?d00001 diff --git a/static/18/img/menugr.jpg b/static/18/img/menugr.jpg new file mode 100755 index 0000000000000000000000000000000000000000..abf85c5010ab241c5b9596b45710c2c26cabc42a GIT binary patch literal 9848 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 M_4~Kuac<`S7fxKQlmGw# literal 0 HcmV?d00001 diff --git a/static/18/img/ntscpgr.jpg b/static/18/img/ntscpgr.jpg new file mode 100755 index 0000000000000000000000000000000000000000..bd5d23d43dabc5e6b14f7078ceb4bf9ad331e76e GIT binary patch literal 2541 zcmb7^dpy)xAIE=8W-!PPAx1H#HKK7zhA6pB8nn$Iw<$YB>y|qq+T2E{7&C-yshOw@ zi*X65jBSKev+gu$3gxnrQf|#o`*?2qJbygTIj`UAbza|d&inH@pVv7*;gE0~kjLW= z;Q%o)G2mMVgrk5hAPI%Spc0ZW7)(k^Qd&kyRt652*{YzpSxG}}`!)?V1VR&q(a}We zYa(7;qciWJ)QA8?ikFA|sURm9Dz7df%wLB3*S(L=T!vAD^tAqbh2d#x8 zfDAP)*9{#yc4QS zuVkv2s$hAaQd#`s`e9~Y77;t}r zJ-_XgPi1v++ha~yi=4&$Ly9=RI1=BjWin5~OVOn1}1h_shZW^o(9| z44a-GMhdhow0`18Up&-FExn#Rs;~zoGm>YcoA?**+lBX;RRXr2D+a)7?9ruAB{Tzk!v4p9~^(G9S4uqnLK^+vDdF zBYFLoU{5}V9g062BLu?x)dC$l$Y$yVmDUu=9);-w>cON-0d&ggyvd1`uH~v!jA5dr zZ4NHzFls;+9vA8ibMvj2$W4*l>+KzQc7WOW;5Dw8@t}P;LR@F{yM6i=Lj)Ofh)c z@JW%v8EbsP+duPh{`G8re*C?*-@P5*y-WZP@=@`3lWW_8oC+dTbGWg#yiupLP&KG^ z4}(8k%OBs?j=M*Xe)JlbPVu`Ppkyjwf&_}C-?b@e$bS30m=Y5I&Bd5kmBu^!p^gM( z6X}7gUs{>;NcVx67^}VM%kuHb#gf+J=s|y$)$C?JIV-TYq}`>r20el}jHc zheN*h&JM4d`>zdF3{h28m0F#{%kCO^MC){CldZBERf=LEMbCcb1k2;-lGjXU8?QKq zb{01(+Yo8ZwXWZ5N-RI;`m+V2k#>D%DMZGt{uHWtia~F)%ViS!G^ZpD-D2kla?TxH z&$nk+fYmNl&aB`P9YTLKWOK$6s;f}JqUKm(W`qun=T_I{mT%nIlHidIzO*rK*mx+; zf`cW6GkTL%m(PUk4}fhWU)X*+LA~imhadg6 z*KshbaLh3gMLp^oG8%i|1I}OXmz;v{F7Yofn0>>ZTM8x)D72`ntIq^+H}23NzC+Xg zLIx-0^4!e?cO%tcVt(ue{xif_pG!y)8#Ob01oi5fVBFRe;d(Cp*sqy$46KeR^Lt%u z&y;3nP4Z0ak*x3jl1=40Ho@e~u{Dgc=zpi?g>b2`FJLOk!hUehoIcm%({TG<*mBT~ zo+1UT`~AeiCB0SuxU&PT4`K%1pV_smGdJ!1m-3y6BakKZ?7cJjB{7L}t6PLXmhF>v z!+S34$5dJ#+Hd0aysg$PlI!*F8#P9F@yeK=HVx<>=*=3-IALL4NK7q~GhOVshf!4_7+2qjU875wFjU%U%QZ?0Oc{ zK3tke3*_qvYCIpEXzoid`!ScfBT!lbrDwA_$$#Zh*q7h6X6`QH-TZytZ9{gnDuO#c znJr$}Wsl!P-*$qU7#wxp*RZMb{>W9X&xBP+ARcJ|rVFl4mPuL zVXF_h9849JbR7^l6_K3CkPn%u3;8z(|3x7}b-%$cJleSq^67v0&Na(15OM!J3Z4l2 zAElt!DGn)4p%8PO3UnpjnGIY3(_fu;NkfwttfzlYR3g$+ExvFRUb^shG%wy>EtvF2 mk2)W!R;-B)pj=6Cxzr|b(2FvrvGg&{x&#uQ#>8C}4*vlvOOPA@ literal 0 HcmV?d00001 diff --git a/static/18/img/run.jpg b/static/18/img/run.jpg new file mode 100755 index 0000000000000000000000000000000000000000..f61247940ae57c0012d915913eb6fabc2065c77f GIT binary patch literal 5560 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 tJiL~KrLpH|2F^qWNTU_#1!%><<6{ literal 0 HcmV?d00001 diff --git a/static/18/img/rungr.jpg b/static/18/img/rungr.jpg new file mode 100755 index 0000000000000000000000000000000000000000..eb14b37b53b34f8220803df4bc1b1d5f91d692a9 GIT binary patch literal 7472 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 literal 0 HcmV?d00001 diff --git a/static/18/img/wmdock.jpg b/static/18/img/wmdock.jpg new file mode 100755 index 0000000000000000000000000000000000000000..dcb3b49e0a113994b11e5128178c4763d8241814 GIT binary patch literal 5824 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 Dy~?O^ literal 0 HcmV?d00001 diff --git a/static/20/img/12.png b/static/20/img/12.png new file mode 100755 index 0000000000000000000000000000000000000000..d426d4d7afbaf5f580d669f9a2fb2c347839a729 GIT binary patch literal 164110 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%0A~~cky)H{Eru_GVGDA2!P&k) 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

    !i2MOsE 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�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%0DYtMCpi?znqfKAezTF6^kz} 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 z/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

    B0Na!b4C#C(DE}3a06$Sw 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 literal 0 HcmV?d00001 diff --git a/static/20/img/2_sm.png b/static/20/img/2_sm.png new file mode 100755 index 0000000000000000000000000000000000000000..cd14849bbe6eb0df8094da1f5f66952e68f7395e GIT binary patch literal 40816 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

    -T%{h{9nGw&ka9+xG#)gt8H7TTx}oDd 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≤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 Xmy9f4`v1WlJ6eW!O>|4|IEVia&bEsQ literal 0 HcmV?d00001 diff --git a/static/20/img/9_sm.png b/static/20/img/9_sm.png new file mode 100755 index 0000000000000000000000000000000000000000..21ff491d9813d1c921443704ed9889f02795e027 GIT binary patch literal 51492 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

    hJG@?+rQ1t?2wkY25-=9=C`q`{KN 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 Bm^%Of literal 0 HcmV?d00001 diff --git a/static/20/img/civ.png b/static/20/img/civ.png new file mode 100755 index 0000000000000000000000000000000000000000..0a3d7ec5d3ddd5f151d507a60b3b6bd6c36e5a9f GIT binary patch literal 258455 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

    i1WoVOss)S%(9P z!&EZ-Q1bm$qQ6`SB0%8Z!8gd05nOnH5RPes~ zNI$6Z|9z*kM?*g~hSp#5hrZihc=A)`0ArSQdzC`*rA~VA|4aXqFJGe%d*)lfZutK_ z%0fW?>-m$Xm?43dMCWKp1n`tI&3oUs;$VNT;Q)45SM$YNn~4j!TDPyR5=jBDgkB(o ze6^ERm)spe!X>uvK+|SL>Fd-i5>R~S*-9M1-0ngQ3&bf@!{=h)i@9B7yL3ygEX#QG z0;$S~M<(mrbek+bMP&d&qulKYx{m~T`=^K{0pXd%iqB0XyV%m@k$2Fnu!0T2lY zB3=Z@c``_$QT1denggAQ1cS*?y~K1^y%b=f<|4_BGXd z#zWodHyWPZ`{i5?{Ob(w*!S@~ly{=HZz>TC~Xv_zyTd>XrXeZ9&5q^69sDG3daWR3PGwR(}#f2aKUVGu} zr*i;JA$IT6we0`sf5`iS`$_~BM6vhYgFf8z=f8aZ96e@eO3E1ypf>%dd!47i`>hTh z+}nG)zh{}-zq9xB9YBO%x34au>)*}A0bE~&;snf9);@X%2mmgi{po_DH(7YTE8~!B ztt5$0BpWCa$&34GVz=`5j}air^H-$sU|$bLdBl4_6T9CBmk=3!1VwK!XBSx*tt5D+ zq|a=#bd^~r`D4y^*1pZ6^VBf-gMF(8gOXk!n0e6ejXBl}3Se)*!ns>^+CwJ*hidFU zY|{G=8caVYB4*s|pJDtj42u0?{)J}&p!~OUDS$k9#|of4y|aZ91)-xD+rp+h0W!z~ zb_r5{fnyM0?9lHVO7;(uQ7Z^J`^UkbppUv=>zUYpYrqe0$NjND7}%I&*}AIRkn{HZ z3-CjXF{~kGjr+c<1=>RHv0RCmySV#Z>AOJ~3 zK~#J1^wkfv+rQYey#94?^}8}!N2wryY#m))%T?Cib1tB*JFp;Xy*3#J;Z{+crTuM; zY&W8WAnOC-08j{ji>`kO@*n4gAdlHkBtoi0kef`l1sHUY64-tY)5rUZALwUt!1>UI z=1=GUF~vxbCHIEeGDm-r0Kopa+IXb)-`50s(1Tk*CrvAB4EfXvX$7tb;K@EtG_0j6 zpao`q3fMXVJ;wkr{jbnpY~R4>ck&QRf*=B*7^r1JvI3ACpekV4A<4R{wA;<{6q8s^ zp`fLLL?i&C4}i8`AUMVbgMR;6tA}x=fr=E2d~I#4RkrbPpuu)LtP=s>EAj+>lIxtz zeKW{6Gj5+6RQ0|~#hsNfpKG9BHVA@)QEm0i?W@pUF#*O*02-A6fPX~{L$ZSES>aK$ zRHrh9|5$6Pd4+79{>|?%DM0>{sDh2PL0Qot6x~tiqn1l-R&U`XJ~})5-)Bx1=EDyp z3D|%B!7ulJc`~`}Ob7s$Z~(r-M-!*T+qSoSM*r%W_OBOL*=(M*=O&9Ha_%pp0ubN` zPN2<+x0G&RTaqrA^w--U4zP%`=m#v*3F^;+c@j}Bf5p0=M1BjlAUsEAxEV7Au|IXn zfba&<&Iou&*N_rOBzA7YG;X(x^T_T@G`+T|39w=?)Swf#;(m{3>!4W6JRi{Yx$UgZ3|;%A)Jvg8h%(FU65%1b-F*fw!$k z+3c$M1ii|p$3EECcB_cdW%$|~yR4tP^i;D!t(M8wzZU4c_y>B2uhsm)>>CV69`n1; zb7~y{c;q{S+6L4_Kp(R#5xPWxkG*zqmY?shB>n!7lmDGm{^)Ogm%T8b{R9KS<0h-~ z%2Vnj09JRq|!=9TI(*W3v*Ofb1Aht?k zvr39p>e}z2ou{7%+@NPZg+LCJfUpsR(im)zSxFi=S!k&67Yb%r^KQ0EB)8~-OA~d` z{=0Z<7S~g3`wJoY)#BWLM4a41`agiJ_c(Y2akxy1jaZ}uHH z7eFq8Tq2LLEwO(=0Ow)Fd-9%+i*K{qd*p##hj*?vVyP4c*@i z{*4KFpHx;y^cvspt$-*LxDRT6zqk1Dup<3y?N438z@Y+I`)OSabU0yLp#YWc{72>f z-#od}$K|)BKL7gDp2_p@$A$pP^HgX*MrPNmcz*If+pA`#l!W25rz(U5k17Agh4I7GW%Tj^qaBd|`~MNUf2leM@&XRiT~Hj-__bYF z6zUh^f<%ERK)Ga+2QAk71@B|f?*Q`&a8=LbY^~rXYg)uJ!N3hR_;TjRrvM{2Zaefq zT={{cd$00&@AhQrxsv{8&5u#ztk%lE^!;(I@4Kc!W8k;;5^mzpq5WYM&RGX=6F{W< z44iv#35xdt6&cu-0Zx5SzGAE>&3{1V&$7wm|6_xTl|QeXOs7y zZSUuMdJvLrl$M=qxOc<>Cgv)wbxCv98DB^89l9*P$^_gLpw*s$)xsaFeW(ZfT!HT} zRF=RC{BZ$1G5jit4GOfa9|UA~@4R z;J>H>*xA!}pFe-Tf3kl9McIygo&4ZgfU9Vo?iP#nVgaV_`f8n`>Yx0t|A9H4HP-@( z7vL~&n4qo?vlmRTT~j103M_IZUZyUW5q&CkVDo}pLX0ur#sZTzUi zz2E=Gg#Xa*`lu;4E3|x?0bfpZ!)5pq{}056?b4dw2i+ zUq1gONC4;q?ssmNKhy!dx|*-Au0C75T`aDy*X!$b#vP#9E}<0uI@6Vx;OivYEW+3e zCSc7fHY;dkoAM8zelE6-Z9y zXy4lcu^ZqWbf3V9e+F#tYu`^Ye*yjQ1&&%8xClH3*g8 zcUxWKYkuG&K)SRa^jembKRcjOA#p#rKQMAPSuc2bFdC@&D+{2uwUN?p?dY$HYxKv@5ZrNErSEqh`9j$ory;2g-Q zt;j*@&whOK51yXfq9t~8bo7f3lH#L%xBxuVVU-MfaeeLX&ql zKT;V`2cIe)w-@-*)ZbHo9;XHPpYCaM&^rJy1>RFCQ0x7t|Mp+|`$+z|SMG<;0vrkg zxW2l+UVOIr{}xwQ4EbR~*`FlS>Aheb{=vj?n(Ven@Fhc7FA(d+M*tVV`n$07bPdNq zC2WcMA&A0j_Qq5+jLS4}*|s*e<*;pob$9i|?J2|u zV>)o>U_nY)kWwy$KIASX3c$^0p=x}aO79;Hj8+Q_MlpYjc|YxCxSF3GY4s05pXTDk zOEvi(R@F7K1BS?`oqdj+&bF7uxU8pn+*pj)0;r;l9~`=O6yGuT1--d%po7=6+T%vp zu0p^2G-G{q;G@2?bI%lV7cM(cATu2KEMh$TajdFw`froT@@N80tlXce*0ei zus@giUKq$j>5l;c#+6t>rD#Z=e}l+~v~9o?VO*=SSE>KmN1h6ZBEW~>0>0P%;J^0i z!H&=aSpHB4@UOqUXs@rXe|NQ5Trd9LtE(uz3X`;ex<$G$t5Pi3z-+Y@xHgdXfeQdQ z;G{4mu(>Y;P+$B)ypnt(HF5HJwpwisWCkGxl3=|k+GnZT9C{Ize+uh81#uE#>nOGg znD(!9PeEFcaAQK7nc&zg#H=w!$jRT97W`Toe*MnxI_{H!!{|(|AN%{17{&atSY!&J zuha?{0JoRa9x?#^C@{ud^pkNhx{4<_>d$i2kW|9*wD0KAg@!ZUrsOBBJge zI1K}>_}MD{E5;vd0niQCvifJep$)zKjI@C1-cac_2szg+WSv3K5m9~d&*+qc<8L&&j4zZa;*4d=nMZ84js~EI9~9NU{a4y zPbbU$+vQ}Fm*Gt)UpHYU*LoYLGSt(}_gwR|C$3#wLNyOigzypnfU2Mhl-yU+=PnU= zt?;VCy4sQ~9sv04VfV5#9>@H@0ayman${UVD-N zb^aaC*9Y<8NV)tzAMvnYFe0|M<55ji_(oBnE(DI;_Mji%{M%2LlGdL{7#B0{mbnk| zfA%!ZXPa3*%X7JuJMy)c%U@0A8v$be^5Aqf{d+|M#?AkZMiNHSr4#+a|Hq)p0$zJ3 z!2ds(|3~*O0{}LlW_(MMfOk)xPCx`)J`pFde}s16{$v7K@RMcv>0~mSh-HDTcK~5; zEZ!c1@ng-dZ|3v%-Bo+{R;>TC#r0?Fw0#8!fZ5hXmPMwUQSxpTC%X{Qz0BmVKSlE{ zTMJO2_yy8{gwp}*?*A44@on}$(`~Y%SBNFVrr|aUy4)1p1s5oDdkU0M)7glHec;B`>+bv5&1@t0BNUhqs2w3`F)G4e~dQt-6n7}*&3xlR{e`W z%Lwoz1pHRj2ctlBM=;X^#bMXt50vLex^IxGCJ@Kfsx zg+I#ulLZjyQi2xw{;ct-j0r6N7)EagYC=l4^&%#9x!v97RGq)?3W92mb!D%bvtd+k zz=0~=Y#h=2Q*_1Xs-st7fU(x>^aoYl$Vv#S|Qz~3IJC5fj{uv@YqwZc6$oM z%@jM^=bnNERszn&^k!ySrn_wWRscHY0tK^|WjEvAQ3vu5-R^HE^+S4J;D&q-bjCkq zGZ7l!5g|ZC^0Gq!;QI*z=of-VIQbVS{V!l0fMS4P2vZr1L_lN+f$D-O@|Rb+HDvBH zpzJRfp`w7mJPRQ9C6K=bOCMMl^Cimb^wQXm{f+9fxyF81X=lg1QDmzsaIPWGVO#yP zdUNJA_N%|Mn&sQ`1UZ!h_X$F^Enw&{y?&U}+S@pn(8%2x5w)l7C|&Q;?6Yhx_J4hK)el($+^PDH zS*(*VMKd5q8$VgCNdmxrkaY&p`*pZ7+qgt?Fx(~UZIVzJ+pPK+9>yx|9r?sbI6;!% zP9ji&+@692ih$wn-B-i3ADe839ia2!BEg;lPzcdgw016Wv@qFK*oXEIEBc3C{#)!W zIdC0-R#+7Q4z)55AyF8sM*LXU3PvhJEI$iGM#H=yjXWDTLOY;1BpnECKXQT!4h13X zW9(r^h63ab(Bc>0qkDc(_@~BKm&L!J2cchO`Qwto|5&XX&R}TW$PcS~j!;)wzp`vy zkUiEgYMVj0=GdRzS1Ny%zNe!A`=PsPqqZwPD^$P&PGxm^COS-@q*xTyWHbJ33!QwI(9ua{4}bhDq8 zxA294_s=R-@DKm%gQq7?yZ90qF!{Cvm@LYzeE#fLsTh`c00Y)e!tFbPe~Rm<)8?+5 zNbLVg5J1?C3<$si^i$K1adbZo!3snx&mbvCu@gsvxjZ4xV6hheP_AaHMUrmQEmnXe z+in+pL3oNx(}XlzY*U*Ax~Cw-=1^NgVALWArxv1LhOz;3-BTd`1|K7lJVlWDaam$d zf#>xq3P9?gK;YAKsqxM4XRho|roO@40+$*=T$IA2Mtwm)rdvQAz~Wp06(G|OSoY)i z4{oN0mB5|03{e0yTKGHQly9pdBe3=tzN=!N&oJ+YJs*8l`n_~99~34Q{aOA~F_W>9 ze_cd%)H)pp8o1Vb!zhOuqN`!s(WvJ1vFKOX`B^n0Z z8$Q_BP4l=Jjr-<*kWzf_y@^-z9geT%JpxAn9#wkr^)LSR`yV`iAIrceC&&W!zwH1{ zmXoY=JDHhXA}BtHLLm82Od3V7-$z&T^sRZD?beHw`hXYc{;fdrF(pEI#(e<@>q+{# z*{wkX79Wz7VEB|!!oWm-474EFKmtCLG0Ie4Qf5WG&6GkQZX}x>=td!Ed}mwT9GcAA zHtU}cQ>gzzOJlSy+u9s3#hN`MzNP$O6TFm`+4@t^%KRfF*T z4?leW`M&&e`$zA5!vXv&9RPo^*+gr5l&|pTNRpxXRkXNXO9Jp&`B_1EP~`ar%e-{Y zB_KRDddYX6lYT2Of8!mlRuud(APcYlh^`<|yPyPY#Y)x~8wjy(lpdoLBw^!VB$2is z_1g$0rXq~z;KT)nKsfC0(|U4zk~M`=>FJ&Z9hpfbY;Qes9MQ8wv{;^dmVm1 z4d;VN^_cGBqy87nznT`jA8Uo){otYdvChNzV2>ZGv&r653~hs+WYsy*Ul9-tZS{sf zf~kM!sXIAYmJE) zu~mpQLZ~!yk3bAc5H#|V(9waw1i&hgV=Vkk!gU#@UGV^R7;(?Ac!q3ICc38}dy72< zZ?QUntHX3pfj|Sdw$p@_+NY!bkvCju@gGOTg!U5L;~>(l!Vz~2#Hsii%YT7_3x_P( z%VPMDE3wS}3yOeq4geydfij0d`$J7JP%#0O`PE%txarKFI{(jFlrG`uf?Jw3P{ORr z{V@~JLb-dHGfp@8AY9X6~I0}nDuCWqJ;MTB~dlu}#B9{S&F<4=Ky z{~8TE;n?eb3>*{CdWe6j^#I59J05#s5PaK_W+iA@j(&>DzdIeA5dSlSyUD?ao8_C* zpUD2LvGt~RdFHg6-<(ybzo&fxt_aXKttW>6pEFJe_Rh|pK7alJ8~{weEf??gG4rz& z2aum&QXro#C)@%Q?o8O7%<}oXC>Od@vhWXJrf*@8|KVC;Ou zk7exNaq5bBhWU+|7kA-iDuI3WP;M5R>E?PWr_J@X+_;w0gM8!00#^_21p623pLRC5 zU2gV5^#BBe@`nb`5qiepU;mk$Kyz~>!>Kl?PWu}N<*QN+X+UpWj&|mlK^4)HOJdkE zeB=5&Z_X+YfYWQ03VjL$(5C3uDNq25fJ+oePEL^EOkkIQ$2&2Y6VsZ{=U45;^%ViY zXY=Ud>f$;vW%iIIoCTJ6zfD&C6*dP74CrSh`(a$*^K82|VE$utASKP$tp6x4<37M_ zJDKqHBn#tyj+Ve8-DW#m+JFlFb2A@F6i(ackP9+&4v+ygVwgxQ@UGA#ZLeUr$3;O`Sy|Fp9|J^O@J5`#}wa&h`_@61X%wa#A^Mf&{4!4 z#{MI-i#Rl>s$^+URU4}H!iOzZ0N+J1P<8$Xre~iyo&T{P^Q}gD2d=MwT$z*41oW`e z3ST!f{*fo&`LX+lt1ET&zc@wmc${f&Ouk2z^M5rra)dfiSpG^TF{@PEZqAP0d zZ<^))suZYVjFpETs1Cy;g=Tlg{HM+eA}gqbM5jmu_NCjkTo0&g}f&Ve!=1^`N1{2V%w~`VhhWNm+ zOqha-l&#Ad$_(Hw1np>+WCo!dQoM##05=NcB>oWj3*;n75>QrjT|XdxhXBOJV+fQQ z>>!9^1q6^Pgi{dQZ-M<0`L!!ZS`cRe4g#+y7;vYk-$v|W{{icfnEO|q|DZ<%fI%OU zemz5WIMC_%k#h)ETYq&r&3fTbZAwRIE5zWs@d&Z33Yt~Gvz%Ht(&Gz&j?On!M=@&D0IHA89>Gu8_^VFcyo*9zF)t1urk&2oly+Kf z%J#6`-jLB(PIcqwHSdKBc|@$aWJF)W?B(&Nn^Kyud#(TgAOJ~3K~y}0qyPt5cnCQd zu7d{S6Ai)XQar$4i2wlp)tuin%~;#DZ+fm)Llwrc*GOVtrdDY*;%pa?^}iNakS4LAOnw+kIuN57 zxR!h#`@YsT8rgGe%kUf(f#~@BxDAPMY$PQxiAuv7qKP9E8Fo+{4R)r#yA6Zvv&?XH zu=eB{Lw`ZQdjVUCeJXgz#PofJ`Iu%-4p7P^Byj=Kk@f|!fQZvU*k6E305*SdR8S`c z>20`T2*o`%8Cnwe>t$bV?oT{G4_ZIHR*&s}jQaLQPCMh&RuR_YdBA?xMH?!ge&{jy zVCXf0T!!E{10IPF+@ngjSHX?pc;vV7RI$WYnmp&1Lf_7V_zB~I^B+yPG16Y2t4Fxp zq?wL*8gRo0_}Bg8P5jTF4!UBnxuCaK$M7q`V@f41MUpuU3=aE z>@{TnKorJYq~L(r2|5DVVlgQvv#?tfb3x+WNnZYs|7FPSiH*zYci}3Oki9?yaFvCt zU6$VSY+&#}_RRDHUb$VwngA3r+7EIhUL!st0K5oNk^+JVxj}?sUW^rT&fkp} zak`j#UoCY3hI&5(V_SXd{P&&KHxq!t&@<;EJ-jH7s5QFQ)rP8;0}!vRp>(y-8V4^Y-(p;QNR6d1od@-0nyouxw9; z_Mtry^f1k*lKJ1@eV#5+1=y3k4;26qKX%{*-{9Tl)=l=;OawJK{}oh!QxyPIef@RS zsc|bmnXp}|DPL-~ulpHvAxI4*&fIdBv#Ly>cVPQK0cSnu0N$w`K&SIWLjJO)bQLrO z<)0^;Wy@|cpSS0>%-Wf;o167Q*V~|;S0e5c;Afv3h<2qU|HAmv1SR@a8YdLu+jf%5&w zess>ud=PJs+#a2wYpadfT4!>=^nt3pB#^5F@QDHR%9OF8jVJG|Lu__s5;T!!sddvY^uA1~w>0DyLT*eUZ(xhH>4;^22&4!h$# zA-cmip?Zlwe`=6^d-q;k{oZeOy{y!jnv{)3&(^PUzjwpH6_%roJ2sGO4b-$C|DJ>f zZz=?E+S;?h-qRsTQb&`HR;&c9!Uc2|AU74!yl6*~)!NO&X0!QZ3ro*Z&h|*`Tv5O$ zP1XJ(03=^=DlvGw1vE%^VET!1V<~PDi%US`k3{+ejGZ-JZ2)ONmcPtoNm-Ev1U}<+ zSw?N~IB&BEqsCFXvg>jozDELWl7v|xY1;IB@0X;w$p84ZQB2Ip-kg! z9!sR|2QgGVf&EkH@_|e!55>`(QC>s+H&60B)|xe*v|L1nEC?M#?FwLK7@YykBLeXU zM!OCNftCXf;RKB8{0FM~GeC}Dwfodi&>g3z}`(M`?C(o|Ai`OO07?3 z{Kw0v)kCn|`i*<34EpNq>>;qBv%59%k4aiY23Ks0Du41NF@XG*v@xeKr zAKA{o_Y?+#0E+o;GwtN%wVWm6pSJf+d;ek9-em0$^7cT2{&A*|#^k7hGm zDt~$3)NQ(?7}M*jYS4fWRnq_F%r9`MJwWwjB_@n}??X83+f?AAeQ^N$or7v0rri4S zMk4+VQh;{!;vt`Yx%u+z-`;()TrM%e6PDYQ1wJr;B>y)M^h5m*;$9d6_m|nh-)4gMHOOzexa@Z1Ybw5gkL^9&K(SHIL04YB$0^Xmf?Ci30~u9>{t^dB z+pTr|?oEyHz2-*)64c^Ms_OQpt{Ggq4uNKFZga@lH@-f?_kEoU)T2RX-!TgSl>k%% z@dr%S>X)0%G(UW?+2r%~=9B62>o1T3eEHSgZ$XMqw*tnw4kY`W<-F}G#SoE1|Lux= ze;pC{qdbkTbd7!9pzy3XCb*WP-^HvwWJ3Tc`supwc({_DLnrL3{ycypu)wP|LO4== zNzS6o6z9{oi)#t>F-Mlu`MI5+qZS}9UK_#qyKDh^a=L~vY1$YuicU+d*Sex}^tpTfhS%nN(7IRXGEH;d(D z@93RnDVguy(R8xhTY?-U*K+q^ve(%YOuVT}NC% zjGf*X;6rtPyWM6h5dTR7PB8{Zc91I*vNVWVTxRS#DPr>eo$A*jPO>=cCWiYyOyndv z&9402aU}TyCW#$G@GIL^(cZO@q#(l>ZX^&t%dk3J;8_$M7YXKrC?t+qrVyP9EDn#j zpo1r?<^8q>dzA8HK@4%MyM`4Hpawt^faNW13(93&oC_W}N2`Ekfk0Oo6;5V|r9L<5 zgN*-~F0HlX|?>zl775mV+M`NyC;pi_y-Vgl{J}G?^WT5g6X4&& zR#G+p5r_YAHO8>77}dva)z4T(znvl5#?r4Un;(saRaRa_bH@bmhmRZ=r?HQ(atp4> zF!08VcYb}TlD@;belV=ydqdM}T>Y$plO7$o<0@EDeIAcTIFs-*n}53<6o+sCH_M5H z|0p_simCvR^iPoka2e1V z8h_LQlgH#`jP*<0)tZs(x&#FpcKv8Ma6 zb?RR{8F{LRohATDK&~vPBZGawjRHMDsE6UR2HZ?`plV;b>qqH8eJYa%xC^1bz-9ir z<+G2m|KZ4u_w&o^d;5S|Gk=EzHUG!p{nQl)ni4>2)KvwplH&9U!K3oQV>n;UB8}Yc zPCxlm9b2XU!`hWNAmCnkI%;$ts|?_$CH;QqDYy%6@<;;q;hnB`<9SC(Cm1hQIvnav zh=1_e;I23eyMfT6eEr-N6O4=S5o}zrH)wYl9Qf52Uw=WyAKLpXpnnblLrg#t_#J|N zipBt*S(R(l^a4Qu2JM3^kX(Td!KN*fMS)#tsZfIc45LG7yiRpZaDhuz0tbf}EC4ao zd1U2Z`&Tm%^CC0Vy(Ik-T%-__g(L>Az(A6Zm1VI`^RlKNImwThe1D+)wCeM_;a@d- zjtPSeh|*tQc>#FcJO=9rN=YW@tKP6q`9bFkVt*|EQH+qOf6(fI@DHJK-R-N2A4vGs zyiVQ1uV%9Br8k`D|EYHpL!aBTuWp@*4r{mqziDlr|USl zSGpOaQ?LCoaz#j28T{tjk4ooXi-p!vlz+y`e|5^kZZ=!qF0mZ*$&w3l^(^=Keap?+ zFZGe5Tles7=ZHeu@<`_v*Zcaa&aF6rTLA&H&15qr2ryw8?hc^^`RDcpxy9?%KDOpI z#>?uF%hy%;&y5KBy$uw1Mm6BxKmG_0fD!mcbp^!IKk{Bh>jEFSbl@Y*1o8mL1-_@| z|H1y=erIn^^T(g?tKhf42MQ1@&~Cq)L+9X=85C53bddd|U)+6h2hH!b>iQW~0K^D! ziqT+$O`+@Env}sL+nOW`g9uUm! zD;!`G-cWiN^MIypqIIaV2vK{Mg%PR&*wJYqND45J_IDvXiFkmB zzp4ay?(d-CPdtFRU^^9nVrb@ zWcCR!>+>gkZjw(XdNrGDz2?|-{lZkDei`9&x4yQ=gN?H?;L1mTOVirIes z#aB1wio#woMreTr*bht~EeJ+Vl1P-78#y6*+S+CPt%ZoEDdTMSKUqgyv7ERqKLv3Z zn?uklSf}XRYok7h6+R%(Hyp{&(jb*$aMnaiW;b*01hTVt5hXZF;8HP?j#IV<)dg_9& z%KQha^F7oJeIdpwAm6yZH&YLg=U5XbCLy+wZL~A+7q*35`UOpARm|^sO21MvJgvXy zgnu5}xbgz;)lDdbIP<$f6b95H0QYCk(ZKxQ^j<4C;L1pB40!+j58s#X51)5B`};?o z&OB5xeNb2=@W1+P@#@v`lO^K+bVBo&5RO7%0Zm2NnE>}MzP`J8A%5^i3`Rge%xxeU zWqSbs#jw{Ibv&YA0sCJ}FG_oW`d`oYj}!Hxwhe@^JnV9@`-IH_MO`GMw-xC%RP ztA6}qkCEg4YZSGv&*!cBQR%%o=1U(jthj#74x1`->#~4KeAl{#8+uWV^(*r5b;cUM zdqiI~6#dkXZH@!@IfP;DY{m_QQPm*vJSa>*jg9}gQ&){2R{Nr)#bX!94NkbuZf@Ld zy&t+;EcoHZ0UyGpKKp`4?B$XYA1x<0d`lF^^64~3Az&Anzr+S?#C8wey&z))6nsm! zsUZ|RX!HZ`oylJ+54hq5dI)gu7YHj3kPCtS?|t;%N56Ug!SnqOok`MN|OVTSHu$>l5J%zr%A7MXDek7mVtCRThZi z^C~&$!z0AT7yeKl#I6v@{82e9__?`u#5`;1fFDqQ)~ZxLq4OU=>u&%6Fdo?d!^!+} zWd3+;ZH1!iTA7CSfuFk@>uBJ}%>ka;Mle>oPqSBF@p~Jl?Q9+Qjz_+J?;w2L!ShAI zfn)Eu7uqW7S98X0^|$98`U-$6A5?IEJgO@NKdIcu_nmTBKO_E4##KNW=5<)h%5K6g z9yoCOfVz0%0FUDN1ID`&&m5E?s$cR9AGndH_DX61FQEapnaShb>2d>QK>4~0@BY%> zU}u@i=zUc0tLpv!8TJj7KIq`Ss|eINM8nFd2G9TtuNCg!yLG~N^&3L}-w61}u7Lf0 zEDoOMP)6&>hbMa#RP}iTB=ahGB_Lokn~HnOyBL7Tk?(|2u?vn6Ucb1TAAbGyi&B!L zNsi_|I|9%Gz#sq?0cCx=ULzasBAd@H#Qra4S-S**Z+AbZ5 z7<5C$_%?Dnz>5B37&{q2m{Fiofc6dz>jnLYxIZ}HHcub>4_F5D3x7<{%C{JQZ=hTK zw8l52@Q3w^Jsha7Bz)Xbj|S=Zcq&q8yC1Bj{O5{|u!+InBiW3HK$`%hgQH7V_Ooig?d> z1Lv9inG4XxjVZ6DlK5^WxXrtt$mQe{y*Gs>AY4m1UGgn&%to96Vq{6b@t1c7R((Fg z{7Yr(+&5@~_h$`M;QI%DX5$e`c;iDo=Y5eru*iT=uOr2EMt~x~d-8>yfxr3X)2GD# z`L!FD2#ce4j^gO5m^dF$>W~&ln;_-^w zAUuB>*`1()ok=B)SYb~=Z0FomkVfrWZYN%6yQo-XJIOK#{KEu&f5}6(P!^`%4|{x8 z<9wgB{6f3`*Z@eq57!s4FCSE^AY$Gle55$gQOL=j57WJ0p3;OU(0PE z3{>a8C+3eOKaBjx4*bg{D1L6-R~b4G{dFmTJ@tAT)*-ar+U*peT(xR;HFqRW((yVmSH))&9OajgDhDm z&A;cw+A<1LK~xmHA%;-sD{zko@DOaH(Pwase;Mc23-`2&(?q=DL3q~cn_IoXBP@k2 z+y&kMha#1Y@gDtx!8JgfwEi;{6vL3$7h?O^d6H96BgMytE3h4m;?9HlUGYVE13keL z2!xBZZWH};$=9kR3Vo0@RKwQh z?b@0=n_VxunMtw$vLBg2cd#9`?RmLKIVH3hMvDYooLPj;!`W(Grioa3Ko)<*ZC-%! z$^a^2UjpE0pYi`Gjvn0SfNvi!kQZBuf*Br+5ki#x$RrGa01lksH#hyD7{FOT%=v@s z-*c4Ty6OkxaH?K*y_~t*3oIU#=dgY-pOyM33zjoHF`MElzXp2A^@0cFd~BnoO}sLHm_5k# z10R%EO>i;OBk>m4ZipHv@A6T827b%W<(s%S=BMpaAyx8eXdTM$C|>l=31DF~Oc(j4^I8W91TE%U@d2Tsq00|f1qQ&oS(#~ zQQ&KVy=T2(P(@E|`m0O^Q+jUC(BU8L`wi*{{jo2vkI3q?4gv^#w^|3N%KeS?oF3HI z9${=7gE$;2IQ0U-w9;?D`qNRR`RCb3mE~9SNgnCDw|+z)@?Y#a9{+QIf1GF?r=enww$>)eB!_c;Fxz%O^u1P~+11bv3HX_<32 z2+e|!YN3dqRUbia=iNM`KUl~a57SA(^dE4@4ANrI7ZiJ4a4#t>yo7UDY}kyK`ww{L zK^}VGVRDvBz8j9&%*fo6Uw?yxX#ESJ*J3sR03ZNKL_t(%`8Z}uPl9)*AMhV;!C23q zfZs=aK(~AWxs+0pC32lq=O&E6eGu!i?+#x@|5V9{h2nm8lhwwndB;=*!K<>@6FeSm?V2cT+k_5XL5{P0t3o8A2Z4b=$(abUI+gF^W?R^}Fxqv?HzR*%3 zi-3GD`H2|%fu7$1cY9Ofj{@ID08J1u|5t{uSUiM2MojpJTA@?LFWX4ZU8-HB{zJDi zqc&~N#2pc#kHGJ<+!o-=edGuFKEcPM+6`0-H@&B*@IC!QRSQr8feYIe(9r&!-{0Zi zvN?&M9~wViClVSn|NjJie}9@xUErmC<ZY>z^R(!>(^#tQWhN7%yje9PZ&_Ib#BV zySG((;J|}^?S;Bl9P0q`+>{a^Q7H!mm?2cEOt6>vNJ}$k zFwe^cqqw*MiQL|TH?VTKvEVNPGHwa?L8n2-FvDAjoy!v&hVhcX0go>8NoDDJ$?&gH zUOhsIC(2y0#mu`R{+ng_4KP4fvb`z43l&h{^>!h(l|o4_=E3=Vcu-gqcCi+r9dwp( z0fN=B75wwvHrs)}N7XN}bTj|}lfv}a2v{%Y5aBf=QzBhRc8fKq3Cw!?7I!7$wnN*3 z{8$8bVHB+j(gg8HpPNV%6ZH)wib^PxQ*6A{;eD7qrhZ}wdz*kJ-cPmtmy%o*sc(P+ zFlPd_-WL~M4-D%70?Z`G#0uOqls!l0aWC>>Jl2bG3>D&gasaCW6==XG z^sE85UeFa1s_x{VnkMj7N{3Js;%LFaz2=|C{M+*PFMrNh*#!=e*7|N|H1}l<18%22 z+XqaLyx>+#gfCsP03?7EU@~=(VX8F%V15%)14L|t?Eo#3<)q7GXq#tZGBj8DAY%Uq z^4;~?;khDzB6EoEGMFzk48sncYk+yG`DYrVt3~CttpfwdtK~kNM5(#M$yD*rrqrK9 zt5zE?i8p2y-k&wTc;rmHjF`T7EWrOPFF5+NGdpdc=oBO*c8g*dbtC-FeDOgxY1<>X zfVFCardR-m-G7q#M}Z{JVL6O46EMz#On-iC`Uv?D6U~xX?EkIAe=ZztufX_?($aJn zc18X1$U;WEUvjVrNyeuOIa8W+t9uGcD*9Sde1h23?N!}N;`%xHy`JWy*E;*F4+UBZ zi1`>ZgMdmuiv3Xpc;*KEog2^{AAzwg)=me={0G);^>vo2_T*}D9Q(D^f=!kC95sTd z-c~}+(2MP9Nw6_`=K`~f=;I1EjP>}Tf0H^>@bnx{yhqUJS&^j*ZzA zu*2HtjH?BJ+9v$DjlOZ}DgdDUtIcbGUozIan%*s4fIKmq(lyY+Z#5Ipr*3`2z~hD~ zGKIZe$VeE_*zZjKLNWl8vU3QyEMZOuh6`9zS$0F<08ciWc`H}*n>y@H`+s1hM_3ob zU5E=Pr~0ZHGl}cGoDvau3_n$~Mm8WX2Q!h+z%!r#I&(i$bB)sb9KII8zf^yaJK#TK z4uTa5*^BH3)_;?se=1QMyRb4gQpF1d0&-LpF$yBU9dQf?_(eKLolL?$`v1@YOUMc= z*9jA78=U9mxgd$ih9)uR5bqHeqLN`L=Xg*x{2VDn##LZZ(4Nm&BVcnNUAjF2+W4Cn zWEsnA!ep0}*#m0*g^4_?-#Cd66!aX!kA*?R_agS|z$gqH2iC~|$8ID@F#-fiSmFy< z=Tnvc7IT1ix#JHqzwSivPXN$Zf~yhRY5dngd*D}nx-S2C=qdLNIsI|P3?8_keyY&n z<)RBXsXCY9LY}oi19zImn0G~s+`9z0F zer}t8bYcaND?7DNS4Hn>9qAR(Po@eBSOmCG0HCS9WDCn*(dKWph$wjk-NYU1!5TC2IjX>WUh}c+zV$w0Z0&h zI?oJW57P<(+y<5#%~%H9OyERl;(T_-x`Sf>(jomtPM4zq!_@-hqN_!LjMN_hfbsxv zAk5_Bkq#lLkKu33T^V5%c0O}G#mKgO)m6hnRs3iFf*q(xwZ*oILO7?kBD zWv8IVLT?GmUvVR0ENAt*c)38=*NKmF&BY({-0a>ckXw9^;PxDg8^&?)5roU_WX`N4rcthp;xYWHS`qi2M16B4^_U)jm4xToec)n&wE`j#`w8&6# z|A*B=fjYu}Bg|Kod@_ZsuRAnSeOF1eHSn-L3#qn))>MF>+u|Rex@-WJIk^84yeCrz z@C)w+VE8Y^=3i=APy@e4{tJ9{s)m7U5BmIHlZQPlgx48BLCIJK6(Y-+Il_^WX0q}i zG^GpulDcOVqu6x-rkcvjL(Jh94DxD`Q=cKIrlHrIMWOL-nKEQpwL&kMN(1y$9OcA6I37 zrVTp#teAXm#MhVBM`J(9TRnnApc)hQy*d>GtQvizhS}GeVHLR7*SbX^&DNv;aCNay ze@eCQcU({ZjjFQc$QKfv7tvS$+y?*66aT_#|19rMHPEXmznm_s@PF%Xs_8TIUo;J# z*dLt$)(NJ*2#BQsMk$2Z&9rbd15O8!3Pj&f7KR9bJvG+}RM4#rKOg>K>WtKAC;;P^ zK=-9q|4N^~Pw59{+Lq5<`40dp;$5&_i|;MM?WG+b&kCWNXsJ3c7;aBaoRa4$^EI zCfq^}&!8PY4C~R7Rp*lupTPb7!X@~|cLSo7QJz{qhAzWx2qHBQ@*s1njwr#$E%;Id zpbLH#1Lz!Z%M47OPq;an)1%8m`B8@$+g0Dx_n z2Ub!bkallaz1ITV%(()s{b>fT*?}K4f_+Xkx!2UZ)H;9*_}2;$Ts3g!>I3=)a*4j* zX6BwPEBBHs6QI<3f4*VbKXo|(-=pht0KLr07t2{UMExQwfdj(w&^WTgq1t;E(qT#D zmtQpOVpl5A5JrB}Eti5x7GR1jdz+@K<7_2(dTt@k3mp)p+S}FQI9g!05RQb%9x;5; zC#_HXM!L07{ol^GQ7BBK1bYPfSiYN0&^vsaEuba@GuI`*u`cp;yS~xR(_){l`iss@ zoLU6~qycylFzyGD$4#uY0}d)M?dPDc@l0Pd{<>K3*K+z_r2VwIvkB5g$r&e@7F}YF z6x7j~UM}6)4Wr`m>M{Q~AK~Fsf490l#b~O3>9TP^^`7qF`UNxpbN#2NUysw#WO>rW z`C4MEi+-be{?AE!!yhpG6GjZ(Fw!Xx{JE|DJ5Jis%BPKv|I`J07u_8-h*zo3r?oaQTVr-AO(Qwn}Cv_VgzEZQ%@6A;|;R_S#Q=Q0)SJ%l`H#|Gfxew z_(1ivp?2yvjKvzIoz=3aztDPpscvHGV!OV2k(Zv-!~6jE9$byl`2%tQ9{6?(SB1>* zHB%Nqmq`N$|GTqgZa{E&(M1!mh>Dw3>zZ2pD9NsxVK%6XVgdUDc~^Wvw%V?-AV89b ztVq&=62E8$9!5bZi9V&fW0Q#O&27|1#ZNFlx%c7$3bOXnRk)q4!zdAN5U7-Iz)s3Zq6t6iM|4X*p2)auJq4LKP^-VICcX8m;@}? zp@;+U{+>CtkFe$3z=4K-Zuwz7uw|ZQ`NR#J&T0l&JzUzDEp?B*cr;`BXbkl`#!(+X z4PM)K9QGYA{_a~d@g*~L136hjRW?wi^L5*A+(=t0@bA5X=Og^ww*Flw0Dw*YB4I)SarH@v0K2#_PI5AweY zUtTkw@qX@e@nPIszLW>pKMB!7xy`v}7t7C}d??{Q1A$?q^oYD$gqWXtkuhTkv+l|m z$^2uvinDc)s4-$l7xX)5c)Z2*e@Q`c6P;U7fany?DG_92o%)G(a+DahqyW$zaXSBz zWc^lxx+#tQ)3lv#*D*l90t#vZ(9Y!qMzazEJq^fp|5yefIT&(6qz%OM8nJO5L)=3} zB89NW!GXj1VE#z%|8A@6sQ)d8{$~@8h2ekwMM>efuo@w)uEU%9oZaYD>5E6lz4+E; zbGv;MtLJ2@kW8(R6cgDm4m8WP<1LsKJHV`@3htnbt?*M^zd_= z`gflcEtj(z(BDogCcl4ZI`j3wnWq9E+Sfw^7p^LxM=5D&!gOH|6o4WPb^-#p7yxKv zrlkcG{6eq*i-T@{dvqjUM;*D`hrAGSLww6c=jG88o^N^9XODRMrF>70p2*!NN1a=~ z;3c2f$3ahS<)*%@^MqswQ4lD&LBn)2a~^V*7t97E&k+nDm|>qfz!I{t zdm}*cokH3+O`|M0UO^U|dLcL`(D*`R7l3at3uIJe7uaAV*E{e8(=DV1GprGn9c8@uq*md|^2>^M2s@k6t_O&}eKTs%HC|1Q!Is|SAL$yGBgdC@f zJeBQxphZAPeh~t&E6{@cr<`E_TD-j}%NOv0G;$)tPyzwVM0}W;lw7|+0p&(#M>CG4 z@=K>wvzr4QLe2C&4oV)2ClBy;(4P$P7B4WG$=Oyt;01?SLv7Ufnb$IGyj7@0T#q3D zc27KG`Qxh6ZyQ8HW%v3brB*I0IT0|Jer`kmo>OXx;ex1dv}ufk_5DqK))+s9Hkfq%%aQxp+d5Q?(As4^Rfe56Vp8s7x1L> zgx~w>4zQ+Nj99+#I3B&lF-Ld|UIW%FclY53fFjQ=|{_ zi_TEzm}yZIfBAvZpBzP~ySHL&&-(Fh1-!lrR;=zxR1fVu-4@Bplvol70Dv`qDDtlX z8o=@s1b~?%CHD?t$7@v!%~lEMhGP3~R|kRw%thNQrWjY!;Lli&Xx9TD(_1V5O7==kHyY!6tRvB2PR_HuR=dS`>_75T0iVw?!E^PK=W6oj#0Wyw{>yTb`E2@Hk>l2*%<{;Suu$!W?}hTFnQ7} zi_<)#lqeSsmaFxr0u3PUm8z(Zye^2sc+pR@avjRUvoJL4yc?M?Htpi8nb_$yB>N1x zJx;na^7`Hw16D$R>gxZR5@@qO)nJd_o;E@blH5?ziPQ$HVydJ52|=9TfMFUZrxq&d-+0_ zK6tV8ur0sI$V3;{aq5$NT{h->ijB_XxRNPrwEzCu`u@#RSIc90qv!AH`TAd?ECAj| z^WXi8%^de%kGP<>ZT12*YuB2>p4o9HAew}GL>#iOevM!i29hGrhE`{g?0P~t9u%J*RhCPW-U< z_pa)FgslTd{WHDRM03qj=glkAzF@{UVXR+XOd8W=J`;6+mip(k^aRvqq*+!}bocCq z|I_ux&(Rj`XWiDp=~kI*Q~!qxxZpEbpACx(xXB1uHj|k~^@@}9F_HhUD*aVe!Lbt& z=4zsUV)JizH}uJyssD$P-`+dQsW0vEiHaBGxWTo*@c+Q9o84-w;MVRE_#^UDN_8P)cvqMeP8{VDPJXrp@Es9)QP|FB2bR=6757>JVYHJ( z58hgGN;yD_(bjK$;d@Um_T)=%@yJMD5xBe7y&AF})=AXxU9o;5@Nc9)F^Kxq)Yq5$ zpP{FMcjO1@592Lc|4iNpqJXtO3^eCZJ`YRrtDnp^lFNRAthAH_b%qj`MC*b?Xix!z zU6@(1X$kb810<_77JFW&rcA~B3oru(62$#1UL`d3%nb}+M{tt6O(u~rg+ zzFCK>5<7y!lyd;diZuPL$#y%_p05msev3Y3O=7R>Z?zmy^aEG>clv*d3~U;hKGptI zF+kNq(5es=A^&d$cKsstm+)^${PWSj<*NT;{QXvcAc-RgTQ}?hO{-xNUoxtdCA7z+ zgQvHomd%{HgwvydE8t&PfWP3|sfP@ey{jL%oz-#71*54;I%Z2xbe&%CK-{^#^#v_` zi2??cs;2VMF<>STV0q#hedES-P{ZQc_E!ZHB_jXaCjRG7r4G`Sb=lvI`!B0;pjsS+ zb`Hrq@+(+RnNFPh)T#=dDE;$GC0Z<51IRcGBRC54JDDT{1@;8WUr&IFtv1Vj^M_Sl zck3pEJei(Lh>vFY+LH(Kn-UL|e*I91J1=k(vZFWtao)`JT)yB19?tNTJEG)KJP!9> zl-1jm`mXZxN_>z~Uzb%s5LbDK50>3X>^~4(-wgrtqaZA)JA!`;w*L=G2_fVI209Z( zW?+DAJxM5E;VPs=;4Xo@-zr>Xt1fqctP|AzVfK&@iOq_8J+cg? zDAqCIl;Z!A8HBCq!0-B#L_n{#{KwoMTRvu!rDIZn1mK3r0sLX&)4Ff$+Q>>po8J0R zKbv~PbrD={6z%RboSWsX=ICk8Kg=3`%2m~B>O$92>1nWc{-MvD z5uiRWflMx{ma~al99RhfIwWvP(Sb%GkV61Jw}JnKQ|?G_v#Bq!XmZAXpUKkYR8?D0 zr-CM~nyO{nTlCr3oWn_*fgC4r3fWVp05>dtb1qlOv6zi394p?P=mOZeDYX@J^WBoc zdq43%(zkxzL5VY}_+tAn*jk3T8T)^S1U1_0bk&k+?wVWZFYPR3!buGlKN!NUw;_yp z9bz|N0t1H5f41Tx0jdVYtHna{f&Oa!$MtH9WnR<`Fd3Kn%9q<5dNukJd_x+n#Z^G8 zHwsOgTf=t4SrDYVKB0RbnU{6NebRv<4jfr7_f-gBqCV)r1^0mUT@JwcAZ++ZC2@<8 zR;5I7Kma&}oca|AkjRZdqrd5Mv3E;i1`7aSOI-L8-qZo_|DU?IYjPtyvIL0GGxZgi71TP%4XTK57I-X)dL^+P|x#EiduE= zA6-Ak{oaTq+3Hrcs??hw_zVPqi0kghzmCToRnF+qbry2U*wUxc^0Y;q?|8viLR@p{ zNr$JRNw&`k>^KT~O!Sspb0IQb?VQSh^}CIiELufI=OTyt)YfOz|I05&A3#HdKk-Wa zi+>(@XB{tw;td)R{5aQ*&Qb0Up8Ph>q#vrndB#rgV-ede&#G4i5InqpKR9cV!Kxu! zo)Uzqh8VR#y87g&{+lZR;t;|UTK@(9<-;!OzOFDgjn)6~bsdd}wgOb_6h`o4kD}*V z+auWy1a`jDYjHSM34g1D;%d{rc+y^8lbSs>@pYL~N9jp0nJ}<=h7jxX|xOysQ>=sH~ zqc3z$GqauX+9ckKCMluLaD(N!ZfXBQrk_fw{V~XIEy%x2lZjX&^b@bszx<~S?!wyL zcv6(+H%U4V0AjPZ?pB+8CTRjDWL4TPyf*M@$rQCf!V(>WE^G&;^A9ed01SXEzy_QE z#i4ot0FJp@12>MJ{MdhU1yH?gwWO@lThIVC8X5z#{`FCQgXa73Kzk(J30cxl5SJ3; zQLIglw2D#n*@Pwnmpv4LYwD z9{iL2`Bib=pJUE&!G0ll28TI9BXbP;_-+5I{&n?Q+kZ-90o0NpqxB*G&qx6Bgi(US zGxCi+VZo6=fP+r^=E^l>Z zJLm@Ht+uveQ--@UGiSUQ+Akws!0@2o@QV}__*LroV;=A)UZp?ar{ZZL6Nsr;YxdP} zOwPl&3<08+{-P8Zx4NkP`re8$yq4)x1vsk>l5J;&wgN)YIEPU9;Z&Y<;%IrOMiroC z^A!Gm(f%hy06#zb8Lp0)i%=cw6t-w_TcG{R)J>tGV^=Htp(?qf*le+thjYQrH$`%U zfC5TTcyKl^`8!a^3%9@67vjiYUG}g4@7E`teRC%fYL zygh%u@#kL``|D?ye|TLSo)@jSBcKle+dn9P_U+gGM%lYz=ON*xvHU8j-!m-&U{$~q z?KVm&0pfpqp5y*3V^Xe)6(|o%6eY0(_;T@!M`iN=zYzOxq;26C6kBS5&eCt4vdoy# zOB_9_0@bFNVL6oAX`W$wQs9`&2Pm z@YU(p5Wv=2S5safy|<+WQ-UF;&t%q6JQH_y6bRWs536@%4*dwz}RICs2KerEfq5G{^Xj z_WW?Q+iuHnxqFT7-`8KaUl+yKUl;9sFR$OsMGfqJwGpR6FvjM|wH6)k+51a25XS$E z1e8p_=oYXDK&h<&2RZ^8{lj#3CIayArYPlGaZFmlX^AKX81sKYJGRIV(`?z6k2;{`%_jYcK`>_HK`mKwV!yLAel^eGnoP<#5$rVr+=WYH=lR z@~%Da_fKB8&z=d4`0drDc*C3W>&u-8@n!KGltEw~evJeHIQ&opv{xFSO`-!SQdOYx ze{1Fc!JgP4a$AVn7Hz^Q0?6hb@O2L2`~RO{1X<_^aLof!1@vtA)DVDo3b%9RUX%Sz zh4;-gFAocnLUcJoXQl}cRO0dX^RnB?VxE@}{+b9t*)JdpU{#zd?T-c5Wu;-UJ$h!q541Aj zAAepl#4cu4f6mUPpZ#xy0Ny-(^V#Dwe4Lk6K=i+U*}g^{(Zei<$uorU%T0V-7?2V zcfi;C*XPO`@}%uIoE&=jx?n+ZO$7l~k-b=?0~?8CH*Md(uD@=dU9;8~g+G{Zf)OT9 zlp}agP7o^qDm3lKvcIxK-%ojX^6aor4gjz}&LbuukPxJVD7mETT|B9A0PR6$A z6U;_bt=lF8yq%c%@h^$~gkaJFRGlqPhWV;a%zQa7`c9<1L<|6^{~)HnML1Bi0mQeR z?KM>zXcbVZb{l>FCi%Wx{>dArT7qr6R}N}X0UGo(F5}bz_@9pL=TkrEQB~o;3fi0N zvX5l$&(_*}>>PEeqC!gmA^&o<-m;ZWem38I^UR|Rzf%n$yVazj$iYnPJ_$0=27g2; z;6{OQaZ_YZI3WOa1S)IgOyxMUsRsD$Cq7y~v+LQ}`e(DXd>UAMCIW%|nG>u8fwQQv zI09HjvXovp$Ujnl1?f;K20uxzk8A)AK?oOeq#FLkCM@bYq-GgVjI}yIjT8bE#*Vaj z@L2P1OG-g`vTgNFtF3K#isYp2Le&ax20j~59N1$fgKU8PELsFxSWpo3MSWW%LW!rq zbt;eHMaNpM+Lj%9cp={qENB(?c9gf0n{bNcHT4n5hDf3D#~!x_la_bgRboLFaA2O9eB1lJB!5m$W=$}?b#;f`%oKaJZ4@3k~N*Y zOoTmZYyP^4&F-7;?&K<|0H+W^D=KColl!ADv)`9k=&S>l#ctF&54`}>1HE|w>z}PT z-4iVGUw-+wiUBYR@b>!cJLdj1`&ThrDgP+`QD5J>ohc9$|HHvj9mtr8DnR*cMQ((G zFWIla53L=p)ZDAMk)13kiCRyx)5L8YUK#0= zk}URD6wDz}B|5SxwMM@PK2;lnMi!+DPDi`fiA?u>pQb6O_6aY1Fpf5owd-rs92KwJ ztb@jjU9{@lNgY4y&3v}Uol2((ph15KJ8Msstt<7V+B6z*_O+!KL8perX^F9trGTEn zC})J$5ykG?|C_t-HsH@$cC4uuFQ7G~hT)*b;0JVEu^}E4^JL}AnlDxf1W@!B z2>~D&c>SB-{O0ZTx9_gsT|dP{U}%6Z{)Tk`qJ%E*z9q2?$tqY6R4v-Y5yQZ11OqE( zIoe~7+W+dn$)wW;2FK@5NxDcdTDy!z}GtQ zkIAM?W>rxX_$)@@7TlOz&k?uOgqO-jlVk33%3tlVI^=5HJD2MRGAm`YM4r|c>-IU6 zsBu511Fd40f?QgPM7d9)K>GmO6f`siVIN{^odss_p$B^sMGjYL-E?S;3V*<(I$5qa zM*7}{%mktb`R&IscC^yGbEPl8GJ(As{+h3~b3+~AOgA+N_iwe{$*>jrfsj2#5;mWf zXiYy|jYQv4$$7eF^W7cfUw%aebVLT&Rt^PER-E-_*Ks&7H&-x>h{XN|QLwT<`WDHOoL6-O2Ak>e} zAi3TkHn7?w%wK5YgDntH0R?&_Z#W}BzcVa9oJcu5q619)O>vv_>#4L~g?ow0RG+#^ zPu_by>3znh_Jp6jHceB&lF^}zL>E_i3WCpjNUu#VrO_LbnY+?`_8hdJ7zF!xLF8~x zeWA4?CQq#WNubg&xa)3JD!XKIq815tR-}@aCXK(-){|_Ptas4l*5|SxOZb~NKo558 zS4&Pvh68%v*16WiC>Op~ws-_CB9&jSvn5D9J@QkA@mQ%C8gV^z?+}d3I-Nm(pJ;Cr z*JXNjI?i_LuT(w%px4sNzcTE=6MU}|F|SN*qX07L+7#}y0H|FjFRF9INNC_hmTygt ztlKU=zx#&L&x_}cmIuQBrxUP6DX@I1isL|GmH+_YFy9n6b!hkD0OOxAz>y#zRRY|J z|ywLDM&cbC`S zTLA!mL3jnLVQfvA!4l zClcBmdF)0$47v*5M(GXxc$h~#me16~Lza%ADvqnHVAI{n>7JbRzs75?^tPQTp8i2k ziyobA4!H7M+>X_j4Gq6yu%sKp(MM&~lB4nb{oNlA&)$C{S9i~z$>qi)jG#k%7u?Tm zU$w4bCzw)mS8SK7_N6F*;`lHIFbY4U>KX?3^8F<)@2-FI8&LsYejy6rC)EHCVgOIy zU*3s#zo<0dV;zhyDf?7v6~rHwAG1(VDlbC5f`&U*CjD$3Y>`FN%)jVL2Gl(N#tSl1 z>mPz&AYta6#^)<#x!2H`J%Ek52hiHR+0wYJ1k3fgaTB+xJ?H@Rg?zG?@rlB&;xqs#0x9r;G{hAzo< zlQ6A@6Y(kn^@0VWd&o!yXxD5f`vz z_J=e)V^SP@WB0zj6X}0{{qFibt}pNC1ltp0x&9iYG-WiqGoBq%3f0wVMDZLgU#*2h{SY-+JI=PR{e*r3K}b5xRR4C2D< zq)z^FFfHa?<^j)XBj;i&zK;)HnRjTzA9Jw&qevVKgIgz)+GTUG?A*A|m}SR8=|qth z-5bkrDCpb#xSDy@4c3h3(i=E->e%y*#{HTu2L#in%|SsmTO%Bpa8^>0c*6o*^kU}h z!`j}`z9!)TBM}+vhEqLZwwL+Db(3p7ZH6h5+R4XidLEgj7|&d^w8eN^uX2=ga?bO) z&o3RpQeF@-f9RNd`*Nt?B!4^uCh>5K;&wbOUDKilC~^TfU);TaHpJqO@893;;~-FA z&st(XIDtn&d;n1Zhq7u#@JSld!t(3X+-g4v0_e#YxEdpY(~`jJyKk=nx*>Lg0=|C= zFF+6g^uSN107eABkMjLB3l&K{-5c?=T|oXt1Au5_gZ2lM-Vg;)7eEhU?0N9{Y;lb> zEX3fH1KL*1AJ9%Urnb0vboPo%BG_3}EZIrNEN<5Aj)m`BGM&o^Z_>$adr1DZt}1Je z-%gfEs=dn*Hm5W_O)BV5-eb%UWFToFb!UBle7(VEdrPjuM*GNOY79o6IqHWYq~M~q zTE6tD^z&M|5QLc#0c-Kin1P?_HVbm>k{mhx9t!AfXGzptes}T-Cy_{Bf#02#vw7Q? zPK0F;x~z7zpjazIIX}~n<+T$hqe0KKu zXJ=<;KYLgt{9`KsxBz$8mu;R@F<~;ml@gtmn-V2IrP6}*ZME80p(?Arb_LdA`Wury z9@gXxk3DZLsa%)OlUGeWF(gR>6C_QRB3X%TPJTUD);K?QQq!t(w)Y93=<-{nLOOlF zm_|aIuk0;=pA6ghsdUY` zVs_rRf{mvst)Q5fssTcc#z&WnTwF3s8sagYtg!}c1i`c#Tk{>fK@TqR&f>o7By|ZG zYbxGI_p=6~;ZUniWdyvaVkN7xb9u?SBo+>0%Qs$TrDQNBfoyH-O=T-4|F@IRvrLQM zK9a3@myT5m9;8oY&w4$MU9#&geW+A1mlR|AR9#k8HfLvi%;nRI6k6^vumi0`T1k!P z6KDrR^@lS;lg4GK?9yjZrEFlXac1fbj3uCmMCL@L@{QH?Ap+5ZlZX(;!b)~bTT`Xn z46x={n2j!;AR6HRx%>W3yntr~;B6{A0{&h1f&lhn5L=W0pqoOcyFdX{2ahbk0TQo) zzzhHk6Ceg~cP$sN{@-7J`vw5u%`9aEp8jn8v$ZIJ*^dhYM)e|ZDoErVTz|GTw2SIt z{h}y35Polz6-@q*juXw91E|mt&<2yz6xkkC^Hx()@~?etd2J^nyCl^Whvlw!^JRW% zmaWDmT<>Xa%oxzbJMXeN9;5D1F-tffXYnkJNt53t9%!QdE%U90+cxr=G*a!1kHuza zmg%Lsxovox2eVCfADc71ukRw4kq?|<-jr^8rk`N)n?6{6V){&zzDL?BaAFK5#4LG@ z(J_(JBi6i)8#X;=&FK>yF|k~yUyO!Y>f{Mbs?f<1>H9A~_*m0Vs?Sajf&OxvCH|H{ zZ`iNWpX8&>Bl4IB=jVH)9*EjUBOJJ0ig7=UJ|z2!y2A#umt_0yEbS()_U4DrWgslvW?Qi^9u zknON^OZyD`5Exx9yTg&_@~3+Yit!?*&Fr9yY%lFl*;i^Xk7uc>;MP<{)VJodo!piE zWQnyU%959AZ#j2Uwz`_tuSOLZl%huee!N3%_s3U(w>0vG!~ z7S6x?{;nRPCXf3?ivrp9W!E~S0g(xJw0*tSz??vpvk#gD0CZlBz@Il)lr0F{JJbUw zC*U$8fF%0%|05;^)}#Cj0?<-m2z))p|I!a)9jC*-*ytE=mTy7lg>Xd6ESrBUf;I`H zrEqtmzeal-I@`;62q3lD?n>DHj?M0ZA1md&f->0E+#+f@d>1YK6K$lH1&zMS4rR2i zIHS3v{Ikg4SrZF7R6O~bSqO+4xS=JZDGIDd9%FeP=Rw@CXE;(}7GUu>X!RfC9Wo zH^>2SW}Od>spJI0Mty)7z^<%8cH?lG~p?ZD5q7~tE?Pjw%g(CN&1R4bIqUmP723^S_HfUpxgLe>yyNe$LUD+Vy!KvRdC$Ge z|7HUL8svo{_2e$8iXd^eP<=fVvHVU1-EXuW) z=j1Tda{p2{+cRT`{Ru0Eg-t(RZL-fv2l%1Vg zYJeu4W6f2{I`9VPa}dY8_!tw#=cHINWn$g*zQv}n9bTp5!QFzB{V@3ELKN34|EhTZ zM{)ia@4tC}p!Caf*O*x4o2rX5Wc;cHsu|?FwyY)ByqMQYz>*l?r1df>1i)LCco$DV zOM>p+zRL)}w7?ye!kef6?MG7p4|@Rwk!0-u(a)i39NB#iTKHeJFQE{507}+Bv3Wx) zRjHQK|MKo4$s2izldDUok9RI?irC73zytDqJ9z*b*7ib3 zK~*$o*gKmlA+!!O!7$kO)us^rSPc4UMBi_G*kCvWK*_)_38bVd@gVLJ^drAEq(OEn zM^nC4Z~yp~!M-WJGW4ea0b&UrE4*o6jtC$*bKauD`cOAvL4YwsV_NeTkuX3r5WufvEl^AO zM_Qmd1vCSd@cwfaFo6J70SExRWhKz}&;SAj1O&`j8mOf~cw8P;W$eQnpnuJ7-ctvx$%7ec(%=9AD6(Kcy)(}*wbfa4i08kF+N}{yzn{_E67~;hHg>dc zu*rQPYfu(u4??hezbWobG(9amWKOn*yj=<8US8Q+rv-OxR)k@O5%aWUvX{!=7r2ra zp(72D_nvHleAjy~`)S0?(VBBV&=`_9KLwR-cN&b*cTI-i7cvMs$kn3JFwhM z=qf_k|MBiw2!a6a4sB55U!py35h8L~Gtr0`gT>?^z&~Ps=noPXpx%f54dg}4ChGw# z3}7z6-L<;@-y#}_THxOZ9+(Lh04gxGfJZeb@NWpR?CS?9fc5ka$`T%s7*3LwbOD;a zGWwt5s474&;T2#sqVq3OF3#kBtM<9cYPTb=rEG8j&pkqZp%dh&9erS3;X5T;RmVjzI$==r7@>o@QO_nU*US>TOis~1!kbfmGL`=0wr zpM@sz%OjGC001BWNkl1rN}2_^^ia z^*He3!94=X!G3fvdgyz?e*3Qs3E=yQTCV8D@GDw4Kwo$$a-L5m86o7xv$Tw5V>uBR zlkn?m=pMv@={z)?tAYiT)45s;5Ut9{Y9r(#00JzIFI5Hb=h+|c3X%M8?*6C^F$>Ur zA-#`Kfw%yD-=4(Ex7u$a8UTYU2P%LT2%x0oGYN1*5CCt0cP}*p@D_9c+1sBP_(x%o z1_!UdMW62V-T3pd7~kEAuJ}P3;9((R%!8=)po2uGek(Y#+mkw>O^b+u7i^DRSPjCf8j7UK5g6>50;U4C( z@(3gNy*T0AK)Y#)gGo*$Km`7AP+9@(hp{grfUC{k?KkiTMBED4M?@hvJ9XxV-s^rG z1CD(t4(lbWkMZ=rR-eCiD&HMu8#qG%iVX12z=_=0dh;0~UnU=V!*j(zXQ1sT>xQH5 zN(YL}Aka;)PJSc-(6YfUHV9*u#}>C2xxTa9_!>!DD1p+Cv+71!uj{ zLC7&rYsPijuZ$m7kZP(q>hP7E!yjG!QTk(wMQc_s1w+kSkpHbuDFxQ0M;B^vdbHx) zwxNI7%3pYP_w4Yptu}YxY|tiysdp<--z>V9sHB)-EG~J#5jCw7U!4R&?88CC zUl4%&uh2hJol;@&3f+M3)a-vd2K?U4EChh+09FX2N#M;>+34~*{eCRQfDk_n0z8NT zypi|I)_qn&|xEZ9UT0YUqfAcK}HI$cWM+M#!;0`sdB2uRvmq!fX^ z4995ay%x?!OW>w$V}^Y??A{c)z6PR?0HIm_@ug?+g_q^$oyP6C8VAo6E9>qaiyD8R z1DCBdj^ATz4F@6|C9Yk8$hKo*faDa|2B4KO05OLU2#ePVc;8enl+a>Ot|8qI*aNU1 zkI!TGp%j1sAW?iZ05-&9k9}0wH6a3H6_@mcB3-UfB@xQLnk;<1CEuR;l!;llBO|1@5yc)Z^yC8 z-FT5oIpf-;+N;I|74Zk_D%D)+ELThpb_xMd)xM}|$bYpF!LJvg`tDBIK35nKBe2hb z2i`?-0j>lVLnw}H5N#0xlqDh?2m%0Bz~3n&fK$TND^vo$yFNcZ&wjok04)W&e1H9O zGWF%Oz~uJ}`&ZHZZz*c{Z#fDd|2)V70B}4E0j`qMvQh<5pH2m;0007Tl1bJQYV8FG z;NQxVm2Y#Ic23h-@?L9tqNR7Vh^#S}%}$<@GG`=_i(SqA-{!Jz&}1<+IOcn@+Xx>( z>FWYza)4|Tt9sh8eK--3_7#HXw0ti}P{HJe*T}nEh{cUw1A|wHQY+~Mq%lzREBpcH zp5VdnH*_Q%8N|3BLh5_nPhfPAq-F5y;aelj23Mp~ki4h+9|RJ}e#48+?#dYW5R{}( z4Fo{bMpGYCD8SX50@BV{pC|*k`tp$LaM5lm_ydkkK|9$HS^@~5dW>E+LLlQi^bA+@ zL(6DsVZQr7*mBhyTHr)XCh&3Co#03EBM;lJ4{zWq!gW(|@8Uz808<87?09XxB znD}cz07(Gx0#tOr-#nA5f|X&l0ME!Oo)kB&8uslO=zn za@D4s|9WBu#)5Dq&l&4`sVgwCfjd}-D@W^uwTu806J1=cbU&*rb8UOlVA5`r4~tws zNEyg0#2TH!Kc$n(ytZI?_yBw%{{*=Ep%9x|Az<$5tGl2$z{t(66iEnfcwv?<5P}fL z%dI{4vjL^l(1NMF4HkD-t9YfKM_ySL>orjjEqd1=aex?KB$TN&-`6@>~?&;o&JKtKf146LK13!o@S^-Z`>$fc*Bejjp9!Vp06ses=Hm0noxWphuD!BYiX zDQ_a&q@rceRoHF(RnDY2g3mhuf1VEj==)azYzv43;H7O#FK}!G-a^GDpeK+?j zjjN)`$9wK#y_=Uc2Vv?NEm8Cr3*5zJlPcdQSRmbYoW9eAw zZWz}LUrL>MtNck-^?cS3l#>P-3e8&JJ1R;F>fc*9;DtE{FL)$-Mg9OXjN4fPRZvdX zXvr0hV>+5wL$JsSvn=Y4F*1730-~T{T8)~pvY;q6`qx-Gzf0&IH^wrv5gX>Eq0JA* z1*%^%ABjnq;B;X*jS}cy(B-SCe*BluMeY&u`#+w4_k6y?Xb4P;TSSfyki7~5=tW$H zMkE3u|LSleIbgpR^LPmR)v06%0L&ohp)HLLfH45X`Bji9{0||y7-jJS=pMXzVD+gk z1D7Y10{1bnCC*K9 zbDgzj@hn)iUP=+{if-4&wh-OfRSfzTmE&zb@<^O9uJL@L^0`*npGI(g6^+$SH|mrd z%OHSHvA7o+o6AWq$~wu1dwX8Z&ppNN1tWJ_fj8`nvq;RK(Rf1ldt32jtz^tgH3kHl zVhf$3LPX;YaebX;+$55Hkgc&0cOJJ!t*gVmsekF!&i|Q<@@Lf?>Rr8o$vKk1+>U9blwBHNrO+5;l z1`ril%CS=XAP-&HapvI#4&zbgvp^PFCBRqe(YMqHaM!*_c|D54B?`FC@q{latHnine&UJCy2 z5qpw-A`MubiV)%apW1%klhbrSH=rnh1Ec5Vjkp0Ps|YSE5O5O6eVOt9hZb3XkPdvy zU-1=iP5Lku`Y-sKZ~O-k!0!BfBd=v!^7ktJ)oH~3idt4Enh_V^Ag8@xsS|^Ka<1CG zUG1ww8wrd^ZQ&Ld(`mA>&7xGFe&^_ySC0j`_xWb0cs#@y1rEfiH<;o{^r4 zzuvvgasR0RPyU=ecWd>~Iq?*8=$Nh~p9by6aJVPrKXo1^P zg#qDm@{k#6%VW@)K|rNx6lIs%G+d%=7?Ib!=Gh69_{d4u=n>q>%|`w?1aF%(K84>- z-rC}Voht3Zd#9IKsuRQCdeY_HnR%F2q&PRK4gR}P{dLo~pxQ(~P!I=T5e~b}M$End z|HWa0ysS6?A^JMlvTQgQMC>I1;HfyuZI+2d-&T$9Q3tRRp+`diQU}@%%*p_H;@#c1 zAG_`!(t@*P5UN7&8eaI~BLMIPRlvWaV(5dPb=vP!aW+tdsFI)im$VGvMza7-?4bZ! z4);1@1S1+h;QUlT0D-_fnc>kTRUD@}R>7CZFhIXU9cv? zF{^;i3O>6SAFPkt5e_tC>nqo5%=hwd7DK%^N*|w&curgABJOqCL}&eXw!6GfyJ@R7 zy*cD`ZBOKP>z30`l3MeYSxLmPvoAO8@%9;ZvusrPEVt^|D;A0diZu!{5fqrYN#Ha^ z&5Z{y5dz`ASm!U8zI9T36Wx_Qc9%Y)eYZFs4c?CFTSe|=y`D1?+^AFY& z(xAwJTD3tQXAMu_xl!H~E8S#(iUFv`H;Iz1sB|p~0)XM4!w}7*x&V$Yfb(;n75!b> zy2f~7Kdu6c5*r7_THduMseE^q$U3rP&?Q3sNeF4wA2~usDj=Kkqb)|B3=)B>pL_2ZGEBFGJ(otpnfHKVbKbXM!{y4)6!RUeO4r^l*G z4C%3{P%T{}?O$=|1#|yFR(EK_bPdghUIYK42Fjk@0P;@#O~|C6VmVist9R0U(fYGK z5LvgUAL8~us{k(V-de`M6u=}Fz*e5Of3X7iY(BaG=u3F3f&lQQ! zbT|vO0_uWLR{bI?*>19U;c|g2ETso&@&)6ESns-G5vvL>s;Ve@L2fe|D7TdvxY0F+ zPQY760jyRiokUK*;^Gk0MQYOC!?i2QC&iNze?@U#lzX`nELWr}-b#<;pC^aOo$_D5 z@xkp+|Ln_;wyEr2=MCFK)%aNP@VSSt#NQ>aF8P9{Sm=h;bTd9z{i1jzSHHmBf;S&M z*p=SD%zM5}8$A3VAAYRj^N+vfN83z($_H1Ue4;G&#dtmno+~`lpgvK&@s0(yve-OP zpymb@X{PQz(|jHJespwoOpU`XH4k{NxqwF7f>MoY_8Hj3GMbhl)HPnf5qKg5HR^su zcP)adlt$AjQ4qiYN(|=^IP?996PAnKYYgB9#($40KmdW$Y8q8n_%Bv>Dv$^;R*l{Blt_@KfNDS0Dp4mFA*2jp>AWFd=d7wl-kOB@-FGS6otRi-7 z4^~O=E4{E^{5@*rp+|UPQB;ddq@4AyEf)N%bi+&8qD`;1i*+L+T;YY|{)$W7Eo$7q ze59LR>fZ5;ZdLF_=`~OfkE%yi`$#?xf90=e`6Rd0KYYkXOXwW?LM!{%V_{#oup^|$ zZm&1w>R^wIPZuRm%M+d+y)4e{gvsBTER>=Ux$2x)o*sJLXVO72#FOBMI)@1wA^_+# zttac|R!xK!i=b&2Iw187G^umE^V6R7sKFEH05Sw(NCkc+i3%d34O~eL?};O-lRkuHW6gy~_!}kH!CsfBNFf zf4gDulRsm_m445765Coh6MQyoYF~Nl(lEiBVIH+8c+%%3(C(HqFtH;>x0gv}=hC92Y6OX3k;roCDkn~6JTHRi?cZV^ z5rz@rPb-&eD`BqFaEXgL)E;;1G!-Y;tVlB{1|#i2)u@1;S8j-MVN=sV842ec z3>8eXF&bwiDKK>+x-p_o2pf{du829hE(2bmChNoTrRm z+;{%Lj1^-*v7svZ+oTyo(@`&J-b#&Mh-vjmq)3ikFJByO_JP9g#+Z^u0Mmk_3h)G) zqpL?(2V~7n@^cbvNbVTXL*1Dlc$*4J8_r6sTeJYwSQ+L~ruQZ1)r=uAE)+z?1Odo- zKFRW^ViOMa&3<(d3{b9A@EK1?l|Z?^=Tk1g6d2Gq|6aES-v3Ymd|@$wAEE$essO%F zFFa{|8N43JL41?I7gMZMnMBF%IrTn*IKJLMxpp{a>(sK zA`Tc-S!eVRNA^j@5PoaH8kfsIIU9mn0VSAN=Ar^nr75f8P?$*Tr7W=D$_-!ZQme8Xvhssnn<}9AzoPhymhkLnWAl=0jFi)- z>yiE1gXAd9x7eEKcSiWF+mQck>z4meflLLY36sC+#e*BWkG7iJu$$v8yPGcf=Ndr( z>f_^72X{5-l$?R%S_Za*5B`G3#ihBgX;7p5HG$*e$00w|wLZ!JZ>baXWSz;0ek8Vk zA--SFNJcNdrzZmRUcLF0ZC)D-RKRM8G3$rSJ#C8C=SG1pSER&LxMmB|C+@mDvMHku zXE6)2P93P;W`j7yN6)$s5`v4GILT?r2taVrO>sgH5G6s7eyRa+2|fh?k^;CxiNG7) zK#%UE2cpwZy>J$`%fAqqjAsXcIch01`YG@8dU@-VCS-$=*Xlj2%y{LN5>fnX7v*l zZ>J*+Gy*x+z2i3=X;A?lkn3Rv_tvV(5!;^WT?4gEQlaTf-grab5Y;7E6;d^&-1 z)+fr-We{+Y279FuV+jP*zE$0fWm6QLZ=udA6aqMsrTPR z8`q%qDF&%@`E*7In&MPOVDHnof@z4@5JR?LqYCI|9t64$qi-D|Q<$5A?QT3fdWEy9HQAlw%h;K*vr!rh1$)D+ zcBFGz%UDHtJDv!wHxM5Y?wNNjXx-X?L|M5f?w8*ySyN(bYU%;6s-U(hq8RJqYifgu zZMquQWUpL(a_&eW&m&tQ9iVnX^7}{-tjFNW`nRtGx?5JI<;+(ryC>#m+5c(&G*liO&a<)!mOl_ z3DtlA;^o4TXFprc4fAH+|Fr&5KJ*v5T0h|HrB5I+ANl|V!RH!Fk$W}p0- z)8}UiFpGPyE%g7C<$&)#6kx3h_@UxIpD*Pt*VFf3jR}CvVT2*S#cESEF6>eAa01Is z$06y804iiWf=$DqKD~9uvey0n=H~bIoBw!6e|~>+lkQHRda(I)TU;c+tutgGPGZaC z3_g;EB-Y{r2m+`L|3lhw8w|IPm+Qw%l4SEr#3(#8M!dzo!Hf{-zz&rDS8B^(;@|~q zqbWG#pdFM-()3`X!fgL)O+A|-m6wyyfHRW1G&`WnW}Z!LX#|l~_ri`R+Yb3g3?S}Y zmj_@@0tsCz33lU!!HjK=Iq0aRTMR0<;y}-t!ku=~L=L>VFodv;bLSBQ(7}uHRTU69 zdOnTXe{m9~#RHEgvVW!&=DEB|?uKy`tRD3i(HV8lnk8z(qd&?SJz@ygI-+hG1?a}_ zufnO!9!-+}lx5m#1+;TrlX9lfX9U?;#L(uWXMs*kg53jr!9PDbrgrNVzQ^pULf~0G zSxfeqlNkTl4Xvx>0);?_)gEpDO92%6GY%kkpQ8E}_WcubX`=#1a?m#)dkd6*nE!wJ zq4@v9T_GPhM*d1Gh)$_X?FA4QAhb7V1mZw;ob;+VArcxALI2i_xgM&U!_DD<{}ujj z@-Hs*R>=)YeM~ly`~077%D+KJditH+EjfP(dSLKQQ_SaLYny8z!nT3d2CwqHK15@H+6K(I}u-ffTTU zseSb3RX-TfS&~>aU*`omCi=FEI(!HASi=CFnB&X1oyTZ}1tOtU2TsLQ|3dmD7sn9ul^b<|c z*Pl%eF)z=?BW?;|rZ<|&%x3k%>=ZO2r0pZ;>xeXf$~J6l+jlP6=3LybsM3w{&s(Y| z6NZYmEE{to62x>PvS+SJAwZIHQx20PflC!sj7I|j^b3pzJzgO`UPZYX_I+d!5VOK> zPz0crz$*fP)!|fvTk{R7Z{OZszWszWUfzA1lLT1>d}2g^1pxjUyulg%4_$IG?Ks~Ye)HG;IjniMKuzD#gB6X`R)h78 z$4cI__RF=4MX8bx)ZgX77|Rb#)7n<+a@kDd(IcmaE=lhU{L}8i)L-Zj)PW)p;Rz7x zze?UPt*uu&BkBMI+!Yz5@_khuN?5Hc)ckJ)`kQlsllZz~U+VO{`u|wX>(3$ZTXpfV zy+}G3Rdt%8(yQj?%&j(Gs~J6YD z=U*czfl7D*g4H089+?HuG$4|HO|DJ-Y(2|r;B2}Md9%@!fb#Zh=r0HVxkf>Gj;cSc z{3A4gF7SD(xHD5|VLzRp-K0F4RRU_M3JWLI(0&zDXy4fgFZ$`5QpA7#7^}FycXiGN zq`bhoDS*p45`}mu{LIC?jIF$8r$I4wlQjmwbF4BS&H9U*0LR}9z8z@D_L38a#8^I#XI-Ou;4CR! zxzKvynAL2LM1kH$9l#~3X%OUXTlxAZuoVUWx=%LTaE?}qx(oo4(QXpo{Sb_l001BW zNkljE?qDO{?sv?yUjl46XE{J3nNaWL?1s6$pi3osW4QhotKs3gR zqU2nFQV?!=f)}7bU~i?t`_-4Jd>>W3m)~FGAC*4WPzbm+HvIot%l*ZdzhS`OKPdm! zT{N;7>m}(AR(sHZfDfR!0aXtA9tDe`5O~3XAuSaEfgjTdCGiJye;l2FM7A zanQmY z62KjaIToqhj>SJ>*DH}^x8wiLgxf|fsGt)8U=XV~`%oWvYOCXyc-iQcQyqZK{5BO{ ziZ+Nq0O$fW2SFhYpg_E32UVlUie&?Jvy>f@)mg_rM09`2Gmo-|p#M>iwnqPcYcYT` z7pq6kFL;hyaCQ5NRGvuqBop1`pgxNxrgMYH6rGZ(00Lh{O&@h#iWgAmRjQqiUyY45 zFHq%a%N4#LyACJ)NGWK*xd4F^vU;78Bep-SN6ZF1mF4PC9OVCoJ;CG%!(~~0IWqlB ze%?%P{JRDNe(}STfFEc8=zx{h{p9%tWd*bXO`v=LH{^%FmzGmPkE}0x(gTD<-5t}= zZXTmgD1d)f2{%EP>)$1nz@Ps;lLw#xpd$YCX$8>ne83F&>NQKft1I>?Ug0zu0w`+a zlo>E+*nal8K;z=`r53r!71CAn-Pr`Wu9w847m7)D^I={E4`C>LsOEmqf*83w_}wmO z#mt4P1uF~O;N2>gawy8uTed7F8#!lyEzWQ_cI2NQhOapmR$um9)UpYcdHUld3H8&g#p1W2C)L)^YO?n8v+HVgBr1& zJP!omt&%`qAa4FYRP3~MX@VvaAl7@-aP%Rx>X{td*=)XB-paM?ZPx7OGx=*U>SZ=7 z=8O1vIYtG~)-k67G)0R-Ao-fbWgJ=z^YAP?YfotE0|d~p+&0G40!ps%m`emRMTmm; zv2r}Jtt{7|rJ%mqd$L$Ni||`w(8mrati>@VgP{q zHzh-XNCz+wz@lKQ1F-Vm%=eZ2f;Ue&JpB8Am+1agf`D_Xk}p&F-=SjcqM-R_>O$)P z3Jz~VKQM+Qo#e~<6*$6AExQ4|PpMc_#og~eQUJ5hDEZms|05-RHv7l)yxzpKf65O& zPyi#ndl&n5;Hqekpszd8KV%v(J}HsjkDSH}Fe=M(zW%SfxtJxQ3%QadE0?+snWj2h z-YOW4mxluDqYm8!yr#c)t=k_T_vbf(El$h)m86DJQSM(b&SY zHXM&ksTBF|@B*k!n|~$}*vro45Z0f2Hs*G8v-#s|rx`ns3W2SdTR{LjZ zh!AxeVVVaTIq)>%*v=o#aNXEH4>xY$Vyy#5<)Fh!h--5JYO()bE3!}th;G1|m8Bvy zorPDFU9^Ya2^hLdKvEhBr9l`P0qGJyS{muD8M-B;J0zuB5Evw-QA(s+knWtzy=&cn z;a%rFXP@7G_H!)Pe4>vhBg?WPoj=ZqZbIrD9v}mY>OtbDbYC2S1O8&!xMrqlQ?K&d zdTmQ*`-GSK+P6QWfOK4Y3^e_htY)dl^2FE(kRHTXMZ6v`SwwikBm|*H$x;5lFo*Vg zzDZ$=Jp|ya)DT0mzfi)d-JU)0A6OTMmcTH1gjXQ!YOlru5Ma?2>5Z=FIrO`g~0I^sWkl4-EZsGyTyMdM}vnCa_#EyBi@EH2UlE4IiTf-kL(-6g(a@j+1|!+m^z^c_?B#?r(!2&(i`S*b{qH*`O2 zjze5WjIqC^%M(Z*P(6us!RrXsDSfWqrdS4@iZr$a3C;NGn7M!FnEbjVoO08x{0`h> zd4UzT?V%@ExHun9jYp^PhvQI#hn?zGV5dHTD3Ma@6KbUF%UY~5MR^IFjb48MM7Cc} zHvCnr>{u$L1k}j1^H&Kb=6YM4NAJhJQ;N{Q9@In1NNpRx9gQ;7GlV&tzNn-W>HiJy zNGeQ11hDP7t5`?<4G1y&BM$c?Gz5to~?22a<=eT$~sGb9VT zgMGL7N@NW;1(LxBBPzTvuz-or8eJv82OPViLX7q3&pBRa0EMsa>W{#&1*5nBA)khX ze6T^^QdV0bD^&VW!2ojj`D@A?&EnV#Zo>&AqePXkTqMILHBFkrS}j@BzALnYV-R4O z_5Q-)Sqc5d-ng)yVu72iCsS}h3CrM6r*minSim?hozSkWCejws)JSd9(;i)GiL!3< zKGp^RqXDQ3B1JxABBM=x;+tEha%k*5#qclxB9$JW33$n&D|`~&mQ5m{C@6^WcU7C^ z4-2QCJ!G&LR-sVofviNigJim#SB6-MnTOUZcI=(OsZ4SaGJ?p#DSY`o%upcv?m9de zEtP~*yY;}^D0*0$inud9nU#Kxj8-NFY~KU{`F@wQnE5Xg2Jv~gNc%V`AXpX@)6^l4 zC4$wu?u$D@I*gM%OR6JmXo5L^rx@pO3Iqaa7i8R_>j30`*WajH91O+s`^i~T(gAlm zZ=0K`o>W+=2Jr(C;S}1Ds!D_huP$(jQB zQtmW``Zbz&m{9Pm7O?ZSxnO?j^=hMLVXEGH{L$Sl9TyZb>3gH|OcS=UmARqLf*z`@ zW~nvRai4c9_}wRSK>$1FvNUd?epWTNQ54!YWe8Fm^&i`X2yvmLTmrG7&IPN+_>g+f zekmLqUuw+KMFP#L2a-to8Iwkq{{T}qpS9_`L#yi7&Y*#BO3$Bkn&=2FEKUFCL%=owr&vyUQVd(ecJ>On*Qn|v(0ude}b3K znSntS*gOcE>PbYrC}d^8qyRG#8!(c4v+Ji4u?u1iel}sfl2YQ|&}S&a5|k*^GS?%XM<;^sjh7DP3ib^UeT4J14HTmtI+`V{T2^RXVveqRy0u&Uz0DXT)V zzj`W3*I6$p45bE*>{(X0n1C6vx}ij~kEhCNQV~7T{sdQaFNF~TGz6z;!>HDtqnMq` z%T{87)0hE>a%_fZYM$LT8y0*LFb7g-PYfBw?Rb4>_v%RoUbdfFBrZMUG|feHlu^b< zD{d~M7n!f$PUQ)|IpBGDU#FW=K+w6@PZ={~!OMx5@$D0Cp}2e(z$_0?Lu{ge4Pqs{e>}MjC@nTM;_CVZNk09l3Iw;12lcGRkc(-+IT2npRX`K zJbLz!4EdDnZ!slgoPj;wc(HQ`=Olh1qapqm;UnzA=DVTIs%cR4brtcs6VZV^m4jkB z{#Xl@!IH=5jCs%r>bknP{B6VG^tpZ^$j&SXC@yc(zQ*}UiQ?#-wOduOe^e03A8v|-s}ftWBIdZ3H)WfX zecNwF^cIfnSTWNpx&LJsj@txxZs|3l-hYYYMvlcwttH_wWXshRJt_OAPULF?(gX|Z zk^9TC1Zf!G^&T zzQl}+6hn%U)wivD{`ta8G_Z5Z@|Dd)9M=M2;um6j%>)}92nh&&wJD^vp$a*;vRPLi zlr#@C&m4O+8FUi?0bold>vO^wMCRO37QG!l*lxc{mP(^o_0LU4z)O|RKiwl$>lUeC zKLFWTa`$JV>A3}9cw)y>D@an#JRxsSy0G<=NyVwOq=@G@;j@e5mPsr=wtH^&Z`&Ou zD-bmoiNa(91~}sM&0E{qUf@OO?fA-j!OL#mO|j5*2hR=ceV_7PM#zdx*%&|j2odta zk(qEV+g8}LN-J)#twsZi)vMnmgki3A+i;PJdqi~B23kB4`|TM0;!w!!xa=YoBVCO& zZqM;O6q4Mh-ZKUL&sZnfH(*>MPL<#{H*E%COo5h^DbdTf%z~jZ`4np=1vu~+P^0jb zP7;gF*wKAj)P|o92w_2KT8x$dU%?gOg1qpCVB2p4qT1#5$i$hot?YDgV$I>r+D;Rt zl~&@9`WX5mk|Uwn_l+q^A0Wz#$uS}LWQ4P39D4QKb9k-S=RPUe_A?E?#lnBLQb_$0 zXE=5~*%!glZ$Oq^Vb5R;c3yM~D`0oVfz1yHGB1s5?-`~?eIFBp1?O}(ac+ds)l18Ddx?vLUAE>aUCD))nDAE_j z;A=7o)8V?q%{&(0B?y5P$y2H`ai z1i=N>l1X^p092iHJm0wYO$Li+2VGEUk5tF}_-fXw?Riqx*&6n5PrLAU-z};88rcK{ z?>}ye?vv?$UCT=H*OVe9peoL8j_G`R@Ui3U+vvnsVJ|Pb!}#$S2FxvsQB90US;j$n zjBX@&hoG8332S8{kRSWO@`*swSXUx0azZK?!8V0nsEw;@)r3ww#_zs}e?>Gmq>6It)V(waYekt7_?UYKH5nWPcKon}tA&|7>pC|63+I`GMBc2RYLtIlk8=+L5jv1E z7uT9Tlm!v0Plu;cUgm&nNNZN4VX+_Ry)ktu5`HE6-N_ccS+vyh`mBiz&e83hzHL|5 zlw8|TpHqj+b4k(m0}>^}@bUM{?VriSi|qPrF-7L5p)+~IoEn%=5nY9QS!LwuqE!o5 zh24a$iP-i)V4vkbH03l3oy7a%h@Pu-VK8P)(Y#iS1!UhvHg%8N?Uh0iaB`+)UnuYi z3&kRglw`=ND5OHSz5Ud}%N>34ALaS!b1czEBU2N24?8b1kh=O zWe;O7<+qpNpnUV!!zltlBo2e80R2!hCSD)W>b|KE7F);}9C&2}aAEYmu7?lD2Laq< z?PRwajAxXF;959hyR zOcF0~BLkT^S7b7}P?urYnGPXx0t;>@?vGRPTEXljN*#bZMkQ~piV<@1*{B^dXL`PU zpS^nW!xqB_r9!IQ zElDU`aifsSi^S4hn;ApnU|9F{HSg42jShYpO8O4{m${^?lnT%La{p;ypdp5a&Y(u6 znju={S3KhS%9aP|ZOTU6N(zFnaJxUpX#Sa&-e1kt+QzX7EER%a9}2AZSe%OPPWcrU zx#3MvLu+)_&v%pn39(w~jlgrvrG>hn8u_uR%;i(H-0{?v@a$ zvYFVQDwXmi*?JhIor9-8$Ulrc{Mt21I08E$&cImC*wADm(kGa%7N|xO5l?B6ng!Fl zU%nY?EF}#vmzbBa+Nn!y@}`nO@StmuCi0!zNC4cWV3&CR^_g#HjQPR&g#?&qd_lUdSZm zCi+wS7}Ikw3UvzbAnl49PuYh*jUUI-o!Bv*(aBZL;BJgFZIKsHA~T5c5oO+by4THG z47smM%wi*`=epcL&AQM|189A+n7H=)8VM=%wBy6D>~pR?A#S_idxaR7sJ$j5=$jO$ zmI8qY0ro@^D6EVWD&WJ316S?J&&}=4cYTsVG)TSym3Y=;LaXNvWw?haPjg10d$53F zsrzq!em;*{95!7b7?`VpVk<_lV&iBQ^Rp6d-|$~e~(E$Ivicgm7`Vx^Y&Z`F5PJvOKKhE3A?N#V|d-}(KU83B)Sjf&#f z7YfqPKz$P{=f+c7JrBQo{f|({&@`{%F57_jBd)^Q;3c8?Y3#=E$4Y;{DUkE#!TZyd z*m1R0TWe)hu_1#@s1Cnr8_J_!E0z3{-t(S;H)jO%YjrOptZd&RK~qnRpSV-qO_*X` zk^ILTzW!hQQ8rBf3{|tO(J=1Swbip7aaxFz;ryJx$&hTNWi=YARyfGJuCcdfQ>2^L zs@4EVrtqI&UuPfPTkxlK@P4bx2_Ipt_~}p;RZRlb2VlwdO5eY4YtdUgOtC{=A*cgr z!sjZT=)J^(aLR`#%5Oo2&glAzMdEBAiU^AVE(#LFjFd2aEdYp`Q?HchXi}CHYNBE0 zBKx@hm!Et=vDXEGlUR5Jk5fuc32x`*JF7M=>|>bB8h>KOe?^mU^O1~lZCjQWj;h+7 z2s885PG^`eZcE|`Z@KB*wNNb7y>Lh~ul_W-rq+WD#^aay_IDwl*u;aX=mOjemWC&d z+#2GJ?8@sp;$aR3laV`r1k5&jra*7tZ~=7<-j$R)VF(k5>E8UX!`1ZLPzE0f6w@QS z=p4qTMwBK$5{a&qVYoRXx(6MFSlNtK(o(e8An61QbluBWOg?!c`-V$uS@U@eFEnx> zjtNQr@3=O-7KIESod=|53(UlkNaYxL)Ejdq9anA#Bo)#QDR>10QxK8-(I8f^fZ2g} zxv-!=n&?vG3+k43t=^-vj6cyO)2{i~&W6KX!IG{IWxAK#wNKgePOKt9y#n+|>C~gI zvU=qA}scnZO>_z__gr2>o ztEE4WkX2FRsxsgqM;FBwutx!EU+BVswM5;=jj>RhbOUe(Q4817@O`{bPZaEallFad zDNcSj_F13W@3R+R=kg5pf%ir@XP-F_cm!=3?h&iLIWL?sTs80$FF`@y3;Fhb#+zB) z*OZnFn5(s&-GwQDh=I=hU-3$LB@m_iC)0N(WycT&s$jA2SYXT<+OY1Opa46Jss1OW zy3&*71ny7_!@o`jS)9n%Aw0S#)?!&|@%bkhM?eT65Md#%7*MGdDfA;vDKS{Y6+e@X zNx`{aec~F*<(RX@GxBy4$QOl;fLHuipVQ#p%eMhF0(?w%#7YIL?^Rt{@s%m73lEdL zh1Y%fsE-m10PsLVE&W6rh~AbL&;xcn{XXV;3btvs3(&~4KYuAlkFbd12c8=l_(5tum^4Xn6ee4xnosSE4@{{q$V zajNp0UgSsP?*arYv67Z~Dezm}HO$rw#O*=V;N<|$$|!6EkSYhazV3;|QGnpQc?UFL zfr)xMW>d2mmTAar0%%S1lF7&%7_16ujH(ygG(S7xzY}YzQ~9bx&7DVnWVqMR6v?Mu zBfs}^#>3Vlyn;Xjwi1yU_5f@uodEg5FatAc5uuuo{z<>dJ?V&% z{M@`TssdmDG(ce`X@>;aAq#%XZtf7Apu!6<`%1h!v+kZJwPk_%k#bG;=qvS_6vGN{ zE;~0P0z84}=E_Mw`|VvJv5Tl4KB8hUVJ#k+JcuEY=ZQro4H`{ls_as7G(i#eT77qe zeBDFpw=p&ZoA?_~pn-ha5F|TJ`BK(&`rAjC%NB`2+34FoqqHx;3#R~OjL$;)rHNDL zzE;HLilz{2VFu$`QZ^-_&bZW@7P;k_q+1sUqW63&LVcJ5lymvACH(*3ilITTC2fC5 z>hd!^V$zTaNks#6OfPPJad$`oxD6}^@!M@d1^_pr2R zD&l3Mcgv+p`j0UOUl0BU;^E8Bh63&E3pb6$E(ZjMS1;LgMB)7Pe}ZM1P=kH;RN=}V z8F5V8`Ia?6Aex$TM)&_&0D1#VZoYic9OL1`*I!v3GV5@0%S?rPWSp~OHxr01A=p9G zWZ*Da{GKje;#1idL|a_~F@_7KJBmW5+D~XXf({-|e3sFZ^f5Q2P@Tbd*$Du*3Q2I} zx2L@mgzR6slQk4)<7@?EWwn-PQC}O%-jps$aZtb7SFkRTDgl$_$%(NNylYaq5vUaJ z^~)+m_D?A#Pp*sDhX!F&r~YuKC72JQScv$_IQ$QGhKJ`2HOeG7V<0_$*I`i-<$<(K zG{#s5YYS;S2r_+ zM@|v6P|8!|rABpI@X5IEk$f{1AWLzhq6sD1P57GP@?-$665W!%_c)^oz6L6oZYbI$ zJe?1i?3|Gk#891e-~|Y@Pq`O!?Nj`N@mY+gi0YfKdoy5}b=JtWvuP)eZ`|$QWn{p@ z$z3FP&YA;cKF2DP%EYE*TuNM#eHd4=|MGzuetD2|47rAwL=UzCpCP_^7#0Iz_6xA? z?u9Ha1Chq}Yjs9um-6Ji7s55H=L%!)DeURe=Q{(DZB9}dGt$1HE1Q>t3;lxg5$*Bt}b zTJ$gO#3#NBE@8gsllxftiM5~s)m!k|;(KTGj2&#$N^lDMDLd`581C9}&~Jwi>q75c zc<3I3AuLl|P@X-x8Oc$V^t{bfvoeM0V17fk{({0D_f+P4d^J?#FBJ`Pz!aslyzsUb zU6{ThR21~|O;D|&kg>A?gKbX_E~YxXM493|C}0ME3MHR}W+ewIj!Z(sJ&^w}WBYh% z8vvWyQ&k7Ks=Vs?(7(s8dJ6Y)4|#r^43^!yhIFoKNSfq-+;%k{_}!MC7PNv*QT&Jo z4+?c16tY4DF_Dk>EWcO$=5FeJ`mNMmK@5TjgXour?@W}w65mLr$hXJqRMP;JMIiU2 zQNa$OrCAg_99@7jhzq0{etrY}FYf*iVg0?6G~rFl4n}6fyRU{U7fd7mGkT~H3UCV6 zS4M(JV<18mz-7GE?rTg?@5Rp0WZ`_Iut}O^I*87frf3@-ZwgfKpM2$)H74T}<#kPe zUXMoeUrKg;ct4t&uP_3>u207nlq{UTuQ&n%m3?I!4=sa&ReX3qV12?!-XGbHLmGeU z<02c{>Er%JWHk-9cu0IO+0J!iO413)RTwY%pgiOBgCv9avNwv9Z6WBOa_+rXSybj3 zul|4?QUgz;2Hyamm84b~J>+O=FOE>zIds_S_0;s4QVFl{!h_tc6$Sm%`D3&wEIcU!u-Vjmij_?qracv%ZC&`2LgV0SF-Afx zPW6dXx6)B@e|-D`TecAnu!CBkWsk4doGNRCA->25otEr&IbikTj)IO)$dd5epI|uC z8{=3-GcU$h;c958DtxxY$17LX3cHt_qo-f}Mfd?>ZI-=_!tFe-@o)a`>+Bbv|N5pU zswjq|XU(h3J6+9|MSHC+@M6%b=6n;+x((6H8;nV*UF^!wb8pQY?J${uF>!3rAUJpR zpk#1ixckN`HN~{K;m>GBfC`G-=P5 z09;44TY6UadPd>(xR!rTrk9=Y$_Rwk z#nNBdn_^FVDCqQADgL!bsbt$eRM4ONy0X6+;qQBQ%2R&Q61_5VV2dzyXBq0NuDIqb z&SW2AHdQqDs~21)>wb-u=5wz?2{rncp?p{wMThY!lf9QpcMUamg zwrs16+{TxR_sF}&6Tc+n9Kk;^UTgF{y53A-)R%24Br}AkZ(_@g+|-Yw06&lz~J_fxZy+vGQ5Q;tpU9 zm|^<@;e)nTCt~Y>cP=*1ktTmx_g=i@pZ<+jLxdWEwD`vB0NqSYnjG$qFaRSrhBk_Co)(NmZ) zZ?5@tr9xCCh?f-&`U{isU)Xad0*d^jk84prwkraa=)j8Xa0@>0oh2ERRz3N)p(SHW9pfQAF0~GL*{7W6P z_|n8L(kQ6fef>{2@!>h*&G-Soa^8K;iB zu%B_C-W5Ic95eT`fThz9w7fCPreY`IaP54!M$I3RBi$PZW>ER8$IQ)N`fL6aNI)B^ zXnVG3qN^B5_1fjr&0#OdmF^)J^N$Zj`j%rpS5Qyo*Svv;B2lLl;Xp}yFM<>=EC{X} z-QkygkC_*jU#hvVfJW4)R+76b5V4cf)g5<|?tuX!=)QnuQP=*emidL}0sF<>K#5`r zm&9XeHF;}SM8KeQT2`-sui+Z-6{jC7Uu}r?GdwZDA&Vp{M8nYjR+;IkhLON~ULtrK z59J%9mHwpXYYDzj)V2!7E$p*E?itS`_Ty>33qOgIfn!6DDtw!kriMLybcN3g%N^}i zv7Bc3DYNtHA4(&%AP&E@C@V?ebFbxS(fbx-n=4)D&93eLhJyCum9Q?KcI_2}-c4X$ z(aIe0UEo)z5QhWb1VbKqlZ|rBLM))PoFc69P#t{=zcUmD01`yDkrfyGEv^{g4mx6o zM+*ij>j3`I3sFpr8cM4pJEOG7E=`{PQ36`M(#0X+#>1UhfQq|0CEBSu@?=+W<8+Y~ zuNu_cKu@SQKmrsqMupd9?cnI}`~uTA2YrMyfbtAI?}Uh47jUVo3r2c+J8yFWve z42-iA9Jo*Kj|nV~88c(^!FF)A`kmhqhU3!iM)fwo3)!#P&$BW}{1*jhpGCMYS=>%R}- zF8yE}9dI@YZ_4q~OhIgVG4E{mz3hu|ER2^7Hl_X1!k7$r^Cl+O=*C4JX4V^nra$NN zZ{3~NU9;|SYuX-@z0uJyX?geSEh`>^f7!!ip z5e=x%5?R$f{egxEf)o`H5=s>VRl*Vb6qgHJi_9_9_Rt-i*!4Qss;+>JFC0el?>UiA z^b@>y{>d&fge2O$X0w_FdNZK0iuU&(oa{!i^O6b6^Mc8Qltka;h2ZwQB!Mq-{{?cW(2EZSvoRK5 z8$PmN++FP&eD5-O>GPmtJoBb~sevEwWlf`~<3O0HHm*?oO1^~N`e7IP<0q+jbO$Z} zqepkSZCQ%o+Cmx_mHm}`b?7!M#L&rj#IAfVKBP6odyy!Hym@w2!%1xc>|(4iqyJdk zBK|5&q1BG)t5nqZYQg}qX7R7`qAnC=&yd(6`S3i-d!_5kJ%^XmnBav5`L#uFzm9XX zt-*8`XHrjJv|e3+==8NX`uqNQ6;2G_$gKj_>=2><&L@d-8|$mDr!;sFiYOVU+nmX5rbRx~l+=FJ@nXLu*<s&#&3{ z7@)g{TfT>fWmli$Hd*172a8M8^w$rchWO)!Oygfi!e)9cm~rYDkZOUzd$by*Djb__ zW^S1sOms3pHIZpCLh@oN85~jlzA+KXVHa45%@eP}1YU{my?T9$lKN9*A+Vo8fHiOs zO-C;~YveVmCZQ(s5|EaCB3s$6JBz;oRD0ewlrXf*`fU^{VFfuqHmxytlIHmddR*tL zWtOJOuD`fn=BZ#_otD#H-fP?WSp}E!r%oK^nftWEc)ay)Nnw20SMT|bCD|596oa%f z&krgtUX74W!|`@GpoA36fEd$*gvDM6{-%}oY~~FmuGH_MEZbMypt&|_WuLb#AlowO5w17m%0NR|xw02p%-Tipbp?@DG{ax|=y92F8 zPW(YSdw6g5)H^&Z4+EZBvycC3l?p1@-n9(raoQy736ujD+nF&Zb|J(=N!aViq{f9;lQ0z`kR@*bA zWjhJ+(-%A&y|y(7t|z90UH9)E>xnAUrDcQ@;9w*gR%p9+xj7mGo| z=U6=q9-sw6I2r1PHxP;zjs@(x5kk)oM7w&o`mmKzsJDRUS>eed))*=0pt{G)pM+vs zzL`%8FtTt@j8|M-Fh~HI7~MrVx9(xeca*{XKqiLJ8!+2{AJPWKl;kfh%V_zPbLG;N>(to zT7;X3=G1t-L-IvFf1eEiwf)#ZMg<%vS4oU*QJL>9^624dG0vD&JTXi{VSw zi-tV?mKEP1<%feLK(>QkPD2&5{x!L;{zSt|k}L8;-e5ePbI~v=Oj^mGf3SAaPsqZf zxDlEpaiwly=}3ncHFys+G!SZ4g#qcX|5!b~E_W#^giuu$`t1SJ(jPU6U z9GmdpfWW3&I_r2&IB)|eAu}Ilw)|ww>UJ5y>jvKl%uGjf2!8z};T0J1orh#SZXsiS~;@3gSgkGS&l?ADNOC4*ea9lhIzaG!*{xwppftre7KEp8AnwRRQQRKJi68iyuk zEgPGCl{d=mGT}a?NXM94TCjBvmdQVW%V^w745!^O=J54)ZyaP6Z8FmPw~1UC)cg7~ z!5aQ#Ob`NMTU1D3VeNf=^}v*i@Z6tPh&Ep-#%|CTl5d-SD)8ip7ZwE-DO#EmAmzrg zk0_IQzE;QG{t`fRF=6ysNe?$tpnwk_Ns#~bzTko8CHw~n1Bd$$OEB6A>&oiw{&L4H z@9lbgGK^=>s$(gw6r-@qf3k$L4@t_z07|{jl6=)j-*??W>Wx02J9J?^GP*46cSkhP zQY!^D)$XizGG!9P=SdrgOv<`3-{@MNR7E4C)JX z=8=i{m%Sim%H)f;_BUY1#9wKo**^elvwP=#?NpB4h|zDs0~VR)rZ*hZSp-q$P5VN+ zdvVad_;w8Z)-DSH`+}en#}SSX+>{C;X1pkag6V;|(kAf==xI(6&XLJ*@rAeIQvKFWpP=3lSrE9-67p!za%|bVN_N!pYq0kc7WST=6}b97 z2~lKlc+M3`E|R`gUkpwM%-oh|?{O6Y&!k-eBMXZo;UN&JTTT|f_Mlc`CD}1Y1BNS? z91wP7@NY!jY7TdV#|;uY{Amy{RywzoiZ=h9(%!gO`OddtTh=p&x=Xe!zjxfy=1+-Qs5&f zp7%iyfqHf{EkX26B-rw=9fsfLcDp+usU`9*j(wN#8DjWzq9gMURRBju)03U29GBiVA}>}a!KJ*4=mAWf6<+@9 z#^2v0<-=aBqpj{MQaNS=7fqG*2SoILdCwZwe4Tdc5M5g1+OrEF&3X2W;ApZN4@$J( zlR1Scq`LW86ba>yxSRaGl!9VTK~3h0()(-Pcjc-VrHjmbjHI6)st=dS2c;&ih}v+^ zv0D7Ce)8!QO@*^-g+oLyk)9H+W(b4j$Of*fj-a;lS3#MV0O(FTDnJ!t!Rmeeiu!a1 zY(wjvzFpRU3;LGYvSsYtWmbpJDoTC#txFELpuwy{YcTPt!<~Wd+1!`A#jbPZ&qNd; za!NrGyI(%&CjqF3&iMlXl5|~BU+`V%gTyC8*TDE3rGIbS3)@#;B4h4mlNfcx2#w51rM7v zEVyhuydjT)-4BP4aOS3;_-Vm$g#WtC=xQAm7y%SywSIx-pMr+V%zCfHUBA$CIr;gGdrv8N)M7*2OuVXlcFthbrJ|z-n!Tru$1EL0)eLYZ*!)%aeYGLrYnMjkL|GwP9>hkBNExLUojedO)Hsj2=QkVApivl zZ{L79Ke-scMo})?fZ@J{F4+4qbEqp3W@MzJ36kI?2;}}>n3()O`Max$a049VtmHgt zHtrFr?QE3`HO=ck;0(oI6+4Ebl69$XW6MirC-ut7D1}|WyzFF9)_1pQ)U}^RcDNJsa7y@9SeoH~ z+z|$gFB+fBoo_kO?XsAD`Qud#ozu?(gSH6QM@Mf;EAWS#v(!^h@{;j1-r>Lr_!K}X z5JJTK?G*3)9bEQ?YXiN|wW9GjU{*xHiWQU(VJALYeM|0Ku}yo_Bzr$BJP{arKZ-rE zTtTrG?7GlMuX2D-sN`|4bFxGRoD)e4ULMA|P=BMADg})FZ0p{prbXM>&w1`XJYBdj z*CW{eXfk_~Mqu{UM6ReQqa5GZloXms&AW=R51w^#fQOLZ$LILU1`oDy^A-pg*MFx%_Ro+Mj#o2%P zpy-t)iEdACZ{2)4bc!0{-?u-Gl*{z|csfLYx@R2Z%OC4`vpweY11}zo-sdL>zj4(d z*<5Xzo4BR+xC{B`$mP2-*Fpy5R@J_Yzc?;~|G$DeI`Iy5x%`YDW?6|kngSnMHci|k z1)qSu)j<6=p{R;yNEQ)5)!*z%$A`Td6l~2KmMnND>lZWZgR47(Ro<=LZ~b@KLxUKV4qQWP;cf^`wr@pe#GgB1 zV{!kWw$Y;31t-`3u90$3D|LJFXohvRd%Rq(T%pBtum6GT?HO4h)*x!%BZ9{qnIHG( zi;GY*mhXdmrpdEYN?;y=^H;nLLvii1C`$JMSMTw4&27KMOo+e1iATAJ{oMT;$jY=}ur|s}PuT^CYi>a3E znh2Z!Vpi@UjuUs}w0bq>dEgd~AU!8y#IN7hL4$Oi&t4VhE=_VJjA!TnVlxt;V6yy4 zzEARx{vaA2TkgI~n|Z&;RTXH*4ygxRVYZ&%$qjJ-5PXb7P?V$C)Q6VfHZA|29KuL# z9bdD^uP89hYMF(Zzlh&iyl~Em}QR*9AS>3>*lvu7)D_N1;AZZSZ123ljj%U)$2ptlU19RsGo;6>0#BJ~i zEe}Wk$(f{Trd`Frw!!7Rs$oF7Dpoy8#;;PkVdNTi*zEH@t?hIZ+9*D4Xm>c`FJX23 zP7}J&@d5M{z(m$QiKKd{x=V-!B@mP)15Q=&^aa^B01gMdpL4uPR|!a);L7;}n%z|6 zhCR2ll_(i~HhYXlc_#*r`>I%J zN>M-`1uK9ivoVMQn#gb8(tVkperF1j_TzZ)n~7*PN76AQuCGtjc+k3R1`{0vp9H(b z?1A|^Cu=p+cGHFzK|;vyliXgt3Ly&={;iLC#L}*P1v%leFEXEbkKWy& zRk%h`+dX4B(W(`0XYa5le&4#?>)K&HzOzK`{jcyvz~>E$KwuvW3SV+}gqb~Yo+qHa zS)RKdKjLkIKNhcCSS!;m@t^ajYDM+-CxR@-mY7Acw35B*cz5t?(T3_{oVy)KLPti1 zfCq*+!^xT|SbMxTuKbB3Opnx5+t`>4v_d?TWgbUsOC~&N;fJZ)xvO-B1yQH{V}hZ=)I&+1J4|s=;Vse-6Sd`x z$D8}&rP$u$JYj%F;e3_PH+_(dZ&ke|iHU2AtIG(VX1uG_qXdLdP6EdW4v+)xOvw15 zJZ7tRSYlHdI~$(HY}VJvafzi+SFPhit!Q*T={Z$%5pdQltICA;F>J^p(E^)Du*9IO*_rBRO^ z^o%H>uzMak1+rO)*MYy_)FA!Il5QDC{oy&*A!qY_BL}-^M&Yd}m$b>!UIQ7VdBq*W zxIZeM6VE0e9YR`6QLJe^q~^K-J*Wr5KU61zE~IQ0`w8W4T5hG51nENoB-YUODq(us z8~bA?ZJL~oFPkQIZfP?c_s=2O+%zldAK1uocflKu8#&?4&fh^9n3b3@aNtm=RO;b7 zBz4=%|N4K=>6Y83v4^Iow|bCl6{K85+k~n?NHAUgx9(v!*4N+L8#<>Iv?6p$A?5cx znnOQKPuwK@hD~#+UOWI$3)rU!HNO(ft3+lk0-ux*Tn?gCB$>pUU=B*t8UksXr=Zwu z4ER&&`NLVw4g__`_zn7cs_O`1u>zwvR_qeDeVOh9+SplIdC^<&5*QPie$cjd*%0u} z{RNMz$bcrG6$IW9?SYQQ#Jwjaac}eU$9nW)cq#CQ0xSO}vQV*T$vs5y#S=bx!oI71 z*d}L+)eQAM+LYVUc2CT6u+MLe9SX&trIJ$W{!JjZmyjXL#qePHZs?mz*dK#!eZ<>} z6Yhs|=(C9`8OH;hkIk0ae9*sj55zt_BEaih7BlwQf$HisjAw#0TgcJ!?DJB3Ws)+< zY-52^{eirXcn>5Gdm~3(uT!BedCpgvX^g%jd_~ViixU+CPi1V7pVKOx9FlhJXqmmD z{)eWsY>Tpww)j28(5-a0AfO-(GlbFtqI3*`grs!O5Q<2ubSnyobeAv)h%`v|NK1Fa z9L{r{^J>1pJ=fme`SU9Rs(irCSnxc@5N#$f~)Pe z;q+#^ZL$q*4_XC>tC0qB%xTSESjs*IQD1~+-#N`@BI&u8(R zUM0K(6cX0zaatJ*-lz2s-%3ZkVB1^1#nxNf{RpD{AR>E4`{h@*%VFhTmtF!8lgA); zqliG@c3Aku5h1mxLXdFz^_d=@f;zU-fV}ng2{*ttuqHNXg4}M5n%mHL_%2KRk~D{7Jf70pWvNVhE0Nu$mW{}DsL1w z^bVN!`(g3a{OiiM&-)1)?J5x!_BFItXCT6yl7kVNImZm>xXH^k#W0o91H`^eU15~0ko*-E67GW8pxnb5d$$>xlm+}vOkTXg(G>Ufgx{O@R^2>-vpHxlQ zU~-u`uWZXEE93sC@|jm#!k&o!r>FafoO>$KC%WM4a@AXIoHTCg(7;?G=fJWWCe02>7Ntp9M9j7mDh*cdu z@5)5Wv88;J@4FeswLO+%RtTs2JfsQ_9!}Fdmfdu+3R&&y1lv*|`At{e&-^a5WJW21 zKe?>r%Jfjjx4z`W+}g)_4}FIIUISxy4%Ds&LRQ$qCLnV|Vs!il9N9;&J+zUJc`CU$ z*g2yYgtAMCdk>nI{#%3WEd4Fy1`ctOw3(QqAS@nj$OrbU? z^)5rNGI*zQ3|uE)H#W`EZ;5ILI0Q-<1R0FJ?k%1URO&!JL{>Xs?r*sM5uZ@m|B9XJ%%RCaHsGVEm2BSU1(aaJM zB2e8-HfbaRK1Dt?K(Rt6g*MrQK3~U$0pYyxbixmg-zdR8kk2KiLsV+tO2w8TUt2Kp zfWkx#*WE$s^Q$iu=#DG8Oaz+h>&O=#qh`~e)X^WZak4!1Bz3Do$XJhCxP396DsQ44 zHsmGsfuSLN&d=GTIdR8F=;&n*0m z{}2RFrk%$)S=pbz4k!su?L^Cvgt@HlXz_wldTCDO_PNMy+}vv{yi@Y=t^ z9#81PlqM%;^n|1vf1{F?rzX7aKM5?9k8LS`E|TDUK&#GxX!mhx zbUV(L{n~-$Aw}jLW&)WPh>x6e+2-o69z%1dfPs{o(qyz1xu>1$^K>N{)|@`L}5 zn&^3J z(#~%FVvIK&OcImFCck_~MnhYm#E$VaVbi3-08@c=DkJ%>HDqrs_dBA&+aem6AR2Di zuSDsXsu!U|)by0TVQO%!^Om>$z)$^kq>3|B-;Q2?OoDQaOL8&f$6J3#D#~W>h6~xN z;Wa_YkG&1ZMuRfuDsGGy%ReHcpVAzEE?8qRhlE#whR?6cGfsIp5^{84GzliSgJHYi z95eK?{_;m!hH|&B8*#m^|7;#OENSawSw68*XgQ${K-FWS-yp* zp=nWe9q!1PDuI()!XQP=C=wbU0vs+Ytcy7Y!x@5Y21p7-=fZZ_LZz?%Rj#*s)@(P* z`tD`-v2vTREvkiai7Po42Flz)g(aYig6XT9MLCR^231Cqh49PizbY)^MOJ6tmzJ|K zr-wvq{QB0q$YFmQtIo-o)q7z;ekQaY*;r#Pj5omN`~Tpd%;AYie%2T@{WKy35LbU^ zWgx+;>cN<90=@rW=IB?CVYUiU*=K6?4NXKSe|x^dO7loZUvQ8R9KWS5hhs}F#FnzG zTQ&mDAz7b{QMKqt&<@GFj>7H}=%e`_s<+(ip1`?D)?Z$3;sfR~!6gF4UF<5Zg(P(59^23GXo+O>~CPUV4;S|)*OE+Z5vrDFjOUnOhN z1f%+ilz`t_*@TBR*bO!z#tWzSWPu=`FhG8a!O?cy7${7NFhe46#M8I-t9* zx~@6ON$Fy-XL9tuqIJ;&S59Jp%-L6vRC?yG+#@--JMag8`uOPriw{8v_kyj@!AWxC z#_aZT$;ImSPN1L1kBj8}k*kC4<@vpDOgqgPOm95yVeOohzHeZPMZzMB?#uheYl@O` zukmM7I%h>2XumW3<7FTIMEAXTuXBED^JY$^iaFhbyvhKbh_lVs$I9QNk>aMWv95JL zkyCZeuB?v|l*mMgQHyzPpH4$_kxYkRjS;TT*QaCopdVL~QMWgXue!7qrTr-sJy-60 ziD!GW^;A;6VsYckg<$|~Wg%J#N{FH+Q8lqe-#I7I*nN0lbQcgZkTp$MJ*+i>F_lj$4U)$&hP+in*XkSP|&3 zzn>1uCHy4mUui9D@|g6_84OT4q4Ina6@z5NMoDywu}wW1ZSkpKMUN5NcF#m6)JDk` zpzo3SQo?hH=K|Y9OKB^!y$RnyD;~<9P~IWSkPK7l(asbMJstYO`Q{Fume&mszp8G< z*KQ_J!*xkgT{XV=;Ct;`>aQ;}ZNc0jEy=WQ`U?I(8iidid*&PWLtI>777{Qr3KVml z@zNmAv{Tk~d`o9J~e=urHRI580o0OpGA=Eki{>iP5@_T$m%e^=`7 z*Bk~72>A$z2NAN1Z3bILcGPi27$G4A-lN==orr7jE$8QtN?7+S^Ln>T-7s^-H}x(3 zt8o}hjB$NxTwHtx_x%ylXtDqofbsp+!)wDJp`!{N$RqK%t~D{393-b{n^mN=i3K8W zU;0|l2nQ6nZVjHU-z?qBK+zEIyj!L}YMV&7-7w6{i0iDoZL zOPLW@fqSZ;H&Xr}JpcxdEK|ipD<2jtIc&7by4BUm!h2wq_C`%we8(b8;^iQ$&~34Q zCqj4@ys#T!m%C_x%6^kHr;3*Tt4Z$LMW|ZjgTHh?sc2eBpY3ZQBut3j-QVF6o0%bm z)`>;2MvQp@_IVrY99F8e3@V>)hnXFId_%GxYY0l#`FEe8-|}|!twe9%vIP!%%+7tw zQ}HiBs-3c>=}%KL^GiGw0ivzFSDRL_RNf+prZ|xZArOny1&7?g5c!kT?Jvaqc#ly6to2cfXHlAIOr7A?&OvO`>nuzuUn5;Jl(jT_oR%B^5M^@ z)A0!(mL8_j(*L}2jB7ruS+=t! zZG85Oq$r0>i&Xu-uXI@9@w1rk9v=Cp6cWsIU$U07McdEbCf4-#FFod*b1_(b|FYY5 zr%NX(xok6n6#E7w<^`OU`A?GOL78n?;`^#~aT{+DMp1+KkCQBKTYk5Sw{T?eF&J0b zm!;Nk@|Rj`Lkf>|Dv1geKQSS%l9%h?;L}y`vF7i^iI!$XVSeeqFNm(v_y4tUiEZjK zCe&Ka^?pUCjnWCI6B(@zN-?=E&BjXyNf@2#%PnXC$C_FXs+O7POvD=R>?!kO#Rm~7 zMh~Bi^b=Bj)KnpgE|}w#Pt$5!Fs|mtyk9UR4&N&r%42sTxXC|_T>`a&nMoKYHq@>b zO_zbJXIHEFeO*_;6XL5j-_RQ^b@}c#fd&!)#iE8l*v&(a_@W3OFY$yI%fc=C80?>NP3bWO%+G%#!CsLNdy**{q&*dvO_Hr_5twCXsx+NK~_-X|;j1?2XX z>#0HvD4K}9Bir6@+CdPRUyiCU&4{*QV(;P{dERxh^{s!i30b?J`uaNuIu%dg1NuOd zB6v&;KF#0q&S4oWn-!)zgiMSQuX9}lzB`l~#;iyc3Q>;$^xUdXLC>QRL!m3QF$%QY zznE!W?7Zhj5uHcRV*I=j@e}Hget*iiZmb_^S#d;#q`O}(o~>l}tXfvwN6I6ix*woY zq1$h)T>E=tp>9Sf5u_$0CBd%KkUgZCA)|NrA6pDW!T>Y+RVC)JR3_b^FYaS$@104{ z2OUnslva6`AJhi-hXhnM=YO2~Hy zboAdrt$qvr2yaj&1;$m!ZQ*>m8I$G~Q#Nh}`GVu*~hA9+SrsXJ92@@JajYeaesKD1RSLW16+48QdeRcw$I^xYEkhn1c2RZ zlP_t`8pPXQj>a1KB`^Z)lZiU!O{$gI*SvtRVehm6m4vrlO`O&zfuOK)a29p$!L?aR z5fA8d^}!fBh6_WzGo5Z?EtL2S-{d9$+NWL+x?uRJMR5mr)&|$tQ{jok^`Q^$mA7zf zJ=47}NQhiRWcFcsmztTvPkPK-FL)~a_944FyWy+J%WJB{{MoIm7XBr5E3%S9%&99f zIXvJ&7o-JKjheZt%Ha{t+sez^`~{taO}g5$Jeb0U_Pk!qR$3~My&&?#Nt&|1f~3xo zo}hQQ&DSIa-+;Wp^LHguZ$skhG880ODsIhmRB9=nz%G-m(fGfIRtJhmOa<085pvpt z`%IGJDk25U_$|uDW4?mpPqg)~_mc=wBW?S00N(8BvJ1UX#0K?F;4`FmdBgGy>h8}; z-rjvNC6ZS=OQbDSui?S{V~^jq&)P<%nLPX4oJF!Hecd+<{Wj<^{_buf8tqq9BDsOCH+Ge| z54!(inCmB;WHx9bv{nm^nN*MSsE_8=f=umCZrU~6W6hM+Qe8~9BYS!_F~<1xG{@YK z<@!l(N&+I$d+U;Va*6c8!Iv=IEEB_72m$bl`#CGi!M#noDXHB~uBRAUNDj%aY8RNe zWKmKO7CeT(Xlv5qw`K=p4RBZmJ~eC{*Uo3Ca{N6?P+j<{QnJ{`2Se*K_6adxt(yJ@ zKakt4Dk$!;Th!2}RT&Bl_4DPvSc`tzabzPM+>u|qg z!tQ6ttc_)en8o5I6nxK(8_VJ*PK)b#W#=sP`aVsNN1J$h$W)SB<7RJ~;V*&U0%X7rjPWOogdtW6i}eOJyJ|jPth_?cs1Bv8tmvZFO?L_zw;%9C5`(!t`-~*pQ;9SR4W8D6~>K^kM83E zeo>F(gEbV1X4x-q$j@Z~O-RBX%Ez13xN^X;NUo(j&xM&;8Ag}4p;0BQdAys%c~LZU z+zCt~qd!p%lt2<5mt9g86A1nz9uqgxZ`D+I?#fSzyt2YuL7)KPZYPm3urnJxT?t%! zj-0hfDs#m`N;!PfeqyiLPTT=N4)u)iHstF#-3BYz)i3e0Rgcz*0;GNK}3?Aee{*xkYn56Dg>o)GcJ9MH~^ zm(M)pX`q^8ojPv#adt6!YagUg<(SG?*pZn3HhtaJ+}wOV;X{ah&pjYOf}Z7jJrgC` zj4_n0_dO35=R%#q7dd%ekcO!#0ZPBM1)Bf6taZJYVsmGa{I0@7>4pbo`RkYYzZtEB zO^Rp`=p1s4Ii~NwN02QTn|)#< zB$5B)SIADe42!ancH9$qAx1pL+GoHRh$XhjI<@<3D|-CwBFGcy4{vsxxy*SqVPWIy z%ph-HfS4Z86#$Xv95_LC<7yY~drlK7$KP%Qy|}VkMB9QTC^G9+Q&%xAw@b~-z`p7c z?EcTB_D9tTtuTrG?}%T*v=jvy<>|vxqrGViaqudJFe8dE;P6LiYDeC7m@@k{TQtlF zO94!W@Bl^3OH4aHgdVq;E;X_T@ccO>;C)IvDN$pG`<19o0`8vrkHrLGT!WM6>}Q*c z`M$&3w1?=%eHFJ#eqXfy{L?CM{YzJqM8HrCJaJb;(d}Ucs@{>0YLRv~SoVH$?NbNsCz+N%Z@g2dv)d*&}J2rqIUW&_f}4o6*os)sYg5TF#>1-HLT8sfO1Kqs{}8h1-3G~s41`R|_CXM^6hS?@&T zkU}X=Hp(5#=zw#4#K?mkO7^eUEfJT0X#!0LA{2HGeKLeF^{2AevWUO4M>jw6=$e5= z)A`KpE9H~pPZ5egl(C{t1lg^KqwYI<(UDHvmsFCpjmv zvho~}FkvPFh0q(FG-F};yZ#k^g5HZ>cGnkOck6Po?$PV~lLrSUBVqp60~&g&5&6Z= zw4H7G#AQ;)%f-b$MBSz3jMla9tn{b7QI1y+BY_WmAyL%03{vmpKkVt2_wKP5qhFm~ znA+LN&6BO`BaT%+n57x1ING!NkUgI1YU1&HPQf|<8gltgUNG!IWAJNrOmFLPVmML- zSh|S)MPC;4d(H5d^n@Q`FSTW`==L@#WiMaL8Ph+XKjG-Z;Mb*>80vU`y9RDuqQf*% zRHeOX++kli^VY_hSBIHfb(8V_vughAZ^Y-8mb2W*kS9z+62gC;;2&yQb4p{pb1tSZ zc#6JRT}q#>i@J!K_0!4l#DOQh%;w(jF%9U#^&p2tnlDfC3TH>u)rI`ieEwmXD0y8x z#9IG|XO&99){;Q`2~ZeDf?Wf1v{xlU#tiqR5o(9JWnA~=|gQIMkv9rY(De||<1P*JV zxX*=HVvgWowKR;g|5}wuFIq9E1_5Op?#27s+e2@eLdCWkr77q~>$=={3 z;qq#{fhJ&Z5ioq`leb>K5;&L1T6&=Ky$r*Q-Z!?cR7Fq-iItYZ)2;v_p8$1$VoR+@ zh1d}t;v+>KJ8r`J?nL3Q7x?ulkppP$!(CYLsAF)MO3qk7v$QjjuB=A56&;)0@=_vZ zZkO^NDU>>%2Rl2<@`?u@3loih5ZsD^ z48os#M~M9@r256d^ft{7PvENU7|oYG{U+?umx}Z2u=0_eSL)g_g8aOyrB?L94vHTz z-PhEgU-I6!UhD~Co%XpR(ZvU-V-x^@@;W&~7rg!-R_0!V`(m&^>b+ZLs=6NlD9HJrW8MRF;l?djy zPH0)Pzq)o@1mej)C`vn@{pDoEUE&98zRtP2QttWxsk9JDmY;J;mNdJnGec>2YF*{~ z1+;)s4{8mdZn);z)H_9sQeolLA?dFE zw=s8bJYg%4ER>zmb!aHC1dl%}h?0LurfUHLCGZQpm$CQSnaKlzao{-zTJ?8W9cCuA zqsBTH;tC3Dujsx#BQ||~mUQ1DRZVJZzm73^F~A*L!HtoM8)&^n-_qrszMmAv^h$`0 z2V5Y@MTMO;Z*ZI*K_~>{s{)*c7q!(F!>j@+@%(+1nLOj zx@a^loV~43V;JiJqg>sM(7#xc1MpE{j*7FatU%w#nvd{0wM?!JNrA;lLcgj@ zdR%J?LV!1V(})`LaFMBK!1uT^dB#DzU|V(gVz|O%`;lMRnVUelTiJThlU8&V-|}}r zZP)rYkT4?a#u%iv-^lfcbcWRCAZs!MTG;?{Ba{w-%FS|KhCtNdABdra%~$^sfA48K z{0QT#vG2P`zPDly^=2ORl!p|VhO|6Lg2i^3F$@Sfr~_mi*o}Rlg%_2g#sNMv@kaG7RQqT&2N6_yY5qH&)dBelKQXx$kk*PI6aDgbC-DB8 zfVMzXUVE=8l0GICs(50tQSt<=)RbE&L~7?4e|u61;=vrVwX-gH*z}O9$UYQmh_NZKQ7aL1Da@RZ9}{#yf}Y z)IjoH$mA1@dNdY<3mxZjlAK|p{|F11Ry^IKrH<~6vO#FR;PI8bXn(_WzbA+BU)aRUk*4LA|o ziY=7yAxxvN&k#Fg%M(Rd@3SCjg^gu%KNBGq&~M3tG)WRT-}P!5Y8zA+d+QV8;Q%;O z|4l#s8$y~Y$DWdKSRwJsYqn%XuIe3LAZ45{Kxw(Zm9d1a+?T@Ta@h?ZIW2ARw?pSQ z*@fv3Q>B*6i+|oN#=eIn?%#C6h>IKZ$bm|LbpF*Q#WZ1Beve)yP$I-cIv_R!-`Ln_ zj-t*re~Wq6`o?clqwk{=HEB^vf&$B24zyDC?DnaQ6p7;1ta%@ z<{uF?2t9?6-i3faoS@-mJJ<-;8p!$$115EJ|FIBlb8rgi{`D*QZ7VbM???W;p zwdnf)+Ss7D-Lvl57Xnmb#SZY}7ObT@0@r--?yh3STdfC#`waNPobeTD$R(mHZgdcym|8j}~nGIg^ar)o}Sl1aVIt+RpLBMcIxiUIv3W zUak+n)bnTO!~{hax>k|ww#oob1^`KdJ8bg%h=}&Ly+|OfT(z!pYc%dqDPz5S1TXd1 z`Fd4eznTjZO#Ynj;PmqyMGLCgTqwWJMxlTCBP#Y?{P;l&RD2p^Y!WM^Kd3d}QvSJHKIIdb87N2lHz}Vc)4|T#2zIysmDk33R)Mv$v+E%bPrk)oKYvcFHb<~( zTsn%{{Fuv;VoR;fq?qT+Q9+?#W^DoT9!mP1EW<{(XoQ+DQjnMqj3P8EBgzSLZESeX zRQ7!pdShOE?6!Mw)5j_KJ!I>Iu(g zCYOM+3nVABmnR@gedVB|eQmUl707&COK@?IQccQjs*L^Apb@yJo=pBbqKaFLklBKwW;y$AF}6J-P`i^f|PZ+w5SrawUFX#jyfK}BhKC{PfC z2gVAc*A}=)&5Y%cEe>#uFAXLl1sYJw)$DK%lg&B?*On^7a}Q9618IrsbKy$n0+ zClnWN*AV%ph!QgHxqf)=SkVeldi;dsV_Q3u78C`TleOcmz-5HVt@XMC@vC^6KnZ*4@g&#yn%W{Xyk zh(dkn8SX`Lh&@lIiDZ$+Jo%bAc1m!GiiYVEUoPcGlfe!q^z_|)9)pRGYV9ls?b|J% zjOe^l*sCH>$)F!ZWEnAOii`~DchK*a2;xG%kqCO}9&M-)c~{)eB?W6>IV74#Cj1L{0lf>UA7Q ziM<&3>wa@ZJc~Q|tyUbqjv22xwXQMxqinC$av{`yYW6ws}kiQg2n_N zX(+;N_0GBZL4QGyZ%rwmDQ42P7Q9zXRVI9T2YOx@H%RPTTeGTh$>;WL$T=D;mSM#mG6>GTvVnysX9 zfv1ZMh<{aN9`A^P#2$u0oXDa6ZNk>g>9r? zp(i;e{cSx1e=lRUuPvzUGS?%%(@l;G)30Q+e~#E6sm%!qRqvF`x|1IKTV#B11{}B* zZqK-Co@2+8_@up{Ez?_T@kMzYOEiAHGq_4XJ0BQ=;oNm)dczOOLxC_3wWI~Jmy`@W zzN5neOhy$i0xY#qv}*K$e4$ULyMPn|{s?4}Wtw34mDwc;X@T?GXXBpK(T4lPe{?jS zQ;0SI(ReJ-Zuf45A_=U$IZfu4>B|1aK0mW#fiSOAVih4nVTzB!Szb;8SMkc5xS z4m!E}f-9Bm6a+q&+jhR7`V}w_vUSV#m)N^ir@0LHqZWy*7a<BBpzJ}MDl`ySc-LdHe?Ips#IK?155DJiS@m6{dC@i=pjLwLXalq+vv$sGX51BJCd1naBF34b@gu*Xz{X8c%c8eHjTuGFkDs3q zo9jq7z1QfvdItNmS8()n6Da1K#DL7k5qM*-+VTuk0T~&78uI~c*+!$Ai+S$|Op-@B zL1Z+kH?wZC3Hpzo$+Wn)XRkag(xXKR7LSzw;a~qdTsV9@}W2d#m_g&y!ZipgkeGwV5EWSVxUGOlH z!B$O*>eqN0w*QY!0xgmUHL&(oBx0ey`ggMsu|IlmJYU+YY8?#y$mqr_HTh4+MozR5 z0&=pRD4M2fLk5Q&(dE(T8K$O$96FuP&u=9_WWE7pN3!#GXX73P#N47dzazigwel~O zg7SF*;K`b*o)ZU_L9?G=V7*wiDn#Y9 zLBCrGgPm^cBDuA1Z+wgb=Q+t?uBFsNhM`dQSY@TV#-}J{&$Kp$57dAlw$^;vHQr_H zk^zA7Z?FJgJQUVs&Ouu8?>sZR{4pFu8*Bw|lmt`Yj*5idKu#A%u|Ll*tCm}xdoq>= zWDL#9FRGhXG1VQc#inRD1rQDFxXCv!|d#%ZUv-xS*r zk*R60y6MT4~7ME4CjD&tUZT+?x6BibM;1t*3Xh%$vy91j-!A zprQ|azONCor?mg705S{SWXQLYwY~{)Bl3jrDR1M%((jz1Fm>0sTow28Fz;uE2}VU{ zE1?pPP0DiF=iB$kC7XViejs@cF5@7An?%h%H_Svtcjd>z?=V1Ibp z4F50%a{B&?kSGB12X@p}~B9dW={=`*B^vQy|)`8ZpsmROOdq`X4$2U-# zbjy!buVh4I1!Ev5;I{xjn`dj}Kx%|$ok-y}Wsv@p-zym}wSQQBvZ(S4?Q=%10>X(1 zE0?QuP^X-UX)qhZK2}t?g!YUl)^8qUOL$9C9f_$9Ue(E%SGhBbXYxD|Bb@ z$lv8OU?k4s%5+fG$CdAfFkmMFl~uOElaZxzfArErG-9QSD*O4==kzd9*;#0m9pu&_<#9w98UTBVsV-w_b3e} z^_7PTlZMGH5oHlA7Rj}m^z$=6m#w@#C=Li*Jlvs8)`tD^Q+-2=Z01j4X#F{#hY4hz zc%<`LFtka~w`S|1KBj4`RSf%FmMPRZ5>PVQGK0Ilx;9lD;K=qcMfNqJ&a-p=T6kR@ zX&X5(FIn2ow0ukXVk70vh{nDYrBV8k)gSoQ9vg2)mm_p8<9Fbip^pCXmTM?w1Fi4Q zgZZ6S6G)Q>qKl~p3BYtgNNS`KyY+=NZ7ABcf)xYVHlqL8x|$oR92kt{jSxHO4rLV` zq5La>;R-t59MEiHJ^+_mOv0JggMU#Od^NP%oIezgP+AvR<*ZOVQxO9|Gw6vMmw11G z0qE^#(`dLJ$?2`n7wEs<;V`N1fNluid8k#!zqYI-)RF4*FYK8qXI~-gWUi>i+C{(A`D|a*l=5xXDd?`{0lg3?KI=h`YJXJqa2atMD>IM> zdi6eL6WVi3-sH)ekl2mqOiKkCLTrBv?`<}v*G;c6^l06= zxBs`|15jA)sunZ*fyq2Cjzulj4T@>qCTFSb%PIE=ba;ud>s zLX@!k_S8$3gQJE!t_JBZ(I0&-Ui3?jmiM6NpOR^d4jz&jGFX@SE!8gT2oV|?2KP2n zO^2MQfxvheae}zp2XWjnlQYC!3)I(5ea$vea)}Be%_hhw+8R>de8OrlvERfF#_*v; zyGBti(RvZ)W33;z$Pr6^6*Bgm7Q~OkJRUFmuXg^bnoa0nbu0UD8rdx7TK%k_9ZZM= zo}jh10?SkH8U0C$_v4;e_)&eDHHkTcdC*abJeGfMo=*H{in12|!Qt)0i+=dak0RUB1JLV{Ag@krxL{p0$ ztebuQrMbf1lBZA(E!j>Ewi1yeJFQ*AMzaw}3`O>_!_WO>(@>yfz9CJy;GdTZX zA-{cVn?HppgZ_k7Rwcnc(U_wIgSf9$9oXZDZD&-V|C(8e#60D@F3rQU_wIWiLsRk4 zWVIx`y{y9TSyyA{KMm{1+fVxn3zL?g^*eWzuW3ItXqZf@LML9Srgh#K2!-0=M&@eS zG-K#OLbE^>8Mjyx6bp!F}DcN1*YFLfEGz8DGY>3a`+WTwwy1Wo+)Ha zt;GI#$5&;VDwh5?ycMRP>+<&>X|L$T5B>dLonaK40|qM0r1yOne_g9i-PDWT92nk5 ziu!>m7720MmXt`r&+6Qkj``?w!ygQ*?l|VtCq#NV3bB>yiMtAcA)RZ#{yrwGBmJ%O z7_?zdTl_d8KDKjx8Vj;oT)j_*zIz-bsB_H0K6)+2TUbvw!;W1qyu%^4`BENwD|uh8 zg(bU1xyRziq0dTfY_jXwbmwYzVgV=^a00#ELpxW#zn2Q7pZ&CDmS045z}ZUOD==+aYNLU;sP6iUNQ3s*)bSs}d#JW2FnVz(PcHxU{03oI8^#EHk35pC zkTecDJSe7}ELOaS$S(d|K%uWuNhB_?0#cFZy80PcEikb%mrX`dcU>IVYNL{J3qM9c z3t>OWQI~()b7ZZ;gaX3!vHmuA4Je6*eIdt%LYw4{^P}1j z+4C6_tLbV)gaJ*Xd>_2`(ICp&1q}Ac$gaJiAIO{+xruZFReWk zjkT~0c(@;knk=DrHb-(#VpjAPm@F|DVMd3<5wgd+N{%XkgIb^;k zcIn%!rjvaNyv+~6Iobz>y5{{`l^M7njs_A>p?{?_MqTHgj(8T0f@u5{b79d}Vvn|* z-9Fx(W^pDFG~Ohn!--C#hh(ks4#MDylk-q7 z@M<&rQ1JP~hgcEj<@m=pkcHW{-BaND(8Un_6Rz3-vc61DeP3nS@4Zr5Vqj?c9cZAw z6e8^AtKfrO@g$MT(2!IWvY9AViCfUUrJycjP>JwQ(X)C-jg?P&vK?)tAT^u3l_E(P z8KB!wLI6}SMQZRn=>;HrAezCNe;mGh)e3nH(9Rj~^pr^8uG_Sq#Vi_8BJ~$?)a!Nj zh$V6|dodrjL|1g#B_T(Sxqt>4M$3)FMjN`@DJe^?wc(z68@R-OYVOG5W={?yuwK55 zWuix)#Ox_PYH%-S*4`l;t|$-O9<{w{XfuoZtCJ3QFpuL{r))>1F= zeMKIGkmB>rvX8cy;Yb9}fp^KRL~r#wkq6&~j0CNXr_IUwj?1)z6k&vJuXl}wxd0oL1;KOjsDs z*73<^!`nEW4E+ouzzaKfxbLc;&P#9Mu5P@qVnMqzw?`s)^(VXSeeO36O!2=|nT_#F zp^xp<@X@a^Z1OG*L`cb4-Nf&!c!8SElCxF;whhVRkOybWfI@oG86xV6dMA6u!SdRw zr8g6!@&b7#GQ6>tiz%f!LnHv^7K!{V7JXmw53C#8H;8jNz6+xbDV1v1bAU7Qf$=v4 z-5&YfmhWy1E2jNmBrz!uJKx6_V*Skym?RmXUR%vn@%Aaj?M)) zXUw1#zgHeL8F0?pZ}RiBvhRNaU?!j0z|5@yMTLtv2c>K~3Dv;mUYG7b-3AaqM-U*a zK(kVA2hR8Fo{K@Ah$&}Jz{l|kn*v}0_@_IB-N79QW&yv>^}hpw*ApjQxG!`UV>h`# zFrI~N<{QcZdDQ?(@ncg0CI${Mn7nS9T{#XW31G5hUwYl=el0j4QuM&K01r$K1C+lN zn}O5?@J3z;pV(-e5B}uIKn*`79a{d_$X}qH1Kv^dUmr%Z|2aEo?*#V#^UHN`003bC z?;=@2;*1|w?|H=EtgB<)uBs|`$5PJdXXNUbSJkmw>4zftfd)z%SY=Lu_#$`8#!)cV zP0%!8irW7Lo~I)RU|jOxnh7P(!3)Ym_Wj?3B>K|-dhMxeQvwU`DB}}}LoNNA8J?$R z|Kt8xevRF+ekgUokL6>xb%PAhX0#%%g6lRQKBY>vT=V_g_z|-J{R@(SXrtljR!HDh zk@Xd${C{$z3-A%YBKj3rXvW?J+)NK^I*hVBs$vEIn|3@j;<G${&V4L_nW{ zmXe7{$f6@1kuc~#DF>8t{?lZ?BX%&DDLa4rPbl*-4@_fDmjW~ValgDS_Y?_|Tn_gk zUuO*Lt=g)-y82s%y&om&uR81myyBi*zsg!cR6_fq+u1GgEtHPe zsqv5AH|zR^_(}KySlhwHYQcKrO~=(>Yyli81VBR&=l>p(fRYlvVwC?+ZXYzc!0Lam zbahfCurUtcK@L}g)!SLkZY%)%g_zJ0fZ?up?`#L?y!G?EEYx23M=lnIzI(Pz^xvO< zQLt1o1R{V=JL3irh`8c$IY9?-|AT};<)Cl>^IZ!MFr5F7Jn-=XumB%xX%!rwdK+1b z&IlOM#|j|RJD^L+%mD28AL9)8eH5q!)pTYBd{9uu_AZiU?@WmAO#s1o?Gvo~+yVg% zVP5xvPj9a}&j43(DFkp++wLAa?8n&*fFCc3A(-i(ed5gW$^2)u-_TGBmi++%d{P~;0z|Qd2LZf&`B#!aeY{!a_PDU%M-s^KZHHI*5MF~4$gC46 z?`btGMh##&fq?*E3ff>Z5IF#q_vrBtoj3pvH)~%|Fm4|*O5AOob)tC{{=e;AO^@4F zmX&0wB&$Ut3!`D6XQMI8o5F;wK!#L&R0Tqmh1-v)P3;3TtaTRk|ABeuoO>Txwv)7b zI-M+r`r?-;ihTF`+6bJz;m-cuG3qwzDr{jE3t*! z^trK_^+v1jY(bx$a(`9m%)~#cf9{m>)Lq{-PX6rlVEnPFjr?&NK=cbK{*yjYdmsd1 z-KWKRP7NTfctN;Ohj;eWgP1K;DgtD8PZK~T!H{Z6{3+`_bjk)4Ly(69oE<0_g^&<6mjrv-4N4)B4-z=uC=MIg2@Vd4TY3yN88#!-N%Bw#XD!#||^ zgFIn&@R6I|XtYB?5JABOof~<>^GE&p`n)B45dnMaxxW_sL!V55WGD1878C%04mHnq%pRd#^nC5-()_z`))f6wxQM+jLZCmG ze2^vSpRFs58(R9+Y$if+Yo2EDEYn zajj@{H3E_vgj7!BTMGbKlVutO&AaaQc&dG1EoAb0|=}bZmAhH19|oP<9&Z?t?I=M9f%!uV^YG zW*5}JX$TAMo1HSA-~$NWsM(^YU=r)leXn>Ur0iz*&G+kKz5%uSs}EsN2qu9^cusoV znw6W$s!P>y4DcPlE7TVtH0HJ=5U{bn0H%nlnTou_c>hk4Uv-3X><^wI#az_NB3KM6 z$D6IwPbkl!5W%-aQUjp*yX=Sb-#l!R4wV>C6g+8yJQk}{003i)A{8evfjYG7(|TuN zfE&31-Y_@l6>NY%DFdL-ANoK26t7gy;2$_`?+w_a3Re@iF^Sq1>6r|NpjH_CVNo8K z?|={Bb$x$q@1Zd=bhJlc=`b`1h1H6x66y_VpJ^jEv4_|p@H=}i6N=72!cENh^x<%6;Q4IUakJJ-q9sr zfZ#9nCPLOXmn6zBy25EDTml_|X6)y9g!=*EIy@lqw}-RxU@42}05s1YO9BDN-sTNe z{|H!<#cuxJoB8!}z9!Y9yVG(0O<{}mwRI&UIAOh0 z^e+em(1ugHM7VFwz5r-OPq5xuXr9^`}uYV``uEm=6S? zUjR0P2(fL{HE%0GXIJ%Q*PNPe)d2@^LUYi_;Bv_a(*au7CRE7kM?<1Uf&ZH90&wvk zl?h|S5Byv3oPj2X{Y^ROBkLltzp?car>J!fU|IKU8Z7N!EkkQ>9oCp*TZXIG3F_*X zOa)?9@a=iMv}{0W5Nq%C11@^$@sxO%oA1B~;6Zp_c@6E8p1&T!d~X6Wt5N({XV157!ktW3<|rAR>I!PnSP1BfJhzC=bh z>I<^_6GMUjp&+Fke=242h8lr713knl{r64i9*W`!oOZiPhCrxaw=MMh7;8)6t5rOy z{^_WKeu*MNtUtC*`*TFNJj6ul%_R|h8c2_iPXv^;j~~Mik3SG&AN$8AXaH#wX|+*t zz?SX7J4?BPJz^a*sMDQ0_WrF`XTt#mRs>2)h$79|4G@(UB*W8+)6g(5uFzz4!0^5v z{ZrVCvJy9tF3RJO2aPh~)xe)J%Uj=@6P1Jl|a-X$X70j&psx-Fh}) zA_5`-S)GI6{i3!K-mvTg00Ea|9rXtx`Cxfm-02eS7qAzBKap;UM=v zYyZ_@exMH4eRDSeqzM5GDhY(L@j^nw#<*0g$z=J>>Ux_@|1>BV_M0TJolO69W3|XL z?n80Bxv_geHK5>pF|#mW+rb>L>>XqE1OjCy=|m_x+ZmRu&Yc%r z1+ZX?w92|X!ONJHeg^$0{om93m*~GPW37UXWB?9`7u0}#Uz_fsLRH|0H&p#)`~y-; z13+v3Xj1?3lX{{>rQ?9w7#L>Zva5J015nw+1^hY08N0zJlOba-$xGvN+F;I(6||- zXn-078Kq$Cbbb zkkf&^zpAC-S%Rq~kH-T%1-nvuKvfT!B;C*+wDTJ69@J`<4FEyp0L6xu|N5AWe{h5K z>!`Bd0&*k<(B&kBv#R5zL&UyQJ%A&H|IN<40H*&7XZuH!`j;oPG6d7Y(^Pn09B zX`gmWe4%~(pU0>8^J7{!)CPr+Kv7WCiKz)kEYv*yyyz^muwy6y$iP=eRs@o)Cw;fU z`+-OY_>r{FkG9Fl=!)+nHV`#{M+(33g=h^iNcp`1;#D9lY12U}e@+a{Np(yY?@%X1 z)j>#*70q-i1HBXLIKxL6*Lu5s@d90U|5Cg_$KCls$v}II#DcZQVDTs6+h2g@p~4Tt zJ{@k~dosd7Wg~@Za6ckLBQ|Eg1?#EywD=yW8SL-JFc6Z#ysiu)0NO zpxQvxoeKO}5s6zDm?{W#LctP=+ zLAGSpNS18B?4M3Vd4a5}+?L?GlUTwSE&01kV1DRrcMGpZ+ z%k}#)Lw@zys)$|br+cq*_d@+z7Ob&^J_81#^!|tvSymy;gM#7vaTuWK&BAwr4Dy4~ z1qfVK#tC~KYcgcT47$}ik$(B&omjxTd2hJ@;3aEW|M+5}tRAuzn!&ywQUE;N*Svu6 zv4RHaYK?MQ?s1l@^uBATNbRMcav zqP7pd6>3t{W=)JBD~;_s!ZmfwQ&e!P2J9rV2Oi=T3qIXPFjsRc_=6 zlP#Rs#2nN=-+lXP4ff0@8b~eikR4E2GSIzcG>P;pDfVd;o|V#68!WYM+`}i3?(8vpZ0ji)5?T`73v$0JuJlRx~B=>D&dZJK?23LmKfD1@g@BJcqygC3lx zE$U$Rcgs=mJw{4F9Kaf^Ck?9B63p5hXO6=G%NW~%yOb`dLatZk?t-B`fx8J#P;1lP z?0V!*g~oh}S<}b|(L2+G_MtZvVGXC5P&lfzBF9(~%ze$y-tv|A(%PxZ!@!qrk5;`* zKU&MOhxAVzpzlMn1LB1-Ku_|ammf|)ItJk?Fq}WkahU)JZ8B~-$7xXUcc^1XmK3SH zsy34QedDIm(CdQ;p;tGF+P?+O&%aHt^tk!k&9|g^Qhk~=4LGR^!F$EX{Ewwzz?kc< z&rAkFS@1^f6}KkP)f=$$LO^xr9>K;F%R03|@hrb{XQ`$^4S{PF6Ox|QIHb@zhDZmf z0osDu2>o))hBHkOf>&#`hQjC$oRk~C&1rPWoH@1E!D|BU-av|igoFn$hv0`lDFevf zN;?0t|1v#qP!jAeDPI-L9pr~Mqmd5hC{1Rv11eZ@#lAm+v6J4?cBbGY>PK3h(aa;? zjUT*wdi)tqf}furKSC8~pMI7G;8c1lk1zq$@r8{+>hqSc?v7PT2?8lu792=GK1xx) zDVSxN+GSY=w>q(hHpWvCOaO5dTFj6GwA3ICN>)?uN-!mteH!?9~zz2Z+l6v2FZ`VXq9M-)`{#*j}fOuez zPqMZXdq98RJs$@#0#LlDpP&m`<9ng{0ip=-0T9rP^NZvQiN<#d<4^+_T(VC5P3DuB zmQe3+B>lk*(&vBezD=Y5%^bOPNxOWtSr=xL#j;ce0DXU4i8w%coiu5ED41eS zDQ>BJa1>)=2ZfM;a>lO4Tn`!Q)XbXLMh5`UJ(HgAH$}Rs;0U-^w)r2o>4@kS(ng00x>%(=+LCa^4WbGTs+T zNl8C;uk3;7H7cyBsXW&A$XG4O6^4_QZr~M!BJl#;zZY^KDj;|X!Z*tKRtqiic90@BDx|y3&Es#p|j=yD1$rz zIS^2>F-X$!^59}oiFBj4o(-r-umPtf{VQ{_$`f~1Q4nh#jQ_;Kbm+`jTLG3j2L{0% ztP-_Re(nAP`j^jMdH6hVgSwjlC$PCAaA+Xc5)a5kxszcEWXn2@v>dAf=l}ENz$L% z?razdRi8t5V1{+dfw)Ib!Ez+tM{@rePw>{_*fWih!~o=N#RE8i?Mi_c)?{Pv@T383 z>w0r%l#6su8kglj>(W3^CG`L;q_h0i)xXgFb43!EKfC1Frn2p7UUG9avW zi0WrpG2LEygHpehcVlR1w3jEOufEVr07OrX3Y`~u>JK8}L!C4LXbJ~<`@mcxaJWfd zfXWaUYg6c7)xIqLR|i@D{h^N+EBX*R$Ju))W!nb zr*Gzed0qKGEC>xpO4S=ine zOd2|_3yjIOP#1^X(8>DS`5N!?U|UxI!po+w+5I=Rk54y0)2qHF5)j#@cSU+^3PefP z4~UVZw@q4?hC^%Mph`_cYDEF$Tq|>zZx<0xR+1^MKYn5bjAu$P0J3JK1GPn+t|#v0 z3Ry{wZc!N$Q#ijO5)jI~oBuY#1UHoiU|}a)INg_$`Vj4{k$>U&GAV?FdMEMtm^Aqh~RIA5t-kw(}2WR{9kSXbMLe7vuOZp-iUp= zJ}0l68c+B6{u#SA@z9pAl1{-dRV!V<#C~hnl@zZ}n*YgQD;NcU51>V2XSY?{2^##? zGyoxc=*w@6fGdYknr*LCzq2{`Btsd5&zw-5!U;C~7e{Dhv&});|F8W#^1JZ|p(nU)2HT+?K-hYC2x_7r!2kjQ3T)(mD$N-nQXeY<8g$w9 z9APP(T6aaFELr~g~1>yE8 zw@dfHMVUIN^wS%mB8G>^Kob6p>_G#l58@(F4-(Tz-$fcAtqbr4%RcIrV5JJb1K$yr zH#T}eK_TjIZ&i-yzr@)eg6)?Wz$Qe`mUix^xpuJX1}4zD`4sI6YBv_#(A9zm#@O=7 zg8;AuzMs|Sbt@kL!*a;Fr?dBLxd4Om?v=d+b9T?3M7tNAts6@rXVXR~;I@lZqNgw5 zJZd&xk0|~8{LRz~9B$IE4jqLZI!9DpbKP_#h`5ArH?qPcMM7iQ6L!5-OnInCALTkG zAN|T#V?wlfw)#u!_9mTj&8xh<(J0k<+6nOs`4cC*E|4qg+A932Pnt1ET@xLW}3;FMqDI0(f}4Z%F=v4w@P&h*(9o4Oa<7ykYjy3eFjG{d^G5~C zBbx{-sgMP^1JbR1o zdvP*x1g%1Lu-E!xG%&cwGMZu#82GOZ<=@2GH2b}&__2ZpfIrZiYNlQaRwIDdW5fyZ zyqEtk=6Zj$zl;?Wr91y}fHC~4dJ7mlpRPM-#_KSY5^@=- zIbZkCezLZ;`LF-{=XUj_U)b*FHa?;83CChhI4kvgBHh7CuhlpLAc5ArGlE($LQ|Ph zP&>Fi*Qg>cr5`>uWjq;O7&vUj@FY|L=(eL^VGp?$K392mw5XN%fD+5Qgc05I8^0 z)QlSBG5DY)a{#Mf>1y>Bw`%QHADf-li~i^#uWf1^qT#D(#2yMNPF*b0!3j; zbNm<5`7`wwqJJJ}St}Y0EClF1r{EY&R&8!r6!cs-9?GrHUg@e+ z?wi$cu!MevZn9q{!!yK<-SjuC7j97dka&A+I!6QP<}Dcoc(ty^({(lTnd`jD*Htsk zYw>!OC!zxmuyulrdb&^Fk4`AJm# zIotGhgMX*Bc9nR|W}UzJb?LYTvz>O~#_Mk8m)@sYp1Zd7dP7B^x`~5vN{l&dfu@KG zGh1O$lQ&iE2!I~7qHC0$W)z^S$3x4TcZh*lW)L|;<4p$10sd~b^5Fh^<_>I_iaZ%j z^T`*dt1qwqk51ds>yMe{v)>81G@1QgXUzAPzthqGfBFwjzea+;PM%j^c#S6;Bv*L8 zn9pXj>CC4EpTpc@ShE;yPH$JU+4x(($27Iq)o<-MI)laYb&KaKr}j3*L8m^yz@lBH ztI;*Y#hJhOJ*L@Y`s`MH`s?HA<+ItBqqQ$T*_`In8S^jsBR|KB)7fM;Tcv+}WvlEm z%y1>J)-I0rU1$YgeuOI>O`i+w<3F;PF8lz~d}t0AY?&@};42+t;WuLV;L)ZFJC=4? z*m16Awqa(cbfsf2behxrt5ZAId|Dc?)BLYySF7~o!FlY(=-T+z`s6~6FQqT%9f!xl ze{?n?rh&e=dg@Of+J5+jo%4v)#-ug1<>~lP`PcGJ_OPL&`j?C8mhUSJsjJo1>|cNABo_Rog|D+0N6hnwes1_tJ4YM9zV6DF zro+gY`VY-~WN$T|(k1!yTF%G-lCb`FJ*NJNx5@06r}6L`54&M#jz{9~4cyMvY`P-f zUZqv(^%7fFoSnT~;JFo@aaFo~19cj)YAotbh`4NU`aR;@V!Z#<@72o46FbcOX8Qjz zf;YOIIrHV7de1!K$|zxKgIu>Po$$o=Hooly&Qq|{A_-jCI-SjZ*#Y;ILeIcbqYS>u7+Vf^%HTPw(tQt zT^I{=o_FPR=i}Nh<#cp7eQDu0!*{a5uF*YE*D&D30MZvHX-8@R7$NB|;+g*9f`40s z0JG_`Oy{%Jl}6DO-?3-rK7K_p)?UuiuG6o4+Bfk`^S*LwGa&R~2ktW+4SSvp&hgpI zOfw7Yjv=p2T*R?K32EJY=HnID=eh7ok3>%MB(1NEcBl3}ysk*kSDCsox3Kv|UW@N7 z_!@XX`aNe*xL=durjNwWZ02Mpxgmw@%0|tnq87{PcIvK;MjmK}8z(mOaHN+rA5a|0 z`I@CGG#M_FT|o{F+54lOX*g+`8zt%Xs>HjDdN*2wJW zFZJnzob)HM(X8(FjK2cbC}^T=->E&!GB4zf`f|$%#-1T$>M*Z9}{7U0Jy_; zq~y4IB5q^%FLO@gl~WB}aY`SK=`_AlOI-fqmWgw9okiAP^dg~NeR9WqfKMk^7}oy_ XaqIJy`2}ak00000NkvXXu0mjfFdbQc literal 0 HcmV?d00001 diff --git a/static/20/img/civ_sm.png b/static/20/img/civ_sm.png new file mode 100755 index 0000000000000000000000000000000000000000..4f682930c6a4a9f1e9ade1fab8235f3a9f1cffd9 GIT binary patch literal 47280 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 literal 0 HcmV?d00001 diff --git a/static/24/img/guiguide11.gif b/static/24/img/guiguide11.gif new file mode 100755 index 0000000000000000000000000000000000000000..3edc25dc6bf2ed712b181c92a3d469818e602bcb GIT binary patch literal 159 zcmV;Q0AT+|Nk%w1VITk?0HFW?|NsBMz`y_i0DypiEC2ui03ZM$0007bgpa9v0Rf|& zv_kQ$-Z%3s%~s+y)Y%uk}2f+&i8zGv6X-U!O-U`4vQIM(I^;5r&KA_ ziETci)$ZU5C4!6I>Np#GlFQR;8h1qgoJwX|h~CQgJED;0@pls_=vQcXSo5cdM_9;c N133f6SIJWV06W@1hS|ZjPa|jV!PHUmGks@v;9=DfpH+znFL4VOj#=)lb_wh z)}*Se672L@U1q^s@wZowGS5Tb+NkAmU2i8^ZibWb>hb+LcM)^52MFT>1w{DQ75F5> e$l}=3BA7^o8CDY%(#G-G0V+zzS!x n=oki>CkZHL`Gc8>C&bxV5}Hth_+olW`l+d!Q;PcfQUCxu)4f+w literal 0 HcmV?d00001 diff --git a/static/24/img/guiguide14.gif b/static/24/img/guiguide14.gif new file mode 100755 index 0000000000000000000000000000000000000000..203b2db0fe79e7469ba6abbd027cdf4633d8f190 GIT binary patch literal 208 zcmV;>05AVXNk%w1VITk?0HFW?|NsBMz`y_i0DypiEC2ui03ZM$00081gpa9v0Rf|& zv_kQ$-Z!()L>L4J=82}NS$3qracwXL|whMCBX=SdvGa9YxzzLR5V$D9O;OeJnSjEk^9ha8Hlf8- zQ~G5sK^u#>t#oxm$(5@_ae`%InDTa;#@_Z>T#w=6629dQr_!bYIN?`O*q5iHMzyGy f7;y+TC#Y4K7MVh(*NF9KH#s>mBV~HpQ~&@wE7wt3 literal 0 HcmV?d00001 diff --git a/static/24/img/guiguide16.gif b/static/24/img/guiguide16.gif new file mode 100755 index 0000000000000000000000000000000000000000..82028ea1643f43305c28bdfbbe1891577f7935ab GIT binary patch literal 144 zcmZ?wbhEHbRA5kGSjfQe|Ns932M#cR89G1;D5}7~z?9k2zp|Q&#TR&&dtqOlu|H9;y{I%!i%ApxILKqmV0h)$H8~^|S literal 0 HcmV?d00001 diff --git a/static/24/img/guiguide17.gif b/static/24/img/guiguide17.gif new file mode 100755 index 0000000000000000000000000000000000000000..955ac3bea4e821d7ec738f64dc4fb71603985630 GIT binary patch literal 191 zcmZ?wbhEHbRA5kGIK;s4|Ns932M#cR7z_;!4L~jg=m3R)DijzPn0q*O-T9~8;IMkH zMX=%4|IzHd0Y?L6Ik*(1I0|I)i;wMFwCdjSFQ-f*-yS;s($00dfW{S-TKDtCn_B+1 z&BzS7^~rF$eY*Kp)jsBCM#a5h%gdh^eY^ALUQXdo*X;R>&n@(-s!Kw{BU%~*nx$Lo n5@Nbinrn1QeJdvQs8#m(w}&pAU^_c<^3vW#t5!2{GFSru(^*%6 literal 0 HcmV?d00001 diff --git a/static/24/img/guiguide18.gif b/static/24/img/guiguide18.gif new file mode 100755 index 0000000000000000000000000000000000000000..70725225347d806287910aa4a4b3eb238f0b4539 GIT binary patch literal 227 zcmZ?wbhEHbRA5kGIK;s4|Ns932M#cR7z_;!4L~jg=m3R)DijzPm^X0jy7N!F!D01Y zi(td8|D)M^1C9nZELfNGdR1lzmx2WQa+l3NZhe-X>l1N!P2SEKufE^b)%OrwTVd%p zc}ruM_k+BxVvLQ&Q-fANe!+A7jp_0oC6%>iC)-agJukZN@tIQTx`_N%yQY+ig3_eU z`s^y*+_Juw#=@y-H8$<`SuWE{TJ-(q&MRKfXfod;Uq455jb9-HXVUMOdIQfkk!^Lm^N)&S2QYWV;F literal 0 HcmV?d00001 diff --git a/static/24/img/guiguide19.gif b/static/24/img/guiguide19.gif new file mode 100755 index 0000000000000000000000000000000000000000..abf365254e8770cf2d9bb70d3158a144a37b58b3 GIT binary patch literal 168 zcmV;Z09XG7c91vJK|S0#&X=+Ss|bECosD6)(Vf;)E9yMj?e4wKeUkT$3?>QVNyuQVOWR)D8z_j W2cj6*LJ8G~HfcGu*Xg-e002Ag2umjb literal 0 HcmV?d00001 diff --git a/static/24/img/guiguide2.gif b/static/24/img/guiguide2.gif new file mode 100755 index 0000000000000000000000000000000000000000..4f47a603af47d4c1fc719866043108a473868d2a GIT binary patch literal 6118 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 literal 0 HcmV?d00001 diff --git a/static/24/img/guiguide20.gif b/static/24/img/guiguide20.gif new file mode 100755 index 0000000000000000000000000000000000000000..26498f22f22998f6a63a546fcbb233261b9663fc GIT binary patch literal 177 zcmV;i08al$Nk%w1VITk?0HFW?|NsBMz`y_i0DypiEC2ui03ZM$0007tgpa9v0Rf|& zv_kQ$-Z%37c91vJK|S0#&X=+Ss|bECosDf``skjws$=8R8XqfpV*-0qsBWQXmSO5S!qQ*|d literal 0 HcmV?d00001 diff --git a/static/24/img/guiguide21.gif b/static/24/img/guiguide21.gif new file mode 100755 index 0000000000000000000000000000000000000000..7279a59a8b1f5a85dad08cb08dded5a535ae5c1c GIT binary patch literal 178 zcmV;j08Rf#Nk%w1VITk?0HFW?|NsBMz`y_i0DypiEC2ui03ZM$0007ugpa9v0Rf|& zv_kQ$-Z%37c91vJK|S0#&X=+Ss|bECosD7c91vJK|S0#&X=+Ss|bECosD4Q1qscS0TWw~4;gNKGokbdxxcxxhBp^6QSZFx-qh(>DC{(oA kgz_j93BtHRXgLX~Ny7AT*|@aX7%G~0>T|ftdRPDeJN$1^1^@s6 literal 0 HcmV?d00001 diff --git a/static/24/img/guiguide23.gif b/static/24/img/guiguide23.gif new file mode 100755 index 0000000000000000000000000000000000000000..d80c6b373b30a7e5c6bd986752ec38f463a0cbbc GIT binary patch literal 209 zcmZ?wbhEHbRA5kGIK;s4|Ns932M#a*!GDH^h6W%P0(3w^AT|qiXwc^a3z6*hvgatZ-kX7^GEm=~bR+iR k^0*Rcu>}&jv2#gTImJogmH8=Av?&QWdOF9*%2ogXJL5`I0ssI2 literal 0 HcmV?d00001 diff --git a/static/24/img/guiguide25.gif b/static/24/img/guiguide25.gif new file mode 100755 index 0000000000000000000000000000000000000000..a36824a3f4f24858fc1d6b4f01d39cded728c097 GIT binary patch literal 189 zcmV;u07CyqNk%w1VITk?0HFW?|NsBMz`y_i0DypiEC2ui03ZM$0007(gpa9v0Rf|& zv_kQ$-Z%3|qiXwc^a3z6*ha^XO5o*<2TlKCkQAppf*P1#MsEF r)+Tv$Blh89xguCm1cK@5xk=G^DQe+$YAQjhnOW+(!ZkTtQ~&@wH~?0* literal 0 HcmV?d00001 diff --git a/static/24/img/guiguide26.gif b/static/24/img/guiguide26.gif new file mode 100755 index 0000000000000000000000000000000000000000..1d7e853e9cf39a071390eb2eef4b15f6cfc1151a GIT binary patch literal 189 zcmV;u07CyqNk%w1VITk?0HFW?|NsBMz`y_i0DypiEC2ui03ZM$0007(gpa9v0Rf|& zv_kQ$-Z%3|qiXwc^a3z6*hGT}hP8*sH}d>`cVc8T7<=hqkUM;J(`HdaHUDAO3D r)+Tv$Blh89xpJq|GPP;Z? literal 0 HcmV?d00001 diff --git a/static/24/img/guiguide27.gif b/static/24/img/guiguide27.gif new file mode 100755 index 0000000000000000000000000000000000000000..b1c6be03b355992b77e592a32355f7357ba39388 GIT binary patch literal 156 zcmV;N0Av40Nk%w1VITk?0HFW?|NsBMz`y_i0RR60EC2ui03ZM$0007Ygpa9v0Rf|& zv_kQ$-ZzU6hT`EbLk^cINs`3({`BU+g5T*^aFuWhYC9jJ&2( z0!2zUS?je|T@A+MvUyPH;=awWO8TM7*x=|^qo&ujaCwiO2RF6krl%&D#G*Hov53{^ K$cG450027!KS*)_ literal 0 HcmV?d00001 diff --git a/static/24/img/guiguide28.gif b/static/24/img/guiguide28.gif new file mode 100755 index 0000000000000000000000000000000000000000..f8c35f23304be4ebd75b987a4e96997a106dd142 GIT binary patch literal 174 zcmV;f08#%(Nk%w1VITk?0HFW?|NsBMz`y_i0RR60EC2ui03ZM$0007qgpa9v0Rf|& zv_kQ$-ZzU6hTF}7Zr-cWmRs|Ti_tsZO~& z@3jav-1sv-xa04oVgp%<{=pJl40kt7w+U zyG0vsad}lu+qCD6(c_xJ@^$$)UrFsa8@g`GUpDsROy3#SeRbMiRg>tWlh#JBe#_W$R4@Gf-{3x|h_>d6?h#2vl4UcG(m zdV<&$6iW8rGpKm;G-_jnqljDXWAXV@+jsMOjfpd#iL^vwBBW zQ&w1x(PYD^Sti|;CB<_ETU9!H`e*4kF7FFSUpb+1spyJD6BbP0nm@B(p30p0t2b@z ks^7n6!GXocV-NKoo7f|~-TZ>ldY!9MGxBblaWYr~0QgRA`~Uy| literal 0 HcmV?d00001 diff --git a/static/24/img/guiguide30.gif b/static/24/img/guiguide30.gif new file mode 100755 index 0000000000000000000000000000000000000000..5a1218340509f73bb7e7a204c7488b0dab6dadca GIT binary patch literal 206 zcmZ?wbhEHbRA5kGIK;s4|Ns932M#bWFf=qY{QnQ)LVylX2&h7Vfq{88$F4j7v>O~& z@3jav-1U1)+cdnis&kW$w?xmSRVwcae&=l4|IoN23%m4rY literal 0 HcmV?d00001 diff --git a/static/24/img/guiguide31.gif b/static/24/img/guiguide31.gif new file mode 100755 index 0000000000000000000000000000000000000000..5dd71978d5119ee232c0d9ff1e4d76039ca35442 GIT binary patch literal 182 zcmV;n07?HxNk%w1VITk?0HFW?|NsBMz`y_i0RR90EC2ui03ZM$0007ygpa9v0Rf|& zv_kQ$-Z%3M?3=GW6ICkCnr`_PN zdap&W;nx4r>OCo$^U`)S&NA53ynwC9LEy^V$7cSAH%9iB79Px+!<%)|rK}@h){2`t z36r*5OHbLFkgD>2o5BmOt@Dg-{t4x4m;Cxm=KiuJ+EEtVrO(y}*43z1mM17TD`mJe zc~tkcv?r7_)Rwd~&zRI%@7g%M-`d>9V)2}ssXZl&Z6rp}0HWJt3;+NC literal 0 HcmV?d00001 diff --git a/static/24/img/guiguide33.gif b/static/24/img/guiguide33.gif new file mode 100755 index 0000000000000000000000000000000000000000..fec3045ab57b7664f2d497b7d071d85c59a557cc GIT binary patch literal 222 zcmZ?wbhEHbRA5kGIK;s4|Ns932M#bWFf=qY{QnQ)LVylX2&h7Vfq{87$F4j7v>O~& z@3jav-1O~& z@3jav-1MWL+cw{tJi4X+_T#$*F|~i_B{vB`@cA=`&_Tt%_g_dq`aiKEK@(G zsyDE?UaF&|ud&H%qD05ksycW5u00930{{R60|NsC0 z|NsC0|NsC0|NsC0|NsC0EC2ui0FVH00RRO45XecZy*TU5yZ>MojAUt^z^Sfm>%MTj zrm`v3Hm>h{Ptv#tca<6u&sGkDEpv9lIxV(L?%y*s2h_}5}uOqKh$ zrJlft47CM}2(cn5hZHkfY=&;gMveX;^TbI)vZTqAMV2gD$+D%(moQ_>oJq5$&6P~b z5GcU2r_Y~2g9;r=w5ZXeNRuMXsZy!ar%;0QKW`7wnL0Uu(gAoQj=Y(G1na7g1KsTW`Go93uY;aEy?pY%xSLCsuzP3l!PeV? zKPrB8h53~&)7@L$Eo#2bwf^^1eg3g$-*W{Tm(_g>BADQ51|kRGWy>`+;c$}iBwcU% zT^FB!iA3mOYuANUVptz$6=GW+M(CPyOyuUDcDzw%o{9(7XCQ9`;uznLIEp7EgX9%y zW04cSrQT)^{qC}NgYs@P?a zTMG9jdKF%!o@p^TMZuNd_2r>`B%X%mp9{)KL79MoX`y~|wKnCW<{cTGbd6G)7FnaU zR_S7iY}(nS8WP}Xq@)^oC7m(eDdDQD&goxzVzw<WhayXRNg5sw+{pLfF->z@CI^ zm{P7a)}=5Zt5!?O{w~riv&N3qtBj@5_Fjh9UaMVFf@urYw5sl!A!IiSbZYe!vj(5b?m_sdU*eK*rHhwbxvX*Qm()e+Zg zDw22tPVA@tTq6xL*e%=b^3xy7RzZW^DQFzqO7%x!;08-B?!~VUm38d2zdk$2i%XjO z?&Aim`{cj>jxnqnuN->qL0y1+WhUR+`ts1f*!4oS1m@cvoilp<6aCDYH5L%If0R-X^Z`eIm zMU0LC0%RS}Xu$&lv5d(viW@zMA@+!Ij%*|#5N#+f+eof1i)>#brPw4#9ub3-+@ZE$ zh{n(CQA71h;|>uxLo@n|l``a&B5|038A2zPtNaarV5yi>rtg8&L!vNsS*(}P(s6vs z85);)K|JQ`NTK8x2m079Ls4u@74u)iU>V90-jR^0k;yT~WE9j9@;#IMrWzkt%$8v3 ziOE!<+IU7fRYuc>uKZRxk4aB*it&-m#AQGSW=kJlvx4vRq92jDn7%zIlIt8GI{phv znHr)op>G@vK*zYz0Wxrj0z9Ne3y4uhj;UV`wWb}NDZ(Ena$qIZCs)Pv!E*#*cLU4Lv(FZrvt@e{<2D+WyTbO z^V4QQ6;xCmVzr_z^yOEB`7dsk#$uqnCs7G{PbCJiC~N&9In!x1tV;4~O|8r&+k`^! zSgfCjuxFjV~Ag%WS)XtWZR0U)dZ7JHg(lw6+ZCE?K{*+0un)R=w zB`yNa$t320ueS4tk>aU`FMQdPTi>G8Y zm#v<~EP8o(#VRiGeh^KbZ^1YtzUp_r{QYK6qdCr;(bS)0g>Q7}dt5!zhrMV^9&R@b z81U{Fcb2>*b_=WFuyVLT=5(xap<7;o?oo9lZs>_~OES?OH>z2cuK-g}P7KqSrYWT` zj-zT|Fxr^2WVPvo!s;Np&II~iIz5KHl z)qLA9uZf;0t?5>`yizmDIy_%iDe9&e&$h-ky#AGCk1^dkPd<9pB3teILaj^ilJKth zt23t~v>cwyd&2B!lOU1qG-dxz+!S%GLCp^kK>Nv}SU3PYzE5R1; z`QLQ*fRA+zU{4#e#o0_WGtbqSa_<|zbo^v~RT*O17|6h(mEF4^PAx&_C#h5k_qzRU zU0wydwTZo}roj#5PA3`HVW#c@dkgQ_Ts*%u{qdvuw&ecY;=4EF3p#n{32oN;yx0Wm z`H2yHrH#iJ>5t5{(HV;LV(T27$p*RXPEPbO?rp{lb+*;PURSzOEm>|OV(FNipgTuA z?09~8&RyQ>8&h(*>r0cGn=H_4m+RO7&uLH%HE`}4+STmF`cqRF&s36p!cg&V59e*0 z2&$>@F-LSW!5m;4ySBz6-ndltUh}VurlTw!jsI>ASfIU?^c)XYXZJGuxQLwT4YfS% zV~n$^q^;$%-P_dVeruPryl0Lb{N+pkS*eL#wbnG^)OQ|WjxPP~x=%Yi8xOGOJ5IQ1 zn*PMw+I!EUzJ?mmzCtq%QK<`i{8uL#&rR>yBmQqd{TXH4#~c5B_>;Z-K9 za)^aesD&}eg%g)jaoB~K7>HCybgXA;{^fIsu~$tw2xg@?hQtSk?G=2|XNo##P$kLZy1MN;n7Inh)O1b73L@v@yLvSqjB|g zP!-b|@mOYFhDvc1MYzTm=ZIg#h&AWtdtua$0?A^4hF$RpH6}8UdSzCO*Kq3?F#7S3 z<+U^L_;xz8fIu;i$QW`5`H`oSR;r_X5I2luc)pHi?m0iEVL- zkQv03<_M5w=@xbATOX;GEwGrdw~l*u4I;trmnmLM@AvK+;CVDxTR@o#5Ntss}n0=X4Et#1SDV8WWm>rOtddVG; zxknkPn}8{qgz1q!sV1!%V=ie?gBL`{X+y~gn7g^1x!IAvDUzF65>r`}wfRxm>1Rg> zmw@S=VPu#E0-mm!9qIlkCJS_(TNfB}>27j4of{OCA9#?pGLs2;pKhs7`+1n$^&S2x zgM(F!s)JA$i6rOgpnZ0r`UIaTD3j)Cipcqww&$G)d4ElUp)pB&GkK3U$)A%ckdD-t zRzsptNE+3dn`fCWq^Y8=H;-l6ll=*m7ZQxW!zikEkrkDZ;TR(D7>)~Si6$ClhS!$4 z$UVPB1U@>W0qQE(1EAkBlJzJ(Sn8#&X^mn!rbJR$%(X1-6pA&mT<2q7j^Ze6dKSMF zpRcBQ02V<9cOwtFW!J)ZO-iR(`lT|er32zyM=FjE`(Zn=vHP{I;q(Dk0@pu1goh#gsUs`qsDrwoL7cTx2)gEt=cF+ zuZpWH3V6V_sT5bPESjwVn*zT{kC=o{Bdc&MM5*sGuQhu-FV&j^60!OB8PjTqnA2g_ z`dA!0{;nWtuPwWGf-$VmgK_@qtBbiV7V4Bq%Y3p#v91TEStPB_`KwpLvrL*PqAIKE z$Wy#ys{aVJ)G4sN0k+yT6!Vd%e)^#%3s_vsq3+pjt;&Up@w56iZY6uH?WtHf%eGFj zx3fqlk&30@TDUxEmI#QrA6q0LJGR~FJH+_3&uLC~d!Zg1OrBA>SUa9{+j{T{qF-s2 zJqnz&iHD_CwigRYn|qPHT9qsyNRmsCifc{?8>s7ZtsEPo={KUEn;SjtT5qv*CD@bZxy$ zgvmCy&;(0!%aAsxzgH?z=-X@Qwy;F#dIVg(>YKjC8e>6sEOPlM_{$Q=(x`8$!pE2_#8qsm+RMDP0>yY_N?>enYg@N2SjK>gIa}<+L%gxpdKX!&0z0h6aU92PT&!?x z#B036D4b<^YKzS4dHg%ZRt6i=dS#SRykoq^dd$Xve8qK4#asNyb<4K;CD$SxqsC;-KB9MA8Jwrp(4m#ocEk_6aG68o&r7m~dW3_BN$ zgR@4^MM%1U2V>AUp9T}cf17y3x@Y~P!5cf#XCrz}iqRTJh2&);E&@$WJET_$(s4^? z4T>v?%$6iwbML{?L2HltX2|5aqB1RV^q6lCt!x^-l{u}`5e=yOJt-dJKzGi)m=GMX~ ztk&2eKK6So`Rmp&anlana80d2Z+4rZ7gAGp*JK2?Nr-aN1q&30OY8J4ZdCd zr+u7fckIe-`ogiSEU--3F^t(Evcj2N*|Ln!?piuVox{L;*t~kad>n+RP07C-#qAu~ zt*yx~Fvr9J1F5}znBxHz>cs}i+XF(#U#!fu$Jz5s+-CvH$DPg&maKD}1n^0Y+{3k) z3fg8I+&WujjncW;9ju1yOxc~z&l|j;yt>!jRpi~>FzuGY{_5O!tF}CP-jD0G?~R+a zE8iyx-)Rg02e9A#-QWGa0?#dpORL>!6ySlCyMJLF{=MM*4dBRa77tz)5iTw1tltd2 z;0}JN{@jxMysRC*-WQJHD)8LjqsqoTC9TXX58f=G!W*v)-e`I!YHZBB%ovXe%-C|w zy)5H2-s9(N%+!sZ8=j;J^vvLV%;roO)r{ofjGszw!+@Kk&urx6EY99c97~SPNj|H> zt-k8a0`6=B@O;GbEavoV&yp<3L5^(^T5=pdaqCXGL^ek6ci)$DcY%Q?z4*ul{%>EnHi z1)J5zKGs@Y?8tuXgZ0cnTsfQqA>9O~))?(UAVlIS-^A7O}Pn`5FmH!^`3*YN@sqwF=pL`7RUqQ;ZUG4zwCvtA? zzJdf4Px5ST-6b#buwCzHZ15ovu-19KBhUT;yczI5-|Gd>>Xn-CBge%dKi;MjmHN5# z%AC3g5A?cy^VZ9wsu`8KP4M>)^YBi}NpIdGPxJCl^ut+g`d;?0boN27^;p0554-iH zJ@Z8S^@;`r126YoW%olblr3XCet$gr{`Z0}HyI!F2)UMOpMKVf_%A<54L@>556XJ~ z_<7IxPha(;-S%kT^KL)+ny>h_E1DnQdX&FzrN5P)|L^XW`X7(>hmrV-zhhB3_%PG& zcOOKw|2b@b`Eeify^Z%181}N(H($zSuB@9!Az{61f!aQ;92)-TGcKl}kN_Vmu`DWC3B-||PW?km65T{`Z} z{_XhB*xj!G5K!c#)lNVp03mQM+qA1REAdpzbagTEeN*u3K9bXSzW0A%P&gzOjltZl zMk6$x&B9YU)krf`Y<7CZMzzrGSB#}8mARO#5V)`lEww7;w$SY*Hau=Bht4Atx;VYP z3&KK_G(?L&n-DY!K?*m?ld_{9z>S^7wtzyqvcn3hC`%zu?kN!|Od)SlkwBIm_{x z>+YoLMR_`l(fH(4J_W{xy)d4|)DM!Y6A8hI|}ofgANLg`!~)Rh^R<4xKhu9Tsxa zRZK=YRt$m314p8gs)`{mfkJf=A+2`{H%+`IWMV>t@RmS|f-$5aY7~E>sDnYHwivj2 z!Bk1h%{F$^0EXC@#2d+nK4tcF$FW$yR3NnlMEWw)znEkR?mE`iZCivlK2+Uwm5GEj z9PxHlNO!ANLm}uKvKV!RK@W3pItRyr%H5=I% zL&+2F>=UVv$K-a5bdt(yR+>N{lR5ph1p6aV)CV(iS`7NGX}vw|6;CZSI1z+ong6Ez z*^CaJc}u7K+*RfNZi5P^s|la;d2ZV;SMC&sb2s<#z@2Xvk6u>d?$m)dVqa1#wNJpB z4m`ec>LjiYpuX%1^e~=(C9x1yQqTHity}kAl2{(oI0VhBMD2 z7f9<+!z0vlu)o?=fX_F;hLMq#wgPa=M`kd3(XduP3~jF!ZuF4AW!y5RNn{X|YRCdz zGxE3!8I*D;bW(fkdH3;qm4Ua#&L2Z0uRJdDmRy8N-qO`*fRQ1YFEw%MlTydR|lrehs^;ckn6*gE*`|1cd4M<#a%Qg30bkkKgUAfjxtOj@Ajdxyp>$O+jdb!ni J-+dzh06Xt%HCF%t literal 0 HcmV?d00001 diff --git a/static/24/img/guiguide36.gif b/static/24/img/guiguide36.gif new file mode 100755 index 0000000000000000000000000000000000000000..326fbb4573657a995e7ea4e8b6bbcc3525a0cbc4 GIT binary patch literal 6878 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ⅈ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 Y`R7O9e*E*-fB*aO5C4AvelG$5J1aM}2mk;8 literal 0 HcmV?d00001 diff --git a/static/24/img/guiguide4.gif b/static/24/img/guiguide4.gif new file mode 100755 index 0000000000000000000000000000000000000000..6c56d8a2961fc09e4299daf8f5a45138954dbb53 GIT binary patch literal 333 zcmZ?wbhEHbRA5kGc+9}?|Ns932M#cRz<(fYU|?uyXaHg$=Rc6m&;X)cgRjq*50w9akU!HlY*6U+#HiH zW^9isdY*iY>3pQf&fw6Ej_J9pA1^$oU|eoSsUEjUox>mcFNSo>88t>_s1Qgw_m?`clOg~k*}|-etdXRxS;*aJ^OOT$GlI%FUZR`Z2O{n#^7BH WN3odwpAQE&E8Kx@Qi-s7@ifyBumeJ9v@P_LR3VC>RBTWf*4X)_1Xp hBsJz@=1A#ev!=Ppsd;mW3HtIWDnZkUnz~j106TnVQ!xMl literal 0 HcmV?d00001 diff --git a/static/24/img/guiguide6.gif b/static/24/img/guiguide6.gif new file mode 100755 index 0000000000000000000000000000000000000000..80d823661bb2d6fb719d0296470776db9384326d GIT binary patch literal 180 zcmV;l089TzNk%w1VITk?0HFW?|NsBMz`y_i0RR60EC2ui03ZM$0007wgpa9v0Rf|& zv_kQ$-Z%38Kx@x)m(1o+sq`zH9U~2nvTmf$tU(5SIg^O~& z@3jav-1F3%>)`!;4x%f@{+SLdAdUsM4G^83864(Dw=9(avdZ07$ zmESa_)&r^m9pTr6ZoKuIfAOwGz_WP^L%)jO{U-EK_2=xn_p+Bn)#NcY)>ox7g=S<% zi23=3B^o-rxf{3l**ng#jGQx9v3Eh`qQ#;HEmK#mUNhBZ+4A)pS~hLyT)SiER89tK E03E4c$N&HU literal 0 HcmV?d00001 diff --git a/static/24/img/guiguide8.gif b/static/24/img/guiguide8.gif new file mode 100755 index 0000000000000000000000000000000000000000..82acf973371eec5a6c333e11b71ab318a10d28bf GIT binary patch literal 180 zcmV;l089TzNk%w1VITk?0HFW?|NsBMz`y_i0DypiEC2ui03ZM$0007wgpa9v0Rf|& zv_kQ$-Zwi2f>;!m$_N?U+L0cspf=2XqhnS)$*}3=P8Ommvsad+lDXJ<^002A1Mo>Zk literal 0 HcmV?d00001 diff --git a/static/24/img/guiguide9.gif b/static/24/img/guiguide9.gif new file mode 100755 index 0000000000000000000000000000000000000000..892a1fa4a4ed42836448a077040ad9ceed990ca9 GIT binary patch literal 187 zcmV;s07U;sNk%w1VITk?0HFW?|NsBMz`y_i0DypiEC2ui03ZM$0007%gpa9v0Rf|& zv_kQ$-Zwi2f>;!m$_N?U+L0csp&uLxww=l9C9pTD^W0XyoM-14#)_@f3!tRj48Y?n zX_Mld&DjK+t!<^&3b+@TT7s6ddR=ZaV{y3*?&2Wnc^aSVhX=^>Q)no`#xtHr`RSrbN_td^YIqe&#=6my8f#bp06S3GRigj^ literal 0 HcmV?d00001 diff --git a/static/24/img/intro3.gif b/static/24/img/intro3.gif new file mode 100755 index 0000000000000000000000000000000000000000..41bd262ab19b359813af7ac6e53f97d2462c215d GIT binary patch literal 6444 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 G002AfZv?Uc literal 0 HcmV?d00001 diff --git a/static/24/img/xbdev1.gif b/static/24/img/xbdev1.gif new file mode 100755 index 0000000000000000000000000000000000000000..d8d7a82d4354b7a2d4c1f4caadad8229c09bec35 GIT binary patch literal 10269 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 Zt@6`nD!jESBF|JM<`wKbi2(rF{{z?=p85a) literal 0 HcmV?d00001 diff --git a/static/24/img/xbdev2.gif b/static/24/img/xbdev2.gif new file mode 100755 index 0000000000000000000000000000000000000000..d3a5592537de12b6fa613ec395792a88d76bf234 GIT binary patch literal 3888 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 literal 0 HcmV?d00001 diff --git a/static/27/img/linux-greek-users.jpg b/static/27/img/linux-greek-users.jpg new file mode 100755 index 0000000000000000000000000000000000000000..522a629bac4f695d5e39e1f4e852a2907344ea29 GIT binary patch literal 18192 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�?q z4=#a46}Nt^!4C8oBCd-ibSdnlA>4!CY5t$6iqG~1n z%$Dp^t&+o|LbT{XyvLxO$nJdKt=)f$6W?Y9rOM1PEq3T7DOPpLATFAiHzP`QTCDfG zF0~n#wBG#P>4(AYE=!Y{fz31r<%rH3HUTpASsFDmWmzUNu{;aev(9iw)y=Rf-kF6! zmtlF^7?v;n=DZqv7D23P#1Ely&z*1Z%$b1nQZq&EO_TPdNH!-d{knu+M)j8ixgVy~ zC+G=n?t*f}yP9vjT;*1LG1pUp%Vj76D{D8l^4%p@?<|pgz?OgI!>PQEw~pnJv|E<_ z>t)oIUP7_Z}8n*Rs%o#fVDYt-mHpc(y5hxQYyf0_5v4G(P_PtkzX<4Vp{m&7GcG z5D)xc+pFgOl_S4M{9AG>4qp*i6$nz@fmRPaSr+|d{hU9nK+VqavBP;%@Ep$iSlz32 zE{{c)^%h&1gl?~<7B#qG-yEo+MF6?C5OV#kocnsV%P0z8hnHRk*P-liknnbo1Be<%k3Hu=M8_4XszoVNA*rktw$>0GOZ(vNiTXM^<-*B12qcGO06Nz<7rC zPE~E~J2_BXSf1MM&kw{$8^q-tII#WxSbtMU%snOkXl$a|I_ZMgj(gF{d=)sBd?OaZGX4RFxEx3F|H z1||&xF+d^g1smoc&TSt3=vg$Ad$bJ+zWqg#`hU%LQEu2Z!T$gmbZ-Gah^=tg2dRx1F+Z@^j)xl2xz@9NFyN&t1&jhW`4hj!SjE_4-e;?n-NU zo8S=(qZIU7#n;auEKik$c zgdyc@bQ*C?bpyA4Du3!_C(!t*){vl_jDPp~qeG47qadr+cj>~}SIhOeI~n+GId3bJ z9@o|Tod7-f+1b4k>xz5dAE*rreBx?kvr2AmhVSMG+nh6HLDAx~AH|Q1PaoaL`1Tp6 z8Kuc}7FI}roXn}qqwR1JaG$?7Z!{{v4>K(6;>U~15C)8m`36hHsTL(b7$_aZpzmQ4 zJ>%N$ebk%gQT1_tt86|m*gkFyS|@(dEeTX+LEx1(z%vMx~5Cxh-RYC2j@DeELR z^TWBM*2!1ukJDszOgT5`gmd`Bi&9fC26dssJ7pwJ8%#l$E)YL}M;Qaca8Q=|Ii9y} zE{#DarU^D?WX2f5rC3rrYTC>`8>NakY8zs!nTAL-=M^xJK7U1fa+;waK;m5;KqrV& zg7w=}@OH0|5OzePnE;|OD}UwP*!Iqz@9E>WiZ&yM6yH%rkhj|(3GK8(%F12tT%~|} z3|D&+N5)_^IDmX2fTIa?Lr6usvBer4P~2xA^yF@%ovkaD2J`vSB>K!_uv2d8#FaE#`^f7>W7Mw!t*UEdoR*N}N`Lw%%R4 zUC=+C!u`$tmmk-fmxH&1f)h}T0b5_JHCBEZIb444^l&j0#I+8Ga5)3R0|jB_+IyQ(w07GI-nxcJg83y`flcFEG2 zMG@>G&ZAK-4UN=y4ZA(>D(6`69e31#%irFg*XBWrgNXve6lJ?Ci>g}T?U>pAna?2k zKO1LJ$mbec-2}O$nYhIV|K;dw` zWNcy>Ibl23J(aHo$0L{ z85Dlu3X?b53MH(t%+_1Fl6DV-Oj7y$(QS_7DaoSwbN_A28{!xmeF)#ZIq6G9`L znLIHkjfo7J4H8#O|KnwQ~Rd8$eX=dO~tax@^$pNM5fAnH(9Jk44cJZ=KHUisY+!4x(ef7 zcD(~8ZtH-^Cw25amHUO1n`0RW#YAmQW2B6%K>yH}}D@(H2gb}kwPPVN1Y@PYQF+2?`GY(ZB{c2r$C zAB|>&!~8-U(9&g(xM+_){5GM6p7C3;hMt=&Rc4`_RcTW;&x_N=i^ zVj~}o8pGY!VCnF@w?i5=H`Jw@QAKzgKyTpS=c6J2aq>nrx>I{H*=bS0N`JmAUZyv{ zB~ao~luDr~3c*kN77UxMHOwBCb}xhS%Y+j%r=HGE8k;t&zKGt35pg-*ebNE~!Rng! zxi#)3JOKM}g-&d-Ta<^V-Etcx-FhcCh0HMrt`U;YPIg11-$c+q5zeVj5j)OnbCuq_ zTS;IjKuj+RNGOBW%t1-0@2sL~YxL>G72HSUnhh*q&8Xba1HE3rJYatL_<&b4_i=F^3*J?DT=)gMTPjIqu$auMJ?I5#<+7lijV-fI$-BO{N#}; z$)RX37#wYZ3=4xROTDuYom+AjH#A1jIXE~@8f|F6Rtp3{#hmnnH}~`XNK9V4>4>N~ zaO7{ZJ__0`Xe@WSSvk&4AQ3|zw^=6T?9uDl)C&N0)%oD(Dn84RwCGUEuSmf*HVYlT zwVFeLS02sLa65SA5)F;IcUL#?5>rA6$v{iZce8|=B_tx<&z_db-8MC(PeIV!BMTwB zul`wYxgnWu)>(i6@)7p_J@bA%MW1ssWy=f$);mlR+B6BT{IBc-0ofV17akVT3GjWhP}HkqCoakq#!6^Mz=2gv8rN z*QZKrJt!(BaHL;L$rmUcJHii*)U=naGy-wWvCI02Sv^Z%*6|(LTOq;$l_p<5#%Uzw zv(8Ii-K@BNZa~>5(c3H6ypgXq5d7uLQ@=A#ABfR-E9yYJmh)iqhQ8tMLaUE@MtY`a z2@2#h{k9}ztU(sX_}-j#ji2*2m})vU@5#jF`&y;J*^M$Jb?Nk^p5WEHyLo(9I?`7H zhKAvDtNizfOAI+u`DNH4ZOFI(QWj7pY4Fc~R>l?`Uc>{9Z z-S71uY(pP0h*r z=GrNpoR}m4%*W^7DjC-|WgZl07^VnPw-a(OD@1AdK!T|7_Izq&x?tixgfQZ@vlW53dJEVKlJRMyUn-_y=fsK5T~xfeV~Q- ztqt}gRU-n&I(9I31G%{9>6FgtEhPS(-4om5nfkUX+1OTK!i>0hLc)2sk;|IgTDi6r zBLWx&aD?_Pnv|^c-kf+AMgQkeG}?mwU3-8?Z*Orr3c(DV(fO(?Ip(K1!4MD>2LnR& zi70)(R5Sm%9+f{QSy1YYeX-2u@u>-iM@&`kzfNMf3cqI4r2VFQjIIvtWv6y_`m^Hj z-&f?|V#L9F3LtR=v2w7fVl<(^)?Z#`n-3r?wW(^!5M z#lvW-mu#&Amu3M5SiMTuW}m#jW?;D|ww5~P;x1ZZXc&_kPfnK#BZlfIl`@f=``L?^ zC0I0#U%?iX-sTiA<{?bh`ciF&D=bJ85=J37Mdd2_)^3dRjcSv*?WMXG>ynC%GcmzC1^6zKT z#rib45^cdB4*8dz=;ceYS5W=p>y@3Av{BL@n6A2l2Y!Ri6#ogonGq)(YyM4-eZOYu zH}sj(GwhZgU}lx_czp2>#Dc}nhsC+|e=>djCq1SA_x!%*^KZBfNB&focc}f7%#;7a z=D#YbJDfO2Q&E5~F=+5l!Tc(xQErS|pdvl-U=x%`29iBt(R`|I;+c*uAP|G7v%J2} zAEwWVN2|DB2R#|ATIrd4Q6rjl+B#^ZwHh3g??uH>Dnm~z(T`x!PqfgyNtNi*dHLBm z9fC->J;v(p+2z+Ai6OR2dMrV>GJXpfD>?9o5yq!@L^05uc=zqo*645g4*QdA$a^qi z3_*CE#G>qxNsf1A08 zPof!d;8FKK&#d}_-7EL!};p{H{I9rvZsTM}+Eq`X| LDiPXqG5tRPbK9_V literal 0 HcmV?d00001 diff --git a/static/27/img/lists-hellug-gr.jpg b/static/27/img/lists-hellug-gr.jpg new file mode 100755 index 0000000000000000000000000000000000000000..72f9e6f865bc4f5242496b62939de6a48c54c00d GIT binary patch literal 20210 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 literal 0 HcmV?d00001 diff --git a/static/29/img/linux_counter.jpg b/static/29/img/linux_counter.jpg new file mode 100755 index 0000000000000000000000000000000000000000..f26fb56c5e2ddf3389ff4ef6265eba13620cace1 GIT binary patch literal 113421 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 P-upY+`=4mz`_#VyoKoyP literal 0 HcmV?d00001 diff --git a/static/29/img/ypepth1.gif b/static/29/img/ypepth1.gif new file mode 100755 index 0000000000000000000000000000000000000000..6e5204b9db25c65663be48e32e533cb98e503262 GIT binary patch literal 414108 zcmWieWmpql8^*_20b@Zoqq{+AMmLTg2s%esH(%>ki)RBUU(v1!T#Q+D2 z0-^$-QX6dmDX&06Z{+{UhN2gN=<12n4dTvx7h&Fc=Jh zK%h`43%>CN3^6At50tDT%>gq@<*zrKM$LWMpM!<>ch#<>eI=6ciN|m6Vi} zm6cUgR8&<})zs9~)zvjLG&D6ewY0RfwY7D0baZuf_4M>koH%jvP3V`F1$Yinm`XK!!s;Nals=;-9+ zlq=?TyFdeSCa;eSJ@#KJDk{=kM=- z=FFM1XU`G{gn)p6z`($uprGL3;E<4z(9qCx=gx(Ng@uQQM?^%NKY#whg$t39kryvs zymaYOR8&-SbaYHiOl)jyTwGjye0)MeLSkZKQc_ZKa&k&a%H_+KQ&UsZ($cP6xpMXD zRU(l{B9YS5(=#$MGBY!?va-lzGKE6P&d$!s$;r*l&CAQn&(AL?D7bd*T47-!l}art zDk?56E-5J~EiJu%{d!qhS$TPRMMXtrWo1=WRdscBO-)U0ZEam$-HjVJXf#@VeSJei zLt|rOQ&UrObMwucH*ej#)zZ?^+S=OI*4EzM-qF!<`}XZSckbN1dzVh9cXoDmb#--j zclY%4^!E1l_4VDmcdx&{e_&wX{{8z89z1yX@ZsR#;G;*69zT9OG&D3kJUlWoGCDds zHa0dsK0YxqF*!LoH8nLoJv}osGdnvwH#avwKmX*(lc!IgG8l}7g@wh%#b?i+EiElA zFE2lT{`|#@7b`0(FJHcV_3G8@*RS8ad9%8@y0*6V_U&6HlexaWzOk|K?%lih@8553 zZhrXi;p4}TTU%S(+uJ)kJD)y%+TGp#{Q2{jFJHcX{kpfex4*xCaB%SL+qc8R!|&g} z|M>Ca=g*%$m{#`x2RVXo@ z3*{GiGkI5X>8_EYicwExn7T(;9*H@(XLeLv#} zCCA9HEZ@)((%NLCp+wbd@6n}3v$TE=J8|@>IFMNnuc>kU=&-oz)0v>w9@mP^4E}E* zWcJ=ApKNriy0LQSj{jpWotXTAs1}P7!;oCvR^(aBA@Z#98s%%Sec$!po1kjOrEMxf zONX4?*Zrag*!w80>gngTN9WJ4U2MnK4`zQ)-Yq09R%qP)5Upa#CWLCs~#HKxVg*>I)HMAV&{JLtHQru*Gxh4|& z#`Umt^QlR3R?jJtjtT$spnRXi${5fz`%{O*6*+{3#R8K#T8|U(`eyJ$!1CbX66y+LfAe`X)PC}XL#*D1wV(&2 z%_hsKR&rIbk($S<%Ya^KonOu}Xv0FT3|dRrHE3O;NGb8VTEHO7FG7HQ;4;$zAD`!8 z3CY5)W{N=hs#;8M!gHI&=U2!a z!b|5*Zs?V}voyUxD<0Q7GXq_C*}zXPor$pZH2<{}gv|Rrr1R9!bT|u1{4-^F%4Bcr zo4dK5`TIhX#n6gV;Rc;{?yb;(5A{Wtt!Hp%Km7QDTJfHV&n@*@TVG!+Qz|RW`(bCZ zkdXfQyN8GFg5YaAkRIq%#6|S?QznO7{T^lxt}3+nwYpCsO>)~uJV9sX554P}xF>G* z(Ekf6tj(5-!(^&nQVKoGEBvE!TFhWVrGsO}uebzL{E=oI$bF*G=4ae}ToIm)mlpq% z2D+QD8~IUj{@_GYxjXhHFH$NG5F)(98yVaZ!uffl;2O`&1Dx=$q(+qKhlqsI`0gd1 z8NIeCH%^vfTX0vtnc%dAgT{@TqrMqjyiXOH75$$Y_rbgJjjIL5c1&?y3&Ug7}iS*>yeD|ekceA_5+-N!W>2#m}*ncCx0aNrJf%Z+3d4B?`x3Q?{ z*kacK`%4dv4x35}O(6B9RQLP^$HptNw1qzzwj%8U-j6KGG7c}9Twg3+K5S|h6>f3l zHJ)#&@u=v4M^xtVu|LTmPaXL&wa;Uz;NV&q|8Rj@V73aOGat zcy3k%r}JDTNSaOrqt5I%a^f_zfAlaoQ!5%d!7~)&GsA_6j8R^DI#Bj~y@_3Bpv@0# zrolzmEasm^p{Lr+DD`&&Ug#akQvGzf7@fAh>`{?#EkJ8J4snUkT>K|0T{(AC6KpW6 zrXqDZ7Dh; zhUHQ5eS-ZnmN~cJaFfJ4MO%Zl=!V#&Mv-+zsD8@=BAm)DezZr{zUG=Ah_MuBXK78D zB&>4&l=04?oRwvu&p!Bi&c_GK631 zT6-8Rn!a)s&9Av&@T380MlF|2+C7IqY@NDPkzRO?zuTyBk+R+PtT@!iR@8H9T$@aS zt2t$;jQawW{%j3OhgpinQAq_G(V!FWGbP>e5Yr3$88JjD@edX0dRtoLC~5=m=dN`9 z4^oBFs!|e@u46p+NxD~5Nyr+X#)JeqD1OOOVg>K@jckGJs^7x0ULlNStHcdm^CVa6 zT^E?4mU$8hB z)KWIXXRZE5xel8Zz$W{&?|BdP?HjJfUt^PoEm~kZRFVjeD9$osVu2Tjf;bs8TceiY zg0<@b5^qr!{BNWR2|XE7=l@W&schUKj8UQ4sVwauu8HRryN z3^8hpDyUeo=tt~vC-qzQJyW#M+>^?Xd>_OIpxR)LnAcJ?Evuyky%!-7X`i&VhUudfMOMPo)*F(F)XD0(DiC<=gDVU`9G{QELV5T#g8?~Al2z<7r z$6?VvTYMG)t`=G*Uw|Lt<;nMomPkEwz*+qWHyz$SlOAz z$gE54NOK1dNT6OzNwS2+8&g!DNM&d-f}pD{ zwmiW_+-I6Hgsr0}Cb?{d@_d#u&}3Ww6xJ}rE7(%tJ!(SzO>{xXE};Pbc(R+d4tJUZ zBG(xZzLbNE6q@?amlYNwzw5bGry9iHV<4Xa@Ikt`_8#{L0MhRcY1>1FF}Svgm^Yf> zgCVdo2DvDObjBc;=O6O7k{We$OlXq;wP?gIi?8-?6r0<%z@Ni>c+ z21G9rnGJvrOPTgjr2To6eiut-kAsT=Qv7_#QX(drz`2BBf5JpCsh~k3dk{mFn^$~? zVwO}cA-*2{z>}Ae6%BQhlKcUla`YcLK}x25IX*f2l$5ONBruQ+xl26dnbeha|- zB67?Vz@KnPhX5#RwG4SCihDemYjX(l5`+4MgS34>R$(}KpvVvcLeUM`OyGJ>LgJ|0 z-1q7)$_4m?SLg=Cnpa_AUt@SW2EsP(zaVR(hQ371X|B%%E0Cg)ZJ99ki%b za-@R0QUI^KdDL5&*6R^uw*c}51M(7e(U}JSITZed&OS##Iur5wOwKSOW_t*-jA!wN zM8ONz5#I%oNle6TP3ISMzS$w@F|Jq$hF+!txf_9<07Mdq8;3*gGC*w%A1&k-5@gqxG;8)gDVJ9gvpS_ zaX;1NIKpyRGr9NwtzwX$>FilVjw~j6fhvT@a$o2~pI8(VZxrK-MyxX7fqNW#Kmovr z@V6lZw-j;=2TzZZI=~=aGaw_hEA7BDKZtxrB-m> zt%>w?Mb9W=jJ0+Be+WI~)#>>bol+Xz478F6Kp)Z(NiR@Sp6Gi9BAFX#gLP4KfCBB(S#0c5V7~-&4l1}e1RA^a0w zL?}3e6TKb)_9X^7GhmYhj)Nht90u|Wj{Oq=*|!IC971SHfj-lak1?EIhrp(tNM`_Y zFhRqU!5M@K+h&8`-9zF5U?CFbH-K}h8|ejr{$?UVQHcKl2t3_Jo`j_2aBcx0XXpr{ zA;b?FY?NlpdRerGpD&pf$p$rtK zc!Km?h+I{GYI|_r)jpb@Ubx7DL?f z(MWqDH=wTxyWlQWE@Ove2J6 zEgjAK0`VoPlbr1-5LkV_2mK$wD!-b{743X1rF$kw9>&A-jbOMIE6usxFp-I=&E`E7 zplDa*M-9-@U6*}VB4NqaAx?t4jMFe81pLB*{fLM|4AK_^|2+i$fJNGPBlIyyPaOLy z1ir;$Lizwk5H_R{0C~iK6R^@|Lx`_L&$`+AG`TG>$Xz=77a~-j ziTFV6CgRwYY=Luh@JxIGQ=0|R0Lz#ka4qQl(Ibfja{tuvk6rc!3B zIMD1KB9zK?OhsrjxItcNfl|me9M}TOsh@=`B5-u(AdTp-`5`C?1B+m=y(x(%`k00t`v z;-jYan6|SxG$#jNmi9@Q6fd2P*GQy#r{2h{f&bT#)o3eva|iuIN^p(u#Di}pR_IQy zQH0V7Y4tc+-cBVX*7K1F+H4!x@FfnCD}K!=y_;qNq2|seNTCX}O~9czD0j z@@rybegcv%|5OE=OYQ>#zwIITwEEnm9|{{7Vv=Mm!BQl0pHLQB4=5Z$2W?TMwQ=kM z+TbCk^oiCR7K}(E416yN1bG8Vi-O?^$OIg$wu!~}6blpwfTx}zQ*dk#F~}JvSk0AP z=eh146}Ehn`)CLuy9fVF1=-W`lyS({1n@BcY)gQ0l_6J%kS!dDwGH3Iq8l_}XZ98e zRFLx!*!LvoTm+!YRe-{MFZf19*=$NLN|A+>=l|}7zQ&j=UgmbugApnaW_yTz9QYBt zG+qm$V2(6naG3PKksRo+ECys|kLPC;S0>Geg@L?@3V1;?vBr9Rr-MxExt;T*=`HZZ zY@``Ic9(#-gW*FgoTFqmAGL2A?Cc>vDI8RRGi9^;4{!otgO=eO8yvFYg~n2S5J zd*1gm{qoG((YOC(y83XJW00GHrA4BSt{}$EwaK|q%Ul%^qdh()dr3=aUm6>iz8&s+ zAEPC-%kJCzn_rPE|B3C!TR!w`G~AcYvGxpcLk!VHOL%v&C>Z)9f3(J0s{I90u_V00(b!{l;)6(4cWBST^=zGef)_%TWb@m!ddV_pJM< zTn_;nPolV&_u#WbTvJ0by&HB`KLZpS`Q?T+8xKT#3)KAr_%hG}QS0NF_a=v(EW_Fb zzat(a?^KP674hem$X!ic&}E@l3z3U@GJ^7G{a(Z@$mlN(@pKU}n~B`dM|K~nx<{KH zFq+2~H90wqFT60u0z1bL(d3iSs22g-8!4=zbAM=v24T<54D?Ad-<9j{cEzkn+B*67 zw6zYT%o_)$`H;>8Z`08IOV27H8-sCz8nWg{Ya92 zovX`)g4vw0bE8o}Hp)F(`k04bMe0b1P5-TK2s}+=h&Kuz>1RGC%s#C6IlnJ3X#Q5( zZA(4gS`r`h*?mSP5`adonO^?3^SQ+PtHk59-$x7Y$}hcroc7<3&EK|nB?j}p?X7lG zzP>dh|94pM=c9&%N&ep*ExzrqH%wExZO@bn-o0Ux|7*+j{m-v!_T=w7^AAq)$UH9K zU0)UrKY0JR?D$u~;fuY9$JsL94IYM_Qu3@e7I)h%KXqfSNZPfb!w&srs!4m*rF8o1 z&eQ5h@viyuOMWxe83|yyWS+OD#v)%fq#A!$9#1>sn|_!3^v3D(AM#gNcLb69kCOB{ zZ`Oj5+V$%P(4Tb@r5rXX)w9n1bJbLQPWt9PY=y{v9&u> z`&a2*yA+i>X)eAyb?lvnpXxenx=v}p{vyf|3llEya~F8u!gmZg-)%eIymBSb)pScU)k#sw*$wvqtnfxb z>GXrqJCoCAE@b!i)QoAgw})QOGdOqSyqEL~+--zhl}pW`>EIvNr^=6(Ixf2Q3R&bn z*v0lvng6L0*N~`gIH36Fk~iS13V%C4DqsFGdwyX$!SUW8n!PW2Y~o8Lr77j6uWobw z-UCkMT+GO%F8=k1t?IK(mCm{{z9$~ogmHFHqccj4r?f8DwSU)3U1LejH@~_6`e@`Q z?AZmZjo{(O-q7y6Hmsd(HE$d1gh=i)n@;OxpZfbvn#wI{oW*U6W(=fc*=b+4f!2SzD%`{fydV)j?YL z7dh9NTaRvXys;$!KJxZ%&$Jr0-pG&iD3s4uvb@}(_<(=5euD71(jY7{Qe~$zu4G&G z?q8o(D;}etA7!7momY*4soZ^j^T`9{%BH59xu2{hCwbje^0ZmI(&W157nSdUOsAT+ zGhcJB-uzaq-JV>v3TqkQ8AYBNk!Wyi3O}#MJOhl$|fvKA%`r{;&&|+>6Tb{bG)MuIVCcHN9;5LCZ{j zVb@*HT`cCyE%CuE$cYCWO8QeD`+_o<^!`+hWbRe2_VVC&KnzU z8IFRIj!aw z?RTxx(NFtBOoRrerVSHi=5S5&`Nmux($aUnWM*sk&T!fIv2JS3J%o8O8ad6z(ks?H zRHD_xOFC(XQjoPKYC{ZP@T*uVS0_i}oqF3^geNlj{ip={OBqt?_1d!34{CCmF3*4& zW3Bn2*b4?5LtZaU*Ox8NtawOT%1?_Gt!AtLG*JAT-{@309Fm*VY&o8QS@MqV|%1*XUFTu6^rTAAB*|mC&pG7HfajutXpLoIC zRz8_KE3>dUvx*6?&2z!K9v4pJHr_WpnZ%BGdVTzy{7 ztN8>LHqmAhVn|}72nWl@R?!MvpSdDM+;uu1+SysS!qlatOI=bzaZolsp6yXSwX{hI z4JmZiR=3cn{Y&Tah3$>Tl1ns~w-vu;Q;gLoB{rS*CH97FjTeiq#nLRrzK2naHtG>c z^sV65U$%w=37=6&~!23ha7<7K8@uwYXpS|Ry!iT@IMw_Qhn<*P@7gL7+Aq2(Ke3tcmY}4DHFt$DgXO2C z+p@V-ri(6>ayd%vyvZ~kIeu!a8C&!#HCywpC2yk@ndkD}`#@BRs=G@}v#jm(`7w@5 z-&Y!|-{~yLELEn~!sV59A(PEGnWH_Z;S?Jps3l#DZylSk z$%c%>TW}X^W=Z2oAoUh=(H=G!goP(@xf3lkdd!_u80_M<*bGJKPEaCF;6x>L)P>Kj z&`Gu)Cf;v-a%2B`6JS(K0Fh&SjRaQtgM|gsNBA_PyMHI0}~`fG9cED6yLjjarR{1E@^iT_ywp+d~Xa1@S9m%#}9Qk!4hN=*e5q z>huwzm@;&sq)%w0TNS^-D@A$K>-9>*L}bgBT9S+d-({Y0nfpt(jWSXltsiuUr!F@+ zJt)etSCgi_4SP~%{^vpIm+p7##&iqOPqPTib9b5>#(elP91Z-6jbn2@W$AeD^oYAuLRZ>=G&BF{ljn93cX}?d;(!MHq~m9@n3v5ge|pC zI~PZ^Fp*vaQX6X&|3;*k%%Jn-=p>O-9M0UPB$p~+MV=Md>Ut~G_0fmq2z|GIv; zg@_O;xsn8(00JOGY$0v;oumNjVbDdPA|LGi3rV@Xo#c!CP~#RhempdB3L+c^jD@Ky zw^5XstaLAYe`|MPJQd7OC5aD_WLqGlBxuSJg#UW%YJ-_(nUSigcyK*Xeb7>s>0~O7S^*EoNzIV!lQw{7RqC;$GkLV8b z#+nyGh!#@Cx9QyX(`|)S`A;kJ3z>s{2Iv&Uari&Y@0HjOFnt{@5m^Dp#vwZWX8`stj+^d}s*61KoREyVN0$H-|) z6cH+nvtLbz_Buh5u#{i@SsG((;7oMt5m;jk;+buJp#s8#VT&PBD%?pj{S#d0fx>&~ z?>f`P_4{R*lz#_Qqf@%pQD>SsQ=*_5R4%-*cBpJ4%Qg@-f>Sz263yG- z=c&3^+(pYC!}vK`uWODVJxEG3+j&_`F-5J3^@aNx+v4xCtE@(9eS(ej4DuAxRm-#U zda|AG?dg1eS^F}7@alq#fG>>+;`(Y=!o(@O8ncp(Q5Xm-7gH+FaGkh1a6^}Ls!NfI zY*nnsSHA#^<Cg-|P$z>`@2G1gs!YDBqfEW{ewSp2q#HPkbKX9NF%D^<3L(Z@M z?PiNDxs`|kiER;O@waack%+1a&v7uRFd)wn+p6@fWFbnkE+rAh`*8}Yg-_R_)6?+j zN<-vCfNa=Mx(o`KMWY;7f)(}Clkj9&Ch!s+8ZiVUV4<-Dc6G(fLK-w405wo#KXC+! ziOGnev1>BY$DJrv#3Gvhtpr6>0x^5MA)#|ZTO0EM9he#Td_!)5YxXJEChdmq zB1Ut(Z2qO3mcDHM*U8tal2v2t+xUkEpBl*Yz$#>`P?9s4=p38PG%Vwn(pWVV{QbJrG4&1(b^k~W?nLOt^+p`qFAM=LFn$A#X04=2$%ZY^xWn$wr}KtK#z zlwv&&002^ZtHR72T8NwkfZ;-V!cmTp6y)4Wzj#!35}p!=C398)Lt7}?EtGf|w}95e z=zcOMm84978u-{Gu4oEl=4+xT*EU~~OL1C7U>+P>1QnXXAd6!F1}%CTTY!@&C|1bT z6Z3$);vh!%`Avm7D5lHX0go3Ol3D;fikUT<*>OZ@AR}Fp$`;)ZjaO6%pr`j5-(j`P za$aspH?Ebww8Ex>g(d=OE)&?#?TyG_)jvoB1c|_S09mpHa48HLgPC;&K!F&5%AO!N z4%#aVkPU{a>r+l(000#5pHp->;jY?c-+PzSRjp*HTeIlMvD?C*;cFZdF6jwEuU3>) zxpCgx@tQg9vT;G=T@CE&^0hWhXJ(B15hWmi%2rE4__7}ROyWxAT}26 zt8A|rR7%~a=QP1kOk82iaXZu0)QhP#sc#I05J@h!wU8y z4wiW2mVg2x;@J|z(wX=D)R+)FhR7L3+1ly%{>S5mG8*(K=nLXktDu4{6cGXds83GS z9MEZX;{mWoF*&?J3Ga=o9Y#z~~C<3ddy z!JwZ0)T>58l0!Pq+4vs3t%#-?A0T)_NAN>`nf-A&`*wiHvs$Px7j99$f6MS{2-lXP z!U3owXchIOn{%C-Es!8^;&kVDqsm)*j<^U!Ps78L8+D=4dAZ^O4=^&750%CDkv2Se z3+p;z8`&&f-U4a0NgZ6|eA5plfp5o9Hvm9!YW4~d>OK`b{Tk|ln~q;8P;Q~<)ENNj zSw@;LhCk#IfpSZh=oGbt^(5ELf@?znAxV^DgKXvbtRyB`1^^JGLH|7{GKVM;LX@Pb z>DGCBaCCNxerO~WdSnFQvVyQKhfyxV%yftgc@^po%yiSE%&MuJn6PwCePHZXs1cD8 zO9U$dG8m}OGA$%iJ81p@#gCDZa70#$Vmpa}{%nN$>;V-Cvx!k2^+bwvOQ;P`&Sknm z8V!OaP{j1i@f8hGioU8Xlv7b`!VE|ZlU(Wa7tj1)#KRw zaO}Oif!XcQX(dqv08dML z9G)xRjuL`nQ^bOyO6RzC9Vgd7$vEiw6_R+Aa4ME!6bfh~lt@?nt2OC2ZWF_BuhR4( z5CZWc_Rfh?;nbf$4UsX>k?5=P0?pAm_oc){Evg`i&aX+QNd{CkiT7K#$L z1*vZ$2cCgy3{_ku*g>M$)LVx6P7dT3acJ2?Pn;Jx*?IrZn2XDWLO~yuoA+fcd`evw zEAr?ZGPBx2m2Kj$n*+7lcavVeZ1wUTR$;hu4()fI7vrbPFg$m}@dsUoGgTXy1{nv* z{%Y}`iq_7+a)s9XVzd}<>$S2j71}Gf%LnfaRS3_tL)WX8w1pM{b)IL;&J~=JrB)Sm zct!hD@kxi=f_*JXqjJ{){s2C)_6qsPUxl|Blu=b+jAm|13t40jIQ^hNsf85B%uZpZ z%coIdR!A}xz@L^Buc^#vMQGw48GΠGqxm$?sOd3E3gSbfES&g_YC~IjPARy9MFj z0(kFvCWS$LqM&J1jpQV#XEr%(gpy1kBKERcBPqcx0KuuOI6CDLgO0#*u1J>%@uiy? zLSq#vmA^?(1hR%hDUrlbHOzyg{$XkAbQ*z@iMta!^-Ls5BaNDcUxOsl*T^j}z5WdG z?8koSlEkS|rF7`O8;&{qUtAK1e+7K@NdJO9Ss4IR{Qin9=%e}>v7}EM*Ig%F#A=hj z()wd33+wJnijOVD-uwF2G--clzx~!-f3u{&USDPtzn(Fps{9`J3x9U=@paa(G{4HH z5|67+d_8{s)Ag-$_3s!K@61yLvzylY-`}0PwCR4sFfz23ReAWqz3zKo`leu?!tB*k z-&aNRydqy*wf_D2{VR{~H`jkY+Ic<6`*yzY2rw%)d-to^<;$BfX@=gRk8b@r*#1O0 zY{XS-nSFRI*mL$#o3oO)oRVPFsk)rb6V16Rmo~3vPO>cLiY4cUTfR2T+g|#%k@gEV z+WrRlb}-SP;ET?~dv8s;b+Ss}1!CviuO98LpXRC+x+cFN{leV~G&ykfdsER$^c@M) z7{aTrcJE6Sc}fRI)2A0N)){}Hj{?}mn=GFiEda1XYG3j#fgIvvBLXH_Fy2$9{L`Ho zLW^TM*HE?qED)gVF@y!L43)Z@e&1!7tAA%aL+F8)P@KlBFFlq3Hrd_A6|>_ZnN#Y@ zOMBeLTm9c0q4*_*JdrOgL8nYcTCgMHpPJlX zb!z?D?I*V$#4TuM<&HG|Y}cJ3JWnjmLuq3hk=G-`GIkvI0L5bld%H1XMn?}v5k{0< zVuska{tSDl=MY-?q(whHLuWTCC`;}4R1nhSt%vI<@<42H3~4k4m`L`LB|S0vz1)4x zP#+s$ZKShCvdkWM!=A^fAIEUXgMQ?g;WLY~bWzdMlrD5N3S-L>G$XiXaH>;jPn47a zm{I-R6*ntQX8*S*1`p$gnzi4@(K9%WqGDN$wcmEn9>N_fMz0z23%j%PEi+;ZPj(Bb zXQC`dx{>Oj7L1Vwe}PFJmpZH{Q|C)|Mh2&??68gMRVPxO32pR7oL!)VhiJYn;X7~P z%a5A#os{0K-qO1d!IE`8c?n?|$S^suQl3wKLdfoKps)9jmCia1`fhj z(e;#vA@aOI1^&fdB{gpx)Z}En-O@LO?l3^Qa|@2Kf278)Gb}Uf7r5-)GOkxILo@?8 z977{UG^iDF__*WiCP%$ubvZUlb^G}yF>d8)%y-)6J9!UMM+8P|7J?Yt6nn95jo#hK z&|5{`j$J%_85|!^p^ayPjc;n@kXZ6M-4OvpOI?Cjml|Q}VdAIF!YQalW%u@7S;PhPD;N7B*E2Velg(2XB@2Nb zMTlnpKh%Yi5#6Ff3480@vH9$xZ-|~ohQMp_|EQsc`J~<>(zR%+Ov(WsYS15msQoo6 z0dV6rWVqh+T*zRFA7oS3LJcZr``?Lt)6X}xlPictYV^=(LYl*3`tgWKA8h>dB{dyw-isskzU!SDYW|DO}B0&b8ik@PrJ|?^>a> z0&~iZ`|*`N(T@73;pfjc%v7ErPY~Ejp{M$Ky{}ruYjBTpJA0{=wAXx+d|S(=n{UM6$$9*2p)*0~yJ^bL_`n9xpkmMc?YU~wXn4EM|?SNsM>8!m{lzCCI zeaE&=BH3Qfz3g`@!NhO+<5kPDg&kGB`?o$hCbqdJ$~k;23|@y zKG{NWOSaiRTGcCJO}XUW;e;yn&20ZlRi*xi_xc_FOw_TQFhki|Z*3!DKvl7GDB`;} zaofp0w>RW$vX-)0@i(qc-!aU5zt64YncE3{^fHo7@a^#P!Ps}j(@SJ;&-xjEn`QCy z1-U1*SsV`Dke8!xF>?~vw|AYTg*w`)dzk_q^QJ7Lid!qT#fg5xa?Tq_Ml#%^zOxYi zQeP-(K1nqB`RxdVhT6^{H1mN#iS5(uiu+z%?@G$`3CO}v&Q_T zvR=CRf)>B@fI>;04fmRY%C2U;nEh{A$1T10WS_pE(n6X?UPZh0fXA^sTg`sNvH70l zag(2)u@m*?r*Zp2IZ4$6b;0ef@-1AE7OdUg`A?@ z0L(uB!8_(o&HLUW_+;0CTD>3G-wo>Hct+iV&STx3(yU$?ofV?zc+MQbG>gejQ>nqA7%s&WnRJ-HGf7= z4O?H80^dKb^b{(J1#=a)X6431LzCauFl&7F@=fUoU&2K2l#}n6)ZHoa6o=!f0_&Hg zs$RkhFPbcaesx;d`|KYZ$0?@m?rcKX_m;AFSwiduf*pCy$4U}+Yt7hWUFdiRv<27>%#t$5#XY-=F0k)W2_Dje44L|eL9_rgKz)|=bd+1y)dTMY}6kiPpcPU@FuugBid6W4)wey_3ZP{XgN9S zwlODf8%qDsm-c#8!pcd=J$nMQ0}UeViDgLf6jfDmF_PG&!Z|tR#}~WzTb*3 zK1}$2&r~64d_LG)TG<-0feZgW$1Cl>wapnmmQ~FU4*gsar;G9mTNjLWCG^(>4T(rR zr!{O}$H--cE`WL4C=QBMWH1NxzaW<(G_n~CI+h8GfG1c%%R9%OC|VoC#64h*-kvYk z>>GVtrK+!kQfr!gFEFIn;AaQGrxwQs;SFb6@KquUs*koXer?Bvxk8AlQ?b9`L{(!*uXBfBG3tojKt$1cr z`9o|6kH)6_ulqc#4zb((x{#R<$V!-UJj|SX%u-tL^BkAh9y8;4|BE{S(P;;|4T@SP zdpDu%#9AsVt0#18pN~HW4YE51yT%V%D>qm_eu(q4;y)kfr)>j4+rJ8DifinEZkpGb zzq;kFI@j4M-g79X@uTug7W3IWdvq_q>wBu6ueGOqol9S4o)qQWUW-W-+^2417 zktVH~XT-tg5(A6xPw8igkb*{+ZVF2IwUMj`E-<~VCIca#j^mm9UTe|P;t3DWd8b;{ zyb;Q8o0Q0Locs)mM8KUTCPs*rk>S=6>toR!zC9If=vOwc3sx@sSnns;B&s%bzJgBoSch+uT`K}+iJ;g{PSg9K-9hURMRYvG{)H#}(e45o z0d6lA;JRKF0{XPv@BuZ?;vgrj5cnx)d$OkrX6$;-xE!M6v#QTg1qOFRM17lJHwBn% z;79fOH2};l{)S6c=NbO|J-VWM&0u$3756#6FlWaec=ci^Z`2Q}I%n2ok`s44)Qs5b z61Luyyu8XLA#e=$>Reaa@V|FKWCVA9Yz_pshjRG_y<1(m{A1J@Ha@;5!38=0TxnZq zXWl;;o)a(|6kjyRWY3xgbtJzWds1u1bN30_x~xjr7acy6mi2(>+ZjB;v57aL+l?KL zInL#M^Leo_Fjlc16y97mwp8b2EVtlV3;Hn1awrN>BKM1-&oL}@Z#G=+qjtC|CWPnb zy~H`Ip6eufC$c;$BU-8gw%E%JUqqsdYc5;}0^CTe5DsJ67wB0FnfnH&)^t9skdC=2 zHIMg~brh(@B_zxycDWp!K3 zcJD#l@ScxW9e!6?#Tf=kf8ObI#b45@tKF2~1!s+*UUX);Mo7rfVU(f|LU5J6f8W;? zftUES>NYn-14~8O@?;-@A*Z5jbJPQIVYoa0P&uLFp9l5l?m5h{0}NHCTbu55b@(

    ^;Wsk0MiTtTC}= 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∨&n{~s@S;`gq;ds($O<>k)+^HlQ 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 z�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%0D?&_@Z2e;x*d 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

    j|J8jb8e+_o9BB#LqJaSC}IM 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 z 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 z

    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 F{trzx)~Emg literal 0 HcmV?d00001 diff --git a/static/29/img/ypepth2.gif b/static/29/img/ypepth2.gif new file mode 100755 index 0000000000000000000000000000000000000000..6c5e0aee01932aa528045f70a125e462682049c8 GIT binary patch literal 199361 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
  1. u#{rv58;p5@;=5OmMOR$V5;v>@cbndTvo68piG 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

    86sJc-9-oQ6&8|xz8 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%0Dl-(5KS+H~3=ajtJ>r1D9H0iin`@wY% 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 YLK{aFd=YN-r(vEGCU}%b9}y4$J8t2sIsgCw literal 0 HcmV?d00001 diff --git a/static/29/img/ypepth3.gif b/static/29/img/ypepth3.gif new file mode 100755 index 0000000000000000000000000000000000000000..a57fadbc25e4514b493ec79c1d9f5e624b1ba240 GIT binary patch literal 222134 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≦AV+L7kn+%lN*hBsrY%UX9%7D94am^HL4;gr! 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

    B+AbKBcx<1ZE{EWvSAW% z!aVi?cW~@O0)sF>#3eB6%{&Xt9)v)=%gfmAtr(?RHe|R0Z9z&y2Ny0v;)zG_Ziz@l zR32jbOf6ElqZODzS~wz1(kvuI0x(XbelpO?L}$zI7PHvpv|O5!z&0w?srLNcN@rYk0Xf`LjRC}qS%UIxU}16hzVWhBK({H9uh z4gN9^!zb#YBqk(cej*`8LN*v~QamIkjPf@=gLzKmBT6Im?12cZGJ2HovKR_7e!?&g z2sB0mchItCdIDlnqcQp|WwTF5Gqr!xu+J0J@>8bqWn(l{t&c7i1seFe&n zE@aqbXM!e#Vx=P-N3i4}5ViqQ{s%Kp;vgc%F>x$AHzYzZ=95sZGv4GnlJFwz{-GOE zVb}ynZ!khCmF1KElV!+~I^K&U7Ndm*tYaP`PS7uAsj{{V`5TL zf>A!iC~;#qcw$nLlu5l(P*fs4CZ*sS3rR5UR1@tCocGQz zRw5xDH8Q}fCtkvFoHcVWf?~2HKptsAl}s}JWK|tUbCU4UGDSUlY)b|eR1l1J=EORX zW602wOl+l}EJ->>B7kHf(2#{P2*De`Lz$LDZ|>n7oNGKl?lJ2OKN`eCrfV&MjL0NO z%0Q+YC}A`t>gzhh)H1{;VY*Z^&u?eQt4q+!7Ivsa#B!3G&W;Wj!7Ke!8VG*E$|^8qCpcF!N8Emao&g1v}99K zZ`*by%zi`L7=l)Rq8=E>H1KptYUU?Dj41E{9s*OOq~n4HCnTT;5O1dmR!VL>DtM0S z&*sDcFDJbwA|*sLDArQm{LR1eA(;eJ?z%~-i2>GT4Xz#~rDDpjfRYZagQb9)X z4p*rhzDIp#xXBBYXt1yc^97=WQf28VEB?hDhj4)c}rmIy&Y zu}z#ueIlnct9N}&B6y1CRkVh6JP+gKE@Q4IfLv$7qW`Gh)OLHlYg&0WyGv@Z6?E7LlRG zW`Y`rAKW1cqCmK`jzsWFA7-HnmLW0}rB_}iShNjqc%&pKp$3S+8R#J%5Md6)KpE7b z5(ohf=HY`_Em#PMsd#4&BL|`|Zmq8P&8SLh{`w+fD1x#2=4)<(Ft#mJpy@uW<7rR| zbw4qK@_`6;$*EFm7@?}A8c5rE3aBd6BAU%ZdNO53qaNnLVf?~ANQkB;h=p{Cmu|_L z_^FjJYJq!~cLrB$1&T_1hUYS>XjDq0hGy$xXF##14jFHwUMK#LPiX>CY05`wTudL7 zAsB`O3Ue+Iz0eP(DSOr?c$$%ICQ+MlaBh}150lwy?&%W+YNJ@_h6q}se71)uBArUe zah@hJ{>h2(83%DFr&LCx1aX(TNoaaWp{>pn?NF)ckfN6{3^@vM>|qkBA!$HnRQ$$g z`w1ql37du)iDYrQf=zH>D0YT8S4<-Q8ydmwbi@n$qev!F!zA@3P6QuYv?P&)t3@K^ zLd8NB<6~RKdvnZDbmTj5OmB#!Kh{SfX2M0pWK&FzC4k`=@}eXXqaLEb6mTbE#PSQ? zVHu<$-GmKocfw_M1DVV;9wyc&v>}T0_BHyg-}FKr=3$!g5jFUM z9^651zR?RbE&@{0bgdX_bQD5B?yQw5sF+SkRe&Bc2yo?`)WEF~`JMyzAWZ(!&j41{p z9=2f$RN)-#p|pp=9sb^-9pXV9(%~M|0TNU|g=b7Uk34a!{EBv=D?Of5!ZLp=hc-{2O7WY*U#uD_drtfhq@f{~QPA46qnutdrxBgzm9{hZA>ypTA3kf1)V#ij?_ zhT<5+x2qb%{n&SaWv9IDVx0eyX2Vm~uSpc%kz|>LC%Zy*=6%I!?T}7bN+9 zi9AVU(l`z?MkJ?lS&9AO8z6yum5OILC^S+eI2MW>(Y{vD(A%DNvS?ssc0ySA7WTM&q0(2B7BG#oB=O?V;gF~1(qQ #@m`xu%aDcpe_ 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

    5A?YW45>^){@+%> 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 literal 0 HcmV?d00001 diff --git a/static/31/img/blues.jpg b/static/31/img/blues.jpg new file mode 100755 index 0000000000000000000000000000000000000000..e786bc81fb002a8bb4364bc84ba7619a4bea1a6f GIT binary patch literal 73617 zcmbrl2Uru`w>~;a2!YTcL8L1n5G>#ai1Z>YinI(tq!)$IJJLH6r3w}lr9%>FN+=?N z6j8BILXlo2Ma9iCa&HA-u|xMKB9k}lm(Qu4UJ$6z;EIFT>^jr(EmLDwlT2%u`$rokUwRA z{>d}_N$JU-GRQwU$lp0h&ObRM{Yrle^iRF@KN$ny)RilAiw8Yr{G);VhbI4C&ObD# z=@tlJMNj{;jKUwyiGOPTTyu+_2LK;>yZ&2&egAF#Z%qgPe{6r+{C5xhZY#Z=P|d%O z|L6}CT?+ue`wa4@EbH$qQvP?Ie$f5>eLzeA;MQ+FAHWAd4*t8*+6Rv5xp}yV2K%`M z1h{yKI$jgia`tv~5&g#)mWe8yJbkbTu>a8m&e8M>LJmfNcz~6OiHVtsm6@59iv`KT zh2~&on+dJ||)S zY2*YT3=kNU0SZSjGQnZ2f6o{1tc$p2QtHcMIpN+gcc)c&Hbgc3FKI-_{p6^HWbUt0JkMlG;}TUpLO^9Q?M)1wf&6ZyEmhgkXd#{Bhxk95(~q1K*=O z@Y69FsNWvEH0xRZOWbkFFE&%h9PQ*Uzaqi-+X2Keh1OoW6NQJIbwR}dm+61F@IQMX z`A-)Ph5=UCpL=ov8o*?WF;Y_!0+);5#kH9)7+z2;8NNZ41DKB?lDox=B*@}NV>^?b z;*zfawavqsnXcp-$;8GlbCF*p7N(6gA>1VdQ7eBDuGqXXGKiZI7I~SY9U&4P&TSgnJ>##N#wp+uuwLGzdZN6}IZYhLQ#HsL| zyuzb(BR@%82!%Vazppe-D{5K4qp+u=q;M_gW#i6=&F204nZ|nT1fHDovt_54k5KHp z_mCAY^DG_<_bp4ICDQui1E9s-%Imb@O20qv z*>%B)iX`gGMPKDy&ERJ`xofveI84uOA8YixPi(ndWg+n5{bvil!AngkVb;I)Z%^di zAsT!i_hT7I`K7|1WH}fp;OWUw`)y!&qJ~=8v|Ec?@|UjYifEqvQLQj0#vpQG{ZQuR z%Q3uWZ(NELZ@7oa?0XI7-ai07n(hwm?!#5N=Vv~x8Mlzvmuo-u?MN4o_@}&hdF96m zj|G3D6b;=MV=2L3Ba=a|PPHSp{ZwNd zhpVW04V~^*%>HQrn>GH_t=s;7kFIS{3tc=H1&(P@ci+4;y8K}9(*oDb{);bR$X7FG zM=oxtx(^57Rwyp_j+5JplRV=18}&qf_Kb*Wi^ed7bD5Xx8O0C0^(CEj6@U@OXP){e z1)m+U`gQ;e40PBWQtD4hv$?RVr>o#{ae&d>=xficLi!K8^rfeDN8dKT+&L6#_wl%( z$BpWFmo?Qv&nT^h&t7ij2LRUU>x;SE~iq;KRkf$jZPOFu3}rOXbO9nh#Gqr4}kj3;}4(h-DKTecI~Qt zWd^hTCXYWAYqO)c?;ac(%64ab`&4b`ArW8yQN#V32D8_vZN4I{#j1AER~wy5p0k?R zMwEY>1pL@NJ9agFPWZd*hGiZTjJ*9S(p{rArT0hJ^5|s-sFuhlLfNuIrkLK{rLuEH z%1!Enm#(+|Jn2#Mh;L?}SdA&Yn34FNy?A)9|DGYo0WJTk^(&3{GgjeUmLGQt$d~%d zuMtk$4JkOm!^+VbH5yBgFZP)J6gecaM=V|ZxXn0G&GFglm;aeF^BnGLT&AZxq0^ph%}5eubDli&9y%1?KlJGYj4g0YO(s{P_p$73OR9Z;r9K_4)X$D@GEkH(pd4H_9B%nea{L z9~{~Q5Y+76GaB1LpRVq?B!5$-d^t37V}Jdoeac>Y>Ym2t2OZ@gA5w)##BAKN^AKeD)7S~h>9FfG3*>iEJi*=9Ys%xmn%`Oy!?q^iaP02X$; z@TWghOw~26%3tDQSNz{KODwqV4TMFlGIgFbeV#P9%XQo`wMVSWc;_O##@T*ID8nZE zUUy6KepeRdS>umUgRwIIK*p>3F&Yo*PLUcE)bEdfqt4tCD6JMAsEFLZaqE(b;9y<# zF~P@9@5I&4L0{ftPG0-Oaq#I+{P=eijQA4`LmG7ziSAd_HzP704B`ZS1W;%4N3II&3SN{b&{tFIp38DK5 z06N}2*ZkbBx(0|!IZ2Dkojt20YTy#=;SvyV!oi${xpE~aX`r3rP z27{&lQ|EXO0O}F|fN%JpI`KRJ;D`r++K>Oz9^T*c#Wf(nNBPvL;NaksZZ1wIe|P9V zMJVMX1&A5s62u;I72*X6goH!lAU7bHkQ_)pgaoOE zG(cWL-avXFpCD6^S;#762MU9-LQzm5=rQOis1j5QdLD{{+CZ;DeW9VycxWp0F0=sp z7+MQ`3GIURLnom>pzAOI#scGo9f6&IDZzAL#xN_`6__6^5=MmGh84gnV9#Kkus+x% zY#z4Fz{tSEAj)upL50D90c3Du@MVZ(xXF;iP{vTp(9Y1uFvYOUun%X03&LgK%5X!t zCHyKp7@i2f4KIOH;T`aP_!syFBO@a(qa@=QMgzu6j0DCo#+!_}jFpTnj6IAqjOz#l z;xIx6p@uLh&dk@C)0m5xpD}-A{=&SAyF)AV-luSy)((vYcfx zWpQJPX1U8!#qyeEie;OXn-#;V!)nbM$ePMp%G$#EiS;KN8{089O*SjG0Jc;%5?dSF zINKIG5Bo`WLw0BODE9m8wd}p@iyX`x5*%6_wj7}xw>h42eB_wtWad1^sl(~O8OeE{ zvw?GvbDfKaOODH!%aiLS7n$n~*LQ9N_c3l=ZfEXz?n3T1?in5!j~I^*j}uQEPZ3WC z&leOUN)ly=BA{-d%26Ls%V=)2JlX;sg1(P#LQnF-c#rWK@_O*5@jl@l;N3YSbV%!v z%c0~$6^D8cZSo25Y4W-75&0_l`uTPaiyqcJ?0z`oaNXfCeg=LFzbSt(|3m%`{&@kE zfQo>V08!wHz_1`x5F=HXuIh05y2w{M*@%JANg=(_o(Di@M!GO%A;dqNHHa`D`Ht< ztzygKBH~8k;o=nWVF_jlB?(uFI})7|o5v)N;g2O9t2_2xl26i5GE|ZxIV!~_r6J`j zRUk!^W|UTvc9+hT?#4hd3K&<+eauH0sEneFn@p}u&vE$iv&X%T7aSiv!FodLM9>M! ziK&ykCoi0gJy~~h@s#)}t5X@LI#2D(D#&`s7Riptam!)lV&$I6t)9l5b~=6kH0>|8 zzx4i!`m6r06?qwX7x{HHX3N)rQ#WbBYOEkY}Nox_b9&0UX%WC^+Q?)mBlyxF>TF$}F>7OH>`=HCM3+m?R zj_V!OyQ)XgTh>?557TckfE%1Q$S@c*6f$%&BpEJa&tN04?dMs~o1f1)KYamn!SBK| zBd8J9=$6swMTv`E7we1xV?*Ox#$zUuCcY+(ri`X0ruR+1n#q}kn{}G=nA@3?%{Oq` zxHQ}dC>))pj-P5e20CVtZLlx2iv*CqZ-ZkOt<5LOmeC06T~buVXM{$j0Q zooGE^BWV+2^Tw9n*2A{Rj>FEu?x{W89&b;!-*Yf_C~#PJG<1C6xa_3kbjRt3v!-*F z^Q?=SOQy@WD{5CVuYA9%cJH()W5TB*v?B5&A(4)etx;l8@lju* z^`pyTkTLEt?_*_SGh^4{@Nv)Lh2o>*XA<-iD2eQeeu;xgDoKy7GhBDO{vr9V)gVZajAJP=l9;P#zv#BQ1fBM zBcVq(9_{40$)lD^678SMpZgr~;}2tLCchs|TK(f71F?>1jocM9l*#50zL8 zsl8UaT<2OhS%0a%rvcm0`b^~+wee(Q>GLDc?>C{F(q156#J@Ob4sBj<@oAZVdG+N? zt6l3zn`IlV-L(Bf$N7%euk>EEb!v4szgBzw{EhOPhPO&@>$()XYTqfmqrO*oPyL|y zq4wjMkM-SWyPx%__PprT=zZCDuJ0Aikk-|IvA<^k92gq39-JI<9{T>t!TI;&W`uK+D z#_lF@>+n|Dw$gUz4u0p`Ztxyr@9r<@U(fc>?~fjM(wXxA?~Jo1J#hG&afbdwU~~jy zpr>?(l;O9)8R36~kr9DlLLeBKnUP33GyU%Zfx%#K1~@Y#BQqP48Og@+n{no#^VW3v zj}z0~`irgaH4+IMaRoSL?qs z&QQ8*bjFzx0i!2Se+U%D#Q?zRl(Uv8BaZ`}az>rb$VZ_6W_+jq;&ogW_lsST(2+OK zEO_GN->Ps<@>bzf#X~sffVSRgrekr;NWR1IS-N^fH5PrK6#weX&)=-GOJG9w-^}y> zKs+lMSh|K>zgt%Sdg%L>^jX78Zr76Uks987n%%}IW333G#2oUox5INge>2oDIK4X= z8JJ)&&wr5QT5wak$Be!)8K?8Bmr*Z!ro^<-W{!R%6zqtJGr1rK@ z+pRNPnt6a<9{I~PnG;g&_$aR0A@XqCtOf+fpb$}IR*{lbcFX=-i9!$FEE5{}mPFcI zB2xK%&_LaSPb;==B~#o=I8bzp14gXSg`l2v^NzXqK`SMvt{?(Yr369HS3?{Vq}jZ8xBZp2 z{(88s{V$6~ZYlliZP+oG-!!utZT~s)xfrLByX~Xn*_dJ2NQO#uM0If>j6G=aJj+`Av%?Jbvn zbKPmVH-2sFS2Y;tRq(tcat}E%e@n~6*jRXoe2d(D;^I2H@whv&+@8g|eu(DX?ZJpP zmDUW}y5s*-k_j_ot|!8@s~S4k(2n_#jn4C&9gJc{Qls-0Io5x~Sa4pX4K3Jik<)F@ zWf)h#itA*yD3gAbRnVW-Rn|h5SHstjhOmOVFQ?yXyhTK=wLS(l)!XuSi4}mU zrDsQyu^^^i2HH`^t@E~U#Nj$PDb2t^EcBhK=SwF)eE5zk@vL*H6I!D#?B{L1+}By` z3-;T$#Jy48?REflHMoI-N4($4U?p%X;%M}~ru$DN@*IV8591m-&%E4Wk>jr^^-i5r zEzN40{4ieR{dhg)pnF?rrIB63BP4w1i(@voBD-bg%d+O6bCm4plfaNi+tyUEU;8CZ z7%}$ZzF1WUJ{yV5RLA5t+FN|5Y3ubbjGCie{XQ$1C)>mfXDuXvNxLg4?men*MAGp9 za_$aIBpkdvxz+5Np&9AKCSxznyxbkxv+bx|JGam<6vBQ#%9=su9s$n0doE{#ueYK+ zBtf1KAS6ANS?rHlbbFS=AN&$KjX(==SOrz6f3Yr8=Blz<75?RGQFz=yzHCmd(XpJk z^yb+u>KRG2RZm~?cx-&Lf1Hc0#Z8-ceCeK7hCGRN{Zayojh`RQojw$-kgXjY2kX?B%`}5w2T?MXRs?StFW>}tZmJf zAC7-C|0??eNyqm7zECQr1cz3+t-_z${8g6x2rZYp&7Wz2>dY(`Psz|W4PGQD|JovF z2xMBsrz_50+@jC)4nvLV(XDB+#|<4#f^L+BYPK6Zm|<}=L1ovGeB$+^c;92$YRZ$~ z*+ax8CI;z=PVd1q1;-n<2LKO8azv+20tm_&McYFV`I~#Pm=$wdGW$$t1%`x$XxY4X zTS~yEj`)c$B^8j5#%U{`d?)vWGGne;>PuBi^KiqHf2F%Ji*T+i%2Cgm8s-a;E`CDW zv_Pyt1Hq)aa4^IKVy`GavoL;_d;l0{Yv*`r3Zo^_xP@kmA=xF!N8LN!vL|>2rufwK_ z5i<#RGphNs>e;0jyu2>Xmn53rKU>RL4xeuK8ycW)@=0HIL6-+x`Jv|+G0oR^u~7qv zEyoHeh!{Bsh)h{Q4ku3Xak5#(HNa{y!;DNuQf?Q8_Cv^%6g)S0$v|{BWSW9qnnSLr z8uuhv!7}pXRa4|XmuCa%BfSatM;$9LMb$!WUaFxBF}M)^?v#;=E$|t@rmKazB2wrJxNH?Fl{a8$ODzd<2#syFuXDBo$H%`mgxvL<5U02; zFEvz(H1mT+{1Lf3yC$s2;*mQhnke<%N$@Z(+s_Tl-}mbN6taW2nOViW?jw{87r<9c z?j^tKH#ya=Lc?*CN<6734vpAK0H<}C1QspXo;eZ9pc(td5zqBE96-$yiq?u$p1Qh5 zC7fIa@aM(?TARgEewb$ecE3??J3-JwK|lt7DV!O-+P&-UJC^>4yh>YbdYxR}?-)cZ@;AXU&+{}W^O_C^Puf%QZ4hsLlFM+$Tm zcU(rttgzXp`g^&lYLru2PYUIrcUvC8ZD55~s7&#@56&y$HyZmU+R)b7g&xMF?k&f1 zCGW*rjYIA9Z+5?B-H{i&-XhmqwHq|ekI_gd^>IFEeIA39!#j?|X4Pz&08kV@x~4w1 zg2zB<4!imedp?*I%^wZO%awH=n0ntY4f!OEixT*nV}<6f9sqY={dW`4lE&IlJ^tBP0d$K_2i^nQx;aJlrhI zilpszAxQNQG>yDg4%z1Lz?3vrsqNs`9Wc~d%vtUU>QAwfb8z!gU!#v>GtuNh%}5EW zzi`lSw>_V1^Fa7rs4kn~FDJBVWc;J27d14v<%+FvF=K8kAxlJ3Umk-rieYa#+g#jl zMjOY^N+e+m<7-sQ9y2XiIbqv1hfFxFYBV&J$W>?swawD01bm;9Hims>-ANY@1P%Fa zkyWN3pw_h3u@}d(H|SG~jG=k{FzFm+1ux-fxIy3M6j{t?5oFwiBRi&oWG2-Z*W87y zz>(MT6kzS)`!_u=OT9L@LY~)JL3kK~fp7!6Pot-{e<_hyYmhZtF_aLq`}W}b!-5FR zs>#JM*RUx((xjTS*+O}{E;^Xn5%x$>yAs9HHzVn%LUce*SC}%H8Jgv7g-oM8T^|>^ zXgmqml>e|E+aLZR%kaY1<2N={r7{-U7Act!HryBW#o=#pPf0pK9+eHp)TY zwgyc~1`9R(b;-!ALX%dGs8?6guE?KkA#y8k5!X7bbR}=_$GX==w?ZqVh)m^1hISs> z_0eJ6{kyfV`XiV$zxlBbk*A>w?q)Ug*vI5>g0i`j%`@*oZt^)OGKH8fJvG5i&evW= z5QwB@jRi+?f$Su30C0*zW~>={%daDI7Ds%9k~dpHvqw;W60oNkP{Lv{b6U0x8aH(S zXgrk6sbD#`MO!JCrbi|HH_vJNel^mHdgLKtjo?B#T;uNlGQ=JA6ro^irho!JuT!Lc z7z+kl5J^n@HCH4ImRrFnOrj?2)WXIHHDVR>BqmoY4|BF^!8Y0fydlD9vVH~n9P#l5 zH#mN`plm!ZbG%dI&KJx#H?=nm`am&$1NxV3pyA2-E>@#GpnMGlU<;3i8b zRi7FP7k4c8YCnagag?Gjb?Br=p5jWdfJ^#X5qTCv?I{+d*Pfae`-Q4OMcdEeb~XLO zO|n+yGA1Y}{7ePhG;f+SBGwYO-eI!lXoOlVW($K%h?mO(xj$ZW8%J$aQ_W?%zQPF_ zws4)-dE)UNN>AA~XD6W5nm~Rdm5^D6{E7oo(~xU`ja zav6Gvzk6X?Yy43n6m24XtXUZuD7=NXmDNF-+}b@cEi-|(&Xcy&0innNBx+C!9EDH%c&{H&@~wNO@3a>IAY+dNa^d*}I%7M8Osk~I$PehxSQ z$XR2_pI+yCU~7>*!DZV)9pDAuXhj)Q&4^t*zeU+3+6hPS-(4n8OK;$3 zpeZ&#rnc`LhY@rQy64mO~~G@XKJmfXNgUv?sSE7c;h1 zukfMUk-Ut_-KU(!>&cTLWEt*vH1WM1L1Z^7E60?1qH}cWYX!q;;t>`6qSC+|NpqCQ zDK45Q9rvqayvfb*D#IP+qhs2`iCR0A*&cx zH86e57TE?!>Ts6-(gkEyrwR0-C=#;t%a>~P)-)Q$%KJE?ikwMOwX2f!_WrV4mF zYH1*PX?b_BLbcy*VepohWiUNPSew;^!$bEKUSdo1hc(<1g4NhDCFb@rgQOKi*+vVQ z0l4@%wuM_c;0-1|Tdujy#I#nptpd}oiK>X@y@sKB4~VCAfg1*NPH+Zy~wml?~W+}qSV$U zS7)_Up=_G*SMR#15dr)`|MvOL%mgRX20fwK?A-ohw)U83W@X{B068x$#eh_5N^>{@ zqRLABbouL%_0k;X+CVvCQkMKm#X$3Dqf`f2hD-oI^Klx?>nT#k3dHnNmYStz;D8tB4uwsn$ixRqTu1UD z&m?)c;fU-t64_Yd=1K>SxGte3^Q>5LwtJc!9>hr9GBS1%c`FANnNW45TrD4FPdFr4 z$o{Bi)kW>HO5lin8EOWjyY}E;+HeA8Qmq>E^ad}AA&0hwTN`r7aJ49U zC>FKeR5ee*azbmTYeWX2`9&5-zBjvIGgYOnJ~zm4!5kHZ6kEtQ%=Koqbf)&NGJ~!( zu7Nxci~CE_^muf|l*X;=gQ*9)H&l40rik>=0J5vOFf*-(DMQ5;WVuXuHpUSt@uPc3 zY*7Ei**UIz0{V|cXyI(?uIy`Yt39k_H^u{kkjSLKg&d%Vb5|`z}}QDA(D2KtvqEr z?X%joUwo81? zK-wJJo0N22iQ*b^NEE03&fvQoNLc>DDd?`PLYsLHitS2kD=%s!Ld#2+&LR|4_qjun z_TcvnZquN=t(cJ#uCL@I7oUPW+L7hT^_FsR44`rtb{C5EI50>D*>5EY%YW&3)$dq+IG<2(jO|wX>~lwv`O$ zW7nUDY3p|hfJrwLLcMhnU-o=@%jG3KQxIKfQ{SoOhuP33A5O9tRWvPrUEzoELJRo< z!Zt7Bk;DEtT<2{wLqg)3m}g_aZWVlI`>CT+a%Wcxa342S6W`EVZlRTNtkY z)!ka2vIQ+#1NLkYR6RxVb3(S)danxow~8PAzEm}7%r6`0R@;$D!^oZXaHnBG`sxB&(-(wyL9R;y#GgIv@JE)R7; zE(*7maxAn|9t>`q5%bGF=aL^DHlc#L_6d#ME5b_I<`h|0T&noKQV`BsVKOo12Ht5Q z1C+Gbl`kgDsVrq8iCTQukLPL@-Be|t5qnmnbT7@@$d#iDSqa?3F>V>RN5r5y@Q

    &$ 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 literal 0 HcmV?d00001 diff --git a/static/31/img/bottes.jpg b/static/31/img/bottes.jpg new file mode 100755 index 0000000000000000000000000000000000000000..3fee3271acd6992ef5e5780dd23675beb04ecbb9 GIT binary patch literal 60547 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” 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 La(^^Kmq-8EL?N@b literal 0 HcmV?d00001 diff --git a/static/31/img/couteau.jpg b/static/31/img/couteau.jpg new file mode 100755 index 0000000000000000000000000000000000000000..bc7e640d79c3441db5e293075b8fd52ee0c5cf06 GIT binary patch literal 44293 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 literal 0 HcmV?d00001 diff --git a/static/31/img/cup.jpg b/static/31/img/cup.jpg new file mode 100755 index 0000000000000000000000000000000000000000..6d65cc1afe64c9d492d6b76e0c20b37f6755ae0a GIT binary patch literal 91356 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�V_8DL(r<7{?q__7)*pUz?(_e2K z7R>>QyA^gS>{ZySc&awjQfSxFoO-tB_Is)EQ`-eA)4weL05Wx515&k(ZVdJkI-!Y(vIVnXlZz z0sA)7x2+KN8}0u91CqtIH~6dq$bx;vz&XgA^cZ2 z7`?aCpQQ6tsWNG5PzI8e26UKDYeanIGuON!>s6sU4Z-%>1|c1NCSigUtGb zS2kA6T`X->FD53Z)Rv0uzS*nR`(9=%3`|e+=I7w-*hJsdpZUvE({z0w^lqCPTR@A& zA&3P~K0`HqpNe_1am?{a+)RvE-VdtYnI?87q?4V_40Ik>Hclc+Nh9)OnXwKrDBUuG zL6W96_g~4~a^A;NjL2!YHSo;*cpKx%gs&PTL67lhb%xV3S}Do=9qm*$3#dm1E@D!JQpwhacaCYxyvD7YG) z&%NSpp4;jclb~p%RtLb>I*dJ|ieqBxCx%fwg?~{`e9G|w>cW;tP^kwf%wl3eNJ+ID zB$-)ygPcEUXu%|hI}S=V^Y1a})7x@jq^Dv$Gej|vXuTebQY7)u%)L?VG&|plp9nyI z);ZAjJ`OCgXWH719ApQDCbJ^7YICBt=* z3U!8D*nj35B=gx`54OtDIq~E1FYC?EWdj(>Kj%8lak2_Wq+7)=)@~%-Eg^aMe>*KW zuikTGBe)&zBzam(G>V(hf~OFi;WzcO?w^qD-lb0mCcn$}2Vr;IY5KXST^tF!e3HX~fEvsr-S zn6xdHqS43k9qF*ja$>UIhdGL2XKizNCn5# zQj|<_dt#`Rj}=r@rYlXg0K$X??A%b{2zj5LbvEKH)whuE{;0`?3@Zv(!EZG3q%fmP zEQgG7pe)Q!UkAHCxE%?8S8(L`m?dCmU3QUHq%_u8#@0lE>?IV}Gq#u$?L5 zc>F`@TsEvosRV7tBsc&m6s7eM}u@&R?pMIH@l00BjMR1Z?1()Wn*O#?lsOs`ZsOeWsUOCfx2Q?#o zo8^L7IEKtdT4!U*{!8;cn7-4(1(a9Rgo*-xnR8i}M-$}c!%$dnng0MQZY*GXi&=TX zppwF%fILQO^XMhr#N|Ugea|V>?lntSVQYM@SN21S{ngDreJp>9H0I;TPa=~|=g&A; z8kJ{J;ZvC7vh?{I{Aq=e{&{N<9ybXh)2_z}_HP;GO_A0Pp)|Do^AgZBgdX*-V&wK} zx;Ze`V=1Ixn{diElkv=1b`c#Mi0Uz(v#a z9g96{-nr3e^kNR5S*+sOhTUBAZH;qr2vez)kn2)TTTN)oLRG=7H|j8OD^xx%opAvg`?QUfFO#rX#oStlU8X{=!^_V9~6j0PtW8;`*wX1_} z@w{_|cw7-6dKD^q*0|j*K1u%ooP_+fw$OE9t$A)$HkUPdtkr?^+Pm?mY_ePvg&u8? zG7luu{OfaTAXy!wbu{ZkwrO){FO!{%RzuLdzxl_k+41zQ%c%X5b61zM$8(f5AiWbt z{{WnVxdBDehWE@V>2gQuEc`rD=FBwj&kYvf0U_Xf@0hcmqCHe-Audu+?SC>f3z1PU z-`r*-^W^Fj_H6nPt9RyI8tMj5QCJbRX_&GmMY9%*EKR`o995II|5#Pbue1e;8=9PSu007jjNC`PZ3AkT^}5xaBYm! zs~JnM72h#s2GKQtJ?ZS4R-Q)kd~--Ugl~mO`OxLMLL(#Q!#?35^2m-;G!g>IG8oxM zQV7d+QZXR+Fv0<_gw`ysG?f;7qn^_B66W4;0d5DU#nl)ehDFTlw-ltTc^?ElxEaM9`@XLOqr&Uq+402 zjs&YV&msFwnr!-mJzAj8VVhEN}jD z4oXGk^j({c#I*K#03Y!j-}^fn#Opg(o6Pi%cQ-Lc%|KWRp5FPn$q*fW3zUFo*B7>S zqw2bKT7rgS)Sl-lF?-z{;itv``p~GQPpZe8?rZcM$EM=2jT8vclGwvbiKR>E%V3cc<-@7QojGthNS0TGF?oYZAQ1Gg@1p46cl#`^qIoEkhc|?I@A7}l-c^L^NEcP| z>z~}~HiMi(y#%0C!r$vEu&LDyRvm2Tb>1)`U7Z&F(H;FsOv%kxAn>; zrpX_sTwm5~j(DD8m9(t`%X+cnrTLoP-expQd(v&&?{UNa8zCW(eNkB*2eigydr=_a;+4>_=7nx%1_V5qqZGEjrZ?Y{`V9(Z`jfhegz( zW9r*TwCYNcmvEBTZWgjFNm>!mQ+x&lC@uk_U@2Daa4I_5>7rmkp{;smMk&$@F7oG` zF7)e_mN`#QT~2IakV~6P;ct5KU*{A&B1@O#ofs3-D#?o2#=>{!AI%#-sY!2Y)b$r; z2YkhzHzOH*+2&n({_^5z-gadyb|#}Wx$}{*a|A&Q4^z^bM>135@fdMx8fS?qYkP=K z!b;P_GKAwMt`ZfY)io%7%!H48gs{M}86*=6e>LAnPGY{}G3B9&ec4aDqh&Fj9%i=Gc=VyC+;cBD;)6ybQby`NTe`T^ zq;oVj)>1uTn&Lo+1N=sn>`lu<~Y=@Ehqh+riZ>RKaQwftCLNc>e(G z5pw<7lG!8F^+`cUJvbL=qfy2rUjbj&_OiKUgn5>6$0N};)BLq<7Z| zmsn2G^to8{;B!ynPKcs_bOT@pU`V-07hYgpb$D42Xr1tXa+SbABQUGpc zqe*batfToc+=ud07DYf)R1!b3JJs%NIZu3Oi;&cuok*Yrqd!}LZg1Tc#%opQ+=D*~&mvg4vdDHUx zHacuoeP_%2nXFG%c*j@XImfFg6fHvX9GO&5c{hx{3~LRwn|r+l_Zt9oIH-lyeU^8d%IthuXeS^M98= zF#NFJ3QHBlW;?r9q1cKX*JZ^lWwsL%6!^dM>+;Uy$v$tI1yb5|&+n|J?9r3|01{ua z*_A5GkBEIihBLx=USHES?m{~M08^Ic-rm~3x`Ao)W7M1gDh)~nH5DhO6=Z%?^B%jS z&a-J+wa%X+nvX_SQU3q~UO8Ox#PbYf15UVNp zg0EU10y^c<$VZrB`S;DfNx#u#c;-XJPRvI29kSyX%aVzAu?d3!4LGp-^BO{%8;9L3$F^QIC3sUC&oWBEeljWAwaRj4C6rP--9$Xx>$&Ti`NG@8 z)(f;@zWG-JF(r~m1f7NuNKyeo%cnwWS8TXtEoK1>`gt3Sv}Ismwhb!o=1~o_4?L%$ zM5WK%pyZ{RF&82tJk~g+BS2dw(*FP`yybqO&8&8jpW3;RRQ~|L4o~=Iw>NHS;rv{G z)N`?RPI>g<{>r$YNq;0w%48b1KVlx*RM1MKHU5_Y7 zaxIJ8{!V^nTap{g_c8(AB@z$#Qgdkz)zizA!>*Q^W0*nz0LrrS{{SiL>RL9qm#aLLXN`j(RUuY}v>BZa3a1)VH)U(-vd@0^O0NnN%ZXZ={rOS! z$A_C>Ae&UwB1`F_GeIHrQ_}<*R8*Su_sVhJFlh5^k&MbV&dLZA_cp;8^=cMxyyiYk zq@BxjAO|3hOL^L#3Cwda+#pIO8w-XzDaxgk2KeA5l4w3sy}Fre8RMG$PP#E1-Ikw8 z-X68(?GimU6)XTFIXzyWwmTRTi3n&HTz!~5D=ZNUCx!t!#?SOEIZCl6sS!Bq2hbEb|l1L8BfSWi%Nnw0Q|CizZZ3 zrpuK{m{?aTErDTNthNP&Wo4SuGBn66VUaABk&0F@z^e!ttN+%G1C%9jII8Ygs@m_0 zsmON1gr8Mf#@QgRAl3mIrO-d`!;=d3fBD7VFRr8J8Lk~_AfQw3$NCJAL4BzVDHKZ@ z3Mz^LkxEvabi0PNs@T-)W3 z90(2!4-A2LR=wo47t*$wF^+U%9^K712XHgbbsD1#hB*V%;fNz*g3)y?b3xTo>J>5G zL-5NJkA_(P0BScK!5NvN?GFN04Z*8Xr5OSKbI-p#e=GFZ?8l${p$`oP?fB~&YK`nJ znEwDTXe4j5{EhxjcKCD0EJUL7xiOd;FBBs!VBknK8xe}CNi#^n&)Wio_~C?%O@%K` z{E+<8yz+;bVo4<;!gdQHl4!N>n=vt(HT+IA;YP#h-_B1h>7SWjmXc3k7EMyhGk0P~ zQdMg4{{XXInU8|;%8wh!t zJwwFhXA*eRjUPf=A$oYWS7!BIR5~qpZrW+jx8K|o-g+-yG?6*c!Urv zcF_L-zTr_A`f0iPb5EO!M$f4K07=|o#~6k~r)oCPkOc?6VCBam<_SirklJgBLB+ou z!jvQ$rHB;H+st#O;m_ZZ1cx4aFjM_E&9VwBosL}%M29C`pF!Noto7*RP(y?5wr(`t zuwk)vSv16SO(E3cZH{!Be%XY@7ZzAbsTOmOjZv%O0nLPGgD3M?RDurg%Q_9u55U1maR+?;yL`eK*rw|-pFqaj%r zi1x@s9!#a!<1-@V=?^mVZ|2pMF}zl+DnDwuywP?fq-=(q-Jy>Vp}Ba@zvnBxMpvU2 zuYBwDy`LOm=e1htWh{8CvN31eoX@Zv8n$obOLvLP^Fm!m_iEo{pMPwgJsHU>JeGOH z12bioS29R>J9R(6X7d&i5kb^t%1N@c!Ux`Gg`}#WEK&TES3?0D+t9a4h4Vz*Ng*{C3rZiWa6ty#a6JW!i2v5 zK1jnP734l=htk$(6sI~j-ZEidM*jfL8(XACTsOob` zmn5WWF3tb}>U;0}0rp8jk3S5&pt+gQ>^ zIOiUuurJ!=KG6fej&mKqj~sFiFXMKdn>!xllgs+1o36sP_vjYoHdzRxp&!FJOz@T; z>N|tDu#TTiO%8e9;@n+mx6zwzZo!3Pmfk@^;CO+XKEv&qVaegl`Xu0MH1W+IDE&e5 zx90EV+`dQiWR@_wxY4f{>v}EcQ7yEG;ROExJZJZBo{<>>EIi>9SVl<*%Pl@j#FNq$ zk}=AjBL%7%OC$I)o}VnU9QaLy7t>$!k3X2RNoF*wnRys?K*qI0+cT%?96`r1qVg}! z{{Sj4mwzxdC?HNYS5Nh;PY+ISii7=AQI%))L`kzBbI73CqTQg@J{=6Uu*|8vdVs9G5Z~P!Jpw)q9MqHaJXev1I~cUWev}(Y)WI zuC1pP+A?6yGbhNJ-;6<*}0z64~HA zb0RWpA!W6t)y=|NTSW6uA>$lK3o$;xWaT)-Su_+xor5~kypdz4gqvF;>hSOSJ~sW* zf5vGS?YH>}@c#gnnmqlbESqBV$Nf|Izs!&O=Q|#hM|tjln#pC<%SMp^vB40eP(}ix z5AsxPn$e4LdY|HRJWiby{{Ty>?Oc2Y$mgbpventChw|;w)S{x-ToLgdvZ-mChIHP; z%uEQYW+q)DbaSUM`HOG0m~zrKcNcC~2+1q^H*UT122KfCgoVIFiarx7DfJB~4bO@ZykA(nXLgtq&x50?ZUE z$CXL2C^}_jkWppIh-?aMnNe&CWpV^F3rNToVNHfarA>wgN^CMJ793Ll0RPa7jG-%m z#apf_)o`n}!h|i#f~N>W%l!RjW4(rYY~Z0j;Me%%!b97?=L_`+hOMjEGg3xTA}`TQ znfh4ueQ*T^L6XT=oJ^g_+ZA~yok&UL9l%=&ELRCGJ_ z&7`AI4j?vPTKUUYj&CMg>nL}H2b3T35gG;UYR^+Uws$z8_N2>l(gwRePclNH9svE9Azk?w>F#g=ARNT z^Qz~lb}`B@h~)a6F25KPu=%j{&BK75c}n^_O=bs^c*_9b^r65)r(c>LS4|gMissmV zplUIR;9=6IsKFAbU(4NgT_emE^D9wHg<o(frL4)@yI{ zX_$2=ekHHplaBWmxR=f+Fq_)NU5dLEb}H;uuyIyd^I6Z#AW+rp7@~;A_G&Bij{3I%eR`V zvn3(4jM96_HjO=nKHL8QkhvV%sNx&%E|3hd;xhL#NMzEqc-r4bLZyW#y_5U-exKM+ z@)tGJF`f>hBJ;?my zkLIj^Z87`t{zxaHe>>)Yz5Lm`DniQHc0R=&TIH_uVfxSJKB;m_$06U}HoAVvgn77G zHPSqoy!wWxdexRzAoi|o!E@e{7O8UjZ#9RkrDp=N)!IL!$SmU!#LD0O1 zrl46T{rmVGm+l#~!Ga_L;AYPtX_?vS7O}03U{IApjg1Oq6n2r-obuNh+e% zM?sTd*|r`SZ4{>V!ksW$X$vj4wgOTRa@+f4Nk~D-2ev?#VF@H&*#gWVo!DQXX%#5 za6$|850bJ6Q&nIHKF2F$u(m4lf6eHc&ULsH5ZozX$6yNV)j1&6MLY*n^EQr`gM=$} zFeEFo@@oG8kUL~1K-{)OAuhE|Ls6xyF__f-rKb=p>@!)Pw4)K}b8zUTGru;hypye3 z-9@MrXSU`mEh)tKAM2E0?TlHy9H;!(CVibOd%ls-Y!0vad8ldE3_?i=;@`@^)E~bn z?Hq(@XG08|@&VMi1>ArDoPfAcUFEPTJzL*!HCB;m!f6pm| ziBIL@n>%&v4mV_Q%4k8ZD$X^pF($d>n|pc9ZnWn8+aA0RQIP_bhuO?xxmkdmhgXoj{QTTtc%~rD? zhb}Sn$<4toAxm`_8aYS;y@fInm@K6NnA_+P*v6MS{{Schfbi++X*`O07ykf#A@}(6 zA0~4n!;Ah_e*}Nx+art(<^GjRP}iln;Sz;{)*Ya=jB$+zupR#Z%0CtycsPHhBlSrV z%V~4o_#C`rU}T_fNjWYCJWdmgcvp#kt^loYaIX__-l1)eOinV9BvQ>$T&TsJxXea8 zD{ePib;p5tl+EQkG638KBiy&Er2ahWum{DZN7HUkHSq#FHra-d_PPr1uC^Fm;)~CmoHGZ_^BnfKRyx$G;H!xbFnZRz=9**E!g@RG6GGl!xA?l^Ptes0HwNR)5K4DrWdLLH<(p2xhYkWirzcI?X7YRyw{w4p zeDg@x@k#Ac8uMn5*jF z`Ngj@*k4&mpmtXQ0W9#fiqIbdpBQa(+7>4Pnx5{{Udu zEE<3qoMm)+X0WEQ#Qw!edlQVOT3z>>Y~6S~>H+9#N8?9Zt?jwtmfoP}Y5Ouc2KzIp^l>8mBop9vIaV)eai6NrGtEJC|M$ym$&iiy_L$WE5R81(;EE$QDX2nG(rKmm-({(RcAEPD;gsaG& zX}!=jh%fCNtHi-&TI|SsAJvA^`h!IB_5T2z?(J^ur!A*k#w2lHg=^F|%PivAuAbH9 zzbR=N1)|4m5}Bwu&OqdTUKv>=vjK{JWBDS^`YA4w5K>@8!c%IV^#1@WDwt#qJPKdR zR|dGO$yq~{{U)=>U?~2e~56pshd#z=JF-HH*$G`#RsP_ z^(RFiwfy7Q{?=)`Pe^ZyF2_Zwt&6}dEG{L~-OlCOr2NifWXc37&WX8NGtGWOhh4gg zV9yQ2P>9|@Dy>hmv8PPP?0mTZs`Oij+5;Ik{7HY7JfW!RQEU1w%!xEQ#+@=l#-sPJ z4_Z2d?zz$P-P7C2@k?P#8V$}WiyC#p+MA-3j2d!1EA8)s)t-J(*lOu{b*tOzFlmt4 zN9zf$Wf3bfo`St=md0YKjDzVvEq;9YE6n;i(R|Vo)lZZ{K5Q` z@*LWUxzW7M1Xhx-G!l+Xwcn2=`&rIwdu-y%!3aw)^PR4nL?;`O;d#a1w&uQIKEtv!Y1I(iq7l75FMb0$5vgZPF> ze_I^dC7{STaG#1^-38oyx!RuKdWG-HU59 zrAtq93e)He&G=-0m2jV@ihtFFnSM@vXnb70T=LzcS5nuKVg-F2J~oxB;m%J@2mCe@ zs?9H>9e=}55Br`a7+?ADBG1rdRYnjF%JAi+QOZU6lU-GQ>E-5BkXX1`N~w z@_TsSe|cwiM%OUa_2wsxH#Tdx=&kP`r)NR8-|t$RaGWjBk@L(!85AY9yIMN!fcY zYBTnLI|pHlMr(A^=gZCYSwk9Sr}Y04!(c2sq8ZTz%Tn=K2=Y(RJy@XDpE zn<1u)Ceu8lZ4e+7k&nK}@$w{JHW()B+_3A^fE-_XjXA{uV=R`CsJlLHe?_ zJaaD&V?W|>rI_~yL2KnLBHj@dya5C^97^(E1Gvt6KAS!haj@JoaV7U!Eu7%|KAZj-ew*4%*o|cM1Q-IxHBT!# zf>d%}5uIj-xAEm07Mba9lM>W4cS35p(P7pC;N;Vg$FD3(leTOjm=_vY=_#Jvj@fvX zwHTmghptTsM~~YAR9-xZ2?asp%F8gI@#G6N7fgX<6d5uspa0a4rQBzu452FNGM@OV zx=1i8vM|L}RE$-11{5rj0bC&kk89docUICw>KR-RN3qF*hluKS6KMLY!0X8Y_-oOl zIW|wLzvmHr&lS#_d!jprmJ{kjQ@KOEe*7ns9Ag`V?6D)u-xFMAH2NV~c z>l$29PI&xLvG^PK9IVA{j%vPIvcHL=o-oRNvc48vOjo@htn8&y#&w9oZH``*z+>?irDXti8X~l80E#pio)iG7HrWJ4` z8se+@{rD+c^=X2WXuT@b-QUFmjz&fR42D@$Qvqcj(X-0Lif>AI0ktz4=r$)_UGml5 zuc=#D!YJ1=2>JF9W@{#Y?fwnrmxw*Ay-bidzFCYP>Ess)(5aQpmiknU7;;p& zlHMV;22l`8lW8^O{Cm)fW@bD^qb$Wd+g6Y2n)!A65}r%+=ShNGc&oY5WED1Z7NtuY zSxNg#!2HwuDVl7UZbjMR&p~k3K>e(*^6leN72?;~NTXyWrDioDHnQ_Wgdy_8oDst)EwUFeWHox;7d-5_3h;w^*OLQycve48n`1R#_-IWD78&$&f6c|JCHN-byzNMpsEi#j0E{M?ZcFRBSrs z+Vy&jX;JWbieK6Q;H5{y<|wx0qJAWw z3FmJwN2yyDhyimIOiknBzfMdQ3{Ud+&w9U+{LgQyS{4Qer0^ZNFGf-_VMu-F<&Vr= z56xa%x7KvYg9(sxO74ya#HYZF1R~V#HIU?vRmPB)&v6`}hM@-OMNQOlFfX-YF9fL?fO@3x#D)% zBnO^q+UM5bj>ggvX{JJXM{K8)GxYT(Z`+Xn0K)#xMwum8RUN0pYVk<(kOY6T<6H$$ zY`ml)0X07e!UD4&D}Gjahh2%M_OOGdt-AZP-l0&&>Cb_0}8eVD!dE?s^Ga4sv>WIl!kBlclmXB z=8MB5q}%B>8q9Q`VNPR~eOy0Vy-4GkvU~s1IMKHaPU{6VFLJ+JSS|Y|M@-aOIlP ze=rYL(kqqwP(K#=9mZy9c99>>akFkMII*AC^6ZAc6|*Fx{Z{xJ^{!*i6_K_w^q{`A z?~>qS#Mrv`!N9yqi+V>!ITMYTnMJ{>OoUPLsbK}W8i@q&PxDpG1bk+nJi^POjGWwB z&h}@bdHt7&cl>itsO-MyJ{pM2V$bwnJ_id)eu8sJpFm=X>0v%wGc7HBWmHt(_ctkm zv<%(N&>_;@9Wz6BC@mc#B{`Bqch}HJOG&5Ftw<^@-F%371_rS%>2uA_7JC+%*UZ)Ia?T8q@)lf-0$ii8}i) z#`(B|YvIMkXS+h!{7-**m9B5M!^)-8=`xM$lD(h(n&e4;r@U|^TdozKhu_Zffx8gk zSnd3T;Y})K^ab4a50q1);(L8nBMIE zlD5KEFE|nn#PH=cY&(X@66*+W@r0bi@VKFBD6!`?s>}`Yy%p-GvF7~O7T=v-HKikH zu$S(HdlMH)9uotqU)^io8``m2@{O{JKqYjCvn&$@lGswPm)ON|bc0(I*yosV ziZAde&yD8kXSvx~+l00QP{fiW6V?B$(?7|+UHC+O{U6GnFV#!4^y9JL>Fp?zK9Vm~ z>q8m54GT*_GMmCjSv+&|+Oz^TlS>ZnF*NI3Pr?3=ig>;{pd1_21^~pBWeK| zD-l+y{OyY`ifqLb-JkPc!vbfjiiUNDPYjayU4oI00Mf$@O4`cW!gmi@m$9#E2n&fzfg3%jfpvV_)abik_o(@m9L! zpX?vMx`CW=vCWH}aVo0xlUO)_KF>qD@aM{5SM=v(TWv{-YC~c8LTpRCT$1O>Yec;* zJ*<559P*ST@}l~hAEA>AlF#umE)@!G<_Bs~1Ne^}vDVXrbgo~;cE7EIdDm4`HyxOk z8CE7Dnz&ktOigGW4M%04^xW^27IlM%drUS6S> z0}iu-^05$Fri~aC9Y5_zm>vl&FF?7(kVr~OO|!xuPfe5kZ*g;r9$5viV&#CD;#7`< z^wQLDbrKzY1t~;6Dqi(fV&1jC8!EBFiRh~xglxmV)R}LAG$opMCvC=Cl}so&al=1Y z&uDHY66{*gokb1Cajr;|-X@nhP9se;xZQkqti(~A{zCzY7Ptc(?r@cG!il1DHo8bl z-6)$Dt$s>y-0t%X=lOm$9Z$!z5tZ1i+?IjE5L(&a`I38g*%pR^$#})#k?e^C)g#!r zGn(@Z@!5sgmeXmr%smY0()|k*T+v6&2h+;tX2#;g#!}=tR_V zok6oV`Ob1(FV5a53RtLDj*No{6Tjt`SXceik+Lw&K^#br-=4rKyK>dkQG$l1 z;apY)zS-q5Wt96AB%0BAKGBo@nsOUMvNr`MwPNH~FMl@fncXH;C-3Bw+nW`>n@|}myW8~7dfKtDRS~6OD{91i1w1}^;h!5Gvhg`9eH`J+* z1Zq-|XUPsV5?}Y#iQ2x7dw3(7q88%OLJj!i4B1 zaVVG!PloJm1_}^!g}lewd8#SBwNL~ox;5S&&5pCSfA2j0$h)lht0aG(?EJA?!TSok zyP8_bFfp{Ec$FhQoJCHeNn+2SOv*IYzi!rK|t z&TG8CgOt7w)Q81_HqkPsSu9e&>sI^;&elh@S{BhCpu7As)8+T$R5t|II|2qA9v6|t z42xNH8J#sX`v7&Q+E~^)jOg;cp$(Li;{Fv=jpR9&eu$d*2Q4M)A+{iG+Bxo3wZ$yq zC3$X#&GLIeQ%em$?bkvo?#8Rn#DX)J<9y7mW_OHZ>)7fDxwe|-E|0M3prTbZ(aFXQM`G5ar-#%Ql>GE3KcaDQ)TsZJTrv$k>(>2RTy5 zn=#sC(m3prY=g2t`O(B%ZqER`35_UV+Vd~iEz&g(`3{}~T=lH7Sk!ODy}MOX(PW9vmny|>k6vXrfA}IA8?ZC8pT=z z2~B-CI|xGu9t*|vbQ<22ZFL8Ll7Qh~HG*$lni{H5RamFy#e~!N;pI8oM2D>tx(2U{ zffZ=v_dqaWep~8+q`GDJ+*jHAKNQW`pA=Yr(caSXdKoii(r3*NZNv?CU!x9Fb#Kyo zUCg1ooVj8Lu)G6pd792c+l%ZgqgF>};W`aO;Sq_tVS;`~4kpwl4%KoUt!~9;9i*Fe znJLMhKz^V1`*#G)#6;blU1fOUio9wzu((n<9aks+2l%3Jm6%*oTW*o~s95z_L~d0m zg(pTjW@xmPzvPR7g&C_RsTee_j8cH#6|urfly&lwa!%tB=ZxQNQwbg1g(S8vLofxzpsx z+IP3cKA@qGvT4pXlh^WUi>g*|KP-!$SrG$rJKx~x-Ki@t=?>Li7fANZk41{(-sHW$ z{e;)q+OWQwI6c-$UZ)oKb<(GZTEK^##oZ>o(ct34&HlmONbs2aFrRw@l1C$fv2IsP ze8mj!@vR@7kG%Fx3+ARPBP`CF&IP{ODK1N|U?!(%rgkL*Uj#AKOCq2p2&3O{AqWHHevk2fxPkhor5LZk1 zOa__Jd8Xq2*sHqD5}EnLqTMi|Tf}_k`Y`#7rOrQo^RAwWi0p_6KsT7tM?RWzEl;%Q zpDpyTX8M4Z9*yNh6LzF01ch_n)HzUQO~B>Rb=U(vZkk2}*va`QIGqeGzEThyp)_nz z5bF^(0-(gtsOUmw9@xNdKZ>aTrnhA5tT-2OkOhM{RiWIi%Y%BFhCN`+)!X_)PV`}r zH$QAoSAG^GYr35Ku)HmYcd?2bp79l>wx4*}@;D6#w>&vxUJuW3QiP3%yPp5xE=pu<9V< z;E_p*&u?ar7>3E%9Khy(e6e3LuM^+IHqtc2UT%Q-ELgdHcmCKKsFxD=-}ARz-tK;} zSS@OEKY#Mf{-`+D>HEDW88$1C9>77U=BW9_IqFgWUNn0-Xo?WS<5)T;SNY9QU<)re zU#nxb^e%OU{Ft$>BC1(ac_UY5ocbeN8W0g1vh-7%;VX1N$7xbxH&*(00J{;zA!ph- z<^JzjR`{QUvOz_!UYF7>am5d*sWnq(oA&jcl%0HBmmC{Af?cEj{TZeFAHAf^x9sbu zqOOQnu@+`4pY!#gncQj%u;icS@(!+%s=vMC*%v(~c0&j?l=Ju zB#clGsNLcT)4jf#$W2PpJ<(&tLK1d7i9qbAMu=tfS4nu`Dfvd z)vLHex{`-FFB~(YZ=&JyhrzafPv5Y&Uee9D4yH%hjPCYi1g8tHcu8;4akY1ztqqVF zpCRV6uPlb7cY?2YvpN&$kAI`}Zgl|GS_t~bv~_kq%#36`Q*j9U^O`waMzC!u!uk-J z>CZHQNA-y!+xsV}6wM+Fwyr|tcf*ZZdTOe1AJSeDKFIlGpzPXTz_Y z=#hs@E2V%!_?*?nMzcwT$)L##c$1C%9Igv2+pm+q+1X@x172r1=S7YL0&>t`=rFRF z8Rxmi5%2PIhInRr0ZG9Lz#?HwRHM-OtKFS;PT%S70Nw7h%&2sfDcjhmhr6e8i!Vize zr=CPajW)blPd;5;b-I?aY}Yw`3p?_}$&1|i55*U2Z8-lPx0Sr*<@RO%cs`fu!AiE{ z>*l1gAZM*h=0)C|1Iw)elRtP=^6=*&zc9sdhXw5VvYNvc9fq-p{fKk*<-;KK1@!lT z2G?1z*pu0c2Bja_RE{gNX4QG$8|zQ(aNc~Li-nnoNvT}+qR}xr>qeZy`@O8d{+Zz7 zeV=;q`>6o1C;VJ1sJf2aBB=P3f_gXBzU?kNe9lFUFz9>t8=-2O_NxH~x{^LM?RScD zGyI2IzyDIeJVyjW_H+DUgLQ$6cI3v@E)$EZffLjCc2yD;QrT10XuV;%&zuKx71@Gy zkQc)-BnT&CYR`eOk>^bBl!%yT$LferMmv(nVh-N=ddFW)M=|5v(?#8CiP8%Yyk;Uf zc$4>J?a#WdzES%&zw7MsJdk8Fs))h#5|?Hc?tVK~siFy&*RDRnrvFjsbYUL}rtz0Jmrpgkyhf-J2pm0YVIj8*-u zB8bqG5FkH&(b(s&&Gx<9rs=M%E7(o#`R_#3qp@Pa$^w?Q(mz2eq3PrHBv0qiZm65z z5u)c*RNz6=$ifV0;JR>KtXdlcJY)MaqNPswtq+rgrm?J-W2sc_7yh$ua+g}!*xUGP z`Dw1WD`b%axku|~))1hf0+=@6+o+*$yG_#ZEAG+>YF5isAPS+jF>)2ySL|40nNeA< z1jJOw2e~u0Mp~XMjTYY?r`lPRdu9~4Th}&Rw4SARam~{c?!Tl5p^jQ4tp#6{%>dQaxHTBqxntC36kY0_bC8LoL9%swYIRNa%(d+3_poYQJ3 zG^1LzC%G_06|y)$U3|2gShGZx9Uf;iuPRjl$uNdHE13*z{w;5i!`T{WDs?Xp2stv9 zP$}uyI;(m3N|N-gJM}XM?trV)#>XKdt|0*nsh=i2Da{8b90w?7Zw+FnPOjb#g;WBh z@F&yAGDi7mQIW~0bpM`l!P{U%#ANndi~IhvsSkqmp6$`<%HpAV0JDL)@1J3_QGTK~ zaqZui9lF39V?K%&(oys2=`W*#fPO|% z_a?FjDhXGDc4NFz*%DYz$yW$13^Ibgfs{=Cw0@?47tZ+sp=^q2+%wxq6=XiY z8G0Of%1q#*8LYQEaf)@jBBygaNhMSk?v>T|i|%92(r5R8MRdMH&fxzG1TM}90IUuJ zG^JZLbbh@aVpq^E^ZUDx+)=ER=O0>kqV>21@P*2WX2D!V@tJ-j z%3bdSjo<~|;!8Ew0;*Spq*j|`0harH+5o2<07UZD@f?@M*s-eOVG?NdexPt;sq!BR z-D$7&T0K(R-Jp+Q;v`Rb@EkV|kA3eASk`6zurH#IK2Og4NW^%@viK06>*Rj#gCGZx z69`R%%N@U`M(I3}%<(-;*S5l+FG722$SbeS>i514_<}~e_n31JGDAz#9J&qKJEpkn zT$l;?U;;8=YJ8=rhq_{R$~No_I#oL^0eThJmvmtN?}lf)Me#JrF~#@;zO~No+kZ@r zl-AX6#V0AnFU5#r^l6({DV%)SwCoJ&(+5Ym?FD)Z4ZXRjltIbzn z&Qn6|DS^+7M$rSFmOot{7I#R}j7ePNa581q9y$eT{EyR?i2qP3R;e+~*LM!W$Yxnf@uUvb(Z*e}kobxWMgUFWh1g|p zO1IZ43E&@sxkrFItR57W*O!4DYKXWikXE9CKASose}o4%H0uU)_XUkIQ9%WF(jU{X z{tV5#-FWY=mPrfgC+H54fvzE*ly@k^U;DIF6 za?Ed8&%UcPl{i{N_IiIEs1rRWNavl|iESVT};#wjdm zjJS(u8?df05?V&R(R6RtdGC;TT>d+9UL%aJ$_p@i`ggAU&jBSGyyQc{smS|MSZ!Lp z%LdNjF>2m6Q-?wAAiR#^!OA(%NkQg#X7TK)U7;R*+-#6b4g)&sK;y0wH*gzpO_v!#j7a{6a(19iYV4)(z@yBx z)vZht(7Y{4agkLzCg(Tepq*!ot{QlKyN-)+yt(q@Vjrj>Mt@8q-WcaYhQ zvgf%=WJBhzUl1n~Jmkp(7gEgI+eV6s{>jE|4b$9BOS&u#jnp4Vb%NMXz8KUPea`us zFgRkzq@=aV+-8k}EqSKsi{8mj%q=(nCXTFV92@-09^#5&A)+4jD5zRQ&<=K7`{O`= z?=yKyaAxARn4X|z{N#!6-jt^36C`wy`O&^;#A`BOODop~7s^yrNu~Gk)ooKheanq4 zzin&FmGNb^=_<1HjN2CaXKUd7%~r{G_VIqeEp zArgK7`}T8$!0i_9@VYu>7*ShID<*|f4vgg_G(;}RMHcdCep7KY5%8HD5TaF1unY>H zEK(f*ApRybXD}2r_>Lu0ZlbA+n}WBPLpM zZe5~*ZgM0myRv(z?vx3KBtJ~C(Emf7?Q#&tk9ah_jQyVm?ZxT?LN*0dQv}WtRm5|h zb#MIQs6rZp`rqH!))*?)Y|E8~#!|kw3scu%GC8Y=Yb#OCw-hi{Lnr?-?MiQ5o5Ix4 z$Bd)lfOe(TRf(`Hva~XWZz46_sOVyzfy+f#el-2kGSpD&xH8Da_gW0vM*&F47jSUgM~6o=Yt4EZ{#CPDcZNX(g)O^t=8*WB z*7dYBS)q9+iJ9KjPtl_mm+6}n#o>Mgm$rwhn>Tp)ml4O>5>)aH(rd;g z`s8WNuk4b&w-?@26yPg#MU60tbDHJJYouoTuov!5r5P+BQTL{7-*rK$o{%cxEDcmR z<|R6cqMG-XKaRjSt8b5hJMoDkGoOI4VG>DPlzrPcBcTt3s@OLC5Y;!`F z>-@}M;)OTOLX`LE(D*kNmp`MYIQFvQCK{0^{xkHkN}Y4M%mQ6Fzij^}Z z3>znHj)#FMrq232fgT4Hto0TRlBnnd=j(30PjjHQnR0&qldn%N|3kqgL$U8~RQs1< z#UEO~F#N=MjKY=Dkp9dFJ-oAl@uwo+idm|q6r&aJkktYz$cxXZ_-8tW!4*^>2y74v zYJl1XLe0o6Aqp<=qD`w%eJU7;9Q4Or%})5d;-KM9Kxen|BBhYRbj;AT$A#J>U02J@ zVJn1_V7?inyzI4mz1snzRK?1$f0VPrcT>)wLGnzL$t6*Uc=Y1M`*_77+<=BMLp=T> zy3_+k^aA$7^URYkWJCm>6D|+)oH)>^^f)JB7vG_yFH% zlE7;|pozsNA-1L3)M4UpEtI5|?;e)y=m#{_+N$cqYN`@FOjQ`5tbIeN3%YP*6c#FM zA0J1vQl%)BiaIo|ky!twzJo7Kj`y8MjMcGAyw=qUpCaVUe84T$!$sHj)u?eRHP@tU z{js(Tzku9so0b)$bVowrlg*FDL&Li~7g08cZ@IfvpWczBv(UtwX=+4%pWs^y>1^u> z{i@cgYbB&n{!SK)uuiDE*~zJrQ4;k=yVaR1?1<-Ld0kQZu(CJ-Bu-6V5VaVbOzUFg zT%Z)ts7tk8N-)EpXia;BH|L>5?#0C5T*Gn>tWyl@U!B$TUtq>pfi7hm^7{} zN3Q$B`BRolvz1R6e5hc1hGeI7K9=n7@zst-hrieRUmDH%w8aFw| zFMaRk@@8MtQ!qS&bErB1zn_hpRU}O9nL~1eZJv*=L)oyK&&Wy)K$D?X>8?RxFm(0{ z5wpifeA82&l1e*VRSt6FwlT_1i1%Vj4l%l_aUR{_<}P_UE#Q`42+y*K)^Qr0#Jkn? zWR`Mm-F*98qT9%C+qmSeU+$)6>lU{l)%JNlzS2BqFkPQ}Q$4S+ab%e07wSat?V^6m zMXkiJ^(v>*Ec-Pb`J<7w;WJe;cq_cIXS{_8mgoa6KNh9nT)U_{UffAdDSt7`i1hFh zL8ATg1`M30cnMNi0$MPE05PcAM8fYkk;ofl<7lWZ(Kx)wCVd^Gy!yRu9qqF;o1-<= zj*=sDap-McCRNGj7o%;&;&yh1fLbZE*l$ak=;S04d_EqwD?eW2J1$2VFP5Xu{O#L7 zeoTx0Dw@GQDXWRSg1P1rYUI@Uk@(D-&#Qs;4P?vsoX}U;5yn;x~N=FZE zCKRVl4;g;_*^52bQWP{KXVoU$4q@qgTHM4|vYjB>N4rZcI1#d|y zr4ZY&dnz@0*XKb_mX0jwFBO&lP?CJ;wBxlzLTtFgE6>V|$w?n!r+si}!XVY?y7K1^TDuBY^KQ z|B$uM_D=x|VIf!MxHhd)_>mra|K8VLF@dIGt#cAePYRdf(yt^h`MG*&I|Bvjcv7~P zalr1`zLeZoE!EVs8s*1;%YV{RldoWNe~TY`_Z+?2AUe{uTaMY0?>|`-(1J=IqoAWChABHh&}NrJLJ0}x61p{kICW4eiB!GM>xtAjBu}5~ z)=MpEQoBUKEmF19O^9O5lKWW$`2~BqYx_8m&xF9aUHmR#b?#G*WG5YoqGg*M4>8EJ zO$91&n8mFpk&BkWUnre_-QST(^WUX4Or{m3!n!S(`ssy(I%I(Q%QX1k=I>@PsIr7^ zG(h)nkVW0#ibiYX9uK%S8Bl$8Wq${DvZ)Z_sjZRw@-d`JAb(=qzg+3G^#tuS@je!b zNYobBaP$>%(5pJYve_>>x`&LS)hsX1#Qq56Tak0Z3G0-p93ftRZtPIx0MS)GY8unNQpcD+!H|Dm)_7XOT^dyJ5y1*COkvt$buh~$o3LULHHmSGxSHPi5| zDCm$0yCqsTsCS!uAQ?RHPxk zC4KXK?+PCt5(DTZ2B_FJuVHJ**e?8iA0SG@BEq(GXSRvuR1^Bq^t~1Xdn!XZYKrc< zb}S;gPc=f}3em8HadYK1hK1v|DNmEo9%2Cr+(@}hqrKp?4u_ZOBptDEM`8yKigI{4 z<$ow&t@$gn@-u@4x}5A98Ug+BX!pn&Ol-;oJF`Y>F78Ofy^gfjK%7eY{Fu16&s5FF zcL;cf%U6|&YeX(3M~^+23lE<3q4AW&oExdCM%H>C=||=E9NShJZZBTXm3c|yHCc9^ z`QV5Le$!$P%)Si`rn*g@NGHk~n)zVNbTO0vZoID^_kVZE=^oBQ!=dw}$F0K;>CWNs zu4L`_Xn~S4l0k^w3A}(u{Gq|%zZvEoKp?~!>gNfsC4ko%^i~aIAd5!fNUrQnWEICC zv^XmRaDs@RUqvf3mh2nkfZ6PgekRyTN`$H7i>;s0W5c{TU*)eQxp0mr2HX8s%IYV+eFy<2QDr?@j+~!1CQc%y+UdRUxs`5 zh1y-~j;YaRpRqu4J3TC!3CW-3?r`f}-EdV7kltk6*zWL?H^kz8;-|FhB*SDtL863q z%Y*y9J3KtKxm>V{C-CN`9z|W6Sr?KnhUUeZK9yl=y8PM;)eXbJb%EF+SS0*$ZmcVL z8e0hn?!?{JpTn4ZgDX~vnK2U18sFM<{A|TYJ7iTO6pLjr#N2rx7(r2yLNwo_ff z(}QNA#v)Y;8?bor0+oS{Q_iv-At}CkjA7&~MI_Z@=4;wF%mBlf#YsMBhPs&s8 za(Ak9KQUp|>mA95(@CL)mqyWBJdGd*bu>)8cPw>0K}rW=TcGA16=sxERdk$uoLEin zh7W+FPEG1uORMvq5SO0H8X+{@n%~5=e~e?Fx1zLly&u$CaqBtW@^^K3Z-7L{i)3sR zX7#50FWN^;q_=(Jpj-*u&sMFxC97rzg>K6tFpfoPmOfkm2c#%yHtFvptw?k!)@^C^ z(yjc6?=^=)ux4BS${WUyr{fq71Yws|<(5gJ)s2FtrgUf9YXk*$p?W#Mj`ecyjISuF z-UcUl!n2nN(BX6f<%w|#xN zpaCu5HsODtc8fr$Uo!B6$UTKBrc**~^K$=!d8o1ookESCC0E~hDU17vVk;Vb$UXEJ z!pRB6R#f$+kV{aKW0&ns<3$?Z*_A|}ML%w_;vhcGHvKtiCTH^AIYqy=f?#C{sT0hc zCy@&Y-Pbo_#yN^ZzUdO?x7Sl<7`Pay zMwC|XcClHxliDuXC|o(;+}gs7K^25o8v zJxO`pHu@-;ARA`1`d~g2D&*|1D;fb=T%|3ITl}ZWS{^EjQCor6gC|yjo%iD6t#%o`6hI2IRfO4(>z~5Z5s(A*h z#8r!X15R2h97)wWdMK@+3@+}OdHz+AqpJ>4yOLL6IDD%d+-B1U6>m7p%XO94yuYGB zT@E@-3@ZmS#o?i-Y=QpjJi7%Oj98o_^0RagR=!ReIrdO1|5pds(ccCEngk~47He`rloz~@nG~S+LkX5lahT$EEF6dKI$pgs zZL4SnyL;ha3-|SZy29}vQ%V6LgH6^!1}O)v(^`jjafjH{HO2JVHo+m6@?RYP9m(rc;q{3^tu$ z3?xC{9Ptxr4L&&(W&U43i6 z&!Zee?>ib6N%Nsx!a0bNI;&K$w+y+DkEy;pYa?C>%o1=HJciAX5=tQXthjh^)4$|+ z2yHG{N2l*nn8{#2P+5 zmyj{e#Ais(zP%)}`EM3t25;M}p;?UCgI9=wZv8f(Q>L02VJaEL@mnC zpG&yCI@+q*t!p9&4LFbBbw(U;WOey42xbDeghD%*y1_Lx-)^b|&eAH9j7^pA z-88>P%Bg+P&s$&-g7W-0W8eV4W@Tdy_wH(QmlNBp{PfmBXZn~oZ0bkQ?yGXwYWHT9 znxiM43}mnsmIlrUSHY4cWQBahSSN6=XFaJ5w${L3$Xa4q+SGl<*Lwz9wVB!|F`?;c z-Ukd*RX8cd z{l~?5V*0SS#eQSX-P!o}r*>vQi}@havTa-6Q0HH(NEsMFOz*)fg+2`bh=A!uffSba z4btLiv5lVpWdqq6TkNuIGjor{pgh(_o$Ou5l2rGrKlDv+mm|^WNa;=+=d9s&S#L5P z+P!kjK33t-a#7uEH0g+au+o^|?xl>dV&>s>|*i{{7;IRTle{v7y06i@e^4ZJRGGgdlog=2%h1iG94i zMSc_PaF2^oH6>9~_JUMd_Sk9e;S7`4V4BzE2g%F9mZcp#BQ8u8k`d%*uR)!e9B^nh zVWsmU-#-D&*h20NoS&HHVpg!lTFifq17H(Y!P}^z-G`_ z-C3^%$G3DNm>`bSn7a9<2z>)rgYfG4Jsj)(Y?H4yK{vM*M)g@e<+#jY? zPwWP<&qW3a{}iK@>i^-2+gEC~z!k2@7Pl^e=%baVB~9TqKvrJ7vHDx%l%%$7Q!2a9 zZ=&uxrH@0*Ijt5yTnn;k{R93`A7OLd5O=1A_#snPlmTV#o~hZz5Wr0>{Io9xTg&J^ zOs%5soH?dvLu^3M888+>hGWmyAl4NQ&Nd$wH$+wnc0MP)E>)s}_{8kKm;}FroQLPf zGtK_#t1|%T$Qj&jM+++EJriADuLml)!bG9zwKm%fi8`GsKQsgEzi@h~6D@d+}nk=2J^^RQZD2)sC^I%T^IHfFmxElNI7)Kbmi~?GQ+=vS{bJq-ZVy4XF(0sECwtn z;q69%j3pfrysGqa#>?|!vtl(^V1Fv9Z)1+&nbpHPz48{ijJwM=lzm??mZdCRJUd`y zAnMI-aGe!#k-uFDt(y(y*1lc!mhbCb>v_|eyG{4^#h`nsO~>$Ve$FNP3SI4^)^ZD< zF?)o=FSQ5dlYX^<<>ide#1p<;zRdTFI5mSNPLIP$(oOoZTgiGv%=9?twI$OAY%iihzH4hUni{e zdLoDZxA?#P0~^9LZG*l$2>mzsGUW#<7i#D*PKy?%w>#|XpaFW=JXGsurD{M692?O} zj&!jT#L-C#)xW2}W-KdTXRL0V1Z;zm-^Wm z=7(GC&8c265tb8!~LT^(YgPqav$HyE>$pEam`|gaPD#fdu(-!RJ78uuR2fij3}-h zjY}NbW`u1FiNCGyr?e851Rn>(-YB%$a%^Y30!lY0kQ2@qAPpVjOamy#GKQsDoSF;3 ztq%%-9u3@p22?A&rQ&E>^%fUu#8pdm^;Yt)aS_uj%8!-qe!#rX{VTOK9HqA+gAKuk zTVA*qYDAk^U94+MA{mbcLaeG)BO!CtnCwgIXk`JWO>NqFnD&XI5IQb+hf*y#G~=?b z0{hh9zp1z#Y=9?YT@&AiJcI@Tn{=rv9z1;j{C|#ZRiOh_{vcqC1fKcvJJUw1`K1G+Wi_5pEk4LVQD_kMtuM06K~{sLQgQ2Y(D3p8vaj0bPV*Z$ z@yF;Qb9m9F28YZzTQ>>A@?T^!-ykF_3M98?GR&B$=+jrNY%*;uETAMj8diyphDTru zwMRiFsX$^`^t-4G5#Kg!%@&I}{wUe(L`1p^jg{QR7t+-t-eDL-^+X8jBbX^YEq$y5 z9t33u>X!F1$=T2C4Ld)-@@4F%$R}?*M-Uq@pHd~?*cFJ(fU#Hym#Q2|vR-OH&A2z* zR%bmJaftto}@@bd8yCOc4B81vJa&x)n}%1cv!u(HEQ~f286K0DTVM8 z#)O_b8;6pGnV+j&eF+5{#EPs}fzXQbL>j76cX_s%NrzCQxD??|)R)BXAJ_;}Jh(e9 ztb<}l;2iG7T>w&CqBWe~ApR#|Nh*Z}iW-(~OYNWHa@o`|Y#U>^z@oK;Q|e4ZuI!#E zG~Pme5r>$nJzxV;wDA{-rYfLTWIG5;AB3e1auffPDRV_|z(82fVWLQXXHj0lI{}%( z1XG7}9RvkFIPxOLo4gdp*Uu;?tGr^Nj#|MQRWT-DjoI?D5;C{Th8p7$ zUK78+;>h_dHe|Tfao3(gXh*dyuE?AolHatPxLH_v6k&oh+%RbJHpiP}5C++Rjq~rj z{~MHW0xSBjWc>niA2hD)`(O3y0MFY`D&g*W|eykS#IK< zVcL=2g=?Y003nwK(;G|3y4J#ONQhy|F`r)Jdz0;4bWR9$9JuP0J47fOP~o46qivT1 zpf*drHJiYAW*pw;J!o?DuS&MA@$IYe?X8K$Svm;St&=8SU?0VK_M4u#EPN5CNGAs; z=2Htep;eNfLk1VS~o{O$Uy+~H}d zg=;(8hhanodf;ussCIGNFc~#om@rl%7H0+wdsjG26lZX;Tc?`m&gC0}9%p;Nc4DeF z&kYovIeP=j#0s7c1RwkTy8&%$P(3^~>0WuP~}p_TPfv*}%6E=2w@JQn6j7fiRyp_aoP* zEELP-4fD~=$6=hJ(&;j^3a2A@0ds2_ld@hL zG7rdE9h9(a+Kej0|HU9Rbm{-15kRskGclpHfdsuznRgCIl)T4wA;M>?H>DsmxRx5Ct2wqN3i4`=BL| z@aJT28my>p70&60R0*P)YETC8_Lc6`2T^Qx?ec}?9Zu{L%PBg#z|160P451Yc^mz$ z)uG~Js@KYRDTl~rA5aV$_BWq4OPXb|p(tJlfUi-ecskc9)@W`^d>X$b`3C_&j; zW`Gy%4RT+wSzCV{q^MZZG~E;{g~Hz~|3WA(T35rxAUY}%T+W@Nha)f-SPwSw+_^DC zgcn}zMb2Xce(^z`QIaQDo*X_CuJkH`CU2Pw{dv9$(yP$|&ciKu^Z(Ee|0<@Xs(Nr& zA)~HVR4q8;A4+r36#H2*T5N`Wr`TwltXf;x)*~pUfMM~%^1J>sUsm?^IBR9qqyePGb%X8DT)RTD4{8-3~xP6k;dX6f)#}!`Nj_pTU{1B#AvCSivtId4eA8>HpMj1jKAF1c2>vl3daU^VBXXX-b9#$DO1skvMpx%> zHI+qQOoy8Y>Cu|mZp%Qy6VCyUmes2qsj)m{N z%eyh<$IJS8CPE&`R~#^3r&{_*$SPg+4>VQ2xqa{Ju2=1MH5{Wm{bXR)Ug(HRt(GN! zYeqb*R7`tsxd{RN-tk2Fz$728s>k_#{Ky<9#oUHvAUtnt{I29#0`?u>O2Nv^j?|p9 zRICf^j`%+mj{AmY)0W2MS+t^GEkwtfTHrb$Rl9xCYgz@p{RqV9zpnN`6`!nLIVj-S zCmV5fKL8bcIty|M`1QZyXL-;Vcz}TiA9!OG6{;{& zYUB=)vxI1vy#ov5sulmL#nj}QNL{i`mHI5`(lCg9l$7iki>-ZR)6D*24D~O{e<&IZ zY5U3C1$5|wbg6vDNe<2re|%O^ZMi@Ftl^1?`I>xdNNI3sFQvoj^M}FpZT!rRi{hj9vR-p&V&_!Gnw zkRy{RL<8jmp$+3WNN#tChN7b=>VpSMqDGD0)CBGf<|)R@yGWEwK}l|*X~K(Kl`E_} zTf?&Gmi!5T?dNY|u}kMZ2+4JExQg0>7u1sWe+j*y22kCa#8LA}Qi;K3Dx5UkQDfm* zYmE7JZhKMQs;)JipL<@^OD{=3%tm>uxmwN)UmM`8ADRZ^va9b95j4)6k(U8LFd#q<`U9ShaEaBd9b6q;tQ{OF zIa$~MJ_&hc*dySXu%0ad5CHSv-p@KX^uIbdDEItp`{!>N=`V+}zcwg;OQ3&BbXb2& zDA1PvA(+4QF8>zf09H#&sKyS;5&lX*|0T&w&-j;w1F8W5`cVGgY`FhQnEx&L+vW|l z3;>SMas5vTcK2ERKUF>b|Iz&&^FK52JXYv9VZ{D<{%bz)pi%&Mo-@#2TeRmQcI0yz z`at~!-aw%m0JsD|YfM!^9`V#l^?PCB#PiOaJxy zr|>^=5IQOQK*;jpuYrl_?cj#n-mTn0TBrq1r_u^DxrH4_P;5y01zAq76uLm9uWZv9u|!g zs>Ftcdx^siFRpHa`^xDf2LfJv-WLffYJ80zQ%)}Dz)49&ngq?$^)oXUZi4)}AX=$J zEpzGK0#}|FQ`#FA=k>vT({7u8WayF#LmHC%XSObi8V6>7U+P%8ho%%a4bE*}@yhC2 zd4#2wG!M=1Tw?<;Fi>yd{`!Q70MGr`g_rC&a8M7NUg5%Xe2m9?_Mk^&@|2U>blo{H zK~fXn%!TWW2I1KOL|X3NDX0?#FU+O2d0Z_v{^i2|+5@_OyYRFKpuzs_6B`f({^ZWv zFOU0prd-{Wm|bHb!Y0vv$?I>(_=U;*1Ptf%41IoWxry7=^^UAgKi|R&KXu)gQk%*DrpG`S$i`fgn^qu@vzv3F8}a@-M?HS~~)Fa&Y`EucT4r z_W$Ddi{bF^+=cgt^H+H1?=iD(cCmc8Tw?Za>acDo#k-MvupZH&YMltieK*uK*D3T*p!H>aTU*J8yJfN1>i@NVgHh+n<7lz)cXcK~zc0bjLo^=jj5ef9Pt_af*f2U28oo9+&N zcsW_PmrraFWP7Kyp*NO&&FKj!iTT%8X+0Xq$7*%gs8 zb6*Bs~mNEV%q-4dvhfVQPrL)x&ESLP4Ek8@Rk45#0GP}jqSL=-Zi|$x5}!#zS@)= zm^Pl7A-3j$)gHC3(01Y}q<~>Ke`<=m^9r=jOBzE9CEDn1tLnA-`#}wVR$9BSXXP)O z>b6rHJriHrx@PoAUi|Kk(Bka3SQMft29GAPXL{eE871oz$AMxy|=Zl?J9^i*t>Yo_V8H5gDU*vOGEudGVhdCS^V4a z?YYnwGg+~fUXoO~GkViOZO&LAv%07q9(!&7Ob* zrtE!V&BuDzsvqC?QhAz!cxEQu-lmKM8S>oD8FnmtS`yu^_tBLzdf8hN(9Nacm>_!OzZD$RH-}A>C7PZ zmmb$%!8V0Qk-UG3D90Uk{Q!q;Y1wTOt1(T7(#WA@Q5sF}ceyzA^`Z9%i<2xa0oG@1#4!6#PJUIZ))nM;PDXK(#J%h9 zmQ@CMFDh40Jnmn08sBuAxn!o?kMex!IW{R2kb5++ClNhrpvuNd=WO{o9geS>Jkkr4 z*_H(t&}Hs->kKJW2PL;GfCa(67T;%o(9KlGN{sUIGdG-x^^4vo5o3#dWig)x^C+BYuOk)ac zIS%#~VhNUw_C$JNc_~&eh9)nG9?_lLF0Cvx>?;;_S1o44$Vz@5tuFYNb^pvhZh{ER z(JJQb6U3W+3jK)#x%vZ9Jt*^33fP#-aLHo;6&HdQFb&2p+fwBF^CO+geGcrM3Kplf ze;!M7qWvdng6^3*2Cr;$(idl~OVRhNVr3Lj3uaNCd@cU62(`?SCOJD1i|S^Lud0wcuC z8NndU?lq@!^BwU#=D4NkpX>^Mj&aDw!NRma>cZHMdNV4>q=Z~8194^jh zAR?A84Q;Ze6#JZgsV56hfT7`)+hIHTsB!b0Th!}1i+;>W;?5uLi|%BH6%TZsuZ^oR z)0Ee1N=NN%8`=C5{Ikpwm%pW5KV(0oEoke*+B>;WbIyP{i9MSA%fI=3e*z%y4Lzf1 zH1K?)rOH0>d~g}GiW*dhoh@mmKlAp?NcG9AjUFSG0>gPVs$!(B#xV@qmPo=^TTfrd ztdwOh{Ty~9V818(?ikCg-_R!iC2eWX)3?>Wt|d&7C+%XH*ZzKdhvaVGx!zMMcb##U2Pt9~_^{GT!%Etv=w0tOjrvnh0CY=10&BHYydV_Doe=HsiQx&N4R ze{nOTd!>>GHaH{?aO1n;`pDCeV|(CtG~1=u{XkLn1R%7DWM0}t?P2m=P9`g>IxI4c zn2EQ9p*+|Lg}qpah42bL0kV&%x3-d{4~Bcqu3^6|x;li2N3)%Qi*RQ5)!f0x6mb2* z#p}!05Q-w@9R4UQmc!G%Kd_7G1tW4YGR`p~xNoZ&?OO+f4bxHBoFbtfzb-T{k}o~X*Th} zXn#l>eQDaJZl%WFoqrw~X94fnwkvh-b^dRusUZQ81pr;1)iozkKdOA-Q7*VtPUnjE zVaNW#7KQi;SO8bgJpp09F?FgB3svhETfP*Q-}WHZL}ccc=3JX5+94eT9h!Po!7X>y zEP_qKRS@!3$jT?CLwiRSOHB%jOqQHDCzLX?rFSm=a-jGYxf}i(1tH#&&4&u;b-Lp! zdSrb6iWjCspt@<_NPgdoU?s(+kmMfV5A3!AN~Zmx1yy`W4mDp;;maK_!XQY^sn1cb_Pd(7 z^rxzJ{Z+5*p*1>o8HO`nAI6cMY3HNN;#*ZQ>(RXGQ2GRHcM1x-4oj(M#kMYIcF)!MWkgfBRGu_4b`+#Y(D|ed$TIZ>&KeJ2!qTB$Zw0r zFAGIo;kMZZtv3zFZYdMvH~u#@Q#y6d;C^3s<8&i02cJ=J_p6?R6#iAKn!_WHwsGa9 zDj)U-#*QG8%u+3}*h^~A-Q5|Y83rZ+#x}}wjyH=drT#d%a2lqO_bEO@|PQ=oKL`uPeGxE z9JeHT^=E_82_DpEu~WAe#>*G2M0`7VOR-(Pf(0f5ar#C^Ummn*&5bk_-^fhALdw>e z^OwJLg5+o{+|Mby&23z>&A(lp;#+TPUa`=w`|dxjXGZY^z@A)L?zm3J(7UntNrFvk z_4fFqnA5C^I!@}BE*_$u0GY}-fydVb-ZtV-GkzWBV9Jkw$ z9?MYjx1q%G0^dI_S#WXS%TZ zX)p4h5>H^veaYo%(phoWHnO*H<9r}~-{TUb4{~XN>m8S8tHu~G;^paM9&#BP_Mhcr zc>K0cm1QczF6#a}Ji+8z!0`$A@s>|ub?s_Z3nHr5TwbegT%;)HE+ft?k_K9D=U&-g zXrBfTs8ZopUf7;Haj=s~AN!XcMrM#52`&$At{8u5)NA*zzvy0@XH2MojCZJhTDrP1 zxm*6=vDf|kE-J9atZ$&Tq!;>Du=?U)oG6TB?9}4uGFIYlQIaa z;;a#-7NkApM7GSg;&a`1&@v;?nSw=Oo<>49BSoZxjD6p#Y1l$PByyKrG z{nU)Ii?1Cy55r_F_;cPr$f5n7;0Z8t8exdVC%G3f{{7JJ?Qm=GwD317^G|FE5kQ1S zWk4X{X#?$zyriVDnue;3ypr^@2tbolvH?55K%+eNU{_}iSqaKFdis=zKcF!(WN2)P z9RN(sTpX1(Wwf4S81mARlrB)CXZ&xvn)@5|0j8Pd)F>(cE&snl*k+E-uK&b}08VoY z7c(dhhSs$6aCLl^pF%O7sqHg{d5$;XIYS+UV!~%^^$&ji*XAEA_KeN#!RAn#XP+I- z?aiNYKNN?%yIDXntP&K5y4zTIK=BL|Q`@=O+d%Piv<=VR!o&p{+Io&?QM+20Swk@! z6r(w7X-Gn`5C9;dS^Wn#{SWMF;R*E<03;n8y_{{VtX(PT%@`=z`T6-Mfg z)lAH6O`OdsB^~S?O~76N@Xwf^YXLaVb4v-GWFB^Y9v)^67U=Z46!AnT1({Ie@u@1z=HO31DBsGQ;x0O2Vqb z>cd*XI>Y+GM#84R=EGLQw!sd;PQ$Lj9>U(jA;96nQNl693Bt+2X~UVpIl=kCMZsmj zmBKZ_^}|iWt;3zdJ;I~IlfpB>3&6|6zk#=c_ka(DPk}FnZ-gI!pN0Poe}#a6K!8Ap zz>6SoC|W4*Q9h!ip;V&`pe&>OK}AJTnrWrc?@$5e~e6wCX6YJV@zaB z8ccD_x0v3TDVX(`A+LH0uYg~f}A7u7GOUR)EB5Q-665JnQ#5Y7@p zh$xAqiEN4DiJFO4h~bDCiPecch_i_Yh!08dNCZjDNFqtJQWv)QdF8G<-DHG^sR0 zG}p9rw7Rrmw9T};bcA&Bbl!9obj$SU^rG}m^!fBN3jJTn@zII}x*1@k%!0gDn#AWJjLF)KBzK5IPd5bGlw zH=7+>A=?r=4!Z(-AbT78IR_($8Am3^3@19L45vS53+EXZ6PE>7HrG#XTyACVFz#ON z2OeG?XP#=FJzi?wcf47=^L%)GYJ5?A!~F3468!%B9sIWfJOZu)bpj`X%!0Op<$}9H zbV3$Fg+iOcuY^s6^Muz#C`I0h z(I{~(DIn=9`Be&5N>(aT>W4Irw6=7H^e>rLGFCDbGN-cKvOcn3<>2KM<>KY$<;mpD zWUhjnv+_) zI)b{IdZzle2D`=wjUi23O=Hb+%_}VltyrxkZF+4t?Oq*B9YdWmooihw-2~mWH>_`b z-;C-J>)GhF=p*Xu=ojl>8b})?8~irpHVieKGomx{G#YtJ{MPPmr!l6niE;fq_;{tq0CRpxT30oyv?OBUjr&u4_ zNZMrBoV}NOpY#6OR@Jt|_Q_7yuErk8{+)d*7zb<%?sp(}@N}4TWO593Tyqj|N_IMR zR&*|Q0l65tw7B9yFH_&$=-oox*4;(iGu>}IbUf-ku|2__-@O>UBD{9IWxR`g;C#${ zdOy7U@bSaCuefiXAIQ(tuh*Z-KiL0wfNVhNN0g7YAIAdO0uur+f^>u0g2{pdf;U5C zLn=ZsLY+hB!vw=}!r{Vg!hb|?Mx;kPMw&-{`^5Gs<MPQ;JCSX(fHB?>;&(G%|zwIrXx|h(Az&r?SPet8>V5KIK4iZE}C+$>ufX)8?lXAQZS4Y!~Vj4i)hg zl@${ge=2?`0hg?mYLxbu@s^d9la|L;z*M+Z>{S|8PE<)%wNx`#=hYC@e5wU%-D>y0 zy!$d&r&!lp&sSgFK+}-bh}#(11ZwhXI&HRYUTe{7nQT>P?QIimYiws}FX?#Mk=cpg z8QX=@72NgI?cII()$!|Lk5$iRuW|2E- z-}t^YkMfK*edqq(IL1BJ_=D$1(>U*V%LM;K+oaHB*Ocf~&$QI^;Eept=&Z`@JHT&z#Sm z&ZGVi{VBQNy6C-ByZm)!e|2{qc|&wlddqh^1kr`;+nnfaY-l z#Q)SmQ@npurT{d_3r*v~!ob78ARxj)k8(I9%x4`oJn#|+0g)X^9QQeqiii9$K956! z3ja%w2EnAMb08=6dP07k_KB?eBZfRPcje0F}*Q5rE5E)+V z=hpvD2m&ku90Jr0Xa*S@4w|BcCW#TAbF_%iroV9XOiJJ(oobjmQ{k_3QlAATQIkX_^(#aJxWLv^+0}{`++6Mm8gf4U#?m#IzWISkX5hY0z5XY-j;!6}dfPZ$22( zZqG6k853u1mIFQoxjI_-7bY)wLKviWw$(*;t2pu=W_swc7x!7^43wKT&q-eo#3WpV zaqbF$4(MJ6xT(N$sDV*7k zv>(Hx(iqdt2%zFn!7W1JFeE@p`l3w57)$KAR*{+!Sfx;fU?Z!c8qn)tp*9VFG=vwt zCw@N@4c?iaKp+_wL+)2{;u8O}J@T1D$a7BDTtAyDih)YZY@Z|GEqPb^!@8SKiVn-Rz&XAjYE@Z*xg6w$LE2;SGppqmng zUTAu<0xa`|*ITK6z7)1=j;k2>o{qD;uc5u6T52+uTo(WHf$Az>=KN$7Oriczp7+TP zSy%6Se|X@1*{8`Wy;-U4d|%iyzU*uhT-472DBXCLvg)nL4m>dn5jMeNZ5(bx;gX44 z7aSC7J1|iD#auB4Qj8c`eP!<$04r$W*G|3 zix^wD&e`J3lmU$>Er=l>*!i0lH3v_Y8aZ0i<|2itS$>(Q!B=)tBJnu!KdHUu_yrX3!Imxf1Jt_oEXQAu=mXOgfcc@lp!hV^BmE zxe@i8v9z5=L@!rrpwSteI-hrp(_-Y7ezzqIOiz7aYfwhS(?bR$8=Sy}z*{zIO?YC; zyl|K2f&VBVH*-s;Vgs9}8#W=Z7LA&<#q17E&Y>0@z$^OPU{92O-0%hkh#neFYE3gb zo8-0VY|UwNsTs9s(1|Gh(UnZ<@>yN{amM{d)<#bQ2B6kdA7MDX zaO)|+r!TT_n&=f8!qwGIz!LTX*xKZe%g4z=2AF)mz7SB$l^>?`78dhdljV{nNBQAy zwn%<>LY0V(+)P^UL_6(;(>!-gUjb$Y+P7-)#hR0FB<1#QX5$7m4=5^lI_a9{5m)4d z(C$=eW9WXe>#G)JXBfJ1AF|cSHZN?tB-qZ2UULUbW#JKj^C?>T0|DxV;JZ z=R0dVCEHSwNAoiwE&oOC2Th))v!CM#8H)2Sn$0~bq!HE0P>}J5ZKg0--{vlOc{nad zg%JAg>}Y4WMz8rM%?$~?6(Rh9UwNEzSD(IU;BMzpaC^Sa%dk)1A{oOFSe~_)#+U2r zn{||JIkC3yzoGLP0-+ngjlg%T8L_GVOc8ZLFq(>N!ydKL%^uR6;gqS&#Og?_mE4fKBt94R3y*sSATk@i z3J_q~=#+PQiCMORo3g)LYha=fUi^aAw~nT#?sWDy-)In55v8`2n+TzeeY197oYPIw z*0O6;V;&{5*R}A^A-HQ3r;cCDAwufkb`^dX#Mxn^tQ!_q$rFR)GxLoA|3PrfPIkE_ ziAM=}!-+4;oYdy+C)G!T7-otGUefNQ+0IewgK;IE?0lC(*x^=aK%DE{=Dq#!b?gi8 zor4TPpWl8<4$<~+m22;*6hQ5?2aQY{udjJ}1a!$2#E7PkSt7})D8wNYGe#Aq_8m+7 zjIuL*K})|xCe=FRXIC&=4ij%Zlydp`Oy@l)YBzFsQt(g$r~?4GAB~qA8`oNl?Icoy zlqeOHg|GKTx@(XNW;wqk_wtp&YRczbGA0lCPdo2C*q_Mg%cYh3j5QSr6nSDH5TSVa z?*5>dJw#zx`GGlUF)>%}aQLR=a3IXq-hzA<)z81!H&Vw!h2Rxyk3Cn-6#|iPGF_*_ zz(p{#yIYHgZgwI=(=-ip=z^08jR0;*-Wm6h2*(;dV{45yLXli1Q;Zi~+!iBG-)8&O zMO;3KjiBkIh#J3|x^k1|=3Gn2a&tS$OM{37!bdvLRha>L#`*3P;oCp=%yfskoTeXY z1y5H)SbLAIemCU_sxq#3ZS^%Y;fkj#g>gTmjqw`4g~)uLoR9X}`f7BJr;o9)TcTy8 z)-*Xrx-9AUe)&i=e%0v(9c;(Pk#;MKy0!fEg+z`s8g9Jt5k=)0wMQYV_MH7bORLB1 zU-E*xlV@c&OuxhSGTlANKb+OKRg1p6si14_Qo84CG?jkz`n|Nh?fpvQ?RyyJE6)Q4 znAVyN(vs;&`}uu;_ZF_^CNo5E2}LcF7Db6sHOSyoSjUx(^__x1!~&)z=?8+nMV^Dh z;=QV)Q4XV(Da{Azn$gRLWyz6!f1S5GOlg?M0jp;>Wp6qK_I#8IY{MTmj2edHNrN1F{IC9z;@fqb9ia~Ayk z*@h)Ml*thqnH-(0H&s0DQN}MByFJ>qCM!Ww^X;J9; z89$Ry=^XlP-rqN}R^e?+E~WSPdq_piXjVCi&(k}JPmz>epyW{KP`_*GVb5MbQwgmL z%4d*+oj^1ciF{ui8wSVziX;N>Tq9_%{0UGYYtovWc$b0wzU8}PK9_D`=@u@2QN_b# zShkN?e{r^C#E8()rtoi(kmzJlBVv3{q;FVU1)&3-s4<)B1DSW)H9TG*u5n%DV zo*~po3dwhCVLsvJ$O`EBDqP5W)wsrL3f)+25@!Qu7g|;#t!?YlvDGdpf2=-Cc_bAr1E{lm6D?Yz7Sh@Uncz|j+y!y zodAqne-+%9jPvS3TpPsTbbQ7xa;_dy#$*#3CKC(+&FV&xecWW#P;3|Lm<~ROh5U`> z%nO*sPH@F(C$%fZg6z@P&^>(qoCKWxH4X}{OY}}ACf5-9&kE{ie9FkqUVqebkp!@0 zf{dGzdftW|5H=CHSwy*7!36!yI-Mw6vMmmlVaqbM zW%y$gh}EblJA(Wr-E{CqfY8hq&a}!KdXfC7A}?%{qO{F#_QAU`!4SlfX=73*HaOZz zfe?ftWrc(!b?Q`k6|vHc>@>09KLAeLLPEpsS`qU$g?vH8h5B2OzCfE|ImM4-0z6Z$ zVdfQMibgD0Uoi?^2Zf(qtr6M;T>B1_g_m8&Hd-)?+!b93pEjV3yi52g$6r}eN`;6w zoX%nIaX-Xmf4K5Q~Y9*}s|4a!7_?klI8Gw=$6BO*~rUt8oeBmxM^ec81|| zIXwY357YJ!-Cx>2EoHvt6g25vTnUP4MRC2cj&22C$&Vo_$8LyQy4XccJGTge^*L4h%FQCd$rpuDr&m9*N!+Z&&(%|FY?2|)Gd3%lQppM+B9vH6 zs}hWU3obrd)Tq-1dWq6T*!-~Ei=34JssM?}{^H_5wcs+@YMW}yl77e!v_Z9M8b*W& z7Cug8NwX?dL&i9-0pH-M&yLD*x%okldIfvCc>eBaBw8B#41bzg7O!{Qm(%7+?dG*D zmk7?k$7pQHV(ARz|Jvy8l?~hyl)(CU#1G>namh3@N}jwFJ@d%_*_cIyRp^eGlkP~D zCE()mr1Yel^+hPpCe;m>Z#6&Yq{l6~r^9D3i)K(qL};^ut@h}1g?-M;6q;bKx%<>X&Ft&Lef-oXq#>lO5!cbICw_^N=UNX__jJKfEu@(|JTd5sVR%(EMps z)#-gkYo>j}HMt(0D0P+kf;Ve?u8oN1h>F{QtxYR)*XM#y8NO>}g6-nBZzv2ul5aFx zjYV_KW2%HMRIxOLlH}%2wf7?7U1;3e*kqGT%U*gqR(fct{wdLyEjHPew5ALsCpLV}iZ{ts!A3UUAS3lP0KF;|a=C#y} zyp-D1v<0?R+{fVWPh4g-qB^kAz+*lq5Q_@{O-%>0_RtuyA9X8rYo4m~ICM<$#zMZT zm)tI8s-B@Vr=foH%X|F19gyBs-r0I9brW{Z_aJ$rA{3$Tp6-xJu=8r1aq-@^LslEZ zB1MuV-;A|LA4Th1;x>);aAD*;c|(lnDq(yze6SXlIGhV2qk9c|7h;nnNrq%k9vpGd zaMXT@h~VLT`&;c)(4){%z4!63Ls{*o2H$QTQi1pT=F6I7<(i_Mk?xoK#wtgLjxAjw zVJWq$t&O7aR!eP&A3B-Y7QSu&nG(Csfd7Iaa!c)T)@i7JV!+We=x84OO6ID2$ZLi= zBSEjO*rcYk)Qk+8qt`N`v74YukPm+t#1cN4KG(Ngf_UsJhT&3~g;V_U6WI>?Fk88> zdJC?(wlq*>@nBoFE>ZZs>5|D`SsRchF&o2z$m`uQPqL^l-2*|Oy!_GYVLdPZ1J97@~F@ zA5<>8*5sO^<6-aO=QsAN2u3e%C+F-DJi0VQy)JHeA_wiO$!;ASTkQ`0u$EL+!(m9$ zQNH%y!o?)VyTWA+>2D0s$<( zz30*+ENSj(I!$wO3LV}2tJ3ecJ5=>uxr04%jE?S-XvPgzh2Fu+zPp(w|xY|QR|4~hvC%r)pYX%O9R(I(v zx9+BUagGcP@lFWA5d+(%XH09g)+)U}oGZ0&c{TZv>l&_A|2$q1sa4~c&|G$kjH}y# z+5=KC{)<@T_M?o?#0#0GNHb%h!m`rC3Yd#+Ytl1ek@O)QDYCj4gcD23L$C!-Q#goW z0bc{ zH?=F>E%VbLfvs+aW={K>W_eu##{8cqH?}t$704NbAH&4TO-0@>T-X?g)oyY${bFQ1 z3uC`#hOuwPE#VTPQVQ>8)Na8D|V)KBu!W^8_?3Unr_Xw@U5d6|2m>d zLe?1KxlUan{bC{USLA$OKmKP*geh4q_zYjGzJp%nnBoY3Hc;tS^lP4mrFXPEHGf#* zTEQg)Z;`Li1ex)2l|GF|tJrMY${RWdPoG1o)2ES#mvN%p>3xeOy+7uMt{yUEV-q7%{c2wuu1VfhF~!w z2AnGU`iZJAXy7Q+ohm2f%$%g{@2B`4QRV4EgxGvMN25sw;L=PzU-BnLj(&13C&LNO zc`H9U{Rzzpf#)N;O9Z#1^()(RinxYG6rw-BeD!h(+Daj6tLx;9eQ7^!e|V7LPbga11us;DUQ`|n&JxveXhtB+iNjl#FMY;fcl@QowvrW9Q6b+ zAPZ-k69z;Y8#s%%!4Gdl;smF9KeklYwS%^+b+;T+R}tI`dRJM=#+NY}9j7x>2Lqm@Yv86(fJYDMJXm;r+G25{1*}T4y*Wf9GYb9qi+3W$7Wm zH%&8TY{raHEG#nKWx)q|`Ac65o7(8Lh^?Z`Ojoat25NX>XGzfc)`v~`(1atGI_y(Z zjxk&8(UK{nVx;0#2m_J&Nb%J(h3XRGmERB3EzRQ|`@)127Yh96-Wg5}KKAv5!OGWTqu`2PDjQqhb=CD@qb~_zC>Ire)NW5hT3vIFea1B4~ zp3Sy-1SS4a`~MgP*;**pXj3xv*lol+SVF`!umnHwr;+A&(rLO{13J6@Z- z$_f~J)23R)a^1eYB*xCyx=j4b>X0a*&2OWN@Mjj{P`kk=zG~FD3d?1S(XlC)VLO#} zRRcF~yZP|)W!C~~T?JgJs1N=7F*RMQHCvq>jxO2Oi0fva+yw!of9UWp5KAEMr!DI& ziYnx6o#;NrzTi8fOA&ilVpP_|vWvaFvZ&-aohKQ*Y0j)LbKYAHBcFExIa6J(SqKNe zOSY-4PYCFECy|bx|JtZxn0ZisUO>1fAvplQh%F^6c^?*QVr9;H%n81mt!Nc2<$!lj zx227DgaVMdWv$WjlH2JWb+AV)Q)#!CTr$9 zcTs%;oIm9=rL1;~XcOaiI)85J#<%0Ovj;PvC*|(Lgm!g!%BR|K4`p1L&sAH)ovR>k zvM9BU`K-Ht505I>3L(M>eIq9swTGgbR#|^(f-PhZrZ$iNlZIhC^thK5)>5sr;Nrkm zdG?BpsvW;kkY+Q?7m|0_?uhUaVp`pO|7DzLbjjQ z4mVFi@Feq|w6$s|_0d)IluHm&l^0y_-HbB+oB40TZT5n7$9KBXxiwDm5*kO_^VZEW z8EbM=unAc6Sz<(%m8v~cnOT!ag=yhK>oXgZ%S_VnJilRS{{+dV`C}2@O%!h&_ujY4 zMK@hVS#r-HR+qc&;KXlW!T5uzD<1@#tt%67m+3RcX3m3TVwZmA+Yc;bG8>U%o2?qu zg<)=gz-8vC6-F-A?^=Fy=q+g!^l| zA~J)t>QUblK$2(#su=DVH2GSbFwI;-nKEIdK3=7rf?_{1M!x{a@4Tf|xsKmv&XsW8 zSHMlZRR3rv-kQ(9wv|y*ZJ>M`Q@5-WP@bKtk7;B`Y2rDm0*e#ADXvWjCYN4tk1Jeh zUTGtqKyoVl7OVa+_n|MMLOJ_bHJ^^cG`#H>vniy=`YHtF7-Q`wkWm5K+wXq=J(qrd zSK$*-z5VfGW7KN0{nHm_^b^Kzm)R@yk%5)3r8?Kk$>C-4wRZDajKjiCUd0th=pm$f zM{TcEhbXV$jam;7DDpXv7`a+ps*h4D)^mHCX^dU-8oTl?TEy%KwqeJ~m82owzG*Q0EIkZ2 z$%XILkS?lx5vLqql@>>o+n=ux(QTZB+tHoU%*0+RJ661MsY8D8V{!oD`)a#4zncB| zEm1O0a%E28`k}k35U%bj8|7UXbx#?yxYIbgDg(nEXW#JEHLXK8VjxcP@boe~`%8`i z@3P)z{42cmO`i1uZnv{FtfZq=9~X6JkG`NMz&x1hD$sE+#VIP$%1AH+<8zCKuDl2H z`?r!CWQ=r2eWgdcY{;2Aqzc%H9hFCIO(HK-%l$sP!#)=i1pknbh$J9{+hErJ?#;sl^PWP;$pl%DFk*NZIBG9@yT-X%1KEjC$QE7y;Y@;38hShhPA1_~GB!Dq1=eaOR`%*JNyC>Mr?nsQ6G zA@f_Ov{_vwb^5z?I>rpoid@L)7B4aNrJ6QV1jS~AMI#N5k7=(?Lu9d5$`5(+ltoef z`qRF-TK3K&UY7`Gm$>zry7G*fS-p%{QW~ju8V*jf>WuhfZr`V}Ynl*Mv42k;XmL27yI#V=`@WHL=ry zd2h1(hh?f<`56>wgI>-<*!Zd?r;U~Bf9IU4Cj@ZKZoL11SVE>x3}=Z!W1m_3W0vpg zZ1D5owZpe@QHRzm;-mTxyA2K5}Y*{5h$7Y7^tmFpn6Wss4pXUttVK~ULBzBDi+Kz#g}rg8=~w9Zu$Np-O9AG zvsuoH?IK_G*>qIu9&A8oLewz9H7!uOh(nL?X1bGN*C>Uou!%3oZKO0l zeR>^VxbJmEWaPndWp{U*O}4}Xb8fXnXV8k_E}(_EGv4Wmo95}qyuZ`V9Oc11*t`Wk zDlw1RUujiYg5Cuh-6Z#H5>i52jzmHPcA2=5XNgQBz&}<8=L2VyJ zXZp^t*MuN)P+JIAeK>CPpjs4eC+qBGfa^4*w8U7bE2bu$vrLzT}Gq(mSSsVDbGSKqP``p@gh5J0|j);MtHZckCBpt{^Vevb-P;Z>GaYrmmt=WUIT z-p!vF`@nUdmK^p44SB3J8HE6M^MR7%hL!gpw5*f1oecJWRoDKkr0{UxXYW9q*>SX$ z#qsUqC}}e*I`PPyTU>0a5!sGmaauzhqHK#f3Tqnsxa2|RI2+XW16X) zEx)$?eNQKAy&3I%Q?W9VH<9MtjYA4n@X(m}Kp`cy?sR1Tu{D@3hkW+c9w7!bgXO}~ z<86yx(Ll1pd%TEvmZ&-~4sKBy&ZfYqz|>GiK1>Qq3^qxoRF!Bj!F&sr!X5=?%Bhhq zme^HD4f*Rs#r7Yfe!oq8Vk-X-NkOCVwl0PqLVQj034tMq8pQ9Vq8X8^@TRo)hw__O z)p=02xgT9JtUtWsFbaQ_9y-4$@zp&#$f;pwh1ty}rW_5!6=+{8A{jULU>a2s+h*Bl z(k1Wn?W0vLF>U5JaVE~v%+T1{p(-RUPd@)3U`oK!*lc#Wq(8=xi|myrxKRVYeCW|lDQ<) z6^dP^3r;YZQW|Wytx8FCC1=~ISW*|bf@qSRqM#Ll`PN9YT5XeEAgC5XmNj@+%NSNR zKS4=7&DIlZ*NcC~J>q+A zf~;P3w${r308>%y1gJ*)-X|SID;sZP-LEd@6C&>PSPh?QQSl1Jrqk1F!~SHgZ*V8> zRhyqst%vz>xc87g^$^~B$=VuJBaf^Rw30SN{M4%G(hTJwwSzKW-r08ozX6j^rNJEHidIeXmGuBu*Y_~~ysUrtI<#N-xGL_7=)?g2zecQn;6c|GK& z7TQ5Is3iEDIxZz4Inr6?Y;*&rVtt`y=*J%WBfdsKXz)I1G+h+1zbB!zq}vBdxaf~2|=8L$hbeaqVu+b;XZ(DN9j^HsZ<6I+^ZHVxI~--kfDcj%v3CwDj}RedPL; z{XGsFweF=8qom?j|I^`G$+>P8hkVO)wM5sN+f55jQ}~c_KHOJs_UPplaIeqartPns z&!p4k?o%$`=R!A%y~ zP;POO`%_UiB7g#Hbp?dirn+XIrxg2$9UG`yL&*J#(FEb`sWlw_^w)BM5z=DLhLE2J zk^u@&fuYFZ#k=Ha)fm=!4&L}Ri>&b%yefEk)^;&=Ezt}4P@F8=^0RCixIVQ zSuL?1y4*tLR3Ij=pk?K>X+#e~mHRMuG#qJy31pz4%}Mb}SOruARU1G~Ug|{>J%a{0 zrp5dc_TLCnbx`$PPk^tl3B9#Shm?YBtwl)tsY&oToHrpjV8t{B()+sCU*Kt^c%McS z(o&?+ez-mw^6gPc5+n^%q&Hf$(eNMES3&jQG8IBG!8=={HkO<6!cc}sPXwfN7>$+H zDncwUOq;WH3rs|}6=^b;s6uS#MSaycq3BP5^x@XuVdlRdq-XaeZ|_7b!|FMG>JW_; z`4SR_!I3g*%C$I2I+SWuqxO@FOtQ7DB;e4hk;Yu^WUCFdEo{Vwn21ODc&E;jB=vpc z;(eYNqV6{?k@}AxfL5DGgBwmCGM#Qak+!!M-mpdqa!tl;W~T$1P|;p#r>qKLu(T%L zNe%(6H1AFsa6I-ii6W_&k?x9xf0?)K4H$aDWJ{3Bbp&~UDu8v*t`D$8U2fSPYH|TP z-5MD&08k*95&jh@CXOxBqB7KVCD#peD)nM@!n_nodLRgpm8R1fVK)g$^KLf;AN#us z$f$Z0zK9+JJS!6b6+i7rz3KL>wA(OaC&`H!A-0mA06cxC0_wRVRp76o1Kw3jX&wo$ zTySVzsHBU12&!r{r!`Z=f77N65HHZ1G938Dqw;|%j)i4G>H2V^8^smwph_gas;VoX z86!tu_QIGg34W?!?<)!q~Txu#gEsdX$ zw|^UFwK)CP@T%Vi8c-LJP|R`90%<^SQa0T)bu7jsgWBC>a$v-tVDVFkTIlW}8}8}J z+oP5@Ce*rZoxjc!WbbW=ebJ*I) z83YX=aRAdk!YZJ59l|@ihsqABy13#;FKrcs?Tei6d@aFT#k#HhnJUjSZ(i(nZL!9T z*^JopoxMhq>yno{%}2w8n57}Gl@%JCu{pAJ?e^Do9lTM8#PH`5O$Z``0mm>=B`8UQh0VeoE(Y{{YK7<^#(piuTOyTXRK+B&S8s zc{dir6oN8RzfyIz)BBjrx1U^kLvJKaxJF3e+Pwb&$_V(Yrr+t0P~8f$(cp7+8}rBD zukRTD0OjECi*@-b-+P~D@l;1>xvF+#tJIVO)`)=8Q&2JkRx(ZJ^^el_{{Z@UrI_~y z4~eS3?f(F$jp9mq(#II@Ezpu zj#G=?b8-Iw;T#2fRhj-y?6+hs#oVt5-IE+X`W=%p;8v>C)iFbD)5AQmMT>6UXQq}G zk6`($bep&wMnAV|b&JnDC$<&_!Q%BPXc}6V8r=>NAPm1Tz_$qcaP~fmy?FktfO|ww4h92q*3s=)zNXiRP9ta|1(hw_9!e1g8XH=D^~rs8 zr;kJ=VLc;>N|y2q^Q`VNhZ4i(bQN*LvPwSF(*|#sR0WQqLUJdf-6e7_o29FA5(rU} z{CMPh0X4+bc2Y_y9A(|Wl@R;b;&oo|-trWEd*yB_v$~fg?-r)G*(z{DGNvrk!`-5D z#frnDH(6R~2_5tbzkSv_WMo!gdx0t`+><5CZ+iGp)QOCNqHpEmFoQ7^GMwqi% zdR=_x(n%WH`&DlD)XO01#>YCI#SQKr@;5nfs?V~Z!5TCp^+^v%`bt{RF=w^(uGypd zlR4eM1zo!JHsQzmaW%c2oi#4A?ZE=cu zMaQ(0_bS!bTkdiii8S{BKJ^9e9zfnZg=$s%eO<2_#a4+Eq?CI!Hl(NQ#iG+`wSa$4 zCbzf+197=r%zSb=-Q=j|LfJ~ojmIt%nQ>z??JC5mCz_7ZIV4X=aX=8+6`%kduoM+S z<3N%r4-}OwhQZFH(*sbG@g~(0gQd9N}FCO0RX)|;6t*)T)B_LMw%fNR1s^8iGrti+ z7f0ki{3Xbc_ z{V9%c6~iPIClVLw3q?~?nH3sGuL9Q9a&9hUq?4HN^&BasaVg>j+FiXvO1>gBDB}x1 zhty6RPiWVU)MiRrzyH+W)?VAb+R|T321Ht)&0rM@58_Wzh!BV5N~ zK*h+U=~Yr|?^CDJFyZi3H)PaBc8$q4-0~#br!EWW$U7NCSJX#{^&CfCZS0Y>aHvnM zuU#9e(?X`ZM=lqV%pJ!OFGo<*`h~S2D@XN;38DV!9?Vp3`eQ|16R3F{kF{9f-?fb| z6&%Ohr0Z0;6HzyqfqeCWR-|p^E*~Z*4=_L&*J~;HGV!E2)mC=04Qr zGStlGU2fvoKv!4WKqxi-G^)5`45l|$GhWU<#QIPkDEvEq^%&naC+9NsSHlg(sbR1+ zL|TvCD$`Xb=%~e(*L$d=g??l2P?sBKlTd!--yYuesUevj^NOpkzMR90S5;JadIl^o z+{Y;Jl?xw`v60{e;#+|mbrlN9n zVJQdQK>q-yXBNoe5i~S@+{&uUaOq#D{@j9>Hn!e&-q)ESvHF$4AiPe04$;p~sGl5F z_bcHcp!!F|soN`E0;lRf0E@4e$h&UYp@0)Q}3ktg$b>0Lv)=$Tc+Ds_VGxol!3#YW{t{7MxIV^{|x` z9MXiwKp=W6h@PK6=%cR+{K}f$-c0Vtm&qkd;ue_#FkH6^W5J1+mbEBlsXuCufW*XX zu4P0y=eayZj36*j>Vwl|68zOVXqgWm#FeKlDd-dE!mc&MWD;vST@+5bpp4WO2qgVJ z7z!dRZaS>Wlymo#PDY-OrvXGM6KGtgLTg44bvsP8AK}Zx(}RZNL{}OLrza%@>S-rJ zMn=E03#4;6q)K;HN{G@ksr6&3gt(N?Cgq}u3k!K?Lo6bSQjKZT0!9@;-08(!PRO_` zl6e=oZUbr;9q$R7PEPHyHM#e0!m>Xh`*atlw#$=Rc1&kuAg~pzDZo-GTvu;;`)%2u z=gl;FnTTO~L2(&0ROWk?g2SWt4a9kILh{p_gGm5!B-4OhfA6jZ`TcWe1MW^PUmoop zr^DM~eb0_|{2lMRE%EO&_Uw7Cz(v|iDQ(u8VoM1QIpz@Nl2jX|G3QH7!=xj>{KKT0 zOnk#e)G)Z}Ev-dOO)K>As@Lc1>%SZj!3=ZA0|@|^NC46(KyVct1~tNqSuGkJrA zdvW4tx#HDo*jy;9B zeQLG|y88h6S#6#qzHq&(jVxScw6{#F75@Nw-XU(=#oKk=XKnW1ZZoc2=f3;QYxsve z*5W0kD5(3ipvEJS21aXZp z#2Pz*`2?Qf-M2Aa{G>;bY}?6IPMb^wtwa9+X*tKU9?UHdr@L%_y#Dj|0E_+RcVmE2 z-RGJ&_3${|_mS>0kfUFQZflLQk`MiyGSW}06IT5>XBI7qquF1YZf|5fP&+QOa&*X) zmn4;%s#A$^)vTXen!j!&Tr@Yr7d8^?%6?+y76@r^EMfgV>26ZclB4PO3CLlQjql9S zIBR2WLaQR?U!GlKGR3*oba00qG(L)ykEmd}BN>uX;JD-{y($gzSko%$A@G_KmcVX< z#DJ94V4ies$*ESx{%h2$JPUF}tCiKbEv!{8-k(b?r66ZjKD3Xs3dbyx8Zm_T3Z&)J z7^|KD?KD8s`JaY1yM{f(f7)MlAAUWd<2k|q0P<;bJWkv6e(P{5$Q(PxK6Fr*9bLA; zgXU@O$K_Ntaqho|*lot__PfU8G_RP%HsUZ<(0kI>g%SPSOj`O`y1doyV?CswfcsQ6 z$EllW9tOSs%6$Ih3pcxY{!$Lz*%06$oSnPLaplw2mV;^gab$uMe51(mf_EA*JHY5@NLS?y=-#fH<;{i;8yj(_tw{ghBQ zUZn1FU>w$WG<~&ErR$dWz2zzwZS8QJ58r4>T3a98LV)^)EY^KDx555gEN`>zDz|yR z-_QPJu0G$fM$)$nF8Pa+r{pii$A+WzxU5bwfM66e$T^_-capW0HpvM5CPK!qsTpBV zlhcY2xZK}Pr770fPGqQ&U-q!85>6;C<+`mA5>+I03mKFVR_TW~*1YMRNo zk(;Q3=5jTJDa60HQ6*>_KVW+n(Scs$K3&!PeaKw7O7=h2`#|gQg!1z6NB_n;Y4lF>zm1^4)dSy5gKxfNJ82 zuf6NTz|b;Gi;2xPNI(TE=&v;;H0gkHS%U=5R0WRV(KLwSD4!ZVhY)>3y&*Xx+>0I7 ztu8r0r6d3o(t$m2l_lus(uo zg8_kE#XhX4wxiKBq4f1QFhn_|4w675oWKH}%yJS^a^NB0qtpsh!!dzHs%n^|Jk!Z( zM5yW3f`tH@5uHz58K8oSN*=aID_Ct2+;I)2u6#i)BpT3wwG*o`TrVV48KSmYoRfrw zR-inQT#|;#S6}P{f(DR;xFkspr2EQQuTOVPewPYxY7`z|S-kd#-B>{ei8|^*=rV08 z{kTvuC+1au|JCB9GV35ANljEzroyr&nHiu52KP9L{%k+h-Un@P9A{K8?M$Ct=#{B5mixkvY^(`Q5J2{ikv$zMh#VBI5r z4#4~rH2YiG^x{4!Rk@GFbxcZaOuU1o#?}f}J*ia=9hk#~MoEZy2NX?hytx(BNsT2; zxQvqYbrh_7X-fMJ7|&|g3J{*dbl_`MG}t+AY7*3I>J7#y9#Uq;0WuIhW1_K7+&WpV ztE2FqTosnbe{jM0kBXaYQmr?(46VI$YHO-SsSp+JxCf4=SD(_HQ}0 zy;*H!j$C4OPcQITrN@CSMU^rjOf>ftH8j6XE7J4J4>K>2-eba9p?QmdCjrl4=l|`n*q$ zEtdA;CQv9TBrkPJE8}L$_wLmKluU&!Nh7EXtl}T2ol6;ezR;xhU;SKt=!<-oqwd|w zDRk5x2-bQ4mec(i;fBNswTyOsszY=?*LUr~FaArPo13WYhdK9}o|T@x=46 zz$l{bY4k7MDRB9zrjzFM^w-sb7V+YXseENl%yAK6w!5u9?iR{fwTVJ;>e&32``A3QGcNEG{LMKd(@Jyf|61j?K5sJp;*E>a+{;kUe zIU4+`tX3T#yIoVtw|O1Z`O#e7I{8-jQM*#hQ=75u#vJM{lU$o21H_i$HmaQe0E-#E z@A`=8+dy;|$a??--cQ)H4Xe<7`sn!dMmtSUxCL@{r^#Py+gfU8G4~uTtbC$F{<+RgR+C-O;v~6eTRIn_{&4P zn&&T+E)l-+F1JgBpF6szx7y8ir9ARuYv&_D51{1w8>(%y!#HIc?+ z+Twmd1!Oj!?(DaViw*G~YxcnKEa z4feyAnYQ;MUZzT0O|;XCY=w}eE8ZtMV_w?!o8xKudw3nLK}V81YAC$g-%A@F@NX}! z;%pJWQ$Te|0}+P>%YC<)Y<#c$!Mm)t$rARY`_15Oi#u*U+%}1rEG&62RCIrL$>#BE0f#Xd#0-IU7IC73bNK~$Tg$ZS@h#QM^agagaX8Y|pB<+QfNDH z`KA~7bAq;WPOorsRgs6=`^><7GhVN$FvFOA7fo*WKjquLouY%|M8*9>wp;ykw!Ma@ z;Z+%5yWQYuDpOY1?%RnCWv@=!NkrtNLPrOxgY z`KZd}^9Z&y;+ooASLTuKwIgs`4rkJ&M^Ep>+#Zfd>}I(3G=1t8Z&u@P`A~nve&rio zd*$Y?_sCO1wSfP z&Cw!r&s|fE`>c1rr@NqI`d)NN}88UXGT`6y?-&oyx;yw~QQBDxz$2}wX1Xh2F+ z_FxGpbx{^Xx)vEwdXZb}slt)=lZLVq4hhU>3|1$%&7J_G_hu3YRBB4k*Zt9KO?_(8Fz9Xby99y0h#@(=*9{9=t=6{|kx-RPaU;jj zn&I0vml26gB;18?2s+`+dx}a*V?&P_qn58MxUa2PcFmqKnJK)xi^x%>HCwD zD5ECcp&7oY3gOFkMC$lB5+xr6I1tc2J|vt<#nTgUa0)t3po@Sd1Kl~M;K2U?A!KC= zRVb;BEp(~$Bms#S`eC1m$Jm)m)Gz!k3(LHNx@8oyW;GRVg)ICdKvOKUQ9dUKw{3t_ z(2%-a%4`K_R6)BpF5;DGyO*zWm8GXNggm4GQb_26F=pFrVQj7NjK>9EzPyp_HE~I7 zD_gc(Q;xb`Ta31)Ez(w_mx)zy{^U|e0nH}^s~c;M3F;1%&zD~oQIPb7lY~*p#U`H* z%$aSO=KlcPmf@$RE+b7pehk-85zTR-r(#uWaVm0ZdTDiF*FOL-P=)1qotp{+p$ioL z{D~HQ%WTX%c&aI z;C(u90f?ao^Gagt1rkX#ZT^lTqwuXXKW-F; z;qjWZq-KSZ4-iph+l(YKRPBOjketuKO(717cm;|B^wSd2Zvf!&?Fue!pp003hz0)u z)Gbmz9_0;jpGHJF3KV@{^f;1eW5rr(6l=rdG;pC$5HD^t;vHf_km3zew$xDKNcIti zv)YFW5S&AELsd1|d1i26MZF;x)>1V2vVSUC2dTmLzq}8(6#K52j5}0yVeG_vm7d>! zd2W~ZhsWNfeYL#d-xeWTrvl*>O}2RmbW=JeribV!72VHkbR$!Tv}C3B`|$Tsr`S`i z^4}pztE|-iAX8OS>Fb786EGap+txUR9N#v3R|p|+XQianI`nr15TZIIW2hC+ELiQg zx3ScCugyeDwlU4r(?uD*Z=YtW=Qdn%!gWY*-fc=h!be1bkOvdZxMbf?yNZl-Z)SL* zOV!y+3WCyrQorwxSN)3q+(=p4(CR+L8+mp3N3~(I+8(&bLL5Sxf|2IF`h^0K)`|6> zRu#LvY;D65khZlicVd|#gvV{U3urXb0B#d%O%ebZdZ|p$s})HNPJQaa&ki*1KpT^A zD(NHPqdHX)g&j*z{6*I@?8MgJVdb|`%={E>-OjT?l4N0rlqe8XPl5qBcH=~g8dR0X z5uUeh%QeQgWTmqSX*Db`(aKI9#O9uehR$E@= z-H2r*g5xZ_+h^HCg)8dB4d+@;Fp4_+{{YygtvX5rjFKxIv-pR%t3s0e+gsa}C>G7U-l0cX zhTF>@*<95-)7gs2=-W3R8FRbMK2%l_)z@HuOf|mGzN_`ym3bcW%3Hbe9QCrbYH}oL zD`Bpl2#OGzeHb;jPT0hJFt)wbKNL%i?)E|AmDJ^04}xons&yWHw{EUfsd6M$M^|2} zDklye127Z`2*$ilDP89AFKO8BTbdn?9MxHx7Xt$D!?NS4DOz=TtjAMIaRDTfl&lj@ zxIWthE-qOc&JHxrpB@$Fi+b|}4|_%+e%K;AWc#xC`rpgDmu}wp&y6nk1Gem&+mNi% zESCB5i3tgg{G@qn_l}wcR2+_D3SIQg({5XD7!ycas*F0Y`@(5u)s`|u=^Xz6Ev!0D zuMR!j0+cSiUlw2UwV!svw>;MwCEJG}*?CR*_G?sG*1(y+r^a0r4&AuzyPG0>Z;oM`Y2#=(8iEZlt^_F~cV~HM=j#rOolcT?VlmE`jFlbO0@K5L z_J29T?oP|c_npTU^yqLg=^F!tx${r1WH znLhWrxTkaN+kWQa+w^M`xNTi6lOJ`TF$j2}AxM5Z%(zsflHwF}rnJRo@1gg-z&XSS^_I_M@EA^=H~=fhJ|5G}M%NFRp4*1nn%W#yI$@~@e{s%YBWFB` zL}b3Nw*d#D^Sk`(hL7b0{OE~4t8h2`s0sdJ2g<59x_rR-qT}W_W3t$GyK4Uc4a7xy zd&AhdZfURgF*j@I=Gf2kA0z#se23bhu02}Z9fKIgdn@xlVvBCQ&U4=A^Zx)-c)iNH zzQ1^`<003HKA+4|u{#xddz2L))krkLt=bO~ig!Lq6a1^VsC&7k|=oZEFipqd;!k7TdY89v0;P23Nu z;2~S5Iqg<8DqZ! zB`9#m()nsWVR{MbvrnTEu=IR{_?!pDN6pl%ZcQaHPUlPeg)PCf#)=O`Nn5WUu%Kb| zeI*F`oKLtWZ|Yf2O#|YEW%9oJn@}#vhS|&_0}VHqsF0)f;rx9+Xy3zL@|iz-xp(5H zavGbs@7E<0I`b+(6{=l*WK*X~(-IL`LeHh3dlM-yC4O!v+L~=8MhXJXzj6Y7)HM0@BjcLYJuL_@N;bDezT#k64<6={ume(741y(Wd)@u2`Ap6c}^`_hguM zAvx4~Xd*5Gn2d08S1YRmr+*!EH();C{s3Z~lh$goDbFo>byNeEo}W$#S`y%bvX_102i*f$&W8vg28p8LBF>7o zCdWjk+X@A@(iPV+O7zRofDdyGT4;{uHNuV+2m#JKi*br2+2xor!8D5|s%>N%3MghV zGY;(GgT+)u#?su_Xn?LPU3T>2ZM!rO`cfTA0)l};t3?G5158UsTO)NhB@ZJX8??JL zSoB-%k+_p5KwEKSAu^*(9{Mz>R2^vhr`w38O9aHVuEbzMl6+G{0dsIXQO%c?Hymc# zi0r@AA*O&wxEibvLR{(u=XAwn2 zxD>QhNTm|9?knlVUh8j~E){QPKjIYZ7m-MFq3y%`5fbf@k`{-ep>4VMnj_s-T~b9y z?ZZ(sjWNkO3;^YVhc~wuT4Y6)blUEGHNl{%E?T6TCEx{A5L9Wa(Vi^ZPf$wNhE0od zuO$b$Y|*);(ctb})NN?Gyxc2!Yznlr9 zWeGwOIt+z#J~*_;XCoUz>Z7&&9dZk*ztM*CKsc1VQySnDmt%V9 zy&<)hQhIqwN-6Z`hK6ve!cqLyqh=Sd^tBq`cv1MVn*JrpDiSMKFt7zH(G#~jL< zHvO+OC@PeoqX`u_tKM8@tk#yrO|~ma*Pxi|c&pyf`m#BC6N;VHzzWZ4Y*epjv&bvW zEwa)x*2*hSX~Y%G;+UzscnNj^I^DN7A8o`XTbFy=ZT?aBnz+x5g=PIsdcMpzw%e}e zKhufM?gcM(eQgN-q^)mx2uA7MPj4G}1dZYP!^j8xy@nKt1fI0iq@h1KbhY$awjx!*K57jY(34hc++d{8&!()+ot&1cNedX!D$Xgj~?5%o^38n zldDQ1goPn%(n^X!IMTf{=vylbsILXcqbf{+z_qO)mmWZ#>eqsc>(5Z3ytbMstr*73 zN{uuxHNzap2a%$upEZ8qqjG;K+jyGCZ+B_!t{{2)OpTXo+znnW?$HfB72CmxJeT(j zcUJpz-V1R7XG>~2N{+|Y^X*qIg67VIxs=uTi)u(NC&f}pBph*A_SG%;GQ)FF1FJ)j zI1B*7lmjdU7Odl?fEKhNDRk89(kWkA7@R+nxmRCWT5!}AI;Ak$xjW-R$;vuXHjk_aM%7Syl_`- z%xnY33X zq}{qxHzpZeooICGRl(Ur54ze`LHbopIcCQx-~w*#;vvSVfzC^Z<{_pn&bXz85T{g> z4|GeI|^_&G4 zEY__?5=b?nb1`4zQNn>0%hHITt#bEBB=i|zgd;E7(oxW5D8?su{lTM|ipla1nYfgbQ`pzY;+C0a1 zrnb)hn|qVwSx8K!opg6bl5`}4pIWIzVF1*#i7DvGSRa<4pe4VI0h&w# zQ(e6eAj(sY>r?J6^=j0wyZ|3~`UVN-RHdH|3*?s?Pz@Cp(RPK zl@m{H6qNXi;8Tp!pCMtoCsI|eok`JCfsB+#r>JTQW-8a3v?EG~g=yoCEyWa+s5${j zBB@Sw9zOBMX$X#eLPq=5s36fop1!y+2+b4;zD}PhMI)!Y0rngmH34!^+VrUeE22}8 z>zJ+wLQJ};Lyv;4zjSp^UYHQTijcb`15=k;1MR_pT$)z!Tvv!RsG+BgPfT?XlT@N3 z=iy)=3WC|Kd^F*3#MrqjQ`u+jpwGt&0YnKKss%L}`2CpW$pK!XqA~)f0YHjhMgP#^ zs#U&ZJfDtIdTLH!;*!}~;el5tMB$i0mz`P`<3M?cQXEN9B84jl3q(LTqLM(t9>G~e zc__27;PMmnK0&3L5_oqDQ* z0QG}k*@Qzt+vR?AI>3ERp}=DgaFR$mkZ3-lF)?M-QZom5hi~4ZZ#Ed8^!QI_ z+@oo>YxS5b%xKJtjEk}ApaAraqw2+;3-~6;(DthB#@{?SiiAVAH~jlbM0Cn4jpGV= zDnRumT~mhF`!gjqBOYNI({*%s1BWFqM&CPr8a^j zVz(yGG;b8dRAi?cxyJSy;ApF*q#uHbtHG4iddRLW*I!xhRhxgLDSBgSM#+=uR5pbN zrE3QjTX%zcKbWf|!~HL@M;7RdSx61mgmmfqv1OV{C@7eu8*FA7(y0=ejFkQ5ytJmD z>l{N|J;wkEQm`-#%@Nc+-LfrV9~FN?r6Ps6fo__68wU{*?YDAd!la|zEt&N{+@F}| zeU)kd0J+)b-B;7@Ho^@(ZmPd#8$YCOWcr*N@lKi5HqqqL?}AY0b+_o_MT2NUf{~gX zx<2%Uk3lJDG(OxAdVLeW%#@zs2i}!Ebtw8H1H6)$C-+0lmlT$m-0fKzR!T*N9ClUo zEyTFLrnq?*L2YrGn9Gl8C+-QH-EX-(P)Hg(03YI``==xCt-ufKd&cc{O1}CgPLNUl zuCSk?n3#iQw1?=4t?mIs+-~<${c^e8Z+_VpFI>itM74y&#XkoQ7J6t|xYmlfJ)eoeL__#Na!J zYHf45MF|1t5{i2p?Q&Oj{p@gmX?vP%?VOGKxmUIM5=3_NT&myJY(z*M1cdzMQ=W~6ge6Vf2UE1!+ z+V-uLWN&EPcSg(G5gciOZG&%{7TFQUz@c$-om=WIAAQ9%wGwfZ`rqkx-P4h>?#-{7 z_E+g9M;HDQOMs;X4FIJEG^Psk>E(poReI=Wm5^J+(BnZtO3(q!=5gdo;^*e?^Lpkk zTjw)s;f_N)Ue9Mtu`_Y)*jCoBQRT`)qCfCge<4$2A;t-5X=T)coV-nHUYq)I$gQ0% z<8?^)R)m^!#km}Lj1~LTeyp^$mOD+Zjfy7e)j(Wv&s8cb+3#HPD)R9qT7XiCQ7R;o zPGpi!bv<#i{#B)7rsS`N{FLf#$$%&dl%-kp^<#ydatn>$GMk*-kz$`Y5?%9BXqCq* z3#rQ`RAFXWJRC4dy6LC2H%Zltq0o3?< zF&l8!gFqA5rF|+&7u4DNvua7#BZ;*8Yr9P0PkHc4daA=x}@}HFYH6n}1Q(BHg zD)c9=0JNgC;Jz6M&Xo;s996EQX>cQon1zl2gTY1Dc1uj%LXNL;si&g3;=^ca;G%9t0jhF)Z6Zoj@TD=H zG)lsU<*uj-8i#@Pj5m*Qa}GF!@=GSTVSz%jBT2T+j?>H*94T0#6;IH55s7%`Y>lf; zRBNFuG$B4maXwiz@HM7hys(3wQo)T$;=NL#;spuy)Zp>9i=;FO1I{bYX&`~_>N#hH zfKACvtuB(}qNCm*o|Wl^N=#&tO=$jN3WAj26ad#M(*iIk%}r5}<+RmLQnciAtw_P; z`j9l>oa7>`s+FQrLGa9@2VkN}2v9l}}0&g=iN!$up&1UapiN3gAFVmE{fvFZ#+IeS;i@d2!WNgYk8)I*XHY zt{qNhR7boLI%9x9N?Wz2;<4o|0O?5; zsP^^xD}sjORJt^>J>}Zrpess4Vu|*g7^d&dFmIboTm7T+73EEapkO|KiDV?DU)4Eb z)uq{q)!>@kT6wLf5TlKqyl;GOc2qg>RQ0L#2PRvTXcP$3<}|LAr;m;o-Zp4&;;T&@ zGCyHSZCk9iQc#Mt=04D^eYRbjb=jJ`SSEaAe=R7IjDw75pmr7cT9HLZP^ zBcn>TN+oHy)A01j8sMH%Kc1AL;=HLqM~y3l&A3JquTM^prWO$Qmg167$r*dZP*c}} z2*4>o>?*o9+aEQ~*ti3?zCYu>2;et; zEoHRTXT)P^x9h7LOGYvl5kZTp6KDX!``<7xhd-phNo zPW=A>o91%e+lJFQD)^guu&EwemiDhL#}wfOyr>oLV;ObT@!fwmWEv`6rk{w{@p7Rw z9~E_uduG`fgAbTSomIn6cQT1Pmidg`d#I1Nx92VF2RCH1&uIHZajZG0d8hdvLE5{?7Ks+Q3B= zC(b`p%a3M2P*Vd+*D|%!aK79xHy3BklBGQQz3`Lh=mm4j4*aIKf{2o5Jk+dCNFgC8 zB}(w~4Rh&S9|VO8NR=WhZYrg2Dynhfed2w7tST8$lddVW$nzaag%MA6u&U`u9aMdI zFP4qw4h!s1na-uvs<9)Q$47$K{AbiWKD-ilXl({%3}86aSeO3t0k#AYUL}JPNd_AM`=uvWh#qOzW8(V z4t_Py2Xg>IN_Botm~JQUd9EeER0S(gtg|>P8j9?Z2b`A*NF*d_RejJ2AXb$0V3b9z z7vIXFwGC9tizL@9br2UMk38TjWw0Ab>ZE~E0IfP;Xq0YC+!rd#Ax5AnUhR4ieHbVh zmCwmKkTq77*N_A3z&H%i0Vf1gYqJD4sS^@B!ZkL}T@^ZNY2%0++xImtCZ5`wGB`(1&!X|IL)2dPk`wk&)qoE*W zTBor~&pIfVaJZKdbpaZ5p-Le8F<`M2aL0;@xphHC6jOf)?FxdKVcvtmBgYXgIG*(= z&!j9f)Wokji42FEs=`pJR1=*+9S#N{T51g!I*t@Lp-Y9O=uIiub&|@{?=~}9YwYSV zF9rC14$Ux@0^G3(UNiJ^K+Gfnlc@O8xRe1fk@a4bq2{tc6ab|7`mk^kM5b2GiISB~ zUh*kVW|Q_|cM60?nR0b5(0_!m6XDc_90@?3TqSJK`oSKL zaOHzFCiRlnlt^mIr2x?Sg)nE25vossU!6+ULQ;}wDmsyZmjT5M3157-ys(WlBcU`H z<1=}o&{ii>RGk#}y5)`&fP>2^196=}PNmcgsF6?Gg89K4%S!|)FBFE@QnH}X3H^f| z`H4dTk^V9ieF3zJeYh#Se`*3hkgzdhRIN*-5--R349j?9y3I`Ri@i~wfqgmprq*@M1+scX@A6n`$vuxx1G^Cp(Aw*UMN&S zZM$v`G2F^jXH5Z0WV9>f%#2lB$FIZ0982F=LAXIj4(?#6n@icOrl|Jzg?25H?Yp|g z68URE{XS|#s%QXI(!ipEi17y_j6&`iEhjNQG4Wdsw6Wa6BxXeq-7T%hCn9K5sG8^X z;r*oL$(-Qy&w^EA?kj@idoi<2J{`h-RhEBR&8_UFgiIiwX~08y|!C`C+{7*95q5qR3=~jb}BhKV}Zt$}6M+ zAbLSqDWI)&EcpF6StV4BC*oaGApS}+l;VFMj)D8|E;?IYD1q9YP6(dZ!FhUAG_r~* zdUDIbBi4S*FrC!zPGSd&CZBe01au|3Ya>G~41l1Z`UV-r0eMazC}=@0KDWx&;nbxa zN>Yg#*E*VFQaET6Qz1E|MQL2u9#Pe$2{ftF5)(m@G_DjNfldg3ilu6G#hjH)vH*ep z=)p{BTAD2BDgY_Pk61bS{{R(mLMVhRtv*|Mr7I-3R5YZ}P$s?<$8cN|iE$;hl>k+m zNu@;REXuOY4Ct#C37khRImPxuL_u4C$;z((9xIp~SCP*EczO(W?a z(T*%cC3{lV5D=0`J!$J0E`p5Eu@azYqtMV`D2~&D`xMj5Mv|kg#SJ}bRgl0u(F1Bi zKY;_`(%gp=S!$taCoqvu+xszJyS(!a21;7e+d!%MkqlHkq3;5Q+@S>JT2)w!k-#Y? zf<`G8<7G|R<7qjE0*O8~La@Dqt0}J}+VQ>xBip>MA(s-0q@fBqbt+>&*@%g2kL|@h zZ7K-;uu(4N{{Zp524%H@m!N;678?_bd(=(Sa6QUGVJTEwfAJPuMQKr+N$|u3uc1BV zOU67Sxp-7|2uh27@b{Fl>>~sclzky1W#$szm5|s;s%l0QaB(;w4FL?@E!N4jaW5t; zqJ8I6m_OPBt|aYlri|rKncP7W#&jrAR@o_VBqc5-H37hV)9V$)<8LD)6Gaf~ch-Sn zX3F|rkmA;W93Y_})QWpBCvazK0cz?j@7etDgpx=`W`KJ=cmsb?k}$R*Cu?gFs*Jes za*8QVuL0^92VW9{$xjisq}PZ;cFjH^PZLg*@i;z->;S~qKR3;zJLZi#RT`cp%S zx2U^dEo9(g4G(t(V(4wewa$c`4kNu-8-y0*g@A<@9HDNV0S1HU#RA%5+HzN!qo}H^ zTj~QKTNFSQ^4kDEZF}R`Wwz{;Z-etma^mRD3 zZSwyBSG+2{^khfvQ6tL&E49lYYwb!#EsSrBe%w`NM|e-|!AI{ie6_l{QP!_5N-p`Z zlyU^u-bY+m87vZwCqC5;BvZt747)z$O>5);wIvs3e9=JK0(#O%8+jR1F9t*NB;5dr1xyDoQ!p;0QGdg5_bh-4?Ya zKMN@4)9qwWq!G}ZJGZ}Ff~b(^(s%Wde2|00EJ^q=Q6QV*0?EZ zJSf)x6y&qK~jlaXr3an zmcklfP?6DJgnCKB5*nJ6v|t2CiEYA+k>H$#I;fu?X~P2ET##(uB!3pRB5eApaA&ihXhe1vPN|(4g!()%5xb|46qGu2<6zXWF<9FRVmaQ zaRmmY;m1$ALza1Z&H)H;UtD&d3~A9yKkVS8f{5YiVUU8=21+KG`zwaUiNKM2M37lU z6_N4!@L2 zB-SzpC2Iccp)^RTZn%$+u>KLJH zuArk%3545c+#QzVklfKIDFw9ZG)jr_AbN1)^D(lNIV8oq+;JJApvL5Jw%S1Q(8^NV zX-G&qP>_+ITGJ7RNGeY>{6{S*T$jY{`{Ty0J>`R$D_J!91`ID^AM8Q-SqkvIr1p}x z?kPy|K>q+v6=vk#4M{r4@pAIk*np*IUBrTOCt64BsltxFeK2A~TC?|)lRI+4!ohY) zkxYmh)nBs-I_h#TZ4!ds5u2))hBoX(6*m=55J%wtoF`j{aRDFt1A$%@HUj;|ZOTn^ zu8=x=al#omy#bk=8oxI^Ex3{)oPhumKXwdlsxfjW<|uMsoxUssrZ`FP>w~hvr-~`N zJd#6mnJqJ-0(uzAEl?R#cUp+Oc0VDmRhw*K49LjGc^F~1o zJ-mFve7H-esXz~~Vo94=0}_}U;#LK2gH2xs%V+qWQCa&)!Nr$p_8|PoEg9Suff5_Xpu?4 zfmN<`x#*X}9#cgRu*C~%&+j`*{WQg$k_R&ks;lmdu;ZG0Yo!OGgbxZ}Xpv3#B&Bf6 zYySWZdXl01RRn(gadi=z+Law~WTja77Q*>D65P+zoz>!ps>%JM54xT|I>F=kYwpEI zY!C8pncqdSsTM@H6-Cr(QWfN^pR5s&ImLTZg595MK&h_$j3ja{;&C5v%u{G4y%Ry> z?8d{hOHI9>%Cg>56#drL z;z{+o!hh=HI*#M|hrjG{(0qzUJHF)uU7&}TA|W2?yu~PbD%bjPcea~LL%Y6epK%ta z>F@a}*K|tZxh@l;jy-47kSEqDh7;{T*G>u4TbJ(yX&&tk z88&)L%nqlYZ)x$dM^l+OaYQp$CyworgqMWoRn`cI<;E(pNYE)b=y zqLfEkiOgh0eR<(GPQk?;ta0GJv0}M6w>2^l9MV#!6bDQ-ecLITaU2fho`095JkOM= zEwximbSYo3VFS4_yb|Kg#XdD*1u02&#e?F8>Ck^$4IR3U0Xc1fP7Lj~@}zfGM~jO} zMt;GDuiePv671W%6WnV7X+do=+b6+gN>Ycf3}xKQg$X4(i*M72z^4@29nP+TJuRf? zU+rP9=BvRjZMl@G5G{>^@ejDCKN=B4iv1WVl4oT_+97UutjKEIgYL%G2SVW|FQnjn zsZSN&YX(7QOz25Jk#1}g(5M6S;J=e`&BY1492&DTE!u@3r3F6qQjBx0m@}#d-8nh@ zWVgN3EYW!sv=T7i%8kE;E$6)cC7leopUhI+I&&tp!AskaXhqUT61=?gWds!(pBEj| z`)PwPo?iqG1NJGrO1C9oN|hO;jL(|tPwzNe`lMhFxhLTn(PMXUZAfI5U6`tRrZN<> z^iW`1XLA1l!ccx<5yU3BT!FS5NevkiY2w>yK>q+}j5&{HxIBVM+l(WbOs;Y~0;(}* zanO8ZJd}g}s5o#oH}Q2ni6go+kkhdb$YBAb9#nIDHn-!T5eDl$(h>Q0$G(agk8D@*FDsI>@bkNv0n%$)g$s z(bqNNQa?6($y2J0DfA>2scH@o2c(h?7SPd!Kt$Bzz?6~8nwjd_TCPLRC->6_7UA8f zhHX3&2QOnk^9di>rWF>0l1bM`nnb(HRW*E?bRc12ZP=1^$mXyc!k3Z|T2SNAAB3(6-k=1^typI!@ChZKDh zo(t);-c3BmP}Z!vkNTql=Euo*ks&M8J1nWLKGNs;Wq=ew)T-55eIp(DhVToGv$>}s zwAe{kn=QvFLqwzx+gxzDJePi1yw}FUi1b%Yldg!zr8K?({rrec)O3Cl5XBP6^~ zwYZGaxw~4_>d?1D6)aK4Bqu>ish)j4tVbI;K+37}ZzJws|JCQRZN}M08n~(LwLSGR zh{@ay78_bdXUljMFz7xS95u(5qh_&K$aw5OF_`x+OUV5Ok^;lqhq&Z@=o&?eTs!5p zcMF^=vSvJ7iz3slB(xS1Lx^+ksCtfL2|DGj!L1^h*X&N4Zsv-Y1InLjGBDGnNhLJ< zt0OQq0@?BQVR0&EVJ8$nbBU=7($Y%XLUb%vl_f-0z8>ur7D?Wc&4I=k_8Q2cJxc;=fAY1m8#zw-vtk+s#aT5>Ic*QAjIXp+nCn&)TS2} zO>i|pcZ(dmEP~90{#vRUd<>KZCvEPVAgIk&?rltGu?XD;n3emA1O)o)TGI|rDHz5o z51%=9&BFASGE*+MB^mTuN>^XA7C2xMzyabYtJgA^?g<T%3rED>Elg?6$pJJu^l<+GMktq8dM%uL6~5ZvUCUah z`|YTunC6)(8XQUR_vHTo`Z&++?tDl2kI7$Wf{h=_KE+=r+kekXSx>r{+QIdf>5J4i zKhbFZFSSzUw?2E1@coLia;=?K+w^&;PL^(Lq2o{cL=c63%Hv7tTdy+Qw~I;lDi=`O z7ET?&fP`mGW+DcpIVs%%NMBObIvz~CvwK1CEtr+5a6Ejz{B%KzCEa@ht z{{Sr`I(7HG9;`n*aUX~#f1e+^N4YUxtnluRE>p=Y%U@SmIr;`ittp9nNnH~|Mj=LA z!X$Ag0#GE&O!yUAR3xxEEj>rH97!@}Kd`9TE!@7 zPoubNvMI7E8st;2#}7`Mdj%#U${QveI7UsC`;z^Fb6+GVjTH1NFRKF^Q6)+J`qTnNJSuQBL=H4dVzl;vG!T6!FWZ4H zXhIrEOVJhe5np%Pgq=G;N;ciaPF=Qk?Y;Y@?gxi^Z{xYJq3^zKzro|Jt2=Tn_N~$7 z&sj=cl(_A>;#oiiODIB!10Zl%qz*U)qoOSpB{cH~2yc!G<$gxtPE)cyw>cY$FLy3K z-j+EY>5p-?NmNIIN`NXsDAa{h-bn;xaN28<(?Xp^Y#iF4Sk}0zP)C+B%kzmN?88|u z9ZIF6w`FLa8@009N|4)X)0hZH^x>hpB<53}%YZ9Ht~qNYxRTi!(K&wMgyq%46lNBK zh)(Eg832`P^=tnCP8hk;RXPGPvS?%wT6HM{reNShj}U-?z@<#SwsJ^8`bBV?*w=GP zvSQvz$*IpMQ_DtQ#O9nJ>vr=#E% z!6NO%Z~%N$Yn$Hazq=$bQ<(To9G|cVY<(jSKuhylUITpZhNSl(9F60JfNJ;dqb^9=@ULy`ZWIl zO>m=a&m@VQb4itXW~Pc-tLPN{_&?=}<8T+$+$BglBf@$?{ty9G3$*V8u`aLwNV857zajH;T z&U+NIvtXr2x6XS1sl#}TpRg2t4H3q}(v2u@>8 zKo1_cA#p2oOYz68k`py zx5XT2I6O6^8hCi%?Rgm_+`w~R|JLV*E#d9GB4xUJXtJwpqi2Q``4~ZWThHtJ|5-z2FZR6%FiN2o(-+pk5IX{B#AcpZMYOrv>^veN++lZ z9KEF$cdgn+rm~buq0ZejJapAdF_%&|7e|R4RcbG|N(w4Fx~5(+jpk zTBf>i34-foQzA#Zp&>1)4j|^Bq*N696@{5L2`4h8Lsz?d%z4T`<{LWXAPVGz)KGYZ zVQA(>ba*JzWM>WcZz)ZL0X>49W8YW2l+!G{F(qv%8oQDXj8G|ZTm?8?Xtk5e2~vRR zto6&oJUEVUq2CEm*4K#Cx%;Z>m1|AL=`YJ#va3uiMn};^Wr>Lw>igl?UjcV8&YF6a{gB?Z)ptrYK%Qlu(}qQi7GmqSkQ8nodfubqRdV12sNyKQ&L| zc@Aw|!wy7^uO;-!1(w#gV7ycUloCGj2{xD^k*-^y5Y7o3d`pI1p7Mt1SSx58?<_jlz@#x@r`m?^Kgqzjifd zGJ=aaajB}oZYg~d6{}Sj<0sKK(0}L;jwuD${~V4_tu_ta@mDnc-Gu zisXh}wlnoh&4sKaQPku|(}$5rMoFZs1ffT*kG52(%kxkP_f?U|;oD^gG|kYFl11mZ z(zLB53r=~|5rY_kNopzGo9uv;p~d;hPu=r=@c#Go;j^s8YMl$0Cx4EMDJlHz4xF?* z{UalW-b7!pwOI7qArGP^1tJdC(Ds2}n^ajUCx?BSdLw z4$N^8T2t#wXbN#*0I6yqB_N#1$PDmTPzs~Q!sk&v?@gt4*jul1Y}@0JS9aR7AF^EE zv`K1YHM+v|6*BuIp~ltKD@maSqX}BvGH9D4Yex!-iXU=udu020ofGM)riU7jdXeK@ z?w1}4xb0h;%}0f^w=7%M-HhZ&tjjK5U^t1DcgjqM5lGCaB}*wyY5=Zm9L9^l_T#Cf z9BME)ai>220AiPpU0ZvYY2kPy012oy#+5k^?`ny|Nb@|sUSh!2OsWUdi5*x~Ly=VC z!xW~x!0H>W5Oa!EjY|szB|00>N&D+L;S(h@HA`sZD3l^OG$l$=@zPEbbMZ>HIt6(C zT3ou{0DQu`Ddrhr2)AsWN!seWIV~Wz)EkY#7KsiJx({)=MOE;naJ9R`PqX||R}9qL zR@nal^Goql9DDPLeHShuZ)=!cf&qxpVAfb>yQ)}<()Nx~b21J8fl ze)M|>)s!op)v&~Jg5;qcZXGB~ib6__D?w5)$T`GdDxMGl&Wk9W34nadqCxRVC_cXf zf*2g^nupG4{7V}54WYW~mK^c-5v%uLMU;nv56!chM7`H)LHxE{bovs6r|mdZyL5*# z2fZTe=5k5byjlbD?e!f2am0`JQ-zzfpWaFT0B{_VWp5c&{HW|QGoj6A_h92`ZxT@s z;&=d&uXtTm(tnaX0}Z7=X$J}ot|9nQ4&x^@k z`a}4NZg%S8)mL3xr1-wFf8Hk!835oCM&h}YomVsg_tFnaR==|fHr%Al!C^Oa41=9K zK(Fn=#j!>6)**Cp$_CK45A_H1VBePk2bxOEhpsD9e7FvsWF8HKyKqnCf&XL*ELZO+SQs@I!Y9 z=9F!mr-%vRo;#lEHOaoD9~89O&+Q`wJA(#IM*iO8o0rKu792qv%%1b=dCw(zB_foq zd~liEj{ub$Yj~CG`BKcwh(Kw_x|+J-%usp&!Y6T%rG2+ z;Als&JhH?eYLMhOr)?6(S+eDS)IZUPriwUsr%pZ+t99T6ZU`#RDNG+95OH;~KhizQ zwQxVEJJH(Xf)q_nL7?;;H3dB(GTqeTS$L%$`cPJt9J&hlVDXWtBGEZnPn&Csyuff1 zLOM}LEU;o|N-Z!;Br;Tzq11cT@WFMJ)J;ptB|Rya^qh9Gx`8)HPDfbF@UPK>HOq=Y zYE3Q@szO0Qs3WJm4iqjF2&Jfn)Dx*gI?|NsOaf0yLT$WM3`Z!hc9-AnFYlqN6D;;DK$w4-C9T) z<<|yd>55&0EzR61vIfAsEoq*nwI1s1J#T`EcH6n>>*BKQZH3&*@f4_ACsr;#ZpJl`E{JgN`CD;DUI1=Lo}Aok1eTZ_}(k}(grxXr6lmOOQKv* z=m^2sLI5fd)y!2HD!PdMxK*Vla!OuE02)x!t{k-Bo4h6fkWf#ixK+6%sF`Ing_RW~ z5$pC0D%YL~2QX1AViXAx-9lMTu|2LbyqsfDK`n32s&1MNReHPui^>-OO?$|2WOp-I$&nq+by z;I4W*8&z(&4)d6#9V3k7(k$Jo%RL z&ue}5cByFJ{M{}$824Sm9Dg1izj5(^Fm}b_{Q*IKMEH(2r)90c3k<$g76Qp2&3y0Vz1|-#RyKoA(_AnEIv<5uSNsrFcx38`+ary+UBDM3kOD5T@auyuyxu749+ z?O->|4)Vi6qnqKxI++}MLfUP*du*(JaDI&hlOCOA#CULZYTD*0?F&&o@Agr>J0iDs z`1bdG_HUfYwiUTIR?EAlA)U6j6~0=bTrJCX1CBEDL-O5a#HzYirC#z$Iu6CYLAe=x ztfMrq0yq$plZLY759ET0{O@AeH())G^M8F?w{&ez zFXOascg4QpYTK8+&3}!-ep44(HZuy9q)#f_HWT6XcggB(FDikTH6?d_9e$jmon+%l| zBA<%9sfj&=R2~H*x^!;!YWBxGE@5!hh@b+*i$>&GO~$^~r>;GUo2x?VIY=$s2X;pJe3?jNR5k zrXh#hmljOc9*V+VDOf~?D4Otp~FK!uLPvr~+Q`=ZP%*_$%wk4er)UP^1){*zigDkxPG{iXF<*x-N{kA%B zQI*2n<1*168ue;Uzs{$mj<}t-m^rm_h@RU^=+vY6Zsnk@*{!0KI$PAPzd*p7xW+*X zY+iV!E$vk)3S5hVhMMcroQ9vI;Ul;X4NCt2Z|3E7q5QKuwtKeQk9UgUxvqBgX-RtH zzTCQ5n^SEF=$2jhBP2>K`A#KzgMAJwkL#Nub}f9t=AINkJe0ucX~aHhY0*mNGF3|5 zwJhsr%v3<()TI0BQK$zm98J3RL&Zk^Rx!amwP?1-QbTYVNf`wO(_Fo{LDM|uN?oup z3;;^h${R|;5|+|42|`jSUtq&x;!^Es36@#>$ld`jAp0t?anX!X&PqaArBnua&~@>_ zQD~Saynj=G(oG3%N;L2VV1DcY7*!kuNYaQv2iIS(9DS@mf+?g;G| zrmU;xllKusgX^fS6Gm)grLYn_x}1e+*E5|l#VA;p!vKeK2TF=XeYgZiwu|gAe^io? z2`WNOeTN3BBF!xd__Zvam27$d4WHkDM`LP{Nodv*fT+|CezXyQN(O}avj9ZNjrv2` z9=~*AFLTHqAH>^XXc5?NSHGwRa6rxCRA4)o#8!Bl1jPM$e(KbE_Nz5q<%RgQW z3JNCMTPO87DXnONRGf()cM22X2na;aHhix|2V54Yv`i>q3zWjIyaOsV@C7Fdmv}-A zDeq51)OZo&jt&Vj#sARKOnY78LL|8A+d@j0CMFA`xN|~Ata()s@2QR1IR5~0 zJhTHYb0W?c9Y3N{8u z=)%pKq@L8?;u>I_?^bOr*H9`R@KQSIKD<9<)S``+6Ey3kTc+#F@ zszYc8$DmQgqi4EksNz*~bG0N_m)fcx(uyT+Tj!w(d38Vf&@p}8q|LOl=cOgSd4K)s< z!%ekcA(zhZc>w)Vm$!RW|?)x3NMz z-qKODBZQB>!;UJx6=2gE7ek-*MD~I4RF1G8&>hQO@*PrGU%V=ykerW7W6(sbX{C9z ztST#x0s@PQCn^f%fZ~e&3-rQ4)#?~B=87TtxrBk8R6dOGvq(jFs#7!EX=_o*2~o?` zD}`byyVElb(lUGshg0aohLqjGGs;eG4_z|$3?8_o%Tpp(Cf@g)*(D!zg>)eJ96F<9 zZ3=1}V{##B=4P|!F_MS)jh?AEk9!LZ3VheK;{=KL;dv=FrbHhM9g+}|dpV@+FqHeK z6r!{A;a5mWNj5N+`E&=zA(+B$O6gk)`CRs=dhUz5TXY6^%10~h9yWmX{{Y@wI^VdC z)N*=IL|Bnqx&$n;x1>6X04h=yN@t3HUv+5OtQz4ai5}qAnrflWwBtecEB^qdoed`U zeIo-4qm6~mp{HQP^CvDMtE=8)`Eq=!c~69_(XTuge%gGW$EgVA*Z8x2+^1b_*A+73 zUPZw-L`i8aC1fd=3n@zJP_Pw?Pe$!`TaC2P-R>@rcnvyYk&SCPu#Ag?g(_NV-boIq z+bpbZ8zfM9n{(VhsK*lKj01t-2*>IG9t)fP=DTs`?lgh7cU7l)UwNBj?CpzdxonnCoduRQ!dFN(mGc0Acq_Y;o<7xw^GI#-xk~U>$)~x4p&pvI9yr zqJy8cRX#Q0K2GKx)gNc^p4OMUZcA~dXUl-Yf(^M2t52OeQiqcngmqhvsVM`;6W80l zy{tw_j*;;_!!mmUj(>XDcM zN`|x=wx<$!tDgC~^&Z7-6@i<}go64;;o>f?E^~1-r6>&t6f`dMTT$j-Y2xln`F(bWzxHo&_HIG$H;4HK zVs_Ur-0l)Bw`01eCHH4IZQ8@hg!`=$(OPPd+e$~f(v`ApRuXm1^`UE=E+B!-aRJZX@YCONh%_VUk9=gljG?c89d*fH;a`D0m`X>A735&zR>B zTKE^AoUwMz%}{OeHpgzA#zP_{k*(C~gX_27p)w6&OO##FB_~rw(pRdL#k;QhK3<)Y zP0wv_nFEP3L0myJtKs`&I02H*cANKZFAz%oE;IqhD)6b`dw8xuITwldClB%t^WyG7 z+uxyYo^pj&GhDI^h*!;2l>JGdDmLuy<{^eCg;U4E3Fm?$`|eK@Yttquu4`E_^tTROrv^qDHJr5j=> zAMWGM^5NBN{%`!nYcaGPn4jVM7a3c9(CxB2oi){9D;|iDP?eGflAIq#VL((G^cnph zRuR@xv{+QIL7=WcX*ABc91x>4CMmQkY=d1+wxpjBH4GXvia7}6k_LXV3Vd*#S0RTA zp1=A$mRbQP)>LqEd;uApQHm0DWB?sA^x-O^(KTKYL}>LNb!iHwNB)NcRCWwg8i7!e zkN^ZEg?JkO0H*|YVK@Oh!)&FB6Qq-$w;fa|RCMVMgo2tVokuTT0fwuW>tR2uz7M<< z$yR-GI5tTV1xi~n8A#Kb)9(t88dCvW5`uwZ4F$!9Nu>&02icLp5`|>jiV?3*HgnV* z%l`moaUXgMn2!UfzN>p@#H0C%ORx$iCl0Vwl++rw z>qHVk0+tw|?Q9S1;gm?)(&wvemE z*)<1GlGxA0HVOT>P@f1uMrqk>^r0jl1A?H^zyHzF>u@6>`aLa9TwYRj%q|}=tS9gU z(uo}?2TXXvtJox^dvv)YdfJjA7M+h0N}QCCJhv89(g{efLKlHx#3bJ08czixJj&5E zFS(VF6cn>Y3k}BC2t%~3 zvY_mCoQ~=w0BTYzQRW%%(htLjWMjsM49R$rBfv|LIpplpWB7wl!4#!Kq1Dcp4nI+T5wrAsC!xmzQT0p6t^JwQ92)m-$Y!=L`OXZK>ezPtS^{{U_Zb7XJ& zmj2vIxZGfY`n}0&H7QYTAo@wAahLU5zoO7NEf1zg^-2CEE6 zo5glgoH?ZoDYB#CNQGa&8h=MJmvsIwwP$@$`rFr#`xd;PPMES4{3#zz1u?%-W21t_ zYfU2ixrHf5EO!;o;IYjlCW;yLsPs~}GUUSj6sD3*6s4pjbF))35YlQgBGL zRHa3#1C=TUI;hPUt=4?0JAi@P-pb`Gy`D-K-Pg<1RLwu}1W1Y>ps^B)#?xNP)~DnaxzYVi{kNwt%tn&G4%$+K=2g{?+;#FM;g!f1-PZl1cqzq7 zZvAJLmMUKAL0H`-Q!&+u0UeJFlk)!nTbdgo$MBP+W5iVDo)xOF8wsJekIfWqNnpabfm4SJ251xI z+1lr29m3gpV|e$a-Rr%x*tSaT`*UP%8w57~Ht}=1)eK0NaFoon#e&knONFS;xJIP_ z0)6DRO@i8X7s)7X2oyYfxOQTr?r$Zn8WzfX3*8$s#oP}u?U%N#t7vwo+Xdc6*4g|; zWw<$Zx9;uEz<36=X8p~IUMPyc?L`> z$eL+>CaNzLATsqO&D#xvj&*KKh&An2R!C@;aUuUR~NY6<~EltOGd+m zvaImoCUUd zd$|5X-Fw?->>fbc951r2yUp#5+&qN0X1QG@xYfQA8f9dq$p{K@Xi}0=k_KT#Bt*&5 z*L$oIHr?-QnMYBMYaZ@R4|WZyrA;tXojrYH1=9uCZl) zUiKSadS}zyot#n2b#)BQ6&`G^)YlxtnrPFFLC|STK_N`d)st=el%!i*PZ%z3V{d`Y z;N}o(LNOY}MnnP^J6|BtZF4Y7o{MZ^^}g`?F2-#! zyv9Euw(5h5(2|st4Opo3#?N)Ox@$RG;f>VAZTqh7=q;m{QyNR$ z<`y(ifY#KX6Noh$bvH<YGW9qM!kA1e~)ZC{q@&Dx46vsq*^yD@pF-i#MM% zb60o!Q?fftYcRGokDIL1)hhPGOtR>lR`jS1u@z-yEgGqAX;PA%BDjjUzK!6ugc8wQ z^ZpS)aa!#ixsp+!fbv*x5WG;rKXm{{R(Z_J{sfe#%^MOWqyD@}A&)Hc?AL z_N}D=pBf8vqe`BY#7w@jZU9k`#s~Yy?FrjDCIV{bxSwGA6dB9^0QpxogNmB>0C$@% z)agQm8y`FEWJ_U70O?BZJ6+^Bka8M~B~z|_F(F~=2{aSHJKBE7eT6l-=_j}Rx7V=Y z@mlHS&-}GtHZCQJahbOGddb`kmMdy|PC7}%8qo!?$@t2 z`6O!`T^r6p%^>_Ls`Fb&%91b~czf31nAls#k3K-0`N#Z)wkK@O`>oY#l-&JTWhwm z8&GhC6qF=_MF{Z60Ion$zoO;@99B{&o}5mkq>x6EK?5pb8l?bD%W$PjpaDa`=YXOV z$2BEOX+zy5#8o~7g?`)}hZJFwJs#_810$KP5k*X~+8?UTabl~|!bL|xq~OKg5$#K9 z!4x2YQbj!j=)qD+rt+X6AlKjX5E43ORB_16%?=W>+k|v?-4*dQt_#IFqJM}L;yj#gPXHbACB;}*e zHKk}%{WvMf7-ARihd&P;8i*Qo1lFBRe|8B{GRX>Qin86&OF^Q%($a|j8WDutDhMe$ z;-wY)@n*I&t1bWsq&5y9S%C+&NjzYCm1@3f4MtL{R4JfG_Fw-1PA>MN#C^XdTDd*} z>{9Yk`7O{IP!XLgh`^=N3$scoWi6vvQ56-)06yNh2bv*n3mt@ygjzw&IIsZAJhH;a zG>e7-Jg9;V6bh+bG_6H22!=A6B%-J(=%5V;tH9%lqHqNh3#cJJ;nLyvl~I>ZRsp7{ zQWyzIza>Q>3R5Puu72Udn!FT9Ik=+51nCK`N3XKDB~oA^`)UH_-JMUoT#~Rgc!Uif zy9&s19D+44J?Z;O!Ob}&RG%CdQY9Dv($b8EqBkI^_=}e<(dS5zz*>uLDJ0NoIeRhV z5Ykt$fgD%uwDZc{(g>NY4BLuYak`~JVoN}USD_Taqi2e%q^FigYL#WqaWW?t0*i=k z6m@jTLDG^9eMD!4YM8VFFhdG1AuO$=snq%Z01nftpdm|e=4;`XOa*aA;GQlotx=dO zMy(PZY12Rj95l}y2+0-fQ8oB5z13w}T+rM|GM#nRQ%g;U5~8DAr~<2=IpYD}_9fwI zqr1M<8MYk0Dt+-TCDdGQMpF)o09j!=5vS5LfN%pclzH%kX3%l7PKrRIi5*T<`wkt% z?g~CulCr#ji0o?#q1Lpd=1Ep(4&sv($?Z^QC$?4kdq@imDzk_*O$$g?Uc+9PdK@a= zf9yn!rj9&6+O^ZhOeNd4;(X>j<3)Our%&(3ztoaaD92~qvE7ZemFKtbQ)4Y?VlWwb zYfFkAssV~wbxBsB00Xf}e13$T&1p~?f>>LGBxY(|#eaTx`bYQu%422!0Mxg;?^gGU z+X~!wHbA07?S&KVIL*4S{{TU!_*R3{ALo(UQS`8u;$PEUb(bY1sPqb!$Ql0t?6Fw_ zvNO1RkKU|~{{SuC-~6az?9x%UR0VzI6%c>*RKnH|t=K)kYHfbNEveb|DzDAXDXu(} zR&ptnGSBWqX&<$C*!oGI>)Ja<%&ecNiTsnjzaX{qBm5Tqrj9N{vWb0X+!MBZIYZPII$i%)C;R{VNIm z_&Y*Mi@`|HX_53-2Wlgb?D1C(a-lW)Ft9k3iERRHQ)5C%^w4{7yK+d7o1JJbKos}7 z1NPxvbP2PY;zX!#TP-Z-?uz{xVTQa@=C{LDjf7Rth{JGtQTGg z`W3_MqmVAUBX;iyH!dq@k+^#P-MKvBaFp7jn=O_kha`FJ-Ggfo9ap>>Q6RXm5(2A3 zTp5d6mMA7}Pt5+Ek5Y-~G38zclV{ zGMBrzZxHaV`hG>1jd^PDwyxJZ0+dkfQ*(nIEc{z;>01j8sS2vnp-K^nYwn}pTVft` zK30mot;0~`L&Kl3M_TPW9Jj8Ch3t*kG43_ecvYi1<=IfR;k&lneVx4bcG+FwH-WY; zmkqkb*~XU_;t>j4k%OU!&bGDau7zfvhZ7dJCRkYT+G+sPJjHY4MOVGG@+Xoq>gjP6 z%Ct1d zrt#kQ&Ah$8wWlexSuPPHx>0g^=`+k}aoJ)hD^r@%0upL*6?+cu>&WD>i(J|sEBJvU z3Re#L;I3UaceQ?2Sg&Q#8G8*s2>|0-W0q7_f4I%;z9HUw=)k@0P0h3+NSAQ3-gtj; zGk&p{-w<1Eh96N&y1^kK3r%wrQigca?f1#7ZD3{LCU-Pf49L$c1rC1vilkmy!*y{q zmS6}P<4T-`aL*igd$U@G-g}mQ`Q2Bo)p0;>RoTGrl7dJ>Xh=d6Q`U(YoKkPE%<{TJ z#XN!l#(;@9@dn#?vkt8KuOwMzDfH(hrEj`!?ilt^@JY zTzf(bn|*PS$A@~^#n+M|+g-KZCp#l=qU9N@?V0<`c{ayigy^eM8WNDw%Sr(0SjhMs zY0ciPt{QZ`uWm;WMR^hS6?Jn^9wYTxV195$c%e9-6J`Z_V z-{cEp4%uN?;!Jh5?ip^}8&ZUIQO1~f9d2gZK#XGjZPr^ver!Rl4P`3k5(##CKy3!0 z#<>Efc8#lhb>ly#(F28bIQXeg-KGM)xQv%gou+)CdvD^~hTYs&ZWFZgS8z~Z!nfV| z1^XjOfQfON2r?pC-czw5l7HeZt275Ak2UZ8dwYI#1Len-mYh#{%$2L!?AF$7*7H-% z-(Xjxn0`a>yRF`Kj!xxn;&)dMPhGX0qq}(j0E^y(F4=mvGV+~3mWzu{Hr#}TXiLov zK_Dlf#Ggy`CC!XJSPj!sMMX#_+7(-Wy0*BJQ$em($RA?buNd|N!F*M+HkTf4Kh&V@ zeUk-?1&ZGp=2=P^VKl0|rhqG1s+O-3NyJo}Gj8T|vPkDS#-%GCR812D7}kISm%sO4 z;}pYOc#Thr@`jX6OtmR#KAI?LKUN=(hqNuFU0!uSI>PWerj+GHQoD}rYnkmFRmita z-(HKp`4%Oy`CA)m-z1{YK6s;>xxNT$6E`stmIl<9`jYc&2 zDH*!KvfI6-rLQ9jWVG+Wy~+H?dFQ&$HQPPO_JO(kNZOsd*~OoFa<=*1jKi?*ABT{m z5lyA%R?N8$W#%cDRFr^9hy(+2^$&cocHiZR1d@;gMJhqgrmr#5~GR9ZA zZLEUU3Cw`cLeju-1A*`2t}$+Nzf=r?!XhXgL+|cbxqIag@}KVZHO}L@dr#QYuCJP0 zHy0PM&fmDldDQC#Zf(aSjcNv}}5-qke(fzh7PQSeK)%sc6DJ@|iu(Z@M<8{UU*_aBAkzSy^p#Bv*`OVi)9zbYDn zRZ6A!UTRc5V;9}KeX+U~ie|gpkGQ1ew3ac8N`l{CktNuVg+-8xg~phbGT=4NscGAYnTH5A- zEH<=iyONc4Wk4i)GB{DEBu5<6&;!hU!jYu36RWAHDnGvk98re_jF3`*f9%qA4{b0k z`cbHwZLA0GjGLYGmraPjvDR7!A!07~F&nugfcPdU`5=j*SAHqjZuLTkmYNT%k>Gwbj z{3QB(N3h@=L0nTasB)@0av3YYr!4ShxCP0sDZ#N73!^#{ojPDyPj#yj-t#eYI?mw&QLzD%W?F9IH}c zx8<#AI%o!>GxcHRkz)g-b|sjB+J5Bn0_?aP(e%%GBvIAn@aIPtEmK6myxZu9J$qqI~zbK%T>rFJ8P~lcT1kKH= zgLyTwrx++9CM0Q+kcOK%VWx0g_pHeC@opmVH41dZM=ci7YUU?JpM9#bgrcpoR zOp>LM{h2Ze{g{E%{ZY!FU{)tP`aQM#{^W-K+P_Vf!gDOgO2PCBQwZ&blC+=RM%=;j zoIizB&f%0JagvT{Q|O#QO#u{Kc7-(pF|>3~i*g;Be$|n6F#^NBzhGMQD^!LQ7L>|L z2n$G2Va)Q&GM}i7Zq*gT4~SVIZXEs#69s8xdxa^gy~CLqoR6~tF+xTw6pH9I8TI-O z47oHKdGWk|F*WvA0uWIynrfDi58iPA*VR>@_i(Fl2{HoAwCYGB(c$U9gqa9xYAWjd zPGr~HOcIa94hfz~4LV$>+@V$$0=Opb!xZ^$mei=~Z3Jp)<~(R{ z%6Q9NQl8sL9NHz3QTd=#!2NZ>W_N`i0pd#KsitG7spK%>s#`9R_q64gQ-s@BI{{Rq zhybpKyIJ{_c0eS?P zHlT*G2?ILZFLv&lnn-4Sv;63?cD#FV#0vI&QwTTh&KP8dIcXG`v;jlPyy?QLQTrE( z*J!=n?w77Ku-+}NOma@xgUGjA#mUQDK=PK-9A|Gxw>K&9ohee>b4kqTt|}Y7iJiyE znejCK=xuuiT+>frQkyRO1*^lRwq)dRd48XB9MXNIZDY0GOyj$UI$5A{$87vpxngom z;|<-IMy+mrL%GyY;=0r9+p})md7f?chd9S< zZ6-GKQF5G{M%l8rt)g_$6fmErxbQz!b>{1C8~t~sz0IvLH9Q(BDswdeb5`bbm6Kg%V=b&w-`%jhg2Cm+ z!Ag=aB;!CTDt*VB-NZ-57Bdk_ z+)`DiS{0;JjOcOd{{Th0e|6qLy1KfVurSfB53Gy+Mj3#&|c(5(<|eqL*JJlvPK*KTd8NC6Hzu;NLyA=-GYhNLZk zeQ9kt^zDwqU=;JDc>XdS@uhw%=ce=3Y`t)IyYrdw@d6cE?(yJeaOU zkrB^`Woc3!0YIfd`@ua5aP-(a9DcRi*#Wreh}3&}R0%57mbIxZr8KGVH5j&;wwoO`um`(QI$A&#Co)bw z^r_^ndzSeY>36Pabd4ZXjzb^@7@G3!UE%zkVD=licSh~Bue^H?D!Q9)+Oq7XFB`#$ zSDCgwy=Y<^7WuEpG5#GfopnlXD@jJ6rBNtKG~)^0Hf_!Aado+kt*e}L(Y0}@r#kb; zE^6bvZbjD7&lG}3JHtwX;2W2OaHnM}Mb>W7x9s~xrHET1Gzhj<$K*G+e1gdb#;g(z zeI)0M@LZNV1)tp+oOMZBo@lWySI6taxHkghnrK>4Fx`o zXgejTZypy8sEE%aOp!!u)h7a z5~x%U>nlhUJyd8YF@fG6J9KMDJblYokUlsX?iI(mNB;mT&P~M$GJoy+ZjQIqO<<0W9M~7C7>T->09C%S;=C!p+07~ zWT`?Y4haO%bdr>Z5_2NBV(^{XoOvkIbJ{k}#S z5$eU`X6x&_Y6p_x-$VW>%$sv$&9pza1wK?ar^b~{Y#=Erj;kf{{;nd)BP}e&_k1>H-)82n8sZk57*_^CsbB`BzTgTPs zL0|s>M~hTFN)OcEa*uVU2s4d7Q(XPY+pqL1uJ78LD_~k)hbMUQUC#2>m~dZ|mQ-TG zc`dynQ3RIR00Mfb3|BhO)jJ)Q+gsT8$l!D^52%5}@Ep#4ir>+F19`q(2%;gZ1Zr_O zG#}f#yjM^>W%5S(B@QpP*sm9P`a7Pzh3&%X`LvLMghTsAX`pVAe^|8w%d7np`T@n(=VNj6Zii#2eq~`Ux54ZS(6OV;wZO2!jBsKhaOEth@#!@KF~jX1+*yxFjP8eK9>5;bG_U; z8>?R`fROf+pwofXh(7xEEc2{AD3fcjWzM=hnmQ*CUMs{F;Cp`6rPi(YD^=bpxLagE zb@rX|(KVMDD=1h7o?sQFbH@7&jd<{oX~|?VMB#xHPEUKxyaA$;pTX%EQR4)iP6;!k zLw@2oDYe#=30LE$dHv-7 z08R+GF$A`Yy{*KjO0{TGMQP$cejKp)3gU4^YI!jtNRUN*lqq37Nj($woD?_{Ma~sN zmX?;>WF^Xlg%Y|C5<$X*@-}P(nb+ zc;<2AfETU_s%zV+mhR-dsn?es$Ju4IAOS*`8*yY0v}2qoQLxaRS>lr3llLYLNKJAHa^L0Xd)Y(i`(n*3~(07Kj z6-b7agz04oWF^5s6qM)F)^KWKk~kHXGw(96hLoiFivWcRCp@rVh)5(SWV-oy)ECx5 zkmr|Dky?z$k6aigQcx9Lxps+W=ED!6yMs3Oi7yod1Qyh@RHNSfAXgGLq<&&OLjp!! z=^KjvT1pTOIrl0J!-&;uxv!~IrhrlZ0M-8hryA#2JNnHZ!d5xc1Nvm}s8ahKRkXzI#LRs zoQ3LFp;^Lh=MnT418j_*w7~UKS7+|ti=AF>h7--N@ zVM;(xfUSIexFcOsfx{$%P$wcjiu$RAQ9(>)2jU|RznC>sEa}%Bz@RBqkTpdLJr=bO zp)~#YR1_4&XI@AJITQE3j0s5+nPns`)q(hRRCsm3oY!y*0Y^d50iG9Os7OfE&f6|d zo?}9e<;C?H2+$i_?ka;nb)azIG1S2`d)rkbZQcyzTa=W^V%#?TB~bad^`#5adXFix zwS8b=X&%=$j>RC?mO8Cd<%_nkm}c>~?{jCsX~f&#cE-Vr2uNBK>RD6j3-`)WR1;80 z1k#vg=0YABhN@PC<4$zt!o1SXl3hBnrd6gDs{j>}!*eEOuzO2P37IKUkK+ zoOMcDNpz3%DsY05s#nI9!ZsJ~xQIT5wXPk;oDuJA{E15m)k8uCx>wzTiWC9L+jCj_*CPG*Vf z*~T*FDd;ly6l+EGg{~{sS**IPFC|(+RP$;nq5dEUrg&p@)vS(>Y-RD0T|kVxjy}Y^ zJ2`$1a1Iz#{8Z1vyf&5Ic1HVOC0ea_s}1ra{{YC2F(q@{ay0({hb^VhLt#pxBQBWF zJxS|>`AdsIYWFempXyWwii*~m;m5UYf2U22!>qQcgv}2Z4DjPz4Gt@>{?oUN?Tg2} z{+x?+-Zr~;Hlxl5*cA$sxaCo1UdqU6b?W>A4K8)^$})kLN$LsS4%l2%S$laHpp zmhG*x*kBn{YChb4OX2V8U#R5WdeZge*Gsey_i*{uPaUv!CvfB^pxrml-Ia7h!80A( ztUh42%LgzXdYX#Q@TaGac*Z?j{X)aGHPPBi*6`I$M4rLRwC1b*AL-Msh;+;+vb6V} zYhw4mm1k~$2NpzoRp!+u=Gxo1ven^Eew?+Z+;N{V1UaPjO0vh8Hva(D2UB^4u6%9{ zICwsx#2Oqs!qo0P8rt-N1A#gCvhL=zjoim?>&@2721;DcEqD)U_BavlqU$&1 z$NvDE!1Qq|HP39f;EgzuYrLsG;eX6(Fc@BQy z?0#0@zBx%IHP$R!9cmb8T-Ky5(fnS4;g3H)$+7Nq8Da8TbMBobzwOOe{>iQ~o$o`G z?+TKpryYfBd8g2-DW$h@ZAl>i01zU$likH^S<6{b6arITOQ~)!~w#i(t%DbsXN;c)Sr;%*5 z#8Y7{Iws9=n5=oO>Ka3ZKmuq6Jqu%DF5}ShKGJ5laPwL1o5SC!z>EdUjG33Lj1*f3y(KcS9ZSK<59h%CgE`7t)04A zgKdoa3ogfL<$OEE#WGS973L5LJ{VRVpJ%b#nQ?aKO}Ikgr_7_8=9A(W5Cug=X~{>) z*D^ls@W2E%k_sIFhXYRusi{4q1+RWs?E8}JJa5MQL9(|T9(~>XROye%cOE(OCNSmG zecq7E5lqCci9<455m{M3m_bz%G3jewhUnWHi7)RX5&mK}pD%-arV{M{Qm09)yMoR4 z9AFbxgPqDYsYU zt;tK0fS^)nY7jyrz;-&A3inHXMSam# zR=BKsiPk$7+#-h8Y;##4)?|^Pjv(-Bcn*58;YByon_llcuYJ|%bC`67vD$#A67D^e zT8i#N<%RPC;ZV-v-}_EaGwj{0)9nr2$5%-ki{RK&gNj<9$kQ>T9W_x)Y6HaLr?T}v z)h$FsM&rPMEA1E+V7;@u&E&Wa+R4^PkSDOVtRtF& zcN$2EEw%MXd38RuR~FkN;}q;w>yh9n_8TfxW*u|!wA$!@vEhixFmY0CHE8Z%gD)_! zS-i{!jWpHgE1OSA?IiD_Vt?CbXK}rMDsDDldz7mVY zXSmhY8;Su*kQE{0{Z{%4`pyUm1s#2gfR@1&s;Hyw{{W!C##aQi5J~{_f^e$f7ys4L znx7AyDM0yxY1Zi$6fXmlf;NT+3 z;b171dR;BBmlO(^LRCPVmKNE|Jo+31!cH^I4yk%%4|;{7uO&_-__fxUDG6kfZ06c} z8eexx7L+B|7IcEO1MZRrRmW8=2%u3)8fnX`%W^?q!-&qXlAxs2sp6i4r>6yz>ThxT z60sixyZ*#Rx9XPBq%^Rzs2++c8RjrFLa`zGgbd!&w1SgSq~<~EgM^F8jxzi zIIyJ>Gfr9NaAbppO;mTtJ96KB;?4g6xE!-t?pK(IxjL(!;RO#zj}i+-KMea|tU0Ml z(kch161y~{UPd)I3b*O)Coz!g0%D5g18Gg1n^unsFkVy6a5Mc9j5H~V~)ihL`M1L_J02N7GS z4u#F;2il+Q#I{iGMEq5<*-x0)S;$DLXDlrh^r6z9-Hg+7ZEaY8cE2Tk+nr074s`ja zw%sd+%Bh(tHSr`g>c4&=H2A-7;ZtvYTl;pWG|2Ns(P|*-B>)V*^1#Gv8K+8-k=4|y zFLsOaHtoJTPHaYLvInKhl8^mdZ9bKqR}MX=;MJ1)glQ8;A^!lGYt_cotzPIU83i97 zXR9061&|^LC~i%$f}imks$8#u!*VE6rx2QC$DsnIwK~6U7GX&em{!>m7$DQ$rF~hE zgYaF&6JGZ75O%i7-08a}L))3#yeBNFVZ^E-w@Gc3sJcl?%b|L-fmHbQ!)UJc+({On zqe-oE)GL=~#XFMFwg}~~)?6veNvFjbZO$&ZUagnA#m?f@o-W;t#p->Pg#2ak=&~dx zDjZ@1YD$PJSQT252U^n&E;o=RWN|dT&m;qrY6VSQ_f<_>^uCx~HQb^Wv;(Gv(hyAn z3>-ULS{JC?FLJubF0%8xZq~IaW$nY{J#cU+R8llWDGle~r&Mu01a1PdQoWU@y#2vb zukPTjAP%QDQoi9@d&-h+93QbDkoCp6TaoZWzww8(vr+#5p^h6**IYc;OobF#dyZvF z_S;>q&cb6_Es^a^003s*%WRCjK3Em{a8gOl5K$1?ZMPfM&evnJKyvANy~$$FXSPPC znIcrDQp-)Iw9QIT6*&&400B4*(A9LcwZ2gtJH>l1x9MEDxngonyLY=X=iH6eozUHx zyEKCxNRJC|L5~em4&f0m1_x-cFOG#zP5oD%? z4xt4>D`{yc$mRe(ID+((tp5PM?2+6$KQ2H^T-@kK5!iG1DbH5=CHoHa`*QIkTmzcn z%PMz@QAS*H`jd5XJ!pj`FQj_XKtEx{m#P{45Pgb|w7bVeVXxLHcJ0k?yhx0uq3&3W zT;WPkAug%0@a|Cfkfdjf*KORHEu*3b#T$qtml5zP&vk6(N*%$%zhOjNU$$kVoVL6P z45^3Le~)nuI0&n55iBa6f)!DSezx6MdU{th*ZOq!j}O?kkJCod`MpEi8N^N<>;SoR z?X{#iXzlxZxQ9Hmc6q3Vok~(crapb#H&ydH0{aiY!Y(?x*dM?NR7bd*%X>?JcKz9> z0|qA7k2*;}u9xIFB3jJ{QcJb^aiVn1x1YM`IQZ%86dz)5ZFu`$oWGRdOwylwmZv*m z`E~OLaQlaHGuzJj;C8!^x0P;<$->*p@cMVte;UHBO8)@FZg5_LxhZVxeU>EtK{{2W zrBwCDP;|GMw41HM=5c5M4H~qtjD;A|4LAbqUBb0r47WbGkNe#0jyCz_?j-4{sV2T7 zTzS(ZC))I0Fl-SS-oaYxGs<(aS| zMLSclo+pO5;XYiurpvS4rTe`#NW3*E)qipK32WSST5Uhkb5ZDwmCOOl^Gk)h^)}|Zs3Ns0utZtG^oWC)~H%<;!gTSe0eEHe*R!c?6P05}*TKue^$T=x^h0hTHwayIpW3B-A(y- z4isJ%n%tCA7E)hG759hRk5crfRKKm^ z`xejbwjUjA+cad|Z~URNFYQmXDTx{*G{cR26m3g+v18V!ouT8UsV1`tgCb)}d+cmWlSu$Tr_GEjuwx z6F>u_FRWmXwQx;mg^~`{C9`>jJ)l~c+klR`hojqu8D6Xx?DWU-ArH@b0;r_R3}sK^4i4K#%Skp?Ee62nr12u zjtYZqq8w<*s6#1A5`=-^6HIMgS#<`_YvslRO)vumnp?6L;1QgJWy4 zdCIxbqlx$_Zlmh`ucw+Lb4-(wko!(RRdV;UJDlzlgDo4v;n}|$@#hxo{rNQCZqV+Q ztKIfM2rE=}S0ej#Q{GcL)KU|q0!afrdc%3>t6knWhUYBu`7NVJ($S7)jc#U`lT+Hf z{bB09;bklT04UfQ<{FT76WA(U!-f>>Oc$@2mn!ZXAlm)-cC`nPw(V4ie9_z55NBIb zqd?-V)17vqAp60$(NXwG#TNen(aR9x{j%(}-?=VFxxf#IJ?li;eP+0j2JRN%kKSk9 zQ}Z3l6XTulv^SNddzXlJN>y*PPni4}v7J<1$qf%ZR*`gN1qx)KBnFdAl1)^qv zgBWk?GgLsivU z+<2oja^_>1_?we>8+Y6|=a%+t&5yjTKI^u-yL3b7N~j)=>S~ADS5&xyK^W65F5$Rf zd}ggbx4l8WCos{%g+%s68FJz+Syj@}`sssRVA4AfwY7LsvqkA!z6 zC_{@tBxpbOYB`^$EF?lY^K91C>yl7t7L+V&8IqN&EIDpSry`!0q?b@W=o#13*8+ux zp(iS%imeDx>EWJKz*huio#iXaZlqBKO;sRx3gA*flqhoSk>=Zp%%Q@R)7GSQz*7Q^ z_=3Qx4N9KyLiLEqF^TXB>P8bFiX){BB?(O{PeAMYFra7)l8TLbL9U*s$2=KzSO3=1 z3sYKYb~N24A*A$sS_I3*l^p>l7Ihg8xTedVEUf5g)eQol*TnN3AD zd88K?r`m;C}4k;+AP`ku=>vEc!Q*NxN9~Dsp_F#Zum8xN! zb0;MR=?|Lv@DRxLyTMcoMGVX?3N~ERcNDi^e ziOg=KN4+{~el&HiOOX!WPJ2Lh?L6&&&#rrW?AhbPNbCb55ImvW*|pDnL=o|%J* zzMf{S!ZF&_3)Ci-G84(mTpUsEZC6pyxhW&|3~3!vjo16DH0l2U{XeuREGP!UBBezY zKFuk`e@;KQGNx;Xv+h#AAIJEKw?H#f5hP9Z`>AbMf!-w2Bkdr3)VA8qUT0vh$yu$U z;#|4dk5oAY>B}|CEpBzi19HOBLCMtn71F@g>NCx$_DiB0HpsdSTtXgJpnnuZQ$O!w z4WgyTm3{?HxPSoXPm;>Y$bMXMbtoyP2=LRa95#DDrox@I^?QeMsh!=qrYu&7r5J=t zRo1JLsYn$YtYprF)q9)O%Vt_dMpt=@d4J6o`F zVsE>*miH}!(YL0)fwA_-BU**dI^s@1i*lG#=SOj+I?HGg^s1VY7IMW^jXRF=ZK5Tu zjeyAU$Hn1{43FZ}bEX3|e7M@q*|9};J}#aA0Mcg=+G8O(iqL5TKd7zceBApH`FCuN zIotfJ*{fFW0Cwi(p^o5S?WC^l8sh~`eoN8g2b8~xL%=C?aR^;WP_B5s^#;-*v~AQ3 z*658I%IOq1SF)YiDptiKZ!RAV)c#v##nKR7O);egWSp@JnZ3)mwxlbwk#>#peeTYH zl(%!g#E%L0SDi>^JC1}Wr2$zugtWf6b3d%cwcLRud&mjC?Y7ynT3bl>v-h0P(tUuM z4{cL0vw#oh^vrv|>BIj3&Eb-Z{HF@6OSinyRaTuT%&m1wK=qT;2W`lrL|eOpf7`RS z9?-v9H${ypP2+Dqo0YBNbtMm_Bq3hu2P)SrDHZz~>VuNwZsC~0Ty3?!d&1`n6Nuyc z7U|{-#g$?;%HOh~+-|d(Qs_gAi3JNSwxXaCzMdGab+=t?_BPJ9xSgzYtRQNmL9PeH zaH!>)w)Ce@-c2(unBN3%#)hO3h{HU2_o}7IZ1UZ+dfs;LHd=2RXMgRbi(SuYZ@90) zx?3nUc}~Zal&ux5MSArZW6)MskywY@7P>d$3rHZ-496a5-E+Lnd3Zd+;#xltBRp`g z4o8Ydvn9D6^v;g1p>3M`HGb?)?~w=Fp2b$MbtG0I;k$3wh}Kwh=PFb^yxQYg3r0a+!!mEobrp}8sJw~Lj}cXR&IxZU3Pxrr;3 z^TYu}M21>y05Sn70Ao4zI@&8fo{~7l8&UB!KK1KQ(M_}Oy+yW>*p@O!dz(S?T?NU# zp}rIr#4Fx$^*rDmXpvlanXvx=tgmAF%-yt}q%xij!BFnz9yeYQO}XL$7AtIZgys@a z1)zF*@uT#3)4GB`c>L5?R9X-FVeI|-pLr!|V}*9Rd|k@plXk_L>$JC}<~#A_Z|HNp z<}HRu^51bRJciV#9&CHwP(OHpde>>{zgG7t_Ty?LjqG8;noVC!g+U-t{`V@;d`4$N z*|T$!QpX25&Z({g9C!ndXEdjfxJ?}WxNLLo`{v<3cG{aR<8MR8L=`%lgUNnTB_gRW zDIltu`tZx5y>p+Yp_D!WNqj`Kf^`8w*+IcK>K{&`-Co@?eFA_GX+(BwHGcjRA%naY|ZRBPAf39;8=1Q@T5;C%oL`yNG#ly``m@ zhXQL?a4xSN92Dm1vqx)a*h$pjL9Y-%r3WF{sD~l$`FpC-x3)a1skB=s+!$_k#5kk| z%ZUwYDoqFiwK&pxXJuua(%rS1p4J))XG~RlbiOk&u@gW}Yj__a-Rr&f4|uzmf~4;> zavt7+vTv)nZVN1xO^VxWN`r8SU3iiSLf7Sk=~V_9+*;e+#_h&9346 z?%ru(c(!zcK+56`S8BU&bvE2V`IO7vN%YednV`i@G2)5EJCH5iLCUO}lXD7)9>v&&E1I~9aPT*|+U019Hvc&jW10iEd!Vm_8w;XolNqIzq~8PYhDv zozpNm#FN@;thNsZ7LkS@6nKsHyM>cmMnoDv4{{XZ=&};Qq41Xy{5T(5A6H{D( z8+kgN0E~#P3~ew)7Ya?YavN)G1j*2SDOEH2Fvd$mRN-++?8|=f!L$k^?!TKXd?UrX{{WLW z8*7CCP)oBu5wqk)K{cYEcS~c|Ym8f{9WM91wg}JG;L+JrpRi)2cDbY5 z>?ORDCJa5_J_EIXJ5G1s+t;|>Q{P<8$Qz~SH_rQsVxn#^K;R4kPa!;a)b2>zE}HF!+ZNfv3p#6*lpYG)3O2 zlVIG;H)-9r;r{@L!$K6wT~CY6w6aP+u7OZGq|>H7zV!3$UsmGNk^cY{z4ZS8QOA7B z93C?YSdS*@x2}v{w(Z5sUDhIlk>JOmew&u0%qlH4UwZ*2R0*krH{ypzc zi6wCdIl_-)-}ctl_Zjkv8cwJe6r|`n{_`~IcV_urJ>`94uTl$16qew=hUl-}S`qq!ALkt9o+RN7Qg?j&kC z0O8aRw2T@|(s3LU2$JKTdeY9C2BMInY68`(FQnk0VuYL%eZ|5qOIyg&ryh9<0X5Y? zK+QNSie3Xn7Fgy%k-D#tnsHyL!bDqy*1;NlnFw*Vs58#2s=kalmet{*=jk{O@t@6e zE?M*g;uxQ9UnEI+l7`qy13HlDQnOtvT>6h3u!bWfeMoW&l({F$W6A)8rNtb|Ngfyg zjV4t_sZ*s1j_9fq2o4Glc=|_%6{Q-Ga8che-5*zLo4|%s9Vuq^!d5dH<=le`qHV^rJs+)g{C!tBI74)$hT1CCgK&70>UI(fydK^(drKo=;Q#K5HY# zHva&Eu{#bMk|V)=6#^}qP*VLGTO$;0`b{l+dAxj8vt?~w!^wpe?v!a&jPy-dMLkK5 z!$bDs0@VF}-^JA=Mw)tya(|D0mCZM)K9<;6+|3m$Ef5j`E0XJL&@7#^uM?_ ze3&gd^R3$=jZUQrWhzl|(nDxS6)I2z5!>eK`&(jT6_vy_gPV?C?9X6U{{TXhNj>v%+OU} zmV0mJZVN4mlz~twM^n2Wfh%2oxbbG!<@p<@`NmwU2F2Pj*xYwr^R}9b^wcToEkqE~ ziPBhY;O4A@VM}bEFoJ+aCM+#kE1em^!iTn*Wy`fOnnyGT0pZKCz5M$SFLjoVC*qDo z-w?Q0drjW_TG3)w#=7p9?X!GfOm9%PTpEr8N}C;C;?&pWuO%jc&^O)UZM?!Z9aR+_ zgSWXF(c0Un;YF?M*7D^og}SU;#vb95VcoEuMbghDrKRsB#44!{Hu_e|^2nh`DI+2d z5Q-?LW0>y{I36D)G6xRDyG{$(R$l)AyI|b>@4~wh9^LLUwjUxlcAO!x%3{Oa78y;g z$Q!!D2CDd1U2zJHaE8G0(&Zdw2?{6_J-X(54gNj0;pOmL2Rav@s1{=ATz?U!EGH5w z2{fuu>UF!G1})Fqk^9y6?Q5HDyKlDL=eK9uZyZ~~+d@1G{{SHXv_MP0zr~UsiF}p0 zoP81DNAp&+JtB13EhP(SKKN-W(v+n*qx!|rn_TePxI`x1=60BijcVGG;O6~4Tx~cS z0v$?{Nn1~)ond=#JirkhgiX}^F$REDucoa}BN0*vsGt;5eE!^fW9}Qb2wYJ!eO)&X zaW;`Jc5MEBD&)JXXdG!?0#m# z!}vp1s?*q?c~e}2x$GNXciT3l);PLb-ePjyZbBSVoJ*{@{Cy!RNfd87dU5EdUUbxv zkt1VstBKP}9!7^X@)G|5(QcxW>PJO5p>ZH;t^}HKQO(1TyS3XYyV>oIZp()6g0#7B ziu6eGA;)DaqJ*-P2SU$8l!_CA9**f-iWf&1Vb2l??%<=pQCp-x(# z&9=k0B6GEwy}P>PGO3I}}0*Fg5JlaRNy6R45rkQ|7Y3;owwAmN_LHgq-FWo#v zd3GvKRoHHpZfh@qY`EYKG{S`PJUOcW0CU?Lo0IPr4Uw}L6E_y(mfg16+SR47we@ku zeiqwJR<(EladO#iVY1aU*fFA~{5ww$)kvP!Tc@@tv2%?F-`&M@8QTWo+P^LRgLAd; zg{s$f;BF_Y0em32`k)X`h0R4jLR$QW{RRDA7w&h!oHFKCrmnX8!;y zL~YCV#-(XCy%le_#p0J!&UF2*C1HXBPgqLK>YNHsO>3hZ*m z(`%NvHrUH|_{R0wA;E+*@>w(GzOngq&<&0bl#vyNdx zv?ufTytjMZ{h%w%3VIwZ;U!fgB19Ae^0pU4r>;=QMLa1TzY5sCVI#Qh@~uGaD@(x&#;Qmyu? z6uYaI_6r4cY163!y$S1yjR2adC%T9_<#3u-7Rtg>YwrW$*A63KNVt?!V7W^O&Eig# zWm8Ji4QFiuO2q6}MLc+zu{ghCrU20qHcMfQ2mt9+Ce>00iLFjOKXr85KAmfsfDyKy z&=xg#3+~@s^>&tLJsj5-j`|ZsVJ6$U(XD2Ip?r;*{ZTwvDue&v`W-3Xrxd?8a5- zmeOu_cicNDn_p|N9}1;CT)q}t99H00%{cafiTKfT2m0)*Wy8-l*!Sj~OA%UJc3FB# zT}nYx(WN@UBxZ5$9+#DZS{&%SNxs|aW*7>u(k{DSkatCjJiBXALY^?Lmu4fE= zc4N!)o`r7moVGl{qetRZUpP7UNKiHEDT@47HqsEx>)%kVH+NFQ5s+Xt%A1m;+JnSTns-h^W|>K&8v&kkX$ z9g+Jx!q)aJ=v_ubg&y3;-Poqd%texdYfgfS_SY5WlT|!GDw20|!z$#93?1KWXg|HS zV_~?j1SIvhyZx|IWpA$Nujp%en3`tZYV zeH`J*PhYmJX$rJ%$i)xb(xI6$GWG&7c(9V7dlgRYl&`foZRP8++6c%ZJ6(N9{{T)D zyC2nedNr;wx4Aryg+W?UKJlhx`1Qg?luOYjh$(h?DyovEO%KvAqfQ95ty9~IBrK0o zMt&V|M>>TIatSKv2VAO^RG;f$b=4S^`A#GS0sK|_Fnq$~J9_fVDGE+Pfn(cK`>+v{ zL=?m&Of0M|RR>zCLCYX=!5Z3Pg?&*~RYO{OdS_qg!l0pFDr%K=>qQK8S1Uy$uy zu4TNk;v5JcxZpwW2A?z7oHnG{(XEPwF7W>VA1T=qU0&(jHXD@dMO&1RL3$f*AS6@X zQ6io+!R%veyg&&%1Auq9nxyv!Ij2jBXK86I_lyx~+;%y$C8i$bw_je4OA@BpqvyB2^y>2^AviA}b)BYZP!S|ODg&}1sPGW&zXs%u-3bxuuG`I`~ zXhp*VgGt2Y+x94m$vuWQ4e<$tBTcw14m&ul1#&|P@~9FHuo(;LMG00|8;x`r)uVgExiuD!f2SbL`qTq+3OL4bClAV6`gn5}) zQ5j%PB^ct3;L1?1nMKuFXivNJ*9tgbk~pZppDqC%s@#yI2GsmlK=SL>Mg8@Y?4hPD z9Um2UR{sDoKk|iC>iIwXbGupx#Zm4&KpSSvI+eQO!T$Qs?#07@HM)Oy+^JhW5Hr0W zMoIJ8TJt}btHZ$*5{N3GWs0s3(Rzce}$IU4+w zuFUF653yVhJV0-4Zx!jz4Yo{H$?(-6C-xj=-9+l#!asSy{1y9UZ6T2I1bkBc*X21T z$l6z^2Ywu;gj35gMkDMS;c@K$0OM0PjvAZZKk}gaTD;xya8izE%t-Wmi8TF~nz@ht z13ii!2`hT;@~SU)3nu3suDTTgqfbg=DSy8jucb}?nLo|*S-+@G{-E}Jl`C)ngItJ8 zkF=3YY-=?u(iEh!fu|q{_jAEUC>-2TF5HxrDd=nKK>JlRr8?oQ({d@@vBZVGZ5NU2t8_lc>`6yMYRz4gcEFRr9? zjxreI)sBe4)IjfX$G9mE)D7K?cNW&RkuoNT!`>Ju9QtVnosAvlwJFD(`Tj>D?7im( zUG+(qc4hwnhPai5IK-d}j65~e65D|)p~%vQBTRa)aj~}CY~-}KV0= z6l+1?piWxaH(T=LOP1Nzim8x+K%ZqiaVfR#0kooNcW70h`8#tS?BPE5t-F5FeSc}q z=3TG3c#z*C5lE9>hx(PeZiUe*RB2IC;%npR#3!nd>f0l`XV+^ia)ZQC)O9=BN`KMr zrQ@M@(=!~y?G+y4w&mTgKe4+vJ3CV0yY3e|^@8&!b#5)b{1|pUG4sIPmM84u-oI>;1DpKBN1K| z#-99rt6$shWZlcIB?6?-_RvzldS|z7?jYLxfZLXMOW zO*Ehr>%^7K*5h))`Dihx)a<>3k9ntZ#5WDMZ@0U6bk$~~K+%u1n)=Q>{{ZT=_s#O*x&S-^XgMGDFQxwgp#6^4 zJ1e`$DnySAss0gD{{V?>n&!zoay&!oERXM?ryhQZ)VQeNzJbW?S8pG{eo7bIw&ZRu z9kfKqiMw*xl@KZ@U^bJG^kTtpDTi`#93JnQgSCV69X`?gAp8Q?)$`~1-H!xvbbdFF z4ar+ai7n{kc{_gfbA>KUsSwgzGZ=nVwZRZNk1PZs1f?m-RW-+@Horu+tIJQ!G?3}V zNdpQT#Vd&iBbxYg>OTE#wr}?~j<<7sr??tOMyFJe#cFctA0A{yWZN`^51or6zpU}HCy9Y9$R2(Mv+>O1|(VNZLD_j!xczoMwqIkzNt#v zp*^@T5tSr)r*%r#7WU`M$0}W5y>@)Q+ytsLCjtTjLyl`!eN9evB%E4yPfw!SV{vEH z<5N>oN~!KWOC|Jxywv{HRx7s~oGTwDZOenM`9*BXh}47lTzQ%d{3}8$ilp4 zLb7z!!aJrry=-bH8*k1-aXX4d!r!zu+??&#o#`{k^V>+) z?8lY^p7EGytvdKB{{RrWXk-@d#jlmxbq;NAE+dhk2Z2-ez}uX2u-I-U z;N`=3eZ`lgx3n#VAZZn#a%+SiZk$y2ZN~2D+M~Ci{v-AUux#I^$Ss*mjn$fu21ZEt zlCFOPcP-oY#^)|5x>)bG+l;Bd6UET&`;5R1w!8a{rQ3p+83`dRY0?qm71s)MwVvS< zo+gQ*t`#m7!iNEmHA(d|(knQ&=S>CimRRaTG*eI+<6Z+Fg%?G8e|aV_LW85tj-gso zgrNGpV-^{0%JPJB2L-G?+AodqM|b<^~bC7{{V9I`((e((bhK~W}p14YmIL8Lyq*2>HMVY1kf+X>?f&0*)w{dPa^VMT+TXY?Pv1+X+}o>3{>e1@F{pK& zZTf09S2nbK7JCWv@5$!xwQ?2nncQjJ{GZ$A-Brn`-=$h_Tam`zU*1*D?pg+eq0=8D z0P^SQVDZRU5|7TvdPekH*IOYSC22IC>Ly2}kD zXTPuLKYjU8a5Ekr=&H1!mt@XCJr(BxccEVFeTv=Ob zAPNGIMF{p|J-n28j|1r?Xj^PVF}3=DRrh!`a<^P)9iv7OPlO5DbMqms89D}39xuHT1wfh0bcP=ez66R1=u zj{~Jp@w(hM=Kvs?|p>?Z<3; z(feY()*pFuVuC0%xzrD)xK92t8FYYP;qg+Ne8xtG9NK;gpmG(tG459;!e~Y7Pa>s6(h$iwl{g z4@E*xu;Dfe6kxq6MM+U7I*lXf^x*Dw7a`lJN|{264~l)^mOzXs4hXI|grus8O;b`v zX&rMOtS1>pUsRz=*UPB{q}IJKbSuIa?^P-%pjKYIbr&!H(dWZ+d3R#F+nXD0-J+th z=k64uJ+AJ{garAmuG}Lyq9`arjy#cTcG$pZne8Vg;^v;iT7~Nin^P&&VPk;I;MWe^ zC{aHhDLZn(WMgbMyyM9wa;_i97jZSzd5`KZd?nGBkTN;xP(F%v#~F;SCQ}wayxMyz z(h^feY?9FB6Obu(FG20ci+b~>Z>)EQi&-4TI}Ridiq`B|9^+`o$t#*! zT85ez4j%61PJ6Q1{kHPY0dijV+Wouj?i}P+p{lk3S00`&WOkk=Iyrv}si~w_ z@dngaA9AjiNa@>0wpgj+ZFIPHG`fbId(^?XE=}2Ew3lo*jj?S&4Z%h3B&jF~IU34o zE+K!~D$fuRTe?Go*!OXv1O8J&6r=7L9&CFX!l0Zx#cSS%EO$s3hiek+7JG%nsm7Xl z1cEXLMRgCW2A0-H{-%-M5#qXvK~^{)YLQ>Oz=0|?u2lA;+-HLAx+H>9w>0KTYBTm@ zg|ptm=7L%?DJNVpvNff^6TwE^%{w0pZP}SlICoEe!AQQOP zk$1|9qt=F&C%L~hPj(3M_SW4r&3c^!)$iiVy`S|m{@j&IXcUGtWS4_wrF9>alm4ha z7>fZ9Y>Fp&{uI)9udVR+8 zZY;RSbwi?S1ff4^#+&JA0xWog{{V?l`u_kK4LA|UJ zbg+`+33R-KDMEotKm_>XNc7jLw%Z%2Hiyg`aj3nmH5CpOARMYQ&n4u~QMz*e?j~+b ziOz&KNpQxRO#wamAPvjjZt#@`;S#}clXod;PdwWZ)bMStn%ymraTOw}RR%o-E`%UC z?hPHJW7s*K<%x*g`i6pO$Q(OQA>OGwFFSX-#Clph$ya$SE=yqhg-<#Zpc79Tobj0M z)A%Kje-Ty-IQ&g%>{jILScS%ze$E#AthD=@Nlkpj>KOr+Si^?pg3!&44tOT(j|oS+ zw5E>Qkm4K%Ns3gXm#T)iS}pK18lpdKuN4eicopt4n6qqj6E;DZD{_1<%pH?=cgA+Di`{0}YS+JP@snoT zoWr)=MXPkgLubov3zwx$%xSPa)}*Ci43blfo_F;(OkKKdvQ1EvS48g=XPy>8NoeMC32vM8;%&bD zw=v5ck+&^fzr&8AIdSB-S-`!T_T#j8mA-c8?q+Ma{^TPwH+1fer+$e6jj&=WNBKD7 zG$gm?Ns9?64r@}7r*#a%LBq}4qvW^R8x^f#dqqeFqnQE68r0Ug6`lI8*IV`O-8*cj z3;>c`&>HtJei2L??8cZ?N_*#(`xN9(Du>6Lv$g$^cG-`BpC$V}swz^tWT?j6+Yd)y zp>3@y_2VtFv)?VI^CP%;e?3RzTn}+xEoIi?z#PdPuDRBv`_`i6@qZ8S?)AFZxHWDw z$6JO&o1V{RxIQGvwkk%HxfHs6=Nmyt^470-jEzXCh3m=h?xYjl8oYojm1+0pzV?6Z zv+8BG?b32sI0oKYNK3%{ZIIQn0mBic!@JZo*#GE=BI`tgTG@AUZ*=MO;=q{{UJxy^h7Uw-t1a2B1&?DnP{dElzh$*mnhU$0A-gZJ)S3zhS&f zL}aq7duddMoozZDOoYf=NK!}up<1;AUktISbT{gAeA=zU4%IP_8iyPQBGS-E?G&Q< zzw3`rY`s;#OSoG~A@c)j4GGi*3FSjUPAaL*`9@Aea`lg$EQ^p&`DpjJNofy{>OB$n z(f+kDpeIXs54mFUdLrN|%a+%)XYB-}cF&b>CNSbvD)|!Rkb2qf zHuiz_k1&&kZogOCONWLxH~E_5@ly0D26u=nbyQJKIQZnMX2KG1bbtnhkxq zuR(O5Sxps$R_=KZj26(E(@7u-_6(9q+<_`%1xS|fn0?CXB7?`KB%;~_U5E-^=c?q9 zxHzPioy9&K#s%&ag(7X8=I&9Jl4^y=T3t!{(}m@>XlWc17;cP*6P_OY7i&C2%Szrm z8)fc^4Vqyl=?Ot3wFf z+gjy4%FuZ?n6K@bRX&9TH&KdX+vV?UANaR7iicTfois)3`b$L+L?DtZ8j2=RZ1!}9Z5LJ zx9AJ*o=zuG`Kuj_phhXlOLy*QMe~pMzS(+4v|X)Jpahd#*Bw;*aS4JLefZ2bFwp1uZXlX{2Nr8a{{U1d>D~P@sv`GK#YQ!DwH2ZN08T7o8Wk2~ zs8QX<^&us1qP|lkJm#;uQiW?Go{9`O^2SLjuI9JyC=0z*3Im7}g0`uk1P(sZ*nsm8Sz4>am!+tdDMWt`vcH^#G8uQ$c_@#P;jl_rXg`QxY3m zT^$`j3dunDgNN5$MwRroei={1+G4=D zkQP!-mAsc!>Hq|N)pf;BahCE@){n+8ttn3RbK9F|6I|+jCmL3@Ms3?%n< zw2qCqLQQ^}92)8)C9B#q7>{T8B{uoQcP%F)f%dI+aun(jv=NKgmIN$c%6XdFUy zRM=9Xb!8+92382pwW3e%!tKcvW>e#>qy?=agQwO84wGhhq;9qo_j5Eoa8boByg02n zgpvw^Y2YwdHl+n|Ojm76iYPj(Ax~X;j405G^ODaS-f1dODNzX^W#R@CVC0luUs81n zq>wYGLzV`W!2-a7Nfe;3L-gRlAz%N}=T7Nm2#F<^2bi>mk*PEU0Ig<&9!6$)FIm0F zzQHzIP%W=QlH@mLd4RtSdP-^(I*$Q_A^_5&v_o=DNd}8u980?;SgzAHd+n{u)t+RF zL$H}b*80}V>u#Y51w@)xracF`K-nV_;iQ0Sa>Oq<*|I@7gaThuC;=qn$YQr6!gjvu zg_s?+vhN#zZp%tk<;Qm^7AOiq{9a|vY*c#z#tqb)*H5-j>P*KxaBqzN0LxYAo|5!K zuCL>)8+?q6kE%*U+HutRzRKQ~w-TU8Kt%}g@WlPEsXJR3Owq{MNA5ng z6yR_ecB@wB`abHi<~G)7WrfwoMwaRABg9R3Y2}KW?O!ahGQiuCIVuj+-U{;Ed-)DE z(%)LrN`pa^Y*JmKccB)wyW<0X8!=`vCVI9 zNo5hLXY%AB^h@jO_|Es3|!RMm)u_exUa&8;Y`j7^or52Oc2QFHT+Uo|EtFG5LB4 z{nF-fyK>CS9em(n`%P8!jj-tli~4gj}K78TXr1|{!#w`gr~O>c$@s+ z`GNyfl8wNL30J(SszCM{rxxZ%TWWs_tU5|uYW^i1a;D#Jc1+~kdx)#045|{2WiGbT z3P}1!Ed3#KI-i@(>J^1wbJcT<~HEcunSHg{t^ucKTbCgLB(X`b4wFI z!0=L!-H53r#;v-RMQiX#{jP# zchnKG(mP17V_F)~#DF<-!m1#*Y`vkw3}3kCynUT@YQ?|p@i(T^Ym0XcyzZ++vWGmP z<1H?1Q4#9tlNMS7fyAVZ1SsK_6;Psf{{Sy>_X9P#i(_NkFL&_GLGxR%IJZ@FIN&JS;eoAb$ydhZxLRy36fKTt z>8_A9Hylahh@i(Xc_^=IGKKD~oZ6O@HuUHWm9HeEt;C~0uNSS|-{|G1?vKw*VdDgOY>p=<5?wVu~_vdOXbMVoDMe<*GjW<-|&Bu^HrExpA&Ms)~NvKvil znadj2>C0o@ZubXIb18HolmfNHk(l9;Sg!HavdnxwXUG8AR5kWeGjzm5VmsH7Ce0}X>CE^=C}s|*l3wQs&8%IMmtM^ zz=M$-K?>RON6ZJdUSE3V{4U-1pKH64@|hnWy|{mnWbVk4pLL|Rmu?nq(HVq0sY%rF zjQa{vDk7xf=e6`zjkTb+X?~WCEveO{a2Vo83{C(56dv`xTwhBhkDz>&CW3;eJO&@) zweH_@SD3EIh`rqG#v?em%)FNzLL3M>Lc$#Plc;AynCXn}ew<@mTS0=$U$lT}Oq7Me z{ok``W{Gb2RIs%vz?au0wI-D4bfH+zeM;!JU0BA*#T}}?$`$T!(63cP z(>vwu+@tz#gfqPB4j&@6@V}T}ZM%bx?N%t$ZjkpP6oV=(*t%l^4^ZeQEO}wxkna&( zmk`pdz8;}ttAIZV}J$K)ur^r5mH84f#wraw*85?t?k@+!{u>zyzNKQ zmtbxwP;ZPbODh_Z<8RM-rMXd_q?3&FTy8e9mS6RBY?x-y=*Yl} z?sGUAI9J+8Q&$FDEwiUT#|?HKAz9*w>J7B4 zj9#7k8>TZ7)|LWm*xXOKPxS1JbBrI`-w`}cqCMv%hkM+vdjjVsGct?JM^cbdm2{yX z{>&+`TE)3U97PF5+-7~V$OSdpIleTIhNMgy(4@H99Z;sE`g6nE-hq2D4Z$G?P_*Dm z)NeG)ZtvWmFs{JKk~baoyTzsyI=Z(UyG3G0me@^7iFL&Q26e~KPf4S6eI;PoGmbLT zTt0_51MZ@Pu)7joO{a_MJ+wbER@=D$0OgOdZJQPAw{ZN4yEY#Edfbcr9lL0;qTg?5 z6ot5zy?JCUz|vF-lmMy705is8yn4-Z`K=akHPPy&Tx#RX2AnIyHSBJl^cD-4B73i5 zdx)#_NYW$24i407fy4l{$IHB7BZqgpyJ4Nn8+X{JG@Fjy-8QW$MA%DFN9Ht@ugY}< z5VTbI5NL6%bpH6=%G=G*SmA@3cpk&Vaw{+hr6qn#%)`L z`XQ{VO^{#E<7eJV?3Z}A1RDB*SF;(vQ?SFh*-QLozVN+S`e1+OdVhVeIEO|ZPTeja za=%P(=5F>|b=jvv+Pp)LbV9)tB0~vwzwKh>`BEIbX;Lse6-M8Cfi7MdSYDzXN{>(C z7@oC@!lR{rD^T!ux?V)pyOE+Q46(xDk_JhvXz zzFq>}iiz9*02V|`v{ZeuVr+nE_ib#a_hN&%#aZ3nerj?FD8by8Im3+P^U~SNziwbQ&Nw)+x`c9|P$+S93^r64;Zu@>H$B}lBV4`? zBcByC7MzgML%<}D{Si^8(TBG&1CbR=Sz$_pK%h}3$zYxEcR9_qak>6Ym&$KheMmm@ zRW#6iO?u*izU@-E_?#(*6{%W2#ks~C;T&%Q>cmB?a=HyKX$7XDs(xAGWWmiL!Pp*EO}le`-)6eFGaE#0r*Cu1w8#u3 zNqxkmHe7LFYSETn7^h#{HLdc%<680etF?`mK4B)LQk*@?M7vxXxm&&#NKCkk8kZT* zd9`Iq)4=-1c&|=HdsT+e5NN7C<9+L0;@vR-weXS+y_bTDile-s5^8)x|Z%T*UCq&nzH%Uvj{eIVii@P?8U(@jEW-$lEg)w{)T1&3N! z-t~%p{3&mP!Yrf0wTH zLa?p16s(g?DjpqjrWXh~0uEN#H64ZbGcwTsU0foXE*9>?z?56tqG=xId&=}L&9J{7{Od<~Ep z9i}osCy?fsx3Rjqf0b_;mQzw1Gc?E8J9sLCv3t+ubzLRM+L7$MStjiAlX$vpTO=lL z4!J;$PTVFT=>=2(9VIx@H-Alb^1vo9nwbZ<=^f1!2>lo9=J9Xfv1C?bB4UlcVg6}c z9P)Y4g>raW)4VyJ_QvSt9q)L(?CWEqM9Ze(xXP65$55*I5k!TlBEN}XQ6r{!&AOiI z+iZx%YZF^5h5?`e2QyEA;=LW|zS)1&H$vxexsmqlH7;|>E+g=^rk&=L9qVS+en#6? zlqTP{EimjB_UMAusiZbk2l1~psQO7K7**EKJcm@SE0I9+T{K?iT5P z-M6jMmdp?4DW>r2NIvyS62n@LiAznP1JDHqJ!=n0MQLdq104dD_>=88ug@o_9--ZJ zCi!!@O@pR+Ab#sc4QT#WfII4Vt)IZ%a66*yFStI}w_B~;E!>y2?hM$No&%|ie1O5Y z+hiarx>kuSpaL_Zi19eiE_UZ_yQCMfiWuB0+S7p^;+t)og+`Ob4fZMX80MYR*|z}1 z+}qhwCha>KINnQ=iBr_ut}4#ZaaE~UWtR05)aQ(Q)jv&bZTgDnMI9RFYaj28UouzK z-_zHnoiDp|t)=wQfir`HznQKr_<#?!T02K{?_E_byUeyP1^)nlTZC##zMN5J>32s; z0vDj)>2}&ne=6|OI8`8fnCOrDJbdgJmM6ry$Y!HVC{-n@r~uDvn2t$`cD+?E{=_Vby|B1 zP89B;P1i0T?dx(a)WhRlyETa=FF6Wbq6~Q)vN z?3P!Ts<^OQ`l-6Hx=xo0Q!luxMfd5CrzAR?t){iX{{VO@F1~!DILha9z1=Ka!+x|# zy{!+ei;NgD+ia)66qbn|oKJ1uv|U3RSm+wyJ4pN0GjaVYSUv81cQ0*ufbY3cz4`wD zm%n}AuUC7gANM0=LlfLosMg)jWtzc4)j~mBR~!^3ry-3`Z2eK%#}ipKqpAfe91qTm z7T>=|cTJVfhV)S4H8budL~_6K@OQ*#TcX;x9?RV}cb{deoaForTNY?>?AR3++g0owX(;n#^!y7HkURfhi@d^s#K}<~*ud)2DJJ;KM zyS=y7^MK?Hxn_eCkNBS7V4VhUlVP?nBC@JBv88U&PAqk*&MW(OtbI5(#zHQ?s`nSj zNF&5?_+{)`zW39U-E|bVEzm8YV`71!;|SU`j4+`f5_?>>x$?2yyzSZl05k3jPb_eL z?Atplbv+j6BJgbz9FMJlSyEQG+Uhi@6xY{{W2QRWrT0Ce>u#F%AjyVhzz}#GX^Tw= zSO=<|AG=9+6~s_E)C72FdvXVkUgfPnoa~-5-2KWUadAHsIkXWyiFdvAa@*T_bO_U~ z6Q(KTxZy(qwL7MzM0#_@W6~~?zu2v&hVuR^oo^;G$r|CHWOMM>_jo29b9V*QHjTHo znWiRbd3y-)a?2WX?OO2Wjv?hvDzxl-ChUVgRf=7az2=D)DKjqiNbXH_Yxmb3Dq=g$ zqexm!2&u)lp*Nksbe`ts+zop4eKd6%2eg8C_5~f+n?C2ZTiaUPhc$tksam$AoVW@M zJ?gu-`DJ$LuwF{n4al<@^3)H!(vslJA67JR9a>u9fdqTjW*#e0aTHyQ_P@LKhj5*# z@ed>0u1%|XaKj7Rd$(@JEwt;KZhQX#5gJlLedUO9ON>20N^t2Z^;YFm(*e16kT4@~kE+~FsJ6OCQpH{{ULu$pyIn zDFctWpsLx){DHAIbZgT2GnFQCw%~portHd(5fR#naB(VIZwV3>r;0-8N_r4YaTjsw zuTWiR5x^s0a3r|Yk;HqI!)yIKbj^chH@k2XL}l$8)P=sw&-57ZsoI;3q=+qJP! z_`x+is15*Ey`_5_wS@ZuAp-o=q-m8abB_ehU6^_X*gxJ%TN%mz8mrNRf5B zNl)g=kVm|;TG1n-Q{X*#$akKpn(kurfZ#X*`*B{k=>Gsq?6!+G!yYF$JByD#?f`HK zTaB{ep`x%=LEu32VgdV;$)deQu*T7X{e6wMr|ro*ZuPgL-fgE;$n4ybT|*Mk+JkZs zfpgB=|)tSDv>Hg6iqKQOv^5 z6>$cfDuuT1aoytabh9z$Z}&)XRiW#S*>(G*D$_8tA6}pD3>$j%OQg3(X$_1M!N4^9 zRYFL5zif3~43B8y%Dj7Nl2Jds>!tQf$9PSZXSpiB5XIs%k?Kh~{%Sy}ClL{TpCh$s z5HLBsC~BZ?`to4nE(4hF;skuuMSt!o>y(z`S?%GfvTRStNK>dmU=@+%u_Ni^HKO1O-i(m&cqZ4U)4wBNKv zJ7un{4LOm9mv&b*to~Q|qj!tR)AuEZpE+Xx0JyD}Ilrp2weJqP^9{U(C^q9RD5+Vc zWD=9_14CSE+jpdUBu#9VkhCA(;(660vi0`ivt7H-bC~K=NE9Co$0VPRw{GIy@fEmt z6n9{;F-b+HJl#Rk!bWbCt2BiZkUj#qkKMNTZQbR@YDRSD%hkiMXm`>M zbmvYL;J2OFHz0`INqeywIz^WGC2XXq56YIyas?~vClChPP+8Ba+9TYW`hXt5eb_7U zyd>NAKNWI~>hmZ^v{<&q&fI3Yw56pbt=>guz`lW{jFn8 zn$(Fg3(4E-8x`!$83()FR4uwU6OUYyuQRHLL+iwx5n!wGKNU%~;Gh2hCV9@@#3vj? z`KXfG&Ph6CxH_M1B`14D#AKdmVq=U>pj!svUEd^eS02JH9c@_can_GPZW<9!vk_Nt zhe}Us21!9eq)X1&+MJ8G?t43aSs2{gR{WI0yVp3ta9<#PiE>S%cJIB)y2iD*`wC@l zLSew#P~w90m9JWWtq3HN>f@?+3&O}`e}YJtb%Q z9_JP1Z&`tL?w)OGjPHw`e|1x2%v;MfbqzXC-Bxwdd`QOU2IAIX!C>#&b&7=!?pvg- zzE=7cOKBA^L{UnGJvwvC3dy;~;ZK@U+h~!dqu{INDh`2+BOYNd+K~h|; z0ZP$D1D-1zmzOIX8cRqOs5GLyZBa=J+o%Uu3_?JS+i{B$e0J|Q2#5(zgYiq0(h;LH zggsw()r!vFadj+Yx!UQ^HEFxGw2om$XzoNd4Z|T2p^rVQvuHp*Y*hq3?|a6ruiN2_ z^73HmNp)Il$1i%(Z7m!aGDiL}vDn38rqOFS@t8bK3Hs(oal0Sv@jIleozxuwx@=UhoA1m5^ zXxBq1j@znnDG5%JjY+AY>DLjiCaOu4qGhXX-0iA;zl9$9R+%LUpwhCFku<2L6?JKb zD7D8F_VcY6h3QgawAzpPbTIz_nDH8NDo7b&Vh;dnn++i2MAY-~!5}SJgH0_uYg&I- z9MJAdoJCdwqEO%wpVCTAQytPPPPwNBr*Fj)orm0*CBtz@ah(#Rtp3 zu%l$hfcBwuW}Iu>gzY9|m&RaTMLigIE`U5I6U-*<)l;Zp z-kv1NDd>O#e(tB(6!!ba34!}iqj|rzLTwUssFeoJu7yva`1*mtgM0nRJpTaNtN+yJ z=rCi$M5!*Ng)K=@^9GcTfg*yZ#~w^ACcVqn+jX1nCTwi_iT8GtduHDIcVR+Y(4?yI zF$isMD1!Te10a8eBlvL#bG1));6DiWFH`iCyKhcg7c&{1o4B93ynyzte8u5?wmCC& z?0~bbjHN~rl0aL!qNRkv;yPVg+S-t zyx9k*c329QXp(x+DURYJHh2OD3k)}rTof5$M&}sfzv++*>?a+{Y zSTCm?I3?ahju=GJ?`}iptN#G1-%?#^&~jTu?-kS88U9h?cfNos)v)fG62RBfPg9M~ z`Z|^JWrb{Wx4rEm$+;}j=_M=>R>E{;Ig|6Y}rxU!s4z*MWL!kniUkOJ&4%x!nrs4hhn1yUPI zYN12;lS=zBQQda;+nSMqRZgkf;ElhSgZ#XlKXjfw$L6db>GHZ3f`_CGLkZi>Qhzre zHTXe)#kwC(oC%w?al3Cdm9{0csdOJ33u z!iu`utmYmjRY(@DY2P-zDfooRLUN8{m2G@(ZEyO6%2Au^x}^igco zAEOOjurTDSGx{-VPlf42{lxrZWtr9}^O`+dn;Dl!`)N4n_B|gCDbUJgy_1A@Oi(O^)L_ODJ%PCNGBc zT15i9aOZOM3wGQb4eNy93St00@BzbtO{D!X?GZv-Xww6$TDGU&2_S_8cOlwOFLya) zz3iRU-Hp#`@x|4ohqmU&vB!-jYRbyoZd{io6o~7{6f)WrMnyzriziI_jc2tzvc+WA zN;tX1f!YN#?IiaqW$)>7OP3bhUpU44p`o?sQ&Wdv1HEcq!}9Rvt>B%>u=w+xExU7e zabtqXxHwCHz>#B_ZHl6=gOe58LgvSj0#XLHB({K+8l_rRl_YC7UZriYXr6mw_DzV9 zq&PV72UQ4gI2My$BLWI8+0om@(_Lq8cjY<{50v4fNc=ibCahvd#TQ)iG?J%xN+Z5)$%76kAwIw3>iMG~SWw&98Tf#?a#2 z+C>~YY0I==vc9tEjo)dNznllhk*Of|SApyxD)Aa(vi|^h^~Is_Dx7msY~!|0^=EMJ zXWZr6CED1F&fDbMfu9W%T+Sdl1YG4IQk&=RhjIj#ig1N*23PiP9 z6DHX5!fH}0h>MGzFA82OFy@sI?udne=%!RwW7u&&WhF=|r@UL}2-AxoSSRj%ryq1T z=WWJIa;~t#wE68ak2A_7cr1Vw>aHTXf@zrqhAbb$u%17+6=mp)J6W$FZO$-^TseV_ zJ-mAo&Q0gd>M!x#DG(EQiGnSbGTr+^f>=(%u6d*b=n<@C1(IO81PF zZ{AN?IMr<~-C&1mfi$TwE>NPd(vq*dS}Q_9sIFP&Fe7KVym{3loH-It!mG)Bd((~C zZYvuAh3CR(F#ZyIICBW^fo_PtY+iD?Fu#jjrUK+VoXVW?(n(SAG^Q;dlQ!Z894K(^ zS*^UnN4diq)8?S21ZR;Ma#(Hkv;b{yAuB2NR2*0daHs@@=l~ev3xG64QRj_%Ny%9s zqbxNsDL5{udlthxF76S&AZvcxSGJ*UX!q2@x})`7Kai-Yb(Lw<+WLxDrZVom*=}w; zvlPyXl?O>U<;aD&`df3eILa@q8}?3byM z?{=N5WLRPhCZom-w$f7CP*w>}vQ=MrpA1O!-$_FS{BLTVognWlTKJDzN_m$ z{{RU*R-U^D;)05kxa(xjd}lv{A^*57X9j^4P3Wm*E5hiKc@6G%+O=?u*iYFH>#p z**Sn1VgCRv=aht~*ISArxepvwF7GtmfyWhcx3#UkcqP1KkJEO&f+1i1&K!94rD#x% zKf4yzK~f5+N@(JxD7(R!R~t-UIE6nYmVr)_TDk@ok^lkjNj6%Lv-ds7o<|GvN}E_o zlNAsXr2hch%WVKV0HmK=R70nF?-lW0DZ)CnA&k zFkrwEWSrL72PK8^MWWJ~KICg`80bk?gK-dweVD2?)B2?LslzvcYb%-W(N(=6UFNG= z7`8AL&2w${cykZXa@y*EKthO6-PGc1vL)m_1 z#zaP@CTHr*{98gsmXsbr3Q`h90n4B`hS_(A&gU`4gsIKvYh(ehXs8KGTVgWeT~p^J zZj!j)4(Zd92AZW^4r3CVOrjPfl zC)tWz(zLz8wZyBmQ9LoH5r9jL>fsfiCD#SUK6PSWyncms7>l@phY{gDifYpB_3;fu zwPM}3XmTuWp|Yly>pB$*NUDJds3};_@k$4nE6Hw6fzti%d5S27i6!6<5`WdFQLL_?0sRAUFI1Zh7e{ zx>_1?MA+;p!zE@^7;zj}2`NcUTUaR`uyMi70N_33{ixbac#mL2$rDQsJhV@b9cGc` z8L?6vBDsdyYf$<|4dyp2E8J2BH*u&P;W0dh*0m~<7L!zJdUUdD>!Q*=p@RtzXSg6S z{?#d|_|eoISHmUM`=`u&y6OJ_=N7Cg*@{fWIU(zmD9txL_ac64ZKyUH(3aCcb0DPG z3i-qliYbT?Q&c^>a7zrlL`ZD9(p-+FB8Qd|p<1g~RcD7Tly;NekQ2eD#xE7j$# z39WRRHiXuhbOS6DRTzcy;oK@ptL}`_1qKe%)SXxV)#eLxazj^ZwAs*~aP8>tI>yvu zQUgyeA{J8IhtQHjTv|XSH9BiddEVD)EnsOLDtNp2f!IDP+WT$HR+^r|NF>ml2^*#5oInbiVcT$Y(w-BYJOI>NxJVxBYtb29XBq^%Jxl+Oc5WOcMKyg{Svc+h-Uh$w{ zQy)HVCuD8zK5Jj)w>nd*%>C~n2^g??d1xDRIpd^!)-(F6-CZWtV9p+6&-|e_?7Q6( z$n!dZHgv)+ZroFQ}!aUx>m_0G8IvlN;r!) z0IPrZ(hh0H&B!+hH%QYXPE&3&prCaeA#<~_@sLJo-rv2ccjHY! zpixmI;xgZ*p$(-J{r>=|7cO;mBfX{1l0}3+GU^dAw>-ZsYR;9&ikw95JtW^Yfw(I+ z#p+}K04=G{qk&V81$UD-Xmd9lKLX%hlltAdA&i9*9z)WQ%Z-pag(XB&6|SQ6;j>su zOKC=*WdT-=zt+L#`32Pv@YB6^8m4XG=h{*NQiZ7i`xHhzL9DGcvP+~I@L7He&_Jq! zN$|@A^Bj{m7YWWL+O|&sH6b9XpGFdW)0%Qjt~a^j%q4Po&GOk>BseCaZ@j zAxI0Sy6P5#nsFg@ZzNt@oIDZ&TJB}0j%ofOh8&1IRA$T7Fy8MIZPP{>BS0)QJ~o>C za5-@Yl8L!*Xt~G^*f-|JyN!>|e0G-=u(!&aD~l>Kq&WSW>f2{ji*%|{X#35sjyFXD z4UeaH#@dI&Gj-cZ^*4w-9^OxH1H@o(OuFCF`L3MHn@5Q5;`$xHjx2cM$8q8hh+;7| zjJbjq2>=Tax0SV<@iqD+4lR~R&C$8;cu7_ zfVpwpXl^7wafZvVXU~Gw|>lxW-YeT7y{eLwLApjMp-72n{<4@a!yNG4P{uYW*xKj=lk`Qn$adZ%Z2oW3tnf2(sH7 zPG+PCO=0}74>0$yAeV%KPT)*=Y1ZWvsDNwIzMA38ai;P;UH%o`VpnYZjvbJIsHPhX zBBG=h^p6~8ceYJ+_```>9i_{KudpCJs+cW1;aln-bftGIg}M`AXEXV$ zbo+kpBKA1zaytP_UOJH#s@p7(bY?duvMR(ZceeeHe}|#_NPakX1JwC-11vmT`E7> z*HCew^hCNFBYQzv$6s3)`ET!4cIUd=LJKipA`Du% zN;ZqSq^|1AYZ~Dw{8Q{Eqswe7-J$T+;f6b-gX17(q&CPjJXa7Dy4~I#-ZE0ulc};F zZCMA|Sm>eYr`w7f*(6S=z^j`Y*&9MC5(f7?@18aKEW>82vqO+-I)POMWRwunMc*Q1{Wnsl@9_h}fuZ|Yh5<;O4NQxtn z)d{K30u5Idum9HMDh}1(yRUEE_YU5&DgC*&Lnz$au6wOSwcCTr(BGdbN|4%0lxP!L zpGGoKJ+yL$J=Alu0}^|H#d;Ha-KUNkuvfg$1Yxi@CkOHV-`)>$UE%%byj=)R$cx63 zT=+H}@)xL0l_9p-QhdUb`DIxHOwJqbTXpr*+2l7vKNhi%unc|lP&-dsy3NGMLF{O+ zekDS8-g65|nzzPmxlJMG3f&t0h|($a;%eKaK*hy8+Hk>o|a7-fgCVVUM3eZ_M-)h&! z*_UXEz3q`Cf~FTT8Bzvhec)XNgkqg_wQf<89AhMMD*Lr{X5}jbql}iGZKv9oZacRh z#h+_OA6{-ZcrLT%+~2>pmQ>s2!jRe$8*I=dRFhu0bi)YkXDvQp0QN0IVBaoY+ROt_ zA@<@>{{Sk>H(j4-eID_(%Sx0-;Y+RQuhuam(aiGi9@F@n@+!US^=`H}BpCTpW8C3S zm_eIQafXX&Tbfjg1p;#i7mK@UuOl(abf3yCZ7q+wub&g;yKc8hF-bjNb)v&SdiAVg z1Z{>%THa+yTOCdTYp-waB--r|VkPPnBC90zT8UZxxUk(>7syQ(!M5)L7#h%cC$=|Z zl3dWzipk3?Hhq9-sZZkHT=!5VGItx12-KpJ)S8U4!5L?%FE;Y%@Zy*y@5bBv&*kEx zaPmE*o(eK13OR`g^*Q|OqKFxpG5DM|ofpW9BlQ49Krd3Du-wm&V)Bz{Qlr($w0 z_uAW*{lYvgagDt<#LhdhO};+-*sC&a@C#7VR0Hoc3yRE!(yXdRDL$`VHpgU=2;^gK zX9cYfaBTs>&Z*=M9kf=DNOq0ae%-wLdwFGo+=Al9IrJwMwu2mLUf@?{az0}nt0hY} zr}tjfePp=k-CGZM!U_)P@y)Ayj1 zd~{Jawetk*;^yXtx#q`dRdo4ViP!Cm2iBW|Oq?CwnD6W#`e!@&Xz!6J{l8u94Ik9F zYY!(?r`$j)VA>ticHw<3uFKE+MtYp5mfIVO*i>ukF9Y^s7Vo0>c>cRt2m7b)N!@jp z(Jl?RjmNRUSPOS9?RiZgS~tD6*Gv0ZMh1^2FON5GP$_f zNyriZ08d^N@(Pk>%;e<*c%=#m4gugRmJ)rUXLr+tiqSp2x*UC_0Yy}Ld@z`|0I0aO zHnGY!yh$#tMQETk&X{=>^3kl2v>q$e_LdE~wPf1pTmk$3Dz5iq-^SA5OH|#tw_!xS@>{GsQmGzfOG31b z3w$L%nB{Zwt3l#xmNnl_y&{`*B5CT_d2x5#zIOhhe^p=FZk=JW${zOAK1u=uzjc{| zPA)uf97@m^9QNJHUHT`QdD{N~xSW@_wmFwHwAu&Q+amCY0JVm_eOwMGG z0L+HlEEw?_jMQe*#CA}Y*lDDMB?w5M01kj)mr}XJl4?rO_S;s*(AJ6pkVNX0<>>)k zJO&u)s+@hr6Xl|E%c&ZxQaa(a%tDF%mC+?n`)>NUmgmqFK(GKFIH_IQYj9dV-G8N- zpzYIfG8kXI)hi$DoJiS4LxPIl?=>|?cj>G`xbfTanh&xhIaWynQTR}reQLzDq($tQ z4qs}iZnq7JTSqulRQ~|sQMUBv-SNWGEm!L;#$C5=%XLmaCfcQ?F{g~srKulwqa>eJ zCwAVLwcNv)@C(O2Ayayn)J?~y^h+C@*j!C%kar65s7*UdyYA>YW^%T+)9wp)ZH_&F z(~@pc?9yLuEN2`gWhhsefVUoS)`vc%;!^LUcAc^i_u9tk3Bscj-^c*5-_G9khVJ>l zGazL=Zlyq=pa7Ffo?Yi8>2TRsoy36l^X3iTyA;2D#N2NSLTYm~2}vXC!!~ceS)@=# z&gRuzVf1TnBC}5`{{Y?qddD2UYX1P% z9>*(hQxE?D6hDz}PmOO)zq59OWy%q1wk9zURlaekwaz@~q(PZgC zP}S6cDmwdd&1VJKqCPI!8@k=ZoWmGNct>(uN@=|4lqOQhpeNOdgJlVlGC-|AZV9lv zmrI3B6sNSN$+K-ux~J9xz6pTh>UxA{mw`BEEd!k1-`f=7pGYX=t|fuh{V zg2$EttFlg_E9nSEW7mkS+Db;&@%xjTYU(9YFPIkkW;6R6V#as^l)t*JO(f(B&%?7{ zpeT$f({}aL{uu<@b(1EoUrXFbZoiwP4C+rzTbl}nFJ4&PXh{wHXl+W(DRDqle|ne` z0_|ZR?496$QgwyM)DW#O~l46{BsrN2>avI|-1u-ctxZuo$NNl2j^~|JV zQ>LUXoQ`AUp?aDi_ydpODx}arg4QO+wc!i$bgwu+Zh`0);$otX) zLVhG^re(zGQ2Oc)BIVoP!9Rv}jMKy|`L@*}I#qXAN=S80q_{{4&!NOk&e?EB(x$BM zVIPS^T+PVq-8YL(qTXC`-D*Ov9!sY;WVuF~6tAS^?ZlSFwD|zJ-%&{JyN{hlwuwpyEaTA;F)-&#-JbyZu6`c|TFtInqqkZ7Pyce}cniy>OR>J`-e7&91w&Y)G| z(v>}BmvmiJZuc3BLXV1Ltucq%4k~>?EpLl|b)b9kS1pDuHbLLK;(o*_u^UKM^=)(k zo6Ns=`%Sj2N#8&EaUb9b4Y8gnKbWaz6f@+w;z=q}z2KgdpwAy#ge zk#7nmupMpk;KABv;2*4{CIb$y}KZIM$Cb#jB=3RWfy{X$@;km}O*uMGJaq`*85P6W*8xV4dHNtz+EF?YAoY*?{_2?eD)J3(5DfSp0UhYc?0-e-}f+z6XY zbpUE>od;(Mu8J!d+I-r*-I!tRRmXqI;(1$%`J8WHo3-}AZMLHA`^@8Xk{wAUZYlDH z#T8LRft4|5+u3>L0W*W2%nA>3kCtn2{{RCp?KM))-@bOU9m{yRT6ZyMDWP#w31po$ z9$`%t?WQ5_t+!KME@x-hrmc5tW)b1|D}`homE2>-L`%N)+l;9x_;WHU903Z<6Gb0R zC|51s8sn%&sE{WYhw86IrSjk#3XJ zRpo>dDO%w;c7`xfI=kxG$J;eNE>eA%9#rd@hq?T$45aBsRRb2wy2}tXnG5)#ri*DMO z=3CNf_yP2T{7(A?O7&NxAEeFuspVw1wX?F~=MNblz{8F_-9g6{)VB(8=NE7<8`!wd zi)_iUZHp>O{1ql_m4W6;l;{Au^MrfKKAGCk>+WuysqXgyzyZJo_OH`k zi`e>GX^z8gk3>xOxbbt37ak|rFaRkP`}jZMOj-JNLgr#HE1?iZTH*2!yrweyt~;=xe*V1{t+ zKCj){Fu9P9*Aw%q&#wIs>B*f_Wf1OTN5}*%H@ChFU@Thpw9UEv3fnu6a=_AS_){Kw zQa-FZ9c#LNDFeIM!}Dq+Kc}vnaGQHxvu%KDq(%hTLmp$(K|MjC{F3x zHaSNxN|;k8KTZMLhS2{2s>BZI96ohOyU`uljiWbbf4vlE?oUy4bP)}PRtvB3y%#^5nuRTj9%ux@SANu ze#_%s!$37T0^zvrq~+iqOn^STH*V9@&cr@;_l6&p6f3$5tu4q6Hqv(Z+w;_-PE6)L z;5UBJ+`B7vcF}3PTX#eWn{s-#zV~Dj)X2+@q7gdYpW?6H!_BW{+90`P(O$W(V}ra= z9tOM|q;C3ut6ya-67BKG*&14O&ISZi0Ok*xS;BH|JDY&EJGWJ;*L%3wzn1S$L~%b6 z8s%*Yv&vdcf5bzqsam}`;kQw-w)?cDqf4>eSab&((jr2H& z09fiCV1ti5R*J4aEiUf4ADrdwUGH>_ZQ_R|u6^s7VNFDbC0j!EQam-EG)h{1-76YW zYIPcC>k;dw!ELpPVQDuMppKb4wB@9BVtFr@HeaD`u9v94DRSnv$U7Osfz-~%W*$d8 z0j?&P@2iZsuVQdcz}hR0bk}sn^u#1<4YeIlA+!O;)vaucIt^7kug) zz0&SWi*$<8(CXAkgrF*_2M$*;8mAzYL#J2 zN+Xa}hzS{rxLZv|q07vwwCDC!o`1q{^3pt1Ugb4GQFk=XRhwsV_VP-Ig=D+KYU1Kf zNp4$3kfMDWz#mR0x@I3T;%Ioerk>1xN}1{{(YM>}F8=@vByD?~Df6en6iQ(eAt?{X zZhfj^YvsvpF0|qn0;r&%Qb)H8nBv!9XyB(Mj7c3F(B>Y>gZ3oQZBXs-(H_?Yi*30o zR*3K$ZI*(mQgpTwE9=6NTsiKm$tSlIowb~B$EG%hv~U0c?hC}m-iX_J!2qNY^;aDm zgN_K3hcE=pAFJu9@acuiXcTCd#GIr&uPMJl@EAxl6#i*^Are~1Tw`Cu?;ooSu5fae zwKZa#5X-Oj&&Z*qlm7sU#wn-v0m2ra`nGo;n#B6O)ap3~lN)*uCmRi|QX@-}q{fQemej_k*wjN|Z7gZ1 zBoT_oOG|AGg_45rGl?e;yBuqpncnSXkZWZIo)j4W0E*X_&tv6(+ox%BU*^u&Z7bs^ z;5Qp{?~Wy6OVTY9?6Rd8Zq2r(^0l!1M@TL<6i}w~01=$4B)PQQ4Wy@BZpDr{j>FF? zRYo=l<+SsfXz+YP?H{)_&i(4@Z@W_F!wb~=v6SppB9-$SPnd!|bxtR&-Q`Tzaw;nN zA2tU!m{lr8)rpZKw;6tSmb9ke(rZ%UvroOy&|^ZlydjkfIkvPWOn+db?aO#(E{0lJ zQ`(499Q~))h8B@(H7ZJX(4&qj<6HMIF4wg9z6{;T%lEs?ExlsdF&$|J=FP{su( zPnR!vot|y3NZCBKU^i>l##OU^Z<{X5T$!-;^d~&X&Dt7rkw(e>R3W`E`c-^ zd+ovqcL+?Z^7U3Q-e#IeK+U0~hd!B+M+(xU z3`n3_%2eqD3hPovbyvIyIoH{X6Nn0|z*cDY#%(aB-e+XW2#p=F_nvdEg!@llMjA*9 zunF`y3Z{*$xi@{p#l~Q&lHk0~U*JZM@EaBWwqSY&3pfmA0$wvyRX4MLL#0SX!3%T} z6xtj~P$R&Ae!NE*=$!e54es0eVA&1I|+l2DIMh_4)@1UZzZ5M_pn;VV+yogO;kAmOIqOJalhKGi3+0$(xyFR@q)d=z{#7-*6nAu1-P-s{)ZiuJ^vC1JH? zK`ZX%g48&SDFTUM3mS(}nib>h$42v{`w)>=4{B?-Jj|z`30YDomjFqpyl6ZyVI~N& zMOBJiMf_sQi36%=C^Xa8gI&-KL&o3X{g#k(FqW{q2`q#$$>JB&%jaF*W<51KvdqQG#TZ3#2ndc9K2r`5f|VV9 zR&~P*hHuvsYl*@JQ|UBuuRH-B%B5od-yC#zjn&SS_GYRs>XpaSH&ycEwk^xsTUu1I z^^a{K*JnEpB~qU#zU@njpeIrBIJjCeUbEOs(X}Fmk{bYSwZhpF5Y{!cPBw^ z^CNdP2~IYNZpMt2FUvVANNv8pj6&SEcMUppSG`Tz-rH&dj`u5HYqoZeHEl9ChU~Ml z07Gs{fTKVK03pb#q01C$pSw35EI!}yT7{+6#sfj8ZVDD`vWYGR2{FRd7%tOMY%AR+ zo;2%;GhQm?0iaTz-MpqDZ{MLo1tz3sI${d)+fY|MqjC{ZLp%3|_oSQM({OPv&fA>o7(;U0HCvI?;#7((n$sc=q*9ixo2ucCAsy36Ex-|u9jhtpZ%8G*x^>Ni zngj83Nu?ZfEjdu_m<*rw(?zB>atvT5>6)D*Lyq}$VdCG z`;|U_M!KHipa=yU$?W&$y~ONuxVcHzy{Qr+0nkjly|FYS)E*}Uf2un>P7)LT>%Qcr zx9Q)iq!scSJKoQ|8{7U~+|wzQxiy{4aPkFxZd(#G+Y+qan%uKIqTE&l+^Agz0_ zD)I2I8F9A6-#cPN9kmk1{5h;CHyOalkfkMhl04}pMKw?ZDhy@aPrcsV+DHq_fd>JA z_XX)sPkJ|J+cy|XA#7wgVsSq6QYw3v)UEr$Eyy9q3SB{>(6V&{Ul4P~2`<@&3))tl zKtqTog-LKX+B}e-i0}Xk;u2k}9F^M7st%mehc~)9`Tqb-a8K=>iSPZ)PZjPy{{U^J zrD9q@PI;(cui9&c67h9a4r)uVa?Et-ZOKSb=xU*eORk?h0=Mm*Y$-<^5&AhY3&{5$ zN{@(2tB8}bJRFsky-xud1ko#gA;L&{zKUUXZ3l{NH&hIPqHX?h1e50a`r&`=bl{mD zqOTR5JHZ31pHaaM*;H}VU8~RYt3ZL~eI%S1ZDyGu{{XoKb4hM{(FuOs>uzR(YoD&T zHNMwS;8GX8NHs9mB`Uz)G2}*N!sRuj5-a0OK})xmk`<~Q(%wdc&181_5%r{%RMd6B z1*3pYKe@yO0@Nk$?7L?F0Olyn$$Bd)zh7c%VQL;qBo@@IBD4UN*V=LD%UfY3ov|Pv z1AVlr@J8czhj5{1~2_2_#yleC}cQT_76NP?0#8qSEK2j4bq89qRCso1>Y4&OJUw9BE zHiuBOx}{`NO>34T?zS5Z4y-KtO$Y;#qMF-!&v_C@qT)*HXe}-$@d|-GfcR5oxI}5rI+K%NcxtnIrKhi!*w4b*L=c-{b4{qHMdSUwnqDlNLu2wsIBo) z=%Em+2<~u>eD7RbtCrPmbt{LS8rI=Z z(oKD&3Jz%Jc|byK$dRN4DD|hO5qo5(T@{n4ZCWDKq11(kg);)UvSCG^vZ2ZLLrYX< z6qJ*lFxoSUl$>}0NBa+LP26`>Sy6Ph?eO{*`RFb&iQX)Ze*R|t;(mF$sEVt7U!d1cw1)Qp>KF`6mGlIa_xrrDQ*fbpR&$(g_-bVGmzH5A8iMYGC5Iv-vxhweJ z5I~p4HnqPM4iwvvnv|1I%cfyChuSJHO@Dj#qTBk$Kz4=!!M|dgHszwvw(R!y+yS7} zW>9F7KLTiJm!qyVat&9A4rlh_o~QE68%rTAzLc$#N)zu7M^3mzGNVmB*&uWARm*X6 zozQWYFs?L#<)wyvrL~c&r5_(=CEEb=BhT8RC7TB-soS@7lQ`Fq`0JEhw#?i!HWN;6 zXpt;YRXS5|vck|GL}a$kWcMj6r z{ip4l4$^^WYVe+Dj^*~%cY$!XGNT$t!^nsl^W7yZsx?vxQ5DMwZre;VxIbTv&`?tz zWd)7Yk>O7dYUZiS>yi|?6J%OjbrQq% zH40_G;6Fi4aYvDcs?Z)NqyGS$_kNp)pQ3E_-0lseTQ+v#v|SMyIui48L3 zn33r1q3kX)IJoK*sjU=F?IcWXBLSd;RnJEoZ-%D8Y9p_L^GFFuCba-#K)Qm3R-uyx z9`7bw+U`q_2$mo?r!FH-K}F?Ps6U6G#QZb)u(WZmDz9^G<<8=ArV6-Bob1VKd27@P zsttMy_>4<7jcpSag5yi+;&I%V5b%$jyd6NXXNM__)cFcLJH z8sSXUn`GKID_iJa8%rKe1o%Oy%BKPxFyv~vKkjq2u5;}7eA;;LxShVn!rT{|Yg@`3 zcsE;R-Ggm;R0>Phr=&NkxoEDc_+ghtb>7v~HqM^HPce-;Nuh2ueqabK~$NUvOx?Y^WOl9P-rtOyHd_AJxoYcK!Bmz8Ev()0|$n=E*POoCH98H6aUXRd(p|_Ww(JGKE~WNwD|YQ2 zs}9iT-qASwkhs1SXx2F{SnRQ2T`ka>Z7hXH(iT_cpjLrsQT{69DZ1P4oC~0x?SE;g zJ?i-k@B$koZ7o!f=b!SZis$UaKU09uC=N&Fr+QqMHd0R!@>d&e zTM$@OnG2#qiEW@NN$4y4@l3dWD&YuBoR1xGcD>4TEQvBui3o`evsWH?v_cy~bJR)b z0I#bG*#^DZNuV^xmN}wazd+OlNUj|4$wT~b{^XRmr`~O|t<(vO&8^Ek#GNNSUUFNZ z_EQh{8))KqYY1@XsC<$Zw?<}aa3ip^{M4@@u%}efgES>UBVWKvsWj=Ecw>Off$a%l zQ^5O*k0zPOl{vN8=aDhQCOZj(BiASDnU^QN;NvNL8SmbgN0i3nQH&hP0nj}%QytEv;46&G8?;cE_m$iZN zXc^Z_d$k1T8j`X70CU7m&4*B3Pv$mXC8Q4sCEs8er!m~^u`o2V%slB&wNMymYqxb0 zE)u>T-1L<^?0a)1WtJB4R+I&G(33&z#)BZ3vV$-rTGl#Rhm!uk|>Xq>i`kW@+sP;nD+5Gu>J-4>j3RtsfbSZD&`w2BZ- zY1Cq&x!aPoO{(Y+j$OW^QiD!=sye{0s+fuv+`_Z6`htM0D!sTr;^pZ70N}yDE|>n` zd7$0*ZQ2{FZ(HW>;rg@NdU|eKR>s)?IdVb>OO7k3LqO^vbu<`}+Ac0&oVFhbaHEg# z@*Sl>^+lb9?V}xY<1xOhZ}D?IgW`Y;(LKi6lER#t>a$W3Nm`FU2U2|iVq{04R2&s& z^CD6j;o>D-E-2VN&2OP?fnnpMNU<~nNxyP1Tv4K#6t5`?NbvVhw;7iGy6l$4#q)Ui zGav9?fawmK>g(n-GSmo08s_lf+4#@9+O}n}yEKArkYsWe>T#RN_vYKSVwT)Af z!sD4A9KD#w_a44F$bp_7ZqMOBw=KKV=dpv%eP72-Lw%L0RtCe{X9!r!YF5^A_WCJT zuhO28Qa`Iyrxlxyt-q7;)3{MjL(;G_g?sT*9DXn2cB$p@&7gPysEAkl)x>e$uMTp% z-khC|ATl1{iXiMBJ7@&Aux$uH$Rt2xr~0@-`<=ngM|;X?Cfde~Fh?*r&xP)EMe~kr zk0j75$&4B_r=_BtGk)oK-=;(FRej1EwvXvNghKxSYJH>bRvc~ZwKr|bd}T7jaFE`G z5!5ARLoa3$XH@QypQt!?g+ROAdX5uTxvm_DRi}UayzT9WrSW$(DNW|4ZF}Mva1TK9 z;gqZCDLAs&b@vIO_O$(lN!WFj@xoYWdk@~J7a;cg+&3MjOo@9x`KH$zs$JV+$VJ5= z3C~er1U^61IJ|A!?%Q)pNu=_29~{0ad;Z{-nH5wVG#dI>)|K@IfX;JOF|~ zeZRj2Dwu-0+RmkM+q#eXbgEGIB_WFc0GRcPA4Uqzl%5D>>cHMAi0{5aw(YIu$x6BH z>xIfT>s!*|%(L5NNkR;W%^;|_gy_|&Cm>I+8otxCNj2hj)2TW1!$x%d@NABfJOCg8jug#FOV?X7y=B)FotEElzutI&y%*3tUP6Nq0+Ed&>H0r;8nAz8ms*T(N`w|D;lE?@jjBkT)b z_93cBp{U4H8s*jvUSQiBSA}5q)O4)~ueTKo=PhGugcO%?6)<$9G-560!od?Oe3oO|YT|xLcq|0IB_foYVc_jOD7?5N>V*weA6@F{4%gW{v z;dUeKA8H|oA+B-AJlm}d4Gse5VLq$1?VYAiOKDx#OBo*i)<=*yl$oNR%N1v~Fa z2>x4w=v{TFCk^(-e^`Yf)KZVhw5Xwgg(xWa`f)z|l@=fgQWdfzGFXf%KKEQB6Kdj| zUPu5GQmif^kG~?W&2+OfcC|^;UxPipZK$M$B-7F`Z_G&xgP2G>!jG04YnaS)usw%? z6$-^{ZViL9EGE%lvBtE+kf2o#*1{P}iYf^zIzXwXiNf$YS!NEA#m*c_$wS||-rCT` zZx~}w27o?F@^0J98)IUzZCLW2j}0s;l+tL{b*39^_HFaaxL4eRt9L*2VVs-xD!It~ zp5%LDDQ-fLJeJA;IS+JajY*L60eJ>#4NVHDGkF&0CQ{4t*X0`f#F~uj^x?~6;8Q~> zPs~qM$A!5Bh53q^3dj$bQwg7r!nImgim)t5)6$s8ev6 zbcMJ)N0_le>KLu{4aH0;HJX9gy*Etui)@~TKTomkGzvb>d?ozTs?hYeV zXzI^DCAE2qui{YjVed@sz7r|T;5)ec@t;KFOs%qc~6;g_cr3Q7yutK4= z1-+iiIO0%_EYPZLMwiBN~9Qc_Or}l_G%xF6$t6E#zimC2%R;yln1Cm{XIx>{$ zK}i9`sPz@k?8S!S+Mz^8Eef@Jl(WA!>t-aN+}1#SqE1IIy022bJ{XR)m&lV5f>QPm zIhbY;Hy-fK>w628`uBQ?#{6ftE|$%yzd1*AA=hEr=3P9;8DXf=s_eN%h8=k|$g}3qc zYfh&mzVd($F(OlgMQflOVqHtp`_AuiBon=nSQ1)82{KCF8k}ev4;F!56LAGOitqtL`WHhFK+Tt+#OI({SY-yAIrooYT>YTu4o!vF3R$dCqG~q^O!4 zsf=5y`eXYR`5xo9v9a0AX*6vV8r_@el}|7Q4|>-6e|&>{*(R{OCD(EI z%WkcRh1gp~sT;27rTxSuri(3BpTy&Wp3FmTq(=eA6M~Z4o32sWirnCmry`b=+DRax zYtKDHKDeqssfx0t4Wreo+cSj%4ffeR!c=Nkw_Iilryq%5|$< zq4sLhotTw}YeIynDoG&t9=YKtUr^!M_Jpj_=yPe$>`zWxoq!!JU+*(+3V%znq`Hv} zq>^dnXgbOEYFxx}V> zga!iCLn#k3LVVQ#qFWslFtbtxq^R2WYxwD|u_AG`#*7cdO^+Yq7Nt4?6hf2-K}z9P z%RyRK+e8K;c+=vR>=x3_+jX`HEwL^3nQ_E`N-YYM44Pq#}o67hZId z3u#WUNy>(vA5Ii&(`Q5wp7MDRtQUvbQj+RfQw*g!jc$~*KGk8&WK<-)uM+>#j`a<9%t#us@I%6ui-R?xj zD?4K5FjG^AV^4KzO*zvQcV(0s1Ll+h?7$U1+F%hBj$Z7$W^t4JduZb0$orj`^Woe1 z2Y6a7P-d;^LEj%7RGK7VgLZB5d#^dt`E97HTIUgld^o2kaogjMKxVU! zBmw>_Ulxd#CZ^lky58Mt0-Qs48E_d>jv=m#QbFpfcw7w)6T1hqK#ZOmV zx!bc=8@%nU%2z9e@-qs0&1ks6OF~1yiXlo;5kP%7s>e3rtOv#bClU(LZ7(EqfGxp8 zk=-gO^ySmX5{}7OAa)@cThg@z`?=yeTosB2oDqalQ%~4&9Q>5zB!pK2>mn@z7HE1` zt{Ba1*99|cdiGHiF}NgUseeUlh7wt~lAMcma$fc7@a4Yn{ifL>@iNy6Rpa2Ttu5yY zV=$*l(%2{P;kdMjIic zxm!Cn-8GXcOZUcH6I7>GR-oKfX;pd(s)H5It?N52zIh{$`i>Z2aKoAVmWSzYq+7=M zWd!#l$YX^`a5}NhjnCR>7T36AwthR<%Z+l0X%nu^0EO;L$V0N#PQG4RS{|eU?Kt!Q z08;hE?bt0Yqfg-(dwKg;xjGZl4X0>mm67U@em7$8X9kY%c~@rExc2r#Fq#ddP->=U z8SAR-)`@j)UUAEkAZlvQi8xHPMn2R8K>>-g6qK~lIShz2@34&uFhrOqcrm}0*Zh-NfpID^Q=T=d6TJsQPJ8w zf)RD&v?sRvDqMm0MRg~q*@m$7c#|bw+rLoFymcC@Zt>%!?egkdS*k0SqL{K;Ze{Cf z>CUk?lq4t`>vgzWRJ0}15-KTNPed5*3s$hPieXwH_je=CFWzv2=>~`F!@$6-jM-WS zN*Cn57UCXWO5NVuMVS|3oel1bK`?HO`ajGuLa;p!1rJsy_MW7@vi|@n_;NUpar-Es z_g;*(x*j%T%wT>W>{{379?v)L97B<~_})w0jkF?GOqflfDZD~#W=h#_Cz3yjv0q9? zHJ+X8yIZ$toCw~3;Xd9T-+IaVi=%IBo2n|v(eM8NA7(v@n_GACoAX*LA!sF+8*-^q z6b%R<(1JY&7shm@aqDdw70 z52xNq#5Jv~jldJ{R=vXd2a1r>>;+aX;cl#5IQDZzWUf58a#N=~GZJz3&fJ<1X&_Ehs!`TBPASM((;Zz@zIvn{-? z$`T{qAxsTZN+hNBt55E%VOZv{Cl-x0`aInS>%pz8_SVa*Q69pO+;={qb+?vd4wPD2UbO-I3D6YM-&vkLT`Zke2=>Kt-ae_&t+Os7x{MR+L@5M zqSmxVjJDPSf|Rlfg+AywmzvDnUY56s&#@&8;yZBTz%6Wc?b)w%9rsJ$JfXB>K(}oO zHx;XU^2Z|17VB5)GSpsMEFCL$ONa;FLnu~}Kxt4h-E-PXDb8?OC4|FrP@JQM_*-C@l3YWR`TYZM^ zI9nK#%y0m-;Zx4Epyo>4hV*-2?6&P(e`mYDyRMsQOxbr8_ijg1mUbsTu+Wa#3D#(` z5EbL-0~A{hy}diOnWJlMo@m^Bb^YVQhmgb$C1^cc>C9VvK3sB{W@Zj89t!^G;!kfA z!A2eDTenvcY;Cg-a>YfiA`6$T#S71EQepW_m9pHH(n)Ntq=0;K>x=J2^`_mq?o(RA zUFI{JNDk+upQ@Zy53G7Wa@wuqeaw0Tv88bwwGI_r(Q^*+diS_pfpH2`ju&oMSn>jr zuQp*S(xj?{Q77s++^u1t1Z1*Hi7HiEy;>Z!$PdI?mkHl`JIOxsf2yi@kGB$$zfi?A zb7+jVe<)q{^UXIQd52zIP+HOiRORap+%`>D4|+wl1NcFGs0Nh*64C6pGTTN=T{& zO$A0(#ok@k7$XK}XsM-6Rqf^8pzSv4t{z(pbr35-ojWEO-*oGA4&8L__~H`kn4C$T;TF5OIkcyThG3OjaNJuOZ;&za+s2-5ks!3 zJckpdPBpCQQ3IhOgp6OIgoXfcG+D&YX?dZjs@_jzJT~tb@g$AmevVk)T$CeRW-{=i z;oGQJ6@okzq^rzO^^8)ttG_mI(e$_H#aVXCa~vhdH!F26;M6FN$XWMVNpO{Ps2E_@ z)X_QBg4K_Be2(?=bi>=NzveNwp|u5Q2B1A9e-iK1G>l34Vmouq#WrKh<{W@p^4uUO zMORv>)q1}F0QxZM#Aob7bB#TylZAIZw!ygf96PJ3jT-17sS=a-P^6`4_q_nut{e3& zi{*iiZaQoBCw)13$fbK-_^7T{RIWi*s6X;4*FRFDse_lMO?96uVSg^44LC1DjcY^I7(G_86XdO`5RhRjlCG%qxL8vwQaB}<*0a6og!YsdG zxh1_L%bc)9N0^k76GD@R&v2?_2Z!E?64KsWhS?tKC=~CF0r2|p4SA|T@!*1Y%L;ld z2n8gj$S=)JP#%Hy{< z(!?&`45bi5PffTv9gw;l)PO~50m`Q-yxlh!Oj~ViGzs`c42_YDXlR8 zSK?@l_is9OuWjMA@n+29#a}ON+a*}-`}=gmvoknIc?(Kkcj1(^YDrKcndOEyn-1>l z-#%F=(rcxq)b0s+H#-psjjXR}rBw#ALfa4Bt?_T0klQU!EH`ktLuF4bmg$;;05vtn zg*)a9C5)-$q2s%cRS3aZjf1fJWt)43-P@b4kXQ+E?}%#D`J;(VQkn?L>x!P|xNf2& zrUsMW{wl|`$p@O!2|mO3DVKKfw{Lcxqj|n;o_l+9?ieUTwymu;0@+-(sl=qGQkg|4 zl22a@R_!+}#q$PBZ>6U*T)ryz3&9vDF52hj0IzO%o0MRtY@g!ANp{@@2`THAA!n+$ z+YpFa`@nU}4PBC#jl5HfWPmgE)Zrw%4HVtRd_TCi>(S;uRb$(VHC55{A2sj}VmcMq z`)A!Ayj3^OrGm^5JWu7zzwTOhMf!Ppy0|>nI6r%d{!#Yj-nK=@8zXLPSO~Xm%Xo}c zLncx83v)bYj+p?U`6W(~MS+n-s>w!$k zwQYk%0;=j>e!NikE7r5Z+}7vQ`#h5P-+)uRG_e&3Z5zl2(hCBL@{^{Y|czl*O z*Pe~rUxOrn)0_8)ALbl>Ye}4=u=n2+?wNZ-d|KCOy2q=rpGKv{n;x`F@tvR!Hm^v` zbRZnD=`D+KwZDK%3#!xa2ay~K@qbfn*V|pug5|ngGUP`vc#oDwg$(Vx4(8o6R|{|1 z=57hCAjozto;#8jhQXm)!(i!6d`$)=W({sZS08rR+p0%~x0xUhc~U$bm%gArsP9=9 z0#h^&#kxp`5yaF~RWe>|^ut*;$(|}BaUI13U4OJ&nmX<3qd9>~Fs+fQ{*$Sj-hvL5dDKW)jk@Iu-fbNM}pya%3njDobr8KJjoiQU{JE_Px4DE<9}`NXHBX za2WRd)gylOH)-50{FtW&&LV(fNkdN*FG_$|LWxdPt{1hm z4}A?re)?hYQM=~rCB3Vqi~{DsH3@_m~XEtY|XjLX0H@7ksu~TWQu) zKvhJFkSSa=lUM-Pf|;~*Zp;FoVr}~*%U!~H*)2@B&x>nJ6|xIXu__~y1L4rDh*M=6 z2+yr>T~Y?M+Ow~+pS4nASf6zGe5wYtI35HaxZtkOZ2Wlwea1WNTN1IT3WW9b0rud* z&vzaks)`bLT5L z4cReSAkv`LCHPZuA3a~aqjM_ z=zHZU-}i05FYem8KWtq)YQAzmE%UqbBl3SH#lJy_g<2VD$oBhmHl#*%Y_Q54Q;QY% z-CCAvG=WgsAZ_;6=Cp>qzY|UkHKF$7?&PGmopIbZ8~_9@S9i(Fyh-0=csnx3$9s>C zceFXb%ogp%66FePEe$tEl|7K#MZ_f)C{Q|*s#B>Lv`H`adv{z&L#QYPF(l*%c}%SB zoqs!Fj1Wop4kb_&_Z7c5`c!?1$2*oz)#L4+!gki(utHf&Aq={w6!U-@Dc4;kYgx>b zo+*v#Xs)9-6Ae>5)yJKF!I11)1btn1Xgr%~3nFF!47<;1JXMdoe9`&ycyZmcXzr`X zxLtObHk(z#6&O-kaFrFflv1kzQ&*!EnY|sbcHk#q#Ev82t@nPj?w4>ik~*?5P!WNr z?Sg&n$L2qI;mv`+EbFzReg5wjFQx5E0Zsx@sd`ED(+zs7(x+a}0SCej zY1%SQx=Yo`_UlK-q&daGz>!=*?d?YUTjnXT?mI7&?_9C8+vHAAxIV?pVhz%PCf?P- z$CTlfA*Jd|;xPejwy$?k1cES*;pxTLx{1+}&?{064G5taV~tdt9<5u?Z8Vp$38y3$ zYQ>@4$m6FlGF5ZBI~QzxrL^7TTVDFR?+)j8g_17tzucHh5p7W9$7OD=5~H+@QXWzU zg*u`%grO9X1Ekw1rQ=?0Qx`(`l3XiuQi!m%XIX20YYkfsUfQ5CdAf}}IGQq$oDi>#;C_k77 z3wCev=$Ezly)mKkmnTQLGs;)F4}{EJ)8d?L6&Dp$CAKu7AvCIJP9^PM8vra6b_AX{ zW$vmSM@bANjz=UUk`mL+3i)Ei#Zv5ZO9updq!+Jjj?cI=KMzVero|* z9zfIxs+&@h3Gp~jaItN~4~XRUk?#~m+iy*^#Bz+-;O}v&=tpvMCn0>vH?K8t7iV`X zmfhR@%d}bDo4;(`_Y|2iosF{X@ta|H*=dfoDQ<@Rw%7>!NzdY*z6RCDv><#Jca9B57Rt3Zg|+qe{?HgU~!NOKWQK zcq=2YV?v2JFL%YU+E!&qOHDL~E>o090WssJStr^+7?8GvxyhvR28E>!)461Bi_PNu zE!}TiUV3`UiO8*bfcg_bhg*^HwSypsZ)oz|-IO%@D5_%;&ba~&0adVXB zv?zx2(tTv(G$4r_2%*OXrFntOX>K5pti#G~K}zZxQjiM9s-0>`Bf|wL8e&!?lzC`n z)Ynit1qDx_=l=jq@UtA7O2SaohO|AT5*Ec06tVvR30VMrBph*mDL^nlw--W^;|^5{ zMOL47nu38HeMD0NWE4da<5Ua9wv}A(`=PW*@(~luE)n;S<|?0VBxE%W?M)p}-)fhm zLR)jpM7Ktg+MQE?RF$ZV$r%ovFtbW%@q!iJj3ukC)ncG6OO-5#1#6`!K>fHooRYT1 ztN+yGmcz0;RJ3jDTO5JRyN7k|=UDUaEo>VTZd=%ObtRNbxvd37Ak$WgdNRgWJ@)S; z$H{?>WpLE&d*~J6uvoExK0;kgXg<=6c`LY11)If}J}%k2A<*h)fy{D3*mb z;uK^$>nYY&Qj#?$hYdE)oZK6B+2oSGDv%4Q+$xoqb+yr;H-#!ds-w1Be$<(Ei4ym^ z+Ob<-Bucq7!k!F(nuDb@txj0I%OuTVEoP(3nu`}vmvRckY#oKbvhN=YFP+0JhTL(d zk#AL0u}^k{`Uy4lVzs*7--zlU_^S@ha~P71HBxTw<9;Zx?U}cosmzS-+q`u$+-h*o@aYGQRodCb&ZP>AA*0_1q3MYSl|63ULO-?Y1J(YF zM9-47TILa3BBW4yg*_(>T&AN1S{^FmX54ly`*ueTeb?=_7sXP1Ly`gT@k&0wMkrlD z)Ij$N`M9>HOEG_PFp? z6J^-rB)2YS_(=DVgZR(%Vx76%x|A8MW2ZLOR6Y4A>OJ8JZ7nrKr|y8C0g99Djd5Ch zJB=GgqKjhOcxyR>nZpT%FjIDN7YdY4+49k-tJX#uKNM+AQ>01BK?Ns23gH(uN6!YN zb8Nm$NCCQm(xVLD5IL&N_SYFWr)Tdo)Y%Gff$caWV`$)`;oD*d1s`7bN+Jb$^1b2s zYlqNUm*f<)e27LW8ozQQ3Dyws090ggVYAsvVRh6@V8KH-u1XE9N8%~%II>%8mEfya zeO;%D8BZ@EDyPNJ^!JV*9-XMkM~=M%@h6yEz=aSDq4nXc-8oJQLf_OM;z!nAScvj~ zarB>Q7>K&*_Y8utS#`{B%+*Pj?c;8o01u|8r3l0v+iZ;BthU?zyojPd(k050CkVGy6+-!=CyjLwXeEooY0N0Hr5e4+ z9Z_{1&77AOW~HEmhG6Ch_>R$40e#ZfyJf>I?%So#0nNs|bExgWssrBU)!2Jax?V_6 z8U|U~7s-!a;y{1`SdAre7Tkn3kw6eulAs5t5LzGQH&$c?xO6t;ZXh6No8rBf<(!ZOc5oLbsya&meoX#~?RSF;V; z`jqlWG=wuP;EInLXG}=N9dS_8Nkc?6a8Q0L%+{W2OLZO<9dP~=rNHu07wr;6<{X>| z_pe*ec&~0pjl5d7J$8kCisjzuxG3{XDN(ewFgV+FS)%^{Hh^Z8VsmKeukI81V9-~* z(?5nwHQ&8ScFAT7nXXVNiJ+*!5_88fMK-~*@|>>G;rB7J_MC1>*p~aCnacCF@tYmn zY#V2p6;8xrQz6IF1hC_T&?baunHm+(p_4km-doCF7_CJpT6v%0?Hu_9LfiiUQo+}4 z6Wa#7fYV14QD4J{)s95d4A#zjPM-uqiu(<%=3GN^*5Vsdi)^|QP_@t<71RYzRm-k1 zOK5<@i2bOyee&Y8AmDQO`_<{>&D8=9+kfJkF%kly>yX2ZtUQ#0rs}XiFaipaa|5m) z5D1`gF3&ta+1jeM&n5b(D75d%E!+1^%X3^Vw}e=>{@9LgH_NlhE))k=T8_&tg$-^x zu|O&S0H~S_HxCVSTFgnndo%U~?|j}FV`^l0_AO)gHMH6OL6^O@%;#>qax(rB;F*p2 zQer8=?kQ zlF{8esng}5h)Hl4{F1Psw?km*NC!T-V_LksiV;G5M}qUzaXsd|7T&vnJ+C8u@k9>P z_N}jIZ96u|i(=o_{kJkq=Vk5~Q(Z!*Twau=6-<)Ckhdsw`Tzog8p1h)UM6uhb{KFx z2Vz=xGN80lgW?r~+PgyOcjFy`{gTll=R0*sb8lMh*2WxuM5(FLrrT+@l2o;2mr?G_v$5Qv zd~gEe;?f-MBo|N+(Znk!L+!1xvYO^W{bPU}hcdM*y89dNPA>P`yE0E{+=m-_@;mAN zNZZo3#l^R-LQpRw%27subo<9rlcaUVt+)Ee(gwy!#^-Khgm~N}Z5vE6i9jw!hE8b3wZw;*H8g=vs#;umms1CFIjqH}1GMAX!r zS9X8Yheqz!^S^Aqj(6L%z04JBhy(D4QlRBgRIb(2my*oDSU_AL#OXzv(*0praNm%&gHX6S$5ZJq_1&caLxS9axFYE z%^e?KbdDOJ3J`k8@trM+2yVo?O8NUcTR_%*r-BOg=wiHGlzX6`jy>mZG#_XE*unIUedob&>lSGMM#$J3QC}C-4Nq?+6WTjc*}K*2=Hlc&S((dwqW3L#GkQWJ zLJ`p7K~qR=rye91H7u!0sV5aqu>C^sSJ!Qp7~5DBkI>QPz^O{#8eZB%%q#2vt6S5Nc|IXOSZVee74gu2z?YC1qPG$;il92 zfZgFVnT(KkX+H6X!5e=45p;dPP5ftG3p< zO})&$i<5j3Q~6ziKg!~?U39SSEvEg(!@F#gHrC*Xrv$q#{yVW`wo0i|+rS!n#$LQ@ z5Z*;};Ve%NY2pn+@}B3j-EGfxz06LER_51&*L#o63*M9z)Nm>QQBHoQ(}^oFiBOZA z5Z#z3^|?tTfMYk8rj8N&@hdm^L%lPE{{T?;B9|jD^N1Bnlm#e}PgWTxl~RVm5OK&55@Fy`NnVwODpd@z&=+6H-2aDljC` zDW_9YB>0Li$6DUdmqOZ61ZE0PU!-G>2%{w$UlLnTRea~;xvdDG3CI+wH9a*}qX0@; zFbWdkV#;@R^hi!9`R_J$)T z1z}92ZVC?M8L5YS+Qeq}lPy6&4|=OYJbGt?*0m`}7<8}y)#RSjw)--(*dRsR`}ceA z3&Sh{bDLv>2HOpCR1UPVCacW|smPj|dhwOZb-qajjn?nV{{SH8 z%~<++MzZFu@fsWgk$0CJ?Jc`#UDC(N5cgb^yxer!;WU&wP_k;ehZT}(o>+vnzLoBy zqb*n4dzZcREG-<*`xJW(6k0_v>O+E@wQq?Y+eH!&qpfilHcHKIF;+*6_M;4`oBi2< zxxGExRY4eaN>T&vGi8L*3x-JPvHlLY5NtYusWyRK_}h& z%Jt%fcF+RccDW0j3ZHhk54eRZ-C>;7>-7v&w*x`iwLOo;+!Wmg=tx2ll|9si^u=0O z7L#j#z$s5|G+qgP^-(z=s}NVtr9fAGrJAVcDG&LAEH;B}s8nJYS-r-p&nE30ZJL6nYxd45is?!A-%{gdEg`WaXKWoJne7(@~O+ zA#S>Pq-3nye_BY>gO!BYoaOJKsjh$xDxz^u-1=9DT29I838<-7R?oiST$@9&-%6{Q z0FT{@J+E={W&DZcPBoXx-#yuys?(tqg*<<=$@H|28E5IE`(pMW*+?Lb*Y&q~FfgOZ> z*@YV1hnHXKj7`Ccs9lN_GsnwuJ6E$*?fxP1 zQC*T?t7e(hWs0rLYtVaTz`;ndr6s^RSH}>tMMY_fU{Qsnpw#8kw965*W~??eqG!F_ z8)XU=&%g{gw1Bv#TbaIj?)DJQ6+gsgk|{k1u! z@c6ebOem?2++^0NQ!8i^pp|4n%p9}E=jp5Ch0#2HL^ykDyou`slgWQOTn>?@oz(l* z_c#OQF>m5si4SFNEsJ5^+b@tL$J-mHY+N2&D}`%QZYkv@5s^mqnkKY4n$Y9Y*1bm@ zafZF4%Q!e3sB^Dk!9}b5z~&RI8n&6&g*#LC5ZrdNv-ijRw{MUmZ2jYHy6pqEggvKk zgxnj8tvrU8bG+_Lf0$Ve`-Fk0(3FBHkDq((&6F3;hs%uGwqoXZ&bk0v0C0`NPBp|4 zg%`2+ecN-M+6#$eb7u^rt4#!)-J+q|sZqj}Qvwudn8 zs1~o*KTmu$uCODtgqYrC6&zJcHBnHZ7;m~+?hS^pJ5;9%M#_*gG!8iY`x3oV)DE4@ z7g709w=G1FN#j<6o_=HBxap;CZ`CdbDD(6$$XkxoHm9zHbn@6!&Q>P_xFu-uz_ z>y{U}t*A1@4lSYZxR*A%O-KzUge|9_x}$O1_Sf7x5jC`DNYnuharl8lO683zrYQda zJl=WUe8Igq=Fhq0TUm-2V~Y309jO5j?$8%%zQunoa;|s5Qcr`}(V+u6Lx3`K_W%F-=g1T-y?3;Gj`66Qo5&-i;NT|S$O|3>X z#*3M4<@1*1&f#|d05EJDQ@3WW4M<+z+4jBfZL%Uo?mOyRExOE$TzhbhF)2@&kWlM% zARiKbj7j<>=^cm4y@E%#%Nm_m63_)I2sNutS%RsS9<*+=gKwdvI{`tCJVEF1TS>P-NqJ;AW;Q9%P4AJEV!v3<_% z@<>awDvP}G-*HYX=6VkR20&uQqSh>O<##&;+B~H9aeQyeTy?Y|?gPYkc)P{hhVN-B zvqqN?m!m1*;ue=2LxCasusei)(WA zCOZgQgd~BgfK=niexQ1@d$~RJkh0#UjTm9Vw9NZxzNPvx`fu5~b{L)HiLZ2xayuG3 zj*8&cjt4qtiZt$4*~wkJ?hUUybH^6#wZ0;c({63JTw$w(W2NZMtN@g{Qc|>}pLi2W z(9>!CH+6lr_SGe$9sNjNO)@2}#1J@&)E-B?FCc!odOB-PrHgO_R5QfZmkQ8G!9v>e z(?U7pOp2=8len1B;i>DD^`{tajyS`M1-BA~1r#h)RVt+vJVrep!0O<5NJz4G&NQylz1x5x#hce+s~%SbbRWR)2Y;=v+gOoCiI}Dzr}7T(uEGWj6A*H8#^@VRvnXUf(a|;7gvQaQ}YsJ zy$C8v_rS?#@nX1HLZ3?u8!v|>9e0$JB~@~V#Dj%cF;*KGf}*|8aJLrom66M4{{Y*} zUR{or3uWp(Bi$jN;$llgXqKU8*t4$^}fuyA;-7h!p z*Y5=5*!>gNw)>F`c=F~WE)M=v_8fUte0BAc^!>Q>$$ap;^A=$JRPnO8d5s)Dh+)hH zO6@Dtes@vHaj8-2cf;$(sWn|99KGXnPe{#dn7k)OgiY3?ZJ`D*(yP~Y}3DDxOR zLov-+Hf`U_K3mU(hGbqtvLddUl4Fa<&B_G{{R^{B5$qA zT2WbCRVB2oG^i31a;|und;b8Y)gL1~C$OphaYoa2M7natjxyLve5nfr zd4Xp%f=D@26-~=>mq`ATmA7ZygifesN-*Ag4%fA3&`bQwv9{sF3#MCQ95FEMPWnAWnCOt z^!kP?yQRqkOLJHLo7-C>^}p#HIjb#be7aj1n)T`F#TMnXTQ1)%N|`JUYFiAnXiWmC z;5<$%_hNvRp>1y@fE4Fzp43*`WdsDL?LM4UCx=nRX|^|^ji6F}g5=6dR_lVP@Fx&A zkRD3uwqCZiDndKSwj1)>b4VEq97GMerzL53Q3kevrnPRhJmyYU&@0yqiwba2vhT&m zH8^pMCvP*Om5oSJhhGfwTi)amu+ciQzSiv4!*=^ty}4>ki7HEJWdM~ffB*(Esowb? zK#|?$l4sCl6)ElqxyaV9inZEh3IL=R8&J<0KT334r6JD>rMh(_HcTyytNj{U;78v&6N~v7+0BET+1GNKQ zIc>WuZUloV@G2WhsE~bR;^DS*6xS3kItRsJomu*h+xGHVZVd7cMvWiuarOmXw`V!- zxr%iSTvKjfI0|WSSK1j*U(#hAXS==Z`?3mZ0cXsCsN-M87PIPg8;AmMyKSV zJC^>qN>ZGYba~~R)LnUIzgfk;-)n*~Mlb=~7DIj1TZPMurJhHV&F(*HX@|IN<@V&c z3N(jOb*R46YS;a&v#uAK&97-`7$4gN+Q)Rbx0$lW^Qoq|;ys|?LZ7y^t7vZ64nMUo zS8hMt4X0G7dw%I5$l#Coh>dVl?I}Kx0H!i+`rhisLFP5HL~K@s z`rM0oB(=L}@iC7jr}&!J>I8Ech56mv%{*-CoSfWlTieY0?z?GiHrv~6_@5%Bmq_#^ zj4@{4wqA-hus^rN-+p7-t&iWji)b}?ZRA6XMu|Y~`d#c(hZl41)!*!^`F`wEbBR%K z+jlhi7YNEuL@kx(K=h`g6>ayV?kvys8{s)PV$#2zwRmc!NWh>UPn>t}L4Lmk5HDEybTKU=f57rVCOOMV85YL^^)?nhNRoQj+D9K3Mzqjwir+<9;R04?Vp z!_V*k00hg`t%aM_hn*0u#6XeF!;5~=+lLjZ$@38G^kYgipBe;O>OQ+@Ym+N-RrDa*}M4MJ^-uJ^P}VM z`Fq_J?mJQb9faQRHuk_21XY*E`}k|ITnV=L&Uh-HMxQS3X7i`owP|LSMvq6)gf1hh z+qU`00Z34%gn&u)<%o$QR=aDVL{SfLvdRrroiM^{B2Ef!4bU_oyT#gLy1#3*Xg4`&YSQh(c;E4-saunEuq4%Bt(8(apbM=2Bij+pq`bk0^4(K+Y8## z2MUT;ww#oF_QoTmkWXUS7jAsjH;AICJC^tHoD;boR@vtsIK70qXSvv}8Y4(_r0G*{ zwg^&Im3VqUIP?DiuD+Q^yW1PYb5eJoYpWRv(`_R_AY@%y+k1g1=)SNrX zD{%Y!j&>g@?JL&9`!{HN1}T9W85} zrKP|)idPZHROeMQFG=n2YX;jA&>$1?G2ZajDHCYin+I^#(TN_lh%EY8-`7dgzQ8%E6fk zG#*OF_SM?P^5>298qX@sY!sn;k#@B=f7M_hHyzR_x3 zQ0WiSKGWDfD`fO<(hIJsztf8?n0#;l0LtEOKMcz1cVKqO4~clM^d3I2!n4V?K#?PF z+a%OSa(|MgwebrSQp(%|%vm)x$AtF|wi|}#*WJCvg~L%9>8>>H83py*W$0nD?2dzL ziHv&~?=7e4FVj})Ih{_XqnTEpux{piT<38!kDs->+jn*L_Lmh~BYoUko3^(?qE#=V z(Q%O54#k)XNmNMy*YGV^^lx5%m@T&pZ#QV1>jJG~$Ssgkz8BC?o)r|~g7HVEU#>mI z+T_{w1+zmn5ckH?*RX>^9>PsSPINWwD(3Ir51HJ>lI_P)c`DCx;8Zs|Z|>-JOC_50 z{m*hxF(KI3IU#x&f}jx6Xh?Y~SfDh=iLCdDdUo$y;gUPnJBysn0B|iCmvP3F!ET%7 z%so`uCo=Z_FYu#WCr#a( z=?=}gND6Ild2!ikX6PX<9XtTYu z(!P$_;x7EFWRO=Ec#p6g2W0>wpB2Vl{Nx+n@8w&@?0#giyjr=Xn-obeN|AK8Cf_5< zgAJnjRDfe82}5b>De100vsmp>MPkT+9!Ovu19a0K${c$$Uo`JGNu}H!FelD0sKl3Q zt{=rwfE-t777MM$>9qEh()hxnUoLi=b;|b@^m%J)WAK}GcNh5&sXG@+ z*^ABAaTH|Hyj}Va60H+9)v3j|aJIi1N}~S& zm=Y3()PPaIb_OWPYr*y%1KFLR50u|b%}7g**APE zw0TWM+}D*{*ewZ{=cle3*tI1O2cCw>3IPd771T>ztJixOu5Py5nCB;#&Ks#DHxyxsv}AEc;tg8YR zy*V^@bG^HhUeg1kWNe9y!&^&0spFkZXhF>(wDi^X-Mo4B^M9t9r_K^M$mt(LrNp|U zjWDG}MJTyW`LleLw$E(<88bCW0rV&>b1&t!4ga9N9s1$)-|phZY&3y za;j}7P$eMK)gPt*0M+Hj{{V9y&AjRS!~X!vlwck}`W`Y4Bk3aoa3CD;pIChuj=`_o zY-#0wCJdSn7WNJ!fW%-39PH+*0&7f^2co$5*=qB3Qw7B&rbev%0RHeJJQ<*ZjDD0y z5lJy4YZV0uPuMZd8KRSo71H2NOOti8NZ8kDMN+L)cFiG2Qr8@;RkK{rmU?=QGybdE z^gGR9z~|U`tItdBCG9ad;xhY`!*X}abvd0%RUAS=%npQC*NRbf3cRtnAsf@pt(O$a z{HZOaL@8vDs*L`F_F(IfCm&9A9D{j4XfUNlBg^tr@;`m7Pu<~`|X=4isH;w&446@*B&$&9q* zQ6ekoQ2G{uhBC(IDa%d5CVnsxy}C<{X;P!Q*yyEsE{c6RaTPU_&P^)EZN6KKlzY(652gjqg=kOTSnCmh6>;UmaMW`X|SalSHxnycNrwB*55N)DpZ$fy|D?uFs_a{ z(w+klw-&|tE0*87vN2lXQB+;nO2A6%{{T;J7{6~*kZ-j)qx){^T9T3G5mDlC6E@rx zp3{6h)B1M`mI3oVqm~()Dk)~~B=JR73Fcg;(oR(vVRsIel;$nZQCE|VFHo$Jnt9cP zsUQ+b9X_09d)2GuI4eD#>KH3jC(a$mJqjDv=o3gq3J6NG8DakbOmtv#wKymaqU!S2 z&=spa>AvS*rN1Hf)TFpdhNX4J>9*}mg`fe7#W!8;(m2$ppwE|ZkYh#nlrwR~8YKd~ zRB>sv+g%~REZeC1!rsC?a=M&{6Wl*)A&t#@iDr!B3_a({Actfqil0y(0~!X&vN4o2 z$C~nYU3!OixDwLsG4Nqw_fRSZaA>zQc0<=uNob#wF1O$u1P8nziyzA;npZK zt#K;IlzDYjV=H#JNeHcaR=9E^MWRm=b-sd~Mxc0ujxjExm9}R7mu;CAbV(jun5zz; z*U{7w=p!SD`|Acx8>4uuN|4&ON$hT8xP{teVW>Z6amcH+3v@)>Fri)Hx&w0198xMO zg^#?G>^Q_O_NUuQ=-tER&3m_H>Zo^HNbX`dIAS>-BiK}bz4*$}z1H2<-z9rrdqMo$ zM(?y$x6-=;?3eYDJc zSFSJa9`9}3&T(HY=(cZrbAsOz{Lu-Caa93Eqwa*QV1ku&SE%(S{n4?$56xO*5fvkg ze(}$UN_1DN7ZBc^vvZ?vT4){kU(2|h!N~R;@6OWSav`|dlJN|IXgJ2h+ervCu=rke%o>HvaB_WE(2?mISvlHK}$s)O1wRNJ2RdwXwps`+ndH)7p| zcNS9Eq8XQ8&Tr5vPM|$_()vGhGuwG?`q_tg;rA~+`l-|6&v5gjAJdx=*zd$X)i3r7 z-5+cGE6ny=w=(hV{{VQowl6Kcdv?JJ(J5MCtu7%EMEMQS6GEbBN%jnDZ0YIb+x0}? z9U$!(a$W`XJF3mb?&usm5E=o^)WzQrJC(Nixp%wS4|&tKrsdfDbG>$c>y)-P4&A-( z7KZs=q%>Re1&&YvOVqyUr zS`M{7kd%AExmPiU(zdJ87H^JrI zmNX40I#%r}uK)&E_1CBU2HOJbyT_UDWga(^QQ8~X`w9i;UbE{j&r;smf-6YRfq+vE z1or;LQXWO*?eoHXw{o*^*7Tpp8xwl968Sf0?HL~nZ8F$T!l}U>6>Tfhk?#NvG3WmP zU%FP++skEiV72TN!y+)lvx?b09WY&OPHVyQBXJc5goB8$KWd(~VlF$H67H8>)pxka zxhwS1_G^tJMp&;fm#x~80(u2SaFsFLa=7pe;OQ?C0RcY=QY#~u6K0WoQ zDK3?ht5T}0>(;)UNIKs~hLr45_BR#9X={>X&9d%01c+(^b++dM;RQ~lEg{xsHtGpV zfeHah6$DV?;jqRDAmv3v>$z(Z+g~zwPu%xAKt;cod9vwv+w7$w8&c3wY_uQ*fkP77 zi0qmVN=_HswktbRSfc>*%=^wO8o9l=m+EmU=JpfvD(-i^sZhCxbKF_&kG59gYiE=< z^d}v<-%+TQF3)UnarLqQ{{X!{v^0MQnL|qFRr;s3?9n^Sa4s3+fb6dqe+b8&6L@ST znc=M!Cz9D_=$-O!`AWdJHMU^N@5i|)$}sKoxe3^JJ3YE~od?U08I(go)%aRv$2>KR zV$*ehQuRMz8PzszXLfO9S?(>8;$t^E?z>^>yC8p&wUb*BH zPuY(#*m`@r++_=?+)&v1ad`g#^IX`+X$rOX2fcfD?yHJ-j~ZQfMY82?-WK^b8TRQ? zW2;&uG+Q7AE2zkd_>5h;Cc}N{tAziC^)AP6 zxWj{GZX@?zFmq3F_)&Qes(N-^uKrtD4lFnxZQy;O4qD#3G^nmyr7qiWN`OPmtIH(% zfXw?bXxwgLh8I3eS_kYCPM_JXcN@sNT_2s=aW-ad6>7y0U0RV%@*YK0=92b!NXZn|4EOhaFj`yOnX0x=9}OfIQt^ToOqFt5Ll9ABb+d{zcZq#v67v>Pv;$ z+qM;+0w*on{o?vs)K%-Paj@(=#^&2kDfbc>{{VMWsZQ#zU;0Vu1)Z}6!OuT9vz6GdeELGDYFt-JSW_L;P{La!S~m1OP>=el=(+>Gic z!E)PbX>BHarqmE&sY%e3xk4780i{M6dX3aOlR8FQTY1bZ61DCPI$bS%Itdt-kE)pp z72}W9ze?@a+ogu>JxiR&#YbZsG||D$2Pe9uVfANB75&(KvhE$HVdR@{ICCB6o|xnr zlH7@9-UxvnJ&wg9H^L&z8}z1Qr{S7GAP_Yg=1wp!wd?seOZz*>?c=qY+BP&8sw(L5 z5)y0Ts_~x9aLA&T-WNIX$mbGYLxZybQvptBYin_T9&pCM+uTLP+hL8X$9qYq;n;S} zRXF=BB2=emJyl6li&=5!*0mL=l2ma<>dvR!H=V{y>&Z-)5*oS3GC%-j$N&X7Ejy%k zSS>Bv9Bl!EAgfn(oz?J1X1rN(<=%eY&20^_7??I|Tx5st*QvU7A{DY4N>?HEQ=p{t>1ma86?@c$Js@z4M-3gLIi6;iIe)HXvTk$ynP71@n^?i=fY-PB1kTM)kU>r~F zl}O?fy&s(4aNXf=SvG4{`JdX?Z?NA|wwA})&Pz<&ic-2Z?dsDiD3N56ilym@} zc>QqnpY)ZobhVh0NLzb);o^J1qj`wf>;UaGaqP)?FMaiD=X<*`y65t+jDQ4_{KdI< zWIIkOJAvIlc6+C4!sDIK+~xava730?)z@ZDyhxoI?8=ZrSb0u`DQs$@l!Yv$)21vV z(%zc2yEk#|@yB=$4-5db^BkSRv{#OoZtiD{&3GlW0N@;5uA+b%jIpT%suRgOOl?iT zvj~&7?s}wJ4rI1#RWeVdKZnvinA^5p#N0#T`o@2MwPW3N(&KEr{-5~|#l4){?BUp< zn}Xdsm88`~>eXLQpkizRf~Av!D2TNx9Am38kVqb!5cZ-GigmSKCRlE8uJ+f96Ja=+ z3^6 zn9fEqUra*dOsv$6YHdP_&)x78#GH{40}XJhYV+cEu~?a8Dk_;eROw2P8VV$eP}KWy z)uxFR56X(vZbg{hkR4T~1cy`;?^M3O9=$N;r^z48e#EJ#!GHhIT$-0Kk}GstpM zPFl+>6ZMoFR!2_R0sdH0pWQAA`igk9cZuA^q2TS8m@c-rYh7?0ODF3<7-cU@SiIE6 z63pH10H(5~%WupVz9$$F$8x)+5vixi7bn1=9)PZxN&PKnPx8W0Zu9>6UhN&;_Xh3I zOT6+tyTq5(t@#&li3?i2B)SPWNNq4jfNd8W*&Uf%7wzl49$c|q?RPn9v+h>dp;fzd zT4PF#=3k8fCcj=BI?6IQpcf7bHt(OhZPCsbjh(W$5x27+Z#?GppANwdn2fU~LrRYw zq$RQLgtnz9k65lM+uH*u)~%z`t17woFT;TQemE*n-P6r=rW(y8ft4{(Hq;d>er5ir z28Ap}gyV1$=~Xh;a_N6|$fE76n@oIfzaL}hql_L$EW~8Fsl##agBW*1X71P^@TiX&v z6pTByIH@A-%C6gO=|eIzDbi?j#4WzS9_&*0JwRGBRi|`sDOc$ZIP2v}^`5x8*zN6w zxCKwW+{~`2DkZy3(sY&k&YdY9yjk|U2TuJh?h=D+aQSZw2H&pz1q|*-X-$PD6kkf~;H1bgk9Al{ubfwaXW4 zD_{c5cMG!OtB&TsQ7ch%AzD!S@jDX~1C3M*cDZ9MHd{L$GPvQayl z(2x8&YscQ38L>hXPgf8;d`5jnGY+=tM#OyhhxFZ;--#+$$6g=;jmc)0{{{V_^T7Uh16&)*i z{{Z)o_Yb)g`h$1KCN0s*-JNb5M2K*E6x%yeddK8l_U-!qms>TiNPbg^KS;!dmrq@> z^*1hX@(9*`3t3&XZp*!j;Fjlu z9mL68DaB-h+pWB&)lf!MBO30(qCMIt_8NOaq+U%U_Q@N}iu=~?ExYN96bo~5uZ&AX zrc)q%BdJgo9Ssj$dJe~Q1+=Qn<%WtflfJly^}luReXi#8dJ|2HXTsdwgk#lZOQ>Xm zuyXce2KA(iiQo-5fNR`N3rO_;0DHNyWP&q5;yG|z3gXU2?SZ>v4ZFoNBLs~!MfzbW zHKFRPW3AiYN@}TBr*(DF&EEi~O})k(3*46OwehaO;ki49cHgx(Y_{BYdTng1)F=FD zib{17paN@BdIN~9?{Tu*pfg=NLjeM~oK8VV*zfzS+Pr{Yq!MV_&;g03ATd0KD)(&P z{IC26$V+PT&vwuGc-w=|RhMFJYn94#DhEM7FE@~!zIe7`R??n&gy^Z7q_?GlTvs>#e-!sEE3{9I>4?Ya6pE+RXM z1t0`Ig{RUEDHp!E?;DsgS-@RhAW(bhUvWgW=_%jhcY(azY4gY6wM+9{`Q+}tab;XH z+rPx@UOROvwtOTfQyz8A2pR{NS)gV(Nc*G1EIjDHN$ziM#n$0R$Uc_-26ql8wMtF8 zTkX*nKx*TgxSqktd`i%V8$ppW`u+O(BlT^<@lZE6s#6^_)KJ1zT>$uz?;jJ7P{Fpv zYZz++&!)V5#;z!LbazS5I~Q!*xbtamxi&4MV)&k*(_AA!M)%Vd@HVEX>)>jVmRSnxarsgJJFI+ctsS8o7jxE=7 zKAP0w3!hDPlG-vMPUNILReM}sYLrOshm_eWmfrW8*&g@gNLmkHNH|VEPIlAbFt^-= z{ZDiab)R~fHci`Y^M2SIfz12+e6_k3^6WNqwq@H8!XX1XJj;8|#usP)z1itng9l#YRnz*Lh#_OC;JnRbT1ah`J8wT%L&fhM#b%>9bk z?XB4*4K)G?p7}4E>DkG z)RxDIr;kiiH$I|*)DQ(-zw5xRAZ(q^%}P7PcW98%B(W?V0UXr(*JBdu=IoFM#T3mVrJs#a{ly z%vnEF^hvxlrV3}g^F+Ianp+n6KNCJ$Jhix!T^VLF#2i~FYr!K0n(e-uM-|IU+eSCy zsuj*0fhI)BRW3N9>Xxq)*RCxQKL7&sMU~4m1~(vw-L~I%6J|ZODN8?bQ{>eR0qQ+f z^kEyl;@Z@B-H#!fZMyZI)w1}mB&+x_xVZZ`dsK(Oy~*w##5oIa?v3}eo8O(h@&tG= zx9i(mbIhq<*JmfCU(7pXzME<$+Ba)cHSn5C$N4MRTb{o#g)j<_-CC@C$I_ zY)({nx(&^FVHXQ-*5Nh_>0u6lq=|Fo`Ei;wH6Rr$(grGBGx|pB4boGtF>eqg7fNVB z8GzAJd-6QjnXG#1#?h2`K4&3_J)@VsS3Rxs+3jDF`+4TRWVPC6Z5~tNO}%m7v3LiO zCPafa`j~AMwu^k^lEd{?HKjk82Sl7O-2VVcoBgKwYh>pK+s`9e=P(xrRO6|+j?NvS zX?7l|S{n%@0*_-!(r5{w;lS7S3xxjdyVK_$_&I*#%$)7IS9`m-9EY`b)FP&=+j`u! z>P#ziVoF;;%UbhWhc%LM_50HgN;ZCx+Z$(L9+u|kAF1yB=bk5!$Yd9g`k$+BH+zFL z?yn)h4nTa)Wml;4)ugtv9c9mT#$5N3LG+AhgeuB&+ncuU$9Dm6vpBgsdP2?m_e{YhvbiY(w?XT3ssz1cu9pjPh_p4pM2lo~zLuVRGNmV4nM#RLDl1H9&4O!5T|rj>aNvL1w=LdiH*LIW zJ`;;i5J%gXD6hQE*7)nUhb*h(-d~@}OkAB?G90|v#i1dkH|DnUN<;32B|vmE>xn*{ z-lx0-$q;2bYxXQw`q_~kEp<*J~4g?e`pyo2Kr|8Eb>L}Na zce1vP=(iK&w9!-v$|m5*TD{{SyGKTEUw)t+q{V={+j zm9)x=V9OLL(4cf?td3b%#A7ORC`qLX)o9vOCheCpR6b5qQkw-&Kwp<2Bm|lv2g5LO z>4^ZqZGi`lNvxk)_9^@CrT1NPNLp&Q0nesm?88BtMZra=mfVh4+zmEV+i>l6xC>X_ z8j1_K*ZWw0_7QH*(thMDdr5E{0Qj%}(c!sQT_{Blyg>07Wg=83D|O5%U?}*3o)Sh< zJ+k835D8U19VycXa0mht8xxxZO^vw$MI&ul0qLxj8tEghE0@vHrD&Thm6%mnJB8(@t*x+y3b+DP zMLig&!)Q!|ty=4GYhj{cfhj0fpljlA_EuCV>uJSNV>c9pgQ}jaM!Ex4F&)bG_1P^X zerK~h11)NgE%g(B^BT}WN%m)j{{SE;nw`*u@eg^*W`!yundO9Ewt|&r^x(YQx0K0g z(p@JiW1-tXM4NbXf?{&~TWM~%=9D2NZYZ390;HTeWsaf%%%+oWt%@@DkQ&iac>sah zzpm#kQx>f(r`?X(@J)K3S;muPwX)VA-X}BL{tL&wSJpD`7lu=WZKz=6Irp5;xeM;y z#8S$T7m{)V6IM3Z)lxSLtSGAv=DVqWZCoUp*A|E)pj7$fsZbTw`;F@37R_mh_0HvS zdAohO+iyahenf|s8*R4G*eX(#q5uF?oJmH|1xi3Jhr1Q|IBea$Z;8qs@7WIJ+;ae@vb7Fzqn(*qI=Yg zmQc8TE0;d@eqLOG+I8|J%0K@Al>BM9-*z_5-tg0*scUUMVT&cYpNE))W~6=9k9h`} z3uTtz$%i61D)rryqV8JwjIx3Pfv7r2Jwe0QCP?FN+*b}$O4aVv9Q{WPCX6|xb4tT0 zjp5@kYwlCqs$ux4aRRAzA!+(Wai5sWAEfXr(2bfopbu_N0Q=Nibc>qYs62GuPAGUEgO6o&oR5%epks+hz#{e;0QqdYS1;8(IbAFZ2zX&mDM zMkA3KkK2N|8#i~AG}RsVg$M-rjApy0-JMsWdT*$36ga9qxonK=Zd%>8*wjV3=0Nbpit7xm?dnU0n$$(Wj}f5%(?Op6D=KC+{y$_ZCcdQykS z18E&wM4ZmWV7&2PE^aig=eGF2a$lf0YMItM71~=Szt@h!)Ar&j>&R=UUeJ5Oc@U6_ z=|1HWZk{~l?VE31=XLRxF@t8oP|os7JcRFsvbnW0#f zkE`U6Fo_ILY2+L!^RKl??RGY>2eMeijd12c_+d|Ct@n=3_noI>?rtaD{63B?<}Nv! z?(K=o_PxP#yf?e{s-Hw>L}r%TQ65A^KFM`$veT^tsYp_FQs-~#e&oy6yv*4lk-9?* zLqlE#Mk1!BhXP1BR3;DU4XSOm`eJh>i0Up5)JqAWz|dh(2^nWh)N5j&u{eu@`4fyc zmiD&p%hu()#N1nUF2vf<=G^VB#ZH+De)n~dhgv|T18rAbO+dxqdS@o%BX!9d zby}LYuHPlEIix&XM}ypQZ(!z4GWO({?pup(Vh(UM zISy*RZf@q=gSl=$@^VbOrK@PP)JvBC0K1o?B235L(AuLj4JvWAlC9Yu4lJnv`dp3@WYiN0vh z3^B(6Q-v_h;tvWdKTvf^7e+_`Y)`3fM2tu^A+5xaO(-Y`RgZdHyPD+p6L{Q~9mQw0 zU4J#Zt)oW= zM(f&^@wDyJX1TYZ%HNaOfimX%bS}D6>?J8{V;k5@Us5TbU7JC4uF=NeYFCh zd?;z2B|7Tt+wCuy0jZ_5_L>xKorFnv)*OgG1rkKrPF(j(ds;lE*i-GweW|m;fo$rJAfgwWAU-;n{tR3nG@dckT>nRJll`9M^(+I}8Cu!It&eJ2*k_Hz~_ z)Tn3PYB&lduU=eXw&OMaT0CTiSYeXq`?B_f8*M~U_+>98Np(GR z{{U2aaf5ZwQZn2aSbS$bz`ft;7eh&ROUYaPCguD`?h9w|-iL04)Ejye9y0?&Z8ty% z)r?j0>vc(~E7Cua#}Sg5xSwNRxjyEr4&1d!yxkOqI^1h}Wki4pH8}zFoL9Psf3(|S z^KK+;Z01crZ(`2owI*}!|#llS*;GP{O}#y!&59Fb+& z{9(!4diNIA_06P`gv@U z<@;rF2MR6OTVHkABQMHwLrPHvYC#~a4gly1sm62EH-~SEJ=tTr<|vxa0;HLQ<8XA;hRWR6>$P23XqqGt>RUs5axcMRFsERC!^e zP<1kUiQ|D9X@OC_XZnc0v)q3z7%X9?BAB%1Yf9HVs09?U-KTq9w)SbZk$L6K?t^-{ zFlKD-HQL@(&Bb{^PNvkvP@o!VK#IQcLu1lTSgrbf=|=a|_XU=5ctP<<>V`L+UBvbZ zl^NCDdADs0*K;ji>_bK`ceCv{E@pZAy#DciVrsZqY$;c7ov*&)qB*y%Z#tCRnF_5Z z%t&qPlcWsVY$b%B4-@XLiu9kRx-(1P{;K}~Jwy)){ubgGJ563zH*as%9dG_n{H=v( zTx&u*@G>63Mvf^D8~nYc^BtV+oszU{t~Rzf++I)R+3Y3zwBUdo{XW`)0({pgRj3e# zlS=9)hh*ss+3x0b%*LU=OL$cA?Wb=Q2kO?%wsifRdv%jXn;@&?G%qb2J2f5xm<}rR z#q3+NYfMe2w`B37??c-jZ^lBqU8l=#_*T(C{X{(BsY?FC9|HU z)sgzT;R)DW(gtbWjlhafU5j!(#U1SFOWW5eRtYX^wB3E^`iasOwELK~U+Zx>lf{MS?R>mvN!&0hTB`GnP1m-~*5tU9~ZXKM|SQSc?>7w$~2i3xSt-8W43Y9Ve6rnlk#&y*jUzYy>HMt!7 z)`inMpP1h%#}Suukv7|jM5T0#I}v#g*~sZxNh7~jXGwC1cm zIKb)k9tn!oDuDvMI^v%^YhbaSidWlLAj7Frmzd~r1$zZTz3n%Fq!l8+epH2|d4z<} z05J~BO(9z4+{?(tJwmyFkTp}ou2^d=x{$WK!!-QW$W!mr!>$^-5~Z1Xus?7sBn4Ln zWH=<{yCr;S(!9y`V~a%*81hPVZD~t+tHPrQ5S_8Yi6Z1wk_|l+!kP+5$fM2cxD?Tk zWodL<;7OW6%r{?kKi(pz)G=}CZL*}y?iddKYZ3K>s!JnfjAs{$zxj9%ZfCF#X%tJ6 zT8gFXp#rq7Eb>QJEIKIwYKyl;^-J?AqH1f`64sEYOZjn7M&Y^?HtK@49P%gAiH0{7 z3{6ViC&{O@2s7?dJI&=z%%4cl0{Abv@9GP`wRKS^GgF8PQNc`MLZSP0=5z@Tq1RQVN;L{T zye{U|CLM}q=RQ5!eDA`0--x$(N-evwfaR{}5*FpM?HaB_oYj95PJQpbG z`7MQ5uX11%DMWy2(-`gLt6sfdwQf$0MZLpa1Zf)wdVSX2T#c)6cz7v8;+U_}m4S45$8j2m=2Pw|G)k&L&l$$;)xVYg zi<)c9a_v^TE}rv;ng|28>{~b5{Li^Ndf)BcZ2N*$p*t}uw%;r*%5^cOq@OL;ooy=8 zuXi*mnHmv_>9K9ZIEw00f0!}Jfyrzl=iWxe-TQh)lX2gnZoRF4ieg>1{^mj^L7Ngo ze)CVUBU)6IB~&1fw-uqZO2beHAxw+bxKNsfp*_9wzTYY2-dyA!-{)<+mk3=iPh7SY zl1<#Vc8M7=kpBSb>utu!t4_SMwo0f_5^;k?NQs0P|a%-oe>&~OMQ+MKLwg>>UiZjcWntNk zUZuFX(O_6NE0R(hmbPs%+qFiwHrpX1Aj(jx3Yt*Vl5rDdJ*}49E$xPuIJwT|OOB#R z?I+kUQagp*_m@6w#;yP~4gfSz0o(__6*O=MY#qZ`Z47)r^2M?~xDWIVr7e zjSRXF3Uwhq9tYQqgMZzvuBAGvTS`-b9DVA~wM8TV7P^kDYs4PI!Ef8;pV`-LynnxT zt^WX)m1wwMV$V(L@B=#Smi9umf0Axuoz}GwH7$R1oQIAxuBE?}FqlSu{{ZmAf}ON( zu}7RnUq71Z2e{7mdsc_XS8g+v37gj1xG=a4rGz-Am{yGlkiz}IhnqQ}disw>Sgpe( z;|L)Db9QMnV%qAKN}k2bp5X5;(Y3cd(j3t0M7WJUpu?Y*;94H4N|QxU z9IK1udt>E{Y8VlcihaOqu;7Key!oT=USQ(%ZQa+ro}cC0&fQX%EtjRe41umZcH)u| z=V<}wmTFU$2W#nZ6rkcmP5{<}-h$(B8VCRi=i0f?1Ok86MN1oxvOFWlMOeoFcFRoVu@?xVRWTyx3$iu<%SvsUZn z;TOI-ki<)vl?DrwT4@eQZN!8uw?&Fnj+n_do~oA2#$o`tgMrChcO9v+wc4rxJQaiH zAD35ddvfC^ZSnsAFmgWNyv1IbLgRV2xYI4y@s^^Gd)18+9=N>H3);c#RhMiq>cEvr zxxcb~pRsIvUA?Wk_m<}0d%p1(ZCN(qoYTvarxLeT65C7yO%YDHR=Aq!oyT|HubE|K zY$mvn(T!-SC*ME-#JJD_i8NByyI#p>6t{bw$CGCR3*>v9KmhIIQ;-!WA&T371N^5h zmc6fI-95nWwb^G(VG;)!ZRFADt>_vNDpHB6>Gy(0UYvVh(%;bz+V}ap?9Q4@{J5Q_ zFnEIcYIz5h2O_+8>j(bnJE3>wIzrX3z~2a-cItb8z!pVN8Yz~tPhz)w<8E*VZyN#q z&A)d?@@B=_as05UGJ_~e5-1Xyd&*LeLDZaj`)B<)`e(7i>DjVbv8=_?O3yRiWG=_B zXTUEi-u|yWa_X5`44qAVLxW?1;uem;*qYN$^X*!Z*gr9?zua$iynn;Jz3h2*o;i*B zz2AFpoyQ^Po||ojZ*-%}jG_5SRD#g+6l5QI9S}HV$Jf1bL(gs5=#p+K~`hTyk`l9lC;`mH*J5QMEH%W2O z*ubu#rkp8E%~s`iA2e`Zbz6qP#hveLm{z{(_mOpKG1Q+U^#|a@;C1 z4$M7=fI0H)s@QJ!?!S!oF6FmNvPp-&AX#l{wL!by8Dz|lA;tu03vAH&Mc_T)gHD+9 z_R;CC<9P#`@aT)3QUNp|8jAC$3aib|^8jlM#5v8ztu)8yN^@FtjV3h`1X6d8!|nnOH92IOs2|)Zh{n)k*b+g%8g_o%7M8e&v@O4WVh26*p6Qv(yQ_S*jmu}YZWrW8X_#syF$CwIQF21i z(ozF;4Ws}7$F?{B08nO#n;R&^5y#;rpbDNkK)?cPj%8}zk^Y+Y(`OFxyGU+jnW61r zu9k!J>p8sBhtfM#yS}d}WhsjlDP}x02(aNsN?U2PfkdGQKmjTA05J`<+Y^b*t#7Hf z2DAo>HLVx`C;%J)7yuU2`06^iUSctk`G~`t>clnn|r-;-C(T_&#n`pPT zV>p42dBuFn>z)1Ep6xv3)E5vth5-TYYt@Z+UocAvbXKYKA6_RI(?v{q#S1-nL$M!r zI+T}NuafI^s3R~z9W%k&+9ItQ_m{v8iTAEZ+ctp_$$n+t=@J?=p-&-2Zg##b(a>WMO=!PJhb_#NutyZ0iY(B z3kOgd920(~gqF0pc!%1BqH8hJRdlGWI%kJuDyVf*oeDaFjZG>Cu9)N+g23`qOw*}8 zB-DET%yKfv5^TF{w&lWoQKd3Un|ZQDLCfmGQ$oobrNW^p49<<(nrKthJ^8tqyuq4_ ziqj#mP}x6(6qK5KLBkQUTWBLr3I721%bNX2-Huk@D05P8Yf=cz9Qt(nutTw0pTf9r zS0nKz3x6l>__MB(*t!zz*)GX^k&#lU3Bbv*TN+il1T5b!zj=TE)8hqhfvSdp^z~ym z0dIxMAm6tl^yt>$uW}kZ=Y1O7{(*}|&2OcJ+}3T@H>J|HJ`Km(f58HzlSHKT>4}Oe zaVXZyXq|eUXxrANi}y?HnD%RX2+XbdE~S(KPfC<91krF6D4%ePbY1bd?Ur;U7K;R> z?VDj|?zqjk{2_LysdZ>mht{k{UgWMD8K6dX$B77{y+;+RmaP)e^a%djDM`^qXX(UD ztg5tHPFjkiPH>c()74xsk|kh*;FMJk;-ynQxr{NA8Yy@#$|GuW!axR|+%$AyOGk8Q zoEUvX)T*NiIjO`_llR3b(5G<>Kiw=;71xE)_P4^lW>nA3y^d)xD6ng#evE zV!yGD1LMVbw|d^+xL-+d@5XTK83F7G>FbV|`a-Euo&YkXBKbgSi?7p*idfZ9p8$P$ zm$zjCfVh211F`J=!^!*iXz{kxXvo}K=HnM^S{ne6mu0#e^A)EsmeNYpd;mCl*9Nqc zl0l3vH0HZ768_#m9=Y zFb04ES##utZH8ZI$}J>oAxZ#X1X{6NWTJ>$<`_47u!P%zw;WcKp94DOM z{Rb2KUB;;C$wO{1QPt+Oyx0T-PyP%@xYb6fdyU=m#mX5ugrY)6u<1Xy6^^5B4RX?b zIg+oIK42eq3PgR9D?v{jR)Jbfk3hGcnzDu$dIhtiWwO-Au?YWVX6ABw3@3#@l2XUMg{`;XkV7cOjY$aRGR)2RimaX`3IG=hCSF!j4MQHlYQWG`OhRM@`gH#9~S9T&CeW{jZ$XDWN3 zb@gB!wzHB^w@wM#2h4Aic!~@5J1+Qk+|A`*s=pa7D>amcb!2@Bz&od)l-1422lp8n zfG7gz+(qk=`f%mDdt(8kAdxpE#;8K|$`T?M z7>zWw@eXToAz6Bk4BKFg>1vh6=6lQrljU6$fHEMf{WwtCG=!I&YNLJQ$s>9X(svx6 zkAdbjISr`Lw)+bXwCV}yq$mOo9oXuER=uB4NL^A!7P}&aBJQ|WM~s$dIWlW%9!%MV z1!z7cApihgawE^yHp3=A7p5$gMNSC`{pVVW#z+07) zlThkd1f$KVuDvz!>z*6i%OMS6cZCG;vZd6;U}L*JR7=gd6`SLl&%7ItEb6bZ8R6ID zqU=nA-^{7kXner8#@dt_di6TXbd2AW`&R<~&ZO_Qo?IM3e4Zc&hPv=UJ1ka^$XJORHG(6x?{}1f?N9 zD)nLWAOKJ#b)kFz05#rkEHPrYI`ztR$!LWN*98dkA9ck9B>@qETFE2;pBx{^XvZWC zB$c%|ww`IL=?qcRWnKx)|2r<7z+IxF&Fs9}@)9tBGEw+FpWlH7KEP40!2h{Mz z)9-6sC|uEB_m-jQ*4FROwz<%g-9@#&*?Va2b8Aa`e{ru1?u&)ibjh-Q#W5>`}3;AnJQStvmVAXdAVoTW0DJsG8G`YU6EBm*;r< z!sHp-94S9!&2ao(+W!E`Qlr{!jVZ-@%hc-D^MstrP|}a95}il-uIMWWwZCv|+?x=l<+BvF&hQ?ma0h?PLI#*<8nRS`Y6; z_Qdc&&9x@0%sof{0Jjy~a=tCUc!o&_;g&ZufvdRJk9w_c#rLJg zXBWBIl1Vl1E0SNCKKkL^nale}YHVIviMhGwV!Y1!*sSW4cQJcDJd<=ZB9~(`tfWYmBAE+zycLT-CZM_O5&^MB66nX+?L5~ zM3Cds?gcj3Z8D=(J0W3|iq|~UF?-lLX5I-waKK`Hn5a9O>8?nPzf;I)?@m^l?;zmO&SJJRfF~}=%aQRQ;ad*70uJ=*1ZrfqBX~G!V&-hva z_|;e4r2#wRm-Zgkd4J_EH<(f8gP8IX@Nv$+)k(&y)0R5rVCF*d{{X1_@wc(Klpm$8 z_tJr1PFm#__Po3O+GONFv%pM=(q+gxT4Fmutf-#=l#F@`C@Yfr-1#UmS{dZd{`rG+ z?rV&mFOJ^d+IHs;lO{#IHwkhZN{t4Nr+=*H4q8?uu4Jemm3BF;3G$x6xbe>*?>(1sj;QiB z{P*G|r3!vgSD4uY&{CmHKaM~`i;=V>BHrKKOZUsYmE?JhFUg()vlS}xRrV2zXInE& zZIEY(`&QZLw88fhK_7QHL(;+O*V7a7%0Cqc?Rnz*a7_W4G;%3y| zApF())$W~Tvs(6y9N&m4uEGSysUW9S2e5&Q%d=i~CjgeHnmA}Hkt3<;LxF25ij%I2 zpg-CN!oG}fZBn5kT5IlsLHCoL2tQA!00I==b*5B8Q||?79?B8>@NtnuC&Zr6?~;YM zu8pLq`vB>HJQq5NmI_s+N>|=myv1ed&m7=MM;R~w)Z*x&N>CN8aswILTo&-=)mOd8 zBjPXDHxJ$ORD@U1pLBlAUMyqN3rAwc_o@8Lxess41cn%^==2QE7kI@+RaySr(-IdT zTz91OYmLRbdi}`kgZF+e1QOIr*Uq|_n#T7cC<~pV3 zON;lENj*(YBkrG4RmW?$($J*qW27VuLC)26wtfiS1Ju)(wz!Fvs>5p{C1Ls;jXfaY ztJqVD!!~Sb10=Floa&C)dN16;k$y6ibUkw=h{73 zM6;53*R0-nC;D&&ge6PKQMV~>f6=Tcw=lgkZ=}TqJy61PaOLUgi!Vy;;%kj(CS&d3 zvmaHul-cdxOAn50JDbPuP-U`MZ7CJ?V?>#iUT1*doo3uZTOlg&sj0#dM~Yro;G?^g z&0b+DrE{V7;z6xZFEuM*KPbLBZ+-WOo!>S;oowPgzjNJbc|xHxrzBeAk8K@rk7g3w zpQajfPqx-pO7dIT6g-q@Yhb8gDqk@qS$w5`}r6`!PcUGX)bQ#2*$id`IjkdQfwpnrw>6A!mC0_GR zr0H>`{{UUJ0+WbYZD>@?R}~0vyoINbHWt)zKsh4OH%)qvDq{*^U$kI$@ukIe5(|4w5_IAtTyKn7Fu0U%DLmF8k&h_;T!6K`8+i`J1?{b zrkoX5sYxmQ_?6hI*ARGxTmbVhU)>N7RM@DB+I86R2@r#-W}lwt-$pncGkj)I;TYb10jW;js-?!HeFHxtam z)VR?CSX1cxgtyk7nyUt6I3Y42`MjScKp%fd$s@qv;slv;9&>+7DpSg?r3xiA&kHu) zBsGBP%mu45P8Mt-BxF`|wpTZ;!*RX8ZAesBY$#kiY}Wu#T!)fdUX5ah zLP@Fgnqi&zZk;EJJOq-q*TkH&yk-`*M)$htv0oh#;qD0NLMB=yFWp0_QUKJ7(^3`m zVy}B<2Z^H*!%_7>04+Y* z@Ak{5Y+oyOx1RWhuP1NsK7QQyJ0*?t#`5jv?RK-UuwS-qC!$JlC#eAtCAg)13B`iz{{U*+SYg7#KzY@! z_yS5xX#HjMi{t`3i&5Uf-;0{I71{UA68FyAefwVdjW=j-jj1usxxMy&@k^2JFebM` zq&U-oB{i-Q%6!s8t1TSZF4_R#+-K%GfjPVTHN)gNvfePR5 ze&- zjkk1cINN=#%Xzn?rAqjgqp7D~ZK@>I)=#>6(;Dxl{-0UC`O(9=yKK9qTJrN79sDHJ z0(%a87GdfowX5yK^4j^4j0s_*n_e`^owO>YcJcFs`EK#9-L&x)o3{u4IOu62HuXmmMUasHr0=P-D^EXXw|e7wnEpt;Rjou(ph8d1-5NIspEd z)Nv#MsNzXf4u{@(Ua0N*>4+Ix;? zJ@LhjDRKCm32l*oyriuqK*@r@^CC2weq+vn+B{A&9-Qer``z8UWbFK<%eYQM8h@3? z2OdCTcm=iJb=8bEPP!F)2ks4DEWNa%<#V4tW*zc;$|qd-=eLVu`*iK*TZ@Broww$? z+_}+7p-s;6*h*>wD z*%y;*S~=v=pnntdC-_;9H0Rs@0Au_?!mKrMy4&02t@7d&+^xg7m`RHrPXZhfBATTH z)c#`iFUFwZk5+n}xb9@Nq{SB|oKJb<-IDg#r5~lvoawfClQ3P}kU@LLgjX=eWIN4V zpzeO`lFx35bKP87b#^$6hb|I!b<~#?r2|~I*6$7kFRy=(hqNL{;s>>G8(0mTi&X>|?APELQHY-uCg zjavR8C9JP+?mOgHj{QG=o%YB$SNiec{`gyE-&dbB%t>=rrL5GS>l|VmRkbL-q4hrD zU0Cr^rw7gQxub7R8Lryh!h1%&6x=5QPta5`v2=VO-7s-tHB%VNGSBowI za19xp7ehSH@{8dP$opp6n`+B=i+EPmvcz8`-CRp0`?dYZ=~Ve|EQ*~^l?K};h(Jn5 zOnkcA{c_xTk9(EUkE!QH4h?8N5IvcmCZ&68p!ORk>`ikbF_w=Ne;GfDy}seWa!1db zOKNaGI&6+g<97|V(&ffH`>n1iqiAYE{HX~*@Jo%UV5g;NkD#8Jbrs#+uaj_UK)~@m zg?XRUzMr+Vx$~{?1mZXj(6&p+3@2^c8+~dTlC(@^XChLSg@QheXwl-R4pjH%zs73V zoy=Nip^q*Wx^8}bhg(#mARLRc>?UL$`v=WlsIX{VB5BAWcuv;>v6|wng6vG_U>jsdVqq*+^;e=#raK~bw z*mI!=*M?4Nl!@ulr#%@D5rl}McE_a&SSPRTz$HV~W#(&;b9LL`1yn(Z7Dx4-Sy${x z#*5MrX|{8@yX3sx>mBczxkn%FGv|Bwi*EMrmcWE}8mHSZi*>s)@wX4J4?mv2eC{{Vgi&6OrzK&~Vpv^IvpqTH^pbre^Wzf>N--1O{`ZJTqc za`CC|;>MhSh=qcvlNL0&|Cl-AQe8CyrR;ug($N*i)^v|DD7sVXfgK=rG1RdCu9;;LFx;av6e z-Kbi5lab&C{I4eF>huB7xC4j%>`buWp``kXW8ynwx1L3?S{Qk_&dw4WL(+)|8d)pM zfKP@P?$8-6+|iy2bEWq-S>G~Of?6wc-ijQ6)6Zp&4gb;f)q{t6&U zDa z<#UjFk2XsnW$F!JjeE}oCWv+3Ipf&RB&bM|fJFqEYAH1I=+lM6oRcpKz-;~h0BqY3 znYY`}%qS7k8fAubr3pyz0U!)CmfKc5QQIvM#ExZkab-1bl7^)Q)TY+LjYqG;Fs@RmSORU6o!m}jy0?oM0dy|ZU~^IzPvF4JbR)Nm{2c}>S+xeCzq@xqs%tuB;` z7d|Tsxt`IHYg=B=sHLOyCwV_q@icZ4N$$XB!E|-<(fNIL;n;@_zs*~RaoRa=l=&go zRkk@r>tj%vjb;icjMcI;>Um71+7}#jt6J(SKq-&0UV(Jh<1Wc;*I9mA>f$!ZJ1QLJ z>KdCHoB+X%BCQw~>L$2T<2UL{s_u8K?r0*B(plR*%#N5f#ke{`D~WS~4JNc`6s1jW zHsIcN{lfa>xqD(-R!@@4Z=i}EgRW;Dz1uc7+b}dRk7DxVwvQRMh&_g;->z|NJ9ZP`K*)8(t>x{#ltx>JhA;}%#)IOV?K>6S{NfvEog|LP zG*tfG_%3|@YdkN!_Kz{W$s7-CowU1)vZbp>GV%MYDktkvP~Nzc(v=hkWVWAhl-F7* zN|BEp{-gf@O%^?OWghRfwU-a29M=6#1Bk6WZOF9vh^81Xc>bGxTHQJ>Nj8nxm|_O3 zF2_MRw9>u@W(dF<^IF^CzWnz;^I|q%aMERMDXpkO7YQhJm9*`2pEWB0f$hh~?@@nG zkK472XiH^h)f2FgRc-Fc}1EY3MX{h&wxE;US4|zPTGTqDlfp^`uwyGn* zOqm-KeBO#2etB?Z4Q;UdDM3zjdr7TDaptXyt2!Pz&e_$rCIIJ9P367J1OEW2pcjtz zw2CW-TAkwB*j;Upb;Ah8HtBJ%DmsnF_=xXS{{XsfQu%{$?$@|%&zc`-c3$eZ8vc~C zb>+Q_6UdnqD=#&h)r2y?$nhR1WWb-afS5-`B?+TXzb_L5at;+_k#ZadU&YWYF;A2)7pxC}QY@!JnE z-H{t`I`Rj;+)3*4V$Vwa8+_TN^*M-@9bQ0_z?V>d z>8(2#sy!F=g8tme9^l4W+1oI_Ngi}DoTyCzsj1~ml&N)_c-pg*Zrt{H78`=lBqANr zwKCyB=&CC^V*dc@7opu#(#?h2wUn04oE-(@2Wh6D2&k)SDl-)oTi2wYsji9ZmdbhrcBuxvkntO&XXzQ;M*-F zOINa+HTEkRx$gmJbKa;Rl1Zt>cFNltFIewejX_v@c99wWV}#t3`AfH5 zLH3B%{n*sHMU=T6#d(9)Np$q0SIzr{?ba>tswW6>Kc2^!`w0s{07 z@#?Ji3@p{*UI zNc+T^4?y&#frjA6rh%;nz4gML&TACvtI;*Mkh-PLBAwi8?c}!$%`zj&vPX&(RO~o0 z<33hur8?X+AyxJ22EM#o;0mW9!8&~TZ4j)ytJ&qAJ7eOYaCXsp;OPm}wa9u)sVecv zWGnPyD`R;gPv$9I=wi?13!UW7nQz<-%D2mQ-zmQ_D3b+hY1HaX4HSY1#O2&=d?Yvm z6K$sINM{d?#jXJ24G+Co4dvWlCvW|kZ`ix7%WV5KvBo7cC73>3(zxudI!fLS9d%01 zs;4uGCfm_=HkVGGEkVw&95KfMOcv49KDBR~uH4HjlN+O91RWH0Kp<4t90{#PB|)~p z18z2ql7$Lau2{BIlZwfBC3?R3S5s8yfj|~5Nh+^It19^Q$01o3pc0J!?NUL`l^6xd zs%1RL-lY&ek|}|ppA8v zf>Jk9zQhGhP+{_wr$e! zQWOW!C~Nd$B37$aoT91s&NLLu!kA~Esed>n4823vgVTT`no*AhKSz=2!&xIwVv#zu z?m~yBLNMHpY4cu{q1yF5dJ%-n66|uOJO1V_8|!e$3)G132o2{^rGy6m0Bv!uY*zX# zqa4M3>&ZQJd-;vxcW?(!{3405hll`!>cip{Wune@~0_U&mHrn}Ex31oAssBdkTOJ?Qn`+iQR{#t$mGZ7aaro4U(*E_p%|ic*{=lnQN0>M*R0t4Ks?p;P<(+YiQgH2%5%oHh^? zznYrY&F~UW`MT3O>Nq!$PS79Oc@Hn51IkTs+D zM-=h`Lh#V;qpz6^P_4fHJbFL ze|{u?ELCgFP0n+IkKIF_%3yykP>HA$bDY&A{nnT0&X^y|BI`((%$F79i0U4y*9P(e z?MWi}V*KGcBCFo;70>F&c}-nY$tG7M?uSUz4Z}{EFZT>_jhxVc?nx`$gS#6+aJ05t z1SF|ifCTjV@xhEZRSDEMB;WH7b|`y}Q`k@R;Qm8VJi@Urd+zrt42?fe`fwgYLhmr7 zM*jf1B$KLe_9;UHp`iw%rhSFOoTM0X-$EHx0)eVc za~LC@z;a48jv}E*_DL? zS!(XDmv-LU+1p7wnquwSW#RcNecefEx&(xp^aCM`_UF?*uHxcZys@d{mlCY7bzR(1 zvOPwPT?B9+BqzA;5Z!9JI`-mL-LTv*DGrsbK~XKPNg!#@@N~zBI=7~V$-i5)0Kp{D zwDO~*X!#ZB9h-MMhTSRpi(_&2hLXB2+1m~eD0X?*WF zY8uhbpNRHkwvS1DH)m5u>xmtr2D?rfxQxK$J5zS><6Vc`Wvh(0e{37RCu&{8@q==C zFSAa2x zjX@t&NB5X81ZAnG0yu+;^-YgJ+U(#-wZ_=w0)%jpzq;d?JVS;@n88k4e{*rq>jN z4gu$_oX2V(H2&D)CB5yjXAt9Z7+nKbYg5$*>9+0)qLAVWmmNv~n(0%L{T0_+mq%ZW zM3(XZO%H-raC;8|J?%I+DBi2-8xE+luhBCq0VBl6achSW@FNzL&F6Hzu1MQE$8+&7 zahzP-9qYE%VaXRZfO$=t`7&Y5Y$UqFplWTzk_gCvK?B-%dsj?#zTVm8g_FkY1Bj%J zBQ}>05F?doOhrLnRJYuB?v=fCQOf9E-T>8(9O!T$^QUHEQY!~xQtr&ldxtqn{{Xb* zGV&C=ExPU-T3Odu5{CT7N{*0pn&f>r!MAVFcTMg@x+!0tPYitrEJb^bd)BpK`nKL| zXeEiK4BA}WdEjWJJ-@yFXZ@b7PI2EO?k-#7z?BQ17;+j2?S%YOI|BVY8mmib{M&PiSogfJQVGqx zcpt1c?y=ck=(l@Ox>?kRyfiZ5y!Enyu5janN#?y<)7wVRa>l!FoZCxEwXSh<5Ar_~ zL)uLf*39{lb8ixJRflQ!hrD*p`q9Es=ONwC0Nby3TbfHHxY3}`jvQK|IDYhi|$zb`wV9Ap9@?0O|Q;YHP#3ssKeZAmirG)xT0+^#@EpV!4Fe zP9$!TjT%NiVIYP%w92G|T&fjYzIUm)d!yyvNae|mJ#E^InEOX$!ju$*C6-jV4-{7} zt3an*v&NPB+4WVOSAS<|ZV0ut4lM^V=TH}s!k|!bqS-(8?DWU}&f71po&lcVv80TE zWk_v!(zx))1urL`;BjYfd;b7*TI82G8E4J-sAw=IZ!s-Aos(ePQ(yR@-?X;^0*d?aZ*{yLoN|ugsM)dTcs#)Y~xH zOMoBksp7Az8*f%Lwb8SH75Cxt3cLD!wPP%FoiczY^k9uet85#E#>VoD3p_ z`H!d|eQKb@HHEQruoYVF@qF0WON|F^A2g4*d#bkwEk~2Kh zn;w0SY^j62p}i9S0I^)SxEg6Uh|bbEQq6RVtmo3Su2{du(Dw!rU073{a9(*Nj}SC1 z$K1MQxN!H&^R_>h?A{l?@qW?X{N2b9VB9$)dd{{nCQZuVwh*}6tn!nYPU;+NV5e^Lm@<3`$6W`B!d`H|}>#JnO zY&O>g?0uWVZ|GLP^ETUHec(s~Fu4R`CuEOIWb-7Yx0iz@IRF8_( z%YjJKDN$F`9Yrb^$O_H;%>ugmi6aJZ#Q@1IQnFTlAkg~hfLy#1DwEVy zd&ld?E?-K&Eo2eb`f_1k zHoB+kB;XsG6yI-iKpw9jqYdR1Qr54cGLImHr$46=@<)oX!!`)w(Qys3GsyaJ6>$wp zvRK`CQRTYmk*D9NK8!@oZbGu!UgCEnj3YL#Q^p4fM$c^@1#dn%s9^s!P)EjaKR{G_SMC&x-ksrF$uu-1uZ&84LB zR25Skl_pHb4PBP&lAH(9;>yqM#@NWi8X7VfFBeTarF))paVOqtonya{1n1yzN3{b= z_aX0efuFGSz%iJhdSiV?gp9}s3nH$9J5RPigWG=%x>Z)6w>d3nRX@aBw@SX;MoiFWSlX1L2OnIgLT+**NO6}n6qJEXjXfBM zpMH&xEhJS-!?Qi?)B#xr#v%8j7;+aek>)tcPrQ`+z!_k_-m1{*iWFnC(Z#ei348k{ zBo8GM?eDPTl_Wf+3gz@+825+CQr7~Ne%97~K-Dt6WVSZBX-sUIQAz@qvz2|gcrPWx z9MfOQ$Bqdv>99jdl-ljV4bmfehz7bxQZdF?^G9S& zJQifahLuq<8Wg5s3G~y^gv_p{X+aZtFAlVXG~q%Lk)>HBDe)emf@(a`w2n*TVu(!u z(g3YTs+i*BEx~&$2gLdY2!^Rr6liOmXa+fQO8iEqu`)A?p>QMu4@C-)e!MLdnn)=r z7#s*d6GzlvkhGua@ksY70{W?{k?5lJZ10hW3)2@OCEdnJ*bnoZju{XH6^6Q zhg1cx?vFWWNc=<$Hgg>818d)sawKbWD^^^M&YKHzZ;O@3WpSh1H)5+x7K=Q&=5@o| zs#PK5r7fXu{o>POLOKF^;u_W8;iMk&3iVH* z+kfV)uB6978V7k8{MO#SP&?m}xc9e-Tmjr0b0^*S;{O15*c^YgpIZ&O&fm1nb|WvT zZG|`!Af&0ZEaaLIk;k=vRzLfj+}LeL&m#DLS` zqn($FIuri@Z`ike*7E0exG`IoyUU5cQT^vQ{ub7{MrS+*dwtuTV@R+1~yxbx@f`}OD5-FMW{+I0wl;zsCW z;*7>ah9D8C!NJ*A0u2`Hd-_}1x<990?Xp+6HO0;kH54?h4g^y^RI06<`8TuvOpmxb zqwIINelXu#D|p;k-W|g5(_6o0!?aJiAt-G-suMegLw45hQNw9U(RX4*O**6^KgK6h z-$3_E$gLV)^GtH$Phifyiy(?OKLE8O-ETZ@&Tzf(_aN~*cV_vcw^^_59whJEk0RdN zV$Og(qhXJB-AhfwdBK#eMtql{#e}pH(+vb^)4%#F=i?Av6~{!T$9^Ib^*J_8@_I+$t)7M$CU14S8GtUT-9MdzNo zi|(7bd7Pcfym4TJVr|(iv0$-BgD&HtxE3okeN4fI)1Vimx#vE$DIsemSeEPVuxF(5 z?fZ3$eEaRl$>WvI5r)9lxxulvnx1tHEvPgOCDar#{VB6Q)LW^aa_=JA*a8CpbIExi z0`tSdYlSkPt}3Q+^Sp1#19LMn`#*+vrqz<&uH$OmN%*ULg-A-&%dzIhOGiq=4MLCz zrZ+D`{c>+oU%zg>jkfn~$&ur9*)gp%lu51oyb%^G3>nI!4sxxYvkKk>;?AP2*m?x+M=9&{HvwQaP8A zG?q(V;;;s~)>Gq(g!2pU34Fh}Z@T+j&f+`Q(DNAj zi;2YP8853}q@P1?Wa-A=TwIv#rZtW-NuxzZpa?Y7dxZs6;;{Ubeo~w6(=G*zinoo% z^?r!-IGeL@auv<#v7|WBN+cn+5Yq+38Yv-dlvGfPW9D@K0Ip9~Hr)+3Fg7U2@HX9) zBDjJ{E}`N<2a#U2gY@09&P$N?X#8b_g$;T+f7FIv}c(A z02^xDcEvmAE%pn5(o?3P{OXm~qLjy@Hcqp@>us)0;?eDr=3E{trO~?}4L=Ki4>83< zT-Zaf-L}!?%!#@*H6+SZp<@`DABAfsa{jb{5w$he;T5Xr)N1%YW`2 z#>hH2Cwy#isSR-zIadT5bi7WwRdc7mIZ8FG$DMT7`|3EeLvI{^OF-@cS1xZSoYqMk z^V&)Is|(q;CP3o;c(BU7OijOUZw4RPH)$^@C8R1|mBw1@K}5cUXW>(UowaH$xdF?d zzBJlf`qd`xGp= zx_*#c18570Ip793aaS&y=}Yb6XG3hwL<~tZ030zV0FL)(%CqKez4jfakkITqp3S@l zoN4XFeuTx^1Q*x^wZ6*SP$|$w3usdOO%8a7m-Rccxv!H=%i(5kY;Q5wvBXxM+IG=O z+4?!SOLp5$aJJ>yG0vgGpW&~zsvp^%fOk*ATQ+^&&Ia7O)mzSCj=kAuh^Jb8##V^w zOHMF}3tV=!8Yx;*NheUx68jgb{XM^5GAJ&Z=_H_QLGfeQMq`N1iW__AZP#e?Sv)1C zBjV&eqY54eBy-r0173GWeNtHEYg@ZxYW9pS+|SO5ou-f&+F-ht7NAs`y&xe7p*pLU zEIavis~pE*>goNyY8z~5mOyxBv`5|-G2c1UpLw^LH#`@u7p_X&mrc~|s(KdNu~>dW zz8$3{%)v`RBOSK2o?CQ~TTTi;a4z#*s1R$B!BH5?NtZrS))IzN5>~E&W}<8C7=L%b zB`ii|ZhMQqPW|)V`!?U5*<5&LKG5UM-4elU@X_f&@+TOs}>VhIfd=ANpRDtre4}$ zh)VXOne}zRu3!Jq;EA_Ad2|@%$xDj`Cpw$~T##!aeQ8d(;8!IwoKuh=K&i+op2Z9i zqJ?s8fbkyfYeSY3nW^2o_#)`;sYwF81#rpAdM8vOI4>;%mGClQjdPg}@QR9B4w^!39BwN67KB#$RTLYA!w^sLZ*XAIuV za8q$lOxMX9zi!(>`0Mmo#AaJl$Wp)6K~eiKc=p+(`dEF*8Ty9G0pppY+CD=R!84e) zTri}yDf^m;BTN=l5^Mcubc{ZWrY_uZ0lnw$P#1osZBYUPi~EP#XsVcXCFfMwDQ!zy z+a4h$M1k}JjUWR|b6#?J8jUikOWJp)d3tfkt2&&>c=|ERk~NZ42h)yRx0Bl~`AY4# zilcd-_c)Sbgr>iSYp3_&jDy5fgf6Q>9`1v0Tz9_)@6<5MlHc3RF}hf3uvD+|52e+R z2ca6UF`76oowaFNO}<}laNA)Fl481m8hCW2I#hV!QD)Z?Qcb*YXbGANcbnx(o-v>& zCtm11gVJ!YiHyrMi|!nAD{?)f@${XEz-{h{45~AnkvVs$O{`I0r^O!$9Y_0mRI%;D zIb_uSQY;*4wxwO?J)V}!>m5(24XFJXi`^&Ez&Mhm z_V~3Dc?Hb}E^a}*`4^D)fT2d{z1?qZQ>KX%Tv}*7gkn}PMu4EEHE}2hjyB94*}CUM zxP+=4D65!5t6B!K;7W5wXW59}qq}@I;I}eVzQqF{G1ZU?)<(8PvRhFViA=V`315^x z7JQRMt5MCi>5RflCeI;rstN6)&>4K_nMQy>QB-ZqZQ8Oo1D~Zmew%%CKO%dvUu3qB zY7*YGWS?#)=GdD%V;*Lfuw_y2J*px-@$nf6j5xgKjtN!sn0EdC18{D9Zrc2!wF!R^ zq&N!D6Z`|ED~47*8!fxbnQ(EY6bbF;RI+vkz5$1NhhptW8-iq`0!y&bEyCk*-cu() zDyU6OD@Rxr3)9`H*Dv0-u1Z96G8qn@SU~JY?bTP494?;AGe1o2OD&7J7gBGlPz( zgONr4!#@fiYHELnuSrVL@v)bv6sQv+ypCO5YYR82EzdNI_FIv_d(s7QR^?~}w75$E zd%CA28g%?^rwWb!)baQv&e3u|3P`>z-N!VW z826;jthM?I3EVtSz1&liTH99zz5++X{0rc(PoRKmaV2NFzy%A1JJTDR860W?h(g|s z>e_t@ZN`ah#@qxcDh7lQdJ*G^;Gz?gZzaTx^;g@DT$CkLAA9K-<;yH_Rp&yIdSN$U zg*<#LRHGyY&)!gI0iV%?%H)OjBgbs%1Eorjs|TT6y5sp~a?H*@;GWfcd)R0YQE>D5 ziJPa&{002kCp!bsGgZ+{`a}=mpIaqLJuakg#Q4 zpK3ggcE2$H0Pgv*CT}~`C>xb`rERM}#wGa?(I-(TWCf`uXEg$AkJ;siM_S1oQ_BN& zkPUQ>Bb^uK*8c!`+^wA@vo2)v+DmDv)SxuxtVFwvX(TZEQ2Rk4u*-=_LQ;{XDG4Hg z0gwYBi>wxgF;?N+sscJFFO@h0k9kG{REaY<_jE+_MX!AE^R2?Tu$Ryf>rMqBZ9c=P z6mgf3q$?vzfJRsAAEP@zU2Uzh-DB1xcDUXRB#rc@raWTP^IA8i-m33iCwgvdWcr01 z*J9U<=;87_7QFd)v~8osnA!F2AO8R+1R+}-nZ_0i zrscHT*Y7j{qd;80r=?D^u=@=qq6ngwQlUy@X|ejZ>t{;z)w2sX7!Ay#u`|tOU5zz; zUr0Q7oD^@S9++?2?b&3uayBL(8PMTQI&#d9c4{$`-HzbnJ}2Rwvoh+Nq-a(K?YotR zJcrix(mYmbJ|Q}klG5B*T2e>7k<4TB)w+6kcYW(|x}Bs=EamleL8FU_B!3ndk=(w% zS@jz%Hp^&Zrpa--4sRtQ+%=hNR+?IQ-rO7PYBS>x8FkO&TGzDj+D)FWw zx`*`hWqWS+KAMQmi2G-$mlpB@+Rzo!CfwZpsC?Wzd^~B&ZAW_kw!GUG;DV$vce7ly zX+)T=pLw?udXKuHkpyGFm-~NHdSAYNZp@I%;?s*B-YszAJ|lwM3-<1#u^^2@h#9p0 z^G^ftTyA{FJ1*|0<I{a#!9( zM^CI?fcml19eua?)~+nMU>;;7_?mf+E@g5&GB~d#_18`A8!Wyr94G00GweK_%zKus zCtoMtWv+F>^8A+o1#}4j4uAyYG3pCjDB)(73I&+WJEV17YF0+yBnq7TD}_>PWmbLD z+D{L5p|JPg8ttLGyR*7WjIH0exfVkc*@LUjYFsOAtw<~~(_u+cWGyOikO)u)n7A?a zP+2xc4N{!z@u2%t5+rnl90J*QWu3w8&hV~m?tb7TF+F@qZnv{~;(f6l77HcLYfkB6 ze5m%%DKd-Uzt1cC#88S>xvV`6Yr5}|NhCnm#VfhBqJf}f-A*F9X@ES|kzv;NHk(|G zY=j01F{2L?kJNvANCuUzByw9D=T7~1P2z3BTUX~|wn1t0cu zns@`pmkidh-mcs?jj{H3Gri7W1+_m=ZwGTDhsA6|cXsXEZx42pxw|dlsFCh{-FIUC z-o5w#0L}ZdVS{1gjk|xiHs0Uak}ikL@~%@$o@4ExEx?^hDG4o-$91`V^J5)CPc2M*#mi* zWK6$s)o$uEJBT1wjv0#ZIUZ`3c7wZk!;U+G;f_V-&7__C#+y$47kBP`lOQCqb4)dP zvE#@KAQn{WQd|VkjE-2?Y%b!C^^TFcnhqgQzb@l$Lrn=?X7`!%(S_a@5GRTE{{SAw zV~x_LWJTC-GQ@~&{3S$Z73Ap}kerZGXa-#?jW%1G0TbNlK&~dfF5K02HcPBEt|x~s z#mY}|oQjT7<#~IZ4JDK!9D6)Q+D?=;5;a?8q>lulIV22#$DI0GZTzjNZ#NfvNvT@L zRqlVAy4T5}zQ8Dk_-lz@=DqJ9V?y7%Z;m8C9!1yrmz5>lVcP;?q$y3L+F;ydIO>6_ zP}?S;6O}P=u(5T+^t6CzbNMQr#Nsy8fq8w6 z!8ON22x8jY_;Dn@;abv=k0dIjWu6te+9!%Y!YWQwuiS|Z%r-m2|F((Dik0b3H zp2gjlovV3*^|nR1-Em{hahIH2HP7xR8f^`C^};6wcoPl0V@qb9}%7h z9Qmrw>tQ9W!HwdC9?Xtdj4>RLz@P$^NbskxJUUGZ{7LteGu1)%;7~9B(cn#|L7}aG z>En)Emj?kIYJ3g=fVpB=sP4jqlU5{Np2<-CWn zduM-cl_?D~AbEqlb)%t;hhQCAgAL zsl@k^l(teSKnJ7@D3AaQlBBQc11uCZ3Q*gb_36-HrHiVUw&#t1(S*>YTI!!)ryRLr zB!ZfHam$wD`!}53=Y%YAL93P-ldVspy$N^DPu3NNlKn~S2g0@ovKia$36QSQkuDX< zmmp4#?Fey~n=Lq#Uq~kmZUNw*LwEBl`Qf!&@1)Zb>w#S@|5p?xm&^gD&fhgmB&1PDe@4xDiQwxMQktVjpoj?wG;BJ+(S5oc?Q&+p+{$$!5B|lxR}DVKgV}#gVwG)ALeqZ(ADC zxZ-Y`?d33@LL{?lhZ^kTh$lh|t10rqu4H1F)?1_Ek&J1k1eJH`I|jZty}+DlfC}vG zjlZ*OX+qoEyKw~+A;rqLsb4~MY5OsrO}NPH$tu=tK*_GBa7MDX3KrjyZD|NJ(h+8I z8WHH~`bx0R&m2&)&Ah$!`w(=NFLIVv>={n9b2XI!{{Ynk9r=z$J@O(05Z`e_vn+dZ zLcqN3=U1!mEydf4kJ1z{;w!s>^pc4rR`mQIBwM#O2N%oG8{5*-@uAlueYQIz+xfM@ zpM7=4zVGl%UMZ4H z0p{VF7g!EX_XJrU=);W$QMNYf{0qWcs#pI2c`Fz%oO!1I0NW$}FLGnK+1P!xN|6!_ zW|9da9E({WQkW+T$0LbA_*)pL4nDla7CQ^& z6)siVt?00j8}m?Y&zY|>6rl@kK#teoQtiy^{{ZHe1}9_bxB$h(sP}KPoUrzxSv;A$ zUnI7)LG{Ckw#fegRl|pE*lma5s!RLD(fmp!+_r|dEXVFsT~jw%C(MyC4J>)8r&XuK zpA*;9iv^tK28Iu$a8S2a##a{;;!(8Czje2`bTFw+j*mx5l#}#QqZ2V+M(#8!DqBal zf=@~4{{R*PsUDKr$L$z!9@E7)Eg@w??lyB_z&&VI2T(zz@=kHtyH5o%AUL#-#^BJO ztwdo5+(z8WQLsGlD305;o%0%U;65T!hz-U7Eu@lYD?{&f#C68uh8ZW&S<~vxbyeBE z-HXQ?0u9!E5qiDGjT|c=S%n>>wuB0F)KgQBnVzg}F5EAR8}u}vX(tuxevP&k*1^X& z0q#;K4Mo}ebLPR>w9lm_LxqcK#;$)Q~ z&RUGBQEC@f6HM~)$CW=s4~jofY`oWLj;^WXG?i-WsH7b&cc4|(6dkn-j2;#Fn|E!% zinr~%zT|gw*zD;x&nQUCxf9K3P*;plH)_ZV&1-Auc;00Cd9 z06%zt<_qJuSo$ZoTuSF@bQ2Our_xXIoV|zGwq3{HJzdo`P_0+}jLp(~wKoPI!8axA zgRi=vgdr_751O?TK$MD;(;EGsuUjmX^I&{^!lU4_8}C3b!;h6CU+t&OSRO<9yT{pF zL$-M*cH1XeuG_x#bJ{y|jnM(tFHc9au!TywJk)}K%x^u>9kQcUtSo^6T^wXaLSqcma;eB%y)lxtH_*R!ccbFc5cPK zZWvch*((0>W~xjGNpbhX(VL@6Z7l^YC{lH2~7>D!LMGh>59aRT}}hf{+~ zS{&SqYC)l{ARY_Qo`d=z%PsOE`L#Ym8&=e5X>cwe<_!TA6vCs5+FtMZtM1+z+Oc?B zgKwu}aW>qJ)tc3|Ev2N@n8+wfom**aEyWcTEp)1hsi~ClnVOsL-i-pyB+S)%zRJ{%c>IhOz2srr* z>L;a}{{W}k+jl*xM@Crcwaxf~ID?UCz^_y7JFSmVTDgyC*5Tr5$=~Dq3|A)q05(sP zhber#_e9P{*b0}){ig0IG~0ZDga>DB_a0F#z`UiQM3K?CAOty=-B-Jhr{AU@)t=qg zR^ry`kZx=qCUBCOx-xz(&Ap=)<}Xn_FP~_6njl?o@nPievDqFpI4v%*AQ}pc^ZP50 zU^pzAsd8Kfr!7W+tH%lHLax7M{IJI!?oH)lb>S85=MpktN+yMF!&1~*_0=jW1J#QM zOwQQuNhXEOp!d}wc1e#<3e{by`=<506fHKkBwlY96^Pc`J(Z`W%#!N*A*N%6t!h4m zgNt1AInJO_%xI#GrR^QSc+-}74%N74Y_3$`Y4&^aHkIz%G6SWDBlKC(}oO%f0V0#l1U#@)BN!aHKnTEW8%NW`Cc zOklg6lNlO(NAFsc?#sHl{JCP@JAUbKGp&1_w_Cd{+LWonLeT29by`-0t5MG`xbb&M zbUQZtu=a`;IMceP4(edNHP!uc{leI>#-Z&M@1}nB8hoz1M6ma3-**u9_sm;v`rjP7 zCT@ONwpj}8HyE~fP(CFk$7HvvJ8r2>jaqdOp{K2Jw@1@kj^zIU%UU=`D~PL{DjM3= z&I5@9=?4nZxGZWN!qN{M^(_F<4lbqu@)ggGGF@wT=kk~NJoca3&8q!&yKnv?L$BQI z);-;{COx`mTW)T$CC5bcOh9ecoggK!;6g$|l9Cmf#rgN zS_MU0OmVIPyukrzy#;r)?)H+2VUFFU=95NLZs^N>5c=L8~cPnoF zm%HuP2vhBkH!jxh#lmR4H8ZN=Q!+U1QqAehb9VVbS zVBucFf~W8MWVTnbLm(i7QK(RsoLXtxFCC$#&551?e7hnlvp$At?K#sFA7kgjPBn`5b)Ud?T};Zz8FiypmuC z(sNgLv~K%`%(-k!#fOcdSoXga+^@T;Mbne6R@>b8`=;+|R2aX?@s|~u5h)lGCE%qk zT?(jida>Oa$phQ~XyR#sIAD8J8HLUTt*Ix6VyK1U zxVQ`$k>tG7?xBq|IttkYB-WKV(=23Os_c+n5j)8))($)k2*Z-UbSC{hvz*3Y3kbu! z6{k*1yIe09M9jH3r{tu0Xm!$5uP(VKKLOx8FqBUE{>?d)KYYQdgaKl<=fcgyUP)0C&`xE zGaUtJ^lBdP9>atUyH5nGXK>=8=~5zIB)Ik6PCYI{i;KA}YE!FHj%CFvrC!s8nhQn< zgo3??0hxDQ#w>KV~^{T!r-eFh@6vV7Kftl z7;O`o3qfJR2dJc14Cff9R?nqEyzcJj6P$Mn6e~i4aE%j^^ywRYKOz$C)8n;th_kJ6 zZcQQfiieJeK^67W1oFZWFExr?zF3xZXEK z?$@;JEvjwa{{SvMg3k%MlJvQcA~Prh`pZ}tQvfQHrB=kgbzF~O;m!i>59Q~uE&*1) zJGL{(oRX;Kf>fxfR9NeBoqYL@Ns*tRV!yXWWR=pMDnoOZOl^#CT)*ylnh@!(S*Pe3 z;>!@JRpeR6T&cSDcGYIfV!lSVM1A+}ZZ#s@+=c6SgpyXUYm!AVRNl60dy9hif=Cq2 zTDHB)cpwdCS)!NuXLj5wW^Xn^mDMreG|~F>VT*cx(0&Bz`_0+>MKry;?=ndzauwSi>V{RFdNHqlxFR%L8MbSp=+7GcR&oE?uD9YQ)T#aj@Sl<#< z(8!`oExalJ0JH}TX4$OYoMAhT^69@zkG)7X{^0kNRHZXh0{92s{X*Rxy8SJR;yO;1 zvvxp_YJVR4e9@XJjofrHl#7oTTBWP;y2Pmrll{<|Vm?lgkMO+vQ^>la=zVqeBv+17 z;;qiYo4fI$gzB;{+a(1N{<4#fgJZme)sh46P9@$grXSP~_XPsq;B4odQ@eSY>>!+& zmZqpakh6yul-C^)QiMK2LIFS;l>UM&@d^71ed|G{( z{_GUIA)y?X;9o+CGNm@5{7Ff`>Ik~sW+fC)EQ3Q6jfw2FPCFf3eKre%5^xu zJ$cm0Y*N460|YL`2n98*Z91|N>~z!apfu<0AmGHKd(+L1D%`x;+pJ}!Qlsk96b(Go zla)OfX?q|Ly!IcGS|%MsJl6f~yqcJMV%%YpP~0XZ<~LdO+SOpDL>i7KU_r=KAP_noEt8x zcLz2$`|0sRVCPBHcCqGIG4ImnADZaH=OGGS>g*f11Y4Q&uVD8K}-`+M8dw_pn4UvaAbfA_20Tbyv4oJ37zfT8E4D2mge zrA9vFZ0@9kk~Q*09}=HZMM@QGE@o^9TWr=6_98LgFRpUQEx+f zg2L7Z$)vT?nMRtl=NlW14>z2R02!}BbWfwO+grNkS2dU&Iu4^>-Yy)ua#VwM_9@(< zi6;1XTX^ovbf+9Pz3H~>S7|nht)r^iaZIIDB7{_Zc-*#sR5p2H1Wd@!7Px@n*~t48 zJiQCK%t>r7le9FS@%Sn;yZD=zt+x5|qj7fae#p$XHuQ_5n{xCbH*jG(+>TuMZ7FpC z)kr3wbr{ih-OAebR&!s>F5=S}%T6V0{c($4%Lzv(iXll|Zc^c*IRsKc3bXS!Y zWCI#gX-eFT`-^4J7Aln#J3;~KGNHw=g4`50lqvoT5@Nq!b|U`(xbtWBgMik9%5OD3 z@OM9N&JEpmy~AvqHY{6viFi+KYFm*)O=?0YRM+tiqo~Cbt-1=+dbWITXfAgS2mDmt z%f8KFD0>~3!FLDp`R{*aceTTJzB1*jR1MDxTrsw{C8qR-rNX#Hn8_MkL!hN?xSt$+ zZ1vC4`_7NunRjI8FoUV2R2Gna1TSNBUsJ)p+Lp)xcoZPw96MJse>cCAMfl^^-mT=7ffVMZA9JKg6m_L;?KRkyfQr3Kg`Ms=z8?WyC}T+u2%~0P6*f> zO?KZ`J(;*J{l)E##}0nV-HF+ zZL64d4J5dl=c=NV!ixRVxBF$Ki>G{Vb<V^`^2=35LTad-lNoX6g%8@8K=mo=fa zHK0=F>gIlA=ROeHLxrZ6i7X{eYWL_xF@<#}UUeSF1DZDRJDMv%{WZst2DnuCTyn@Q zS7qq!lW~wa*RG9+51=^ZkTn2TFAxaxx*p2ocELB2F58!WZQgOQZHNeWY3@!n@@2qA zHaF= z>Tg5cZB~)V1KT7npe_STnNfgqNi?rNg1R3kzUR3j_jcyX*C1{;ZYtPB>r8){@2@k7_br{m7w5C|$LMU>*x;@;W!k0kLwd;8ih-*<0q+h*$FzH#Ael63du&R+0#Gc-6#;>J${sX|H(p=Q7#4uGZO8XKn~7Ez7d* zD=HzSnb0I4Jj2Ol(iDQEC~86IYB4Qg)y#Y?aAuRl6OkAZUOnoWy7arDxN}_~JdHC4 zBiY&zll{N4KJ2T@Bz@xbv4;R3`!$R_Z&iN}#YVee92^rf{1qEmZN0%MD;W=ovO0dU z+ouaNsoH-J#U%ZVjGR5||I^{mnD|=f#*;+YZkwjmn5{7G6#U5RKk%Oeq4X=E_TsVA zol70_be{}^G0(IsF8=`2l3ATV)rTX?u&6BLPAuxQl(itBfO-!Rj$E7&=uii!I0`OV z0*6v?E0?T}0ENrY1H{uEN-kND>uB}q>U!W;CDy1Cw*>Z~u)l?fR+LP*ttwMYBgIER zB+zsNt{Poj2$)?;o?O$5SUksoO$Rr4iuy2wqNvO?D{rk@)Y1Z!prqtN z!2}RRLHe-Jr=?_yLRaL3DHSKJiMIE~#da*4lFliMhUGCLr& zTilmCZrw^e5j)Rza}bcHpHt_cH479%7p={{s`=Zqt>lT>Tu@T0Kr8Ob1{2~ zJXJ2-Dt6;OC9*mE*^VYUE8tc@B>M(U`@@foCR~Wg8EE)w0reAr#VFXCI3xy5PyYahmrp~@I6ra6P^Bn8 zb$5&w8bTj5e){sYz6Zazma2aVclTEuKwMnnFmm|S!4b$R z+X^S8R;N$cq~O#*SmXGY*Eb4X_Y~Bai19>F+J9)S2TDuHry`O3Rj8k7;EXc5Ru>?jDLDg0Iv2YIFaouBhSCb zq3V=Ip+89j07*ep$v?wQl03MsMR|!XGU678ih>jfP&EK};jQCbVsPwALS3j-t-tp3 z4mRoAyKUKEIMWU?-NRQ;A%zE*Usi+>j~(^Y&bFRF+{iTVI1h^1`gMX>+E2H+TmJx+ zUfGqod#L8F_VEv>YT<7MnAkK|_F?tn8PY}cwHM5+|8;&2ZGjH~r6xi;UXtonWr z6tZZ1gOeMG2er<`b~e0~ztXESF6%z!FVNbxy{g|{wew!X8%N z_q1I$ldE!oA-T|;ij|T5RV*v$$B?!@n3rh1x4MXU;(J~H00{+cm;0M9E#!sYOWH@g zQE;8g{9nF!YkAJ&UPQ6EVBEHKA*UFAif&A0SIUze)YUGs>Qhv$CY~7(Mn2GV&r#X# zwvD^Bczka6gTxWQjv%iJZrfeOl;$a0M-Pu^<_`jytq}B0jEaBW0cwZYQHNJ^Rfn-5 zZyg*vRl)6hhu`JCVA)$CZK*c9l(8!R03`s?n`A_pQrskTqfM(kWj>>IP}?@SZUOOu zM)tVi(eEnf(;GRwykuMn$GBpC3vb(^e<{zu@&?-N!Is=t!h6{AJj_!G0EhHB9 z>~PgVjcHE}c+)-@sn3=^X`HKhfp6LoH%qa0m4-WZyLGuM8nm?7Y^lX{QkABvJ|_?M zuS{ao;uSgeD;?)r!vxNJEDdwBJWqL4SD!o0<&Evfuo1TTlX7j=HZ*~_E_)ws-X}x1 zUf?C+y4M+kgWFP?;cv)Hc2~UeQzD`!+*^dMhPF=+e(6>;xK9#vf8iB;q&q*N;27OzNi4mGH{e;2`GHpK!IE$)NXt**bj z1FSA1wQgtRf4MGpe&+`r!9FU=d$ZSODgP#Hg*bD%?L2U+kLb*Ec% zQe16GQAr8}5!W9#dRL{SqaNT`T}J{iAm#`oB0dY#o6hjkT+l%S1IYKTZnv+=w}rXW zxVzTnIUi5 zdwjcf%#AyY467XafingbBz`9TDhx#(&3Mn$o|UoN?-_E?;b|eGgJ??+U_1{B_b1+9 z`D^yK#vBRAJZHq5;kS2&=)0wRpZV8)TcpXnrhF*BlNJ=1k21?Ftx2U+(v4J2d@-T_ z0NMR^-PSqoVvW(a3P&qLXig-x!%-u=WSz^p^jX@Zg5GDgM`KwcCE9?%2Q<(RVa;=Y z#*_9vzmj%`{MUsle!#cf*mHZ@Z0?36%7(+bosNfSuP@Bgpst31k}<7XGBGoJ&!)Jn zP4&})-n1W@*DhFiTaY_*;J93U!`-s-6!}}Da&WfKv9WV%Q_@fyDUor!y7Z?%EeULN zpa3KcT%Wqc9j&3P!kBVAF;VP^`C?Y`c9b47*?%uhui9nz&sNx#X@@HM^hp3s7dc1u zhvc^Np=7Nx9imFBRHZ33rYe5EiD2l*`4ldR(YRL;T|%|@trO99!zWS3$*ZD9y{4ES zq|%<%p?*lV@s|*7en#0lUVPi^K16d?=9{>lOOC(gHd$pUN-|HD6i6dF=jg|h_KELz z3F4YS8e{rE;at}3yTNC-!89?rxJ&gD$C9UAuk)Vg;jPtv+naf9Hg|iB+ntPuQnfoZ zg(xxtR-u}Lh^Jif>Hd)FM%cODVWe*YrsO+1!I9$rs$0YzHfm~~a zb4m1`)q5rI@*{Je%9B7%IAct)!3B3~-p@IAF}CfzX~ozmuQP* ziY?ILl8`DHVF_%NRYsL34El?!t*)$D9Byf56zl^pf-RoWaSh9if{qofd6h)tZB6AZ zW8v&ql>?GX@f`!}SjKYw%H5f~d)1aJ37_<`t9G9x&9QUYUB&O-QQeW1ANeb6i*DWh zMV8REW;!;xYQ(AUB_aB!X;icxKRm7+tNKrVbM@AZfMP)6G*c0(ly~kn&>UQ4gj=ayq z$ONP4P^lP|hjk+d1kPQxr|BpbeV*lQR+(`W+Il6>H6Z&GGQ^};43p_9E?6AHh)uw$ zIgGHfNoGuij=B12j-ut1O7tYx)s9@VvL;Jbn9)}9y(t9K+k!quv|>@&8=a6vHr=Hn zPKPdY+lbX_V!>!Fp^H7=v5~Lkt?$^JxN$7FQl9WC&u1D<0E=~-3~SslnR=aQ6@6`b!1)^_@v+m+MZk5 z7xbUK% zGEbPgtyv{yWajwfHF-#1-iLTugF@1_;kky}TEem!4{b3u8*74zCaOBy%J|FM_XpWb znDCHLguSRFy5Of&kZKeAaE9j~Y+<91$w}?7>UC>MBkwu^H8#YL4NW}ae{FFEQm1q{ zf=0NGw_Lr)l7HStI;+2^7ELxaWm!y-0EGs z-E#m64Nl||xX|p1P%7MxGLzFw4uyWxj;bSx!Gnr*i?(LG1uSeS2gTu{pHi!U zbhJsG9Lielj>Qo)xV0KPfd2r870D`B`#23`q5@7>rnf(q+aNO3ys`>rN{~LK*Bok> zYaiIYq3b#6D&ohWhuc@!MhZ$dlf>Hd8QPy47CD0$+5MEarEZRuK$h*rk|%ktC* z{bb=ybmEowuOiO8f~=7q9SCkhhwOJ9ueEV^X;~9tPr9?U)u}%6RT5L3L9Krl3g_1f zt`7bsvfkMD_vm~>%eN^<%9XdR53vQO@>(R$NsfwEnWQM=%-*ByCQaJbF_Yda+%Z~5 zOl|>|b2`6EO*_sC(ssemp^g;Ve1B(}h_Uv&T5gde(KVAHYJF=^9aOa_sYk@)GW8px zE4#~b@lzqd_6z{-0|2ePEz}gTWGyre&%CRDXy4nVi&AH>s>hL465%5u#gmkJS&>lZs6wGmi>yRBh4vY&RolsuoX>eQ-uJZ zO#r4nS=0S2&_{(|+hO50@(RGXdY&f&Q3SRD%f}fvsn*sz?%nxQi4P8;9I8ImZ0YM;{kCIp zS_5cBLB|!b9xv`%X8yh0EU#XaW=bY&kEvBFDl|QD=Z>WG`L9Fo`&l9x0go92* zQ2Z1}Tg2yEIyVhXc3taQ5w;IE$Vf=!00H-WyPffA6h5CjSKE(Y4^oK#0QrJ`D<*eE z$;Jcwdr-?AoNp;Es#`2=tCP;CytFTKTT0ZW8j?fLC$FyzPhLRdjECHW^t_|~kw$ht z(fMK7ahp3*%N8R}HsaR~wH<*Qq&&WRoHbeT!~9$Is*R zhnRyrEe$v2w%aPLG^0fT9?W_h)eSd$4D1+(G#`j6mC&~?w%y@>5KqX3r(RUv*Gt@| z-+RnRLWxLNHS1dA&zmmV$b}Z2y>3sH#FemqC*53^y!e;5dkx|f6ZRI|+gGu$W9|K+ zWoBKzTbEb;Z77yUDEQ#OGs{^opY~kMr+&FdGsNT>p6`5-Erzq(3g%2 z{mq9arq0?P(~AN2kGV)3UCFXIfm@n%`@8p+Z_P6lx~AMgX>BN|5>zRjalCp9)KEoz zJT5eJjRbb-IIP>$t(srUM<|YsX*I+g^2t^{;(5;HyCb}9;l(nw5VfscKYk~@QnF>n z=?tea86Wc!nDjpA_;&eX9A97gXsGuSwRXDmM%nUNWgqDr|%?CvI6IwBZ$y)9vZc{{U9H{g}$zD|xHE z#ms{(e&hEk8IA|p>W-;*4dY{uK-P(^24nE`1%QtN0? zKHRVxLLr5#!MV8LqxR@hE8^@{v#+pWK=%xZMK;Y|5dEMUyS3phUX-Cp>*@y`=E?iT z7xJwMVrA{%D6O{JU;h9Ms(#RLQs*4WTq370a#GyAxP8+KO9|_xwV^}mrV}kF^nV4K zn_*`u64~{Zl7C^x5<=mvD{23rgBp}m;QdGi# z=?WJD3F=>ISOW5w4|P73@ARn0G+i1Vf}rAmb~rh3l9{!8MX}+VR|GlhOUfT%BLG}S z1XD9Vbv#42U6evmc?^%@GJ1U#!ftXQm7I~p8&aDSIZ_(3KR-|6dO8xHq@)}OX-5qwiWz$HgZFmKW|BM{Lh631U}%>NKfI7C>bDA~7t-OOs+cE=Qm_giz<3G5> z`L7tYzz=PHTclaFK09bONm|rRAkWk>Wx=+nMR(1$F^E#-1vr?{(wAjCgcT*EsX?%#^pFN5t?yV! z=5kTf**G+wN_nx%?HA!={9WsFS|&8w8*}v-s+8K6lz^pCr?RO8&~(L8>Mie4((p%R z0(%Gc@&>4dd&-qI)z7!pI+ShBONh(B(GBh^B|LJ?^f`zNsJDjwbv?)KQnu0UuliUk z-lscT_6e;w6^=&RE(7;GyCfl(g-c07jw`d9k&A=9wNnsSMo)#6?sy354#id442Uf6 zEsr6oXj?BEt)@#(QN)yzmFGi4ksUD}>yi(0e(Mq%LzyKHZB;b1@z&wuj%$ww+j33m zR;diLK5cjmYFF0Hx(zb;C3Cs$fy)Z0e?03GeSW{ut#4|1SfFvTHklF{9v zG|BDx6bhBX`_|UqK&Xj@B!9b}CBHa%gx%BA{-Y`FPL{6HSlm=xeV@CnPN-3Y-tExH zU422s&|t>;oI+zR>7?*I#Vp+2neSU1D`o0k<=ZaPfajUJFIUTJj;_-Iu~kVeMq10s zMLpz<{Bf&UdcJ?M$z?2M@`llb5H)2+n&d|V#Ad11{U;Rr#B(*`HWyXZ1kK!vW}y2v0mvMYJ(Sl$8np-8~uEzJ~n$!oy8-r{6v^nqurW-e_ z7dC^+b(j$mM>VC*F2ev_pK0c)f68ZorT6R2SEn~;HB8$4BgV;k_qrk5uYUu3gCoyW zduxf9q!%KfX?V zTd{yg1UctZU#Pj+pWzk5J}Xn|=dI%jrHS`VvvCQ@%~9=dnvA+Iq4r}W8&$#o0Hl4& z?r*m5{%Ic6X~kQ|a&xxfyKFtTVA)<|OI+R2xh|WzZP{&6ZLra)*B_R*D3vIXmeQK3 zN+1D-TaCoKR*Q!*&2VrH(g}916a(YJiRRs6&CI?CrPSJ0z>z@SX1o+9$oqGSc++G} zZtJz|{KdYv!q~m-dHWZ6IVr8Z5%|Sl1pIgjR<{zNsZK29NJT0M#ohf)yKh%amRFb= z8+4FkrlVh|6P0-m^&U1Yt7o)yVXdA?4M7rpB9zlXohe%O(KYb(gJ$hZJSUgM*L#lm zzal4?$85qs71uOFbF>9pa)+Iv)elrq{h$s53N&x!6^ z7O-}{o9&)0%3>y1S^Q}{>&7S$q$|v;bgl7Q4t9r z#uSQv+#6Uy=K`AVn=I&}imq@vaHwmDEC)8`|AUfK?OL zgyD8aK)E|?UB2bj_1|SlW-|;D)xD{U0ZU(s!g|p@2NAoiz@~x6H7B<)HQJmirY3go zs;yT9sCbB~B>w=th#DzpT?6=1jSfOT<*ip4icjKlfd}d*9FZ>7#01+iZsJ(?ZALOP z%(7Iktc(p2n-Bv(ie&iPpivI0r1eYD&?)t#U{S+bz5IKifb&u4tcsSxDgMTI0ui*1 zYdYmdYK2hY$x5^Ql{kZ+t5CvW$FwE9qCXP&+t%3%{{ZkgReA`IJ6}ga6@w6YqBuBy zB=Z*29!(2&sjLs;QE2}Fz7v8HQf6W}gygFgv80tqp6p{!xau1x{eo~>_911_J*g6{ z*3}v}chl>3JA?LD93D9*6@Ml1HdaY}0hQ;rj`@kMZO&7^x4G}~?sAIfzK9wn!eKcfl<1l`g!X1#yotr{WM5TD{hg#N>V zmkvk+qvpRVZSew%ks)3*0>8Ti2}(uSu#2U@{q$=i!R8Q8+At&`WNa%axlCGgxom0F ztHi~jKT1XuGzT=V<@-uo7T-Ep3P#v+N>%q)Ulq zG_1)ogJcg+zpM6RgNHPcx^Uv3ZT3DRjMX<)#`y+kgElo=WTYScrjv$}{%XDrH0`Q$ z6~H-zUt$`%K-mg#r*6o*t&nnh?;bsL*RT0~SXwtc4;gKHDwZyjgHjmoTcD^u)y-kn zg$q+76r!HB0tgr+)}m3QpnQ^Pp=#*YMGm*YeY~(=s-R8BwjI3S!*ph6f|fc$cqwZhf}?Up6!4xx}^9 z@Q`u9t!d(dP-B%^4(Ia_TzEVsQzp`R(NxFG!<)Iy~%AT{$gKBs(pny;yUMT zj!wdrZ0sCVsj>H!;WxaCoCCMDx{nbNIhcJQpJ-ALv>&K}>_2)vvtBqt3!&T0E0lz{S6x+w zhtR4IdnLUk6cog4&AoV_pzk34iR4BG8k!#9;r6ZXb{q1R<$mzt+jq62ZEh~zxPs!_ zb8TFe&9}#4yK`a6DGRmPBNt@JK?hP?aJ11K7IEYsS$|c1JJN1-yWHE$rkWVyXd$F< ze4k5C3Jp%?0=8Rh+mo6f9C9(IjZR(PD$=W{9w7N8_MOMPdvDu&ivIvJm-m!M9Fq4W z?vV~G*8`N&!difoAuP5>xD-^OT-0&%Pp-dL{Y$%UE}kgcZ3zGfnNrbCB)byh#Nasq zt-C(rEgPnIJi}k9)z$A5_A4o9?4xAt?XK2PSiD|3kEnlA#QdZhS z;Ct;A8YqoEBObr~IQstpWo5WF-*S+)(p(&WaoipJyd6xl;FRi}lwVpItN?V)$4R9~ z<=@NPxwW+IznKg3U4V_e?$?(A(;7@$tdy|)cMxb&ww-(_Bp*n})8;>?9}{GbUoox~ z1*V{m!o2AH-v0p1ERl_28G_mo>?rz9!ugfkl4Uo@lVM480)I+hoU>f$3KZpVgLe&( z8hIr9QQd7UnEA{Hx{0%TZ@%d^j{tAYv&!!8ebLDK)?0ga*}QI76Ax`!tgi$%v??Kw z`Om(xLYC^lN@x-)Ny64}S=?W-@n~c$6)n?Oxx==(4nsaE#6mlJM}t?~KLFtBHLX3I zN$1NYS+9Hv%GRx=w(mQ$aqYIIZz)TS6O7!rv^O-D(3K@pQ*LdAEvA$aRE3a8%_-BK zCn4&)StNT|8~g(o7WhYHYl-enX6YG(ES2)J#ef?8N13PIm~A{Iv?i@gUAEl#Gf;e| zk)iaUs2s&xY+$!NQFP2%q>k_LNkh{1j=|4xJ?hVJ^sVRHjkkTT+zKk)qyu7%>^FVt(Eu zZi%wL_N<`ifvX1(noX^Zxd)GW|JUL5KM>s%gt(7hY5mx#xPq+|YFgF8atJ~sJQREa ziLMA*QAuijVD1M{6kJjf{8CifK^=T>R6_O+3o_nylm2Gu4^aFiK4JR?I0T!V4+M>O zn|paJhGzOy+hwtXd1Y{9i7M|FbrKDsNv}^O%6`#<2+BBYi{YJOU;G(S{*Sv7ZP`V!()pSK1MaxS-WUxkrNG-hmd`T%eP z_TZIW=HZB6mACGQ{{RimULTV0^k8+a)+v(5@Ed|S)Q4munT;zd10AWTH8DrquWe6% z&by_hu1;>wPJ#-@ip4xfjwP%wK%)<_Fuk_~YHEzJGNRY)a^?FRxqSqKP-t<>lBT4T zY@#WW$Bq8Q@JPtZ-!(A+DIzi9DN;zTGzW)GWZGoN7?@n$ut;&3@ z*v{+`C6}|duINaAoHq52LjM5zz1fR^r?p6Ej2-=JX}}Vij-0<4vWWKA^84HqUr2@A zUc_i0xay}#X@}wGv4G09g)Fm~9VJZw<;~d+4NJ z2Tr_W8-6M{XSNO`iy=#EjxJ8=HS*s#A_uC0IClQ5-swXpz$9YX`eomQdr3uBjyU68 zs_GquvYUkSe{~lq4>$q#zKro5KTz(k`ksC2S{|M0=bABt-lR7!mU$3W0!@?MsU zX;4^gH1?q&;gdHzrn^;5d()@%cGBTNP@$XG6YQI_t5Xf!En)LjH)Xm=j>)h7kKRbd zlGCm)V-%n?<^qPB(>=B42^>AE&69#Sw%Yf^Tz0eDo}YP}&Bj8(_LS2L&)4^o3Vl7n zbY7L)Fx9WGekw$X$6N-4t+_lK2)9a=Ms;dX_7#JOd3uiR$Nbk1YLfo|v7FzhLGNn7 z=M?Y@$#JN=UhlU5onv_8W_*Y5?HO$9cmZ?|SL_*S77Ji(D&Rngn}IuH4ITEtacO zO|cp?4J08Aw9`Q;LK2VwNo(?nYPi^6B&fn%f=8avAK@(f)X3MaKGFW1zg7(D ziytF#k4^Mr#9M=8AG`+x%nUe%kM)P8rqfK(ya->x)xh$vE?(uVIlYzl6KqgQ?aic- zRFpjU%l%W2PP4D<5AS=G0sSWa4`KGF{yE`Z;drNi?S1ggnjHC?R!{0so4hue@!EUK zQV{WvDYZ7@nkv?mtPxNuFw=JGy}It%@VK}K3L0VTsLH%k?Vn(|w7X=@&|Je&Q&C=Y z$kQ-^_x8xR(7-jgN!b1|R?T|&!hSdSUD+d(BYAs`P{BrH0MZ?uWF z;FgArjZehlQ(f1mZtm_KIcP3%;X&=7z%9jmwIXn4-{6h({{YN~l>{CbcJ()JY>qUW zW{bGD9CjUqkBwcOQbOK}nGR{7V59{NWP)?M^zWscPVz?RWphBnk+`$WEjhf5z{@Vo zlx6<_USDl?$8U6PlC>bnHRui$IxCfP&jX5~z3Rj49_4WtZpwBx`{S!6snEsEu49o3 z?$ypO+z&R>6?!|M=0RG49*kZ(ucxfxwezjoTIS{n!1oi4RR?9il39drI2?!{VxkON z_N=OZ`A=+);1yaXMwJ};Jvhmxy`7)*TziNr>Ne&arU3SZByD~!8>Fzx}M@65Vv+1;-)P6bWMS|YU}?1j{DAD$lIG<#|rGE+xGpw z4T>u(a=KZE84=Jk^d%!7CinjUNrmOavKIKB=R4X>SF0>K$H|GTtwTT_*?N-PKGoEco+!`MIsX7K?H<*cZ=F0gmj=wrwB+C_ z)Ax534(!g-yPW0=jQy`<+q19m1!d1&dFNCjT3UAGRawXiL7 zo z9?sOqdf07$G|PA$3#MfNV;`;V1L}K^(gQ)Sei^7a#Sz5kyMzc%Hq0A6!sfF_B&yI5mHJcWmjZ|Pa=<%LIM$u$ zjMyS~KbpsO?iH)lDA0Eo9@;LbX1b%TFD8bR$da*+4AN=|9@L=eXt|Jkl(pLS{Ouag zzVDos&m3_Q)otTQBXVsWro@-shkCxL!idO_!=Rx}GDnzDa#5v4GRB?hucww>MEj_2 z=6e_;z_8KPaiu}*Ri3Zv3%!MqOAQ}aWZ{JX$kUnz?yu(U&%MAt?#9_}O}A|VOiO;( z+o^ILy=g(x6zWl>E1;%o$YSZR`VY}PHyM@8^GiPzt_Gj(jw-Xb`nlBGyZopCi(d%a zi672tY3%`0ZauMnt#Z8Xo?yPpXK_sliD`|uqq8ZvvFoX2#~f01DM!IQ2aYR#qV?oE zn;8YQTN67d4=MqW3R|Q4Li=u!)5;p@UCfe4Jb9ifR(ox6g33fK{{S(UPxyxMXkL;3 z0LVDJWmH-R=dQ>7Fny~E_D;ln1S6HL$Z&Ygw%ibt^ypPEcD2bj?$WpFg!{t((BlQY z6&3he`1xA(eVJmSrNZ=dRP_2a`h8dgXJ&$~x;(|wolo8KDc8ohJ2FZ`nq&0RpGUXX zg#wXc@H~3@wBS*eL(}?k%a$S6{{V@O3yS;TI{iPp08lSJCc3_l^k7$UUsFouukEkf zjzo4z!av^6&;IXUvk5&UQH8(B)IaZfy6K0E^S7j=TXxRa16( zU#h$1{-5Sl`M=BFf0bJJ`JU~4Ix@wo(z-bNXrpG$3*pj9e#b6fvCEh2a^?FRxq3f$ z$LZ;gT)j1?%tpOBYwvlwwA0t4KdS(8Lfq8#V5jNPbnDYhzeul+!`(=j%Ue zvd8p{k=4ImT7OsQDe(SZ{cJZ}eTapxi_1^y-~FfHzw2NMMEe$Hd|$t-NB;oieg>aT zj3&4ysUBXh&HWSC@g8sg07HW#k7{Rk;A(Y#hgu)|zv>nL0B0S?idDYU)c3*u4}|{! z*!*|>d>A8&q$~2gG*wso2XXbBmfdgkkF_ginw9=1UtNBTAncT@6RR}xj<2KQEB^pj z_v4VcXJ=g(rnLV6(CDxGSSpW^ErsV){{V?iU;SIi^FOBrIi|1nDR*mW^IHD^^WRsy zPvxCj`u-0OW*o(z4{C(Irk}&{S4)kxen-Xs0M0)msnPuDr}XOo0QMiur=q!G#JOQl z+r3q%rB$y!U%@Js(dA|Q#pdhj>-Vee#8B1yQ8P5{_^5hM>pJB8KkL3%y{Gj50MLFP z`=1r>{diU0#Vci}jeb93k1k)TXZktz?0=)z``-_i5%((uT6lS$%KfMgcbDa> z&;Cf&{{Z(7HoyJfD&ZGWzlAP!R8!CRQ3YN90802}d7sKU^QY-Qtn2Cj0HgPCjGA?R zABwlxdHz`c05|^twxibn07vr&nfhIIf5iQEy?i{pse-#rKM%zjzI}h|fA-Rq{-5T* z}0R+J3RAR-pT&}rQz*Y?$KHzzGqMP)cx4Su2e?h$0T_N)nD$?ziuLA zRco}-xV8K{l=z;9?sQ{R)W2Vy=YP!28poIa055+@_)33Q;r;6W z0Bbxc7t{Dth;&mOAM<^PUfu9t2XFpO{a^I&Hde3sLHdXC_n+}g^ECeeK7X3{s{a7q zsrg=Jtsd<#<=$qm>Q=NLUY%Kg1{CGSnX3-v|nZQ%~uCl}}HPryjWUNB;oP5B~s&?(Fz}*{l!L3V(7mr_wU7#=o@? zHw^iI^9I-EeuYmWR-gHk=KhmkB>w=3&>h*uH%bsn^Joxr^CS4W(0PI=Z zd-C9j`B(Wz;@9!t`@DGhx<8%%C;Q*0c>e%r9&p(;=@k6OvrRrLP~0=&?NuW8{E7Oc zU(^2p<^KSm@lm{=uP>JxVxXI+So(7r zRczwb`j3#0{{T9vq<@L}R*s)uJg;@->i+OU@r{Ga)i?`hSC*YI0a z;E&XN#w+~WT))QsEA6H{)z-dVKji-a%(Y#ISMmH7*0}fL{sFyztJ6sT0Pvr|XzAml z9&O%q`G%T(l}c~a)sBkx*H^;@RXgDLFZoxx{xA7A{_5xd0QAq)J`1P(Z-V?kzZ!p{ zy8i&X!%sizALQxR{_S|C*I)j*)uk!_08{DsVzrOj*TMe)$-SfTI)9XYCgV@!50Cys z{{XxypQ!vN{yD2x_`gMc+GF(D=%1PY0B>4(nro%m>GQKcUzdlO&YWpg^XsnZ{laQ$ z%yaVc9RC0he*{6#{{YJ$$XmDJKlfq%JM{JWzs_IH{{R7|qQ4dKzvijw)17Hdc(>Kx zEBmW_zwY(d{{T~6IQ<@G9o#6rRq3yp{jL6I_UdT-Iy*D+@uxaswC85{U()t}^55uR z1MqKY{{Y-`<3Hu)em(yH`=|3~`Hw&U0NN{-y5cx_n&0MmwW$99)M)c^8R){FyV$6^ z-;?GIAC;v)==qvI=f_txVz1^8gMUZ!uAJ-o-}1-8bpHU0=4VU>72)ivff_%D*{MOd zkB$96d`I&Btwz7A{-39>;`nT<>B8(z?X=W=U+&d3&;355&;J0H+Uf6T{Zm)d@c!+6 znBnbKCTi1%o$&iqXL{eSFWym*LGdxbrmrFZZ<3 z4lnfj{{WZxK8H`~f2q^2;rOo)ZWEV|dGY&uRE4g(53AXw3E%!NN_76Ms+oR?@LK8W z)tB$Xn{5^R9^FaA-eo@@vq~I;`o&I<=4~2}{{V#l07BFL-@Qyam&^YE>H9ULq4R71 l08`tc7Y~Z^ljra)0l>cmH{Bt#@YDI&;?Ev%hbDd!Lzg&L++l02(crCJX?9004A;0cX>I z8bAsLlYogyNk~Y@$Vka4>8U6wC@5Jj(_NzHVCB5R!OG6g#V0Dr#RK7GXTJ))2DvUS zB_+ivD64owLP1ngO5%4A5E&U6B?Toj6&14tH#@h)|9PCX0JNk)H;_RH;sFR~L4>rR zvvz=|D<#K0@9s%GMqkT}dIV`^sS6HLPIjm@gYx87dYu-;9aE!HHh)jU})9vNl4%IuJ8m6EZ_(ZOEK$gOj= zEMMeRNl1!z`*!rgcoh7$ZOfYCS*N-B=$lKR5@3Zw( z5Ynj8P07Bg3>MQT)g;_tm_{g-+_AF9aS*fUE<|8>8UM#G`cJZ%WPTd5pNdyT8O@pb zo?4~MpC_qMR4;#H=%9RCMOrAwi~YzaMC#8wi3*go(f9n()A2L5y+H~8L$E?{7O9Gm z$j~GIjT&En`@#?nemC!XQkC0H<)oEXk=_~Ua%DOyx3W^;(g%mseMKQ3F=gmDOQV(r zxf2jI>$VR{u*drha2GR)NPl|(r&Mn+fXa9_uJ4ff<<)mjkK%xaa!3i1MLQTS-}cO* z3ODvmSGIC8(;e#y%=4>p9|@hWRX+8&%Y zPek$~H&%7FWE)VVqC#(pp{7Wg zoAnTNz($?4(8Ub!8@t)3_f_a<70z@iru`L!qzNVX@ABqnf&RUF{w3@!%iJGdMv+L6 z#UG)yin21FB>OVygu8flRGDhh2eb^=O$Jvg-#rX>%fe7t%IqZMX@0d9XO4Gs#7dJ6rUT*&t%A{juz9}87WZt zC?Fo7K=P3Hjb(2hzkKKNn*7uV=)&r}wX8kVP$NxBTGi6ZC$}-K!V%cQ6nVxZ6i?dpd70&niZdEEZxMrd55q+M_taKBVvM)0J)IsfRI;jJ?u z#HF)eU{|yO8p+9XzIU#XS;pQZTt%&Le|LZ!p`_v zS;5C5CCC&FPmIh_`kKg#_$H9C%-h^AHkb~1P^4v?!9V=7vB~tRgHk)?RID%)?BR;j zNPv00Z*Ao-Vs{F?lFKSh9X?#1>C zlKc;rcPy29s8(XzM$cIW{LNDIGl{~X)qk-x-p;UR!b;B9A|*T7iw#X+YqDFLM4*dg zqb^vCaLK;Ba|o0CW(|MSJWs#v>LiCud8$~~DQC_pzdWX%ivoE&ZF^J)K~Z7TI~Upm1}!7>#>PE;@GnLFIB z=}r_BxLsM!fNVkBoTo(vTcFeM3LmDKax+1(9@Z z#f~xL$fO?qTXkF4>!RH{e{=y$fNxXd^t8!Q$Ku#8yu%qVWfIttXsIIEDKxC#_25#} zTG$P`J!{wrXKQ!!zOYhZXCOu4F=Kb!7*+#7@$EvkWD#K_rs_l_8Vn2s=^1d3_+8$% z0OvjPS=h==W4Z)&@d>>K0y$4M*IujX_XME$ug?b|{3}_{Yv^ zwIe4*m9aJS&*6OcOci7_X4uCG=~^qNruf}P9V#dxFC`;ozt9qyqILo`Vk6*eiK<0; zC3%GpSQ)ITDSWSn#*SD z)98Y)WXF4^d@y$@hxtJx0!W*`a5l!QebM7)n&UlwF-cCU@RrY67|GLyQg`E~f*8|W zM^w=WPRRy2A)I8|3APamFXBY4vs$1K#7X=7R!jAuBbbHgb_Ap@Cq_m}I?9Q1fEAnx zOdb-Y+(uC5NV758+;my<-lcxWiuno%`YoW;UpEXkYs%8cu|&Am=|tO2ipek-!L`hL zo_IS@G$K)Rpz0|v6@r!H)OJ7Y*RT+XFu%tXDTi=&NO@wkL}Oh$8F*6ZV-_A@#bWX@ ze>Ud-;CP#!ZMO6V#!u;KygDnN;}D$y3JvyyT0Y9~pEv__DMCkrHz_y>b7Q&Ib3@A0 zUpW0WvJ;~@i}wZla}lO5h^nFIY0-yiJ0VHO34xTH=@C|b)VVn!FBF;!#9P_yV&zHD zZLE;NhFyS!y39{*)NYSL!#*=5`kGcp&3U^99)|rQPsvouD?aT79>CIi{=6jFn z>1!s`eZ(DNBOT+U$H&Io*IUnk-N5y%W9^%#0XpC00~Pg6MzziKPu5Z$Jx@;RGGk%K zS*W`+_4@4rh|IlR?I(wAK7m7QHHZDAj!wL0&*TqYrg14l*S=#V`B0JjR_wmBXyp4# z?bqc5!nxm*Yw&vzw=9Mj4mT448zmF75$@!PvaX2SELm_D<%xbKmPts9Y0Y#zuiHb0VyjkxkEpm>QGD zukKnl$^QZ_FWXK54sr8Ioz|~<`XFg=A;|Hea}%W&6OnQ0dtl#Mxs^~7xZ|G1i{}pF zxSRc6>0g&VG0*yWP;5^CqPltOn;lE(77_JyN`fN7*VwHovpJI6HEP84f!DGwxZuV?AYdLd2<$*G`kGP#56hDP`rEaJu*xFQ~foL?NRLEmqL zuSUh40ZeB=QST*hJZEjf{NvjF5!OaHX<2E0ajIC(q>H9E@f&kz`)6FKWQSPlpWA5D zx_a?Y$$~fNW<5*QuYK#+0t4WCttab$_h;tg;e(C0av8Zo#BTa#hGWBnt<=1h3WGgY z9WGZm)jSEp-aU%0twnCAwmJTS3XmxZFC^I(7H1XbMc8f4KC9ciyg5UordH;jhTbfJ zvmAQdW%b%v7%^Ri35N|v^ltI873B3hI3aWhQz&q(3M}E%yw1YWabFzGywFt;kyk_Xw)y+t8+M}>@ln$`NR6>t1IC{Y0+C$p5A>dO}~7~UJq1H>V2Kl z35*Ur6*D{*&mZoUc(X&fC6vE4uE)JgHq9Psf*p;`0NYdM^*wtrb*dI%x>~*pQw~1^ z4x%DvN=Uv){u-CS8t=^Tc5Ny)ZEMaQkdBw`^PT+iPWf>BC2bS-JO5V+qAwS_cjK2i zTb^Np8H{M$@!oPzglXQFDwFqYd_Wf8HW?UhzVVW7IVEjhZO-e zvTiv8+WXIsP+9tcD0AU2x8s;2Jq0_cX|HrU<1yj6SSQ$BhyFR#OWV|a-6quCn);Hf zJw2tqdSs_Bxs9|?6kc8?3EqQauhYp(wVZB`DUs#m7kcYCL{rZ7=8{QpF7Z0Rweto>r2;CJsX1MJiqpWFmM-d_gElolsDZ!Dx&WwamXMjYs zy7-7mH{YHOcPyO~nkx1}oic2&yNh$tLrCHcBuk)%ztVCRY!bi@&GoC#H2oN5XZYG; z{c5K@I*nq+3Z97<5&b8cX`Zy9sDun;XT!oQ`u>AgGb~7mZZ#!lB?r>)g-#U=c_=hb z*=v=RlZjS(9Co{vuS$GczV%xV2lrddt7gm_X>)h00=iaQ3-a2u=j*jg&L$ov?{$j8 zwwKcKJ{FjoR(;*@z{pRNEBay^@ctQ8%5A4VIlWyPUiDro-kWcHJ7bcZFCJ?rEoDNT z-L~YzHVg4B3}}e-@;Od56&-Cu-!HX)ASQ;5{fRNYvnfzGa(t)Jpb)bEHb1GrE75&X zezKpzBI3AvYQ~19gSFMBf{;Zv`?AJ3`YQ>66Q@nofcPh>nE1gS*Ja6WC_5vu-=%j> zC6BzO?$FHhx)0zfvs_&%Q7VKkhGV!5ci~i@Id)3Wbn&c$JnQM#^O@I-UGP4-1#Rpbci4~c-KXs9^DIrN9r0tUmE(AH z_Is=R;EsU-eb^F2TWAG5KNz`tYXuhG9b{D1bv1qIlkFQX-10pg)*Q;9X3v&*_}xtQ*L-G%{7>pST3QZ9zP3L84ijf{+^o=l2E;{mYwh zBO`iPTHdyc><72WJ1?(oaQStr^C1#*MGmUEh}^JnaAkduFn7fAWwXXE7Dxe`&hov) z_sw}ais+rwE1%k!YP~{gpGbY~O6pR6VH$pgs%>`D!YZx&MP`qlWc5B9Zpe4LrI3n# zJ7);@VIuPJP5F&s{vY?W-vcloku1-h;2+l3`}~e z6raS%JBE#$UbQZICuxrD+1Fx{E?X^+!r4p|>>!^;LrltQWnbLSC@tzX zjwUwnM8EZY`Z+ZHDM zAevAvV$1MlngN2=`F^wx+gze(t>Zxc1k`Fc^|N{R_3!n)xK_6P@Lk-3tD>;(M&shM zR=0k&f$xqreZ|K{S~T084}W!aSo`RBzZ_O*2+nc7Pf+vDgGuYwAzCCBT{`cVXQgjT zKSD(WRkA)|SHzLG+UGdzmzTVU*2jkP6g6N-KgY5xFZv#Tnow8gla}gChyAbtM%`6S zs9E%$K6T}8Z$S4!h3pu2lbA%zXTEN1;9cZ|^t5NoTSB?5T1ZuC2xvlqP;P*mRONrM I0G&<#1K9aztpET3 literal 0 HcmV?d00001 diff --git a/static/31/img/rgb.jpg b/static/31/img/rgb.jpg new file mode 100755 index 0000000000000000000000000000000000000000..ac644803a956104348c1649bf5636390295932a5 GIT binary patch literal 13178 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 literal 0 HcmV?d00001 diff --git a/static/31/img/smooth.jpg b/static/31/img/smooth.jpg new file mode 100755 index 0000000000000000000000000000000000000000..d6274c23b22821bb6ddfdcd85674398cb1c70a62 GIT binary patch literal 13187 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 U?0{_;WHW>5O_UT9YJ21V18_e$5&!@I literal 0 HcmV?d00001 diff --git a/static/31/img/tank.jpg b/static/31/img/tank.jpg new file mode 100755 index 0000000000000000000000000000000000000000..dfe1e0275478cc6806d71878b944037756aaf4d4 GIT binary patch literal 99653 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 XaRcJ+x0b=fJ?Ms(zGjJrb?E;B)31c3 literal 0 HcmV?d00001 diff --git a/static/34/img/dynamic2.png b/static/34/img/dynamic2.png new file mode 100644 index 0000000000000000000000000000000000000000..e4697c13d3c6caf6dbec7916dc4081697c45b9b9 GIT binary patch literal 9207 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 h8VbJS;&yvvt>?`Qk|!tcR!xQ+=P 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

    ft3VF79O-e_^RBB5YpMx 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 literal 0 HcmV?d00001 diff --git a/static/34/img/elf_header.png b/static/34/img/elf_header.png new file mode 100644 index 0000000000000000000000000000000000000000..cb4fc3eddc638e684b1bebb4a6a388cfa3842a23 GIT binary patch literal 22794 zcmcG$bzD_l+b&9XsB|MpcXx?^bazR^Lb?~Fv>+he-Q8W%(%s$N-FxEmyx;!Lx6j%C zou4SnwI*YZd5=4;>$=C_hk~30DiS^t1Ox=CZU2sTidcjD+dN3jwiF&*~urlRd!I&aUNPhNM zKgdW)rJ`+Vuwh`oLj+S((~@#zh<<~R{QTsFlDD1g3F4+QXc>v3GCP@bHyt`msF_LC zWXqysWMmY710(YHEAI577Q%-V;q^-)_N}khzaK1;{$79r-i^kpwOSAdgByoVcX!R_ zYpsxlrKFG`Dk>^IiHT{p2$GZgmT1?_{~Vca$-U|B?$(SMQ;8kl1m{s9_^gKPb_D_h zwzI5nY@h~Ia;&efYt(+lgWyd;`(`o_8^a8~%FfPyLqcN1Ca8UrxNKI?amAY0uau~B zatX}O5OpENP(b1Si zExWO$EWn!|C@3OgW5rceFtzKfDFg*mXJ<87Sy@rM_U!EJ3>A=l6euH91%Zc2HeRT; z>gw%{y9K@{4cKY*#6(ALj(biUtETVFSfWzbeLjNAsE3Z>_AxcW&c>z1`h!ad4=j@L@%$t3IRu zHBEM2p0@5$CsEeuys?Bb7oyoQTeqW0q{T!o-m`p~V9MpCBQTojc1I*&Ibd1w@bEY% z#t7zssdx4CB$lXTwhdR)zkBy?w$X_Wcvv_*nGO37X@IY^{=}UGzR4NxVSEKItI~Vs z6Q%qzchd*VpYYuhbbFvq%t9d`kOB-3*smj=#fUu)cG74+)?hC)qfLl{BIgr$dL7$H z>y6*}w||CuhlOS0K*O(Y$00cIPz^3Fk@c8-U`c9p=<4o{h>SF>yU|A0CLsduy7l(# z)i0=fOg-bhBGZYVK8Z=kp-;HVJXJGz)?Uq+7#rh`kEdN+N(2FpQbsE9 zcgmS*(dMX@jJVTaaM=tcHL&<_LOZv&uDP;Frqd6_`r;!hdg)zgVYTZOjvGNCA>=G9 z5rClp7yc0v!d4#%SSB(yR;`~0m_q$?kO%|d=pSk+DYQf_Ezb_RD@_K1!o#_6J9Brk zGBZ&a=>fY1U)UBGieD0#SK)mj)DQ}MFg+v~h4CB5h04Zn&{ zg-1!M*2pyj$s`3dB-#K0qA!L5`X|OkY@rjPssDyJDT4K12M0#?A+7)Z*YdBgSK(fL z_4Q2zAA-Nn^!N4uzZWL~0Twtqs?gEVvAfh%SJzFWK3S|eu|O8BdE9g&_)%085fSk{ z;Nl#X)2`attbLv6LNey&)T)Il?*#>y7uKWQVi|R%6cm2dbyK^*z{6)v>g}U&u zED3k*V%CvHrvvk`OxQg6wCh@GlSr?pd&L@%>hlDzgUHGqOCnluWS@Y~T|aHtR+1^NWiX2JwdV33(xk44J?2mdaU=CPV zSU-P%H^t0K*_Y=hi_k|}2gGa^hTI&pKp;F*6m?~72N#&ngFpSnz zQc@ZWTLB+17#bQjlgsd=yWbr1Kc03H^4R;~=zEL-t0lSY{o?6-INKidmb{rks$rw7 z?U{^?Eh;~s+Q-Moe5w#jI+p&dR%0s`8XoOeTAKXD_7EZ(8W5PA=MlRif{&-7a45K| zRxCOnQ9xYv;HyH>9hjZhV5$?N<^nP?i`%)eotV9E44t}?j?Q3;%W~g0NN9~3P)wZ| ztphOA1mLmX;o|NBRwH_Tey#>h1ur$ZM8(BPEHyge33}AeA%v{*ln&r-mgz@q*!fNg=3lYhk+G! zz2D1gVUSBO+v<wY*IOZevx;3x~Q8sm5{SNPXIVN#;x0BWa*ueN~z1y_+9^7cR zAx;e5ea|GR>hcm zg9+8vONl^WK>wk|BsLyR7x4h59I)~8Ckh0uYT+hBL_bF;0T(47-@;+?pyC;d(9m1F<_@LXhTpod7tp5MX|{vqs?VLoDe`BlPd0fsBHB$dxr7zZ28z@gO2~pzw zCpI;8duO^&sg(Fr{{%<&q7*!h`V94v{eV!M>=)y1rI0rM_fE4HpA%xcFs#mjD+5;G zd>esUUaVDvBqSvC>Oz4t%C#nMp6Tg9zAtsD%4v_{CEhE!ZfO=dJiI1s-`9GWvM17x)~0RJezz$p z6!ht0+w}xhIJbQ1il_u^Cc8E5B(*hP`LhPSe7*T&nB3gQ?K=2V7ABjo%)dZPHn}`Y%Z?zHA+mqMycVI1PYY>X5~1^w8WmAGjr!Z@4qv${?}azR^zJKnFR&K>mb%7ZAR*Dl>N zyWmy7Yj9#!%v!KFT$Xcu_WDFoO;M?h0TFDE^jUts|IP`XW|%1()Qh{{axU-q{W-g> z%KyR=9SRue{TNfNFB$jwG$rF#ZW&<><|!~cLqzPJL{o_)GUK-W<MZ*~yH0I9X?& zWow9sP;27+q}7_xrgD18V+AA-(!eLQ94F? z!`77dk5bvA^bOGN6Tp5^c%Bq*)3+q>NB zjW$SWS5)IL`uI3T;wWPl#3EWwl64bo^swRchoMRi7T>>oCG3qaq|4>IpM2T_I0ip$mV=RXYIC0D1ybEPwaJ)b8)7~ z#P8i-c;dzdPCM!_aj?hiWxW#z_j(eryc<#^w9Tg^O3tVIi^!e$%eBO;SGa!#*f=r1 zk7E3j1`8E-u5FfZH;D@lU`{fxipaTj3}|TXr-v=V9vg z#5ELmNtP~!pz?iQ^q7>~f}o}tw->@c?)>ncE%Duzjy4q8$5GhZ2ye=y-}o5;Ynr;> zNPsE(K?s4++b~kn(tu#?5~7dK9B^|sab~xvE#F2myZZ@3Z-9OY{{G3)YH$sa0A+^> zh_wmyCJYT(+1B8M*&ja04UbQYGwe_4O=}IG+D_50(R2~LM!)KzLlp+(A5blJmNJkm zL=R~-&bg1+yX_!ql^#k9Z+(HHg~zzig1^=|C~$#ga1k!K&sSZ>X%#YND+`-EOMJ5K zX5xlu`*Lu=r{aBRD#x%W1|%RAb3&2hHDsOVBTUrii8&(+o#(3$s)kvpZACYYb7z&4 z-@Us@X_s|E<7fCF=dYBDnyWjC*ZROlnp{2yeu_^ls%UR-xYjo%+7zNw!Wn1vYXaT2 z1)j8C!|)vh01_p|aNfN$ycGZtBBgBNCtF+Qv$L~+i|gYmoZ|sZU54L6T^iq?XknBb zYak$W(@9v2_|9*3%c$WJy-t~Vy^Y@Qr1fo|4`Z;qZloSCI5+%`hzlguLAQbu@!V#TRwgo+6pndwK4OZYQWQCNmwD)so=u=4SkxRe6xi&XJ3qxcBG?xE_iMOVHaZN#+v6kB6c?PHTyD z3yDm*(F!$xq$kEubH|A)5Jg=$(JI;s!aMRp$)-kmcMJP~{CH!Ir?NC5OwV9uiVV5X zwPq91q2{j?i<*&H9jvyeB6x}4lv<6zOd;fedhe5EpF(zV=IyqTw}`V}g6z0ZJ)cKP z7Lm*H9e_2H0Ul;Z4^(o$339XW*X)eC>iLzHX?Q-eV+$IyekS}SRRtTaP$Bu@J!(fo zJq6K=ln9JknT8=$&a{KAco_^tS65g0mv$&PG(v>mk9QXZ>Lc72;KSJp022cA43Ep2 z5Q9?Ycf`Y?{{!nY78FfC12gq~X0pel49X#pxe zM9>}d)~_6kvcraBUsk)jSU`_EHme@;; z1#=Ni&PRsR#hT6M{dCQj0iMTs7oAyK+~D9b*gFF7>DLq{ z)ZkL=Uoo+AJ;g_#1PzmIO{Gm01oU7v)sOUcEILjsg~i9!kQg^3y*ZOEvr9J98b7-3 z1Z2z0k_)i~`V10|=jFZy0K^)Q3wEQ2Hq!=jN!bF)F}ReXl~+{~W3;BT4XZ%LgNt&& z?9RjV*Z(9XNznveA7uTlCsj_1*aj}sl=sFUcG-neP0$BMQ(5bkrzc8Ufj|8^YpcmaZV0~K_yvut1L(W-t1Be;`d+z z+ul?Wj&7qPWI906WKwvsz5&uFuhYJ9yiR;#Vn0B|HQKydwmq-cubjwuxjq zqJJ~0swFVZ*iIXwG@5qCrxJkZwk16yD10QJFBf*bZgu!X0XCN;1QvpXoc4Vzxy|!$ z8+0cBb;H8iGWizug@xwUajP2hOF1054<{dhA%a7K3uf6P15O+>`h}#zw5B~v86+s5 zgx9)@U?kLYr_&eu_`DFmfy-*Co>JJ+TC2l;!Kqp>pAipTq<#|WDg~e};G#%Z z4KWi#0%W0M@yKy$NWqI1{Ln%5cuiNtSaah@?b@z4=Y{)C4kq;44QKjt$P0uJk;KY! zN2-LNKZFojBWLb$ev?QZxhDwU9n2t#b0{CW%z$7wtt$#2nkV!-qAzK7$%*CrlxP7V zLHCxvJTFeT?`z55QQ9eJ`no+e$6G2EdW%iy=751pxpYvz81@T5AqJ)D*Ut{77p*$o zQ|IGI4!Af6p%xFPMYx~4d)~4qj(3-rIxD0w`y8m|-hwg`kbktwE?*B}aHavVBBoxv z!Zrp!w&$ov@XR#Kw7$EL#PbrWHAfCW*32{;crRYG=5p+p@-K#ZCkVgS>X$xY2XNPR%QhF5tTo4*^{DolY524cxNziy_r*gOmN-9C%TC z7wReh1q5HzM92Z&@v7PYNXlT?$!7vXj^Rp$gqG0gh@D@Rm@w_y#xg77Q|?Cj0-JK@ zBgPK*RRSv3$}dWt_hj6Yg)3Yi5(`*PIUk!EV<~2di!#?T} zq7N!0G77?9n*R6ah7zI$2;EPp_EBua6o#a(ZET_c<=3awST?0{RsP|w+9(-6*Y?25 zS^CnTOUu2A+iL2kn3I3$bq3+aMbx|hFmfCkwy1X|hB1J~KSu_nN&`Ga5kP|u-UDd~ z+Pq4j(XjM!G?zthg#E?eeiB+4E+;O`(vclmze!CSU%$A0x3H-d5HoGBVR|=KaMVdx z_k#>1Q*3Zxto`_xC!4t+7`+Y{@K;(T?wBlRXw>?>N6}`t8A?)rSJhi8otT5=VyDRB z*2`$O>R&?$HW85B2A#NS+rF=xG=2voaw_&$HK2xl^npgvwuatJX_UF2WM_Qx@X4gR zgPAJ)l#-`~aVBg8u$liSPvPjw!h+i-;Cx)@&cm zTyjy@cB2`Lz1$(%fFL5V5MMGo7T?L+Sl`Zi&3`A8CbXPoa)b3@ev@S&4o@I0=u4>G z0n!LHEK+5uy?uKbz~4|62(V$)iarm-cs6)$2!l`?Q!ZV`Rb~&5Ft;`*>`n9&8C?Ai zpLS5r%>6aV{|A=$UiG)3VWiL8N_=KdmsMN^e6-Ogq#Pe5KcMPq z(R!)Kc*H$iU)m<_n4Ts3Z^KFy_c6?ARi7m&m`j~} z`$`VtlfX>ux1cwUkY1Z?t!#hxdbJFS&P-dN3-8-)W_4e`Z@v;(Ne1LI@3)@gYEZO%i)i@e1v& zyoJd)B>US63mmmi`*X(^^;2_!da$27-x?Q-KmxY|iPZtI*krMLpv{m}gyZ8;fM#c# zJu?I_P<<`+{(qshbyu(8;69)ux~Y541XX- z1B9ylK+s`Bf2Ry(M_dx!cHKASke~t|fM1^k76M*TObpOTYsdK;-)p?Ko1vlXt`~wG zS~HO8s~(JIu`h_iUyNb@LY78W2r)N*pj6fpY*T;dh=EM?K4%qi>VT+EjM#F8@#2Ld zr&BWfWGTn6Jd|_Pn?L&@@)RE5ZtX$zRuzft@mZY0`l5_*kYT``;OAqo6Q&1uTe9|GVyvHDs)5rL>U%XyN}v zCI;*4Ycs7Iz{)D9`~-;Nx6?Oyo3H*x@z>whcol9MY6%lAq5W~n-Vy31X!%-Go!nAD z?DIR}02pU>!V<6Xi#O=fTI3H$97+ju;F!q99=fgZIi<6UuFRJ!1=?P5yStgF#JYrg zg$GrXY{Lx%eAzui4RyYJIo$RuT4j%#(Lw)gsowj;_8Ma@)Cmw%*!mA{n08__ zw$+AOg$8_?1(=s6C}r<&QmQc#ZnrMI>t|i&V$+%r78=iPv`@z)zXRmo-vr;?`S5G- zk$`{NGkHn#3p6V0z_{1`E+KmVLQ8mymDmgBL~W;H#+@uuFEicz69H@#7z3In;-UE6 z^EH-`xPl(svWe_0i<6Zm(&Ax+h{AxF>$VvoA@!*kOFuyZQ@5|4A-oC2k?EL#XrfZ4 z&+j_Cz4&cT+V)i@DM@Q8yl&vf{h#Bq1MK?O^C9G}WN0Ggy_sjHzu(|;Vu84PzLDlH zz@#RYTpr}vBtn6@-Obu`yY#bv15V*M07rQ+>&8p;h&7OKvkvs z^^&bdNHOOK8Jo37)y4O2&`%#%QH9VDxr-_we0`jJe2m>nzwkvnyWRj6*uqz3r|W`f zwU>iApT!Y5z|VP`$N=niVXr#kT1LCiWI?^TgOZf}ify=8s4NG`1cBnE_ z>$B5)D}OhgFM2opQ`?6zd08gZ2(gE^_{4-Df#L_Ya(Cam2BEr+?6NPCaF{rBE(prl z;em?-<)_TeH*|;3#Idq00p7P{$pUbF?q8lExm^gC-Lbdz4oJ^8;p+r6We`yU-~-#$ zN#fJ=p9CK*VPIf*vGqS$X?VSTK4JTe55>gjGf7|nB&flkVcdwUr)t7%lXgGAUpln>sstI*Txv&=Qg^bdF6h~zI)+aE+g1K0ND9{f2xQA>L1+7E z*Q0Cao%7MWX6US*hY7x-W7t>)*VpF`*GJLdec90{R@mi7IBYZFVT!EE^K6u@@6rk7 zj;!p>vP4Y8HccLaU`;$PWc2n+hSP~S+plewdx@>zs>hRWB3XrTh<)%DR#zDx?8;K1 zmr{MC)4|x?A+>}KO zbsx27qq-wOifzaVm=_YHDuT z(!G*fbSa6nv0v4A3tdH?v$a%w|2ivVodr#)A0pndOR@LA^LH*}#F~nq@p&=rZ+zOIeOkg%>Bf0#~z_zgdafqk6;~VOxjwC8$J4 z_NsciUhM?^C?GVg{dXi|inWnEw&kTOHsz(CcN^q^U_c*bR6k6VhKHFHE;d!=Az1HA- z4d}+dHgzHXRgZvHzoL$g3{V=wg`T;&mK>vof@;?3E`l;0lI1+VNYnbMsWFn~CJP#> zsO5#z`Zlo}Qy1+zj&3q;G5)%hS5>>Yo?%Q2nlB8SvM3G%lD2%vdpRKvtyPj$odi%0 zp5A~|B4=!DQzGhtklHadS5ke5=TpYHk;kFif_N^~!uP!SWVS7uD=pjCNR0QUU3myh zQz9wI3-9Qk1ARQX9NL~4!Oay{@}c|vkQGDcLsPM2Fl^4@qpFkr7zFLJT4PD>dqm>9 z$-=zvX<|Ms>j#?Q4ZXb5ei_?myf&^79|$W%F%4BnQIS1y7HFjjFXEAR5y%&xD8}nQ z+E7VGyohG>@~+;;atY{c6Me$oziHPMuM^17F|@sl=W(FCI+)3mj$?G(8}|qFW@e{- z6$oGx*Y0EihA%w2>7QTkt8G?N-;!6W6OIO#4Nlx}?hJZ#TZTiZmMZE^(m;~hjU7buTv~3q?*rgxY z()`%=X!RX1er~N>;Pvwk8L6HOx{uIqXcT!IdlD{tYE4Cjm`#RsJ2n&~UKw2M6b5p0 zNaFd0rN@}|F4GQOP^pfTnk43a)hI;iPh!~Ca|}|ya;@q?RxKjp4sLC6Ega%ePE{&{ zH4AEhHMI_O=$+IWSn_#)MpF1Z_>73Z2=elbgQR_2Vc93YIXl~4>&&Iu@DN5pF^6c+ z_+`Fs&weZP<{c6=e#b9L1p%oBYRKxN(%7IYOu*=3H)hc`Ra;7K!#!MJMvv3xMBB%+ z192B#Ww^E+Z~^>EHl_0n2thPC`NH;8eZzsbzG#yTqaUla?W(@)_%@~jCsxK!f4aT9 zs&H*-4)(qkM3@M_#T9cK0jiE;jX66zB)n2BUKu+)hpox{Ew5i_@XU!`1gBq78BBhI z^ms!vH6hLNc%kUJ-`1~x87eXLPPoWky5HQUmwm!k!o=X^oXZpuEx7NLWyQzi9E?-dqL3$&ICd#lQ=-~N0_YY0LAT~(4X z1wHK^v*M*wVjy6Ybj3Off{&e9=nrXap%>Uo;M_5Ho2L_%C*z|)%Khy5#&0~UXt?~U z9(QtiQ(VzeQZ#*7cKf+P*Qr0SM7NJ)aDcG&k#OQgDWHBi9lKwsRfoj?V4%T>xf#~O zu6-dA;p1IbS9&ZS%kugn3x{GEzw)m<9f;bpfH}TqhEP(3j?nHZmjVF{Kv!_;O25YD z^2yY`O4ZW7|8Z7Y#{T|wPg@UFZwteB(naQ=fk4vw5R?k!R=-IJK$1BSO*ntuHu#qs zkYpd;DoD!@gbv(Af$s7ue_zGc(8q+@dPWd~M5teM!d<>Kn;jZeLf80)j3Uio4IFil z6u^ws__x)%YqRc@4+gSnr$h74RXT3k=JE?r9HcUU8fp|>igX)_&&CEoEt(SJSD)s% zBkTOj3J#n-N<5d&+NPZLym@fc@MR8j`n9ROqj8qZQMHf86p1#eQ@@65@jfrWhAp*u z);QNwZB=5I@ol-^Q_B$KPwzheOD{5Fr#L8h6idjTb+iw9OILUK;1A=fiY#U~;3m3T zS42It4Cgze9M)(soLgS;^$wfpj{aQ0|Fop%2$> zA9D%gtA9vsXm_l*REUH1p%pHJxhPvM<&Eb=XoPLQAe!99XA2bl3!U@9bKmB(4X2|{ zHT?F+62?g?t0sq)BtC>Lf#Rq#m_qc`&&<`jV9n!nA5=Kl#G7L=NkJb_Y)2{oX#L=YzI*#c#t zB@=824rs@?T5X~T^Vb{*&pR+U5`VLV$!T%eNF9y7I2Ee7^Tj@SJme)zk)%e;YD6z- zztFcEW3|FIhpIIhc_5eC^UPfJb{~4?qHs#CdUG5Uu4Sh+&{oBr>FcFi=1hL5r+AgG zS6gXXE5MV|omlG387j6hC8gV$OPhl62F58VpJAv8#ZP{PJy%sDef{!+$?dCjoJHTp zAfH5diGA%ABZq7!77;2}G9$KcBfTvRhTsD_yS0gzU?wMh8^X&?f>!GBqFsEQ{F4c> z`i`*bb5$>?8~UJ7da3(~rUpN;JyT~#=jn1;`Gb4Tqli_{`8wI>A)kd4WhTUui{oEz zP}q4zM@B-#MZ-f+x=&n3lFUOkz02iy$VRj1G!%85b^a!9pqP}R%EZb&hng6Ud?Hp7 zLbdbm#(U4(83Y7`YT`hP<)fTDDjvn9y3=2cbvJY%95D$^0r*CNoLZ!lNgTC7_JARG z$(DQ^VkJHT;>9hE_?kz0;*&e@Y-!##=k~|D-?~e;;!Gxs^t?#Q)7o6FvK#igHw&D!Iy`~ANhAjLOI(r|vm5mXc9 z!65$ra_rY1A^hRe6E(6|IPC@cMR+zE>KXF%mV3iCwB+LY+#opT-R@0d|AxTRmwVC$ zyM*mJBa$iTUk;jAx7NCl6Pyciom#Kfr3mW>^)HhcoO=K4T@o)m`i=eq$HJg$bDpMM zqpy+c<`Qk7oB=|;8XP7H{L>hQzDD$ff%XW6p;oX#JW|N83EzTf@V4*$+3OtGE~N!2i(Ik$*!p z(!@YNFs=vhS7o8YopWv!ns`MtQ&a1hK<74XbT z56ygc`Iw~u$}MCv(~jS+JC=R3MCf&|beADEIkv2&Esa)E>7c4sbu0hTm}tYUhWg6> zX&?H^UjIVSF^H}8w8S9MMS|y&V9@<7V@jYFYI=J~*hRH0MN#*><=MIaD zAuz39fyZ~}c;bo2XmNp`#aaEj)ZVUAT*M1yVX_CHl%(oc-`p#knOQ@cng2yDm_2=- z%Y{-i{~xCuc&zs!-@=;ex@`hi+jmxUz2#xBo0gxSW2cpv=PVo{3M~KJJ6@ABpwm}H zJm7*h%V;LCoKw1MF2MEcHN=}0Y6249C^kj#3cCHtN1#(z#-Il2uoeEr=QJCqS)StL zEIX0-A7QtQp1_6s26L4hbbDGN+4&9<|o+A8E)4UIG?TK3oGA~TYDNSoWY1@Qa#7zfQfN~+NPw1=BsULq&i4e za#X%AI)KRKN3){e_+nvc9+N_499oQQ#yU7s zbC|EUTP2>K>YMA*l&Uv$-!F00FZNkh39dFZSsDZzVe~M$NhYCpO%O}lZ2^+;rQMKD zpe+e&SzF4R3c2gB*pi5I7t_tdG7TNi4>TLkNDN)mSnKIfd$1-(4n6Th*Z(%K6Eh}o zAo+0CFrLf*U5#%nQo2ZBK4b!8maYu1bMo8)XC&XuL0)L*;utYmHtWQ)+`cw3%W=Pa zf0Eno%{Jxl#D=g2({EO~rt-vQD?D0TUk`K(<$*fzZzRRxyuw*SxD^=DB$1K;&@L=s zozK)L<_MyR!dKL;_qrSvj4!k(LEj-!Nx3I?L%9C|!%xp=2cYrq({9@JRcKBN#~@F6 z?a7~tqSXd(dzft0M``&a#v*I>mii^;BacU@Uxtb0WH75^moYHDTq}d%JSUn$O;|38 zaz45Hb=(q5DNZ-dc`X+0=wk15->}~y!^^#&ZL;MEH$n7b<d$|8Pl zP{ot+`BLP0;0UVc<jqWgoJkR<<~|ubfx)e$rwb>%E;LC? zw^kF4-pJ;5gE^f0)&Y5N5p5@|;0d}Bw#dUc#dl7K=h)CpI&Lnicg`hDjb{NIw?APk zCUMa4-Lc}tM&MZbKntl=V*E`G0$4i%@0cz-r;y^hr{uKu0~Zi_T zmB1JM?L4L!zK^3dh%Wk+MKRoh0$aKbFzrM-ZadM_P1Vf@>!rM%(;MTW4AHVk=g|xO z*Hgerw`N_jy$#ccOA8R+g6e=`exQ-^lqX<1l-Sc_#JIkA$2+LU~X); zQZ&{GB1301j}1n3s>E?+n}cpy&M?e0(Vl4cr!YzS@gL&zmI)Kr;t6 z!vp7IDouy*t8CTRF?BZK=9ZPIp>@I=sjqaYr8P>sUp`Z~mNGonEG`n?}3I)|p;+%JYzaRr9Ah9$%3BT5DF1s7Q^ZXRBbBT~(fH)rU)S4Z?r4L=*bhw%j((-qs!doaZ*`QLvF#1^;})aU_D0 z4r}lKdON~f8TldK&!afKI zr2(e^e1ILj5Q2A`7|tilq2zYU<B457{09c%)}tfNJl7PKbv{7qGO{iLNj zsJT`?FS_3ggoJYnnfI-^ADhm!2I4}uD(K>;#iWCg*4pF?bSD=@=ujnauh9mH3pU^S z9mp!c?#6t1{=T4^SG#kJ4Ko7JAf0#~La?f$x1{KMCJEgncQLD&X8@QVrTzuxVb1>n z<|P$ZPLHp8c*Xq}Ide0ag=x2vO9qpg?g#+|9Tcx;g)G75N=(xe=8=osktsBT{0D?GVaj_?d~nml zT>Zuenh1j7?dfvz@@A*2?E&9JeBtbFPYoa5YL+MZkGJB@K-~$vh69B_&xx z4om8m$tWq|B-WcV#*~;#X@61KD6Zv7!5q?cjpP+_XlxV}q{QfmNn0~)MY@Y!C0?WW z{uRXuLzJ1?$dQ(?ucL|cIY96$FiUiW#HyC$h}WBr*p@Bh!?_ja&GRXsS(W@H1Sp?L z=T7+{H4==pRtuSdOA{jikvCZO8EN7$%vBO*CW#yc^f=V^-}PyKY3Wm|74ps+PRLyg zhJ-BC$xJGYYXCOvGn#amy?pN}861(A4A{b1dlB@7E$e95_>bKEy>Q1YT;!ZM-dkAr zX1S`|m48z&z&~)UMc?4&ru=JgBb7zaJU%Z6vUM9ew*07ISxjqA@iZ=ndJYi|qS1V3 zM}@7edf$Ok?(d|P-|HxU8jNK`>6o-kz64tY26GVp=+unFP@SXa&+gB=p*vlsHo7Hf ziB8pZ#LO)YEE8l7m;+<`j2JQJ1BWfN$VM+0XDf{EPCL;PxNL|wdc&FQtdx}AMN!Ff zI_#C>?4bS-fURMt|69?&M}aGZ<_k8dyn~R;=KKgYW3!{661xQlK54JD6>(L zg9+p{R^zLwf2V01jH{P_5cP!7)TUl}%d^xy$L{Qbiaw7kb^MHSxSZ~#-TIaOWkKm! z>wLB_1kCA)c0|G^WLA{ScO5XKk6ZTe9+tN&DKCQ}q$N(dDYaY^1+>PS;c@~VMTcYm zCXn?0jQqk9Op(8Q5Hw$Yri{yj(P3HG7E!hOU`g_%t)9OTG*5fzAD*$}aQZ}bdfBAF zqhvKXcEfSIt%d*my_^OX?I@tPw_RGgdc-ovhNg()7_5NT$K(x#YU4{1+dknUe2#l@ zAnpyJC>t|KZi+8tUvr+R3OBs^m9SRlN(PS;D?r}=mqNWOHrWBb#3X>o+nylgDMd8= z?#tzGM_tQG%--Mf2dE0ts^lw>F@N~bb?UzQ`@2jc`;XPtFTi2Mp;7`sfFFosG8@m9 zmU0xpQQ_l=-$c5e;>BB9|i^q=NLp4dwDq$mwMoi`gkk z@q5c@#r5b-kNlK^x2voZzkMw0W}v)!?|(V~@q(YVof*9K7#ad){R=swGr3(BbsDmB zXlH!-r%JcX-gkLh2+0Y+`Ri4d&WTAg3jDapkTZJiyL=AvS3KcMb2H=C%p zmD=jX=Q!XyX3S7Oeuk84I0%%{?W;;{5$afdiBGFi9VU9nU%pHpc!Qa_|581)eFN$< zl=c!BnveJXg7nd1J%~>|X1{0UzX|Z-Pp!6EH6{X6SyL->Mxd@S%ooeDdqg^ezE7@u zdiff#0WyjUvJ1R_{Xdtt%EYIG!N3_mF*!N35Nw7_iEv`mh=q`gfDNTwPuL9$SVQ^uYDnrY z&`_!)>DbelKlFZp`bu(i7?U~U+CJi{gjAB`5i9#2(`(u9{a_s?N(Wb;dsh8_k%Gln zdtOkzuME56(caRzp$xJ{6Y@mNP$kU_v&UiS#)AGRZ%m}g@aa^yaQd5apehsP?>)G3c@ja3ww*Bj5>HQ_>eu2{~73x3grRr>fMb}>rn$_-OHTJ7z z(~3&+gywC$T9rw#UJ|l;9P+|(C%8RTY8*y~fn<)7T&!BS4fJKDO;P;g;ySEu@;5@v zRtFmP>z<#SDVJ`o1?_(S>)>#4;ln9>Z0^@zflZ>HrKOF4R=eZDH0n3qCTAAQY5Lc5 ziF)8Y3e&;(_UEUE|8}~J;-`hX-SV%;d!nBwdgmT_g8RT!r0hIWEt2zN6Jal2IQ5Eb z9>Hiw)5iuAbe{yYkj99rH&at1*^|PrbM~1!(MH$4VqBabt8l#P7obqSB7C`_nb~B?$$vx7Wi?K_^V)GJ z1UEQVS6=4E(${XzY~VnMiG}qsAj~9P+cBF}@8dSu;xCh+60Mi|3*?F$Ru0q7v^4zK zUwX5kyAw0z3JEjP?oShzR zOh{AtvninhXMCp7@yk-~vRRp{hC3EvI1G{I-NtC4^ZI9@?KH@D-eGRGS9pR-!}WGJ z!u@+(^t6`_n!!RN;BnWqzv%_e7YrN)oGjB%W7KUN&5_1QWVh&;EKr90{P}aba-JLt zF@OAf(SXrbPxsgJrimPuujli4Q-%*mBDifn6Dl$vQ@?qExF~b6m4DCcE6`v?6Ze6hmNm`t9)KTKxy zmC1MkOs3@W=Xd166^5vV_r&{4#T|~k9QLtEC9&+DcY^sVP>wT$EZQRX=Zi4qs79x=_JB3L6 z^PZ8hXbYy^dg(wH*@rge=ne(Aq$zgVJVW*?;9ZBE^VKdY%320;XdB#LXxW$PXJdBd z$ZSz9JYaox)0U+l7*K_q43Lir{~B&)utbLYB6Jmzp^80xh+uZ41vvT52e0ht`5YOO zM|+pqx>~gc>sv3)Jjx!G5=a+k#ph5(S*rmf@Z&@rD06#{y#LDZ zQfI2uP@Z_A(Y!CIW$M1^-ay8E3*}UYesiazsSS5zZ$bk+Ui%sb7fbJ)WZe>P$${R0 z$&XTAj^N4Tw>HxDPq%y0TWIebt&T_H`ap``N`5ZZ4QsBS zvs9<!=K0eH=o)k#d$^Ufm;-PmR^oA9uin~n0 z0e;+$JS>;p0+p@KT^p&r^DjsG==M?P^*270qMP*p4>H9_GCo0OZugw6h1!+$IXvC$ z%->8aHsW66x?ybL+vM8#hIpBFYL9WC!U|XZl89x|*8!70!j_pSlP&&kz>^ZwNgg%r zd%4xQ9|`DPQN3P7NtxR)3P!j^w?z`^=i!JRtjJA%mp`V z*1`716T;u1t65&QU8if2JjGszt)wL*(5(Q;b^H-W-!$ zqsi(g~SW~uU5`0s)_bnPMH3Qlumx3R09#=mBYhR27mS zgeIUORYE9Iq=gcKA~lpq7my~M0HGtj2myh>8UEi{=d5#ou4XRgVy}1Jd1tTZdG@ci zj@vvV*Y9n>slw7GO!FSz*yTS3nF0lgNE-1C^-7tf!MG2G0;0XO4oL15eqPU5i6e>a z@;CQ}j})_^Yco;4U4{<`Noq;mwYKxn@Z8URcNk{>8DjK%7=C*VkoH9b#c57hFNSe8 zM&#WV-@jZ(d4u14=kLaUS!>5e~?iPhjE^U_5oHh^qeD&p(?I_?78Dg>GX72X1aQZqh;dho||zqh>Z= z!WC93?J{vn@IL4|d7R&5JsWl+uv;N}JsnN|KX!@ihuW1v#w?%sm>>ppq`V#HV$l?f zN|-8TR^kD{|GZ2=DSK4A#)gwQoMY;U)h~#t3+FMD`spHbh5gJebEM(==>C)ltNf;* zlZli{Zp2-tjThoiRGBMGKLHkjZ;fWR>3++@reyLLZ!Cf{DZs}4__be*?AuehUosYY zW4krunv;qDo&1S#%jL5nw&XZ?jk=fBjWdb5i9ska5m5H$n9REmJV>dj=c`C`QNqa> zB2L)7ftq1OH)U%qD9cC8OE()xM@0<`k(>BpO_%gC3wZ~W+>0g6o2`7UzVwc?#!2h1 ze>n7&VaUv%P))K}R<+tH8b5wI1=>R+tkVZZm|grEJ2kkZowng4dl}QbJuB$d=-(r& zF`K13Gd*!3{K&qZ0|O#aa-0py-b`3+4uaiZc;xH3dU_MV@blElBg(qs!U0_odwaa9 zH2Ib<^b{{0NDnAn`wP~g2P;Lh^@qXhihHtwew;-nRT5lkJx-%FY)A^DACkU(U!#|H zFJYkFA!UEPcqToldAHkO(|P^a!a?m^@($0So1Gs2U#5Z)Yo1IM+Dl*Etd<>)?B`3i z#%@%oB1o3f9^Y1GhP(1nCv*LMw-}Z7!Zl$9rLF_4j!(FQ(aOcKY>+Keu*`r`;edL$ zbj8WC@u^(Ww>u~Bn8ks9zkP&|$>qq<0JtJY!|mHCF-|IifaaKOm*dD3S*lf!%7w z3my(3^pd(+_}uiTik*@(0g2sK50Kc8BavYUsiwR?o!{NPi?>thG2IH~1y?T&Wv{gt zYIP+yBwkw5FJ$im`xkBld|7quCNWM~KF$oxz*+)En&PF)lfs%h^edbG6 z$;0+qD>U#bPkM6yNNL5NneM3-m}QZFp(WWU6YR8RK(%+2&GNCR(~3*Fm8V{~I_Az{ zp7@YNf2pUTe4b3|o^WT3TGuwa7*x{gP6T&ErY~s$3Wqg1#P{S2K+FusBa@vbCYw9QJ4giM_N_ z`@k8}sYKUX9vaJJMW{TB%Z!d{1n$I946C@#!*(;Km2kh&WudbjddH_`{Ii7t{s>p^>-SEGPTP#qFJuSJu z*`Xo*I#+hy3j7QiIDD_7+|->3zJ^%ZanW|PQT%9+^lXy`di%-KlV{bKOc|_(%JGiG z+QIk)rVFel2P)acoC)ZIMKmFeg3vZV(zdi|@6;0s-0dA?t6T{cox&1B0~t>l_pAy? zbTIX1qC1obdV)IrYpg@p0Jf}=O>|kSpjO@Zt=j1OX-KN!&F>MToa221|h$1nG7*VBXD9@RDVIiSzYW>T$nFq_2rSx@1?Y*Yu-`aC_klmi@7_Ojttm z*aDu`^W!0Kg*>L;4nh%h}0yxyr~6j>kj8`3TVuzdgl7xs4jbHw|Y^{OBb^$g3qNTAg@ zq5`ZZv%lVck(!OliOx2Fu3H_?Oj%(A+NUY?CA!`~JL~6`QKp-sXmopq0(85D<=@sO zeIeKLmCiTGvmo}5w@6?5vrIKCenz_y9d{^_=$p$(?{xlubJo4nNB^6%4ogf=zveWm zwdLywH`)@^i?|7l-n>~2Ys}ghz%Uh?l{EGC#zq31ic@0kQ9;4V-QYQr;ZOFva;@Ub z9qjVMqw>%7Emtf%m>-wly*qF}elSK*Hpx{&+hWy?^R{5)`vbg?u#?;{HU?YE^LmV2 zZfT)?TjX!(KesP8%&zenw%H(T{D$n%KH2?7P zcXV_#0!2`tyAYR>;;Jx7e1T$8@_FF7g2ORJmpX8=zqS%j2Gx+GDj2HCT_!q(_-yLn zF?VMmr@S^*pN7SXzj*l)fI+=HngNtYLo+i?Lqp~>{tqx*zcE=0d9q(Qp|n{daB0f!yPAY+#=8yNrUMyw$ zl4YMhOPfQ{T$fEc~ z_?4#Mg%cN1R!#%rVrO~sTA!ZIJ&UBSFVB_hs%a!MBI}h^f;y+#91pUt9$P78WNeA( zA=#aAD6KX&%H`!dcFsYFqB!QEOj_4+-TNMR$;9h6^<{yrs8PQjljzN%w+m%A`uMq( zrVtBV^LeA2k$a?Lg{6=9>n&$rgd+Cv%Q zOQ#6A9cv#r%Ld2Z`^j^~Nib%PzGwf=s!B{H>JC$E1j1qZS8M7(4C{BUX2*J75865W z_sWXOWo99B3cg%`$?JTY@vWCQaTr{TIOjY$L>hqmmyv3sv^#w69qpRGgbQ(iy0;qg zMs4b-{M=D&`?tF7$lmQPGIj6JwfGFNaD={Yiawos52r(yl^lIWt<_18g=E)_N9`jTloK%n~aYS{>2>;O0$tjs1rRQh5re#X)Pn0}zc-#MI4inm9W z+`p;?C@}=8PwAUe={L}%Fk1ddB3y1~QuoKzy=UrBe6E{R%vK`G+VRMQD|wjCOyGM% zIt24%N(97EOg}w#{)?=7Ti(gdpyJ`xB%)ojC_K-S@OS8)_XY#@N2H+gbZwAMpgJ!? zDUj6>^?j2sUZ5LYP4p{fNe2)IA)-nbU26fyWlclZ)|(sZ-H>TxattsZYN`_q`xbazQP|ZgeJn2&LhLb}{QQ*gm)mny zyt(~yuC509wObo3s+EFVbho-!+^i36(xptVd;CImD4qO9J{w}>luw{Vo=QIAa3p~E zu6L>|pmR;-i)m9Ug3)aFuYE>}$J zKSwrOHmIoKsB0)A1zB(~AZ?!^v;a?m`p1tSH$_AWUgQJg%6dX9>{7OlXLI8x_;S1O z@Ni}>E-S=mdmkSeDqxnR@lg$^J=GhTN*%;2x=HwvAeFgNGAMl618RPAQ=jK0;ln`d z&RCWK+&j5W&9aN_aj>n%E$pmGWscP0xNWeLz_#a<<;kI3f|Qv{k&v7zD^H?vpQ#+S zdgkY9nq4>7)=qODR`5fnm<@A4NW8~V(FT=pY*R_PdowkU4VY$l66yTP$|9T`T7b^g z{hq*6xs4!c9KKQvq!}ks!;W!_E+s^wWoAC>h_T7~_&n~!6!Ah_(UQr9yLEnAYNyH# z>$SOv=Z1V}5tD8qgR*j7-7D<*2){R5fD?`#ANl4=|BUOII|4?2BVX10`0-kTYhEJ0 z|1b6KCMk1%-tqqZdA{S>)~FjQaA_)K*v1)C42VeEe>Im*>juz*5uTHHX27g`$1ASFxW#ve)x_DhW#`QM|dV zk`6-RN3F;Jg0SE_MZYXI)&l<2stBi=N~xo77(oQhvedC839k^=AA>o><%_y+}vwW;onxOV^T5^Sl8MSFf0L<<;D=cUVM{`lMR^pWKI9n z5n+`?BUBBi23cG<_tXG5`T8UMfq&VnmBDvgTi#90%>d!c{^a;C6+qt{D20LnKph7d zsS zb-URylt=F^4Us(llP?xidkAsbHJ8SdYOambXt+ zZ^e)Fq#ff^@^tahs=c1V+j^F9Skeal#@%i7Niins)&{cX+XCMYyfSppmISkhpZ73g}3@#k8OA9lXm zV3^amdGo3eL3n_>b%aRynVw~E^x`QgiPpP-Fu{)Bym;}jWN85pY#hzl^EpT9VnQEZ zDJVgNoVwu;kSb}M)u&i~%~@97D~ogsG5?eho0D5o7vR^VaC+M`3;S3KL-SHqpGqgs5w!`#Oro!csaWMN0KdK9sF)=jCi4W8)iBpM+p- z2U%N(ICN~^zsHwU8Z^>Rn+dw8hK8x4qqvK^@UN6{E=0 z5;5Qr6O2{Cp04_kDVti*22h~U<=yNDd3D(xyrqX`+%=38I$}y+smjh~9heEqWIOiQapSh#0*@XM!-I_ud(uF?t*R zNAf)Pz4v|ZyWVyGEMwNJGiT2EoqhKH?$3A6Cq;QFJZuVV6ciLZ8R<95C@6R4f#>e` zFo4GwWKxR2KMZ48sW&J$x4${f1@XWuSdP+K&L}824{!fahv)pRfEO`cWZp_(j@+Zb zp+Q~xym^3v@)$+tjku~u#_pWA57F4%8A74%9@!o#s?6h$Prq4itFW|Uej)bj2+NVa z6NpWBPm(#sP~2Ln_(+N9-hEUo#vH{2#TE3}&zdwHcZ&!lSoQ13Oxt$ zN}cN4*)esVTfOvaK1s~%$r4!K*-4G(UeCZ{VP$1~!<3((3}R9%wN`Vxd;2Uu0gSb! zdi#7#$IXq`%F4>r-2Bdca&j3tIo!EMca8}Y$v1C^*b4IVQSVbx?S5}*vYl@tkA}WB zH8rhpQFqbpKJ=KHnvz&35_9uhj83o9jwUB0R0*8CAb@5Yww;QcCMb8y<|=~{38SGZ zWaQ*p_lUeZe*R48d2TU~rMIC|O%By<_HwO%G@>CV7qRf-&n}BJ%4(4ILCCDRpJQIV z2T|TKQ<>f%CbN9Dc~GGfAtj~G=s|i)iu9W|cY$NpFB`7bz5vO}(lRj>PI|47#m2^( zxv`qfH*-#Y*OZcy(g4kZKC||V`>$sygS4zVbePoaBXrKI%=?(Zvp;|S9L$p<;Ns>E zS8L*PnD5=0szNO+r+@a01ZSin`unTw%*?*EzVz@DSy@?@tu@0(?X@`XmCpI1NC^o| zW+Z?OLsnN;KOfQ2(s9cDAOuHTp*EUi0TeH<$^jsPv9RraB6}Pxp%Tn;R?z zSXpu3|NQx8rn{IY(hceglFHem1Xhubfr0c=Y5>oMV&|?PK}NsGwgrQH#z*K1qMLI2 zvT{o@F9F=f-1tk6NzL~iBFPuH20u#iB~Nj;S-7|=2UigMduT-F=H}CGRGbY0h9kkP zeTd?vNh)qd?O8XTcZA6s8JTx?fy7DCf`>kNnCuQ&~S?#^puFD^Eo`@tMw37s1Dl*%`;1R} zIjlzO*;EcO+dgWyGm z;G-|*BaZ{l{G@<`t$`l8Q`ZTcMl@nPfBsxzy{KY7r(_N^hLWhgs{vB;mSo9-_e_Ub z?U>lP@@PMZOj2(ge;Ey383S*Y5ff&UDCSAHp6pCXTmm->iA^w1Qpu&jck|1=l_Rd@ z@B~VHJ&gZ^|P=o1R?b-OaxUi0e>8F$*;T1b%3#ktXY#MeCW~7T^Nm~{w zj=ihG!y!V10T>z>VaagM`x~=|b{)LKX2rFB8uY)M^HnW}L~jG1$7Y=MAt7P-SE3i% zXA$GDh=_>KB(v4k)t~*^Fl@HjJx)iWK7PChb{%AAwb?EQ0!JI)&5OU$Z>XhY-hLQ= z*lYW1;vAp954q9w_ZFRKOrq^WeG1?XlJLzytB?(X3}{VUu4PwyX0FVnCQ!XxlEBQ@Y4|*^C{XGAV`SuU+RV(NgQC$l=3inM z@>aK(73@N(M+p+r`8fBZ^C0b*UP!3%+h-a=!q>o!t}&5PX{-_87O#*v_PsrgKvG|| z;Lw0cE#m~C4oVE~OXnj5l8~*fZAD9aOX3p~f!jA5n-_C4OLSK96tAwDwzaj{>NsRh z2Ah@KRbM6YuphSHz1()F!EbzVzSig}M%$E9y;`V#8n zvtQ<?zi&YC7mzLEOC(MIu*7cB*6L*Rv843eoBfiC}T&#`t<=@I`lT@6qKdXkqi97;O(! z84Z6dwe420c{lUxd+tf!Qo10PIe7*$#@!Yb6iG=*63Y8l$zQv=x;|UoD}h!~?r%8= zw#JpqraPo`_IwO-MJeQAzg{-y`#7|Mn3S*Ga1#{w=U6$kA3&=GKKi)v+qZ&L=6q%a zO(Wo^Jkc#b0h%R>~Wsn-Di8)PB zddmi=aIk>b;diCWXMQiw@a=b{Q$-&PtNmT_l!;%m%-_~N;5{fM9xQ)qBI=*LFy;UI z4c`kUQUw?W2M4RU5&fy0m1d{kGGa6j?%-4bGjX5`4dVL-548c6T| zAv-!zbf;pj_ta0mH0Ky6s8(fXLgN|Vxm6#j5G*#t&*<8KhSmA>d|*P*fq++^{=0v& zPyeBwBUBZXD9@BEP+PoF;B7%3oFfks=jhv1<^kaLIhX9|(-&Xnlz zJ$(4^j$ePDo0_EGEPimXViB+IIO^BpzyuC6oog*=YCLzoz!Z{l(}%i@oMPTa(85pC+hWjZ_)VJQC}h4akZ;w6$&btgyF9TDQoZX1&weF2m>YAz#j| zk~yj*#cyO6EA;1Q?!aW`74|2{ew|`|Hf$eW)cJS^M*3qsa=4ObQQ2dS`f|L)@PI{8 zdm!V(Iy{*Z?m$3O;^N*kkrnuXGG|ekNdLW5WBWoDljl5Rei+W!c8HisSx{tIYR}Cn z0sPFTL9%-a6>qWLXbmB&vc?3H`Vm$OU3tRJUTWz%`b`PQ9GLG%M^&-0u~Ycp-DX=N zBBFA~rMCCk&Q*Ge0SHo-jOT2I#tNFE#C~Vpvn|FH8Rz6l@BnljqZu(X|MoZ;M^lR2*Qm=$)55C~pN6xV zQ98?ck|c}Pbf{4mktXN7ceY9B;uy`+5dFh-lTg!}FB-ijm>@{m%iHzpn*lw#ISTPj zxjtA;6<03wvE%5Sw7jmmkIQ#{Z1+sgpGMuh2mLe=8Xj6@to`etCs|M1Ad8iB3#P?s zQFVEEIL|=mKQA9}Byix@MRfX32{eTR1J@H)Py6)Eg)q_5q!2rVG8bPh6j}&e8X@&$RX`$KI2d1YGquEGhayu&e%RMAUr!M7LMlGfA`ZI_!B;Z8P?A(xqPO=>wG;fsj0y6u> z)k7!+nVQ-^!tl5zQFk@#Eb|c2GQ(QifrA5U3UBBaa7e%}Ro(lr?AmVV9tEGl!kTEO z6mXRBt*gcBoxU5ZXL@sf6Cw|Z@g=xIiT9Gtlj5AXmye5V3rrvTA|8a%F+Nsi0NFrx z#nPsV`U)Ozjj@1T8qalecEJhqt8GKCl~WtcVwzrR%dbZTYy=E5KbRT5bpFm(@Uxv!xl@~e+&Q+RXEF6Lju9QyT{2FF*^f)s}jn{MJAW*BZJX;F_MP43;yof?iDYk>jnb$%aciVMLT~&TN}!oxa?xb&Ah6>-gre=F#hl z>4r&@m3}3-A9Q|gn51gyn@9(lwH}v@vfy{`Y}!BNJ8?7-dqDnWVqyY%f|%IY)+W!xjRlApih=Jj z@!?vZNp}L1T$XUEfb&|p^LqcEq%!=rwtZ?O<`GBjUjMpmKvLY}#7u)Z{2?^MrMp&h z!dbLIhRO_SMn{iWdpxDSWY2x3t9n_YC#5Y_?A0mlAw?il1eGPs(U995Rw`h>Lh!)F z-5={c?9UGJ6*5IJ;UrMSPVi&lJI6XXS60@`Tk59dkY93DWd|L0Cb9RvJm*;#uU~vL z5DVYsYYz)mio0^!9)H5=pP^b4O_g*d;>@*=a3YX47?vVwqgj*HCnt8xS9JvU0LxIO zd3K7q5A%Xw&!IR&)AWo<=+j^Zo_{SwmXJF;m7q(G!$Ql^?o2XJhq#^Bpq^GN`sA)uVA-A!lg-n!y551@Bvk> zejTppi=QG4OA&Q@1S(8>)tJVZui7zK`s^I{*vvBRsrlL*JfaXi{p6Fd=Qe=i`KXr zy?*Tg+ zl zSUv8NAf;+9Yr0syU!8b*hBi5!_6WY-L)Bc0h2la4zaMSNz71TnGx8*9@_ZB`7l6Lf zw>y9v7fL*j1{xTd?WHf}gy*kUxpgKO8)X7saIiFbYr755e)yDHg% zFso|_gTLALq@^)+%K_`pwd-S>*+xAWlNS$c&rwd`9~udbdRaYk(3XvsD7d} zdw{+$D37kvgS_6Zw|xZPj~+bY`lhGB9wKHRS_nzDYrMf*u}=tuxF-16!}&PZw5R+G z=#Ii-!(|E#KsKrUcfYtenr&cpaP3L+Mr_mTuvNFJhh z^|H;YoQ3t8WQ%9tK=Q(`e`4O@$#V*I)7L>EG2ij1Ba{4DDR`2b0KK8rk|l~-QSxQ^ z>dfxCR>F-b>mS#8gY1QJT+zLnbWXs)+g zkmv3X=_%t{5JTb@U*X7Iv*}LXUAEZBi%Z0&&(-bx9uafa3?X~C*6Ph6LqGh@Wu`*C zVa|z}7R?h*&+n<*;ICOC8~h|%c3$fcEKVy!%J0CfIkIvja?Vop9k;Bey66-3TOF}L zE3~jOxQOcY+D>Bl&oo`+-96$tr6+7u1i(j=1=%p}L|e#Iqf3B?5Uy zvp!aKp#Jv{22y4sUWr0YN`=a2eEgXSvgAUmb*;#~5laW*1KNtDvtsWd4=Q` z;vtpVJ^R+OEc47S=3Im_MA(pvC-69(Y|N_1^y1hZf7fa94<5o&7$o`fFWNT*G?Naa zq!&6QWY#3WZdC9))HxOrAKZ^(sy&)sh-<&=9@!-1qWsZ9#ia?Y8=K^zC~ZP4j~YwC zj0GHu&+Exg#XEHrJ;X0`lh(!VfeI^0x6E{Fb@BrY=U?9+A}_sm{Uz!UX|Ro7ZWXDz zJQAP()P7$>Qt;d(Q8lD&bE&ySqxg~Y2n9KvAW*}<0W}=nno`(dl}`092_kJPv>k^= z_KCofd0myL@U))2fB&`I#jps!tYm!j$GGc|vS0pG+z2xSQ0-eVL+L~ z{88T198G>&Tz#)Y4?VB(Wjf31iGe3M@=mYkeT^hXM3w+O!sm*2 z!?DCuJgxj5iP$r4@}`R~xWh`I;HWLdPQ0_AUi*h~Hnlu{r($?a1U<#{8aEWvdOPat zs*-|QjfxlYmkrg=XPs*0*!YbbT)uyTP*86@)AO5lO+seWOuf6vx=I|=4$;sNtWz#j zJnj&zTjFz+LDSMtX6D9g^84nrk`HDFifV!~ar?j`$PS^-tjY!oOdOE*??5&#W)js^ zIG90ympVVo4xK_p9xHU)IYxqN=^a$PhW5Y8CWr|Z3h)cnZ(CO^DVLsR&{wy$k=-i% zZ;Kvx6!zC>c~k{gQEkb$F*PA^}IJ^lzOTjd;D2&1k$}|3oI`9P5QG_KH8A_qEC1rCXS=py!FjNl$C}TDCIS8heau^lej5 z-fWBF<7h(~qMVte=VI1^)9I0R;4Py9rn~AuXn3sUT;CpdobajTXoh(Ov z|J*|GJ zHvhynKK(nkk^1>}aTh*&G4*})E-1Wg;%h5>d8svZu!eB7{!LcQi6izA6;|0zv}bYP z;Y0J1>5k-^W9o7C<|6DS-i!&kGhJMMtJ%?zkrD~h#dge zM^{&O=-``D-ei>p0ZL(EApj{j-z~q1i;H7qWHelA3r1ZRp71B57@FSOFRoYH-bz4^C2KdyUpHlYHF2OpBAh>?8H+SI?Nj z#LI!!`E8()--Ne!+n!4;CPK}SC9e%f7W$B)GVxL)I)|N`XV=~OucI4{;?G2Ndh5eID^A@~9LZeM~E$VrEb3f}E{Z)@u62k%mFM?;>^8^kIb3A{c zhg=AN9>&uE^nlyH-ky29=qt9KuP0l6oKY?0mQ#J!kjLKSOkq6}5hUs_uU#;n#o{Nt z0K0setATseqH&O~Zg&p{=MfE6ghunmsg`fBF*ya}{J4p>ZwraO2a35v;K@WnlP=ZJ z19P9dc7kb8X(Yz9dm=1ID~1fO2*0f*GsaP*DHbhxH2FDi6|YQqeY(?}!ITYuIVCk5 zt*7d0Jr?_|A2m7LT0I^EkAg@?1LBALd`c@7WqNV6ISN>Jn)yO0`>J?OPf4SwFFNs+iF+NLM`vtLt3--lR2OihCWwCwDYl!h74hY1#>L-#o=jja9r^fU_tAu>XhOuW_>l9u2E$G}uL9hQ zsvguV878@RG@UA*vFcrfELd~nq>mtwiOnI}t~qzzFV!}j)&3(IkkhWh)BBqR3=`Pj zu-Ef=a>`12@!6n38mK;F{%FG*zVi+c8P{L_No2I$ii|IAR90FQTjaD$R3db2A{=jH zbOMNGW@iq@6Y-NneTM=CELwmc3n-VzZ(FBznxX%Y{03me`SB8 z_5p}jVppnO>Sv3BLiqG{7T~h( zQ?%Y~zKR0!)!fe+=0mp0+Sd)AH7$6^UCn@$RpieW#8h$-6;pW}z*u;;z}GiBE{M$z z!3K1CDFX(rLq-(5Y=_4u9ZN4yHqM#(XYdK_ifc@aGN`^Fh$S&F!X(;>)M z$+|PcRFyVctY>HQ@Q+~vUb|O>9?j0XzU6kXcjqHS`yx@O@91GfzKY>1YeYa6SbOBQ zt5;L8)F1>b8?x!KKeGpg-GtMChyTZX5f>M$uk0Sy`I-m^T6`}VCbeTL4MLctE5}5U z_l4@%;6O`&W@Fmu-M>AOR7}A=X3YbsvvbYOcIufvANV>QP8wvt`+^@pwkcU~5KWS+ zpVqtU{`pu_9?}0B17yJe#sEjc{t%zN>y!N8DBKxn_p4l@a zbJ=VXDE{sky4Zj=TWBL>%#y$I#cW;cu~86j!#m)=Y{MB2Jgl_NZiEkwyCAhw?!OLhVStLIcQEU^$Ev#Ctqd6F0%QQd4FYO1O_A4n%8sRijuq&SHP|WE z510DA_OH<|`Gt-XbqqEh!T;es3<9Q_ioZjr!->V9;Fj@x#`{TiWe+ig(0bDbDTc$N zkY^=#*6Zh9@)mfIXUqIcrS}RY-w<*R3x~jSUYsAynb-5^YBDbPj=Jt0{} zx`I>gcjH?Q^dD=Lc3>!af zP1v^Y7AiP=u3DyJ-@|1h21LLh%z_#|m^JnW-R-v~2%BXKT1DT#Hm?6p4A27fzi7cI z|9{bf)@^_mIAZ=YEgQ z`7SK^$>*x`7B#w6q^b`MAHv1>lq%twL4!*uNpd^=F;b&Jwr%s#6a;5$JSdXov76Io zbiV30k3Z}{;}1I!x&eZ^{()Tm-q)ro!mSB57QSp87hAOw%Z|o|nTuHABw)O1e%qTM z@eZp+84+&T4kymX5r!{|+%N30q$=~HsQ?yo(}GHSW9{GjHMuocWX&IrSq0M2I)*aM zJ4?2&6fK4IgLX}l^LNn7ySCV?eK#q>F7RzCYD~8ettxmTps$TRu-+3b2%v@KztMt~ zmIz=0DE^ZL0Ga+w$29m-o6LvBN5q7#DKGTP*it^$Aj{XC5faAv0)-#v&gBlFxF26o zH@IxyPZ5)67lh)=&Swa0viDXla_EN$5VS2dJ6$C|`{59hD7@QxkJkWT{Qlj)8GlcL z0eyW=vTCMmjt1+jAW>Gc#(_%V*4~Pm@~>+325~SuO zc2Z`ya1Gc|8&SIV7hB-IWeY96f=Zf=t{^6U6)S&7&!GEVy16^Iz;&&~ieA>cJg_gB6e=FwxHzq| zIDHe6e%T}F@3YQFFkVM$MiP_|8bt8AP_e=-7x(LttCdL|%$|I5=l5kQD(-gWgJouJ z`OHQ0U`rpyOeU0q;-I|$uz{r9h^5Tt@)Zx50JW)_i4eP{*&AA-k9s{}kOE*vU z`kojKi|?dKV=7#hyPzr_=ATp!(S zPBU>Jtp29~-NJkm!3T_?SFnH?lSDO76|GH;Cj)97LQG7bfbm1;gH;*%4F1+ADxnlk zqrer55IjoBk*{wBJP+tB`ZID(pi#odqbeP3SAQUaJMmXAoeKQDAEMlerpXyZJ(U@c zr*e@Xy3<6vc6ng=Nhq6O+aSa*4~9yZTTEw#m9PGGTOcRFsivj;tf!&mb6q`qf(9T; zf9zItgPRI_kBVZ}z{|~UyV}4MLs$|tnq~kv1QarEbKFd!bOp%PcnKvI7S`(e`r#?$ zrr8p?aDBp8V>hGD+6&BK0qxKVa72N(U;yub0Rx^se_{W&rV7qFf!Q%d>Rs=@O1?Vk z3cQ}1(;XMr`f1tfkmFu;{Xkl(qk_suJ1iPj_bB&&1@j26YrjvY$lay9#Jw7FM9N?F z-l;#xzZo;HG(kP~Cv^<6`S8MUc)4eKIPR42ibwL`I)HJqyxM~$6(YP#ioueVq@D>( zNHpA5>m7Fm6`*n3A>DYi?~c3R{E~@Sc*Xr_S|!F2jVL3u4d-AK3K3bk62enmn|jy4 zuDN2;bn07@MqRgakC$dPfv*L225^NH8*_euD;#p?Cito4*MmL0g{ha9m&1~zA}Knu zM7&X?-@eVy$$9^YkRdK1;f=UBD$r`vv9a~BL|A0|CVl(Hs9^+VHoxlVR+qy``A>}n z?Eh&jNMS$(#{~BNF72MP2RhDub{q;x;e7|JDOFQKZ{=rj`)1nGp-T!5{OjUQ!g5}C z!?$!nMq=E`m(%LqLGR;w6i5xJx$O&<9(8$7ubul%7qr3+Z(3?iLg@_R^q-%)f*>Q$ zuQJg+Uz&PgR;p%)KGu(3i6=nsA7=M*m(6|!mh{qjc9hs%m zKaN4HN7Fm9wCcEBc~8gRenqzv;8$!*Yo^>Bw|?nJ^B+I`<7|W%#wIl{{7A8BK0Qt@ zK(;L&zXlwTdXEJqjcX;#L1}F>KLe>YEEoK{f+5#QEFo*ImQ{`1rby9}1-N^9zR(+^ z+=K$934t5=%NgN(PgCdv$s{8qbS<+4RHy^gnti(H}~3B>U& z_{49H6p*Sl%zY>XfBYBoqiFMw`B7!^$NU%-{9Dd+_hjdV_O{WiA`y?A>y5b2bqY## zRj>Zo74}P7f9#5;Vua=3J#ER9cPF)dhD76w8JG$XG?tq?@%}i;ya8wA`!h?|6PWQN z{=df~s&)O;5Xg*!QR#x%EDX{W#iE*eg&gO{gU=I`_v(<)LRojqclD}|^Vr>z9WOEk z6FtYf_nH-chY*%T3Sun-acTsniDpK#87|&p$wkCux*@h6p;P zK_bbcZMGIE()Px~{NoxeN~{^jy$CrT^!}M0epqXvum=~_uv0$$YDZ}1?^TJwv511| zx*OKsAb0Chxy1&7%nsJvPDU|`@yEYLgcUpgSp_GHpDykb=mwa6?-?%J_ZgPHE~IZ4 zX-^G#Gx{XqXE!tHDFC|SsK{v@ygXN+K%=az9G0}+mo9a4jYK`$Dk@9ibD&oFDra=C z`l~mUJ9MN#f!lVHGmX!o9|({39|35{kkr^%aY@M#jTA6;{iYkgxAp}sVEWbW;+uz#N32t&bfHD8~0LEsB(nA|k(1MjgGH-~^UJ|Ml?N?d8q_d)>TzjXP z^0^LjuUq@3I|wV>5Mjbq)K#R={T@{Cd!5QTH;0|p5>^jaYQ;lsp7b6QUGLrf$4dS8 z$qNCbysYwCeLcITSqu85o3sY*b}@BcDQ@WwW1sMRKzI7M(lAw-lJlmQGVw^+D{V_L zE`3ZaCgMrbZ9w_|peKc@70V_nU6;{-XFUqTZb=O`>n)&>U$IEQ{yDJN&1HWAOsER{ z9=sUV@VR04_^-hWFziZT6XX0``vz?;k(nNVGHP>gwNZ8Wy4&dhKokV2K?OuYZ_;6dbOfY?UZqP1=}k~zgLDWrfC!=Y-m4ILC{jc3 zy;nndOZU0w-FL@(Z=8{lWMyTp%*;9e`G4hKq3@Jsi5^frz`(#Dl9!WG!@$5q0ml~i zae-H=MguVLhWlPoRtn?p_v2f0ZX9q1-%(D-1p|YC_$5K--G@Pn9T~9z9m2DSgmBqWaT>M#5|hLoymNoq0gV z0WH}tDJdD6P@G4eoW^}jD-crDQqF)0ZD_cFTJ}OmHfPO~pont1Ho}PXzMXZFnkz{@U z_U&604JM`ex?5u*0~?gqC=a=CU9ee2wZZo4Ro>4kS+Cpg-(QsWuYuhg;?+Xmc-KJH z$U0_8txvbf$;e_dGLYHwao=G=kmP~p3CNs{k*egGaif08-^i?ZHH(=kO$Er`RaLwX z9z0N3*jQhWO-z(EGz7)HR07+5YSd>}Q&;cp?QLIkj!8>X`tSkV)z$TcoctG2a~YLa zbVi1eSNiU*ZP?eZM;;>Z2*#}PL|}BPs*i($g0gdSXh+(j0jia(0)zP`R5b)j^^ zu`iTcKf%ixEc3hZIzB!II$d4G=KC;+UR_=N5{_&#GWP56HMCeqit_M~Mj=Q)ifXTo zfDIdc1gx7<#f@?i7-p81sE4jxMq0psNm#Q0#Z~}6^;gNtyUA?T$N-|7Fsc_>@nMfg z_I0%sx@zCm-e85OQXGtpjWx3;7V;M5<@M|wd0f{}mbSU*66tV7^4OzN$4uuDJ7-=% zBep2ww=Tw15hpnI{k^^TI_xnI>A4OZ{E|cHSJ&2b_SH2s%)CMLbL*FqP&n5vV*jMV zl%Md&%8_=?f_`N8k>=#*dREL@!RBC0oit(n7D@O5*da60wO$`SX=-R_Xe|PS2OO<2 z`CMCpk;))KiW#yLKCgJcg~&)l;|pSid9PksQITbj$hC3Kqj`QbeGZ78(UT&h)|M(n z>9=nfrITM#do?f^{;2S#bG>8Z955e==e!O2>>?nQEhkVElU1xfumslD)_<;F`hC5f z3~^q4$h5MBMb1LM+*ciYd-i9|_1iNR|g_3X1G*XRZN(<`=2g2X1F`2AY!+#tj1qTtD`8A4*iQS0hyINC{!f0tW|iC5(TdDe??2sh=F5 zjk7%cmg4;l>!N(;%B68mVyRo;xB_gWVropB>#5ImnJA&ArZ#-kO|jY0A?fVm^5%R! zM8U?mA!3DqfZ+3TrI5RHgc1ik`%504F^+@GFAA-y9KOXz<<~uB;NsvYA#u;XHg$P< zIeMdej2Z^zwgv zkFbMlXi(OUN_dGy$j8WZc5X(zKL4F5&^knv_q#UdcwgdaevJCynVpl9@S1$kvwvXV z$C|UMzW(l{aB4;d9q*H_eUX69S4Djlrie&03yaZmQ-nf)ZVXfZ-m=Xu%=Bu zWF3B8lyJ*Kpiecl=8U8CjeuWb)Y`CP&lD;Xg)pt>HOUKglWB-(`qG#CSjE_99Y0~6 zJJgIMkF0U$`QZr4J8KrDsx7St6J#Wu$ffc`Kc4lN4a0rM@3KXBp4* zASz@K1xOl0DX@8L-WV{$VPagv9&!)9?ANpOi*;j*n_5ZNohEq`VbPO*a4LG7i;{*%#W=d2&v-bR+o}O?bCDXqH0DQ@J znoA1 z9~1x ztdOrwS~qMo%U5$x8(v6OAnq>Hod&{{E91TA9&S zfB)FHIC**bOruu6$Q68deH~oF zPj}|7ASqIC4Vc`j&|}HT&~?Yc1^Q}tyth>M-D^LAs+UT>E+Q`^k7{qxgMBg1e!PRf ze08SQj2PpiBlci0ni|{bj@kvk{tEN{sVZwydf7-q?+!-<^sK2Mg&Kv$U15BrtnK$C z-J4h;%;fE)RqjB2C%UM%^!S%yz(FHXQN=1Vd|B?rWGJqSfmI28MA`9-7Hh;B?x69g z?BQgF$#TfM*2m$OM7HQ$hlN(<&y0=F9g5G;755YUp`4PhYqW~A+YgsI<&~7+Hj^dc z6kLJhg<4pgA2;94RNH7ZID|Z;r4aM+m|B5-VIdnmk61jDj7V`bv7xBM&hdR|lB@jJ z?V~y#oLME4p;rRl-R`?fbW1w?v#NCaHduulI2YlpR2OpTYVlP#eAn^yc=q7oF+y~aOp><7moU~mXPhYD=c zD7Ne5cAB)h+x^Yju}GJe6*DJ1hbw4Bc$I{N3~xA$^evV91#Ny3`rTdB8V{R~j-}0w zOtRP~rXQ~xbwQ&e?4l5zi|wBk7l^5N|F%Qb+~c&FU>$-9z5x(RP*4yi=n_oHWAR0F zNWM-jK?YX1Ij8izmXwu(V8MTjz=-!@CQiF&e-ew`em%Ge2^tn0 zyJ&I5yq**;%cF>-4Y<175-C>5ztl+E`SA{x-L+c@8TS3#Rl9VdQ;Y60m+L3;nw8@0 z0jn@!YZK&F9zQX?uctLk=Q%ZsNf}l)_u6e&dwn3ebGF`vlHVS-veFU6V!rije>92a zM%=Nt`q1Q_$Tdq6lx4{uP3LhbZ8iLa-Lc)kKhWJUp^VL_ZIZ5|%ty}pg($_eOW;bK zB@Ju=Lume9u1b6JN~Yn1?2BM5?+%1%9a_bCcF?`wuJ5=ZzxC9D4lUn8^L75v!8Qs; zl&>Y10)o8|ol_nwh!0a4&r~MlGZc;o7VWe5H*3Y6vi0IL;*&fbYBBJaVxx9Zm5!CK z{RtpwnPiEKTB%|4H#^sz3AP*G#kK&ElL4Ne`RXA918)(CAObCLPt1*4dF=;c{_~ip zaw-GynQBJ|DCXK%gCEixo80XaGM?7?n6R-EN9Hc!+#<#mV>0+Y{5miHig?#req997 zvp-7E>hEtK2Z#`}=L7Jx|t03Lu4}7XXkj zGBby&=PDnq#;FL2vFq2VNxW_%Uh%?lI2bkZOW2L>^V#xSU`R0!F`0KKnP)wl^#d)G zH`ZcjAbY9y-HtSJ*l$esxV6y@ge+XB#<^4UL+fx^9w0FK;I8kxve#1B%a$2;%J_}G z*w{OhAB=P!{@{K!OZM-rFX z%NrVS06vyatvV{V(|j^bk9-GXcN$kc1j@$dcJxKPGT~GXD!uXca@l~=)Cwet$!VVC zV-1?e1veoaRVeHLG`A6t)o<0Uwe2Pm9daJ2P zo+jkF+>S>_=nac=ga`gq3f>TpREQ?B~b-22I}| z4y&pNO+ygdPFdg@U2N8g>xRe(CHH7@M*2~_Ts{Yra~ncr~|#?^fp_WHQ&YzuqB_wG^ZlzA|*ia$U$ z<1uz|=GauJug@;|PN2MRKw=(bk$1bTH>dL2qQqWN(HBcz_ur(ozDN_pDO{KAex&`n z{&+hY z#)IyB$NkYWlWV;nx=ly1#)PdOor(~Hc4&P3PFm9a(O!58BBR2?wfLubM4#D%h!eiB z{ZiXWkm$7FTt${0nNA%=aO_?p4>!Eww)=KC2OMtX7EroI=UcQM=O*{o=42FlA@B3IK4EpqtEpO23%f6#dW#5ySpQ=54_U=bb)y|l zrb+1d8Rwli9JXN}J9%qR!8Up=$Xpod-hr5zas!KL(T{|RjkxYIUHb6ZdeDjaKXtPU z7OpheWT-3UYdRF|!O*)BNNw;6 zsuVS&<^;k78#;T` zxbq_Elq-CT{MP{rmT-^FWLdT)9YqpF=qYdg-IcEAV&Kcg()XI%D>p9#9Rp%4-Hso` z@C{0{B3FAR?F!+F>uG4#j>2?}H$nJ5cuV7!bz(XaIWDL1k!G40?_7@2*ObmP;CfQj z{8jcvLVEas1wboA+>`faS;YrcBy62L9Yti!jcK$vr2QuHwonK_A>MQ!S8CeTEA2{E zYV;ydl_r-O9y^TrA`!tgWG-(|`Nc+^v#O4(pEPRhN}c?6^*Gv*A*j}ANky6|=6;C0yZ_76}r%qSXeAT}dQ&S49z6>k2$A+fxDh|HoFh@n#H;!Nh_ zRY9u~f`FJ_n+?7&nWymZth_sCzgg?gHw)3g;BYvGU?U=X5~(h4wG~BL9++GtEPB9B z182I_4V&o#j@&zZRXV*1mZmv*=Jy!Jqd~C)4~U^X9z%}GG(mg> z@X4j8w7w{xi$h9FEYUGB{I{-7q~;)55L`iV(3xQ-h9S#xiGnyRd9F(5wafD@$7$D%gbAT%(2k!b=89hpM3%5$`(U}&$%C8ni6uV>*DdqMzz2P9 z*Ne^dQOFQuofh5}B4DcQP-&@V%VBXGYs3k1YgV@v_b3%T&02rBs*8IZndH+D??aLO z+9qA>17QY&Ds{3i)jg4Y9`0Fc#MK7*+G+;dmB*Vfe4{27#a&9$A8EI~?%OP$0!=F2 zPmu#L-TYQ_c*9ljA|KK`kx2+sZT3|gsCPw?er?D$`^rU4lM!S!F{;xL52RJ>?U$V= zbaGvNBv8es&$P);h8qRP=BnS z%#9u$@;i)2sI4<^9q143eGZcKlLcW=jwl1qe(7bzYzmIfzV$KIu&~a=)gBDL*zfV} zEQ>{tN84W;{GX@~;^Afc{xV)t6(yhWgnR6c6ZXu+8#!6r)U7DQv%E zYeoSY{JB<#bYjoD1i6!q?4lOtSbxHJdLaolNU@4m-(Kg*b}t%QY4-B0(EEETJDen0 zIl72uJX5S68H?-QIx?ax|6Zr|ZNjeial~SoM_ozx!o9l~9P3(HVa9UA`@rmT+rk1q z9z1e!wv_`nU%dX@cGtP@X<&GKnEs1N%UqSdvM3eJP1x7I=y|=8~a{s1Mi~w0zjeyRtAR(hI7xuI02M%`{vlokq#2_BGC#V${qP9Po_`22 zcU{EOd83uTEd@|DrYb*;f@|(T;h@fk^jiz9;()cDot-^gYSjAovdz56<>SdU!Hlp9 zJEQ)FJYVWJNTG^^4VZYF3SL$k_eQYmecFT=vm5RZy&F(y1xO15^XV>6$Af>*6#5y3 zrM4Ep7SMebnc?+(Vl3a)QL@6$7Vy@~%=^h(ZqD@**z~${lu{`Koz14=S}x|j^)&z4Y8qZjgxNT#v5(fyYx6M6S4-c%g^g)1bAE&$a zk5&K6xgh7D;r!5wS7B_;T>GFe0b!+2`E<*=emh+SW| zBMm9@+JhFq(!)ZQ9PK7X`^h@5CI2%CCcBMKt^ zj7QAwD{eLXti}$7+g7AgDd4hBSYKZc)H)p32PiEDlJ2#oI<)jwBE_gjt~6*UoJw9e z|A#cI^aaoVa5Ro7rh`n=y0FUp`B{&9=&d7GEN<2PG|fss#Z^r?#V+Uw4zIqSzWw!l zlOH!H6-4i#RT7iKF>6WF1)i0gzp-#Jvu*Wi)qjo$kb3ko-9y3Vf zUVTi7y1K&`-w&)$U9I*{wB_Ng*WT_FZ^7k1`y6$*On@$X2f{k|0*wB_6yOzP$q)^t zi&8tIuCGoMLjnfUMNoZiu|W&L|BgI_TUu=qMRKB_mXg{@RK4qI-4gnY*q_5X5InDR0W5>E0d+|0yjrm%`#p zr+tOj&Qo;;T@sUyX4L?o@Eni@&2a@uk)Q-;~~#4{2A{Z&~J|sz0Ddt==qX39$ClA%7KHir~&UBR~f-S=lVB?T*5u#vb`}_;X zKSOy~h4%LN&P3>eS<+f;djuvsC{VxgIGN)_6LVJq!5mG-$=fb}t$aMPDLGX+I9Ykq zsdZSr_TmMgn#hm+Q8M*ZD4fTcVL)FW}Sw z4kTfe_^m)3lZwU3`k-4bi|C&Ow(`fIk?>2H9TN6c0JmCqnj1_Qxrdw@a++qpB^T7d zB*pEqWBK$i>cR<7m(Bm8ElGvWutkQ}yyMaVd=+E%oumo(f)t4?euR z@4wC7%;rmXLR?tjtO_Ovkhxrfr!JG}`U-Tp#&+EDeVKn}HQ@vZ8N7=QMf%K2;nUkR zo~5tuOO=ozgpI5u;E6q~iP&RS&lzrTwP|qOkpV0ltH}~tQYK~WXTrj%>;?^-9*4#i z6&0I5^GS)tF2C8Cbzl8<+?AEjf%S57ja#}R&VB*%#F{mH3Q~&Gi}tiJ*Pp_QGs8Xo zw{MgDN#pHGV&_qoqdNhGFH2R+gV+xCGtdBgy5p#q{52U|#M`< z(>X99kc+aBy_U9`r@=l)O`<6Om)GC=3v%@1!^p;q{jT?(O`TKS>y`&@A~^qjFM!JB z-r{0e*e?{_^}=YQ=%q7-Go$`Tc}I>0os-wxKJ@TVLY90vUA#i)FeIXSM=Im;bW5S0 z$bG)P9L-|cYkQz|A;oWSq}&e)0wj%T#w{(dwh6p-=!lXTkF!d33vyD1{zHdKHFMtI zJcEcSvX8A|ZEUf@enc5^J?0Dn-)=29O{aQL6&8j@ufY+B}a44W`0Fhe*0_&N}xKfVr7 zK+zZvMW+9&(DMGBluC5Cj+d}TR~(jj4^_T`^w)>vx`!(xi|U0oh!4lwf7c>RXeC3ECuR6r2bL6=%^62_WIF@JLe6gqK@Ix%w)nO&3^i|gjBCTKlcxgpzDlu zkUX#vi;8Q~fir6!7n6hml-ritsU+6rKZV#>-v0@)R;d35v8K-dKx{%S!d&wq0EeSz z|A1?hW5R#01hh!Ss~wdBB#p)5FJ#C!KhsU;r%ha4I@1EZsgRWSj0@n*9~&PSyaF^i z5PpG3tR{zSv~DLs2A~Tn97c>xG}#Bx4{Lnx5gRd)nVq~QX<0Gi zJOwZC#m6v2{j~d-sWBk>K{2b!Fzoc*tfu05^;d)da`fgn=)a@kpzfJ1fQFHCjRvFI zm9MYs6um0D=Uw>pFx-9wNa^1kn#+yN2V zt#41TGG&8(CoOd?_bT-L|E~EqXoVd90hWl-&?HcPQztE|Z@`*)aj+H-0-WNbMlQjb7{z-RR zf9g%G`xb}MOGe@B7v7$6rIJ9!v*pWwp^UrfKf3uC(9L8oi33Iy7iUt}ZZb(IW$!PY zc%E{Kl)v@ToM>S;&jkvg%X;4@qnIK)Qi7su$^Aw~YJJCHE-U$T1ol%@u=PP@5g(4c zx=hm=$ZkW6Fiha3X{5U^Q$*K4p1s)r_Ut?Vc=oHWL4Tn?*6lX9D4NiI5=9wrmsP;K zfOPp`q9EzP<5!;Mz~AIf=eLn3tSJRCN`kqpCEM2p?Rdx`godYYy~&o2VQr~&!MSOdtv;jjOa ze=?W95qJ0<_;Rqp?|9R43Syb^DU YA=<~H=eY;mAcr9@tt?d{X&m^!0EK92?f?J) literal 0 HcmV?d00001 diff --git a/static/34/img/elf_string.png b/static/34/img/elf_string.png new file mode 100644 index 0000000000000000000000000000000000000000..f2eff3054bc2b2ee2f3a9f2cdc719a853cf00ea5 GIT binary patch literal 1587 zcmah}c~H^`6#kXveK%f7dEuIADrPDkl!+*KRGyoxqSPivo|w@fRIb_~VtKD6v=u5E zvSo^tc_*2PhC->S1)7y>YGrt(OMmQtyR+}j_r7o5yf^dx@#bAV9OSE^x?L3j01c!c zJXp@_a=0ri$}76wC0tI5SbtwQu<;{rKCUX1cT|%7juHSsP4@>j3CAdF@}^Q6GSEk9 zPpljVreTwXK>4mR<=HRpyOEurymUs5c!Lfk)PDdo=|yL{Zk zXa2I`F%O+=cEacoXGLfFM$)Kwe{$3Hfyn-6cN+9X_2Qh=6!i+it#a~2Zb={1CD$w| zIFc#lp0Z$$pb`u4Sqd<9Z)L=U44U6Z+Bi3bf~b4rJW{Gou=NH*QQ1w%?yL92S6o7A zQKOB~_#MtFt`uQ{Lrw!x+89sO5%mQY6gEXfpxEnlwZv*mYQKe9gsBU-M|EHKmXJSV z!M>Wz&`ZoBP5zOQ^RM4EfdtSbs?Kcn+>YPUj#~Pq3L`Cw9V#K+GV=cGu#!v-bI;RX z*TwA%?=3~iXAzwnC?ke@0F4oh0_UU{Pa1_F2T2=a*VYlyBTEp=y#74y&{_0dt61Gn zt`}pq8ArQvrUd~Vpx%8yjiUm2QrcIS%~JcAZSPO9_?EBc1ohI|F6!Y-u+;)jCR{4;vX9O95T8sX2;{bmA$OiNIXj|o>|*3e_GGlN zEyUH29bXLo;0D8Rnxi>Rfgw$_mD;*vc82_GD=k*HMi*o33MUuWVhuBQPH4SoOh~U- zT50@xdaWq{&TY~ilav)o7yJ@Ng|4*vRU}x#&1y(3W$j{lDsslVuTM%;Rb=lxPNNeG zrm6UsSF(yT{o7nE|@1||eg@Xo*(toZVQ)kU(so5X*jSme}KlQXG| zrT)=76>OUW=YGbqpCD?#EC=wVkmqIK-mblt^k0iEnY@tsVX*0DPufYxhqvBzp1-OI z=xvrN95!=+0eZUnGR=#fd-D|l(}3n1vXr^~U?@m)AXEQ=>V42Fh)C(?!I%tS_m=K| z73oF{Mk}VHf08p5vXNJ0*Xv44dmPT_7z_q>0#m>}C0om|OCXA)tQRNh zMb^uUT-=noPp&TG`=Q~u(O__1yya+8FS>| z*ga5#bwx^!uiEr4-`pS3!!S`V`zQj>LbHc`yB^l5@nM16PDi;63Z9@FS4o~7+h6yl zWVR2jt)L(LY%gFj3Tn>Qic=Xw-@j?+ej~wULiRoq*I$R^!tZ zRLrfGl6lnXxNK9RNb)j_U!mISL8u)cPxaL07a6`g&N30==X$g|LTu@jxjv27u-w*C zLOUAoy>pSB#6|XGbiB-z(W9Gd!dWZN+HLUiwTP!}+h(kc_RG8us6`I!uFb!g22^Vs znw(d?u(0XB#P4Hm3IGu!F($&q>&gHz$>E>FoV3@r@rZrpaD^{_?*PwrzECi8F0 C697~I literal 0 HcmV?d00001 diff --git a/static/34/img/elf_views.png b/static/34/img/elf_views.png new file mode 100644 index 0000000000000000000000000000000000000000..ee6ccc81bf6bb3c4fdd8107d14d38e3d454ca31d GIT binary patch literal 23399 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 z zFoLA}sb?uhPpndSrLnm$DdM)xW4V1@EUQqd!51*hB0oP9)1{!-;LVQXjUtxp--m>~ z0+6iQu1>VJHUJ;CpI_Faj)?Q3pQ8;Ou1ER?R1G{^rd1W_SRZt5@t_R@=c9;4MFY>I zM{7SoaTo?_b_4hT3E*AOAC^~Lt<&9AHU0I4q9aztdvclDo&Ye@&b~pTh-yUw8CU16 zLw7#A=SI(x7Wf<0GPQP=!`FsCki2VI7=wW=p6-;zTdjECJ{N2^lJgth~qI)$I%L!O1c^5Wwzwm@H&eZeUBp~5adb|`rzMx zOX`1$A#3r$b&tdgJ}b0@1x>dlh>9|i2H6>5dmHpM@Adm1#9D5N818;6DL3RRiH!gH z0>t(uHXi0xe=BU@0|i$R`v_M&WKW9HL9O?{R$!jJrA`mIz(*Wrj5~7M->UI1sYc z%##hw$1V7ViIQBTES7jU(jv4v#&RpJ30)elwzIp&U>eJ#a#B)u1^2I1S0nKCRFO6? ziPgn0lU+p{dn*^Mx=tI!y_m~J~V^7kB!N0t?#vHO3I@qpVYq0)kYLrdn;e% z_F<&tQK87~>i_M4A4<|5R=eB105`zsq%Oh9eO<+NGnBa7d~z~68$dPksLZ`Rkv6%O zg8(o)fs1M}Ge&S@<7)P_Jjs;TKJzl-9beRzQwZ3#7A@bkYzEP;0cew z=cz1Ad)l2?r&+0-jAuaXE_lqTw{2A7^$AT|>m-$hn`e?7O#{2!}BW@>$aGRLdW0J*(B zz5BktS3GoWJ1FSDF&CnDastI8MSils(-H*=jRst8+Ex&!7avyi$huJs=iwCzuskq_ zcRcVWKG2EZ0}KNf0xU2I`;Cney1M$=84@_$K2XRUn|YBjcbOh`D$>Eq>YW9cz<-b~ z=XM55CMP#pv23BEtuMhS7JBGh4b^pA!Dchy32q;8S;%MhGJPZm`ThIH+t2TiTxLf$ zj?TU;20mRH{l;r6O(^(J5#}J+8fg3fRA%tFd~LFkz+WDRlIe^9 zX2#3NAfCh2GhL;AI2U+pb2O7bf}^de768U1xLp_{F&F1XK6|7+^%vq79Q#tNi0!d> zxpeJ>;}x=Co8rx*M+G21@~J}3|I`Y36$|;dF66}jFjaVXus4_h@xG6fr6?3?`HXF8 zU+)(EC#~nm+i=?>#~~!N*T3K4|3ilVKJtIH+JBbD4h$A9rP116(?I$O0=av~%&5%J HG46i=W`&3` literal 0 HcmV?d00001 diff --git a/static/34/img/flexEMACS.png b/static/34/img/flexEMACS.png new file mode 100644 index 0000000000000000000000000000000000000000..620fb9e244921818bfe7e45392482ea7a6543664 GIT binary patch literal 18967 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 IxBL5l0f81$egFUf literal 0 HcmV?d00001 diff --git a/static/34/img/hands_on_stack.png b/static/34/img/hands_on_stack.png new file mode 100644 index 0000000000000000000000000000000000000000..8955e656fb0cf76cfd267afa651be59f5f6ddb1d GIT binary patch literal 4205 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 UzDT(aUJO8nx@J1{+HSZ01p;pCjsO4v literal 0 HcmV?d00001 diff --git a/static/34/img/kmail.png b/static/34/img/kmail.png new file mode 100644 index 0000000000000000000000000000000000000000..c156a5e0ce2ea5d7f6f4f6e134dde1c9ea059866 GIT binary patch literal 70627 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�cDlW8z0*3MmyYqs zA4HjttAMr}DQKL1^M{LG7tqJ#v^_0CrWV;R!%gnpLV{gm9NgGUjUiXs z0=Y9RE9Y^xj;H*ZWZkmD9eQF|4EW4JcFsyJN%s9e6?~I$YL|;zom*%ral%9bB1Nxx zRH5-%(dOVi&_n>i4x(XVU|<50pSK>rS4vlob9)RDEpvKgXk$_z2bP%QzUiv*_9E%) z{sxr85ztk(P{~t1zqsKLgXJ-MAMkeiu_gJH{Y~UN%iNtV=Pmv2KF&Q%T>5$Qo~g&9 zS+YHY`!)s4yQL)8otF;SJtqE@}KeyB;!tqw$-+)?Eua* z13{d%2EA;9L935AEq#w3T264VJ{aO0gvb(2l?aL zjqqs5R+08L{!uQG z(~+Ru8#h;0B5x_a@tuCP&vOJB?fsO4%pQcxK+UP+M&E3l^dAN(w1Tj^n4&d4$ny90 zt7B_%jJpQIw+wFzQv9DV%s0F?EYyc2ne6>~L#|+7t?-TTuFPc)?=Wt~$j?=bN^^7_Dl z60xA0hR}2R{k03dJSV!^T_7+!aQ+T|m;qUv7l*Rq%#& z%W!HjX&4=A+a{_=^=}q=a;Zv6KHqocc8kQrnEIacWY1yQybXh{kq9Ii{fBDFz~c8< zwf7|bK$9c3n+YW5WK|%6@^T~j#h;wc=JKq9AE!2-#FHR>O+vfanJ>y>titxuKx4&6 zk2(T#$O3=938a->KnK-N3nKe5dp1>5qS652N~)lKb(JJHi@g_>t81J~hLq=${rv{K zHrQUl#))wv(D9`6%MFyC{j-WM7Rh8Rof}YM6 z6VkcSKjS=;aD&xH&rW}pnpoEM^Hy|n-e@+JdwWNV$3@mVVJQ*VRF0lA#oGx$3LX+u zLmp=%t3UDEk90!$+R(~7_N8z2ySK5%BIR?kZC?h^pQO1o#+$pY$I@wwjX}tu)C?c7 zdK7$&cJMLN?X1r&2}l&LU`B)pZ5}H{swG)%>W1#(JDvCc(plT@x3I`=!+|g z6pB)0ma>6R;r*~sxZ>+-LqeTOb4BWVtI2R}MyykGr?Z(bKcB5zTU5vjf7WEf_@p+>T#yYj1P^ zsL9P8ukPo+3_R|)Q&0So!_A8)eE*myGpD`{{@_&Zd4tS1kb2i5;EI9z?)g_{tV+Zf z)!s$(wL!b5%?)E?SaA$?f@h|+5Pi$?LW+EuQ1V5F?|-uNq^H{$+3FQ$htUe;&>QJ& z*odgrPQ`6(h!acn>$buL7R%r)iW)+LURPfu4MaqQ3HKJP2YB%mz(BNuN_KP2LG$m~ z#reU>n~MS_%0}2-^YLIneGA;0e?a%KcdPM~ceX_>ibe|i(DSb>2Lo(cwoTJv1I&{J z(z#h9UQIoKnLAob^_Q$bchri`^lY>;+IuryFw11uTv=}xJ4V%`%(uRAK|koPwEN@X z_Pv-SfrraA$)67{yVi-q;f?D3^pu->TO+=(8&7SAljV;F?Ozvl`Y~s@3D0|cK`Mfl zHJS%MML-pM$ES0*-=?`P1|${iYj0oPvNN}{01a45sHPkE==g8+6Ke18KEKmebFaQk z*nWy)0o>u6_RrRDKXGXUK}|!^4{CZf&evwcpR{NAyowS}-C3Tsy!=nLm~n6>2l*jB zh(ffq^72lMds%jsHD{}{?gP93vvPf*y-L`%n-PX;05=-r-hVL*nV5cY{ojV1Pd>}I z)pL>ty@Hm)7Sq2M-Pn%hX{8jhvATt1(A5|xA)VdlQ5M_>tuXg)u(@TJ)MXiGgt4249!l#t0s={#p-V;U ztW`g!x4v>}31`+}Jya6~OaV&8n~rftFA4on{uLAMXPyYyX1bkXB8hg_HM32;z(J?; zP?ajfXbSAJP{%BdBOw9xwaF5%OqJy>i97=tPHn-J6nL6LxzvfKoeFbDl8Q#@%X^u)tU3D51`+@s z$#)<5iMP(Li5GUaEJaU08#rd0mTce12@O*cMAz$+W+^I4S4WahcRY|J-JTOn_LLS! z+y$*BdXMU}6t({x!FIdLRdu>WD?|lhyAmtY@ZJSZF=kmtQ-n9c1e?nx$EfiOy!*O3CUk>Mr0|J8{v=Z;rBp(g*L%e5) zX#VJUWy(bte#gjMSdB|53ij=%hIP zkE6=Lez~$J64Pv}>ulWP=W;N%oXkfIgnZ}m2wezN2!a$t7q8wqV{DUoM znow-yqC(3e(0mIO&#A&z<7S=eqRX-|+cpHF4vS|?(XGe7F|@oSkz7&G!M456lJ%zu zGborp^-W6lZyz=>OhbccQ=e(x3(pi^4Yj+vi?mcaXZOR6UAw8kY2)KrRI1;TN#rL; zAg10t!Jh|ZOfl-Uq6?2g5qfPdA9uF$%9M+J*!lU;=pFnLNpi)5l0wQjCaeT62sr85 zWyOK|B@dxi@>2S26JB|tr7vF}Zq3^2kOY_{mcZ&mMdfvPyDw*{pYm)ixnpXGf;zI7 zeINNfZbaHB&;K?Y5)c}v@y+$!2^HH@(9@2Qs8S5Mz+(F~se_;P5e)YR+3g@K=eV&c zy28X|zjE^XdLPkcJ?dixqJtw&9^OwK_Vx0^pO`yXCvaDFQ6%uQ8PBbiF_F6{A;1{vG=%qwd8s)pdZYp{paLM$#$nbbfCJ7%)h4WAAuQuFUr8EuT^tSamx%qJ z%!hBV7QuYW!t01kP!ImQtPhJESd<_!tgd*mM4NV~7dzG6-9o`URLve6+ zuoo=$Z#0~n%nQ;2Cq$VGp$ODEuw5 zy`aR)qIdU?;Aw-F$$7id)QgN}@oWRJf@a@?*H)-y-YY%AJP8dhpvnCDSpG-u+bT0= zEwZYoruNdbiqg=bk;UUk|2GpH8{_d@*PcS&*UuA17kz{>Hk_t6;+hpW9ms4rnd>Q3v z_C8#SELMOOwU}Uk6<&6{J!(N}F5BHc8m9l_sGZ&aKIi4xow3Z-A0stA6A*}|elL-F z7i~+9UmndnFG=6N1Rq8x7=346HlO_yM_}qgbW7@E1q`Y35zY`A&BK@| zT4_0ME9cb2Ri0{y>9|CnyH6Eca}oVfS-gdn4b>BGj;oEmJ9ix+e46#!c}}|LiNOLX@O!QZJIO?RKgI-1n7}VB?s}iYoOoZ$#hTZMOOeLyH0_n&i zM-vr2E;TpWP(PQR)TC}}@ws6r4q5h`L<>~(G_6^S^Wzix=D5}a7HLqxFlYp%%dTx*gi1+UMHFANy0Zbe7TA-cWVyddd*aysx z+P7#oLA0NLU^mRPErW$AadD2ytbglM@bM?jey)e5h;pQl>v^Qno@aGQ%CUPp_$YA) zpQGb!^v4WHyy$J#qDNC}inx@yoCZxY*4Wov!HjV5;ep>Ra{=dmS||Bc;%cBf&Ke6s2=yC{InH18GFdOvFbZc)%=Lfjg2VT zqR8-ZaLe_8TMYeO>cut64>kqC$?ermx<74?TdDR}=0fu+(oaP%jzZr(W4w~J#}b^I zM0dT2Lmn`N--qn%Zul*l*U{J}(``+NQy_)?D;D7RD84`Z)A%=x(U$gx!xv;(sZONM zdnBLr`mbF0h=n1ayhuI#Wa%t%nu*++<(x>q)H7{f8oewg<9_b*sf4hzQhfBcD57$G zONW9&)Z^K7mA>P2hpSbx_r5xkHC+vZO?EU+udlcDZAHI+G0?uLRmC0cdAe|6^k<^_ zPxGs7izz@qJ*>)UC%M)H^Gn@S-iEmQ%_JA=KZ=KKR{hh-Z!jH*@+Xq2&e3xNfNRH>*SjHFTM5F=!Q#H&{?xH; zkF10<>>w_oXXPjCZ?x1^-D#^;z$)3)GdC zp6z!ElXyC9^lNYu$Vo0r&EHOKO=~;xPs{AacpR#Pi%+Z%5ARi2GUw8%9txKqV-tjL zsT(=mQ6m+=zruag4hg532AWqg5v~ChNSNdq>{gZzzlePye_nkWNV|=sK9DTLOewgy z3P)2a_bm8Kr|GuMAKDG%@lFjCx$Yt=7kGz{ygJOQb$UtQ?PZ)q?Hmz= zSg*C`$4!BvJ+7F9c=pvQbeyg6Ktn(L8uGxG$y}GjDHhn&HCp_eKje(|)2s$a7|g;$ zBSfZPPrp68F7hS$-DI@wK-d1hw%n@6sq}^oV=;Lhy0KoG72!42<335LFjuwy{@4zJ zRd{h>E0_N)NrZc&eR}d3-t3^X`rX7WOiVi-6SM2PW&{rwD_Lb(MWWHA+c;`XlX2sp z?qJzR=~}4MsU>@^4ZyW8Z#~lDOeGeLtbe<(gn-675Y2H1l^!jeg zeC1jZm7L$V(A1!TbNO@F@$e{0qRv;)wr5EN|IC(I(6;__R|vBle4XUpePn#!=ZRpf zk-h$SvabQ`Y(|_UfeC)O5ylzgn!);-_>j*%L%cZ~>&L!sLu8n5Cw^!ej*t`84=IT3M zFuf7RyqUaPIV<8IYht@MosM|d$`@eQKbc&k(blHIfKyo%jN)C{Tc5We%{%S_t1G-^ z#{V8MYkNE#J0a?Pb1j>(lO)Pv2A!hUo>&TChM%Ypq9%+?`CQI#Zy(kbh7Hr@x|z~y zP374nn{=65k6c79LjA<9LOz|AbGpLEdF&+jE@R@U66}O9%}h;W?Ih*pKa4yHgbR?J znTnDJVvw>fa0yx|E<-~J1Gpv#wT@%|LGYJaq>J*rv!4$JR(0er6ON@7_@@nr23Yw= zPDc5bw8ekN23_$sWNL3n&DRm{%(OL%((Si$_y^-&pa!c9I))v@VP%Umukoz$81u3@ ziBe#(uE7_)M>L}iavGDA5*7W~cVx}8e~P2Y-O?V%SXUBTwQ zor;$dNvKh!d7UKA1szY=A8jxFet;?AY&bt6Woxnwy{MUuH7iS)-Ou+b+Sjs=9|dt8 zzbX5Eq!YBWk+-~bsP6QATR6ZBDt%q*GuN(O%#E)ym0whVQO*D}AIlMc5kR)&KVRdZ zcdO2tDj};ZXNS`#MSD1cz~_D`K&W^>J13g2VRJRdqV-d8rnKF^Y(@wwHJnhtT|QTD zvM`eK6NA0zH&WG_G&HjKHI8a50z#PTiCL^by>2x zg6w;Y(!Tac5VmT_vTvU0D6F#dnM=hM4);_qRfP2pTu_Q$K$=Dce6oE>aB@>Sq;}0) z?3>3A)oA#BOm4gvrJ%%)D#+|m>{6&Q+jF|HcdnV&+`sX)aiuu78E|WkNvZPqU|V-J zwws)LD^a)MRFxdvwWJmN=Xq&4n9#^rM#7@xyuLw422kFnm9$Hgj84 zj@TS#x4JGBL@dWdX7o8Ba`c+P_7hyQGViFfLZM+P$U)tOxdBKqz1@`zm1Jb`lA;U} zWKqGJH0O4>)_({udjHfs#!A9SAEBP=sH7sLOo&f+LpW-yarcYqheUq0FQFYY2nSa#rqU1e(nOF|o=S z4fkp3Rfq%z^n`Qk1)1s)NlILw_GR)W`N)QyolTSURheXTH^IjQCy~Ndc(Cq-(7__G zma@y%m`N|)o1;=ZK17?-KLx^P^_DGz+mhRndD-Y5B_e^q9^;hkCG*k^nLda^ZA_#c+eGaK~* z?s!Otjl3jRr>QX++wK6|AIjCL6d&A(_(?-k~~+Rohe;+g|F;I*RY&r*JJD1 zlBD`Ggx19&SJ5cOYgx-;Htb4(0;W{#nATJgqI~{B%*Ba3#-dx++>S$Ry?xUdd^eUJ;?SunNeGuUj}a1~~dnCU>z^_9q6`P|@+B zV)j;YD$FqmzXw8j>w~;KWjA@7uh1~iNEUOlDBr`I^YKa1F~fzElX$k{ zKD66Z>D*UoCzo?FYS);KKUc^|q=iQZ-dQ8=@bkwky|Ffr#S41VT6&q6&o$(+k5Prd zb6PtM?8_$>Lh(qpaPK`GCA!iG@^K2e0>RTK$9JNQ`^!IH#pV${aGo*OQRn#1wJ5vW&9&tos#lJ=7_syrN7aJV1wW@oU=mr_u7pzNLwh>7R z6lw^qXS zu+DH_Aw##t{U~S{%y2YeFP#k{BltsoR_(kV?FQT4TuQH7?GE*sk2i(excywG3JvzQ zZcC^`IL_yH-cZ_8Jky=3A~Ok8xJWT8HLGuhtC;&V-!w93&)3#;o|Mc$gZ*F zUDxR6GRWHvuv)Vh$v2@!PAEamh0onVRW4n7LInv@{3Vm6izA z-v$N+8PDF5iWIXcd=Co~@YzbOueX;~Z4jlS!om#k?4@_rqqEb|iLze{CTEu*k`RyQ zp!D?r#SkN1W-!XYn%u)y*>5?ubKxOIdAiCeM54$nWy_HiR*Rj;E2AL)W~n85Pq%QI zS`71MI&DOkfN*wC2h*v2gV`$|?NfERL(mt;-al;b96JIRjWL$zY?qG(5Gu!Rxno zvErXYp6t_eQkq=haC@EO>K|LBI-`qT)cHF5W{^b*2#-(9HG!Un4c;J**(7*kYdCaE zsPM$zP^D53EDJ6>-&|FRf5YLV_9BuRi%fsHQG-DPEmRrKYO*ZBo{`i*F{|+|ZHbo^ zNSQws&BYU{sb3GQ8Nyd^336G}nO6Gw!=v6t99;M~`A6%Zn}DF1t-rTSJyiQDsAvUN zn>^CwQPe?wg-TYGok=yyKzy=foma1cbW7(tbfD3+%~;&uk{7oWwR!1iu99n@m{N+4 z`jTc*7@3qJz;*cvT*e%e-LPYG_Q@Jh8={57)y?+2x0>QTmtZgbV$FDxiq4i8cpwdIRhyw=Vi}E-P)R}3w=nzjG>&AgP85_$`|Fru^H^gUj(1QFdd?%*;GWs z68w$TXx`SGhj*2#jghLli23#JJ|Vz7TxcxTsV|Ed6cy{s$<2kBR)L4vb<~!>aoHq_ zicWAFOr{Ga5E<^wWYr}`nc}2uzQ}t&=tvZ28IF_|wJJ(Ua94Wa?f>mXt$FRhd3JuM z_P3;JRCHbfHU~6v^Dv}3*PNjE)t4mAb4^;q0|mC5n^O2lSKZ+kVcF%>cVq334N&)w z2k6x(CrJlJlc4WqXr;7$TpW5jc6>2zlxw8Jgj3j=wu&e$v6r+brJrp{#oxpfA>7=c z&KKR0uaVB3GpOw0F&-`26TQ}1mF_YdY}peman_^v7f%rAd%b6qcP_W& z1(B$(a8<44UJ(z0bZB#^`uJC0gv+)m5fOerq`M@8jYD;|HOd1pE_d@4nQS|bvwv^h ztil)Bqxj~Yhz@&Ps$`Fa$%=&{LV+79W;~MWDR|iDlRSysuW;ydv`rIu5kI>K6dTi1 z^+^{Mz5J7v=Kn<7C!^WAqFj<{cyjzVHMv2eE8H<*!|7A+803qC6)mO%gSF{#MmSG| zkth~zm$`*$`SszF#l8#0`O>YNrcFbq4VQ$(G?4Fgqg|z34g|)3CXaIfa1EAU6T6m< zjC^4U)0-ODR{hYH{*3B7%4w5x?ar{e(EV#b2gC%B7W^hj)OZ}np5NQzB(<3;X1deu zYjgceCR$pQmoMW7H`S(Jf)wNaz=NH6pHrw3nVUdWSB^kmVPV0 zrywhgjbc%*Oc2;KSHESouwOK$YJ0`utEg*dSEgKuhKgEzAT8v3PW=efuyxw9oE9Fs z-q~wAFz#^WxqqqQ_>Ig0J+s>hEW)GC--`}R?Z!U@dC~sa(`|jQ9 z&-q6n5Vvyp83m!veZs{YeDFit68qGW_kABneB5E8dbVq90>t$D_wQvz8J^?-+E)bA zr>S{Q7W=ik+M3UM>Y|B{ktV;N0Ev1ZK74@tz(AmtQx)QK3hPk);-92N?Y?(S_4RH* zk25t5WMFO`KKDNbAjv^N5{peP#Z9<4D>vK7sxCMnP!V~&*$pAF>aswgrz5X|cB7*j zr7AKgb3nBhE@gMZyL-AaBuWkf-OI&il&V1m3Y%yx(w~A(mRI8+unju-L5-p^vJYf2 zA*>f}ecgaxGA?({9x^1VH%LL(#e-p-1yC9&upcHD$cJOT<_z7O*O7+Jwbz_nUqLx;X4~|~AIV|0EqZBo z&rIc9I)z5qgM%iv1hs^}Hh_UaUNcuUgkga0{P! z!;#IETS_qdj(I;m)yP^LiIk6Jp8miiA;s?@$>zsi3iaZjlsnP_d?HEFR$P6APtRvk z5xY=aIp^;u$6(>=^CXItT3EUKjngo_P~KOhaDsytF)F(=fNw0MR29!jZv_)faFTPJwPXN=R^1d*cTJMU%~Ra`dK` z2+ygDr>BqsdmtaDA?tg&LNu~7w-wW7dIr(&mEzVL&+2!As^(tFs!uN&C0i4HtdtF7 z?CZC8hXS2_8!aRc;jihM1a-7bbep~i-ruHgyyBPJ!S!-LM3Ua;9trr2Z?wBI`CC?JAlm^OLjB@h7{(|ZVYUQOk*a)`FHI&3 z(-FN88T_#?qE4cJ-g_fA|J4TvRopp*xT5ZYDUfNteJlK>7lMcCol5EF%N$~rK^3D7 zDG*4$Xlj}|&LwW2)LNgq>Rg9M#shQg^zazF)u3r;No;g1Yn$lU()WJn=FYxB8Srwr zQ?P)eLm#O6oXiqIv2YA9QPG<%1xL&W%upL4fbY*H{W0G@0Id5qm|qV_69E~15s-TG z4{%4&<|n{EKpxR74_x{5;cp;2lz$FWzX1#aT6l9tVe}Wo*S|xoe-3$29%NqwDIi9W z{{`Xs79g@fZeMR=bRVAWkV+K(k8gO87aff66tIwhhy7wc`#ijYbwjH2E%4y0r+?o_ z`Oo2J0Mh?C{pWv&GXI3NLh-PK72p4j001cP?leOL1>U=d^9t+lT(|@Ox!A8Ou!pz( z`*Ga|T-c%gzbt(yV}tBr7GD9Nz`Lmvg&|^prQ5f^a|!>~I^Q-3J)q&=n41PD=0_-! zPJ#A!2R~rfPv_%5htv<#2mO2E52yjvfBP5FK0eUs2>G14@%aM|-~I!|DE|}DpO^i| z$2%_{(AEn`Z~q7J_v$Yen#)lQK>NxWZgViahYb+Ks{^J1a3IjUQzK?7YkNMw;{`n zPe&C4;Lml`t$M6M%fN7PdKv{Wm6DPQC*V9gJ7XgV#~F73MT*xFm^C&w;;>~Fsb!}c zYzi-VHy5j3v#OhNrG(H>P;8j*p>J!*$jJdVBNJCwS53`CpaR1~iH2ySH-Sd7R56Rl zT(+)?01(zUXaNBMySuxEg@tTMB_@3l05ssAWVF+eH!GM0f!VV86LC)O)w;xa+Xuic zH?A6mKTK>?on^(vkuVDfI#lKhD&pHK5rQlHjYJs$K+b>0YPDr|b)QdgIZ*eu2;kKuWHDMWxmU!;SjjM0#UPvrU<4Hv)r?IG zs5Y?L6*OP-2^$yJoaIeXjxorr65k9U6;%u?hN|tNE{P&nI9XOsjwOQD{|kH4%$hO! za?>IIh|pv{B-`o-3(h!PQ6U7jU8u|~rmpm5J7#p=yHBmky4vz|h^#uuc*(tph*_lhJVvTb3;z_!=f#qd`pNc<%&RioRrXn-WHxs^m_#lN&K=b;0^>8v} z#PtCph&l_X9l>EeHPqLaU)0vTeoq?%xwblwR8dw2b^);W+S}VR@j#hXvtew$H9GVx zxbC5?q%Z_C8y;iJ&0SeoIKK`lo!RHFfI6MCdEBwc3^58yd?!by zHrB+OE9&LMnY{^kRa3{P{Cj}`Pw2Kc>0FPn@}yxEgKUy_G14$IC| z#2x(jetU)t>oaW1QDF~Oc_RY=iYE8iEk+ia-7ti^{H<~?X!t$fEuO_wk;R+o9DnkH zEq&TIGCN01SHpNUwm4v=kmyihg;?-`VZ-VDJ>vKP208rNN%rxpzcy!4iVvK=d0olE zeBardo|j8ErCR5=UzO9&HFs2Sw{c)_1Zlhb#f}G=c0IyU%YW{JjwXWeJ2wb~{Ypyo zgKB)~vPE+SxFb#Qej82~e|X-9ZK3Yac=PDlE?aKGjEIzHY126O3}4C2?EW@`ZSWHNkN38hjYnSZsBnj; z*iRqjWB|i@ZQfd!e!5KDZ_p&RTgJQ(re9A5!-lPvvNo5g6@ZEz!9B*t6htA{wPE7^ z`sLHR&LgU!`4fam-~{H@4MguHADLr?gNy|}8dAJj>HT{^pvfsHV4$Pd4$VJO+?0;2 zNWNG zC2?dM4wU2A#ro9r$z;K3Tg#`Hx6WH`!(Kk#7e7StxxO)XL<&U|c(jk^Ol#OLLmOwa z13qLs_`Z*`iw%NjSlr;Upow%}?Ti&=X695>Y#hv5e|<>+Ego=80*9YJSF}y`wCTtG zs!^V^9^!H?w`yCKIK(;aU3>%+*yZ?j=$Ty4EHh1rlP*2WY;Zvd@y`Q>Nn zJpVEZeKp5~XRUWrrRNNu!Lpf%`KTV?h8j>Irn;F-r>h|)8EDF;+k3M=0G9$z03ai~ zP?hfWi$>j%$RBs?fwjlKqnJORZ9vTba-~goVhHNg(a+0ui=jlOI7pbd$!>ZrBGvM| z!;ob*J;qsFJfB`~+?3@+&qT|3-Ip~c1pGE(aQ6c>!16;wLtnps?dW*F&HpG zn%)U{7lXaNCqsdi)>>)eakBek(qx|{Tm6_SYff|#e3vJcQ9kuD1-jOoP||0z{ZklU z-ly5*{5}UEc%6;GE0}q}HSm#wtWpy=47!b#^wR->6w*URR&~%5=wAmvcKi}He0Y6% zw)+HGNaM5I0Vd+NS_uZRcv?CMk=0@R#;w85X?NbucwMW?n-GunNPq&->ey2y#Ler} zU_+Z82#> zEMYDZ5AyweI&jzmQRMfx0QQ*xy9FC?Wbt_K{LYn009vA|QppgV&TdZ#rB;|?loCQ` z^Vui&I&zTETUuLX?t6cINTI~4lslr10uFvt*lLNINjl?D+hO?+-|>7%%tS&cB^DWw zcwg+~jGg?)!+2#pd%u^ZH>-PRg;NKN=_PuqM;;}q8NYe|zWPGL(9qE6??+WN_WbUd zVxe>-8(B2OG<eDdaa)SYQEJH2kIoWwv(KF+V)_U5oH*RWOm3Hn?HZ) zQw8qY7vcTQ$|QMQx2C)8YF6S$imgOuw!Qv@~c*x(MEdl*b4Gzh?I2&45&ojUUA z?yG$$tTYsvBDKs{wttV2zMDh|txNWH{b;Wq>9zUtsfuJC^wYS>){9EfA-CAv8yxpA zoFCL7J;sf?c0M21?n$w*7OKn!BZ&E1;D=?HCRFm8HKFQZse)eWl9HA{w?2P=e?dV( zv)q&Yc;EM;0nfyyf+eZq7C6{Z4UTx5Tsn4DkmuX(?g}O?UNFlVbwec>?%%hAFMfre z3u)Hv%jRt_Y3SE9^C!ttB@6<^z<^pv^7&4yw~zb=R6JubF~K-8gRoVw-oOutDas?x z$-=$IQXk|qQa^w(?AmkJ=Si^bgq$W44Tl61=l7uM>{$8J#VV2Qc4McX`F~PRsqT=n z&w1vAMO@KyRBlC!z?U*^PexJsdjn}GK1kU&Z~@Htz0bjv<+EpNV}quSa@P6D4^Pj5 zO-GEj$=pc7mvhF^lGO@wN9?s)1s{(RP7q7@)Yle0%J^}7JTrpECzQZNrg?XGSulw* zCd7pJ;IlJfosafj5OY1_JjKN|=Pr&U?8X*;^V@gIv;-ybwrOga899%rn3@Wy`f!o_sOXG(xU(gA;oDVftfGAP&Wb;;0 zrUYN_riyB}F&$Jed6t+7R>T3ch3%Yi_ba|AMZ#dNV|?(GElJV$J+;uCjV9aU%OYr) zuH8-9#2NQ9uyleX1rT@DK8MN;^WV$9pdlyoMd@NmOQt;FbF)=p29t4~#IXIY6L1CCWlmgO$lw^&ump=wWc1Erk_v<3O z>WByC zs~)^lNT0KXh29g=4q$nS&It0f&?h9+Dl#R2qh1q0ZgwVw&qD4luBM>+h@SzM8p@mY zLhaurH~V(c;<2%C5`K)V9B<>{vDVW6b8!k~L;%4qWfn zO;$~p6(uc8q=QCi!lb`>l2LCd9}`_4j34s|YkvRtSR&m&(9yV4T)d3=|aIwS&=)_P*OV0yAd{7>)V)`3JqQq2fk9L?4Mj znZDo9L`?AO7Xd>tiTYwMvusIpZ_#1W(PY{E}4NO1)V+HPFNz zY1YY%X7S}rCyNRTj@5Q>xzp;VEhC5XB77K_J~N%!Py;zTQ<-Wos4$orZh4V1Cvp=;kWSHx9^E}3Qw?9 zaZr29I3`cyGUHP7*#e_Nb|d;3BnM6?*aM@nKKA(C6~68eWkbDE(63PWgQd}%5L z@oa1uy!VXxzYJHpq{!A3cCkV>fb!l-N=k4GtLZ%y#np%7tqQFsfWAK5y$}P_rEq%K zBq&HoUP089%$)k%cjwlB4jm90uP%Zzf#4xSn47;)swX^y|63{kMUMsgBwOS6`+UAr zl%yciLqu~pl9j9NW zH-#MDcNA*U#cgeEX^(sXN={J4(7t|=6qJf71IRE>PgtGpd}n9pb#oVAyO~AU0qNZ@ z#&x%HH^{JjO3j{R`OA==-B6nWXZ!ohOBEg51OE0VnRyS}k0HUBG8D?d6{q5+ij|t0 znwdHB-o?CU3OiE(pvGD|%E=EMc}dZn6UCaSnxEcT0@3C1qt7!~Yu11F_epJ}ZZ(lYDIHa7LJ;H{dO)DXenP8uQjnFMy4!TV)rK=W%=Lw zm#6$~c)D5Kp)3Hc z>WTH+&fQtsw`-jE7CCX?t?*;4fIKNFDQWH6wXw0W{KvHWpTR}<&uR?Ag!P+1M7P$= zynmHag&G{J*fsm`JJWi;{#}fpLi%~Pr0^~)D5J!>j4^3Ot>!OE%q2~0g+H_9z&}rj z7`a@|f2iaa95`?wEG#T2D9Fdh2YC`yAEieb5s`>l@bf0i35nM;vFGmdyS=V?&1^Qa zf7|}S!ND#Z%86)9gtun@g|7y7YTbRXgfqrR1YO+sk$1%C(j`0kdUX5p_ugabr@#NX zPs{}82bBFr5gCp5Z-&PI5S;&bn;Q=*xDBAas3yT6a220v4&gTvB% zDr+GxSjq&{pT%5wEhu@u?al-qPpq47JbJ)9|Kq5JN!BN%xIsfhLql(>e6GFzYP^;u zqMBy&<&h&(mCD!w1Dx!EaZ##*-!9A_+^J2^R~Xh1ruNzQLBFte3&V)&cbOg2{avMW z{-h3xpMgN9j@a)B4>+WOG6yqRV$KxB9TvSAD+f+^ln8 zV4!O!r1EfnK$ULPPF}TY)uBU&I(P1D^SQEk_k8}YAxoAl zxq9`gN~Ln)>pKVI%JIABp;)tth**~W^UpumtXY$kloTHy9~>Mkl}erbg%ZG{QF@e> zJ|PiNLRiA(>6gV~v9GVM%O@nqD>@i-LI+goM)5a{=D)1txcj>jiO98q?w}zH?-mQ) zTDpNfdhOQT!>>GXZlK))-KYF$@zsct{FImq(7w3k{|D z^W&N}b+W>hcjR>{USo8QuXZFbNTY+IXO8UI&?@#NU-FPo}QlR>FK9Vog$)| zHERm}9Vf5yy3b@XrKF_n+qZAy#*IlyNr{PxF)=X+lb{;18D)d}cePtgBoe9B>T>SO zv$5`v{?gXEch)66J-@AA3#*G`-uU{`L zEF>bSR9YQQ)OMAWlxVeDgTdhCdRog~6??2vr zyUKrzty8yNdU`s;FfPu0PDK1lr{O%3_ z0HC5+=Sc$Y;{X5vP^pAnp9BB^P<}93jz1L0{{T1RQQ|(007km@+1HNs4nn1 z2><}93*<=v08m}va}odmR2RsT005x6xPMOa^74BAg%_)~DgXfRA7niNtO!#!002OB sfcxD606;Y&^7Hen>N)@b01y%VKfUEwn@sbgivR!s07*qoM6N<$f_3|qhyVZp literal 0 HcmV?d00001 diff --git a/static/34/img/konqueror_cookie.png b/static/34/img/konqueror_cookie.png new file mode 100644 index 0000000000000000000000000000000000000000..ffc07a8d3eb95de7fa6036af3050eef0a3fee868 GIT binary patch literal 87653 zcmXtf1ytQkv~_54C~hsT#jQ|Wi@UoOcX!v~?ogn(ySux)ySw`Z{`Cg^0mmqU0q{5fcXn-fehP zoS$ES-j{6gk|kkb$^4$ZpRQ8RCfdAijjcC3QkU`dKi<6nIVB~sL@{VY9HLmUt>5e} z?`={P@e=uD;tCkb>grU%*vIxQw=gpb}TW8}^vNpPaTyY;6Tz)_Mz(N3n#DOS8dK{UDZhDtn8#Q>q^RF zw!oDpZ@X0UV}zmGb@*<=B~92Kyw$2D-=*-^vc+T4T-)>sRaW_AH*6oTJ^@^Cs55f` zMsA;bZ@6DhV)jl|w?Sw-!M$=7P@%BSnE_BX{DFLkmW7~;%8@0g zH^;e5*)xc(r`S&3%qNv|p0Go=44KE}vB|{>?bp}KPM_OxHiyG8Bv?etoeTQ-VX-*R zv~`c|oJuTuEm*){FiN|_(rov=7!5KuIr)3e@x^+p176|0Ibn%s_|%kUqkedJm>&?T zc6M=bad0reh}g^cE%FbUc(oes(3~lYLTUmN4#5K&#oF51bvtH&8>CtiCK^^JuRm~` zUihrucRTMj@Jsv7uhY>V==&@H2m+Acc^bz(i4M6vWp7FkgU#kO`<{VJbVlydS19`7 z?uL%btna5RuTsw{xp=gVA{bIBzq-<|vhTL0PpH01y$vW&vI9WXDYqpL9Ke{(H|CDn zhDXdy;G9_rI>)F(fDAxw@kEm5A!s>A5#-E30;p+dpcEMq4W>?m0w4wER8^Bl_aj%y zu`w`0Oj~R=JM^ocrZYQwdwb2@BR=__m04;gh8d~<`CX?$cV8qc>->P!ld*3sbvA#> zc7p(4TT`PR)$gK-SU_=heg@tI{nP7hu(yx4x^CMt+JA}L#V$wJ9WaLc5+Myo+2QEB z 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 Y&%edj^G{c-JOc=Ly85}Sb4q9e06oH96951J literal 0 HcmV?d00001 diff --git a/static/34/img/linking.png b/static/34/img/linking.png new file mode 100644 index 0000000000000000000000000000000000000000..46b87e69f437edcb877241c8b902287150a2683d GIT binary patch literal 31802 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 literal 0 HcmV?d00001 diff --git a/static/34/img/mem_map.png b/static/34/img/mem_map.png new file mode 100644 index 0000000000000000000000000000000000000000..68ed98b92ac3f6dc9c6223270d4fd4f1ee56dcaa GIT binary patch literal 13850 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 BPG$fA literal 0 HcmV?d00001 diff --git a/static/34/img/moz_mail.png b/static/34/img/moz_mail.png new file mode 100644 index 0000000000000000000000000000000000000000..b3fc4012653f98b6513f5f84aa414aaf7899830a GIT binary patch literal 22511 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 literal 0 HcmV?d00001 diff --git a/static/34/img/mozilla_cookie.png b/static/34/img/mozilla_cookie.png new file mode 100644 index 0000000000000000000000000000000000000000..0bad34bdace810319c54a0cd65411835c6dd4056 GIT binary patch literal 22169 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 UDTyT3H571H-$bwC_LCR?1sH>DsQ>@~ literal 0 HcmV?d00001 diff --git a/static/34/img/samplePDF.png b/static/34/img/samplePDF.png new file mode 100644 index 0000000000000000000000000000000000000000..8691efc1a06b6f5551dba652efaa8636ec65d5cb GIT binary patch literal 13037 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 T%~AnhOd-$)>#J9(*@gcbZ@Wqr literal 0 HcmV?d00001 diff --git a/static/34/img/unpacking1.png b/static/34/img/unpacking1.png new file mode 100644 index 0000000000000000000000000000000000000000..3e1def3d64de64191b65729e0087f8cdd6f5b286 GIT binary patch literal 9690 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 literal 0 HcmV?d00001 diff --git a/static/34/img/unpacking2.png b/static/34/img/unpacking2.png new file mode 100644 index 0000000000000000000000000000000000000000..f5bb848a3dc2bff12401be224679f4421bcdffff GIT binary patch literal 10763 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 literal 0 HcmV?d00001 diff --git a/static/34/img/unpacking3.png b/static/34/img/unpacking3.png new file mode 100644 index 0000000000000000000000000000000000000000..c761d74406bf2cf1805aabced5dd3b8d5490ed2c GIT binary patch literal 13164 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≤;v)P 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 KRNk|B`F{X~t`{FW? zJX=nLIw4eP7H_3ajLi zaYW;c?!D^wfz3k}83xFpFnI?RY6f#iSvSLudhjgcgMomg3?uHOoK&0$nXrwRax=r$ z6N1ky<51AN5FGVzO>jXMLAo(B&jGt2ReKdB0-4e*JI7}eX4@9}U>s)N6`PV?IaI=* zb}IcY8vNrS8x7%~pb`9|Zh!k4l-#LJ1`|CS!)&;nVGpLGng_~Z@Ynccl(bA(2<$ZW z1FGT?I&%B54vLIPsl1xAm?AUo^)B4fa~Tt}n-Ow+?H*g`<40t6Lp6iwNS*hB`Zp8f zup8Po>1MXw*dh2(EwZ3urk5|&!d#6@os@D~;HxR=1PSMf=uCEeUh=b>4X1gXzbyIr z+JgpB=Xb?qm+3}?s!$Zz89Rl_URgtC=M7yUd3hq|GA+zbDoMM zECP!B(kD~}07W8MAi1iemv;n>seIM#m#W}7nbAC56)ZI2K@OIRmEHycq25Khdbjgm zh5Ry^F^;ODghdO(yoxZ~L^3Z=?kV*sB~g+>yYKi# zK0g7Cj?-Cnv~w%La%uwCkzL-2(#B!jw%Mx7e(%fq5vYm(pcPR*qxfMl;63nu8Jlq$qUwscq3?LHFt^+- z4BY2<6%wLc-zE)1q5%*!I->l-MbDl|drydZ^56;j5rT`*CK57X%Qhw4lnqF=MnSV8 z&Y>r+k@<9Ol{cOPl7RiBBnW0$UYdXx%K;YZ^>o)dymcQo_YCcE;pg+O1iTH^HF2E{ z{KP$QSi(Qe@%8|+t2*_XY=aLzKzPSZnDa+<1%_z-6LQy2*D?reC9~ncobHV76N^2T&%hV$CPJ}2rmi2|C{|u6p=PdAZmT;YV z*TeUv9#)LtaEA@ZS$5g4UuG~qyK|YUS(VW`o0k2gQT}_zKu&)uNTj`A7VVeJ|N4@t z$1j-E;HFt?jOZ(T`-x+r3xuuRH_l#~vLXm*mVr2`k}i#vIBBc#%4cyQD5|bGroH%K kzFAsosil@$YN@4`T574KmRf45rT<3%0%>AhWdJAu0A?iAdH?_b literal 0 HcmV?d00001 diff --git a/static/34/rce2-files/challenge2.tar.gz b/static/34/rce2-files/challenge2.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..67b0fedb2d535a8cabdeaf3fe187f4df6fa7ac5e GIT binary patch literal 3715 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 literal 0 HcmV?d00001 diff --git a/static/34/rce2-files/hands-on.cpp.gz b/static/34/rce2-files/hands-on.cpp.gz new file mode 100644 index 0000000000000000000000000000000000000000..6318230fd730b315cc5d2b60c029a520480f6e1d GIT binary patch literal 1188 zcmV;V1Y7$biwFpbR%|~2188AxWOFTVZZ2bRZ~(1VTW{Mo6n>U|#c2XKk{!pk))j+g z8EDrO3y>v6+CCLUKudH&OqK+ZO6D2oFmqHMM3u;d}8&i(q4r!0%pDxt7oITs}* zo27f&&;;Aii$|Nnw|pYD1?63GENRD*ToBQvRvF_Wku=wx9RDE=0B#Ff62bBe&x&>| z7pH{tR?ywKMVSj43!2PbR0Ea?$cx!|UId|ARI8N5n$hTZKJ27OG!5}5z@I%Ri6>Ty ziloX!l3xk$DQAg~{Khb+;`ZarlSfutVd1{Z4{Uy*`1{Z`k-tq6n1hb1n}!u?e;}}P zosx>G%%tCuN>EDM=08=d7qLF>wf<+7zKHc3>*fYw*zQt7z)GjudU(O_V!_ zrkr+I)8iQ4y+nqdNpb9%KKZ`-)Z|$xjaZ)D{*|y-<9C)Nw4`ZD;G-UQxg`B7(&(9# zEL}{b@m-Yci3mD(9l7lH0%8OKX*O&qs4m(s`gg%fBcTkKk~pmcFMcE?4A(5B8QD-D zTxX{%ju2DDxF3iMu;!sA)+{2tTIGDO=6={R>!6}Fzu@A2BV#ezGCD&hnk=c>Bo&uU zv|iw&#@=;YM>gt!shUW(+={hLG?JX*Z*N{tr_zKD%XLm%X^B>IRz1si?DjfPd|o+fn7G79f5KiuA3-Xn^`v?0o` z*|Esw-P_N%cks(GCxF+Masa~^z`Q*x&q3_#UBuq0l%qjh zLy|@sHLrq{;yTX@jWe}EdsiZ+gmNODA90DinZIk>rmT*a_N>YVs-nhuB^Ha5n_M6s zl4QGt6RV$aAa>Uk(JYoNm#Qg>mKRY$N=~hd)|w#XMrs(*@CqIN)v;7N;Z-W;aI#qB z#dxW})n6=>2+fi-G_xcZK$l6E*q)>AT@S;9kUBL~_jIU#B@9t>R*!>o{Wj>Uw33b5 zQBuTpUV_I^gJHns1!w z5^vy=M%t+^?szPZd-GY>)s0n2d-=9-ez0w| z^;LK<`rU#AKi&G^Kezt-www3@Y<=+k)^|dvK`!iVam}3{q`Sul3vRJl19_k7Z(JO` zxn>g3!>h&x3nkQjs!-u+<ht zKE&ssA2UPzc=FB5$pUZHY)>-3PQUqKjqe~TrU${$)ITI%v^b8Oz56esGup#}4FCWE CvQS+B literal 0 HcmV?d00001 diff --git a/static/34/rce2-files/hands-on.gz b/static/34/rce2-files/hands-on.gz new file mode 100644 index 0000000000000000000000000000000000000000..7caad293c8dcfc630b8bdbe6262df20e2ce497cb GIT binary patch literal 4330 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 Y(*4Kl!zPhZZhL?KAB6V;*@6-P0Hz#($^ZZW literal 0 HcmV?d00001 diff --git a/static/34/rce2-files/listing1.txt b/static/34/rce2-files/listing1.txt new file mode 100644 index 0000000..3963ed7 --- /dev/null +++ b/static/34/rce2-files/listing1.txt @@ -0,0 +1,32 @@ +bash$ ltrace -i -o hands-on.lt hands-on +Ready> 1+2 +Result: 3 +Ready> q +bash$ cat hands_on.lt +[08048939] __libc_start_main(0x080489c8, 1, 0xbffff774, 0x080487e0, 0x08048f90 +[08048b0f] _ZNSt8ios_base4InitC1Ev(0x0804a47c, 0xbffff6d4, 0x4006114a, 1, 65535) = 3 +[08048b23] __cxa_atexit(0x08048b28, 0, 0x0804a054, 1, 65535) = 0 +[080489e4] __xstat(3, "hands-on", 0xbffff6a0) = 0 +[08048be0] time(NULL) = 1062082695 +[08048c02] _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(0x0804a348, 0x08048fc9, 0x40014020, 0xbffff774, 0xbffff718) = 0x0804a348 +[08048c11] _ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E(0x0804a3d8, 0xbffff6a4, 0x40014020, 0xbffff774, 0xbffff718) = 0x0804a3d8 +[08048d40] _ZNSs12_M_leak_hardEv(0xbffff6a4, 3, 10, 0x01048447, 0x400d31e0) = 0x0804a51c +[08048cf6] isdigit(49, 3, 10, 0x01048447, 0x400d31e0) = 2048 +[08048d65] isdigit(49, 3, 10, 0x01048447, 0x400d31e0) = 2048 +[08048d65] isdigit(43, 3, 10, 0x01048447, 0x400d31e0) = 0 +[08048e34] time(NULL) = 1062082700 +[08048ec5] isdigit(50, 3, 10, 0x01048447, 0x400d31e0) = 2048 +[08048f0a] isdigit(50, 3, 10, 0x01048447, 0x400d31e0) = 2048 +[08048c34] _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(0x0804a348, 0x08048fc0, 0x40014020, 0xbffff774, 0xbffff718) = 0x0804a348 +[08048c82] _ZNSolsEl(0x0804a348, 3, 0x40014020, 0xbffff774, 0xbffff718) = 0x0804a348 +[08048c70] _ZNSolsEPFRSoS_E(0x0804a348, 0x080488e8, 0x40014020, 0xbffff774, 0xbffff718 +[40094e0a] _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_(0x0804a348, 0x0804a348, 3, 0x08048421, 0x4002e201) = 0x0804a348 +[08048c70] <... _ZNSolsEPFRSoS_E resumed> ) = 0x0804a348 +[08048be0] time(NULL) = 1062082700 +[08048c02] _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(0x0804a348, 0x08048fc9, 0x40014020, 0xbffff774, 0xbffff718) = 0x0804a348 +[08048c11] _ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E(0x0804a3d8, 0xbffff6a4, 0x40014020, 0xbffff774, 0xbffff718) = 0x0804a3d8 +[08048d40] _ZNSs12_M_leak_hardEv(0xbffff6a4, 1, 10, 0x01048447, 0x400d31e0) = 0x0804a51c +[08048cf6] isdigit(113, 1, 10, 0x01048447, 0x400d31e0) = 0 +[08048aaf] _ZNSs4_Rep10_M_destroyERKSaIcE(0x0804a510, 0xbffff6f0, 0xbffff6a0, 1, 0xbffff700) = 0x0804a500 +[401312c1] _ZNSt8ios_base4InitD1Ev(0x0804a47c, 0, 172800, 0x40233234, 0x40014020) = 0x400bfd50 +[ffffffff] +++ exited (status 0) +++ diff --git a/static/34/rce2-files/listing2.txt b/static/34/rce2-files/listing2.txt new file mode 100644 index 0000000..ae85b75 --- /dev/null +++ b/static/34/rce2-files/listing2.txt @@ -0,0 +1,28 @@ +bash$ cat hands-on.lt | c++filt +[08048939] __libc_start_main(0x080489c8, 1, 0xbffff774, 0x080487e0, 0x08048f90 +[08048b0f] std::ios_base::Init::Init[in-charge]()(0x0804a47c, 0xbffff6d4, 0x4006114a, 1, 65535) = 3 +[08048b23] __cxa_atexit(0x08048b28, 0, 0x0804a054, 1, 65535) = 0 +[080489e4] __xstat(3, "hands-on", 0xbffff6a0) = 0 +[08048be0] time(NULL) = 1062082695 +[08048c02] std::basic_ostream >& std::operator<< >(std::basic_ostream >&, char const*)(0x0804a348, 0x08048fc9, 0x40014020, 0xbffff774, 0xbffff718) = 0x0804a348 +[08048c11] std::basic_istream >& std::operator>>, std::allocator >(std::basic_istream >&, std::basic_string, std::allocator >&)(0x0804a3d8, 0xbffff6a4, 0x40014020, 0xbffff774, 0xbffff718) = 0x0804a3d8 +[08048d40] std::basic_string, std::allocator >::_M_leak_hard()(0xbffff6a4, 3, 10, 0x01048447, 0x400d31e0) = 0x0804a51c +[08048cf6] isdigit(49, 3, 10, 0x01048447, 0x400d31e0) = 2048 +[08048d65] isdigit(49, 3, 10, 0x01048447, 0x400d31e0) = 2048 +[08048d65] isdigit(43, 3, 10, 0x01048447, 0x400d31e0) = 0 +[08048e34] time(NULL) = 1062082700 +[08048ec5] isdigit(50, 3, 10, 0x01048447, 0x400d31e0) = 2048 +[08048f0a] isdigit(50, 3, 10, 0x01048447, 0x400d31e0) = 2048 +[08048c34] std::basic_ostream >& std::operator<< >(std::basic_ostream >&, char const*)(0x0804a348, 0x08048fc0, 0x40014020, 0xbffff774, 0xbffff718) = 0x0804a348 +[08048c82] std::basic_ostream >::operator<<(long)(0x0804a348, 3, 0x40014020, 0xbffff774, 0xbffff718) = 0x0804a348 +[08048c70] std::basic_ostream >::operator<<(std::basic_ostream >& (*)(std::basic_ostream >&))(0x0804a348, 0x080488e8, 0x40014020, 0xbffff774, 0xbffff718 +[40094e0a] std::basic_ostream >& std::endl >(std::basic_ostream >&)(0x0804a348, 0x0804a348, 3, 0x08048421, 0x4002e201) = 0x0804a348 +[08048c70] <... std::basic_ostream >::operator<<(std::basic_ostream >& (*)(std::basic_ostream >&)) resumed> ) = 0x0804a348 +[08048be0] time(NULL) = 1062082700 +[08048c02] std::basic_ostream >& std::operator<< >(std::basic_ostream >&, char const*)(0x0804a348, 0x08048fc9, 0x40014020, 0xbffff774, 0xbffff718) = 0x0804a348 +[08048c11] std::basic_istream >& std::operator>>, std::allocator >(std::basic_istream >&, std::basic_string, std::allocator >&)(0x0804a3d8, 0xbffff6a4, 0x40014020, 0xbffff774, 0xbffff718) = 0x0804a3d8 +[08048d40] std::basic_string, std::allocator >::_M_leak_hard()(0xbffff6a4, 1, 10, 0x01048447, 0x400d31e0) = 0x0804a51c +[08048cf6] isdigit(113, 1, 10, 0x01048447, 0x400d31e0) = 0 +[08048aaf] std::basic_string, std::allocator >::_Rep::_M_destroy(std::allocator const&)(0x0804a510, 0xbffff6f0, 0xbffff6a0, 1, 0xbffff700) = 0x0804a500 +[401312c1] std::ios_base::Init::~Init [in-charge]()(0x0804a47c, 0, 172800, 0x40233234, 0x40014020) = 0x400bfd50 +[ffffffff] +++ exited (status 0) +++ diff --git a/static/34/rce2-files/listing3.txt b/static/34/rce2-files/listing3.txt new file mode 100644 index 0000000..d507339 --- /dev/null +++ b/static/34/rce2-files/listing3.txt @@ -0,0 +1,3 @@ +bash$ c++filt _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc +std::basic_ostream >& std::operator<< >(std::basic_ostream >&, char const*) + diff --git a/static/34/rce2-files/listing4.txt b/static/34/rce2-files/listing4.txt new file mode 100644 index 0000000..d89b7df --- /dev/null +++ b/static/34/rce2-files/listing4.txt @@ -0,0 +1,4 @@ +8048c04 ! push dword ptr [ebp-10h] +8048c07 ! push std::cin +8048c0c ! call std::basic_istream >& std::operator>>, std::allocator >(std::basic_istream >&, std::basic_string, std::allocator >&) + diff --git a/static/34/rce2-files/prekas_giorgos-rce1sol.tgz b/static/34/rce2-files/prekas_giorgos-rce1sol.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b845cc830aa169bb42f8c8673cbd0239b278cc38 GIT binary patch literal 2797 zcmVSdC)cknut$!`S6k zB7?&R_erLCY@UqAcr~q)u}N3cIzCp{j2@ULCr9?gv?kPV9a~4^2Qa=@Ev}(;lCl`! z0So3gjN@_gJrw%BwA%0gCEqM~G;;4{4%0HtiT3v%|D&sql>cpWY@OIAZ9ad?_+lEZbHL@eYZ z|L1B)>Iu2i6o}b&TgXzMTH1%bTT&YU&gQ8AA7Z&lMZ^G~*k!~8q_R}ig7$4i;wycU z!h_jb1m4F|LKkmi=#>oyd}+6mG+w(YWN%H^*LXc`w?veJ7ytzZwY(6KNPO-&<^Uq; z@p@avST>!um2h{p>6TLtpyMW~TwX>SJBm!n%{VnXMmAk9pX~1vA9?I_@zOIEJY8L^ zh1bO!x)?NGzf8{HsF&**bqS=znqI8?C{qx54||1X`Eb;0!KG3p@6p3Y^sbQ}LAU#c z#5~|Ep%HjT1JDC43bd|3Gl-{?Q_=4$W4FW{iaFnlspFW&u7$1Bd}K|BoMXrSI~RZUStAD{?Q)!3YF4@bMLGG*e)wiYB zEEdTUvkMa%*b-qu$V~z)7O5Z7-AZl%hlwSN^1gQ_nB~N^k#y;5n*$3NkKiDI9 zix~w{ zruO7|7H|YlIl%umwiID)VOXdMNdi0~8Ak4Z zdT<>4t9e_!89h*ME5_5`|-fCPo|^0I^+`zg!ddpDnFz= zN#FV+(QZI9TV6jME?2}4$2Uy_NqlL({lS|zR{`aW+k)gBJ`t8 zh=?ft)JH@}?p|Z8Vl?(&d9ccg3tV5xDXMwi?Yv9af2ZeKkM1gt=G+B_QW})Tq8KE{F3u-_j(M z2`1gVE{f*cBW$LvmrxPeJ;!Ya1Y(JchxkN>*ZP|VG7dl$Vc!f*e2G=bf_+wyO)ID? z!w@Zw^G5tmaFa!{ba|3I551SjuKLF|f|ie7M1&9<_kx zsFW|E8hA*MaE(M2^n0Zy3K21EMYj-V=y&)dd1#saN@9molXf3v zp03J#2$_iB$$5am;lqpHUj7QbxmxUMv8>;KbjK>Jt_wC% z&=T9e4P(AlJSA_yGZqk*BD`S*HBYG+Kwzb3ECtG!N8=NiN(2@`HL;x@#r23)8DxgaRQ2P}?}7dO~!1lRAc$eQM~?^HJvYR^F( zR;{BynbK>kq}s`7F+ITb8RPY!Vs;g=6(?gT<342%Z;=jP_HyhL754bp=&M~>tLkMd ztAUmJc3pjx)US(HsY9-M#bL&9=dk6h+=!(^uv)>t+T>(rZ&NvR7+_J%6LQu{Cg{Z& zQCC2bT;!D?sJaF{LuFJM$L7@8v*pllgOOJmX-%^j%N18s788+P7}i^XpwzBuhVO$r zwrdqf5g31|Pso6eY|e0gd>p}9gj={s*`wS8aF_r|sYItbpkayJgetb4mY>HLdw-K5kzW5o8q&|TII&#SFQrd09I5LuV zbiz_skxHz{#_VVX|I+4?%~QGGceM!LmuU4+-*kH{XB03*DlUKkOkk(hjzzH?mecdp0fm=y*IidHhp;r&jWM;g7X@XBF779C7z} z$wn-&7XDA2tD^cZ^QkEM&nsnrembSpd+JzV5PYC(%bva%|4Ufa(EZaN;JZ0J2-pZiC12`Xm$dA%~v>$#H zU6cQ>*pkmh!0%;_oATd2va{d+m`B!lqJRH0Y4ZPj5Y`+|)HhT0#|HhwuXdZBbjQeT zw-&Ao!vzdwITV}KAX|^Ji(x@n8EO}uZ7ul;tILk%_5P(uwh)KEhWHPlc;4K>tILk%_5P(uy<_tL)sd7qD$08jt`K_y|H literal 0 HcmV?d00001 diff --git a/static/34/rce2-files/stampoulis_antonis-rce1sol.tgz b/static/34/rce2-files/stampoulis_antonis-rce1sol.tgz new file mode 100644 index 0000000000000000000000000000000000000000..82b325502a3db76ac36a922c0233c87e8f5647ed GIT binary patch literal 1573 zcmV+=2HN=_iwFSd18YA31MOFBZ`w!@&S!qbhAOQAC$#~av|y_0)Jm1w)9Iv>PNE1c z_8K-ZYoA|2k~aVSW_H(LC~Zz^uGjWFLU=thyZg-BdN#}HDv67TXEQ4DSn%vL^_iW; z(bJ=cBFpMq1IK}E_BG`~q$_9?r_GeK8uS5QEj<-sm5 zSxZLaD&_%6SrSp78U7Mt(_SyRzcdLKIa$$blPGSO#;X?j&}a|>3K1g)2$4a6cu0(6 zHIaP$NRGAkJZ1E9C^g!Kly*8T;=v2bVXS1Z(CH}-?-~vGsr^WVxJOb+jFw!Bgxfw}~57?=yko_&s4uUR+`S*>zcOXH_tPU#Gsi1}i=GCK1;QAZ{d{424) zFSff<4i8k&kZ7BN)$=wi<`KW`ZvgnX28%LQL9~qy7vNR2FkSei?J&NYOtty1-@JVV z^*=1jjEkhmC-$>xSurUN!1}_^NkX%19gucX;psz(6q_a5_->MR5aa$ZxPsH3$6~7> z%ReY15B7&~0?uvHB43_evKuVsw7D&o5WsE<O+zdCHq$;fU?bCD5@7YIt@El9&$$RSwZjiuu!SZBX@W6lpK3Z~X z={t`kr{iQj!xv;0I4~X;QbT(Wl!~*IMT}-rM|oFrMI5kls&Xx+lssZ(D0Cq7Lgi6~ zMjPl9T_uK^YD)aA*4S3%2QS$t&d3ViXIT~&5m8~n1XSwqMax5@`I_>mNEtb~Mt8|G zYg?)+MgQy1^@GzF`aekO1rra@0N&I8Inevb{?8h89m|#dA6x+H{_k7R_tyVy897(e z>W;AP2!F(m(Ea*;5Yi*d%PbFgh;4`69gtJf>kf5c08Fu9Gx!2(@FHHDWrv85kXCR* z=G?*}RDH2Cz7Q->mga1gsJv_{pEk8kx|BkCdOOxI%4ow`ApGRUz_}*w>*}c9dUUuA zn0APx9HQr{47weAh_6zGL?J;3c_gI*nvN4=clQ@YIeIPytyVep7AKYSm6woxr?X2+ z9Jw;i(;cBS0ntk{Wd91je*_7{1tafX{yF>Y)$i{}&-%v=>TXxMb!nBF|7wq_;y*V5 zUr5bxZiYCD3lVr$DNk6snv~{E;aHLjRa1@z*p<0$?QWeAnT!e^&&IERynU;@|2=k# zJNKJvr+Da+qvUYIks60@I$8&AIZA1J-H~}7`kvo04FAMwy>L$D^SRX;hW-fn%AN4i z@tnvy~ksA`b$l`)^f zR{?JlbhyK`C39Y7!r2Mm17!QUrX&KHI9{16JN0_EwWPmqN$&@=M1AASOB|}p3zohk zsBf3q{Dq1qaI|s}kSiL&F$~S}F?`|nFIF-&U=6Z4%j7F=C|$N|*-*J{*D_%Gd(3Y6 zQL7yODzTx~X=`{u0tpR=!2GZb^4NzHLLH-x?S<$h!;iK)$u`2D`#w}tO*Pe2Q%yD1 XR8vhg)l^eWKO_AOd(c}I04M+ep$!6M literal 0 HcmV?d00001 diff --git a/static/35/alf-rce2sol.tar.gz b/static/35/alf-rce2sol.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..b7d18ca6ecd0dca64e084d3ca7d136c87d7509c6 GIT binary patch literal 2818 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 literal 0 HcmV?d00001 diff --git a/static/35/img/central-control.png b/static/35/img/central-control.png new file mode 100644 index 0000000000000000000000000000000000000000..83df113d6751c93c805169799915ed47b9433693 GIT binary patch literal 8292 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 W{J$Y#{n1p&(Mhk%y(<5m=>GvpeqXx) literal 0 HcmV?d00001 diff --git a/static/35/img/client-server.png b/static/35/img/client-server.png new file mode 100644 index 0000000000000000000000000000000000000000..e6350c98f46869f0d5fcf683b5ca6428dced86e7 GIT binary patch literal 5526 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 literal 0 HcmV?d00001 diff --git a/static/35/img/distributed.png b/static/35/img/distributed.png new file mode 100644 index 0000000000000000000000000000000000000000..e41aaa463d728e2bc82690053e62afae402bc213 GIT binary patch literal 7958 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 literal 0 HcmV?d00001 diff --git a/static/35/img/mem.png b/static/35/img/mem.png new file mode 100644 index 0000000000000000000000000000000000000000..d3d5c5a2340a5e438fe4f6146026dcdef99f6159 GIT binary patch literal 21335 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 literal 0 HcmV?d00001 diff --git a/static/35/img/modular.png b/static/35/img/modular.png new file mode 100644 index 0000000000000000000000000000000000000000..a4b8a8b1f42e1855ff36d3c430d70df953ae30c9 GIT binary patch literal 11398 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 U;lX#(h8S`y%w+-nf5vM60YJL0jsO4v literal 0 HcmV?d00001 diff --git a/static/35/img/pcode.png b/static/35/img/pcode.png new file mode 100644 index 0000000000000000000000000000000000000000..04147357f95543e7b0b2b9ed7b09f5fd1a4bf84a GIT binary patch literal 18926 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 CD%9}+ literal 0 HcmV?d00001 diff --git a/static/35/memread.c.gz b/static/35/memread.c.gz new file mode 100644 index 0000000000000000000000000000000000000000..3b878bd833b78592d84836e90542e244e96b9956 GIT binary patch literal 846 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 literal 0 HcmV?d00001 diff --git a/themes/archie-hellug/LICENSE b/themes/archie-hellug/LICENSE new file mode 100644 index 0000000..646ad35 --- /dev/null +++ b/themes/archie-hellug/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2020 ATHUL CYRIAC AJAY + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/themes/archie-hellug/README.md b/themes/archie-hellug/README.md new file mode 100644 index 0000000..de2d0e6 --- /dev/null +++ b/themes/archie-hellug/README.md @@ -0,0 +1,126 @@ +# Archie - Hugo theme +Archie is a minimal and clean theme for hugo with a markdown-ish UI. + +Forked from [Ezhil Theme](https://github.com/vividvilla/ezhil) + +## Demo + +[Check the Demo](https://athul.github.io/archie/) hosted on GitHub Pages :smile: . You can find the source code to that in the `site` branch of this repository + +![](/images/theme.png) +![](/images/archie-dark.png) +## Feature +- Google Analytics Script +- Callouts +- Tags +- Auto Dark Mode(based on system theme) +- Dark/Light Mode toggle +- tl:dr; frontamatter +- Cache busting for CSS files + +## Installation +In your Hugo website directory, create a new folder named theme and clone the repo +```bash +$ mkdir themes +$ cd themes +$ git clone https://github.com/athul/archie.git +``` +Edit the `config.toml` file with `theme="archie"` +For more information read the official [setup guide](https://gohugo.io/overview/installing/) of Hugo. + +## Writing Posts +Create a new `.md` file in the *content/posts* folder +```yml +--- +title: Title of the post +description: +date: +tldr: (optional) +draft: true/false (optional) +tags: [tag names] (optional) +--- +``` + +## Credits +Forked from [Ezhil Theme](https://github.com/vividvilla/ezhil) and Licensed under MIT License +Inspired by design of blog.jse.li + +---- + +## Config Options + +### Custom CSS +Custom CSS files can be included though the `customcss` config parameter. + +Note: CSS files should be placed under the `assets` directory e.g. `assets/css/first.css`. + +```toml +[params] + customcss = ["css/first.css", "css/second.css"] +``` + + +## Config of the Demo Site + +```toml +baseURL = "https://athul.github.io/archie/" +languageCode = "en-us" +title = "Archie" +theme="archie" +copyright = "© Athul" +# Code Highlight +pygmentsstyle = "monokai" +pygmentscodefences = true +pygmentscodefencesguesssyntax = true + +paginate=3 # articles per page + +[params] + mode="auto" # color-mode → light,dark,toggle or auto + useCDN=false # don't use CDNs for fonts and icons, instead serve them locally. + subtitle = "Minimal and Clean [blog theme for Hugo](https://github.com/athul/archie)" + +# Social Tags + +[[params.social]] +name = "GitHub" +icon = "github" +url = "https://github.com/athul/archie" + +[[params.social]] +name = "Twitter" +icon = "twitter" +url = "https://twitter.com/athulcajay/" + +[[params.social]] +name = "GitLab" +icon = "gitlab" +url = "https://gitlab.com/athul/" + +# Main menu Items + +[[menu.main]] +name = "Home" +url = "/" +weight = 1 + +[[menu.main]] +name = "All posts" +url = "/posts" +weight = 2 + +[[menu.main]] +name = "About" +url = "/about" +weight = 3 + +[[menu.main]] +name = "Tags" +url = "/tags" +weight = 4 +``` +--- + +If you liked my work please consider supporting me on [BuymeACoffee](https://www.buymeacoffee.com/athulca) + +Buy Me A Coffee diff --git a/themes/archie-hellug/archetypes/default.md b/themes/archie-hellug/archetypes/default.md new file mode 100644 index 0000000..ac36e06 --- /dev/null +++ b/themes/archie-hellug/archetypes/default.md @@ -0,0 +1,2 @@ ++++ ++++ diff --git a/themes/archie-hellug/assets/css/dark.css b/themes/archie-hellug/assets/css/dark.css new file mode 100644 index 0000000..f93adf1 --- /dev/null +++ b/themes/archie-hellug/assets/css/dark.css @@ -0,0 +1,159 @@ +body { + color: white; + background-color: #202124; +} + +::-moz-selection { + background: blue; + color: #fff; + text-shadow: none; +} + +::selection { + background: red; + color: #fff; + text-shadow: none; +} + +hr { + border-top: 3px dotted blue; +} +code { + background-color: lightblue; + color: black; + text-decoration: bold; + padding: 0.1em 0.2em; +} +pre { + background-color: #272822; + line-height: 1.4; + overflow-x: auto; + padding: 1em; +} +blockquote { + border-color: blue; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + color: #ddd; +} +h1::before { + color: var(--darkMaincolor); + content: "# "; +} +h2::before { + color: var(--darkMaincolor); + content: "## "; +} +h3::before { + color: var(--darkMaincolor); + content: "### "; +} +h4::before { + color: var(--darkMaincolor); + content: "#### "; +} +h5::before { + color: var(--darkMaincolor); + content: "##### "; +} +h6::before { + color: var(--darkMaincolor); + content: "###### "; +} + +a { + border-bottom: 3px solid var(--darkMaincolor); + color: inherit; +} +a:hover { + background-color: var(--darkMaincolor); + color: black; +} + +.site-description a { + color: #ddd; +} +.site-description a:hover { + color: black; +} + +.tags a { + border-bottom: 3px solid var(--darkMaincolor); +} +.tags a:hover { + background-color: var(--darkMaincolor); + color: black; +} + +.site-title a { + color: white; + text-decoration: none !important; +} + +.header nav, +.footer { + border-color: #333; +} + +.highlight { + background-color: #333; +} +.soc:hover { + color: black; +} +.draft-label { + color: var(--darkMaincolor); + background-color: blue; +} +.highlight pre code[class=language-javaScript]::before, +.highlight pre code[class="language-js"]::before { + content: "js"; + background: #f7df1e; + color: black; +} +.highlight pre code[class*='language-yml']::before, +.highlight pre code[class*='language-yaml']::before { + content: 'yaml'; + background: #f71e6a; + color: white; +} +.highlight pre code[class*='language-shell']::before, +.highlight pre code[class*='language-bash']::before, +.highlight pre code[class*='language-sh']::before { + content: 'shell'; + background: green; + color:white +} +.highlight pre code[class*='language-json']::before{ + content: 'json'; + background: dodgerblue; + color: #000000 +} +.highlight pre code[class*='language-python']::before, +.highlight pre code[class*='language-py']::before { + content: 'py'; + background: blue; + color: yellow ; +} +.highlight pre code[class*='language-css']::before{ + content: 'css'; + background: cyan; + color: black ; +} +.highlight pre code[class*='language-go']::before{ + content: 'Go'; + background: cyan; + color: royalblue ; +} +.highlight pre code[class*='language-md']::before, +.highlight pre code[class*='language-md']::before{ + content: 'Markdown'; + background: royalblue; + color: whitesmoke ; +} \ No newline at end of file diff --git a/themes/archie-hellug/assets/css/fonts.css b/themes/archie-hellug/assets/css/fonts.css new file mode 100644 index 0000000..156ee63 --- /dev/null +++ b/themes/archie-hellug/assets/css/fonts.css @@ -0,0 +1,38 @@ +/* fira-sans-regular - latin */ +@font-face { + font-family: 'Fira Sans'; + font-style: normal; + font-weight: 400; + src: url('../fonts/fira-sans-v10-latin-regular.eot'); /* IE9 Compat Modes */ + src: local('Fira Sans Regular'), local('FiraSans-Regular'), + url('../fonts/fira-sans-v10-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('../fonts/fira-sans-v10-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */ + url('../fonts/fira-sans-v10-latin-regular.woff') format('woff'), /* Modern Browsers */ + url('../fonts/fira-sans-v10-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */ + url('../fonts/fira-sans-v10-latin-regular.svg#FiraSans') format('svg'); /* Legacy iOS */ +} +/* roboto-mono-regular - latin */ +@font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 400; + src: url('../fonts/roboto-mono-v12-latin-regular.eot'); /* IE9 Compat Modes */ + src: url('../fonts/roboto-mono-v12-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('../fonts/roboto-mono-v12-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */ + url('../fonts/roboto-mono-v12-latin-regular.woff') format('woff'), /* Modern Browsers */ + url('../fonts/roboto-mono-v12-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */ + url('../fonts/roboto-mono-v12-latin-regular.svg#RobotoMono') format('svg'); /* Legacy iOS */ +} +/* ibm-plex-mono-500italic - latin */ +@font-face { + font-family: 'IBM Plex Mono'; + font-style: italic; + font-weight: 500; + src: url('../fonts/ibm-plex-mono-v6-latin-500italic.eot'); /* IE9 Compat Modes */ + src: local('IBM Plex Mono Medium Italic'), local('IBMPlexMono-MediumItalic'), + url('../fonts/ibm-plex-mono-v6-latin-500italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('../fonts/ibm-plex-mono-v6-latin-500italic.woff2') format('woff2'), /* Super Modern Browsers */ + url('../fonts/ibm-plex-mono-v6-latin-500italic.woff') format('woff'), /* Modern Browsers */ + url('../fonts/ibm-plex-mono-v6-latin-500italic.ttf') format('truetype'), /* Safari, Android, iOS */ + url('../fonts/ibm-plex-mono-v6-latin-500italic.svg#IBMPlexMono') format('svg'); /* Legacy iOS */ +} diff --git a/themes/archie-hellug/assets/css/main.css b/themes/archie-hellug/assets/css/main.css new file mode 100644 index 0000000..00fcfb4 --- /dev/null +++ b/themes/archie-hellug/assets/css/main.css @@ -0,0 +1,330 @@ +/* Markdown */ +:root{ +--maincolor: red; +--bordercl:rebeccapurple; +--callouctcolor:dodgerblue; +--hovercolor:navy; +--darkMaincolor: #50fa7b; +} +html { + color: #232333; + font-family: 'Roboto Mono', monospace; + font-size: 15px; + line-height: 1.6em; +} +body{ + display: block; + margin: 8px; +} +* { + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +::selection { + background: var(--maincolor); + color: #fff; +} + +p { + font-family: 'Fira Sans', sans-serif; + line-height: 1.5; +} + +hr { + border: 0; + border-top: 3px dotted var(--bordercl); + margin: 1em 0; +} + +blockquote { + border-left: 3px solid var(--bordercl); + color: #737373; + margin: 0; + padding-left: 1em; +} + +a { + border-bottom: 3px solid var(--maincolor); + color: inherit; + text-decoration: none; +} +a:hover { + background-color: var(--hovercolor); + color: #fff; +} + +ul { + list-style: none; + padding-left: 2ch; +} +ul li { + text-indent: -2ch; +} +ul > li::before { + content: '* '; + font-weight: bold; +} + +/* Images */ +img { + border: 3px solid #ececec; + max-width: 100%; +} + +figure { + box-sizing: border-box; + display: inline-block; + margin: 0; + max-width: 100%; +} + +figure img { + max-height: 500px; +} + +@media screen and (min-width: 600px) { + figure { + padding: 0 40px; + } +} + +figure h4 { + font-size: 1rem; + margin: 0; + margin-bottom: 1em; +} +figure h4::before { + content: '↳ '; +} + +/* Code blocks */ +code { + background-color: #f1f1f1; + padding: .1em .2em; +} + +pre { + background-color: #ececec; + line-height: 1.4; + overflow-x: auto; + padding: 1em; +} + +.highlight pre ::selection { + background: rgba(255, 255, 255, 0.2); + color: inherit; +} + +pre code { + background-color: transparent; + color: inherit; + font-size: 100%; + padding: 0; +} + +/* Containers */ +.content { + margin-bottom: 4em; + margin-left: auto; + margin-right: auto; + max-width: 800px; + padding: 0 1ch; + word-wrap: break-word; +} + +/* Header */ +header { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + margin: 1em 0; +} + +header .main { + font-size: 1.5rem; +} +h1, h2, h3, h4, h5, h6 { + font-size: 1.2rem; + margin-top: 2em; +} + +h1::before { color: var(--maincolor); content: '# '; } +h2::before { color: var(--maincolor); content: '## '; } +h3::before { color: var(--maincolor); content: '### '; } +h4::before { color: var(--maincolor); content: '#### '; } +h5::before { color: var(--maincolor); content: '##### '; } +h6::before { color: var(--maincolor); content: '###### '; } + +.meta { + color: #999; + letter-spacing: -0.5px; +} + +/* Footer */ +footer { + display: flex; + align-items: center; + border-top: 0.4rem dotted var(--bordercl); + padding: 2rem 0rem; + margin-top: 2rem; +} +.soc { + display: flex; + align-items: center; + padding-right: 1rem; + margin-right: 1rem; + border-right: 2px solid; + border-bottom: none; +} +.footer-info { + padding: var(--footer-padding); +} + +/* Common */ +.title h1 { + margin-bottom: 0; +} + +time { + color: grey; +} + +/* Posts */ +article .title { + margin-bottom: 1em; +} + + +/* Callout */ +.callout { + background-color: var(--callouctcolor); + color: #fff; + padding: 1em; +} + +.callout p { + font-family: 'IBM Plex Mono', monospace; + margin: 0; +} + +.callout a { + border-bottom: 3px solid #fff; +} + +.callout a:hover { + background-color: #fff; + color: var(--callouctcolor); +} + +.site-description { +display: flex; +justify-content: space-between; +} +.tags li::before{ + content: "🏷 "; +} +.tags a{ + border-bottom: 3px solid var(--maincolor); +} +.tags a:hover{ + color:white; + background-color: var(--hovercolor); +} +svg{ + max-height: 15px; +} +.soc:hover{ + color: white; +} +.draft-label{ + color: var(--bordercl); + text-decoration: none; + padding: 2px 4px; + border-radius: 4px; + margin-left: 6px; + background-color: #f9f2f4; +} +.highlight { + position: relative; + -webkit-overflow-scrolling: touch; +} +.highlight pre code[class*="language-"] { + -webkit-overflow-scrolling: touch; +} +.highlight pre code[class*="language-"]::before { + background: black; + border-radius: 0 0 0.25rem 0.25rem; + color: white; + font-size: 12px; + letter-spacing: 0.025rem; + padding: 0.1rem 0.5rem; + position: absolute; + right: 1rem; + text-align: right; + text-transform: uppercase; + top: 0; +} + +.highlight pre code[class=language-javaScript]::before, +.highlight pre code[class="language-js"]::before { +content: "js"; +background: #f7df1e; +color: black; +} +.highlight pre code[class*='language-yml']::before, +.highlight pre code[class*='language-yaml']::before { +content: 'yaml'; +background: #f71e6a; +color: white; +} +.highlight pre code[class*='language-shell']::before, +.highlight pre code[class*='language-bash']::before, +.highlight pre code[class*='language-sh']::before { +content: 'shell'; +background: green; +color:white +} +.highlight pre code[class*='language-json']::before{ +content: 'json'; +background: dodgerblue; + color: #000000 +} +.highlight pre code[class*='language-python']::before, +.highlight pre code[class*='language-py']::before { +content: 'py'; +background: blue; +color: yellow ; +} +.highlight pre code[class*='language-css']::before{ +content: 'css'; +background: cyan; +color: black ; +} +.highlight pre code[class*='language-go']::before{ +content: 'Go'; +background: cyan; +color: royalblue ; +} +.highlight pre code[class*='language-md']::before, +.highlight pre code[class*='language-md']::before{ +content: 'Markdown'; +background: royalblue; +color: whitesmoke ; +} + +/* table */ +table { + border-spacing: 0; + border-collapse: collapse; +} + +table th{ + padding: 6px 13px; + border: 1px solid #dfe2e5; + font-size: large; +} + +table td{ + padding: 6px 13px; + border: 1px solid #dfe2e5; +} diff --git a/themes/archie-hellug/images/archie-dark.png b/themes/archie-hellug/images/archie-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..2bff9edfdb8cd976b3728bf04f61d939e0693b63 GIT binary patch literal 109628 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 literal 0 HcmV?d00001 diff --git a/static/32/challenge0.bz2 b/static/32/challenge0.bz2 new file mode 100755 index 0000000000000000000000000000000000000000..d85fe02e1d75d88cc1b4d81a325dd307c8b4b856 GIT binary patch literal 10493 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 literal 0 HcmV?d00001 diff --git a/static/32/img/fig1.png b/static/32/img/fig1.png new file mode 100644 index 0000000000000000000000000000000000000000..2df582bb44c7e2b114f307a33e2b29e1dd01472b GIT binary patch literal 5896 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 JELV4k{eSrH+b;kB literal 0 HcmV?d00001 diff --git a/static/32/img/fig3.png b/static/32/img/fig3.png new file mode 100644 index 0000000000000000000000000000000000000000..e57b854c6a73e8a8b3e989844c04371d7c1aa1ee GIT binary patch literal 3324 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 bWW%O0kTKOW@`$^Si~uMHS7d{|U-G{J0YQ$6 literal 0 HcmV?d00001 diff --git a/static/32/img/fig5.png b/static/32/img/fig5.png new file mode 100644 index 0000000000000000000000000000000000000000..53a8ac58d10212f029722e0434d8a1020caa8221 GIT binary patch literal 2058 zcmV+l2=(`gP)%5j7Iy#u2bW1i zK~#9!?Od&&qr4W*-1nNwR92?4GIk{+M^d?x{s|ygf?Wr;4(vK&#}Qjc>^frCamDl7 zbMv-S+HRpAJ9)(X_(;eDIXyXFnU}urnTN-1@t=DW@c4}IV&`!Oc(L=i1H9OI+yP$f zJnjH5b{=A&7|B)m~k|Z}6=)d=VQ;!FNlu`(BgMnUrmcrxq_~+ZVZ};Z# zH$W+6jA4v%&gr7HcDvm&#ukeOW2~yG*=$A)thGOW{MhYwtJP{ER$A-#_xHtOF`Lbl zQc5Wy#B4UxTJLr{tu+k|GQWQP0###-QfjqYS!>_l->Kth%zBTj5yx?!=Y8MTbuFcA z+ZNZ$vh4d_2!T@}L>$LBZki?tg0Ab(JqUu)S#@1kmSr5raU7><+I3ymbyCW@uE8*l zV=&yKdaUD!+`LP1Evl;0T1QdD7?V;OV_+T?MG*vn)|y(TX-dbN%_fdx(tJ|NDTsw( z$QaXFV=T@&_>cjI(>bT@V4DmaOVcj ztdvqIg)7!t5)@awTuH5}3a8du7<@FH*VA+5Y>xxk0}v*w{M#rw|h3$;|Cj@>;(*L5@naU9om-S<6$7o!l{8+Y%tu4_ba z4o?p|(tC}<(~I4$(KHQ3%kn%A!w|=9+va)RGz~&)_ojIiqww@%cWVSe040H$bM;Ew zwr$&v8(W+ zQqIO01l6WPp64*nwbpLHg8h!-j%C?d|RR_wP!n zFbs>L*zI;-zI+)b0FxOUf*>FZdUSBkSF085^bbEcs6M#xUCDDOZU>(Q-d0`LjIkgH z*6Veernoo|KO8RG5<*Y}oW_cx2(yl{*l*X}&E&w(az}UbQS9Hbb$k>d1bPi)v)M=~ z;bT@+m1S93mba+_axukE`T= zfV!@gQdyS4qG+1t!)ELC`kK%E84!ly>EHQD>rV(l&NJ+izVD+bn!?-SoRbfqrfC#K zbc->DTW#CAw4*3W({%4SZeZd}bX|vniztfXI6jPnc#Mb>$uX!mvO-9;D5a25aTSt_ zOBY#ob|%N=!w&LMbkS9Nu+NfL%3BB)UmL80D$k^L+fmdZTOsT2&w zWL?*}&NGFbu1A`tZupUNPQisR3{lWlmSx+vE+xDI?lw&WKG0b73iw;sHL*QLyRPf8 zLbVm_0NrA zsf1zY=0P17{4r{XbyvMeWZt&WOa+qQ8WW2!#9`&_;rr0wZw|E(DEWCtqvp3cRCn>-3_ zSh~oIAUo%J+1A>x!Lt)WxOp!9uTmL>8ZP1Ec(qX?+`sIn~GjLU;C z@13$|usZfG$BOk&;#1gmWG#)#at1-n!vOnCvIJIK``!ID9FHKXdeU!}`YyF*K zBUzs3NLF=Scm6*R@?!UJpvfb1igubkApUIsqF-bm4pK_m(qXNgX!FWgh@uENj4aE} z=jj6|j|ein;B!3qb{?3g>-GBlyoC=JKO)F}e`GyJ5JFtK(avi-j}dUJ+~F9!*m>Lm o-lg!k1H9OI+yP$fJnn%10jAS(?s92hSpWb407*qoM6N<$f<>t7xc~qF literal 0 HcmV?d00001 diff --git a/static/32/img/fig6.png b/static/32/img/fig6.png new file mode 100644 index 0000000000000000000000000000000000000000..2c3d45c264676937eab28c3aa1ff5671065eb92a GIT binary patch literal 1419 zcmV;61$6p}P)nm-|g0EXF_fA(Gg!vHKq<{+>TnM1%rWDWrfkvRk`MCK5%5Sc^3 zLfjDVJ*uk0Fbo)m0nRy8RkioB4gm{sL%jD8LLkp`SZkrRh7bZ-mhHW?-TA|nm2If1 z3R-JaRfVdmP}g-Fdw6(2-}iejaaY(PZiG?_LI|{N3$1m0-+PZ?7y!J9^{m#Bg}4z? zN&tX!ZX!hI9F$T35CwTgScn@!){le-{O_^>yt9^Pf`zytW9vt+hhadPrt!7+9@bho z=k{Liru@720?tI+wlPi=LclqPx~?IFh&$>eNdN#ZFE6LEjx59tan7MEO9&w_3zuO z2=Sp+{K#tlW^NK9{bI+l%rFcv#_at)m>meW%G1S5XJqxR zc}=bK7RITIzkz-j%)XRm`B$I6d9(8P_=vJBV?b@Kg|!w<)9n2$m>hcrzmwNfDjfVZ=BKO5}tiRS8&bi6ylC2JUI_EaO=h1k2dP3j#(J=ft*7)zP>q45QK`9lQrupzX z8gH5=#*14~*YzZZJqr}8|72FXX07$7xj!jow3w84{OwSSC>?TL8lx6cg2D)@Kaa1U zf0nLy&cRwcnTO)^s;Z!rT3o|?erxUO@3dvx>nb5iDWSE7)|xjVBdoQ^^Bl$)XsstH zsqvUG2A9hvio`jGBuOUmtoI(z&(8qfgx9t$+O|cOWw6#lDFtIpyoRo$`KTvm2@?4D z@WuQ`Fu#8DQtsX+`JQa)n#;1B+^Z;x=pL8Wk)~-ViXs$65&FIlP18)=X;Bm*Ns{$raW?QO5$W@~p~E7$zdeU`?$t_wnlm_=xsCP*pYjnf#-Gv5hI zDMQmVq3gQnR<+ilEX&Df=OjrI>bj2EkFM*2F=o*<&(}kcdmqntPqwlyf$tjn2T!chAA~hJKFJF^b9^bDZe)3 zu}jC9*7w*@Sy~9*z;2$ewMlY!R8ro^7uzMCK5%Yi14s3z0blEJWrIun?I; Z@E_qN7rS1N7Qg@i002ovPDHLkV1gjNr;Pvr literal 0 HcmV?d00001 diff --git a/static/32/img/fig7.png b/static/32/img/fig7.png new file mode 100644 index 0000000000000000000000000000000000000000..9de570553eb29167ef9be616e50d578b9c317f93 GIT binary patch literal 34289 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 a2mVyTdG{FX+q@9)dMd3X^+m!s=>Gs@0ZaD) literal 0 HcmV?d00001 diff --git a/static/33/challenge1.bz2 b/static/33/challenge1.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..8347226930c2c31d24ccb26174868173777d668f GIT binary patch literal 6465 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 literal 0 HcmV?d00001 diff --git a/static/33/img/net.gif b/static/33/img/net.gif new file mode 100644 index 0000000000000000000000000000000000000000..fb47b2bf99166ec9b53d9b1e9753a7c050661996 GIT binary patch literal 12475 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 ZcLEi~g$_~;{e=!Q?R$j`{`(Ig@;~~4^z#4! literal 0 HcmV?d00001 diff --git a/static/33/img/stack01.png b/static/33/img/stack01.png new file mode 100644 index 0000000000000000000000000000000000000000..bade9df4b768c80b6e0bd08b682c0fcdae588786 GIT binary patch literal 22172 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 O*9@MnelF{r5}E)AQKHNM literal 0 HcmV?d00001 diff --git a/static/33/img/stack02.png b/static/33/img/stack02.png new file mode 100644 index 0000000000000000000000000000000000000000..d6a2b0b5af67a48f2afaadca54efa041374a1a88 GIT binary patch literal 7326 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 AN&o-= literal 0 HcmV?d00001 diff --git a/static/33/img/stack03.png b/static/33/img/stack03.png new file mode 100644 index 0000000000000000000000000000000000000000..998f900089d2dd69ec6342f8b439faa141bdb4f1 GIT binary patch literal 6943 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 literal 0 HcmV?d00001 diff --git a/static/33/img/stack04.png b/static/33/img/stack04.png new file mode 100644 index 0000000000000000000000000000000000000000..4277be1a2a3aedf95fd59e9e692724932c09aaf7 GIT binary patch literal 11682 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 YGW`#gj++L7YU&5dAPxB{S(D)Z07Z;V^8f$< literal 0 HcmV?d00001 diff --git a/static/33/magaz-ch0-src.tar.bz2 b/static/33/magaz-ch0-src.tar.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..80258943c2963d43f92ce062ba2cdfaf82b48003 GIT binary patch literal 15263 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 literal 0 HcmV?d00001 diff --git a/static/33/rce2.bz2 b/static/33/rce2.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..903773eebe660b27aa86199362101f183231d8a1 GIT binary patch literal 1722 zcmV;r21WToT4*^jL0KkKS!rK|TL1)jfB*mg|NQpn|MLI;|NsC0|Nj4e$HDCh#%s-C zaOZArUGLBZbq@^y2v{;|&Ke>#nwhEUPg6Za(=uu>Mw%LEXwzy8)Mz%K83u+x4H{@< zX`>_38UWKlpu!q727my`w3=u&Pe3M#rXqNg6H_%NdZRLjsKE?+iL^|flh6bjF$a_| z2my%6k&%E#N1}R|j2b4H10x1RKpF;`4F)Da4Ge=u0RRS?G6M(FQ0ilp+z#stAMnGW!lOV~aO$lmVas4@dxbG6c4NBH!`# z;B~qqoR0-U4^Q?fDI`t;Am;7YP$R&$*#1b4zCH}hYrt>oXPc>zqkznK;-LggT|BUv zwYRvr@5IRp?iGEDa}GTtPGJndi86v%qHDssn9c+w0OnUkZkrFzZaN39*kB(5AJKR= zd1~P+D$o%O^8nzLvz$ppAXHcz8Xj{OcV*e_@ld3tZjr_IZ0=#RF~7-nsMf9FUOP^a zt>m8>B`0DKgz0Zd7t*TrqQ-!l$CF=MQUodXXUaE{@l9gT`21k9b2*EHW}RA)P@w4( zYe}qH{W1Z-=?4gcFq#Bm3=W})j5rmxB&0MD;iPJqX&MYxDjIDUm$70{q0Pyw4N2C? zu~9fChO1yVRWOY+0+y(1!=a^!%GeI_0;(dmh++vjIA9Vt5F3Avi+U1qcwK$39v#VWO2ADA0v0yMZjOB5$WJ{@qWXgjA z>I^&B449@y4%RWoBV^J8NW^2czys5>BUJ_qKyA4DuTQ*;O-1#(?Y8^YROM4_#5#mBiB_qMGNuLu zViU|DI8ZE$mV#S!2l#JcRt=?5@eGrozKsII(OP%YEJ1=|kl=*Ds}rCH9{k#6lT-*V z#8Rh*kxAjK!VNw(+1DcAvES*Sh!86CoDa^7soL8pK{PaNs^svH_@yj0QFANCpdW`> z6jFpx0<}BNG=%We+24tb8KWUwjBL2xeLKBzkGwh!oX?AEKYWd1{>%DGhcuCrw=%U8 zMT@?Rn~tX?duVpB#-eUwnr;%`hXw)LVSeo}+>?0p+dwfpKRr)g2t`@eUcK$Z74J(|7 z7oI8Fkv4=#LC$kC(4{Hw-Q8%~cWxcUEKt;i6U3ffvVCg@r!G~>oWI1v23r2i(b#JN zg^LKR_46Q}@Y71>$lEe|?jt)?MkX87bOKPNuxm`aR2UR;8RRA9nQA19K#<`1@v2CC z*!_wlA(S@QtX=K*v=mSxAldKt2}$YREiu{MN<^@n5mshA4n`nER#d3smy0(oiojy< zFO2j2p<{=fx^Mv^qzqX!qZw=CAqJ5Ju`q*!cBCceN)Li+@wGJ5 QzOV6jBvXY629@|#u&2!&s{jB1 literal 0 HcmV?d00001 diff --git a/static/34/fw.rules b/static/34/fw.rules new file mode 100644 index 0000000..170d0af --- /dev/null +++ b/static/34/fw.rules @@ -0,0 +1,159 @@ +#!/bin/bash + +if [ -z $1 ]; then + # command line argument, SSH . + echo Disallowing SSH access... + NOSSH=1 +else + # IP address , SSH. + echo Allowing SSH access for $1... +fi + +############################## +#### ##### +############################## + +## ping. +/bin/echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all + +## broadcasts. +/bin/echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts + +## source routed . +/bin/echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route + +## ICMP redirect. +/bin/echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects + +## . +/bin/echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses + +## reverse path filtering. +for interface in /proc/sys/net/ipv4/conf/*/rp_filter; do + /bin/echo "1" > ${interface} + done + +## system logs (/var/log/messages by default) . +/bin/echo "1" > /proc/sys/net/ipv4/conf/all/log_martians + +## router ( ). +/bin/echo "0" > /proc/sys/net/ipv4/ip_forward + +################## +#### FIREWALL #### +################## + +## connection-tracking modules. +/sbin/modprobe ipt_state +/sbin/modprobe ip_conntrack +/sbin/modprobe ip_conntrack_ftp #ports=2121 +#/sbin/modprobe ipt_owner + +## rules +/sbin/iptables -F +## custom tables +/sbin/iptables -X +## +/sbin/iptables -Z + +## By default DROP () ( ) +/sbin/iptables -P INPUT DROP +/sbin/iptables -P OUTPUT DROP + + +##################### +#### #### +##################### + +## +/sbin/iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT + +## ( rules, ) +/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT + +if [ $NOSSH ]; then + # . + echo +else + ## SSH + /sbin/iptables -A INPUT -p tcp -s $1 --sport 1024: --dport 22 -j ACCEPT +fi + +###################### +##### ##### +###################### + +## +/sbin/iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT + +## SSH +/sbin/iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT + +## HTTP +/sbin/iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT + +## HTTPS +/sbin/iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT + +## POP3 +/sbin/iptables -A OUTPUT -p tcp --dport 110 -j ACCEPT + +## SMTP +/sbin/iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT + +## DNS +/sbin/iptables -A OUTPUT -p udp --dport 53 -j ACCEPT + +## FTP (command) +/sbin/iptables -A OUTPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT + +## FTP (data::Active) +/sbin/iptables -A OUTPUT -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT + +## FTP (data::Passive) +/sbin/iptables -A OUTPUT -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED,RELATED -j ACCEPT + +if [ $NOSSH ]; then + echo +else + ## SSH server . + /sbin/iptables -A OUTPUT -p tcp --sport 22 --dport 1024: -m state --state ESTABLISHED,RELATED -j ACCEPT +fi + +## ICMP +/sbin/iptables -A OUTPUT -p icmp -j ACCEPT + +## dict.org:2628 +/sbin/iptables -A OUTPUT -p tcp -d 66.111.36.30 --dport 2628 -j ACCEPT + +## Importing OpenPGP keys pgp.mit.edu:11371 +/sbin/iptables -A OUTPUT -p tcp -d 18.7.14.139 --dport 11371 -j ACCEPT + +## JETDIRECT printing +/sbin/iptables -A OUTPUT -p tcp --dport 9100 -j ACCEPT + +## Whois queries +/sbin/iptables -A OUTPUT -p tcp --dport 43 -j ACCEPT + +## NTP updates +/sbin/iptables -A OUTPUT -p tcp -d 128.2.4.21/16 --dport 123 -j ACCEPT +/sbin/iptables -A OUTPUT -p udp --sport 123 -d 128.2.4.21/16 --dport 123 -j ACCEPT + + +################# +#### LOGGING #### +################# +## /var/log/messages +# tail -f /var/log/messages root + +## Log TCP . +/sbin/iptables -A INPUT -p tcp -j LOG --log-prefix "iptables:IN-TCP DROPPED:" + +## Log TCP . +/sbin/iptables -A OUTPUT -p tcp -j LOG --log-prefix "iptables:OUT-TCP DROPPED:" + +## Log +#/sbin/iptables -A INPUT -j LOG --log-prefix "iptables:INCOMING DROPPED:" +/sbin/iptables -A OUTPUT -j LOG --log-prefix "iptables:OUTGOING DROPPED:" + +## iptables script diff --git a/static/34/img/ads.png b/static/34/img/ads.png new file mode 100644 index 0000000000000000000000000000000000000000..4fa1fe35151afa4472d0d9e74cd185a600793f57 GIT binary patch literal 155017 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

    *tGtjMq2$YO6=j_$r4kZS0b8=1T$4hE5}4# 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 literal 0 HcmV?d00001 diff --git a/themes/archie-hellug/images/screenshot.png b/themes/archie-hellug/images/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..1a262e75bbc96e2a3c2d0392d5324fac95fe015f GIT binary patch literal 207481 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

    #_a!E>MefypYX6XyxFhK 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 z

    e?g~4gU99HohT?00vT*@qv1*z!T-e%);;*%`$q6o_CW%Kr&O>=MPf-Y| zZ7TNiDJp#F2YQIPch&N-fbK29(Qjd6Y2Wwh#cnHeM&gG_6$%tm*eRrJ!d-TI(%TRV zMvk^B`U?gJ3r!p!;l8Ms<50r1tv32=gMhA*u1MJi3egZQ&z<*`T(zn#+0I%>z3T&( z%zbr})Rl)7P*tQ<|K%&oLh5l8C7FMDZ!X?&w|}%orS6T1!g5_ZJMBx^WKMWdoW2pqUvcdd!V8^oWv!eo{e76`WnOqYqs)|;&8WiC zL`~2*SDV|!uWr<+;cyP9ON%Y~CTcI|>Kfkai1MZnxR#Kvdp^?!QBJfm^&)5)re>9v zuGk$67)+laWnq?G_M~TR|8}@PKBclr_!{i&r9taxmo5r#DM?zl@xo1~lhp&n%6 z-a~iu%F0S7MZ9*Vr8D&^3eQmuq&JvQL}y6|wx(ybslUBKVUW!N$=;I7G9IvJp*nQ# zv~|y`S}V}al60Ee?am%*&9B3;?;)$oR!jHt@{IfWXAEImxitBvo%e7t#BZ}Ta_M+2 z)szLj3aP`xh_?rZ+xP~QKqsMg2=i^~1?ks_-of{+g+*SWVExSR7(G z54gmWslys-^uE5l1comx&ED63eOQEJdy}eRm;v@>p zzidfIVt@3VXWu;AWqYM*5OY&mOz@t!VDhEM>gppCzG{vpwR3JX8lXO+Bn{~Lz>%$i zOTElf>V6QlV6`y%2PEdBN7h=>-ri2lm&sc|Iw!hW8~JSP}oK7iM*Kln(FaKd4#_=^Gp4n?ILG{_!Yw+-nvaj zJmP&VUy_cD@4(56u>kk3`wOh82rks@sl3VAyfCscv3FE3p4NEQOy~;&|-xa zMROY)&N$8tzjmu$P+rg)7MyrZdqPaDI* zMr7L=ifnN0wnru`gvA^M!Oy{-1wJXanj|eS(x~$Nzab_%**xj|?CT z(>`)X6`$4D*V{P&*^BTuCCeCV&RNO^hhNyx+2gFaVkvXGDK z8E9^Qq?xBF>SiLYpL5lP6nH1d5e&umg9Hy1xb7aY_9O-3U)H=KXwrL>WhkAQolD6C zSWL*nTj72DuiB21nL8aW3T~leLe#kVh-(4z?k&94Q=kNQE^;v(wJa+9L#9NEaroZv zKy<{VB+lX2Ui3;N8aJjATFiq2$=iqN32Hzd*PRB?QZOd`2FGjuYUngZw38N*E-)j z)1r6O-f!Fl;lK;Upb1Ff|NGZIQlC7HD7z_^ag=7?`CH=ns;{rHW?!UQkLZZY1k3;Y zl4ul-`20~n7ETL7&xRvM1=*4NgS;g%RZG1t$a}=^Jd?nlfBoRS3h3^T5&KHryRoM{ z<1BN(p&8!QOxtqC#@a3S-xoSLQKG-Kw^3Hdytqb&BZF#dU0^4)Xs92Gcf3mz)r-K>)B?Wm)} z&n^K-KWhcej?4mXnGy7ut1TmVIO_mN@8==t@uq_6f8Hs0j-*d)4{il@a zGs(xGpSRIM>y7VhKaJ9NX+HIjn*xsfSL|%*2ec*9egQqg_{$N9WD!-CxMSjw)&0(b2I@5a5p$K$^rLz)-MDF+#UsM*akxIhV zfq~s5TuuU6fas4I40uiNHC9>|vCW4wUP5KBNLJdVE+;aX@e3Cf6T-Kx1}jp90sY>=ahTdoy5CzT#ZTsiUkc{(UP1F^q~K>@ER-dg)C3v#%y@0j|{ z1eyA=!=})y_e>%7(+w3|L4gXke1<^zdYn%cu^@g*--BJ_qw*BW+hZS$^>!;IZrL{Hid^p^9F8+J|=PFX60(@6&#?QPQ;385oV}Z7|8}6r59<(GnB_ z2pQM-L$j{i+I#8Z7#hm$-;*b{?Ka%#5isGkgHDVc;837N%5g3!!9B_;QF4na!PV%d z=q(=)OWp1NdT{W7`h58jc6~ieX{a6mjJ}ZVBX%ap1lD4Oe6#ILDtb%T&{fGL`anmA z&7_*R>o2kKH`{6{ODAkHn^}V3dsu-rY1!;|Mboyvy~|!tcir0hMN3&esoRNJYk61k zw*6`o>gABbWs4wu!8 z#r>YoCzbzlxaC2_EjOM?XkUK4zn5?AbqIr99TVGqSSogyqh<}OP!l*fG2&{*kMkNJ zd?n|)kkFUq0IfVhf*9~RbNP0p0Y)T=RFh&jSEn@i#W}I-HypE)6n!o6^*SY?U*G<|&2ZD@Zt+ts5fTS9H?fj9<{zH#6|+h(Khu>>2~0l-?JIEHc z5akq!p*0#F@il9~jSr2hj=Heg0ZNS^XXkvprpuZt;$Si|GwWhm4rn@k7PH0mEm!IU zpNPqJ{z&YunYVAye+56dqkOP-6`57~&2#B-iIm%B&yzfZg=IJ4-9>kIz3k=5rMYS! z$uP)d;6ARopJn*CCjo4f(lS1q4NPA7%Gl3C|G+TbO`X9wOz8$*tKWq z$#Yxiu|oB?SV|MZ4rkY?~=X!k@Q3$rlrhgAkv~yZbhKlp>~WJK$C=+{-fjo-B2yN`!vH<0rPO}8WD%tdIcgVTfwwmnML0zE+=zCxBd0Z`SiQx z?h_%VzT_DmCo79s^!G+ftXk?>5auMCl?MDGg{XbpT9@nB0%N47WPQbY z$iT}g$D0kf#5SdI=LMevp*7H#H=@a*TCPEEj=OPKE>SP&A>TU!)v>bb`6oQxUUraB zi;C+Dj*a^BtvE5KyzGJrH#2#3=Ot(ks+$Dp3fCd{0}CA_*;v;&x_-}*eGr$wV?9+e z(R#A7vJ|qiMEjd{N*6-Z4wW%t*ad;Z+IPnEivprdGf<T#&e4d*V55wEI*<)ZEwC zHy(-K;Z@78)+n!{rN{QG2Av|SH(>RzA*)qV;S+d-><@7v3q>`#mN&VVPg)h$+-;1L zJeSU>Q)WA6v0Xu%banN@{-ILCh<`UL)-ueF)cIYNLV)l(<`ZEy7ei8lEzyZ6<@Js3 z<+B*Max(^vmWQ@RfaQ>s^UAdA3@=#}I{TGSsKzG$>b$nUWm=0*kQAe?U4E*vF4C>jr8*(Udki zi5WIy#q|sErF+-~k5rujmKZrk6RS`MuHTd7rUZ%JTsuSYX_vMr4nqXViDUQ@R*)^p z-(@mca%0F09uteysjIPj-@LK#ZpmS@#6)FwT{iS^)m!!e-PPf6%RshyijetLtMerg@HSE)4je#hRU()9wU#P0MXOc2Nxu2Dc9m^lVRgJ zv=aPruO`$yWZ6nM;6a>Snf9?9n}w&~c96;<>uOUsa$>&>621j|x&sM)EJCiFF#nQE zXhN6exQy(Ut75rd76mQ)pcW%SGPl7cDjv+9X6J&XvOvxO=ujOF@J%1@4M z^DjQ>n=n^Ej;z2Xnky!22?6cc0Dgl5kB56xh$)vvQF7h)45MRAsSl3d-n!BU7(D;S%a%NcF?G4yL@6X8U~Z+VX3Iy zZEiCq;{Jql>Z)V1U4B`UFcFP%;kGezqX3fz{RO3R2dT<#=7dm6Rz#3=!+1Ib_T5ja z-0!k*i?91LJ3EV;Y&fT#?-x{2GKY?~Jzb4#1<^S1mwav z9!He2I5Gk=G4AlCOtEnPZioNx#pwAV0@)~_4qZ@@nx5Xgm2{p8A0ER9>e6|+iJz7 z%H6{#8Cu&~-skqNmTP~?FsQ|ZNVvkgB<`~M5dHDX<1j6HgycZy(2BqsbKFah^2$Y& z`a;(m8%#VkSE}-q=uAItw;YKlX6r@Ruu>Ju>s6L_9?S*e&}2mOU>9MR$8F>)Zjm@B za3`;e%3;#=4dXP5ic*hKY|xQA7IW>7**FOl5xssxLMT@Se?>Xy`ZU2Mc57i9V~V_; z%iBgT{9dE$`{{xd!|zeBng~D6e_3TvUqhhL!Fo}=rhIj{K=naT;^VwE`eh!XTG#bL z356~%#Vo6eOXKl=>Xqc!*v&l6{6H!ZyN9OT+PAC*t-x`ujE`jNQ%RTNh5Ng+ZDEQ6)lr7ejIhxdLRj90j!*GBJu~cMGfOt zG!M`f(+8$+0w0YOns5bV@1@`6A%bF}CtOz8T0EOg($s>YME8DA#IJjukSTBJ);f>x zdIZl9cq0$)ZQ=}=3;%lg{8tj!j&+GH-jFVa{3C3&Qj0wuN%zPr0rkaV1 zAhZ$!j8??^0Nz0&Xn=ZHd0$5Nx&9gGH_}p)Es24t_0xHmQA&$dLC$0oz)|rI(ukfi zy~YGfukX+7J~f|EYZrBm*sHso7ILlA?>QI^>BmlM)cJW#0;ao&Jo?UPcYxgx)caB< z*f5NpqsAB!M)8$-yx7~gcCz4Y)5BJIJ49Zrg`6sV;-9AjoiJYA;L+x8x~7un>e z7o4)CR!Onuz3!hYmzEJSag3*+u>DNI*?v{!5P3O+Xbbg{s$4r{_^n6#(T-w!n`f|q zjrfH*O)lzeOmW}rWH)dlK*Q)RF$FvQWj(t*wH!beA&<8kI*|zZG(=1hR;6qPho#Fp zRCNzIBE-6m3!I@~G5^+&=4Cc4UTka0S>1{~-Q|pE5k$Tc=2xo@$$P(!n!r_13Ax^y zy2K*5Mv+}KiTkV9eEzL5CFE?OS{jX|9POCIvJMuO1EC;A zzJPBBwx~*IZj0f*pt(F<4<%Ik^h@bkN#BSh;-*J`_p9KWKr%`k?_3v>GuOGXukkg# z01W|Z*8TgIr0D*JYf~%l?*{)P1YPGm8OlE0C8;HX2AUN+__OXc?#@c6d(@k1P3OUytg5)9Zi#^*=t*r%LoPAhf3wgVEthM{RxiWtqyC!n}wXFD0_; zM{GuL@NbC_m`|QT> zL#;!v!-}P=3xqhQvbp#fG!YTzenMW;Q6l%t6I7N~ScE{tnrsM|5hy9r4N8W8<)$fRu9l0)!>>qZ#mjy z%o3T?99tg|MuN{r2ed}_&asJM~Y*FUUkBT6ASWiV&mE1b|G>~&S z|2nsRvFCj!F=TvqYlZ0~@x|B3lecx_grRw>6E(W+;mpQf%WpQ~Wy)Dn_erD@=n#$*2Vy6SDfqrb#<@;z&vX1)O%At?=yzlY+~7({1uezQ-RAB-IEcX=LX z&LBhS6sCj4no`t201+rc0WPKwDW85N(H1@3=+|M9k-(TB3_VAW0AqYaeaearRt=(; zki)xn_zL1rKTaPB!a&nCjud=gDr8H_u5@;W4&~{ad~5P|0QM%ow~aiG47|oGcaB!< z_5$3yR?lU`Bt7R1;}V#hyIo>6bdHMOZR06+y@ggWwEDh3Svs|1*HFHpxIE|l(*{vB ziMN+IB9UWd@)=4A3Pe|PSMrE3g(e+xVT_6j%rRg#F7{~^1h%)$%TM>bOsgb}fk)|I z-q)v`35Td0bA1E;Cp7SSDqu{5}Qu+aEaI+kPLgOfsVSZtpYlubbv$6 z#ZO+lzahUgUR8FHT~9z&+;~8#blv>l4)xnT{F5QV!^=KTefRpadV8|3>SJJtq@4M< zY8gZy9sDrYCXcn!*`y2-t0%tRL_Sx$hdOg#(EGp>3yA6_Q}sSRP1THuk_orN1DtVh z94I8LHugu%;1Ncj-^BECV!r(cpQ6xPUu z(6zi90S~Vt8x*=kwe_`7sB6t=KsmFNFL?0i0e1V#Gu=TCT(_(r@B>@UScxA*}T zjJjT0Y;6vpoCDmus7N;5*wHzVwUw+YEcK?DpyxXaJuna~rtUCd$>&1_XctB-#oo3B zKB)gi5)6Ll$@2<}hd>vY8T9>gVaEk3N z-qim1_--q@Sh;K2OTR6T7YV*}O<;SYgM*(vGc%Jc+a(3{7t=qM2KMUS>7RKZ5hn)` zkOB^T|EwzY3+N6&mJ=@DdN?KUfPVf|{rBm{xtyY|&_HV8dDq*qu0wET4U4wI@P?q;D2idastI&%n#fM8H{x6|kNeUU3q7$87NfLyPDRR|ODT6>cP|_=cUi%-;47F)@tH$h%PwZGTd`X}d@-YnZGj4| z%%>#Rv8YE7c;&`XIpOK1v}a;3@*JYv+9K>SUU}$sNj?9UpZk@tkQrQGl54k)9!7-A zJw7srl(-&=Pm9caJ#J@^+WadJ{fF4_;V%Z0Xu^M*=-+11B=d{{#rZt->c67vuZ+oO zmf~j?kC=5gXW>PJK^yw;gs6t9d#(TB0{q)O;%O!)Lm|GxM40$^rQ)Mud~%09`IpT`?`^y&IHlMQ5+yx=y_2#?8Y4TWn_P*pC@jsj0+dT zH2aQQUh8CU@e;KPD6)aJyRsIwcQt7&KQ!b^EbiX$oml=lMeybZQ;K=xAf?Ew+zYYB zhx_Pf#nvPDU!6l*IYUxtfzCN4^P`kNSJ$NI%=hb|b;c0ugy>{SMe%(Rn7{u!4ke;f+DUxMsbF=B^3>&MCXp{AC zW@!>W1lo`~Nk77;leIW5?*ndaNaISAV%$X7-r5=yx2Zxfmx-JkHI3$;V^>y;;x(rgw|x=Tkc`t#l7?)a}a&K~Zd?mC(o)s{`^l#oH)jYcaUZ+4nUN zCEB{V7s%e!C2EIn{!*zf$dxbf84RM&0L1c*_*y5u5?U1c&V?49yvIa8=@mX_K|RGy zfj<*^vRm4P&zF!0!M<7Xq3|eCxHmKZAjI0M%zc1MZ~;-2%R|OC4OE?V=U$MO#@2#q z6ATdYJOgHmn;n37WAvoHI*K^+JA6X}2BlRiFtW*1&0r+Le3;v3TJ!`x#N5qgXTwXn zAH@|luWqjJD`ctX-ricCytvUMv))8^=Np^ zGcBwFH0<}3PEyBE63yvXiAA)~!s$rGh9$cMTTp1a4(d1S{uR^YGr^5~QNL~YD3fC8 zc#l=X>bt*~E-h}rmruB}6tJSzf)!WN# zVH2=d?b~4cI&I?E28l3BeP(T~AwjY)PB}l_-?_kd<37%9G5)b}^xR(#i%kbOKQIrS z6YRWV5CMj@nEmp|4m)4%i6}I226)@h{fNLa5AZG?V24*T1Yv+0C0#FzS6Eg7sWu~? zlVLxT$WtZBfY@3ZO|GT5Xwx97C)^XLaC;Pp?)&jrA_j8^0@a9{=XLmqpm8qNf%Z9c z)GGsl9(6+n$<56PR|*9uSE3OLeB-KkqlL8m#dnD$m~As0gy_*Oe%G z$ZfbXbgi-yRGbfmoXo9wJ1kX><*{MnPFD_h?B0tK*&e=##V*u< z@s$@TZL3mmBTtT=WoI^~400?=24fR|vu}h2iVmH`y`Nrq$QKw%93~S3<2*TQ(PRX`yq$->VDZqN~5;?k&x%m--QDBC=4#mrB$x&tB15T=Dpm%1GTI zX~lZ;H7>iy`3lBQW@ad~;9`XdUQ7L#Hu*Q28%e{TkBZj`rY>m9IHdWJT@u;nCC|iZ&kbZ6_3Go=PL$^h}uPcsUwri}> z2OAsqkmg0WaOKjZtW(vuH(W6XU$)+8cdzd{j<8-bt5dA27UQ=jsSzW!Y3`rbDfKQZ z;Qc1>GyIdO|ETvF`MM)?3jBp`yru-KuF_|W2#_DMcZ&%tKM)mpxVufsUgPe}H+MUp z0;Md5eFtVJv`?K|y!weO zAN{VgqOBQf(VJ^fBLr$eJ}^ve(FYkTwHW-$x30y{NEbqe>S?B8pN8~xojDVA&3mh2 zDV_3ZUpmyJ`CWxd?LGwR zo>B(&K?6X_K3Zrq=EnuwrK*?-U&70(PLX1N-5~9aZ>$be^~bQ^I`S3j7QT4N;K{&U4-C{KAd*^h?T(PsFgS83FGeD`QD_oZDnpI0Q1$o$#^o#uBjx4QVD)-dbm zy_6)_jkNYJF<}ILD~=pMy`4$BdPfkAH)+eCCY=aO+S!UN4mo5Y@1144ra$XOj?6EeL}hT&@JT{V$z3kEEt0f* zz7C*;bqCGLG@W<&c&*3r;e$e0u&jb$+(Dy4*jntqBh8zUD$IH98uuF6Q^OFx_2JUA z7Ad)MX-dcPmsN_wyMJ}lNfF2Stq7WUY@YfYa#Q*qBjN>lyb`>|GydgXsg2ca-?)c@ zAho_WY{?|5l|oaEm)`(5NOLKm=?^MouH2--=o0pW_6T{!%y-#&SvP>9177~(^jAKqrzKT3lTF zZpd@+RXoL~Gnc#0dd?Tyde`j(CM!@Ky6wnDNgJ1BO_t6F>-H~b?E**WL04Nh;R;Jb zj8#Nc*Lo)Fscg`p*}@ZqT~1cIJNr7ccv3QCzfx)tjeoD&IBt623d?g3i14VZ(ra%G znd#&onDF*CnR-xeAaBdXuD#(oD$D5m9|9S-zXd&Y~q|&+^ zK{22XDuVBQheA^KRdC|td$aJF{XMS0kffQ-_;-{3f-QBEZV4)mi>C0M-cIqZ&;M8I zj&lE!90H(AXO7_roemF3L9@g=CblPbr)sq@G==C9-u|u_R?bqm8GmL$Z#m`q?JZ?^ zC@_cmlea|Q;hD}$Q*`Q!7>eV|ZQcARt#~bpS@m;H3TSF|5F~rAe?C;W8iE`f)QO7u z2=azFJ0eU@6V)3UQ#TwNCCF(=&t183h*fq2LS!Xe&@NS#y>!OH zCpZV@kVjd~g5ue2yrSa$lGLCd%Fq#2X9GLl2D&z6=Xk9qEaim2JDeT?wzCl#UeP}; zD^C0Tvf}{G zVDL)KgrNcM^aL#khm=L78AKQvyo;M1;27&B;Q){+%>%h|xcvkFdbD&g9JSs{2E~VT z&TqfSGi2J=mo&=r;dWKdxuf@Kw2bf|>OG=G@g&fdV;M5kREK2sscBRf$hde{N~3DZ z%&t$1K@j(2MBLJy7QgDW8#c`bgh)0fkmtF>;K zX;9P4nOtlU#^`(Ia^W@lIMDE!rM?4?rq z`amdA1gqwqG!rM^8ZYwqRzp>tSxSo4r);$q^DKmuL$67`dKWrm@K$Vk;(bevL$@fj zy`#e*im+1Dd>LU?#+1RJW9M;zZSzrmF5m9@9|K80^xr<{#RNBt zO#44_a2(h1VTVi}gjDoIlM`X4x`i_O!#sSehW3e^Z}#CTbU+yxH%*oiF8%$JQYHh_ zRrf<2_3XhOj`UnW@dz-1Sieb6T*3hSq(PezQ>~U~sep~IeEC>&4zh`EnkM_#!JG0< zqv$a<2ap-w!{MJ|vl1z1@a;Vcl)spXKPXEIZ%)x8oSl&XPhro9S5cU7HC9i5=`oPy zoCe-6<&&?wQs(c(00Fd-jwbV^H%y7qEXpFBilF^)6KM65yv#uA*?n>YLhs@AnnPQ( z`<0bqvG?JMB0bUfS(wRfzDyrHvh3>$;OFCNGlSYJx*&z(2BJUlB5vlUqBs1V8*1#P z8@N2S`~Rwl+!!udQ4O1N(RgSndf4;c??hk^AtAfYW})Xs+q^>eBWBIKN{}HMf?fqh z=lN5Cu*GEi^l;F%je3)3Ip9D{>$MZ&_H6!U&{^?x#rzW{sjh$-w>DB#a@CZY~jfvRTZ83lQ_(nkEB6CUxd{xvW;s zeVEFLzrGT3L&htc-92mOi}+?E9`_nsds;syj?j{qUwK@Mo$0qLTkC~*Dv7t3AOerI!)d( zjNh)4;oma-m~~32TzKIG6M{FU*l~gVs<7#YOh+Nx10%Ps0e(QJVez4_-b>Eh4eIw; zLq2JDGk2&_Nh40TFiSHmG9_VP%k^KKEHh+OjtODDVNPDAD8h#nXt^&}KGu}e_6WA~ z0V3*gj*C>#8Ny>e$s6;euM3cVqLL+BcQ8M81z$)3mQ=Kg>~8#XjojFnKAYx_3Z+z6 z2fFFJp#igN<|zvNc-%vSvQfL}QuMX&Lf)2>t~D{@%d1}IS-?JaQ6lwgk-C;`GeJSb z^1#;u=`S8Yrq7&DZXL+d;7fa7iMjF^@=AdJuj*!1j7O)LXfxxdr!&UnL4AQ@ROsFg zxpn}&nm{)6+)QF5z+tWRypu{T2lb!LZld`b2QrMjXyT)s)r8i8n7dlBM(KgzLcdFp zZ?a7T$YBIXQ{HWY;?JP&uvR&*w$e1c+ep;x^BZ;G!bBBeE;zGx zSv$}}Rpkd|j^)Kg27pXgQ#EeHZ8-Dbg*xr7fX%4!d^AAudo(I7N|CnXluXK>+lg{dVLE!|Q%HB!X^N;ZI=MI9$R7fW`l(n2uV=eS2~#7Lz@9ZwIJ%_!Qmq;_y;=w*52 z!ydoIN`AI2yCHr3gZ-XZ}Urm&xKK(UAh<8to?#;}0z&8?E(%;sL>{RHj)f*4TPSfd0_`=?+kam_QN*%Rl83r^@OUBii8b&ACHoShKA0N_*pw?LyL z0WzV6>{Y9w_0zjob65w)yFH@0J(AziaNl@1R;!-P*qhOPyu}lJyLTZO6rfnDA~%k) z>bh!A#2%OiurV4etv=8z^>6v*t@z-6e8!d@Y;kpC!&mHoi7Wcw##6WC+UYl(7+k>Q zl%fxKmXv8)aR|Zr0`0$egX@@gmcw!>NvhuPxuJ|>7)b?FjRFxZlh0KVl=xxsQ1wvJ z#zT#aT&+$sUD|xNV(&xRdCJh;T)16aV3gvdO>+Y)%@}T-2hKZ>cq2_7A#~}p5;F_n z9DJN3cGJ6UR2n1hZlB*hVC_u5I1Be0Wd$La$F7J+ZLDCis&gS)vCewZkk7`AnmjwY zChz^8%^t2YHfNCAVpUy3ZoyGQ7f7N(1)wdNrnz^l^s{j64~Eg zs-XvpiV}>9R5$qtGGi9@lnKeDr-1lK*l}+f9@bZT;sOofYT#XmQp0g<{(anZKZ3^V zw7hJ!bkLl;79J$i2leB&&y~XgP9{=UkGXqWyp^aGmm+L8ea=3wdo@(RX&l( ze==Pu;YlJ#k}gQN+ki9~eFWsBG|wHO6VCkIy1=um?bd88A{Dw(Gh=J+Ug}<@_&yi1P&Z5$umMX82nC z=(1j)_(j8;fyt54{u|}{L2n3-#zSL(-RCd($RGdulE2wMe}8%n1&q6Ov3pHN=}2D> zJ`W&Ca--RCd&jPq0hqaV^SQCkJ56OU5cdBKHT!j}hzIrOoHZPLS_l$gmReoDr$5*~T&rRZ$gu8pC8j1^yK%@HY z%ntBDsDNC+ee*+we@txbwbDnTz})_Zx>{_okE?hr-2LKRjV@&B?+Jm|Q5^@N5;^yV zm7SEzwofU?{Zh8qXO={*663ynEq&IIQH%Z$0f0cOm#zfk8EOa|(7JCaz32Q3E~^;i zVE>a8M_(n;8xcNor@*bL>0zPr>0Nw&egEde!lx&fet|&4eVZsqomV3mJ!x0TKTy08 zv@+>k4gvwOb{R@t5IY-okH)x9iKjqXh))CeMqQ-95_rXeN)5UaM-ehq!L_$CNI;=X z)t1Tm{m_Fo@x)FbSy#>FyhI2%?)N0*9kEugeJ857TUacH3r(cS>%p6vipJUUqqhhQ zTAH#9`Gy>XRw=@UyeI|6ygq-^;ak5yV?1V%I@7S#0RWSws!mRW_0d2nmr)|6a*xl* zl1bLcDO|{CQH4fMpg$kv4`wZ>8dv~>F{j<02AorH5`lizb_Bi!e!uR|7B~m9Mvi%s zCU~h+A$U`*@^2u(y=xOXL#yJRJFok*hY-~hMGM~PXWtF#4dnvm+TLVIU9@|9_*H-i z7D~i{caHXFM=|=5(()k}U4URu99&cH(Szn7+9%_IH073aLNOvHuc|Q<8iH%pjj}l{z58^CQid0)9hLi~}tOviuQlW~`2VHzIMpD^gtjxKiVSU;TYN@* z5qTJBc!LzNZs)x*uaTxz=TA{lHS9s+oa)ViS6MV8>geots@5Q!lMahOKd+(!!iM(X zfQ!Li$<%scpW?gyF0cOX_P4W!*L&sL4;|;_%pJonz*zw|ihHuqd>|_m0fUYyOup%W ze8J~~{~v8{9TnyFz7H#cib@Cq(ntyjNOveA-Q7w{cZY-`(wzfRB3;rY-5@!{P$CV3 zfONfk)blx<@6of~e|~GR&KfzxGtaYU?>nyhy0063qI@1Ec3-t14~PM))t{e_B|6E`76cG(S;%ZL~u4v?q~SKRFCk4^&p64eH<&(2}|rX-mY^ zip4PL-dzrXmcbhu3X|*y14^uBJk{$@EV$S5STnT2@tB!D7jWPxEG|kWBl@QbQHvU) z=zlen8<;h+WE8f`K)6^YTRHbNo4IwV`|d83#i-}Wi<$b&?`zOrKLIN^IsU_M&jAG~ zUa3$;L?vH`rqrm8jN<9{*u`GL&VlrF=?vq)xBx39j=ipS>)OO5580uK>~$k2=T%D( zeJu0p7ZJOW+BLmv1Nzh*`4ywlARICJqF!p`n?cG?hY?J~gmM!X=#TOwo{9wGM0=ed zORPDvjTaP~uoOQ!8h#`t>-IV@adzY|isQe<5yiR=ixnB?fCkCHmBaUvySs{06o`PKX? zb=WmaTA7aP^U zdX07-&7i4btYK)XiJPw1I-!sy(+i3deJGX|^M}Xk)#2yVAvL_iCCKGhyBFSyKK`N;F z3!sO2Mf1W<@OO!BL767wEEu^Q*OB9ScE^Q!1kb)j0;Rn)h-`U>err|PXH;^TX|{1>6F@g zZ_4GsW^-EDV0U#F+%Ta|Z2!j@@yh=A(DGdl+9$`n`A;!nZ2r#wc!R~fD_ zPxhsJKw5hCkH~=R^)D*+En^I6&}G+z>gW0e`gdPbb7^VC8N}tT`my0(iNmZJq)hT70vE&GF?d>cae+WU>_D-6u?<;ZT~{ibkWKHS5}@{Hkp=~ z=VQ#as`iW3KBqMSAyA{n8S<+^tQwccXV)pKhO(#A>J9QLd20HmaiMpoWfQX4LtMLF zN%l>&nY%S!zCse=vZE7qezq?Scp$+1>Ck>-K$~XbcD%oPnezg9g}*Uyr>^gDE=~H6y#IEVKJCtJ@>f0 znS^=H(k)*ObsrTwIRd245{?@alrvuY=_6`t*LuA#Mg}j1ZlOeMr)C2_w#X@F(cOe0 zgyxjB7D{bIZJ+5@Tku-v@_;Z>@#>Wacnq%UfProI-d`*R9AyH|0w&+9yKlz|leFdv z@J3niH3+pNjkzYx3hQZk9X%g_zBJ~B9AF=#=#*LH%AZOq4(GX;b@;hC9vPY~v*Qx% zoE$PGD0duPlAQW}`5iG2-!l@+Du=a%4@(M_p5utM`o*+)fPnH3H@yTO8hU)6t2q-m zXb7KWZ-1O0BZENG;xVPsoDyxI#rL%;i-3M5`)3h`vX5rati?o9?%SmsL^~{@!!jSZ z7Xfay8F-VCOV+420qfv6yswl(^z1F&c!7n823Rq$tJXNVV7c24Ft0P0LUnE{UR=ux z1oa36o(IP%Py;=|i&19F6NJlqo^c!D@|cm$BWh)6g8@HXY}XXpl~A@BcP)2sbwr)V zv6eznl>PP|7~|TNJ}=rKPLo3Ek4|!9*z)XPerg*G5r~_2+asb}=+?al5K{JY-E0Mv zNHV8#F?N{6gv*N+v%$J{p{ipzheF}Bbcu0)EEpC4Mhe4pM9m2fqtb7`#lHJxsaN+w zVg1p2!0uXzo7fuPhz(BdRg+3!lP2-7&vAKaSe6ql9Ultd9x(ua8s%_W@*b1#c2gTo zt}WZ_&&)s%R0>W~q;iKHQhLjbdNs%Z>>Um?2)Z(3qoY95CkbTx=~Z>qsdE6xUCE1q zH)16|d;xHC-CKVE;W=D#&(jZK!yVufHEjn~9_Im;l_}#7Y=EmVIGE6J=5cJe9fiO6 zG_>Y@owSq=DD;_e18{{~H}$a#fDdsN<1Yd362mtbQev_77Y7nP_il!=uUqZsE@6ez zUR?iFzUg@TtL_^8qKO+sm8!^Wm$P;grZAom{{%Ir^S+Kqt5%pkHkHRO0M$yIfLAlauf~Gc&WI@r zL>O^#4rU-2{Jydy^eh?6yKw9xFqOl=9sgXT|Neyo!Cs-2O z@JrAKx|!jC`Oo@rX*ZFC>46qqXpkGrH-Y-2Ra+KwHNl8H&?JRrX`6D zzlMG=)9mUi4va@ar!U6db@#Ke9#R@h4-+^Dx55Z5KOhwN38bC4{?UR6rd$0=Kr>yM z#KGG8A!#^CnW-W`5-CFiAKH&CzA;#GbY{QJQA8vpV3kuU4PLqY zb3Dwj4kPfVzD^d;LI@ zc%3!!?jN8BZ)9x1d^>&}&`ZV6&ffSs!1@nw1Q>-jf?*UD6|he${wJ(MNDt9k*keOs z`j6o10?XK&3md>C##bJ5UHm@&T7n+!p$D{np)YVdmr8sV)#ET>;SNV~3#FExabo zk(7{-2%&da{`PWxvO;&U-;27vuodOsNRl@UmuxP1@{1Nidz32#X=B161~6nbcwi%- z?S`A&3~G5t+hMw5^As3B3tK)G&?zd@^Y07Ia)EUd3^~yHF|pU;GH{U`c8eLGGAAn< zbX5v(Zc`-{~tKtnDM zLR$EBKM4>S*U14rZida;orEM8BUJ2;Md{7%%B@H+4x6((}3Xt;lSxV?c?1f`jw~WN}(QsdQ1mve-B6daDfNJ9aMT0^3>$lB3M8nJpz&X z0#0Hiu#<|b!`ZX|Sq+QT(O?WF7>V>JB{7khU)}?4E!{owI|l6`p_%66gSJb=3>kCz z4y=u)nltV@`LyY*4y#g!v%VV$sxoLpX!>NM&kKxL-y)b}{O5Oj( zhZ{dB=vl~I$gfcC9+K^k7)ZY=K2MF-!~Bbto8V}wqpLkyFiD1(*OXhxXbdO~l&*z3 z!WpWCebg@m0dMUEa2-hwqxg$QOb?Ro0Z8KUVy`ykm8$}P)x{RMI+D|oGqPqdnull5 z^5$%?)+PN?$`BM=_JQ8&Xe^_)!uC?XmF1mfqoIAZ;8&`=*D#1c%YT-5f3h|uJNw9* z_1?eEyb#g#FzZm?M`Xx|7^wm|i2x41#pq`L(2k?s^Jp}}GkU;Xhz0E|aSsXDP4!iR z*LQO4i>CKNf_u$n_)yHN)1 z0Lebqn=FuYzqisX&qLR`n4T3)e&??MbAe00wyJ)e+7}4BCw!DZc;(+?f-z?RpgZs8 z{sv)M-(&+`V_A^I;kIfAV7P#!95Ps_s|sL`vZ_8n&&rUBr!zu1T!_`ht=z-YJ(1m8 zKTI*7DOb6HNBclD^nLfQw5-!<=9CPeS22jxOrjp7W>0}oiWRMPHKI{a9?;w|O=u0AzlqTJeiB1dj+;K1Fzl_ zNIB2qDjd=-Wc7?K?)S>`YB+~|58Cndte&*(+d4D=O~U=xF10OL-^M|pgdUfj#POxy z>N;s(saj6E`Soy#Cb8}OU|zOVqgJmqH`8@jqFt*s_lQK zXNFjCneA%PP`8C-H+av0pIbB?PUf%Vk7dLhIx@%ah6W}*#CCEoC0XdbiL$QPsDa*J z2WkbN$c9|loVS;ib!@QE<*+!G%+Cwj4xQ8>?T`L_){l{@t^e-Ffy=TL0E}#l0#mEm z1N2D@7M@>^=Xc8yFIiJ5Gu5t|_1OVOjW(Vn!u4y1F7-H^NHIrA++{JI26Tp^eNJGv zLIc7sPMp(Y9hB9^eMxsNnM@s#L1kqGKT!AMp=ruxTa zLjV%@dJl2|!fUxlfA7G_*T{Zg0UB8>Vb(j=sz1ik|HFU3vGUHKr!9T1XGbD{H)9vE z3{L7b6d!DO!pZ29D(W@}W#vxMkWnvzgoXz8c!O1gR5A;NVj3SqzAqR(Ac+7sK?iGE zPhx|bj>oQawtTt-8LFV!C=x!4L6H6WmBK3zU-bT{ zi#e0oO0x>DGU51@6bL#z(Tt> zoU$GSjfR}B?=S%lu4XsD?c%w*V)FG!5+*WU2oIRO7}PGz3|K{2(5@*HZbFYsd8NDS z+;ZiXQ@2ZA*8nJgAC`m+SZFugbICXhyUYIN$jMwUOLRT4YQqP+O-KQC`HB$xBhT$l znpf);aHyXnh@qRSm+4%keNtRkX}K-4yoxqX5AkR{k6w(QaYU-l*wwOXT?lf1eeqZ_ zAah0KG(i3*p!atR7a67%(oydrIONn&Va4n@604yw=YQSY&kK9k-a~|k;+0Fm0g_CA zdXqCEoI`{~6|`b};BadqH7FH?X~urx;l6J@@!H9*$RXih!nodfHz*f`6**-jBBP?B z@)CYl4~h^aG{8(FQ_35OJ z?>GK&D*nDG*Yr;pe!P`ztM#)jwc4wOQMx5#ef{wV{{B8=o(nP_|G;#KRJ}7a=juJ1HX@jG>*wG0wf-^e-cJ6N ze(zH=^Z%*w@XMng?EfF#{sGrK_5NPg|MRMY{^9~gZ>5v|aRF_}f0p`NI(sN?{UMwu z3q=KbCHhw+oc^#OL7QqQs7=q$_bLDR3IA`A`TyMWkAJ?w{)I1c#k=_Z)a?DoivBoM zUzvZsiI2l~syB>f~_tPxGQ9Ai6h>Gz?j7`u>u8iam?JtO+lmzaP2ez*PpQ3CGAwu_ayVB!8cjz6}U4NaIml_7_e zIikdQH20;dNIFIXg(txI;&IC=vB$)l@WuC_KgM zjB1D*w9H2=dlkd>;Jdo%&Rauz<%)oO4Et0m8Ezwl)7+()TrI_mLBaWMcWg#OAa%m|{IC z-WhSWrB&w|pJdlJUVMXMaf9pBbTltDh=}{4;<1~+xq@Zh6j#B~Tnk|ryL^xDwSjnE z9pAMchQfJU*9P8c9IFQrfsFN^v&^#_Ny?g_@y->(%LnYb7&y@#|53ZL{u;DU^VzG0&q$V!^#Ch9!#uuQ zx{7T7y`jRiyIFLS{g;4<(KPXAvAxcQFCIP#p_RRp1CXmixm2x=i9L>aLqaQSR3gYZ zsLq!TTYV<~>=$Y6B!FSxH=3hNQ6vc4WVdN>?0p)~Z=8Dg;5xg`gxJSTro?(~=9S{U zW921~BGDuc`5wP324XoXU}oKd_kL<$eqPMRjc9A=+NuMh04>lAo4NnlqkK~&@yzbx zv~HIl&8t9?r%=Z52n>PHLGn7^^eWlhd#dA)($(Wk5@+*Lx~WdTy?ihi>fucd`KtWE zjEhRYDVq0sL8gUf=#ejm3JQq;5SJE=)VewSanb$sssqdE1oh~wBW%f_3|Xcqw??L( zdfe9xBKnr~;I%)sti`Qb37O?yWG96o$G&A78S)z0l;aGSoi=a68*qXt*Q6R5C+p)z zC`Lt>AaCw@x_Bj!Rt6dVy`>npTWkZXlz~ogtrXhl{D9eDN6`vd{zzPCax&HKnr|Iy ze>z)*)9XCmMtDL3wK-pDPeEER_()7MM^eC)>RA}DK$Gk&@m?z4Me4q5x>-koaIr~Zhy?Y{u1sUK_-&a)Z zt3XNG8eCiJ#qxNWX9@RQFld^p+a5#xtRB7IGCO<+s#fE;VG>a`XF7_Ip^nnDg?6Iv z=OImQy>+~mG+zfeE)^J{=6D~2pY0Q06x3trlXf3f!d6KzG(fhn&?o_Uv>#_`Si?%r zfNBnI30;W|f%;;EJcQcJd0L@6BTX&u#>~S&Hb`Xus- z3Fwz5WYXlZUnZE0wtS=>x3|NZo^wxXDHvjMQh;`oX+4%vwN(WoqFREL!6rv=$_R*^ z59#2tj{KUta3l99exaQBz-(M?M0~g&dI#vCZQI*By_Ep*lI`f1llQ+36iI65z>&r4utvI!|qFjPEpjfEymX39c;8-%j2* z)|$^dv}er_*wjzGlR1*c+Hdv+Mnja92~fq$J#Gl}fgXM@>rN_*_BEI_v&fIN=*_`f zx)6R`U z)uTIseqeCBdvrFN1w-3=L zjf?OS(xZIjrF*q&K&dS1KB|uRM%23jWyFZ!c$0BTeyhbEaqn#WUT2ZrHV0z!L~9I2 z(mRZEB&&@TI)-NCt#E<;7)?tSnd%j^mq0e0QWK+h%IiAEEmJPlXg-+ z=M`PWmzFuo)9{FO=}p2tGxLrW;j zrI_Ts`C>cJaE zIP_W&0k?tTEcBxhP*bNL$FQ2D_HwLM{25qp(afe#VbRVN!y|~0 z6MJzb(80;n*p-M^Sv01aD+m|{g`DWOIP@JNc)FMjFJ_%V5Sb17HWPNq_TRpk#DT*T zU^-XZdFS9V)YaI*6W18%(=cQm&IOdD;p?M`PFSHFs7}VWV5nMko`pKTz_8Q99Bx74 zAdfH#lu1F{;E?8$FW{s{1R`fPSu>(aDQg9e31CY(72F$9t@bN!!RWUkR@jxQGrSEq zJ!ehWIPLTx))>kxPa#Qh-@S{4&r<4kE`_G8P9G$`WV>CIdM1BIsOGVD`Lr)b~7BXEX({{xUPZPV=x+ktE7ansexMXPrqfCUjxoe5HdCcbtX9||?Qoti~tQ^)2@Uh4)|NSFohJ3#= ztBfSQj#3DTGVD5%Jg4RCeg$3j_y+eibf4m9rsZ3=I~39kd`xBN8nykp7P_Hv9Kl2@ zNpt28dgxNtMsfobY5H^6m|utCYF-LtctUuSziW&9BMzh1b=5*GkqUropB5X3Q9rTf zG)kB7C`M7TBCA>4{*f1f=(PuI6{18$qd=o^I#(|+~z@Bzkk5|4HHo}|NUtRkw- z8%0G8-{JprSH*jR#8$Ilno6fJCF*euft!zq~Cz%@1UO@tudKT)J~btKxW|+ zDR6~i=ONwcmKZa2`o<~c7LK-_>AGt@e7k_rtlg@Sdp1}GB?SNDE{FN)-X!+JKGK39 z?fFUVala5I?FOxGd<^y{av0Y?6!eK_$)t$%CqtB&RU3j>1l`ZC9QmU=xlIoi-zz`2 z?Wy!iJdwDR!wO&~N=zmOti6=@-b0nY?btVD&J1^NG-YRF0@$=Ni;Y z_4Fv^{EkwoFBP@@JgZ~P7V%n$_d{N%y|nTAmT2<==2b?W476Oe;?+XGs|mwvodW4P z&^@qBcsd>DTD3PR+=g^j9NkJl6GOOu2q|xBPK?cc52hvTdA_+`F0ti&QCA$fo;L(qd2`fP+8F#vG zi1uvlA0HNW4SaDk|9UOtO7RIFzLGDxg7M$)dy9#<6;_xcW#8ES|9WeN8YP{=NQ`yq8n3VcgC9_ExU6I3^dqB z{IyB`w_7g0AdA0#kThG*l!kh8dK!t!l!(}4fByM~^W!_q3@Y^FIHmma`^db%Qh`nD z;!?`~Uza2EwwHM6ht3?@Bi|j6Ay_A;SN%+h>_`jaW{ng8URJaz~i0b1+ z&;ME|p>3?6XNKD9W$}OBC3xsNFptcv6`DUUJNQO~BCx>8%y3rc{?E6)Ec|gmxM3bt z9}!o4NrNPKe!?nn_!V0T(4K+9r0d(}BhUp?WZX{z09Kqwj~(#Fy}81B$2^flp*Gc$qFk{M>s41^z>f?>d#NX(2)^A{nFfIN}Gu2->yN%eZ+Q( zZ{`=74-SsJgqnecWHy@D2xR@jd7Uf)XMwpjkH>BA0f)teUw14MJt2wf@;&>_=_yAy z_*9L*eEQQzXEFEX5e$b<({*mjy!@`;g#d4BcuBuK4ge*1 zk&uw&^3<3eYKeEp;AHf_-8y18h|uq?<-6NI>{BiB(-5L;BkOKlEG!?XcowR{%LDlg zT9uf<$c|Mp^X$|0opFks-T#che?cRjhYK?d# z^&_JqjJpqoPG{z7QRS>dkovV= z8)cw^1->k-5jRb2CvlS^<}~WLdvJJ26+g>JYX&-|QjG?>9ajda0CArX2(fS|w%x*K zK@R2HzV74eE8XY;RKvSuZ_kNXSEQ3@3p^10-9ZU+yx!4L7tweV*m8`6!+0-9%IT#8 z-t%gBbHhT?aauQ-3O6_P5$^~6q~qXz&*-b9_MdKN8eufeS)aYy;_h0o`|dPwoMZ?& zhO|EwAthZaG}CTlM!&Wviyq|2xM6>XfeLZhc~Lv^EaRt68?TX)k&`0OkWlXfPKQ;c6VPF}nsfw2x^rEhBo%@NHJ=`7 ziN-0&Be1*Lx8~aiQiZQYKYqGh9XP8~Y5g2Xw+m%P!~=nOtVzSQ$%;Z(%-e2YLnA+$ zfAm|6p8fiz$<0h2hHZvM2scbo`eXnT_{uxvWKHGf5jF19wJw#`b4W+~n;2eRUb}VI z;VhtMaDyC!bAfkU%eaux$F0tFR}PFMdg2zDRZm5dAA@ z3OUP{e}({^VnRk1vOo_%(;JY6UTaV)*(P=eS;miBT!&)_9FPH;o4H20^Ojx`p9@xM zYU(1l60%dL(=}kV=ZRE7$I_LTQc9(-2`{}MlU<22GELoAmnhKEh=apIO7d+?l@$vbB12g2P>{*P7 z{}#dVwEW}!%5%`66vu7%J|UYCr++eC9>D$#-sC z;rOi^3`0haQ=mqDS0aIM4`RK@pfj})m(v4Cc1p1V@zW4OPRsku+8pAf*lw?nfqc2m zQXk}Q>G)8>tmnoAdzsq$6%4+2EqmtUC9NwtzyjoG!3(nO{QNUUnCrnl8789n_**wY z_8bwzJ%>5pK^W-_ZX{qcX(%lMzuqs@tSEQ^WaE#EZRVeXehsMwMowJm=#Q+Rs@Kx! zd(CFC2mb^}oCg<^ncCijv#@HnYy%~9*Ipg>6t));t|oGs5;#Ckyg5&J^^Tw+nACXf z>t(;Mj$XSXsy54??`hRK4`@9cEpV-Me0lA+?mNR3iRF3W|KdhP53NBV@QqNC7nwmB z%_qyzz&IktWRE@dQk?iL5)zUE+e%4Br`s^Ym}Y zM&FNe-2dc#WvuA=6#@?PH;-T4$o$A{p7Oix{1W*K=C@7}#eG?HCEA;nKVzy&nlJ*C zeb7#F6V!g54y1{UTm06BP==YJTEBM7*&rZziZHUY!a}&X(e4ZQK)D(J${5}6-Fk*R zA|$eV?M4u+lpy^(+1U*Vn*0V0Auu75*Kr;Nn;p8?cmtfEN7 zRg>l{jSq?#|NFi7X05s8Se);joSa-16x=D?DJ8w+wWJI6IH*Xn)3wKMp`&Sk;&sg- z$gW{)yl`;V7o96D>b5mklGk(h5ZgndQ|<2p#_CI+OU3d7?d?Zv8lW4a`SK0;Ezke_ zT<;9BSvywPzKm%Q@NASQlB44PwM>+=%|C*@TTY}Qj@2^%^;U5)L}CC^nDm_m%6rNx z|GE5>vv!E<&fpCopPiivKnLvO5L-xr!W*a&lWC6T-Pc|W9yZabE`PDq=TYgjPeP~6 zXq=k@Xvob~rAxg$DPH$T-{QE9jB+TXv9#qFukxH0C{j}$jrMT>p>*B{y7gBYMoE!$GdmP6skL22wB%}}_X$4@7 z$kn-KI-@vM*`T4K3Rjh6V#@90BOhB`d^~aIcghWtLp+8NpIa!it92Xhsa06AI&SKO z0yHI=(t`5i;McpGsAbYimEg$+ixUmMUmtT|_-w}DBB>5pvoAn#+%7JmaakFIPULHz zzq6WoWHR;+y(@GxHDbSlsK3K`pEjArFp)~Ww0bw=5#bAKsVMtVP@FwDnd?tTr z`xUt-jv2#k&piZ`8i{mCP6)iEC!c?PbNR!}JC!6JB6QJ+0=L_mEgwz$O&f5LFJ)(w zKoTvsx-Ap=QLP=zB1gmb{^9}{LWAp~`Kxc`e`yBrVHb7ospEJaA)(4%WyzM3N)`#k z6H1#t6r-H7y1n&Y%iV&*Y*c4Mqv%<+XldgfIUPuWGh)sGyjOCOuNCpUCO)x zi?=?Ht7_CrR8!^Dv}`7%cmd6f*lk_UL^*W5f(J^qU-qesg!i~RvA&2xCI3jcog|lq znCJT^K%(zgu&&5y?^1z-y^Qed$G@_+7lI}$mqCWqgnF{q(0yO~>7dg`5oiH18LI;b zk-eGf)m~jAasHI&-1@dGj@Rinn9P(RAvjd6tTcXT%E-F%nT zkp(ml-UkDW0^hxRdi{p!`iL+Jy_mp4G(5(WcM5W1^~U1_>^Z@pkHd8T zm5iH$(b)-A9FWY`yT8KNmvXMd>?lpEKeAbEfxqyjrZ|Pe0-c-!8aL7k0IiX(-8g1D z5}9N^Ur|zzCv}jmN3nYy2@LeL&zCzbr(Db;L2Jk4rfpJURJ3)c-+!#{vv4!qfHgAOcz*&9BiUvG4fv_=IG!@OZ8~EP1P`a!fjS>SK%jpwrFt$?2#Dr<*Bz;ImNQlgGrar%|#N5_0JYOvQ@m*fW5308u zjvlvD=Wba#kZ9HzQBX@Ig~-qOZfOjV8%6q~6U$p=+HdX&Oc%(Dcvz`=sUJp96zHnl zLi4geVk?He?@g=_o}g7)rUEmpMe5YStP<)xox01rt0>P7zR5ZCjuxvMYb_5`_{?Xe zFe)@qeXXY8=u9NFC1GoO)mJ9eP68><`yv^eTG8MI181-hg~z?xekE{yoK(q*&T^~> zO;#YDaI>E94TnWiL%5z*a$j9Qu<#2>C<(;IW_`KhE;|p>@t#L^fo_?Za{FwQi&UyYc+LIw8H2uoc`OK8t0;c4S>tlfr)JtX|PC4(4`(-*}7!uXtO^2H! zR&A%p4GJ?OdFp6W)pdoQZXKg_ZeB!!p5%QlXRUZC?NPMpy{;i7hgav@WLx1=*M_ZX zIAA7_3ChhyRi9eEVF@uJ>ZjJwElK}S89qV}jZ6uY;euTb#?u3ere=!I z@1ulA+N6RDh zY5|jhxcN#;61R01j;hSTET-8f?M4urRK?J*Q=5b=Pqdw;U2|E`iMaf@?Qqjf2FTT_ z?L(TDcOH56dpUr*> zUmnfp_whZ~#$KE#Tl=6^%%S5v#|=Or0%)N&Vm(rovZ1}ZzCr#jERA1JL-K6^rg4ju z`7%iNne~-%lk2wH(WH{T7av)0TMIE63h()s0FoqhcnQ=J+SdwIjXx&W zY1q?1iK5+k8idbF{=QqfH=KfZ7|pkWGil3(l5>!yRHwyDe?YFPvD#@fnY%{iNi(n0 zCawI$*w@8u=PlJ0momA4b?p>UBgV6UnmH)j`2<85LcaYv##DLjmSh+8Q)dVeldP_qK5I4QJMB5oes4&Azv}a+PCmHyywOXT`ooq7=#?S0KW>^;;Fso?p{8tUn~Emfq9IYk|QE_W_7sq)OIdX z7FQ3**{|-WGBe-X+sq#G0ond-5Zf}=pV;0c@#Ko7v*e44s^B$TJRB>IWH#&~TAyh^ z4dq`<8mPBv=J*b0y`IP+l5;1hZIL!JNQx}nnV6NQ$DLlu?`UJvDb>Sm$!7xgvrOXd ze+k8DX2r}^0+CZtdwX9I1=@IqciBF0g1ErI)9MX=!Q-;^Agyu&kE7S|RWo&Ub3qt& zHLvcsa=0)|U^a?8)GD(j=CGJ9*fx?_eGO#yKR|~l$eWZ$0E!UnD)+h0O|`f4vn#H42(&*iD18t8|c8oeFkLpO=PsSLd-#;-P0!N!9UCNzvvfAVM zb)DkLD84}|i93p%Qz$oMf>_tO*|SP5HKz}#4DNnt!1`HvgOuu1GoYFpR%iT`oWC|_i zy;mHrbxJ}?ubnsr@iLfGj4x)qnc`a0N>jNuL9yYodXw1A{^t&2Mcym7NKChyDTw27 z-~iJMkX*!$z0UVDSla2(9nAO2rA(_pT=8*Lv8F(}KyRzcZYJGwij1nVL5WQ8Y$t`~ zu0Wn30Y^^y$R^KxQhEpNR{@9WZ)FvUU9M+n| zC~W0*t_HzyDAY|x-sf{k4q_I6Jec?7Nl#0*;NsoHSFC6NVLBMgu_Y3Pve=g zCq}1JTOwX^pLjB|6Zd)jz7D4YTDUqqQ?eoC22R&Ixm2X-gP$bK;+Zs%xfEWjBY_w9?L)-}|Tl z4+?&h&p=z^u)*gzj`=oNPR5C{n~w*eI`UP0H4dAhV2Wa#PtDzXtWMCvnY8VJ?%;&4 zD4Qd>r6v8CUqxOr>ed?&X)$OZ(>>QQ9x4;fVx+~M=`FX^1!8%D!J)PL^jy z$$&!xjlk>cBbk!C_A6hsdRXgwBfo`*jfoX_hW3+cCp!3vSRGLaG-^XhUUW?7uu~1y zwzP+{98o%eZwiX{CyJ=MHOO z4Uty9DOFjU?Aj<~3uM6UYD3iZJK-Z~+1sz9GnRl{Qi`jug2KF*29=BTvs&$Jw*r0c zA25dZM`?sNTC|p(yezpUj$ky9abAw#X=K;-A2#oKo3ATK)|N-EPWgbvmO&;(;DhB| z*wlTLtL2KN{dK)_mQ`V1; zu9EkO1Gh0*Qe7NsVdYNV^re+P%A@2%J}bv&uDVId!O}oFuf7sCsW34|fg#_>yo}#l zhDtYV!hkY$|IiHM2&KmnC7ojex(z5Z$z0jEL986IO`?zWnkAk^IBqQO9~`MdjfkHQ zBm)0n4J{L$D8Wj#UoR%uoK9*F+F4yI#A^j4w0wmPv1EPyp#Wjk#Ph?Ya*5}Qmdv8W zGa&K-)*!?wSDMH1#n=5YfD_Ka^D_@tiz(1sFa0>>1bF1;UZ9)8G|hkO^CvNs zQrBIiiqf_zR5)-atqJUjMRx5PUwfjP4JZQ*2w&`jv9g7uS6N2ihdoAQdi}VJ!XV%L z)c zEfGEgQ}D9Ol(NzH^|AV^F3FyBPajcO2yIS7Yfv-G$Qc5ds!bohHPQ)gr?qyENbTLgk!bIXejpHF6-^)8 z{C#C!@4yiD0fh2|-ri`#dMb)pz04xUQ_fp$z-ngJ1DW;q%3|S>FPi7DqxPQk{2@FZ zi@T>(Rk69s`ERaV!^jqJ&}JJcC^z7U?RgxTZ`^;`)VtQGH;J`dBIZGXrL{xXUC!*1 z4;BC(wSXecX?JW`t6)sePNI;Ij*Od3NsxMs<~yfTEmQgJ-FR z+gvk7P5c^Ud01bR=&dZz-g45KLE{*;^hD11TuISsCaLG+nXrdAf(4P+w2nt0v!3vE zlv?GwRGtFS&}RmnN%*-?_X6thj+R@uhr9qUn>}3EQ}yb#iq@$bC*>|Km(LA0^Cfp# zf#)}Rc5<+Cms{_W4x`c~fc?=M%vp@1lW+yS@16EN>ARCiCEYt#tT_DSvMTe;0dbwp zJRSfAkXQ_D3({MD)+fk3ZUe_se-t_W!?ECcPu1+rPpLrkzJ6gxk0QKv+aKsoWf`S) zlFLT)i42C{Ee$e=(d$o6rGr+R+eVTvfJs8eg(yy)xu7~}G6V7SFb=>!C^OCW+2Szl3FS~9zjjx+ZDjfGDpT=vJ zjuvQtK(>RhL{JM^DuF2$ilvO=sBG@e_qP{4c%Ggn-(CI2+~u4j`h=8MpB==!+lS_j z3PHD0G634po5(2y#x3jDj@;8fTpqBR>KhvhMuP~9(5A1&DmSdQl!CE-<6)B(n`P|& zHH^Zv#v^zto`e?a!A@3v`iY!YqU|C4BUfa&p*5D%-(zh&9ruNl+L_WX?yRR1oa&)p zVTXYq6luh?0~aP#Dy?7G4JZ*OI<&o#;b*zp+)Sf4nuoIJAUcTAnHJRsT)LeP*uxg; zt#ORPkQqUMplCVSuio|sL%<pc_sp2{?2g^`A1n{yuU-NpugfXe z?BfoP#r{9qzB(+bwTo921w?5CB^40?0THEBBn&`7x}>{f=oAnnL`u55JBAeLlFlKd z2N;^6x$mf_kLSDhkNZ5xGvjQ>nZ4J3-?i2+7Uhta*RF7P%vtwq4o<%lz=v{(34Ktc zj&6qkb-uyV*pi6~Zwz~IGE3jv3-kEqO^rLk2f5eTIlris!0zt1P;m^HvA3bIL?7?L zN{uKi=j_B!)F~(YNm+YK6tC$}5L`>LY=W9@DI@!(B7h(8-lyW3T+PrUuxEjcx9=Kg z%^PIb=`*4FkhjU)GcxX~)L32(;@=amwx^p9Q+axonyn|q0TA`8s_d;H$@3=T(h={v znpeI|QnJjim5518wysP?KHzinq3R}XA&;&7x+x@G@@@m3cXiedI@SlWSN{>K`7PN& z`M7IkrJ5Q2;h}}el(3P4WF}Sq2o`mbJQc3j6Li+kyGOq6cC<&#m5jDu8;y_ITk?m* zDufN-EOx8DW9#o9REM2@^ogysoc9lrSMrJF(6Qzmw>jz4$S{IZ4Bv?@TP+%u;k)JW z+|*o=N+gfRaxG7#GB3)2*LL+K1zTyyZ9Qf0SGG-3n)y6=T>bg#XB2<~A!86tP)vIV zC*(6FmszXXIVrY=e3eS?kF?nuUlS(vC#!>%k+hWa)pzUMzdbji^*FqMtNogs&qTBT z#1Xlq;>5IBeg&)bnfUqDXdc+kqOaTGc z`ktQSmE%>6`l*9q8>&;L#R(GCONH%iti4l06tfd%PJ7u8_Y*Dz-hKDKKoxg@X%L2S zJlM6SV)_ds$35jHb!H;iQM~bK?z}m!2txI_Qw-jfraeE;rq}H`x4%x(M^PDXcO^JD zd(eNf4S&Wi+ksZuS+X0nnI^p3CzzxSg-fyWZgH&vt3fIN%^}MlOntn0Z`ukG#p^fTykiB0Xub=GuN%+YFI>Ktz41B-_-Zl*r zYq=SVagRoF_|dadc%rbF)_i+USo}waWJhEmLwPAo*|JQhe9bqPh3ldzg>p!L9B{-* ze3d+urg(A$X@Rb@53;g}bhMIP=K-1|FOKJQ2jl$o@VjK+8_QI5(^m94dm;~gIUacg zwVa3jXg7n7^Y2FQXftw~&>GcOPtlOb(b0!hwvvJaqv?Yj<7Fs=J0CtQxe9?1t zt$UJ+{XFMtUJG41Us1&}Fo3@-_L}IFrANkBGF6KXW9T`^>gh-%U;T@+}-ZfYq9U$E^F5d?2}TfMg9q>BW@T&#Pbk;1MAP2x67t%nlmLM-zxSbql$j& zUA&6pabjT2LaNuJR_}?cD=a8z^E%@tNE((r!vU}2QcIBYdxu@4o5Gh|scs8Kpw`a% zs2@PBDFxBJ?_A9)bi`C$exLQhQOlW@a`}s0_|;d?z44`i%vjUyvIsH(Q-+03)eQIv zkn8m3C|&^O(;N+JOZ#!t?S$sj!TCYSLXC28?^2~wj<6sKo-(1}TP$=5Wpi9lNSjH> zY?1QPb_02;@+hM3dy<}KesD!S23kDzI!8afM&ekDESWo{iBC-y8wXnH9;sl+cwlSM z&}OtuEx4gIS|BDw?kU{oYr1+g8$^~Nmy4FCR^#0s)^SrT&}YM8Gf97-!t~0xbVwIH z4%783ApM~9#*KF~s~z>cr}%(Q_`UIWifA7tsx^%idAND^N@@*rN)sx$K3Jk}EwTje zttlq~2d&K;i87+sh_U{_*FvpYQ|Ae2vl4+3kuL$5(;+3PceG390R*gCNW`w)QsQdc zsI|v_|#x z8(fkeC&jP$?(Ag!0T^JTDdpvxp#xx&rCzIZ;rAi~fOBk^ozXK1cDm27hgNqlA|Lk4 zJ_IB#>Wf%_%-DS$K~HL890i`sf_0WW{JpqxSa0RiA^O>?q>Rxydn;wBG}B6@sVh)f zzAAR*!TuaYN7*on;-Q=|OW1m54*1*Jm7NGlP>?BvvF*``nwN(phShw&!xa9sn}0Vg z_sb5nn-e4_(VNp<`2^|-MCF1n==W7!~6V}(I2J>#W) z9oc46$LdW1{_z}m!B(41ovfM95eXyMV{yqe8 z3t(m;Q4LINv1U`Xo`qUIQEsTrmQ{;xHakD?mU?Y9fWzJ1z*~)c0V=&sh4wjOG5=>z?_7k2v zYIlVXlF7`pQD)wyrp5!*A-NOUXpp9g_!0T_u5$-C_yqt6iiX$e)@5P`td${?SDRq0 z(VsCWz`sTN$p7XiQb_F6!yAHu%1Bp+y1IM>xeI3u%{0*=peOe2y}bT6|k- z#IE`I%Q7i3KWRQOlcw!B*h>eZ4PnrlpmL+vucjQcTB1h^W~;Pxg1R{Y*h`kpy(kM{ z-%PR9NhtC;P~!`on9?hiU_J}I>kV4e8eLId479D2d>E|eUorces_o;Oa})`+DtPs} z&#z883##_eNkk=DW&uRw)mtyGX#j0;bby(w$Bflu;dz#Z*;AQt50X)&A5FuBEZ)CFYddOh86ntwW2{K0qVC4jF%a9u3k@i3oD<@@&{9k zG`eHF;0s2}eO#B@+%KpL=}JAjuJ{T51KqlV0>=QpHBm?9rOJcM0`p^SWRon5bjUg9qh_R=;{Ow&|q_l!s>#8yaNCX64_fUR*=On)=f^S-WzCw z+m65V8yCP+*7#lhX!bDm4xBg#eNp7S9D{3|(*us?z*s+>=ZkmUbpa3vKO>OwQe%FX zJ8t`Cq4NM$y23d!QlkcaugV`00Oid{GNI2;{LXOob(R7p)OKA4*H?Q+RkcAiB2iWy zlPs3BpFX)!Ob-?3Ag#Yn!tI>ZA1+z9@}>Cus@SM_44_aKiQ7Rt8rm>Xc0%OL=hoIQLA&xrL!$ip#m)m>{;`C7}f#5mY< zzA1uVtA&0-uoKWDi;=fER85bw(qoy({mM}rMl3c{DeJ8hm>9c^Rz@@8~cd#N;jLH6 zpI<|{YtOzD8x~9+;m`gJA#>GIhuTsQGY&Olv+()^QYg~e$8zSp+9 zQa8IhoSm^gR(ADs7a0eu_7bUfM>z3#S#F6F&)_+o2=y(zM8ncU2A8=*^X0xEQZ`*b zLvOALo1{n`kmfjr{h)v$vJ)liz#9J6?Oy90fe{)S0an+7_Z2RS-4xrpf~FgD4Jnv! zn>90P9C4-DEO5w2h%Tgb8%=ZTr1b5h%M^;0r9NNGBD*&_Rl>gYDB@ra%AndYN7mxZ&} zst?FE#&%c0ypG85%E__*3JWsrp3^rmibhHSBJYjjG#l}51pX)XG;-QxI#KB;#h1g% zUWvw}b}YNSFf@3Ff>kyBg_8?>B$>?T*2AZHii_DEZucX)lpA1vi68=fSz{k?J6Sg; zsIn_JWg{xSF3V(>`ELhtoR|`4bI%UQT&L*PEWcUd`V(EVP#Mf@A@i;pJ`d@%>0#n# zU-?okc^wMq2bGdO#oeR>zIqf>VgXTam-_`+^VPk-E>)$ym*n&2179Ia%0{b^%+Z>& zNnR8%4)%MOA+Zhsz4nh%0h~{{x%M!bNYfNUR&*3Dzx1Jbvf%4{nKFb6c{3`Gd zk!%7@@9+sN_BTij*(=IT6bs`xEx7MUhK}y|@LrSf??N>TH)rWy*11TqnMjwMzCR{#ZO>XQgr^5xg_D^i=Gm;yu zu9Yh?$?A72R(8<8rx*<1Q$Z=50T+hVY#||3MD@|3*{@Xyx)UsomGW`h80vA4);e>j zK=+^o6C!pjuQN)bg26OgmPj2GzLiSDS z_;faYMO5;a|J69Xy_~Nt47%1?C;9v$NvCGLW z$0M17ACMO>O8IAERZ}V^*7`o*B6eh?z#=Vvy90dipC@js!ss%C8EVbww%(86!fz{7WLjrUgV* zvx}3CwWcf*{F~aG?jFrW==!B>YY3S5e7`H4h<-~>^)U#n&2fbRYZRawvPhplUZiOf zF^y=`Efkt``!Kpg!lEXfiA}3^J1oE==4ORsmRKI(FrWHxxi`g{2?yZ*T^|)*{1%~K~<2R_bP%_Rm;(0sl z*s0gtF*SaAv!YHlIcpEKYGgl-CkzpUCabmagmG2M0Wv%*e|P1)17M-8dLICb!m$(*lJ#>wwIBJrms*IVMcy$I-mq{GVS+QQI{%Ga4>6k z;7UrR6P~_TuwTG$p>n z?d!pMNYFFVTynx$mso9$Y zbSRJZ+n2_Y2?e-kpQlqQy1jNu2A1OuDxYMotx)he6s@sM)R=Vm*;r!!hC#h%Af0Vk z2Sxejs9vxd7J^39Uw);RbcOVt+225@Mt!5jz|z)8MxW){&a8+5?V`3T`!Fan*=i9v z;89j|o!*Vz%E4X#NMn7yEvM_LqdyrB(I{1W zpsVQ#AstCU`hy2rV%LU4QD9MfAi#=>UA|*Q{MM$NHphL-#uSeJ(f&Xa0?23&Mkvl0HeVM7S<+y8{E#Ip^!cWF0!w1Bt9K>YukR7Txrq`bpkRh#fO6oOhK~h z6_W{$eyp*a12f5Nm)43D)1^@D`gnLrYXAD=m#l8i-PfW%#rrz66)OX?SA}C&L^MTS zfS$glS~^hBKc-{1=3Ma?inSZsgk_{ZkEn%DFd49@=+(jFT>Tw*o4f%vRt*9eJAFfd zszIEX$Y=AR>29)7kmT{w4pfrQvL;tHJMx*g%I-_Ii$^6Sx75nk zcE;5Ro|J_&P3weU%-L`An=DWvL*+!$namO#2qxBwxNd1)0;AOPu356EWKi3#bGf~H z7unv)rdRtqM9Nyaz4cb!1A9T24)h=J607+%=A%T-*=8NX$KHh*ImeT0y)>kX5A>Sh zkK(g2ZhdT2eRAN5fs<@djHIq>R4%*n+Q1NG_(^xPEBp@R$k(=>Q{F%yxMEEvKs1r- z;EsXiH6@%xgcw z(I@w>U}L}HP|X|PoSjNE8OQCk)aeL+$Lgro?!driJfeUCea2mY$4??b{Jgh}WjmBv znxWXX%xo&#vZ5nxHbPQwWrW7W_Y;R!Gp|iC!+ZIshD1+kZejbuw}Ky%TVB}RY>AKZ z5od^>X%rp|$VDs!@NqwmOSjF{Y!uI>sXXn8t$W99<5A#rkj`LwnS|MdIm+P=L@O5z zv#dZtT6$*pI1WfVr3A{O6hlM2|l<0GCWa zZC>Lm8*2g2^vBWL%+~99NzQkeJ5G)$Qcp*1+bS&IW@F=8ya3Q?K6Kp^G_0&7@54u{ z?RmIuS2HO?{aTl*>}7(|M+*FeVIv#Ol=fO;Z>7vAUC3%z#*(en22si2m$JcZez7ID znT7RhZ5YgEcSt>;y%7ja?Vk`tMveJ1_P}){-)9 zNAK0mS3%D3!0IpEwa^hEe_}dXpg~qxP4l z=0lteqv1Tp!moB+gA`AnP5~Cbtakg(ITV3Qd4yYsp#S;gVc4fKe=S-nFzbGJ1E4E* zo#_Vi&;b;D)TD4N;Kfp!k<{arAm2E{tD>CqZr3IMpK{dU)Mzt*C=#*1-^i%FOwVJ*piq{-Y6|lxe{F!hj9X zid4~cyJOO~xRKb)ffG`^-mR^J`#b%#pUCk8%d_N*vLm(g>1qzcR;fp+v2K4j*Yf6k z!)AfC1T|NSh-DdV=JeliA?yAiw!T{oWTuET>9U8!N5DExlW?H-PloWRy?b zFq0qnroKK{9}Grld1OcM&B?MX4DZP9H|vGlBtIz2hL&E}#sLx~9)NxuckXLqG7v#7 zw)5IEm7o9}F>R&EzHD`aN-2G)8U8fsPVQ-1xdZw~D-{6D6`jlLj52{$(La7%MeD#` zK-o1%Py1e;l5Zk~r*xlim8+zT;(QlY+&cfU{A9f@gk@gDvNBE$NKssjeb5P>yJ_7oM7MWxxcwn!_7>Mz zmE9(RptR*cni9`q+y&cKYiU`Ban?bhk|6mL2`<)?5=#-9L^J330jEojc`|DE*p zXK?4Qk5#@mn#mF5=TLp}U;jK6`bj17yRRAhAIE{0h$gOI`0pcbzqtSqU3Nij;{QGl zpf*4JCxFWMf{V+7`l6n|xzp~tyrT^>uEpA=2k&Gh1AR|%;G~N#v&HJE4Hy*WPlWt| zIm|KktW{{o;?jB&lBF2U+u%zw70G= zK`ak)W)kL@@wyUpyL-seSN&Mc#2wnd^TrV=|W))myI zQICw=8a$62Odx+~v;2o!930&^*r)1T)pK8cLohKzjmwJTPH;KV$10iD+aMj6q=no86#ot20SeW2atsA`bR-HGo27@a%l@W={NnUT3Ux)IC;AK8UgECj+i{y;?V%b;I4cb(Rst# zd3H^{gScytf!MjOMqA!L)ypM4;BRrY9Q4yLsJ2v}!Kxy?PB2Xj9D+qd4b<@XYX+bm zCI@(lBp>J?F=boI9i`$hZjKR#jCdr-Is$aVsjqO94AfkAAXiqmRN<`X$hTwP4CC{r zO~sU}PEuvM3+M_xpn>Y#Iyv39^K5RH)$Ru(*_#2@Pv%PCm{(jB`IE}_CP-?}$Dqa}>#P7^pdwR&ZwbQ z`$X?a^1q}$7nq6E+e)zCzN8Q1PE!|61xd2VJ(u0V&-<&z^ZQ`l{L5@P8!+8$yhLoQ zP*dNh3qTq|f`WweLtfYd(+wEKHzA0YfitonVxz1c?|KuRVp;3uf#lhU0UG7WYN^@x zEVi?WfP!zo?QOSS6R!I##-M+J`hjJDf%IzVgR0u+7r8C;=TYaqkYNq9qS1?WnO+tu z<&H(8N&{k^$+Xbk%??8+#e*9AZQE7_mfzGn*FXLfIdML`BJJvP75h;($QWA&vxo0% ze8${{uBop!4;WYtREjhk%r@J6Ei=Ib0(E`m9QfG1tMH9pu3FSXG}2yVl5tbsh33fA~7(FnU_PIlvoq$ed{#%c1Is5l9gR0U$C_`g(26Ki2}&bl@88ZfJbHNnYD%p8*tPemHP_*ZwCUA$plw6`)No zTOek~TSVEvweg)~f41>!JI>bvk21hx@@HY368V4_G{SS(y)1`|d5uXav$=pbCxo>e z2ve%%N-#Y>zxkYZ6RT{C;PYvMjR0Nb5@Q2?Jlg!;aHSuPTf?F|UT?mNSSwOd1Th931%Xp@JQnS!~vzSYIJ#j%A zjm=s|B-xugY-j0v9sUzW!}-aw*}4pmI*syW1tTAry=f2aWqnfRd{p}dr4~6D`*gL& zdRc{bsck4tf&^rDSAj(ZhgUU9Dbg@H0{Z>|-Sly|xedTm(4k}9y-)GXXKKWP_ zrzv~QE$sTq^YBh~*Pw@{6QYqb0n?`Q5eQ&{HHDY|Khzf<&>bl6UBybvxaFe)4K0i5 zdJU_4D_=fQuy=TJ#%>3d=-A}-^XVy#cAflv?e;te9FT%sQbWsB^{jx*R4~EU)fzKwI4Xp2YPf{qsPoah)_ze0=!+CgDi6edTzW>%qLM z{zyUCvr6e?QR2{hudWa?hPB8@@g=r*oLbIL3hlSLXUNy3DT>V%4KDR_T=^+(Rl!1_ zz&eBe=1)3@fENIETMfVqfb-yQ0uN^&iRkid2LLVypoA1VB>4C<7OUW#Q;x?0Wkv=O z-= zetS6#QLW=`%HkbiP$;-vWn&aHJ#DMokJUEw+ew!-7l0rf2Xe_$(2)_B=UQA(WiB=P z?20vt+T6PcnUPPZCu7wuh8m5->>w2Ca(nGA6ww{wjHx!K!H2v+g4hBLg#FD~@Ae1& z@9P#Y$f7Y{zKBw~VgklGox~w2;T zTKs+M2QsaC^HlNtYWMuwwI*{NU5S`gs1?zXLY|`2+dZ)!M<6g$o4%Sx*AP#rnhXWp zfoSTlI#?fD(p5;s^NXdD94tihp|m(A9;mQA%v*_|Yk=YDIquj|0j7#%=x@QQE>_Ks z4#_l{tj^R8%cIx1jp5>cp7!f^%|IXjq^^x-Crcs{)~TxZ9^+D3BcOeEMZ$GDhES>s&x7ssNCT=T_n=mbdGuw?tav6c3 ztZ%CnnPg`L?i_I1r|C4ypZwRhca=BRd_$H-i$e~d(KW9YRH~gQDJ@dPTE%wTK}rwe zT}^2~Ui!j9e=zuOd!j)o3fx0E$8bUV_2YYuzgLd;(X@JBE2@yvGw$&?XlGg6j?ulzy`r0tM4j8<2KejQ|x*T-m!FI%(uL4pbN{Rg4H4td!KNCW{GZGM%zdzYNTtHN4{gk#JI@>R;fy zc2$&K;tp`z2mt$)>)AG=K`gkdh|T&>I(51Y~R3>)J!mcWP|9osGcTD*%J4 zGp+Blc-7TLO8n{D>D4Qrvrqzuy*0fj1sWKyZ2A1`oG9RNAgR-lZ1Qv(l4NP~aTO9oH;NZ3N3e5Y-uu$+*j#J;l)?+D^p* zZuW6hD)@0+0ML*2kJgp<_r^oAmeV9wXdafNN7lijQ5zbN4(@|%CYkfBGl-HRQB$q# z_+a}c7#i4aW~N)QvY!e7DklzU-nPT5i{0u^V!4H$2}W26&3sPn5|PmvDvKf1X1Xvs zrxD@52u5~~5>3n>^<2Bx)VlH1u)1TY+Wx}Ma{r){WAk6HjLs&kY^^HEa^4bT=`qAE z|41pc(C1E3MvMP1g)Y4Y29D1*i+|56=J@2g_mhkFRwmYY*%=P^6 z5&AA5&@KpbGr~av6)S2c*hYLf=ml(_b{09D0+)(=d3n-hqw z{dmoz`gRCtavR7Dvt(D@_VRz%?Yl-tQMYx)G@9e=wZP$=1fkUUe1|+}UIcPt z&%sMHAlG>g6apZHs+8Ib?P2{+8T#b{IYED|wW)QmfSV+;CgjHUB|06gz+6x@LeyQ_6dM^B8ZXVDc8!ifPXaAn4{`0~AJz@4|zf|Yzca-hl&lWfjw=e$es!6}a zU-?%ryx%`W!gM$3?@xa5fDH4cc{$px>>n?Gr78G>7u(O{min)kSe*Lmch6AZPx{ij z?=|@P<5)ZEXZV5S2cm<~fDH?b?)p)F5-2S_VE>ktlR!WJsXOtpyy+L68tTfQ&9OEL zO=A#^)Q|A(kgzvSXD31W!)08iQ}x{A^s;vu>E!R-W}lmK?(fXzDm*;gIfBn zkJOXI$1EDKDy9sz8iEHp?QaLOITF-r&RwCR%#xmME&JC7LjWmxYF@m{p<-%p#JRm#WxQSu*xRRW@$m=42a3`MhyTMB@FMH^|FJ$6xLPL68+SdN zDz^Tl*@@2?`=f2f~lRr7@xm~gWX`OJfJfU@dPg%Y&hVYg=*iiu>ixM&J zWdV8TEild3^J}(z0l^vxlaepkq-H_GCwnh~Db{n??^?ruGVNa6@XiNrMiTS6EDHAp zKsO?TlBhLp*3t6faBiKMhV+*!JFBBuz#6J;@E)qw{m+|CoEoK}35A!mmVeiWzA4$b zk1{C}s&Ad4BpN`mPa7s{)HSDSS$gYSA=O8wGV@xXB{+~{p*S*t=irE>OzG<;=PY;{ zHu{s>)TP8x=0|J<>=NWz4PSpc%yQWEM)9T3z#~Q3mp&j~it|cbnP+n(_+8BsHC= z@CAts_3gO}B?g2kN;OuCIG2eTa& zFRbkYy3fqs+Bm1J^CozHnl(He z_xqvKZxRoq@i+n;sRH}$EzVFI=W=))*rm0`hhpWLO7=QJHUV`~hThQ|XE|MW`v*Vt z@7Gqm=7%ByIY8!L0($?{%UBg@q4=+kyEu$)s@LkV0v-3@KB|(^eIIf6)s^{<2!E}Y z@2|PHMm@rA{!0~h*>ch43akn#HuL!+sGZ&o^Ep%p0n#5`=CoRsHP#>HoT{!5a`h1& zk8O@n9Iq5T8IZtM)hh4yf%Xxr!_Mt&O{JscBywOt3ClA6o*E~H4O!g#SBL5k$0#?& zgUDhL)E5(fb-vK5fv~$3gRl5uf z+ogUYn%A`4kI}^u{r$t!>0!k2JL3R%rZ1mZg$KUn{q$Y<+x{cXfd)*uVJE^Xs24yx zzwjaizfR;XiN*w8LqL-xs>nXvN8${nV3QB{1oaP&Nz}1DIL_cfJJV?siY$O8*aI6AYwbBwG>ymfX z^RCz;#*)WAHpz{bpF!j*!lv_Pp}7>_5{ppoQL0rtB6j=KyoXCP|FH<5MSf6tV3%md z6xB|S!1BLF3FN{bm@$FVKvSm3`|xDfGYvygM_|@AXuPZQTwY`66FtDHqqd+5h4T2< zuAPq@WR6aeSe~d1Y9D7-KG;e%--X*8AFh}!e9l6yPqm;7Fu;^{1{$`KVx5k|vsD;Y zb*R=+{pL!{-Bhp7M%ebk@X{x)Oay*!*-g0no;`jN{RCRVvQ%Oq@+=h-Uy;E&i$mG= z=86$hs2un9nF=ySk5?}$axuV6wXAp6X%7vRJ91O{av6a;fQ^vG7ZnG><^3m2T=i5au_NngNKo{6*rTG|`QQ22^S|!0iF3Uf~(YklTu@6J| z!k-4z{1_ehatYmu#C$O=)5|oVPvhSw1qvqAWAAUJWv<-Oduw`LVOsAU4r&C@Ki&)V zcSJYPY%55jGLw@3^<~t5dQq_+f(8Lc&CQEXfpO81=f@3)#dUWFVsE)`DU!(y5On=x ztf64_`C9CXkVd{q+Q;_jcy}4jqffkVenDW)a$~#o?w{tZp@xw7rMa!2M<_;`(DL!s z=y%^qM$MPi#KZ#!cX+xv_I?r*{oAP3mk%$3v!LhW*sId&|I1OnpU%4r3L4s|QyUm8 z-!d>rY?S*qfg*2d`vd^)yZGFyl?7rH1>4(S)pc=AHx5^ zgI^qZ&fW9YG}MiUX9BmKJNeZwj!J07-e;b!HMJC#tc|%PP<{pP7Xu;%sl8AqT~DVh zY-eYOh@hY7-!D0}n;R7>i0D%Nslp#=Jpm{CZx`hIQ)w2#dcNI-5-`>L-$Uai`bEqN zl7^=`;{X0S2%Sul4b}SC=(IGK;NDxmc$;Yqw5f{|l?GY={b5iiibF!;D_1o>?f`|IRd{1LiY&z#@l1d*K?rQUHN8o`e3?rlxx_BuWH3I4+~uzHs>GHK)k!GYamobS(Vgu32W&#vz?EXsX?^(1VZhV4 zV8uPsin~txiyOjC@Z-!7F6 znBR$tiTAC%V>f9ZC+E84?S@_?!gJGIaN||X;%MF?mp}&>$vrY&s%mzg#lr$Ih-&vE zcQ-t9sngF%7k_nE2c54SpQ*L&E0qSG`U2gLwEi(T{n?T^y!`;HB44!`(ssTENx z5AE}sUxd%O^R)!j(}?V4-2!k#y})i5Z{0Syvl9+wS>jJE9@Ix|F=# ziSn5~*c~=mI7|*?U}*v}S}WB|p#3n@SXu$yPwn+dXYYC7KQD1n%H4E!#%D3gv8Y79 z_X(h)#uwGXd6$Bx*a=~-NTVL?xTtW|TdFEt+B3LDA6A7_1q^V@|0o4WGP zMSZO=fgEHRHtr^+MxSnm_l(_j9Lf&?_J4PLz{uXzJkyx;L?gG^g=ojcD%)>wXDmgM z4-YO^LofKMxqntb%Mtffx_|ccI;Vc<1jnjrTScC1TyyN|`!c74(#}r@8TXV*?hU+- zX75Tl*&PvGSvprOOc>#ea1oLKP-~$H&iqO5f zt!A>7F7r5N-BUCnWHox!)&rK_JYT)qt$x#_3q$PAz2|gy;Sryb3eO|J2k$*$fulhv z;;lO4&rSLZU2=Dz@r%L-3p^gh)6*BD= z7n~92Hd?5h??^2X(YrP4|-4}@$F9N3+&u*bS@a3V&fdQ%;`vHkG=`}Z;DKDfNI zXrX{TcDA-%7|xbg*6oQ4%}(>Ac<85Bdk-_|+EeTLu`-q$Uk0c3azY<~Z#8-%HOM3hDulW zjvsJ?+nM_IhZ<+-s`HV__L*xPGVgfz3olp6+OB0Q*J3;3)VZ_gc_2C6@_a{2X$NeS zHcx1#*4eCwmfvi|C5t*c460_0QKd4_k*>UQIHRv*<9y;?*m zp{K2Qw^N4=zdFn|Bj+j?<=(2~8@SkfA$r0+34HtB9%g0w#qfWLmKJR}*<#H8!nep> zI}1!CqaK=QH>VmMrpLRouZZG~PmFHn2G<6td8NM%(QPh%Bk8U$WJ4!j4tyF2@oa6;jp`S+yqRd^)^QM=Xd(J1<`{`I z^VqiPi#Y9~Ssc8YG>cE@8EM`=nRQ zNCMhzH)XFEW;|6(lVp-&JFDnZ*q$X6&tE=Ti%t_>j8)N6G)N?BwJ6DMll=+^vN);S-s0Xzon)28!l4|OgpFxW z8sYp(g>~hzI=kUSwU8V)N8Xi}NBA8=0(ji()o-E-?WQhx>u?bo}9-$%UvW2?UWGX-baF$zbcb`zw$*olKIpL`&{UYnk8e~(Mk*u4DcbBhE& z1hy8ZmiSnOXCihwP-2V}HkiX9HwX*4VP|BmbD=+on5A0NvR>?2uqGj=wYahLUHy%h z0_b07a|70+Y-`RV#)hA-sNV)ImAJcu6z?n+{cM{{A?y5#1=CNhW*e(7nSAyXsyaHD zu<8kC(2KifLp+iq0-Q3SZ5P&YT)1tO3NJ;$cyeH9yfq8QHx{GzTo0EcUf%Cs{?O&b zWn%CWd3uEL36|ynt3l#$oLFKU93rXiyeARRLR>Z9?uzXqUpllf{Tdx1n9fFd^|I?m z16?0L0{Wd*8+AIuSUE%i(>N2w1z7zeC5kXk$K}prRvnAPP1zwMkW}A#z>G{Pi1gWT zM4uQaO^$JTCL+_dCt&*)fjjNAF)L|8#1s}>R$~NjY!DEtg$$3QC zb*~-~ZI%o4$ng3W}H!^?JP{`$HdLx+Bcm$Yr z8t}aNp0>Cd;Vq}efsJ~plu#VWLlQd9B%u#JRB@zZO*ukES+Xmi_`NZ1n4I_No<=Pg zsd(8=CAKi0q}W<+q0bu@P5nsy=dV{p}?X=T5f;R3rH?0zWZc*;;N7+-M?w+ENNmbCZ zsq{F_T6g?4(JJ4|)}q-hScVQTynz*_F5NW|>?oh%+nwR2#Mid1I@BK?^fw0Sqd}roht;%fT`LHTR=I}@ z;YCj$1*7|;!od=cAdhI0-qMUdyVo2!Q`z8yZWNx$z`_U*kxJ)aX@&3Gd9rHNVRDe7s; z;e6@Kf0T7Z_&=-F4<#km!6hYMwKnXd-lbqr!4~J@EgP)3bZ+OwsD*5^u@0m6@bvV< zabb8L1k3d4ZsTF{`)%`%@A59{aV>i2crJPl>n^HL?JebXRNle+0BTXoOY%>2gEdg+ zEBt&Ex9-_O*B0{d9+uN?Dv{B^h)ShvlhsGt_DoChuCax)j)~F!qUJZObeR45Q)_*t zMlCAC-szaWp{Ad+3+-%Y##ZmymPbT{K5%d@p+L-VK>gF#XK)Zkjh=9X)r`AFz8lmL zqlib|A;p5rxd`h4kB&*RaWqmOT!`2Ca=A@Rqx9FwHd8{|dIAhIaQ10@P3`4C!8?2{kcDJiFu6A z5&3Kvt~U>V%)!8c5XQghi(E!F@1STXm!$p+(qkY3omc|^1%9@ z^%VJ_s$P<9g^%mY>79nQ-dw7eJ4+Tac`BzYd3LhQl_hy?OzV;YgiI#B5>e6OMq_Ol zxr+lY&G0fS$9KP~BAkyVDK}H`q!QSUFOWjKyy&M9JA)@tgSbqGdlbf|Z^-D0eF;+_ z&EzgLYRC!6nENUq^&wE%)n~`8X|un-Q6LP#KOEOsjsudElgW#)Sep z#qk*y<3L!7Q_4@)Q(bMw>0FvQrK{3?GG>-1wjw-O!rO6imwM>|v1Q7GZ|2eyiB_;hF8L z8dDusvRxaa<#W7>xyv%?2JIh?Hba=e?;kX+40O)lpr7~N4!Dp`<**i^T-GWp|L6*A zqYsO{+@Sx(je)w67|3y{lMASkw&!sk8dBZhFue_htcABMvaqA6fC)d4N!M7JSV+1` zO6?f4CLQKd3bzG@ER4hFY8_U=Y|8elJeBMHD(|mJq&)W8N=yUwrpDz8o_sS^nc;_Z zN??c~Jxi{N&cd@GaWn|zE2oknDRP24e=WDp^lFXi#8my)gUc=_(zik4ZlF9I7=qJQ z$qI6D9WrxVSEf6b6wMA(=5=PxY|MH$$8v<3jL7hU7M*FXZ=*Kep$@B_TuhkHtvaxR zBPGX?B<+776h9gkpb7Q8VR6j7F}%>DE#|Y5@}#HM(k|Mlscl8gc1D_OE+u5EGr6Ii zR*FAl#XC+Z@)DaFeC!om#ZD*#u|Yo9jm0#+p2suSnUzlU6&JG6&6U|uH(Kl|D}U9pq-|qT(XkSIawW8uDW1*E_;2tAsJ`M zhsQ3{y`oo(^5H=_?6muAJT1z%?2YjPqcl}XE!f*ZRyb9SFo)PyRSkO+9$T-^m9=qE zW#X!>6x_c!k(_Jd+yy6pn;z9`Z|&-azr0Y}J?3jmGrytQ94KG%Xc1i*bOr1{9D`jZ zzB*6%#LaN5glpjx4IwO{TxNK~!MTMk&u$X8G{*#Ft;hiFPWc?9Fki%!8??(&FV6L; z<;~x>9yc>|ar)Wl%{VtQ`?u7ia$2qO#p+<9SeWP~HbdiuTExqdBPA8C~7U9`t%0C8~&~+`eHxZ1m{v z;(((56}=@<+VI>^mob}GHMI!OqMo5-q*LQwbijy44?Ti`kY1f>lqm`?k&K&&!QPdq}xggk+nfQNb`|7YLx9)933=B{~ z5Tq1o0i`8j5#>i+D3PM%;S*sU@c?Kfzl*Ty>I6YqeMG8cigZ+@5XO7hH?>n?Y4j5^$h zT_24Tl{N^M1op!UG3`$JJ|QxH=W$o!@Pvo4{4>6na7hX}Li}=h``u0Pl!qls340U7 zqUiU4A&1{cY2}*zOV;xebRY0{{9Z>E&;;);RWPB)LxZ15!{0jAJR^YCA^QX?_Q*M7 zNy?Gl!WK$}ms@uz{XYCMZvf_r6e z$(?=8^UOIfe2y`qTyH3^D$y>!SoEy{QK+@3D_++U$vx&1a%sPe7B13pEG4o28R>v( zoT|k0C1?5uz#06~HVJZWc0LOsKo=wLMTHl03(qS8-`VQfXP-DC6m0_FrtD5|8+wh2 z@#GT3FK=<%-(!-ZwG_e-W~_S5+)>mIi;lg=_P0#q;dkNk&Y-qfN%gnm`O5|U@!JLV zu@-o0EmAczjCJ66g;Vy2$Pbp z;*O8Q6>0>ReJOD!!w2|qHLW}of7hWdd{4Iv50eyFrym1HSc5>ifb9Dnz0Jovf=Lvq z@I8xrpSag7Tlpi9P~N+mc<1M5e>u&+{&^l`w+pz24vxENm;rf`&;;4V@U!X1-cz}?qPNu5BQwKoGcvMHy-;hl}AJHk6amRAN(b_zdeHN zE1VP{V(fEB+3sJb2@|Zmt?`a@_Y%mkrRtUG^?Z@bIzQi~l;uuWxwjgL>hv!!!l|pRNa9z{ygkkl^M& zir*gV&r-~Ss`2n2t|MXlQ;eH*@Aba>b^U++wxxkf+FM4=BU9Q-e{HvaUD#{#6sS$) zau)sC<-f_omb9m5g)(E*<6naQ+Y#3^ao4deWr9ko2>;=^$24(^2MSgHclW{yMz6`T z+|Q0cFQJA+=5LyIU)x^qz$rdU)oR!6=lB}{n%xK}M_Irpp#Y{t+X-4!_?mn;tC<0_ zN{|$hpfn&XWCfp{^}C`Hvky{afWnSp4a{nmb95}Gf=ve6w(%kx-!R2SWWCAGz785Z z{Jsqo$bgE$6)?|^_drl4asF;^Y5L*1VG!rJlLX24F~@?!!Z?D$$ehoJDU$@E$C7rV z_tZF?IMRGyg!Vve-5IB&#$YorZEV72{0og_i!TW9Kgig`0yf#1z3VeN@6A_SR|daD zFVxYX90ZXB`1znl-aZyYtZ*7ghJ+-^B_aFtIn|ah_9^j$ZGTq`3d#lPzrJ1o9$RaF z1L2WU*aBcqWtHe|c|hk>6XDnr!a@&5<2LtsFV`ICf%bG3Z)(Q~LbC;4eYcI!Xt&J) z#!Ip36X1_wfYa}-Sbw%w55YPzR~M3rBxaTiWi^b2tQ=&d#d6&TJb8hb5f^3m11!{Z zxHK;sOih{Ik?svnw^1QJBnQcNB>0#6suu}8aB>hE_4zg%Fda9JMSJdovza*taq5<< zk9Zuo^$a{eZ>|6Sk(c>M<-oTGNEsA64UIL@vvP@fxjV&2J^Miy+5tV=HJztl<4*Y8 z9XzukV28Gy3e{{rMy~T{Ubn`*D*Hj+EzrixI1}rVyB+CHF9Cf|Ov%%@SL41V?7C&m zqFY`F(1B_fG?YIczjOQ0E(_o~GMW<7^g}DK98J9f^lUsGp-C+YMocAO9S+dJ!FphBuyF30>j0TKL>{7o`p5?MJ-9x)kXENQzD0! zpH$?B($rfayCMpVXfJpeY>1lDO%^R4(U!|rm5)^mOeBT|#&ZQ*#ka(0EWb=8Ib3eTubs7(|#wsBoO>61q|YbQQj-`tVj*$8mnGvMi#OUVvJ*9 zcQQ4y7<06Xn$;c_lM9aGS(~HlPM$3lwt%okmf6ijJ*uDqH(xRUsQa&F(hRw){j;q0 z!=wRdhFoMXyaxxVu)cSUXDoM4mFIPC#USu#?wNjhp8$xbL`bbiOKp+{2K2J-=iJi= zGV5MIqHC2sPo-2_1zK2)PPn?`@;f=u@sBUpnwa8VM0LhH#)-MLF6|mnm)C&?q|dg4 zrfE$MNL}M774o7^VirJwaUJkR7dEjYXa!tB#jVV7To@~-F4{!Nv~frUN_-{wG9D`+ zZ-#^OoT~IZKHMR^EJ7mCue<0x(MzH%(lyBfUH+<9WEScQM!e^P{BkhY?dR(kS=9rE zEGyV~?wl=!aICv5l`&nJct>W9L~WKY?7tvU3IK!_5tpmXlrX_cLU+O7=;(mrI<~H{ zZF+x^t5eOP+!;@!YpY4Dkq5{b<7k^#g_bDoSdV=eYYT>?I( z6t2EqV;Ln!gn5yBg;fgA>lS1D5imwH3x2@EzwO6AVzL%e1AvM^v_~4zpm&Q~xRlq= zXPV6etfAt{_9KE}ZfZeTy!H;T{}bzPiyq$pl(^keW@=_eMwSBkyuTBg%_+4hgSr4F0hrg}4ueb3}foU|nUKW7#PJ_iz4>ont&Q4QtR259C?~0k= ztU?FPJp_8fPI95${%jcZ+n1Y5gj>K)-G06sB{q}a!of{@N5H#Z3rw3{uK_JUWQt`; zWvC9p8LF;mj5EFFB7C|IY-$@~&(r_1+&J%WEdJDAAUM?vRO)V&IPZ$+nFLr9_LAYN z4ODi%W!p2LwMTJGi}9(c@=s%-A#S<{P$5R$)d? zhl;MZa;JddlZ-J6iSv1L+=hp4HvSO+wNyQ7J5eQx+bq7G(~3xmg4A%9litV6HyCpU zmk5XK6AeNBH0HniStk~rTaKcw^gUw#hG9eMK| zDnh;VMpvTu75FPDsn^B=vgPeXwq#(bRg28}o^`YD{06ZD-xIs=6Jnx`I&<*|fhz;( zwNTprR?v|QxE87@`JW#``glFV`R)KTG34sDQ8T7MEsA@bLr;tQj9C^3#3-n%qGK1| zd3NZYe@Gqa*&|iT5C88WP%i+g@Ij?7{-5s6FzP(j{NCyzqHMt<@v)Y!M6MURztXs zL2q_*|K~N9h`#~q2Ar)0GNXTMySUQ^#>Op6D3{5VI{9s#XXE7ey#PU`EbtOeK`?W_ zd~=Bi5SWD#;I1!`K<+d(#jBbqZIj`ml5Dt*&d#ol3r3rCkcg_X^jI7+jzUb-6s?`4Mrl6XGorm-MrOXMZ zn>rQ*69Qgl=YQPNR+`dQG<^8de6CX$EJOS~!k-|7zMbR(074+}B9HaZGU|ZojKF5x zGSug;nGWQ?v7fh(p>lliMki-+v}SZ~JnrqT-egG*8M{zpmyBk>Tn`hY#*&`f*_$UAl|lvW$Rku1hs)##iy#bA-Xk%P5I#fm2dZWF0eh9X zV_SRFM!?S}r?~N`G+Y0m__~gOd~>)s7tbr{HqCC8t32lxHgXqcBA&hr18w89zPZ$$ z)0{Qtp>IgiULQAre%n$rL+*>uK{bgp?B|=xnyb-YAzT(aR0D-`^cnYa-U1-XiL#yf zS2liEVg)s%5Ev;qrms{e!v7<1S95qE{Yro}?6#0&Yom-}Q&}MdDSR6`zOZn8BqHv z!M87u%gQwX1HoK>P7-?2#ihFfK3c3w@kxQ_RofSfW)p3{eXMuWZ3l?_1f%A)a(HzH z!l><4ce)DpDE^Wq9-OPI7A$S>`LXtnTe9{Z_TdI_KHbSKnbc3it1)rg%^gnb&KB87 zm&BttVT(z67|f`L{6sy)+K`n;gv9EV&u^O|@*-24HT7U}a^YgbBKjqkNje_bw(iR9 zP*u!F?fkv%(6vE`RRr-fj_OjS*zz&nG`?kTFlr1ouS3HbCF&CEdui3vAV>F#46U6y z4diaS;Wl9@dDsRO2L{lqw15;(u*>oyJ5#i^j_sq{*Hjj6sBB!bh*x3VbY^GD6yJ9H zYZbG>D%vUIR0DI;)!{nyr7~+XigGj*WlCUWLrG!I)jpIb=nCY70fej$@0am<|l44gcvNQ#DYy@ zqjcy^U#g;q`TkZ3OK^ITS&VGpvi51K2M zbNOo6cvdtj9D!&qo{1E7Q5E4y$mg@0*T`GkH51|6h8+x4K}w<>Hg9*=98i~a)5HAe zyJ16OE}?eqX{=+GL$sVE2J z7W(dIua6&rB6ueq#72q&kwj$l~pELc`ge**MEA#iI#QsimR`t1ZO^R?`4 zE6b(5qprUA%>MOzuD9^B-=BEo2#ri+7*L6GmJquoUv>V0Jl$3Lb`4O!KMzrCm& zuz;{)&@I=AW7`rlYL!~UVh(~C6>~%8dS;?{_&^hX&_y;fpJ}~f(-tFVv_FZclF*!V zfnB~rWVbDLBWEfVE)*3a&>^~;D6-XQPa$lS9{muTeJ}Jfe>KGMC1xI$r333Tnh@&1m(Wrg&oQR=)0Ky^Yyz zLuGMJZX+?q@;hwm%vRNJY-Ic`RrA&F0^W_#*_}-74STKXJwt9{fGP|(j@7yXnB2p_ zw8<#q(65XBZL|k`hKYV1kevGU9qo<5%UlkFR0Z{DUZ=&PwyFBdLoHXlsh&g;6PH5v zw^Wj71Hk<8W<`DnE<CiXne*5!m_bbiB>=$}jq%2Fv zO$i%@8S{6L%H>V7^)K|!$!9xUQjUD^w7{)On3f~fPKg%`CCJ#@n&{{*G^M8y*~;yN z3>a0LkC0SO-#WUad|ihXbGAaJnfkmd?e>}vB6<8`&g6#^G9V&M_h^fnX_6xL<1*wK z8_9XdIq-hm0=8VmtJfwiLTjN^H9~9=Q=|efI==wb(d&QZF0i`ZQ8T$iZE-rJ5f;a9 z71$cJQMyfyd_T^xHWjW9-!O!$*7pw>i4L{izS>_fF=po?hyo%IC zb`wnVNGytNE_Z|>k=eZB<#`J+)5ME>IdJ%ac-~h+#s|4z;CF$+#}^q~){m?*oQ*ER zruzE0?50I1M9l&U&HH%N4H0@r74X!LV$M?b2D56g!XL#SpSBpvm+Ti;;^BY)E=#XU zXl*_VqVNdT886nIAoXy2!hg|re|uvpGmGQ&F}FfJEWPgYqUFkhW`Z`0cTD7*!4j?VnGZVqegUND-OSAxr8QBpxXs|*QPmhzSyB@qJlKRMB zSO73zwyPK|^}It2Wj;tPY81p{<=%H>?jBWK3rEF+DBdd7YV49Q1vjIbWobf8+1)rA zzKQ(RJg`d~1S^b%?M>(b>Mp}|XU^F6087$FMSQtmKN>CTw(H0*nZOk5G#K6EnU~wf zMBZ_eHuuvIEnIxxqFMTK98$Z;&CS&Mp?(sjxy4{|pzF?n5rwd0{%}9`cv-;=dnycC ztGkS{cJZ%BF>I-4yf^7u2i%K=sXAiuo3s&qmGQ5#omLIkqb`Z<(U=YuzuZ_5Rl%-m zlecd}M`8NfMN8M$rxk;>i_AV%ULSOYRVfvzA{ z5Q4Vf$lx?b`nS0}(~P5!fx0(@P9F0Qu?={edoi>Xl zFV{J`_W5l}%Wzq+l=$g`_)iONb^Q%l9jm<)Mfa=v{oR>I-#?ZYoC*mxsP{c_OLqal ztM0M^*s;huH+Y9DNBe0oLbhnXeQoUfA?FV6xv6lxQC^;fW5f$^aOx`rk zCb^G1gT-cwkYSP2_QqZ4Ise8?Wb94hc=!D|asVq1wVBC)Rx^NRU-~QD7LXsAvQ3$z zQIyfvmO={zk-#-$L9STTTdLh*^V{^!D#&tP{aVI&FTUX{KRQ6)14Xt&KVYQ8hrk;u z8rKL9?)VbP$&L{AE5UBU!5l;mkoze#^>eL;`4pNAsDyFAq?LrRqqhB84u-vrUfr1v z+;2+6`8@W9Lf-I+!GTj?oFj7(@4hqFaBIQ((`&-%~NZ_^<-6v3C%`jYk2X+1<@<9Vh}BC>gOT=;#?5z+h)8K zCx%LK-Y95OWL6eTNxaJh45N>NO44CL@g|p1aHPnDstdzcT9UO&cJ;fNXPsxsQ^7lOd@FHV3w$x76wIIGhyvw%J}AvBQ-4A<8)bj-nGYL-8_^{Agkv%5H#RTkQY?yb}* z=R=qEw)fWA8FOTerX$XU?Rx>}AZ=4~sQgp>X^g*@EPtZCqqh5=O&DRl@R3cBvea9u z-c_<`M`*1_Qvs~;eUfkA`p+mo1$_U?1I3F_kUgq(>C1FzRayXuB~kTdO?|hg-RR1i zIfvj246))b%-xjXgfU6MC@m3su{5=ObSYTQ%4hiA8W$J{>>HZ+H@OxzMjA|{ND z+C!AZQIDRjXMFQVmRq+&ntiTF)xSRe@SQ-SPHW3mfDT&dg;1N-foQBDWvUWCWE=s; zPs&8vOSF5#^wv`>q{~_2c7fdOn+zISb50;wmJpd8MN;hX`bAO8 zAQ>91N0#Tb&jCFKk!o1n5at*uN)Sd56<4XyxR_`5=3+f;6s4|CqarzHE)y!9Pz|lq z9kN3h50%NHo%`J<0p7f$a%kTjqkTqi!zo7tzOg=5e5@3vy=;KrkN%_p^4lc~=cKFS{Uc z(k0mK+};9w^@DcwyzmdO(^qnUF{`1_#Obz|suBn1b~fS5QxP82F>G$lje#VJx%W{l zyKx866qFCM#YO7}kFOmzRP2OaWlrznHpJpo|w6pK6Z3!W~O z*wvlqI=dEXjDuTOj}6x$Gd1I4h-E>r$|~w??;|%y01$*(7GgR!-K(XXuSu=rc;+6% zRz7%7^(X^`k6CiQIN!ppmg}%Jia99eeWy~(1LW-}gp*!c9>9L&DpCyPeZGwDx~yNb z@=+W_65HMGPE|}_HZ@w@z}V&PatCt3jo#ok#d~#XpJtuVN8>Wo>hH#!=DeW+5u5X- zb>~4RD2Xf%R3ER>OY4fB(7LQAsjvtUflT-zk$2PDOJ1r1&n)OQ42qvx&gncG&anI$=~R7w8uX^HeBTE&is`s&~|yKy`rt=hUbG&MM zlDz~SC_@{0;nb_yCcE|wCiaJXfs)U6Xl{&@J0OC9t8l%*NYtR+)Usn|13n`-Mw7*U z*&I8O49bFQTN6D}pLq?N)8gD?7yNVC_1)RS`OQroZ_Ty4D^{uGXkUag-ZJERu`>aitXt8a0O5I*FiL6dv3rF+DXVNedc7?K z*t7b3EdqiQb>hsv_HKoOMX(s>94U*ARNuwY$`Ka}{F{91q3L)j?sl?0f^*)v{$fIX z!=C(moyF*?<+2&FNp0v(8#9xIiilV-LK1<@M=lG%G1dq=qe_U>x;JJ{_yO3>EbGG8 zVnI5EW)A8#&5p!OR3?YKnKG}4t(v~7vM{hn%|1qB+P)#GhAgm?+HsmjZDJ~r+AEn2 zketD6+QsMV%gj|)FH&u~Bud<$e-<*N=0^pfL(gY&B;m2~A{vDFiuquEprhrD6k&JHTxde&=HNn*AS}#e1dIw^ ziq3jVBf7-r)`wWAfTj-=CK&?lop6R)sDF~BdM{tz0Q<_%h^cBfHKSc|X0Xtdk%A(} zpkb4m%R&1FO2Mi2YFL3^2UDCmUj`+5w#PVN&YR?3AN;P_y?(|^kGVN6(|`BE+%??3 zewv%UQ$XIAW6`~eo)@j%dz|yC7$ETWzg!v&S)~k)Ez!#2b8|NuINhCvktmx>CF(9+ zy$I?ANZSt4Iy)2(5?Fpka_fbhsy59f6hEbdWmIN67>^!46Q^&wr^|$TZvAi-h^3Vx6W?5d zifZ-8zyx_YQcg=t?QHK67s=%-@yn6nda9bS9^-~Ebl1x=%hrXyu-KAFH8>Z@fbl`< zrlC4Oc%l1X*mdyqoso8|xVgExej4BUQZl4_+stV@Wf~eiVjvs~Pc7f2T7X8kITuHs zhT9AX2~8y)8>WuieT8CAi_z24b6veig6?zqDsTh?gnD`ukIxO0*|0GBlyCX6l6bj& z8OjxsDf!&TUXea7}WQ?eFkScRK+?s9hAv z1Q#2sXkXFl+qX=C>eI%jT#4Z_EN+eD9{twXFLkt| z+y`6OqtwRx1v7f^z_N0cD7aqAA8={Da&)j7*-IIAcM&Hs>5@{rZ;sl5H?bgWj4(W7G5+7Z35EscmmmvxPMNyUL znD{7?10T+spy{?D_#^L~`&svy?0eLIlf?e=Y4Pd@U@khTGrPWr8`~UmxxKT5ndg#r zu{lNL&50vDMY!5POBgk-z8y-g_rPFD7t}*_E1oSM+evsuLoHMo2(q3Q-A%KB%|Ob9 z3=5YpveCq``GKq+NX!67ec|3v0Sie->65Av`l>L%J5ApbUPI-)TolO(#}FXIgpV}I zPNA{&cjw|gtXreE(+LNKyxj!`t9Jboc&GmoL#2m#(H8x$`X_$)U@SsBx9eY@KWZUs z8+y05a$)%y4qaOB+n|8m5zbZ52s$wwF-B12brmQRb}TIV3h!5B=Or+OW1T| zLyB1+cV(upvzW?yE^X(+a;a?1?!;oWUx8xGn~2kJ$HG>5&T7UI$7P6W=j-htV$Cov)`lX)+E{?#1 zAJs+dBX-_FT$z$6*E3ZYteB=@Z~BQTuQwQ6onbOVirZMs$d+%krzV_g9gzfl8DmgX zAa9y%y@~5YhGiDe>8PtWXq+=YZA*I<#ZyFwL8AE2(&<2THA&8ak;>*?gkQi^M1MNDn{%2_2tv<{}bT}u{3M~zm4Y_hJ#=3aJ?JX9N2;ZF})g4ZkIDS_4 z9-InLt-tX0$@g3YNIqD-N~zcYdQfQxvm80I3!7~-_9muf0=SE3l3j=(%)En-{kI5} z^uV|CrKdKMljGN43XbK9MAZXaiIQy#dyF0G4Bs((9xsWH1jmVK3~d!5Z{O{?1~WaT zUNgN7hOyqn7<458MEY9oQ4GA$h3fl-!T$hf%QtI(P2aU2ccMC$g{ThAHl|%*2gwj3=q<;KjjJ>ztKo?iU-^M5|mr@u%W)?AY+ zuksz7`D2}z&I>G#G99DFA90~u-;sU*RS(VMw*AjHh2zcvcLiv1B3s^+|6P*(?cf6( zIx{wO;C^>c4_0`>m+B9XC_%^aL&!y07G485OZ>T0t}7oJ^6lpe)@ly0*8svH#C|^F zO4|Nz$Sr}OUNBrMTvI+Hh#{r@C3$l3W9?t8vN=+X!>dBuaQ>NrHbxOwMI`zZ&0TrB#xGg3_a7DE1gkXtlk@%QlyEp)iQXO%c zfU)3+n0!D((A=m;gpPViF^{F~?N3~xY{&phl#twLbqN!yCsq8-ymYn=gV0#4T%Gjx zy~D^oX)+u}f_kZv6eos(fHacgRRe8YEGN;>qda$dmaV>wUaD;i&REY1&4+q37H8Gy zWdOGCH@Oa=#X)M2itVzdolN4vbw%I^iNs@+{Oti%E|}&p_R)w;HVvUBkywZO8j&|1 zm%_v>2C202CkO8JjI$VSE}@vfykp*(A{s^cB*C!_lb+N_`^CYV_KW#xap4r)w86?^ z1J^IIhJ-_M%jA}3yAD`2kJNueD2Pk3td};jy3^u2iv-{i^(1bvG*+o-nE#@H@Nj_oHgu8B{tanw%uK3 z_iEV1%BrXTzn4bT&4=>m1zsM~QSr4W!7f*li^MP3oIQzul1kbOf~b-NwP_urHfLrd zPP2YT#-awx7$aQL(leX1A@h99`MREn z=G%+%{2f-M3EqHYjZdrCTyNL{mJ%We5Rir+o>3$aTW`RR;y9fF2=q%~(R>lV!Kl6m zoR~g(qFWw**N<|h@k?Hv?S^*jX{VIU%y|A{kd7a=ld_$&A)T6x@lhNtywEtnFF$NO>ZwE zns+uhBU9~9?B=J1x5%?;z7aB^jO!2|eIi!b*h(c;D>_1$a0s*c5+JW#u0%4I)r*aLHwplCCc^MzU5^nY-f<=JhavM?kvguHZ~>a2Pwh5%5bA&#ruYsoYfUwwvs> z3uzOq3N%6HLYp62RWU7Bl`twFRnVvv?JwnVQ`{oLta!Sh$~BuPjMa%!z7Z1OtJb)$ zzdnL_U{Myh`E7s=_**meqcCkjo!>cxB+PJle9)kgq4l5;?3rT^>A?Ep%G&@?Xmz|3 z&=h9qVXvDabBneQK!Hd$k}E~(c}wFgE0}puqySn2<-%FmT^yGKLE*)?T{%`nicu-r z(vr$q1vLnwP<{}V;$?u$fmW$?7;k{0$JJvW)`L|U`%6KuwKHJkaASSiaE7;RE$%_7 zIzUt!mTi3%Ix*Si-xv0La@ccoK8rK>1TB@Jg^c8HHVrgtMv&G;A*aGQ=Hzm zrGG_o!6mx>&KqVe{W&#}uA54+(92S3z9TO->T{uT&ySNgq31|)7MTxIo@HF58;jMp z`ff7cMthFXp^^F}a;smxn*(KNY-+di3km?#u{bJbl|erAI?n`#GQ3Tq*kV@^fb77= z2=&t%PG!g5n|Mv%9JwQKSQ|V7od%o{>$ebx{`8k`b1L#jqYI}2TgcKOtnE)X>813K zZUge5(7XJ9@Gk(ORid^kK=Bgl5Pa`1M}s*6Kq*d7S9Y=;dX0a13b#P_@&69Pf2vEN zOXH8%#%B+RiD56Ya`~u_Ypo!k<-I%ehjsJ1#Wq$E!u69|uv6(0^&fj|z(fB4BtGJh zcK#DUkJRXhYBTBdK+^Id8~&F`KPCq{osO9a&3;d+{RjWmQ{pk{NwDj)cJVz>JfT!e zFKse#ZZIH8g!CIUje20&H!g#y4Gw#^&Go|_?ZkVG|_W(H- zsF9KY*g0E@?M##?ouFb(MXMFcx07IYin=Tpv4ZY^2 z6jR;;P`gaJpoX-$Gz6--)k^lrZ4?v}aM|ix06O=AwX)F7!{@4%ys$E*sD^W5nmF2@ z^Q7_M2--f8c6wIO0Nf~1XvO#|ntbOC?SabeniG}cW=l5_G0UqVP0F<>lu|aI#m>YT zF_n$?-~Pj^y!gmlcmcN)RstoGJ$LsS$Xnt+Bu%yP>j!vX7fh1!9%F~N+&>zCvNR?c z(Axkd%m?=qulNfK&|Qr!N*LP(z9q;J`~l!2A#OEtHIjG1MlBV1rIWx33Ip&%?X(ar zfQ<2_SPxLoaW22Ezn{-zrmp{%oRgzNq~I19if|p|TzE2U&`$FiGX_h;Op~CF9|*da zWy9N%cMGO9r=oOo7Iv2pjJszQ;>0w+gAjGff`I)MP;ZBP6Vv9vfop$z=&z(d+)A6= zb8qQAB?2#iBFAzc#FOw5AOV5fetFDbfZZtpDQrv7g`;_QqTX*31?6u7Gob+FXQVst z>8sTUF2gW|h#P%-+4GSalcAcLEv=F32IzFj?tBe3HKVy8bL9wy1nMS6EgRZqJxHd1r;q^T2Qc@5cR(S^3Rk`is0> z&yNuO{({djf5E96K-OuP_UMCNFdB4u1Tn`Sfhs1c0>-j@Firpm^PC$!Ai{xVQ~TU@ zH}B%=wM1*UdTnnoqI%~}vHA9$kx_Jc$aM`>9DK)6nKL~6er^zGC%y|}0=77h>d(op zO|4Y)IFC;~Lsi~+^BW^T5}oZMu_A&(Yq6l;D-4orYK6Z9Cd6s&ug9G>1mnC^F^Pk= zUAHw`e&Q$+io-;*iSY2lLUUHo4&zm5J^)g_G#AXW^lPpF_@Ld|fbr#9qvmffT9;6}uo|xybW{ga zyPas+TE#@dD{K#04T%qAD<~pNQE)DA*&9Ke<`O^k;>0lTR*skLSzlpE>lvdoi$R`X zU*G%rPj`tTg)EeEC17{%Xm08zrYzvADyT-WWe7xQJKf3s7|HV77y~CGU=GTFM>Z+z*nypoqy2&qywEtI#|#*~OK$p|*^mVPbdKYw#& z`Q_rH!h_r5e}8v>e=&#&=T-<02bV;oQ~dK3|9GJ*S$HgldqV5JedANkUY0f;Wq!%QoZ?~@wo?=CZ^-aDE_tTKmWOs z_Ydxc)&{jd(kcK4?z`IxL_6PkV%p0)+Fy334%iyj(R2P{Tm~N7Dfsy6^yyolqkA)PH_mxL1f< z5N~0h|F$4M$}kiyuZ8}oEdcAt@n1{6UsJV?7aTP|vNfQQd5YEXQ_Znsk}3o*Z@*Pn znbVNYR1F#N@kEbkolAa;W<7cG^{JEBnOSe&`|xT*O@cHub!k7&E*M_cbS)T;8o=M3 zcG-)#YiYTSf=9;iGc6xEat`meA1~%}o?|q}UZ>*|NZ|eXht7^fR!%N4Xpu}!LE*ZJ zg6{@mRp{00Cw?A%Pf1ygskmDLlBnXIF45b(v(c%3mvLkE`87GYYfA(S3={`Jt}*GA ze3-}v-~4);iDBt=*M=H1-L>fCYlEUifr6#2qT825PkQ40`9}hM@){$fs?IJ$q`bAa zw+ou=oEiR+bETz(d(b@rh8SU)@R=5wyE7d<9yR-NHwOxO43YY@CXWCc0{N=%(O}S=j(+O2Lx=Sd+t7O;p;dfGK+&(#S_;@GDG*r->?v-UFRa%B0 zA?MJECt-3Yp|6+}Z*o^QO6S&O?68vid2x$quXRIg6o@5@G-e=yF27lGZ zr$X(^_%Sid*VWr=%y6JF`6>49A1{?Zsi$hbpZt1x+sw;H!&({K9>C^sgN`KK_`S83 zDz6BcENkr>K!nVTRar|p^$MTu5MN@Uv;dW%Eoi+j@>9)3!`TE%-nf(fS3-{eCVWTE zbu!|~Q&^}opTwub!w)C(T0cS5IclM;eSXnHDO%#-x~^;)vijl|)#J}x*7}bVU?y#R z?C;Bco}a}qJNdCt9F-{{XH}QuDK{UWa-O|1F&$ZXXWPLUHB6|4Z~VJJ)qcK4JUL#^bgl(#0{P8^ZFiIseGG5Ha<>ubeog42G=S`^%0&UnYOXgS^CB(gu%L zi;!eKb`OiV5}h3Qw1~qMWxvP|l`!3Vew=siov>wr610B?sTt$g$Mvw-JjtqhJ8XYz zLK(7G0yn{-TRulFa~M?rw1!DMb1M9s5=ElZRBndH{C=uveo-D-&XaMRF^!z zUz0cT0Cu z%Ew)OtPNlC7?ezTsCaQ&8#@Ho?52k9$6X9$W4|G`zlFzZ(it>ZY@vjzC}Cou>qqE6 zzvFu;en?}XQkE(Ge65gMpXKm%W(%Flc01>BFkbF+K7mTdV=^#=w^&+-4CoQ3feVQ- zhLM-8GPmaYyeIES%22{tOBXgZHaS(R%&wKFSsUk7Ir|w)^ETzFbv^#A-Wm zlLq(kuYSZP`F~pJ*j&7_-*(g0_xxhDeZq>}j0xt82rTI0_>wQ_%#I;x8EK%Fz;$i( zO?kYW9qHRb9{c$0dX=}XX-+ZE%=I*Mfhk=tYsyH!Xz0(^c|*GZG?s&4Yw~rv(s?BN z09$z1BE&ZM-n=w*3!EZFK0F>2Bi}ILZB>TrQOXHBe#;wpC94wZRsnb#t|Y>1ws$UR z|((efie8lIcfR{3nf^2|e#us>3=tz#be{jLI!$|Z<}=~bm{7LR zwCsWW?m6-O+zxlF6`Wc3@krp1k{$$*_Gk%1}wEK(=w{-3m!4vbY z89Kd1{b?PKKHP5CEH>B5*(tNounwQloVh>p;%mOkrgZ)~*gIM`dx)*3J<7^-H97m^FI@HD@+F;32z7iCWx zPH}4P>TiRWkl=G$x$b2lYA$|EqeM~J_wQYJb$kxeSse2uS5vx-)G&tsn89dox(&;d z0#QXkIh5T9<=EXoj^2yxPPx8taX?@ExMV%U5LCONltIz(d_>OU{pC&9Fu!vpQ+>2$ zqnx)M=2BFjuRD*bOqopeT~B>&ciqgxM|>}SDsG9ic*?cuvMklOexmfnF7Y%6Uv4@5 zs?~|>Y;o=@<)$IsClBb>{qz61U4Hy79m!=nzm(y}%*c3r{kwcczQa4ccz33~OI+WL zL1bv4MpP!I9E}+kM2|kSQfPuc^S{7MnoANut6{auhAZ`5EAzp`?ao)*s?@AC<5X8DpRY5X2)7eUP)V95X_EA` zJM4_$Uyyj=BJqg%yDlMT^AcxLI@f>GeF#`t?AtHzPOMt{UyBy<&md#zE>1EnAb;8B zt56)JgRr6TjC*}K8R6v_`4US2)jhBdJrY;oHl#E!{wO&|UQcWkcmHg!$8zuJt^1Ki zZrLGoi9aibnh-7xdmv`5V)7U?t)aOsAt#rFlmki$m(1Ypm+^$2%251nRq?zg&o|mX z6TS)}zkAkXKqfycd*(dd7j_QWM+HmV9d%a>*T`W!zA;+wKx(%eV-I^Hu)3ewu8V(` z4-DI$wDsTJUrZL89f=rvdMF-?T~YP$uhY^($M? z*m4bO4Sth0^In)>D$T8EUs*Gv-SgjED#+GQ9jZeuyum9u2^B=PJB%5#Ofbb}g>eZY z8ci8y`o?GK!S(dwAGxe?=ux#=^sXprF7&&ymDrsav;gVULv3fkG>qabzeKPk?CUZ z=!aAK0wx>WD7lRSjGw3=Y>uBFmKWVQ*>ssu${U@KcA28d3>F+cb@q54hb(m#T)#rQ ze>)kUdkE8%rk-kk7yi=EJbYooAiGKN+hv3O|D<;40_F%XFSgQH`1r_v?!q9PCxPCb zxF~J!vJ`$INFgH1?um#YrwW&r0(kOaPf`Xg0*gHbw=N@ivF_)Z_SeQNtgCeDKCA(PCwS3N_m&&n3Klb;Q*WMOsE45Vx(QX{53Ar$IB`-{5nLl#Z*PWL{X3r@V8#`axdn$KO1x(uqV4XF}LgkZ)<3s7@U6TW_4a#=xM`0V(;LvYSzl4^&z`*cU>7HuPDrXb& zO*6zU4%W&Hq2g~>U5~jtgN!YCOgl@QDHWcc^In`BL$NJ)a1o&6@V$h7}r3e%Ss7awhME z6PYBe1&)~}Rc7#s)py%wj}h9aNMAUx?3mF;DCq|eQP50~$9b?Q)d2R4xqjD@7dG~r zJwD{fg#K_*8OQS7C1LuJh)%_X{rA(v}|NjI~=<{AKvUagU;P6aTzRcEMlOr zh7W6&xMyz6x3Z7oHHGeGrt7ekulw8nZukNQ2o1_lVszCgyA8v2!voH1qaX^M3x9s`-!AI!w*h!d>3?l~K4$_Il0OHm z-!E!Ve-iqj`4I~Ed!7>ZgnML~BIOqo!G`ftXRx;TIHI0I8;bkeKYt{Q7z4h$iN@1Y z@AAN3laC)cxs)M!(cziI{CUr@SZ8w;?tgy;@1%rv1LcnekUbBMX8GtHEJ@c!C}FK^ zH)(S2->RFAAyZdyr2QE2k`fS* z?rshtEg;<-4&8C+u5U9l_kK6L^Iyy5VqELY;eFrz?)^N!dTKr!8X5)}8WwtoO}rMt zwzw)F&QRc5`mFi!`O4XI2a+I%(4_+>8UHsVFBFx??Wk#9cAv#BZ;7l_)eZ2zi(v~V zT%$@{;9gh_+PvKziyR2((&IYX=*Fj!pv2T zY7*c0U1mW)zh?fs&qy%cR|Jwt5|?mYj_Y~ z`wt`~+y%zyB7$z^5jk5t6h&ifD2o{_(&>+eudki|?xPau_a!AIRm$Ouze_3`85Vta z!tY~DAE!V@Fz4%vG*VBr!EqN-?%%ERjk3`}s{eco|MflAxj;H1pD{v9o53E>QkD4? zYbG`qf`<-~VlFf#t<}E>A)r9|*E{teKl>b!&NI|jh=$@v^(*e&dkCq?Jy8j_ow)0F z*!be`r~mfD(n*5LnRzV_Ap%i+!pI0{4m-1_72{5K$NK+Ys{j6k|5~1Lf~*uX(PXuR z>`WiwsMI_wG)@kw$J3K*y9)p-s?_B+MMDytH+=C5MAFr7m-prZ!g5i6Hd`h^$ou*j zugYxXV=(|s9P!6VyszHyKoFVH)bdIo$)@$fcK+KvV0ptz=5qMR*nDMAtCEW`maEuC zAY94qxjFh$3mBHJcfD^Zn&>=1;H$#Ubk)YVwoMgVRAi(eti~qCVXa@W+Hxw_abtK< zU@cCu6NiC6_rJ?ha9yO#V0I&ddH*G~RBVt!*3M&mym6VeMN_*)EPf zgOkShatIsI=Y7tbg@${IxezW5Ku}T^tY@sIk9 zTb-;Ohai|`c(pHS<7|H^9bQmeA6)OeW4_e}B+C*2JxK=vwWx|o1Lr3&n>>jqa-qi& z<0l{)a~O;u4!mVhO!vb$gn)Sg`D=vOps>R((Y(@cbgTMZwe;fQCOYbWUnyvTgPcRA^5EFrX!qb4KPWVMbbk2q@XlQ00eRRj$U5~%ne$$2$&g@) z1CR?i)bioCj`t(Nw)zb&uZj5FR7467o1ZfvuxB(Q*8&gX7_{#~dqwoc!w4vEcE$?S zN2%^YBP!qZ5x6Y|QLh6HBIYq-sv>|L1fsB6jDz7J9tzt_)b}}`dVPC;Z;?+Rjm>dg zq5hzUE>Ak1(NJHEKz;O=H1eOmbo%!(0kAXc|7=$xF;NleQ~{|W)bupMRzA=>(a`AJ z`u-n<<#!Jx4cquspX!}AS|<5TMxlMh*olF*UkW?NNcMo9G6i? z!ZM*%5f0Fd3=q<)1cGz(le+ToBsOu5+TkWnu!i42%_XzP^wqJ1tIJGjLbJ+*h z=YS-}=_kW+`Z*f5CfZ3Lm@!zweYWZL#yye6|r&u?gzcXl40%5{$efFQuOr`jDc!u|wz;F?lATKV@cA-_JM6dB}RhIiF zkNbk<3rU#twY}9-QtxIPT!k#xiXgkQ4;xY5ti|-0iG@dJV-T2rvStZ z{(ka_Qd;Ymk7$HcBjR=pyt%ow*-z+Q^hn`#%>}9{T=sBV z6Q)BT%@%u@75}Pl=;XN*h;!1TRn3o)IO<73)WDqyt4xQ;X{~tZ4EC?8CiF69>KstF zp1s_bZb_ay+`9kpk;3)Gv02+kw4?nllHZ=rj2P+U-A9f6X_2OZf6!}sO2ebI1#y*pIjvfoz%xa--`#z+jEI^%SsdyT9u3AZDS zuIozdXq|%zDmpATGk%`mxCi?JXbG*Nj5y1i0NWl6+kpXu`S8$(b*{CrB>QZO#b=ub-~jD&BZFKeMx(oQ1Pu!j)khMX5t zpNC)3UtokF-K{ca)O!G|G;)4~FzO1=0^gwkwAZ3Br~S!18|^_@LX&EuXO-nKV1f)p z#9qDHCMYC?B3y8;!L?#tJA#k%SPTxKF zQ#OGi=gZk`$!r(m@~DNjY}ruC!UD`a=hPEh>4eDnCKK}v$9rL7cZ?P(1xDbDT98tK z>ezCadM~cOg1S^*q66(60VbMYDFZK2eg&*%`HMF^RW@AZjf)lJaLui zhv2)VPD=4~vcd%2YNj@7bD~7v{}E14psq;jPu~JYyZdqT2-?`3UkMC$|Eoef{lVm`Fl4j~H; zV%vGQeEE#rfW_#_BG#edj(mM^5`w8$yFF)pUUkUd+Xm;P>e0BQ5U(w`+39o*QX~8# zfg`Cr0%=Ke`svyH*FV;(p!nUrx$cjUAfkRX?GU<_{FklbPiIu4_zamp#7w|KHzz4@1J_ zJ|&EyOuS6m#(AL)L9}3fR^#qcOU(pu0$=Fnwe_R(JzM#;v5%`iz4w1T)cL1Wpfc}D zlvIQ>7&C{@TT|(v9a>YfXyzZea$Lh9@}3t@Q{*0lI{A+$_Vd3<8<8bi;KY5z!XjiX zaBiyf*}h!o0b~dTZOSb*`FxSXc8O7Ibhf=84>cbfyibIgl>DHywXlpS<0E&_)jU8&i1{@HhO5&XtF-WuHKk!@NBsTu{(_V)Li+l3 zl$4W3T$3-t|_1p9X(A6Z@htI0F1`8I^7dXm_W8jxQ3Z_r%ouZA7O z$TC}owQH_5rk7@8oyU(c=%GaUE6k>xAb{Hp7$X&I^f7a~lWjQlK)IT1z4p9IR+ z3P;9`4^l<*J{817Abg=OjoquROLkr>jVa zxDHe`>UF>q`<4o~kezLG-kvlnl9+iZbPh-cn#*}okq&6w{hzc|8|F_!95tlEso zkrE)Q&3QB)l0AHN9-<7gUvtGHp5PY`w@F69CwNZ@^4TFUM>u?gYu? ztFPI9K_E@z@ zD~kVe8@Vr`BG7!o>r-ba{+Ghy7#c-?FpFjWWv#g3XW|L_%$rO+VSzmmi1~G)jan&; zK-KK(EX}K@p^a*4U=o?0unxE&S@bO%np!hNm4qP4;Qua4l~s0jzXBXQox)W5x`) zN`I`}stIYT`+{8s9F{;pt@2_q&)PHi#=)hC2|Qe-gKn}L`m>Fk z+o3pyf^{%w0IToGbIwn=^crN=-{FoUXkHp^;g=|gDB8zv4B{ab>Z!vaX(Wy}u$^x{ zZRwx&k!ndYNK+MGUWXqN#$VLkYtaqB?YS#d1UtzUl&EBJgk0WQ;8WD)lYJEzw^hHM zmc4bpS$x`BPgyG+1;?IAj@so<*-7U&cw-c}hcUx4eqY4q?rw$)VzgX;;3FBS-B;eo zh&Txm&rf1C6O>JyjFtoSX@b|)K6Sp{HA>=ZqZF4bAUWVMT@q`Gwy@+rKEwRX@5xxC zbDpjGqgUx&A0eUXYT-nXC*$FAotj9d)8^zy`{f@C6Mjx#yeoCRJ&E1seOfC`hiEV6 zZoP0Ym6@7nqV3oEjboQ+YF!WGG$OKUEcZi?N56f3t-KC!6V~4avd~FMicm0@u1+x?@MV^c=a|Zx}=$(YEr^LB7kLL36jkHkf{1I0hc-X z7?8GT)mRsg=~h3RcYcIZ9{|E?$GBR`Lt3Q#`4+H z57!1lT-U+`wp^gMH$v4klF9s+cH{TWaD!jeZt3t0eI7B@@AcZ6iikisXg*%T=|;0jqbzk)^5!_`L{f**S(l7b$Pf` z3uZ`?2hJrz&!FM{yI$AzkKCWtNn$$e&O*T0I0sZ%{TD8W!F<)jBIYZOj&xDFPstN4 z(zX)@x$X=(9dlY6-LHmcZh%QcCHsf+Xr-BOB1m5@6<02~2j7xjW06{OxcPP?%=*rf zm-2-N&CN}oW(IBJB!X){`8%vQnPjl{fv`6O?hGp`jcl+t1eLRYq~Baa74MWIhm$s+AF|=nfQf3-+bloQ=}-$AHpZ7YsOevkoG<3m zu$v!YgMriCrQ#LmzsZceV^SK)M$1*oIymaU6E~eKMLGJx;$*fr&+jFx(PbQijrs-9 z#Qsm7pQ-T5&8CY|xNT%vr_X%qpu3a)r5BYOOAU=%@rWG32Gcw@HgdKG8(c$7#|s~l z6NGn!vs*!j*A{EAu>#SAyqi^cDXfOV&>vN?V3 zggEf!^qj7oV)eSBGi=1JuOV$bM6kCQjeftUQlp2aC}t1Blb(+i?jw2LwxP4SIr8$I z>KJW~#R6fSWeB5I!8UNS|^&NWGob{j3#*(fx}xp-SNH7rtnVr)xfOU2f@J+RBI`jF^^5iwZCF;=84 zJM$$9GsWvVj{Py8TO}3;avZ&@u#US&o6kgR@QOo+EJbovK8tfR*YQ>fZ@=XJ)7#64 zk7y+FU~mQ2IfF}YEKfX+X7Pv#QGdPXqJ0z+B-w(Rz=5F8LeoU<`fObC5BlE2 z(FU0}Oggn+^t@cLccv;5&Untsx`?YDvaNf(+w>AU_e?$L!*7bxu6IN+Kd=<$K7m78 zH?y^>Xj$zRZC{7(HeLESH>8s4m1vx2*YeM~+k{yK&Utu-(yHgt`8nStU0m*ZV{Com z0Q#2#eB-;0hSUh7lze9FZLSm&lq?ad(aY&~Ub>uTPOe%r;oJg0vQS5YsJ@-RnPKR~ zPeNuYGJbrI*w?*N!)5&;IJ>5?B7LFiy~AzE-d{=wI|XEn55A}H{q_hm(0lN^?9HA= z<({frX1lP#*ycEvpWg(!`o>({abp$vr!O4gftNd@FU^P2%bc-hOuR-t_7@YzC(pY^ zfUtp%{8V$)Wv|8lXgwohu+q$^$W60h)im4lvN}lO_E$8mr{X_klet4y`*rE9^+KPY zGvm-G_`Yl6R^-XU6Ym}Pyid?=cYV=oM|-@E6*o{T=Y58%B|bXn)9#@W>IOnLi%gFf z+PX$k_(-&UpM)IX-JGi^n>lOsctro_+Q;IW2YuMp*imtE^tk&}4GCK)AfiD^dk60TIU3C&jDS>+v_Z|<-nW8cOi3C zZAN4G?vY$$8v+$8)L37FjGRiCi2Av&BaN?+AkBBHw8v__@OARtO8u}G)%2%Pv`XIIp#bluFu*AR1jsG<7oPDF0}d-cvHMnSMgyT z!P}+=&iy`6H1P~x982d4`dq2KZhF&`3j0ge?03eJlsXx`n2o`!&6=H)uR2sc;c)V% zOR2LUw7;sbV%2FpLaVb#0BrqAx2n>wZruG+i!VX^SRr92_e4CxBxdgPU}v)8Y! zU?vaU)I5 ze9CURI*>3xZ{;9d&gf+})E)2Ze&T*iEW-n760Nh>r4$is!rWJCPCMFb6WvIL%;t22 z=w;DHOl0`!5^lJSl((1IDBbDXP4XbS{Vy_ht8MhfYi8`D)w}^mb&-pVps&QE*$ZSy zgcsfFSoaZbnH|EkMQIaS-&93P6Pcq1A*ZSO} zciugQA$N2Qq%$?02}-xGChGFh(o6~jv$w%991y8 z3ikAo#LgXOwT$o88x6_dw$ zzR>>T{)zY}CdppknZ0~@v{8Y1y+420bw|WVuFgK0Z56_>RlG*((NL@muUa^*OFN;Y z^o1fW_Kk9TR{;@%%Taa4bJKyBnvth$G7O@`Zj>jKg7O|HnAs6?CA^zsBns1 z;cPE@>yD}U@ZFA6ZHD9N%`_gC?JT6gNrG~S;^|W)J4hJwk59!S2WXmim7g%WEJvjS z36@|%?;Ng=ztcao0A81TU{GTcl`Mgr{7d2Fw0fA+4Em?GEqn%2AKr@7WbQit3GPYY-y=eYocOPjY=gv?3=p*Tk!=!8wb%-9 z&mSvCiZ-j~eT@?$svwQ8NBBH#uFQyTb8<+6d80av5KkVQ zc@ZF3Mo5%|p8RSM>bN5ggm8iN^Zh&GiKkz;2IXx}jlLfO;xb3ZHI_=&Ew<^*Fd|Mg z1Y4or$vsNXB`wQ;@@4Io?P~Nj(*2kHaSVji)-Fg@28-;DNT*6!Qh}y0iHRp`^7DjF zQJut&a!!n1Of9;n7sCsMBj}n`TE6a5t1*}96`fb@hVbL(ei0K+1aGa@z4S9hY$tRD zydHljT|k~gBdpe#K5q>nU@-09*qcIbuTLLko zrtN8c+=s$*QX=k)BW2Lxn?dwkSNbk`lbcyio%Z`LB6y72Jl=Ym%fpCTUM(YtUIY1e4DECRyTg#7jTWZ8ni6AC8< zH&^>iUh(O&6{&^RhkbSgifdlic9&6;xr%g{p2buFhYvbVxamboSHfo|PcH`-2J+lb zPYm$}cm&FscDT;6-TWU_DT&%nB%G3N?fLxHqXe%XGyC?Q*nr0IS^0dwylU=H*N+6O zm3lsu#SWOroX!#x4*U;DT%pILo% zQ3&3bMnO8IbZZ>2rVK4g6D<8(Icv>Y+%#IOG0M?4-~ICDryfmBB@ zP8pvMfdAw#_S!sSB1;utKpFKK(rYzm3e>3!XyqPVx1z!sUVY0Z^F?($;o1!* z-Xm4o0){Qxk7B%b_Ur^&bgzd-DoosIwO19VZ*JtG_M)-Gs?A1(SSzgI?>1-ZN{-t= z#C#pA^R@~BXDKz`rR5%BGZD`Tu40It9XgCW#qqM@_ZH@;XYp98v!3!^)0G=UWSyk~ zRv0awJBc;97Bx4c^-jw9YCCopt4T(qHMr!6m73;i| z_M14rSI7eDc;dH2_H)fQ7tds$3B(jPY)WxMPQJvZ3I?RfB=&5Ty6mS{8nnS$Kip=; z*CX{%lETbKvhh{(bW%<{O4SQrvzg_CLvc$*wx^4HDul@y3s*ue#9!htjiPqKMxpoV zV{*`V8=*7jaBqFTTXjv2oLfg9qDjivA$#*=iR@Ozfky+Ww{ktnbn#VBoQji8f4n?Z zHwoJ~5;u`^I{VHXRjiy`m3CN{HWDY7nk9j2*0=R))J!_gpv2xwE6cEhnboKh36{t0 zkYADF1j@e7Kg&LHJFRL*wqsATXH}NxkNHkC@ZD~&by*!&w^%JFrAJE*tnBg|TxY8+ zv}twgv9Aw$OISV5khlSg*m#K`Y;~448Cl3s7F*LA*E}5Bbg0BHCsGT4&XwzZi{RF+ zjExFf0q3{46^y{!eV@uE^7}ke@|N@|OV94Eo*eHbh}AsXG# zDO%fGAK~;8@EzFR4z`9)vz!_}SjS#BQ;PX&jhL}a`iWXK=3>pn0*p7~pqXI-wBF3A zY|?DTR0Xvn(1<*6Xh*qQ*&wD!ob*L4j|VK-*Zs3+DEOCvdf=Oxlt>pj&Cn z6-K}(8k$^Vl3FAV%xBdpUh`f3JdW#>9x&IXt^$zWMtOB?Jgm#n4+7P*inJjQ%V&oE z*huGF2G-Blcr>?~95eUK1}v`o2JZU;Po3&VcK&HEt!=eBt>Pg9cR8qQkt@V ze-DiDQ7Y1sZLc@n|7yFSL~dr@c)`{YP3<)i-aq-_N1p!Nxyy?d-JAjLFHRRN6CFMe z0@{MhH7Y#Lb;|VDrh_`a*lTlJ$m9rsrQ9YS_s_m3x!Uofu)@pn*=8kWuWdPOP1`Bk z)nO^m5g*F-rT@!jp-J+taWdH0i+@dE5|9H(TTT=OwRXpun8en2U(x9m_E4pngDGN0 zbR6=0ZhbW;UWDuNU0XyCW%jOBzoS1${8>>6uFn+CFAE z4)8%Vg_oOU&$_V_eiL207`_fYxa41v0~5DnFHT9UuZi|Ym19l!=9^-8AdExeuEO7} zt(lhy6+8eM|jj)13U2 zJayA#(_76Y$aHLJf?eRiWARLKXzn?e!x@hJke&6`a?l*G9ZY0joIVoBz8X`X8_bra z`qdc{~uh`7UGT9@RgQ3`utSt~hIXFPhB) zw;qVk+Y-at6^?BMoHil*G%nSa-4UEd`vKmT&|_g|dIm0WiziOw`Tdi1;3*P>d2JnW z5$wEe=T5KcbX-#j@R@VUuV8l+;BcHi*m4ll78puYZnitLyL);Z8~yS6sTw-5bMOPI zy2IzVW#=|1Uc*5}Cya3nMf~U)Eeg|5#`2WI#3G(h;>*g94_$>WzQ?)IW~EeIJD9FR zT=1sIuh*E3_yb_??L*c~YJp0$KXkUgQc<)8V|!rcpdhLxT!6BR@UGAUe{>!rot2q}+rAr^;`gj4{Y~=MR90jJ zzK8E1-=B!;<2Ub9%_p08M_$1)9uL)pWMW-qwp15Eb7zdQ?oW;DzGxHXxTBiq)2T5g z4C*joaPrA8Pl9n~`U2@8JUjFbjvMq3 zh}V?iFMm`XT*w}mJEy?=5Zk(ht=&m&dvo>#^Tch62hJ_Y4-dZ&A@X-Z;l5&3VXyU*oFv@|dh4lBFcB|xUvd6n;{G{z z4=&|f@_Vw{ipXM-ybunu1vthGjy66^Fq{RbggYEO$)xdN7V<5+`&u=wQ0>bwn&Ve3 za0Z|JNfWnrI=x*e)kGV`c`b+;`8$a~x*Tco(xZh6MkKpltHA?VX7Vya3QRu1BeMu4GF7|;F5zyBsd zQY|FEdB%omBHy}Lkug4le7^2{>@6crdk#N$)pkhJYK9!pDpXmEloj~$Y6dCFw!k;8 z5eb~JTaV6bsbz}s7@U8u!~K^Fq`&XnqFWXCAq#1^s-i6CvF7Pf_Gbbt13plnBl zJ)_v<l885){EwvdjAD4K*M$ityt&eTkynmOcyA4J4E(Wjc@6 z^3kCO)7*$XYxSMCp?(EA!!ixDd@x-P;Jy|2L`xI;JDJEY_s9)f_|m=I2mSKQN1?qI zW^7o>c6;K5;n5hq$tSO@7u^Tj^VE<$XbzHL(`;o=K4lwj{HKfK-<=d9$$~o6z~_jS z!hH>6D>8b#peI?|)2Mp2V1>B{NYIEg;y6yW<=$efDMrs3h+J-1W}c$HSnl77@&!Sq za(Pw*eRS}yT-Bs?tkf@0$d#iVa&GgsMHgo-d3O6brVW)G8y_qyONOQ_zb3-H^@Yoy z?ql#?uVYO%@%h|buj%J2l!e|%Zs;5sZaZ*O2p`_PY5(yD1LuAgchOTJ7m3H}eh_KS zQ@KEb@{FLWc1JTpip{E^-Nob~wGOiF1q4vLH-;KD8=_+!SVQ(L(WSr8Vii$6ih$hM zOk{E^-V2cWb2VO}G+dvk1xKWc20ZbU1I>MAIFXiehm^4ubyJlAYF`30lK*^}6mHjL zrBY+-Ve+a(p3xk9f1X^(s9GGXgrQVSGHHZFl(iEZ5U`sg*?3GnsoD2 z@&fYon++U0aJYZ~m{Cpl_WG0r(B7%$;~u`#H8xpeANA9|dY%+8RfXT4z+P%Kd$C-D zsT%B5<&AxyFx+5S9R_to$AuZZ{w3eBO6=(7lg*!~ZG5n?N>LE`M4>F^x@8|xG`mWj zi(jaO%}-fl&1rs&2fg!D9(I?pV?B8j5S)jJ}quHw$L zJdl)sP;QPUU_intQ7`g{b~_;u`3)WM6`-RUuhwT9iGXNb2ze`lU&|Nd{99Lj`TSYJ z^Wt$fbJkL>)^Qh`+p_)()6{E=P-~Q?dxxL|HNC!INM9Vzk_NPqvQ^mjY-4Lle$l%$kT*6LxE2nRT6M?b${Q zFTP;|-+;$-??wh2BI7TtzFy@Z5*6NEu4lYCVe^Js?n*3)qvR{SX89mkN9+4tTO&a8 zVra?g%I4Z2N85yp5rS^6D={LEY6m^jW-v} zfZ{~~sDg`%7kH z`WL4g61e+MPB+!tD+ZTA>&;&(E8UO~xl|sfO<9ni7m#ZM!Yhsd(5bl6vjUnt;=5wD zAQ_;^K$C>pFD!4M?1MivORxr%Q+OwWb1=D`EQPu3R|ga6 z7#+7KPaT)SIFMnaO&gymdsjf2U6T5gk~qCPT0GcI)7EAryTHZ#_uHGDX{$8SziOpF zE2cmH&ZN9YR;%4D1HXdFV!}HZI}dEs8)w;`WAs%lU=qJBRAZ2<=M-cD$eQtQ$O?XHDiaPF}?UxJ!esTjy9!4t7Dmp;QEL1Vg z9d(#z*E&P90(USs>Orn`BY~mBpR8=)OtE4kt*6~GO&C5)>~xKLI5))gP2e6HAwRXq zCJ?)ozADXnj9OS;q^_4BywoX+b^UwUO*PC~7MD4heO`o(@@dhFW07&}^Wi)=n!c`ueh zIk?&yMwUYUjJuMF@7j?l5sXFtY~+akzJs@t40Vs%%Mn2~9OH8#%L+c;WLN_*uU)bfVvJVAY z#;dVFsm7&bQ*sIKsyb%+doOEAI7^e8crVb#@?bK7&5${Vc#J^t@OAm)%?WJ73xDq$ zoFVxCCl3qy$+x|4DThHQxwU8`IthOYI07_8>}`PFkwM$}>+x2+g3tZ)BDYB>^j)8c z*^R|W?r26tVD1V&%PPuHat*oYBgJ0au#G%(Rm-6xF9oN|AIJ3i{1J>$dNq~qn@vmi zHqX^C3Pef$rW9r}BLn2D^PWw;FHgMZyifUPTH7J3{qoyHX4e-^>yz3dm*_;?Db70{ zA=b6~Zm>ws#H3VCTdW!7X_Fg9&wr&@omG2r)DE(;nGF>!8p)1^T z{RDQ1!jk|dKwy?EfIa4d0rhA08Xs25Z_OC(Q2#5A}9In#aNQ?_S`p%*H9@Y9q z`xh5kf4)i>-DnTmK1*H5K=_x4YTzM@GD3BnO=DKc$z(EmaN@sLY>p%}pARQYs@3ahg2>IhI zjKoI)=i5?e#|T}?4=fah5Pl7j7hF5TRjGlD>`0I{M21n9+Gv>(p?b`n?_8dD=zX>< zk+3Q;lTGYh;PGgaFw=CU9oGt!fywh09zi~xl+m-oZrF~rkk&tR2z)~&<0|LJ33U5d zGhBHVX+l}RtcbVakEf-zLnRKV-Kx~RPLrYJ>rPnZ204-?ZX^&s$WDI#L|40YbPnbR zW!p!n=GYnirk%1g>*PY#^K@$3k_~yw7XH)S zrw56%m5*MMmYRPIb7X8e-@H}DLI5%zY7V+(mQVbEx1g>U$rrDTT{vJ|gkmg)wdY;U zT`uJ-TNWBnzW)QtVaB?r+tTQ`LG6$B189IB5;rAirU@}f+pc*&FY6;eU+iFE@UyX+ z6bg9aeHWsHr}o;;P8CF0k+TyTQ(<7g4h9)6KE&{D5d^)1DBd z*ICRY-0@t?;w$QACR)s%ArT@0$3&sOwm$2IFcSrTK*@qUYet2&-JDXnF zIG3e*!p7XNdGPU3^v%|(CDlagL**b@JAan<&x zeJt#K@%${Hr?@@NPzhMvFo1Olr}FIv?R2RDDkz+Lo-RxjyN1*|Z{20Ofmvn5IW|pP zVn7aDMR}w1e<18W`oT@Q(CREur4KPRUrDtE$bSVUq+#f86B+pzC-!9iEo1~LE`5g2 z1MxqU$5JZ?m1`dw$;-?mGxKKj6Eb7YkG7|xfP@fa9UoUw;#~usdn=>=KUf##rOx9H z_iESzA;HjQg^V2RU)Yt`jB;OL*|MlZt6=U)p2J$xI9lXgO*UDk476}5N81%>A_;d~ zydMgSh!7k!8tXt1nNbYCK#Ai2j)vkS2WZKYkGnwI@;T%nA~qY%#wrc$_F6%DW89hk zL(1~1K;9`f9S24ynzZ+k%<3g^#NJ`r7qIdUmeGm{Qbq3wVj{;l{6Cbi|K4f87Zkbw z{Jlo@C3gU4@mXcXafo~-ur3guulzuEUa5LnqkXfp==q`rKBp$;r$Z36)u34to9mKu z#>ikyTDw#Z1kB$vkuv?iw>;P#QP=mDt}CY!WO^FVGfUO9^2;wcyOJVr zRKgz4jTa?p?{ZDMfH9M-5CnNaN^Nbx9UFP)b~GP|kxSKVXxhjow8T993vt(sd-)uN z&)Kq}_VqXIn=6Py{}(PA={R~Hq!lZebC6#l7?+Z+Rh4=t*Z7p;wrLiHRB5FxJiq#) z0+1s1L=@sq6*SL__z!C}9M|mjJ@&&MdzHU0a^T!dsxj(n$_d7?7%5D^x=Y$Io1^~C zpRI>-0IQsYy>U*PMw-O7-Z5+QY zce0D^O!L_sYa-S%>jr8zW$yY_d={$7&4v9qT2<9h_x<#Q(e(ti*6AGCt?Yl4duY!F zSu{PnB!AK&&A-?)ov0Fv;TA98X}6~c)(uiqkANc7`R3~=YYxM%fq7=6D;brlOHJ(2 zzIC^9wCUQ}rpCiR|4#%+UY9#D80=sxz$rTdF=-n>i;AK+ZDmw;`WJNl5hbgfS76@} z0NeEk`E<%}_tRh|%?pQNzu=md)UBE~r{k~Ig2&Mw=MeSOovk=vEhJ;lVfjZ?{^PgW zuEo7rah7UUpBtA;nz(DW2$t%W**fJdul6s^dgAy9jR#V~!f)Mti~HKPo~k+IaR=o- z|4+z|8Rg#1j%GcKdxTi5%EwNlBR2}sDo4c|ln)o8Do+lLoGC(vysS;)Z?PtaTC_uH zJ9$3kPk+h@w*MHwb8EAen?uvPa%PY$InMbJ<-cH?e?f7~gyx$?(#!c~E5&Or#mb*+2ei4^n6K0l9nywf6?^Mkk2Sl>+lusi2<#78rk)&oup<=bB!!)1Adu^vQZL=rg=V%NN?`D5z^!Fg^ z3`tI_&zfg^>x?^vlLime|P6T*T{sr`>K%jNL%37IB=%JBPWX3Ljxf!QYjJ7e4z^8t?t(? zELm@(yVezy2zSvN%pQ1fWK3D%vaQyUC-P&j^sk**t9;7Gf%Z3`+HS~k{vYuy7<~7G zf`YIK38lCA`QK3BQYk#Xtd=Hx#-Z=L^EQt-y#c2W5$en_>yC_Iyze3PDTn(C)<(V& z{b?Q1P?x87E~Ii4KI5p2pm)S~P-N%tLOw>fdYa8km9bU#MN5y5ackb;ysAR3Bv0&e zKH@lF3q4if>?#&%@7n0<^@m;kB`Bu1_cJnrvrANO@5SBS!MWbEYs?Fe_FbkW8`GlNfQybu?p5v{V_3c>$%kKl}2VJEiT2egpaso{O8$k!*h8xozMfpYl|@HrYF$}xC^AO@ z`c(0EBEty2p=?+fOAbva^Ln}k5>@#)IgSR3z0VpTqXIVv|()1^O1_zT4~T@`@IzkO~hGr&IE7 zoGDQ&va*@=_Y|7BMyX@>vcAkvXY{wVJ8K5SN7Pfa&L~Sjf=tyZ;92lc@@W{w1d(r( zR)3eASSTs>Lca|K%2>B-O1?-@LDWV#jgtvdqwHt(j$Pz*sNxSyGNzBlfqQYL2oIYv zn^&*oqU@`R_ZXQXzbfvKY0mK3!o}IeE8TxRe}0)ue;;$9uk2D^;YmTlTmMq(trxe&X&@8x zKZ>J&{O4P#``v*G5!jj5uSW~jDW-LiTk7va8%v+|F+QQ;dJWdW%RX&1i3J_2(LOKH zu(uH}a&rVNPfH8;Ppr{#;nrV2ov>4-_OzkD@JDhM=5=nWaW8P6{NbWemy4prxAXQB zU7@>6A5W3Z%xr)twAbGf?iCreL-q!)?4ge2K&c1M9hzRiuBQ;Kwg_Adv>b>bnR~|i zKYrV9lwzcsn7iG9j(C$gX8);)5$#jC3n|!0xngKe_j6!u>UY=yLI}a$h zqIL+!-$I~c zp=65z)RJudEGKkMrD35g8+n}1tzTlP*)V&+bg!q{J{1!vZvKi}LBc<~BNk6Iw9^Xa z_|B;Aa|*>kX;x*5Y3F$8b$N@7TYK|nx2gl(UTTOxg|}@RJWp?U%u*w|KsSr9ml?M| zIJDx>Ojr?)+AY7YynPaEjgGZIwC38t<}55R;6jqPj`=^Hz%R%mA%aK-eA|%}!@4`Z zsbitEzS@grh2LZwAo5=bBur0(?bqI^zJ}AA6!7>?60gFFttcr7*r&ruO9L(z77a=? zHf)JL&Rd6&bBMr4gY6-w4v<4Vh;+62qkgqk)zs6@Z$ALnb_5+x!7if^1Gd?kf)$xs z3;pl z`6P0kxZD#$rRIb;*GN8%rpdFsM69U;5&IF)3^=*^kezoS<}aWu1bm;qrTkcT9*PG` zn_ywaK&ae121=PC9xBAK`s%o|Cx0ClUf%H5=Qb6wVfj% z$F_}{^(6m)eO!Au6KoqVsi;?MWF#x5a-8sGDdey*^Qq=sGnHdbQ|zFG(lj%wDTiLA z*OZvUWSAVLa(F}0a>`*;5_WPZ=A-oP`o8P^{`kJ?`Rlo!zng(ia8KZSZ~K>k#K#r*2yW|6xwvRy0u_yN;xHnwCk9(5=k=f!_bAL>d3Cko5i#~O#O8Ls60rhB66ZEIW`*ttm&;BleVzT{jUS`uDe>vOxo zFy!#p5x#t!*RuD9b3{=hs=FAy z&~59Kit}k#m!0KNSuTe6?pmuBFxQb$4wUs^s=^|O%BP5JC)>m387B2Ks3B}aV{0sk zMGC~bqh&o3x>7!>j60%diIxLz2Gb%*sZ;q>kMg5+r%o93zVrCZmLvQk3oSEYc$AGp zm8a|1MM0`sGr}JI0;dY;xuxjfIGOHK&{|+=j|EKdQ;3hw;RcMDpBG3{&`68TXmAr4 zuz47RkW ziVo1eqyKUF+w~K$y)R?$MZEP%RsJL2xiU}jxN9|(^b14Yt+G*$YbHa{96j@4=k<$< zBBnxgTK6Y|f@yqkbM+~78|l370L!U5Z)%84$SEd*nu&oqY7X+ zL2yQ*;bfe5ZXnbAgGb99zjAOtWD!cTddsZb)7m&YsADu8QedVR%F?EmBU7r{ZHY2ZslL3u2iKDg~;b=7Q&0c z2JM(tw@n2I4VOzf;u4|+=TLV|Wwx=b5Zu4*itUC=F^sK0Bplh|o!{+(&e$9R%tC9( zzl}zHaa1>J#8~wJPRz~>;Xa4Lgg5CkAEJ<+%G(b#jkYj`n<7JB9$c+_K`gWxKTDXj zE^HJ%;@zl}dN=cdEYzj6v#hi^FDEb%Ea|ur1KSuHwyO}{>0C=Q>vpZ3h933FEct!* z)yZ;Xe4bl+OUPc&ft^=_g89kERqq~BEjFajqehl`w#cGUX)DC6n0ubRx8$=zeP@vBOL21m7#Zv~i!_ z<4M}lBzs${`@2*oZ#gPW{b1++d5y`c;pQ^JNaD;raiz|LlsL{bp~BhilA+M6b0tm0 z*p`z@%o}W=Jxr%f($HDhOn3 zD~g^^U^+Vd*S8>zAc~mk+X5$IG}%e0)UsGWb7Vo6UQJ3ruon$RG{&qzLhvq=4quxeR~7`OHO;iKk}8LeuMY4(&B!-Jt3RK6Ly2n~Q4jYUiH%y;$3r*ZMzoPkwze z6@Cl>&V450Zgi-*ps-wPTSpc8UF~~{Z5o46MV~sr`4U|I^dYpE;cbf1$g|r8oW(+h zqFg-OEHoyaF7K@CeY00>{jMGNt25~^U;s1yka1=a3TZCT+86QE*%dBku{goYB+_pQBlpCka!_^L4Oq}7OwaT&1!B#{ zW((!e;zaVf|NHa$Z)gQgl;fr0Ntwv(I;he4R8iwdh}OiejnVL@Mz*v0{^F3ylXOW{ z873%xI#-8VI-4=Lge3NJ_!1YE>O5|Xo`Xx6yA1lD0j6`czPtCOh3~ zQ|$hM+_J)LrJ9pvbL5hG-fXRVN?TKwWnOGCswr$(`&OGnMy8qzrwYsajs&-X( z*G6r0xPqKG95fa*004lKlo0s|0DuJn0HEqnpun2OlCDT#0pavhP6=27!KN584gh%4 zkQ5PAb^|$I{RYwvfCa00ed1xT_c1h_hWKB%|9_nQm|+2c^}IG_b`XG{)6+T#0KfzQ z=wp5ZbTa{8n5zH)Xpf(w008(3YR)skVs%E=2FKplnmU@ImYb~CMr5qknzDMxjDR&C zA8b0#fo(J6=W4D$r>f-Hk;+0ot@1k&2hiRg@lRQJG`iC_n4&UM^ML?RYU(2a1;e@O4^aWkEVQVc(ydbyal(bs=G z0JC&Bp_86900M_hC}M7|p`c$X>(@U>MnYba?vY-)9c;+QOx z&QVfco=$smlBQPe@p#Pkd|w7r{7FDmsnOAr-`>l^rWnUqsrA6&e%p>3{qYtB4G+&O z56WmavdhZIcyoA0;9#TP<-Pl?F_GbHuT`^qotMxM;@*mcTp)D5;$1ppdNCB4zL>9( z5)?!-^yvK--Tru5A{-j&dr%bf`7yQh_JkYEVC*R%VAs~vvFTnRSunNQ@gP>2u!+CfNdDZN8*kwCc4gM{-mY1EqODWXHwqxb^#dOQ^-rcjIdJoOr{iWWN z*5mGBDud?I-Mp&xP&npl=C|Ed$XPZ*k==LB21uQL@;s z*&IG-8Gf`p-(9tvU9j2wAASUxF&HX`-QM2D5f|T|a?UTY$7TZ@ccUdX9G{=Myo+Tk z@P3WfNE8$peeWzRdVR$7w|aQ^PVhRF(|mr>jJ5V@vKSd`HVt>?+CM~&$L;Z&l)`U9 zZ;&`F0T}{8D*kmNUTLk}G|ic(7lX?!Om2TaOxbXCxd9o4*sCH4>wLLv`_) zAxVin>w9mR(qTb^1)-Qb9z-|K;9thMnZ|VRuqdt#3H^78Fs z?J=8i!un#h(%T~@EG#SrAVFN_hbeKam=zsOXm>@?Xti0*d#&VljNk6@I-Sq(E=5t0jMS=@{UX{ek3h25 zRhd{YfTAE+fWzlrP&xoBSzrkMqgXaePe;ed6)7d>V~aboYeFX|Sgi9!tN?fIX(a~} zQ)8`3v$-#}*mkXze8hWkOlnMhNQIWVEkU11!1wkBmr+XHcB_gV#@xG*;c~zO>MXo6GsM>(pgmn+skhuOnd_@@|616OPMH??Rq18H0eRt06l) zCeP<6YK%O;d7ITqt89i#qt)ias*3zx|3JhN#67;OI|7)ISW6>fLE>v9E-#!08Xn$4 z<6ZajUlF{%5c)!9p{QTYYXJwt3SwPL)t)Ff%c9O?2BUG1{7%>4lmziYDRjER!r0`< zDDjl2x#mg=|Og6K_PCOs5M#(3-<*L6Wfuwo)6IZcROjdoGe%JsXHmXW1tIz><(CX#f(f$(9Vvf zGZk^T$N7E8$cyr887@NLKBOWI8S_hHJ%*K_{UsO+N*TV@l1y~uGEqhsBBIdOXv|F( zX5$(}&BrlV6OrIRN zu=BW;Gxb9XyX5?gG}hs?$*0!#;TX7=XDH99hKW=vSZHs_5GSkd04mHi=QnHd?QVY~ zaNTsM48NLoiv=@42h4EMP>u{9b2$M4sFuAoCZ~WYTHnrjLAZmzwal@8Y*q@5pqP{hyr48I2T%tT?Z?cs@xfS)-@v8Y*)Y8 zIvhp@Cy-BwdQ@pO!&Tou*Vg|4XEi)s}HQ4?6)@eLu(?INz zUfa;fd=&ylCZ8GjOh-f2YTuXf93sh2pDwAR}LZuqc?ez#7k zq+anXdTZ%J$g~c89U)-uAs-%6h6_9E9J?vu$l290V&^vdF+gnjf3Em*U z#)f)$9sz^lFw)Q@Pz)tCh`>AKyFpQ5un1@UY9*;3xs)z!->kda4>YV=>oeWcglkTm zl7v*@5-x}Xxq>5m3Vnv&dp@46;@jdjqt6HR-I?Cq)kn;IeNNif z#}t8Sj!=-v91LL);@(gO|L4s6g>9qu=ey}#Vfapjt!uqk%gbEO@|h+~JRQ&a`ozQ8 z;gzo|-)y7iUbQc)ZM#8@Gd8%8xksJ>{K8wmV2YM@)2TF+;4}qQ`P|Q+hL;8T0T*T9Su9gL5M=7CdxoWL?I~7f`2v%qR?b1@CJAR z+~WRs4`kQ>+7}|B|0}~4|0@WAmdAe`ftvomQXp&;^W#hSzs?l0^#6wZfBMYcmt&&- zH(Yu*$$u@0#pwT^;ei+;)}>`-W#xZ%tH*BYZy%>lPc0U+5KP+K2^#sAL7J=n{As_c z?r3l4p`|6Jr{A(^o>F~#sw{VSZ?JtW{A&5jA7yeH^ZWN`e*UgFAHuj{xv{&&R_8TD znM29p;bBb%Uw1jVs#-5|o6UP{E;p|)p8_t|(=O++?Ah5mYpo~U7O%c}=uM}IQ(7pS zp$i}z|1vh_FIG6bpP#=6YFu`kWrMZ6%OB_|GC58959P8k?c1Fl;*Xb{R^QBIWZv63 zrGfi)**;O=ck3@j49nR1dQ3AOTh#Kk>3!Ci;=Q9Y9NVI&ASC>bQd^f_mz#_DeHbJ> zd<3}N=12i<5J^c%OG{5rzl@GDyWTWgIo?Bc*2FFbo2->pdZeu)NODBOt_NR#f1_ zqRkonaj|sFAlSwl6bTKDvD5Dv#Y)du<>d`nT4L8=<6~yNOGcx+yNhTzF>r@QsxzLK zYLZ_z`navluoRHAS8>;f>hdL-z8_a~-g z0-0<&i#f7b(Z|O5=Em$4KevIwVS8;YD|?&1)57Cg^;9E^>pC3;Xbki%4AO`}aRnyEAyEY-` z_Q)1H=rSBk2P=QG-{#2y=I$AaiN&sh)*65+k9AeOjho9Yhsz*HpHeI-S$VIfzJr?S z-0krR0jywPAj!_u$*Ha&P+q^Abs-h4S2|4E)fMjg5!(2Jf#O5Ze`#ek>g)!zxOOpl za*jMI3&$%m>Kt%05^j!7%^q9zr(v~cb8T}G7x$~O;t&0N{VM4Gy( z3ZH}frKJrbIZ^q$h>4Z%<;TBD9=A-sz&&iwhfm#{a?&;S_qUig4WNf7wf zzFlg5OA8o=@!mUeYK~UWn2}LTtPc2%6T&X}7Ze8e54)_?euEGCFV+7RW%k!ZDT}%5 zRkEMoVsceSM_^IWf&i?PfsrsZRPZa5bPLB@nF<#M5^QkM_So%hItsrIp)ta#_t%9x z(~>@p0u0&UK#{ZS)7qLl8M$$fX;;Wh`sr(Aq?ecuhbjEa&FcpH5#(zqGxKd$mKQbk z>0~yev6ZSxPYM24gF~jboYXkDoo`lGF)kifFi%>R_fY?GwqG1l?KabMgdNl#&{5IG z@kUQa^Ksu-w4Uk7q1|d$q-s83hjDp?Pv6|^T%U4hIx(YhVZ|%)s@Gw-HapA7R@~vR zQk>VB>>GQsWOrD&a4CA*8k+IpOrmCak``AD^qyJhM zBx8ZM>2U`m7a|N{@b(t6bN==;HXS*Y$)<=)Z~jZf`z0UsCyN=pO+XCdQIzG)iMji` zVfRmeqn&V}_kknwi;H%g^A0+l8j{uNZ3+qKK%)Lt^_D%@U8PV4ra$?wM0|9#TvXpF zLYp`x+0nnm&8mE<|Hm0WF_XyV?imojMX=kF=9+hH+}OfA8zdC!htu@4vD}y0|=oR(pM%M$Cx@9}GuH zxW4~h*kT7C+iXn}k;7;IdwNS+aZrTH2z@J@L82v#ZQ8Gi7^~6Ejeo^phU_6+;OzW} z%`T(cg(i+!)KW$a(nEhQ0ZolWu!1B}-c8XhOD^fcqFBygz&)=(Ev;r^0NtSSLv>#r z5yh8E3dFL=BvG`^0pwu6f5(;qx5?+}qMDf4FjhaUq4kw8y;RjwV1uR8Lfjf`-Q04o zM?1&+mif=PBDPNLxBjG`;3ndnA%T#P;wK;zxECFqj?ocn1It#3zc{(O7`lRpU_t_F zXcqKSNyO#d!BD#auhY|th(3(lIT4LX*jeq5P6*l^R((}^pBpkjSuLGKF#4aWBD8%>S zy|ac8N7M09Da%+PMQcKSDsTe*pD!&fPk-0IUl={Lt*EqeO#r__L9{b>{W$!UsUh6kadpd;(-?~U}4YKl1;5aOHe zL?k{x+h8gyv)c0~A0OcTvjIdPl*oXHk(j^|94IboQgACwnau2L6oWjKc{4Upj{IjP zX>BX4T?%ecEqetTE~>O=sfp6Gvc2n?(dA;YSqi#e*!39 zSa?_t4=`cP;{Sw7&9JuAipY}W^z)XquY3N=e32r$>Ys4Fjrq)LLPMcfx6_!XyI zHw&;UqxO?3gA?5gx9Poz#6QpL52$F=BVP|6-iP;+w7C3O=G9>XJ zydftm4j)vr7tJcuBGcvXoHceHwgbR(qyF*W|vJd=xiRcLI>p@!BuCZ|S%^{?% z)Im7a5*up3(v^~fsG(K>4n;fTgd4QFfqO0*s0dn_0!TAR$HZQ(R zh8s{&=;2;dAixm5mGiX!9<1i3wi(p$b)UUxQ0#V}TX>8vkjsh=4cT>kr^4#OnxxL^ zg8xLf+2wS3TTsKB`Lb-@dU!WDAhL3H%7>%oH#&D*H7hHMnp{Hg^c~pL!EJ_zFaRtV zpZCgQc-Sqa5W36j_8r!2Z!s{>aT=LCvbR+zDuM%`3a%MUO!8GDrgHYiQtsIFx{`DF zCVo|u)my!6v`rLbknh~F#|`?2O$Fh8csj}0vO-^H}$`v5P?TGRw@9%zzhuF{6i{@ z6q2efD<>+No0M6wrQrQuAd1*dZAFU|Z&dB#=zDjS6+|du)tqv|elC9bCow6P32` zFCuh!yXn=H<)ziECqFgb*%hZ}v%`do>PUCD8A{BB)e=;V(dKRU=e`Q3N1 zaBv7;k%_I$7k#yunCj$ly1LbbB>zEAY5eS)#TK9aeW{&2(pXAFH2jP#Bjfi9H5;u? zr@5yscx*#(Y0nAlSy@#)53{K zT(Y~P%8}90B)x^jMd8wskrT~5V2G!~lO}#^hCFYxehmjN$#=8;Mt_P9XsE#bo#Ets zkxsD!M-ko1-)jB7cW9&D+*VLf;QHjWBsT|hRDJxhl$aV@=RD?rda9XM_zx_^k`iB4 z731t&(dUZ48yVGF0hI@u<(PgkUSqTCcv{EpxHj=CL%y9Sfm@zS!FKCMG(dp^*(37#*YL)KJmz z-h2JH(2Bz2b6Z?qj(ia>alPW>@;MKvmPf>^3~js0V7C=vA2F~Kj#g4)Dwffeu+eeY z41AM!xnyv5xwX2yeXOg$tI}(G+I#A&Rm|bD4=f2LWMyv#_%dwC^GE)5-|I{%;iscK z!aQ1_c742T(&xd&&8o9EF_Dw73u;#D{`6K=qucU%xh=}OP7&yiU&Xx0)S$+}$>ieZ zZkgH>r;Co3V~O2|4Aiab;`BMsG!mcUcW?@!VU%jAkEkzcU&vaEetXh1gqWk$8JqF& zc)h84aSsNrQ&Wpu64GYZQ_x+$DI;aq2b0OP-}e;_cdQ48DIM+!E2}D0)MN=77mq_m zm-|1Y5o{b>T;d}Ah`xvL5h(_39G)}5F4j&??|FeGH{N%*(C&zKX{kXWVvOF&heMo{ zT1_m?*XP_#8S5Q;>KclqiT~h}T3=amWKKyYn}+XMAQF?9?^Oa8o9uFnTxks@Qb@X$ z;dQ_E>|BF75?;MpuPtJp$0t<~qmrU}wZWb~ByGm$EckBe^%>lLc45G>_u0LB=up

    >p>4Y}CzHH|8 z;zK5@k-NF1I|2h&&*Gtnro~|z^W)#Z;NXE=JlIghR@-V)E4bSL@f-V*VzSV#FBb~e zz(>0P&pJ&Y*FpKu#J7ICjLeae!orVB@O!u~liqfCpQPh*dVU#-a~gfVu&Tzsr}_8@ zz|0fNL`7AZru`CNSI49Xiab#J^dW@xe4Z{_hiig?i3<2Sj=P+lWpeK>2%Vbs`?(u z^+2%k@3hX{-MYHE-*Y8aq43!}&Z9&Sd#Ae-`p_`HzmtI!Dzzpr2`$`14Oi(kTTcE- zYT^8rI+uDTf_G^uq(-wQ0}EmqAo+*ln?{5FMzr;yLZiY@AiPe6Dw2{yBks)16o{&) zrgADhzl6(~pFhAA2<-ee)*6?IDK0VIL4rSKpB$s^CWwp=&t|kX*Vk9KupoPH@Xlad zs?u$Qy9F3ti?pb+4Kf7Y5isDe`h921Csh`Cp|rsVu$bJ_P!Sw;vYK5mz7UX%PZ~?J z$Aw>h7b`mluY`b41w0#S4Gxe-;c+r^QR%us%9t7-p01R3oLy##ud7xF9IOn*WKcu; zEwtM8aG4+P9>)6)IR?uz2EwVXZikO*9UP!-XW!B@GA1Pl1s5q6h>hpYt5}X(1NjR1 z4L-5uDEeY>Z*bE8sB{{a*#eCLdb!8FM1ExkFjxC!yVt$g+Z*rhs0Q+y*)JJvb|V!` zXi)GoQZVTo9nJph?!Z`6(_@RHs(^D)*AXeH z3Um2AKJ9s}=Tm~~#Ud+h6lKyix!|yQ;`}cPIPJB5XGCVv^o6yjy);bx)-ZB@NmHz%83V%#7vLu+trGE>8?B;gcEhFWiLMqOp(&@XoHB2&iiRcj#R)H1d zJ_={@wA_9_LP$+mNZbF=IC%gSZZLKCgcLAYZjH<_YmXYCID*0g~WZFi$Id zD(R^nXyl}?oR2O4o3Sj(NGNC0cQKOd+SJGhC9gPH0Im1&%i2m^orPhv^rsSYp(E$7 z>tCHr&-ifY(O8VQ>Y+#m3g!GO{lB$&rijo#LxV(;Q&dI=BhV|G8yElu&+AOGQ;j@X zSr>58j2cf@jfR7k&bfNKth)4)?we?2NLM)INl(9L;cxT^|50XAvD(kWvvpBO7{QU6@zM~oG9 zD>e!=L~vI;POi8RGE&(Aa+Q*K@!dg5hXLfbgCoWGA4SV+VFMevFpOBn$zJDKyRgETW1x2*C#)N>eyuJp;UVBFit7PsEX)~VQ-a^kejiX^CNc~92 zr4-F&oK5TyC$(ep{yN_g(p4AA_q&-)X$y{kJj9(XU4*pzvrX0)hNFsha2HhTb&xsA zrhyoz^h19Vw;+_&>*oaO`QphcXJzr&p^#?BpA;7+A(4?3PQ$>&->c3kA&mk4=H=+s zBppb?n$O;=mjKo8;fy*3MBLSe(a05apcbnl^6xkrTm>|YGz|QF3_yBes(-$&XIlm^ zJ%=ph%Eu@(e>4GFzjL<))ai0}cL49F@&{8%J49wbTQ-+F;Z2wO9U;sxh5i9$>JLq+ zcHLGtFkO1Fhf!25K`pT{u--Xk%CIjl%71{N^3%c+i*q&d$tIbSnL|ATRGn zBlEM}qYHZ}NN`%|c~E}MU%yGPw@TM5roK|6shNO)U4EZ0FxYQPrS?1y&wm;w1Ozf* z)LgGv3KCJg?9T!eRqd2G!qm#!UXUpIs$`t}O$U)Np+bMpFR?yq;4y)+0$2-><+ zuHiy(;7PN!t*mx4*t^D@FVB-lYcL}(FEdE0%|{5Tbvs}zBJhGmFW`X-d7OFQj7DWvUl!_pz9-I?0JAVhUukxH#N)TkhXb z`X@d0)CUn`vfb>oEPF;|AUd9lF~m{*BuH`qweVsDN@yfuG|iC(Wr&{=^yk)iC{cDB_cGuEHKLaxszq&bD{B91orC+L>=UceFVU7^{L$(oPzx@WQss z=LidntBYA2wb+6dHfxrM$BJDbW0m)G`xqTZe0LYt7aolB_fq5`INRQ{NJi5c@bHb7 z`h2Sl68)rMVEvNuZym70uAQZ;^SguOOURj*YoiX?m#qj|ZAo6jPSr^Xr8>Q}Y?SSU z?d1Qn7ijf?n%$F{m)dsC=8mwhL_Vu!*LS%M=3p?60=kd6y7d`+Oq*dm(m*&h4G1HM za=&7mpOksVe#}pQB?-nG4=5)oHQTP0WouL8umJ$u_zW@#&t6#lOI9V!JRjQH?Rz(J zTb_S!-;1*JuHSAr?Pss%HzC1rqEzr=^v@kO>v#_{*`_N1Z4i0W@ zZEb35dKP43XV=oyJUu%zH8tJC|BQ-?Iy^Mluyl4_0FG+v>wnVTOObp1v_F!NnVE^= z%hlG}s@v{nf3{fJ(!%Ko?k_;V$XHugNW#p_OiWCS17BTTO-@d38L@UjM@6-|wl=pn zQ@NT?OkJayoCJidtgM`zoaE%W(2Tp15;|g%lJ3Bi&KR>^-V^CSn zmKGmBySe%K{&KgtsA@fP8->lDDAI_9@W;1gzV!AKsn3iBD@ufjs*LKYoT>ca^3sO( z7^D>5@xK-Ryaia{E3ta#g>J_SdrA+RJ7f9#K!V5c~q+Qu(Ne|MSWO~wdzR0M^QZ@VrI7*EzFZtNhKwcrK09`9rlzj8z#KU1y+j~c)Cob#jnCzmQgbpP&+(d4|y?YC^wCt4VKNn9j^8)%S5{{8zI&I``Sy5w zf1hbD<@*&&O?&72H4-eevp1Nix6BPmFPTgO|0Qa<_884O2Xq59ahk0)Sv$__o}HmH zw>VQ(yp?TjXGRW;sU@Mh?+r$^>b={{kFT#Ay1I5X{B{pY?23twR*J7*T4I}8L1(qyfXlke9T`bGr}=FC^7RqvLqkt)<9egZY~44}w(9eYf~#z6o7y}s9PX|y zDq`lOtSD*;w7l6J97IbPs1oaCJ*n*ay12r<;Dv+?)t;K7jgFEVef!0@xYX=LL4g1p zIgWyWPcGuw3Ta|;NS`bsEnO}XdEwnIoRYG%d9Het)4~}uG^opI_v@FTn_FhYQyrzO zIdmkIthvArLf6+@aPR?n%vjgkg&zGd6OOr<{L;@~2QU_h3l@StaTWDjl^L(Vkkl_T z&M#iyM?*6+nX^uF->qxxJ24&W`oNB*m)Rd&wJE08Llb8xD05L!*0WTHg5PgWK+%C> z&fLn3n~~8`?zF>qX}Jf!?^9Rv=fw`5(_|pfb8lt6ZV(q^wtRoDE$lrO+*djt84;=| zVP@(0W-SX{`L}d-x*NiTm8r%UHym9pd5Mbpl%zBmD-g6Gc)hdBRo{3==-N>yRu2a^ ziROx#iHMPs@y@GWuXEkgZfkys`ratmOiAgD;@Q(a>Y^e$npDn6`a0wbhh4R_AkbCV z`;2<>67%@-^hn5DN-5pJMA`g`I@0Inj(=EUs=5BbPby9;o8LFQ81)B+%6(yg=JM!h ztAFRi>+9kC{&`<7vJ-ARyT?y62`di|JXEeIDLf__H+3)NUqHclt`SpJZFysdkT{H> z!bHSF$Vdpbp*&hvOa_k}X$TgcV*`vx)q*Tk7Pm5TP+;v*Q=hpX*PBiWp6=%V27C=~ zZVK`drGYpo-k8=f&QJoxWn`p8-Lo>gyXzpIWDJddKGS27R5NT2#f%078UnwIAT=Hm zddBM<{@2RDNXq8E(CzxUp{Y2%1Cu0HZdrw;u8u}%J7b_)zd7VSi#Klt|JRL;m-g!Q zG=>$(oIa|&zpdME9I>lS#@AIfpWkGfKeZ1Icc&u8mA$mNgt4(Rke}ukS%SfbT3eq5 zdA^?C_-k-rZse`4QLGA)G!%*%VcCDzBW7f*nU}TrgD5Vjz+rL5??~773_U$Q-muB< zv>dyiQ_PS1WiNOvZ*J1kR|M-YR2LTh#`_D&iD)P-JF>F5>i&_~8@rwQ_-GTAxW2`Y zgOVjvYGq>ubMrYN5AC~CSrp7%wb$C%2-9U>9>g8K1C#+s3t%6_Y>PHsuLBFE!y>S` z@{Y{pAO$ZkqTLi2C8tq=AHstJyzNP8irpVr=g_Q;w9hNFYK_`ta`ay)EFc zU6hip7|6piFA77!nr1j-WPf55{M*z-cokHQ1&!nn61P4`5u}fUoiIvd+ygz@UnJwC zt&P<)LTy=rZC`87k%sDj<3_+t%uhsv_XIuhx22`v@89@`u}Fp`!?uBClwIaq2mFZI zb}d;TZR#tVOA*6qcNKfywc@qNim!ROn1G~)LCIU0nX$6f5vwGK!ai7!N>xnA;u`RE zUJ8OJ8F|K2%nMNk@b4#iJ0P>?-l%J}fI#9y6m0i`uD?9nW0nn%^kj_RLyJY}^-yGS zaK82rl_cmz!CI%JsBv?7I6KpDXl`Gi29$0882ox%V%N_6_zS5jtd%q_P(U1 zrsk~AVI<7mEnzcT#J@q@cqd3Qn~;FQH|A&nFYS0F9y2N@_X*ml-FXjC%^j!uqArGj z6a%J>_;J2}F91Z(TYGv!D3q^jgMr`C(pSE|g!uE};__x-YkAT?*>24veE)4gXR|SV zb%q;X;fH1-7uJ7i1F}sl2WB`vfdldl5FnVRn-KZnR4J#pu&~uX437mU{EH$zE`u{2 z%c7e0l9*%5G2hGD1QNF_378Ha)DdxZF3_|Ruq|}Qsru-S1Vgnj88-M~KRG^+Bosg! zRwtcC%zZ_I@VgKr5n(^ZQXCwjt9eiXOd4E`$q`Vv%|nI>*?*u?+- z=_2=75P8qT)BOPzHCqUD?~hsQ+t(trIGlhuPEZ^t^zqC}A#vG@x?j-y_>l6@fJ{R8 z9%Nl}pqY4kQycQPiMuoblXT97YjB#cp;Rjt!I)ovnITf)6=x!2bnBL8I*&@?Wo~UQ zPF%Mr-Agi{==U>x<>aV=PtTz`>8h*W9`SEtyF*sI00kvzfs_)~3e0nx_Z*uF=F*EAD(k2s87jn2{@;SU%*9zJfxgCv&-jbQh+ z6GE$xEab+4u)+OI!R*$@A=yuSC+S-Vlm-1CY_Bi!^n?rg%Z(MQ64}S3aXa6IQizJ; z;1vxebTDYx!B)l4ghsKjut+ByWvf8d56C!|J%z}J)utDKez)M31VkMQXm0M8TeJ-a zo1H(*7Vp`8BRxZXwAYig!pra%vSyxusy3}$CoGUCOdby%q|LxqU{(-_x45V6wI+Ol zIy|a>VJe)^4vGSTK50Lxe@K~tc!14x zW7#E_kt6f)2An|S6Ge_pC`7{Mze;36n0X^m5yHMTU*U>R$@f5+_>oxcqSGYz~;x8u(MI?|?oh2yG#p4VKQLTjE!P+OeCLq>80=|F83}Yvv zA8iR;B9)D1fn9{!+C{uf?4uBv+uRg(`8rMU?QMsJi#|Ei6wEx<1!g(@GCr*dQ{Ocs z5ZsHz9Xh;>1_#x8l^+=ABPH2`4oi7geQlGRPjMacD_i0Jcq#vMc5uT zE!vPBA74wr7g$?wP|Oi!KRrFZ4A1UDFNL|}W5C@?ZR*#wheZy-4JVKPd5?+LkFL^L zuy?qJs8o-q*E=VSt2^1Hb@?{kK8}6LFgoqzOe4-uu|m8aU{3?bMmP`5#y&}KuFYej ztZ5Ug&WB`v0~HGwW=0WDN+Qy4NX93~PHJ)Uc5p~$*i#N{N_Ll(H8M4&uUArA>u-kE zF+h0JC6aot8e16&wXSSR#*7^`G%YAX5?d(`hm%n?A$;X}K;)~duOFL?`u@SfP|i|B z8AbY-)?GTAC}!{j;{eple`+{-7+ISjO~F4ZT&nnov?16S6Vq)RBSFl~4Q1z|fgrM} zs);|3-cP!cAT0b0u}ZY02ocX{GIIUI&$7!r)EQcQa8?QIQt!-W;4cY*Rus)Q5pYZs zCuswI6ypL$#P&p)eyI!;Ci*4hzXT>N6>;?L+a09E9$5$bbm7uC<3q1409-tpHa*;-Tnjb=jr=} zc!jiMPTBIuEEN?aI91-j>4>s1`m5G;al@X(9qq$)+i1KQ!(`Azte(~c=>JH_9g3IK z|DjHkmUeN-hTt-$8_V^iX|JmFGf7alV6tOKAvO&aGwo-G*UgyQ`oQvD?z*`gEZefP zB{9s?vt*B4G5aNvm^o^}>3f*{PUw1JP@*d1E0T+?BEu18hTS6B{ z>?iW&CM~Lh>U*ZlVg5%GiyZeH1wUBop>cct_|(2Z8R}{?*uGr(yp{Le6T#1o%|Y?W zUQ5K%dx7oXYj?Q>+R}7FxnBO+ab@qCD4Vo;E05x4!;sx;BTtQ%K% z0nuZyA{jSEL2&jA1N-q)P5PN{Z!lV4-LPv0;&g$cX3xcw3jDb$|0iP906N2N;H=T3-KVEV7 zUk33ZD3pw;v3_7)S_*dNk{_1_)iddw`PkH0a;#7&s+I&BWhFDhjTl-uSp)%Q1f z;t-8|s;b=tuEVL`? z8L>mh4o1l5wNyi|CCWna0dNw=B@J=Iko?7fas(xq<8&5QT1na6t>kz;M;~haV`aL` zDyNg}kTntnv7=jhoe_nP>5*y(_+#J7j*K)=IxL(xv+VZQjDt}kr!)l$4HxYPs}kd`NE+d zU>8&#l#@f#YDD_6Q$>K#Z{UIS4+cts|NMpVi~$Gu2fr1O4tW=vk`d> zQ!U8H-ARauX3;}VL_dCTbCNQwkt$N?$fvnx6p zobS+>J&?_Q3<%uHrYdoD-|zMFBdf`hNg*c6XhrS6w(gz1Vv4DvW)ZYQ74s1AMWq%jUt>52FC)&%n_P~kq=KIhdegr ze}NezFsKDc_7E0ke6MKx_un;s9`OhP+ze}j%h}?E<HyDjB#6tk9y6SWiDdTiKC zKEq4J?7MK%+P^#kWqe%{)Sx&?kQ2^j$E86XJXi|u>iNW2=J2!)4)4hKLyQDn__JiD z5+oBO!tr(t{eonORKnqjvZlHx&vH{yTOyhELrmth(GYvHlz%%AWa2bzd(E_}r0bjY0Nb6}c@2!!|*3x(B>R?fog?PT-FQHLhE@hj=D*gH&G zs6%*Vw<>F)-?UyvFN!xf~;KBu`(|k`p;8sC=H?KqW$m3m<%<@N*Cb_ZI}@g z1Xb|kc8ov#B;)vB&)Ha6H3jw+Fn9szf-=SRoJ#VjOksTiOPkMA1fd}z211H`8m53JWJ;^I^WXlwISA~RF^Kqy`uCsWI9lmXgYle_X4Bp{HgJ5oAg z2bD5fIJk=p_p8~4V&V8UW{tpirm*vGG$bRoG|0AUwL=nkgSIrv_6h`%yiUh>J!no? zo`aOg&}H3(dXjGa2 z{(HM(1asL$l82+|@rhy9o=znR7{ zv@;zq9TkGI@m2ecbsTUDSTu9|uaOkTZk|(4H`}8Rw|hkPu1{;d2;R zswCTkah<~rhIpnuq%iiv{HVTX37izvHhSwZk@%dgVe9D8_jKf~oE&NR-?_2B$RpMv zH>{6h*m!+?-flK%LnR-2ZZ0a+6&;VlM;^1(%p#DZak%pHnodW2d;+o3dF>EYHY$Cd zP?jlIqd(Sp{>0_vME`a?WGtKCcz-tLYiwxv9W*r#@TD49e;9F5s@*!O8@1~CI}lC5 zfG<%zjk?e4JmPzMtvNzjjqC0X&@HGi;fum#(S#g7hryliWgaqWsU%EJEK&v0%`I6L z>kS8G^ec(Su{sHODR209`Y01v`XSY_#clwD37b2T^wV=Gm>msvT;U=J8RiOngo4P2 zTe$L~3#~XGYYw(?>$(TW(@!M!V1+eTGk%h5_!PskY1|^gpcglMnz(6b2`7h|!LhXJ zkX%O7dz1_jJ0kyPwCr_OUgJgl)U*-!hS1s(_TU5Q-7H1Ksf#zXD4Yy4OB-;9#2e79 zsKaPLTBpeW_V|88S`#6O9{@oNsSnOJcPB>HR#(v+KqD)l~M(O(4sECchF=cl;Owo9K|;o>5Lz{ai&;;VBD zcJ`O{jZt?eEU~V`hQvy&~_BtSk31IG>w9y?YsJX{;O4` z$RnFXGpx0wy9p+9#ZWPNc-XL^N(D8G3IC&V{nqLAyzaX%(^h1)?<1|Dv{`S%UgMC8 znXtS>GK>0q2?M17EO%xC@n4;;SB45S;$lcJ+@vBZaTl;$B0wJa7lfD)hn(HsLr*8= zuU}#f2c<|N(}}K&cmi)_hBoLsg_d{p&fTysAp6!2>^4$E5Ix+x01j~kklgmllJzKj|@5i_9~;m%`zj3 z`c-zBLj72%=%A8;{L}k!{ExA*7pPlV1}ZADD(}T#r>-y|@MB}x6PmQY(&9v4zvjdi zxqn}Gs2wDcRWHcj11Y{m9h@L$K)VY?lMx?Zxm=(#T8+kIN=AxwhjDLomYs>j^$E{F z2i6ZQmv}dc|KXrfBr@&wfWJNTOV|mQku64!!(GXDq2oN5+7P13k}}N}qqAFcxQv&P z71ACC?HWi;R_LYE(dw(-TR6;$yo5MqF}lH1(w_ug*aoDy$C`>U*OQf$8V2kiSJ6H} z%9I*!y%)Ng4UYJk*UL0uMMjY=f*@blsi*E;o&|RbWs<``k;{B_SNV*LY?q{iS1>V- z6FfUIk}jvEwYB1jz}b&!?OR#sEUB8#m>;}V33UrX+(IFSY$>)bhYJHeptYLrM{SDj;dg+zb&m9!D{wMoMvpk9Jxv78aAiyHAl? z(auP|ngcnvJ-{T(xKg{F;42NVVFB&$`spB1Bjv%x(NRwX$P_gEZJ=o%{#7FuH=^kw z1oh%_%aAwUyROXfAf9GHt+aj*q{MDy-wI$LNyYLmQTRM=_osoVKz0TH$JSJCBcV&! z+WZ_19H3GD1QFh0pKX*w@7e)@0C_s$(96x>a(D+FcUG~Bp#n%S_z2j$LPDlWyWU+A zZLUn*9u1Xm=0CzSy#Luu2JZ^D=@&v9uO_$UHh1a#8}H6a%IIIufN2AQ%z8EC{kHJX zVb3x0_FbJ2g>wi(-j z(f$qxbQ3y9Z!O3AhhhBN>Hj}v0Za9Fn4Eum{5SWsW%0ki1PJi&*ltSyu^8^$|JC(B z?!)#^+ut)9@cOS!jpe_o{f>$XaVTp~_qk|M8tnaw{t@iu;2T4Fw0z0*u&A?w2Y8@Y zR94QJmj7``-w%A8_AM=^lq|0wb$?K8uoV3nA8xZF+24)5Xz!j|e};fjcnx>_cz^5Y z@c#6;prwweE4ghI{^Q>9!P&{##p#aM^HGi`tkDTGkB|Pn&F2I3VNX?e!z!vRzR$U% zN$+Em;qh{dgnSSC;|Cg*LY^4a42{CA2rTqxcJ`ba1y1fT9+v?6uU^lztgO$o;=K;0 z(lyKuZk9-0f?vP3d$qqY_`I2`sy4DW35k+DJ_WYL4?g9JMjIHQz{p4&$XAr#S9d`eOGGHX;!o;@;3J@we_>~muS*0o?CHB>I z^L9(nG@5XR$9_srAq(6B&_F43pinY@Zat0Oxy z`bUpO{QZe{?T}pfdxDVqHsdpONApWcPx?y#%=THYr_DW_uMyHl;NYmWG(Q*3z%!vf zNvdYNOsEFU3DBsWjZ6f~q}E_r^LPxXMZM9%azk;Wq9`QNE`LVByFH?d8dfu{gGy*s{ zqe%^p@2hiFN){626{aR86+hqVsbVp7IBf>Hr>9}ZY3ZqNE-xKiZltB8;u(kI4Gm)- zjV+DFDoaW<5OePDqi7P-WilAM`d|@4ryEp}- z;pVy4uHm7fJuZDOV3YQz`%`%u34xr}9+_Cxq2b~1urMTe=#}cT$+6V)ChNsg+cQ;N z#Kt6scXgoOS)aEo$U zhWYu~(#kL(bd`mq#Jp!{w?J*}HH5^IgQAe=3tynt*@}mMJ~0K(%)(s1$3hfI8XhvT zq?gv=^ce1WTNkf8Xs(g@+p@Mj?62nJH-9%25r~KDd)U?b8%ohMYqx*^q3U0pI*QuC z7vl^;@Jo^lwRL&^T!F^Dy@q7_64mTO?Bg_<>eYY#q{RAbq^!`6;)$u+%7J4^41`$p zU(;DzcL2z8o$melg@w^=)%#;oXXMgJvMo*i8UuCtV!w%nB_@i9g|o8_2H>yOJq)Hv zueO2>MzOYzsp}*zg@yBH3hBni=yq!ZU^F1rV`rldCN#k&E!XTpG|mnWEi5eujBq%d z$K(El+m`tMB+mTmA>&0z1RRj($MHoulYam171pCY9+$+h;dI{R?fQaj@mxm+w_hGe z1;APjGemWLmLoyLb5XCeT|1O#xf%$d?@n|uDG!i*#8C3%f{M`4)YfQlocWufp{JQj zvk7;n)dgL{<+1E~m4nbn6xoY9c-!%432g~_wzQ}PDI(}k@-3~h0}FED69#jH9u+%2< zMI{xDYUew|GSPw{55H_%c3X1;%aJEX^)juFx&Eb>Ko9)!Lz#5e#fCki*iZf+5V@)M z#d>H#1)>H(BtL*un5e^S1ep*?$OFaUHF)3aU{Xm6la=v1`wmE`5yMnfOfM_fv|v2m zLG4rM{y7^YFXeLny-u-^mfR+hel2DdCjR|;2Asm6Sg1OK36>Tx-I)AKq#R3GItO#bQsF)D4&*To;fA{w3M_PD9u zp(7_p{D0*RtAHXYZ`c=D+^}W`VaK}3x%iOgyORmj(ozdhWYJ*Ud*=ld)R~r657o-$ zaR+?Yoci-dUGl&{k&$Qe*&3e>s%&z`Pa6F{lr}PY6f+gdz!8D1aH>^u?>R0u@wC;- z^k@Kmn0CJ2OcSl!dJJz<4BNyA-sC%{ zs-;!ovL3;6EgS{rhSjoIJ(0n$>h!X8^!~cjR8u1n|I}#vt|16kn$x4;^C9O8shPMN zfyIuHn~3Tg4RNz@93Y1s);#6%r zFBs<+X5zo=HXK_Yh+mAGkjPw(WKkNi)JFr07Auc3o5&`jg~9-5`I6_>||2U$hXe)sIZ zR1d_QDX{*s1y4^anhKxb$COMAL*n~PqY`p$pG`)vE(a}ZAl5VR%-s4lihwJ)UPN{K zVIwL?@#${o!7!UpooS=x$(KB$p`lW<6^_HvSD}pid$&&)D(w)1HN_g|aBgpq)ErE1 zjSomP>IVvKS7N@Kl0n}b&G=+0tl}ex)N41fCenC%yZ!d#(`w=lIJ}hEsj`2lkHSy+ zi1x}(JQ+RvA+`8K2A-`K38DEQQm5`HQyJW|Rque-NwW}sDA-y$DadG&7v=~)ViRK3 z;3?Um~8QD7#{DJyCGel zWJ*!#Ky8W$2~exfw`Y_H|K9UX04cyJ?i$8^Iw19GGo*YTN{#>vutGweBf^l$A=I=JJ{x z4a&b7i$Z~Fo*B^<=>P^kzm8Ngu}V2gt|%N0&D0`g-R#QDpy0!?v1v1+ImlkOtiu;J zx#P{dJ76XVNr7l(WDyEyYn>N)a;Rg!AN|Ec&A&^mO~$}yL*&X4k-|bLg5=8zSj#{2 zn4&?ewcEGeu2j`8N{&NfN}NsW^@=L7L8DO2<0F!tr8;)li=s#LOyb~9EEPhym*}Bc z;;n61za;+WxnMc67C2s>%GRuld9DHr74=qAgJ1Jl)aHG(BfKg-JotHb z$d{K#kGy-h+fHxXTe(ob$kt#k?bdQRNfMPNy-7{j4^^us9%dL&Y>{s-xWXd)9 z^EP6f9}ma_9K)ExmmsIsFT$4)vOf-OVx4*@qsZGnH2~SD-FT;W`l86chrH&)F)E;> zi^AQhPnV=bffZ<6Y<0TE?@O$5W(k?%F9yQdF@9D`2 z#RxOL`L%i?GK%%bv7lxL!4yX{nFAx|nFkBP)0_n&%6uYAgyCWIH(`UgpKlxbW>Cym z;$0&ZqLWzurDRf7=$9frV<#*Gr08T;eNgSrN#2LO!rkV)rZiIDo!MJ#WP~pPB}`O$ zWZ_10VOE^=-QBvLNwQ-nIBh5SGIO7|Wgga|!UUe?O9PuwaE(#w{yGaI1 zFF)4Dkdc8ipZb|XyG~NIzjo3Z5fS02b^m#MUXW`BmkYUIoB|*<$ z6~mqEmRO+}-~8mUCm5teaSAc*rPSRCi;GCfr-{hQwln#>ygNdrNSXQW_#J+;Efzro zI+4rm2q~kVqo10oM#lJ-^gKM1C9Tx_cy16f$5zn!dOe{RMoaUOQlHd3L*{pK1s&bs z?n%CMW*E<$5O9eWqHn1EtBlpF($*WRT;bxu0>S#{HF3fEEUurP8?Bu#bA|-7*b4l= z@AIZhb&-Fu%qUBCJ@ypzKj$7j&{UprJ7<0 zoMNjT#2YBYcQ?9PV(@tvRe+=9vU_EG}*)=cycj)lUI793EReji&964F#3 z3!Q<0LfYYB4!vPVyOh3mCa0C2__zUE&08Bq_h~+7;$_hhHp}NPkCRMQlY$ z?BkkUlPj9157n>og=dLDgC?a~YA@#?>jx<~dH(aE+bQc|-ZVm+P%>wk6tLWGXz)W( z=nqRq??5VZmyo_p?f1+HrQM+I>ub(A9P?B9jOuqhl1c?)VuK`|JTIzv8kz-bw}ltJ zn`zayCl=ku@z7dKRCCkMrYkOluakovqX>Hk8DOGNG3;4#)MF`)r*s#OlQgKmR)8p})BQ z`%lupwjIFj{&y6#-0Ah(+grS^?sXdFd~Vmfli7k^US1?4B!7&UG3m9$3TNc)0fSAu z$HVzjZSZ~U7dh(q@ieYlhl6oc3Ypy-H;J(R?W37Om(xW%AjL)^|2rm!_39#^{P}@F zVOco3pDnY|>%YFey#X$=5Uhg42C%D#m5uiX0NL$wtGDxM%*NfrLo`bW06S*)dcNg< z-9l=#*(e}Q9HApLI$N#>!p=pq5sk4}Ohy;mJvh#Y=&80S7OXcq(ot^BR8<%1%x4~* zwt51AgeAd@>4ni`mPV@;c9(N4)>0p$f9z}K{4yE5PqCS=;Ddjs*!i+{@j16x3AWYl z?fLHI;Q}cZWhr=2{LA(=VBkTZ+bq%P@O+vrR`mIJ*|1q_5r%R46}q;z_Lz&d-s-|& z4l^8cKatKe_|)O`a+t40&!ABUjT#q&PNO2{e-`M%KL-+yUMStMKUO!&#;Br`#nvGZLD;T7_zdv+tROy4& zR3?vwa_0qp&J|i*C{wR>z1ohaQO&_*k_bjA5H*{I#zD)BccABYy(H413OXrKE-jKH zFd9jqKK^3PAurnT ze7UAz#CB>!6#;G^<$+`Z?YD2!&`geH^G48{J;eUaVc>EZuI>?_mVjTuToUFJnw`{7 z{rc_McfjtQ#|L?w#^nH**oldQj`HbxZyytZyEb5w3z?cLRV9&v88cKc5L5^bluo+= zN0g6PZ+3vfPsRxll1&LSe&46iK}6C=%f<^>@4cOR`PA|5$VXGZ_D0 z$|Vl`j=ZfE)~`UGK4w%?J%#SG{PuQQ6dzidVR3z@6u9O61(MF&$f!r3!qiIM^pZsek7iO(7p$${CL(Qi$=o%f63b-!1$R)#*(UcUUz$1a@- zFM<5>Zn9JmSUV=HECVu=6axTKJcrGK@tWA)dKpEcIuG*hqHUrzYJ%MZC>wae(%%F* zos*KMKAV^njNI}}wchNzFWYr-na1WWOHa?tNeZcvB||Gda1p0 zO`7h7Ii1W~d!s&f`M!Iy0YnRMnT`wPEI`wjyT}l1al)6=@g_agQmd*`9OMJA$GtB% z^@&T8_$!Sb&fgeNkKg%z?5_g!))|$7z9$O1KU#@Awcg=nx*Gz6jxLG^SW7JgK7OZj z-!3&csh)M9t$05r%NXbHqt^cz>db| zqb(I|)fq{wlnzEaS+Huh+fjKG`{q7f`-%Q+#nMFesu}1 zf|bPmEmcK@fX6kftziIRdqpE{u%jgWy35CEy=|u_P_mdMjTGW`WCZD?C+)Z&&ha6J zjK(5OCU5mfJAo28LL}7w`L;QMu0<-H*=up~3i1$`B&WJoT~U+Sm1I1N@%8OoDZA3c zSwLCZYT8nL#jD?&F-edtqYl4lWUi>J<$B$l2ZRVAudCyB-;oMkONCB56Hz(tf=z{b zZLxf>Gmwrb6Cn;j;AqvjK1s??rSsga)wms;9Kx75U9eY)B*)i2aMUA{_za1jn0jbmj^D>s(~W1aMd;$zgFk7AM16fWGjs)@rjz7qvQAbJ6g z9UewpSky4V?p zlvJx}bhnQOHeYLz?bOf~szuuV-O*QgMS>lrxQoz3Xyk|v z(%j=|I*wO8d!wyVDZf@KtdIgn)8uJ0J@!YRgy9mO^nD?4=WYJLv;P`QTe=yHN@jL2 zxvJ290b>hnvN!p7XC{1GYc|{fuvc%&u9j9BFTN?|mD(L`qj%4RT)1;G#9iowW6-6t zJMHg^KdI8|I_$qbNk&n~j4C5*7+ZLs%vtCV3_L>czH2AZh=1O7g9u})(0f_a-y$OB-Hv5<&hFv5aPImyc>a*>A zox02UYUy^4-^`xgA|D2i)3GJ7vaUwWFlaeeLi4MN-?&sNd#&PN$K03>ktzr5;Q1cK zOu@Kog2E=X%VSrik9wi%#22{z#FD1(Ro6Iyl2uksCf)uDGG^yc!$uk;k3p~rwCd{G z?y9Yf5Lktc+__E|3>tjq2G%+{-RV3oU}=F#$UwHbqESrc(bvH1kaqIOWw7nKwL{|{4teW zy5=mWH4#ZF+nL%yt~)g@^g=jhWz|`m8=2Bq=i6QW_p6CGHruXSBaU}MtVv~>g%ix9 zogj=qj#G~ES*g^=U4Hho7k^MqM-`&*xUxNes$J#}MrQyU@HTkEYdzcRqQ@UXWIPhL zA-R`vGeloK^w8&_;?1OgSva?}XP%Ddt;#TXT?FPFIV`_08cnm=zP-cwYTLNsxqpHW zht~`qY(RQHr)}hiNUjj5qAyI{Oo8-DWXXVakr?FChe3HUR~q$pn6utzW(II{0ns#; z6d+kv(~`&YQ7zmgJqQ6i7!&4J8Ql*ih5ZPm$N6YgSFg!^Pvhsa)%^tx>fA2@Pz)tx zu}|~hd>X75QlLNDvKrG))mfR&!J_PQxn@kfUYs0AT5pr_)LU?Jh^lDNd5k8LyuE^h z12pEF%z@idByVCgH(1Zic>m+4M?~}dR2V5#FU7Vg?6Og3=W(L4ra~sqX%NBOP1Qxo zUn$r1W3}k5sao;GYe7N}l2~1hD8O3?hw`BNEtmmLMEpWWP|fgcS$bBj$rhV8Wu4MD zDuw&ASM7i?5IZylq462xV#Nb17v?n>QF;F9u=VLiQUEm2?1!5Vj)5$X%Q2LLS$H>? zD32hGr@nCi)L5#s4J!5Y7tibO2d)e&3?HMV@ZlxxgVIwR->&AE#4vbFHAK& zW>;Dpzu8n)>q>b}7{{0)q+*jbZUi*{p@ldvccehDLzuzM#u7EK_lEu5Qijw|DP4Z8 zragy1EMKL5dgf@Wvz>?}IvVX}n6A%KnfVUlJl8C=$k^Aq7hoNrYe_7UkUUiyv+EH= z5ecDe@3Pp-TYtEl!MHL9W%AlRw*!8|FXkh`%KU3MfM-$m_ZU!%Kt^e^=Sk88j@I1$ z=NA=-`AHpszONbsg4_b{nRg7p=`vtMuo>G657o0?2MN7T8dabVlhWi=m2rMPobV8P zEK3<5UwDGaY@Z#+4{@fv+Rg%z3=n2>CB~{vmsh!iw{~z&vUh0grkOZ{2yYr-*q~A* zVBdz!eI8aOIMvMmNEjmPC0ZkB^GQ``nNtr{y`K3DM9v&!Ac@rf4u8si@@1A5(%u)z za_fb(!Y0kbmtyXGE9j5=^JLpbo+YrxeOGMsDXTv+SvhPjboA_t1{h*fnUk-)gZKR| z{Gn{_VeOCoLugKqwWS*SwdV1`J1r!&U?)ZSoIX~sIF|$`(MUZUAs5BVDsMzNFm(mq z;pO^NFSG^zr=|{lWIJLCGS7m(*1L;Zhj!%Nck%(?lI0_Xq{w3cK9_RdweLneO%@lpp zm%mubche6@7&z-QMBs>d47pL8Zk5BT_k8i3I_N(fz7+ zoHCfvdQ^#ELwHMk()p*Gn_URpx29 zh}<-ajIi5r(~CP)Z=v36&IjZFb6UlR7*HJ&GDCN5fK-l2j zhImT{d%jncU2!2o7cEzL<3>yYVzQ5dOA)Nvx6Wej`PLpB9<<(_F(r5OvvIjGTJY{s zz}G+BIXS|~3sBc=yi~*p77-Zz{Lh=3Lkd;ZkgUG!FyFQ?@MDTah_N6LKUW}vgQ3Yl zw@U;`wm9J?L5q~1^!)as?Z&Z_XRc6cSH_?dEcy$HOd-&EmUhgJTQ-aK8Z zivU;Eb;ehyr9ppC{ZwW-IIvG01%ypS#|iS&(h*4WV#d|=Y-8v#)(8nkH1YPJHlS2$ zBn}N=C|gGi+ATQaNuf@slTdg{_KD+ftdlgp@)bjyzeFv*8R^|QpDyM`4I8Pc9gm;2 zZhd-;_IT}N%XotH8#%f`l1crdlE)Zm4HpHawm+ViL%fw#g6SttCMjKauAZu3+FL`^!bVPhfeK>G0cyc2I!VPRq^yOtCZ zosJ1w;BkbASDw_X!bS{Rr~V+*5JYdnD@i)ovBOR~Fp9!GqEBg}-3^~eJ+y-@{?MjD ztrcP%*8H4L#kkyhASaO`&1N%CRf|~*srILLstb1E$oF(J$IJ=!Iv9z7iV(%gg-}vb z_33yZG8N&Z5dls)SI8}~+boXK*f`!GsECTr>@!+##e4>e_ES@DYrh{6J)jDdGZs}rSSi=+;%J5WSmjA-=}%qUWHU}l6MWHQM)qW0o@(qF}6t?~a9Uu%oo~c^`6X1FHZ9k=CyJ8wB;KlA{K#-sj>5Az~ zT%jqydEslwy!XsD6LjAZ@Al9@Xhm%8Q@Fl~p9gSYqydANw$- zKsoTm56eP;C6;1uD+ZNN&pr{T2yuwH;l1`9f9i=5@AK2khF1m8P|VJY_y%7u8;0fX zrymH?Ahh3=)d^5SoZn$q@>PiPG)ZpxdS)gs=f()gLiQZg(N8ST{jd?{ZQ)Q+#*E&x z{-9lVd+5d&<{zQ*l+Atmwe6#Rvw|}&6v!s`)3X;ARZO+C-g=2`GFi(Qd%XgO${SKd zTLb}dqSWj4^3A3w`@A^g(^QRe$B1-!u~GH{an1BFtKOfGCD49Bhfg%oyr z5Fral6gbbZNPo&;J~yiP&XJan(&SRoTjJr{lK|>k|LK4Uv*vhh7ZodB&1^Z(kQ|H6 z^QrvzFm>SbMm;<3w=O8mH5)q7QfnkaK9g92HOQ3aqe2uS{R#tWh|ZGVWpAx`!8v_w zx$-$!7C^BDfxPQ)pF;0`Z#!=O=~Gez^^NWN#P?}T1wsfGjEt-_fH;tpy!FZ-(i-iP z(dVMTQ1!#<*JHeuNL~>AA?vBK+AJ*pfc|t>G$rW}qemG%$!L|40jVA<~*eYb!ASfiaLE-?N64FNR>K0`T^hyXNk*y5mXU3X;3=!tu z7C#dV38f>Kb9V|GE;@0S+Px^DBtJGd38frpno8~==tGyDTShD!MO z3&(k5HU~mXhVJ!38?*$H!*Z<#&Z1B92`fS4Q~3EwxhAYCKJ?F8d2(LScrznkah5A$ z7)Q9fPrAn6J`w5krjZV0na-QIOA?{867v9nfmaJHOdN4~mPFIJ2Y8DCLRH@X2WF7qH*Pt?&6Z?6|Fmln!eQq78meUEWDU?gXkI`3;h63 z8v2+c=G2V0>qV+mb($(nrXM?7gO(qIo*lR-;HEY1xrRya5&byXA69Cj;fm4x5jVOE zDQeu<>JouuJUe-wT@9k>yMj%yy~UnUYrTds{tGAV4*wbI>ksK1q0mu)PtIQ&n@;rX zf}+l8lMD>S{i)Y)sEW4vj-ZACEs!QAK@8Ws-0h;g2_l4;CVxUUa%?a%o>mcPWPp~{ zN1|?`i?~idCaqWH4sad7s(SFCy+8@*ld3$zq5fUJ=2>5S`1FLoWPurXtgrsawENy9 zk|r_qtD|>&uVA_iYmbA8cMBSf>mdaN;>2WG4`NHRusM{BeqNFDs`-L66ostdC|3x0 zlZXRG6$&+f{^#wV&%d!F|8F}AnLnUK03H5m`D--Vwj$RF*)b;D$P7kmd*8okF!DV3 zpHcK!C4_PSq2cy3hC?a1@y#y}m&5Yzz3sN~t^JhbtT3aU`=$R)<>?%y;-Rq-#68z3 zG9}pMUHHFwY=cS3ud7_So3@U-YI5F&M#JmPdStiXaMd4VbJzuGJL_m!2JED-=618h)_}EQO7nkE=#bk;ws*SDIQ@G+|IFJacatF)3IC&1cec7bNBY1v7V186 z35|)u0|?h$==Ek)q>%l%W8lBiaJ9^*GkSlD_OV`X>%Gr*j^qcTeYW@Mon>keh?(gSt2L1qWBg`gMHn<=h$&p5LeHJtq2JYkit!b#XLt%zoQrp;eHWV@P?{X*p=7JJ1A>a zd~LoKki*+TA#H~?zg zCXbE-zxVgjj0u-oho==_Kt=H}__!sHYJ}b1Vi{dX< zfAQ8@Ph**G+Ms_U4ncFps*R##;t$-pH6 zZ~%O@$#AQLi7*hnxq-zi(`fDhbV&OL@#N=N;M6Yo8N+`2R)$EvTGjXzttD|-Iv$#4i<+Qqe#akJTU*g4DZi@g*A8i&`a+Ormq>)X zy0-HTg^1pD5=1n~D^s#OFObr3^5H|%v^p&36#S@g!{wp`jA=^Ldfjp+I+q;D9J+Y< z@a_)5M99oH*5TUhZ27@D@*UlF`|`HaM{Sx!iK4-%bl6Lzg*uAVG4Iz$ z^L(T7%F=e*YokDCE{7IsQcmi3F$;V90;d(K{9S*41)t8U*ER#1%@SYtL%Hd(d3FFn z4eKuyq3`cN_P>~E|G=sJgQgD>@fTMgB>pd?p|2(ns7zsPW#t4s0?1z|{zH|Umd01V zBEjTjw-)twH#B$nm<*hYDxT5LK=TD`q^aKJhG&EPx)M8_potv6V zVM`BK5O~9m+_kj)Gq!H4PdbiEaLT8^67G+Sv)8);TPW_b8per)2vEiuI#)nOW-D!J zgqphKZgo7GPit~^HYYG&a-NLBm{zArWa4Ai@cUhx>sKOHT2}Y@(R>61>A=AJWrb=5 zq=L+^4o92NMY}DYO9NcBTDP1pK(=RLfr?YI_aa!iTUx2{^6v_rF6WBYz0(F7g+~?-yD`lmm z|4gUlCC^~eI6glIQ0Gz8E}uEi0hpMOwS={Zd#@rYtK>8JFhUm51tZh@hKfE`9 zuwaHt0UE7is(Xq2U?j2=N%zI}?cy;L25Ra|J}Y@m%~tHJ*_Y#yoi<)Drv$qT?>y1b z)QKOKmI{0_Qc|4@lHx8W32QBn%gb;80N-a3CWYl&ddY=Sq7oA?rQL6VQ%fw`ao@tj zhHGlBC(?>Lyw3(+6b}Xl1~4(>WivQS_qEcwk9byj>uj7=-n9oKs3S@uN{ou#w4oQS{rl(3Feg9zw1(UXKJxHMNMKNE73I z^Rd}KwQPDyKY4Ur&*>shdA&;PmxJNF_+WJE^zHy8V93TJbOAv@L?A+%X6=0Gtem>o zqJrDRRxa+7nUHH)0~IZ;VrX4s;{tq>?bh^bGtKPA!ySw~dV{FGBc;{z>;C@#Jh2Mh zN(MTv`HhWAgS?VFY3VU)&5~q-O+o^~%o6q%iR(fcWi#rSlITzv^GF2g<6 zNrDu0V*+phO0)n9ASZn^TTUtI$l{Wgkp(jR_=ef!th_L#iGBUrXYf)|GfPzq5;xXo({D9Q$FM0vK{}H==hhb z{4Wet#=k(4|6->4{x9b9&)9z}aR3G44*|R`pjgM~-wT<|0L<#2iXVUBR3BG@$Wq_E zbE9Pn`PQ8lYi5={mJ*Zn3vzR7Yiq+ltiV9@@{~pVenO39eBEE=+S$sMGKB=-;T|Z$P|HlEp*Xt35sQHrd(KC<=ppP!nXtj3M;Ki@+xC;Ve`-38@V!W?ESyhLL zo_>GLWo$+^b*AuQxj6CsT+=2Zy~QCo7~6L1H9xPuDL!%7T~MN_FN&?LoRXwu>AY5(t9s%64MO_Y5i&Ba+QvrN zPST2%dun12_s5CUR$>~K4Qm%A)rGu#lTw#TZA*3!YwNA4YgAV3Ab{apxf5|MwLO{>uh z>1K*cFi-H6Vws6VvnMB)sNuMUFqXI<%#XG1kE_oEK5e7ooTI%F)stiTj<@|6vVPI} zZ(5c;hCXh>5K4PPRIw(-5+!&?`}=%e%Q>kWE9048N zx6{dPQem~$wTh5p#*!U0jJOPL_l=RQAMN|XXopYu~n1^5r=qAL1MSpU#qmb07OFSjS-oA!(3#tnAe zj}~l>aV1rLBdmII_DF9p18<$`l8hDpb<=oB3fUB8WhWURnsZS3n%DdFHsUB8lTOVF zl9V*>ZBLd#x5@TNX0Wrm`YF28X9_mA#NhqCae`_pWhIVzF3RVi9LX`PaozI*sna97 zxmj4>aiC7v$_jtEYmj1h$#kFu^P2seeS2ZlaE@%o-a z06s^{>I}jm74dFV(GZbP;{4XzGG=OI zif$J629%p+6BNs&7PUy)e|B17V^k`31Y|mF8MRc$ZO@9wgX`eHKqr^8g|AOj!|e^6 z*Va=bagU+P+3o9}==U-%DUIY*#m7=zK4ndZ^;H#Bk8izFYy?U_6#*ynb*k>yT#1r_ z2;hjsKxHi=OyK#{?}DcA^77H*G(vC1{#oQjE1~S+3XvUbdq=VJA$5WDZ#g+in+>h+D&@#g`&PrgEM^rtUt(O_ooJh2&Y!vShDhVi$qc~_>|3q zFhM|)y1>(~yy| z&eNKhfcMfzBQ|sJ^Am~kJ}o_c=UWj)Vf~ot-MvJnOhqi>?zkh{#$4qBX#MqgeJJ)O zp4vPbZFSw??MLo?wS{ zU;wKd;;GZdm?O3m;f2}V{oAU0JFqeWSp8x-TY0)~B~QbuBCnDc-!A}#JR*<%tDLsg z{uqk`kjb049=Hw&<$r{#o{(JlyDsKm!6|@c{QpFz?-EeQ>OV#PpITY}itN8SJ7zJRBYin!oPu)HIP1aRXQaa4Vo?Ki^ij9p;PcPp| z4c4n&0%CcRfByz*Fi)+o>--qI+8LagnVCrA+Og%V6Tw`Xoz1IVJahhWIs9~U003>l z!NLN_;=uY7MHuvPIiDt#mYx8yZ(-r#^|k=C@s|iQdK#LWtE;7I!@+#X#5w>goPwL1 zo1UJYkB^Uts7s>gp%DJ~;vzFO_2lHF)V7T68SDR0^%g*JMN7Lj?iLu_-CYwL0>Rxa zI0Sch*WjMu?(P~0!F3?GySvN3bH4vO_ueY1n1QKcGqcxP-ETkrHXdGSWf}KK!ALPM z_ZQ$Pv$L}Ss83^Uu1{43fI}(JNQEjzY=D2#2t*lO9(Vk=W^!Z%2@%oJ*|`E3d}wX0 z3ZwRYY;qEq*vu1^UhZgB#F1l_6g-*_n41Go0{HFqnbn}PlzV)9TqdyI29D$}auTCjhE;n8)3-#>Lv7>6o{?&ao^ z{iNgL)5?k+`U<3Ez$*I%c*vJx8pz4T1m*rZ*d0yVhNsIbE-KPCQd>r05nKcO##I?) zNItm$LxM%6FUjFu7#e73XslSV`BRu&CG`UaW6Jq!20rq|9I4C||HVGi(_sH+H2;fE zQZLIOn13=`P*+paB2+nr99s@sT75|k1I$C9P;U0SFC3*{N%Ld9Z@^$;`KZ0?^?4Gm zx}5r1OjOj-$qBeb15cf8j)efboTn=RnBb$I(mZYCy34S|07(d}tgWRRL#U)V7)=MY zW>q|O{{9-V zf!g}(oJLny7q^a!1KwOAqit?$B|?RO{6E8f;Mz&3e*>=XIt4t~w_plQTNQV06&!F( zzV+YgLs@2KW)0VCp=4NW-l}xV(|kyXPg3II!3lu|Jvw*ps0B}p^Gt8E&|HLN?d?nK zxy8kjoFWQdF*KXO`(my;oQ$x2vp0zsd zX8L^zyHVXdI5+^0ngbJBZXn-L za!%Yf5LK<#>uxr?u5N2cBmVfq_^i0DZn%H71{kmVGP?+u4qwKnO1wdu*YZuMrmf9& zA1$uUIW;uw^SiisT-D^>IWCX$U?Q>IS#0e19%*jjgQb$8sg#47gA#c9Drw$-8=Lp1 z!hY8;#{hpVvt4aY6c=|_T57Y#CRd-$j_u8}^+Nw@qssPn^UWZ2;GmLM96daLukb{W zsm8}|n^!b(RUcpCt_DVhP1!$f_{aM1*^d}LW#y7$UZe9oOllg5epBE5=$y4`?hj@> zKRN<@C2Xv%dHpGY97ajQ&8M$3Wd!T%5C-C9*)1=@m_;d1L9GYie8EZe)PLH&es1us zvZdvGB;|Odpu^28qod8^@~SZo$DqTj|7A8bOfo!lFdcq)oL;Bi!}e>AtpizyU)S0w zr^9V|mBzt4d|6f3#ai;mk%*|1_gv$hJ$ZgyRvl-uBc;zCE0NnJRloK#=axb4XV~0t z0D9@ya5VJxXXnkJm?4r%S`@s{?LPW!wre>z6j@_n-Xl?vI+Z@j!hW&y z8gZf4@F8dv*x%D$-RDM7`}nYNZR;HSoB7?(G<2G%q-UlTq%rYcA3UDjx~>dww&UW` z$7rv(}ZM#nLO+c~c_OF7SZp9xYija64x&>_#@XR67c70vC9K+5(I zkq(pRGk{o|$ZFui2z;nAll>bYBOV^}{BYse=Y5(vZdeUF0w9%JQK>BY1y)J4<5%9R zOUYh?AC4=8H@}D%T_3leN3g(-vxpUZk&)S@EqZ0kIcusRA0hkC-A&)0>+w6gQ z^UpdVfD`?#0Ly08=CIn%JO(=xnb6(l_c~f6tHG+>8MPO%3P{}AiC*iz_peLbSrEmZ z&S~|ub{;DW-$?yxc{PHUy1damFBR1XV>8-akHd8WH2^v48kqNY_mj_&q4A_N0joqY zE4pCLbZje+sqz9~3Dr#T@;R@~*V!I+q&eSj-aD5o_A$mmM~S#oM0mRb05qGy?|wKb z{9dW@d{2B=0?^yOED-az$IX=nU5?-(X|_NjL!EJR=(uH|pkcAkab&@SL>FSmuuEO_X??Zf%Ayt%o4h zSz)e`OI2VHNM6ISti{;<=H9q2Y}^LJ^**!j{izpormLiPaJru5GjxmlYYMys`_Pd( zp(ILH?@zy{OWGDTO42+29+q>QQ<5VRZOXq!=p@XaOu$)mxfs6qAI>tN;lH=8=>sET zZuiB#qq6Q!`72Yn^Y7;9ypH+p=WOQ-x1Squ4>u&r=6wnbd4WY(_HCuZX%}wtHbbNR zI^=RTm|L&kpR1zyvd!?pDOv)L;AwB*a#oZPg`KqY(O?#TcF&3GE5UB^Ar4G=`DHA+ z@IwTFWXbhDEBi)w99mhcGKI^J5t&4)Zy7?;PzA(q2$D7WuS5u?nk9471vwAb^W)2> zOLriqyjb`3YSLik;M-*S26$8=6V&MxKWOSxVCJafeB~OI!g{yw{U~cU3AeFvMXJ8A zkk3h0O-~g9-tS|C7H>CFOQ8LDGS@W4{fJQ&!g{H2yUF^i2%)X6`+A$WA?JiQh?G=VfDR_hdg*Hr};uWPYeRn{K5 z>avOz)ET;;!jr3g?1e1Y*oM1ZvRS;JlhyFuL4ms_q*5cCWzL>2Be{@iz|fUDr2-nz{P`SCd89VmpK zAm<~=3BaR?mGIIP-R%z82=?Qd@@I2MKA75Q2W+@n1!-onQ1I5scJnQhY{&;b!Q5&* z*+&79J}LHww|txeN7vz`elQ#D$SZ%{Ry$BbK0M!$G#fv94GpKL(oAlBw9y5{;An}X zkGn7683NG;e9s0?*TX}ds#o11b!Rkc5u&1!+M{4-&tYvQ$-^CJ>W4Qc2v2@9pAfFu z?v>0sxwg9AS$_}dXq59*OG~~ zwrl8`jnoY8n@d06F!%FM@q0k~j|%QJ#vS{4J=pN(Uo>$!l{^el)PMBb4$>`_%E&5# zN?NB_F>!}ISb1v_DEp8IUP*6YZ$O|#i6BrT#7>)6dUIQIVY^g)?wIkgy{1SGrf+P+ zxW{T$q2zDHq41LEE%kL`gA}kD_`|TtdB!^He;eCs`Lz!~hnNnY*HSF;lq6#yC9}A! z&NG#QdJC)|W1!frmdZ>>iHra=NHO~bqyUSH1i~;}^QgkNUDBVj=Zz*aKf%XyqxTP&X-+VFTof<~2NxQrbr3?bia8V8 zR2?N&I;x)v5FG~zM%H#Rhw<}x%o%BK2pb`k8S3+(} zS+hceg7!e{4%gPMtKGjys*+F8vwViz7ih|w00(iR_U<3gci1O)v z2Il1cw5j(h60LsoV7ObIYolHT{$Fz9aB-KPl@L1+72gHDp8uGJ_4qy=T4WHgb}PB= z3`M>K&T{bO&H@lpW6}FyEM{-%dJ*TIqW~%-5iWIM1~Jb_YSxDr4ZHx_)!4S)dPA(- zm*bl5+rSGtAyrUJB9!&PxnuZvwD}Ax9weyZYYVo8>8oQk_Y?S@>mxu z`SWR>swb5at!5Wn?UtKUP62DsY3aFAil!DMpVv+Za%HR*#)V66JYkkvqunC*luNW7 zR2~j-x3TqDcAJCB@R$u0#5Ry!S`S>NCmpfp0aq=S?6FZ){4glF>Vd%gzE2OYANC;q2W?FsV`7CB5` z8z9m#ct+q0sIg@FEewr^HtMp`+C^P^>D(}wcN`y5UY~_=t`exLLnZWYU-%^>LU~PflnfltF(o!e>+&lzS zVzP#o?#Tx>%x+4WszBm})?ws(5PYR@FAE%jB0flEk0w*wS9pbyP**L0kn}BXYg&y8 zP`(cmH9GaU$Ylo>19B#M*u%?pjZ#~>@>Kk<+?RCaB+=3nIf$|N>0*k}n}Odlvo~ge z%5h4>IkfUjbKh|%zHTvhxSwj?hoLV0awY(=pezKvJU~xPVSOn=3b27FKxo_Sml1(+ zU2Lwxh_P}jM1)w;Kkz-MWxf0uRlqfn&wiyfQVhDJlJmiSg|1l> zssMs+XP~@R2N;cFa-@25gStM&2&t#n?O*o0C|Yv_rl4Pz<3ZgpHlLVhFJM!Fs!KYp zY8mfKEw=3VV_mt|I&hN9(>MtGfq4jd!_q3qmgFk50#+-PMGT5_d5{*nVF^i~@cuO@ zlUDN8F~_Eb8zxebG^ zGKYrkDV-WPt)*v><V4(aQbSu_##>WcM4{);b6q*m=Z`1!${dx3yk7W%m4UFKU@ej zq}@NRx*tuZv!k;khKq`^I7j=_fBtceZ<|pTxEk0DdFkb<3t2$CbpOe5tC6izL;@SO zfDEJs5g)1_U}K> z2xPBYyfNB!&k7PYnavBrs{nmtb5N>SvvP3sQc0k?p!*p`_q;J9a&4hxo$d!4uT4dD zHON}S-fDd~I_HPl%lO!|{a(tO$FU4#J-CPqpUJCbZY>q8$b3VvYJI5A6pj<|ls(lL zDtcXQS-6!QTJ*VcK|nSaOr%Kf?&y47LMA!q4nA7Ch%*9u8xzpyry?4ZaSMj($XW=UUtzl&PitJoh&F z{)(!|-shGX_x-&7mN}vROr$c9a>*wasyIE*6W7g)oPPm>lrH6h z>PW%S2*d^jb&XbL_$u^IcXS}?1@CY~5k!cIRQXLT5k&s|Uj#+VxXgNx2!qrsZN9ie zxxue)sR5x{5pMlYRo#oXo86oiLeINtUq37TrJJpgAeUMujxcr+H4ONy-6{J9LGQio zpwO&bjxY!+S7j0?$Ep1mAdQ}WnNqSge?edBv z#Yem=Kp92?+el@3qH}GaaLuzN4oetUiXV);S|495=k1)*Yi!BW!71uPqaq|H?F<*k zjhIr8mR;q(EDN6|LfC4Ae)|jq(2PKFvM01^MCcDisx_JL2{evH34${A z?Q!HKKO>)l7Ofn15U0poFZ)bF3K!&)(&<&W8~X?UUf7RETJ;3S*>ajac@C?*+T6>)f6jn9P579UBZIX&VrZV zGDUngA+eO6GO=#N8yd+w1a#Ey4|lPjW1R-N)!&B4Sqxg`@Yi;ol^goSA!q+i*b94uq;q737&Nv9y?pD$uH^MBb0cgvk*`9zr_E+#ma$Q_y}+`uBV2i zeiK+PqX8H`l!V<2J-q}YD3s~Pu?nfT(0{9~e1fBovQUh}uzu)$d)vY83-BYHBJnfT zO{7AMp^;9ciY$#wsHcb{ZMsI!eu%3qcpZR@5kgOdaXnov5YZ7nO{9|c3Zw^KD18xa zuq%lV$8j#Kc!FQ+$O%64jHgQFXEEr!iecjhUcr_LSdISg*S{$7e;+6ITK=EM|H+*G z`xMxe6ZtfUl({EALQWzm$hlC+@i~?qXmd_fd&SVUQ90sZ2MhCUAO77reb=z2Q>|ju zmLfoW9Su~<945D$oD0aHLJU_lyjf?ICNe#EaV|l8<0N0RgTG4QG~l18B|}dF^O3(Q z!b%{*hD-3*O_s&S6$}3)j;H69<1^qN0jZNa8s|6E{}k?V+`hYz59B7w_-L}E2k$RL zQ}Jcq<845++=*ERYom9xzB=&jC)XPu^gEFGQxntiDa_&5DG)mB>~Bl(=rkwJI}8+q zAI(KmW+i&~&Ko`V6NOa5nLCuXvac$o*9g9|r;6qhtvfJfsy-11vo6}V?tc9D85H9$ z^r$EDX&LB{mAHlHZt2<4`lY$nan4Y?<3wFq7>`OH+(muipyrG2CgUxmY$BESN9ug^ zveni~X3~@y!hNraBKUZ#{~bT_yq_0#zSZs2Iot+*=$VhIe(;+1%Kwvzo*1z2COtFreTjWTmA8BJ6i?cdZp8G)bSXSL|x2uN0^SEasK_oCmYXL z%==^u`K$R2LY1JDZ9;PNhyhKNlCTgo>BK^_Cn{+M`RBA?A>S`a2=NdS=lHgfqS33WckT#5_(4J@(G~ zvwshz=4Pcf@*&m?BEzgjr25%vM~ls(j=CzYlKL91D=VW!H#kDO9o)%HRi4mkFz8vT z`Q}9~L(Z`tgD;2=h2{xTxA-09TK`Lm7Vm;OGZiiSSnjjGY_Y17i!q3@;;84)N(XyH3v+lKP@{yR7=Lt zGDpp*3FFa8%IAe<<3qUxZ!bn1$uqtCUUm~(oe*u+zyvmQzGg$$WmRSeM#C6y)XOjv z0VK>7ZYq0P)*9U33(rOdzWqi|F_Owwe@Uf^-=udEn8@joL##KV&+w$41COx8>-~YX z5EdjQqMRK`4yH96DH3HJu@eht+XAGeUH1Gzac>zpx`9{~!`S%s#Kh88L&5jehUb9r z@}Gk#pAIHJa@Ur)pS^5&BZg4@f=y44mO86Bb4nTsMaIWTBaLFPA9P$ z=Z`g(lvOCO6Yjcll?y*J;PLM0A`J@{kvqsvcUn8mSbgy&TBQr_jC#3c^}qc*9NU^y zvd>>BHU_sFd0Vn6_KQKde30fqi@x_HWXjetxhh4Q1S^14(aRhN7Ym2?KhvOz;Jv1Zj0#1pt;774G*?e!(J+x4 zJQQV98^Y@{#3y~>$f<=av;s(m{5ipAZJUj z`IdwR=mF*G4H;f#(E&QQt6|`Hc)bl!bKmETCuZ&$NWc8S&>sYVn2B|G9=s~SXa;Ss z7>iU{Gw6ozlv7`ofp}AI+HYF8fAa#(=vyd&M*Iz2`?G{jltb}xYJAExGCBPX=%v3@ zHQh+g(Z?kFc1E2Be>HMWe~D+egu^SdMu2e&3`N)**B7fZWW?8QYGq0$vpJ}(k2AMA z2>X#Y!hdU#IsqT-0xyrQJp7J!QHDUfX%9=xgL5r1I(4)Lh&~xN@_t8Pt2`?vNv!!` zN@RlFqdDOl&{Fw_@g~<%9DO;4t#7pxLrR&gvip9;S~L4rUc?#NON~c^x;iaKsjgb% zA?c<@KQnXw`qa=@_}xtB83=~gCbor?PjlL%M!e*8L!RMk^?wevXVR|EL?z_0toVTJ zLkU-~)DEaxNZPH2ZGp)>DP@vOz}aWcC5;Jv5b#Fn%a#Wp5VIGE`|WQrZF#>%a#jFy zI2Fstf&FARtM9==o?>=w=jE$>tE$$O_LU>!oAB#H!*8aqOTpYWLk|IJ$>_bIN`)|s z)zSGP0hNGxfros~2Nb0;kL#&hc`enbBft+J%1Ep!H`)Yi5blmty~Es@uLf{d0BqWi zX4-ltf05XdB1s}wlJ9q$d99%Di2A$WPU&@7QT`~BTJO}R#f`QV5ou0FXO2uWkn6ie zDkWFjr*00D^xVGHQ7!347oMwGmO=8?X890h%#*ub=W8!Vn@(pgJXIAQACuU(+lp&r zwb(hj$}bEmCI9+3%Bm53`zJ2Tpuh_&V~g~N5Dw7{PiVWb9{sY`|4aXWLFvRA?YvDHt=C=U+6{%MFVv#Z{&3JQP{>;IzDG zoSAu4YWfJ_<}g2Y4uan2qzlPexD$y-cKLj?<*hoGJ&{*G_Q27++V{+B%R z-w9auhVfit*EV~4E#0%+u830!o`pVv3mxGvGB5K~<`&bS3n~NOCv;67rVw|Z!~VQV z%zp02UB5uX_v)4|xTC2_6i z`!sGbCbPcQuSXhR=br*A35ga@0DAcPzW*+J6FNu$wl2W%D0S?2>;19d_VO?cAAdGh z5U89$B7JDang_yizUckHhCD}Gd%Etwph7G->F*{@msrZS0vPDnQ6;7CbAv2X9Jgq3 zw4jw^ON>l+#i5(8w)TMXMX65*XdBxcT)bMst&g^#m(O7AXuYkNXWK}%I*-U-YqTX5wh}r zHz-tQbfELy%!kwV=$YWJMJa69Mm!n+51m{%(_!gW!TaqypkP7o0n-u4WQYo74=75x zc`_;Ms>YFoyLqjDj2m@2;3SaFY9p^WxgkC?5*p=i<*mT2gqPGsp3UJJnkkj#_7ARE zK9y`4nS^y$a@iF-FD8leegbjHtf=yp-@&T;mi=bl#TEFSi2Q21jkv7Xl;8;rk1%(5 zeM<9LK+Et6-@SW+Vk`H*j0Loosx(I3b1wY%KG$Q&FIX^A~4HVi>62N~7Z z7uW*b$1b?2QfaBf;TL8mD*1i=7kw=p&QbJaPkjrzQSk!)>^_n?1(CcZTG8WJwg#qz zP%X+Oja4}=vdNy83!$keyGB1ZP;ztZ(l8|2T(huS&C91}LH<66ltUoy}mc9~LJ;2vPP7%!@Lk4q88o~{+|9};zwhry6B zTcx=eSuefX%e>RQ2(%%u9rl0kr}Aa%2!`ONl#U(JXYjAJ!+hn)wPwJhByhWifRnscIti8f zScCPgtlV}4q7<#-3!5R(O=vY|^VYvgdWtjz4j?A~Sc}pOEg4*qj(!0%*H=TyhtIZd zWE&UBtJwcNJO4hg0nb>$TAPS+bje(_b+}adE%lt+93fzv+Wb6ZaY!Z6~eM71up-hcgmhKe6;SAGbq>Ey1g5(e{Xl~ryc zPa-LrNWLbo)2(@Z{%GxfdpgyfhD^adlJY{2{{pEp9&3swhlMdJ%wy$S<|Xb9#2HYTnUrq z5<$2bpumB0A7en+bBDWsA)n|3M&&3ReQ3&*2jY$@;rL;c~dev?rlK{IgmPuGH zNAgkv(X+eL4zYw-7}!vRa8K^!)Rr&?XvI{GQ}NJ#h*<~R@gmGx;2R6VP%mDdYx*df01iue zn44aQ8)qYGeYo4rA{w~9m+sPqyJ;EH6_lz$j-K^F*=vdrXc6=%8L-G=_xUcHD}d7O z@a9w{ov}cGRL9T57iXKhlt3>41qO;tY(Jq{L!W|>10noE&$yZE44KCYY_`KyXr`2D zJ`z0LultpJ9IZuXe9VSk_*fn(s9Axn9$c2EvMlRisEpMnxjE(L#(*)TuAwLjIhbCP ztNaW3lP9+bwTt(Go?i}7^$QR4Ghzs8L8eUvf+_3xc-r>qf{y~7gyzIgtz0@G21!@NX(U$p2a$P< z%=-0`4Gf~o*e+TY5VNMQPgUUB+0`93o6E+Yq$-RHIMlNQ`{eK^xZ@N-pI3GCt=@U@ zk#8Vuba5=_$H98(|HSmnv$WEQJHj$#w8)vciq!k95L{H3DCz=;g=fUJE|e3P^PU`! zxN;#FMXA#{*x&G7&iae;)rwR{QVM|3{@bge|6;%;2+Q`_XYj z6qV%ii%=p?`G?#g-R-_9#Sz=jeEJRIr){vW1>VQj{cm9YN6EwyUZ5`gPgQZc+QCP} zB$X8^iB}2bqhIn2AKYak;g8>y)?iTCu8T~f-yNm*KwtfsFrgPxO0peHG*e3Hy8CR=fpy?bYrO z_4e4&#bVv{RiCL}hwn4XaEO?c2M1=^<-*R>Eh~@xnsP7X`Kq%L1-{WayO0!xlBb^7 z_xX|N+0N&CLgnFE>22rHB6_C@h23bUsn_^ElkHS7?vI+T2OEx8A%dIN!8@^FZicUF zzkT~f&+4hW-rp$7BB>&NH45Ua$G`TGKQ1gc_!IOM*li)7 z0##HhKZ^>`>)(|VC#JH6?aMeDcU7)RjDVSC*c>7gKiYcFyS&k#B)#xFK|uQq(=nGY zsL(MM^I-gE!@wzdLj(94>Dy9k@CzfyCz<;#MQPYw1E+r_#*hVub8wE3>vvN&3Fw|N zNfr7n>;TM5=vzF@A|gR23RAeWk6r-n(1apA z%`_>^3X=vat7su%PU%~1{gt>Op|D+M$q<+7O@Jc&Zvcm3u~s1SQr6}W7=C4LD&06HaM;)}$OGWy>y6|6ns39ijPQlbWAZfLnq;@xin z!fzGI-`CFR(Qjk5b{@eZx^^cGjkS*qc z^E_YROS@VD{?}h6VY*bFGeItZuA$cNL~lksKc;c&0*_mPtQtNS=2K9M*Rs-T)WJS0 zviXz`YDKBDV_#G0rAsF5?v+Q~{~%cl3~D2Q5DY?}WYAaQ@N2)Ml9ePoO(H5RA0$-e zlTA!LOcJP|Xt@RCu#JGk#F==;8tLu3B%0Lu@@bo`kQqCDIH?vbAmtB}qA$$iIi#bB zw4JGoaQ;>MVMWVE=?uuJ1k`|JPYQvj9tlqC=A2ih7Xd$bCoAmB@0fVsI+4$gA{q=5 zhgC&TxJyNkI4@90A7Y6dm~jP&sn(KX2^1LU`Yz<1Gr={>IvB)!hRF#!py3KgAAqSa zaFaP4N})HGS_Aq-KN{65*5u`v#ZTpHTMWJ##zgk_s2A0U9l>SrVq|Pg?u$2+#Fk~ zq0JCAwcjxv=fr%02A-nZXecy%O5K(tn#U6Gi%xkjLH*F6q1qf(4SX`Su0=>Z&D(BT zx%E20Q}vQgtL>A*S_SaQSgu#o_T1`u=+`S{Otsj(=K8OH(D@=h8cq-Uo-Ex^7|rCh z#vfktIPudv9F@2R<}IE(>b&Rq%zLQDXFUQ|W}XhCYB4#SqwG6Gy$H`pa;3_0$~oaz zpSKjowv3&O%*ZPYLZwn=u2Po*cDy_;b-vyD5wE2 z4NCQV{dN~Y_7@OG*YL}WDR;tI^WCqp(AJAx-E-(u-Ic|YUP@2M`h{MI?E;}L=V_FK z;bJt#wNU3rKQUbyd?{7!fEB4^ktb;Ss{$KqOw-FzKc|{y*Uc&x=wF)#j6~mO4^F(| z686Ez85>vwYJbT#Dg)o-!(*b(R9KP1#c)`(sx!D!zhiB9{O5f145N;|5y_sGA3L6D z%c)zlFrm1hy%RAv9u9;iEl3V12a@;N?=f>?`lEaLzfAQjF=u?p03MHc${(b_^78F7 z373P5_UKInixF$3bCdO~D#H;<%tUq@hFEAo?5d>ahc3WOkWE7rk%jH4A72EHB2Tu& z4@y0dz}OanAzunehXtt7CHp>XlG+7)6}4h7u6zvw62MbHmVqb$Hs@E>>g;zKL@#=*h05jgdO{BSP*_6VgMexu~+Q)r8-4< zwx%}u-@rd%7a(g;d|b|X5c*M9h8WIRlsW*@#`?8qIT5XR0zIu3w+6GR@W5%32g1~8 zI&wecL2_Ne-Cg*}2a=Xv9M4?JRG_=EK_?{)Z}x${)A({rU5IQLW)F~LcdOX_-|C@o zVOb#(Fub@~2Cy8+uUL8fl(|4Ak6MhX0gn!P1~yNfwjV!|AYc}F zfdn|7V!>3_a-L3o%@#uckbd`BlBqHlt&pL##jwxG&ExuZNsh~8u+z&`r*Fmj@8@o1 z8oaKO_b_Vx06G1wVfA_U*3vhqQf|8igZkUR*Dt$OkbGBbu>W z83~8w1|GJN0of$i7!)$m@Wi8IFh{W*O}HAfe*?@q9AhvvaJnh@Uut)Ipy4a3oxsfX z#Nahq@ni{lE1%?xN}}Z;?1xV3j4uSSaF?&NI$q})f}M3+PDb9wW&pk_0_!!y9yCiX z55di#in~4Mm_dVAJRkVV%`}zwsTWqno{oSANGZU~kM{Vb;WnVfpq>ib@J=N2K!K1kUS^*qFmwte|UpK*Z?NjlLu^>J8_{FI*;PA!J`d@z z#vSxyL?id859%fvPFgp)S`Y=9i50l|tTbNj__@?4Z2Ii7fi&0i2txLM#F~%6pIO#b zSCD}-rfIsTwS|ZKn}FL*Ato6uix*(d8P6hYR|>TuB_2(J4O6fnDz^iqcVT78!X|7Z z%<$+$!R27w1!1>oK!73l2yMTJ0*n^41S4Dn=o`=~GJEL;4q5IAX88g%MtP%7;aA3V z;#2Sir(JmMY+X3K*5Db*BNRJr{2n;qAtXP%hmp;>KthKR{)u}gH3V;;q+LV+{!UGn z^U}B;n0XZc!rJeGK-ClPu#yh(-2<0=(M?j-7E*5Gqu)s~1l+h5Ge=xYD%DY|L8_Gr zdlnEp0UC~S=mU)ERMuC*cy6(P$Z(iL4Hfn&%reFtp*gIQ6Hu9^f6`A`76CV9G zt)W1L0BA;II+fg=)0QJ0D6FB-5I}16j&J{CsK()RdWph;Xf?`(A%gwt(XM1o;a?jD|2X(vveE+yh`IzkcDEK1#lTPSE&!Q302W zo7|q4X#%pGXDFM3!lxyHpPeH2sfV7yn8OVwDkVYUV3u-2@2a;GJ=@WT^nrJWNcxN zvWT!5ZMFlw=O)s${LP^1{cmEIi`6CB(0%WJJ~1h6T6$j6_ePChJ`L_@b3J` zRLsKheP=qZEmdmZ7)0bZ!Yap_i;gLYw0;g+bg1vBxosG>{!oKek@u+3E53upBU z9pfogIe$L4J0Jk8lSLCUVV1}ZQ;okQJq8TpHDq=FI%pR`vXGwP@J+N(4{@7)0xCJ%MQ9_on{@l-#?^=T-cNirKM^xJ0i_M?((_8f3A(4EaoxD8ToY7n)=)`q_k9S z2A-wcC$k+b=|g*w$_ZPQ@Y_CKV?p}tO8c|02+I7XL}3d3^lGzA;72s0eZa$~Mp zj_UP%Nf5di2V;0>C59SN`cQcr%g2A;>|!4XJ5ptBfa5CrHYMdBy)eK2eu*vu58;HX z8oXz4tzw-56$#c42q$zqUqa{Bu|%U{>0@{tM3(D$xkBbP{Ql^ihGY_8J}u3bsxZg3 z0_@W#Ex|THm!XnWN@3anVhkx!1{-3e5$_)=b)xD1UR1J#EfMv6M+}FM>$3}}*Bx{Q z@%9(g26-85(t+3J>XXc9l9b#SPA9z?uiaj^pVW+00xg1u)drX%P&ub+GFI?>__8xB zzw}OvF+=PhK1wP}DX%Lf$5!2$rMfPZAHs~~DMQHwU$@q2%xW>bDXo*O%tW)UDfC;{ z8?bRiKr4i{pdEX7Nol>VLw+8e>={T;7{W%eUMzRt<1RU zPg|rE#Mk>sQ<0gSnAwY@QXA&#S-?``+@aZuBI7UV4M;_6#fn!s3~Pe*Na$w*bxG+= zzrue1d1nd??-tGR$ha??VUSL&C5K-r8{7Js;yZME$(RPnIsxMLAa2TqQTE}HcwMadY3Qxv<4d&Bz!Y<&Q8Yt`s01W^SgD?MII3+Rt|JI8Bb-w)f zSO4z+{|ZO{gS0eWY~sv_KKjkf5hp>`D;Wg2D77{$In zo2&RkhU|a-)>Ta8{VwsEfgQqo$L8Cm5Sa0L^X1e+o=W7&{9G7am5S;5UM9r!VkjeX zwH?L5z}=@)ftr9?>w!K%BjqA?NP>~^JE_x>|4UbLd1B$H|F)=Ncemmi?+C7T8d1ez z%vd}UWA{e%zdi$}d>H*|PXd%(OWl&vUw`^Mf3%;EO^kpJsPw<|3$@k$M{)sZ9D$V& z<7Th8jN5$HwDH0QG~ybx`vStzdro1^jf{(rs%YJ*!^6r8aW+W%r~J73Iv3{!2s#;( z3D18r7A9k~P1Ymy8)qm4G1IaA&rO{yR+??5xlOZuuC79S3w#pN)W0**hnkWYKjz1^ zIz29Jh?>yG~qLQ>@t8OdcPE+wL^Mm!0c6$cz@_}l;q z$0#|V*Wui{1{}XTsVX2gkxsnq{{HqX45CZQE*kD6Nc;(korSfc`(lUfS!l|FipW-E zcv*t1rj$r7kTgcE0%FLJA;(TCqydVXF0wmPWRr)P4M3Wl531WLE~wmTS~%pSLnPxpy@BZiYT>$L|=u7D+w6G{2oevW^U*2nM_>gcjcU~$9>$x6^|mUw@|+m}of zRPmGjMpbr7=$W;X9tbj{G{s++3ZYA~7!JX|!VeqSiV<&@@(jMHADeI)tN8Xqn@~sI zdFYsq&~zx8jxyn9-O2Up#}KbwUMrHGT02uO`%b{Fp->00lT!hT0eQGmpcL)|2U3EJ zG8*AJpSJ4LB2ens`4cspi)A^;Tt1lA7-~;P=9yx_9&v5VJ+KGQlh!x-6^Thn{I;n; zBWd*uobzJh3;knv{?4Ij-yUHRom-4ArB(8X`@)u?+BczEfvf;`*!hU0U)QDvdG%H! z9OS;8lJKt?bcK2hO55n&f#8@BO>4Bby=lza(9S-FGkRd}oG~abo~;Y}eBorCsXT-~ z_&`7r07%M=)Q=guVqRXc6kR34++Escb>D{LREWy{0(rRrgIr@rA4A<^ zvu%gp>vPQ#*Kw`Wv}a@B_i*p(brqF1iRzl%$1kMBPyHJ4fNBgNmji~Vf?9T?K}a{0 z*Y$PkBEKpiF#z_uLZfK2vrV=#2?-q|pl}n4Em7M1$kGrNQnBY+Lm#>&v>|o81ISrq z4fx67X_7b$9w3p75Tt)d*nJQqOS4dfvUA+>gF2pH{bnXN3C4(zs;1hTn-XRD(epBB z-Bef|#seevcSs0n9zlUDIURL)xDDMyT2-jQr7t+<@sELLS^MWT70_OiR^kEyR9q>F zE21n3@jOh=(-omqzFXCv$})6rz5>v-j zmDUXIC?cshCeoO}*k9zl>ecmEXbWyC!W>=hTzJuS*tI}R+hw3T`wxG zsl4m6XNJZGvFm=X%;$t&#+7h4lL1UNyP_q{_q}5lYn^7j71}sN{%0q!3KNMAMqQtn zV+kL0t|tK)iGVbyt-Nzqgt6m;&fFj3iSB%#hLS01fk!8M!}OwAGr#a41n~TMzpP1Ni-xUG#fHml5!@&_prOR6 zYQtvL0r|LtaM&k#rDe(cc+ym2J z=Ww^Kfo7ne2H4+=EUymgD@9i%Jk5tAKKZNUS|X;N!#aTo;s=JN!~+TJ#-P6gcWRqn zwDn&bBw*t1VLz+C4d^ECO1o7*iv&ubc`(hmvvE}j!)FXYNwT=UrQ&G=D9HsHSt>l{ z5dY(FNiJ0-5$#^!bjo7EGZ~IKwUIgm8sfY*bkky?viB$Ghzq1(5pqv9q#j_r5b_N6 zFHz5QMKd#f&0-yJc4@MADolN0(I|;)rgD)PPW(f9y#Ord}{q*udN@FN;(Ko<@Ed2zPGPBtVgXhH1)2lEx5M?)?F8RSJLC zC#qqogs?B@_9wf4Qo@=FmzN}nibUDaIo@o+{fC*TzFrntw#IC=tWIHCov{iXP;Rf&Oo5mp&8+9ie+6A*g;|M$jOn!ut*YiE;o!&x%(4V** z9}Lz>5NrXIf6^c^1kFLX5um!Q!UZN8AriJp?GMH->DHV2h{&il3z|#?Otbvs6de4@ z-Og5E;R-wRFWm5sfmWNdmAWsp&k$gRpB#kNyEuiJ_u(M*4d71tPQcC%M&1a14^W11 zfd%o|vaEIC;k|~wA!z0#BnL1dwaM56-tYq~D9+e&N~F4-gR$;F*!eQ-hIBP-6gl2rBDjeNsQuz*ZkN z0$wC19YxO&w2FGe{G}8`$+XHl$Z%T~NE1)XK<=wpiaF;0ue-BwYNL(XKCVStEI`px z+={!jCAho0yIXNBMGA%DuEE{ii(7DacWKdY+h^W+-@oBwGD&umxp$V`J$rJW>s&v1 zHQ7wMTY1)I5}*?)$7;Uz`yED^{&gJ{K@#tN9%){+O}TQ9r!29%NUd^({h1-D;W)ew z(1S=6*l8h@6;zoDNe>~C4W&cozKI9AmRc*YBzXDMXL53uG1uz4h!m49N zlbmm!jZzIXVoS$-A_a;c-ErK@I1oize_cHc5(GtLjd}J&b1*y+N;S}Py^jN^+_Hk~ zKfjKY^A8g1Q!>_zs{C4}zqV1)p@vR?2a~op3zR_&>b2Cbzra967wE-7-=HWhFyhg) zo(Fwa@87exMo7y9oAPt<2A_8L^Riav2Mj=+^^yI~-oj-3UR~#$y<|@@pMVVhD#--b$TS>;6Y(C-R}u(_$bCcIhT*)ba6( zbvRPs*xso2{h0PmH}R$e1twluxz(WAF4{;@-I;)%A$O(6auTGIyPmNEJa6WoeQn`t zIbBS=ccJ-brbw?Ywt#zdkf_hAd`xu$0kJ*cS52Dk1Z~W$p$~-4*5sNOzbtpQTwRok zdp_cRv=ml4zy**G9I`?#b+KXEJkdEp9Ts8vCac^owHg@G$i)Y6OWyr4>1Gnyap4EHF!672vqO1T z{=V;E7eJBEzkB45`?VX<_^+&Fjj>?TWl`rBm@*_VRA(<_o&0x8doCpnW@=m*kbv1W z+;oVcm;^6csd@v{^AxyI{%t-mF=EMOQUf?HYY`-9XQAP6Yb3$LnRZrATKJ{Co2t_^eyRA<=+5_(dv=H9Z zSMgU7`F#e3SfPmVh{4cyjL;zLerhR1pKlRbCSb0SiOi$hd(3SmN@8-SfF_~S1@fU) z=~QJf4CQ<=faDa4kE?T;trW$Bslr35>;LT&3hARfekQ>_&}~QgY7ST zU^#4A^m;k8=qg{#+z-x;8DCix{5h8E(hEB<3`@fRFKEj-q*NF!^A>48sET6PNjIj)615Z#`75EuakzcA#>JQ$+CW<3{t0 z;2E((uGY5h%#sZeoH*hm9gYxu9dyuJLI}P^Xh3#dRD@Tz7rKe zXDoe5L56h<9rCAjQwRES%O<2;UiZ^CA`xeORz>akCjEqhPH%Yf#bIncG_h{LDMwdP zMk`tS{3f1j3Qo(ktM=YNbepa8_3xP-OhF~F^V;%#e+y)u7mZ^7G! zM5y6ayQ0fS(BtTG|32)q5c$`NO1wn)t^_jteS#5vaI&B`CTsNQL<(o^yNXaa;u-6p z7@b;+{6Am~iflaiRr`A*`{f!68be#I!eWZ<)*SJM05py$4gsVFb?XR7>2uOqCFx-Y zU!r9Em?`T_h^u_+uqWd~Qi-rPa{2rJqMT&m=BJ#^3-)5aH{odTRuMPBnW|O^u~XW>NS$B9`IY{lB#bgl%NUjl^0u}#ihlZ<9{b0;%a38S^WRZLHyIm|IdP?5%>qyp9gqPw1zRB;oY@ssfZq_ zHjj<#{Azk;^!h^KQ5==9Ib0vlw7$2_xmI!;o^X6T0fVt3^5c?xHgD*zW;}0%^D_LJ zLtc1#G%yRruh7zmUpH+$LVyhlv;kVf;FmPh{o2+??gUspn&?coY9Eg>jlfYq2rcSe z{R=x`%tyeOK_!`%a+a^O%7Vx%X9)0##wj0aKzcpCJ?J*I@op>6$?9TX2oz z7~M3h)6yXayP|gzWQ)pgB@Tdv)JTA^Ci!viyf8=+=vf)O zh&{m16_z24W4}2TnxD|WSdy0B8+MONC)y`J6{nU;pJN(`VdOVWU+}yhM3rPzbQddA z{NA98Hu3%W;q~XY=>VEuv#9UG?j?mJEIqRO#WYUEioDZ4=!E8sI2zVH{{9n-^RsXx z_K#eY$rAN)eleZHbU*85*RhUPp)o3V8{hMW0p_?jl90n!ZZt*w;!oLveV>c0_k77t z1g|-+0kri!VWeB7-?KDol~(;eQGteh83-eihT7&0hRQkq(|cm>G)orOvbP9vueVdd zLQGJ=N7M(h5HfBjByqt9{hK0bHGp|VraDUzeXexV~2{-h*Z zYZ^}IfYoP$pAabU`5WLdV=5}POKRz1A{dJxVDhnhe{i36?$6YFYbv9!oQ}f%jBQ5Wu5aI)cY@N@lcBCJoIh3>J|c<(vZK>7IgpR3x)R5KjUhm+ zfs)#vQSLRTSGNeTPd`_w)jmZy{36x&ts;78BmjjxR|xXZD+Rvg_3q{zDZz%g$S{>Y zdQqY?EN9|fSpE6Pu0whk&y$;wk`vq%5c;DVw`puwspvsj3@$jKDxI?ycZDiH*v_Y( z>co*PdWa$~;ikoM`c$1PO-Z6Ob=ZY4(GxA#QJ8tp`)53*#9b`Zaxwm{YyW%Z*TECH z4{{7`g~PPe4P{`_dnb^A+#z|!`d6uF_JKFHG$lV<70|Ma0XNWleyQRW$(3!gmrS-D ztm(k%LdnGD2nL`Z(Mw5kHUGo3AKh*cW8(!C#uAfs;c{_xY*+3OBZyn4r|qD#t!(RP z7;y`X{fjpNTWFYEDu3$Ws{0V*L+NNrox+W#HUYDiCi5ZO?JHtAli#hvj53S~5nt6V zn-wns@yF3tJDm`>khf@yHTB8@6X4Mk%P6HZ&3ndjS%I4xCm=q2Eg3fmp05@oXvAKx z%(6U2s^3P9f4QHZ{9!nc$U;u@`;(kBEVOc|R8l-vJL$uWkPB8C4;3!&3Fc-$S(12 z3@N;y+q?Ld6I5(@Eq#8b5@8BmpE>E#$Oq4}afV=Xm7sfFMUANqNNICT#`=b-UO@8^ zH&QMu&X96}4IL#Uf&_MLrwN}iABzMqfx!Mo^p?+~^zEsW`L`@Q*j$CIMccLdZ%x4t z?rnh05-{y%nwc26n)$K1cP*<}9B5t><7D|eS9DYd`mFZJ)@yg92`C6EgL_p`sO6Q; zP`3)89u=t1Q0_IK2cH1AQzMLZnNN2o>^ddDPXn)qs$N2UG6k_Kv-D(jC8v84r1(jZ zlwa=*VnLDJfkY`y-)G6g?ep{#J=2IiIBYc`0EBOOF0!cVnB72Q`48>x12ag_Yz3MmSvyKiFTo^mh#BHSFI~q8I%fW#$WfhC? zr-YpJ#Gx?F31tt(5wx17c7KboKY-^F2IL6Qj(bBfKH}WAZn}df$uniSFlGHZXe395 zUeLDon-V*ROM^FBWBH858(CNxppn(_xcnQlIkG=RKVe^6fF)RIcxw;+lE_f~JEj=&7p zjv2(w!Te%Ei+-Vl4#NcEHe!|HCY7!dv2W>f=|&9Yxd)|e`i$E^0o6iL;wQG~dNs!c zPGc7q^N9iRSE*SsK{aAnBVpaH-}9yCVAcQ;JL;FR0YW{O^7swPUsrX&eIC^+PyQ^s z-w~dBm6=@H*cyOrI&v)>!F_y<$@1+QJW^#`uui%T-?*1;pyG02oQE&wuh?}q%5Bv{ zo8=!~^fm??>pM=UajZttYefSVcjMH8XXoVS^{!lhT_kW{_IbYli7Fn$TtG1BLr!na z5P7Ztp39axgVmf(0scpiX=)O)u_P?i064%g0U7i2M5WV7 z&8tj`9Cd`q9Ev{S?_z_!T#{R>Ihr)X*JuQY6pAK!G@*>!$DRJS{aqL3BSkE#KyAEM z)t&QXrYc4k=eQK#NEkrV!7x}-eBu?k)VUZD|)03|LHz!*ZL~_^fDvl&jZQb_97}#+kGP&jc%m(=lMmAq^JM zD%Rh7Cgg%?jX`QS^cRSF1bLgx9AFCyk}HX_Mm%v27|>QoiV5cLv-$YVFPhh|o#a=? z)p+l(2N)Y1*?0VrL)8*b=wXVSXorc!%&c@hLKYZGGda(y`e4LvXfahJNU5XUGDk&) z1um0T=-DG)TjQ`riNa)Ux&$cj=%68@Hv`&37V}vrfHhT+%e;;S7TmMJ9;u++(yZNJX(wjZExY#b^KI~jGvz8%&IXX^8KPmD(4OECj0P;rBwzooGmXjDp!b_?5 zKY;3RY3(#CG5r>IV_K?_F#3pW{eYQsLj(fd$ksmP5-gBy9Y?7bac_nG%NtnZ517d0 z1>LY<2Xgt|Hzkp0MTof36G!-6Hd2_8Zucy#%|zLoLD-b>aJhE9fxp3>%*c_LB?zE| zpFc9z{QN%Q1{WK%(id--(%GcTC6u*I&9*tfn4nSvl1QhW(B~&GoCcuZ$Pz{{@X_QE zXADRJ%KX6xiZK&O-O|+YXc6VXNE7NJAl4yr{G(5(w@g_(pRL_tWhBTAu76+rAYY-O zi3n0m>deWW)44qrgy9IrGyE)9pvriTfPV-ZxXh9Uk1$BVP-&?2I%smu@1YG)K$fUk zVtOBA!h|bCs}-cekTKW)dedF06%nQu0s~fz;Xp26fCHc48*noe!-|G#2DqorpgaOy ztmvsDnGG|_jI>+gPbP0ct%K(D)iPvv@u0}d!%CxQotbElJ21v#ip!q>iKK50sNYu7iBdA`6KLl7fxQ0e#9n zaxc$&B+&n2OXP32Z9}^E0NBfE3N|=*)(A|}2IPrH<0Iz!ALFSU!GC~8Gp>IJ&_ zD|EN%iD}0TKET%Q?%FXoIa)rd(>lfY?u7Pux*7{jz zPwKoz8RP(leNSvFjMFQ2#QfU|YjB~4S)JZNg4L0AeIslvt&;Q)-IiBHK!YskRh9-{ zUJ?cIeSk}wGFGRiS3NgOtbYT_tJ#g7f%T6MJ!U_d_h+gqK9TsvNp5E44A}hf4$eYs(|DlmZb)x%Dd$FM5ZslcZf$>Z)=JMdTEmI)r)-1dJD# z!7yPymUlt>uOE7XwdEP_s~-=c#9gC+FB6M)egCJf#%L0+60HPxVib=~K>jh?1!2u? zhHrcou4v566qxZU3t_P`_CxAN7;{Qm1pS@#`;4V*9~S9VgUpE%>`q!=WQo*8IU0I+ zH2(^glRzM_1TAJC8I7KxhW3NLhgk^mWYnwVfX=3r49zJdddGm$3{L%p2H+^?|LV&D z;-kUaVzWQJym;|JrJDh1!IGkTI5ctr1O}N#-vSk{^Pn4Kr_Ugwl@k>sk?}gTm?b2k zbu-#EH}voEY#a?VQ}1fkX%QS|;!WFhF*7G|B9x8+r$(P2XLJRyKp4;`{C&>Lx&X)@ z%amLCN~aJzDc@+-z{xmdODcxWI}|lz(R=}Vfjf&JD!(!MVMDavnW?N*9e;b~{x+@2 zf#Wn24|7(+T&Cp`a_Kp|{i{aLtBOb}PSEzW)jq0f8Zb#byb-dRUq`>wb^su!KO3wB zzP&t*UWppsD=;GEW;p%1gubeR;0kJLiyIg!WA#_no^&|oI=~Pc3QpQfpWsNF-Rso8 zu(kX$31vg?$B<#aTL+Te(`Z4P3^MM<+8YEPv}r8PMe1IP@pM6bKI2v53aFBJWcwe_ zea#5K5hSGVyGQcs?=0buonAk_VsJZG2yKd!VR_4s-Z9Fa13){(?!f{*udt2opR=sf z>~$7XjX_lm$1k3G|4k#EGr*J8Qh;=toJP4nCXVM+8_rC;<+`O1(81A*c0^a9;Jcsp zW?k5zD^V+N(9pym#EF6%=_Uh>hG4*IQ_yn5!oLJlVQ2KcxlnBlHVziVhOK~qZU!^r z!qZYq!P0i(;O5IvDR}TA^`K>srMC1A3!1jE$dgxAsxsrdyv9C$jZRRGeeORAn7IsV z_b96%gyXVg7l9nG9sArwRBM8XRtLLc&}OZ$_*ra>oF!KbcI zfQ#?Fnd)7YLXoM0E3?K$cL{YmqJ+_!|2VFEkbJtMP&! z(;^o6I1^!}dm3NsL1T!;+-FB`a33@|ze^fuhP@FPCwwXP0nW&GsGMfwdcidu<-d1h zw)$OdPqN!Lf=4i)mP!xwna`uVW81-Re%M0yJjC=3*!V0leU^LurNc6Eu))tS3oXb4 zym3s?n=gwgRkncn@qdqpAL=YPav4o`rAUH;P=Mfe=U#G1`c59BFl|7c;rbqrMY{*N zBd+lzxlhjbpwfDDG2>d<4*N3*Bk<+J<4bJ4JFPpN)|V=9DhgcH_~#~J==k;|O-$ya zzFuzkZ3pKpf+)5%IEegBsB74vgA}H|Fk3h(>`BC9p;6Gw2_T-(Z$Z>9Ie&3=75z6T zIZ7ZoicyNt-xuIP8Hpr{4Ge+sL6+?A3-EXi4(iPKI)l2i_BEOp5;Wcs{r8*UWtp$R zFUTm3@@ym-u1wI^6MikpnDG$P1N|72l5g94OasE|WBXmnA1lE=lE^QA3>QMPzwIr~ z#9USMyEm1~dnHmQkG?Sc-A3@F2K&9Rh{)IY3kNpdgFhn@@fiiAlMwY=ebnJ^1q(z9 zeow4MREOPEyfa2Vi?zI&cf{iLh88*Hx_(NC&z#|90^bLOP6uT@8olp?u%5a8?MuNy zkpG$8L}%HN3Y($%e0OWQ!_$!}>5 z+CMZ4vLNelZGrdoa%^utlDLWfl!NOO^uG1p0a(B9#ARIM4v8iwcn{(SFHof8JVRnq zbH|H7*43k96?%1gYfiq8fSH$4*>_Y$a<)xcw*q62eAN3iwIh4|s*PO3w+ibnRYAzn zDbLK2M0l?;eK6r4fS~=uD#TJ!--WVBJciV<|2x|AZ=dJcvgSsnYWt~_2R+|h83I793FVnNQTv>$K_zAiw$EOcc>Wup0Uj)2w17m3A(Q<`8 z@{djU{F%Zlwpjf1A(mVlVVmZf`GO<;i9o#Fa*K=2G0vs?hzLpqiHr#P#gt)_`F2|6 zrg|$Fb=v2lEVZHSxr=oS@DOCWRFWu(xgU(!vDPV-&T>?;b>;4r5^}8W0%I&Snk1|G zy1s&^z-nRGf$B7yB=8%b(@|axKHw`RaHWS{xc)u;KAUo&REzdyu!~n2_Vl}+&30I9 zMAWYP9vhOrJTJ8h3}ccPLv$dd$ZgG8F7M%_>_gCg67xD4wQ#L4#FxnG>gFr?41XfA zdDhaLgg+N*u!C~eh$t5;cgtLDJ)a5~<>01r%R>NHlC?Hx`81%NU=DDniI>oSJW!^z z96gjpX%u{Zo1l&;jir%D#A)#^lDeriIOV53TD07Jv6y-GPuwNg%vbLWyW5=d@983$ z_3N7*d${1<~Z5IB|2F@D}(o@6mPr zzx!z@)aEfcq^6V-%Ux2AZz0}F_j}EkPQYWL$V4`tGeprIHTRY#ISzkj=J9QZ@6#^O zl1gi3x70kmFe6nHqNu!4wuUElw$i3wVusTv7V_(I#|rTM8~t(zfaviU`v!otXQjja zW!$h9Jj-eYYV*Rp^`BJ4W5)qA_+f*^OcCOFkA{h-`WUmTH+De!il+kk0 za)8w3=4T85)e<_1jdOQDoqzacq-n@erctDlefsPZCh&97yA?h6^i#pOf6F2D1HRuK zr5-YHd3TZ3vk?KfTVD4nNs^hh_e>O1y=_DJ9oo!vkpRx+BdRiCwb@O-Is)>v0(tK^(%h5?<(J z#??}x|Eg9pb^hxI4KNv4{rhH*4E=gvsIw)<1h}9|kwJVWHpxm*VZzWfdc<<=hJ`NS z7nKQ0MW_OQc?y>u3$;{{*_G{fCb#=nF?8l3BYyz>lYgrk(Ku8>Uw}WucT#KV{0*;+ z5i*|MG7t7uZ1=2*F7IPV<+7DdSO-dDC3uBTJ-Tl8DRAtkv65WRNRKA@R zm$~284bdgjr(=iO0E0vC$NehI0#cM{z^rzx){pHY10l6+nqkFMA9|t~v_YTG zYwB3jo*+SLin25Sb)f(IY0|V*^8w_+n6M-mutC&1j_b2uY$@5Nopp)Y8hIML(IIgs zFllMoB?4<7Y0oaG&e-OR@WnBH^b-j$7%+<5iHJ>2-eNA8 zLiVR$sW{I;)ya!+7|uV;%Rqr*T10k=y^4+wpUDI$id<<=kaNdizZwq})iR|D;>@he zsL^E9a~aNQ{`TD*=k(=7S7~^qYE9tB0{I(gB;|B0^;m^|p<(tB&;?dD`8mZb?{x~1 zUj=V+)rVhR4v?`)je^ETlPI6LtjWhmN|H&B!lJ=CqOH6Ruj&t`6$@|Q{X-leW0_fU zwQXkgJ4J(p@~f-8&Q^J#{G8c(Jv*)n3yR7I-1dtQ4G6nyAhoR(ZEJsvcQdkOv)7(! z?(5ejD`rR*y{(A@Hc>U|wNb0~neH9#@@di5LWN_K9CEVxbHVPT4jo=Q&D87i$;V}| zsY3eUWA%(HEKg4Nak(C}bgjGT7rol?d-SbTLuY)2NjC3i;^~=xP*hw@ z&AIa(sdw!xpW>_w{UeS1B|Tj`Kp^R4&&Q-P#2pWT%P&sYF~vKz3uti@Ygn>D%RTI{ z7PN4h3Yab&OIV>L<1{+FwS8d2+-u~CVi;smdhz+SDKTKqentZBQHR7?g(%kTa+j{1 zZgHBApK4eqL)gmkz=d)bc6N3jFadcI8HYhUoT=BMq3K$GKX^LU>#oIp05E)i@nueLNXy7LiCWx2-&7v1wRZj4)+<4dK}E?&7ogUpk~X^C zfWhGMQM2jAiM+h)hzR=p=Ih#5C-0TYstO9^UT|HG_kR@?xdL}1W%jnx(vO)#BZI0w zE_=~W^rgi$_I!Mvm&bkRh=uZ*(@HZxXvQqeLC zcN;ochZ1NQF!V0^&yKf)cb%fQ?J!^EpJ`ws*Hto=VsJb<_ftZ0?}M+s5*mcja$*qKNG z<}d%p==?{<^I!Qp_J6$2|BLw%|A+Yj0?5CAFz}84w#FrB@Ps^KRnbUESq+JbDP2A4wzwH@BE+zpGbhow9?hQU`!+$Ad@mU|mi3yc4kxm0fXHZw>v6lh zJhI$G&9~Utn6%U&OM~Y8gW6-;gsg5T_-dCKRS&y>d-o3mBjdrnex|T2_A*c*8SD-R z%)@|DuM$HYjm=M&i0y%cHA;KVsM~I{xiu;;Oh`uN{pRUX+Ib@|A~U^bf9BU}Q`0~x zsn7Z2gc$leEiElfvY~d5DiLI8pPY{zGA<;Ya8}1-r{=S~=U7u^;MQw%T0zSdZ1y35Z?1rX<=^n?xT0z!6Ngsv^bj@Q>?*ILBL!RtH-D>D znOsnFz@fgb&b2=~Z#&|2V%WK!d1}gOpz3256Zf8m!g}|4WkL{gRP<_QR?xjG5D@m) z4^>l#hUgfsqr_b znuIIWo^wD`%2*n&uyONR&iC-pQ0*Y3Xf)mWk2JJIzSmt?n#rC+R?3CHuMc((Px0ql z5|5H5r*9T=y5j&PFF^2<{d(JCk3>a7!g`k-TsZF4h>YQyzJJIjdQjikSnEB(IxiS*I@ndBr@U69EDv<0Q9}0*j9^TYAD;Nyssv5%nMN!t) z&NJjn-I)())Z$V=(wH z2gLi%MNw1{*&VnUxD=g;JDah%k+R8gNlm>B!}hxAQ6U=^?K- zO3L+F7?_nnPizzvvNT0p3nv{Nv`lTqDMdNOQk5qsTu_UIcdnuNj#F^K=9(xB%wx?%;sX%kOv}l05ySYOC8|S2Dd`HPn93k|I@EKDKpabp-zuREDLd zrb1WP|CvTj6?%Qd|E23uLHD!Y0W@DG>zl#v1 zZn(jw%6!7_QG9FLYe&#a0Qz!OYdv z*0$1IJ(SiDdQxG9V$eP!{zle*$yX?O`Vr%&^jgKx<#9gQ`>xlmyuSE5gu2~vg5-Ix z!_P^w1pO_p`3)2LF3U8%M%&zL*Nw0yIYy?ooXykFo24?w@=XgFnW=;6z2`qGQkb|g!K_3$#zKF3+f`i74X&Oa zsHu8&nvAwHtijHuoVi>HNO)lArCP-oLx&{HU442LQx!v?G%yYHyVDP{R8yvCUD1bo zd5;qEdo|-B1O3V6M0tUw2cOaTl$9_ugnabA!FGRCZ(rIe$zHvme(Qn6usl>`?jCl_;c%wOz1h#_dQj53tgsw{1qPQYeuvtd zUcf>(q*e7YeKNp&Tnng-+E*MuKmMv@O?EoN}2U2DFUvR;E|QJI|(pj>nvs;<)B4wF2NaUT3HDe!k6nOGcc2-wOW6 zVX4>Kgt#iBqispOVizmPqRg`|WrRf)9T1H_qjOJ`-ReuJfWN$6J(X0)Zn^Gcn^&{N zQ_pr~O#mK0cYtEW@`o`L{IQuYhYE$K8c8aCExcIaeh<~QI9*v<$ zH6~x1TqK{oTqj0-IJmgV^&3Wu-4BJMi-qWG4@RLSbE*HzFB5#YhurbyJpEp* zld}RTeExI>LE?2XcJ$A$@_73f5`RJ`rs3Wei-APZrSlmZqa2lR9mfZ zHHT-(p+=P3{xk=@SlREc=dmtgX3>Am&ivseK!&gA*xCoEGp5a)`XxW?|BI;0mey;{ z?DtD#>CY_>bH>yj8A3o-2?Nt|5KyS3Yy0L6=>?RO*xR=6@G;-;M!Vr4#(srCXf>~} zM9C@xzyJcdmZapadIy_s^SM{v+?k*K(9lQ?kgEVF!ew4|r#!+Bn;R^8Jz=Q_({&AN z{|+%Q{Q9IE@cds|^gsM#V1-8`GZB+9@W!7&&Kader`cr^Sb$;C@qNx`mj1NM$;m|o zEUzP4+1R|&PjQ8YcBx9uIZg(Awm-)3h5qYv&x0RyM;7>L_y5)3Bi89~ WT+++aP5$5Ak`$BsT>jA@@c#kW2_v)s literal 0 HcmV?d00001 diff --git a/themes/archie-hellug/layouts/404.html b/themes/archie-hellug/layouts/404.html new file mode 100644 index 0000000..e69de29 diff --git a/themes/archie-hellug/layouts/_default/baseof.html b/themes/archie-hellug/layouts/_default/baseof.html new file mode 100644 index 0000000..b941097 --- /dev/null +++ b/themes/archie-hellug/layouts/_default/baseof.html @@ -0,0 +1,11 @@ + + + {{- partial "header.html" . -}} + +

    + + diff --git a/themes/archie-hellug/layouts/_default/list.html b/themes/archie-hellug/layouts/_default/list.html new file mode 100644 index 0000000..41a4c6f --- /dev/null +++ b/themes/archie-hellug/layouts/_default/list.html @@ -0,0 +1,17 @@ +{{ define "main" }} +{{ if isset .Data "Term" }} +

    Entries tagged - "{{ .Data.Term }}"

    +{{ else }} +

    All articles

    +{{ end }} + +
    +{{ end }} diff --git a/themes/archie-hellug/layouts/_default/single.html b/themes/archie-hellug/layouts/_default/single.html new file mode 100644 index 0000000..aabc708 --- /dev/null +++ b/themes/archie-hellug/layouts/_default/single.html @@ -0,0 +1,32 @@ +{{ define "main" }} +
    +
    +
    +

    {{ .Title }}

    +
    Ημερομηνία δημοσίευσης {{ dateFormat "Jan 2006" .Date }}{{ if .Draft }} DRAFT {{ end }}
    +
    + {{ if isset .Params "author" }} +
    + {{ .Params.author }} +
    {{ end }} + +
    + {{ .Content }} +
    + + +
    +
    +{{ end }} diff --git a/themes/archie-hellug/layouts/_default/term.html b/themes/archie-hellug/layouts/_default/term.html new file mode 100644 index 0000000..41a4c6f --- /dev/null +++ b/themes/archie-hellug/layouts/_default/term.html @@ -0,0 +1,17 @@ +{{ define "main" }} +{{ if isset .Data "Term" }} +

    Entries tagged - "{{ .Data.Term }}"

    +{{ else }} +

    All articles

    +{{ end }} + +
      + {{- range .Data.Pages -}} + {{- if (not (in (.Site.Params.excludedTypes | default (slice "page")) .Type)) -}} +
    • + {{.Title}} {{ dateFormat "Jan 2, 2006" .Date }}{{ if .Draft }} DRAFT {{ end }} +
    • + {{- end -}} + {{- end -}} +
    +{{ end }} diff --git a/themes/archie-hellug/layouts/_default/terms.html b/themes/archie-hellug/layouts/_default/terms.html new file mode 100644 index 0000000..fea9c2f --- /dev/null +++ b/themes/archie-hellug/layouts/_default/terms.html @@ -0,0 +1,20 @@ +{{ define "main" }} +

    All tags

    + +{{ $biggest := 1 }} +{{ $smallest := 1 }} +{{ $max := 3 }} +{{ $min := 1 }} +{{ $size := $min }} + +{{ $data := .Data }} +
    +
      + {{ range $key, $value := .Data.Terms.ByCount }} + {{ $size := (add (mul (div $value.Count $biggest) (sub $max $min)) $min) }} + {{ $size := (cond (eq $biggest $smallest) $min $size) }} +
    • {{ $value.Name }}
    • + {{ end }} +
    +
    +{{ end }} diff --git a/themes/archie-hellug/layouts/index.html b/themes/archie-hellug/layouts/index.html new file mode 100644 index 0000000..7602b87 --- /dev/null +++ b/themes/archie-hellug/layouts/index.html @@ -0,0 +1,38 @@ + + + {{ partial "header.html" . }} + +
    + {{ partial "head.html" . }} + +
    +
    + {{- if isset .Site.Params "subtitle" -}} +

    {{ .Site.Params.Subtitle | markdownify }}

    + {{- end -}} +
    +

    Το Magaz είναι το πρώτο ελληνικό on-line περιοδικό για το Linux και το Open Source. Απευθύνεται σε όλους τους θιασώτες του Linux, καλύπτοντας ποικίλα θέματα, για χρήστες χαμηλού, μέσου και υψηλού επιπέδου. Είναι πόνημα εθελοντών, της Ελληνικής κοινότητας του Linux και διατίθεται δωρεάν, μέσω του Web.

    + {{ range $key, $value := .Site.Taxonomies.issue.Alphabetical.Reverse }} +

    {{ $value.Page.Title }}

    + {{ range .Pages }} +
    +

    {{.Title}}

    + +
    + {{ if isset .Params "description" }} + {{ .Description }} + {{ else }} + {{ .Summary }}… + {{ end }} +
    + Read more ⟶ +
    + {{ end }} + {{ end }} +
    + {{ partial "footer.html" . }} +
    + + + + diff --git a/themes/archie-hellug/layouts/partials/footer.html b/themes/archie-hellug/layouts/partials/footer.html new file mode 100644 index 0000000..405d947 --- /dev/null +++ b/themes/archie-hellug/layouts/partials/footer.html @@ -0,0 +1,19 @@ +
    +
    + {{- range $index, $key := .Site.Params.Social -}} + + {{- end -}} +
    + +
    +{{ if not .Site.IsServer }} +{{ template "_internal/google_analytics_async.html" . }} +{{ end }} + +{{- if (isset .Site.Params "social") -}} + +{{- end -}} diff --git a/themes/archie-hellug/layouts/partials/head.html b/themes/archie-hellug/layouts/partials/head.html new file mode 100644 index 0000000..e8a637a --- /dev/null +++ b/themes/archie-hellug/layouts/partials/head.html @@ -0,0 +1,14 @@ +
    + + +
    diff --git a/themes/archie-hellug/layouts/partials/header.html b/themes/archie-hellug/layouts/partials/header.html new file mode 100644 index 0000000..f3c9e82 --- /dev/null +++ b/themes/archie-hellug/layouts/partials/header.html @@ -0,0 +1,63 @@ + + + + {{- $title := ( .Title ) -}} + {{- $siteTitle := ( .Site.Title ) -}} + {{- if .IsHome -}} + {{ $siteTitle }} | Home + {{- else -}} + {{ $title }} - {{ $siteTitle }} + {{- end -}} + + {{- if isset .Site.Params "favicon" -}} + + {{- end -}} + + + + + {{ with .OutputFormats.Get "rss" -}} + {{ printf `` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }} + {{ end -}} + + {{- template "_internal/opengraph.html" . -}} + {{- template "_internal/twitter_cards.html" . -}} + {{ if and (isset .Site.Params "social") (.Site.Params.useCDN | default false) -}} + + {{- else if or (isset .Site.Params "social") (eq .Site.Params.mode "toggle") -}} + + {{ end }} + {{ if .Site.Params.useCDN | default false -}} + + + + {{- else -}} + {{ $fontstyle := resources.Get "css/fonts.css" | fingerprint }} + + {{ end }} + + {{ $style := resources.Get "css/main.css" | fingerprint }} + + + {{- if or (eq .Site.Params.mode "auto") (eq .Site.Params.mode "dark") (eq .Site.Params.mode "toggle") -}} + {{ $darkstyle := resources.Get "css/dark.css" | fingerprint }} + + {{ end }} + + + {{- if isset .Site.Params "customcss" }} + {{ range .Site.Params.customCSS }} + {{ $customstyle := resources.Get . | fingerprint }} + + {{ end }} + {{- end -}} + {{- range .Site.Params.customJS }} + {{- if or (hasPrefix . "http://") (hasPrefix . "https://") }} + + {{- else if (hasPrefix . " + {{- end }} + {{- end }} + diff --git a/themes/archie-hellug/layouts/partials/paginator.html b/themes/archie-hellug/layouts/partials/paginator.html new file mode 100644 index 0000000..5ea9e6f --- /dev/null +++ b/themes/archie-hellug/layouts/partials/paginator.html @@ -0,0 +1,15 @@ +{{ $pag := $.Paginator }} +{{ if gt $pag.TotalPages 1 }} + +{{ end }} diff --git a/themes/archie-hellug/layouts/shortcodes/callout.html b/themes/archie-hellug/layouts/shortcodes/callout.html new file mode 100644 index 0000000..5557aad --- /dev/null +++ b/themes/archie-hellug/layouts/shortcodes/callout.html @@ -0,0 +1,6 @@ + +
    +
    + 💡 {{ .Get "text" }} +
    +
    \ No newline at end of file diff --git a/themes/archie-hellug/static/fonts/fira-sans-v10-latin-regular.eot b/themes/archie-hellug/static/fonts/fira-sans-v10-latin-regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..7abf4c2f680499a76935acc91681c8bfb0550805 GIT binary patch literal 25059 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/archie-hellug/static/fonts/fira-sans-v10-latin-regular.ttf b/themes/archie-hellug/static/fonts/fira-sans-v10-latin-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..572e442e3837d91662372d03d3dd55819edb6d00 GIT binary patch literal 54984 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

    RZ*{H~sVOolRHl;y;Lo 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 L4TU>HljMH@LtIwx literal 0 HcmV?d00001 diff --git a/themes/archie-hellug/static/fonts/fira-sans-v10-latin-regular.woff b/themes/archie-hellug/static/fonts/fira-sans-v10-latin-regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..d99ba57a35e2939c53310de3518fcb4fab1fb956 GIT binary patch literal 25888 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 literal 0 HcmV?d00001 diff --git a/themes/archie-hellug/static/fonts/fira-sans-v10-latin-regular.woff2 b/themes/archie-hellug/static/fonts/fira-sans-v10-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..9bb576032e1ce51c88f5bfd92670c425f4b11489 GIT binary patch literal 21244 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 TX4m*_A3w(B$xKg)1*2jBzR>Q; literal 0 HcmV?d00001 diff --git a/themes/archie-hellug/static/fonts/ibm-plex-mono-v6-latin-500italic.svg b/themes/archie-hellug/static/fonts/ibm-plex-mono-v6-latin-500italic.svg new file mode 100644 index 0000000..6423805 --- /dev/null +++ b/themes/archie-hellug/static/fonts/ibm-plex-mono-v6-latin-500italic.svg @@ -0,0 +1,365 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/archie-hellug/static/fonts/ibm-plex-mono-v6-latin-500italic.ttf b/themes/archie-hellug/static/fonts/ibm-plex-mono-v6-latin-500italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e4d1ddf0d20dce9656ee115a40c1988e44862c4d GIT binary patch literal 40032 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�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 literal 0 HcmV?d00001 diff --git a/themes/archie-hellug/static/fonts/ibm-plex-mono-v6-latin-500italic.woff b/themes/archie-hellug/static/fonts/ibm-plex-mono-v6-latin-500italic.woff new file mode 100644 index 0000000000000000000000000000000000000000..4504b4135cf2596a93849e9a2b62d402ca984d9d GIT binary patch literal 19900 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 E0GyIn2ZU={X41-u3 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 Zu*D#1Vm$I63(p*5oVzHX|99}`{{US2? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/archie-hellug/static/fonts/roboto-mono-v12-latin-regular.ttf b/themes/archie-hellug/static/fonts/roboto-mono-v12-latin-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d5dee83ec67c40a30de82a1af6e01d1d7c4d5616 GIT binary patch literal 22224 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 KM^Y~+{Qm&}HGy~l literal 0 HcmV?d00001 diff --git a/themes/archie-hellug/static/fonts/roboto-mono-v12-latin-regular.woff b/themes/archie-hellug/static/fonts/roboto-mono-v12-latin-regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..f319fbfa46a9c546ad2b4f68e2b6f9267cdfc5d8 GIT binary patch literal 15160 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 literal 0 HcmV?d00001 diff --git a/themes/archie-hellug/static/fonts/roboto-mono-v12-latin-regular.woff2 b/themes/archie-hellug/static/fonts/roboto-mono-v12-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ed384d22fd9f566df41a3a37de9f614adc7f630b GIT binary patch literal 12312 zcmV+zFz3&APew8T0RR9105BK;4gdfE09Tv<0581&0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/themes/archie-hellug/static/js/feather.min.js b/themes/archie-hellug/static/js/feather.min.js new file mode 100644 index 0000000..d229492 --- /dev/null +++ b/themes/archie-hellug/static/js/feather.min.js @@ -0,0 +1,13 @@ +!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.feather=n():e.feather=n()}("undefined"!=typeof self?self:this,function(){return function(e){var n={};function i(l){if(n[l])return n[l].exports;var t=n[l]={i:l,l:!1,exports:{}};return e[l].call(t.exports,t,t.exports,i),t.l=!0,t.exports}return i.m=e,i.c=n,i.d=function(e,n,l){i.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:l})},i.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},i.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(n,"a",n),n},i.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},i.p="",i(i.s=61)}([function(e,n,i){var l=i(20)("wks"),t=i(11),r=i(1).Symbol,o="function"==typeof r;(e.exports=function(e){return l[e]||(l[e]=o&&r[e]||(o?r:t)("Symbol."+e))}).store=l},function(e,n){var i=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},function(e,n){var i=e.exports={version:"2.5.6"};"number"==typeof __e&&(__e=i)},function(e,n){var i={}.hasOwnProperty;e.exports=function(e,n){return i.call(e,n)}},function(e,n,i){e.exports=!i(27)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,n,i){var l=i(13);e.exports=function(e){if(!l(e))throw TypeError(e+" is not an object!");return e}},function(e,n,i){var l=i(5),t=i(56),r=i(55),o=Object.defineProperty;n.f=i(4)?Object.defineProperty:function(e,n,i){if(l(e),n=r(n,!0),l(i),t)try{return o(e,n,i)}catch(e){}if("get"in i||"set"in i)throw TypeError("Accessors not supported!");return"value"in i&&(e[n]=i.value),e}},function(e,n,i){var l=i(6),t=i(12);e.exports=i(4)?function(e,n,i){return l.f(e,n,t(1,i))}:function(e,n,i){return e[n]=i,e}},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var l=o(i(35)),t=o(i(33)),r=o(i(32));function o(e){return e&&e.__esModule?e:{default:e}}n.default=Object.keys(t.default).map(function(e){return new l.default(e,t.default[e],r.default[e])}).reduce(function(e,n){return e[n.name]=n,e},{})},function(e,n,i){var l=i(20)("keys"),t=i(11);e.exports=function(e){return l[e]||(l[e]=t(e))}},function(e,n){e.exports={}},function(e,n){var i=0,l=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++i+l).toString(36))}},function(e,n){e.exports=function(e,n){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:n}}},function(e,n){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,n){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,n){var i=Math.ceil,l=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?l:i)(e)}},function(e,n,i){var l; +/*! + Copyright (c) 2016 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +/*! + Copyright (c) 2016 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +!function(){"use strict";var i=function(){function e(){}function n(e,n){for(var i=n.length,l=0;l0?t(l(e),9007199254740991):0}},function(e,n){var i={}.toString;e.exports=function(e){return i.call(e).slice(8,-1)}},function(e,n,i){var l=i(48),t=i(14);e.exports=function(e){return l(t(e))}},function(e,n,i){var l=i(54);e.exports=function(e,n,i){if(l(e),void 0===n)return e;switch(i){case 1:return function(i){return e.call(n,i)};case 2:return function(i,l){return e.call(n,i,l)};case 3:return function(i,l,t){return e.call(n,i,l,t)}}return function(){return e.apply(n,arguments)}}},function(e,n,i){var l=i(1),t=i(7),r=i(3),o=i(11)("src"),a=Function.toString,c=(""+a).split("toString");i(2).inspectSource=function(e){return a.call(e)},(e.exports=function(e,n,i,a){var y="function"==typeof i;y&&(r(i,"name")||t(i,"name",n)),e[n]!==i&&(y&&(r(i,o)||t(i,o,e[n]?""+e[n]:c.join(String(n)))),e===l?e[n]=i:a?e[n]?e[n]=i:t(e,n,i):(delete e[n],t(e,n,i)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[o]||a.call(this)})},function(e,n,i){var l=i(13),t=i(1).document,r=l(t)&&l(t.createElement);e.exports=function(e){return r?t.createElement(e):{}}},function(e,n){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,n,i){var l=i(1),t=i(2),r=i(7),o=i(25),a=i(24),c=function(e,n,i){var y,p,h,x,s=e&c.F,u=e&c.G,d=e&c.S,f=e&c.P,v=e&c.B,g=u?l:d?l[n]||(l[n]={}):(l[n]||{}).prototype,m=u?t:t[n]||(t[n]={}),M=m.prototype||(m.prototype={});for(y in u&&(i=n),i)h=((p=!s&&g&&void 0!==g[y])?g:i)[y],x=v&&p?a(h,l):f&&"function"==typeof h?a(Function.call,h):h,g&&o(g,y,h,e&c.U),m[y]!=h&&r(m,y,x),f&&M[y]!=h&&(M[y]=h)};l.core=t,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,e.exports=c},function(e,n){e.exports=!1},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var l=Object.assign||function(e){for(var n=1;n0&&void 0!==arguments[0]?arguments[0]:{};if("undefined"==typeof document)throw new Error("`feather.replace()` only works in a browser environment.");var n=document.querySelectorAll("[data-feather]");Array.from(n).forEach(function(n){return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=function(e){return Array.from(e.attributes).reduce(function(e,n){return e[n.name]=n.value,e},{})}(e),o=i["data-feather"];delete i["data-feather"];var a=r.default[o].toSvg(l({},n,i,{class:(0,t.default)(n.class,i.class)})),c=(new DOMParser).parseFromString(a,"image/svg+xml").querySelector("svg");e.parentNode.replaceChild(c,e)}(n,e)})}},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var l,t=i(8),r=(l=t)&&l.__esModule?l:{default:l};n.default=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(console.warn("feather.toSvg() is deprecated. Please use feather.icons[name].toSvg() instead."),!e)throw new Error("The required `key` (icon name) parameter is missing.");if(!r.default[e])throw new Error("No icon matching '"+e+"'. See the complete list of icons at https://feathericons.com");return r.default[e].toSvg(n)}},function(e){e.exports={activity:["pulse","health","action","motion"],airplay:["stream","cast","mirroring"],"alert-circle":["warning"],"alert-octagon":["warning"],"alert-triangle":["warning"],"at-sign":["mention"],award:["achievement","badge"],aperture:["camera","photo"],bell:["alarm","notification"],"bell-off":["alarm","notification","silent"],bluetooth:["wireless"],"book-open":["read"],book:["read","dictionary","booklet","magazine"],bookmark:["read","clip","marker","tag"],briefcase:["work","bag","baggage","folder"],clipboard:["copy"],clock:["time","watch","alarm"],"cloud-drizzle":["weather","shower"],"cloud-lightning":["weather","bolt"],"cloud-rain":["weather"],"cloud-snow":["weather","blizzard"],cloud:["weather"],codepen:["logo"],codesandbox:["logo"],coffee:["drink","cup","mug","tea","cafe","hot","beverage"],command:["keyboard","cmd"],compass:["navigation","safari","travel"],copy:["clone","duplicate"],"corner-down-left":["arrow"],"corner-down-right":["arrow"],"corner-left-down":["arrow"],"corner-left-up":["arrow"],"corner-right-down":["arrow"],"corner-right-up":["arrow"],"corner-up-left":["arrow"],"corner-up-right":["arrow"],"credit-card":["purchase","payment","cc"],crop:["photo","image"],crosshair:["aim","target"],database:["storage"],delete:["remove"],disc:["album","cd","dvd","music"],"dollar-sign":["currency","money","payment"],droplet:["water"],edit:["pencil","change"],"edit-2":["pencil","change"],"edit-3":["pencil","change"],eye:["view","watch"],"eye-off":["view","watch"],"external-link":["outbound"],facebook:["logo"],"fast-forward":["music"],figma:["logo","design","tool"],film:["movie","video"],"folder-minus":["directory"],"folder-plus":["directory"],folder:["directory"],frown:["emoji","face","bad","sad","emotion"],gift:["present","box","birthday","party"],"git-branch":["code","version control"],"git-commit":["code","version control"],"git-merge":["code","version control"],"git-pull-request":["code","version control"],github:["logo","version control"],gitlab:["logo","version control"],global:["world","browser","language","translate"],"hard-drive":["computer","server"],hash:["hashtag","number","pound"],headphones:["music","audio"],heart:["like","love"],"help-circle":["question mark"],hexagon:["shape","node.js","logo"],home:["house"],image:["picture"],inbox:["email"],instagram:["logo","camera"],key:["password","login","authentication"],"life-bouy":["help","life ring","support"],linkedin:["logo"],lock:["security","password"],"log-in":["sign in","arrow"],"log-out":["sign out","arrow"],mail:["email"],"map-pin":["location","navigation","travel","marker"],map:["location","navigation","travel"],maximize:["fullscreen"],"maximize-2":["fullscreen","arrows"],meh:["emoji","face","neutral","emotion"],menu:["bars","navigation","hamburger"],"message-circle":["comment","chat"],"message-square":["comment","chat"],"mic-off":["record"],mic:["record"],minimize:["exit fullscreen"],"minimize-2":["exit fullscreen","arrows"],monitor:["tv"],moon:["dark","night"],"more-horizontal":["ellipsis"],"more-vertical":["ellipsis"],"mouse-pointer":["arrow","cursor"],move:["arrows"],navigation:["location","travel"],"navigation-2":["location","travel"],octagon:["stop"],package:["box"],paperclip:["attachment"],pause:["music","stop"],"pause-circle":["music","stop"],"pen-tool":["vector","drawing"],play:["music","start"],"play-circle":["music","start"],plus:["add","new"],"plus-circle":["add","new"],"plus-square":["add","new"],pocket:["logo","save"],power:["on","off"],radio:["signal"],rewind:["music"],rss:["feed","subscribe"],save:["floppy disk"],search:["find","magnifier","magnifying glass"],send:["message","mail","paper airplane"],settings:["cog","edit","gear","preferences"],shield:["security"],"shield-off":["security"],"shopping-bag":["ecommerce","cart","purchase","store"],"shopping-cart":["ecommerce","cart","purchase","store"],shuffle:["music"],"skip-back":["music"],"skip-forward":["music"],slash:["ban","no"],sliders:["settings","controls"],smile:["emoji","face","happy","good","emotion"],speaker:["music"],star:["bookmark","favorite","like"],sun:["brightness","weather","light"],sunrise:["weather"],sunset:["weather"],tag:["label"],target:["bullseye"],terminal:["code","command line"],"thumbs-down":["dislike","bad"],"thumbs-up":["like","good"],"toggle-left":["on","off","switch"],"toggle-right":["on","off","switch"],trash:["garbage","delete","remove"],"trash-2":["garbage","delete","remove"],triangle:["delta"],truck:["delivery","van","shipping"],twitter:["logo"],umbrella:["rain","weather"],"video-off":["camera","movie","film"],video:["camera","movie","film"],voicemail:["phone"],volume:["music","sound","mute"],"volume-1":["music","sound"],"volume-2":["music","sound"],"volume-x":["music","sound","mute"],watch:["clock","time"],wind:["weather","air"],"x-circle":["cancel","close","delete","remove","times"],"x-octagon":["delete","stop","alert","warning","times"],"x-square":["cancel","close","delete","remove","times"],x:["cancel","close","delete","remove","times"],youtube:["logo","video","play"],"zap-off":["flash","camera","lightning"],zap:["flash","camera","lightning"]}},function(e){e.exports={activity:'',airplay:'',"alert-circle":'',"alert-octagon":'',"alert-triangle":'',"align-center":'',"align-justify":'',"align-left":'',"align-right":'',anchor:'',aperture:'',archive:'',"arrow-down-circle":'',"arrow-down-left":'',"arrow-down-right":'',"arrow-down":'',"arrow-left-circle":'',"arrow-left":'',"arrow-right-circle":'',"arrow-right":'',"arrow-up-circle":'',"arrow-up-left":'',"arrow-up-right":'',"arrow-up":'',"at-sign":'',award:'',"bar-chart-2":'',"bar-chart":'',"battery-charging":'',battery:'',"bell-off":'',bell:'',bluetooth:'',bold:'',"book-open":'',book:'',bookmark:'',box:'',briefcase:'',calendar:'',"camera-off":'',camera:'',cast:'',"check-circle":'',"check-square":'',check:'',"chevron-down":'',"chevron-left":'',"chevron-right":'',"chevron-up":'',"chevrons-down":'',"chevrons-left":'',"chevrons-right":'',"chevrons-up":'',chrome:'',circle:'',clipboard:'',clock:'',"cloud-drizzle":'',"cloud-lightning":'',"cloud-off":'',"cloud-rain":'',"cloud-snow":'',cloud:'',code:'',codepen:'',codesandbox:'',coffee:'',columns:'',command:'',compass:'',copy:'',"corner-down-left":'',"corner-down-right":'',"corner-left-down":'',"corner-left-up":'',"corner-right-down":'',"corner-right-up":'',"corner-up-left":'',"corner-up-right":'',cpu:'',"credit-card":'',crop:'',crosshair:'',database:'',delete:'',disc:'',"dollar-sign":'',"download-cloud":'',download:'',droplet:'',"edit-2":'',"edit-3":'',edit:'',"external-link":'',"eye-off":'',eye:'',facebook:'',"fast-forward":'',feather:'',figma:'',"file-minus":'',"file-plus":'',"file-text":'',file:'',film:'',filter:'',flag:'',"folder-minus":'',"folder-plus":'',folder:'',frown:'',gift:'',"git-branch":'',"git-commit":'',"git-merge":'',"git-pull-request":'',github:'',gitlab:'',globe:'',grid:'',"hard-drive":'',hash:'',headphones:'',heart:'',"help-circle":'',hexagon:'',home:'',image:'',inbox:'',info:'',instagram:'',italic:'',key:'',layers:'',layout:'',"life-buoy":'',"link-2":'',link:'',linkedin:'',list:'',loader:'',lock:'',"log-in":'',"log-out":'',mail:'',"map-pin":'',map:'',"maximize-2":'',maximize:'',meh:'',menu:'',"message-circle":'',"message-square":'',"mic-off":'',mic:'',"minimize-2":'',minimize:'',"minus-circle":'',"minus-square":'',minus:'',monitor:'',moon:'',"more-horizontal":'',"more-vertical":'',"mouse-pointer":'',move:'',music:'',"navigation-2":'',navigation:'',octagon:'',package:'',paperclip:'',"pause-circle":'',pause:'',"pen-tool":'',percent:'',"phone-call":'',"phone-forwarded":'',"phone-incoming":'',"phone-missed":'',"phone-off":'',"phone-outgoing":'',phone:'',"pie-chart":'',"play-circle":'',play:'',"plus-circle":'',"plus-square":'',plus:'',pocket:'',power:'',printer:'',radio:'',"refresh-ccw":'',"refresh-cw":'',repeat:'',rewind:'',"rotate-ccw":'',"rotate-cw":'',rss:'',save:'',scissors:'',search:'',send:'',server:'',settings:'',"share-2":'',share:'',"shield-off":'',shield:'',"shopping-bag":'',"shopping-cart":'',shuffle:'',sidebar:'',"skip-back":'',"skip-forward":'',slack:'',slash:'',sliders:'',smartphone:'',smile:'',speaker:'',square:'',star:'',"stop-circle":'',sun:'',sunrise:'',sunset:'',tablet:'',tag:'',target:'',terminal:'',thermometer:'',"thumbs-down":'',"thumbs-up":'',"toggle-left":'',"toggle-right":'',"trash-2":'',trash:'',trello:'',"trending-down":'',"trending-up":'',triangle:'',truck:'',tv:'',twitter:'',type:'',umbrella:'',underline:'',unlock:'',"upload-cloud":'',upload:'',"user-check":'',"user-minus":'',"user-plus":'',"user-x":'',user:'',users:'',"video-off":'',video:'',voicemail:'',"volume-1":'',"volume-2":'',"volume-x":'',volume:'',watch:'',"wifi-off":'',wifi:'',wind:'',"x-circle":'',"x-octagon":'',"x-square":'',x:'',youtube:'',"zap-off":'',zap:'',"zoom-in":'',"zoom-out":''}},function(e){e.exports={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"}},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var l=Object.assign||function(e){for(var n=1;n2&&void 0!==arguments[2]?arguments[2]:[];!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.name=n,this.contents=i,this.tags=t,this.attrs=l({},o.default,{class:"feather feather-"+n})}return t(e,[{key:"toSvg",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return""+this.contents+""}},{key:"toString",value:function(){return this.contents}}]),e}();n.default=c},function(e,n,i){"use strict";var l=o(i(8)),t=o(i(31)),r=o(i(30));function o(e){return e&&e.__esModule?e:{default:e}}e.exports={icons:l.default,toSvg:t.default,replace:r.default}},function(e,n,i){var l=i(0)("iterator"),t=!1;try{var r=[7][l]();r.return=function(){t=!0},Array.from(r,function(){throw 2})}catch(e){}e.exports=function(e,n){if(!n&&!t)return!1;var i=!1;try{var r=[7],o=r[l]();o.next=function(){return{done:i=!0}},r[l]=function(){return o},e(r)}catch(e){}return i}},function(e,n,i){var l=i(22),t=i(0)("toStringTag"),r="Arguments"==l(function(){return arguments}());e.exports=function(e){var n,i,o;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(i=function(e,n){try{return e[n]}catch(e){}}(n=Object(e),t))?i:r?l(n):"Object"==(o=l(n))&&"function"==typeof n.callee?"Arguments":o}},function(e,n,i){var l=i(38),t=i(0)("iterator"),r=i(10);e.exports=i(2).getIteratorMethod=function(e){if(void 0!=e)return e[t]||e["@@iterator"]||r[l(e)]}},function(e,n,i){"use strict";var l=i(6),t=i(12);e.exports=function(e,n,i){n in e?l.f(e,n,t(0,i)):e[n]=i}},function(e,n,i){var l=i(10),t=i(0)("iterator"),r=Array.prototype;e.exports=function(e){return void 0!==e&&(l.Array===e||r[t]===e)}},function(e,n,i){var l=i(5);e.exports=function(e,n,i,t){try{return t?n(l(i)[0],i[1]):n(i)}catch(n){var r=e.return;throw void 0!==r&&l(r.call(e)),n}}},function(e,n,i){"use strict";var l=i(24),t=i(28),r=i(17),o=i(42),a=i(41),c=i(21),y=i(40),p=i(39);t(t.S+t.F*!i(37)(function(e){Array.from(e)}),"Array",{from:function(e){var n,i,t,h,x=r(e),s="function"==typeof this?this:Array,u=arguments.length,d=u>1?arguments[1]:void 0,f=void 0!==d,v=0,g=p(x);if(f&&(d=l(d,u>2?arguments[2]:void 0,2)),void 0==g||s==Array&&a(g))for(i=new s(n=c(x.length));n>v;v++)y(i,v,f?d(x[v],v):x[v]);else for(h=g.call(x),i=new s;!(t=h.next()).done;v++)y(i,v,f?o(h,d,[t.value,v],!0):t.value);return i.length=v,i}})},function(e,n,i){var l=i(3),t=i(17),r=i(9)("IE_PROTO"),o=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=t(e),l(e,r)?e[r]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?o:null}},function(e,n,i){var l=i(1).document;e.exports=l&&l.documentElement},function(e,n,i){var l=i(15),t=Math.max,r=Math.min;e.exports=function(e,n){return(e=l(e))<0?t(e+n,0):r(e,n)}},function(e,n,i){var l=i(23),t=i(21),r=i(46);e.exports=function(e){return function(n,i,o){var a,c=l(n),y=t(c.length),p=r(o,y);if(e&&i!=i){for(;y>p;)if((a=c[p++])!=a)return!0}else for(;y>p;p++)if((e||p in c)&&c[p]===i)return e||p||0;return!e&&-1}}},function(e,n,i){var l=i(22);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==l(e)?e.split(""):Object(e)}},function(e,n,i){var l=i(3),t=i(23),r=i(47)(!1),o=i(9)("IE_PROTO");e.exports=function(e,n){var i,a=t(e),c=0,y=[];for(i in a)i!=o&&l(a,i)&&y.push(i);for(;n.length>c;)l(a,i=n[c++])&&(~r(y,i)||y.push(i));return y}},function(e,n,i){var l=i(49),t=i(19);e.exports=Object.keys||function(e){return l(e,t)}},function(e,n,i){var l=i(6),t=i(5),r=i(50);e.exports=i(4)?Object.defineProperties:function(e,n){t(e);for(var i,o=r(n),a=o.length,c=0;a>c;)l.f(e,i=o[c++],n[i]);return e}},function(e,n,i){var l=i(5),t=i(51),r=i(19),o=i(9)("IE_PROTO"),a=function(){},c=function(){var e,n=i(26)("iframe"),l=r.length;for(n.style.display="none",i(45).appendChild(n),n.src="javascript:",(e=n.contentWindow.document).open(),e.write("

    +NZC{V!2|IiOc>v|dy`R>I+#9@P5V3j|zt%KYrK z4mL;_UHOuIjCZgP!HvsG+9UESe< z0xtq+jzGnOnYoqR0@XOIf9SVhGl1-Egr0=uGKoKi&}xu-=I+i4wz!&kci5Fnic5;% znlLHT$mzJV0w>G}YF%8AyBqq513`lndLV_hrZw;8(=K)9h36UaU|iy*EH-L|8EP=51Wxl8Asg z74)1Z>+S6bLdLNFnwh;$L-Usvot+&}7Z@(o9VTRQ{=y0QyL+EPLwmeW-M=2zf)PL| zQMhqIeGX)x^(LG2AbMQ>)aLE2tV#qm1PF*pA^z{-O*l(z$4?0J(ObH9X#V-xS$Vkm zOMTYAT3e&D_8vPv7N(YP4xVmQ=Cyc2vOu17yg}e&J{+4k6V}ei!0-VcV|w~Jaxvl7 z;-$_Pni?DiEMLB@Uwr(yJ&zlXc8=<5@jQN^-&)@R`H6MDXEikA?G-Wj(yVc}s_NwR zHCkFi&`R2_go@Zr;WdUQeJ&^FEReIJtI0zNMui^_0i%V5fdtv!7r_F3i;PwJ zhdzW#t={BRIi1DJ(p!#UAL5 zHAX!gBK#B^8M{2}n(hj_J#T!>h2jJZC3Z!!NMPw-zS5^dB2-> zJSDFr$>y{%1TeC0W#!3N|%rbe8)yrvXuYcTl`j?gGie=~e zkMGUNgC`?h{e~}>9C~Bu$N7@?NfT@LowS`t98SANx&1}Trt?j-u`fMY^!>$>Y$I{G z;}U*{RFDmd)MW_!Z2hPoIlMTlw-F<$ttH+<_*kI(p2s*jqX3$AkWQqN%3h8`I?5R? z#&u6STOaK>_|Ii=^?=Pwjftd!E~vkWY}*pat3Ovrl?9$KW-&0V=DvD^DYLv9RUg?C zhS{SGHU#bBYO&#;xi`IL(?5J40JbFm@Hy9x(=|lcx>b9mk8@&>%j~lB*ZQK8M85EG z8V*WdC}_nwhh$H^dxT?k-jb_i$1N>tH5d0)stK3(iNSV+)SYON(-!^YUAH}dF2_Ag zH2*-Hd#;V9pNMIBdUxm4qY&LumlWKXP6ZC+rC%1e7eb(P` z($jzM`b~@{ig~VF~BuS@Tg`bFW%Wa$ESOl>;w$+kI3&@%=oSAWYUjFmPQJXRuts*(Eh9(r%`X zc~e@t;NU~zJFx|#lbGp7Kt9z28GH@$nHlfB3l05_xjQu1Qeeysb6U+!`fMSY0lRVx z##nV5%Vu_`b$jie{2>h+EtQ7puA+%q9GiDJLgx8BpTw=KdK}u^y0AA|C2VFJ z*y-WPXq&7%*o*u=nmm7kk3lH=qAp5e%TPhnoV1WVT?1`%kapTUHCwsWM}OY`{M%5x zvqz>C#4$0wo=3V8kjL{8UI<+ELiQrlEhX=xgqlchQDPsTnoj*Zb>@!E4Y^hr34?=i zp-$OX!?oMsW?-lvTR%(~j7eiTULeSKSRS||8`kl&zke=o;ZVu8Kkwq%(37XVg)`kx zK}H`A!bRXHxQ|axnwrV&hD~+YN!Ur)SYx)|Xx}~E)eRYdMDGRiJFf!*@LW&enA$(x z^YPWmfY^lt>yS16)m?v=7Q>Ymv!ac&>XX|X29=K#?9c!5U?0!~uyP#b6Y(p634o9O zHB6^R+XVh zT%gt5Ozzt}<5c?e-{SXq#vuQox76w1$}NqMiY?GeWGl;;$?OL5TuR0E2lXX<%^a=9 z?yD%1#_+1rN~K&4LPAQJhYzo__L^f(MlFg9Y$rpGS4(};GctB!`wwyUVRVvHKgth| zFCvm8!-c3`y)u>1I=Xb0D{w%55>uCUDLu$*y2m6DH-0iXm!rMMt<3RhZG_3nWn}wM z9CM}GS6|yogI$9y__$$t8pl}E&&O(ND(zrx%_k%VO}bH(d`8L|vl!s*%5}WMxdwXW zW1Kf{m{)hF%fs3&>Wqr%F@t}v$zHIt>$-T+^E5id#Se2bk;tQkiDDpD<$m`%Ffgqg zN4=z}(67M)!f*8VM(2dgY)M^)Cvp!ZYe#1_oM%T=pW9`;q%198_6b?`6R?@ds79KaNQ{Z%=;%`=rXS7HM-SiKEYe-wcZ&xjTI%am?>tl_$`+5<|7v-&e$7rw>!TsECLz zX;Pfij#bTi;;%!!G{TyD=|^|>Z(X_m=_LJ~meeMJ@41vq)SA>NkM4|jD(ZEP#f%e=F((3A?dZy>SG zVapV~wWIi^Ymc2ZCL5*e+;W#rUeIg&v1ijOqn*BYX?g{nmP@X;Fly-DJb6(Yo3(@% z+npjkUFY$tqnGJLMIoSeXE#GHmG<{_66=-~_&DwzBnmqnPK%%H#<)1>j~;s~tT_l% zg;Q=bcDQR0fh%NYyyoB@9(IIoOW(K)UbPtNoqlyjUO+ajBkGH8sie!wqQx)_TCI64 zn_lbcFTN`4yqvRiT1fC2&339#(Q=w+r2sH0N!%uD+Z$y^%o`b!SPpYFyuSq%zQBx9Us zcegN;`6H!l%})bHSIauWM>jO17@qM_a8X~`DSVmb8N!T*bU<;oAJQS&-DK9AiuhY>x=-i5(Zfmhx|uCK2fZoWTH6Tdg%bkIsb zE!q-1yCmqg$Zio6y!`1Ajn_+#x<6|7{Y(}6zZo?MFD_BOc=>WF-^VS%R8ez!Zm!k8 zh{kZS2NzKfJ2qQDE4TKjE>%@sC9)G{Odrh_98dTw&o3_j93HOUFwPY6nY?-9#xsx< z=rKKNa=CN~X@5$b1d!<9?21?@49(igB7m|@>v|4>4s#x7I}R|447!kKAj5ti7n9y= zL4Hp-0g%fZ6clam>Ke5RjHscRd$pDEqN9$txt)4Y83&*opbQhQEg|83kO6fb8a(r# z^##ez=WK4?gact^c<_Afw#o_x%ENlHPnbzxzZ zj*~O)QbY$GKgW>MV?Z5|sf9b)Vc)-hkKz^$8+0&(JfG+N_YxEJJ&(J1fP97Hx8ZO{ zSIDE{ZAuCjpj6{7892gjn|NqVE3gh4gSL`MiK11CKnzA4zaNh9%GI}mypKZ40b)o= z7qir~F@oZF`$PN8OsL^%9WTsN5CoPGGKRx)bzLUmF2(c8%=|S=Ww`=qm+@4+UFH6t zB3E~cgC*2>DjH3h(2F?7?FLqe9+9>BT`CF+FOQO_NlObZw&X7`J~F7lcr-OrHv=Tv z+(IG#T>t5N%|g#XoqpEQbDCY4 z7AzAI3td=CT#_5!tJPJSF^@fCfCJn%GUixVE1GcDeEdpFgSsWl8^o(Y0l@Z!SUs5ThX%@hDYd6zm_drUDg)<-VagvFJLCYC)aMcVdtjQ=J zFj3~{7R9&5DFy|F{RIg%5~Zr?hq<}!xVOH*%m&wZEVZBjV4%r1A4h(Gj8-IOYs6$Nu(NXiPt>8e_5*C|A&a`J2qp0Zi%G$HKRx;Ew}b83jh0q4 zBq^Its$YftEyqhQ6%|{w;VOAJ)BZ4AN3NZl_(Pk~auGAzI9Mt$JhTPm&#+L<_Sc^w z=EmcK^hgHWqQN$_k2j(1VJsMR)B6`78z2ZYBCSrVuSBeDxlSf({omvml=~7gcT6lT z)%6@P@j!QU85ftLXG=R*1KzF4U|}&)BIdrK3Kq0$6O)1F6@N$%n9orNNSMrSP`g2B{x=eVk&Pf>yDS7%E+fb~JsDm!23DOmNPHub%q!g6Ji_H;dvJ`e*v z5}scOX|UT$Z>f;W?s>O^a%t%RyWQnWz#Efs^Y~X*>VXjk3RG9ud2V+K0A{#SQ){6u zp1xwi7W_c9OU8R6L;~x|-l)JkP~1DOjC3BPDS{dDIuX^|(bZc&I!TKLA3b)WhU~#F zh7V|PgEkl#e%-h}5y9RHGToG}udqH~M!5g};bCNQT*zs5j0~G*j`=}haZj%RcwwdO z?a!MlB~LF8UX|Xn4z#hfn(kKC*gW+JkylVkNx2o#5v~NZdqi9&^PQ}qhf%L#CL)tC z%vvA>DYyN&7a{bQjCUB{ef@fQ+nripe^l$P#`z1!Fk2CX-BF>TPi_)U>+uxtj;)RQ zurpa{@fbJ${quXEKA3n3_wqI~KY#Z4;)F;>RskaW;dN6uH#5PaZt*AHd9Ahgpj7B%lBG>_np@Nvv~y@&)2cpW1(6 zWSqXSyKB~;=LOeN>i(~+7L>SD5IuUx#ZxoVsUbqi>yW;3DoAM!v>s* zfVq7CUi|I@Ss-jofc&0rbjU#lzVAD2@|o}!h`Ij+b@7cG)A2D&ZD6qMn?6?dc*>VA;Teh={uiT}BXB-Rj%6h0 zeW}ce!lC)l)}YAfxw&!0$OyR+Q@>MEvQx?Hdhr3@l<0uGD}D zjR>Cc8#XqC5IKp|p+I(o%GRZLL^uZQI46NFuRTzRw#I*5@U zu;oO?Nd%YlIRmry5I`D8Wwbs*-J5(60rJSl zZ|QFRphfq}YMKie7$oH#HP%b-Bwzs*N+sd^5p~?Twob4P6M30$kdU;2-!v;Hn~w1w zE-kH1X;OY>V;d0HFnRd&!4pS8xX_J81>ZaeDLg$ZgOuOOq^mltj=Z5;z!^3DX0>jH zH21kyD_@`7l&tlIzfM-A)cB$DlXq4($ETWllz~TxgA6H|fHfX;tDrE7x_}c7qn_mr z48nCQ)X-1ab-urLvJ~hZ>y!Wc))8)=pleDb0MM|CFXL@zLTOMscKk{ovlkuB>-T;} zn!})?ZB~&HuyHO^3*TX5Y!{FV%vHIN7TM2Y1GskVaiakcLk|E;xbvbJez)CU#~Y-a228BN zesAA$l^*x@vIPH(VnlPrSCR>MKdQMfZE3N%--@*B?I zc>4mMEB?WDSogPNgzyxgWn3jjHjOt|<37|F@?WJ%^k4mQmWFUL9)i`#fI`Zr>uN?8f|%SpzPC%;1nZe zT~gJB4|6r5Bd^Onf5-*$%juE9t&Wir&4z{@8eubWSBZ34(|1u(uhLim0RsM>EG|S5 z8LDhnbc2MVjZj(Cui3_BP+QWe2fgJuM zJ;CISOK$KW(aE#+w^T<+7$`wL5~t5eE6kh6){foakJlM(Ce=kT{}V!@n7 zDnsqvr>Lgn({&dTuWzrRJ{;}q-88jCf;d`H-XD)>Kg=I@GzKb5Xg4H{;skic9PL_R zgq$|1isqE&f|%!0yPiXz3<K#@JZM$7LI=?)ns5O7>s}dtx*MWeW6y)CovD-zF2-5kCz;GvgAK_wCx`qJ>ySU z7@p#O;+!#o#~`9EtA8*uX$!^NI}eFAAP?b4HSb8uOic{}vV-VR)6!0{(y)5g6Y$4u z{?tq|`W2c5&5~?H^WSlU0}j}MO{eNTOHX2!ZNI#0q7@0w_g*0nmA%m1jC(w}m+t_D zJ;Gyx8epyJh`Ye9t8#mD>*D@V*HGWDv*TqK&-F3pnYmfv3u;#`Vq51Es&iJ z-WC!D0Zx45`o z1qA#W>ycVj)z)tR!-$5fI3ZDe!Xqv|25JC^fNhzI(1iW-oN%IZ)1jmbc{cx74KzS+ zlClBa5g=nBm9t?DMuVlBmXw2t7hVpH$MG}R8_%7d9#7NKmT&&Vq_gGry{=nD+WpKV zgZs`MmwPOT#YV-b1XUi&xDi8uIT4Le$K>tCcrX&8JT}PrEUwAl!9`F?jO@kLaPpDK zndTy-b@anMKrRPRN`(%x>oqmUx7R99kSrug)lcT5_4TqF$5*d{Pz91yLqGu%_j05x z%x=1IVr^|sgVHgR_PuGm&+)YJlc@TlPBBS$SyujpYcUE9eRnZr;-c-uM6_>#5EIw0 zyveDoe0q|AV&r3Z3%y}Q#V5jYAi93^_aCv+I>-bTO4%KLFc5JzZ-da(Us1}Msr@ew z4r{#Lynd~fL&65koL+VI zD=L;f9R>5*VV^iFnxKZTK45c!_?Iv9$1-5PbF-iHtgIA;N#16lq~SP|c>mufd_Rg| zwMyL!3i=6}xjzjzJw2<)KNfrTt*}9{0xS^798y!m ziKW_g<7=-4D9W+E=4FF{GYG*tsHiT(41)7ODhY5U+%*;6_ z-2f-yL`CoP%-R_HOag5U&?6xD7cOCA`JXpHQmd&%f{gAiXmW^AsARg%)E9gdkVVX+ zTe@nrF%?taAhQ>3BW;F#^JXAEQK9DoMH|UgX5~+Ic@>MR3+<^_+^dpOChkM6(PeS( zBKD#2lGt*OQNa(Zi(J+L80SmZug|X)D!v*~)ds>nvZBHr3xwi_wz?PJ1oWSmE-bsS2oC4!aQ1VLGzL4wfErwp&s8q;bOD8NAu#@9s&#vb^aEjg_ zn~zY)_-RxieBt&@SkX6VZY=i1l)|>57fvOlWEG~aIcpl@>XASe9k--2D#CvE4Qx_M z$#>F>EWIO?gh13-uJV@{-SHo0fRdq>-D4>#_!F|=q{bk5k_NQWda(YS1;FJaFf+&4_ zlEG*SSL^x9mtQh6dRL?rYlX5Vtv2a7IDXAq*8P-%PA?<1`o=2=qJywjx8;q%pwP=w z>Ai;Ad|Y;av`&Elg|ZoRjM$ehN%$mtTZyw-3WCNhElnUJPS(N6z`pyMSGG>BnU*`N z_!tv>e+{?w@pIYGCc~b2cA#?dyz8hxQX~lJxCZaPCWAxd;w2dB2s0a0H8dn$TnJ!4 zljI0dmKBr>gG8qh%1 z5f*h~;wy)ny60go)`Ei6P4XK7`N^DRo7Na1GcqjgSXiythR6G&nyiU52FGkzSg)|; zr6r%del3VJCG8&{gUa#QI#)^*gWvg+pvwexjg6F0JpT%(tkbpezVG0`Heo}t2Oji<>LgJc3;!ti$ zv9bJ`!!db#DYxtrUtS0!&*5jA>qH@A73&*CTwXr=S?-ZqS%{icBK2~pSqazQDK7A} zZA6t@Y6hpluBiA@kI%bGoDud1h++8sXNoGMVmf~W`1#=a*MgAI^;lC=!1$L*G#t)^ z%HmTMjVg;s?RW9KjOuSaugDJw(Te@+CHM5?WY?M@pL|p#_JSg#JUtydOYhninNY~p@SoAUd#S^bAUJJXkus&%0w;!d zP(RgVu#2+3e_N3N_|x^Z(Y|pY^J?LynOc5O0s&hz4OnQqDd`^ub_MT z(ET)UTDd3U7Y#1!+!1Et42=A3NQF;c{7c&gAZ;$!iG>%Hs~P=9B@^F7);D%mOHD^w zTdyiBE9a08j{pAoHZe0I z8R*ZF@2Fn|FvCgY@(hQVnArTzq4#M^cWV(Uo8CGlff74nUX1M9p70!hD^^cEJOkQ1Dg&HyBK+HUpbE$9o;JL0*+1n=yQLPqD%gPrxo0Fy(iy1D(opf z$fiqHES6G)9V+P7$3Kuy@0xJxwI-C0QW-Z2wa0Y-bjDl=X$UsRZ|vV|`2h6y^xRq? zdn**)`jQSY3cdM*2L}hB4+*Dy)Hiziq}Z>#(T}~gqqz^w1ZuI$jrHH~Fu?!@>%qdh zNvh2KgQH!MGCon!@8hfo)dfH9`;EJ|O?;{cl6(K)VAn&gri00Y;B0x$^|SYxLu($k z@fwho&W&Nrx;7bCpo>_{K5}=R@3JUv3Ln;O@MiP#zi@CUP~FxvT6YIfX6UC6_R~!P z$De4<{5!p3MPdIBr<*`g%170wW&vWyrRC}61^vtCtgMEeczU)AH4J*wHpDVWNd)yN z42B6wN}{n?qS&9Ap7lIzRsiu0r~`wS+~Lpb zwzk+zVOcs_SG4JxM2U9(=N7E5S$RNM8uJNjhERsdhRWWKzx^lvX#G)+2D;UZkD}cP zea}XthRKGIwK#ZlQvvMbdTis1loVglHZc2px#YZAX(1aYr!rK|2M6g$lB-5S`yI@A z?DS`bx|K?APMox~RYxi71=7^e>s+qCRmP=(mdMJI$8vOXR@E>F`mDCoO6Y+F1%a4+ey=BcWd zzZaYU$JBGfCUS3+!bqhP0J0o3ZO%m|=6c$y+%@p~p{eOLo2ufs0%NYp&la+vWgAb@ zm+wCkmyhCdr+|}VF)r%I%Yuo>*`=SW6k)%#nFZDt?)5q$h5WZ~DoGxv@=!fMbp@X| zD7nDha?eL|Uf(M}ipwnlKC4%)Hpx638R+Rl&6C`ywBIFqMJqgb zN38j3ccz)Qf5$&0Fom}AM(HSahVRjnx$vN+%xvUo1bflJBDX(m*#1*VdDfn1mbza{ zBXH5Z3RYHCOT5~uhZ&(22F`npc$(?mFQB4?Bwqy?(|dzLx3SEJzW({cGc(qF#Adoz zBlqIPC7nc)2+N_(+@Xo~#km#~W2ILmA`6SMhuyFLykGXB4lpF#6k*oNR11ze$H!h! zlZ_Pn%cv4{B-cnc&)UOW(6G`{-1M%85rfO3_e)8^`wmeSCkqd8!*u)sEG_(VrQbT2 zvbU)AIZRvc>UJ>w({5dgVd||F!%)1e8gD{nS#Ns!m$J?N&93n0cU@4!1vf1+AN-E` zFLmAiAG=l_1K;gLWR))=Z7gcQXxxJ5V{d)2tn@5HrHX0QdWlGGb-xp zOBA6X&Vll*+;xKoQXI9|NuWk4b1nD)TKMkKQU5fSPa+;k5+@sL2pk4wLDbD@7pPTfCp&#S{Xwq0qZofn{w5urBv2O*H!^NQAqK_}`zkCL zHK3-Wg9HmgthD3awu<&sDLXsdn3#^cqpGSmK4&l%xzA$bQ?q|A`I0n>*+m2=zer~$ zm%7gwGeO*fIvYoWt}q{?#)uc-ZRyHLJUIzH{u&)s_^D8ihdaBYlhbVxD#2xEd>Zzd z^>@=9oq5g1qC|AfzK*7)A|oYiDhSLw7hd%~M#DB|odIATX0G30*m#a58~Tu$hbI)E zPuNAm;^IgjhqdPz6u;9K*~3&FJw}7KEmF?T?heeTN(a{_@EO`w7Po`xG3UAbpWVW= zbapm$cQ-*?-1Cu6PJ6R-h(Ez7SK%GYuA{V zN|ZIppBGaAy8xU<2$4TsWmDn^f`M5DPc9Lo>{Ng*SV&qjco^30ICq|CeM0mJs30i zG8JS%Q&Trv*jNj+*nu>$o&3oNO%8le<<_76H9LE9peq{MkpinF>nm3yx<`AxMnA_S z*Kkr(>%-{|MosK&bmEH=EUH5Pjt=WKv#Zb)^$h$RDo)7CMK@X(U2`uqzXif7m}j4` zvsCg8&~*#TC4>rE>U+t=Y<>|Qr&qk+oJgI18A?hN|n z<~5%^O{FAZMHLnB-`G7ws@@W`pWB5SG$aZJ1{}=FiL=XtTV!FfKsX`P^vcJ_RlX0c z2M88z(rFz*BAFsm5oH<=$Tu{vZA zy=-bKU5;KsQZ#diin@L)f-rqMyBy6F=8$nQ+BBZmJQzWoAvF_bel&r;9wh3vgLbr~ z7XGW-{<7&fNN#x3yJ?t>5we)Aqm(S(*h0K?`SSYh+|tKo{s8hlkQ9gYXa*n|G$wX` z+uRIJx+x+3v%i;9Mo#W`?_m4Jbmkq-{Ldi41$RhhLBT?W%!SfFIU1Q6K%fCMY66+h zPj+?{k+*^t2lCVK63#l}?OM$ou(N6Up2V8UZz%;kQuQD{?b_%(RQQma8$rb>&opSp22V4Y>aV=++^26DPr0kIwg?S3g6G2m z#^8Le&N~;TQ72GyKo95a4$b`YmC{Y^ccwY~XvN*KeX_q2!U=ohN3T(*Qv}dfgD*QM zIhg=1{?gvmSGBAUVlLSECkKx~64wvsBs6pYA-V-aL)P($!>Bo`7sk55Uh-JV>o%>= z_fT*U@ES=AbJlE%0?Z+LbWC_Wy%MosbLK&eqO}3vNKjbF-#46`^@hvIHJIw^cfDu< zsP)NFk#bL-)K9RgsOtGLs{DS=C%XOn!b`2vH|cW9<$oI5K5)mhHZWEmMMNOuCs<>G zD~19Ls`%;UJC2k1(bweds-NrJ)#!J&n-d#By%CDcGdMWBs+C)EZiSVbn+68#$fBQh zf1yS+0`S_7>J#`Sc z`UAqv57Kr~t(@uPR9@d${g^O2V&T7n-;(e8b@ zqiqpB+dlI5$XRD2XSW_|ql?(#r+9B*a_7a1NrcZ8IbGPU)m71{!Vs zGXkzhuIWG?@A3wmkzsIdG$lsrih(+jF5Pf8!b72tl3Y^6>5)!EDqvSIs6B9C^v&{EaFF??h zF3jmN=5oD72hC`n$XlE3`Iq?1oF;(Tv#^W$0{sjjM04-l2!JAM360+?ux}9dUavx> zbUgyH8(^7{hFR-JS;L9+z3?-bzgr^k%~m+|rI zUlyq7s&`f%5Zo9Rc{Yci`mC1S)8d>>P4QbWE5bl+zi&D@AY1v;`C&>gh*ciJLqbHX zepBne0n*m38=v25D7?Wab>IFDs7yf!X$2>sf$QWQCgnRRhJFrH&%3{@e3J0F0oMp> z2lqG}HtVG;Kg^u+KCJq1Wp;-jGBwJYnSzuYM{9FI0bF~i8$?w1EiDt!o##g=cunR^ zD*l{~1aF5vArZfqtW1&*3EF4W21!ZqU~r4_CYmRCjl?wS*2Yg+bm1f;+AY`+ep?iS zI3olkFr~vO9@A*)q|-m?z&97cm-%hR0 zfZ3OyzkfduO${8lDp@_yE}ZMIs;mph0QMGM4Gyh4mbONuDUL-kHVQ=xs72O`=F07s zEeKl=JsiS@Hl5dOtP$!B=|<^YjLoA*M4dJ340rC}!u6dt-DD6Nj1SaC_eOq-npddh zwi+@qk&$#3R3UQr=TQ>U86FA>uGq9s_!!%!S+k4B-PLjA<~k2!BKgLc2$4{XqN1xl zJ`zysav4dx*Tmr$>$G1WcqE(Nr=p`1P)7$oqe+DVxZ{9h--c8cJDQSgH98R!*t)v7 z-vNOMv>TMv*wJyM%u1h-l;|HRScMKeh$gy1suWm%2oz72M0e}$MXlo3(n%isjGqWV zEK#^lu5<2}Qv_ZIwbakspMr25GuuyR5X#%*vbnq5MDsx zUs+YPu)JJh{l|LXn~8zv206rE%9@*#R(p%*-FLYEidI=%D59x}3!1C01xL`f!`9E0 z(C)9047RxQ%ACq-`Pq9D6Ze7r9N)3YRYC~uv)!bI$ae&;2&)Hl|Mip2XF|Shmk@?WWa4>7MbXILg#8KBSBBs{bxkM)%7wRT`hE{ z|0$j9E!$GMEMQvi%o57S7dpA_zP{D$nt(&5eiNi4P!<)60F^BqDX>y+(bK~$=vCp7 z0ey@;4hR*fLuJ&}ZXPW5C(#w|6{TAEM=`)L`}1ce30RfyL#j!klo`P9aPWZt!K&$B zQG4E(LH=Qj%9!sp#IvEeXg})(=}L_>YI-!Vk_dfDB_4 zD$@PSh#TUsqH@c3B;OXYV>INv`|wPu$B7SbKJZcMWDzlmBrCiyh*O9bd8Z$1T7A0d zQlOK2JP|l&d-^N_=%lfYlS2)Af~TW+ z#LgJ%u)lql_XCFVMkHfRVGGW!C_u%U9ys)8)UA^JmZ<3dI|>5>2((et;nm`6-s@ZI zYfwN?33-ODud4u61D*a1qGItmyK#ClUef~GRK;EWQMOK(l@pT#_p^b)!3IUt5x%## z`0BYi;pJy1w+^ZN$?o*X<4jUxcU^>a2}Q0Q zD``iACGy+pZ1Er42o|OrnO2B=dxiJ?sl$(33Y;Ai({n|V@=**u7JEsm(_fA+jCF?D zi+9GQaC*`%1nf&4gkGqs$B*@0UQ{xLiI-aWgG1h}M_CL#c#pr$Y7`Dz@dJ$Xf!75) zeak*z#(U3V-7v*a1g}cJ++QK%!Mz`Q$pY3pgi`Z`BUzL#c57m0nheHTo72Q)}p z#r7B8sZIi~qN=a2C@D#!EihQc^8~zUdnoAs!j`^u_6swg8;Q0|;h*P_BENMe>c8S8 z{7U>}(49cJx~T9p#!eIGKV^EEy0ilMf8MaOsE1MYkhyFpxC~l}Q7gN{$%WbG_gR-f z?>e(2xYrUr`Ce}=RcELt$AD3$3FRgqzXVu-yasTv!V7^Hvjk6 z|9{4{5g8&GNk)?Y$+Tu`4sfhOj`jcKPV2bNhO~G8{ki}1583(pD=z=%!+)<0`JRBw z1wa2M`y1VTHR<~Q=?fyV4*wb1YRv=N&E!;x;Mkyl^TF_zi8jpVzAb-KXNA=A?X6ax ze+%tF`hih12bm6$Os#d1|3#hLzLjwyDjxhmYHjB{8C7^jD6Uz=ELuxMO<-U4ffm)8 zvMdZKMy%|RH;5vUQB^tHZWBHg}{Kh)gg zkvM72M}Q4b*}yV^gg z#H{oEeS=hR|3QPQlUu<|Y6Ww3w@PcO>oP(ZA641VTNHa7in&d(Bdv9Ng3CAXF>nya zU8g0LdhlR*)cZ5$fu?3D+iy?KzAf{Wd^m4GdPH1vvVwv^Uwg<@CeX#6VzccqdP0$zyI4`<4p_| z<^~F`o(v^#nWBu$J)gt6B`RUp_aHnN``?%Mf72_r%%JeONk|y9@UeG#?+QPfIHbXk z9<{dQ|G*E@*MB_c8d)#J0r`R9=@#IQ8`cuP^v!SSkG6vM3Tz|5G|{f>faelik1tCw zcXw0ln(#B1osULI8t!@@r=QJ=oNY*PeB!JgPQ&}CX>fYB-yGrd7$OcvNoE6Bg1f_W zHI`Dm+>)Uuc~1j^%)Hinth=p>1gC!*L+7MFA=m)YcEiJwHh{#e42N6&BBLq^mEdv zOe`^xj4Wf83eiE|jwd1J&w}H;V@FIYsIVvg7V6!_C^%j9@w{+mJM6v0R8dhdW3zQD?PqwQ7Q+AQck3)-@J1YQ0v4b88FQqs+W{xKTl?<=v@b*wP5=x5 zn(Kr7vr{IWuz;3qQD`+_l%fb25|y7nx2>r-5k2nBJ#0XG3INbNp^qj zVdRq4Qr~n07%z(p$8sK*brb9!ycbWz>%kt4KIxlAqmy&jv=c?Ja7sN=*2E#R^!P}i z#<}}D?a9jGq1_u1<1V!68s=2C!oIN-u z1q2ooa4h^!4%dg5U5=JcemUPOD`4sGt!@8BbMBnCXu0j!V^f-JyD!KwWF5xd`uw#6 zQo+^Q&8*vLjPd-UP1moqdXYCcwAN= zK?aD{_vg5iH&Q(p6eFPTZ(pk_{Qw>=1Mk^4V-uu6=QJ%or4+K8;;R-HhomQI#1RD5 zf2j%V@6P}~1>_p(2H<3qciu$|4>$xwQ6O=SGw=?dfbVm3+MLk_XkI~DnhbcJLp7Rr`v7EZC&FbdRzk}d}g6It>^$=nOz^=}gm?emL`a3B{b1?-r z2pL+>V1_J2#4ygQnVM)4x`7bTRQ$ii|)s{2~pVL=ZdBmjmpmD6TI9_&Kzmv9XYPAJ_%S zn!rp(h;H731q4=kh+Yn-6=|2Fy*oWpeicj(+{j&Ze@+2^p{ela*~y|ZQDV)*u5v}K z91ZWo?s3D-O$HFb1k$>_1^p`)JS_#@qZ)v)$$CiP|#KbKXzefCk&jn8{^|g zBv^@wiGb{e=juAE>gvkb+FmDklu!?l1x}Um*OHPX;?_Qx{>TBD95e4-!It(mxY}rK zb*MKcz;WxSxYXqv5M%s#9GuSX7-Cc+Pf=4 zuN4?K!fd?5s>nNE%>&bgPj=KKNxPbu{;MnNtHkKVCFltx-8~@@B zkI&=BkE!LGH$?d?DbzESY_Uglh7V4C&OQN@0dx#F8wel-b^f~!7}}@axfOvY$60qb zd{+sscL%~{WoOfI{S(n>t@D|7@l{N*>q*D437QM*60tQ ziqYaYGqi^JHLT=5hil0JkqZC>EzaA0d&2bt+X&V9S^p;|9frLI2cMY2$@KnOQ3U$; zK(?%mS=nG|T4I3h_B(;>*-59n9ZT!I8*1<)VU~R{R!Rj4l!=vtAB;+GU2aL6zfaOm zFE;1Rzv(ItUM70Ih|ME`5xu0grE1B0`u2mR)gs^3QVh4deYR+&q@;i;9R8Vch2S(; z{WyjE%;D#!NC@yuZDjh;_v)-SSC654H~rJZA?B!_`^4AS84Yw)P^rZX51ZR7nh`6s zAx2zLU48%7+@q=7*st(O-8~$i2I#L4WSusgv{)No{HVKorX>8&4*zVT<Ydw7MhQ*BN>XfW6aZD-C1 zVnb)6Dfgq6DJfUlXo(+7JFm7 zh8>=SYx(9vgu5~&Ke{s}gfIt&XqS-*Gi=}s0deOm)a^4S$)9bDo&{71Fi1)GY0?LP@pT)eFk{jmiI;xv*!ZWUH(+;yLRE4?zTSTU(FP^c)z}q zAD648gU7;^2MK)0-O}dP*2fjb&~*hv+yE;SBH0cL3R2mUD#B7x34uFdzXP=bRzqkr zVz8@&mnDx5R;ipX;er7ub71JE>G$8az8|9}d{rq~(f9uPsxYrw!2~YLa>$*SoI{(Q zbeR5D$EWD300EHSe~$`g!H;I(F>wJVDL6m&zyb!J4>>%BiKy-yb>%VQ{Nuu5H3ID9Z??_U?yv$QIqp#`b%Wq6JfO3`#l(%+Jg& zlk*oY3=cjOA~Nq_=t4#^*sFvY>yVPb%~{uyl`o&>TQvTS)F8Gzw1tVUuxE2s<7#Li zHV@|M`KC zz1iU<05a~&;DkI{3EPl(!Ka;x;1+YtX#)9bk#rQ+v$2?tYs$&%#xj8~Ke)G&q8q$> zcLrvD#5mk4y{G~{aai=uo;$~5(P;1jnv8vig!G1}@4e)KIxAdjYaN*>A)P*3=L%E} zZgpjbp|C)+eDu#B^P!pr1RjT>m*(b1&&W?l8{d0t>b~N|(D-=2(i?-{O3!#Nw)FIl zjg+Ak0u?w8ZQN}SA2`5JXb{|LiTu(SQ0qTh3IhOkNYr8{IF99Ca5UQW)$m08`J>bA zK0t!?Uv4BojPjsog!}*w{Hm(+XA_%@vUSjd9mIVcI_i^V%G)tn!JE%5ailprZ}!WI zaRi@s#i!%>pqO*|@I_{b_r(egF-@G6E7A{=iyaL zf@2eA9N+YG(b7`i7%}hXfFYn$dlX_nm<(e&_ldEcREbO*hN>0rn3A7%i8n28U9W#$ z51$nc<4BA^M#ltt5bD=l?>>8W9x1dXm=A-y5A&m~q>md$>$)OSgJ3`S!wCgu8^>dX zve_Xk^iDuGPHehi-A+my);}{l%XZmkh-#Qa2<8CdnYvSA_0C5TRC3524wtc*dA*`}R%iF6x*t1*iaEYfyMx^Tl-56uiKz zZQlv2YkWLEB#1a>fFC=oL__5tOBA69FNGZGT&M2ry0Ji>c1ZE!URv6r=X-XI z3>x)?3=omE@=2P4X7<~CeK!e@-|#R)D4y;~H%c*vT^1iU;4wCDeMhMpt8=>h85<_O z+F9%|gxAdE{F*9k-faSjD(~|3IpA43UD^8|Fz|g?1%J1=+-rIi$=N( zs}b*)CW-&-nFdkNxAG-CN$7<5n$@=9YINFCndYI=Obl)|FS8gi!aOJ?MTd+T6c(Xe zfDx4D3XNo3yN$|CM|P{}`}Z$Co?~m!x7lrdtOnr6-pJuzDwh|2!KNyR=*#w@3&ZmCu%!CuOfl=QW^Ig~VhyG1(gqN3} zLBwi1RH8w*3thA>yTe+UV?z1tpw!j4EyV_7(rXdt0TSS;Hs3HZIyV5VwNz`42Q;>@9;ce2v2&J5a#`hQ?Z%K-AuSIhQM zyzHeg>&cg{?6{pHxtg?WC&u>kmh)gYHSe)^5F(!+o_1uA$=-(9b8~ZOJ6zeBWgAk> zp=I`O6N5DF87(i(cWZss{Z!XHQAGZ_IUdJ&Sx;p1veLbtB^$h|KcKYb&$i>0U%A9~S+GXUF*r z^B%;+>*U=;5|2{1zpt_BZ28Yf0dcVnPE_T zSumvfs|)#23c$=Wv73C*JDXHKQApLyGONA#t3%?Mz;!;HESKmivhSwBPLO302rcpS zd`mD54T~ynJP8L%{kkLgYa5&$ZYf-Q~2tZcz;02!kM~FIv(PY*fEGB%g`eFgS3=DFKKT zsx16Qs+MHbvgY3%bQR3MSs(%cI}*-L;+0G;o@dHj7lb|dHP8syi~!m=*B2qX-otWuwK2Bbk_^bx8ErHKYT-(i+do< zuvxGsU@vTHZVvRh!^u(~uJu$mrfYL^6zaMXKB9C!0L;1T+1J_&Zj#}9JtFYU=ln)^ zVLE^ApSSE(?d@8N5#czvEp=!nCSqYY4}?{$&U0GERNKzuV6BsEbnKmNvLJ9&fU29( zK0)AI2s=0m{KGOb5723#zM*w2yhd2$&!0cT)!ZWvTOXBBrX5fU9aDGFl6~ej=dC_^ z!RMru0~3GIG9PK8@58XKvxYqz%(aoJ2}Wn)tV&O7Ywwz4tTX>Le-yW~FJ)(-ZKli3 z;k38#9BRJb^`zBu;2}3h0;b1dIlIG^L2GNf?X|kLCg}9%oT>aUFm_aIJmVwL+regg zBx~@b?7&>JN+bN*{&47;=QynYJZfng!1tPFhz1(NmGucAd*!$`Pf_^?`5RPr`g0PK?w2h$n?^qZd+?Bg@kB_NouOegdMWLd zk2%Y5V|n}L{bZz&`+f+5bl8nR^u8KgTD>UF7VksAq!8D3kZ zdP7dR8%mdZ_)e@B?2k6d(wmlpw3g_V?;h^#)fY^Y&ga_XRDo#N+55epG*N}+bnSKF!yRdL!HmIDo0Z%)>3dg?XYZlqie)hlcK7Og_X@byGI*rICm( zs$O`c4=IaU8eXKMLuVEDP26!vV3>IrL_UJeSnKo~{(sUm-!|RI zc6E2}p1-v%v9tseLe;pFn|aPRA(e=ieU8S^Z0TD3x1ZmF+Kpf5 z4UL}_H}Rchl2=sZ74Fl*xH`{a{VQB@vyAz}8}wAeuyN#Fc0Xs89mHQXfQ`GUvokO~ zJvilk$!Q792k)mr{RM_vtGT z%`GfYIyyU<2rPl> zd`a#@1qQy!??2oSsY5L8#4aLvb(1`8N_16bjN8MeIH_$+ePOZhL5I||u3Ra03BW1} zykd&HVDcoe9NIT`ZPN(1{;6T}j$A2}K=1sTujWeTGH{XAlKt#O-PI*JNk$LRB*2lX z*QUitNd> z{lR_AZ&jmo?nFi=Te1BlLSj=u(?76m{dUY7qjJ`K%LT&Nd8G@+@CANv zlf0sKB$;daOJuzLiUuJY*u#FXmmuD{+_fL$*C*3x^5AKs+(8n`wcv4S_PCFK<;04rCy6Uh}rTxQG3_$8MS-iW<;BKqgX)(2UH84CUTcbdU}ct z)!Q3;7%}O`eEJd{pE(5wX|VV9?XbXF52$}SOBOtf2`y+!DxP|K(7i;rE02nz$bKgL z>>SG{qMq6H4`QW~g>(~>--TKF0%-QLt{^+L9gc62JONS8xy*}G{T_>+YrtQA%x8z`~ zbkVRqlXN+^*%8Nmh}o{}Un^{0rBfYd0%(~Bk4mn8vN6_jt}4u|W|G=7ujj<%todWQ z+hM!)tF?})Z8#!cs~#=6amseu=zv87T?WPkI8EIa+bapFT_{)1uNO&LQ)m0qNzYuO z!?5y0`*=BbISnmqJp`;!V*4(2>(>$N3FpomC{?K4SD$Uw8{vj`;at1@N=ekz z1}xl5ULCB3LkjJ%fmxGn5SEL|rVk&f|CpK@D{Lj2VYh*s`DFyqo=&=KH(MSRU3aCc z{e@a`%SrdE48`lM)I`{O(qXgl?p$iW(vmO9!$Nk=Keun(lD%myX#ROt4d{dx8@AM@ z8&A#Jhp6i#d^=wJADb-scTm^BtNy0#bk`qc4mRH@a?Jm6v=?kUd^sQBy6%RtYA1GMw|u}2J_D$LAg*YG#J>j0 zG6B89=2R!A#I`GK1^!&u z=TBYMzSL?n_Bq$(u$N&}M)K%dGU}-iI8gQXf`#b(P`Ty?Y3pa^b^ESG;XDqI>SuOsmdzbq6t%% z!(zdj#3bdxC{+XaROY^4nTwU%Rh^sEbD$P8nuU}d7i{kIDumf$8mlK}sOsst2hw9A zv;$r!&*@T{ZqEU)&GkR&od!db*H2-q`#qW)s`HLt_)9j!#H3|MQHkHlZ#DhVo?U3Q z&L&w+3;cFljZ)lAMRg{n^~249MY&+5wOcPUGgsfK#oi=~aRLfgpK)iNugw(2va_?Z zxYp9eDzX^wPp@9>fzC$F=K1bOE|<@%?&lqo#I!E61d&QfODm}c4n$dSR+?um$s`KB zaG$tdfQO|WVY9}JOCuuR0#GL#c#dkr7j`sP@2jMZPx+XSMNhD?`(b#o2_ukVsF2AxZEPTOOA58E${efPgAx#g zi>aT6z7A5~T3cIf&a@e47`q@LSrc&qnki)Aq2mgARu)d#lu$K%zT4xM&08TH?IZ0s zN|qi`J85gXV$WPu)Sb3_`U-brv&km`pG`h=9NwhdHk#?D_sn$Nh29NtP;MnNt*x}{ z7u)?^MJt5En0sU1?;$65e7!3}zdhDD_w&E7Yzm#UT3+y7iVl(oE$dpo`=RUC6Qq{b zX_r@4jXzzxmg77}x#8bY)aBH;X$JZ0#TYSgP(m1s*6HvS!*(d)Km!M&d;7z z`PQ2E3ZC6^&-InpKl~g{j51t}2XX8(8M+S(j+ATKaGu~L2f4y}MUR?VnuC-Y*Qz%u zsocV?Zl7(nEFv9}pD5=I?4r|p{%v9QyeMaN3`b1jv=;WW*MF}B5&SqLq zFrf5-M}+PBy@0>!iYHu3ZytE|61ShNL9A@T0E!9te+{4-gaPy@Ec#U_6ia>n6L96ClS7PMFp0bZ)WHMF4l$3( z9k?joyVulGQvT3H9634!O$6ziup&V~D!qNP=oO_(QJK!fmTKsr9Af5tdX5oHuay5;d@?Ktt zqD5{ezj_sf73KisI)?0erHWYio}OMjFpa)+U_`BK2Ar;5o-4CE_m-EZDyH{<;BtVu zsd)Q>G{!X_;LxQB>koMN*#4J>^AYgU@x9wmcJ4y2(7v~1pQWWG8RG|y7x^ib*`Yto zvoah;ya}{Sa;0b4dW~p|-l$hmbr=OP^n)9-0xMBD$ry-AqSM>ZFzHo{rRi=Ov_c-G8Y9%G70T?JjgW6I+g>yz zmShDU!rcOq$zz>Fh2%E7>E27QY^s^~wX~UA1T(St+&`y!>(t}N^=y)p<0>$?;*C_i zVP#dE#ut`@!~nE8X*PRV|99g|}^;N}rwc^#Hikiz6JfOIe9kiR76u_*OdH7TYZkRD8}RJ|MKKFpT& zd7qK77*a0Q1^I$MK)jz=^KSBoH6Pta@8Ecl-uoFL6Pne^LmeFymEtR7<+-B;}B$4R`VJg;b z#u}}cHshh0rJJj5CL-@T;HvHfG1i4Z6oB@7ZRuCy&KI>_B9s);ZTRbS}}2C=V-zRc3iCZ6|U|0YC%XW?Mt}Q?HcnurS*5%J#!)((dy+ z;UmRMQOzcUAhRil4jFp+>r0axgbb|V$%%#-yW!qVKraXS5=KH+vYtu0kZQM=xxo&k zJv(}gFfh`v(Ve%lVx5m=&mO_5#Tw( z6#=0Vs5N$Crm%BCM9C4WuV1k6mF&HC_U`hahkI^$YynCv3+V?YRj#vdS2mjW>?se}H%cgwFqn;z zH4H+P0x;AO8~(OGO7fZ?bW+na`n(YPf{A(?>2^YyNH8tdhxl!10X>658RlgWM~?K) zyNRSMRC8#dU0KBY>jpI-Cf&UVuN>r@@+?o^T54QgUL}N_w^Zr)3#REv2g2tC zVJt{#b?-_D@GE7WmNXFfRg!Uf*4S)LY23X_GCDdc7ea4d zAJsiogg#Ka!|S<7t)711k|{u=!Hti=xf8+^6=zOEPWTrINv7<|%+@|E6l`+mHgFK(V#jOR6@E)7B4e8C4lrV{K4h>PaWv9{fU8yB;n{xD0+wk z3O>S8pa-`><(Yq5%jzr!M3~CM|BOVDPX?uz#fig_waa)+Ck#HTo;9IG;Yu_v5n)5a&R&{RJa-b3 zgu&q_gVTKj$jR^_#^dk>|I+Djo2_;Ocs@Us7Z36K1(`{`+etkvF1{qaBt;Pw-m0v!NULh40kC1hyL(DROw7opNJy&X4{0 z(G)rdKnMM_YoPPj5`#K+P-H+DT?;7Be?+s7Zq9Thc7xP@zqS^hrG`U6Lf zgyL}mY=yGjk;9Uae)3Z%ruhp+yMIeNf;D=t!uT*24yI)|-Jq;Re_{r;1%e+?dkVt7 zjwaL0q9EZ26)j#s*y}?aTWFTM4uvxk#Wkh}=;~sc%PeU<@8n-GgqJHk-6txH`(jIr z$q^o&J0AorHm_n+!(kBr;>BrV#%ugZz}Qp*rgZ?Fss1F1;ostpk5NS51Fz7|UAy+~ zV}8(O?$YXjmBjD4aucIp{bD2vNu3(o4q>zb-E%;Gu)fUeRnH(>%St zjeaB+$l>G1nXz(`; zX{JPp+$IN$tvU20j)*tE1H8q*lf7q6^hIF<{Ty*w#GwZ=nUeC8se0cu)(@1gUrA8^ zm|qmhok;&~DU3<1=U4|n#I0^+eqLk;!3oTzmOT&OzeQtQGVJ>Ju^=P>hf<-9RW^{*T~NW@e6d2SXSr?asG>LIH9KjTskdg#Llkas+QLPmQ>mC{N@|qrIvd)u;rFl zE`3EjMl1C(at;o6WL+>xTJOQ?3F3%7>wNJDJni~RDp2|lMaH|V4&)IKgO=B7*HsPD zcvBxr4y4HFdIR)`L^h`B_o2FdaOF=2ohrC+1oQ)kkp=|*0o9n;gvrUA`Zz>zMT`Ae zY(IVO;iQ2JkuW$jhmF-x$UH4>w#dg;HNQ8ERoDle=#44ScU_$tvu@4YYet%#J?GUz zmCvxeJj>ZN<2Cs+Jb!6bYRsI+sWmdWot-rsES0P8B$d;f+JZZe$$rSc{jE!6%9_Ce_X_C2pS|4JFx zH~A5J`e>=$( zN8n3an}s{X)8l_o|0CMIr2cr#Bvp{V{kG#u%})yi7ODr4(5Ul%gUXAQZ|T>gTJ5QJU6T3yn)4FfRTul_y#M)6|NHOU?LOrZ81Vme zH7g>eV8r8C^#9|(+Ikgmhxi=-_h01_z@_w`!Q}t{N7zxSzMtv>>}3DfKSsXg-oFLa z|NSRD*rv2^-+v9#OaH*O?|+swri?aR`LRNxLg=gf7@2hY~?_FXy`=?2jMq(SZRtFof&d*aF7np&=peIh>;u52v** zjyt1~(z;-it#cog(3DoHy!U8LUW`BSGBulBeR^i$I&_ENz)mficpvyb25CQL!Gnc8 zF6h*O$D7g$FwNwrHzx>g+`+__QT3DxuD{>=rZ}Dk417!L6rb@Ob*2zzGA|G6jOkHD z1OVht*rVsBu0)f^e_DNB2d5mY73eT!yqn?}WZasQg!T^g9H6cUm77${;F+?Q6&a;#@l8_shC zA}4?jh{G_4WU~H3D&f=dTBAY)A;4V_iu(TZx#!5%o=r<0qA5pcLARmg63n;+p|lXH zA-KH!W_`_)!ufPFpCe}pf}R6tlSCSN8|>`t8bpPLi|m!JK@E8)dJXjTYnL|Hd_He& zDoHIam)*!-`g*Q^%x8_PRYTZw6c!aV#-j7Y_r1kNnDz_)!JMsh0=*QKtBzbp_?LEY zhz^XUdq&2u54ItYvvWd`g$}OhWX7T@f}@8v+|(zryR3T|I6&Iq!EpLPPdX&)`2BJy zC#OEWLD>=KY01Iqxh(NW7GW^Yc%Z+|JlNybME)JPQ{z(lVx849p}6v8wy`(;!QI!d z83OquX_%N!YdRxQ-ibg-^vZ4(#}kt{qs++Rp^@p1o~ZB#9X$Q&+6|Ev+vEFf&Ts+x;E2iVctD9nwM#+z1>3cps3nac9Nif)vrb%J9b1p})1dPv^0WJ5aq!Ng4XQTBMcEP_X*E z$bu9EeZPne^QHVQ_W})Ot&ZQg1tMIM>G6ZH8c1|uSw>3U=qM#sZKl+XDC+`@|2+DA38FM&77lNB=_aKgvMlV@n{v+gd;QfM7k#^*L(zY}-b}Qga!5(b zZ3|y@s7bY#F3bKTdd*|BWv>4AcXr81UX?S4mClPk-EfztZeXxJk^gQfFQs_oxsPFb za_KVf=WLtem8?6;hr3>Ea-BYNY4E_!Icx)oOy==>0{cIDgumPJg2)8&?`@u5p4R9C zcgnw!zUqT99^>ZkY>^>klkT`#EIGr7N(Du|RC z!4>A+>)OChX4(yiY_7JsEDyGX7p%`xqu=S}Ea5VY1 zbXmqF4ezvQOy}>l?#9Mo8?Q0>d5+bw+5Dx^>Xjt}cKv}4vP52&cuu1q<2S1^gGPjl z7XNq;YkDm|c5KzEZ1eU>0m{RxDO_e*VQ8VcP3u9xTVn5iK~1z&pAfP=Qi9^Coog?R zti}Cuj*eWQqjPb)oGTu~^CdK&e-j+vML;5TMD2KQ)2=Lt@vmq9T5h8Dkw>Q%V)v^W z8go5cD?(5!U~V4;1uUQl+aTS`G@GM>bK|^<3NLe6%QMtz5Rh{GJI-0Kbrd6W%(2D1 z$4?P)R5&ho1=mBN*%L0C1w|W?O6f9nKtfUih1XDmHuZD~Nf;Ima3ymaQyVepJN~sS zdQlIV(cj1>EQ`kQX+jQ2II{rDtbmm@ELxK04tSHqG)+lq1^~3$A zfoRX6x;8CCNSL_(Iov5_w?^_ZoYod+5iHT<=oG5M;^7kP;5MZ|7l;vu9~p zf7qA-4vYS;5LBsI7HZu5vTcWR5Oy# zwvFKYeWmR9{d;`pF5s(>^}+V?GlFwSLB(&Th=o`ZI?EP9b zwl_j5n`k8Q+X(SVha(!We_(*}H2TJvcU1z;3Y1Up(9mc^T4yPH{xRN^-i;-h3Zri= zKY!N2f(MaTUxIeaGvT%EjuPxRvL-}a`_>Of9M>)DJ6j12An>$;77crlcSWL(Mm|V{ z#fY0hYa8=eI9lQWnpYP%5DX`7RZ{fq>@iI~-P$Ly4f?xQR*)0vdPGTSHyZt!?yW>D z+UfMRD>|BTh$umaTHIlkt;M3Va*m(xT(X0#>}*D2GBN2#Hw%g%u*8VuztC8R3JWJE zr!1gR;ZbiyiW(%ZbNJGuggsbD{rt!Bh%Yk3lO547XH!~Eiulk`H+nq%ES4NcOmP+` zJgRCN%`DR?Ve*_EP3GM_y)=+J62CLX%_GOAr|iE0lK{<>B484^G|&>A@BmnUKO8f? z+f@;4tf53X9;3^+CST|_Vr!I>@fpB6fTPB{|;aihSTR&YHHbWpP?r< z=}6W=I@@k)>Y-77X>zd^4=C)7@#3ufdenFs;y8IuzEVITF{i>z@dz4b{|&&5EJgsP zqWNciA5g)FCGor!GwF10t3g|g8pXKD(k(^MIWj}KD4UGqo{g=>Ze9OsJN=b48{rlK zAt9y2kW)gT3Ux-hC$G>*4x0Mq_jH-MkmNt~E4~w3e$hB6s=ThQ?$n#>!%<(~^>9kJ zH2>paTJ2o0iN{LfN)>b@W_s|9!2;z4{ zK?cEtfiON(xNW5?C%QZW01QSD^y98cqpn}|Fok3JsunFS@VnP|BSuNa)rT1>AgDTp zEG8Wh+i+JQ5%R?WgN}EI3M7UW9&O%^?(FUDqi=*+j9(sd?XUI+Myt0~tGo1;AbKak z39XiPxq1Z)Km5P9{+OGO{lbAjA;u5j`~x!|T7B~0`UA4kK) zFn>eiwm+kCl3PFkSrUZ^8NTRAf_kX^^L19DX!(>D_whRyK?$oae|ez!hDzl7;V<_u zW9{_~KFk{LF64xV9}P|o_<2UMQw!MB3lea?BO{gAO<4`-`S=^Z05R+RHTER=;kPno~UE?!%_izs(C4DeFtSPf< zyNis9P2tQJ^pfFXoYWO-GvP))=a`{ka(WJRephM8A#Pi7eN~>L{hMSAds$hBat+|x zPSLV9LL4bt3i~)YYdhUqfK>Q%fiWh{eC?AohRboo5hB~r_yYWZ<0i>~#OKOIdfp$` z1z6ssTlLPror5OKcB;_fnV>@^x7e2%4rfxqf61 z`XO~O;`fD9M2YPioD;mjQi%$|r$gweI3*OS%Z-UIyjMt|Qo^;Dr#2!L&rk?$tXajO z8Qip=hJ@I=?YjK8G8?(HMZkC7+U5a#<-0V$xQK(}pFMkCq z@Iw&pRF52j?O=Ui!G#zM<+^DHu?XL-f#LvGUs&1%wF>rh1;RuB0ia9R#}NVqvY>BR zaswhd!{E>VY!rELN#1wJ?ko#znTga{qe8#l25JN?V8XD-ZyZ8%V zt45txFlRxo75I<|ZDWX-qefULNILB%@f0Jq*8m1MlJ)Rqf0IE+4QoNRhM}SCBUzma z*fPcKm&HgELr_1%zIv2Nx;e2p-+}ld^vh6k0kx;O%_^!io3#IZ**swrClKaP5w)t)3kk!(Vu4ZHZms@>>8yxX}IxS;<8s(!7usNn};Sr>N-eA6C&!XuWY> zMGbmRTR<4%Hrl5~$A252QQC)f0VD9EcQuxfjqKhtKSGeJG1i4Q(B7eo<%?7H0-tUk zi+@?^_nU_?+FP8EF1PWSvoIcb36eZ6Vr6+xPw?D`irYrEi#T???VH{~b&VC*bF%Epoa-2bw6#Y`nvdpiq!%!E zjE%8sulFfGHEJH5xzoYC)a1_#;kr52_P-ID)0-YD4<9}HYAomgK?`pAM~@PyZsf>T z*IZOgFLvtxvgyrB5QO=CyzhUQ-uv}2tBQv%8Pv1ou&Q`G@dz2K3ZY%!bm4FQ@$2io z&@({d{zRS==!-zL>Ir@Q-X@%BS0<8~*~~2M{%XX*zpQ%rLdVL+lmQodtD&I>P36ri z0vA5(oxn4brVvnk5@S@|-+HSf^AYYtxGbYn%PlS*@^RjDbuIN)cY$BemJjU1>~htw zjBjc3)<(Sliei{RQO6a!s^|_4n>By?R$hyR*TBApB_6uIuBXhe`2hw8SQesAxk;he zELiHkjGZ`2B6}wWJ$$vqT{_ExU%;)|6{nlcFEU!%0b+?*j^~F)Ki2A=FKzr2Q_9*9 zn_so*<&RHtPti{|rPV0=7xBgqaMR(|R)S#U0!uB9e0GV3`xItD970HqJJ&b@@sj6! zANl6Ys>iD&?km^C0$&dk5(E`>+ZPtM$gbsBQy`+(1R#o^6IAdj!{>ZNl>ZU>j_J3C zCR~RoyY#z=pKqy0won2f+|tsaVsDSUSO#LyH^4cSb#spDD+7Z7 z49L$}bn#h)%(EV%)=2MA)p8M~@(+XAv>~3KAk^$TIux{`zEw)fIM9arW8Y;sf4Q-pt zM;{`+xi_A%J~{S=B2K8y_JBvh2Tq*=$>wp(sOj8rEJ=qIKR$8gXv+xX|5A%TNq~O& z*8M}y$mmX`+xw~*p29JPwg^?ecRm9%9A{y(#qj&Lfb|);k6yr58YSaEexTI%4N~3idZgsG zjLzTcaPfKFYx~(YR}Tk|?gJCvVe;g6qnwX)TCCAIo~SPBi{ZdP}I`)5>(86{+;XRjP^#lW(I}c>>qm3kwUSW`Can zQ{kMt(Y8?K*>ln!exjd3xvHwG_a8pIFZ@;i@1`rC_0p_9J*O@zadugX7ps_Jb!AOwi4&2J05ioPuZlBVl26yoPjo^##O&&^hcTV1 zMVobuf>A;Ls2c zpW^bl%7M>Y7b_cv6w1xb98vf$%ok&BKC3%&isf;#8n)!;fMUmO&JL)?3&Ih2AL0s5 zug{?au|LEQM4ekk ze;T{27%C-Z=C|Klg+JUHWg%G1-Alz!@Mj-Cej7F+WSMhJ=GstU3{t_F_NuVZ&u1&x z=8C$&j$ONAFV=oa^*}-qNYfnJnh@~he1Aeaa=Hr!V`Lx@-X>~kN6t~^qw`BkgdC*R z(nR2+MtTeJ^C|>0E8(ond~cN9E{38EvdHqv%DnW%)6N%38$IW4dV1EuIdNG-qYQf) zlsO)Se-8>WGe6QPvnq>=+~nk$2L~J_q9jsx8gg!L;RKx<^r z%g?SKD;cnWv7a(P|5CVAe}GSl4hGXoh&qE_!Ts zMEF-+Cl$k^`@0Xz)6oaR02e`MknHuNO-e=`_c3sM9SD{szIOCFdp3vF#yg85zhoo^ z1pJeTda}i$ftG`z1|f9kF?3i-oCVyDcUHi0bvrH(kcYygbw&S*n!J3gut}Jf*CaFP-Gm9x~5wC zd*9h2gs}X1u0v<^<=&aQeqHKk(dvQi6HGT^hdW zM^pt&1e1|IB`?}&Sy+PNi#c^tA7E(&A8In6>#h!qi@1BR4E*7rd2ZZZUK_BHDgdzp zf7>=tp}>BxMwIjK_EO`MQP@1=6Y^77v)b>~4)uTQGeM6kEH3VDdc5S_rBbq~BvWHS z=u^-B8F}C&@@*LPCSqU#`DhffUcY8a#wJrl}B#V%HZFystvpqji{ zqPs2{+QcWvJw9@1_e{n)`P?yaJQ3srAzF&L!F8zqr_9fWw3SH-5`DP*Ha9oXWc2hr ze((N$qf^Wo9ph~mEM2AD*H%AY(`g`~=G%Yb1Stki6}OJ?N&Wl$k3NmLBx68N?;PEJ9+@UblVAY~9GNvlJajH_tqQ}-4!*(`?#9mAP2MK5{q)IECA ztnc#i5=q5fU1jA;1K2G{I!!i~cgq*7)^vQ#cIut-5m%H$oI6wnT%!DA&*!>+X`V>0 zUKwvsv*QPwWQ1q5<#)U4DV63up>JU|>Q)L5zb?wI^h}CB#)QNC;*$ ziLp(NtW-Q2!fAfe-t-B#`hJNcG?456>pSA7lRC>c?&PvWHK_IZlOD}pHoDVS9d|-~ zw!9*Dsp$sV5Es3?Xtx3Lh$WHX*)9>cu`+e^*s=Y`k4KSl<}ua^gsHIZS>+w(U1hB+ z?yQtoxVP`*{zR-j)r-~)xa?I7*`v{fWGn1j0p*zIj z@W6M=GFu1gncaK#oKCz%OGkJ9{CR<6;p8dxg(XpOA!i^KAgZI0#z=esDxCXt3=FP? zx|ja8K1BB_T>)>ocfgh;KCJ%iF8^erb|sfj;<51gdA?+#vE7YP7Sm`7||biE8$^X=YO zop0E+4Bz#EvhFZ*Mm$P;6xzt^0)M~}%(XU+xA&V9W4nm^Ha2aZKvhFS{=oOpiJ-kR zP+g~7HtISr2kqFw z-v+HT%gZjS9Le8f6P0a^E&-Z0C{^T2&kp%x2sY||=VG$i{4-DQl@v~*r%N~>&>J`s z7NW>$SYG}RE;$xRmg-Z|3;cFs&`ZO~c)`j_QX?|$!`kVSb-ZEQltb_7ByyY&a_=H_ zv?}Wwe99X(mTNVzn&u|Y@%)}zh?z@tctN^ca?Aa)$^H9Fwr0f+`zkxFc;D7!y_iho ze(ZTro5>~v!|Eeua8A0cixn~l+?UKIauRsxJGxz2uGHG)MN4k%%-LKKxBgZqZv7dXNWPwr z)aGVMZbQrLRK!hoHm1+{LkBy^S}zIF7IlSrmPc2b^#i_q42AKj@$gi(@VW-?(eWv! z*Va@|>2i95T#la#Hn({hB?=o-W@=b*4O{A#^#AtMh@hsxH*qc3So%`aKF^s))U-@Y zcWQ@BM;ZzV%``a3w6v`9cZxYJ8ud;KKkcOL+^97=Wt7+7&82iEuU`BP7bSZ&PDD&} z;wnb(Z1ag*|5Aq40o}Vcyh8Q;!J45+Pzh6$aa?N{W)(GC>K~?`(|D{&XsR_+TElom zBqjX}H~%P(|H_VsX@ZJFDo`iM7`0LqdYm3PevuBOOJ|yfM$%sL#PO`i5s01m_>DXI zl8cx1uOKhmE1+f6xFP0d+n^MH^gBwo^bz3opI6pIaId(_g8Hx4)_Pn6A#v-oYV-_w z@Zbn)f7gj@m(IMHT!6ClBUE4@CE?%MR^;@oUP1K;EiS2@4pVI7&iR$hFIsQ-hrjvb z&J*X8+vwJJh8gZ8Zf;;_iq@IDi;BMg_>twk@ncNl0PcE$e1%=PAB8C?utudSvp?i*u4iF%%r^?_N==$Q z|MsmmdSnw}rJFx>6D;bUl@pzO-08wKT5%b0zhy7^DKB$eD_^MardFJTp54XdT6w_g zkYsk2?W66SjO%jM?!`&*a=d>lUl=)^t;{)P8od+~p<_1^JZ_VN37T@@`< z$|{syi6VP7P$JS$%ARGf>`_UwLr7M3B|F(<6B3eSZ?gC1KF+@1$9>n z_IE&;sevl;QFk-big|0rb3T=qDW9#2O+BuNtfF0DkB)o~)n@7#nXK z$Zx&fYChQ^6%as)xtww z8{1J+(^sMX(ghZM(SpUkgWmB8sw2i{Y=z?H=ib^E713_v)Z9 znRVk9_vWmftk@IO{%B-)YM6ii%s79}<>=yWY3<9+WPZ1>4!=%KQ$ki0e-LxIV>O=o6uS&7+3*Rgl7zmwoTG|1O0n(Hw$_(%BASukFFgQ;K z>lngHZr)KQ+aZ&r%0-P;44#qej!rLj9_jd$+WklAK5=9}G%*=0b>qR?%)xo;T~X0f z*a_zr+r8{o;Zuvv+Yi+c%VD{jnhO{__fkrpqv_?cwR z>|YEUbFmu~K!1Ye$?pC0S0H@0$`f>6KaYVE=uWRdRm4=<4orSqP}Be<)YoyIJTtVv z>|$@Z2k-As{F5#k+Y6mGKm(rHT&uO+DvU?{M%hCctuKIcbt*NSjQF={=vXeJE)5C_ z!LJ-&TpR^GBLFrqcU@+9`K~>~j?`sy?lc~X0S6c_YiSWG?k~R<4Py*1mtA`Q{{2wt z%FVZ79o&|#59%!~Ghh1p_DuIuqPa(K0WlH9(uwf)*@(upjhZzzH+z-!TC4qP5lD01 zPy*}By@11Y?cyOiDh#)&flwrL6Q~RuWUuQ;(m-G^TTc7&<3}L?0o%V!#-tRLP-gvX zZ^j6u(_7(>67~z|7SkM8?#o9CUWU&Je@Uym=(1e+ZBeVR1$x^Kd&8t(+dW=o%wB^E zXarWTkADxrG!7~pS^5XR)LkK*mKcH4(Y=M!Fz>^yF}*L<->wmfgV3$=Xh|*}2t85F|0;s|T&0l=`CW}4lEmhTF z|Lufco;=Z&NV(}Y1^o!QS0$dhV*njJ6ZyMjF}+w-X^>^dBtXD?g+aU~9T}aR5!5Ta zbh)~rfe2MnAxtkffx{BsQ(5l#-|u&zO90`|uxJ7rcZ=LehO?|VxJHX_(WoJGZndI1j_oF1ycqm1+D(- z>RP9-L&X^d^XadOVr>OG3<_rTj08e`&<)^y6RPryBC2p$Eiq|z8v|Hc zg;SiW(z_nPcN38itenah^kV7LkA{90EI$u9{C;<|L%EY3~Qg`;^LKK z8CN8q^L|Ntf;E}hq{>M&rWjda2L3ChZG2Ke%{E_0nN5s&7o++$ur8Z<3jDR~vKyNe0F7(s}1;|o3oER1E(u5}k*{YL=LGrJH|-kN0nI7$3H z$6kyb;WS7?z#ln-;3e(Ll=;?^+H(mL-bW>JU z#w#L@K`gZ6V1|U}@s@gbPp%8nqrkk2j~|5p5~){@j2{ssQH%>#S69V`^YN||fAwzb zS9Dyz3m&a~eI~=X?fUilg00O%U3O#4uuu{^K*{IuQpm1dc(C+`oSrxf6qW5fa8}zp zIKYJf@^iq8rz`Gp0ch;|un7+rcZ$SAfbj3Ez>ti|F6y{J3)#Yr-X(4V@C`GF%=PQi zNJRMcXL5AO-(Mii%U*)}_F>Ex3)b3lrp|)#kFH1iEDaXt?~03Ees2(??442S&*T1O zO9UcCJY8qz6plxDQsY0QyDfD+_=f#zb$xwbsHv!1aTGW6oF%a~-t3@LaVzMqfW>W9kB?e3mE6#gYQbZGO-ChZ={$z0dzi!+B^IgD|$M;~M6)z##y0g}2E@h2L! z@TlLlPmh?b^xAB7djWQZ*HPDugFP~DjY)2l+x;R-vNZ^vFQiu^%) z60_V6nfnsog|h{|VAFv?Z-(9i8xRIUPJcNwK2775R6IPJX4WW5)xle<-Re!CYpXR8 z?0H*BrS#$Xn`iBJs;@UOmz@f`79XRdbr7pMHh#9Z1qI`p?SQ`EcHsw`;YEu9CgMt$fwI$HIHM_1HN?el4~D~-Qe1!nQ1Kq|+_1CnjuQ&MUb${B}D@i$RXvYYQk zF)gjB*f)q;9Oxr|T{qb~S(m?SpB+Ke0u}ex#&zeFamI6Ry)k#4t`mqPg7qNL0PU|5 z8)PA;RZ+Isrx531KOA~Cy*k3`XYW@{o8u=<+~0KSEnTfcy2{ZnRbz@g=`Zn=Aa>$d zNWP5w7r#-jmuPbQrs#Rj=cEh;?jc*7B#28PApJzdwo+`o&dqa3{*eiIBVsC?mGzjg zw0Gt&^;_hQOiXA)9KqnOe9eHVq9T?MlWi?TNmR8~k-}aX73Ej80*eUEomW*QJFcv> za7QtNCX5{pWVW^gjcyDcZ$mQ^ZYtfckx+B-yK`CqXE+&|$;MDZf}Raykm~OV-xK_b z+dvp)`RJVH(`7_FeJS?t)xmm`;QdBzOifMCS=Mr);F>&ldwW~_{;LmjvJM%!YQG$? zmIIe@%DVN5h)4I1B?J;z0fraDeoz-+8^3tX7L?e^-Zd*t1m%9hktEPq_a~V>=k%dK{k+sN%lak)|x85u=)m$sV7~Mp8 z9}BH5u;abA-gwPuB{O=;epfE zd>x-Ce2-2!T~aiyOu`23thv_AnYA9XC|4VU?>!bZcqSp?Mi#Z6#`liV)`z9td!_t| z(At?Rrx9Ru_Ua*nAkS2%4X?VlVn@(GbiJGVsA|_ts;wQn(s#>mdev}hw!M3uR>DQ% z57I4tyoN@(CHUjkT^l-&p6PJVK5a^jfynlq!2E=wOZ~gw<`^{|4nO|<@x?gHPyEYn zd{gR!6hndIaNj3DI|6u46h z7s(l&K0lKQtelHaWRRkJ)o>EX1wR+tg9s2r1%{OzL_XA6f0D0AeAL(petMrmL!l&G zm8fO&@<^}(xYF^}@}$5Ll_iN($*7rqBy9$#cIF>Z%fXW2l%3euYc@m@Nx1pAdA5ge z-h#-tPWcv|%XGo?MDaSkB6XDrH7hX&0$m?EPzV}94`w)0k;lg&o@LuAT zLm~6*=TDY~XJ4>t``+;gVb|_a#Y=mBrBpt6AXO!K4r_;v4JD+fbXag>c?DGiZN>pm zm}^5KonOEHDT$eN+Pyj!R`w3173sm@nT;t4Vtz2QC%x=T5JpwvCxS~$8wDfefdF=o z$)R`P3Xwx?4p!`;LsqrcZZR5XN6>!6zPH_vga5EMLk+f6I=Z_1)3tn@Et_200sWyhtB@t=f z=iMn76O)p>;C8%p$#wMaI2%(_gxL+iu`G1>yVrj;!?^VtM}VW#8C-Dj?=+rY`AgvC z6C>@t3mqsFRVU=NLW6@PH5(r)FsWc9HCbpwj#q|Cw0CN1jP`-mj)_}|&5HK~=?di= zddsQ+z>zln5eN@s&WzhKIm^Z|ERX53-r@lH(cXT=%8CV0a(L?fgCqA}xOVN3`sTO( zNRGOaFJH`hMG@ton!qf-6Brqt8mrRb5AYBDwp6sW zUs3TOjW+>GsCh0hW~&D38G1u#k%EqB%l@2B0e|6vG%WxL#wmvkKJK zidpUpVdy1Hd3Tgzf4!HHRfyKO9m#(2ONAEO>Cuo+$uJ-gs$-onuc25qQ z9thA@hKfb&@hrebu|(@!U`R*>1Q%~ou6_y+39GnUw94|~gG}q0eC+CVoVm8Ncr2!S z&cRLo!{9Mq{|#*WrDLCZ*L{BQ=M=PuUKMo(E4)NjI{Ir|0??_0A8vbW6dcrb#azd= zeDy)7@t#~lJ}xw3U6E>j$tJ%@Nh7?vdg^U=!PmL?|30~a#gtJ{=*{omBIdi7|F%AW zOMWGLYw0>hx9B0TQaN;}4??(kZ~Cq;NxkzI@zbHDAY^3FnJVtG)6tEm7@fP7Ab0%a z$)_+zjs&wMN8gQ9(*REMe{0<#GdR=#r6~s_1w=gErA{nv;g5~r4!1m$K<#nOAZXBi! zk(I{8nv*7P_#|HbYdKE100V-9dCq>J-cQR&-6;_TLj@AuDtgV%o|5nz?~p^3`imAl zrqVLhegW91vb{chLMCLGzh93h zrQ?{0`rwa}SRz@l-=aS8sMsTt$~rfla#p9u*@x5 zN^L;oHMwx1FABb*nfgQ`RpPo&J?byLx;K)Vicg1?*$Ge6_9t<>uM-)UIZ0Tj-QhWF zW+*3{!}?!JVy+m?E)E$RiE~35S{F>|9pn??Zdyp!AtV^4-xp-s45sZfIMw^B3&UFT zZ+&_8G%h@2U)Fu6R+}QHLtljLW;rD`r__1$>aIF3t9Q={AMC4N?TMJAbiI|Pz_eV_ zZb&A)-}H_ESBN((3jP@)5#NzplCPO4a!$>O&bHZi@agUu5pz?n#C(B zHoqeyn&(vK710^<#`SgTt;g-d&l>JCt`7|FxA|yNFesmOTFTroIEjyOOSvyO*@RE6 zvnHc9WBixEQcV5Vi7aiXQbSDFNih>)+*s}wRqV}Pt=DL3%CCUt$!;^Z80xvh&}W1c z(5;2b53}>Q(+fg_2+uG$S&(`KEPWBc^c6d<#=>7dI z%+l%R7rKHj_CX`Yg06^+BQRh@-*n<>ex^{W&n-=$2WU8Ii&#|Owm{zb?DGuz9 zB^)&3F6)*>#)M^pFkn4@_w~Y1U8uZc%odBVkrYi_(K& zcUV8h=-S}pSasbsb~d)zX8zVHfYN*sgwxd4<`#nhYVJ0nP;5rX#zYZ6169N^a*W{q~q9a7X^pH6z8qIuf* zFz0k@LF4*I3^FM}DEQMv@}$j(iJ8~u_3QGn$SaDV3Z2LwP|)e(ATFX3{XK-qsOCL! z=cqz9vplus82qT2edb5mQgn;jnB2tF)Rlm^hUYu%#)2b^I?{Z&T?WmYnr?{>wj*;9 zk%axN#VaTEGG|hPK`Kdyq-xdPftK&o6rKAlchtrXy5tw!jx(B2`HJ&BIO)mLb3228 zP<4s9|M+{J(A$)Ww;~1#2_ekbTkHIp_sACQ3bTI9iqc(gZfHVuW4=G?V_D~*1v9?1;)$`7{uVIEgGCIL}?&RiHLD`1M8FIwjAUxEI zC_017HZUsga?;;}L^$vhU-^etW*7HwNFRbxwGsk5444dx^_9*G%P-8nFd8ucGvQgH*X$dntp`bh8qcmy=&bY zrtp#t&#*ImHRA7_Uq(eg-Ah`F125PtryJ46y>+2;>ubduufKoil0M>nK~V=o4t%6G z6L|t})%l2QofUfw_Iv~&5W-f@UJ5WO5y>jaAX8TooQ1t+=)rLTc?=YtJtKhX^Re9R8N8wvsf$5mben&7J3d zG&k2qijfjcFebci(y^M*EoVPYSzNUK9+`ik>m_HZ?^1%Qsz=#qxn5Rh3-x1D0%O-8 zzD8QK9>jhx$86F#Lffd9!@`0WPl$r`rUy`HQzp(WPS)yW=Biuk`ZpzDJZb9OFJU{M zE`?;q9X55ELNue}X%r1lMIZl>^z^&}tg7weaB*VBY*S*F^Aw5hU=W7HuS!e*bKdmY zDu0I=g~s{LPPh8}>n_DXD3w;%R^e3oIBY2sFuk-?sOLZ3FHU+ysszyqjCvw##lH8G z+1U6!k+YaeB^=I0trS+D87pgMW0tFfVc=;9huq?2iZ-u*q8~@3y4A|a1h#>n4I|WO=W06hQL+g_581ReZkL^wr<)S3W9!t zV*5yt?VT6G7=hEDd-OllXD%W{Ty^{aC1|7$!0}hZxdOO%lOP1c0UP8OfxCpcZe@<37l%xb@)iLZZF7h zj2Q$-cG$n1gBQk^Ud*nY{GzfV>@TfB>N#q;roU2BK4-^Nn^cWfRr^m~Z?}w6yBHj_ z{Q>y|rE784ePdi(O|7ji^+JVM7TSexr}Em9Gh=G1y!fG)KyvQ|ecI`v~JWyvUStRZ0gT3iC#%mDR^$yKCu&)aWY5VPGn zcId z)R^W`(Txe|FE^7+Qzg__R)Vx^Tb#^ttaHAYq=>a@JjiLu9Q$jj+7?y#VYoy;is|%m zrvm$6WC&ZEkKQChjv0i_J;TEe*Q01A*Z)d8b%m`2DJ4~OcT;RrSC2Z{)zFjs(|~N> zWT@MCK>EEp0ntT>2o_gevlm2vl6Rzai_jz6MTGS4#iG&huVFl$jr%1} zH?BZo=Gypmpr$_;YH0>1ld$^l3NGuXF;{?gBmvyVt<~NJXexDvb<)seB0Oswy!HAE zAIXULAT%p|lv<%8Ho{QQU9?P$HDyVeF_dXt?{z*%c$ub(vtP$n$sd9y@bx2B&UH*`oev~h;JJcN{Eg1!r}qBj#Svv*3{R>rF>yfS6BbK zag&%K|4Qw?q+mm_Ef?E=m#zO|QeRzZ%hl#ao6ZhJ8Frk6A{X7Ba%KX?%Z`4$(NKD} zB=M&K`bCJ%?z}=g7b8^p=+IxoD3dC81pNPyNc){wtJ58&`@oT!ceK79x@dz}^dgHH z2)~3ZlvPa34U$BtaMIN2=*dY54(EnV2t+`;N=q-l5i;BhunW!XAt&q<2>2mdT-;d1 z8}_i#5v|sRfZuqLsRip)5vrY5HVf00V^c_ku&!gHECjfA}6?uK{uX#r5^JEdowTA%0I@SLz5z z^6acFg-2YvyDl4b<^{&YGy=_3i&I$8eqblsH7uED=PXCZ#)h%Ts*B_cg0SLu+5oau z!-!~BY`EgP4Rn9L7sV`>-_C9_BTC#U7zu#f^9xIOwN+ObQ+m)YK74#XLH>+piCAXp z*vtHbSbyEi)8WH93R)n5l;riVuwPA&)JC24AbV1${-Y1EBBW+416J=1&tp;P{>M!D zrZ*ev>ytk{$PUHksrlC*d3kxZxv5Yo&0Y=#2OGg~$LUQ1z=?5I0Q?I?3Ui$v<<>%X zH@gVC>tiepA(2OHBryuI$rpF>ZAtotB)oF(&|CL1^_USp2iuGvcJvh0qF{(H+K%6j}aSC$@A%`JR;ljw$m`2n;uAj4QrvD^OK{;gick~J- z#weA$oX40A#{Sx^j#lj^dn`MCOwjB(5h4ms61E1=7FLZ~C<&j%GN+w4sPy3;*d!g&<{^9hnL*qt9B+pCdikTi{up?0 z?yV(Xj%0;$b-W|p4<0e(xLw5tWNxTI=kL!$=mTL39N1V22IjfEv5Xz|DrnL|TuFUj zg}?sV8oBZxz*=hU(Yd)ne&Q-mfiA-3aHO_X@&5gbfO!?KE(~(?HhCR!TrRO78j+Is zi4eSEsu(shQaktJR^s;zWT^hP1Co{nO}xS91+vaMm)>(;j_S_WWn7ZRZb2K{7gW*5Rxt4=(y@6hcVni#am<4xKwZnJR0XG-CA*t(&V8#}UeKfQ;k3Q;AQ?nSJJu-XhK@4g47l-u zg^8JYd9&DQ2MjzXs(!%`rd1)#Z`yUy=B@w&Pl;!4fJeof7wP#|6c2;cY&TWNiu&q+ za&Qe}P%S=5_>Eqaco-rq2~IT4i9gq|!#_kxUsKn1>kXgbDY%iiR6h<5hI9?|x$z)v z*YAGv(3tv$I6z=f?ibA!rgq^WxFAUYWXB5T?JN;Xb1x%BFJ+h_)kP% z#0(M3aiW7V@Ohz}>EQl4KR4G6SE(l95o3!&I|rlXNig<&idNiUT-qIu#=VwEG5XI<^ zV*-@0QIDUqR4_$jF}FOJ=>mIdXv?;!n=i-4RH zk1B%A`QG+Cm6rzsisstYw>+ktw`isP7`Eq7c1NO}#-l&Ou9+N$Q(WQ@iZ5Q>hRt$c zxksj4gtc;FF%s_jtK=ye8D;f?BfO|<3EfA{txBNV8&(${&`K1&Dt|5*%&A%r!%JKO zt3yi{02s@2QEGj4qjTQ0B75N_U0bB@TNzgCYwun;1u^2zT_ikCl`Ocw2xAgV1{lL4 z(;y%`K#)`D2}CJsE)(>Gkq(1_N%Ni`=4jGsgm_5JL|*^;)K%TRwMfD&tz(JBM2>BG z`0(cPT_}z48I$N`wk3`6@$=993S-QGb->e8`qu5+UkN84yt(}jTdVsi*$$ISM%QAu z_8l+(caFJ;x%s()AzdvVS~36dEWQOo7Ni(ED>^*&a0(fNyl~9nkqL`4u>eA1dk$3Ca}0lVpw?UYmY`kV`3Yls)YFKOmxPm5{KT(jQiUjS zKdhYfm%L&)h|M0POuw9uZUZ{7kK4uG4P8BelJ3&UdQd`rKA(L^;$4}F(}!R{hyu&p z70&8^KTqhiDd-0qT%189EQd3CvXo{>KBu#_b!tU205yBIe13Mr#ne|U*=18biXcNk zp^v9_N#5hIb94)iE7+g`Ac=*%?dD3z%iR?HPf4eMyY?ZnL>n7xc)M*4zRHk7)NoAH z_BA-?hiH$;s~GJE8-)otM*4^e3-ifwsc)G!6oKq60wTL0|c{k z@^Ohv5GONB5B=zDDT54%Mocg6uHBx)QpA#xxcbk9U9Srj*b&l9(6!Usj1E&B*@hKp zsYibzwz!MyUlJ2TZoyJdOH2Obe(VVpU*R2cMoLGKbI!^sx<65SggluNUA`<0q{1IsxP5Y`e4_DmQ z%BblNgY$K7ghB~R@-L%=toR55uibBji$-T^(iJ5GTw%x>I1lqUmZc6Yq-)7apvJ&z zzZ2Wc@(QU;m+pfIp~PK2RPNDCNGHd`_akz^)Xo%##U56-dF!R7pTE7~r(1uXj<`}V zxBHdl{`bs7xHa*>WIrtu;pR1@2q+aEY($GkA#TNO4_)+1kN~Wk$lo0p(9_Cp`;8nN zGP3&LDc`PWW{WJBF{%x8w0Rx&J9-&;6aWkiQxv=Se@`)Cupd!NO-cM`0RiuNOV(6@ zn>ElAmZD$D?Q%}4%-tJZt?aB~nwD)zdha`ev zclD;l0^bXjptjz8ng^n>QuR8y~`_j*uj3uGSkL4){pdzy83wjWAs!jxm%c`T6tZ zdo*TOpR`9?t7`-d{-WekVtTs^mcc=$`CGMZQtiW^L7D32X`NmwzTUjnKZ9#Z$6Z{(y2&;|i7 zz`PBMd8On(7a(KZTHGq~fX)}<9HcqA3%bA~bX8tnGCqKiym5t$y-l9L6qzNLuc&yn zgxhN;~EZLK)Pf zb~UHj@}SI3P)uvkI(nl?ixwE6eIV#*>NH16)cCm4AD*9Fq(68NI;n02H8p;~@P^}y z)Ag4wLdkgm-xKb6Vw8p?%{~uyMvTz?gM&*6iKR`~>W_Xi((L9=z3jOkmzT~($NeZ= zP>Y`xyblo|*i~1>s=0Q#myM1#;F|*8z+k6y0{R5b&4;Y}sOriA99hfXx{l(f=A?{T zRv|p*2y%FY`Vmz-r(|s70ZPh>vDBh6Kr#>{#{}UEcDrRz$k~l0`(dK4-L)S2@Tb9N z;fb`*9Tbehl@Jm^;PfWdWnZ8vj6L@)k@V5DHiZ|S9v52S9+9%$@Q=Pg$> zY<&$gEo%5(>Uii-fn`pVsQHV>h623K>-UJA-;Yr%XbWI>UJy+!n&q#Mid7u#$lyjx zjtwn?^RhUq3OS7%+fK=pHgwb5ovfYA%e7Dm(zWT#sXDqO0659R?b z=Th0F-+8*!NIM!B(6JpfQ;?B?t#>=p48avbA21y0px1AeD_VS)BrYN4yJC+;o|!OL zc5IfRfTDUg(Hk%|Cn{W0?9g6842K!{KqpFSxMFFActTKd#lX5$cdcK-W!aLPUig~g z%!r6^q)ZNL9QfuH%oI))bGeN=1H~@$snEZ?YkXK>Pj2rPLoAf#UiK4S1`L{Uk}tPT zwPe5sgJ+RA9*9T)g%8v1oc1jC&eFl1f2Q2Y8Dc+uD(yGBd)N(+Je)hJjw^d+rS-Ib zi~&oAt<2#L`ymtBm#6<$4wjy~A>g`l6|{)5aG~Z$j~Sn=4-EXcOm>MFDp#ccxpU!?vrYvN8P9MMN3XLhs~flEnb`0 zSFkjB6Q!Q$aHN1K2`Ib-^$@=wYKl6Ketiz^RG{8l4c$dN9T=EoP8ChNxud3K41`!< zuxo|2mS?Ik|2d{fo884*`*!X4(qzC#AP=8CJILUkA5%R)zX*6jC2xbHhj-m=t3S0e zg{Cc}w6EGB2Kwayn{edbK^Yc)>xbLS$ZyoM;L8Lwj&0cF&M)MmRg?1N^4_wx04 z6BQ!*sf*W5Ay9_){@~%m)wSHkH3*!1sqivBHZ~B&C*(U?y`{N2dhzG%=dU7J!MDxm zQm`%o+lBI|MP?74D2M+^0om>+lVsf&`=qK1EwIMKpL*2V)2UmFWT1k)|CCb>!*@MC zBVv$8IQ=v)ors{1AnKmrU~8z~Jh2uFh=aazfBPnJ-YgqMAN+2Of1zQ3x|fBu5}tVz z^gY^@LxBNrtC{`I%o?4%n{+3#IN!luF^S9YIR%qUfWE`W`|;ATEdW=fHrDU=+s(?y z=YcWfjF;C&QIeh`jnhhN{KjiW?#=ta>!N`N^O088jGB~?Pga(CU6}l z%h%$LJ4e?cvk7+?B6r>uChvGM|M~D?TKQuV^%xuwmv3nW523kd_?_3$)pZfkK?-6U z@7Wb2p(%nObJIB~Q3dLUIi8f}F|*&P*MC7}kEbF0O_WrV)*2vk902k0)~$U#zA1&a z>CdE=8rZqSso)>QIt|ju&2P@)wYJSEc(x|WN3k;V2F=gw_zfB8+}>H)Jp5weP$w$B z&5bL&_mF`u(ej>T-oemtjG$jkrkHGluLA+{TB89ixLFh-Tdk4VqobSX@WtPd^canF z?Dj`rPg*dCdWby5dk?gOpegckf;`Z&^O&s*};{78cN=A8yM@B~%I=t}fvtd3smjFkPqfhgNOLF+6+LulzF_=3Q~A8c$U^oA?SAypCZ``6AOdHbcBS|HRoRMi$%DvuHP6G;CiL z#>}>II9P2b{aoU6KeQyNQe<$#((eAO6r`GGuCCjz%FF1~y>V1Z?YeqJKatqi?53d5 z{WbmpeFU>=B2&jGY05|5nmN86liFy_5)_0$;~)%<<$QUB8SvM3v)em7FDf$wmn|J@ zZurY#Oo!HpcZaU9!w^$?x=CV-MwFNL-YPAAhqu@6*>XVSCgeDR88|@*t3IxhN_N5i<-dAfU{k6J$EQ*QwA6P{ii; zcK7ur9E%) z?3Z!ZTmg`VXnZQieEXk1-L9jnpQgXGeRDoBgqU%BwpuD!G#CvHBWz0eETQ&{$X`T~ zEbWDuq9XsH1S*51F^Hhc03`wkCzxBkR(*4QFFyI2>Z_U%oh_4%G|C1%2eHoRoLx+t zlVe?(#b*l8IId%G0eBA5Q%B`TI!xm~etZF7$zOw`xKqk>c={~zFr|2S{_j)q(Fm4M zLcSrsw%eWHHSZ6E0jy{xnLE?6N)0k9-TJrJtqR+vpdiQWr#DTFiYwNPS^o;;jtb7b znujR+1@So%9-Pde9N~h>Qgmf69~{0#IOQd3xKiU%Nguw+Xu{fryleN zej`t=e%eq{&{0Kn7D%(tpXbo4P;&*(3=xTCf8_7m^FV~~d)%6+*15+Z+6WoXW1E#t zRIiUhe1-FQWQsa0G~G zs5d(GAV2KwcTn!Sl-i2OXusOgQiI1=N_bvfXnS~GgTYKq-RD_fOH5Udxo4lRP>^m# ze|6A{MtKK^wI2q2S5HC2$DpHJ@{s4O$vO=WPcxJ+myeCPw&tti)S~mzd$~gn0lGVk z(a7NsuvEQq<6V_BB&LUt!7ZK8Z6Fmq_&|6)g0N$g{j*~i4_o?3Uk1t-9wg<@+FxmP z&V}Vp&fA>L9SmBqRK1l?xk2{F;OvL_s$RY8T4z1Fg09{@^4%co5W_*wi!REB>ab+q z4j4`ZiQykFdX3yaD2PZjxp?s@cJG?i|NV@Rj8&qfr!I?;ntSp3Zep`qRk|H135my3 zYfC$jWAwiYiE0cG%7VX1rmp{Ca0J;(b4Sy+c-gF0&S2m*!M@)o_N#}k!&?@xZ zSbIq#gIy+m;IWI+VH=jB;^L_T?C-21%1^f%@(PG8J(jpNl6`;A?s>+5vXa8gF^dmt zYis_xw5}Hw6ckeRJLt|at-amFqD-4(L&H{$G%*#czD$AQ>PW7liM_Q{ zLUQsBb@hE*?txuTck$v>fqw9%f*E(m$CgtJ&N?T6xD7`efpnY2zmFdeREazTfbh{vrze<}jxQw_!$8x_1v)#!zk zzgY3%A?&5TxfD@&ao5jNM@S04Q$Bt4L!?9ZbqDte;X-nZ2LVt(o`e{b@b5UV-`^WD z&csq4VP!>7vPA7(pbSA{GTbvYRr@jMsG!~Kr(wQ2+yg(xKIGlzjiX6P`Z7v!j@6a> za+8mVW_9=8cXWbENzHv@+R-0Bk__%;4}I`<@RswKzvvcSrRfWXR3$^$J7E}PNLt9q zR16+Gu{1_T;)>PjKFp@U*4i)$-B&YV=C8_wq^50{FZe^V0)3rt?O;rFv`5hC)=Yyz z5^Ol^);&nYhHrnkjX0+UruvAqP^*ZmWpI}Q6{`SJin{$@MRYJ}%Eq5mGgsc)`ISu` z>wB1#YFOTDrgfgK(SQ%CVz6l*8a-rlI{rZmA)9cx9sj`M==kEVTz4I4Bed!FlYgiF z`21L~!*?S;y$9*JXG7%crcqk=_2tD2M0S z?U}2LAiiJ%4m&;k7G$4g_&j5X1($Qu!fNBfj)O1n-hXIja}8lApnMPbS+MW@+%|su zw%VoOBiV5cM;4N8l^jzlG|q$RF;X1U4NaU)Mz4q(Z&&oq-1uFX(~C}AQ|$24ynF2h zp4QDx9n!5AbWZ226>!!@W~dk3s7!#r>w8VlheSpkL+*KhNHA2fU+UV$vd2fswZv?! zdLvAXv~WmRqHxvGu+=06Iwwef1X(G)_UxXHP0Yuaycmm`BpC!(GO$h3_z|bL@?2mEUMgJr>O%{^2`B$dDdqx{$GyHN`n9Vp{B<+{e)$sqvM)QYs~> z!PO=%frr*zizNzg!|GE>XjRseKYdzs9I_G?vYBK8R|b@uNxHU#2lc5bqSH$KFU~KU z75z>7XX{M@vhFZtB{fF$rIBK5%4l?Oy~AesZiz`To8`l9@;%7ge49I`XKQg7qGhZY z!BBj2osIBVV%UiMCU8(810Mpy@smn!ByhF7T9W)jPrq)H3Apirb^J@a*DNUv1#oNQ zJhfe)AqCN_@GM&{^`*;~TwnaY8Xx>(;ORfBzX1tPu>_xZzkjl;j7lgrP+VLeW!AA6D4glhdfZR2~s@jtmycar#j z@b>&TdHT$71+}{N+z>r5Z{U!lhC(;%8W|bw(Tb72y=!Fb6$QL{1>m&-t||-68=b_1 z>+QFX26!~UfpPOe>jgVIRwSO9JjhdllU^%Z1nCOE%YwSXdylRjng#!|R45I3~ z(_%J0BExU;`x?&lE44xb0{bxb{1!BpV^-w-=dC^d56%~Aj*}~qDg5`DK2D5V%R zJ~Xn*u1K2O+2M_m10q7lT1^R4Jhs@HQ(dkqdABE&kL<~#dE9a||xmBOGqh~*jL&z|An zQ4k|_-w6&OT$JG=#g%S6Xh!7k+{sFm!=@FVK5<)~PC}|s6MB9)v|$~dpUa?n+S10HtQ!L%fQATETamGV$d{?d>?7jN zZ-=8CJm8PD4=>1mtA5h+5+K9)EpecrBRLq>A`M8ruI}XKxS8N9-BA2;4dHQFS@ifH zn8D(OLpjG(%hRda37(ugreue(It{pW2pw8{W~SGdU)HIC0)|=l6Rw|*#*zq3j~+8& zh`?}tmF1hd44BNF^1%BJaB)4TY6zY>?IAM*QNWLG{rL0`cGb(`95%NRMhNoVLjwa0 zvkmSAT!DQKEjEEYkdF{|uh4?+`5%TFOQawly&INAIP$TMYWn$8&dzR-&qMEj$|ScK z4%;Y`2ZWY;TU-K5z#E!|UuQ&!4LO`QC;>7udEbaRoZ5!l)N#4j0_#lgtnO=g#RXE)W*1l_Dnur(!I=1HN&t|If)Yf4e!h2*?e}A$*T#+oc zK3%rd*w$9DHpNB618lSUY;)tr*``31#{h7$D@1A{xOTkLX17d$s7$}XSch*T2C?W} z#9dZulh*%IH$Z>n3t6s7rgpZ7XnTgu#P6!Nd`FR`i2z9eiYBb1IVJ}@@3Je+QMIvB z6dX?JMK=^#Ed;ORNF(#gqD_%~t@Xmx*5(;l)9#r~8GSqb(ROP?7s9K3u4)QW6|6dK zZle2#Km3oM^Ceb)z>uC%O6hn~I~s?{n!}Pah_s?IWW1S8+c>xw zuH!C1t<&eSIV^xt3f6*9{qz8cn%_ZkL-b&y!2Js}BK%P})Y9x*NFWp$@%>>k2JfA1 zfQB$VxeZGm&+(@^nGP&^M*Qt*YU{FWRE-@SrGK)*RuFe_2IU0-WIr&XplAK(mG+Ju z>!Fa{5i?_Aae0nr0hu~8+}*3Qe5)k_TIDZ|hUy|J(X`G6GHyT!d>rtq7xQI+9~G?+ zRuKsJVTFcbNzmr7$wNOp3k8+k`Bn;g;Y!cJF%Vb!``j$-?d=H_@V)iky;x&c^(%;8 z1pv%X+*yLLsMuTIWz)ftlM0_ZoKD00)E#xM#ud~KmYZaEn+?mEs8M0&o`#7(BBsl< z(xFG;eU~_{7H2LT9(h$$IXGQ4x=p+zkG5RQq%Bp%8nqFd0&PQ)llwB^+3kLkP^^}C z^mkTY(IU3*9H&!t%3c^B6Sm#Y*uWK8dy@w7hC~a4Zh|1!qUlaZZJ3}*`IK`$uKtwg zCFAS#j0MFo8r(~eKYfCOL*w33JO>n;6khG7=&$sWek;wng@FIX6g+t@6r#7~@o1Sd@-ytOb=I!SYO zzxxJjy7T`KWYJUve##zBahI~dpcH6Suh z2PY5qJY@#16$V-tVB^(+|0*#|EpqLgdQCu3rp;LdZ~p5?0c4L-k*E^1?qsxmgNO8&*bd2+}ipp=hNK%cEPHPf$~* zQZ;F5#oG2f-BmDCNeTr|5~uR9XPuK@^|H=6JNCXJD7#fCA%7P+QMfFZsRQ@@bueJ1 zVQZZW1FSM5-hUg2PrwiSMQRkg#E}3V{7H`(U{H_>9m1knKCz;q+YfkgKqA8YSA(s*m+6Eo&d-e+6)D& z_bj=ADr_v}{$U|*N@Kp;t^xgW{A=T5lY!SeQ4~XMgV8ombll5aEFFNLW0Aq@ z2t2^(1waF6zF*&MLr-_ltbvn<=caps%3C>UTp+}773y9ps!PZhMQW?smFM@9O{#|8 z6?%D9y$X($!|)x?GK_5c0D6KH6A+^}b<%jL9HF=6Aaf24{eZo0-k{cgl1g$GBVIZ( zL_zRaE*>U;;2Q7ROEB-o1{xxlIwzN>n>Yc>U<<~(U)Zrma_EGJp4h z%w;n(3&`26>SSl5;>EU&C!+~<7{EvXXTsMBNi_dn=;<`@Cg9vIYxrWqs}AOfCa)q)@blGw<)PgawKrsOLtc9HZuoSY^( z2420=koNf&n`U;nrp5zT#jD83OOBWJvjskSmnsP@352N8Xgnr!_4%=JyZf*_-xy_= zoRanGV;feuZJA6h|iiMr+hv#rL0{Nk2f%NX%9-b;mCX-+vWkHHfG4$9);sVUYC} zskf-{aC|bxh>W*5eYmr8c@4jWq>j#WeK}YQSPmjYy(eAp3WS7cSy(Dn37-jg z+6NF|N^_m<*?*l*mVM<~7FTreiiUy*_U;94HSFcf8(=()j(&jWT;n_qt}P}4!WtLV zS}0Ldcn^5}jk96bG3z)^HXj7{AfN?R8qlvFlt-i$tOw=gf^bvcR1tlF4LQ6K@ZcA9 ziO<`M;WEL))r9JU?5NLu$)FIf8l#)&` z@pvykzh_hWAn<9YtBTY4(%M3orfV(b6HuC)4xp0tEV4oRu5#1cZf2IXaFX zxUyUiAp>sQns3+G`Ob{yX~PRafgb=htmfGfVOM ztgHqe|Cvc%)u7W06uI~p7X6*OR)|fcwKWOs<(Td@aBVZC=IUISkk^O^4Z==hmQOoa zVD2<_X;&W}nAu|{qWq4MEg7)-bq$=cGtDZFj<59gdsLrNmfPWygxVx`|a!WmX^g~r7+ZaeEvQe zy6@*NUf|=MUYdi?@F_lu{UkfO_)6|K{s5hN$MNS;Xj zqM4s*%t8{i@WTJPU$`S|6(U})klJKr8?XM3yspXT5jGACeO%epZ$GQ)OwE0vaHg91 z!btwhM?|P^!jHL2tzpp0t}wq>sdbL6?eDNZl1(t-82EZgk`odhLcRDQ$#5XQdrjEQ zE%wFlM`wpClTp9P3_58wh?FFw@%Ox_I_UCi>0Qap@|25%D`;cWSrCTM^0IeljoCFv zxi^0ifAm16Ny1dMd;e6`YTNccr!l#&26;3@QUfGo2+$o z&S4v-r3TFhNB)Vv|Hr4jO!NMy&0_qll44v}QMq#ycYbzWmzmnJ$wgU2D-sx9khT`5 zB%W1h^_8yhfEJ86>X^I!FSg`5WE||9Qwp3yLs&+&i_5!eEb{j~CT&=tEpPu~miV`_ zeXMhj{#wt1xZ(FWg}sKwL8|$S2y@|QVk&!N^e`s>db2NjofA z3sh7|v2M&Q>gK2j_-?NW$dCBi9L7JV{McZN*RMUhbj`eTZFo*UeZ9+qeK^+Un_Ac6 zzN~9L)oBF7Ad2y)#Kx$C%jzTQe=)Sr6cBlT9nf_W*GSOhplSB-@fa#`pNf5V-1Od_ zv&2P{c>xjjo7g~x5^U`X+Rl#7++Jk(W)!oGvq{R|Du-dN$(!Qf@ z+|dj&7pT7#Vv_`I`um75zIqLy6^6+%U)>T4SRxJX1GUt5fn!aHf2T| z2}lbq17dulk%JxEoXO9J$jHL-9Gq~#D|v*UVU=@ipZE~x>!Sd6vWg+a+wZ_(4Mqjc z7DUVaYXQJf#EQ;*LC)BbB?Pdr(_wV;6ld2W$42IgS;@q0T?!TrRu&wMB+jUiOfL!z zqN+!qpDu>*^S0HggBymEmJXTOm~Y+o8T;-d0Z3il1p@r>sxi+q;GKQv{oz;V_iEV% ztRpk%~|xf#}7p6$5eFXMAFMgokzV>64a5M<*$Q&b)1P8{u*9r54+IGs)bA z`4K@E23Y;O}i?Y1!4@DpNb1Lk{x-WhssQMJjlZg=8pm0(gD zOh7y1U32i2$|aau;#u!Zs)^La*UL%DVD2>Q0Wy25p^^k(-hha}iA3(<-4BkA&&Tb?87ShjUJ-!g&Si0O@mcO=x!?q%@ z^kAxns5QTW6Dvb;SPX9_7mN*rW*IOYfd)x3`vBZ+Q9a=wL(yNs3xF*u0t|u4ZoI=kNd>lzTfeTam!D+V)C;&7d+CWCLJB z_vf2)?~C7GO1qEeQR%5uWI`(Hx-1iA3UZXGrVwP<21>_E$a$TuJvx8pONz0Ofs#WJ zuTHrc_36{@*W?Tb+vc6Xah?KgH3-@P+4OKG@`NsA000-$2giIkL5|ru{>kGvJCmwf zKx23gpXdQJ7sf!(l5RfsvbVSQ_t8=q={BHhXei^P@f)x)U`uobQYUB{l00Zd0hF8p zqy%ChxDg-;3@}Wn?yQ&D07vAh?=cq;Mj!NfFgo|kU%vxY3gh@DuL}U{2w2@~7}=)= zLkGO{*&JsTLE?5E#_TFrvHtYM{TX0aV{WOE^hqABh4`|>BSCXq9CQNvJIb8MaGUiD z>n$yJXQo?uDJ9(AK!Oadq##L$Rx8ui$w=^+2YGQLFf(AgTo$9Eb{jezVIGBT?b-?G zw`?@w;jz%5hG|IQ@eGWNkTyfd%Oh-*0k{|b0a_yHoF{~B zJ6f{to|)M>na20vqc!`rTOGI~$ZlSNOA+*@f*Uam@e+2ejp*-p0Vf3T-0N}l1(C@M zRk+zECL0}~oAn(W%%ewQt;~UtFan1Pd^n-+-r^$kyMj3VjeI!h9xt&(#(qk30~cyS zLdELsXl-HpNdjog3WtGGJ+Eg#1`rL`4W@BHa0ff9RE#+nIpOzF$54nbO~F)ty5iML zIHYODd&U}Vi&X?C0&o?F&Y0)x>+*1mLOIRPH_i>EBh0u;N0o&@6DiWAaRUZ+LYD@K4gk%XFwhjN zG+;0{v?;>*wp;JhISB|QU&TA`oB9qRbFb6PH$z6xk_h3;Hyivc=9Jz(Sfgu$q)P6Fm zb|MB)+OK{!#=Qljag4=OS>4Vhfb>m~cCOnm5#L$}Bnl9NjuqUCTP9D^H)bVk>cbmz zVPKY`_7gIN%P7RYbmd@?7nUxxh~AR+zND4gq5cD=`T{}&EGoUk!ALDE_Sacz}-C57sar+B55v34F z5^o^0G*i2?U@qmcGvvprK1BLV%EcoY0DXKwAqKOxGZB zd?7N&B(ry>G#`+503AW*1Imdrv`&85Tj8V?V~YS|$v={Q ze+}joTOxR1&WErd;dF(7n*%r9Ku=uispokXX(W7PoC=;P$`>g~?!wHfuETv|WFo*D zD$!RjUw-}ntr>8LTJ~uYfOKIy-hQD^7z}hkctQZX3JJ-=B88cmSsL)-~oOuL^n=DtKtEw8AUkoo=0ixV$C zvY!I+NI`BxKE?uir{BFfLl^n-quGZ?+{D5l?^U_a7Yp-&3c;cq`1nHX63~AT)%-># z@UB7e{OOaMi`Cc*mvs0CsNn9%LjNKiF;)?0RJMJCW*ect9 zza(?>0iK&vAN?=krK@!QHdMk04+Q}YBtj%4Z;&QPxKW^pu0coA$pNea+#$5B-0^%N zi%NyYGi5NByMEn9E^+Q1)91%;Wlv_6mL`C&F}3gHEm-v@04YF*HhsZhf(EVDz0M?S zWp|sEzGHvf^+dbBI4Ma~WTd%ymLjgbNXk+D0>nyKJ}2Q2K<@UAodIDT9KnmBLy;Ze z&2!@aBT=_gXfuPH`*y{zajyVohCW?hwjq%LObl_$gZdeI&|$q&1jWLPOu!n1?f3cC z*8J$`8{caYQ#pzU3Y~?Cx-$7{6XbTfxF0`G{QbQJ|0nm|2 zNuO;h2szR~he_<3o$mKx1@Vjy@PofM?{-+tu;VAITKc!lfjUluC6aM+Y{Cg_$pO-+ z^LnGJsIR}N*y-Wvr$%xG(qFJ|0qrl{pfyY=N^5W+MUa zM+5E*a*oHvh$csMja*(HzfhDii;ff@ABfH3KL@dkN;W!%S}-5fm-4?90&^)L{M~%Nq9vmI=5jBbgHHry*|*-($e43;JHRx8IFi9DVg&BJAXPGGF_a zzlR)!P}dgB8Xp{lAX|CfS3rdLv$Ge~bR2%+l-kxcnl zW%rTvmzWlOeGqwn7;Q7a_Q)`Lu&6|)^@49FD3nQoC@nP3bX)8oMw)k8ImJHd*?P4A z^(||qPvGu8n5D72hJ#E5V)}EKECEC|Q2hwN4B#=Iu)EG}YivXJdqyTUwrkg~M}Z~C z*Rqx0L1>HwX2`P0#Tk-Dp!j!Qv?(g?foA>5&3Q-ipfk#Yq9P*ZGh2KC)4&~jSe{zAlS5+oiZU^vh^)_Y2?i&}|+H+Rd zO5G@{K_O7R(Ju?igtc*LTzFVm6A-WS3k#_*B^VF<(4pHN64bta0ie0S4;^OgQbNxJ z;Fz%1SO>$wArbK{hjw0YiD>8=i}v0l0xubUfY9;arq7a+^UfY9wMbU$rx zZ~snB{i^X%MqWugm>hhZ&Zhqy!y5$J6_=$UWm(U&;I|-M;K{3Z0u%||7!2Ik&}y0l zf(6h`%q^}k3JLuVA-&q2BEa82G%2b5$C4*P?CN^p!i+uWHfVgH^Ap-3pCaMaij6Fw#PkP}pPZQ=B}V7v7g+Rwmqop|REk{X!s&hy6~kC2ej_*y&c zcNzr{K*tFzJ=otayca75CKpVj$ehu?F^BOaVj0z!{>P&2Xz=ER?MDaZzaH&L)-`r@ zMHh5(fHWQ^QJos!uTVSuF)*M?;)n9tk^=?P7jx(RZP~i%kh&w*qmAODRWmyJlHR0e2HHCBE|;mj}cy zh#YS3kp;dA2HFd*J8WWZl;Z)!R8JaTIm219hcPwqs_MfbQMMg3dVu|=z_l7Tmn{qQ z29PY!GS}OEcvR*(_E0NwcC^{oa!H^DcjdAFvlK$<70nON@1JAzpFAE}1=ienaO>vH`R5uJ!wdtm@7Y!rY#kOpwEHdWAw%#SZfb^~%X8_; z*rNM4-MET@nw3nYi(wZR#_B?Bb|zeBT&nmS`{{R^jg=RD5BHN(Z_ttyv6Z6H;6*0~ zTM@Jn)t}sAYr$X@v@JF=@}b9H!`!^$4AFPgJee|h4)*t3{%A*;j|>G_YgF8=`hMEFF%+$A8<+v)!FOzk>)R3o|pO z-2OeE&*Yp7%CoWp-%m=n$SvkFry)mDS0>y+3oT(hBO3#C?K2JwRYyPA4eUO;CH1);C z(_Ze?)|}niHtsUpUi}FEu>F^gyp*KIPZ!FKOcl&kC~lF zegQ^J{EM#?BI2UohoD!~;DkcL#OHLs(4XK6liaJ|z#i~?!W2ItCS+UYlv^06Q;|Fv z#FcvDYSBRo^vs-`vX>ZwVZNFQ%5Y}^i&BA(c`F4kXbV_OeVxG~F0QCo=9AUb#L(E( zlvVEb^iD7Z3-hpu$!h40gXv5`^M+k^3+pWwR#t;(1DCLSy&8`mJx{Z%cWL?Z2z>F( zhRefv2&7X&({EnOGOSt0(u?%=symN3YqRk38elN|u&7iXCY`+Ee?7WAy`7`#E_b); zP!;Ye8*7?jjR(vCfN={T47(DZ_Wk=k1J?u1g^{Y8FqvJWrHIe#)9-{=CGNgBO9tW} z>JZ?p>f>4{{5vImi`d%3O?4bZs9wE(Ek30v46KIJpeY#(J-r+_=Y%y+souF08?TfZ z{s5ORjZ7V*B*zo!wEz0n4Q!LKb1lQ8$<2ZB+_> zi+8&}ER*g^jOfQ?WDgHh22l!Ye0-pCiQ!F@bpY#<^mT_6{CedxO-Xh)qva zVu&7YioCoxt7nSBfw|Sx=u?JeeNzG6Q*~jV^Wt$o^rKAYnqOhrHC7 zNGuc*T^|=z?(TOwHS|2-qH8#Zi(R>=pYq@?(d@j@$~|A|dd3tx^*v+3YZ8`L$kE`{ z&c!#g;-A2y8W>!Ba_#qsF&d#T%ELEGqfcU6zUP?itqts(%xpG$YyDBVBqTe~=#*ja z8p&HDx2ofa!OXg5*b7%Ng?TfaU*kP+KbQ0=5JiVQfxNHL884fwc$I+<$zz4g-$;E- zeiU39a{LJ1hls|M`?8$)$MFlF zqQtQ189KOobI_WjXPW7)ao$excZ52z<-{M&Zu#mF8+|ERp!pFe{IuH0%XP+*@DwG;5Zv zGNtgZ^=`l*3yN-juG@lLe;XaeVORi|1}Pcw7t?5?v~FYnGWzyY&yo#&%o9P7!2f7k zC11ZnD^8#m1yYxTg@H2j@ehaLX`mdc5%w({^;o2G*Q=or@cOG(VB--Xg+|{<`?=#Y z@Wu3AZ-g8yv(9=(j)b5f#T*e`+JN5cA=AUo0b2dQR+wtP4o+SaE_U6$ST>B!E} z;7_dOu9FU`T}&9On}I0xLY6~Nd+x5O?Rzyi>&=VvB* zsdh>5>g|X-@*hl^=M-djCmp)gY2~?TN14inTVZ>^1dGphIj(ZAZUvL_f}VwCAv5)a zHz_G8vs_M|NY0VxDtFD=t{#P$TXKd0mkwBd^d8{EbMjYww<|c~tg$&cVmaE6>k3qu zHY@5Rj?c=rgQE*_g=bU*Bs`F*o;%V%MXG^D^I?*~&!_846_l6U@2+c|`Z4#O>c!Tqq(rjs;gm4^ zUM<7C4W0ggD+|WA7&v3@8Q67`00-X2M@UciNg+I{y7ZnN+Nw7_+Au2@RUxI6sqS7O zygMtIIPm9bntlo?bc~hY>&Gu&f1xF{0X7RMcn%2(+B+`Yp{$m;Mi>iOxw{MR@ zQ!PVJpFUK#k{r(wT~K!@Z@}lBlV+z76?An}`xeTpX0s_Rj^v_0Hd6U+bUw2B5skTrWQ^wS5YA>e@|X4 z*Kqm#`8D~jyXpWv0u&ON7?$z%EBWacxA+D4b0LjnYw!OgXAJ!rH{=$2GoxYPeTLvH zr)WYo;Ny&jh6HD}58l5%8s_B?lz+^h7@ee7y z!4=urI>>&C>KaSQIaELI#|9y)X1iX0X|TpwXF~{vGAw`5e79UGH$IHWl4B@w$3}X z6|o^FQh9$vxUsRBnG+S@G5y$bCGlY0!`nLUjYo|{MLb7iQzN?Z0l7bA(%0z{+BLl> z_Q8pFLjul`DG#`qPy;B4Tad~PCBhhv$nbEw_M$#uFdlI=sF5 zvYnrilA;Qs_|imwxjik$_ok7bR7%%9CoDQ2$uM;{gBKPSs!SR%{aPqcB%t=#aVR3ZdH!gZ;;T? z3}}fbCcMqI9a~i#jAFkc(*LSa%S)=-N-tK_wKkYKzuS4hDE-!p*Abz=qr5$d=Ngto zv4)%+9CsjZfF=pXM}JxSNokQKMdzOjk?rnQ&B@Ol2%}Ah*cM9Hy0WqO;aLOZHum;~ zOQVAIxYJ4o<}_4P=@1ozs07uJr0N4r=tGJkYi1rEsc%(oluAw%37L5QX>~^v{hvxtE~f8tigUrrb2k=}3twlDUm#=Yj^v<`Z1C z%)foU()Rh@z+893<^-B*sQ5{pKLN9ry760RGNMfy$h1V&sVQYj!`PB_j~XZvbfVHR zxdY~VKMdB<9@wT8sH>okEGWBN`~LZJFYr*afW%S6DeHEP$E@qe*7$7;k$a?T z%b;p1Rm3l>M})`cVJ!R2m#P-|&3nG0Sq@#g4oHlf2nPCbl6~JgXv|i}pCQLoVBlE_ znH>vLOYi3E%mmdx3k$g^1gun|^9-Dw^U+qjH_Hw;85AXKt5e^Cijo0 zyMmW&EcG#T-=|JWtGr%}g+6xz z7CJTyeMGN0%I%5>8bTkESAJig_t;MHT{xoN4}e6}l*%%xXLvZZa!5oD*)x!n?=cf8 zxQRvTyKLs1f`Tw>J^V8#pHP;W4zBO)7X>#i5pP2VLr+`1lMNx1i(I4ogU@b%>DZTc z&YGMfoDq(RLEsKQhJQga8D+D*%)g|IdMR~l=ipG;nqCsLIhtCOn0i0kMO@vH5uDrX z+5$s}AFwO^rPtpz!G+1RwT15=ug{@f_UZWRNVl=^fZxn642UYyixa9YE*W5#gk%YCK0Cpxy9Xsfck)M> zwyrMm_vKVX>TqT#L`v?r$^lvs*#F_#K_nDya1+4C@;|s~1fiUjk`{2GQ&dXzQvC>7M}-4{sIot;9Mm1b6B~jBbst2uve9 z!bQI}myb4Nk&$tBr8~X~lcWL^7v8vWLA6?}cvaQ=o7x+0X$Dnk!@St1 zmw!G}<6ijE&npM{cCaWup2sKeKDQsIPpae?J{^ zYso9WURwE7?%975?F89>CEz!Sk1J>7iIsTbKSLk1j{#QxV?*eUT6NM}4G zAEEl0Wy0@g`LO80e?G7?^-{#9w@(FoA}>9PT|(rze79xW)A;f|31m!nQ`*(r+pFje;8`_ z>nkR+zVmFBK&Sv1PY_?%h&M6;~(p&aWP%-pLXy&qCEHVi27o8O3L$($x_!9 z{I3fqD8+mW^h`}rx%=#<3Q}^}wahy?;bM*y2GRMDCM}KD7@gEfxZ%`nfCsyQVe#v5Xt%XdvZM{c7${CvzL~O52K5%^<+c(=WK~33ieifH6Y6$ zp$dnC^^&ODKYS{6J-4did@~8Yc~_#h$DHj^-|ki%l#*4VKkvcX9=MV>pRnmMi0|b& zP5;@~N22thE0Mhv?c$aN)1*2QHvA!zzme26wp{o#V?ckaTk9vgv9s^Ky0foaX7hg3 zp!hItXAVaAr6UIhRYD-e)vHya@y1sC{QQeGIDu?*hSvA?6*_>`^3{b zu$cqOTs5$$E+dl;4#ZjCzFmguDIIVmdIpAg5@~7g_ZF6mBvhC3VMqnIC*6d(8WED? z+TBlm7BHel8S^Tprjc;jp#~$x*8$+wdHln5_ZmY#He}O)blOtT=i2XIKE9xb6x^jX zbbZ4kOV%bhJp7NLt#8C##gKwU4wX8h0E>)-?ZbQThnBwnce&;>CvQbYYnqMKzR0mP zQ-Q4v&YJ0BU*r<3H4%rjdvF+`*d;9+!(fkT6J{Qkq5}df8m#?GT~~aThAU*l!ou3R zR=|p0BRxIcX-%2qc;y=zTE*hyQB7>fZG4l%qUAa|CQ#3wZf;NYq)7Ml=c{!k_FPiF zdx=qgs>ykqo}l5JZRPIT3f10`L0$DhSYsx!qS7)rF*sv)6wsE;1}EBk*k#=!wA2SSecH#C}pk6^F$a}@gil7sM`R&~x0Qo~ zbURgac{|0Xdfr3kwi_RS=A}^BU@(~6>Qs3`!XS^$uuPIGq}dOyWre->U+@$(7`tpM zEsflthPKtUcOAcdj($i^A^y0$=?zti4)2q!C$|i-O&O52ddx0q>J~l<0_*vd7iWnr zH|Hi|T@L9KW5tvj0*GzmW}!SlTkYILb?PO<;pA-IjkyyO86TC{(v4isMUoV|yeN004AY&V6}g za9BDI$n8^nkK<+0`Lq{p?Gt$BDK8*|X}gn+6Zp6`d1i3~-BNiLcEYl^fq#ZZaYpar zR<^hO`&7n~dwO_)n1HHEn2HFlUQQ|Is!|_yl}WU=hWT>5AS7X`di4h3upYO*?bEOC zc~>3;)39)J>+c-wJ34ND=Pizmjmm3%+uVw_wjL_cJo|&DXLaHQzv;qnaucr>HFF2% z6FmXY=YQ4`o4{-XXMnp^#)%iw5YR}DQ8ueU7ajF4~+7as< zxc}@a+IB1j{N-852^K`hD((<92b$EH>gcY1Q!_P5GjHn)geZ<#M6s(mI=)`s-XX^1 zYAeGoV!D#ofO69_zBPyw73Mp>o6l?e z0aboM_f&}Zdt%AqY@>r+fvsgKi8?3-=RWSy^fm>pShj>dL)au3s8DLUakeP$M_jpp z0N=uVreP1@4v|r@sezZ8nMm;G-!D};P2a7cGv9q4N)rdqXf&t~3_EbXdI zC`X;X$LdEry%@>;TMHw4@^|M}SBZN2JQoFXQwrrSUZjS!wUwN+9PX&gM8L$`>L&v{Y$$u26Y2H^zHnnZNC|~b(2)+Q|%@90V`Bu+Acsy zA*NDyu#^BrO^B|ZUa85N!$B8l#(Nsuoo6DWSz&Xryb{oxBIlCE9~^ zvbup`;SGN8U5%{;j5>XQLa9?LKBlj4p=re+6FCBaSCO;2IY+B(j>&QMsPUy4@oIM+ z>PUj?d;6u{fbSlQfyca`yu6YI6G_44kl^5`_L)Ao+-!0lD>aI{y(2gTmssAN$!9DL z3p+*{A?rZGRh5r>E=Se=4akC)0P>Kmn-WB7dyY!8S88hNeZ#|fPm*Ht0gO15YW`)OPbAgin9po=Nz8e{X3@}=Y!(a9P2VGdlEp6O!c;o z$n_2SXax#!-O9;Vt2j_x$^DpUXuvEzDYVadNS?!l>N~3^*_Qz;ySFKSsC>eE>1(0h z79ru2gjKOo$Ni#q&K^JqX4cAQ94h#rVl$mJ@n=m739515IO{PLRHmU4ib8e7r)0I< z6{aNGqWK~#xigQWm&?^gsdJIf*-;V&NCP$pXb}?qU6zMwle$n4#^-}YebZJ(oDSsj zE$%h+gP#_kqt-}FXP zZgsWV1v0jv&b>G-X^$Yc;L6_x&lk)&DaWH&`(-!1^g8AODKLk;-D3~s*(etVH=2hkbaj`N&KAliEGE{G8jE_G~w zS!u+f-Ies})!u^ii^uzi5I@2)$VNmfc;e(uO?#f5nvhtI6Odb}qbaZ<{wHBi}R`u4v(;faM=cRuE1B;Eq{=W+%&*kepjJvJhiu2q`=w7+f|)s zbhKL+`R;d=j<$Zzb0AX(%F6KfNT6;=?7J~D1q@|;upQ6-cGWfuq#)5Vjm?1d1D&4OQ6m_w z$B}4X3;+3G*EAz#XSO^rD5Hl}?onwI4QF9ze`sN0qpEIPY~?4|5Cj~nme%7cW9*nv z8D?k!Q)Sto3&>%J*t&F~UI`xF@5^$xZ)uc(D{rey^HqOl)IhFc92!{w2t(eY+EDU% z%R_u0$B1y#3*ic!8V?^n^C0`t_cG9U$j0UPk~~#@qI3B;NTY2C%fbiCxvQV$^fDhb z``$IQ-Cj{u?NJnzn@u1a)h|UrRS%EYSFd)NxtS+Eo$@CkqhYOEA;@V{b~Grn)=S#g zf7`vB?Qe3IQEhbz5?lX=Oguc3c{cq`jGyN927IJnoFOxxs4pwEn9;2fSy61kDRboo6*tl< z2>hh*&qzB|jKCx+YqmY!$x`cVI5$zG5)43hsdk4g4fKTWOVovj*UR|?G-LyDV1DyR z!ecStG*-~HHmasreq+o{fhP@XTPIUoP=5R3#ft`F%E#x#tKwY-!pw-!v9iXitc)3X zY++Uh6ga}7I3fjXiOQmxSwwPOc%FQ}Ut7Ag3*_-s2+pBQN%i!KlZXkq{{jWYG;R-D zYpbKB=g==9@K{45;>HazfRJ-gwr079M1E2^x%tr$)&C5Wo_2D{^YvsRQFGVv11W7} z!rSz*!(}BnHAo%@gil_;(P4zoMx3O@4_0L+0f7u@V={;@f}FD8o&}N*br+ZN^-;7n zRCDb>Fb1x+OszSY4Xbz6u_xS^wI=u1SIPux4T6XN?j3pt`Zlh5dswwOXtZHW%)Gpu zoSMGXn_-)1B5I*Ls41bEDG5T#F49O%1h*2qXyaZZAskP1djA9lGf;M6W_y<^V7!rF%c2hNZPQUOcDU_JvL(&T3<|P~j^ku#9*W_hl-VqxNvMj3W*T zZkI5=*L(R$uU=v=!?Guhp&9~0T2_d&($h8fh$$_w+Z*Na)Po=$z`QcGEODGQ+&MS_ z6$g+-IhB=n9t*Lu$srU~;nbb%ylN>+tvW`C;y14)1HYGVP<0C;1pt4-uU}TBBgCQR z*tXz^XO}cwwpW3Hs$)KWpy7B!2e?klqBVw@cPOd8h>h@yTHfIS{?^B{*ixI3J5bLd z9~h}Q2U~o^yLZW9v;iy(47=ZFhq+8B{B>&#fg@oi!Ec@2K>ie2!EQ4%J8SWE_2W8v z7ZQ)NfKadRoyy72A21G)$d9Y@4S?o~3?Pt3{Z4}#x4YWi)&kS!Y+-Jr3Q#OK@@N%! zX?x-*RXjX$fOH@MJds+wNYg+)7dB>9s4q@Fdm0-T=RAE^rz*#_myh4FKOM-yz9Q3H zqyRmA@)qzZr6nb1pavS+Jq%diYeYv$j}!x*huc6DGy z`xDaSJ#09;_yU+El`|J!cbrt{#?qW6x zf~M7Q1tMajQo)RVuI_ME`(W00I6rCh$En7~M)R3hu3P=7t{P%yPl2Lg2H6ZKV~|@% zzMW-r^7RH%L5|j3;B)P~s$0Hltr#buTKw4HMnFT#Ht=*;c%eee?+>SMM{w#Cs7tYD zv0G3dkrE`9e|$vlpP>|&?Cvg(lFGXE{&weH0?c4OLw$)mMTS2jcI7MK8 zZ@7z5Bi|C#V%>$aej!1@!9D!iU1}d_zKB90m2~7(2R!)LtfW@9&y92{s!Qn#991g( z&dwg|NnMN2_Gls>k~>t!i`cgP<~=Jqz{JaYkmpfOd{rxtW`Fz)f-@i~>5PN0sSX;- z0H8iz0r|<|F1Bokay*t6-0QUx4S{XE3``3U{RMV{Zi8^F<__ptV+C!WAq5pEjvzyz z;48oDdN|q4!p3GM=nv_*iOHuc+6y?2@7bu1>ie2dQGwNz4C=FwB2;Pb?-2L4s7hm5 zx;bMdG!2uKar-mZ4_1hPK87hhjhcMwSc z?UhCS%Wg!blZE04R6sV$ ztPw3$zX;EW3G4K0Z%J3L^q({NG-*wcP9F zJUYm1`~3OA3+LmzR^kO9y=?78JMK)C^J~qCs&Lg4Tn}yoY!OA`^Wt0?D>G1trbSXwfOAET6$eaC zPEI?Cbnc3sdiJ2)cKcA;!ptn9cV0tYJ{&|Eu=~LnWNEZ@ZYd@gkdP!N>TsZmufy~m zR@n6A>tLDkm* zGN$l`bkHTf9az)^U}W9%8;huD@zPGSv7}el?Es?4yF4UhWVwl_E5KePyutnk5#Z1p zJDO^0Iq(UHf=-xTZf8dvg8dhcKpQOD%PtJw0kbkLSP!)95=X1_-sH zqN0e~_+L3WIRNuUL?z}_S5pFgRQ8&d1V0O4>lu!u0|y1NU@D=3%?;*Kxb zc<+@Im6pes`0(cNur`aXqgsJBIunwvlO7gW7d_5pWy5I6!*>tKmvVxvv07Z@5!Tp= zk-rj@bfPde@hVJdd&{1;vzc4rMiPSLm6iOQ#qzM=RtuD&tK%njcM>GEx)R-&3F`KImOE&cH!iJu0zYBYT>pHfaWnoS`^W$vq&(6pV9(%{6b z(^OJtbF(0UG*Q4t#FAFMBbn7zNy-5GU2b;0j46VUQu=@ftE$0O^Vy5|ekAxh;q~6% z6nppk3LBae@2~VW{tP!t-=@jT@#d1%x6E9fBrYDb-u95C-ZMG9&Ugt0ZvHta%P$B< zg}@Kd?aWxTruIN`77)xdl5n!bl_;=$iWMUUzUuv4Z@R2z94Z|p44x13b@0k3C)w=x z3iqxxIL2UtX=xhJ4%BTNBAySE z++d$pOp?$X(BE?=q|(j%^y%d?(WRf)B;NEG;TX@YkLnv<&@|Wa)77g9Pn({;ot{qD zJ|dI<==gbfwK-PU49F;JxqN=`nm3%8=he-3YFm@oXci5<@3NP;`2ofdMJ9T3?Ej?3 z;(O}2a!=vSh2qAdwNT5;Oi$Gn?nMM!pZs;OSoFR2qDs;K&`6!;fXDyE)-FKse&hWK zJdxS_vb3HayLPhi*G)@N1?4w>z40IalRuNWLjUs!@$d|uzWj%NgGTs&lya5NBGe#f=>*E@U=4*8ez4!Eq6h+jlfaxv8O^SC{k$p3uClV-H_j+aCXC_6!0 zxUlT@>urP>AtzZHER+3Km8;zbA~jdBUk}B<1wLG>K==B_h-SNnfp^5;0s(m3Db!R4 zBvjd?meH*b%d`#(igI*MogoUxE=AEnplsl(6jl25Hnnz8%D^o$wxaDWQ*k(3D``GI zkS{Cpz3-0;65TwHGSeh>f03#@HT%pbe|?_Y4{z4;?ymO5^@L zy+eoSafc2au|0kaxMIhrFm>n<-yw~ADh7U*OL&HKR`4iwMZ`p2bYlz(bvC|6_lfRP z7`^B@jGpuB`(LsRk`ed6j2&m!IjvKF>>BvZQ=_F%*WR$PEjX_RcBUnywO&bE5_sUd z_JQhE_tIvzBaPhQsYF#8v=sF2Tu#!@uO9myJ*|A`@PB_uiJop-_WN;Bd|B&GDD{Tm z)bKcU`MdS2?<;9esH4qS-erLv2{h>#vD=()CLaIIK#DxF=uq}p9(2r^C5)V0r7H|LEXi|V?)(|pa&oeUkhVs-vI1IdJO^u^Jc+Q|z4$8A%I;4k^d z>-w0niC`+j@5vLVn;5uW1^sDx``7sW#WU}=HJ+uP%IwSIsb?rSuMJ-WnJn{8n16c# zB~-DZ(MPD?!ILLMM)kqD@U?u#c4@Y+7|*2%F}EG6mV02slXjEWnaj28fUT6XBvoP0U>qq@v|%P6#x@A)CR3Lo-natkslur?QMn>tcDUwW09?lFwc)snBhpljLHC|%!c4wjyIOh25YnCc?; zvXg7qLiF$>@LR+&&4FFj5Z6t1S%)~KPM)&uqXW+(2n$s2IHgbTzWGbCj4CQoY#qx+ zBVLzZ{?pnf&fb?;@4RNIrkxQvMvQFO9NOLx89y{uvW3^zb*10^68cL6WNk0u$D$$X zuFalgf7<~PG5^i9$*;jm+J@@FG8G`L+s-*o<~lFSuRN6QoqDL*em!5P{Do?}GEaJk zrDV>fKRq{|D^y3#6m4TC9;vR8(8<6|3JUWgyet$R!Uku?<1G3~8TXDgP=6gIpFr^U zgdsk9z4{@HdtsDEI69X70R9Ptl@x*vPu{TUvY#`Mzd9^*b{pC zXE*CH9eq@+&ypMt>fO`h0~0vsuCN|mX@w013HP%a)j>x)b4@6j*Zj0|G{<%=zYXgN zUU|wu`qt=cG|naMMJ-W`JCn-ipv_grQT`)Zrt-#J%6i!PJuJm!^F-@V{7WKNjt$=* z_BZr4$F-SmP;npqxSap3i#J}g^r|)SpsU9LPajUc+yV7KN zDUt=(htM;+R4rW;6F$9?yjBSBj{zkdB}STd7;8UGVD#O44ysjswDj@O**nnmg#Px_ zY5QF7*u1hD?{qn)Ke=F+@hEfUgBL9&cSh%`HRjR_!axqk$%Bdl?5+%_`ukjDrkHy{ zPXc-!sn0)R;0+*rDc&t)oN+VzaKI|<=||sBi(c9_7`ON(Pz3)36`B%-nSjygm2ZkP zm&^G++j;E8{D-|he0238pZkS?jmLE1dqQ`9+c0GZcsjd<`vuYmK3@i@GNtu@gRYEp zTsbvQ@d;=`9-%tFA_jx!5So;yM~Nqdho|5}G~uD3u*F|T38BJ`N4%GW2I82XK)(## zI{rW914tgBMDh5HZjeqaq6Ad``-mY5qsDl?p*fb3y;i}r6Ww`cTtMK-a%S1j=;rSp znMofp{C={gZAsUhwfpY~_-}I>Ap^pc$55Z}_Tw)vK|gIsExaO}ctOd25^$_>MfuX6 z?;gjC6aSqP|9PgBg+nJ!_`}}z?%?#3GqUrm$k`|6mKGXG$3NnyZr$}H-%byq!UI^& zRx^w@Z!TU^{EC|U@MzwZ#N&8#oo8=Xw6^$3*oKq#=?e7>3w(|*+_#wt&!XtjP1?Nj zBlRdkGFb;UMve{I$$B(bnE^d|yib}vf#H_XdnMDQ*gs@yz^X|4v#QXv_O>GiAMCe| z<)v4b)8V13k83(I!0Rg8U(D=Rivu93y#x!2+1MM1`c>$TKWhX*-j7-s28qoo>jmYq zKlGs|kp{#Os@jQ1aikx*`t%EtjeZ&aPQq?H@9wEU6AW(zaFQLy$m~0GOE+Fnl%E82 zYi`;o$-N||?Lxv={#>C>g?79o33+*MKTS-Ra1i0DbC*wfC-@l2PuR@9osx}-^@$*N z>fmni`4?p7j(~Kd($2mj#nyu!Ji(xhFsPqVRuT}SS=U#yh{p>47;cD7mZ(ja0h*+! z9(XJ(wDh)4X%^4k?dwc`49U~?@ACQSWj1BE`aUcV13im(eKn%UHlI0-TN%8kf=;X2 z4hPEb@P%(sm?QNiZTtf7)go^Q11Z?WMpJK?GL9xZ^|k$%kDbp)JN$ zvq}{=48yMDWG5a;XG0WquQGN>pB_qGR`=NM%6`dFKlwkkbU$uvH2CgP7EIn}bd?Hi zm2S@w7LW-ZSq)xAf}0y|a#Q2Kt{SfJj`IqDkx*C{ksz)z?|O{%g>Mwk+ay@D!88MA z;>>FEQNQgHOya1>?@?4EzrS3HGUz=qEPV!%f3hD0URDVS)Qjcu=G(aY=ME^H{o0c} z=<6fF$olpFuIoY{%-x8OP+6%87TA7k>u%^y0yj&Ucl~RFC+!bn|P6Q3=8)5{H z<71RTJz?;x&m?j<9@0iSyQFz5@)_GMfLF|Ft@zC9vIJFmc27s1OI|-S`{!PBKUu7b zo)(V}bHr%=IKrcmcZ7#qvMN8dTEQ4n@lle{m-up3?K*jUq-mvC#d*OH=~RA6EgT9f z1tDPgTh|7D{eXBF!1uI1SrVJ(2y-m)pM2_)=FGZ~e=Gw3-0SRYcZtH_00}Q|$o7%+M?6mzBmE@p`5g?6FJ@O|z0 zXl$`c$2KR^D3*t3mYVu$FZgFFw8Q6*o!Y)Plfsl$VnDeg3)Fe(tHs{3zSr%O(z@}- zaT!lAZ@=1KcZM(!XD7-?6!FV%Kj}@(ocrVX+t20x{6H8q*s&}$_~0=haRbzqvqoQ= zk(rXso);EO%)#N*kL3&@3l2Dv%T?CgGQ8$|alq!LB?)GQ`C>AqYKw{Dxem9r-Njb;yYScQE!DThY+!s-6d)wqNEQBp5Ipd>wk6+()obOClZmjPn31)*LD!%8+wI7MotB^+Yg2 z9w`ntqUacwY#7&*VBSV<`6qENUJ@5=W*Z7r8hnxDkdkrsc!6M)A{O4F0TyXRC>W%= zhtmx*zjaYvZB`=8)Wn$Oc5OWj?eyr9ds680*kEJG>%}>PYn~VMzZNS8Tj)O=+f%$k zvtnYe+6#E1IvjA{7)HGCmTn4j2r4onP&PSNYOr(jGPF8rER`-){8h#u3o+pA+Z+Ww zODaanyw$xmHcY@I0zM2S&iT+YDVnR={i1KL%+d@YhU}f9l zGKsueUG)tw}8BcJ5zgMnp9-S4nGGCbLojT1RH6$ie$4z z1?|QFU&iJO<3p@0^u@U_GW%ba2hE6qZJL9kehH6GHM9QS&Zm=em=*}AT9Y{PhfaDw z*~P1bF50umdU;Sk<+t92K;WEpK~rIV(s3xW_8S-0E3r19)~5x99NIE;5bG82lr~(X zdSzrNy3~SJxf?UuH|wPHMLA$e2W0Dmktv0FUfk&lFhOJS0!>@hyWgHv(w6$M#DQH{ zThI{CC6o1x5Xx3a1V_ubm~d{9E2>E!Oj76^5|F7~&9WL%KEIz0|JalAVY_(k*4VmIOl4CfQ?gHis{+Rzxm(PjOwgO)%Vi!(0T*2k!jj<{ucqS4hEZ{7XGt%lTpRWuf zo+}#MeuaEexXSHfOE+20dVpo8b+QBcKH9NRCq6=3>~;Is*>z8ugko}}@LWY^hXdkI zE7}h6!V?DBNaa-wxsgP*iOic^41ZkYegYTNsaZI!&O%LiNm>y5#O)~W5N^^*>bu$G zNIzBNC))^_Vu8E{Dh;g`qU1C5Y8VI@00_ZkF^O~jX^H@@-8aiNO}v!pD|O-yq%K8r z0NQ!;#$mH|^bts%p_IoHOe_`@l`G#E;5OvC>yE{n3uw6Ywn52dL2&UE3`xhLfsN6;=)ZFpZxyuj#Dn4^Ic3e6Jh|C- z-V)w@a-m-(ymwsPrCwUtGcEn06H-(9$r*G-6uS|7Uxl7}?oCCc^QN3ATU|^GuY}8~ z8%n-+4#>8rkBes?fgp!3LCd=FT%XOrMB#T3-W&#f8S=)vS*!EpNJgBJ^jUX!0$##c zR!MgEelH5YBg)=lc9(}}Q&egJ?r=-@Qg^?Q1p?=7vw?**b$>AGh3`ceX>K0s28btv9S|5JafUwUh2dv5DfS=tp9xYZH6X44tqGsAiv z&bLifY-r!;%X|cGz#8Lv?Oco}@i3=_k!|x7RccnT>SR0`PN4iYUVMm+s7Q?Q{cf*^r7Qg+nD(wzzSw)!) zK!o6OD-3e85cL%FZJctau#;Z@f=W%=4?!m}R>!USd_#Ut%uLkyox(!1)=i2F#IW7$ z8|KWATVPZ@sJ-i4BmV)(&RK^kO2b_)P%D(ilO#dwA(HKV`do#|Q0KA`q;ZKq! z9~Sc%Hbvgzlx~qdcC%S>+-bEwUu}eBd=kvCEYCp|4}gu|;4qG<@ufhFR%+mGm>eqR zckNbSAI@@^&DQ%s4^^Kl@N7DyPWIt9md&9~M-`YJ4(c9|n%!0NlQ`QOis9#z<@e2i zLtl8WJ=D%dtU}-c_?~9GtAX{a-?60@FerfR?n z{>F3UJHvV{nABAJQGg}zDf?HmWP%E8lvONxku>G{6&4x3(y6%oVHTh0WANwz*8}A+ zgbvJ2k)?Bo)8Tol1f6B95z&q$xASBN{wZ#4!PPHb1%ql6q;Yux*N+A{qnLbI=n{Fi z*ybtGaedD2P~Ee!n%|Jr%BKhVrHE<1-ePXjkdJigCv6+mOy^rZh>?3`ah1Ht;C75O zptx8rKn;0Hb=SsW@H{QsH2e}a^HXv(a%jy{?g`Rs% zvbn~=@l!CV^^Pw=I-^b@;G1Bfrz{=B2+nCg;d-vFna)oe%BddbYmeb{6M4Vc^{MRf z<3!O!soMwMR*|uw-U5}_!{PRFhU6%NF1U zLft5sq!v`ID@1k>${F7fZ-R}#)k)k|EK8N6xLllal+A%n;A!|E_~_3zKO?qk@P(4* zsI~@`hijX@UJC~se%7Je%TV+Rgnl;DP)bAb0eHqW(Dfx*jm)j!9*0a^*|3t`!sPd1 z@aB)P(JL0s3QeZBHkX`Dq{I*OG%wSQ`IT4N$SQE2>njpM(^uOTvnEacRp^VvNLR}q zp*B&2Y}R8n>^%&8iWs{rKx033#!T=)uMau4qHA&sZNfY5Dt_TW51G-O3aI9F+Ws{9 z{bkG>NJbRYwAIhFi8GwA!c;5|{kDzF=u!WDj5NlF7kmssr9`3|spqgn;i4?10wEBt zoN`0*Amihk=}uME@zy!OthPC`gsHhf_@DJ-jMFi7u$N;FBCL*q;}L2~Tt+{tf*aXB z2@>`rq_oN+!)Y?!YxV!v(KH$Aul&L=3R;-@ODxmzC@Gj|b2}}|M3^w`4aDS0&}M({D}j%NlupK&}!7y_-k0w((&m(Vr2v0hz`=`p{4V2o|h zFG8R{%v)}-f6X_WAvs@V9W+$42&*x6Y!Md+@WvCPt(>7%Z|fB3Hl7-y;9uBJ${7JC zZ^KsZpt0n+vgL{Xx}eYYJ^kJ=TuhM9+B>x24Yh7pqjmz!KckiqbT@_}@U+Yw?;HSo zqE@jLnI$iupz24MG38gm$E?NdE?52N7;QA2#-5sedgc!d?LX$WGKp-{wj1-iZ(iPk zO^nXtUFoMa;5hwtKbA5-7{9wLd?@j2;tG+FS&*R>Hbyigq@f~M(e`^izfK+y2+F%B z(g%Fh0)46&Cs@}#A>j*|jJ_hdfD=}t@&kl%pioTtn;K)H&C_I(d;z55Q>5B7adK{M z++z04!Db3)ug-6w;PoI4Cr-Suz>>qMoHD;0?lA|JL{~E|yirq+UQ_cpyX~ zm)l8WinRvM%UOK)*qbij>X;c#uE&90E`0C#^IzEd|Fmvd>@6bmb zQ>5di{LFv^-4hP3jxiM;Qvz*E!)v)-a~r*tUd^6SH(YT?pADCV_ZOMWLu23}TdK3w za@vS0*uw>`b1n%kaE|-vW#toO_t*E)+3TIUi%;7Ar3LtzwvTw8=jaZ_jDO1i;UF@# zA8^eUbL7}VyG6TXc(8Z7aAttxry@(*1KbsESw)LFlq+7|pH$f_t=Jl} zXOVh++VIjQ;0Vf`nAy$L5u|p)Hi<_dhDSC*;32oIv-l!YIFIZ6=PpS<_lx5m(DiwK z{rt`(bzZLbJzj#Q$DT zR^~rCeC64n7FPyQ2FCoB$lWCGcVds6;CqL0`25sQmdF!{f8(EYD+EZ#$SL!Y3@gV3%vLytPoKkE$ zGzVVOJG}XZ&8kgi@ax;G;4Re%{6NY=w^{gtqquOh-yW^9_W7dh;r;;_*lPg`H*=r< zwPf0ML z8uP-(UfIo{iU+&o!M4`(`pv5C$_tJZ0#DnIeVB6LIIyOWv>OYyLHFxwL3u8i2fcE) zMYin#C{tKCp()0!ElvrMqRY>qQSQ~*)@IIi?%xaNQ=o%|1%7|sY`eR|bpqajP0N3j zcIgO-2l2w+p3kb+!$As znIk^cjD2o3$QLI$uj5c*c-V8Jx)a%^OC29%`E%wVr`UynQ(>9Va(2kB4vP1?a5Dm#{XPdjlRNVR6sDp`*V?1ol2Y;iX^n!AsuJ4e*OoS zC~GK2zJw9Kx9wK5RC;8OKl>In)cRlGS13`a8)3nK|9thn+XlPX$h;!i$O?aRAt_{! zrd>Jv{=-aRzFMm*hM3@OMc8r7kGL3oCsuLG9hAi;Qrk;73EG;!KDZLW8{nCpBEHZu zxyELt5w$kD*yhW&3g3_!tB_g@0{et$m$+8Z$5D6=w~C8r$PG>1dy_j)g{TfZOboec zkf;eoC39nVD?k^|bned$(?!ZP;==CKS2M65(e~f;>)Ie9T1H||0lbK-w%Kwtv^JsC ztj$K$9b$kKbP&vG+;lKtSMt{F96KqnpVN{)*Z=xKZc8>An~bDFVMA!1#LLc^2aNDiQ}Jk)nAM-D^4p9dv)Q1sB6ba zW);qFV}C z)5c5nKR-(CQrgo@5rbM$lOeCR$2MeJk3F(yhP7E{=u`4h!oR^hJaeD7M$KH@`Z-t@ zAA}mX*!HHqkT<%acg1W#GvzQ(jl3cxT!XBaJ)DQU)&6Fr4R;F#;6;wnYuGV zw@DZ>EF@^4GQ&eHi0js}<*;pPh6O++;SF|o)=JQoES&DCUtRH1g?U>SuY&?Me2Drr z0Ww^h^);TIl`-W37dg-Wb<{2S99|=0Z`0PuowZHBB+sx8B&-eQjKDP+p7VbCl(qsBAk7~G+vuFXXgWtTZGSZeS9pP~0GEa!* zmC@id0hzcG{*a;_GZ<;a7)JJdo!0!$X(Qo!!VNZUkI94U^3|NMwcqWMBdG;Je4D_ESv z(l2}$!&s`VKr|>cC`{-`munAp>r8)!uv$RUL7Yyr63LVrje1a&m_pT z+o9+Er=Lg#?>JzDEoc{ir)x1 zp>GGTMp>oeeaB@cDL0?>>P5`9(s|`K)-#aaMoCmE$K}_?qsg@&w`33XbI?CXspc&Z zd&n2~H(>Id#%_y3tbLtNpdmP#i{i7#|F@h}pI7oU)|f%As{K5;AjYF`cRK64wlG@o%%Ilf{&} z5`S97q;jhdCU?6Qs}6Lh{X>;Y_u^PgykMrE+Iv|yVHS{g z-7XdND5KoR0U?Y7=V2gT$4Ic|-|MMai7+fo;C7c_R-ibCg^dBK?$&Q1xykR=7TcyS z=FFgVK7Sgeb;I6pB6uN>qlHEtpOT+#WKrCAyIP&>vtHvuFaiB?j^!*G-YVB4_@3kG0oY!-Z|#9Fp>Sd~TiuC%?D zmdTS6HD-ARwoG`1{C+bM7tQs#L}B>z$jJKAu=X*5#{?tXipDAs5i(Rc0_3%FL2in^Yp{Am#MYY~KaV4X{0RAZ0M-%rp;p`GMNk zUlsfFiN9F(u9!iTYT=?MTLrw^!iBcYlDsmNl^P{3Z}jTq0*C$dN!&%KH#!}Qexlc$ z`nl#ZzKS{kCbp+=iP@x&Hl5;`i2y5U%xET?2LZ6pXZbkY^89bG~$9q*oeP5r_s8@8?m>AYdvz2s$L*v{=UMjg*0j5NNFkm=$RUg%H>CmlI< zvai^upMwd7>-|PO2jjLx)_oBkO$;YGK2P#`?VKW3*OAyV0zQi{xTbeH**#CV%%$(x za8*D`|E-OakvrSvJLQWKh2BFmde&stFmw6sf71Lq)B&N{)OfpX4)8Zu32(=mRCF0W zLsya%-l~WKV9uD8P~zznZZNm<}C@GKe^CKYaRT0Kr5(mSUon-+-N)9vn^7} z;}>h_mqY-9JuPxY8|;%Q?7l}RL3%D0KBW5zx4=Z@xs5B(5!)aA<;JTVr438Kz$3*F zwbx#Gf&JbPjA!eH{{`41Nq!ygYkBnS&>R-m*PKD%XK;kg`CgtFo<1( zh2hNs(y|Zl0Ad|fI&Ay5rAOkBU7zA6k2+ zI;xu1t$LPu&FRq$?b|GnUHHD#-(>*_=cs|wlI9mytaHbnsa>r^=JBB8xYlw{UfeB6 z_xtrl%70Zq)J@|VJ*jSY3zP0UA{StJif16XhC0SSd0ty_;a=tPr!_jOBMN^(I!Wfr zNR2cQ6w#3hvf98yBoy3@_%8;`x31#6;)XBz#h2$XzmL&15J@}3qGX3E(^c8-QNM_2 zgvjIr?RG*=ti0ASmcR%JFr@ zA8C!RkV@@UZh|eH$-xORJk+E&5tf(15VHkUWYr>g_yYRFw<_k|pQ`%SWdDE) zD7&tY_#5tNBwJHNbtrU%Hu|%cv~`Pi(QDEG!%$t`3#uqsOo))^{FlPRgU&wPBXnnT z$`QYq2TVkWu8?ga3;yX3Onl*p5WYTWw!@@1uic{R>Fx`b+26s#&vr)LHUy>Z^-O`W zg!&|c3%u1iAb(rxuXwAxnr-^IAbS+%Zd9%x3at>v6~m1#QIiV$W`M@#EfyY<($H|{ zLbdF(K(!GSjEtQ}gXgHMUC}|6n@qY^yp;^|t*el-v&EoBEatAn(itDLj^+@%n*dve(RBIIhvda6|-0yPc{ zBtL*^9u_v_b`*%3khPzh&jyyx28q|b@h6x^vOgsLA3Bk)``NUuAhZPi>zGN|w1pfA zonyN??SUYGv)~dJcYy;n3?+je&@4Uf{KZS$Ri+ZLP?sPHZsfB#J0>-D`)Wx-hU$iUrFgON#{Lcg61y^mYs3l=w^|H#$?I;gcMwJ6TP zutE($1*D93o9svb&;tcc`b=b&!tje2SNa)WY?aAR((&#X-sR2#so2_O!w+2Q1a3O& zZD>QK`O(wvC!)F5l(-ak&d9B{Gy?BsM0&_O4epBNr}rAym26=KVLs_K+Eu_tFVB8} zwh&6{u0lzbnA>aX{2RXttU_oR=E44gzt_6zrnd+ZsS2d|r&;-EHj<+X7_ZQQGZ?D# zoDp6aMdbs1es6GHc6NPm%?_R=*XP5=7I`0r8LNTLzX?PJQHfN~sfTz<2~LsHe=U_h zj_u!wr}8lCeL;uL0cu+rpPKV&Hz^V!2scdI%lAbdnIXR7ag@fG|Ge;Pmln{ z$*6d=X84F`I!t(~c;iOrRCNg$9QdmqG_d;vp{31^h6?Y4x42}I@XN@yUuTMqZy<|6 zc^w>wk4gz--*Eu@k0A-CJf~s?f5(n~ehBra0v200!*iijv!$RntmqO`O5#_SQI&zB z-w)$*V8d`QT=-&0b;Is!#@EaO%(K~&ZvsXM)mf0l3#e& zU~|=57w-(DQ%Bt{;$H+0T0lC7f*${+au4n0xaRZ(Qt>iO{+!FsgI$Z&cmqba1egyg z$vruvOy+8n>OSg_{2U-ADDDu$8lDm`ANe=VgoqFs(mzVl>@;`B3cAa}`ZI`DVbv9P zDE-MKwW~X${H9+V94iA}Rsw*{apC2)E~nfljk5vNG--jhx9S&Wq4Q`DR-5|glb+ow z+wDuk`otgu`rl{NIhhJSmn&nHLiR*x3@3Y{EDG7h20qi#VlR}Wyq96JSVONgxk@<= z++OHka9kK5&Z6Z8fGN+YDUMghxYO15GtIxdJ_x6ulNrF3A$8aAz)}XtMgTLAVk*a zj#FKdaI?kLNnr(N4v9x^_Jct6u!1|P(aTNAw;X~IF{eViSX(f#kz&fS!L<^{iMwNr zkSv(5IuEDYX}6bz*l@k#0ZD}Brtu!cK5skWt(wx4oBJmt5lGfQQm%h(GSK9&4c_z1&HS=O3%V}DOj<^1QQn^q!^Oy=tDE zNgUp=174rFW<}@YmbPShMFx?D(H7y-mcjHi;u&!6#6P~dugd-F}!^{ zETK?tZ3fI=)$X6qidQ|{;Ce)s<9wOl2QKdYsv~lk-yH?(E^hN~9nbSND}+IVmh!~6>zzCVie z7&h&i2hAQIEQa~Q9W5!IR`RR89W9cK|KTm5V*KSi=FrW03yLK~G~JPE4cU06-L2V# zO=ueK!_Oh5-66=gk{oy0;Hem=O9pIJA0{z5NUb8<=)F6IO><5557f_~*I57Ket+E= zFx@{?9;LMk2po=*su(Z|kF|||W~SBS`vyTK6C_75*4%uBQ0VN%OKSHHg_d28CtB%? zi7;PHvyWFrX-X+J|F{32D+7Hn{kV^Uw&5vD?*at$i{ShmLJ1=NeDTDfb#v23U$M1$ zRFOPvnkIt#$>;+;Y>>rE-navU_2P$ffcU!b4RfnWdbGDdRX^tQ+J1kn9DL$5I&~+Q z6`hKUKLdpOe$@Q?<5~&b+xzzxeS&*V{s6OKayT%uF9# z*bO{31V1b;(BlOC2nL+R+{<5ujqYg&mdX1zFGpOYgqld$SKcHr?mz7?5XF_3`2QBb z|8SvBCjBC=$h7SW!Wp$)$#4pHVfzOINwfEsQOgB1bfjg7Hk=4XH^T;t0kPRAaRNU~ z#-IGfp%fVTvaw0C2@BTqyKSFsVvEYFMplIJk-I zBkE3d<7b82poE9OXD|VS#)q)SvDQ%^x!G3i+%Fm}@NP#lQnf(x(f@Vs{@VG+Cpg7y z1$fxzPOz&XmAp2rQCl@oIPhB8k{utp&|RAi{UHl((u|B-VZq_QVJhQ>Jzv#lTs-u5 zZ~x_YAnQ0EFJOciO}IwPs@3_@OmLrID@+C4g!uQ{4E{u;NrcEivE>rL*Iz)JO=191 z)o~owK2wnt3|>A;8up9kJcv$jaXXysHdte;w-32~87;Os4@jpww#8B$zuu!7wvKKK zIty8g`#OGoC3$!KUMPmE$?Rh_0PdJLapm*^ulcF-m-$WSt-E)T=Q82y|BjTu+YTU! zmmeFUo55ccMmpYQ$sO@FLL)|cY;L>DHf|bcyBgGuPF9;7cBA1D!P>eDk0vsc=U%HE zK)i)k?{iER!@OpqGPMv)&(kKy3yIdD(0EmYm<{O%>Zs1`56pi*(EqXb%69vdOjTYq z+gCv*+)qO(yAa>K4au=u@|Wj|h?;0X09u--Rb&J$WrWn#b`G&Tr$-LnXF{)10oZyw=Fpzv&ItSwPZ!ci7+a9 zY+3De$!<9i4riGo%Ad5pJMb<5FYihRv1h|z@X;9V;Nkh3{(+dvgM~}Z$M5Cn7DCsU z6oC#hw6C;gs1U2xSzH&`c;BTq^Kg@d`5)Lf`cHG#}0mDGDbK(Nrg77v{!9cTquviJx)6?Vp z4{|fm9tuCECv_^4F0th*2;-)z9SX6 z%33OHNQ&SK-Mi-38Xy0MC4YDKXJz6C0r`>dx5B*b9bCm=uyJYFNX%(Pm2eC)>%w=Q zZG}c^cUsW6ZY2858^US)m(wsVm>|$N@PQPyAgDy$V*CE?0koP^T3(JR53Buw;j7H| zg6=9aj-+Ffe;OVehlO=LE@5rJmDI?6szfjF9E4ckWBcn67KnVC*wc|-9!22(O>%^ zQZ+2EhKlP6^&fKP*H5U&-@a-5fGexs0{KzWtozDhAMbcOzQEULFRmWM6L-e?e@f)P zyg3BOf0ZyjAMl&nEsKLB4m1=#P&~C`+IEY>5S(Q%=1%>Z;z98dbf1enD2ttLNq7#t zsPd$${0&IaooWTBpi(2+={ZYQC}Plf)w-@Sex^v@|rrC8Az zXqCbX%Doc2m~Eg4E`x1JH;d8FzQDDnBA{0AI4AnUBEwTYCM4sXn-G$MzNvc zPCm#qjb6(pphI>z!GD&`=}dpYJyioMs>2eft}BL?h)RllpT%R{(+C>8cz}*H4heIi0xLqt0|Tb_I|Fw7H=0 zV*BGNvI|7Ti5poCn}$F^)MC}%+PfV7gyK}2JsMSPBT&=xasDGz6eB*%@7JaACz{r= zZ3U%jKKtD1G|DO@H6TBOpI;3pF_$s;^-5|A#hQ$9dv}}Cf3MK0t|FR8R-S+E!%dgZ z-sCa$e-T?w9kO$x@v#|IZRmV84cajuDNn^?D*xF{v>=|h87|^>s`)u(g$LSgCtT^t zK)si2+Zf&-%Wj`5rK9RUlG7D<6xeVzJFGiJtfZgp^AGUYFXr~|Y3bG7?TfANB<~)1 zh7TZI0PuVD`}vOskB%teGdv~T_clHx_m*M7Wq=zOMkvSRR=!V7PsJ%Eb6BNc5-~y~ ze0ve_pxsbxx>%M&Ga?q%`oZl{;t}Q{3H*bumfZ^qV*+pQ-*_@%$?aue)s`N(dSbQy z2sI_G9&|RcB~tKa0)O0XEmAGq$^4cj?t`>X+sTEV@)9k7kM#2)4SSWZ(xmNc3ncCz z$3?;00kZ0^PV%|(0#m^r&De;ZG(cB4o252^kXk4m)@#zGA>d=hhEkDcZMhbc2soAq z+t_4;p zEJC5NTBDh2;>SoC3geebYUR~4{b$bY^N-Xd4@ z7zx`$oKE}*mk@Zdtv$?&;h6<>fx1t`S?4y!hyH zq;iXrF`-@r{;IF4KgyNbazgODNXX7gYV~TH=x{~x{Z7U0lM7=scA;z6y1o2}SUIUD zzs{MI&l&}d34?{(nIx*GNA;Qj<_bj?~RG z@n9Zo6H1Z>EwjX!*hQ0pGj4&X{-yWKXXSToS22Lef?DF_X7Bs|o*A?u47hAdfpOK!E5IyYTLfH(5ItJmkphHI@BufS%yH&<9^0FNg0X_p8_@Os7v zE>8-20=eS*&q?5+3pBV<$!97NV7>r8mWUd^whs?h(>4^gYAr(WGoF*GbHmLg#w&Ti z4i*I4G2eDqdNx*F80-u7c}_9648gNWJzKp&Gr#HR{eB+~;*y>XSsgHAqNMT?OX}{t zN8K9bl}@ff=4}1SbsDrRbLf#8cB>1@RgL=GizGZuXj7w!p7;0;Fsv5^wBB8oxV@(| zY(HLOF0gQvv>27as(pKaZ4*xI?<%5r?d(Ip%ahjAqi#l;#iq>~Iemn7k&?~?K)evY z&*9Fbw_}xj%}@SEQ7O$hTH!UpD+%xa=}3t-Kz}%l@e;)|jrnCUQi zKr@DfGxwkXL61cBvJ$8yPH9UErOG88@EYf*4^eO@_t|H6q?IdE-HlY%#WKj<+mI!{ zx7cR5jA{$~tOv*NWQijkFNo}I zj~^{GDSrj95#YLzZ}h1I-qk_NQ8nLDA0w{4b*9x}d#e@nZ~;x~_U>wR~eIc*g_jda4)UB9gZA%iBeAITSkm>w$P_i7q{y z!wP3^*YWP^cwo66!}nki4mUx+mR>QC`QTeP-+GckL<-=J_ zQt2!2ivQtO$8TimlT&cLZg|+fRTd!Rb#pS4fKryk3z8ot8u!a}flyzVjW7D!q%+sr zcfJ1v&4tPWEx@ul{hG^YMUu7>?M~KOwDcn3rgWzqAS)T$3cgmNKwi2Gh8w*7qW!R& zYE8nW`fToOIk~m{M6LHX!>PlI}9g=^$!8XD~;BClD3o zosN7k?AtBRyD?9YW4d$tYdTh)0IaL2bTLk8_p3S7#jKKmKp^H;+e9STz%h!?dfNlE zC_los!WJll)?b4@%js=na&s{}H`|g5rE|5jzRAzmEr)sKsWeszx%8KB{ot@7 zeC$-JOT$6kAj2Nb7tB%L8FAzq)Q9r{E#DAbDRtD)+dIpwz7M!4&T#vWZdOzFIxdSf zOcJ-%N!4pNO=x`*o&h=RTf>TbJLR^M4YpfR+(@BzKC1NaTD$#!l#oMoh4h+ZdY`|u z0XEzEupU+1#^UpIYi$H0q5KffOK}Z zNhuE`F!!}J!S!%H&lRA80D$W(4*)fg$#t|#J_MP*ZwrJH?SbYvZpzEs>)qC?fT$u@ zFHduyAo6Uz%CUIb)TP|MD-jS<3h3u67Qa}x3Ec)#IzPX7EC$5GYs6>m3c1E5JY@XgV*fMP-Ni4~>Whv2mEu+Nnt)p7lUC+VQo-T|JyR;s z3e^yi>hEPR_ZaZP=TR^M_?<%F<{{84M!)2qmI#J6xw)IMA7UACsp3J}vt3zFBI^E+ z`X2nagc=WYGny>fTzWvGkD|~&=hgyavphAeD_7gvy`LA|hKvUprCp!&pz+W-stlMS zJL84Hupz4kKf%dCJ%M2vb0|^lQ?S>Qg4#jMhX$F0pM45y_ z%jTLECjtJ~$jbfUhYeUqn)JiHl;-W`s5)+IFN! z9VPwVp7)qJ&Q}ULT2xL72V1N-jb>S=w z2E{&_&47$0g5ib)Mhk3$^eTCz^w8~A!HW`i zU#*w_22UDZ17)t}>7%eR7HAoy#c{CBJp(Jm5gq<923(3W9V$ zKK9T1P&S{PRd|`*Q&-n>{WJe=Wsap2s~s)RcY`Y5ca>fgu9%fE)zQ)_dWaaUmbcnMR2XL{``J{yk6#&g0_go9acCP%|V3S-4^g4pRj zTIVUTm4M50Q)Ty!9>*~NJYp)rlbJV* zD!auz+Kq!mqrXdo-fl!%Rx=a=0)1p6bn}efv{xI$kc=-eh2Gm6%5L_RG?FJ#nW&6d zZpuF**)xf@6KdxkE~NXXjW)tSCuGx(V??sC2e6q-Pv+F)0);DEorjz+QGCs!Sr0+~svq}Q!z|HZI$oD24tj<*=TP80o z+md(vC+!+bwgYHHcAkJcz6?8#fqNU=B%$Ps(zQii2W*ZTsA<>PkOD62;Vb$*b<2M6 z)jNA-hKIp?He)L^>(Vi}mE0HVh7Qi&2Ch$H54i4~EXZ;<*m~e?iMWrWBT#j+9O3T+vsm#=(u0&w zRhfwxxYtI-IYdHt8ZknB4Yu<3q}fz0x=T2%m|r6>$Y!Fx2D;`WYtv6qnORGv@;;-l zaa?!WK<#44%|HS5ysEr}gWPk@hH88CTh>}*@q*|y)r>I!_AYy63I5~&{asIl>s?=C z0gXHPgRgf804k<`%xo%e*J5%4X)u0ycN{7n4)EtbDB;jKz?Oxx(}6^M4k2qqS{WT)V)#Z;>F>w*Yyh ztPj?ekSo&viDh4GCFgCb(P!dH=WayVrI9D4mhksp+4Z`L`2@oy-iK@e^z=o6Z1g~# z0xCc?h|V-T)Dv9(&`5p?h37|sQHEOfOi&dWad~28ET{pk_L*;Q^CJhchn~{gX{zromoc)a-TJt< zpN$63aPpUgs)vy3bs_CL-u8gOu&d~=wmkv2vz-!iSuK*aQL9Q&AVjs_Ws9{eA=SZ- zllG=sumVJJ7wvt3CCk(*NU1%sWfHOs%_qR9VN^R~{xO=HG)v%ixxC2SvW@oI15mFP zvQC{vXoDb^{I!G{~;-A=7lr;!@|NI-Q+&^`WF+-#*KVWHXD` zHq!1@cY*~fczL5aaWVQ3&nf3t; zq906NE^Bk~Oy}NpE{k5Cn)4PZQmO;PhMor{kVh$(h>;^RmjpLIO3p^Xhgw@7DK922 zYmh?LQZkWa&=BZ^n;~j(M0>ekP--H2D>83>4N+0!ghD(5HOMLLiVZ@T=(1*SvpB9= zA^MI~S@I*p(>Z(41OvN%ZE6~@;cwFo+?P%|45-`8c8ec`QbJbKS&_6br|4{Cz*gF` zxwLx-LRzYus_9?CH4R~R&x!A!ACoU3vizEqSiRZH>K+K#73v1d{KWly*5=;G<(gAw zzE#AaXI-V5kv*4kraLT1Y*+0R2~FnMwM;4R+|QmbG|J)Qs|vCvaC|7N|L|2TMlt<3 zrYm9X{1zpH<*_l~dhh!!WtG*aPea%qXYWpzS&Ylo?rg9wjX_`6UZf}|tbm(f4Eap| zoC=$LRllvp<6Ko1t}Rpz1N_v@(H_of!8WDnXG zf>|5E?cv?t_br{h$&CX-4-To@l;DD_nDs1

  2. ms$<2wihyES15vbQ^#4`T+<2>dLSgG zORGLMA-iQ>D90`8tSQ2aYzp!a@Uj$HOlrmbuf3$8y87(?*x~MchLXmUm%sBh-O0Cb zv%F2I&OfgAjMeh;_rrnFh5oq@MWk+WhtwD09?=|i09V!mDd5{~xA_CAiiunh zR)w)A9fA%{V$~a++z7(pRn2@z6?nLa?}(9NLShdGaJf3xj8VaKJn(pRpEkT7&JSyn ztwl9b2BH)s92Zkq?Bct9tP<(-6seW!LmumZsn!eDWKg7x|0li|4O~p(cD02xs+jMe z0@QFi_C~R@ikYP)XOV8BFciH}hm?>dRSN~5Q~!qfQBg|Q^1N}%HF#MOx}Ga4YOcru zbXEa~c!a566farc7gT|zaTFf;!Cq|D1--Quzsv}Oxy9>)#sG^pa6a6jGF)^ZXliYU`Ox{VKS`>CRs=jFz#lM47K`WWCPLlB=pf1`EPMSeF5uE?5X zR&ZwTMunOEcBk<=3)aNCHN+K{{IK1iX#?}}wVWY$W}Tv24nh0D1&T3Orbv!b#~MLt z0*g=YBztYhMG9PG$z^stP19*~&O-0BxG7*rQ>xNn$AuHLnvzDyuY@xUY}(d}ji!^8 z&+tJ&XUD8%DTC*jkLiU6%dPTsVf6ckcqG8$fXd_2-}fJ={^x^^ZU=5IzrN#j(3{r( zu;SJcuCOm3E2^@ub``g#91k6~U(}3mS=Ka#i&{+>>hD8-uT_3ujOHeq?PdKvo#(#o zt|3mB$XJzG9Gj%|#l*hw{L>=3y$^zjxIQv0c?`X)6v8ryKJr1xGmO|@vL+I=i#2K3 z@bNPZx1Bb9&!gJiL`w-$;bv(w{0jMC5qeldglJxyNp%2*7#2B7bvb=Wr?rfe)h42v zr>3C_>&kVRhEke{mePsK%&Iv>;?PyO2qwU`N1_z2O0to30jCyK>obn#<@A&hUYp?| zb-jkvtS^HN!DH@bL2sNxsN#2?$?&JLnSsE57FixI%U+(PZqn&wD{2uzt^TfsRDaqm z$)#$+BE+MzTWTqh?Fne_*ALq}ANH@lM_bC#2Px8;Qg?rQSMQ)5PgKL%wNDRRw}BJ5 zrJ7>9+oK-2l)B`C-{1Bb#U>Mx*b{i*BDNqA_qKKXrpgh-{DlJg&=HFuUU9-IQIzO^ zh}T2@codt6R>Aoi4El0&t(eahk`;2Hq1Qt&v?}uE(1d)JRHoIxCx^{E9zlm`#ADTw z6xF4HK~h@@)s}z=n>4Ws$*>ZUb-wfS)wu*(Ibpyr1Ip~odB`&O_^dQ6i=tK<#Urr! ziL6;8NS$eLBS~vG)1^A1#$y&p&HQg^<~7C5X2Gn0{f?Q?n0IhX@}JGQ7k;lJ;g5$6 zk^R=-<%0AwCkj<14A$nHqc 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�+a)n%nJ|9*>*)g5-Po>3o=Ak*qT zdxx5z7Q#z?7Ifm?vY>9>-0~QvFOY-)jgsTMydp1wCEu#d^W9?(=?D@QhrRa9HSe5o zh!VsJj|k#CATI3j?GT9*Ybt3X_Ncot{StgQMU;zu+4<}tSc?0tdSNdP zMA=YF+{$BBiSgYYm}Q5a=;|97TXimW7}Dx1Wuj`fTvXZvw^{;a&h*2r7wcI&FQ@ff zt5t>*?JVpfSZ35-AsdY0SxSoVw+V908=-R`NT}k=o<#4EvInp>2_zQl;2RXz5@lL@ z`#99uA>RmfJVu{FDvDUa5{uttPh@Hw;Hb;H6�$yila@ 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%0Dn+e`6i&6$rt(;#FBn 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