יום רביעי, 30 באפריל 2014

Summit 2014: DevOps redux / Tomer Gebel

Over the last couple of years the term "DevOps" has become so ridiculously overloaded: an industry trend, a cultural shift, a set of methodologies, a set of tools, an organizational function, ad infinitum. Over the last few years I've gone through a circuitous journey through different roles and functions within several R&D organizations, and would love to share my perceptions on DevOps from a software developer's perspective -- and maybe provide a few insights into how it could be done better.


Summit 2014: The Hall of Shame

I messed up and I'm proud. Come and present your most glorious chaotic moments at the Hall Of Shame session on the second day. During this hour you get 3-5 minutes to tell us about your most original and funny (or sad) bugs. It's as much about entertainment as it is about learning. Don't be shy and prepare your bug stories to share with us. We have worthy prizes for the best stories
and a small token for every participant!!!!!!11

Summit 2014: Postgres + JSON - the best of both worlds? / Hadar Davidovich

In the shift towards NoSQL DBs (let it be document based, key-value, or column-oriented to touch a few) it is quite common to forsake some hard-learnt lessons and best practices from the relational databases domain.
In this session, we will discuss some common data related dilemmas when scaling up server side applications, and explain why we choose to use PostgreSQL’s JSON support over MongoDB in order to scale up.
We will touch on various considerations when choosing the most suitable database solution for our need, such as:
  • ACID compliance Vs. eventual consistency models
  • When does it make sense to use document databases?
  • Best practices for defining your documents scope
  • Implications on the programming model – object oriented vs. service oriented
  • Data migrations, schema upgrades, forward and backward compatibility considerations
    We will also briefly cover PostgreSQL’s JSON support, and describe some best practices we’ve adopted for using it.

Summit 2014 Panel: Moving Fast in Big Companies

Avshi Avital - VMWare
Ahi Gvirtsman - HP
Leora Weisman - Google
Gili Nahum - IBM
Yossi Attas - Microsoft
Moderated by Ori Lahav - Outbrain

Summit 2014: Code Review - Just Do It! / Avi Etzioni

Creating quality-software is fundamental for building quality-products. And yet we find ourselves struggle with code that is hard to maintain and extend, a code that is unreadable, code-duplications and other code-smells. We embrace the phrase “If it works - don’t touch it” while we let our code-base become more and more patched.
In this talk I will try to explain the importance of the code-review process in an agile environment. I will explain how it improves the code-quality and how it helps in increasing productivity. I will talk about the importance of code-review as a knowledge-sharing tool and its advantages for both the individual team-members and the organization. I will also demystify some of the misconceptions about code review and explain how to start and how to make it right.

יום שלישי, 29 באפריל 2014

215 - Carburetor 13 - SSD Databases

  • אורי, נתי ורן מתאחסנים ב Flash
  • Flash - העתיד של טכנולוגיות האחסון?
  • מהיר, ללא בעיות של גישה ישירה, וללא רכיבים פיזיים כמו מחטים.
  • ואפשר גם לוותר על בלום פילטר..
  • בסיסי נתונים הרצים מעל Flash יכולים לוותר על אופטימיזציות רבות ולהוריד את רמת הסיבוכיות
  • מנגנונים כמו Write Ahead Log יהפכו לנחלת העבר
  • הנחה שמשתנה - מהירות הרשת גדולה ממהירות הדיסק? כבר לא עוד
  • Rocks DB - בסיס נתונים לדוגמא מעל Flash, והיסטוריה קצרה שלו.
  • השוואה בין טכנו' אחסון שונות במספרים.

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

יום שני, 28 באפריל 2014

Summit 2014: Open Source in Israel - Mordor / Uri Shamay

In this talk I will describe how we can write a high performance client / server in C++ with maximum utilization of SMP architecture on one end, and still maintain a very simple programming / troubleshooting code model with maximum productivity.
The solution is based on an open source library called Mordor, based on pseudo-synchronous model (asynchronous under the hood).
This model allows us to write Thread-like code (called Fibers, very similar to goroutines in GO), and still gain the asynchronous benefits. As a benchmark I will compare it to the naive approach of writing using the Callback code model, yielding non-maintainable code.
More information:

Summit 2014: Open Source in Israel - Celestial / Ronen Narkis

Today's Devops ecosystem consists of diverse set of tools, configuration management (Chef/Puppet), remote execution (Fabric, Capistrano), monitoring and central logging all used against a large number of systems (optionally) spread on multiple hypervisors (AWS, vCenter, Docker, Proxmox etc..),
All these tools work great but don't give us a cohesive system to work with, we still need to:
  • Have UI and API
  • Allow users to self service (monitor resource usage, manage it etc..)
  • Support multiple platforms transparently (AWS, vCenter, Docker etc..) without having to reinvent the wheel each time.
  • Have a process not just another tool, how other parties add content to configuration management, how we deploy the changes etc..
  • Manage resources intelligently (between users)
  • Minimize manual book keeping (assigning static ips, register dns records etc..)
Celestial comes to fill this void, it uses well known best practices from actual field work:
  • End to end life cycle management of systems with simple understandable model.
  • An easy to use UI and Restful API, Hubot integration.
  • User, Quota and multiple environments management.
  • Distributed locking, complete auditing of all actions with easy to slice through structure in kibana/graylog2
  • Integration with leading Devops tools.
  • Hand crafted fine tuned support for leading hypervisors.
In this talk we will cover Celestial and see it action.

Summit 2014: Open Source in Israel - Mean / Lior Kesos

http://mean.io is a great place to start if you want to write modern web apps like single page applications and mobile backends.
MEAN is an acronym and stands for MongoDB, Express, Angular and Node.
It's gaining serious traction in the world (2222 stars on github!) and has been adopted as a great starting point for js developers that want to use the same codebase in the client and the server.
I'll cover various topics like:
  • Why we wrote it?
  • Why people love it
  • How people use it in the wild (שטראוס, משרד ראש הממשלה)
  • Showcase
  • Demo

Summit 2014: Open Source in Israel - Go Proxy / Elazar Leibovitch

Introducing the goproxy utility, allowing one to automate testing of all HTTP traffic.
Simulate slow CDN, your QA can AB tests two servers, auto-login to your app.
Own all the HTTP traffic to your app, for the small price of learning Go.

214 Arduino

  • עידו ורן משוחחים על Arduino - המיקרו-קונטרולר שיוציא אתכם מעולם התוכנה הוירטואלי.
  • אז מה זה בעצם ארדוינו? מיקרו-קונטרולר עם כניסות להתקני קלט/פלט.
  • מה ההבדל בין מיקרו-קונטרולר ל CPU?
  • לא להיבהל - אפשר להשאיר את הבדיל והמלחם בבית.
  • מה אפשר לעשות איתו מעבר לנצנוץ בלדים, ולהפעיל זמזמים?
  • רעיונות לדוגמא.
  • התקני קלט נתמכים: RFID, כפתורים, גלאי אור,גלאי קול,גלאי קירבה ועוד.
  • אלטרנטיבה בולטת - Raspberry Pi ,המריצה מע' הפעלה לינוקס מלאה
  • איפה אפשר לקנות? - Israel Starter Kit

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

יום ראשון, 27 באפריל 2014

Summit 2014: Open Source in Israel - Ground Control / Dotan Nahum

Where I talk about the fun in building software for the ARM based Raspberry Pi, using Go. Baseline of the talk is Ground Control, a popular open-source project I've built using Go https://github.com/jondot/groundcontrol


Summit 2014: Open Source in Israel - Sneakers / Dotan Nahum

In which I present a couple of open-source projects built to handle large volume of background jobs for high-scale messaging, on JRuby and MRI (CRuby). https://github.com/jondot/frenzy_bunniesand https://github.com/jondot/sneakers, respectively.


Summit 2014: The unbearable lightness of Meteor web apps development / Udi h Bauman

Review our experience from building a full product using the Meteor framework (http://www.ekkli.com), covering the amazing speed of development as well as the maturity & limitations of the framework.


Summit 2014: Scaling out Datastores and the CAP Theorem / Yoav Abrahami

Friday 4th June 1976, the Sex Pistols kicked off their first gig, a gig that's considered to change western music culture forever, pioneering the genesis of punk rock.
Wednesday 19th July 2000 had a similar impact on internet scale companies as the Sex Pistols did on music, with the keynote speech by Eric Brewer at the ACM symposium on the Principles of Distributed Computing (PODC). Eric Brewer claimed that as applications become more web-based we should stop worrying about data consistency, because if we want high availability in those new distributed applications, then we cannot have data consistency. Two years later, in 2002, Seth Gilbert and Nancy Lynch formally proved Brewer's claim as what is known today as the Brewer's Theorem or CAP.
The CAP theorem mandates that a distributed system cannot satisfy both Consistency, Availability and Partition tolerance. In the database ecosystem, many tools claim to solve our data persistence problems while scaling out, offering different capabilities (document stores, key/values, SQL, graph, etc).
In this talk we will explore the CAP theorem
  • We will define what are Consistency, Availability and Partition Tolerance
  • We will explore what CAP means for our applications (ACID vs BASE)
  • We will explore practical applications on MySQL with read slave, MongoDB and Riak based on the work by Aphyr - Kyle Kingsbury.

Summit 2014: Building Company Culture for Scale / Ori Lahav

When starting a company and putting a very ambitious vision, you, by definition, take upon yourself the long term commitment of building a significant, sustainable business.
This fact have implications about how you structure your culture. what are the main pillars you want to build your culture upon, in order to succeed ingrowing the company.
The talk will bring the learning from growing outbrain from it's initiation to over 200 people. Doing 3 M&As, Scaling tech team, going international, scaling infrastructure,etc...


Summit 2014: Making drones dance / Aviv Cnaan

Using small drones, http://www.bitcraze.se/to interact with music and dance for random music and noise. This view was done in GeekCon 2014 and will be improved and scaled. I will talk about using the drones, programming, python, API and OpenSource and Firmware. I will also demonstrate. It's cool.


Summit 2014: The E2E SW Engineer / Lior Cohen

What are the duties of a SW engineer? Is it all about coding???
I believe it is much more than that...
A SW engineer is not less than an executer of the company’s vision and as such he must make a step forward and be more involved.
In this short session I will share my thoughts and personal experience on how I see the job description of a SW engineer.


213: Fogcast 08 - Testing (cont)

  • ליאור ורן - Testing, continued
  • אילו סוגי בדיקות קיימים
  • מה הקשר בין Continuous Integration לבדיקות?

  • ליאור ורן נותנים בהם סימנים:
    • Unit  - פונקציה בודדת
    • Integration - בדיקה של מס' רכיבים
    • Blackbox - בדיקות של הקוד דרך הממשק החיצוני (בפועל, סוג של Integration)
    • פרפורמנס & סקייל

  • האם חשוב למתוח את הגבול במדיוק בין Unit ל Integration?
  • השאלה החשובה היא מה הדרך האפקטיבית ביותר לבדוק את הקוד -
  • בדיקות היחידה מובילות - קלות ביותר למימוש, רצות מהר יותר, ובעלות ה ROI הגבוה ביותר
  • החסרון היחידי שלהם.. טוב, הם רק בדיקות יחידה.
  • כלל אצבע - 20 / 80. 80 אחוז בדיקות יחידה, 20 אחוז Integration.

  • האנרגיה שלנו מוגבלת - אולי כדאי להשקיע בעיקר בבדיקות ישירות של סביבת הייצור.
  • מה הכוונה? ניטור פולשני ביותר של סביבת הייצור -
  • ..אבל מה לגבי גילוי מוקדם? שיכול היה למנוע את המעבר לייצור מלכתחילה.

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

יום רביעי, 23 באפריל 2014

Summit 2014: Top video lectures that any developer should see / Yoav Rubin

Seems like we consume more and more information in smaller and smaller chunks. Reading books was replaced by reading blog posts that morphed into consuming tweets. Still, our ability to remain numb while watching a video is not damaged yet. Therefore in this short talk I'll present several videos that I think any software person should see, explain why each video was chosen and what you can expect to learn from each such video.


Summit 2014: Monads in 5 minutes! / Shay Elkin

"A monad is just a monoid in the category of endofunctors. What's the problem?"
Unless you took graduate math, the problem is the above could just as well be written in Chinese. Further complicating the issue is that once people do learn Chinese (or type theory,) they become unable to converse in any other languages — at best they mumble about burritos.
But the beauty and power of Monads stem from them being very simple concepts, even when you can't fully grok the type theory.
I'll try and show just that, explaining in five minutes what monads are, and why you should care.
No prior knowledge in category theory or Haskell expected.
Are you up to it?


יום שלישי, 22 באפריל 2014

Summit 2014: Rails Girls in Tel Aviv / Inbal Gilai

Rails Girls (railsgirls.com) is an international initiative, aimed at bringing women closer to the world of web development and giving them tools to build their ideas. In the past three years there have been around 120 Rails Girls workshops in different cities around the world, and a few months ago we decided it's time to bring the initiative to Israel.
We had an amazing day, teaching very enthusiastic girls with no programming experience how to build a web application from scratch. most of the 35 women who participated (out of over 350 applications!) said that they would probably continue learning Web development in the future. As we plan our next events, I would like to give you a peek to what was there and to what's next.
Our Facebook page: https://www.facebook.com/railsgirls.telaviv.yaffo


Summit 2014: The Technology and Psychology of Scraping / Arik Galansky

Scraping is a unique and interesting type of programming. Unlike most types of programming - it is not a one sided endeavor. It has a lot of tech solutions with different pros and cons abut more than that it has a psychological side, that when uncovered makes it so much easier and yet more interesting.
I will talk about both the tech side of scraping web pages and the psychological side of the cat and mouse game between the scraper and the website.
The talk is based on this blog post: http://blog.hiredscore.com/technology-and-psychology-of-scraping/


Summit 2014: A Hypervisor, a container and a zeroVm were sitting in a restaurant, suddenly an application entered / Dor Laor

New technologies allow IT to increase the utilization of the data center,
adding cool features while being very efficient. A comparative view of the
various technologies used for workload isolation and in depth review.
OSv, docker, zerovm, oldschoolphysicalmachine, yoursister
The rest of the joke awaits contributors to end on our open source irc channel.

Summit 2014: Alive and kicking - evolving QA to meet future challenges / Omri Lapidot

With the introduction of Continuous Deployment/Delivery, traditional QA faces a unique challenge: it is no longer a Gate Keeper, since code can be deployed "when it's ready". The buzz is that "Facebook doesn't have QA" and Google says "Test is dead" but in the infamous words of the rapper Chuck D: "Don't Believe the Hype".
In the session I'll go over the transformation Sears Israel QA underwent and how the QA team evolved to accommodate the unique needs of an organization which deploys code several times per day.


יום שני, 21 באפריל 2014

Summit 2014: Taboola's experience with Apache Spark / Tal Sliwowicz

At taboola we are getting a constant feed of data (many billions of user events a day) and are using Apache Spark together with Cassandra for both real time data stream processing as well as offline data processing. We'd like to share our experience with these cutting edge technologies.
Apache Spark is an open source project - Hadoop-compatible computing engine that makes big data analysis drastically faster, through in-memory computing, and simpler to write, through easy APIs in Java, Scala and Python. This project was born as part of a PHD work in UC Berkley's AMPLab (part of the BDAS - pronounced "Bad Ass") and turned into an incubating Apache project with more active contributors than Hadoop. Surprisingly, Yahoo! are one of the biggest contributors to the project and already have large production clusters of Spark on YARN.
Spark can run either standalone cluster, or using either Apache mesos and ZooKeeper or YARN and can run side by side with Hadoop/Hive on the same data.
One of the biggest benefits of Spark is that the API is very simple and the same analytics code can be used for both streaming data and offline data processing.

Summit 2014: Engineering your culture: how to keep your engineers happy? / Oren Ellenbogen

We all know how difficult (and expensive!) it is to convince brilliant engineers to join our team. The real challenge starts on Day 1 – What can we do to keep them happy and engaged?
After all, "Bored people quit".
If you know you should do better but ran out of ideas how - come on down! We'll talk about how to make their 1st day at work memorable, how to help them build a personal brand, how to figure out and sell our unique strength as a company (GitHub-style), why we should bring them to investors' events and plenty more.
In this talk I'll share 8 tips you could apply to build happier engineering teams.

Summit 2014: Proper Unit Tests / Omer Lachish

Ever get the feeling that your unit tests aren't really unit-ish? That's because proper unit tests are hard - you start off with something good, then you start making all sorts of compromises which eventually lead you to an unmaintainable mess. A lot of the time we are writing tests by pure intuition so I'd like to discuss a repeatable methodology for writing automated tests, while focusing on proper unit tests:
  • Approaching tests (writing maintainable example groups)
  • Identifying tests subjects (and understanding what you actually want to accomplish in the test)
  • Categorising tests (state tests vs. interaction tests)
  • Isolating test subjects (understanding stubs vs. mocks and exactly when you should use them)
  • Structuring tests (arrange-act-assert, given-when-then, test spies)
In this talk we'll go through different code examples that demonstrate test boundaries, scoping, structure and several other techniques that will help you keep your unit tests from degrading into a slop of integration tests.

יום ראשון, 20 באפריל 2014

Summit 2014: 10 Reasons to be excited about Go / Dvir Volk

Go is a relatively new programming language from Google, that is geared towards high performance server development, without the pain of languages like Java and C++.
It is awesome. It will change the way you create code, reduce your server costs and increase your reliability. In this talk I'll show just how!

יום חמישי, 17 באפריל 2014

Summit 2014: Why Aren't There More Female Entreprenours / Dafna Mordechai

In Israel, only 4% of the CEO positions are held by women and only 16% of directors are women. In academia, females constitute 36% of the graduate science students but they only amount to 10% of the faculty. In the high-tech industry, women only account for 35% of the workforce. Despite Israel’s reputation as a “start-up nation”, only 9% of start-up entrepreneurs are female.
We stand baffled in light of these figures, especially given the equal formal standing attributed to males and females, and the ongoing proactive effort to promote women in many fields.
This invisible and elusive barrier preventing women’s growth and success is commonly known as the “Glass Ceiling” phenomenon.
In this talk, we will demonstrate why the “glass ceiling” is far from being invisible. Quite to the contrary, it is very much present and unlike glass, shattering it is far from simple. Using knowledge and examples from the fields of psychology, sociology and neuroscience, we will show that this ceiling reflects processes, attitudes, behaviors and beliefs that are rooted deep in our cultural and sociological backbone.

Summit 2014: Introduction to Deep Learning / Al Yaros

It's been a long time dream to make the machine a more human like, giving it an Artificial Intelligence.
Teach it how to drive a car. Teach it how to identify objects in a given image for example give the computer an image captured in the front of a car and ask him if he can see pedestrians?
Give the computer a web page and ask him what the page is talking about? Give the computer a set of metrics taken from patient blood readings and ask him to provide a diagnostic about the patient health?
This is only a fraction of examples for machine learning applications there are many more fields such as speech recognition, recommendation systems, ranking and personalization of content all are often the basis of data products.
There are many ways these days, to teach a machine – give it some data, ask it to learn the pattern and then apply this pattern over a new unseen data.
Deep Learning is a new technique that outperformed many of the state-of-the-art algorithms in several research fields such as Audio, Text, and Vision.
Artifacts from a decade of hand crafted human research turned out to be inferior to this new technique in these research fields.
Deep Learning can be seen as The Rebirth of Neural Networks and as a Neural Network “fan” for many years I’m very excited to have the opportunity to see this rebirth. In this session I’ll be happy to share with you my passion to this field.
I’ll give an introduction to machine learning via Neural Networks, I’ll explain what features are, what auto encoders are and what Deep Learning is all about and give you a taste from machine learning new frontier.

Summit 2014: Panel: Lean Startup

Dor Laor - Cloudius Systems
Lior Sion - Overvyoo
Oren Raboy - Totango
Moderated by Shai Wininger - Fiverr

Summit 2014: UX for my dad / Boaz Katz

How do you plan an easy to use interface for the avg user.
How do you test it? Validate? How to set measurable goals.
Can we give the WOW effect with a simple UX.
What is the different between UX for mobile (iOS+Android) and Web.
The talk will view some real world mistakes, and open talk.
הקושי בלתכנן ממשק יעיל, נקי וברור למשתמש הממוצע.
איך אנחנו בודקים את הממשק.
איך מצליחים עדיין לתת את אפקט הוואו, מבלי לפגוע בשימושיות.
ההבדלים בין תכנון מובייל לווב.
הכל ילווה בטעויות אמיתיות, צילומי מסך, ושיחה פתוחה בסוף