Replacing a live front-end legacy code – The bottom to top migration strategy

This article is written about work done in 2016 – and the technoloigies mentioned match the time:

Here’s the deal – A company has an existing product with outdated technology, an old legacy code which is unmaintainable and unextendable, essentially, written with old technology. The company in question understands that it’s time to move forward, catching up with the present day and time.

Unlike the usual method of rewriting an entire product from scratch (top to bottom), there is a better way. This includes building a new front-end feature and immediately using it within the old legacy product. This methodology works even when the technologies are light years away from each other.

I used to work for a company like that. Before I started working there, their initial starting point included an old product which was an auto-generated HTML code out of a java backend, also known as “Automagically generated JS, CSS, and HTML”. This happens to be a front-end developer’s true horror.

This company decided to rewrite its product from scratch, with all new technology (Javascript and a Python API). They recruited developers, product specialists, used the best resources, and meeting hours. This was the first time that this company had a big front-end project ahead of them.

During the following year, they had an old legacy product that was live. It was making money but had minimum resources for maintenance, and no new features whatsoever.

On the other side of the development department, a new pile of fresh code and architecture was just beginning to be written. Unfortunately, it piled up and laid there without anyone knowing about the product or its users. The feature set wasn’t that big, but because this product was supposed to replace an already live product, no one could cut the scope of its features.

After more than a year, the freshly written code and architecture failed to reach its deadline, and there was no end in the horizon.

The project was canceled.

So there we were, with a year’s worth of development time and fresh code, but none that was usable. We had a product that was not maintainable and a business that needed to keep working and growing.

We all wondered, how could we all solve this horrible problem? What would have been the best way to make up for this lost project before us? How could we revive our motivation and bring back trust to the front-end department in the company?

I was called on to find a solution – and thankfully, did. The solution focused on the business. For a developer that always wanted the cutting-edge technology to be written from scratch – it was a difficult solution to understand, at the beginning.

The idea  was to reach goals in a better way:

The solution included giving the company the possibility to maintain and add features to its old applications. And, in such a way that also took the company forward in the direction of having a full new front-end application as needed. The solution enabled us to transparently transition from an old product to a new and cutting-edge front-end product.

Unlike the original method that was used which included rewriting the whole product from scratch (i.e. from top to bottom), the new method  was from bottom to top. I determined that we could build a new front-end feature and immediately use it, and we could make a profit and learn from it.

This also enabled us to stop at any point, and to shift resources at any time, without any loss. This was because every new feature was already in production, and embedded in the old application, but separated and detached from it.

This solution undertook important calculations and measurements:  

  1. Time / Resources
  2. Risks
  3. Scope
  4. Technical limitations

Technical Problem:

In all actuality, the legacy product was very limited from a UI perspective. We were bounded only by the UI elements and functionality that it provides. And, it is not a front-end friendly framework at all – it is a closed product.

Even worst –  it was mixed in with badly implemented JS code, on top of old product, which “helped” overcome the above problem in the past, this layer can be called: the hacks layer.

It was unscalable for code/feature extension, and since each update is global, it can easily break style and functionality.

We must keep developing the money-maker products, and we cannot merely rewrite it.

When addressing a migration from an old technology to another, we developers always think about a total new re-write. But if you are able, technically, to isolate your new code, components, and UI elements – you can do the re-write in a much more efficient way.

Infrastructure preparation:

On top of all feature requests, we must implement a few front-end infrastructure features:

The idea of this preparation job is to offer a set of front-end tools for easier maintenance, deployment, and development:

  • E2E tests (wooha, Selenium)
  • SASS compiling
  • Minifier / Concatenator
  • Angular
  • Bower

Now to the real work:


We chose Angular.

Most importantly, the new code must be encapsulated, and most importantly, we must not rely on the DOM.

We found Angular the most encapsulated framework, allowing us to separate our JS code and HTML from the old container.

Each component must contain an angular view and have the ng-application root. We don’t want Angular to waste resources on listening to the whole DOM (and conflicts with the legacy lib). We encapsulated the page too small Angular apps.


Style separation: The Style lib

The style we came up with was the most complicated part.

CSS is inherited. There is no easy way to encapsulate an element from a CSS rule that applies to this selector (There is one way, but it is not supported by any IE, and we could use other tricks, that looked hacky).

So, we have an old framework, with a big pile of CSS, and with various rules that select tags, classes, states, and most importantly – deep rules, such as:

body form label input [type-text]{}

There is no way to write generic rules that can predict and override them.

Also – When we write a new feature, we cannot determine what overrides what. There is an option to check in the development tools, but this is a very long process, especially for each rule.

The solution was a separate UI lib. We generated two CSS files: The old Lib.css and the newLib.css.*
On our portal, we included both files.
On a separate static HTML page, we included only the newLib.css file.

When a new feature is being built, or an existing feature is being rebuilt, we must first build it inside the static HTML. Thus, creating it’s CSS rules in a clean, isolated environment.

At this stage, we know that the independent style we included on the page will work when we remove the oldLib.css file.

As for the rules from oldLib.css that are overriding the newly created rules (some !important or deep nesting rules from the legacy code that we cannot remove), they were minimal in numbers and got their special overridden section at the end of newLib.css

Once the oldLib.css file is removed, we can then remove the sections. We will then have an immediate working product, with minimum need to adjust and fix.


As for the time spent writing these lines, many of its features were overridden, and many new features were built, all with a new front-end code. They are all live, which immediately allows the company to earn money from the invested time they spent.

In this case, the old legacy product is maintained again, it is also extendable, and one day, it will get rid of the old code easily because of this separation.

What we created allows us to change resources without any problem whatsoever. No waiting on code that will never see the light of day or make any money.

And, on the developer side, we are able to do cutting-edge technology, using the tools that we would have used in a complete rewrite project. But, now we have an even better, harder, and more complicated task. This challenges us more and helps us to find solutions that other developers who use frameworks out of the box don’t need to deal with. It forces us to need a better developer, better learning processes, and a great backup and belief from the company management that this is achievable.

The above solution gives us the possibility to maintain and add features in such a way that will also take us forward in the direction of having a full new front-end product, in its old automagically generated front-end. It also enables us to have a transparent transition of the old product, to a new cutting-edge front-end product, which is miraculous.

* not the real names of the files

Saint Petersburg and the Siege of Leningrad

When Nazi Germany invaded the Soviet Union in the summer of

When Nazi Germany invaded the Soviet Union in the summer of 1941, a German army surrounded the city of Leningrad (today’s Saint Petersburg) in an extended siege.

The siege lasted nearly 900 days and resulted in the deaths of more than 1 million civilians.

During the siege, the city established supply lines from the Soviet interior and evacuated many citizens, often using a hazardous “ice and water road” across Lake Ladoga. In January 1943, the Red Army finally managed to break that siege.

I arrived in Saint Petersburg for a vacation and took one day to see the battle areas, and the most important “road of life” – a path that kept the city alive during these almost three horrible years.

My tour guide was Alexander from Histours. Alexander drove me in his car, and for almost 9 hours, we visited the main locations that formed the story of the siege and its breaking.

Armed with maps, photos and deep knowledge of the area and the people, Alexander took me through the road of life, to the battle that broke the siege through Neva River that starts at Lake Ladoga and ends in the Gulf of Finland, in Saint Petersburg.

The road of life:

The road of life was used to evacuate people from the city and bring supplies in. In the map, the gray color is the control area of the Nazis.

Road of Life. November-December 1941
Germash19 – the crossing marks with red.

This memorial is for kids. A young girl gives her sister a phone book, so she will be able to write a diary (normal notebooks were hard to get).

On these stones are the pages where she writes the death dates of her family. Each page indicates the dead (mother, dad, grandmother…) the time and date of death.

Pages from a little girls diary, describing the death of her family.

With these stones, we follow a young girl’s life during the siege, while all her family is fading away, one by one.

Following the road of life, we climb a hill that was used as a hospital. Here, mass graves of the wounded that died later, the women of war and all other forgotten brave ones, who did not die on the battlefield.

Original road of life
Original road of life
For the women of war

The main part of the road of life was the crossing of Lake Ladoga, which is frozen most of the year.

The crossing was done with trucks, with ice in any condition – many did not finish the journey.

Here is the memorial in the exact point where the trucks went down to the ice and started crossing the lake.

The memorial symbolizes the breaking of the siege.

After crossing the lake, a train was used to transfer the supply into the city.

Without the Chinese people.

Later, a bridge was built. The Germans kept bombing it, and the Russians fixed it. The Germans did not try to fight hard against the road of life since they were sure it was a waste of resources for the Red Army and the city wouldn’t survive with this small means of transportation.

Finally, the Red Army was able to break the siege in crossing the frozen Neva River; the battle began with an orchestra playing the “International.”

Diorama of the battle of Leningrad
Diorama of the battle of Leningrad

This point held the hardest battles.

And then the shock came.

This land saw the hardest battle. It was here where they broke the siege. Every piece of land saw so much blood and gunpowder.

It is still full of remains, and it is being dug. Everywhere you go, you see war items, such as gas masks, shoes, etc. At one point, we saw human bones that were discovered.

German shoe (with nails) and Russian (glue)
German shoe (with nails) and Russian (glue)
Human remains
Human remains
Human remains
Human remains
Nazi shoe.

Not far away from there, Russian soldiers buried the remains that were found.


It is amazing to see, that until today, we still haven’t covered out everything from that war.

The tour was given by Alexander, a private tour guide. I highly recommend him. It was a fascinating day, with stories that are not told enough in the west.

For the bravery of the people of Saint Petersburg, and the brave people that defended them.

נוינדורף – עתיד מורשת מחנה ההכשרה האחרון של התנועה הציונית בגרמניה

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

אחוזת נוינדורף, ממוקמת ליד פורסטנוולד ((Fürstenwalde (Spree) כ60 ק”מ מזרחית למרכז ברלין.

רקע היסטורי

מחנות ההכשרה הציוניים ברחבי אירופה פעלו עוד מהמאה ה-19 וצברו תאוצה ככל שהתגברה האנטישמיות ובמקביל התנועה הציונית. מטרת מחנות ההכשרה בגרמניה הייתה להכשיר נוער יהודי ברמה המקצועית, החברתית, המעשית והתרבותית, בתחומי החקלאות, הבניה, החשמל, מדבר וביצות, לימודי היסטוריה יהודית וכלכלת הקיבוץ כמובן לימודי השפה העברית. בשנות ה-30 של המאה העשרים פעלו 32 מחנות הכשרה, 13 מהם באזור ברלין.

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

ארגון הגג שאיגד את הגופים שניהלו את המחנות היה ארגון “החלוץ”.

אין כמעט בנמצא מחקר היסטורי בנושא מחנות ההכשרה, אך ברור שלא כולם שימשו רק לשם הכשרת יהודים ל”עליה”. חלקם שימשו גם למשל כמרכזים לעזרה ליהודים צעירים מובטלים לרכוש מיומנויות שימושיות בתקופות כלכליות קשות. המחנות נוהלו לא רק על ידי ארגונים דתיים או ציוניים, אלא גם על ידי תנועת הצופים היהודית או קרנות פילנתרופיות כגון בית הספר היהודי למקצועות הגינון היהודי באהלם (Ahlem) ליד האנובר, שנוסד על ידי מוריץ סיימון (Moritz Simon) בשנת 1893. לאחר 1933 הועברה האחריות על מרכזים אלו ל “התאחדות הלאומית היהודית” (הפדרציה של כל הארגונים היהודים ברייך אשר הוקמה על ידי הממשלה הנאצית). מכאן ואילך, ברוח תנועת ההכשרה הציונית, עסקו כל המרכזים הללו בחינוך והכשרת הנערים במקצועות אשר להם ידרשו לאחר ההגירה. רבים מהם אכן הצליחו להגיע לפלסטינה, אנגליה, שוודיה, או דרום אמריקה. בשנת 1936 פעלו 139 מרכזי הכשרה בגרמניה עם יותר מ 5000 אנשים שעובדים ולומדים שם. עד 1938 ירד המספר ל32 מרכזים עם כ1300 נערים. בשנת 1941 נאסרו אימון והכשרת היהודים על ידי השלטונות הנאציים, וכל המרכזים נאלצו להסגר.

אחוזת נוינדורף:

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

האחוזה מהווה דוגמה טיפוסית של היסטוריית תנועות הנוער הציוניות בגרמניה.

In Neuendorf, 2015
In Neuendorf, 2015

בשנות ה30 המוקדמות, לאחר מותו של הבעלים היהודי של האחוזה, הפילנטרוף הרמן מולר (Hermann Müller) הועבר עזבונו לארגון פועלים יהודי-ברלינאי: גברים צעירים ומובטלים יכלו לגור, לעבוד וללמוד במקום. בשנת 1937 נוינדורף הפך למרכז הכשרה רשמי.

גם לאחר שנת 1941 פעל המקום כמרכז הכשרה, אבל אז, הפך המקום למחנה עבודה בכפייה. נוינדורף נותר בניהולו של מרטין גרזון (Martin Gerson), והפך למחנה ההכשרה המרכזי אליו נשלחו נערים ממחנות ההכשרה האחרים שנסגרו בזה אחר זה. בשנים אלו כבר גרו משפחות שלמות בנוינדורף, כאשר בילדיהם טיפלה בין היתר, המחנכת המפורסמת וחלוצת החינוך המונטסורי קלרה גרינוולד (Clara Greenwald).

In Neuendorf, 2015
In Neuendorf, 2015

בשנת 1943, “לכבוד” יום הולדתו של אדולף היטלר גורשו אחרוני התושבים/אסירים לאושוויץ.

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

In Neuendorf, 2015
In Neuendorf, 2015

המצב היום: נוינדורף עומד למכירה

כיום נוינדורף נמצא בבעלות BIMA (סוכנות הנדל”ן הפדרלית) כנאמנים של הממשלה הפדרלית הגרמנית. .לפי מסמכי הרשויות הגרמניות אין תביעות פיצויים תלויות ועומדות לגבי הנכס. עם זאת, זה לא היה ניתן לאמת באופן עצמאי האם טענות אפשריות על ידי צאצאי הרמן מילר, הבעלים של האחוזה בשנות ה1920 וה -1930, יושבו.

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

BIMA הציבה את הנכס למכירה ב -17 במאי 2017. BIMA היא סוכנות עצמאית של הממשלה הפדרלית עם המשימה העיקרית של יצירת רווח עבור משרד האוצר הפדרלי. יחד עם זאת, המבנה הארגוני של BIMA כן מאפשר התערבות פוליטית כדי להשפיע על החלטות מכירה.

על הצעות הרכישה להיות מוגשות עד ל -31 באוגוסט 2017, במחיר מינימום של 290,000 יורו. האחוזה שוכנת על 365,000 מטרים רבועים. היא כוללת 8 בניינים עם מגורים (26 דירות, 9 מתוכם כרגע ריקות) ותשעה מבנים אחרים (בתים חיצוניים, מוסכים, מבנים חקלאיים, וכו’). דמי השכירות כיום מייצרים הכנסה שנתית של 35,000 אירו. עם זאת, סך העלויות השוטפות עומד על כ 45,000 יורו בשנה. בנוסף, כמובן שהאחוזה דורשת השקעה תשתיתית רצינית כולל קירוי עתידי, מערכות חימום ומערכות חשמל (השיפוצים האחרונים בוצעו ב 1960, בסטנדרטים של גרמניה המזרחית). מנקודת מבט היסטורית והצלת המורשת, חוסר השקעה זה בששת העשורים האחרונים מהווה סכנה חמורה למרקם ההיסטורי של האחוזה. במקרה של מצבים כלכליים קשים במיוחד חוק הגנת המורשת הגרמני יכול לאפשר הריסת בניין מוגן אפילו. כך, על אף צו הגנה שהושם באחוזה (בזכות מאבק ארוך ביוזמותינונ) בגלל החשיבות ההיסטורית שלה, עדיין תלוי גורלה של האחוזה בבעליה העתידיים.

ברור לנו במצב זה שיש לפעול כדי להציל את המקום. אם אתם מעוניינים לעזור, יש לכם רעיונות או שאלות לגבי הפרויקט נא לפנות ל”צרו קשר” בבלוג זה, או באנגלית לסטלה או בנו בכתובת

מאת: Stella Hindemith ו- Benno Plassmann
תרגום: ליאור אורן

Save Neuendorf – Future for the History of the Hachshara Movement in Germany

I came to know Neuendorf as a part of the family history research.  Neuendorf was the last Zionist Hachshara camp where Rulf, the brother of my grandmother stayed, before he was deported to Auschwitz. The importance of this camp is huge. Very little is known about the role of the Hachshara camps in the Zionist movement in Germany, and now we have a chance to save it, with the help of dear friends, Stella and Benno:

Neuendorf Estate, near Fürstenwalde (Spree), 60 km East of central Berlin

© Written by Stella Hindemith & Benno Plassmann 

Historic considerations

Set in the East-German countryside half-way between Berlin and the Polish border is Neuendorf. From the late 1920s Neuendorf was an important center of Jewish self-organisation, mutual support, and resistance at first in times of economic hardship, and then of persecution by the German authorities.

Before the onset of Nazi dictatorship in 1933 there were about 30 Jewish youth education centers throughout Germany. There is hardly any research into their history, however, it is clear that not all of them served as places to prepare young people for emigration or Aliyah. They also served as places where young unemployed Jews had a chance to learn useful skills in economically difficult times, be it after World War I or during the Great Depression. They were run not only by either religious or overtly Zionist organisations, but also by the Jewish boy scout movement or philanthropic foundations such as the Jewish gardening school in Ahlem near Hanover founded by Moritz Simon in 1893. After 1933 these education centers were transferred to the responsibility of the so-called Palestine office in the Reichsvereinigung der Juden (the federation of all Jewish organisations in the Reich enforced by the Nazi Government). From then on, in the spirit of the Zionist Hachsharah movement, all these Jewish youth education centers worked to teach young people skills important for emigration; many of them were able to reach Palestine, England, Sweden, or South America. In 1936 there were 139 Hachsharah centers in Germany with more than 5.000 people working and learning there. By 1938 these numbers had fallen to 32 centers with about 1.300 people. In 1941 also the last available forms of training for Jews were forbidden by the Nazi authorities, and the centers had to close down.

Neuendorf is a typical example for these developments and central for the history of Zionist youth movements in Germany. After its philanthropic Jewish owner Hermann Müller had passed management of the Estate to the Berlin-based Jewish workers support association in the early 1930s, mainly unemployed young men could live, work and learn there. In 1937 Neuendorf also officially became a Hachshara center. Neuendorf continued as a place of Jewish self-organisation even after 1941, however, the situation transformed into that of a forced labor camp. Neuendorf remained under the directorship of Martin Gerson, and it turned into the central location where young people from other Hachshara centers were sent to when theirs were closed. By then entire families lived in Neuendorf whose children were looked after, others, by the famous educationalist and Montessori-pioneer Clara Grunwald. In 1943 the last inhabitants/inmates were deported from Neuendorf to Auschwitz.

In Neuendorf, 2015
In Neuendorf, 2015

Despite the important role the Zionist youth movements (and people from Neuendorf, in particular) played in the organisation of resistance to and survival of Nazi-persecution, as well as in the period directly after the Shoah, and then during the establishment of the State of Israel, there is very little research and hardly any literature about the Hachshara in Germany, nor is there any memorial place in Germany. Indeed, outside Jewish museums in Germany there is nothing much that can be found about the history of Zionism in Germany. Neuendorf is important because of its historically central role for the Zionist youth movements in Germany, and on top of that today it is the only Hachshara place in Germany the buildings of which remain in their entirety.

In Neuendorf, 2015
In Neuendorf, 2015

The situation today: Neuendorf Estate for sale

Today Neuendorf is owned by BIMA (federal agency for real estate) as trustees of the German Federal Government. According to the competent German authorities there are no compensation claims pending. However, it has not been possible to verify independently whether possible claims by the descendants of Hermann Mueller, (Jewish) owner of Neuendorf in the 1920s and 1930s, were indeed settled, or not. Fundraising is ongoing to pay for the necessary historic research in archives in Germany, Israel and the USA.

BIMA has put up Neuendorf for sale on 17 May 2017. BIMA is an independent agency of the Federal Government with the primary task of creating value for money for the federal ministry of finance. However, BIMA’s structure does allow for political influence to affect decisions of sale.

Binding offers have to be made by 31 August 2017, starting with a minimum of 290.000 EUR. The estate has a size of 365.000 m². The sale comprises 8 buildings with living quarters (split into 26 apartments, 9 of which are currently empty) and 9 other buildings (outhouses, garages, agricultural working spaces, etc.). The rentals currently generate a yearly income of 35.000 EUR; however, the yearly minimum running costs stand at about 45.000 EUR. In addition, it is clear that the estate requires serious infrastructural investment in the near future including roofing, heating systems and electrical systems (latest renovations seem to date back to the 1960s, East German standards). From a historical and heritage-protection perspective this lack of investment over the past six decades constitutes a grave danger to the historic fabric of the estate. In case of particularly difficult business situations German heritage protection law can allow for the demolition even of listed buildings. Thus, even though a protection order has been placed on the estate because of its historic importance it depends on future owners if the buildings’ fabric itself will survive, or not.

A future for Neuendorf?

In this situation it is clear that action is required to ensure a future for Neuendorf as a place of practical commemoration, translating the inspirations and actions of the 1930s to meet the challenges of today’s world. If you have advice and see possibilities of helping to fund raise for this goal (including potentially a purchase, or the renovation of parts of the location, as well as the development of activities in or around Neuendorf / the history of Hachshara in Germany) please be in touch.

Stella Hindemith, Benno Plassmann

In Neuendorf, 2015
In Neuendorf, 2015
In Neuendorf, 2015
In Neuendorf, 2015

הומור בצל המלחמה: יום השואה 2017

אחרי עבודה של שנה, לפני כשבועיים ב- 6 באפריל  2017, נפתחה תערוכת ציורים של אחותה של סבתי, מריון, ובקרוב ייצא גם ספר.תקציר: בשנת 1936 התחתנה סבתי, הלגה, עם סבי, ברנרד, בהמבורג, באותה שנה הם החליטו לעלות לארץ ישראל. אחותה של סבתי, מריון, שהייתה ציירת מוכשרת, הביאה לסבתי ספר ציורים כמתנת פרידה וחתונה. לכל ציור בספר התווסף טקסט אותו כתב רולף, אחיהם. כל עמוד הוא בעצם בית בשיר, המספר את סיפורה של הלגה, צוחק עליה, על המשפחה עם המון סארקזם והומור עצמי.*

Marion's Book
Marion’s Book
® Oren Family

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

לפי הפרופגנדה הנאצית, ניתן לזהות את היהודי לפי “השיער השחור, העיניים הכהות, הלבוש המרושל, והנשים היותר כהות עור מהגברים…”.

בעודי עובר על התמונות שמתי לב לאחת, דווקא מהפשוטות, הממחישה זאת יותר מכל:

בתמונה זו, מריון מציירת את אחותה הלגה כתינוקת, בעלת שתי עיניים שחורות. היא מציירת את מגן הדויד, וכותבת בגרמנית “שתי עיניים כהות” – “zwei dunkle Augen” (אגב, זה גם שם של שיר גרמני ישן, אבל רומנטיקה ועיניים כהות לא שירתו את התעמולה הנאצית אז).

תחשבו על זה. הילדה חיה בעולם בו העיתונים והכרזות מתארים אותה כמלוכלכת, שונה, אשמה בכל החולי של החברה בה היא חיה, כעורה ושנואה.אבל היא גם חיה. והיא גם נערה צעירה, עם חוש הומור.

אז היא צוחקת על זה, וצוחקת על אחותה בעזרת פרופגנדה ארסית המופנית נגד שתיהן.

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

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

היו להם חיים מלאים לפני, שצריך לזכור עוד יותר. מי הם היו, לפני שלקחו מהם את הכל.

Marion Baruch
מריון ברוך ז”ל. בגטו מינסק, ציירה שלט “ברוכים הבאים” יפייפה. מפקד הגטו ראה זאת, ושאל מי צייר. מריון הודתה. המפקד טען שיהודי לא יכול לצייר יפה, לקח אותה לבית הקברות של הגטו וירה בראשה. בת 18 היתה.

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

שויין. שתקפוץ לי.

The WordPress vs Wix Open Source Shitstorm

The WordPress vs Wix open source shitstorm.

  • Disclaimer – I was a developer at Wix when the website editor creation took place.

Yesterday, some big accusations were thrown from WordPress’s founder Matt Mullenweg, blaming Wix for using an open source lib from WordPress, protected with GPL licence, and not following the rules of the GPL licence which are infectious – If you use it in one piece of your app – you have to open your whole app, and give it back to the community.

These are the GPL license rules, simplified:

This is the post by Matt Mullenweg, blaming Wix:

This is the answer of Wix’s app developer, telling the story of how it happened:

What’s interesting is, that WordPress took a normal MIT licensed script (aka – do whatever you want with it) and wrapped it with some code, then GPL licensed it. Fair?

This is the diplomatic answer from Wix’s founder:

Looks like legally, Wix is wrong. But it is a naive, fair mistake, and WordPress are not that clean here. Explained:

The main conclusion that I can take from this thing is – always list your open source used parts in your code, and check their license.

And  try not to use GPL.

I also experienced (and still) similar stories in some of my projects and all I can add is – Some companies want really hard to be “open source company” but, they just don‘t have the mentality.

Don’t open source just in the name of open source. Know what and why you are doing that.

You can release your app for free, but that’s a free app. Not open source.

The story of the Altona mall, built on a Jewish cemetery

Mercado shopping mall - Plate with the names of the buried
Mercado shopping mall – Plate with the names of the buried

I love this picture, taken in the Mercado mall in Altona, Hamburg.
The three layers that you see here are: one floor with an “Arab belly-dance”.
One “floor” is a Jewish cemetery.
One floor is a shopping mall.

This picture is a great symbol, of the present, in Germany, diversity, people might call it.

So why is there a mall on top of an old Jewish cemetery?
It is complicated, here is the (short) story:

Hamburg was a home of thriving Jewish community before the Nazi era.
Many of the Jews of Hamburg moved over the years to its neighbor town Altona, that was more open and acceptable to Jews.
Altona is a town near Hamburg, From 1640 to 1864 Altona was under the administration of the Danish monarchy, then, as a part of Germany, and in 1937 became a part of Hamburg.
The Jewish cemetery of Ottensen, Altona, was opened in 1663 and was active until 1934.

Altona Jewish Cemetery
Altona Jewish Cemetery

Soon after, Nazi authorities confiscated it and destroyed it.

At the end of ww2, the site, known as belonging to the Jewish community, was returned to the only two Jews who lived in Hamburg. Nobody knew or could tell that it was a cemetery. The Nazis dug two bunkers inside the cemetery, mixed the ground through, with, the bodies and gravestones. The two Jews sold the property to a real-estate company.


In 1988 the land was bought by a company that planned to build a mall on the ground.
When construction started, a group of left activists, began series of protests. The reason was that the area was poor, and they protested against a “temple of capitalism” that will raise the rent.

They did not succeed in their protest but after some research, they discovered that the land was once a Jewish cemetery. That came handy – The German authorities and people will not dare to deal with a Jewish cemetery.
They tipped an ultra-orthodox Jewish group from Jerusalem, and that was enough to ignite the fire they needed.

A group named “Athra Kadisha” came to Hamburg and started to demonstrate and protest. They stopped the work. Blocked the tractors. Blocked the streets of Altona near the construction site, made noise and spread guilt.

The city of Hamburg did not agree to buy the land from the private company. 50 million marks worth, was too much.
Hamburg’s Jewish community was pissed, they did not want these people here, the visitors from Jerusalem, talking on their behalf. Other solutions could be found.

Demonstrations in Altona, against the Mercado mall, to be built on top of an old Jewish cemetery. Hamburger Abentblatt 2.5.1992
Demonstrations in Altona, against the Mercado mall, to be built on top of an old Jewish cemetery.
Hamburger Abentblatt 2.5.1992

Eventually, with the intervention of the chief Rabbi of Israel, they acted by the main Jewish rule in this case – do not disturb the deads (who laid near a noisy train station). Do not move them.
The mall will be built on top of the cemetery.

הפגנות נגד הבניה בהמבורג
Demonstrations in Altona, against the Mercado mall, to be built on top of an old Jewish cemetery

And this is how the big shopping mall of Altona, the Mercado is a bit high at some points, and this plate with the names of the buried Jewish residents of Altona in placed.

Mercado shopping mall - Plate with the names of the buried
Mercado shopping mall – Plate with the names of the buried

המבורג – הקניון מעל בית הקברות היהודי באלטונה

Mercado shopping mall - Plate with the names of the buried
Mercado shopping mall – Plate with the names of the buried
אני אוהב את התמונה הזאת. זהו הקניון Mercado באלטונה, המבורג.
מה שאתם רואה כאן, זו קומה אחת עם ריקוד בטן.
“הקומה” באמצע היא בית קברות יהודי (הגבהה מעל הקרקע).
קומת הקרקע היא קניון. התמונה מסמלת את ההווה בגרמניה. את הגיוון התרבותי. אז מדוע קיים קניון על גבי בית קברות יהודי?
זה מסובך, הנה הסיפור (בקצרה): המבורג הייתה ביתה של קהילה יהודית משגשגת. התנועה הרפורמית החלה כאן למשל.
רבים מהיהודים המבורג עברו במשך השנים לעיר השכנה אלטונה, כי היתה היא פתוחה יותר (ופחות אנטישמית) ליהודים.
אלטונה היא עיירה ליד המבורג, מ 1640 כדי 1864 אלטונה היתה תחת ממשל של הממלכה הדנית, לאחר מכן כחלק גרמניה, ובשנת 1937 הפכה לחלק מהעיר המבורג.
בית הקברות היהודי של Ottensen, אלטונה, נפתח בשנת 1663 והיה פעיל עד 1934.

Altona Jewish Cemetery
Altona Jewish Cemetery

זמן קצר לאחר מכן, הרסו הנאצים את בית הקברות, לאחר שהלאימו אותו מידי הקהילה.

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

בשנת 1988 הקרקע נרכשה על ידי חברה שתכננה לבנות קניון על הקרקע.

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

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

וזה עבד. בהתחלה.
קבוצה בשם “אטרא קדישא” הגיע להמבורג והחלה להפגין. הם עצרו את העבודות. חסמו את הטרקטורים. חסמו את רחובות אלטונה סמוך לאתר הבנייה, עשו רעש תקשורתי והטיפו אשמה.

הפגנות נגד הבניה בהמבורג
Demonstrations in Altona, against the Mercado mall, to be built on top of an old Jewish cemetery

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

Demonstrations in Altona, against the Mercado mall, to be built on top of an old Jewish cemetery. Hamburger Abentblatt 2.5.1992


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

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

Mercado shopping mall - Plate with the names of the buried
Mercado shopping mall – Plate with the names of the buried