text:
Unter dem Freiheitsbaum ist ein Roman der deutschen Schriftstellerin Clara Viebig. Hauptfiguren der Geschichte, die sich um 1800 im Rheinland zuträgt, sind die Räuber Johannes Bückler, genannt "Schinderhannes" und Hans Sebastian Nikolai, ein Schmied aus Krinkhof in der Eifel. Neben den Taten der beiden Räuber und ihrer Banden zeichnet Viebig die Verworrenheit der nachrevolutionären Verhältnisse nach, unter der die Bevölkerung leidet, die den Kriminellen hingegen gute Gelegenheit gibt, die Situation zu ihrem Vorteil auszunutzen.

Handlung
Im französisch besetzten Trier wird im Jahr 1796 das vierte 'Fest der Gründung der Französischen Republik' gefeiert: "Auf dem Hauptmarkt, auch auf den Domfreihof, vor dem Justizgebäude ragt ein Freiheitsbaum – junge, schlanke Eichen von Eifelhöhen." Das Volk profitiert freilich nicht immer von den Segnungen des politischen Umbruches, sondern es leidet unter den politischen, ökonomischen und sozialen Verwerfungen einer Zeit, die voll ist von "Blut […] in der Mosel und Seuche und Hunger an beiden Ufern und wenig Barmherzigkeit." Während sich die älteren Trierer kaum mit dieser Situation abfinden können, halten die Jüngeren sie für völlig normal:

Die folgende Erzählung besteht aus drei Hauptsträngen mit einigen Nebenhandlungen. Zahlreiche Nebenfiguren präzisieren das dargestellte Bild oder beobachten es aus einer Randperspektive, so die Soldaten, jüdische Händler, Bauern oder die Stadt- und Landbevölkerung.

Der erste Hauptstrang handelt von Johann Bückler, dem Schinderhannes, der sich selbst auch als "Johannes Durchdenwald" bezeichnet, und von dessen Braut, der Bänkelsängerin Julchen Bläsius. In der Geschichte Julchens spiegelt sich beispielhaft das Schicksal von Familien in dieser Zeit:

Hannes, der zwar als ein berüchtigter Räuber bekannt ist, kann insbesondere gegenüber seinem Julchen sehr "großmütig sein." Er weiß rauschende Feste zu feiern, wie auf dem Hof Kallenfels bei Kirn im Hunsrück, wobei er allerdings von den Juden der Umgebung Schutzgelder erpresst. Diese verwendet er zur Finanzierung seiner Feiern und vor allem dazu, Julchens Wünschen nachzukommen. Dennoch ist die Beziehung der beiden durch zahlreiche Eifersüchteleien gekennzeichnet, denn Hannes ist aus früherer Zeit auch mit Amie, der Tochter der Butzliese, die an der Rückwand des Trierer Doms ein Huren- und Hehlergewerbe betreibt, verbunden. Letztlich nimmt aber Julchen als Mutter seines Kindes eine wichtige Rolle im Leben des Bückler ein. Sie ist auch ein Gegenpol zu seiner Mutter, die die Taten des Sohnes abscheulich findet und ihm mehrfach ins Gewissen redet:

Im zweiten Erzählstrang ist Hans Bast Nikolai die wichtigste Figur, der Schmied und Räuber aus Krinkhof bei Bad Bertrich, der überdies einen Ruf als Wunderdoktor erworben hat. Der ehemalige Flügelmann der Kurtrierer Garde hasst die Welt, seit man ihn wegen einer Liebelei mit der Frau seines Vorgesetzten verurteilt hat. Während die Frau keine Strafe erhielt, da sie vorgab, Hans Bast habe ihr Gewalt angetan, musste er Spießruten laufen und wurde anschließend in Unehren entlassen. Dies macht ihn zu einem Zweifler:

Mit seiner Tochter Maria ist Hans Bast in einer problematischen Beziehung verbunden. Er hat ihre Mutter wenig geliebt; außerdem dient die einsame Krinkhofer Schmiede als Unterschlupf und Ausgangspunkt von Raubzügen der sogenannten Moselbande. Seine Tochter gibt Hans Bast deshalb als Magd zur Butzliese, einer alten Freundin, bei der auch Bückler und seine Männer verkehren. Eines Nachts erschlägt der Iltis-Jakob, ein Räuber der Bande, im Haus der Butzliese einen Verehrer seiner freizügigen Frau Anne. Bei einer Polizeikontrolle wird Bückler von Maria durch einen verborgenen Gang im Dom in Sicherheit gebracht, nicht ohne dass dieser versucht, sich das Mädchen zu Willen zu machen. Sie wehrt aber erfolgreich ab.

Maria gibt ihren Dienst in dem zweifelhaften Haus auf und kehrt zu ihrem Vater zurück. Auf dem Weg in die Eifel wird sie von dem in französischen Diensten stehenden General d'Aubray vergewaltigt. Die gedemütigte Maria findet letztlich in Martin, dem Sohn des Müllers am Üßbach, einen verständnisvollen Freund. Zunächst als Magd auf der Mühle und von der Mutter trotz ihres 'Makels' anerkannt, es entwickelt sich eine zarte Liebesbeziehung, und Maria wird nach einigem Zögern die Ehefrau von Martin.

Ein dritter Erzählstrang dreht sich um die Figur des Friedensrichters Friedrich Adami, der in Lutzerath sein Amt ausübt. Der Beamte, der in besonderer Weise von dem Unwesen der Räuberbanden betroffen ist, reflektiert über die mangelnde Rechtssicherheit:

Adami ist mit der Trierer Bürgermeisterstochter Susette Gontard verlobt, aber seine Absichten werden durch die Leichtsinnigkeit der Verlobten zunichtegemacht. Ihr wird eine Beziehung mit d'Aubray zum Verhängnis. Während Suschen sich für ein Leben im Kloster entschließt, fordert Adami in seiner Enttäuschung d'Aubry zum Duell. Dieser flüchtet, getarnt als 'Marquis de la Ferrière', und lässt dabei zusätzlich die Regimentskasse mitgehen. Der um seine Satisfaktion betrogene Adami widmet sich verstärkt der Erfassung des Schinderhannes. Sein Motiv:"Oh, es war weit gekommen mit den Leuten, sie wussten nicht mehr, was gut und böse war! Die Bauern leisteten dem Bückler Vorschub, die Damen erzählten sich pikante Anekdoten von ihm."

Adami versucht, über Hans Bast den Aufenthaltsort Bücklers zu erfahren, wobei er die Involvierung des Krinkhofers in das Bandenwesen nur ahnen kann. Sein Glaube an die Freiheit ist erschüttert; er hofft auf eine Besserung durch Bonaparte:

Die einzelnen Handlungsstränge werden zusammengeführt, als der flüchtige d'Aubry sein fußlahmes Pferd bei Hans Bast behandeln lassen muss. Maria erkennt den Übeltäter und offenbart ihrem Vater dessen Schandtat. Hans Bast sinnt auf Vergeltung und lockt den falschen Marquis in eine Falle der Schinderhannes-Bande am Reiler Hals; anschließend ersticht er den Peiniger seiner Tochter. Bückler, bekleidet mit der erbeuteten Uniform d'Aubrys, lässt sich indessen in Cochem, als Marquis feiern und bewirten. Er ahnt nicht, dass Hans Bast zur gleichen Zeit Adami über den Mord an d'Aubry informiert, als Mörder aber ihn, Bückler, angibt.

Im Zusammenhang mit dem unaufhaltsamen Aufstieg des Napoleon werden Bürgerwehren gebildet, welche die Räuber ergreifen sollen. Hannes legt sich vorsichtshalber eine Identität als fahrender Krämer unter dem Namen Jakob Ofenloch zu. Die Geburt seines und Julchens Sohnes, des Hanneschen, hält ihn nicht davon ab, die französische Tänzerin Cecile Vestris zu entführen. Eine gemeinsam verbrachte Nacht wird von dem eifersüchtigen Julchen gewaltsam beendet.

Ein Überfall der Moselbande auf die Üßmühle führt dazu, dass Maria sich Adami anvertraut. Dies führt letztlich zur Ergreifung von Hans Bast und Bückler. Die beiden Räuber werden nach Koblenz und nach Mainz verbracht.

Auch in Koblenz steht ein Freiheitsbaum, der viel gelitten hat:

Johannes Bückler und Hans Bast Nikolai enden letztlich in Mainz und in Koblenz unter der Gouillotine.

Zum Stoff
Clara Viebig erklärt, sie habe die Inspiration zu ihrem historischen Roman bei einer Wanderung zum Reiler Hals und den Erzählungen ihres Führers zum dortigen Bandenwesen erhalten. Wegen ihres Interesses an der Psychologie von Kriminalfällen habe sie ihre Aufmerksamkeit allerdings eher vom Schinderhannes auf Hans Bast gelenkt:

Viebig hat das vorhandene Quellenmaterial mit großer Sorgfalt durchgearbeitet, sich jedoch die Freiheit genommen, Figuren und Handlung in künstlerischer Absicht umzuarbeiten.

Interpretationsansätze

Über die Räubergeschichte hinaus widmet sich Viebig dem Problem der Schuld und der Frage: "Wo fängt das Verbrechen an?" in einer verworrenen, kriminellen Zeit, in der insbesondere sozialen Randfiguren nur die Möglichkeiten einer 'Karriere' außerhalb der gesellschaftlichen Norm offenstanden. Wie das Schicksal Bücklers zeigt, gab es für den Sohn eines Abdeckers keine großen Perspektiven. Das Thema der Schuld gerät insbesondere bei der Beurteilung der Hinrichtung von Hans Bast in den Fokus der Betrachtung, dessen Untat als Rächer am Ungemach seiner Tochter durchaus motiviert und nachvollziehbar ist.

Dieses Thema wird entfaltet vor dem historischen Panorama der Revolutionskriege und der vornapoleonischen Zeit, in der es sich räubert und plündert, "gemütlich unter dem Freiheitsbaum, unter der freiesten Verfassung der Welt." Die Enttäuschung über die fehlgeleiteten Werte der Französischen Revolution wird durch Adami zusammengefasst in dem Ausspruch: "Die Göttin der Vernunft hatte nicht Vernunft gelehrt, nur Unvernunft."

Gestaltung der historischen Figuren
Viebigs Abweichung von historischen Gegebenheiten bzw. ihre Umgestaltung der Figuren weg von den entstandenen Klischees der Kolportageromane ist nicht immer auf Zustimmung gestoßen. Offenbar enttäuschte sie dadurch bei ihrem Lesepublikum dessen Erwartungen über das gewohnte Bild der romantisch-grausamen Räuber.

In ihrer Interpretation der Geschichte begreift die Schriftstellerin die Figur des Hans Bast als einen Verbrecher aus verlorener Ehre, während Bückler eher als Strauchdieb und Frohnatur gestaltet ist, der sich niemals von den Ermahnungen der Mutter wie auch Julchens ganz emanzipieren kann. Kritik wird insofern geübt, als Bückler, nicht zuletzt wegen des immer nörgelnden oder eifersüchtigen Julchens, zu negativ gezeichnet, werde, zumal an jeden seiner Eulenspiegeleien und Streiche die Autorin "einen erschreckenden Schluss" angehängt habe. Dadurch würdige Clara Viebig nicht genügend "die Eigenschaften, die Hannes zum Volkshelden" gemacht hätten, schließlich sei er "der populärste Räuber um 1800" in Deutschland gewesen.

Auch wird Kritik daran geübt, dass Viebig keine 'normativ triftigen Erzählung', in der die Wertungen von Personen und Verhältnissen historisch gerecht seien, angefertigt hätte. Insbesondere werde die Ausgestaltung der Räuberfiguren und die teilweise negative Darstellung der Figuren der Juden den historischen Tatsachen nicht gerecht. Zudem trete die Figur der Maria "derart poetisch konstruiert auf, dass sie feenhaft irreal" erscheine.

Indes ist festzustellen, dass gerade diese Variation der Figuren und deren Handlungen die Qualität von Viebigs Romanes ausmacht. Die Konstruktion der Personenkonstellationen offenbart, dass Viebig geschickt mit den gängigen Klischees über den Schinderhannes und seine Bande bricht und gerade dadurch den gesamten bekannten Stoff auf eine neue Ebene setzt.

Gudrun Loster-Schneider stellt in ihrer ausführlichen Reflexion über die Gestaltung von Geschichte in historischen Romanen der 1920er Jahre fest, Viebig verschiebe "Motive interfigural", um diese "sinnhaft zu interpretieren" und damit jegliches Klischee aufzubrechen. Sie stellt ebenfalls die Veränderung Julchens zur Kriminalität und die Einführung der Mutterfigur von Bückler fest, auch die Aufspaltung der Figur der Butzliesen-Amie in Mutter und Tochter wie auch die veränderte Darstellung von Hans Bast wird vermerkt. Loster-Schneider sieht dies zum einen motiviert in Viebigs Bestreben, den historischen Romanstoff zum einen der der naturalistischen Theorie anzupassen und "serielle Gewalt genealogisch oder individual- und familienpsychologisch zu motivieren." Gleichzeitig nutze Viebig aber das umgestaltete breite weibliche Figurenrepertoire gerade dazu, um jegliches traditionelle Stereotyp aufzubrechen und zu entkräften. Demnach sei es bei Viebig Methode, dass sich die Bürgermeisterstochter "ebensowenig rollenkonform wie die unterbürgerliche Bänkelsängerstochter und Räuberbraut" verhalte, ebenso wie es sinnvoll erscheint, dass 'Mordbrennerstochter' und Judenmädchen "umso normgerechter" seien.

Der politische Diskurs werde ebenfalls mit der Einführung der Figur des Adami aufgebrochen. Dieser müsse sich eingestehen, dass sein Charakter schlechter sei als der des liebenden Müllerssohns Martin; auch verhalte sich Adami kaum besser als Hans Bast, den er hinrichten lassen muss "für einen Mord, zu dem er, im geregelten Tötungsritual des Duells, selber bereit gewesen wäre." Der "aufgeklärte, bürgerliche Humanist" erkennt hier seinen "eigenen erfolglosen Tötungswunsch" und in Martin "den moralisch Überlegenen," daraufhin breche "Adamis Identität zusammen."
Viebigs Erzählweise, mit "gedoppelte[n] Perspektiven" und "'unordentlichen Erzählverhältnisse[n]," sei demnach gezielt das "Werk eines ironischen Textsubjektes.", mit dem die Schriftstellerin Position beziehe "gegen die historischen Romane der 'Konservativen Revolution.'"

Viebigs Dichtung wird ebenfalls als "frei von antifranzösischer Voreingenommenheit" bewertet. Die Untersuchung der Räuber-Literatur im Wandel der Zeiten, seit dem Drama "Die Räuber" von Friedrich Schiller bis zum Schinderhannes, zeichne Viebigs Roman als "eine singuläre Erscheinung" aus. Bei einer Figur wie dem Schinderhannes, die häufig zu nationalistischen oder chauvinistischen Zwecken missbraucht worden sei, verzichte Viebig "weitgehend auf Feindbilder" und stelle "das transindividuell und transnational Franzosen und Deutsche Verbindende in den Vordergrund", Dies sei im Jahr 1922 "keineswegs selbstverständlich" gewesen und zeugt vom humanistischen Potential, das Clara Viebig selbst in eine Räubergeschichte einzubringen weiß.

Handlungsführung und Stil

In Werkbesprechungen wird die Handlung des Romans als "straff" und "mit Leichtigkeit geschrieben" bewertet. Sie sei ein Erfolg, "eine Vielzahl inhaltlicher Elemente narrativ triftig zum einem Sach- und Sinnganzen zusammenzufassen."

Zwar sei die Handlung "reichlich romantisch", jedoch vermeide Viebig gerade dadurch das Kolportagehafte einer hohlen "Abenteuerei". Hinzu treten zahlreiche Dialoge, teilweise in dialektaler Färbung, wie auch Monologe in erlebter Rede über die Zustände der Zeit, die insbesondere Friedensrichter Adami mit sich selbst führt. Diese und das sukzessive Aufgreifen des sich zum Negativen ändernden Freiheitsbaums, verleihen dem Roman eine reflexive Dimension, die vom reinen Unterhaltungsroman wegführt.

Interesse an der Schinderhannes-Figur in den 1920er Jahren
Mit der Gestaltung des Schinderhannes-Stoffes gestaltet Clara Viebig nicht nur eine historische Geschichte, sondern sie nimmt darüber hinaus Bezug auf ihre Gegenwart in den 1920er Jahren, ebenfalls eine nachrevolutionäre Zeit. Beim Studium der Quellen habe sich ihr "ein stechendes Bild, das mehr als eine beängstigende Affinität mit unseren Tagen zeigt," aufgetan. Sie überlässt allerdings "dem Leser die Mühe, eine Parallele mit der gegenwärtigen Zeit zu ziehen."

Neben der Hinweisen in den autobiographischen Zeugnissen von Viebig selbst wurde früh auf die Ähnlichkeit der historischen Umstände zur Zeit Bücklers und der Entstehung des Romans in den 1920er Jahren und der französischen Besetzung des Rheinlandes hingewiesen. Eine Parallele besteht darin, dass "die Revolution […] alles Alte umgerissen" habe, das Neue aber "keine Wurzeln" hat. Demnach wird Viebigs Roman von Aust als ihre "stärkste historische Parabel auf die Krisen der frühen Moderne" bezeichnet, da die Schriftstellerin "kritisch die Gegenwart der Nachkriegszeit, Revolution und jungen Republik ins Auge" fasse. In der Zeichnung des 'wilden Durcheinanders' des Bandenwesens entdecke sie in den "'Kollateralschäden' der neuen Umbruchszeit mit nahezu visionärer Begabung eine Gefahr, deren mörderische Zukunft unmittelbar bevorsteht."

Rezeption
Viebig hat den Schinderhannes-Stoff, der lange als Vorlage für die Abfassung nichtliterarischer Unterhaltungswerke diente, wieder "in die Sphäre der Literatur" gehoben´und die "bis dahin wertvollste dichterische Behandlung" des Stoffes vorgelegt. Zudem sei durch sie die wissenschaftliche Beschäftigung mit dem Räuber aus dem Soonwald neu belebt worden.

Kurz nach der Erstveröffentlichung im Jahr 1922 war das Interesse an dem Roman so rege, dass der Roman von der Deutschen Buchgemeinschaft, ein Jahr später von der DVA (1923) erneut aufgelegt wurde. Anlässlich der Jahrtausendfeier im Hunsrück erschienen Auszüge, bevor das Interesse nachließ. Hierzu mag insbesondere, neben der Bearbeitung des Stoffes durch andere Schriftsteller, insbesondere die Veröffentlichung des Theaterstückes Schinderhannes von Carl Zuckmayer im Jahr 1927 beigetragen haben. Abgesehen davon, dass Zuckmayer die Hauptfigur als einen sympathischen Volkshelden südwestdeutscher Prägung zeichnet, lässt sich ein Schauspiel publikumswirksam vermarkten: Im gleichen Jahr fand im Theater die Uraufführung statt, ein Jahr später wurde die Vorlage verfilmt.

Ein Interesse an Viebigs Bearbeitung des Stoffes entstand erst wieder im Zuge der Clara-Viebig-Renaissance ab 1997, als der Roman in Fortsetzungen in der Rhein-Zeitung abgedruckt, vom Rhein-Mosel-Verlag zweimal erneut aufgelegt und 2006 als Hörbuch vertont wurde.

Ausgaben

Printmedien

 1922: 1.–10. Aufl., Stuttgart: DVA [384 S.] (von der 1. Aufl. wurden 50 Exemplare auf Büttenpapier gedruckt; von der Verfasserin gezeichnet).

 um 1922: Deutsche Buch-Gemeinschaft: Berlin [372 S.].

 1923: Stuttgart: DVA, 11.–15. Aufl. [384 S.] (v. der 2. Aufl. wurden 100 Exemplare auf Büttenpapier gedruckt; von der Verfasserin gezeichnet).

 1925: Auszug 'Schinderhannes und seine Mutter', in: Hunsrücker Heimat. Festnummer der Hunsrücker Erzähler zur Jahrtausendfeier, hrsg. v. Karl Wagner, Simmern: Böhmer (25–27).

 1925: Auszug 'Beim Schinderhannes', in: 1000 Jahre rheinische Dichtung, hrsg. und eingel. v. Richard Wenz, Köln 1925 (262–268).

 1997: Auszüge 'Die Moselbande und der Schinderhannes', in: Chronik Hontheim mit den Ortsteilen Krinkhof, Wispelt, Bonsbeuren, hrsg. v. Manfred Aretz, Hontheim, o. V. (62–65).

 1997: Roman in 75 Fortsetzungen, in: Rhein-Zeitung Koblenz vom 13. März – 25. Juni 1997.

 1997: Briedel: RMV, 1. Aufl. [263 S.].

 2003: Alf: RMV, 2. unveränd. Aufl. [263 S.].

 2003: Auszug, Titel: 'Schinderhannes' in: Räubergeschichten, hrsg. v. Heiner Boehncke und Hans Sarkowicz, Frankfurt am Main: Insel (139–157).

Tonträger

 2006: Daun: Radioropa Hörbuch, gesprochen von Stefanie Otten.

Übersetzungen

 1922: Onder den vrijheidsboom! (niederländ. ›Unter dem Freiheitsbaum‹), übers. v. J.P. Wesselink-van Rossum, Amsterdam: Meulenhoff [333 S.].

 1924: совиное гнездо; Sovinoe gnezdo (russ. ›Unter dem Freiheitsbaum‹; ›Eulennest‹), übers. v. A. J. Ostrogorskoj und N. Rudina Ostrogorskaja, Moskau: Petrograd [215 S.].

 1926: Auszug, Titel: Le forgeron de Krinckhof (frz. ›Der Schmied von Krinkhof‹), in: La Revue Rhénane (Rheinische Blätter), mars-avril 1926 (50–53).

 1928: Sous l'arbre de la liberté (französ. ›Unter dem Freiheitsbaum‹), übers. v. Joseph Delage, Paris: Attinger [319 S.].

Einzelnachweise

Historischer Roman
Werk von Clara Viebig
Literatur (20. Jahrhundert)
Literatur (Deutsch)


text:
THE Memo itself:
Posted on February 2, 2018 by Eeyore — 55 Comments ↓
1. Yeah we are all pretty sick of the memo. Show me the damn memo or shut up about it. But this is pretty good. If they don't release the memo today, we here at VTB would need a pretty compelling reason to post more on it.
2. This is alleged to be THE Memo itself:
Click the link to download the whole pdf.
Here is a link right to the White House server.
Here is THE WHOLE MEMO for Download:
former US Ambassador, Alan Keyes on the memo.
So Obama's government, the #DNC, and members of the #MSM all conspired to fix a presidential election by deceiving a secret court allowed to spy on American citizens? Russians couldn't have done a better job destroying sacred American institutions than #Democrats have.
— James Woods (@RealJamesWoods) February 2, 2018
Barack Obama 2010 "The only people who don't want to disclose the truth – Are those with something to hide." RT If you agree#FridayFeeling #FridayMotivation #SaturdayMorning #Scandal #FisaGate @realDonaldTrump @DonaldJTrumpJr #WitchHunt #FakeDossier #CoverUp #InAdamSchiffsMemo pic.twitter.com/gBqU0EAPLh
— Girl??Bot (@AMErikaNGIRLBOT) February 2, 2018
#TheMemo is a smoking gun re the politicization and weaponizing of the Obama FBI and DOJ leadership against Candidate @realDonaldTrump and, once he was elected, his presidency. These constitute high crimes and misdemeanors and must be treated as such.
— Frank Gaffney (@frankgaffney) February 2, 2018
Frank Gaffney was undersecretary of defence for Ronald Raegan
An unprecedented Government abuse of power and corruption case. Those involved used HRC bought and paid for Russian lies as the basis to obtain a FISA warrant vs an opposition party candidate and Potus elect. And worse, they knew it was full of lies, and not verified.
— Sean Hannity (@seanhannity) February 2, 2018
Notice that this is the one Washington document wasn't leaked. I guess we know which side is leaking.
— Ann Coulter (@AnnCoulter) February 2, 2018
This entry was posted in corrupt US leftists by Eeyore. Bookmark the permalink.
55 Replies to "THE Memo itself:"
EB on February 2, 2018 at 2:02 pm said:
"GOP memo released: Live updates"
By Kathryn Watson – CBS news – February 2, 2018
Memo Page 1/6
Page 4 – 1) …law firm Perkins Coie
https://www.cbsnews.com/news/nunes-memo-declassified-today-gop-despite-fbi-warnings-grave-concern-live-updates/
"Alan Keyes' Advice To President Trump"
Sovereign Nations – October 4, 2017
"President Trump and Perkins Coie"
By Jim O'Neill – October 27, 2017
http://canadafreepress.com/article/president-trump-and-perkins-coie
"'TWITTERED' ELIGIBILITY CASE LAWYER FACES THREAT OF SANCTIONS"
By Bob Unruh – April 9, 2009
http://www.wnd.com/2009/04/94409/
Perkins Coie – Romantic Poet's Weblog
https://romanticpoet.wordpress.com/tag/obama-records-perkins-coie/
"FBI Files Document Communism in Valerie Jarrett's Family"
Judicial Watch – June 22, 2015
https://www.judicialwatch.org/blog/2015/06/communism-in-jarretts-family/
"The Theory is Now a Conspiracy And Facts Don't Lie"
By JB Williams – September 10, 2009
http://canadafreepress.com/article/the-theory-is-now-a-conspiracy-and-facts-dont-lie
"Temporary delusions, prejudices, excitements, and objects have irresistible influence in mere questions of policy. And the policy of one age may ill suit the wishes or the policy of another. The constitution is not subject to such fluctuations. It is to have a fixed, uniform, permanent construction. It should be, so far at least as human infirmity will allow, not dependent upon the passions or parties of particular times, but the same yesterday, to-day, and for ever."
~ Joseph Story, Commentaries on the Constitution
"John McCain Takes Time Out to Condemn the FISA Memo: 'Serve(s) No American Interest… Only Putin's'"
By Jim Hoft – February 2, 2018
http://www.thegatewaypundit.com/2018/02/john-mccain-takes-time-condemn-fisa-memo-serves-no-american-interest-putins/
Martin on February 2, 2018 at 2:09 pm said:
INTERVIEW WITH TOM FITTON ON NUNES MEMO
the same in HD
Memo: Steele Admitted He Was 'Desperate' Trump Not Get Elected
Republican Congressman answers questions about GOP Russia memo
Trump on Memo: 'Lot of People Should Be Ashamed'
reuters – Trump escalates fight over Russia probe, approves release of secret memo
[…]The document has become a flashpoint in a battle between Republicans and Democrats over Special Counsel Robert Mueller's criminal probe into possible collusion between Trump's campaign and Russia to sway the 2016 presidential election. Mueller is also believed to be investigating any attempts to impede his probe.
[…]The memo, criticized by the FBI as incomplete and slammed by Democrats as an attempt to undermine Mueller's probe, purports to show that the investigation of ties between the Trump campaign and Russia was driven by political bias.
[…]Democrats said the memo cherry picks information.
"The selective release and politicization of classified information sets a terrible precedent and will do long-term damage to the Intelligence Community and our law enforcement agencies," Democrats on the House intelligence panel said in a statement on Friday.
The Democrats said they hoped to release their own memo responding to the allegations on Feb. 5.
https://www.reuters.com/article/us-usa-trump-russia/trump-escalates-fight-over-russia-probe-approves-release-of-secret-memo-idUSKBN1FM1FD
Dems warn Trump: Firing Mueller, Rosenstein would spark 'constitutional crisis'
Democratic leadership on Friday issued a warning to President Trump that using a controversial GOP memo to fire special counsel Robert Mueller or Deputy Attorney General Rod Rosenstein would create a "constitutional crisis" not seen since the Nixon administration.
"We write to inform you that we would consider such an unwarranted action as an attempt to obstruct justice in the Russia investigation. Firing Rod Rosenstein, [Department of Justice] Leadership, or Bob Mueller could result in a constitutional crisis of the kind not seen since the Saturday Night Massacre," Democrats wrote in the letter to Trump.
In addition to Senate Minority Leader Charles Schumer (D-N.Y.) and House Minority Leader Nancy Pelosi (D-Calif.), the second- and third-ranking members of Democratic leadership in both chambers, as well as top Democrats on the Intelligence and Judiciary committees in both chambers signed the letter.
The House Intelligence Committee on Friday released a previously classified memo accusing senior officials at the Department of Justice of inappropriately using a piece of opposition research into then-candidate Trump to obtain surveillance warrants on transition team members as part of the federal investigation into the Trump campaign and Russia.
The release came roughly an hour after the White House said Trump signed off on the memo's release without redactions despite fierce objection from the FBI, which argued it contained "material omissions."
Democrats argue the memo is meant to undercut Mueller's investigation into the 2016 election and potential collusion between Russia and the Trump campaign by using "cherry-picked" facts that lack context.
"The decision to release a partisan and misleading memo … was a transparent attempt to discredit the hard-working men and women of law enforcement who are investigating Russia's interference with our Presidential election and that nation's ties to your campaign," Democratic leadership said in the letter to Trump.
They added that they are "alarmed by reports that you may intend to use this misleading document as a pretext to fire Deputy Attorney General Rod Rosenstein, in an effort to corruptly influence or impede Special Counsel Bob Mueller's investigation."
The memo has sparked a wave of speculation that Trump could try to use it as a basis for firing Mueller or Rosenstein, a Trump-appointed official who named Mueller to be special counsel after the president fired then-FBI Director James Comey in May.
The White House and its allies have downplayed reports that Trump could fire Mueller, though The New York Times reported late last week that he wanted to fire him in June but backed off after White House counsel Donald McGahn threatened to quit.
Trump declined to say on Friday if he had confidence in Rosenstein, telling reporters: "You figure that one out."
http://thehill.com/blogs/floor-action/senate/372033-democrats-warn-trump-firing-mueller-rosenstein-would-spark
CBC – Classified Republican memo on Russia probe released
( 13 min 48 )
Russian lawyer at Trump Tower meeting speaks to Fox News
In an exclusive interview with Fox's Catherine Herridge via Skype, Russian lawyer Natalia Veselnitskaya shares new details about her brief June 2016 Trump Tower meeting with the president's son Donald Trump, Jr. and others. Find out why she was in New York City that day.
You'll also hear how she knows Fusion GPS' Glenn Simpson and what she really thinks of the Trump dossier.
( 27 min 55
Rep. DeSantis: Nunes memo answers a lot of questions
"The FISA Abuse Memo Unveiled; What Exactly Is In the Memo, According to Intel Insiders"
True Pundit by Investigative Bureau – January 22, 2018
https://truepundit.com/fisa-abuse-memo-unveiled-exactly-memo-according-intel-insiders/
"MYSTERY GROWS: JOURNALIST DIED PREPPING OBAMA EXPOSÉ"
By Jerome R. Corsi – August 29, 2013
http://www.wnd.com/2013/08/mystery-grows-in-journalists-death-prepping-obama-expose/
CNN – What's in the Nunes memo?
VICE News – How The Nunes Memo Is A Danger To Democracy
There seems to be some real parallels between Richard Nixon's Saturday Night Massacre and Trump's alleged desire to fire Special Prosecutor Mueller. Many in Congress seem to think their job is to protect the president.
"Watergate: Was Richard Nixon really searching for evidence of Democrats on the Payroll of the Soviet Union?" by Steve Cooper – May 10, 2013
http://thedailypotus.com/watergate-was-richard-nixon-really-searching-for-evidence-of-democrats-on-the-payroll-of-the-soviet-union/
"DFU PRESENTS: Hillary's Unethical Behavior in Watergate"
dougfromupland – Published on April 3, 2008
"Henry Kissinger was a "Soviet" Agent by Henry Makow Ph.D."
By Steve Cooper – September 25, 2013
http://thedailypotus.com/henry-kissinger-was-a-soviet-agent-by-henry-makow-ph-d/
Richard on February 2, 2018 at 4:31 pm said:
There are a lot of people who should be running for cover right now, I say should be because only one (McCabe ) is publicly doing this. While there is nothing in the memo that hasn't been made public before this is the first time a Branch of the Government has released a document that says they have backup on these statements that can be used in court. As was stated in one of the Tweets this memo proves high crimes and misdemeanors enough was brought out in the memo to prove that the Obama Administration (probably at his orders, but he will more then likely say he didn't know) used the US Federal Law Enforcement departments and the Intelligence agencies to spy on a Presidential Candidate to try and ensure that that person didn't win the election. When he did win the only way they had and now have to remain out of prison is to carry out a quiet or violent coup to replace the duely elected President with someone who would accept their attack on the rule of law and on the Constitution. We are now waiting for the next evidence to come out and for the Justice Department to act on the evidence that has already come to light. While we are waiting the internal enemies of freedom are busy deciding if they will continue to fight their quiet coup, surrender to the police or turn their militias (BLM,BAMN, antifa, etc) loose to try and make the US ungovernable. My bet is a combination of one and three.
WaPo- Lawmakers react to release of GOP memo
Richard on February 2, 2018 at 10:21 pm said:
The Dems are going to keep pushing until the rest of the documents are declassified and released. Then they will discover that they have committed political suicide.
CNN – House Intel Member Challenges Wolf Blitzer: 'Why Aren't We Talking About What's In These Memos?'
FISA memo: Something went wrong in Comey's inner circle, Chris Swecker says
Yes it does affect the Mueller investigation, the people who deliberately lied to a Judge to get a FISA warrant are the people Mueller chose to investigate they allegations that were put forward by the Dossier. These two facts taints the entire Mueller investigation, and taints them to the extent that if the IG doesn't come back with a recommendation of prosecution against a lot of people involved in the investigation we will be forced to lobby vigorously until a Special Counsel is appointed to investigate Meuller, the FBI, the DOJ and Mueller. We will need someone like Larry Klayman or Rudy G. to run the investigation, and we will need investigators with a lot of courage to do the investigating. They will be going up against people who are willing to kill to achieve their political goals and will blackmail or kill investigators who get too close to putting them in the pen.
The Memo Reveals the Coup against America
The memo has been released, now it's time to release everything.
The Democrats and the media spent a week lying to the American people about the "memo."
The memo was full of "classified information" and releasing" it would expose "our spying methods." By "our," they didn't mean American spying methods. They meant Obama's spying methods.
A former White House Ethics Lawyer claimed that the Nunes memo would undermine "national security." On MSNBC, Senator Chris Van Hollen threatened that if the memo is released, the FBI and DOJ "will refuse to share information with the House and Senate Intelligence Committees."
Senator Cory Booker howled that releasing the memo was "treasonous" and might be "revealing sources and methods" and even "endangering fellow Americans in the intelligence community."
The memo isn't treasonous. It reveals a treasonous effort by the Democrats to use our intelligence agencies to rig an election and overturn the will of the voters.
The only two "sources" 16 are Christopher Steele, who was funded by the Clinton campaign, and a Yahoo News article, that were used to obtain a FISA warrant against a Trump associate. That Yahoo story came from Michael Isikoff, the reporter who knew about Bill Clinton's affair with Monica Lewinsky but suppressed it. It was based on more leaks from Steele which the FBI and DOJ chose to ignore. Steele's identity was already well known. The only new source revealed is Yahoo News.
https://www.frontpagemag.com/fpm/269211/memo-reveals-coup-against-america-daniel-greenfield
AP Explains: FBI Memo Release is 'Extraordinary'
Oh Bull Shit, this man is out to say that Trump is guilty, he isn't sure of what but he is sure he is Guilty.
WaPo – Opinion | The Nunes memo is no smoking gun
More liberal BS, the FBI lied to a Judge to get a warrant, this is a very nasty smoking gun.
CNN – Rep. Schiff: Nunes memo "cherry-picks" information
Rep. Adam Schiff (D-CA) tells CNN's Wolf Blitzer the Nunes memo is "deeply misleading" by omitting information, and calls for the release of the Democrats' memo.
the gateway pundit BREAKING: Senate Judiciary Committee to Release Memo on FBI, Christopher Steele and Russia Dossier
The Senate Judiciary Committee also has a memo on Steele, the dossier and the FBI, and is working to get it declassified."[…]
Another document — an eight-page criminal referral filed with the Justice Department by Senate Judiciary Committee Chairman Chuck Grassley (R-Iowa) and Sen. Lindsey Graham (R-S.C.) — is also part of the GOP case.
While the FBI has been protesting the release of the Nunes memo, it has been working behind the scenes to vet a version of the Grassley-Graham memo, which is expected to be released in redacted form soon. The FBI is also seeking redactions to the Nunes memo, though it is not clear the White House or congressional Republicans will agree to them.
On January 5th, Senate Judiciary Chair Chuck Grassley (R-IA) and Senator Lindsey Graham (R-SC) sent a letter to Deputy AG Rod Rosenstein and FBI Director Christopher Wray demanding they investigate if Christopher Steele lied to federal authorities.
The letter was the first criminal referral from Congress.
It is being reported that several memos will be released and the worst is yet to come.
http://www.thegatewaypundit.com/2018/02/breaking-senate-judiciary-committee-release-memo-fbi-christopher-steele-russia-dossier/
the gateway pundit – GOP Rep. To Seek CRIMINAL PROSECUTION of FBI, DOJ Officials over "TREASON" in FISA Memo
In a letter published Friday, Rep. Paul Gosar (R-AZ) announced he will seek the criminal prosecution of FBI and Justice Department officials in response to the "treason," laid out in the recently released FISA abuse memo.
"The FBI knowingly took false information from the Democratic National Committee and the Hillary Clinton campaign and then used it to smear Donald Trump in order to hurt his campaign," wrote Gosar.
"The full-throated adoption of this illegal misconduct and abuse of FISA by James Comey, Andrew McCabe, Sally Yates and Rod Rosenstein is not just criminal but constitutes treason," Gosar continued.
Gosar revealed he would seek "criminal prosecution against these traitors to our nation."
Under the U.S. constitution, the FBI and Justice Department officials could be put to death if found guilty of treason.
http://www.thegatewaypundit.com/2018/02/gop-rep-seek-criminal-prosecution-fbi-doj-officials-treason-fisa-memo/
Dr. Sebastian Gorka: Remember THESE three names as Obamagate scandal unfolds
MoA- Memo: Democrats Made Up Evidence Enabled Eavesdropping On Trump Campaign
Over the last month political enemies of U.S. President Trump and the FBI and Justice Department have desperately tried to prevent the publishing of a memo written by the Republican controlled House Intelligence Committee.[…]
[…]If the above memo proves to be correct one can conclude that a Democratic front organization created "evidence" that was then used by the FBI and the Obama Justice Department to get FISA warrants to spy on someone with intimate contacts into the Trump campaign.
The Democrats as well as the FBI have done their utmost to keep this secret.[…]
Getting a FISA warrant on Carter Page meant that all his communication with the Trump campaign was effectively under surveillance of the Obama administration. While Page was no longer an official member of the campaign at the time of the warrant it is likely that he had kept contact. All internal communication that Page had access to was thereby also accessible for at least some people who tried to prevent a Trump election victory.
One must wonder if the FISA warrant and eavesdropping on Page was the only one related to the Trump campaign.
One may (like me) dislike Trump and the Republican party and all they stand for. But this looks like an extremely dirty play by the Democrats and by the Obama administration far outside of any decency and fairness. The Steele dossier is obviously made up partisan nonsense. To the use it for such a FISA warrant was against the most basic rules of a democratic system. It probably broke several laws.
There are still many questions: What was, exactly, the result of the surveillance of Carter Page and the Trump campaign? Who was getting these results – officially and unofficially? How were they used?
I am pretty sure now that more heads of those involved will role. Some of the people who arranged the scheme, and some of those who tried to cover it up, may go to jail.
If Trump and the Republicans play this right they have practically won the next elections.
http://www.moonofalabama.org/2018/02/memo-democrats-made-up-evidence-enabled-eavesdropping-on-trump-campaign.html
Nunes memo questions role of Trump dossier in FBI probe
The memo makes the case that the secret national security court was kept in the dark by the FBI and DOJ when they sought and secured a surveillance warrant for the Trump campaign and Carter Page;
Catherine Herridge goes in-depth for 'Special Report.'
Nunes addresses the release of the memo and the fallout
FISA memo contains major federal felonies, says ex-FBI official Kallstrom
FISA memo revelations mark a sad day for the FBI: Jason Chaffetz
FISA memo release poses no security risk: Lt. Col. Oliver North
CNN – WH deputy press secy: We welcome Dem memo info
White House Principal Deputy Press Secretary Raj Shah tells CNN's Erin Burnett he expects Deputy Attorney General Rod Rosenstein to continue on in his role and that no changes are expected in the Department of Justice.
DOJ needs to be investigated by special counsel: Rep. Jordan
Rep. Jim Jordan (R-Ohio) on the Democratic version of the FISA memo and the history behind the intelligence memo and Trump dossier.
All Americans should be concerned with FISA memo: Rep. Gaetz
Rep. Matt Gaetz (R-Fla.) on the released Republican FISA memo and the anti-Trump dossier.
Rep. Pete King: FISA memo should lead to public hearings
Gregg Jarrett: Criminal Acts by Deep State Could Get 10 Years in Prison
France 24 -Trump vs The FBI: What way will public opinion go?
Martin on February 2, 2018 at 10:03 pm said:
Dem congressman: Memo slams FBI to protect Trump
Tucker takes on Rep. Eric Swalwell, who says the Devin Nunes-authored memo is will to sacrifice the reputation of the FBI for politics. But why did the left try so hard to keep the memo from becoming public?
SARA CARTER FULL ONE-ON-ONE INTERVIEW WITH SEAN HANNITY – 02 02 2018
Martin on February 3, 2018 at 12:15 am said:
Rep. Matt Gaetz on the release of declassified FISA memo
Reps. Meadows and Jordan talk revelations in FISA memo
BREITBART – Maher: 'All the Republicans These Days Are Treasonous Rats'
On Friday's broadcast of HBO's "Real Time," host Bill Maher stated Republicans are "treasonous rats" and are patriots of Russia.
Maher said, "[F]orget Groundhog Day, the only large, ratlike creature I'm concerned about is Devin Nunes. This guy — his memo got released today. Of course, it's not fair to single him out, all the Republicans these days are treasonous rats."
He later added, "Republicans, they did not like what the FBI was finding out about Trump. So, like the true patriots they are, of Russia, they attacked the FBI and the Justice Department because they're biased. Yes, because they're in law enforcement, and the Trump crime family commits crimes. So, that's what they are supposed to do. It's like saying the exterminator is biased against the termites."
http://www.breitbart.com/video/2018/02/02/maher-republicans-days-treasonous-rats/
White House official responds to attacks regarding FISA memo
CBC – Russia-probe memo released
NorseRadish on February 3, 2018 at 2:19 am said:
While it would be wrong to call the entire Memogate "boring". Nonetheless, it is difficult to avoid the adjective "unsurprising".
The 0bama administration's penchant for corruption was apparent from its earliest days. At the very least, his acceptance of the Nobel Peace Prize merely for not being Bush 2.0 was a strong indicator of this individual's willingness to tolerate blatant falsehood.
A pair of examples:
Cathy Zoi, 0bama's assistant secretary of energy for energy efficiency and renewable energy, at that time was married to Robin Roy, who owns options on at least 120,000 shares of Serious Materials, a (supposedly) leading manufacturer of energy-efficient windows.
Despite how much larger window manufacturers like Andersen and Pella (both billion dollar corporations) offer the exact same fenestration accouterments—without managing to misstate their products' ability to reduce energy consumption—Serious Materials posted such blatantly false claims as how "consumers could cut their home energy bills by 40% to 50% with replacement windows alone (it's really more like 7% to 15%, according to Consumer Reports)".
Please note how, with annual sales of $20–$50 million, Serious Materials does not even appear on the 2016 list of Top 100 North American window manufacturers.
Yet, mysteriously enough, this puny company magically qualified for a $500,000 stimulus tax credit and was given a shout-out by 0bama in a March 2009 speech.
But wait, there's (much) more!
Let's examine Oklahoma billionaire George Kaiser, a key "bundler" (of smaller donations)—which amounted to between $50,000 and $100,000 for 0bama's first run at the Oval Office.
From: The Solyndra Scandal Charity, Tax Loopholes, and Billionaire George Kaiser
But last fall Kaiser began attracting the media's attention, and since then he has become a central figure in the escalating Solyndra scandal. Kaiser was the largest shareholder in Solyndra, the bankrupt solar panel company that got a $535 million Energy Department loan guarantee through the American Recovery and Reinvestment Act, better known as "the stimulus." The government must now assume Solyndra's debt, which will likely never be repaid.
Congress is exploring why the doomed loan was made and if it's connected to the fact that Kaiser—listed by Forbes as the 31st richest person in the United States, and whose foundation owned one-third of Solyndra—raised between $50,000 and $100,000 for Obama in the 2008 presidential race. It's been suggested that Kaiser, ever seeking a boost for his hometown, may have used his political contributions to help secure the construction of a Solyndra plant in Tulsa. (Tulsa World, Oct. 2, 2011) Government documents suggest the White House exerted pressure to rush approval of the loan guarantee in 2009 despite evidence that the company was failing.
With a 36 percent stake, that made Kaiser's foundation the largest investor.
In an exceedingly rare instance of wise governance by Bush 2.0, his advisers persuaded him to deny any government funding to Solyndra. This only lends a greater degree of suspicion with regard to why 0bama green-lighted this venture with such unbecoming haste.
Particularly sad is that Solyndra's original concept was somewhat innovative. Instead of flat panels, their solar cells were tubular so that they could intercept sunlight at angles approaching 45 degrees. Incidentally (so to speak), the downside to this form factor was that it required custom-designed CVD (Chemical Vapor Deposition) reactors to coat the interiors of these tubular modules. When push came to shove (i.e., bankruptcy), these astronomically expensive and task-specific coating systems had, literally, ZERO resale value. After all, who else was mass-producing tubular solar cells?!?
Secondly, with the relative popularity of "snow roof coatings" (i.e., the bright white polymer top-coat on many large warehouses and even some residential homes), the Solyndra arrays were able to intercept light reflected back up to the underside of these same tubular cells. However, this seemingly inventive approach to energy harvesting suffered from how rain and dew tended to "wash" particulate matter (i.e., dust) to the tube's underside, thereby obstructing incoming light reflected by the roof. Additionally, there also was a discouraging up-front cost of snow coating the roof before any installation could begin.
Nonetheless, there was trouble from the beginning. Despite widespread industrial property vacancies in the Fremont, California area where Solyndra was based, they opted to do a "ground-up" construction of their fabrication facility. Known (for its extravagance) among local developers as "The Taj Mahal", their factory featured such costly amenities as digital temperature controls for employee showers. In fact, this one project consumed most of the $535M DOE loan.
Of far greater consequence was Solyndra's voluntary and fatal overstatement (curiously similar to that of Serious Materials) with respect to their solar arrays' energy conversion efficiency rates. Their design used CIGS (Copper Indium Gallium Selenide) coatings—more commonly known as "amorphous thin film" technology—as opposed to the more common and much higher (+18%) efficiency of polycrystalline wafer, thin-film flat panel configurations.
They misrepresented their product's energy conversion rates (sometimes quoted in the double-digit range of over 10%) even as they languished in the 6%–8% realm. This caused their $3–$6 dollar per Watt product cost to falter badly against Red China's (admittedly, heavily subsidized) dollar per Watt sale price.
Additionally, Solyndra's business model was based upon expectations of continuing high prices for polysilicon—whose recent shortage had caused a global near-panic (to the point where Communist China encouraged ruinous, domestic overproduction)—the prices for which immediately plummeted due to that same oversupply.
Even the most raw marketing greenhorn could have predicted which corner of the profit–and–loss graph Solyndra's revenues were headed for. Yet, somehow, 0bama and his crew of financial high-technology geniuses managed to shell out over half-a-BILLION dollars to this overspending and unproven venture.
Finally, George Kaiser was brazen enough to request that his investments were recompensed before Solyndra's asset liquidation was assigned over to government receivership. This was a shameless attempt to circumvent federal law which requires that recovered monies are first directed to the public coffers.
The foregoing summaries are just two examples of the pervasive corruption that 0bama countenanced during his (earliest) time in office. I will leave it to your own imaginations just how much such a mare's nest of filthy cronyism permeated this past administration.
However appropriate the term may be (and no thanks to 0bama), "deep state" doesn't even come close to limning out the depth of deceit and anti-Constitutional intrigue that continues to plague America's federal government.
To close, all patriotic Americans can only heave a gigantic sigh of relief that 0bama 2.0 Hillary Clinton was denied any seat in the Oval Office. The prospect of this hyper-ventilating, 0bama-clone, Socialist assuming executive authority over the United States is enough to make any sane person's blood run cold.
yucki on February 5, 2018 at 2:39 am said:
While it would be wrong to call the entire Memogate "boring"…
Tell ya the truth, I am kinda bored.

redpajama_set_name: RedPajamaCommonCrawl


text:
Apple macOS 10.15 Is Now Officially macOS Catalina; Comes With New Sidecar Feature And Apps
John Law June 4, 2019 42 0	2.3K reads
Earlier today, Apple spoke at length about macOS Catalina, now the official name of macOS 10.15. Like the rest of its presentation, the fruit company had made several updates to the new version of the OS, plus the addition of some new features.
Firstly, iTunes is officially dead. In its place, and as per earlier reports, the archaic program has now been replaced with three new apps; Apple Music, Apple Podcast, and Apple TV. The overall design of the Apple Music app is clean, and like Spotify, it even has a sidebar that displays different categories, such as your personal library, playlists you've created. Even music that the app curates for you based on your taste in music.
More importantly, Apple has redesigned the Sync function on Apple Music; the function has now been relegated to the sidebar (within the Finder tab), and won't automatically try to sync your music and files. Just like the old iTunes app did.
Apple Podcast is more or less similar to Music, save for one differentiating detail. With Podcast, Apple is using machine learning to help users to organise their podcast choices, making them easy to search for in the process.
Regarding the new Apple TV for Catalina; the new app sports cleaner and more streamlined design. On top of that, the app also supports 4K HDR playback, either in HDR 10 or Dolby Vision. As an extra added bonus, Apple has also included support for Dolby Atmos, and all of this will be "rendered right out of your Mac's speakers". On that note, it sounds as though this feature would be better off paired with a compatible surround sound system.
Moving on, one of the latest and most impressive features to Catalina is Sidecar. Simply put, Sidecar allows Mac users who own the latest iPad to transform the latter into a second display for the Mac PC. The feature effectively opens up a whole new field of interaction with the two devices. For example, if you have an Apple Pencil, you can simply use the iPad as a tablet input for the Mac. The best part about the feature? The connection between the devices are remote, which means that you don't need even need to use a cable to connect the two.
Catalina will also come with full-on voice control, where you can literally control and dictate your actions on Mac and iOS entirely with your voice. The video demonstration shows that an accessibility feature that looks pretty surgical; besides punctuating your comments, you can also command the feature to display options by numbers, and actually say out loud actions that a normal person would perform (e.g. long-press, copy, cut, paste, etc.)
Security was also a subject (unsurprising) for Catalina, with Apple announcing an new tracking feature called Find My and Activation Lock. The name of the feature are pretty self-explanatory; Find My basically allows your device to send a Bluetooth beacon, which then lets Apple make an end-to-end encryption to a mesh network of other Apple device of your choosing. In order to help you locate your device. Activation Lock on Mac works much like its iOS counterpart; it basically renders a Mac device useless to the thief.
One last announcement of Catalina isn't so much a feature, and more of a long-term development is Project Catalyst. To condense it all, Project Catalyst will allow developers to create apps that are made for the iPad, for macOS. From what we can see, it looks like a move by Apple to slowly but surely unify all of its products under one single, unifying OS. Which is ironic, given the number of different operating systems it announced during its keynote.
John Law
A hardware enthusiast who just can't seem to stop playing around with PC components and consumer tech devices. Also has a very unearthly love for tea. No seriously, it's very unearthly.
Tags Apple macos 10.15 macos catalina sidecar WWDC 2019
US President Donald Trump Expresses Disappointment Towards Apple
Heirul Kamel 4 days ago
Rack Mount Apple Mac Pro Now Available For Malaysia: Full-Spec Setup Costs Almost RM 240,000
Chief Chapree 4 days ago
New Apple MacBook Rumoured To Be In The Pipeline
John Law 5 days ago
Apple Announces Replacement Program for iPhone XS, XS Max, and XR Smart Battery Case
Chief Chapree 1 week ago
Apple Patent Suggests Using Coloured Backlighting To Provide Feedback
Alleged Apple iPhone SE2 Renders Leaked Online
Heirul Kamel 2 weeks ago
Apple Is Rumoured To Announce A Gaming-Centric MacBook or iMac At WWDC 2020
Apple Sued For Heart Technology Patent Infringement On Apple Watch


text:
Faces of Menlo
Dr. Janesta Noland – new kind of practice, old-fashioned child-rearing advice
by Linda Hubbard on July 13, 2010
There have been a number of siren songs in Dr. Janesta Noland's life. While she grew up thinking she'd become a physician – her father was a doctor, her mother a nurse and grandfather a small town doc – she gravitated toward the classics during her undergraduate years at Stanford.
"I was all set to pursue a graduate degree in that area when it hit me that I'd end up making a pittance just to publish papers explaining the meaning of one word within some Greek tragedy," she laughs.
So it was back to medicine where she found herself drawn to critical care. But her path was again altered, this time toward primary care and eventually pediatrics.
"The adrenaline rush and intellectual stimulation of critical care/ICU is undeniable," she says. "But in patient consultations, I found myself paying as much attention to the children in the room as the adult I was treating. Plus my husband's career is pretty intense and I realized we couldn't both have high intensity jobs and also a raise a family."
Janesta joined the pediatric staff at Menlo Medical Clinic following her residency. Two years ago she was one of three pediatricians to found the first exclusively pediatric concierge service on the Peninsula – Burgess Pediatrics in Menlo Park. The practice, with its more limited patient load, provides well and illness care from birth through college graduation.
"When we started doing this, I didn't know how much I would like it and how satisfying it would be," she says. "The deeper relationships we form are so meaningful."
When talking with a pediatrician, it's natural for the conversation to shift to parenting now versus parenting 30 years ago. Janesta is quick to acknowledge how much it's changed.
"I let my own kids (she has three, age 10 and under) play by themselves [in age-appropriate settings] and run barefoot in the summertime," she says, "and this really surprises people today.
"From what I've observed, with children under five, the vast majority of parents feel they're remiss if they are not guiding the child every waking moment. There's been a shift away from letting kids play independently and creatively. But kids need to look at and react to the world around them in their own way and time. When we do everything for them and book them 24/7, that doesn't happen.
"So one of the things I do as a pediatrician is to counsel parents to chill out and embrace the joys of childhood. Yes, kids are going to fall down, stumble, get bruised. But letting them experience the world around them on their own also allows them to be self-sufficient and develop the coping skills that makes them successful adults."
Photo by Chris Gulker
MIchelle TItus July 13, 2010 at 9:25 am
So refreshing! Common sense parenting, relational doctoring and letting children be children. Hats off to you Dr. Noland!


text:
Q: What could be the better way here than to split the string in a loop? I have a string:
FeatureName:Height-FeatureValue:1-vmin:1-max:20000-pricing-row-,
FeatureName:Width-FeatureValue:1-vmin:1-max:20000-pricing-row-,
FeatureName:ChannelCount-FeatureValue:23-vmin:234-max:0-pricing-row-,
FeatureName:Height-FeatureValue:1980-vmin:17-max:20000-pricing-row-,
FeatureName:Width-FeatureValue:230-vmin:234-max:987-pricing-row-
FeatureName:ChannelCount-FeatureValue:98-vmin:2834-max:0-pricing-row-

What is the best way possible to convert this string into an object that has 3 keys: Height , Width , ChannelCount and corresponding to each key, there are corresponding values, such as :
   Width => [
              {'FeatureValue' : 1 , 'vmin' : 1 , ...} ,
              {'FeatureValue' : 230 , 'vmin' : 234 , ...}
             ]

and so on for Height and ChannelCount.
I was trying to split the string, then run multiple loops and within the loop again splitting the string. What could be better way here? It will be best, if an approach with regex could be followed.

A: Splitting (ie parsing) this string by splitting it multiple times is not a bad solution.
However if you want to use regex, start by splitting your input into individual lines by splitting on ",".
Then for each line of your input, parse the line into its component pieces using this regex:
var s = 'FeatureName:Height-FeatureValue:1-vmin:1-max:20000-pricing-row-';
var ar = /([^-]+)-([^-]+)-([^-]+)-([^-]+)-(.+)/.exec(s);

ar[1] through ar[5] contains the component pieces, e.g.:
  'FeatureName:Height',
  'FeatureValue:1',
  'vmin:1',
  'max:20000',
  'pricing-row-'

Optionally, this regex will further split each line into each of its component pieces:
var ar = /([^:]+):([^-]+)-([^:]+):([^-]+)-([^:]+):([^-]+)-([^:]+):([^-]+)-(.*)/.exec(s)

for instance:
'FeatureName',
  'Height',
  'FeatureValue',
  '1',
  'vmin',
  '1',
  'max',
  '20000',
  'pricing-row-',

Hopefully you can use these regexs to refine your solution.

redpajama_set_name: RedPajamaStackExchange


text:
Cycladic vase painting was a regional style of Greek vase painting, produced in the Cycladic islands.

Especially in its early and middle phases, the Geometric vase painting of the Cyclades was strongly influenced by Attic vase painting. In the late Geometric phase, there is evidence for workshops on Naxos, Thera, Paros and Melos that had developed their own stylistic forms in terms of material, vase shapes, and ornamental decoration. This was followed by a considerable duration of the Subgeometric style, before Orientalising vase painting became dominant. Once that had happened, floral and other ornaments became very popular. There was experimentation with polychrome effects (adding red and white paint), and to a more limited extent with figural motifs (animals and humans). Influences came from Attica and East Greece, rather than from the actual centre of the orientalising style, Corinth.

In the early 7th century BC, several highly innovative groups of potters/painters were active in the Cyclades. These were the Ad Group the Linear Island Group and the Heraldic Group. It is not clear where their production centre or centres were located, scholarly discussion revolves around Paros, Naxos and some smaller islands. Later, the so-called Melian Style became important; the name is misleading as it actually originated from Paros. This style shows a strong Corinthian influence and is characterised by daring ornamental and figural compositions covering the whole vase body. The workshop is best known for its broad and tall grave amphorae, painted with polychrome mythological scenes. Later, Andros produced alabastra in the black-figure technique, in relatively small quantities.

Bibliography
 Thomas Mannack: Griechische Vasenmalerei. Eine Einführung. Theiss, Stuttgart 2002, p. 80f., 88-90. .
 Gerald P. Schaus: Geometrische Vasenmalerei, In: Der Neue Pauly, vol. 4 (1998), cols. 935-938
 Johannes Schwind: Orientalisierende Vasenmalerei, In: Der Neue Pauly, Vol. 9 (2000), cols. 23-26

Ancient Greece in art and culture
Ancient Greek vase-painting styles

redpajama_set_name: RedPajamaWikipedia


text:
ALL MEN BY NATURE DESIRE TO KNOW
(JC Lattès, 256 pages, 2018)
*** SHORT-LISTED FOR THE MEDICIS PRIZE ***
All Men by Nature Desire to Know is the story of the nights of my youth, of my wanderings, my alliances and my heartaches. It is the story of my desire, which became an identity and a struggle.
From Algeria, where she spent her childhood, to Brittany, the birthplace of her mother, and Paris, where she came of age as a mixed-race gay woman, Nina Bouraoui retraces the source of her desire, and love, for women. A source that she knows can never really be found. What matters is the journey toward self-discovery and self-acceptance that she now shares with us through the gift of her luminous language.
Bouraoui interweaves fragments of family history, recollections, and memories into brief chapters loosely labeled "Remembering," "Knowing," and "Becoming." Most vibrant, sensual, and foundational are her memories of her Algerian childhood and adolescence. It is in Algeria that her appreciation of beauty was formed, where she first learned about violence—the violence of history, and the violence directed toward women. Bouraoui already knew that she was different. The expansiveness of those years in Algeria contrasts sharply with the constricted and prejudiced world of her maternal grandparents in Rennes. Violence is present there, too, but of a different kind.
Her family finally resettles in France in the early 1980s. A few years after their arrival, she discovers the Kat, a Parisian lesbian nightclub. Four times a week, and barely eighteen, she goes there alone, waiting, and searching for love. With poignancy but without sentimentality, Bouraoui evokes the women she encounters, so different from the ones she knew in her childhood, and her awkward first attempts at sexual intimacy. During this pivotal period of her life, still ridden with guilt, shame, and unfulfilled longings, she becomes a writer.
With All Men Naturally Want to Know, Nina Bouraoui continues to build on her critically acclaimed autofictional body of work. She sees herself as an architect who, book by book, gives form to a world of exquisite, painful, and deeply personal experiences that she knows are not just her own. Her self-quest remains open ended, beyond labeling, fluid like her prose.
Nina Bouraoui is the author of sixteen novels, including Forbidden Vision (Barrytown Press, 1995), which won the Prix du Livre Inter, Mes mauvaises pensées (Stock, 2005), winner of the Prix Renaudot, and Tomboy (Bison Books-University of Nebraska Press, 2008.) Her works have been translated into fifteen languages, and she has been named an Officier des Arts et des Lettres. After spending the first fourteen years of her life in Algiers (her father is from Algeria and her mother from Brittany), Bouraoui lived in Paris, Zurich, and Abu Dhabi before settling permanently in Paris. She is also known as a songwriter, composing for artists such as Céline Dion.


You be invited t' enjoy a swashbucklin' weekend o' Entertainment in Rhos-on-Sea. You land lubbers will enjoy t' entertainment at this year's event. For Buccaneers, Scallywags and Salty Sea Dogs alike, t' event be free t' attend but any donated doubloons be welcome.
* 2019 dates and times to be confirmed.


text:
package org.fusesource.fabric.agent;

import org.apache.felix.bundlerepository.Resource;
import org.apache.felix.utils.manifest.Clause;
import org.apache.felix.utils.manifest.Parser;
import org.apache.felix.utils.properties.Properties;
import org.apache.felix.utils.version.VersionCleaner;
import org.apache.felix.utils.version.VersionRange;
import org.apache.karaf.features.BundleInfo;
import org.apache.karaf.features.Feature;
import org.apache.karaf.features.Repository;
import org.apache.karaf.features.internal.FeatureValidationUtil;
import org.apache.karaf.features.internal.RepositoryImpl;
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.ZooDefs;
import org.fusesource.fabric.agent.download.DownloadFuture;
import org.fusesource.fabric.agent.download.DownloadManager;
import org.fusesource.fabric.agent.download.FutureListener;
import org.fusesource.fabric.agent.mvn.DictionaryPropertyResolver;
import org.fusesource.fabric.agent.mvn.MavenConfigurationImpl;
import org.fusesource.fabric.agent.mvn.MavenSettingsImpl;
import org.fusesource.fabric.agent.mvn.PropertiesPropertyResolver;
import org.fusesource.fabric.agent.utils.MultiException;
import org.fusesource.fabric.zookeeper.ZkDefs;
import org.fusesource.fabric.zookeeper.ZkPath;
import org.linkedin.zookeeper.client.IZKClient;
import org.osgi.framework.*;
import org.osgi.service.cm.ConfigurationException;
import org.osgi.service.cm.ManagedService;
import org.osgi.service.packageadmin.PackageAdmin;
import org.osgi.service.startlevel.StartLevel;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.*;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URL;
import java.nio.BufferUnderflowException;
import java.util.*;
import java.util.concurrent.*;

public class DeploymentAgent implements ManagedService, FrameworkListener {

    private static final String DEFAULT_VERSION = "0.0.0";
    private static final String FABRIC_ZOOKEEPER_PID = "fabric.zookeeper.id";

    private static final Logger LOGGER = LoggerFactory.getLogger(DeploymentAgent.class);

    private BundleContext bundleContext;
    private PackageAdmin packageAdmin;
    private StartLevel startLevel;
    private ObrResolver obrResolver;
    private Callable<IZKClient> zkClient;

    private final Object refreshLock = new Object();
    private long refreshTimeout = 5000;

    private ExecutorService executor = Executors.newSingleThreadExecutor();
    private DownloadManager manager;

    public DeploymentAgent() throws MalformedURLException {
        final MavenConfigurationImpl config = new MavenConfigurationImpl(
                new PropertiesPropertyResolver(System.getProperties()), "org.ops4j.pax.url.mvn"
        );
        config.setSettings(new MavenSettingsImpl(config.getSettingsFileUrl(), config.useFallbackRepositories()));
        manager = new DownloadManager(config);
    }

    public StartLevel getStartLevel() {
        return startLevel;
    }

    public BundleContext getBundleContext() {
        return bundleContext;
    }

    public PackageAdmin getPackageAdmin() {
        return packageAdmin;
    }

    public ObrResolver getObrResolver() {
        return obrResolver;
    }

    public Callable<IZKClient> getZkClient() {
        return zkClient;
    }

    public void setBundleContext(BundleContext bundleContext) {
        this.bundleContext = bundleContext;
    }

    public void setPackageAdmin(PackageAdmin packageAdmin) {
        this.packageAdmin = packageAdmin;
    }

    public void setStartLevel(StartLevel startLevel) {
        this.startLevel = startLevel;
    }

    public void setObrResolver(ObrResolver obrResolver) {
        this.obrResolver = obrResolver;
    }

    public void setZkClient(Callable<IZKClient> zkClient) {
        this.zkClient = zkClient;
    }

    public void start() {
        loadState();
        bundleContext.addFrameworkListener(this);
    }

    public void stop() throws InterruptedException {
        executor.awaitTermination(30,TimeUnit.SECONDS);
        bundleContext.removeFrameworkListener(this);
        manager.shutdown();
        executor.shutdown();
    }

    public void loadState() {

    }

    public void saveState() {

    }

    public void updated(final Dictionary props) throws ConfigurationException {
        executor.submit(new Runnable() {
            public void run() {
                Exception result = null;
                try {
                    doUpdate(props);
                } catch (Exception e) {
                    result = e;
                    LOGGER.error("Unable to update agent", e);
                }
                try {
                    IZKClient zk = zkClient.call();
                    if (zk != null) {
                        String name = System.getProperty("karaf.name");
                        String r, e;
                        if (result == null) {
                            r = ZkDefs.SUCCESS;
                            e = null;
                        } else {
                            StringWriter sw = new StringWriter();
                            result.printStackTrace(new PrintWriter(sw));
                            r = ZkDefs.ERROR;
                            e = sw.toString();
                        }
                        zk.createOrSetWithParents(ZkPath.CONTAINER_PROVISION_RESULT.getPath(name), r, ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
                        zk.createOrSetWithParents(ZkPath.CONTAINER_PROVISION_EXCEPTION.getPath(name), e, ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
                    } else {
                        LOGGER.info("ZooKeeper not available");
                    }
                } catch (Exception e) {
                    LOGGER.error("Unable to set provisioning result");
                }
            }
        });
    }

    public void doUpdate(Dictionary props) throws Exception {
        if (props == null) {
            return;
        }
        final MavenConfigurationImpl config = new MavenConfigurationImpl(
                new DictionaryPropertyResolver(props,
                        new PropertiesPropertyResolver(System.getProperties())),
                "org.ops4j.pax.url.mvn"
        );
        config.setSettings(new MavenSettingsImpl(config.getSettingsFileUrl(), config.useFallbackRepositories()));
        manager = new DownloadManager(config);
        Map<String, String> properties = new HashMap<String, String>();
        for (Enumeration e = props.keys(); e.hasMoreElements();) {
            Object key = e.nextElement();
            Object val = props.get(key);
            if (!"service.pid".equals(key) && !FABRIC_ZOOKEEPER_PID.equals(key)) {
                properties.put(key.toString(), val.toString());
            }
        }
        // Update framework, system and config props
        boolean restart = false;
        Properties configProps = new Properties(new File(System.getProperty("karaf.base") + File.separator + "etc" + File.separator + "config.properties"));
        Properties systemProps = new Properties(new File(System.getProperty("karaf.base") + File.separator + "etc" + File.separator + "system.properties"));
        for (String key : properties.keySet()) {
            if (key.equals("framework")) {
                String url = properties.get(key);
                restart |= updateFramework(configProps, url);
            } else if (key.startsWith("config.")) {
                String k = key.substring("config.".length());
                String v = properties.get(key);
                if (!v.equals(configProps.get(k))) {
                    configProps.put(k, v);
                    restart = true;
                }
            } else if (key.startsWith("system.")) {
                String k = key.substring("system.".length());
                String v = properties.get(key);
                if (!v.equals(systemProps.get(k))) {
                    systemProps.put(k, v);
                    restart = true;
                }
            }
        }
        if (restart) {
            configProps.save();
            systemProps.save();
            System.setProperty("karaf.restart", "true");
            bundleContext.getBundle(0).stop();
            return;
        }
        // Compute deployment
        Map<URI, Repository> repositories = new HashMap<URI, Repository>();
        for (String key : properties.keySet()) {
            if (key.startsWith("repository.")) {
                String url = properties.get(key);
                if (url == null || url.length() == 0) {
                    url = key.substring("repository.".length());
                }
                if (url != null && url.length() > 0) {
                    URI uri = URI.create(url);
                    addRepository(repositories, uri);
                }
            }
        }
        Set<Feature> features = new HashSet<Feature>();
        for (String key : properties.keySet()) {
            if (key.startsWith("feature.")) {
                String name = properties.get(key);
                if (name == null || name.length() == 0) {
                    name = key.substring("feature.".length());
                }
                Feature feature = search(name, repositories.values());
                if (feature == null) {
                    throw new IllegalArgumentException("Unable to find feature " + name);
                }
                features.add(feature);
            }
        }
        Set<String> bundles = new HashSet<String>();
        for (String key : properties.keySet()) {
            if (key.startsWith("bundle.")) {
                String url = properties.get(key);
                if (url == null || url.length() == 0) {
                    url = key.substring("bundle.".length());
                }
                if (url != null && url.length() > 0) {
                    bundles.add(url);
                }
            }
        }
        // Update bundles
        updateDeployment(repositories, features, bundles);
    }

    private void addRepository(Map<URI, Repository> repositories, URI uri) throws Exception {
        if (!repositories.containsKey(uri)) {
            manager.download(uri.toString()).getFile();
            FeatureValidationUtil.validate(uri);
            RepositoryImpl repo = new RepositoryImpl(uri);
            repositories.put(uri, repo);
            repo.load();
            for (URI ref : repo.getRepositories()) {
                addRepository(repositories, ref);
            }
        }
    }

    private Feature search(String key, Collection<Repository> repositories) {
        String[] split = key.split("/");
        String name = split[0].trim();
        String version = null;
        if (split.length == 2) {
            version = split[1].trim();
        }
        if (version == null || version.length() == 0) {
            version = DEFAULT_VERSION;
        }
        return search(name, version, repositories);
    }

    private Feature search(String name, String version, Collection<Repository> repositories) {
        VersionRange range = new VersionRange(version, false, true);
        Feature bestFeature = null;
        Version bestVersion = null;
        for (Repository repo : repositories) {
            Feature[] features;
            try {
                features = repo.getFeatures();
            } catch (Exception e) {
                // This should not happen as the repository has been loaded already
                throw new IllegalStateException(e);
            }
            for (Feature feature : features) {
                if (name.equals(feature.getName())) {
                    Version v = new Version(VersionCleaner.clean(feature.getVersion()));
                    if (range.contains(v)) {
                        if (bestVersion == null || bestVersion.compareTo(v) < 0) {
                            bestFeature = feature;
                            bestVersion = v;
                        }
                    }
                }
            }
        }
        return bestFeature;
    }

    private Set<Feature> addFeatures(Collection<Feature> features, Collection<Repository> repositories) {
        Set<Feature> set = new HashSet<Feature>();
        for (Feature feature : features) {
            addFeatures(set, feature, repositories);
        }
        return set;
    }

    private Set<Feature> addFeatures(Set<Feature> set, Feature feature, Collection<Repository> repositories) {
        set.add(feature);
        for (Feature dep : feature.getDependencies()) {
            Feature f = search(dep.getName(), dep.getVersion(), repositories);
            if (f == null) {
                throw new IllegalArgumentException("Unable to find feature " + dep.getName() + "/" + dep.getVersion());
            }
            addFeatures(set, f, repositories);
        }
        return set;
    }

    private void updateDeployment(Map<URI, Repository> repositories, Set<Feature> features, Set<String> bundles) throws Exception {
        Set<Feature> allFeatures = addFeatures(features, repositories.values());
        Map<String, File> downloads = downloadBundles(allFeatures, bundles);
        List<Resource> allResources = getObrResolver().resolve(allFeatures, bundles);

        Map<Resource, Bundle> resToBnd = new HashMap<Resource, Bundle>();

        StringBuilder sb = new StringBuilder();
        sb.append("Configuration changed.  New bundles list:\n");
        for (Resource bundle : allResources) {
            sb.append("  ").append(bundle.getURI()).append("\n");
        }
        LOGGER.info(sb.toString());

        List<Resource> toDeploy = new ArrayList<Resource>(allResources);
        List<Resource> toInstall = new ArrayList<Resource>();
        List<Bundle> toDelete = new ArrayList<Bundle>();
        Map<Bundle, Resource> toUpdate = new HashMap<Bundle, Resource>();

        // First pass: go through all installed bundles and mark them
        // as either to ignore or delete
        // TODO: handle snapshots
        for (Bundle bundle : bundleContext.getBundles()) {
            if (bundle.getBundleId() != 0) {
                Resource resource = null;
                for (Resource res : toDeploy) {
                    if (res.getSymbolicName().equals(bundle.getSymbolicName())
                            && res.getVersion().equals(bundle.getVersion())) {
                        resource = res;
                        break;
                    }
                }
                if (resource != null) {
                    toDeploy.remove(resource);
                    resToBnd.put(resource, bundle);
                } else {
                    toDelete.add(bundle);
                }
            }
        }

        // Second pass on remaining resources
        for (Resource resource : toDeploy) {
            TreeMap<Version, Bundle> matching = new TreeMap<Version, Bundle>();
            VersionRange range = getMicroVersionRange(resource.getVersion());
            for (Bundle bundle : toDelete) {
                if (bundle.getSymbolicName().equals(resource.getSymbolicName())
                        && range.contains(bundle.getVersion())) {
                    matching.put(bundle.getVersion(), bundle);
                }
            }
            if (!matching.isEmpty()) {
                Bundle bundle = matching.lastEntry().getValue();
                toUpdate.put(bundle, resource);
                toDelete.remove(bundle);
                resToBnd.put(resource, bundle);
            } else {
                toInstall.add(resource);
            }
        }

        // Display
        LOGGER.info("Changes to perform:");
        LOGGER.info("  Bundles to uninstall:");
        for (Bundle bundle : toDelete) {
            LOGGER.info("    " + bundle.getSymbolicName() + " / " + bundle.getVersion());
        }
        LOGGER.info("  Bundles to update:");
        for (Map.Entry<Bundle, Resource> entry : toUpdate.entrySet()) {
            LOGGER.info("    " + entry.getKey().getSymbolicName() + " / " + entry.getKey().getVersion() + " with " + entry.getValue().getURI());
        }
        LOGGER.info("  Bundles to install:");
        for (Resource resource : toInstall) {
            LOGGER.info("    " + resource.getURI());
        }

        Set<Bundle> toRefresh = new HashSet<Bundle>();

        // Execute
        for (Bundle bundle : toDelete) {
            bundle.uninstall();
            toRefresh.add(bundle);
        }
        for (Map.Entry<Bundle, Resource> entry : toUpdate.entrySet()) {
            Bundle bundle = entry.getKey();
            Resource resource = entry.getValue();
            InputStream is;
            File file = downloads.get(resource.getURI());
            if (file != null) {
                is = new FileInputStream(file);
            } else {
                LOGGER.warn("Bundle " + resource.getURI() + " not found in the downloads, using direct input stream instead");
                is = new URL(resource.getURI()).openStream();
            }
            bundle.stop(Bundle.STOP_TRANSIENT);
            bundle.update(is);
            toRefresh.add(bundle);
        }
        for (Resource resource : toInstall) {
            InputStream is;
            File file = downloads.get(resource.getURI());
            if (file != null) {
                is = new FileInputStream(file);
            } else {
                LOGGER.warn("Bundle " + resource.getURI() + " not found in the downloads, using direct input stream instead");
                is = new URL(resource.getURI()).openStream();
            }
            Bundle bundle = bundleContext.installBundle(resource.getURI(), is);
            toRefresh.add(bundle);
            resToBnd.put(resource, bundle);
        }

        findBundlesWithOptionalPackagesToRefresh(toRefresh);
        findBundlesWithFramentsToRefresh(toRefresh);

        LOGGER.info("Refreshing bundles:");
        for (Bundle bundle : toRefresh) {
            LOGGER.info("  " + bundle.getSymbolicName() + " / " + bundle.getVersion());
        }

        if (!toRefresh.isEmpty()) {
            refreshPackages(toRefresh.toArray(new Bundle[toRefresh.size()]));
        }

        // We hit FELIX-2949 if we don't use the correct order as Felix resolver isn't greedy.
        // In order to minimize that, we make sure we resolve the bundles in the order they
        // are given back by the resolution, meaning that all root bundles (i.e. those that were
        // not flagged as dependencies in features) are started before the others.   This should
        // make sure those important bundles are started first and minimize the problem.
        List<Throwable> exceptions = new ArrayList<Throwable>();
        LOGGER.info("Starting bundles:");
        for (Resource resource : allResources) {
            Bundle bundle = resToBnd.get(resource);
            String hostHeader = (String) bundle.getHeaders().get(Constants.FRAGMENT_HOST);
            if (hostHeader == null) {
                LOGGER.info("  " + bundle.getSymbolicName() + " / " + bundle.getVersion());
                try {
                    bundle.start();
                } catch (BundleException e) {
                    exceptions.add(e);
                }
            }
        }
        if (!exceptions.isEmpty()) {
            throw new MultiException("Error updating agent", exceptions);
        }

        LOGGER.info("Done.");
    }

    private VersionRange getMicroVersionRange(Version version) {
        Version floor = new Version(version.getMajor(), version.getMinor(), 0);
        Version ceil = new Version(version.getMajor(), version.getMinor() + 1, 0);
        return new VersionRange(false, floor, ceil, true);
    }

    protected void findBundlesWithFramentsToRefresh(Set<Bundle> toRefresh) {
        for (Bundle b : toRefresh) {
            if (b.getState() != Bundle.UNINSTALLED) {
                String hostHeader = (String) b.getHeaders().get(Constants.FRAGMENT_HOST);
                if (hostHeader != null) {
                    Clause[] clauses = Parser.parseHeader(hostHeader);
                    if (clauses != null && clauses.length > 0) {
                        Clause path = clauses[0];
                        for (Bundle hostBundle : bundleContext.getBundles()) {
                            if (hostBundle.getSymbolicName().equals(path.getName())) {
                                String ver = path.getAttribute(Constants.BUNDLE_VERSION_ATTRIBUTE);
                                if (ver != null) {
                                    VersionRange v = VersionRange.parseVersionRange(ver);
                                    if (v.contains(hostBundle.getVersion())) {
                                        toRefresh.add(hostBundle);
                                    }
                                } else {
                                    toRefresh.add(hostBundle);
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    protected void findBundlesWithOptionalPackagesToRefresh(Set<Bundle> toRefresh) {
        // First pass: include all bundles contained in these features
        Set<Bundle> bundles = new HashSet<Bundle>(Arrays.asList(bundleContext.getBundles()));
        bundles.removeAll(toRefresh);
        if (bundles.isEmpty()) {
            return;
        }
        // Second pass: for each bundle, check if there is any unresolved optional package that could be resolved
        Map<Bundle, List<Clause>> imports = new HashMap<Bundle, List<Clause>>();
        for (Iterator<Bundle> it = bundles.iterator(); it.hasNext();) {
            Bundle b = it.next();
            String importsStr = (String) b.getHeaders().get(Constants.IMPORT_PACKAGE);
            List<Clause> importsList = getOptionalImports(importsStr);
            if (importsList.isEmpty()) {
                it.remove();
            } else {
                imports.put(b, importsList);
            }
        }
        if (bundles.isEmpty()) {
            return;
        }
        // Third pass: compute a list of packages that are exported by our bundles and see if
        //             some exported packages can be wired to the optional imports
        List<Clause> exports = new ArrayList<Clause>();
        for (Bundle b : toRefresh) {
            if (b.getState() != Bundle.UNINSTALLED) {
                String exportsStr = (String) b.getHeaders().get(Constants.EXPORT_PACKAGE);
                if (exportsStr != null) {
                    Clause[] exportsList = Parser.parseHeader(exportsStr);
                    exports.addAll(Arrays.asList(exportsList));
                }
            }
        }
        for (Iterator<Bundle> it = bundles.iterator(); it.hasNext();) {
            Bundle b = it.next();
            List<Clause> importsList = imports.get(b);
            for (Iterator<Clause> itpi = importsList.iterator(); itpi.hasNext();) {
                Clause pi = itpi.next();
                boolean matching = false;
                for (Clause pe : exports) {
                    if (pi.getName().equals(pe.getName())) {
                        String evStr = pe.getAttribute(Constants.VERSION_ATTRIBUTE);
                        String ivStr = pi.getAttribute(Constants.VERSION_ATTRIBUTE);
                        Version exported = evStr != null ? Version.parseVersion(evStr) : Version.emptyVersion;
                        VersionRange imported = ivStr != null ? VersionRange.parseVersionRange(ivStr) : VersionRange.ANY_VERSION;
                        if (imported.contains(exported)) {
                            matching = true;
                            break;
                        }
                    }
                }
                if (!matching) {
                    itpi.remove();
                }
            }
            if (importsList.isEmpty()) {
                it.remove();
//            } else {
//                LOGGER.debug("Refreshing bundle {} ({}) to solve the following optional imports", b.getSymbolicName(), b.getBundleId());
//                for (Clause p : importsList) {
//                    LOGGER.debug("    {}", p);
//                }
//
            }
        }
        toRefresh.addAll(bundles);
    }

    protected List<Clause> getOptionalImports(String importsStr) {
        Clause[] imports = Parser.parseHeader(importsStr);
        List<Clause> result = new LinkedList<Clause>();
        for (int i = 0; i < imports.length; i++) {
            String resolution = imports[i].getDirective(Constants.RESOLUTION_DIRECTIVE);
            if (Constants.RESOLUTION_OPTIONAL.equals(resolution)) {
                result.add(imports[i]);
            }
        }
        return result;
    }

    protected boolean updateFramework(Properties properties, String url) throws Exception {
        if (!url.startsWith("mvn:")) {
            throw new IllegalArgumentException("Framework url must use the mvn: protocol");
        }
        File file = manager.download(url).await().getFile();
        String path = file.getPath();
        if (path.startsWith(System.getProperty("karaf.home"))) {
            path = path.substring(System.getProperty("karaf.home").length() + 1);
        }
        if (!path.equals(properties.get("karaf.framework.felix"))) {
            properties.put("karaf.framework", "felix");
            properties.put("karaf.framework.felix", path);
            return true;
        }
        return false;
    }

    protected Map<String, File> downloadBundles(Set<Feature> features, Set<String> bundles) throws Exception {
        Set<String> locations = new HashSet<String>();
        for (Feature feature : features) {
            for (BundleInfo bundle : feature.getBundles()) {
                locations.add(bundle.getLocation());
            }
        }
        for (String bundle : bundles) {
            locations.add(bundle);
        }
        final CountDownLatch latch = new CountDownLatch(locations.size());
        final Map<String, File> downloads = new ConcurrentHashMap<String, File>();
        final List<Throwable> errors = new CopyOnWriteArrayList<Throwable>();
        for (final String location : locations) {
            manager.download(location).addListener(new FutureListener<DownloadFuture>() {
            public void operationComplete(DownloadFuture future) {
                try {
                    downloads.put(location, future.getFile());
                } catch (IOException e) {
                    errors.add(e);
                } finally {
                    latch.countDown();
                }
            }
        });
        }
        latch.await();
        if (!errors.isEmpty()) {
            throw new MultiException("Error while downloading bundles", errors);
        }
        return downloads;
    }

    public void frameworkEvent(FrameworkEvent event) {
        if (event.getType() == FrameworkEvent.PACKAGES_REFRESHED) {
            synchronized (refreshLock) {
                refreshLock.notifyAll();
            }
        }
    }

    protected void refreshPackages(Bundle[] bundles) throws InterruptedException {
        if (getPackageAdmin() != null) {
            synchronized (refreshLock) {
                getPackageAdmin().refreshPackages(bundles);
                refreshLock.wait(refreshTimeout);
            }
        }
    }

}

redpajama_set_name: RedPajamaGithub


I'm thrilled to announce that my debut contemporary romance novel DATING MAGGIE will be published by Limitless Publishing.
A few days ago I signed my contract! It was such exciting news to find a publisher willing to take a chance on my first novel. I'm also so grateful to my beta readers (Nicole and Debbie) for helping me with edits along the way.
I will post updates as I learn more about my next step in the publishing process. Woohoo!
Summer end, I'm ready for fall!
Yesterday I just participated in #pit2pub, a Twitter pitch fest where publishers hop on and favorite book pitches that they'd like to see. This is my third time pitching via Twitter and it's kind of fun and nerve wracking. I was thrilled to get some favorites and submitted a to a few more publishers. Now the wait begins again.
In addition to connecting with publishers and agents, the Twitter contests seem to be a good way to connect with other writers.
I found out about these contests through Heather Ayris Burnell's Facebook Group, Sub it Club. It's been an amazing resource. She recently wrote an article about platform building for writers. It was helpful to me as I'm learning how to do this while submitting my manuscript.
This was an interesting article I found about why rejections sometimes come as form letters. It is written from the prospective of an agent. She receives over 500 queries a week. Reading it made me glad that I don't work as an agent, that's a lot of queries! Read the full article here: Anatomy of a Query Letter.


text:
21 mins ago - Total to Acquire From Adani a 20% Interest in the Largest Solar Developer in the World -
2012 Yingli Workshop Completed Successfully in Hainan, China
July 16, 2012 by Jack	in News	· 0 Comment
Yingli Green Energy Holding Company Limited (NYSE: YGE) ("Yingli Green Energy" or the "Company"), a leading solar energy company and one of the world's largest vertically integrated photovoltaic manufacturers, which markets its products under the brand "Yingli Solar", today announced that 2012 Yingli Workshop (the "Workshop") was completed successfully in Haikou, Hainan province of China on July 13th and 14th, 2012.
The Workshop attracted more than 50 customers, mostly from the Southeast Asia. During the Workshop, the Company introduced its differentiated products and sustainable development strategy. The Workshop also featured a facility tour and an open discussion between attendees and the Company's engineers, which provided attendees with opportunities to learn more about the Company's high automated production lines and state-of-the-art technologies.
"We are pleased at the success of the workshop, which further deepens the relationships between Yingli and our customers in Southeast Asia," commented Mr. Liansheng Miao, Chairman and Chief Executive Officer of Yingli Green Energy. "With abundance sunlight resources, Southeast Asia has grown into one of the most promising solar markets. We expect to continue to expand our market share by working closely with our customers and providing them with differentiated products, technological supports and convenient services."
"We are quite impressed by Yingli's progress in terms of market share, technological advancement and most importantly its quality control where it was ranked number 2 out of 13 competitors in the 2010 TV Rheinland Energy Yield Test. We will not hesitate to recommend or adopt Yingli Solar modules for our projects." commented Albert Lim, Managing Director of SolarGy Pte Ltd, Singapore.
"It was a very well organized workshop and the visit was an eye-opener to Yingli's strength in strategic and financial planning, R&D and foresight in this industry. The superior product quality and 25-year warranty assurance for after sales service support will give tremendous confidence to end-users. Yingli technical team are very experienced and provide an excellent platform for service providers like us to promote and use Yingli's modules in all our projects. We are indeed proud to be Yingli's distributor." commented May Loke, Managing Director of Solarlite Green Energy Sdn. Bhd, Malaysia.
About Yingli Green Energy
Yingli Green Energy Holding Company Limited (NYSE: YGE), which markets its products under the brand "Yingli Solar," is a leading solar energy company and one of the world's largest vertically integrated photovoltaic manufacturers. Yingli Green Energy's manufacturing covers the entire photovoltaic value chain, from the production of polysilicon through ingot casting and wafering, to solar cell production and module assembly. Currently, Yingli Green Energy maintains a balanced vertically integrated production capacity of 1,850 MW per year. Capacity expansion projects of an additional 600 MW in total are under construction in Baoding, Haikou, Tianjin and Hengshui, which are expected to increase the Company's total nameplate production capacity to 2,450 MW by the end of 2012. Yingli Green Energy distributes its photovoltaic modules to a wide range of markets, including Germany, Spain, Italy, Greece, France, South Korea, China and the United States. Headquartered in Baoding, China, Yingli Green Energy has more than 20 subsidiaries and branch offices worldwide. Yingli Green Energy is publicly listed on the New York Stock Exchange (NYSE: YGE). For more information, please visit www.yinglisolar.com.
Clenergy partners on a 30MW ground-mounted PV project in northwest China
SolarLake 15000TL from Samil Power Awards Grade A Tested by Photon Lab


As part of the summer program of Zone2Source, Krijn Christiaansen & Cathelijne Montens (KCCM) researched the history of the Amstelpark, that was established for a horticulture exhibition, the Floriade, in 1972. Many residues of this Floriade are, although sometimes neglected, still visible in the park. Should we simply leave them aside or can they be a point of departure for developing new scenarios?


text:
Q: How insert one data into one collection(userModel) as well as aslo same data insert into another collection(Attendance) in mongodb How insert one data into one collection(userModel) as well as aslo same data insert into another collection(Attendance) in mongodb.How I can do??
one collection userModel
let userSchema = mongoose.Schema({
    'srId': { type: Number },
    'empId': { type: String },
    'empName': { type: String },
    'designation': { type: String },
    'blStartDate': { type: Date },
    'startDateAtCompany': { type: Date },
    'endDate': { type: Date },
    'mobile': { type: String },
    'panCard': { type: String },
    'email': { type: String },
    'dob': { type: Date },
    'empContractSigned': { type: String },
    'offerLetter': { type: String },
    'empFormCsr': { type: String },
    'originalSubmitted': { type: String },
    'password': { type: String },
    'otp': { type: String },
});
let userModel = mongoose.model('userModel', userSchema, 'userModel');
exports.userModel = userModel;

other collection is Attendance
let AttendanceSchema = mongoose.Schema({
    'mobile': { type: Schema.Types.mobile, ref: 'userModel' },
    'time': [{
        'inTime': { type: String },
        'outTime': { type: String },
        'totalTime': { type: String },
        'syncTime': { type: Date, default: Date.now() }
    }]
})

let Attendance = mongoose.model('Attendance', AttendanceSchema, 'Attendance');
exports.Attendance = Attendance;


By using what you have read in this piece, looking your best is always easy. With the advances in technology, you never know when you are being recorded. People take pictures all the time. You should always look your best. Follow the advice below, and you will!