לאחר שרעיונות לפוסטים נגמרו, צץ לי רעיון בראש לעשות פרויקט אחר, אמיתי, ומורכב יותר. עקב סיבות מסוימות שיוצגו שהפרויקט הסתיים, הפרויקט נכתב בC. עקב התקפה (שכנראה מוצדקת) על שאלה טיפשית שאומנם ידעתי את תשובתה, אבל לא רציתי (מוכן נפשית) להתמודד עם תוצאותיה. על כן החלטתי לעשות את הפרויקט בלי להידרש מעזרה מאף אחד, ונראה שזה הולך מצוין וכך מעלה את רמת ההתמודדות שלי והידע. את הפרויקט אני עושה בזמני בנסיעות הארוכות באגד. יש לכך חסרונות גדולים, שעות שבהן אני מותש אחרי יום עבודה ולא בהכרח ערני, או לחלופין מוקדם בבוקר שאני רחוק מלהיות ערני. האינטרנט של אגד רחוק מלהיות מושלם ובהרבה נסיעות הוא לא עובד, ושהוא כן עובד, הWIFI מוריד שעות מזמן הסוללה (לא צוחק, מסתבר שהוא באמת עד ככה משמעותי) וכבר קרה לי כמה פעמים שאני נתקע בלי סוללה. הניד, דלל, גם לא מיטיב ומתחמם נורא, ולכן אני צריך להקפיא את עצמי במזגן רק כדי שהוא לא יתחמם לחום בלתי נסבל, ומספר פעמים נאלצתי לסגור אותו כי לא הפעילו מיזוג, או שהמיזוג היה חלש מידי. אתגר נוסף הוא השפה. ידעתי עקרונית את היסודות של C, פוינטרים ומחרוזות אולם אחרי שהורגלתי שנים לשפות דינמיות, עדיין היה קשה להקל את התפיסה הזו שהמחשב הוא רק מכונה, ואין דברים קסומים שעועוברים כמו גלים בים מצד לצד דרך כל מיני שוברי גללים שעושים בהם פעולות (בדומה למה שקורה בבאש למשל). לאט לאט, אני מתחבר לשפה, ומשלים בקלות עם העובדה שצריך לטפל בדברים הכי בסייסים, צורות הכתיבה השונות של פוינטרים *(struct.ptr) ל ,struct->ptr הטיפול המיוחד במחרוזות, sprintf היא לא כמו בPHP אחרת היא היתה צריכה להקצות זיכרון לכך שצריך לשחרר אח"כ ולכן לא עשו אותה כך. גם sizeof לא ייתן את גודלה וכנראה stlen עושה לולאה עד שנתקל ב\0 אומנם יכולתי לעשות גרסה פשוטה יותר של הפרויקט ובלי צורך בהקצאות זיכרון (משלי) ומחרוזות מיוחדות. אבל אז אני יורד מהאתגר להתמודד עם C וזה גם חצי C 🙂 גם נושא השימוש בתיעוד התקדם עם התוכנית, בעוד שבהתחלה לא מצאתי איך נקראים קבצי הMAN, קבצי הHEADER שימשו תיעוד כמעט מצוין (עוד חלק יפה של C). כמו כן לאחת הספריות לא נארזו קבצי man באובונטו (ולמה לא עוברים לINFO?). חלק נוסף במהלך הפרויקט הוא ליצור תיעוד למבנה שלו, כדי שיהיה פונקציונלי,  שמיש, ושאנשים ירצו להשתמש בו. לבינתיים תוכנת הספגטי מתקדמת מהר יותר. ניפגש בהמשך 😀