יום שני, 31 ביולי 2017

Summit 2016: 10 Real problems and solutions for your Build & Deploy process / Ariel M. Moskovich

- (NOT) Loosing traffic while deploying
- Fixing build performance
- Volume issues at bootstrapping
- The exile JVM
- Free developers from your burden with self serve
- Docker registry reconstruction and scale
- Deploy from branch
- Detecting versions inconsistency
- Cleaning old images without breaking things
- Tracking it all with event-stream, slack and graphite


Summit 2016: "Operations" - you keep using that word, but I don’t think it means ... / Avishai Ish-Shalom

DevOps, #NoOps, #serverless - every few years yet another movement to get rid of those pesky Ops engineers no one likes pops up. But like cockroaches, we can’t seem to be able to get rid of the buggers. Can it be we just don’t really understand what “operations” is all about?
When people hear “Operations”, they think of managing servers, of automation, CI and deployment pipelines. But Operations is not about any of that - operations is about making the machines you built/purchased/programmed earn money (or whatever the goal of the organization is). Making your business work is what operations is about.
This talk introduces the principles and history of Operations Engineering, the challenges and responsibilities of practitioners and the transformations IT Ops world is experiencing in recent years.


יום ראשון, 30 ביולי 2017

Summit 2016: You're great at writing code. You need to be greater at telling stories / Boaz Gaon

I've spent most of life amongst storytellers in journalism, stage and screen. I've spent the last two hiring and working with great engineers at Wisdo.com. It's my profound belief that great code writers are artists in soul and practice and that the architecture of stories can and should be taught to those who spend more of their days - solving stories rather than writing them. Code needs to serve a greater purpose. Stories provide that greater purpose efficiently. Finally, engineers who want to take the leap and become co founders - will need to know how to walk into a room, and make that room listen. There's a shape to that that can be taught.


Summit 2016: Simple, Battle Proven, Microservices Strategy / Erez Lotan

This is not yet another technology list, buzzword packed, look-how-good-we-are show off. Actually it is technology/language agnostic and I promise not to say Docker even once ;)
The newcomer into this world is overwhelmed with information, patterns, tools and practices. Having delivered numerous such projects, I'll try to separate the wheat from the chaff.
This is a clear recipe for the key practices you should keep when building continuously delivered microservice.


יום שבת, 29 ביולי 2017

Summit 2016: The way to unified CI/CD using Ansible / Hadar Davidovich

At Ravello Systems we were relying heavily on CI/CD since the very early days. During the first 4 years of the company, our CI/CD framework changed and evolved to the point it went out of control and we decided to take all the experience from these years into a new and improved CI/CD. This session will share the lessons that we learned when we used multiple different tools as part of our DevOps work and why we choose to move to Ansible for provision environment on demand, setup vm, deploy code and orchestration of our tests flows.

We would discuss the process of re-doing the CI/CD from the beginning in small steps over more than a year while a large always developing group continue to push changes to production on daily basis.

To support the move we added new Ansible provisioning module that create environments in Ravello and new inventory for those environments. Since our backend is deployed in AWS directly and our tests runs on top of Ravello we added abstraction layer that allow us to write roles and playbooks that works on both environments without change. We will describe the technical aspects of this move including Jenkins integration, deployment module we developed and how we build and install client product we develop on multiple OSs.


Summit 2016: A Brand new Immune System for a Brand New Google Product / Itay Maman

The full story behind a highly successful immune system we implemented for the "New Google Sites". We will discuss key decisions and present the design of the system that we built, touching a wide range of devops topics:
Production tests
Webdriver vs. RPC probers
What environments we have and how are they pushed (CI/CD, etc.)
Capacity testing, load testing, Canarying
What worked, what went wrong, and what were the surprising wins
Blackbox vs. whitebox alerting
Capacity planning and request costs
What the oncaller dashboard looks like
Postmortem culture


Summit 2016: Handling millions of connections in Cowboy using Elixir / Joey Feldberg

Learn how easy it is to learn and use Elixir and Cowboy (A concurrent and fault-tolerant HTTP server) in a short time - from figuring out how to build a distributed In-App messaging system, to deployment and production. You'll also hear about why Erlang/Elixir are perfect for realtime messaging.


Summit 2016: How to make a Lisp interpreter in 56 languages / Dov Murik

Mal (Make-a-Lisp) is a Clojure-like Lisp language invented by Joel Martin for educational purposes. It has interpreter implementations in 56 programming languages, including C, Java and Python, but also Make, PL/SQL, Vimscript and many others.
Building a Mal implementation is a great way to learn about Lisp in general and about the specific language you're implementing in. The talk will present the step-by-step process of building such an interpreter, incrementally adding features like variables, conditions, tail-call optimization and macros, finally reaching the last step which is capable of self-hosting (running the Mal interpreter which is written in Mal).


יום שלישי, 25 ביולי 2017

Summit 2016: Dealing with "Conway law" / Guy Doulberg

Considering “Conway's Law” as an axiom, I aim to consider several aspects of how the organizational communication structure effects software design. Rapid changes within cross-timezones organizations influence software architecture processes. What can engineers or architects do to guarantee a productive and quality assuring design and implementation process, that foresees ongoing organizational changes. Organizational changes are another requirement of the design and implementations of software system.


Summit 2016: Get a life - Rethinking work life balance / Michal Brosh

We are all constantly told that having a healthy work-life balance is critical, but what does it really mean? Can we really separate life and work? Forget everything you ever heard about work life balance, and find out what you can do instead.


יום ראשון, 23 ביולי 2017

Summit 2016: Is it good enough? or - what is MVP? / Moran Shimron

How many times do we ask ourselves this question? what is good enough? others might call it - what is the MVP?
In the session, I will cover some key questions and guidelines on how to decide what is MVP, including examples - all in 5 minutes!


Summit 2016: Early Detection of Cancer: Using NLP Classifiers to Analyze Medical Research Papers / Limor Lahiani

microRNAs are bio-markers, which may indicate cancer and other diseases even at early stages. We partnered with a startup to develop a pipeline and NLP classifiers to analyze medical research documents to find relations between genes and microRNAs, and diseases. The generalized code and leanings are open sourced.


Summit 2016: Software Punk: examining controversial ideas in Software Development / Lior Bar-On

Let's discuss some "provocative" ideas in Software Development, that beyond being provocative - make some sense:
Inheritance is a bold violation of OOP Principles.
Duplicate code when you are not sure about the abstraction.
Copy-paste as a legit method of code reuse.
Git is not so good for you.
You spend too much on Unit Tests.
Reduce testing, and replace it with better production monitoring.


Summit 2016: Subdivision - a tiny library for building highly decoupled and modular web apps / Boris Kozorovitzky

Subdivision is a somewhat opinionated JavaScript library that helps you structure your code in a highly decoupled way. It is conceptually based on a battle proven Addin-Tree concept used in projects such as SharpDevelop (C#) but with a JavaScriptish flavor. I developed the library based on my experience working on both SharpDevelop and HPE VuGen while considering the special requirements one may have when developing a web application.
The library runs both in the browser and Node.js, is fully documented and has ~100% coverage in unit tests. Feel free to star/fork it on GitHub.


יום רביעי, 19 ביולי 2017

Summit 2016: Social Soccer Betting Application / Roi Ezra

"Mundialito" is an open source application which allows you to create a contest between you and your friends on soccer games. It is one-click deploy-able so everyone can easily create their instance and play. It has an responsive web application and a nice admin view.

ושוב מגיע טורניר גדול
וכולם פה רוצים להמר על הכל
חיש מהר נקים אתר בשחקים
שבו ינחשו כולם תוצאות משחקים
(By @Zivry)


Summit 2016: Farmers application (מהחקלאי) / Shlomi Zadok

Introduction to the new (ionic based) Farmers protest application - מהחקלאי The application helps connecting farmers who sell directly to the customers. It is built with Rails 5 API as a backend and Ionic framework for Android / iOS apps. (and I need your help !)


יום שלישי, 18 ביולי 2017

Summit 2016: Front End Test Automation: past, present and future / Oren Rubin

In this talk we will delve into one the biggest challenges of front end development, Test Automation. If you think unit testing is hard, getting started with end to end testing is horrific. The ramp up huge and the maintenance is hell. In this talk Oren will walk the audience into this world, starting with the differences between writing Unit Tests, show how to deal with asynchronous challenges, delve into UI validations, provisioning browser instances, and most importantly, creating robust tests which work in high fidelity while your app undergoes daily changes.


Summit 2016: Digital Information Preservation / Ran Levy

בשנת 1986 יזמה רשות השידור הבריטית, ה-BBC, פרוייקט שאפתני במיוחד: תיעוד גורף, בעזרת מאות אלפי מאמרים ותמונות, של החיים בבריטניה המודרנית. הפרוייקט הושלם בהצלחה- אך 15 מאוחר יותר עמד בפני מוות משונה ואכזרי במיוחד: הוא נשמר על דיסקים שאיש לא יכל עוד לקרוא…האם נוכל להציל את פרוייקט דומסדיי, ואת כל שאר אינספור פיסות המידע שאנחנו מייצרים מדי שניה, מתהומות הנשייה?


יום שני, 17 ביולי 2017

Summit 2016: The Next Linux Superpower: eBPF Primer / Sasha Goldshtein

Imagine you're tackling one of these evasive performance issues in the field, and your go-to monitoring checklist doesn't seem to cut it. There are plenty of suspects, but they are moving around rapidly and you need more logs, more data, more in-depth information to make a diagnosis. Maybe you've heard about DTrace, or even used it, and are yearning for a similar toolkit, which can plug dynamic tracing into a system that wasn't prepared or instrumented in any way.
Hopefully, you won't have to yearn for a lot longer. eBPF (extended Berkeley Packet Filters) is a kernel technology that enables a plethora of diagnostic scenarios by introducing dynamic, safe, low-overhead, efficient programs that run in the context of your live kernel. Sure, BPF programs can attach to sockets; but more interestingly, they can attach to kprobes and uprobes, static kernel tracepoints, and even user-mode static probes. And modern BPF programs have access to a wide set of instructions and data structures, which means you can collect valuable information and analyze it on-the-fly, without spilling it to huge files and reading them from user space.
In this talk, we will introduce BCC, the BPF Compiler Collection, which is an open set of tools and libraries for dynamic tracing on Linux. Some tools are easy and ready to use, such as execsnoop, fileslower, and memleak. Other tools such as trace and argdist require more sophistication and can be used as a Swiss Army knife for a variety of scenarios. We will spend most of the time demonstrating the power of modern dynamic tracing -- from memory leaks to static probes in Ruby, Node, and Java programs, from slow file I/O to monitoring network traffic. Finally, we will discuss building our own tools using the Python and Lua bindings to BCC, and its LLVM backend.


Summit 2016: Performance Limitations of React Native and How to Overcome Them / Tal Kol

React Native holds great promise in terms of excellent developer experience with Javascript and code reuse between platforms. The big question is  —  do these benefits come at the price of performance? How well can React Native hold its own against purely native implementations?

I’ve been developing native mobile apps professionally for the past 7 years. I’ve seen many magical “cross-platform” solutions but eventually nothing beats pure-native in terms of app quality. The main thing developers are skeptical of is performance. React Native is unique in its ability to achieve amazing performance, but it requires developers to understand what goes on under the hood. The aim of this talk is to ease concerns for new-comers and teach existing developers a few important guidelines.


יום ראשון, 16 ביולי 2017

Summit 2016: A call out to engineers to become product managers / Yuval Samet

We have a great market gap in Israel when it comes to product management. The demand for world class product management is strong as our ecosystem creates companies at a greater global scale, however the supply of great product management talent is weak. In this talk I will try to convert engineers to product managers as I believe it is one of the best levers to pull in order to solve the gap. I will explain how product managers make engineers' life miserable, how to excel at product management as an engineer and hopefully inspire engineers to solve one of the biggest gaps our ecosystem currently struggles with.


יום שבת, 15 ביולי 2017

Summit 2016: How to (really) create transparency / Iris Shoor

One of the main reasons developers and managers leave companies is lack of transparency. While most companies are all for transparency, very few manage to practice it. On this talk I'll cover different methods which all teams can easily adopt. Using dashboards, working better with Slack, internal podcast and even using democracy for some decisions. The talk will also focus on how to communicate business/ sales updates and how to handle 'bad' times.


Summit 2016: Mobile Development in 2016 - A song / Yoni Tsafir

After the huge success of the JTLocalize song in RS 2015 (https://www.youtube.com/watch?v=mfUTa3tlJ4M), this is the 2016 version summarizing all the big news in the past year in the mobile development world, in a fun humorous way.


יום שבת, 1 ביולי 2017

324 Bumpers 41

רן דותן ואלון מדברים על תכנות פונקציונלי, עולם הקוד הפתוח וכנס רברסים השנה הוא ב15-16 באוקטובר, הגשת ההצעות נפתחה

  • ממשקי תכנות (מחיבורי חוטים כדי לתכנת לסביבות מודרניות) , מרתק!
  • מאמר על כלי ההופך mock-ups לקוד (עוד שימוש מעניין ברשתות עצביות)
  • מערכת קבצים חדשה הנכתבת בRUST שנועדה לתקן בעיות במערכות הקיימות עם יעדים שאפתניים מאוד (נכתב עבור REDUX OS )
  • הודעות מעניינות מגיט-הב (הAPI שלהם שוכתב ומבוסס כעת על graphql , וגם market place שמאפשר לעשות אינטגרציות מעניינות)
  • Github מפרסמים סקר על עולם הקוד הפתוח ומפרסמים גם את הנתונים לשימוש הכלל (בין היתר על ייצוג נשים, תרומת פיתוח קוד פתוח ) ופרק שלם בפודקאסט changelog  שלם על הסקר הנ"ל.
  • פרויקט קוד פתוח של רן שנועד לפתור בעיה של כתיבת logs בעולם הAWS (שימוש ב API הקיים כדי לשלוח אותם לשירות logging נוח יותר)
  • מאמר מבית thoughtworks על השינויים הגדולים שעתידים לקרות בעולם התוכנה (ספוילר: רובוטים!)
  • השוואת בסיסי נתונים בענן (למשל :למה לא Mongo)
  • גוגל משתמים ותורמים באופן מסיבי לפלטפורמת CD לענן Spinnaker

  • רשימת 10 האתרים שכל מתכנת חייב לבקר בהם (כמובן שחלקם כן וחלקם לא באמת )
  • כלי אינטרקטיבי להבנה מה שוות האופציות שמקבלים בסטארטאפים
  • סיכומים של קבוצת עבודה של node.js בנושא diagnostics
  • טיפים לerror handling בGO
  • JWT לא חייב להיות ברירת המחדל למימוש חיבור מאובטח בין front end +back end
  • ספריית קוד פתוח לבנייה קלה יותר של  אנימציות מבוססות REACT (של דותן)
  • ספריית קוד פתוח לMatching engine המאפשר הגדרת rules בצורה מורכבת (של דותן).מזכיר את LISP
  • מדריך לימודי מסודר לfront end stack המודרני.
  • פרויקט קוד פתוח שנועד לאפשר קונפיגורציה בלי EJECT
  • פרויקטים ללימוד בינה מלאכותית .
  • מדריך בדוגמאות  לdeep learning "בלי כל המתמטיקה"
  • פרויקט קוד פתוח שיכול להחליף את postman
  • מדריך לינקים וטיפים לVIM
  • כנס לא שגרתי על נושאים מעולם התוכנה שמורכב מהרצאות של 10 דקות
  • סיכום כנס מפתחים השנתי של apple(כמה נקודות:תAR,swift4,vision )
  • לחשוב בצורה של  תכנות פונצקיונלי  + lodash ועוד לינק בנושא . ועוד אחד
  • צעדים ראשונים בWebAssembly ( מאפשר לדפדפן להריץ קוד בפורמט בינארי )
  • אז מה חדש בnode 8  ּ npm5 וגם
  • V8
  • המלצה על ספר המדבר על איך לומדים במהירות
אלון :
  • המלצה על בלוג על בינה מלאכותית
  • יש כרום headless
  • שילוב פונטים (שכרוצים חלקים שונים מפונטים שונים)
  • קומפיילר חדש לNODE
  • ההפתעה ברשיון של REACT (אמ;לק: אל תתחרו בפייסבוק באמצעותו.מה זה אומר בעצם?)
  • ספריית עיצוב חדשה של מייקרוסופט
  • "תוכנות כופר" מבוססות הקוד שדלף מNSA הגיע לעשרות מדינות
  • פרויקט מימון המונים ל"מחברת המושלמת שתחליף את כל אפליקציות ניהול המשימות שלך" (האם זה עוד גרסה לBullet Journaling הגאוני בפשטותו )
  • קוטלין הפכה לשפה רשמית נוספת לכתיבת אפליקציות לאנדרואיד
  • עמודי שגיאה טובים יותר
  • אתר שיגלה לך האם רובוט עומד להחליף אותך בעבודה

הקובץ נמצא כאן, האזנה נעימה ותודה רבה לקטי על התמלול