Download all dependencies of a package on Ubuntu/Debian

UPDATE: Thanks To Julian, Now I know you can simply use

aptitude download ‘?reverse-depends(PKGNAME)’

 Awesome.


Hey there!

Several days ago a colleague asked me if there’s a way to download the dependencies of a package in a Debian based distribution, for an offline use.
Sound like an easy task, and after a while of thinking, i got remembered in a tool that used to ship with Ubuntu back in the days, called “Synaptic”, that used to have that tool.

However, there are some cons to that tool. first of all it’s a GUI one (GUI? Eeeeww!”), and second, it downloads only the packages missing to your current installation, so if you’re offline installation dismatch your own one, you’ve got a problem.

So I decided to take it as a challenge, and ended up with a little script I hope will help ya’ll. And you may find it in my github of course…

https://github.com/Ddorda/dl-deb-deps/blob/master/dl-deb-deps.sh

I think it’s pretty much straight-forward code, but if you have any questions you’re more than welcome to ask.

Dor.

Highlight PHPS code on Nginx

Hey there all,

since I mostly develop in PHP language, I wanted a way to share my code for a while, just to show it to a friend or so, without pasting the code into pastebin.

For such situations PHP created the extension PHPS, which stands for “PHP Source”. on Apache for ex. all you have to do is to add to httpd.conf file the line “AddType application/x-httpd-php-source .phps”, and phps extensioned files will be highlighted.

On Nginx however, there’s no such thing, some will say for good. After a little search i found that many Nginx users already created their own code to highight their PHPS files. but if we make the highlight ourselves, why not to take it into a completely new level? I’ve decided to add more features, such as line numbering. I looked over the www if anyone already wrote such thing. the best solution i saw can be found here. I’ve decided to use it and to add more features, like anchoring the lines, so i’ll be able to point the viewer to a specific line.

I also created a demo, so you can try it without running it yourself.

At last, I uploaded my work, including the Nginx configurations into GitHub, and it can be viewed over here. If you have any ideas to improve the code or you found a bug, I’ll be more than glad to have your feedback!

Dor.

נוסף תהליך התקנה למערכת רישום חניכים

שלום לכולם,

בתקופה האחרונה, בין השיפורים שבניתי למערכת לרישום חניכים, השיפור החדש והניכר ביותר הוא תהליך ההתקנה שנוסף.

את תהליך ההתקנה ביססתי על תהליך ההתקנה של וורדפרס ושל phpBB שעזרו לי מאוד. יחי הקוד הפתוח!

מעבר לזה, החלטתי לשנות את הרישיון של המערכת ל־GPL (לעומת BSD) אחרי שראיתי כי הרבה מערכות ווב גדולות משתמשות בו, למרות הפירצה שלכאורה יש בו ליישומי רשת.

אתם יותר ממוזמנים להתנסות במערכת אונליין או להוריד את המערכת ולהריץ בבית או סתם לצפות בקוד.

אשמח להערות, רעיונות, וכו’.

דור :)

מערכת רישום חניכים

שלום לכולם,

למי שלא מכיר אותי, בשנה האחרונה זכיתי לשרת בשנת שירות בצבא הכחול, השומר הצעיר. לא אפרט יותר מדי על מה עשיתי בשנה הזו, רק אציין שזו הייתה שנה מאוד מיוחדת ואני ממליץ לכל מי שעדיין בגיל המתאים לצאת לשנת שרות – ולא מאוד חשוב איפה.

מה לעשות, שאנשי חינוך הם לרוב לא בדיוק אנשי טכנולוגיה, מה שגרם לזה שכדי לעקוב אחרי החניכים בתנועה משתמשים בכלי שפותח לפני כ־5 שנים בשפת דוט נט ומשתמש בטכנולוגיות ישנות.

האמת? אין לי עם זה שום בעיה, אם זה היה הכל – על הכיפאק. הבעיה שלי הייתה שהתוכנה הזו זכתה לכל מני באגים החל משלב ההתקנה ולכן הייתה מאוד לא נגישה, במיוחד לא עבור איש לינוקס שכמותי. לכן החלטתי להתחיל בפיתוח של מערכת חדשה לחלוטין שתהיה קודם כל זמינה מכל מקום, ותכיל בתוכה הרבה יותר תכונות וטכנולוגיות חדישות (כמובן אחרי שחיפשתי טוב ברשת שאין מערכת מוכנה שבנויה למה שאני מחפש, אז אל תפרסמו תגובות מעצבנות).

השלב הראשון היה עבודת מחקר קצרה. ביררתי מה התכונות שאנשים צריכים בתוכנה, מה הם מרגישים שחסר להם, מה הם היו מתים שיהיה ואין, מה יש וצריך לעבוד טוב יותר וכו’…

עלו המון רעיונות מצוינים והתחלתי בעבודה. הרעיון ההתחלתי שלי היה לפתח משהו דומה למה שכבר קיים, אבל וובי (ברשת), כדי שיהיה זמין, מיד, בלי התקנה, מכל מקום בעולם. זכיתי לעבוד עם כל מני טכנולוגיות, בינן PHP, JS, HTML5 ועם כל מני תכונות שהן כ”כ חדשות שבקושי יש להן תיעוד (והמון פוטנציאל!!!) כמו למשל Blob, או הפרמטר download בתגית a (שמעניין מתי פיירפוקס כבר יישמו אותו!).

בשלב כלשהו התחלתי לעבוד על החיבור בין הקוד שלי לווב סרוויס של השומר הצעיר, דבר שעשה לי חררה כי (ואני לא מאשים אותם) הם עובדים עם Windows Server, .NET, MSSQL וכל אותם דברים שאני כ”כ אוהב.
זמן עבר, נגמרת השנה, ולא ניכנס לפרטים אבל בחרתי לעבור לתנועה אחרת, ואני עובר עם הקוד שלי. אבל למען האמת אני אשמח אם גם השומר הצעיר ישתמשו במערכת, או כל תנועה כחולה אחרת שמקדמת את האינטרסים שלי, ולכן החלטתי להפוך את המיזם לקוד פתוח מן השורה. כלומר שאני אפתח את הקוד לתנועה בה אהיה פעיל, וכל שאר התנועות מוזמנות לקחת את הקוד ולעשות בו כרצונן.

כמובן שנשאלה השאלה תחת איזה רישיון אני מפיץ את הקוד. אז בקצרה התשובה היא BSD.
ולא בקצרה, חשבתי להשתמש ברישיון GPL הנפוץ, אבל חיפוש קצר באינטרנט נתן לי כמה נקודות למחשבה, ואתם מוזמנים לקרוא גם.

כמובן שהקוד היום מאוד מלוכלך, אז אני אשמח מאוד לביקורת (בונה!) או לתרומות קוד: https://github.com/Ddorda/Rishum-Khanikhim.
כמו־כן אתם מוזמנים להתנסות במערכת הדמו שהרמתי בכתובת: http://shmutz.co.il (פרטים: user / password).

נ”ב – כרגע אני עובד על להמיר את המערכת אל mysqli PDO. אם מישהו רוצה לעזור לי להבין את ההבדלים אני אשמח.

שבת שלום,
דור :)