غياب شمس مجرب

لقد عدت مرة أخرى لحياتى الطبيعية بعد عملية التنقية الجبرية التى خضعت لها فى روبوكون الإسبوعين الماضيين 🙂 وكانت البداية بهذه المقالة المترجمة وأحببت أن أشارككم بها.

—————————————————–

(ترجمة لمقالة Tinkerer’s Sunset بقلم Mark Pilgrim)

عندما اعتقل سيد الديفيدي جون بعد أن كسر خوارزمية CSS للتعمية (“التشفير”)، حُكم عليه بتهمة “التعدي الحاسوبي غير المصرح به”، مما قاد محاميه لطرح السؤال الجلي “على حاسوب من اعتدى؟” فأجاب المدعي: “على حاسوبه الشخصي“.

إذا لم يتسبب هذا بتوقف قلبك، فبإمكانك التوقف عن القراءة هنا.

عندما كنت شابًا كان “التعدي” شيئًا تفعله لحواسيب أشخاص آخرين؛ لكن دعونا نتجاوز هذا الأمر لنرجع إليه لاحقًا.

كان والدي أستاذًا جامعيًا معظم حياته بعد البلوغ. عزم في إحدى السنوات على أن يكتب كتابًا، وكان قد وفّر بعض المال لشراء حاسوب وشيء جديد صارخ اسمه برنامج معالجة نصوص. كتب وعدل وأضاف. كان جليًا أنه أفضل من العمل على آلة كاتبة، ولم يندم أبدًا على ما دفعه من مال مقابله.

احتوى الحاسوب أصلا -بالمصادفة- لغة البرمجة بيسك مُثبتة. لم تكن بحاجة حتى إلى الإقلاع من قرص نظام التشغيل. كان بإمكانك تشغيل الحاسوب ونقر Ctrl-Reset لتحصل على محث، وفي هذا المحث، يمكنك كتابة برنامج كامل، ثم كتابة RUN وكان (ويال العجب) يعمل!

كان عمري 10 أعوام، وكان ذلك قبل 27 سنة، لكني لا أزال أتذكر شعوري عندما علمت أنك (أنني في هذه الحالة) أستطيع جعل الحاسوب يقوم بأي شيء بكتابة الكلمات الصحيحة بالترتيب الصحيح ثم إعطاء الأمر RUN وكان (ويال العجب) يعمل!

كان ذلك الحاسوب Apple ][e.

عندما أصبح عمري 12 عامًا، كنت أكتب برامج بيسك معقدة جدًا لدرجة أن ذاكرة الحاسوب لم تكن تكفي لتشغيلها. عندما أصبح عمري 13 عامًا، كنت أكتب برامج بلغة باسكال. عندما أصبح عمري 14 عامًا، كنت أكتب برامج بلغة التجميع. عندما أصبح عمري 17 عامًا، دخلت في منافسة برمجية في أولمبياد العلوم الوطني (وفزت). عندما أصبح عمري 22 عامًا، حصلت على وظيفة مبرمج حاسوب.

أنا اليوم مبرمج، وكاتب تقني وهاكر بحسب شرح Hackers and Painters للكلمة، لكن لا يمكن أن تكون هاكرًا بالبرمجة، يمكن أن تصبح هاكرًا بالتجربة.

إنها التجربة التي تجعلك تتسآل وتتفكر. يجب أن تقفز خارج حدود النظام، وتهدم أبواب السلامة وتزيل السطحية التي يقدمها الحاسوب للغالبية العظمى من الناس الذين لا يرغبون في معرفة كيف يعمل. إنه استخدام مُحرّر مقاطع الأقراص (sector editor) Copy ][+ لتعلم كيف يقلع قرص نظام التشغيل، ثم تعديله ليصدر صوتًا عند كل مقطع يقرأه النظام من القرص. أو عرض شاشة بدء رسومية قبل سرد الأقراص، تأخذك بعد ذلك إلى محث بيسك. أو نسخ عدد هائل من أوامر Beagle Bros. Peeks & Pokes Chart المحيرة ثم محاولة فهمها. كل هذا لم يكن له غرض بذاته، لكنه كان ممتعًا، وكان يخيف والديّ، وكنت متحمسًا لمعرفة كيف كان يعمل كل شيء.

تبعه Apple IIgs ثم Mac IIci. MacsBug. ResEdit. Norton Disk Editor. أوقفني إذا شعرت أن أيًا من هذه الأسماء مألوف.

لقد صنعت Apple الأجهزة التي جعلتني من أكون اليوم. لقد صرت إلى ما صرت إليه بسبب التجربة.

إن عنوان هذه المدخلة مسروق من مقالة Alex Payne “On the iPad” التي يجب أن أسهب في الاقتباس منها.

إن iPad شيء جذاب مُصمّم بعناية مضحك للغاية. إنه جهاز استهلاك رقمي. وكما أشار Tim Bray و Peter Kirn فإنه جهاز يقدم القليل لتحفيز الإبداع.

إن مأساة iPad تكمن في أنه يظهر بصدق وكأنه يوفر طرازًا جديدًا للحوسبة لكثير من الناس، ربما لمعظم الناس. ذهبت الأفكار المربكة والاستعارات المجازية التي خلفتها الثلاثون سنة الماضية في الحاسوب. ذهب العبث الذي لا يرمي لأي غرض. iPad بسيط ومباشر ولا يحتاج إلى صيانة.

لكن أكثر شيء يزعجني بخصوص iPad هو أنه لو كان معي iPad بدلا من حاسوب حقيقي عندما كنت صغيرًا لما أمكنني أبدًا أن أصبح مبرمجًا اليوم. لن تكون لدي القدرة على تشغيل أي برنامج سخيف ضار نسبيًا مفيد تعليميًا من البرامج التي يمكنني تنزيلها أو كتابتها. لن تكون لدي المقدرة على العبث بResEdit لتعديل صوت بدء Mac لأتمكن من تجربة الحاسوب لساعات طويلة دون إيقاظ والدي.

أعرف أن باستطاعتك تطوير برامجك الخاصة على iPad، بنفس طريقة iPhone. يستطيع الجميع التطوير، لكن كل ما تحتاج إليه هو Mac و XCode و “محاكي” iPhone و99 دولار ثمنًا لشهادة مُطور ذاتية الانتهاء. إن “شهادة المطور” في الحقيقة ما هي إلا مفتاح تعمية يعطيك (مؤقتًا) نفاذًا أكثر (بقليل) إلى… حاسوبك الشخصي. ولا بأس بهذه -أو على الأقل يمكن أن نتماشى معه- لمطوري اليوم، لأنهم يعرفون أنهم مطورون. لكن مطوري الغد لا يعرفون ذلك، وبدون حرية التجربة، لن يعرف بعضهم ذلك أبدًا.

(كملاحظة جانبية، لقد كنت مخطئًا وكان فردرك محقًا، وسوف تتضمن أجهزة نظام التشغيل كروم مفتاح يجعل المطورين يشغلون كودهم المحلي. لا أعرف تفاصيل ذلك، وفيما إذا كان ذلك المفتاح ملموسًا أو برمجيًا، لكن وضعًا رسميًا يدعم مطوري اليوم، والأهم مطوري الغد، سيكون موجودًا.)

وأنا أعرف، أعرف، أعرف أن بإمكانك “كسر” آيفونك، لتحصل (من جديد) على الصلاحيات الجذرية، ولتشغيل أي شيء تريده، ولا شك لدي أن أحدًا ما سيكتشف أيضًا كيفية “كسر” iPad. لكني لا أريد أن أعيش في عالم يجب فيه أن تتسلل إلى حاسوبك الشخصي قبل أن تتمكن من التجربة، وطبعًا لا أريد أن أعيش في عالم تكون فيه التجربة على حاسوبك الشخصي غير قانونية (بالمناسبة، أُعلنت براءة سيد الديفيدي جون. طلب المدعي العام الاستئناف، لكن من يحتاج القضاء عندما يكون مفتاح التعمية العلني معك؟)

صنعت Apple في حقبة مضت الأجهزة التي جعلتني من أكون اليوم. لقد صرت إلى ما صرت إليه بسبب التجربة. يبدو أنها اليوم تفعل كل ما بوسعها لحرمان أبنائي من حس التأمل والتفكر. لقد أعلنت أبل حربًا على المجربين. مع كل تحديث برمجي، يتوقف “الكسر” السابق، ويبحث الناس على وسيلة جديدة للتسلل إلى حاوسيبهم. لن يتوفر MacsBug أبدًا لiPad. لن يتوفر ResEdit أو محرر مقاطع الأقراص Copy ][+ أو iPad Peeks & Pokes Chart؛ وهذه خسارة عظيمة، ربما ليست خسارة لك لكنها لشخص لا يعرف عنها شيئًا إلى الآن.

Creative  Commons License
Tinkerer’s Sunset by Mark Pilgrim (the original writer) and Osama Khalid (the Arabic translator) is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.
Based on a work at diveintomark.org.

Advertisements

انطلاق سبيلي غزة

بسم الله الرحمن الرحيم
في الذكرى الأولى للحرب الدموية التي شنت على غزة ،
ولكي لا تذهب ذكراها السوداء أدراج الرياح ،
وينسى المجروح لم نزف دمه ،
وينسى إخوة الشهيد ، لم استشهد أخاهم ،

انطلقت سبيلي غزة ،

وقد شملت على عدة تطويرات وهي اضافة الى تطويرات اوبنتو 9.10 ،

What’s new in this release:

  • “Noor” application: new Quran Browser
  • Sample books for Thwab
  • “Fsool” application: the Sira of The prophet Mohammed (Peace be upon him)
  • “Rejaal” application: Men around the prophet Mohammed (Peace be upon him)..a flash bibliography of 60 Sahabi
  • “Arabeyes Qamoos”: Arabic-English dictionary

Note: the three last software exist only on the full version
What’s changed:

  • New theme (grub image + xsplash…)
  • New structure of “Islamic Software”
  • Monajat is re-developed in Python

Main features:

  • Parental control tool installed (WebStrict)
  • Zekr (Quran study tool), able to play Quran recitations
  • Prayer times apps: Minbar and Firefox ‘Pray Times’ add-on
  • Thwab (encyclopaedia)
  • Custom artwork: usplash, login screen, Islamic wallpapers and theme.
  • Full support for Arabic language.
  • The full version of the DVD contains multimedia, scientific, educational and many other useful software
يمكنكم التحميل من الموقع الرسمي :

Downloads

للتحويل من أوبنتو 9.10 إلى سبيلى غزة

sudo add-apt-repository ppa:sabily.team/ppa && sudo apt-get -q update
sudo apt-get install sabily

جارى التحويل إليها من أوبنتو 9.10

خمس طرق للحصول على المساعدة فى سطر الأوامر

الواجهة الرسومية فى لينوكس قوية كفاية الأن لعمل كل ما تريده وبسهولة بالغة. لكن يظل سطر الأوامر هو فاكهة لينوكس ومتعة مستخدميه الدائمة والسهلة والأمنة أيضاً إلى أقصى حد. لذا اريد ان اوضح فى هذه التدوينة خمس طرق لتعلم نفسك سطر الأوامر…

apropos

هل تذكر جزء من الأمر؟ وليس بالكامل؟

هذا إحدى الحلول وهو إستخدام أمر apropos حيث سيأتيك بكل الاوامر التى تحتوى على هذه الحروف (سواء فى الأمر أو تعريفه) مع تعريف لكل أمر

مثال لو إستخدمناها مع أمر كـ sudo:

$ apropos sudo
gksu (1)             - GTK+ frontend for su and sudo
gksudo (1)           - GTK+ frontend for su and sudo
gnome-sudoku (6)     - puzzle game for the popular Japanese sudoku logic puzzle
sudo (8)             - execute a command as another user
sudo_root (8)        - How to run administrative commands
sudoedit (8)         - execute a command as another user
sudoers (5)          - list of which users may execute what
visudo (8)           - edit the sudoers file

الجدير بالذكر أنك لو ضغط Tab أثناء كتابتك الأمر سيقوم الترمينال بإكمال الأمر بشكل تلقائى

man

اشهر وافضل طريقة للحصول على المساعدة السريعة والشبة كاملة (الكمال لله وحده عز وجل) عن طريق الوصول لصفحة الـ man للأمر مثال:

man ls

ماذا لو ل اكن اعلم الامر بالضبط هل سيفيدنى man؟

بالتأكيد يمكنك إستخدام man -k REGEX or UNIXCOMMAND

مثال:

man -k compression
bzip2               (rpm) - A file compression utility.
gzip                (rpm) - The GNU data compression program.
zip                 (rpm) - A file compression and packaging utility compatible with PKZIP.
zlib                 (3)  - compression/decompression library
zlib                (rpm) - The zlib compression and decompression library.

للحصول على المذيد من المساعدة عن أمر man فقط أكتب أمر man man 😉

whatis

يمكنك من خلاله الحصول على تعريف للأمر فى سطر واحد يمكن إستخدامه للتعرف على وظيفة أمر تعرفته على الأنترنت مثلا فى أقل وقت مثال:

$ whatis cron
cron (8)             - daemon to execute scheduled commands (Vixie Cron)

-h

إفتح صفحة المساعدة للأمر عن طريق -h مثال:

$ netstat -h

Info

لو لم تحصل على المساعدة التى تنتظرها من man يمكنك إستخدام صفحة info لذلك مثال:

info sed
ropos ls
SSL (3ssl)           – OpenSSL SSL/TLS library
aconnect (1)         – ALSA sequencer connection manager
add-shell (8)        – add shells to the list of valid login shells
alsactl (1)          – advanced controls for ALSA soundcard driver
alsamixer (1)        – soundcard mixer for ALSA soundcard driver, with ncurse…
amidi (1)            – read from and write to ALSA RawMIDI ports
amixer (1)           – command-line mixer for ALSA soundcard driver
aplay (1)            – command-line sound recorder and player for ALSA soundc…
arecord (1)          – command-line sound recorder and player for ALSA soundc…
aseqdump (1)         – show the events received at an ALSA sequencer port
aseqnet (1)          – ALSA sequencer connectors over network
blockdev (8)         – call block device ioctls from the command line
BN_lshift (3ssl)     – bit operations on BIGNUMs
BN_lshift1 (3ssl)    – bit operations on BIGNUMs
c++filt (1)          – Demangle C++ and Java symbols.
charmap (5)          – character symbols to define character encodings
compress-dummy (1)   – manual page for compress-dummy – sharutils 4.6.3
credentials (7)      – process identifiers
deb-symbols (5)      – Debian’s extended shared library information file
default.pa (5)       – PulseAudio Sound Server Startup Script
delscreen (3ncurses) – curses screen initialization and manipulation routines
dircolors (1)        – color setup for ls
dlltool (1)          – Create files needed to build and use DLLs.
dpkg-gensymbols (1)  – generate symbols files (shared library dependency info…
esdcompat (1)        – PulseAudio ESD wrapper script
evince-thumbnailer (1) – create png thumbnails from PostScript and PDF documents
evolution (1)        – groupware suite for GNOME containing e-mail, calendar,…
false (1)            – do nothing, unsuccessfully
foomatic-kitload (8) – installs a data kit into the foomatic database.
fslsfonts (1)        – list fonts served by X font server
glcells (6)          – growing cells graphics hack
Glib::devel (3pm)    – Binding developer’s overview of Glib’s internals
Glib::Utils (3pm)    – Miscellaneous utility functions
glschool (6)         – a 3D schooling simulation
glslideshow (6)      – slideshow of images using smooth zooming and fades
gnome-open (1)       – Open files and URLs using the GNOME file handlers
gnome-screensaver-command (1) – controls GNOME screensaver
graphviz (7)         – rich set of graph drawing tools
hp-levels (1)        – Supply Levels Utility
initramfs-tools (8)  – an introduction to writing scripts for mkinitramfs
intro (2)            – Introduction to system calls
ip (8)               – show / manipulate routing, devices, policy routing and…
iwpriv (8)           – configure optionals (private) parameters of a wireless…
laptop-mode.conf (8) – Configuration file for laptop-mode-tools.
ldapadd (1)          – LDAP modify entry and LDAP add entry tools
ldapmodify (1)       – LDAP modify entry and LDAP add entry tools
List::MoreUtils (3pm) – Provide the stuff missing in List::Util
lm-profiler.conf (8) – Configuration file for lm-profiler, a profiler for lap…
lm-syslog-setup (8)  – configure laptop mode tools to switch syslog.conf base…
logrotate (8)        – rotates, compresses, and mails system logs
ls (1)               – list directory contents
lsattr (1)           – list file attributes on a Linux second extended file s…
lsb_release (1)      – print distribution-specific information
lscpu (1)            – CPU architecture information helper
lsdev (8)            – display information about installed hardware
lshal (1)            – list HAL devices
lshw (1)             – list hardware
lsmod (8)            – program to show the status of modules in the Linux Kernel
lsof (8)             – list open files
lspci (8)            – list all PCI devices
lspcmcia (8)         – display extended PCMCIA debugging information
lspgpot (1)          – extracts the ownertrust values from PGP keyrings and l…
lss16toppm (1)       – Convert an LSS-16 image to PPM
lsusb (1)            – list USB devices
lsusb (8)            – list USB devices
luit (1)             – Locale and ISO 2022 support for Unicode terminals
LWP::Protocol (3pm)  – Base class for LWP protocols
mail-files (1)       – GNU sharutils
mailshar (1)         – GNU sharutils
mailsnarf (8)        – sniff mail messages in Berkeley mbox format
man (1)              – an interface to the on-line reference manuals
mcomp (1)            – Compares two files using mtools
md5sum.textutils (1) – compute and check MD5 message digest
mpg123-alsa (1)      – play audio MPEG 1.0/2.0/2.5 stream (layers 1, 2 and 3)
mtools (1)           – utilities to access DOS disks in Unix.
mtools (5)           – mtools configuration files
mtools.conf (5)      – mtools configuration files
mtoolstest (1)       – tests and displays the configuration
mysqlshow (1)        – display database, table, and column information
mysqlslap (1)        – load emulation client
Net::DBus::Error (3pm) – Error details for remote method invocation
Net::DBus::Exporter (3pm) – Export object methods and signals to the bus
Net::DBus::Tutorial (3pm) – tutorials on the Perl DBus APIs
Net::DBus::Tutorial::ExportingObjects (3pm) – tutorials on providing a DBus s…
nm (1)               – list symbols from object files
nstat (8)            – network statistics tools.
ntfsls (8)           – list directory contents on an NTFS filesystem
ntfsprogs (8)        – tools for doing neat things with NTFS
pabrowse (1)         – List PulseAudio sound servers on the network
pacat (1)            – Play back or record raw audio streams on a PulseAudio …
pacmd (1)            – Reconfigure a PulseAudio sound server during runtime
pactl (1)            – Control a running PulseAudio sound server
padsp (1)            – PulseAudio OSS Wrapper
pam_exec (8)         – PAM module which calls an external command
pam_shells (8)       – PAM module to check for valid login shell
paplay (1)           – Play back audio files on a PulseAudio sound server
parec (1)            – Play back or record raw audio streams on a PulseAudio …
pasuspender (1)      – Temporarily suspend PulseAudio
pax11publish (1)     – PulseAudio X11 Credential Utility
pkaction (1)         – Get details about a registered action
ppmtolss16 (1)       – Convert a PPM to an LSS16 image
protocols (5)        – the protocols definition file
pulse-client.conf (5) – PulseAudio client configuration file
pulse-daemon.conf (5) – PulseAudio daemon configuration file
pulseaudio (1)       – The PulseAudio Sound System
remove-shell (8)     – remove shells from the list of valid login shells
remsync (1)          – GNU sharutils
resolve_stack_dump (1) – resolve numeric stack trace dump to symbols
rhythmbox-client (1) – controls a running instance of rhythmbox
RPC::PlServer (3pm)  – Perl extension for writing PlRPC servers
rtacct (8)           – network statistics tools.
s_client (1ssl)      – SSL/TLS client program
s_server (1ssl)      – SSL/TLS server program
s_time (1ssl)        – SSL/TLS performance timing program
sane-artec_eplus48u (5) – SANE backend for the scanner Artec E+ 48U and re-ba…
sane-coolscan (5)    – SANE backend for Nikon film-scanners
sane-coolscan2 (5)   – SANE backend for Nikon Coolscan film scanners
sane-coolscan3 (5)   – SANE backend for Nikon Coolscan film scanners
sess_id (1ssl)       – SSL/TLS session handling utility
shells (5)           – pathnames of valid login shells
signal (7)           – overview of signals
smbcacls (1)         – Set or get ACLs on an NT file or directory names
snmpcmd (1)          – options and behaviour common to most of the Net-SNMP c…
speaker-test (1)     – command-line speaker test tone generator for ALSA
ssl (3ssl)           – OpenSSL SSL/TLS library
SSL_accept (3ssl)    – wait for a TLS/SSL client to initiate a TLS/SSL handshake
SSL_COMP_add_compression_method (3ssl) – handle SSL/TLS integrated compressio…
SSL_connect (3ssl)   – initiate the TLS/SSL handshake with an TLS/SSL server
SSL_CTX_new (3ssl)   – create a new SSL_CTX object as framework for TLS/SSL e…
SSL_CTX_set_ssl_version (3ssl) – choose a new TLS/SSL method
SSL_do_handshake (3ssl) – perform a TLS/SSL handshake
SSL_get_error (3ssl) – obtain result code for TLS/SSL I/O operation
SSL_get_session (3ssl) – retrieve TLS/SSL session data
SSL_get_ssl_method (3ssl) – choose a new TLS/SSL method
SSL_read (3ssl)      – read bytes from a TLS/SSL connection.
SSL_set_session (3ssl) – set a TLS/SSL session to be used during TLS/SSL connect
SSL_set_ssl_method (3ssl) – choose a new TLS/SSL method
SSL_shutdown (3ssl)  – shut down a TLS/SSL connection
SSL_want (3ssl)      – obtain state information TLS/SSL I/O operation
SSL_want_nothing (3ssl) – obtain state information TLS/SSL I/O operation
SSL_want_read (3ssl) – obtain state information TLS/SSL I/O operation
SSL_want_write (3ssl) – obtain state information TLS/SSL I/O operation
SSL_want_x509_lookup (3ssl) – obtain state information TLS/SSL I/O operation
SSL_write (3ssl)     – write bytes to a TLS/SSL connection.
sslscan (1)          – Fast SSL scanner
strace (1)           – trace system calls and signals
strip (1)            – Discard symbols from object files.
system-tools-backends (1) – message dispatcher for system-tools-backends
tc-cbq-details (8)   – Class Based Queueing
tclsh (1)            – Simple shell containing Tcl interpreter
tclsh8.4 (1)         – Simple shell containing Tcl interpreter
textdomain (3)       – set domain for future gettext() calls
traceroute6.iputils (8) – traces path to a network host
traptoemail (1)      – snmptrapd handler script to convert snmp traps into em…
update-openoffice-dicts (8) – rebuild dictionary.lst for OpenOffice.org
update_panels (3curses) – panel stack extension for curses
urlsnarf (8)         – sniff HTTP requests in Common Log Format
variables (5)        – Format of specifying variable names to SNMP tools.
w3mman (1)           – an interface to the on-line reference manuals by w3m(1)
watch (1)            – execute a program periodically, showing output fullscreen
webspy (8)           – display sniffed URLs in Netscape in real-time
wireless (7)         – Wireless Tools and Wireless Extensions
xlsatoms (1)         – list interned atoms defined on server
xlsclients (1)       – list client applications running on a display
xlsfonts (1)         – server font list displayer for X
XML::XPath::Boolean (3pm) – Boolean true/false values
XML::XPath::PerlSAX (3pm) – A PerlSAX event generator for my wierd node struc…

هذا المقال مترجم جزئياً من THE GEEK STUFF

أرجو ان تستفيدوا من هذه التدوينة 🙂

Blogilo

هذه أول تدوينة أطلقها من Blogilo: A KDE Blogging Client، تجربة مميزة حقا. البرنامج سريع جدا ويسمح لك بالتحكم فى كل شئ تقريباً. يحتوى على WYSIWYG editor و HTML editor ويمكن عرض التدوينة بثيم المدونة مباشرة ..

Blogilo ScreenShot

يتصل البرنامج بأكثر من Blogger1.0, MetaWeblog, MovableType (WordPress supports All of these!) and Google GData (used on Blogspot.com blogs) APIs ليتناسب وع أشهر سكربتات المدونات تقريبا .. ويمكن ضبط الإعدادات بمنهى السهولة .. Bolg >> Add Blog

يمكن من لسان Basic ضبط الإعدادات الأولية مثل URL المدونة و User name & Password ومن Advanced يمكن ضبط الـ API والكتابة ويمكن إدخال Blog ID (لا أعرف ما هو!)

ستستمتع جدا بإستخدامه خاصة لو كان لديك وصلة إنترنت بطئية مثلي! كما سيساعدك جدا لو كنت تكتب تدوينة كبيرة مثل هذه.

لتثبيته:

sudo apt-get install blogilo

للأمانة: وجدت بعض المشاكل فى الـ Html tags لا تذر .. ولكنها شكلت بعض المشاكل فى التثيق وإضطررت لتعديلاها يدويا .. ولكنها ليست مشكلة كبيرة 😀

منتظر رأيكم بعد تجربيه ..