text:
Dell XPS 13 2-in-1 7390 review: A 2-in-1 with the greatness of Dell's XPS 13 laptop
Joshua Goldman
Dec. 4, 2019 12:28 p.m. PT
Editors' note: A firmware update for the Dell XPS 13 2-in-1's built-in fingerprint reader fixes the inconsistent reader performance we experienced while testing. The firmware can be updated using the laptop's preinstalled Dell Update application.
Dell XPS 13 2-in-1 7390
Dell's redesigned premium XPS 13 2-in-1 is an all-around improvement in design, features and performance, making it one of the best in the category.
Memory and storage are onboard and can't be upgraded post-purchase. Dell's active pen is not included and the white model costs extra, too.
With the new XPS 13 2-in-1, Dell finally has a convertible that's just as great as its XPS 13 laptop. Just make sure you get all the components you need up front.
I like the Lenovo Yoga C930. A lot. It's one of the best premium ultraportable two-in-ones you can buy, which is saying something because the category is filled with excellent options. And if you don't care about convertibles, it's still a great choice for use as just a laptop, though you'll miss out on much of its versatility.
I can't heap the same praise on the last-gen XPS 13 2-in-1 we reviewed in 2017. It was underpowered and overpriced, and despite being small, slim and light, it felt clunky in comparison to its competition. The 2019 version, however, is hands down one of the best two-in-ones you can get right now and is worthy of being in the same lineup as its terrific clamshell counterpart. It's still not inexpensive, with prices starting at $1,000 (£1,409 in the UK and AU$2,499 in Australia) and you'll probably want to spend more for increased storage and memory. But at least now the XPS 13 2-in-1 feels like you're actually getting performance and design worth the extra money.
(Insert Distracted Boyfriend meme with me turning away from the C930 to ogle the new Dell.)
So what's changed? Just about everything. Dell moved to a new 13.4-inch display with a 16:10 aspect ratio that's available in a UHD Plus 3,840x2,400-pixel resolution with 500-nit brightness and is HDR400 certified, or with a FHD Plus 1,920x1,200-pixel resolution. I tested the latter, which gets just as bright as the UHD Plus display and has strong color and contrast performance. It's also less expensive and doesn't shorten battery life like the UHD Plus display; the FHD Plus display helped it run for more than 10 hours in CNET's video streaming test.
This is the first Dell to use Intel's 10th-gen 10-nanometer processors, up to the quad-core Core i7-1065G7 in my review system. Combined with the integrated Iris Plus graphics, it outperformed similarly configured laptops we've tested with Intel's eighth- and ninth-gen processors.
Price as reviewed
Display size/resolution
13.4-inch 1,920x1,200-pixel touch display
1.3GHz Intel Core i7-1065G7
16GB LPDDR4x SDRAM 3,733MHz
Intel Iris Plus Graphics
512GB PCIe NVMe x4 SSD
802.11ac Wi-Fi Bluetooth 5.0
Windows 10 Home (64-bit)
Dell credits the laptop's dual-fan cooling system and new internal vapor chambers for helping it get the best performance in such a thin body. The included power-management software lets you quickly choose if you want the system to stay quiet or cool or run at full speed. The XPS 13 2-in-1 did get warm under full load, but its fans generally kept things comfortable and weren't distractingly loud. I also didn't hear any coil whine at any point, which was an issue reported with past XPS 13 models.
While the Iris Plus graphics aren't quite up to entry-level discrete graphics, they were enough for simple video and photo editing tasks and even some light gaming. And yes, you can play Fortnite on it at high settings, though you'll probably want to stick to medium if you want it to be enjoyable.
Dell does offer Core i3 and Core i5 10th-gen processors on this model, but they use less powerful Intel UHD integrated graphics. If you do opt for a lower-priced configuration, make sure you get all the storage and memory you think you'll ever need. Everything is soldered on with this two-in-one, which means you can't add a larger SSD or more RAM in the future -- what you get is what you get.
When open, the XPS 13 2-in-1 looks like nothing but screen and keyboard.
Small, slim and sturdy
Not being able to upgrade your storage and memory is going to be a deal breaker for some, especially since it likely means spending more up front. But if you're still on board, you'll likely be pretty happy with the rest of the package. Dell seems to have shaved off every last available millimeter of the chassis to get the XPS 13 2-in-1 as small as possible.
Dell used an incredibly small camera module so it could squeeze it in above the display without increasing the bezel size. Even the way the hinges punch into the bottom of the display frame make it look trimmer, particularly in tablet mode. The XPS 13 2-in-1 supports pen input and Dell's active pen can magnetically attach to the body's right side or over the Dell logo on the lid. The pen is extra at $100, but is frequently on sale.
The aluminum body is so densely packed that it feels incredibly solid and, assuming it holds up like the clamshell version, will stand up to the abuse of a life of coffee shops, seat-back tray tables and whatever else you call an office day in and day out. The two-in-one starts up instantly when you open it, too, even when it's completely powered down. Just lift the lid and it comes to life and you're in Windows in a matter of seconds.
An optional fingerprint reader is available that's part of the power button at the top right of the keyboard. When I first tested the reader, its performance was inconsistent, but a firmware update has since fixed this and it now works reliably. The MagLev switches give the keys a pleasing pop and while the shallow travel doesn't feel great, it's still a good experience overall. The large Windows Precision glass touchpad didn't disappoint either with smooth, jitter-free performance.
Thinking about it now, there is one other thing that might turn you off and that's the port assortment. Like a lot of premium ultraportables, you only get USB-C ports on the body. There are two -- one on each side -- and they're Thunderbolt 3 and both can be used for power. Dell does include a USB-C-to-USB-A dongle, though, and the two-in-one also has a headphone/mic jack and microSD card slot.
Watch this: Dell XPS 15 and 13 2-in-1 bring OLED and HDR
The ultraportable 2-in-1 to beat
With the new XPS 13 2-in-1, Dell finally has a convertible that's just as great as its XPS 13 laptop. I haven't tested Lenovo's Yoga C940 yet, which uses the same 10th-gen Intel processors but is a more modest update than Dell's overhaul of the XPS. For the moment, though, if you want a more powerful, ultraportable two-in-one, put this at the top of your list. Just make sure you get all the storage and memory you need up front.
Geekbench 4 (multicore)
Dell XPS 13 2-in-1 7390 17,544Apple MacBook Pro (13-inch, 2019) 16,949Lenovo Yoga C930 13,978Dell XPS 13 (2019) 13,833Microsoft Surface Laptop 2 11,983
Cinebench R15 CPU (multicore)
Dell XPS 13 (2019) 738Dell XPS 13 2-in-1 7390 733Apple MacBook Pro (13-inch, 2019) 647Lenovo Yoga C930 635Microsoft Surface Laptop 2 589
Notes: Longer bars indicate better performance (in minutes)
Video playback battery drain test (streaming)
Lenovo Yoga C930 746 Microsoft Surface Laptop 2 671Apple MacBook Pro (13-inch, 2019) 632Dell XPS 13 2-in-1 7390 607Dell XPS 13 (2019) 509
Microsoft Windows 10 Home (64-bit); 1.3GHz Intel Core i7-1065G7; 16GB DDR4 SDRAM 3,733MHz; 128MB (dedicated) Intel Iris Plus Graphics; 512GB SSD
Microsoft Windows 10 Home (64-bit); 1.8GHz Intel Core i7-8550U; 12GB DDR4 SDRAM 2,133MHz; 128MB (dedicated) Intel HD Graphics 620; 256GB SSD
Dell XPS 13 (2019)
Microsoft Windows 10 Home (64-bit); 1.6GHz Intel Core i5-8250U; 8GB DDR4 SDRAM 1,866MHz; 128MB dedicated Intel UHD Graphics 620; 256GB
Apple MacBook Pro (13-inch, 2019)
Apple MacOS Mojave 10.14.5; 1.4GHz Intel Core i5-8257; 8GB DDR3 SDRAM 2133MHz; 1536MB Intel Iris Graphics 645; 256GB SSD
Originally published Oct. 25
Update, Dec. 4: Adds information about firmware update.
Design 10Features 8Performance 9Battery 8


This nature-packed Byway is a winding drive between the towns of Payson and Nephi. The road climbs 9,000 feet and crosses the Uinta-Wasatch-Cache National Forest providing stunning views of Utah Valley. The surrounding Wasatch and dramatic wrap-around vistas of 11,928-foot Mt. Nebo, make it the highest peak in the rugged and beautiful Wasatch Range.
Nebo Loop is a designated National Scenic Byway by the Federal Highway Administration, recognizing it as one of the premier driving roads in America. The Byway has many photo opportunities with beautiful mountain greenery and wildlife viewing. This drive packs a colorful punch in the fall and is worth seeing again and again.


47.5 Wentworth 3 section houses - ?
48.28 Carnes Formerly known as Helena Depot - ?
54.23 Young Depot - ?
67.75 Fanning Warehouse - ?
69.8 section house - ?
70.95 Baxterville Jct Coney Lumber spur Depot - ?
72.60 Ewing Lumber shed - ?
79.78 Pinebur Depot - ?
81.09 Nason depot - ?
82.99 Hub wye Depot - ?
97.6 Expose depot - ?
100.32 Goss Depot - ?
103.30 Hathorn Depot - ?
2 seed houses - ?
113.08 Arm Depot - ?
116.15 Campbell Depot - ?
6 section houses - ?
129.33 New Hebron Depot - ?
4 seed houses - ?
133.97 Shivers Depot - ?
134.60 Mangrum 3 section houses - ?
138.94 Bush Depot - ?
145.41 Merit also spelled Merritt. Previously Burnham. Depot - ?
148.52 Mendenhall depot rumored to have been moved to land near where Pinola building currently located.
89.4 Sandyhook frame depot - ?
100.04 Jamestown hot box detector - ?
186 Capitol Yard yard office - ?
65.11 Eret Platform 16x16 - ?
240 Loohatan warehouse - ?
machine shop 26x40 - ?
Union depot (blt 1919) - still standing 2017 as museum with caboose and motorcar.


text:
Nepa cinerea (la nèpe ou nèpe cendrée), est une espèce d'insectes hétéroptères, une grande punaise aquatique de la famille des Nepidae, de la sous-famille des Nepinae et du genre Nepa.

Description

Le corps est aplati, ovale allongé, de couleur brune, avec le dos de l'abdomen pouvant être rouge. Les antennes courtes sont abritées dans des fossettes entre la tête et le thorax, et le rostre, segmenté, est court. Les pattes antérieures sont ravisseuses, avec le tibia qui se replie sur le fémur, alors que les deux autres paires ne présentent pas d'adaptation particulière à la nage. Les antennes ne sont pas visibles, et le rostre est assez court, segmenté. La tête, petite et fortement enclavée dans le bord antérieur du pronotum, ne comporte pas d'ocelles. Les yeux sont petits mais proéminents. L'espèce est très variable. Sa taille atteint  sans les appendices (pattes, antennes et siphon). La distinction avec les autres espèces de Nepa se base principalement sur l'analyse des organes génitaux des mâles. Une variabilité morphologique a été constatée, avec des tarses postérieurs plus longs et un corps plus grand lorsque les plantes aquatiques sont moins abondantes dans le milieu.

Répartition et habitat
On rencontre cette espèce dans toute l'Europe, en Afrique du Nord à l'ouest jusqu'à l'est de la Chine et la région de l'Amour en Sibérie.

On la rencontre dans les étangs et étendues d'eau peu profondes (mais elle peut également se retrouver accidentellement dans des piscines). On la rencontre également dans des cours d'eaux calmes et des canaux. Elle préfère les milieux ombragés, avec une végétation modérément dense et des branches submergées.

Nepa cinerea a également été retrouvée dans trois grottes à eau sulfureuse du Latium en Italie. Tous les stades de juvéniles et des adultes, ainsi que des accouplements, ont été observés, à tous les mois de l'année, ce qui témoigne d'une présence non accidentelle. Elles s'y nourrissent d'Asellidae (crustacés Isopodes, c'est-à-dire cloportes). De ce fait, elle rejoint l'espèce voisine Nepa anophthalma, découverte dans l'une grotte de Movile en Roumanie comme espèce stygobionte.

Biologie

Prédation
Cette punaise est prédatrice de vers aquatiques, d'insectes aquatiques (larves ou adultes), de petits crustacés, et peut même se saisir d'alevins. Sa capacité à manger des larves de moustiques fait d'elle un potentiel moyen de lutte biologique contre ceux-ci. Elle chasse à l'affût, immobile, en attendant que les proies passent à sa portée, qu'elle attrape avec ses pattes antérieures, et qu'elle pique avec son rostre, lui injectant une salive toxique et digestive, qui lui permet ensuite d'aspirer les sucs digérés. Ses déplacements sont lents et sa couleur lui permet de passer inaperçue dans les zones vaseuses encombrées de débris végétaux qu'elle affectionne.

S'il est saisi, l'animal peut mordre et générer une douleur similaire à celle d'une piqûre de guêpe, mais qui durera moins longtemps.

Système respiratoire
La nèpe a une respiration trachéenne. Elle respire par l'intermédiaire d'un siphon caudal qui conduit l'air directement aux trachées, en remontant périodiquement à la surface. L'air est stocké entre les ailes et l'abdomen par des poils hydrofuges. Elle peut ainsi respirer y compris sous la glace, en hiver, en cherchant les bulles d'air, voire hiverner, en ralentissent son métabolisme.

Mode de déplacement
Si la nèpe est le plus souvent dans l'eau, près de la surface et des rives ou de débris flottants (dû à son besoin de revenir chercher de l'air), l'animal sait aussi très bien marcher sur la terre ferme, ce qu'elle fait fréquemment au printemps pour la saison des amours.

Bien qu'elle passe l'essentiel de son temps dans l'eau, l'absence de pattes natatoires est une limite à son bon déplacement, c'est dans cette idée qu'elle effectue plutôt des mouvements dits « pédibus ».

Vol

Enfin, la nèpe sait aussi voler, contrairement à ce que l'on pourrait en attendre, mais ce vol est rarement observé. En effet, l'animal utilise cette capacité pour passer d'étangs à étangs. Avant de s'envoler, après être sortie de l'eau, elle enlève l'eau de son corps avec ses pattes arrière, elle cherche un endroit ensoleillé, elle se laisse sécher et réchauffer, elle replie ses pattes avant le long de son pronotum, elle plie celui-ci en avant, laissant apparaître une zone noire entre celui-ci et le scutellum, et elle procède à un mouvement de pompe avec l'abdomen pour chauffer son corps, puis elle ouvre ses ailes et s'envole. L'envol peut se faire soit plus ou moins horizontalement, soit plus verticalement.

Cycle de développement
La reproduction a lieu au printemps. Le mâle se met à côté de la femelle, qu'il accroche avec son tibia antérieur sur l'arrière du pronotum, avec sa patte médiane à la partie postérieure de l'abdomen. Il tord son abdomen de manière à placer la face dorsale du dernier segment abdominal, avec les organes reproducteurs, sous celui de la femelle. Lors de la ponte, celle-ci accroche ses œufs à des plantes aquatiques près de la surface. Ils respirent grâce à des processus respiratoires en forme de filaments. Les juvéniles ressemblent aux adultes, mais n'ont pas d'ailes ni de siphon respiratoire, qui apparaissent à la dernière mue, au stade adulte.

Génétique
Nepa cinerea présente 33/36 chromosomes, soit 14 paires d'autosomes (chromosomes non sexuels) et un système de chromosomes sexuels multiples, X1X2X3X4Y chez le mâle, et  X1X1X2X2X3X3X4X4 chez la femelle. Certains chromosomes présentent des télomères en séquence répétée TTAGG.

Une variabilité génétique importante a été rencontrée entre les différentes espèces du genre, ainsi qu'entre des individus de l'ouest de la Méditerranée associés à N. cinerea et à N. sardiniensis.

Parasites

Plusieurs parasites ont été retrouvés chez cette espèce. Raymond Poisson et J. J. Lipa mentionnent

 Leptomonas jaculum (Léger, 1902) (Protiste Trypanosomatidae),
 Coleorhynchus heros (Schneider, 1885) (Apicomplexa, Actinocephalidae) et Barrouxia ornata Schneider, 1886 (Apicomplexa, Eimeriidae),
 Nosema nepae Poisson, 1928 et Nosema bialoviesianae J.J.Lipa, 1966 (Fungi, Nosematidae)
 Thelohania nepae J.J.Lipa, 1966 (Microsporidiomycota, Thelohaniidae)
 Bradynema nepae Poisson, 1933 (un nématode Allantonematidae)
 les hyménoptères Prestwichia aquatica Lubbock, 1864 (Trichogrammatidae) et Thoron sp. (Scelioninae) qui parasitent les œufs
 divers espèces d'Hydrachnidia (Acariens).

Systématique
L'espèce a été décrite par le naturaliste suédois Carl von Linné en 1758, et constitue l'espèce type du genre Nepa. La confusion a longtemps régné avec N. rubra, avant que cette dernière ne soit définitivement synonymisée à la suite d'une recherche et de la demande de I. Kerzhner.

Cette espèce appartient à un complexe d'espèces qui comprend également N. anophthalma et N. sardiniensis.

Synonymie
Plusieurs taxons et formes ont été décrits au fil du temps, et aujourd'hui considérés comme des synonymes :

Voir aussi

Articles connexes
 Lethocerus
 Nepa
 Nepini
 Nepinae

Liens externes

Notes et références

Hémiptère (nom vernaculaire)
Nepidae
Taxon décrit en 1758

redpajama_set_name: RedPajamaWikipedia


Information: The MARINERG-i (H2020) project, a key initiative created to develop an integrated European infrastructure to facilitate the future growth and development of the marine renewable energies sector, was presented in Brussels on the 15th of March 2017. Senior EU representatives with responsibility for research and development of offshore renewable energies gathered for the official launch. Also attending were industry representatives for whom the integrating activity of MARINERG-i will play a critical role in the process of developing technologies from concept through to market. The official launch event highlighted the importance of the MARINERG-i project as a first essential in realising the partnering facilities' combined vision to form an independent legal entity and be adopted onto the European Strategy Forum on Research Infrastructures (ESFRI) roadmap in 2020.


text:
November 14, 2014 Food & Drink
Personal History of Beer
Josip Novakovich
My first taste of beer, like of coffee, was so disgusting that I never imagined that I would actually like it later on. When I was 12, my mother worked in the garden on a hot summer day, and asked me to help her. We were both sweating, and she said, Son, there's only one thing that works to cool you off on a day like this. Beer. Go to the corner store and buy two half liter beers. I was a bit surprised as my mother was a strict Baptist, but I guess beer didn't count as alcohol. After all, 95% of it was not alcohol. And when I had a taste of it, I said, This is awful, so bitter. Maybe, she said, but have a couple more sips, and you will cool off. So it's medicinal?
After that, I contemptuously watched the elderly drunks, both fat and thin, who sat all over the town of Daruvar and drank beer all day long. Until then, I was kind of intrigued, thinking there must be something good in beer, but now, I looked at them with astonishment. So, this is what they live for, to drink that bitter shit?
I swore I would never drink it again. Anyhow, ten years later, at the age of 22, I had just arrived in Eindhoven, after flying from JFK to Amsterdam, from where I would hitchhike to Stuttgart, where my sister lived. When I walked into a supermarket in Eindhoven, I laughed at 3 young men who had filled their cart with Grolsches. You are getting nothing else but just beer? I asked. What else do we need? Bier ist Nahrung, said one guy, a tall German. This is a complete set of groceries for the night, said an Englishmen. Anyway, you are welcome to join us. I was impressed by the patented bottles which opened with a pop, and somehow, because I was hungry and thirsty, the beer immediately tasted good, scratching my throat amiably. And so we drank Grolsches all night, and covered the history of Europe since Franco-Prussian wars, and when the German was completely drunk, he wept because it was so damned embarrassing to be German.
In the morning, not feeling all that great, I hitchhiked to Koeln, and there, hopped on a train to Stuttgart, traveling without a fare, mostly in bathrooms, because, fuck you Germans, I owe you nothing. I was caught in Mannheim and kicked off the train. Anyway, in Stuttgart I got further education in beer drinking--my brother-in-law introduced me to Heffeweizen, wheat beer--and continued to be educated in the Czech republic, where I went to the pub where Bohumil Hrabal usually drank, in a corner. He wasn't there, but his beer was, and I understood how he would spend every evening drinking that shit. It was bitter and good! The education continued in Croatia, in my hometown, which had a large brewery, Starocesko pivo, Old Czech beer, more or less the same thing which I so hated as a 12 year old, but enjoyed now. My sister-in-law became the chief accountant of the brewery, and the Baptist church deacon, as a Czech patriot, bought shares in the company. Usually he fought against alcoholism in the church, but beer was something else, not all that bad, and yes, it was Czech, some old formula.
The best beer around that time I had two years later in a monastery in Ziegelhausen, Benediktinerabtei, north of Heidelberg, overlooking river Neckar. I stayed in the monastery for a month to read the entire Bible in the Luther translation in German. My reward was that every evening, I would get a pint of ale that the monks made right there, and it came from large rotting oak barrels, which enhanced the flavor. After Gregorian chants, prayers, and then a couple of halb-liter, the monks were pretty close to God.
After European beers, it was hard to adjust to Budweiser and some other watery American beers. In Germany, I had become a beer snob. Now and then, I needed to go back to Europe, as a beer exile from North America. But then, upon moving to NYC, I had New Amsterdam, which proved to be an excellent beer, made in small quantities. It was expensive. And pretty soon, the microwbrews sprung all over. I think the first one I visited was in Berkeley, California, in 1991. It was amazing—strong, with substance, body, texture, fresh yeast, hoppy. It was better than the English ales I had in pubs. I read somewhere that now in the States, one micro-brewery per day is the rate of new breweries opening up.
Montreal. When I moved here, I had friends who liked to meet at Copa (a bar named after Copocabana) and they drank local beer, Boreal, produced in large enough quantities not to be considered a micro-brew. But then I discovered a micro-brew pub, Dieu du Ciel, on Laurier. It's a small brew pub, with a dozen micro brews on the menu every day. Alcohol content varies between 4 percent to 10. After a couple of pints at 7 percent, many people become drunk, and the place is extremely loud. I don't know why it is that people who drink become louder and louder. Anyhow, the beer here, I realized, tastes much better than the English ales I recently had in London, but perhaps that has partly to do with the alcohol content. Some of the ales had 3.5 alcohol content, basically like American Budweiser. Sure, they taste good but not sharp and strong. At a Lancaster beer pub I was impressed at the pricing. Regardless of the quality or fame of the ale, the price was a mathematical forumula of alcohol percentage. The more alcohol, the more you pay for the brew. Basically, they treat beer as an indifferent medium through which the essential thing, alcohol, is delivered. The rest is packaging. That struck me as both rational and crude.
The advantage of weak beer is that you can't get drunk quickly and easily, and so a friend of mine, John, when he's sick of hangovers, drinks only beer and he claims he is on the wagon. "I learnt that from Paul Newman," he says. "After drinking a lot of bourbon as a young man, Newman quit, and for 40 years, he had a six-pack of beer every night. He considered that he was practically a tee-totaller."
Yes, it seems like a nice principle, but with the new micro-brews it might not keep you out of trouble. In my neighborhood, Vices and Versa, on St. Laurent, near the arches of Little Italy, usually sells around 30 different beers. I go for the bitter ones. The best combination is a high octane IPA. At 9% alcohol content, it's as strong as some of the German Rieslings, and the notion that it's only beer can be perilous.
Anyway, I am pleased with my neighborhood just north of Bernard because it has Italians who make the best coffee in the Province of Quebec (macchiato as good as in Milan), and I'll admit it: because of the fantastic microbrewery, Helm, on Bernard. Now I understand Hegel—not so much his philosophy as his life-style. When looking for a university position, he deemed whether it was worthwhile to accept it based on the quality of the local brew as he had to have his halb-liter (or two) every afternoon.
Josip Novakovich left Croatia at the age of twenty, and he teaches at Concordia University in Montreal. His work has been translated into 15 languages, and has won several awards, including Whiting, Ingram Merrill, American Book Award, and last year, he was a finalist for the Man Booker International Prize.
More Web Features
Laura Huey Chamberlain
Having Been Called Dirt
Joe Betz
More Filling Than Berries
Katherine O'Hara
All the Trees of the Field Will Clap Their Hands
Alec Prevett
AirBnB (St. Louis)
Sean Ennis
Sam Nakahira
On W. 14th I Suddenly Recall Running Into the Street to Die
Angie Kang
No Bull Bourbon Reviews
Non-Reader Spotlight
stories from print
Breaking Bad fiction
Great Moments in Cinematic Drinking
Games of My Youth
A Phan's Notes
Jukebox Happy Hour
Black: Inventory of Black T-shirts
A 14-Year-Old's 1984 Diary, Illustrated By A 14-Year-Old In 2014
My Struggle with My Struggle
Self-Interview
Outliers: Unusual Entries in the Filmography of Famous Directors
Coutoure Noir
Lazy Wolf
Special "Erotica" Feature
The GwalaCost
Hobart Photo Stories
Wow and Flutter
Hobart at the Opera
The Bottom of the Order
My First...
Adventures in Eyeballs
Dispatches from the Treehouse
Whiskey for my Men, Beer for my Hoopleheads
Youth Group Essays

redpajama_set_name: RedPajamaCommonCrawl


We'll be jammin' to songs all about all kinds of food––– and drinks! Suddenly, "jam" takes on a whole new meaning!
As I was cooking up this week's jam session, I realized very quickly that there were just far too many food-related tunes to fit into just one jam session! So, this week's jam session will actually just be the first course… with the rest to come next week! Over the next two weeks, we're going to "jam" (food-related pun intended!) through a whole meal: from drinks to dessert!
So far, the "Tasty Tunes" we'll be jammin' to this week and next week come courtesy of artists such as Julie Andrews, Jimmy Buffett, the Muppets, Tom Hanks, Cookie Monster, and Riders in the Sky. Certain selections come from films such as Mary Poppins (1964), Popeye (1980), The Hitchhiker's Guide to the Galaxy (2005), Beauty and the Beast (1991), and The Polar Express (2004).
I hope you consider jammin' with us this week and next week! If you'd like more information about the show and how you can tune in and jam with us, you can find everything you need right here!


text:
from pysnmp.entity import engine, config
from pysnmp.entity.rfc3413 import cmdgen
from pysnmp.entity.rfc3413.oneliner.mibvar import MibVariable
from pysnmp.entity.rfc3413.oneliner.auth import CommunityData, UsmUserData
from pysnmp.entity.rfc3413.oneliner.target import UdpTransportTarget, \
    Udp6TransportTarget, UnixTransportTarget
from pysnmp.proto import rfc1905, errind
from pysnmp.smi import view
from pysnmp import nextid, error
from pyasn1.type import univ, base
from pyasn1.compat.octets import null

# Auth protocol
usmHMACMD5AuthProtocol = config.usmHMACMD5AuthProtocol
usmHMACSHAAuthProtocol = config.usmHMACSHAAuthProtocol
usmNoAuthProtocol = config.usmNoAuthProtocol

# Privacy protocol
usmDESPrivProtocol = config.usmDESPrivProtocol
usm3DESEDEPrivProtocol = config.usm3DESEDEPrivProtocol
usmAesCfb128Protocol = config.usmAesCfb128Protocol
usmAesCfb192Protocol = config.usmAesCfb192Protocol
usmAesCfb256Protocol = config.usmAesCfb256Protocol
usmNoPrivProtocol = config.usmNoPrivProtocol

nextID = nextid.Integer(0xffffffff)

class AsyncCommandGenerator:
    _null = univ.Null('')

    def _getCmdCache(self, snmpEngine):
        if 'cmdgen' not in snmpEngine.cache:
            snmpEngine.cache['cmdgen'] = {
                'auth': {},
                'parm': {},
                'tran': {},
                'addr': {},
           }
        if 'mibViewController' not in snmpEngine.cache['cmdgen']:
            snmpEngine.cache['cmdgen']['mibViewController'] = view.MibViewController(snmpEngine.msgAndPduDsp.mibInstrumController.mibBuilder)

        return snmpEngine.cache['cmdgen']

    def cfgCmdGen(self, snmpEngine, authData, transportTarget):
        cache = self._getCmdCache(snmpEngine)
        if isinstance(authData, CommunityData):
            if authData.communityIndex not in cache['auth']:
                config.addV1System(
                    snmpEngine,
                    authData.communityIndex,
                    authData.communityName,
                    authData.contextEngineId,
                    authData.contextName,
                    authData.tag,
                    authData.securityName
                )
                cache['auth'][authData.communityIndex] = authData
        elif isinstance(authData, UsmUserData):
            authDataKey = authData.userName, authData.securityEngineId
            if authDataKey not in cache['auth']:
                config.addV3User(
                    snmpEngine,
                    authData.userName,
                    authData.authProtocol, authData.authKey,
                    authData.privProtocol, authData.privKey,
                    authData.securityEngineId,
                    securityName=authData.securityName
                )
                cache['auth'][authDataKey] = authData
        else:
            raise error.PySnmpError('Unsupported authentication object')

        paramsKey = authData.securityName, \
                    authData.securityLevel, \
                    authData.mpModel
        if paramsKey in cache['parm']:
            paramsName, useCount = cache['parm'][paramsKey]
            cache['parm'][paramsKey] = paramsName, useCount + 1
        else:
            paramsName = 'p%s' % nextID()
            config.addTargetParams(
                snmpEngine, paramsName,
                authData.securityName, authData.securityLevel, authData.mpModel
            )
            cache['parm'][paramsKey] = paramsName, 1

        if transportTarget.transportDomain in cache['tran']:
            transport, useCount = cache['tran'][transportTarget.transportDomain]
            transportTarget.verifyDispatcherCompatibility(snmpEngine)
            cache['tran'][transportTarget.transportDomain] = transport, useCount + 1
        elif config.getTransport(snmpEngine, transportTarget.transportDomain):
            transportTarget.verifyDispatcherCompatibility(snmpEngine)
        else:
            transport = transportTarget.openClientMode()
            config.addTransport(
                snmpEngine,
                transportTarget.transportDomain,
                transport
            )
            cache['tran'][transportTarget.transportDomain] = transport, 1

        transportKey = ( paramsName,
                         transportTarget.transportDomain,
                         transportTarget.transportAddr,
                         transportTarget.tagList )

        if transportKey in cache['addr']:
            addrName, useCount = cache['addr'][transportKey]
            cache['addr'][transportKey] = addrName, useCount + 1
        else:
            addrName = 'a%s' % nextID()
            config.addTargetAddr(
                snmpEngine, addrName,
                transportTarget.transportDomain,
                transportTarget.transportAddr,
                paramsName,
                transportTarget.timeout * 100,
                transportTarget.retries,
                transportTarget.tagList
            )
            cache['addr'][transportKey] = addrName, 1

        return addrName, paramsName

    def uncfgCmdGen(self, snmpEngine, authData=None):
        cache = self._getCmdCache(snmpEngine)
        if authData:
            if isinstance(authData, CommunityData):
                authDataKey = authData.communityIndex
            elif isinstance(authData, UsmUserData):
                authDataKey = authData.userName, authData.securityEngineId
            else:
                raise error.PySnmpError('Unsupported authentication object')
            if authDataKey in cache['auth']:
                authDataKeys = ( authDataKey, )
            else:
                raise error.PySnmpError('Unknown authData %s' % (authData,))
        else:
            authDataKeys = list(cache['auth'].keys())

        addrNames, paramsNames = set(), set()

        for authDataKey in authDataKeys:
            authDataX = cache['auth'][authDataKey]
            del cache['auth'][authDataKey]
            if isinstance(authDataX, CommunityData):
                config.delV1System(
                    snmpEngine,
                    authDataX.communityIndex
                )
            elif isinstance(authDataX, UsmUserData):
                config.delV3User(
                    snmpEngine,
                    authDataX.userName,
                    authDataX.securityEngineId
                )
            else:
                raise error.PySnmpError('Unsupported authentication object')

            paramsKey = authDataX.securityName, \
                        authDataX.securityLevel, \
                        authDataX.mpModel
            if paramsKey in cache['parm']:
                paramsName, useCount = cache['parm'][paramsKey]
                useCount -= 1
                if useCount:
                    cache['parm'][paramsKey] = paramsName, useCount
                else:
                    del cache['parm'][paramsKey]
                    config.delTargetParams(
                        snmpEngine, paramsName
                    )
                    paramsNames.add(paramsName)
            else:
                raise error.PySnmpError('Unknown target %s' % (paramsKey,))

            addrKeys = [ x for x in cache['addr'] if x[0] == paramsName ]

            for addrKey in addrKeys:
                addrName, useCount = cache['addr'][addrKey]
                useCount -= 1
                if useCount:
                    cache['addr'][addrKey] = addrName, useCount
                else:
                    config.delTargetAddr(snmpEngine, addrName)

                    addrNames.add(addrKey)

                    if addrKey[1] in cache['tran']:
                        transport, useCount = cache['tran'][addrKey[1]]
                        if useCount > 1:
                            useCount -= 1
                            cache['tran'][addrKey[1]] = transport, useCount
                        else:
                            config.delTransport(snmpEngine, addrKey[1])
                            transport.closeTransport()
                            del cache['tran'][addrKey[1]]

        return addrNames, paramsNames

    def makeVarBinds(self, snmpEngine, varBinds, oidOnly=False):
        cache = self._getCmdCache(snmpEngine)
        mibViewController = cache['mibViewController']
        __varBinds = []
        for varName, varVal in varBinds:
            if isinstance(varName, MibVariable):
                if oidOnly or isinstance(varVal, base.AbstractSimpleAsn1Item):
                    varName.resolveWithMib(mibViewController, oidOnly=True)
                else:
                    varName.resolveWithMib(mibViewController)
                    varVal = varName.getMibNode().getSyntax().clone(varVal)
            elif isinstance(varName[0], tuple):  # legacy
                varName = MibVariable(varName[0][0], varName[0][1], *varName[1:]).resolveWithMib(mibViewController)
                if not oidOnly and \
                        not isinstance(varVal, base.AbstractSimpleAsn1Item):
                    varVal = varName.getMibNode().getSyntax().clone(varVal)
            else:
                if oidOnly or isinstance(varVal, base.AbstractSimpleAsn1Item):
                    varName = MibVariable(varName).resolveWithMib(mibViewController, oidOnly=True)
                else:
                    varName = MibVariable(varName).resolveWithMib(mibViewController)
                    varVal = varName.getMibNode().getSyntax().clone(varVal)

            __varBinds.append((varName, varVal))

        return __varBinds

    def unmakeVarBinds(self, snmpEngine, varBinds, lookupNames, lookupValues):
        if lookupNames or lookupValues:
            cache = self._getCmdCache(snmpEngine)
            mibViewController = cache['mibViewController']
            _varBinds = []
            for name, value in varBinds:
                varName = MibVariable(name).resolveWithMib(mibViewController)
                if lookupNames:
                    name = varName
                if lookupValues:
                    if value.tagSet not in (rfc1905.NoSuchObject.tagSet,
                                            rfc1905.NoSuchInstance.tagSet,
                                            rfc1905.EndOfMibView.tagSet):
                        if varName.isFullyResolved():
                            value = varName.getMibNode().getSyntax().clone(value)
                _varBinds.append((name, value))
            return _varBinds
        else:
            return varBinds

    def makeVarBindsHead(self, snmpEngine, varNames):
        return [
            x[0] for x in self.makeVarBinds(
                snmpEngine,
                [ (x, univ.Null('')) for x in varNames ], oidOnly=True
            )
        ]

    # Async SNMP apps

    def getCmd(self, snmpEngine, authData, transportTarget, varNames, cbInfo,
               lookupNames=False, lookupValues=False,
               contextEngineId=None, contextName=null):
        def __cbFun(sendRequestHandle,
                    errorIndication, errorStatus, errorIndex,
                    varBinds, cbCtx):
            lookupNames, lookupValues, cbFun, cbCtx = cbCtx
            return cbFun(
                sendRequestHandle,
                errorIndication,
                errorStatus,
                errorIndex,
                self.unmakeVarBinds(
                    snmpEngine, varBinds, lookupNames, lookupValues
                ),
                cbCtx
            )

        (cbFun, cbCtx) = cbInfo
        addrName, paramsName = self.cfgCmdGen(
            snmpEngine, authData, transportTarget
        )

        return cmdgen.GetCommandGenerator().sendReq(
            snmpEngine,
            addrName,
            self.makeVarBinds(snmpEngine, [(x, self._null) for x in varNames]),
            __cbFun,
            (lookupNames, lookupValues, cbFun, cbCtx),
            contextEngineId, contextName
        )

    def setCmd(self, snmpEngine, authData, transportTarget, varBinds, cbInfo,
               lookupNames=False, lookupValues=False,
               contextEngineId=None, contextName=null):
        def __cbFun(sendRequestHandle,
                    errorIndication, errorStatus, errorIndex,
                    varBinds, cbCtx):
            lookupNames, lookupValues, cbFun, cbCtx = cbCtx
            return cbFun(
                sendRequestHandle,
                errorIndication,
                errorStatus,
                errorIndex,
                self.unmakeVarBinds(
                    snmpEngine, varBinds, lookupNames, lookupValues
                ),
                cbCtx
            )

        (cbFun, cbCtx) = cbInfo
        addrName, paramsName = self.cfgCmdGen(
            snmpEngine, authData, transportTarget
        )

        return cmdgen.SetCommandGenerator().sendReq(
            snmpEngine,
            addrName,
            self.makeVarBinds(snmpEngine, varBinds),
            __cbFun,
            (lookupNames, lookupValues, cbFun, cbCtx),
            contextEngineId, contextName
        )

    def nextCmd(self, snmpEngine, authData, transportTarget, varNames, cbInfo,
                lookupNames=False, lookupValues=False,
                contextEngineId=None, contextName=null):
        def __cbFun(sendRequestHandle,
                    errorIndication, errorStatus, errorIndex,
                    varBindTable, cbCtx):
            lookupNames, lookupValues, cbFun, cbCtx = cbCtx
            return cbFun(
                sendRequestHandle,
                errorIndication,
                errorStatus,
                errorIndex,
                [ self.unmakeVarBinds(snmpEngine, varBindTableRow, lookupNames, lookupValues) for varBindTableRow in varBindTable ],
                cbCtx
            )

        (cbFun, cbCtx) = cbInfo
        addrName, paramsName = self.cfgCmdGen(
            snmpEngine, authData, transportTarget
        )
        return cmdgen.NextCommandGenerator().sendReq(
            snmpEngine,
            addrName,
            self.makeVarBinds(snmpEngine, [(x, self._null) for x in varNames]),
            __cbFun,
            (lookupNames, lookupValues, cbFun, cbCtx),
            contextEngineId, contextName
        )

    def bulkCmd(self, snmpEngine, authData, transportTarget,
                nonRepeaters, maxRepetitions, varNames, cbInfo,
                lookupNames=False, lookupValues=False,
                contextEngineId=None, contextName=null):
        def __cbFun(sendRequestHandle,
                    errorIndication, errorStatus, errorIndex,
                    varBindTable, cbCtx):
            lookupNames, lookupValues, cbFun, cbCtx = cbCtx
            return cbFun(
                sendRequestHandle,
                errorIndication,
                errorStatus,
                errorIndex,
                [ self.unmakeVarBinds(snmpEngine, varBindTableRow, lookupNames, lookupValues) for varBindTableRow in varBindTable ],
                cbCtx
            )

        (cbFun, cbCtx) = cbInfo
        addrName, paramsName = self.cfgCmdGen(
            snmpEngine, authData, transportTarget
        )
        return cmdgen.BulkCommandGenerator().sendReq(
            snmpEngine,
            addrName,
            nonRepeaters, maxRepetitions,
            self.makeVarBinds(snmpEngine, [(x, self._null) for x in varNames]),
            __cbFun,
            (lookupNames, lookupValues, cbFun, cbCtx),
            contextEngineId, contextName
        )

# compatibility implementation, never use this class for new applications
class AsynCommandGenerator:
    def __init__(self, snmpEngine=None):
        if snmpEngine is None:
            self.snmpEngine = snmpEngine = engine.SnmpEngine()
        else:
            self.snmpEngine = snmpEngine

        self.__asyncCmdGen = AsyncCommandGenerator()

        # grab/create MibViewController from/for the real AsyncCommandGen
        cache = self.__asyncCmdGen._getCmdCache(snmpEngine)
        self.mibViewController = cache['mibViewController']

    def __del__(self):
        self.__asyncCmdGen.uncfgCmdGen(self.snmpEngine)

    def cfgCmdGen(self, authData, transportTarget):
        return self.__asyncCmdGen.cfgCmdGen(
            self.snmpEngine, authData, transportTarget
        )

    def uncfgCmdGen(self, authData=None):
        return self.__asyncCmdGen.uncfgCmdGen(
            self.snmpEngine, authData
        )

    # compatibility stub
    def makeReadVarBinds(self, varNames):
        return self.makeVarBinds(
            [ (x, univ.Null('')) for x in varNames ], oidOnly=True
        )

    def makeVarBinds(self, varBinds, oidOnly=False):
        return self.__asyncCmdGen.makeVarBinds(
            self.snmpEngine, varBinds, oidOnly
        )

    def unmakeVarBinds(self, varBinds, lookupNames, lookupValues):
        return self.__asyncCmdGen.unmakeVarBinds(
            self.snmpEngine, varBinds, lookupNames, lookupValues
        )

    def getCmd(self, authData, transportTarget, varNames, cbInfo,
               lookupNames=False, lookupValues=False,
               contextEngineId=None, contextName=null):

        # for backward compatibility
        if contextName is null and authData.contextName:
            contextName = authData.contextName

        return self.__asyncCmdGen.getCmd(
            self.snmpEngine, authData, transportTarget, varNames, cbInfo,
            lookupNames, lookupValues, contextEngineId, contextName
        )

    asyncGetCmd = getCmd

    def setCmd(self, authData, transportTarget, varBinds, cbInfo,
               lookupNames=False, lookupValues=False,
               contextEngineId=None, contextName=null):

        # for backward compatibility
        if contextName is null and authData.contextName:
            contextName = authData.contextName

        return self.__asyncCmdGen.setCmd(
            self.snmpEngine, authData, transportTarget, varBinds, cbInfo,
            lookupNames, lookupValues, contextEngineId, contextName
        )

    asyncSetCmd = setCmd

    def nextCmd(self, authData, transportTarget, varNames, cbInfo,
                lookupNames=False, lookupValues=False,
                contextEngineId=None, contextName=null):

        # for backward compatibility
        if contextName is null and authData.contextName:
            contextName = authData.contextName

        return self.__asyncCmdGen.nextCmd(
            self.snmpEngine, authData, transportTarget, varNames, cbInfo,
            lookupNames, lookupValues, contextEngineId, contextName
        )

    asyncNextCmd = nextCmd

    def bulkCmd(self, authData, transportTarget,
                nonRepeaters, maxRepetitions, varNames, cbInfo,
                lookupNames=False, lookupValues=False,
                contextEngineId=None, contextName=null):

        # for backward compatibility
        if contextName is null and authData.contextName:
            contextName = authData.contextName

        return self.__asyncCmdGen.bulkCmd(
            self.snmpEngine, authData, transportTarget,
            nonRepeaters, maxRepetitions, varNames, cbInfo,
            lookupNames, lookupValues, contextEngineId, contextName
        )

    asyncBulkCmd = bulkCmd

class CommandGenerator:
    def __init__(self, snmpEngine=None, asynCmdGen=None):
        if asynCmdGen is None:
            self.__asynCmdGen = AsynCommandGenerator(snmpEngine)
        else:
            self.__asynCmdGen = asynCmdGen

        # compatibility attributes
        self.snmpEngine = self.__asynCmdGen.snmpEngine
        self.mibViewController = self.__asynCmdGen.mibViewController

    def getCmd(self, authData, transportTarget, *varNames, **kwargs):
        def __cbFun(sendRequestHandle,
                    errorIndication, errorStatus, errorIndex,
                    varBinds, appReturn):
            appReturn['errorIndication'] = errorIndication
            appReturn['errorStatus'] = errorStatus
            appReturn['errorIndex'] = errorIndex
            appReturn['varBinds'] = varBinds

        appReturn = {}
        self.__asynCmdGen.getCmd(
            authData,
            transportTarget,
            varNames,
            (__cbFun, appReturn),
            kwargs.get('lookupNames', False),
            kwargs.get('lookupValues', False),
            kwargs.get('contextEngineId'),
            kwargs.get('contextName', null)
        )
        self.snmpEngine.transportDispatcher.runDispatcher()
        return (
            appReturn['errorIndication'],
            appReturn['errorStatus'],
            appReturn['errorIndex'],
            appReturn['varBinds']
        )

    def setCmd(self, authData, transportTarget, *varBinds, **kwargs):
        def __cbFun(sendRequestHandle,
                    errorIndication, errorStatus, errorIndex,
                    varBinds, appReturn):
            appReturn['errorIndication'] = errorIndication
            appReturn['errorStatus'] = errorStatus
            appReturn['errorIndex'] = errorIndex
            appReturn['varBinds'] = varBinds

        appReturn = {}
        self.__asynCmdGen.setCmd(
            authData,
            transportTarget,
            varBinds,
            (__cbFun, appReturn),
            kwargs.get('lookupNames', False),
            kwargs.get('lookupValues', False),
            kwargs.get('contextEngineId'),
            kwargs.get('contextName', null)
        )
        self.snmpEngine.transportDispatcher.runDispatcher()
        return (
            appReturn['errorIndication'],
            appReturn['errorStatus'],
            appReturn['errorIndex'],
            appReturn['varBinds']
        )

    def nextCmd(self, authData, transportTarget, *varNames, **kwargs):
        def __cbFun(sendRequestHandle, errorIndication,
                    errorStatus, errorIndex, varBindTable, cbCtx):
            (self, varBindHead, varBindTotalTable, appReturn) = cbCtx
            if (ignoreNonIncreasingOid or \
                        hasattr(self, 'ignoreNonIncreasingOid') and \
                        self.ignoreNonIncreasingOid ) and \
                    errorIndication and \
                    isinstance(errorIndication, errind.OidNotIncreasing):
                errorIndication = None
            if errorStatus or errorIndication:
                appReturn['errorIndication'] = errorIndication
                if errorStatus == 2:
                    # Hide SNMPv1 noSuchName error which leaks in here
                    # from SNMPv1 Agent through internal pysnmp proxy.
                    appReturn['errorStatus'] = errorStatus.clone(0)
                    appReturn['errorIndex'] = errorIndex.clone(0)
                else:
                    appReturn['errorStatus'] = errorStatus
                    appReturn['errorIndex'] = errorIndex
                appReturn['varBindTable'] = varBindTotalTable
                return
            else:
                if maxRows and len(varBindTotalTable) >= maxRows or \
                        hasattr(self, 'maxRows') and self.maxRows and \
                        len(varBindTotalTable) >= self.maxRows:
                    appReturn['errorIndication'] = errorIndication
                    appReturn['errorStatus'] = errorStatus
                    appReturn['errorIndex'] = errorIndex
                    if hasattr(self, 'maxRows'):
                        appReturn['varBindTable'] = varBindTotalTable[:self.maxRows]
                    else:
                        appReturn['varBindTable'] = varBindTotalTable[:maxRows]
                    return

                varBindTableRow = varBindTable and varBindTable[-1] or varBindTable
                for idx in range(len(varBindTableRow)):
                    name, val = varBindTableRow[idx]
                    # XXX extra rows
                    if not isinstance(val, univ.Null):
                        if lexicographicMode or \
                               hasattr(self, 'lexicographicMode') and \
                               self.lexicographicMode:  # obsolete
                            if varBindHead[idx] <= name:
                                break
                        else:
                            if varBindHead[idx].isPrefixOf(name):
                                break
                else:
                    appReturn['errorIndication'] = errorIndication
                    appReturn['errorStatus'] = errorStatus
                    appReturn['errorIndex'] = errorIndex
                    appReturn['varBindTable'] = varBindTotalTable
                    return

                varBindTotalTable.extend(varBindTable)

                return 1 # continue table retrieval

        lookupNames = kwargs.get('lookupNames', False)
        lookupValues = kwargs.get('lookupValues', False)
        contextEngineId = kwargs.get('contextEngineId')
        contextName = kwargs.get('contextName', null)
        lexicographicMode = kwargs.get('lexicographicMode', False)
        maxRows = kwargs.get('maxRows', 0)
        ignoreNonIncreasingOid = kwargs.get('ignoreNonIncreasingOid', False)

        varBindHead = [ univ.ObjectIdentifier(x[0]) for x in self.__asynCmdGen.makeReadVarBinds(varNames) ]

        appReturn = {}
        self.__asynCmdGen.nextCmd(
            authData,
            transportTarget,
            varNames,
            (__cbFun, (self, varBindHead, [], appReturn)),
            lookupNames, lookupValues,
            contextEngineId, contextName
        )
        self.snmpEngine.transportDispatcher.runDispatcher()
        return (
            appReturn['errorIndication'],
            appReturn['errorStatus'],
            appReturn['errorIndex'],
            appReturn['varBindTable']
        )

    def bulkCmd(self, authData, transportTarget,
                nonRepeaters, maxRepetitions, *varNames, **kwargs):
        def __cbFun(sendRequestHandle, errorIndication,
                    errorStatus, errorIndex, varBindTable, cbCtx):
            (self, varBindHead, varBindTotalTable, appReturn) = cbCtx
            if (ignoreNonIncreasingOid or \
                        hasattr(self, 'ignoreNonIncreasingOid') and \
                        self.ignoreNonIncreasingOid ) and \
                    errorIndication and \
                    isinstance(errorIndication, errind.OidNotIncreasing):
                errorIndication = None
            if errorStatus or errorIndication:
                appReturn['errorIndication'] = errorIndication
                appReturn['errorStatus'] = errorStatus
                appReturn['errorIndex'] = errorIndex
                appReturn['varBindTable'] = varBindTable
                return
            else:
                while varBindTable:
                    if len(varBindTable[-1]) != len(varBindHead):
                        # Fix possibly non-rectangular table
                        del varBindTable[-1]
                    else:
                        break

                varBindTotalTable.extend(varBindTable) # XXX out of table
                                                       # rows possible

                if maxRows and len(varBindTotalTable) >= maxRows or \
                        hasattr(self, 'maxRows') and self.maxRows and \
                        len(varBindTotalTable) >= self.maxRows:  # obsolete
                    appReturn['errorIndication'] = errorIndication
                    appReturn['errorStatus'] = errorStatus
                    appReturn['errorIndex'] = errorIndex
                    if hasattr(self, 'maxRows'):
                        appReturn['varBindTable'] = varBindTotalTable[:self.maxRows]
                    else:
                        appReturn['varBindTable'] = varBindTotalTable[:maxRows]
                    return

                varBindTableRow = varBindTable and varBindTable[-1] or varBindTable
                for idx in range(len(varBindTableRow)):
                    name, val = varBindTableRow[idx]
                    if not isinstance(val, univ.Null):
                        if lexicographicMode or \
                               hasattr(self, 'lexicographicMode') and \
                               self.lexicographicMode:  # obsolete
                            if varBindHead[idx] <= name:
                                break
                        else:
                            if varBindHead[idx].isPrefixOf(name):
                                break
                else:
                    appReturn['errorIndication'] = errorIndication
                    appReturn['errorStatus'] = errorStatus
                    appReturn['errorIndex'] = errorIndex
                    appReturn['varBindTable'] = varBindTotalTable
                    return

                return 1 # continue table retrieval

        lookupNames = kwargs.get('lookupNames', False)
        lookupValues = kwargs.get('lookupValues', False)
        contextEngineId = kwargs.get('contextEngineId')
        contextName = kwargs.get('contextName', null)
        lexicographicMode = kwargs.get('lexicographicMode', False)
        maxRows = kwargs.get('maxRows', 0)
        ignoreNonIncreasingOid = kwargs.get('ignoreNonIncreasingOid', False)

        varBindHead = [ univ.ObjectIdentifier(x[0]) for x in self.__asynCmdGen.makeReadVarBinds(varNames) ]

        appReturn = {}

        self.__asynCmdGen.bulkCmd(
            authData,
            transportTarget,
            nonRepeaters, maxRepetitions,
            varNames,
            (__cbFun, (self, varBindHead, [], appReturn)),
            lookupNames, lookupValues,
            contextEngineId, contextName
        )

        self.snmpEngine.transportDispatcher.runDispatcher()

        return (
            appReturn['errorIndication'],
            appReturn['errorStatus'],
            appReturn['errorIndex'],
            appReturn['varBindTable']
        )

redpajama_set_name: RedPajamaGithub


Need to do a bit of light re commissioning to my 3.2 over the winter, ready for next year. At the same time possible upgrade the front brakes. Never been over confident in the standard so my question is, are there any upgrades using parts from other models that fit and offer better braking?
Hi, welcome to the forum. I'm new my self. Just got a 1979 911 sc in early October this year. I also want to restore the car and do some upgrades. It would be good to hear from other members about your questions regarding the brakes?
I was only thinking earlier, are the brakes from the 3.2 the same as the 911 sc 3.0? I think the brakes on my car are pretty good but then the power is less than yours at 188hp. 8.5.1 compression. I'm thinking of highering the compression to produce more power. So this is why I was thinking I may need a brake upgrade. But the standard brakes seem to work really well in my car, but it's worth mentioning that the discs front and back are new with new pads and the calipers have been overhauled. Also the tyres probably have 7-8mm on them all around, which will help slow the car down quicker. I'm guessing the 3.2 will be the same weight as mine?
Be interesting to hear from other members on the brakes?
I bought a 1982 sc this year, I have had a total brake overhaul, but sitll standard brakes, the brakes are good now, not modern good, but good.


text:
«Знак Зорро» () — приключенческий фильм режиссёра Рубена Мамуляна, по мотивам «Проклятия Капистрано» Джонстона Маккалли, вышедший на экраны в 1940 году. В 2009 году лента была включена в Национальный реестр фильмов США.

Сюжет
Молодой щёголь Диего Вега (Тайрон Пауэр) возвращается из Испании в родную Калифорнию, где его отец был алькальдом (мэром) Лос-Анджелеса. Однако те времена давно прошли: сейчас в этой местности заправляет новый алькальд Луис Кинтеро (Эдвард Бромберг), поддерживаемый войсками капитана Эстебана Паскуале (Бэзил Рэтбоун). Они беззастенчиво повышают налоги, ввергая и без того небогатых крестьян в настоящую нищету, а пытающихся сопротивляться подвергают жестоким наказаниям. Однако вскоре после приезда Диего в окрестностях появляется некто Зорро, решивший бросить вызов творящимся несправедливостям…

В ролях
 Тайрон Пауэр — Диего Вега
 Линда Дарнелл — Лолита Кинтеро
 Бэзил Рэтбоун — капитан Эстебан Паскуале
 Гейл Сондергард — Инес Кинтеро
 Юджин Паллетт — отец Фелипе
 Эдвард Бромберг — дон Луис Кинтеро
 Монтегю Лав — дон Алехандро Вега
 Джанет Бичер — сеньора Изабелла Вега
 Джордж Ригас — сержант Гонсалес
В титрах не указаны
 Стэнли Эндрюс — командующий офицер
 Виктор Килиан — лодочник

Премьеры
  — 1 ноября 1940 года состоялась премьера в Цинциннати, Огайо.
  — европейская премьера фильма состоялась 3 февраля 1941 года в Лондоне.
  — 1949 — был выпущен в СССР под названием «Таинственный знак» в качестве «трофейного» фильма.

Номинации
 1941 — Премия «Оскар»
 Лучший оригинальный саундтрек — Альфред Ньюман

См. также
 Трофейные фильмы в СССР
 Список фильмов США 1940 года

Примечания

Ссылки

Фильмы США 1940 года
Фильмы Рубена Мамуляна
Приключенческие фильмы США
Национальный реестр фильмов
Трофейные фильмы в СССР
Фильмы о Зорро
Фильмы о Калифорнии
Исторические фильмы о XIX веке
Фильмы 20th Century Studios
Фильмы, спродюсированные Дэррилом Ф. Зануком


text:
Kamworor well prepared for Boston debut
Thursday, March 10th, 2022 02:27 | By
Emmanuel Masinde
Roders Kwemoi (left), Geoffrey Kamworor (centre) and Rhonex Kipruto competing in the men 10,000m finals during national trials at Kasarani Stadium last month. PD/ DAVID NDOLO
Three-time World Half Marathon champion Geoffrey Kamworor is targeting good performance on his debut at the 126th edition of Boston men's marathon which is scheduled to take place on April 18.
Kaptagat-based Kamworor said he is preparing well for the race.
"I am carrying on with my training and I am focusing on giving my best in Boston," said the two time New York City marathon champion.
Kamworor could not compete at Agnes Tirop Memorial World Cross Country Tour in Eldoret last month due to a groin injury, but he now says that he has recovered and ready to compete.
"Am in good shape and looking forward to compete," added Kamworor who holds three titles in the world half marathon.
It will not be a walk in the park for Kamworor as he will face stiff competition from Milano marathon winner Titus Ekiru who had the fastest time last year of 2.02.57, Valencia marathon champion Evans Chebet, defending champion Benson Kipruto and New York marathon champion Albert Korir as they are also making a debut in Boston.
He will also face off with marathoners Geoffrey Kirui and Lawrence Cherono who won the Boston Marathon 2017 and 2019 editions respectively as well as Ethiopia's three time Olympic champion Kenenisa Bekele among others.
Kamworor said that he is responding well to training and ready to compete.
Berlin marathon bronze medalist Kamworor is optimistic of good performance and a great run in the streets of Boston.
The 29-years old was a notch high on personal best of 2.05.23 when he finished fourth during the 2021 Valencia marathon.
However, Kamworor confirmed that he will not be competing at National Police Championships that will be taking place next month.
"My aim now is focusing on running Boston marathon so i will not be competing at the police championships," Kamworor said
Kamworor
More on Sports
Kipyegon plans switch to marathon races in future
RECOMMENDED STORIES Sports
Top brands jostling for Ngige deal


text:
/ StarWars
Star Wars: Battlefront II
Star Wars Stunt Coordinator Claims George Lucas Cut Best Lightsaber Duel From the Franchise
By Joe Schmidt - December 11, 2019 05:52 pm EST
The Star Wars franchise is known for epic space battles, intense skirmishes between ground forces, and lightsaber duels. In fact, that last one might be among the biggest draws to the movies, as each movie has continually built upon each climactic confrontation with epic lightsaber fights. And while many people are looking forward to see Rey and Kylo Ren square off one last time in Star Wars: The Rise of Skywalker, we only just learned of another epic lightsaber fight that was cut from Star Wars: Revenge of the Sith before the film ever premiered in theaters.
According to stunt coordinator Nick Gillard, there was another amazing sequence in the prequel trilogy that he oversaw. The lightsaber battles in the prequels are revered for their intense choreography, and now we know we've possibly missed out on another epic battle.
According to Gillard, Star Wars: Revenge of the Sith nearly featured a fight between Obi-Wan Kenobi and General Grievous' guards, making it a six-on-one battle that took weeks for Ewan McGregor to practice the choreography.
Gillard explained to Entertainment Weekly, "It was the most complicated fight we ever did, and George [Lucas] said, 'I'm really sorry, I'm going to drop a container on five of them!'"
According to Gillard, McGregor required weeks to learn the intricate choreography, and they started running out of time while filming the project. In order to make up for it, director George Lucas decided that the fight scene was not essential to the film's plot and found an elegant solution — have Obi-Wan crush the guards by using the Force.
Fans will get to see McGregor return to the role and possibly get another epic lightsaber battle in the process as Lucasfilm prepares to film an Obi-Wan Kenobi series for Disney+. McGregor recently opened up about his return to the Star Wars galaxy, offering new details about what to expect about the show's storyline.
"The storyline sits between Episode III and Episode IV," McGregor explained to Men's Journal, adding that "the Jedi Order was falling apart. It will be interesting to take a character we know in a way and show him—Well, his arc will be quite interesting, I think, dealing with that the fact that all the Jedi were slaughtered with the end of Episode III. It's quite something to get over."
There's no word yet when the Obi-Wan series will premiere on Disney+, but fans can look forward to the end of the main saga with the premiere of Star Wars: The Rise of Skywalker on Friday, December 20th.
Rick And Morty: Characters That Will Be Recast Following Roiland Departure
Star Wars: Ewan McGregor Reveals Obi-Wan Kenobi Scene That Made Him "Burst Into Tears"
Star Wars Actress Daisy Ridley Reveals Details of New Movie
Star Wars-Themed Week Is Coming to Wheel of Fortune
ComicBook Nation: 2023 Oscars Noms & Snubs / WWE Royal Rumble Preview
Star Wars: George Lucas Considered Making General Grievous a Disguised Darth Maul
LEGO Star Wars Clone Wars and Princess Leia Helmets Are Up For Pre-Order


text:
Monolepta melanogaster is een keversoort uit de familie bladkevers (Chrysomelidae). De wetenschappelijke naam van de soort werd in 1823 gepubliceerd door Wiedemann.

melanogaster


text:
Donate Sign Up
Scenario Matrix
Op-Eds & Articles
Media Mention via Mondoweiss
Operation Breaking Dawn and Israeli elections
By Yumna Patel August 22, 2022
References Amjad Iraqi
On August 5th, Israel launched a three-day operation in the besieged Gaza Strip. They dubbed it "Operation Breaking Dawn."
Israel's acting Prime Minister, Yair Lapid, promoted the operation as a preemptive strike to quash what he said were concrete threats by the Palestinian Islamic Jihad movement in Gaza. Over the course of three days 49 Palestinians were killed, including 17 children. According to Mondoweiss documentation, while many PIJ members and affiliates were indeed targeted, the majority of those that were killed were civilian noncombatants.
The operation was the second major Israeli offensive on Gaza since last year. It also happened to fall just a few months before Israel's upcoming elections at a time when Israel's current prime minister and his party are struggling in the polls. In the wake of the attack many accused Israeli officials of using Palestinian in Gaza as sacrificial pawns in their political games, while Lapid, and others in his government, hailed it as a success.
Amjad Iraqi joins Yumna Patel to discuss Israel's political motivations behind the Gaza attack. Amjad is an editor and writer at +972 Magazine, based in Haifa. He's also a policy analyst at the think tank Al-Shabaka and was previously an advocacy coordinator at the legal center Adalah.
An independent, non-partisan, and non-profit organization whose mission is to educate and foster public debate on Palestinian human rights and self determination within the framework of international law. Al-Shabaka materials may be reproduced and circulated with due attribution to Al-Shabaka: The Palestinian Policy Network. The opinions of individual members of Al-Shabaka's policy network do not necessarily reflect the views of the organization as a whole.
Contact al-Shabaka by email at:
Al-Shabaka: The Palestinian Policy Network
© 2010-2023 Al-Shabaka: The Palestinian Policy Network. All rights reserved.


text:
WORSE THAN WALFORD
EastEnders' Jessie Wallace hasn't spoken to her sister in seven months after vicious family feud
20 Oct 2019, 0:41
EASTENDERS star Jessie Wallace hasn't spoken to her sister in seven months after they fell out in a vicious family feud.
The 48-year-old actress' personal life could put the drama of Walford to shame, with the TV favourite embroiled in a major row with Danielle Mason.
The two sisters haven't spoken since MarchCredit: Instagram
Danielle, 36, has revealed that she fell out with her famous sibling back in March - and they've not spoken since.
The glamour model explained: "We've fallen out again. She stitched me up on my birthday, so I got the hump.
"I just got the nark. We fell out.
"We had a massive row and called each other all the names under the sun. It was worse than anything on a soap opera."
Danielle went on to admit that she can be "horrible" to her famous sibling, adding to the Daily Star Sunday: "She is quite grown up. She doesn't argue back. But I am horrible."
Danielle has admitted that she can be 'horrible' to her famous siblingCredit: Instagram
Jessie has been accused of not supporting her family through her stepdad's cancer battleCredit: Rex Features
It has been said that the sisters previously fell out for an entire decade after Danielle accused Jessie of not keeping up contact during stepdad Ron Mason's leukaemia battle.
She claimed the star only texted her mum twice while he was ill, and Danielle believes they will always have a difficult relationship.
She explained: "We are sisters so we just row about sisterly things. We're like any normal family. We fall out.
The actress plays Kat in EastEndersCredit: BBC
EastEnders' Kat Slater takes the blame for attacking Phil and warns him not to trust Ben
Daly's dad
Virgin Media star Anna Daly says dad is through 'tough' cancer treatment
Tiger told mistress 'get as much as you can' before he 'paid $10M for silence'
"She's grown up a lot but I haven't. That's just the way we are."
Jessie shot to fame when she was cast as gobby Kat Moon in EastEnders back in 2000, and is one of the show's most recognisable faces.
The Sun Online have contacted Jessie's rep for comment.


text:
Alexa Peterson Signs 2-Year Deal with Cleveland Comets
Cleveland Comets
Cleveland, OH (March 8, 2018) – The Cleveland Comets are excited to announce the signing of former NCAA All-American, Alexa Peterson to a two-year deal. Peterson was the eleventh overall selection in the 2014 NPF draft, out of the University of Oregon.
Last year with the Chicago Bandits, Peterson hit at a .267 clip with a .400 OBP and scored 10 times in 45 at bats. A model of consistency, Peterson is a .266 career hitter with excellent power. Her ability to play multiple positions will almost certainly be utilized this year, both in the outfield and behind the plate.
In her four years at Oregon, Peterson posted a career.360 average with 30 homeruns, 153 RBIs, and 38 doubles. In 2013, she was a First-Team NFCA All-American when she hit a career best .424 and 12 homeruns. She was named to the All-Pacific Region team four times, the All-Pac 12 First Team two times, and was a member of the All-Pac 12 Freshman team in 2011. Peterson was a member of the 2012 All-WCWS team. She was a key member of the team's two WCWS appearances in 2012 and 2014 and helped Oregon win their first two Pac-12 Championships in program history.
"Alexa is the kind of player every GM is always looking for, someone who can play multiple positions effectively and brings a consistent and powerful right-handed bat to your lineup. Most importantly she brings the kind of personality and attitude we are looking for," said Stephen Dunn, General Manager of the Cleveland Comets.
The Cleveland Comets look forward to Peterson's contributions toward a successful 2018 campaign.
Follow the Cleveland Comets on the following social media channels:
Website – www.clevelandcomets.us
Facebook – @ClevelandCometsNPF
Twitter – @CLE_Comets
Instagram – @CLE_Comets
Snapchat – @Clevelandcomets
About the Cleveland Comets
The Cleveland Comets, headquartered in Cleveland, OH, became a new franchise in the National Pro Fastpitch (NPF) League in 2018. The Team became the most recent addition to the NPF and is owned by the former owner of the Akron Racers, a team that existed since the NPF began in 2004. The Cleveland Comets will embrace the Racers' fanbase, while also introducing the attractive and popular product of fastpitch softball to the greater Cleveland area. For more information on the Cleveland Comets, contact General Manager Stephen Dunn -stevedunn@clevelandcomets.us.
About National Pro Fastpitch (NPF)
National Pro Fastpitch (NPF), an Official Development Partner of Major League Baseball since 2004 provides elite female athletes with an opportunity to pursue a professional career in fastpitch softball beyond their collegiate and amateur success. The NPF affiliate teams consist of the Aussie Spirit, Beijing Shougang Eagles, Chicago Bandits, Cleveland Comets and USSSA Florida Pride for the 2018 season. National Pro Fastpitch players hail from the United States, Australia, Canada and China among which are the most accomplished and talented athletes in the sport of women's softball.
March 8, 2018 /0 Comments/by Pro Fast Pitch News
https://profastpitch.com/wp-content/uploads/2018/03/Alexa-Peterson.jpg 257 500 Pro Fast Pitch News https://profastpitch.com/wp-content/uploads/2018/03/national-pro-fastpitch-logo.png Pro Fast Pitch News2018-03-08 15:15:202018-03-13 15:16:55Alexa Peterson Signs 2-Year Deal with Cleveland Comets
Chidester, Parnaby and Cheek Recognized in Week 7 Honors July 15, 2019
O'Toole and Safeco Insurance Announce OPAL Partnership July 12, 2019
Bandits Wrap Up Five Game Series with Win Over Peppers July 12, 2019
Pride Defeat the Comets with a 5-1 Win July 11, 2019
Aussie Peppers and Chicago Bandits Split Doubleheader July 11, 2019
Aussie Peppers Snap Bandits Winning Streak with a 5-1 Win July 10, 2019
14th Straight Win for Chicago Bandits in 6-0 Contest Against Aussie Peppers July 9, 2019
Gilbert, Henderson and Speers Named Week 6 Players of the Week July 8, 2019
Bandits Win Double Header Over Comets to Complete Series Sweep and Extend Winning Streak to 13 July 7, 2019
WILD TAKE DOUBLEHEADER AND SERIES July 7, 2019
Bandits Cruise Past Comets to Secure 11th Straight Win July 6, 2019
OFFENSE COMES THROUGH IN WILD WIN July 5, 2019
Bandits Pull Away Late From Comets on Independence Day to Extend Winning Streak to Ten July 4, 2019
Wild Drop Game One Against Peppers July 4, 2019
USSSA Pride Takes Third Game in Series with Beijing Eagles July 4, 2019
Bandits Extend Winning Streak to 9 with a Series Opener Victory Over the Comets July 3, 2019
USSSA PRIDE UNLEASHED THE BATS FOR A 10-0 VICTORY July 2, 2019
Goodacre, Bunner and Cheek Named Week 5 Players of the Week July 2, 2019
PRIDE WIN AND HENDERSON THROWS PERFECT GAME July 2, 2019
Bandits Win Pair of One-Run Games for Six-Game Sweep of Wild July 1, 2019
Akron Racers
Aussie Peppers
Aussie Spirit
Beijing Eagles
Canadian Wild
Chicago Bandits
Chinese National
Chinese National Team
Home Page Top
Netherlands National Team
Philadelphia Force
Rockford Thunder
Texas Charge
Venezuelan Olympic
Washington Glory
Taylah Tsitsikronis First to Sign with Aussie Spirit Charlotte Morgan Named Head Coach of the Cleveland Comets


text:
Il Rognon è un fiume francese che scorre nella regione del Grande Est e che sfocia nella Marna.

Geografia
Nasce a sud-est di Is-en-Bassigny e scorre verso nord-ovest, in territorio collinare, attraversando piccoli paesi. Riceve pochi affluenti, soprattutto da destra. Il maggiore di questi è la Suerrue, lunga 28,8 km, che poco prima di confluire riceve a sua volta da destra la Manoise. Il Rognon si getta nella Marna nel punto di incontro dei confini di tre comuni: Donjeux, Mussey-sur-Marne e Saint-Urbain-Maconcourt.

Idrografia

Note

Altri progetti

Fiumi del Grand Est


The goal of the Eugene & Marilyn Glick Indiana Authors Award is to celebrate the written arts in Indiana, inspiring Hoosiers of all ages' love of reading, encouraging children to write and attracting greater attention to "home-grown" literary greats. The Award celebrates authors whose quality work has made, or has the potential to make, a lasting public impact.
Thank you for your interest in nominating an author.
Any living published writer who was born in Indiana or has lived in Indiana for at least five years will be eligible.
Authors who have published works of fiction, prose, poetry and/or non-fiction are eligible.
Reference works, scholarly monographs and books of photography will not be considered.
If you are nominating an author whose work has been self-published, two chapters of the author's work must be uploaded to the Indiana Authors Award website as a PDF file. A nomination for a self-published author will not be considered without the accompanying sample of work.
If an author was previously nominated in the past five years, that nomination will be considered again this year.
If you previously nominated an author and would like to provide additional comments for consideration, please click here. Be sure to note the author's name, as well as your name, address and telephone number.
If selected as a finalist or winner, all nominated authors must be willing to participate in both the public programs and Award Dinner on Saturday, October 13, 2018 in Indianapolis, IN. Winning authors will also serve as writing ambassadors throughout the year, in partnership with schools and other organization in their area.
Any author who was previously named a winner in the National Author category is no longer eligible to be named a winner or finalist in future Award years.
Any author who has been named a winner of the Regional Author category is eligible to be considered in the National Author category in future Award years, as his/her body of work merits; however, he/she is not eligible to be named a Regional Author winner in future Award years.
Any author who has been named a winner of the Emerging Author category is not eligible to be named a winner in that category in future Award years; however, he/she can be named as a winner in the Regional or National Author categories in future Award years, as his/her body of work merits.
Any author who has been named a finalist of the Emerging Author category is eligible to be named a winner of this category in future Award years, as his/her body of work merits.
Any author who has been named a winner of the Genre Excellence category is eligible to be named a winner of the Regional or National Author categories in future Award years, as his/her body merits.
National Author: A writer with Indiana ties, but whose work is known and read throughout the country. National authors will be evaluated on their entire body of work.
Regional Author: A writer who is well-known and enjoyed throughout the state of Indiana. Regional authors will be evaluated on their entire body of work.
Emerging Author: A writer who has published no more than two books during his or her lifetime. The title(s) must have been published within the last 10 years. Emerging authors will be evaluated on these specific works.
Genre Excellence Author: This category will rotate each year to recognize authors of excellence in specific genres and highlight the rich diversity of writing in the state. Both new nominations for this category and regular nominations from previous years will be considered. Note: We are awarding a Lifetime Achievement Award in honor of the Award's 10-year anniversary and will not have a Genre Excellence category in 2018. The Genre Excellence category will resume in 2019.
National Author: $10,000 cash prize and $2,500 grant for his or her hometown Indiana public library.
Regional Author: $7,500 cash prize and $2,500 grant for his or her hometown Indiana public library.
Emerging Author: $5,000 cash prize and $2,500 grant for his or her hometown Indiana public library.
Genre Excellence: $6,000 cash prize and $2,500 grant for his or her hometown Indiana public library.
Nominations must be received by Friday, March 16, 2018.
The National Author and Regional Author winners will be announced by July 13, 2018. Finalists for the Emerging Author Award will be notified by July 13, 2018. The winner of the Emerging Author Award will be announced at the Award Dinner on October 13, 2018. The National Author and Regional Author Winners and Emerging Author Finalists must be present at the Award Dinner on October 13, 2018 to win.
The 9-member Award Panel includes a diverse range of views, backgrounds and literary experience necessary to deliberate the merits of all nominated authors. The Award Panel will grant awards at its discretion, and the decision of the Award Panel is final.


text:
A Fincantieri shipyard in Ancona, Italy.
Italian shipbuilder chooses Yucatán for LatAm's biggest shipyard
Fincantieri will partner with the state in building the facility in Progreso
Published on Wednesday, November 25, 2020
Latin America's biggest shipyard will be built in Progreso, Yucatán, the Italian shipbuilder Fincantieri announced.
The company said it signed a letter of intent on Tuesday with the Yucatán Ministry of Economic Development and Labor to participate in designing and building a new ship repair, conversions and maintenance yard in the port city located on the Gulf of Mexico about 40 kilometers north of the state capital Mérida.
"Fincantieri will be granted a 40-year concession for the exclusive management of the new yard," the company said in a statement.
Construction of the shipyard, which will include two dry docks on a 40-hectare site, is expected to cost between US $300 million and $500 million.
Fincantieri said the shipyard will be able to handle ships up to 400 meters in length, "particularly cruise ships, large cargo and oil and gas vessels, which need complex operations."
It also said the yard will have "a lifting platform for units up to 150 meters in length" as well as "cranes, workshops, special equipment, offices, and warehouses."
The yard is slated to start operations in 2024 but the project is not expected to be finished entirely until 2027.
"Initially, the creation of the yard will be carried out by the government of the state of Yucatán," Fincantieri said, adding that the project will start in the first half of 2021.
"Indeed, the government will directly manage initial works through a special purpose company that will handle the dredging and the construction of infrastructure and [the] main plants," the company said.
"Fincantieri is to provide advice from the very beginning," the firm said, adding that it will build the yard's "advanced facilities" with other partners.
Fincantieri, one of the world's largest shipbuilders, also said it will be involved in the training of staff that will be employed at the facility. Prospective employees will undertake training before the shipyard begins operations "locally and in Italy at higher education institutes and at Fincantieri Academy," it said.
The newspaper El Financiero reported that the Yucatán government will open a tendering process in early 2021 to find companies to work on the initial construction.
State Economic Development and Labor Minister Ernesto Herrera Novelo said in an interview that two companies set to benefit are Grupo Millet, a window manufacturer that has recently increased its production capacity in the Yucatán municipality of Baca, and Niplito, a Mérida-based construction supplies firm.
The new Progreso shipyard will have the same capacity to build and repair vessels as yards located in Houston, Texas, and Panama, Herrera said.
The minister said legal certainty in Yucatán was a crucial factor in attracting investment from Fincantieri. He added that the positive impact of the investment will be comparable to that generated by Grupo Modelo's opening of a new brewery near Mérida in 2017.
Fincantieri said that once the Progreso shipyard reaches full operational capacity, it will employ an estimated 700 full-time workers, "and supply a downstream network involving up to 2,500 workers during peak times."
Source: El Financiero (sp)


Cybarco Development Ltd (hereinafter "we", "us" or "our") is the controller of the information collected or provided directly.
You may, at any time, send us an e-mail at info@cybarco.com to exercise your above rights in accordance with the applicable legal requirements and limitations. If you are located in the European Economic Area, you have a right to lodge a complaint with your local data protection authority.
You may also contact us at 10 Tefkrou Anthia Street, 2540 Nicosia, Cyprus, telephone +357 22 741 300.


text:
namespace Fixtures.AcceptanceTestsAzureCompositeModelClient.Models
{
    using Fixtures.AcceptanceTestsAzureCompositeModelClient;
    using Newtonsoft.Json;
    using System.Collections;
    using System.Collections.Generic;
    using System.Linq;

    public partial class Cat : Pet
    {
        /// <summary>
        /// Initializes a new instance of the Cat class.
        /// </summary>
        public Cat()
        {
          CustomInit();
        }

        /// <summary>
        /// Initializes a new instance of the Cat class.
        /// </summary>
        public Cat(int? id = default(int?), string name = default(string), string color = default(string), IList<Dog> hates = default(IList<Dog>))
            : base(id, name)
        {
            Color = color;
            Hates = hates;
            CustomInit();
        }

        /// <summary>
        /// An initialization method that performs custom operations like setting defaults
        /// </summary>
        partial void CustomInit();

        /// <summary>
        /// </summary>
        [JsonProperty(PropertyName = "color")]
        public string Color { get; set; }

        /// <summary>
        /// </summary>
        [JsonProperty(PropertyName = "hates")]
        public IList<Dog> Hates { get; set; }

    }
}


text:
Q: Use docker as test environment I have a similar question to this, but slightly different, and I don't figured out how to do it.
Like in the accepted answer was said, I know that I can pass commands to a container, but my scenario is this:
// Dockerfile

FROM node:8.9

LABEL maintainer="..."

ADD . /app

WORKDIR /app

RUN npm install --production

ARG PORT=10000

EXPOSE $PORT

CMD [ "npm", "start" ]

So, I'm installing only production dependencies to the container, this way my container is lighter, but I cannot run tests in it.
Do I need another Dockerfile for testing purposes?
I thought a tricky solution for this. Using an argument, but it doesn't look a good way to solve this. The solution would be:
// docker-compose.yml

version: '3'
services:
  api:
    build:
      context: .
      args:
      - PROD='--production'
      - PORT
  apitest:
    build:
      context: .
      args:
      - PORT

And use the PROD var in the Dockerfile
// Dockerfile

FROM node:8.9

LABEL maintainer="..."

ADD . /app

WORKDIR /app

RUN npm install $PROD

ARG PORT=10000

EXPOSE $PORT

CMD [ "npm", "start" ]

This way, only will be installed production dependencies in the api service.
Like I said, this is really tricky, so, is there an "official" or "recommended" approach that I'm not aware of? Maybe using a Dockerfile.test?

redpajama_set_name: RedPajamaStackExchange


TOP 5 BEST WEBSITES TO DOWNLOAD AMAZING PC GAMES ….
Gaming is a time killing tool and its a inception has become more than just a trend. however, these days these are quite huge number of games and developers. most of the PC games are addictive, as they trend to be awesome and good entertainers.
it is a website which focuses on tech products , reviews , news , prices , videos etc. and ther is a game download page on this site . you can download the games for pc on free of cost . you can search the games either by category or by the platform operating system .
softonic is one of the most popular site to download softwares and programs, for various platform devices. these are many games available in this website, which can downloaded for free.
this website shows you a list of top downloads and top ten popular games in according to the country you live. these games are cotagarized as action, adventure, casino, combat, running, racing, emulaters, board and so on.
to acess are download any type of game and software from the website you to get registerd on the website by using a valid details like username or email id and password.
we want to enjoy games at free of cost on your PC .Then GAMESSTOP is agaming hub for new kind of people.you can use this site online for windows software or you can download and use in offline mode also.
as in the name it contains ocean full of games. That is in this application we will find lot of free PC games.In this site every game is available for free for the entire world get access to all kind of games. you can find several similar games here.also you can see a large variety of games of each and every genre.games with all kind of sizes and graphics are available in the site.
one of the best features of the site is it does not contain any sort of adds by google ….etc.which will create lot of problems to the users like download button adds,unexpected popups,…etc while browsing.
all available games in this website are free of cost.you can access and download .
why we choose these websites to download best pc games ?
download the pc games is not a easy task too at the point of this article i will give the best websites to download pc games with high quality graphic pc games because of these websites are very user friendly.
so, you can choose the one of top 5 gameing websites to download as you willing to download .
finally the websites mentioned in this article are very popular, reliable, and compatible. so, you can download freely & you can have your gaming experience by using these websites without any hassle .


You can trust your brand to be aligned with a high quality, full color, glossy publication with a circulation of more than 10,000 copies each month. Johnston Now puts your message in the hands of readers from Four Oaks, Clayton, Smithfield, Benson and all towns in between.
Download our rate card for more information or contact us today to begin promoting your business.


Indeed, if issues (1) and (2) are forwarded to Google Scholar some papers about the Box Office including forecasting procedures are quickly found, see Sawhney and Eliashberg (1996) or Ghiassi et al. (2015). The approaches are quite diverse and can be differentiated by several aspects. These include what kind of input data is used, at which production stage (Pre-Production, Pre-Release, Post-Release) the forecast is made or which modeling technique is used (counting processes, regressions, neural networks). For example, in Derrick et al. (2014) a two step procedure utilizing regressions is proposed. First, the outcome of the starting week of a particular movie is predicted (using variables as Number of Reviews, Percentage of Positive Reviews, Star Power, Genre, …) and second, the difference between the forecasted and realized results for the first week is used to make a statement about the expected remaining Box Office. They show that this difference can be informative.
Having in mind that forecasts are possible, it seems natural to suspect that expected Box Office results are also in some way contained in the valuation of the producing company (question 3). Then, if the uncertainty of the revenue is resolved and the actual numbers differ substantially from the expectations a shift in the valuation could follow. If there are any persistent patterns this could be of potential use in a strategy to generate alpha, that is excess return over a benchmark model.
Luckily, some of the major American film studios which are sometimes called "Big Six" are part of a larger stock exchange listed conglomerate. For example, both above mentioned movies are made by Marvel Studios which belongs to Walt Disney Studios which belongs to The Walt Disney Company whose shares are mainly traded at the New York Stock Exchange (NYSE). This possibly enables to investigate how stock returns react when a new movie comes to the cinema. The following plot shows a first intuitive approach to this question.
The stock price of Disney is shown. Additionally, the red vertical lines depict the release dates of several rule-of-thumb selected Disney movies which were on the one hand really successful and on the other hand perhaps ex-post more successful than ex-ante expected. The blue and green lines correspond to a 15 trading day period directly before and after the release, respectively. Since I conjecture that these six movies (Marvel's The Avengers, Iron Man 3, Frozen, Guardians of the Galaxy, Star Wars: The Force Awakens, and Beauty and the Beast) did better than expected the mean return in the green Post-Release periods should be positive and perhaps also larger than in den Pre-Release period. However, the mean of the Pre-Release returns could be positive as well for several reasons: promising forecasts, good reviews, many trailer views, good feedback from tests crowds and suchlike. However, there are of course aspects which are able to blur the results: too few movies and therefore little statistical power, too small influence of the movie studios contribution in view of the turnover of the whole company, a bad choice of period length or also that the returns are possibly driven by other factors. To tackle some of these issues the following table reports estimates of mean returns (scaled to an annual basis; statistics, and values in brackets) not only for the particular case shown in the plot. Instead, a second larger film set consisting of 29 Disney movies since 1999 is used (a movie is included if it was in the Top 5 of the yearly US Box Office ranking), several variations of the period length (2 to 15 trading days) and finally results for residual returns of regressions using the three factors of Fama and French.
The results suggest that the period lengths 10 and 15 are likely too long. Here, noteworthy results (significant at 5 % level) can be found for the Pre-Release period of length 10 in the 6 movies case (raw returns as well as residuals) which is contradictory to the initial conjecture. Instead, focusing on the 6 movies case for period lengths 2 and 5 the crude mean estimates show the suspected behavior. However, since only 6 movies are considered the sample sizes seem too small (2*6=12 returns and 5*6=30 returns) to be able to state statistically covered conclusions ("Post Minus Pre Means" not significant). This is supported by the fact that merging Pre- and Post-Release Periods (doubled number of returns) leads to more significant results for the residuals returns.
In the 29 movies case considerable results are achieved only for the period length 5. For raw as well as residuals returns the Pre-Release period shows significantly positive mean returns, for residuals even at the 1 % level. This is carried over to the "Pre/Post Together" row where slightly less convincing values are reported. Note, that the 29 movies here are simply all Disney movies which were overall successful. That is, there are likely films included which did good but no as good as expected. How robust these Disney results are could be assessed using one of the other major studios. Besides, a more objective way to select unexpected blockbusters would be useful to increase the 6 movies sample and validate its members. For example, one of the available Box Office forecasting approaches could be useful to compute a historical pseudo Pre-Release prediction and then compare this to the realized turnover to justify the magnitude of surprise. Of course, real historical forecasts would be useful, too.
Derrick, F. W., N. A. Williams, and C. E. Scott (2014). A two-stage proxy variable approach to estimating movie box office receipts. Journal of Cultural Economics 38(2), 173–189.
Ghiassi, M., D. Lio, and B. Moon (2015). Pre-production forecasting of movie revenues with a dynamic artificial neural network. Expert Systems with Applications 42(6), 3176–3193.
Sawhney, M. S. and J. Eliashberg (1996). A Parsimonious Model for Forecasting Gross Box-Office Revenues of Motion Pictures. Marketing Science 15(2), 113–131.