המסלול המרכזי מאורגן ע"י הצוות המארגן של אוגוסט פינגווין. המסלול יתקיים לאורך כל הכנס. תוכן המסלול:
מה הקוד הפתוח מציע בעולם הרפואה? מדוע חשוב שקוד פתוח יהיה נוכח בעולם הזה? מה האתגרים המיוחדים של קוד פתוח בתחום?
ההרצאה תתמקד בהיבטים טכניים של קוד פתוח בעולם רפואה (פרוטוקולים, תקנים, אבטחת מידע) והיבטים חברתיים (אבטחת מידע, שקיפות, מניעת מונופוליזציה)
ההרצאה תציג פרויקט קוד פתוח להנגשת נתוני מבחן החינוך הבינלאומי PISA של ה-OECD. זהו פרויקט ראשון בעולם שמאפשר לאנשי חינוך ולציבור הרחב להשתמש ולחקור נתונים על מערכות חינוך ומגמות. נסקור את פיתוח המערכת, נדגים את השימוש בה ונשוחח על עתידה.
פתרון שאלה מילולית במתמטיקה היא משימה מורכבת, הדורשת כישורי שפה בנוסף לאוריינות מתמטית. ובכן, מה אם היינו יכולות לבנות רשת נוירונים שתתמחה בשניהם? ומה אם נוכל להשתמש בתוכנות קוד פתוח בכדי לבנות רשת כזו באמצעות רק כמה שורות קוד? השמיים הם כבר לא הגבול...
בהרצאה זו אספר על הדרך שעשיתי מרעיון לאבטיפוס, כיצד השתמשתי בתוכנות קוד פתוח בכדי לבנות רשת נוירונים שקוראת שאלה מילולית במתמטיקה ומחלצת את המשוואה שיש לפתור. אתייחס לנקודות המבט שלי כמפתחת מוצר וגם כלקוחה של מוצרי קוד פתוח, במטרה להגיע לתובנות הנוגעות לפיתוח של מוצר קוד פתוח שיגיע לקהל רחב.
As Linux was launched more than a quarter of a century ago, today is it the most widely adopted operating system on the planet. In addition, this has helped expedite open source projects further and gain mass adoption, leading to various software defined everything solutions available today for customers of all types and sizes and utilizing open source methodologies and development models.
הדגמה של איסוף נתונים ממכשיר קצה, שמירתם במסד נתונים יעודי (tsdb) והצגתם ברשת בעזרת grafana.
Attacking the "Test Pyramid" from the middle.
Test are a must nowadays. Everyone seems to "know" (or have an opinion) what a "proper" unit test is, and what it must not do ("DB IS HOT LAVA") and that you should do more unit tests and less higher level tests. But this view has problems.. Unit testing don't check certain stuff, are hard to implement with common MVC, Db has features we are actually using which are part of the feature under tests and some kinds of unit oriented tdd can cause Test Induced Damage to software design. So I'm going to suggest a complimentary Tool: Functional (Public Api driven) Testing. We'll be going over naming confusion, We'll be Questioning the traditional view of testing pyramid,. I'll show Functional tests patterns and anti patterns and do some live refactoring of bad functional tests (Code examples mostly in Python)
Let's Encrypt is a new free certificate authority. It allows anyone who owns a domain to get a legit signed certificate for it. In this talk we'll briefly talk about Public-key Crypto, attacks against TLS and how Let's Encrypt works! Finally, we'll have a live demo where we'll obtain a new legit certificate for a domain.
The dirty cow vulnerability allows an unprivileged user to gain write access to otherwise read-only memory mappings. This talk will explore both the kernel vulnerability and its user space exploit techniques.
We all love Redis, we all love to do cool stuff with it. But until recently it was impossible to do high performance, scalable search with it. But with the new RediSearch search engine, it's now possible to make redis into an extremely fast, in-memory search and indexing engine, that scales to huge clusters and can hold billions of documents with ease - while keeping things nicely compressed. And it is open-source, too! In this talk I will cover RediSearch's desing, functionality, and demonstrate scaling it to over a billion documents with real-time indexing.
שמענו שקומפיילר הופך קוד לבינארי. איך אנחנו מתחילים להריץ אותו? השתמשתי בספריה, איך המחשב יודע את זה? איך האסמבלי משתמש בפונקציה שלא כתבתי, אלא נמצאת בספריה? בהרצאה נענה על השאלות האלו ונכיר כלים שימושיים
בחברה הטכנולוגית בימינו, באגים בתוכנה מתקבלים כמעט בהבנה (בניגוד לחומרה). גם בפיתוח מערכות-תוכנה קריטיות, כמו מערכות מוטסות, המלחמה בבאגים נעשית בעזרת טסטים אינסופיים - כחוכמה לאחר מעשה - שיטה הדורשת הרבה כסף והרבה זמן, שאינם מצויים עבור מפתחים רגילים. מעניין שכבר בשנת 1968 אמר דייקסטרה (Dijkstra) את הביקורת הבאה:
“However, I am convinced that the quality of the product can never be established afterwards. Whether the correctness of a piece of software can be guaranteed or not depends greatly on the structure of the thing made.” [0]
בהרצאתי אראה כי מספר קטן של כללים מבניים על התוכנה, כללים שאינם תלויים בשפת התכנות, מספיקים כדי לשפר את בהירות התוכנית בעיני המתכנת וגם בעיני המבקרים והמתחזקים - ובכך להקל על בדיקות התוכנה ותחזוקתה. למרות שחלק מהכללים חדשים, רובם ידועים - אך נתפסים ככללים של סגנון ולא ככללים מהותיים. למעשה אוכיח, ע"י דוגמות, כי המסמכים המנחים פיתוח-תוכנה (Coding standard) עבור מערכות קריטיות (דוגמת מערכות רכב ומערכות מוטסות) מתעלמים מרוב הכללים האלה. בנוסף, אני טוען כי יש פגמים מהותיים בתהליכי פיתוח התוכנה (processes) כפי שהם נהוגים בחברות הגדולות. המסקנה היא שיש עוד הרבה למה לשאוף ולכן יש מה לשפר.
מי שבילה זמן מה בקהילת התכנה החופשית בוודאי שמע אודות GNU/Emacs, עורך טקסט שהחל את דרכו בשנת 1970. אם הסקרנות כגברה עליכם והרצתם את התכנה הזאת, סביר להניח שחשבתם שהגעתם בחזרה ל- 1970, ושאלתם את עצמכם איך חוזרים לשנת 2017 במהירות האפשרית.
אני רוצה לשכנע אתכם לתת הזדמנות נוספת לכלי הזה, שבמשך 47 שנים של פיתוח הפך להיות אחד הכלים החזקים ביותר עלי אדמות לעיבוד טקסט. זאת ועוד, GNU/Emacs נתברך באין ספור מודולים, ויכולת התאמה אישית שאין שניה לה, כך שעם נחושיות והתמדה, תוכלו להפוך את הסביבה המאותגרת מבחינה וויזואלית וארגונומית הזאת, לסביבה שנתפרה במיוחד עבוכם, ובתור שכזאת לאחד הכלים הפרודוקטיביים ביותר שנוצרו אי-פעם.
פרוייקטי קוד פתוח רבים מתנהלים כיום ב-git, הרצאה זאת היא מבוא בסיסי לשימוש ב-git. רצוי ידע קודם ב-SVN ודומיו, אך אינו חובה. כמו כן, ההרצאה תסקור עבודה עם github ו-gitlab.
גיטלאב הוא מוצר ניהול קוד פופולרי, שמשלב בהצלחה מודלים של קוד פתוח ומוצר מסחרי. בסשן אסקור את הנושאים הבאים:
בהרצאה נדבר על האפשרויות להיכנס לעולם הקוד הפתוח, נדבר על מה היא "תרומה", איך כדאי להתחיל. נדבר על השינוי שעברתי כדי להפוך למפתח קוד פתוח ועל הדברים שלמדתי לאורך הדרך. בנוסף נדבר על כלים ושירותים חשובים עבור אנשים שתורמים לפרוייקטי קוד פתוח. אתן דוגמאות מתוך פרוייקט שאני עובד עליו - "Foreman".
תמיד רציתם לחפש (ולמצוא) פרוייקט אופן סורס שיעניין אתכם ותרצו לתרום לו לאורך זמן אך לא ידעתי איך להתחיל? בהרצאה ניגע בכל הטיפים שיכולים לעזור ל-absolute beginner להתניע ולעשות את ה-PR הראשון שלו ב-GitHub.
אתם בטח מכירים כלים ושיטות שמשתמשים בהם בפרוייקטים אחרים אבל משום מה בפרוייקטים שלכם אתם לא עושים אותם. יש כל מיני סיבות - הפרוייקט שלכם קטן מדי / גדול מדי / מורכב מדי, אין מספיק זמן, אין מספיק מפתחים. ייתכן שחלק מהסיבות נכונות, אבל בסופו של דבר זו שאלה של עלות מול תועלת.
בהרצאה הזאת אני אנסה להמחיש את התועלת, אני אנסה להראות איך הכלים והשיטות שאתם כבר מכירים - יעזרו לכם לבנות פרוייקטים מוצלחים לטווח ארוך ועם פוטנציאל גדילה.
חלק מהנושאים שאתעסק בהם - ניהול משימות, תיעוד, code review, ניהול גרסאות, release notes, CI/CD, TDD, automated testing ועוד. אני אציג את הנושאים באופן כללי ובנוסף אדגים את המימוש שלהם בטכנולוגיות ספציפיות, כולל דוגמאות אמיתיות מנסיוני האישי כמוביל ומפתח פרוייקטים בקוד פתוח.
ככל שעובר הזמן וה"עולם הישן" מתחלף בחדש הולך ועולה שוב תחום ה"קהילות" בהרצאה זאת מפי רעי דישון - מייסד/שותף של CommAgain.org - ארגון תשתית לקהילה וקהילתיות ופורום עמיתים למובילי קהילות יסקור את השינויים המרכזיים שהובילו לנקודה בה אנו נמצאים כיום, כמה וכמה דוגמאות לקהילות המתהוות כיום בישראל, מהם שלושה מודלים לפיתוח והובלת קהילה, ומה בין קהילה - נטוורק ותנועה.
מוקיטו היא אחת מספריות ה-mocking המפורסמות בעולם, אך כוחה העיקרי אינו באוסף היכולות המרשים שלה, אלא בקהילה שנוצרה סביבה. בהרצאה זו אחלוק את הסיפור האישי שלי על איך הפכתי ממשתמש במוקיטו לתורם למוקיטו, ואיך קהילות קוד-פתוח משגשגות לא מחכות שהקהילה שלהן תיווצר יש מאין, אלא מפתחות אותה באופן פעיל.
קהילות של קוד פתוח מוכוונות על ידי ערכים כמו פתיחות, שקיפות וחירות. ערכים אלה באים לידי ביטוי הן במבנה של הקהילות והן ברשיונות לפיהם מופצת תוכנת הקוד הפתוח. אולם, ערכים אלו יכולים להתנגש עם ערכים חשובים אחרים, כגון ערכים של פרטיות וביטחון לאומי. הרצאה זו תבחן כיצד הערכים האחרים הללו באים לידי ביטוי בחובות משפטיות שונות ואיך חובות אלו עשויות להתנגש עם ערכי הפתיחות והשקיפות המוטבעים ברישיונות הקוד הפתוח.
ROSE (short for Red Hat Open Source for Education) is a cross-community effort lead by Red Hat Israel that brings students from Tira and Ra'anana to the Red Hat offices to learn about the Linux operating system and Python programming. As part of the ROSE project, the students learn about Open Source, basic Linux shell skills, and Python programming. As a final project, they write an algorithm in Python for a self driving car in a race game. The project gives an excellent opportunity to 8th grade students to experience both the world of coding and communication with other communities that they are not regularly in contact with. How does this work? How can coding bring people from different cultures closer? Can we make it fun? In this session, we will present the project structure, the team activities, the code competition and our experience leading this project last year.
In Modiin we have regular weekly meetings where we help each other learn interesting technologies that will help them find a better job. We do that by contributing to Open Source projects. As most attendees have little or no background in Open Source we have quite a lot to learn. We give them tasks that help them expand their skills needed to contribute.
So far we have been dealing with Git, GitHub, JSON, Linux, Python, Flask, Docker, PHP, testing, Travis-CI. Just to name a few subjects.
In this presentation I'll introduce our group and make some recommendations how could you also start one.
We have a Meetup group for scheduling.
ההרצאה תספר כיצד יוצרים קהילת קוד פתוח סביב הארוע, על ההפצה שלו לקהילות של ארועים דומים מסביב לעולם ועל ההתלבטויות שבדרך.
מהנדס בגוגל הפיץ מזכר פנימי שעורר סערה רבתי ואף הוביל לפיטוריו. בהרצאה נציג נקודות למחשבה עבור התעשיה והקהילה המקומית, שעולות מתוך עיון במסמך ובתגובות אליו.
המסלול מאורגן ע"י קהילת פוסטגרס ישראל שבחסות Postgres Miktzoanim וקבוצת ה-meetup הישראלית של פוסטגרס שבחסות עמותת המקור. המסלול יתקיים ביום שישי.
המסלול המשפטי מאורגן ע"י עו"ד יהונתן קלינגר. המסלול יתקיים ביום שישי. תוכן המסלול:
סדנה מעשית לסקירת קוד פתוח:
פרויקט אמיתי ינותח מאפס על כל רכיביו, כדי לאפשר למפתחים להסביר את הפרטים הרלוונטיים לעורכי דין.
המסלול מאורגן ע"י הסדנא לידע ציבורי. המסלול יתקיים ביום חמישי בבוקר.
הסדנא היא עמותה המקדמת שקיפות מידע שלטוני ומעורבות אזרחית, באמצעות בניית כלים בקוד פתוח לפתיחה והנגשה של מידע ציבורי. מתנדבי הסדנא מפתחים אפליקציות ווב שמנתחות ומציגות בממשק ידידותי מאגרי נתונים שונים, כגון תקציב המדינה ותקציבי רשויות מקומיות, הפעילות הפרלמנטרית של הכנסת, נסיעות של אוטובוסים ורכבות, תאונות דרכים, תכנון עירוני, זיהום אוויר, מדיניות השקעות של קרנות הפנסיה בכספי החסכונות של הציבור ועוד ועוד.
המסלול יכלול הרצאות על פעילות הסדנא ופרזנטציה של 3 פרוייקטים:
ולאחר מכן התקנה של סביבת העבודה וצלילה לתוך הקוד.עיקר הפעילות בסדנא היא פיתוח פרוייקטי קוד פתוח - פעילות המבוצעת כמעט באופן בלעדי על ידי מתנדבים. לאורך השנים האחרונות למדנו היטב אילו דברים מושכים מתנדבים לעבודה איתנו ואילו מרתיעים; מה גורם לאנשים לחזור פעם אחר פעם ומה גורם להם לא לחזור לעולם...
בהרצאה יוסבר כיצד פרויקטים מסוג זה שונים מפרויקטי תוכנה אחרים, ומה אנו עושים (טכנית!) בשביל להקים ולטפח קהילת מתנדבים שיעבדו עליהם ואף יתמידו בכך.
המסלול מאורגן ע"י עמותת ויקימדיה ישראל. המסלול יתקיים ביום שישי.
במסגרת המסלול, המשתתפים יקבלו הסבר כללי אודות הממשק הטכני של ויקיפדיה בכלל וויקיפדיה העברית בפרט, האתגרים הטכניים מולן היא מתמודדת, וכן הסבר אודות מגוון הכלים הטכניים והתשתיות בהם נעשה שימוש שוטף בוויקיפדיה העברית. ויקיפדיה היא אחד מהאתרים הנצפים ביותר ברשת האינטרנט, ובגרסה העברית שלה גולשים מדי חודש למעלה מ-50 מיליון איש.
להסבר על Open Source Storage. המסלול יתקיים ביום חמישי אחר הצהריים.
המסלול יעסוק בטכנולוגיות אחסון נתונים מבוססות קוד פתוח:
Writing I/O-intensive applications in today's environments, with hundreds of thousands of available SSD iops, dozens of cores, and tens-of-gigabits-per-second network interfaces, is more challenging than ever.
We will present Seastar, a modern, open-source C++14 framework for writing high-concurrency, high-throughput server applications. Seastar is the framework behind ScyllaDB, a drop-in Apache Cassandra replacement that provides 10X throughput improvements on the same hardware.
NVMe over Fabrics has quickly become a popular method for networking non-volatile memory. It provides a powerful standard framework for specifying storage operations and managing systems. However, it does not specify a particular binding. So far, the ones most widely used are RoCE (RDMA over Converged Enhanced Ethernet) and Fibre Channel. But why not use TCP/IP instead? It is, after all, the most widely used network protocol of them all, and already well-known and heavily-implemented in every data center. Mappings of NVMe commands and data movement onto TCP/IP are now available, and performance and latency results are very promising. Of course, TCP/IP has issues, including a great deal of overhead not needed for storage operations.
(ההרצאה תנתן בעברית)
Ceph is a highly available distributed software defined storage, providing block, object and file-system interfaces. In the talk will lean more about Ceph, it's architecture and best practices
Today's datacenters are filled with storage arrays that speak different languages. Even a workflow as simple as provisioning a LUN is vendor specific, non-portable, and can be difficult to automate. Ansible provides a robust community and rich platform for developing portable automation and with some secret sauce we can create a volume on any storage backend using the same playbook. In this talk Adam will introduce the quarry Ansible role, show how it works, and demonstrate how to add support for new storage backends and new storage operations.
מה קורה כשמפעילים את אותה מכונה וירטואלית פעמיים? יש לך split-brain, והמידע על הדיסקים של המכונה הזאת מושחת. oVirt 4.1 מספקת תכונה חדשה VM Leases, שמונעת מצב זה באמצעות חכירה מבוססת “Disk Paxos” על שרת האיחסון. באמצעות חכירה אנחנו יכולים לשפר את הזמינות של מכונה וירטואלית אם המכונה הפיזית לא נגישה, ולהפעיל את המכונה הווירטואלית על מכונה פיזית אחרת. ניר יציג איך VM Leases משולבים ב-oVirt ואיך אפשר להשתמש בהם. oVirt היא מערכת וירטואליזציה בשלה וחופשית המתחרה בהצלחה במערכות קנייניות.
המסלול מאורגן ע"י קהילת DevOps ישראל. המסלול יתקיים ביום חמישי בבוקר.
DevOps היא תרבות ארגונית אשר שמה דגש על שיתוף הפעולה והתקשורת בין מפתחי התוכנה לבין שאר אנשי ה-IT. השיטה דוגלת בביצוע אוטומציה של תהליכי אספקת התוכנה בעזרת כלים וטכנולוגיה מתקדמת ואוטומציה של שינויים בתשתיות. מטרת השיטה לכונן תרבות וסביבה שבהן בנייה, בדיקות ושחרור של גרסאות תוכנה יכולים להתבצע במהירות, לעתים קרובות ובאופן אמין יותר.
המסלול ממוקד להציג כלים ודרכי עבודה מהתחומים הבאים:
הדגמה של הרמת מיקרו-שרות מרמת כתיבת הקוד ועד שרות עובד וחשוף לרשת. בעזרת הכלים של openshift.
Using Linux containers for management of development and test environments saves the pain of dealing with multiple toolchains, packages and compilers dependencies. Yan Vugenfirer will present appropriate techniques for seamless use of containers in development process for embedded and IoT. The implementation of those techniques will be demonstrated by using new and open source management framework, Rebuild - https://github.com/daynix/rebuild.
In this session, we will help drive your understanding of microservices versus traditional applications. You will also learn why simply placing an application in a container doesn't translate into microservices. Time permitting, we will demonstrate an application transformed into a microservice on the CaaS platform.
ההרצאה תעסוק בהבנה של מהות ה devops בתעשייה - הצורך ב devops בפרויקטים של תוכנה , בהיכרות מהירה של כלי קוד פתוח והשגת agility תוך כדי בניית השלבים.
Nagios, we all know it and love to hate it's limitations, Some people actually did something about it, Icinga, A next level monitoring solution that started as a fork of Nagios and now stand's on it own and provide so much more... Come learn about how it was developed, use cases, adaptation in the market place and road map.
המסלול מאורגן ע"י קהילת Go ישראל. המסלול יתקיים ביום חמישי בבוקר.
Go היא שפת קוד פתוח המתאימה לאתגרים עדכניים ולחומרה מודרנית. Go בשימוש על ידי חברות כמו Google, YouTube, Dropbox, Canonical (Ubuntu) , Booking.com, eBay ,Facebook , Mozilla (FireFox) , Yahoo וכן בפרויקטי קוד פתוח (לדוגמא Docker ו kubernetes כתובים בGo).
השנה טיפסה Go למקום העשירי בפופלריות בשפות התכנות (לפי TIOBE).
המסלול מיועד לאנשים הרוצים להכיר את שפת Go ואפשרויות השימוש בה. ההרצאות יהיו ברמה של מתחילים ויכילו הכרות עם שפת Go ועם סביבת העבודה.
Go has always been marketed as a language suited for developing high performance server applications. But what exactly make Go programs scale? In this session we'll look at the design of the Go runtime and scheduler, compare it with other technologies and understand how it works internally and what makes it perfect for server applications with high load. If you want to learn about the language that was used to develop Kubernetes, Docker, Gett and other high profile services, this is the session for you!
המסלול מאורגן ע"י קבוצת משתמשי MySQL בישראל. המסלול יתקיים ביום חמישי אחר הצהריים.
חיים יסביר מה הם המרכיבים, הכלים והתכונות המרכזיות הקיימות ב-MySQL, אופן ההתקנה של MySQL (כולל הדגמות חיות), ארכיטקטורה מרכזית, ניהול בסיסי של MySQL ודוגמאות מהשטח.
רונן ידבר על החידושים והתפתחויות הצפויות ב - MySQL 8 - הגרסא הבאה של MySQL, אם נספיק רונן יסביר וידגים על הדבר החם הבא - InnoDB cluster - דרך לנהל קלסטר MySQL עם יתירות, שרידות וזמינות גבוהים.
שלומי נח, גורו MySQL, ידבר על הפתרונות קוד פתוח הקיימים ב-Github, הבאים לפתור בעיות נפוצות ב-MySQL במיוחד בנושאי Availability ו - Usability, כגון: בעיות ב-Failovers, ו- Schema migrations.
תרגיל DR מתחיל ב"חדר מלחמה"... כל המהנדסים נכנסים לחדר אחד, פותחים צ'אט, ומתחילים לעבור על הפרוצדורה.... מנשה מוריד את האפליקציה, דידי מעביר את הדאטאבייס, מיכל משנה את הקונפיגורציה.... וככה לכל מערכת...