So, yesterday I posted a little blurb I wrote for Remainder. In full flush of having posted it, I read it last night for my writing group. And, so, the pluses/minuses of being part of a writers group, and hence today's title, be careful what you ask for.
Because I got the full brunt of their critique. To get right down to it, after setting ego aside, I saw the value of their criticisms. Here, after a bit more work and input from my closest critics, is the revised blurb.
If Wilson Parker better understood what he was taking on when he headed into Remainder, then the town's future might not come down to a race between him and the son of a dying man.
As the war on terror builds, Wilson's boss is building one of his infamous planned developments to show 'those terrorists' how successful – and unafraid – America can be.
Encouraged by the eagerness of Ray Boone, who sees booze bottles next to the buyout's dollar signs and Branden McKewen, who needs to move to New York City to help rebuild, salesman Parker expects property deals to go smoothly. But success requires the cooperation of the landowners, and they are an independent if not eccentric bunch. As the push-and-pull continues, the life-paths of a dozen or more of Remainder's residents change. For Wilson Parker and 13-year-old Ty Cummins in particular, this year changes everything.
Writing groups are great, and I'm glad I asked their opinion, however humbling an experience it was. I am happy I made the changes I did, as the blurb is both more specific and inclusive of better, more coherent detail. It also struck what I feel is the right note.
It's a reminder to be willing to let go of our babies, and to consider criticisms respectfully leveled at our work thoughtfully. I kept what I wanted for the new blurb, and discarded or re-worked the rest. It's all in the name of making the writing better.
This entry was posted in revising your work, self-promotion, Uncategorized, writing and tagged #amwriting, #revising, #writebetter, #writinggroups, #writingskills by Robin Minnick. Bookmark the permalink.


text:
First impressions: Tango Animal by San Telmo Lounge
Tomáš Kohl | 14 Mar 2021
Time to take another trip to the territory claimed by Neo-Tango, one that I have so far not mapped out in detail. The occasion? The 2019 album Tango Animal by the group San Telmo Lounge based in Rosario, Argentina.
I have used their music in my progressive mixes, and it generates mostly positive and very melodic vibes. Having revisited their Bandcamp home, I realized it was missing in my library and promptly purchased it. It sat in my Inbox a month or so, and now is the time to look at it.
This won't be a proper review as I feel I am not yet ready to say anything final on the subject. Mostly impressions and gut feeling. As I wrote in my notes to the album Acostumbrarse no es bueno by Lilí Gradés, I need to get to know a lot more post-2010 neo-tangos to build the proper context.
The music in detail
First of all, I am not convinced I should box this into the "Neo-Tango" category at all. The instrumentation is acoustic as far as I can tell. I will only do so to take a shortcut, and also because the music clearly comes from a different background than contemporary tango does, stylistically, melodically, rhythmically, etc.
There is a remarkable consistency to the overall sound of the album, perhaps thanks to the fact that all the music was composed and arranged by the bandleader, Martín Delgado. Or is it because it was produced by Acho Estol (of the "La Chicana" fame), as the album description says, and he molded it to his unique form? I don't know.
This consistency does not imply that the songs sound the same. Not at all. If there's one aspect I really like about this band, it's how they work with melody. Most of the tracks are pleasant, some cheerful, others a bit weird (weird as in Austin, not as in "creepy"). All will please your ears with opinionated, non-trivial melodies.
Will they also please your feet? I haven't tested them yet apart from my progressive mixes, which have been produced amids the COVID tango shutdown and not yet verified on dancers.
The tempos don't suggest that a traditionalist milonguero would find himself right at home here. The opening Larvario, for instance, is a sort-of vals but with BPMs around 45. It has a certain circus feeling to it, with the glokenspiel and fliscornio (some kind of a trumpet) joining in. Me personally, I like valses above 60 BPM and preferrably 65+ but I can imagine a more open-minded dancer will be quite happy with this otherwise memorable and melodic vals. Plus it only runs for 2:22 - doable.
Larvario by San Telmo Lounge
I didn't quite get into the right mood with Cerdos. Featuring heavy beats and lots of electric guitar, it evoked a "rock" feeling in me, and I find it antithetical to tango. If I listen to it as a rock song with no ambitions to dance to it, though, I can enjoy it just fine.
Cerdos by San Telmo Lounge
Buitres is a pleasant melodic chill-out (one of the most overused terms I use in my DJ comments to the tracks I have), flowing at almost 40 BPM and telling a compelling story. At 4:48 it's quite long, and so I'd be careful when considering whether to drop it into the set or not. I can see its potential, though.
Buitres by San Telmo Lounge
Gato moves the needle up to ~ 42 BPM, and is a charming slow walker with a perfect length of 2:21. I felt that when dancing I'd have to alternate between the normal and double tempo, and this is true to many other tracks not just on this album - given a normal walking beat of 60 BPM, doing 40 consistently would be tiresome but the music does not really suggest the double tempo overall (like a slower milonga at 84 BPM would), and so you have to be on a lookout a phrase that allows for it and apply it from time to time.
Gato by San Telmo Lounge
Gallo drops the tempo too low to lay any claim on danceability. A rather long, melodic, and mostly static song, it's only there to please your ears.
Gallo by San Telmo Lounge
Perhaps the most "weird" (in a good way) is Amores Perros, a 5+ min. long song with a very circus feel to it (a recurring theme here) with all the wind instruments joining in. I found it at times comical, at times engaging, and often somehow reminiscent of the Balkans - not yet sure why. Again, at five minutes I wonder if it's too much for dancing? The tempo is at ~ 51 BPM, so quite slow, and long and slow don't work so well together on the dance floor. That said, it's a lot of fun with just your headphones on, sitting in a chair.
Amores Perros by San Telmo Lounge
Leona is a beautiful canción. I loved the interplay of the cello, violin, and the singer here. It flows at nearly the normal walking beat (~ 55 BPM), and yet somehow I don't feel the dancing drive to be present. It's all very rounded, smooth, without regular accents giving guidance to the leader. I think I'll keep this one for listening only.
Leona by San Telmo Lounge
I found Hiena to be lively and engaging, despite its nominal tempo of ~ 50 BPM. Putting in some double tempo with your feet won't be much of a challenge. There's a lot going on here, and it's one of the highlights of this album for me. Also its length of 3:34 is just about right. I will use this someday.
Hiena by San Telmo Lounge
Finally, Mi Zorro. Being the only track that flows at the normal walking beat (~ 62 BPM), it could be most readily adopted by dancers less used to "nuevo" milongas. The theme is catchy and as the band elaborates on it, there are plenty notes flying around, with some phrases thereby suggesting double tempo. Again, a lot going on here.
Mi Zorro by San Telmo Lounge
I have enjoyed this album without reservations, perhaps because I did not expect to be served a menu of straight-to-the-dancefloor courses. For consumption with your headphones in a sitting position, it's a wonderful selection of music that defies easy characterization but is always melodic and pleasurable.
The band's singer, Laura Cardini, is a joy to listen to: charming and soft but with depth.
There's a couple of tracks that I would like to use in my upcoming mixes and in live events once tango returns and I can organize and DJ again. I would consider Buitres, Gato, Hiena, and Mi Zorro.
If you like it, too, make sure to head over to Bandcamp and support the band by purchasing their music. I purchase all the music I review, and link to Bandcamp rather than Spotify whenever I can. The artists needs us now more than ever.
Tags: Reviews
Review: Tango de Invierno by Solo Tango Orquesta
A new live album by Solo Tango Orquesta just came out. Have a listen!
Review: Para Siempre by Pablo Valle Sexteto
Another day, another round of covers, this time a compilation of styles borrowed from Messrs. Di Sarli, Biagi, D'Arienzo, Troilo, and Pugliese. Released originally in 2017, Pablo Valle Sexteto has made it available on Bandcamp a few days before Christmas 2020. Let's have a listen.

redpajama_set_name: RedPajamaCommonCrawl


While many people stood in line for Marvel's big announcements at Comic-Con International , other science-fiction fans were being treated to a panel discussion on the 30th anniversary of Aliens. Director James Cameron and his cast and crew talked about the experience of making the original film, but those also interested in the future of the franchise were treated to Cameron's first impression of the oft-delayed Neill Blomkamp Alien 5.
According to HitFix, Cameron began by admitting he was not a huge fan of David Fincher's third Alien film, noting that the offscreen death of several Aliens characters between movies was "a huge slap in the face to the fans." Afterwards, though, Cameron admitted that he had read Blomkamp's script for the new movie and loved it.
Having the praise of the director of Aliens certainly bodes well for Blomkamp's chances at getting the movie made, but what exactly does an endorsement by James Cameron in 2016 really mean? Despite his own history as a director of great Hollywood sequels, Cameron's track record when it comes to other people's sequels is considerably more hit-and-miss. Two years ago, Cameron offered an unqualified endorsement of Terminator Genisys, saying that the new film "reinvigorated" the franchise and had become the official third film of the series in his mind (sorry, Terminator 3: Rise of the Machines and Terminator Salvation). Cameron also made headlines a few weeks ago for saying that he had many reservations about Star Wars: The Force Awakens. In particular, Cameron disliked J.J. Abrams's decision to rehash the plot points of the first film instead of taking advantage of all the possibilities Star Wars has to offer.
If these two examples show anything, it's that Cameron is unsurprisingly a fan of bigger and better in his sequels, something that Terminator Genisys at least tried to offer while Star Wars: The Force Awakens did not. Whatever the Alien 5 script has to offer — if the Alien 5 script ever actually gets made — it's a safe bet that it won't exactly be playing it small with the characters that Cameron created for his second Alien film. With Cameron and Sigourney Weaver both singing the praise of Alien 5, if nothing else, I hope it gets made some day so I can once-and-for-all who was right and who was wrong.


The metropolitan police are apparently asking for yet more money for their Madeleine McCann inquiry. They've spent around £12 million already and now want more taxpayers' cash.
Dr Vernon Coleman: Would you hire the McCanns as babysitters?


New York : Berkley Books, 2015.
ix, 326 pages ; 20 cm.
"A hilarious, deftly written debut novel about a woman whose wanderlust is about to show her that sometimes you don't have to travel very far to become the person you want to be... There are many reasons women shouldn't travel alone. But as foul-mouthed, sweet-toothed Kika Shores knows, there are many more reasons why they should. After all, most women want a lot more out of life than just having fun. Kika, for one, wants to experience the world. But ever since she returned from her yearlong backpacking tour, she's been steeped in misery, battling rush hour with all the other suits. Getting back on the road is all she wants. So when she's offered a nanny job in London - the land of Cadbury Cream Eggs - she's happy at the prospect of going back overseas and getting paid for it. But as she's about to discover, the most exhilarating adventures can happen when you stay in one place... Wise, witty, and hilarious, Girls Who Travel is an unforgettable novel about the highs and lows of getting what you want--and how it's the things you least expect that can change your life"-- Provided by publisher.
Girls who travel / Nicole Trilivas.
100 ME:PersonalName 1 $a Personal name Trilivas, Nicole.
$c Statement of responsibility Nicole Trilivas.


Make text in your drawings scannable using any mobile phone or tablet with a camera. All you need is one of many available QR code reader applications for your device, and this plug-in.
QR Codes, also called mobile barcodes, can represent plain text, URLs, contact information, or geographic coordinates (using the FIELD command). Any existing text objects can be converted to QR codes by setting the Optically Scannable (text) property to 'yes' in the Property palette.
Very Nice Tool but I have 2 wishes to be made better ..
I used it previously when was still in development stage.
My second wish is if is possible to be exploded ad AutoCad Objects, Either Hatch or best wide polylines.
Opening the drawing in Autcad that has no Plugging installed, Shows only the Mtext(and bad formatted if the QR code was created from scratch not converting existing Mtext), which is not good for sending drawings out to clients, Its limits the compatibility of the created drawing.
Other ways it is a great tool that I think will be used in the industry, Why not labelling parts for construction site??
Great tool! Have crashed on my with AutoCad 2017 but never in 2019 but I what i'd really like is if it would work in TrueView aswell.
worked as described, nice little tool.


CLOSING COSTS can be mysterious. I've had this conversation with buyers many times, so I thought I'd write a *general* post about the matter.
FIRST OF ALL, if the real question is: "How much money do I need to buy this house?" we also need to look at the down payment.
1. MINIMUM DOWN PAYMENT. Your minimum down payment will depend upon what type of loan you are using to buy the home.
PLEASE NOTE THESE ARE ESTIMATES! THERE ARE VARIABLES, SUCH AS TOTAL ORIGINATION FEES, AMOUNT OF TAXES, ESCROW FUNDING REQUIREMENTS, ETC.
This $10,500 does not include costs paid for outside of closing, such as your private building inspection costs (figure around $400-450 for building & termite, and add $150 if you'd like radon, too. Another $175 if you'd like to scope the sewer lines, etc.). This also does not include the appraisal fee, which is normally required to be paid outside of closing, for ~ $400.00.
I hope you found this helpful. Have any questions? Please call me!


Zara Khaki Zip Jeans Size 34 WORN A FEW TIMES, HOWEVER IN PERFECT CONDITION! Super gorgeous true-khaki green, with silver hardware and zip detailing, in a flattering fit fabric. Low rise and skinny! Feel free to message me for more info! Check out my other items to find something you love!


At Urmston Grammar, we undertake to provide a friendly and safe environment in which students will be helped to achieve their potential, both academically and socially.
We do however recognise that sometimes things can go wrong and parents, carers and members of the public may need to make a complaint or raise concerns they have with the school. This policy tells you what to do if this happens.


Researchers have devised a new kind of timing attack to steal information from a different process running on the same core with SMT/hyper-threading enabled. By carefully measuring port contention delays when sending instructions to a shared core, the researchers could recover a private key from a different process. Intel CPUs are probably not the only ones affected.
Intel has disclosed a new speculative execution side channel vulnerability, dubbed L1 Terminal Fault, that could potentially leak information residing in the processor L1 data cache. Mitigations are already available, according to Intel, based on its latest Microcode Updates and corresponding updates to operating systems and hypervisor stacks.
Intel has disclosed a new vulnerability affecting most of its Core processors and making them targets for side-channel attacks similar to Spectre and Meltdown. The vulnerability, dubbed Lazy FP state restore (CVE–2018–3665), allows a process to infer the contents of FPU/MMX/SSE/AVX registers belonging to other processes.
Microsoft, Red Hat and Intel have published their performance evaluation of the impact Meltdown and Spectre mitigation has on various systems.
The newly formed Enterprise Ethereum Alliance has published a Vision Paper outlining "a vision for users and stakeholders to propose, implement, and integrate advances to the Ethereum protocol with support for Enterprise Ethereum protocols." In this paper the EEA discusses many topics related to Pluggable Consensus, interoperability, Ethereum protocol updates, storage and performance.
In a recent blog post, Microsoft announced their participation in the newly formed Enterprise Ethereum Alliance. The mission for this alliance is to learn from and build upon the only smart contract supporting blockchain currently running in real-world production and to define enterprise-grade software capable of handling the most complex, highly demanding applications at the speed of business.
At the recent World Government Summit, Hexayurt Capital and ConsenSys released a paper called "Building the Hyperconnected Future on Blockchains." The purpose of the paper was to provide an Internet of Agreements (IoA) strategy and roadmap for the next wave of innovation in order to drive Globalization 2.0.
Intel open-sources BigDL, a distributed deep learning library that runs on Apache Spark. It leverages existing Spark clusters to run deep learning computations and simplifies the data loading from big datasets stored in Hadoop.


text:
#region License

#endregion

using System.Configuration;
using System.Xml;

namespace Common.Logging
{
    /// <summary>
    /// A ConfigurationReader implementation that call the ConfigurationSectionHandler on a
    /// supplied XML string.
    /// </summary>
    /// <author>Mark Pollack</author>
    public class StandaloneConfigurationReader : IConfigurationReader
    {
        private string xmlString;

        /// <summary>
        /// Initializes a new instance of the <see cref="StandaloneConfigurationReader"/> class.
        /// </summary>
        public StandaloneConfigurationReader()
        {
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="StandaloneConfigurationReader"/> class.
        /// </summary>
        /// <param name="xmlString">The XML string.</param>
        public StandaloneConfigurationReader(string xmlString)
        {
            XmlString = xmlString;
        }

        /// <summary>
        /// Gets or sets the XML string.
        /// </summary>
        /// <value>The XML string.</value>
        public string XmlString
        {
            get { return xmlString; }
            set { xmlString = value; }
        }

        /// <summary>
        /// Parses the configuration section and returns the resulting object.
        /// </summary>
        /// <param name="sectionName">Name of the configuration section.</param>
        /// <returns>
        /// Object created by a corresponding <see cref="System.Configuration.IConfigurationSectionHandler"/>.
        /// </returns>
        /// <remarks>
        /// 	<p>
        /// Primary purpose of this method is to allow us to parse and
        /// load configuration sections using the same API regardless
        /// of the .NET framework version.
        /// </p>
        /// </remarks>
        /// <see cref="ConfigurationSectionHandler"/>
        public object GetSection(string sectionName)
        {
            ConfigurationSectionHandler handler = new ConfigurationSectionHandler();
            return handler.Create(null, null, BuildConfigurationSection(XmlString));
        }

        /// <summary>
        /// Builds the configuration section XmlNode given an Xml string.
        /// </summary>
        /// <param name="xml">The XML string</param>
        /// <returns>The XmlNode of the document corresponding to the string.</returns>
        private static XmlNode BuildConfigurationSection(string xml)
        {
            ConfigXmlDocument doc = new ConfigXmlDocument();
            doc.LoadXml(xml);
            return doc.DocumentElement;
        }
    }
}

redpajama_set_name: RedPajamaGithub


text:
Stringfellow to participate in Let Them Eat LACMA
07 Nov Stringfellow to participate in Let Them Eat LACMA
Kim will participate in Let them Eat LACMA—a one-day event where dozens of artists and collectives will activate, intervene, and re-imagine the entire museum's campus and galleries. Peppered with interactive talks, performances, and events, Let them Eat LACMA will expand our perception of art, food, and the museum.
FIFTY ARTISTS EXPLORE FOOD, ART, CULTURE AND POLITICS
Sing for your supper, come bellyache with us and slake your thirst at Let Them Eat LACMA! For the last "course" of EATLACMA, a year-long investigation of food, art, culture and politics, we've assembled over fifty artists and collaborations all focused in different ways on food.
High tea and gluttony, belly listening, parasites, Spam, and the world seen from the potato's perspective! David Burns, Matias Viegener and Austin Young of Fallen Fruit invite artists and the public to reconsider the museum and the very first form of civilization: food, and to examine the most primordial thing that connects us to each other: what, how, and why we eat. Share a bite and nibble and munch your way through a wild menu of installations, performances and interventions throughout the entire museum campus.
See chewing carolers, a tomato fight, and a year's worth of plates assembled into a mandala that disappears into the crowd! Join us for a watermelon eating contest, hear about the mystery of the knife, fork and spoon, watch Salome seduce her lover through the language of food, sample the food served to prisoners in California jails, and finally, EAT THE MUSEUM itself!
Artists and collectives participating in Let Them Eat LACMA include Karen Atkinson, Animals of Distinction, Gina Badger, Karen Black, Ronee Blakley, Lauren Bon and The Metabolic Studio, John Burtle, Michelle Carr, Robert Crouch, Cloud Eye Control, Didier Hess, Harry Dodge, Jeanne Dunning, Fallen Fruit, Finishing School, Liz Glynn, Jonathan Gold, Veronica Gonzalez, Sean Griffin, Dana Gingras, Liz Hansen, Micol Hebron, Anna Homler, The Infamous Boom Boom!, Islands of LA Presents Roots of Compromise, Emily Katrencik, KILLSONIC, Ari Kletzky, John Knuth, Kadet Kuhne, Machine Project, Ann Magnuson, Jorge Martin, Jesse Merlin, Crys Moore, My Barbarian, National Bitter Melon Council, Katie Newcom, Yann Novak, Gina Osterloh, Adam Overton, Owen Driggs, Sun-Yun Park, Phranc, Eva Posey, Miss Barbie-Q., Marco Rios, Jennifer Rubell, Sook Shim, Cindy Short, Susan Simpson, Slanguage, Juliana Snapper, Åsa Sonjasddotter, Squeaky Blonde, Kim Stringfellow, Sublamp, Lisa Teasley, Stephen van Dyck, We Are The World, Michiko Yao, and Bari Ziperstein.
For more information on this event, please visit: http://eatlacma.org/let-them-eatlacma/.
Event date: Sunday, November 7, 2010 from 11am – 8pm at the Los Angeles County Museum of Art (LACMA)
THE OWENS VALLEY WATER PROJECT
The Owens Valley Water Project illuminates the controversial history and physical sources of municipal drinking water for the city of Los Angeles.
Project Synopsis:
For Let Them Eat LACMA, artist Kim Stringfellow exhibited a series of wall-mounted digital slide shows illuminating the controversial history and physical sources of municipal drinking water for the city of Los Angeles. The digital photo frames were mounted directly above drinking fountains found throughout the LACMA campus for the November 7th, 2010 event. Each digital photo frame displayed a multimedia presentation with text, photos, and audio addressing the contentious and colorful history of the Los Angeles Aqueduct system.
The Owens Valley watershed is a complex system of over forty creeks and streams that drain from the Eastern Sierra Nevada mountain range into the Owens River. During the past century, the Owens River has been radically transformed and engineered into a larger water transportation and power system known as the Los Angeles Aqueduct. The transformation of the Owens Valley watershed is part of a famously contentious history made up of both myth and fact representing one of the most well-known water/land grabs in U.S. history. The dynamic growth over the last century and the physical landscape of Los Angeles undeniably resulted and are intrinsically linked to the construction and service of the aqueduct. The aqueduct remains a controversial topic for Owens Valley residents to this day due to the fact that its manager, the Los Angeles Department of Water and Power (LADWP), remains the largest private landholder in the valley.
The goal of the project is to connect its audience visually to a selection of distant physical locations providing water for the city of Los Angeles. The project also seeks to provide educational and historical information about the Los Angeles aqueduct system as well as water conservation issues.


text:
The 21º Corona Rally México, the fourth round of the 2007 World Rally Championship season, took place between March 9–11 2007. The rally consisted of 20 special stages, of which five were super specials. The event was won by Citroën's Sébastien Loeb, followed by Ford drivers Marcus Grönholm and Mikko Hirvonen.

The drivers' championship leaders, Grönholm and Hirvonen, were the first drivers on road and lost time as they had to sweep the loose gravel. They were followed by Loeb, who was able to keep close to Subaru's Petter Solberg, who benefited from his better starting position during the first three stages. However, Solberg, in the new Subaru Impreza WRC 07,  had to retire at the start of SS6 giving the lead to Loeb. After the first day, Ford identified and fixed a sensory fault in Grönholm's car. The problem had caused lack of engine power and troubled the Finn: "In the morning, I was sweeping. In the afternoon, I was sleeping". The second leg saw Grönholm quickly climb to second place, but Loeb continued setting top times and extended his lead to Grönholm from 43 to 60 seconds. Hirvonen, Chris Atkinson and Dani Sordo battled for the third place. Hirvonen was the fastest driver on the final day and secured the last podium position, ahead of Sordo, Atkinson, Manfred Stohl, Jari-Matti Latvala and Matthew Wilson. Loeb took the win 55.8 seconds clear of Grönholm.

Results

Retirements
  Nasser Al-Attiyah - mechanical (SS2/3);
  Petter Solberg - no oil pressure (SS5/6);
  Francisco Name - retired between leg 1 and 2 (before SS8);
  Martin Rauam - gearbox failure (SS9);
  Gareth MacHale - damaged suspension (SS13);
  Leszek Kuzaj - mechanical (SS13);

Special Stages
All dates and times are CST (UTC-6).

Championship standings after the event

Drivers' championship

Manufacturers' championship

References

External links
 Results on official site - WRC.com
 Results on eWRC-results.com
 Results on RallyBase.nl

Mexico
Rally Mexico
Rally

redpajama_set_name: RedPajamaWikipedia


London mayoral hopeful Sadiq Khan is reported as saying during hustings that there are too many fried chicken shops in London.
So which London MP said this about ubiquitous chicken shop Chicken Cottage at the company's awards ceremonies in 2012?
"Chicken Cottage is a British product that is doing a fantastic amount in our country...over the last period Chicken Cottage has created 1,000 new jobs in our country, added £50m to the UK's GDD and over the next five years will be creating 400 new jobs as well.
"And here's the beautiful thing. This is a British product...selling Islamic products, selling halal products...that is niche and general but it's gone mainstream.
It was, of course, Sadiq Khan. Watch below.
@JoshFeldberg @mePadraigReidy In the words of Braveheart: "They may take our lives, but they'll never take... OUR BARGAIN BUCKETS!"


text:
LOCRIAN Signs With RELAPSE RECORDS
Relapse Records has announced the signing of experimental, dark ambient/noise trio LOCRIAN. The band will enter Electrical Audio in Chicago later this year with producer with Greg Norman to record its new album. Furthermore, this summer Relapse will reissue the group's most recent vinyl-only release, "The Clearing", as a two-CD/digital deluxe album with a bonus disc, re-titled "The Clearing/The Final Epoch".
Formed in late 2005, LOCRIAN consists of André Foisy (electric and acoustic guitars, arp avatar, electronics), Terence Hannum (vocals, synthesizers, piano, organ, mellotron and tapes) and Steven Hess (drums, electronics). The group, located in Chicago, Illinois and Baltimore, Maryland, has released over 20 recordings on an eclectic array of labels in their relatively short but prolific career, including a recent split with labelmates HORSEBACK.
Commented Foisy: "It's really an honor to be working with one of the labels that we grew up with and a label that's put out such a wide variety of material that we love."


text:
Date: Sun, 13 May 2001 11:04:14 -0700 (PDT)
From: Doug Skrecky <>
Subject: Douglas Adams dies
extropians-digest         Sunday, May 13 2001         Volume 06 : Number 132
http://news.bbc.co.uk/hi/english/uk/newsid_1326000/1326657.stm
Author Douglas Adams, who wrote The Hitchhiker's Guide to the Galaxy, has
died suddenly aged 49.
Mr Adams died on Friday morning in Santa Barbara, California, following a
heart attack, said his spokeswoman Sophie Astin.
Adams's novel was turned into a BBC series
The author became a household name when the cult science fiction novel was
turned into a BBC TV series.
Adams was born in Cambridge in 1952 and educated in Essex before returning to
Cambridge to study at St John's College.
His career included work as a radio and television writer and producer before
his life was changed by the publication of The Hitchhiker's Guide to the
Galaxy in 1979.
The satirical tale chronicled the journey of alien Ford Prefect and his human
companion Arthur Dent throughout the universe after the destruction of Earth.
It centred around the search for an answer to life, the universe, and
everything - which turned out to be 42.
Arthur Dent and Slartibartfast became cult figures
The novel went on to sell more than 14 million copies worldwide and was
followed by the sequels The Restaurant at the End of the Universe, Life, the
Universe and Everything and So Long and Thanks For All the Fish.
In recent years the author had been working on a Hitchhiker's Guide movie.
There was much speculation about who would play Arthur Dent, with Hugh
Laurie, Rowan Atkinson, Jim Carrey, Ben Affleck and even Bruce Willis said to
be in the running.
Adams married Jane Belson in 1991 and had a daughter, Polly, in 1994.


text:
George son of Revaz Cholokashvili + Sofia daughter of Nikoloz (Nicholas) Eristavi of Aragvi
N s o I Eristavi of Aragvi
Nikoloz son of Ioseb Eristavi of Aragvi
Николай Иосифович Эристави (Арагвский)
Birth 4 January 1858 28 23
Death 19 February 1910 (Age 52)
Elena (Nene) d o G Makashvili
Elena (Nene) daughter of George Makashvili
Елена (Нене) Георгиевна Макашвили
Marriage 11 November 1884 -
George son of R Cholokashvili
George son of Revaz Cholokashvili
Георгий Ревазович Чолокашвили
S d o N ( Eristavi of Aragvi
Sofia daughter of Nikoloz (Nicholas) Eristavi of Aragvi
Софья Николаевна Эристави (Арагвские)
Birth 5 June 1892 34 30
Marriage 15 July 1910 -
Marriage 15 July 1910
Last change 31 May 2014 - 14:53:55
by: matvey7788


You work hard for your business. Make sure your money does too.
Save from £85,000 - £1m and earn interest on your business savings.
Access your account online any time, with a UK support centre.
Apply online to start the application process.
Dependent on meeting eligibility criteria. Account available to UK-registered companies (at least two years) with UK-based directors and shareholders.
Complete the short form below to open a 32-day Notice Account for your business.
One of our team will contact you shortly for further details required to complete your application and open your account with Investec.
Complete the short form below to enquire about opening a 32-day Notice Account for your business.
After the initial 32-day period you can apply notice at any time to receive funds 32 days later.
Access your account information online 24/7 or via telephone banking 8am-6pm Monday – Friday.
A minimum balance of £85,000 is required. A maximum balance of £1,000,000 applies.
Interest is paid monthly on the 1st of each month, and will be available the next business day.
*AER stands for Annual Equivalent Rate and shows what the interest rate would be if interest was paid and added to the capital balance annually. AER is intended to help you easily compare the return available on different savings products.
**Gross PA is the rate of interest paid without the deduction of tax.
The interest rate on the Investec Business Savings 32-day Notice Account is variable, that means that the Interest Rate could change in the future.
If at any time we do need to decrease the Interest Rate on your account you will be given at least 60 days prior notice before the change is made. We will also provide you with prior notice of any planned increase to your interest Rate.
For more information on how or why your interest rate might change you can contact our team on 020 7597 3587.
What would the estimated balance be after 12 months based on a deposit of £85,000?
At current interest rates a deposit of £85,000 would generate an interest of £1,146.02 after 12 months. This would provide a final balance of £86,146.02.
This projection is provided for illustrative purposes only and is not based on individual circumstances. This illustration also assumes that the initial balance remains unchanged and that no withdrawals or further deposits are made in this period. The projected balance is based on the monthly interest rate.
You are a UK limited company; your business is classed as a micro, small or medium enterprise (SME).
You can apply for an account by completing the online application form. We will contact you shortly afterwards for additional information required to open your account.
Minimum deposit to open is £85,000.
You can add funds to your account in increments of £1,000.
Each business group can save up to a maximum of £1,000,000 with Investec, across all business savings accounts.
If you would like to talk to us about your business account you can call us on 020 7597 3587.
You will receive a welcome pack by email with details of your account.
Account signatories and authorised dealers will be able to view the Business Savings Account by logging into the account online.
Online statements will show the balance, details of any transfers and interest added to the account.
You can give notice over the phone or by email.
You can only send money back to an account in your business' name.
This account is not a payment account. You can only send money back to an account in your business' name.
We pay interest without deducting tax, you may need to pay tax on interest earned. For more information please visit HMRC's website hmrc.gov.uk.
FSCS Protected – most businesses are protected by the Financial Services Compensation Scheme. This means that if your business is eligible, you will be protected up to £85,000 across any deposits held with Investec.
Account available to UK-registered companies (at least two years) with UK-based directors and shareholders.
Account not available to sole traders or partnerships.


Unscheduled Maintenance - December 15, 2017 | Dexless, Maplestory Guides and More!
We will be performing an unscheduled maintenance on Friday, December 15, 2017 at 8:00 AM PST (11:00 AM EST / 5:00 PM CET / 3:00 AM AEDT). We anticipate the maintenance to last approximately 2 hours.
"Are you ready to exit?" login issue at the channel selection upon first log-in for old accounts will be fixed.


text:
@interface IDNSegList()
@property(nonatomic) BOOL needsSave;
@end

@implementation IDNSegList
{
	NSArray* inmutablelist; //固定列表。是对listRecords的拷贝。主要是考虑多线程的问题,在读取列表内容的同时,后台可能会修改列表。每当列表被修改时,inmutablelist会设为nil,然后当访问list属性时,会重新生成inmutablelist
	NSMutableArray* listRecords;

	BOOL loadingHead;
	BOOL loadingTail;
	BOOL isReload; //在loadingHead时有效,区分是refresh还是reload。
	NSMutableArray* headFinishedBlocks;
	NSMutableArray* tailFinishedBlocks;

	NSPointerArray* observers;

	NSMutableDictionary* persistDict;
}

- (instancetype)initWithPersistFilePath:(NSString *)persistFilePath
{
	self = [super init];
	if (self) {
		_segmentLength = DefaultSegmentLength;
		_persistFilePath = [persistFilePath copy];
		if([[NSFileManager defaultManager] fileExistsAtPath:_persistFilePath])
		{
			persistDict = [NSKeyedUnarchiver unarchiveObjectWithFile:_persistFilePath];
			if(persistDict[@"list"] && persistDict[@"custom"])
				listRecords = persistDict[@"list"];
			else //无效的文件。
				persistDict = nil;
		}
		if(persistDict==nil)
		{
			listRecords = [NSMutableArray new];
			persistDict = [NSMutableDictionary new];
			persistDict[@"custom"] = [NSMutableDictionary new];
			persistDict[@"list"] = listRecords;
		}

		headFinishedBlocks = [NSMutableArray new];
		tailFinishedBlocks = [NSMutableArray new];
		observers = [NSPointerArray weakObjectsPointerArray];
	}
	return self;
}
- (instancetype)init
{
	return [self initWithPersistFilePath:nil];
}

- (NSArray*)list{
	@synchronized(self)
	{
		if (inmutablelist==nil) {
			inmutablelist = [listRecords copy];
		}
		return inmutablelist;
	}
}

- (void)reloadWithFinishedBlock:(void (^)(NSError* error))finishedBlock
{
	NSInteger queryCount;
	@synchronized(self)
	{
		if(finishedBlock)
			[headFinishedBlocks addObject:finishedBlock];

		isReload = YES;
		if(loadingHead)
			return;

		loadingHead = YES;

		if(listRecords.count==0) //如果是首次加载,转为调用more
		{
			[self moreWithFinishedBlock:nil];
			return;
		}
		queryCount = _segmentLength;
	}

	// 异步发送loadHead请求
	__weak __typeof(self) wself = self;
	dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
		[self queryAfterRecord:nil count:queryCount callback:^(NSArray *records, BOOL reachEnd, NSError *error) {
			__typeof(self) sself = wself;
			[sself preposeRecords:records reachEnd:reachEnd error:error];
		}];
	});
}

- (void)refreshWithFinishedBlock:(void (^)(NSError* error))finishedBlock
{
	NSInteger queryCount;
	@synchronized(self)
	{
		if(finishedBlock)
			[headFinishedBlocks addObject:finishedBlock];

		if(loadingHead)
			return;

		loadingHead = YES;

		if(listRecords.count==0) //如果是首次加载,转为调用more
		{
			isReload = YES; //如果是首次加载,则认为是reload
			[self moreWithFinishedBlock:nil];
			return;
		}
		queryCount = _segmentLength;
	}

	// 异步发送loadHead请求
	__weak __typeof(self) wself = self;
	dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
		[self queryAfterRecord:nil count:queryCount callback:^(NSArray *records, BOOL reachEnd, NSError *error) {
			__typeof(self) sself = wself;
			[sself preposeRecords:records reachEnd:reachEnd error:error];
		}];
	});
}

- (void)moreWithFinishedBlock:(void (^)(NSError* error))finishedBlock
{
	id tailRecord;
	NSInteger queryCount;
	@synchronized(self)
	{
		if(finishedBlock)
			[tailFinishedBlocks addObject:finishedBlock];

		if(loadingTail)
			return;

		loadingTail = YES;

		tailRecord = [listRecords lastObject];
		queryCount = _segmentLength;
	}

	// 异步发送loadTail请求
	__weak __typeof(self) wself = self;
	dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
		[self queryAfterRecord:tailRecord count:queryCount callback:^(NSArray *records, BOOL reachEnd, NSError *error) {
			__typeof(self) sself = wself;
			[sself appendRecords:records reachEnd:reachEnd error:error queryTailRecord:tailRecord];
		}];
	});
}

- (void)deleteRecords:(NSArray*)records
{
	if(records.count==0)
		return;
	NSMutableSet* deleted = [NSMutableSet new];
	@synchronized(self)
	{
		for (id record in records) {
			for (NSInteger i=0;i<listRecords.count;i++) {
				id r = listRecords[i];
				if([self doesRecord:r hasSameIDWithRecord:record])
				{
					[deleted addObject:@(i)];
					break;
				}
			}
		}
		if(deleted.count)
		{
			NSArray* sorted = [[deleted allObjects] sortedArrayUsingSelector:@selector(compare:)];
			for (NSInteger i = sorted.count-1;i>=0;i--) {
				NSNumber* indexNum = sorted[i];
				[listRecords removeObjectAtIndex:indexNum.integerValue];
			}
			inmutablelist = nil;
			self.needsSave = YES;
			if([NSThread currentThread]==[NSThread mainThread])
				[self notifyObserversOnMainThreadWithModified:nil deleted:sorted added:nil];
			else
			{
				dispatch_async(dispatch_get_main_queue(), ^{
					[self notifyObserversOnMainThreadWithModified:nil deleted:sorted added:nil];
				});
			}
		}
	}
}

- (void)replaceRecords:(NSArray*)records
{
	if(records.count==0)
		return;
	NSMutableSet* modified = [NSMutableSet new];
	@synchronized(self)
	{
		for (id record in records) {
			for (NSInteger i=0;i<listRecords.count;i++) {
				id r = listRecords[i];
				if([self doesRecord:r hasSameIDWithRecord:record])
				{
					[modified addObject:@(i)];
					[listRecords replaceObjectAtIndex:i withObject:record];
					break;
				}
			}
		}
		if(modified.count)
		{
			inmutablelist = nil;
			self.needsSave = YES;
			NSArray* sorted = [[modified allObjects] sortedArrayUsingSelector:@selector(compare:)];
			if([NSThread currentThread]==[NSThread mainThread])
				[self notifyObserversOnMainThreadWithModified:sorted deleted:nil added:nil];
			else
			{
				dispatch_async(dispatch_get_main_queue(), ^{
					[self notifyObserversOnMainThreadWithModified:sorted deleted:nil added:nil];
				});
			}
		}
	}
}

- (void)preposeRecords:(NSArray*)records reachEnd:(BOOL)reachEnd error:(NSError*)error
{
	// 保证preposeRecordsOnMainThread:总是在主线程完成
	if([NSThread currentThread] == [NSThread mainThread])
		[self preposeRecordsOnMainThread:records reachEnd:reachEnd error:error];
	else
	{
		__weak __typeof(self) wself = self;
		dispatch_async(dispatch_get_main_queue(), ^{
			__typeof(self) sself = wself;
			[sself preposeRecordsOnMainThread:records reachEnd:reachEnd error:error];
		});
	}
}

// 在主线程进行列表修改,同时发送列表修改通知和finishedBlock调用。这三步必须连接调用,不可打断。因为加载列表头和加载列表尾可同时进行,如果这三步可拆分,可能会出现调用顺序混乱,导致列表修改通知不正确。
- (void)preposeRecordsOnMainThread:(NSArray*)records reachEnd:(BOOL)reachEnd error:(NSError*)error
{
	NSMutableArray* deletedIndics = [NSMutableArray new];
	NSMutableDictionary* dicAdded = [NSMutableDictionary new];
	NSMutableDictionary* dicReplaced = [NSMutableDictionary dictionary];
	NSArray* deleted = nil;
	NSArray* added = nil;
	NSArray* modified = nil;

	NSArray* finishedBlocks;

	NSInteger count = records.count;//查询到的记录的条数

	@synchronized(self)
	{
		if(error==nil)
		{
			if(isReload)
			{
				for(NSInteger i = 0; i<listRecords.count; i++)
				{
					[deletedIndics addObject:@(i)];
				}
				inmutablelist = nil;
				self.needsSave = YES;

				_reachEnd = reachEnd;

				for (NSInteger i = 0; i<records.count; i++)
				{
					dicAdded[@(i)] = records[i];
				}
			}
			else
			{
				NSInteger localCount = listRecords.count;
				if(count==0 && localCount==0)
				{
					_reachEnd = YES;
				}
				else if(count==0)//数据全部删除了
				{
					for (NSInteger i = 0; i<localCount; i++) {
						[deletedIndics addObject:@(i)];
					}
					_reachEnd = YES;
				}
				else if(localCount==0)//本地没有任何记录
				{
					for (NSInteger i = 0; i<count; i++) {
						dicAdded[@(i)] = records[i];
					}
				}
				else
				{
					id newlastRecord = [records lastObject];
					id localFirstRecord = listRecords[0];
					NSComparisonResult compareResult = [self compareRecord:newlastRecord withRecord:localFirstRecord];
					if(compareResult!=NSOrderedAscending)//新获取的最后一条记录大于等于本地的第一条记录,也就是说新取到的数据有部分是重复的,此时执行比对操作,检测出添加、删除、修改过的条目
					{
						NSInteger iNew=0,iOld=0;
						for (;iNew<count && iOld<localCount; ) {
							id recordnew = records[iNew];
							id recordold = listRecords[iOld];
							NSComparisonResult compareResult = [self compareRecord:recordnew withRecord:recordold];
							if(compareResult==NSOrderedAscending)//小于
							{
								dicAdded[@(iNew)] = recordnew;
								iNew++;
							}
							else if(compareResult == NSOrderedDescending)//大于
							{
								[deletedIndics addObject:@(iOld)];
								iOld++;
							}
							else //等于
							{
								dicReplaced[@(iOld)] = recordnew;
								iNew++;
								iOld++;
							}
						}
						for (; iNew<count; iNew++) {
							dicAdded[@(iNew)] = records[iNew];
						}
						if(reachEnd)//count<=queryCount)	//查询结果全部取完,后面没有了。
						{
							for (; iOld<localCount; iOld++) {
								[deletedIndics addObject:@(iOld)];
							}
						}
					}
					else// 新获取的记录全部是新增的,可能是因为很久没有刷新导致的。由于不知道还有没有更多新增的记录,这种情况下就抛弃之前的所有记录,只留下最新加载的。
					{
						for (NSInteger i = 0; i<localCount; i++) {
							[deletedIndics addObject:@(i)];
						}
						for (NSInteger i = 0; i<count; i++) {
							dicAdded[@(i)] = records[i];
						}
					}
				} // end 新旧比对
			}//end if(reload==NO)

			NSInteger replacedCount = dicReplaced.count;
			if(replacedCount)
			{
				modified = [dicReplaced.allKeys  sortedArrayUsingSelector:@selector(compare:)];
				for (NSInteger i=0; i<replacedCount; i++) {
					NSNumber* index = modified[i];
					[listRecords replaceObjectAtIndex:[index integerValue] withObject:dicReplaced[index]];
				}
			}
			NSInteger deletedCount = deletedIndics.count;
			if(deletedCount)
			{
				deleted = [deletedIndics sortedArrayUsingSelector:@selector(compare:)];
				for (NSInteger i = deletedCount-1; i>=0; i--) {
					[listRecords removeObjectAtIndex:[deleted[i] integerValue]];
				}
			}
			NSInteger addedCount = dicAdded.count;
			if(addedCount)
			{
				added = [dicAdded.allKeys sortedArrayUsingSelector:@selector(compare:)];
				for (NSInteger i=0; i<addedCount; i++) {
					NSNumber* index = added[i];
					[listRecords insertObject:dicAdded[index] atIndex:[index integerValue]];
				}
			}

			NSInteger changedCount = deletedCount+addedCount+replacedCount;
			if(changedCount)
			{
				inmutablelist = nil;
				self.needsSave = YES;
			}
			_reachEnd = reachEnd; //refresh时重置_reachEnd
		} // end if(error==nil)

		loadingHead = NO;
		isReload = NO;
		finishedBlocks = [headFinishedBlocks copy];
		[headFinishedBlocks removeAllObjects];
	}// end @synchronized(self)

	if(added.count || deleted.count || modified.count)
		[self notifyObserversOnMainThreadWithModified:modified deleted:deleted added:added];

	if(finishedBlocks.count)
		[self notifyFinishedBlocksOnMainThread:finishedBlocks error:error];
}

- (void)appendRecords:(NSArray*)records reachEnd:(BOOL)reachEnd error:(NSError*)error queryTailRecord:(id)queryTailRecord
{
	// 保证preposeRecordsOnMainThread:总是在主线程完成
	if([NSThread currentThread] == [NSThread mainThread])
		[self appendRecordsOnMainThread:records reachEnd:reachEnd error:error queryTailRecord:queryTailRecord];
	else
	{
		__weak __typeof(self) wself = self;
		dispatch_async(dispatch_get_main_queue(), ^{
			__typeof(self) sself = wself;
			[sself appendRecordsOnMainThread:records reachEnd:reachEnd error:error queryTailRecord:queryTailRecord];
		});
	}
}

// queryTailRecord用于检测这次Query是否被取消。
- (void)appendRecordsOnMainThread:(NSArray*)records reachEnd:(BOOL)reachEnd error:(NSError*)error queryTailRecord:(id)queryTailRecord
{
	NSMutableArray* added = nil;
	NSMutableArray* deleted = nil;
	NSArray* headFinished = nil;
	NSArray* tailFinished;
	@synchronized(self)
	{
		if(queryTailRecord == [listRecords lastObject] //如果queryTailRecord与当前tailRecord一样,说明列表没有过reload。否则本次queryTail就要被取消。
		   && error==nil)
		{
			if(records.count)
			{
				added = [NSMutableArray new];
				deleted = [NSMutableArray new];

				NSInteger prevCount = listRecords.count;
				for (NSInteger i = 0; i<records.count; i++)
				{
					[added addObject:@(i+prevCount)];
				}

				[listRecords addObjectsFromArray:records];
				inmutablelist = nil;
				self.needsSave = YES;
			}
			_reachEnd = reachEnd;
		}

		if(queryTailRecord==nil && loadingHead)//首次加载,是由refresh或reload方法发起的
		{
			loadingHead = NO;
			headFinished = [headFinishedBlocks copy];
			[headFinishedBlocks removeAllObjects];
		}

		loadingTail = NO;
		tailFinished = [tailFinishedBlocks copy];
		[tailFinishedBlocks removeAllObjects];
	}

	if(added.count || deleted.count)
		[self notifyObserversOnMainThreadWithModified:nil deleted:deleted added:added];

	if(headFinished.count)
		[self notifyFinishedBlocksOnMainThread:headFinished error:error];

	if(tailFinished.count)
		[self notifyFinishedBlocksOnMainThread:tailFinished error:error];
}

- (void)notifyFinishedBlocksOnMainThread:(NSArray*)finishedBlocks error:(NSError*)error
{
	for (void (^finishedBlock)(NSError*error) in finishedBlocks) {
		finishedBlock(error);
	}
}

#pragma mark 持久化

- (void)setNeedsSave:(BOOL)needsSave
{
	@synchronized(self)
	{
		if(needsSave && _persistFilePath.length==0)
			needsSave = NO;
		if(_needsSave==needsSave)
			return;
		_needsSave = needsSave;
	}
	if(needsSave)
	{
		__weak __typeof(self) wself = self;
		dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
			__typeof(self) sself = wself;
			[sself saveOnBackground];
		});
	}
}

- (void)saveOnBackground
{
	NSData* data;
	@synchronized(self)
	{
		_needsSave = NO;
		data = [NSKeyedArchiver archivedDataWithRootObject:persistDict];
	}
	[data writeToFile:_persistFilePath atomically:YES];
}
- (id)persistObjectForName:(NSString*)name
{
	if(name==nil)
		return nil;
	@synchronized(self)
	{
		return persistDict[@"custom"][name];
	}
}
- (void)setPersistObject:(id)object forName:(NSString*)name
{
	if(name==nil || object==nil)
		return;
	@synchronized(self)
	{
		persistDict[@"custom"][name] = object;
		self.needsSave = YES;
	}
}

#pragma mark Observers

- (void)addSegListObserver:(id<IDNSegListObserver>)observer
{
	if([observers containsPointer:(__bridge void *)(observer)])//已经是观察者了
		return;
	if([observer respondsToSelector:@selector(segList:modifiedIndics:deletedIndics:addedIndics:)]==NO)//观察者没有实现指定方法
		return;
	[observers addPointer:(__bridge void *)(observer)];
}
- (void)delSegListObserver:(id<IDNSegListObserver>)observer
{
	[observers removePointerIdentically:(__bridge void *)(observer)];
}

- (void)notifyObserversOnMainThreadWithModified:(NSArray*)modified deleted:(NSArray*)deleted added:(NSArray*)added
{
	BOOL needsCompact = NO;
	for (id<IDNSegListObserver> observer in observers) {
		if(observer==nil)
		{
			needsCompact = YES;
			continue;
		}
		[observer segList:self modifiedIndics:modified deletedIndics:deleted addedIndics:added];
	}
	[observers compact];
}

#pragma mark 需要重载的方法

// callback必须要被调用,否则会永远处于loadingTail状态。tailRecord==nil表示首次调用,应该获取列表第一段。
- (void)queryAfterRecord:(id)tailRecord count:(NSInteger)count callback:(void (^)(NSArray* records, BOOL reachEnd, NSError* error))callback
{
	@throw @"子类应该重载此方法";
}

- (NSComparisonResult)compareRecord:(id)aRecord withRecord:(id)anotherRecord
{
	@throw [NSException exceptionWithName:NSGenericException reason:[NSString stringWithFormat:@"不要使用父类的%s方法,子类应该完全覆盖它!",__FUNCTION__] userInfo:nil];
	return NSOrderedSame;
}

- (BOOL)doesRecord:(id)record hasSameIDWithRecord:(id)anotherRecord
{
	@throw @"子类应该重载此方法";
	return NO;
}
@end


text:
Das iPhone 7 ist ein Smartphone aus der iPhone-Reihe des US-amerikanischen Unternehmens Apple. Es ist der Nachfolger des iPhone 6s und wurde von Tim Cook im Bill Graham Civic Auditorium am 7. September 2016 erstmals der Öffentlichkeit vorgestellt. Das iPhone 7 gibt es auch als Phablet mit größerem Display in der Ausführung iPhone 7 Plus. Die Vorbestellungsphase für das iPhone 7 begann am 9. September 2016, die Auslieferung an Kunden startete am 16. September 2016.

Mit der Vorstellung des iPhone 11 und 11 Pro im September 2019 stellte Apple die Produktion des iPhone 7 ein.

Design

Das Design entspricht bis auf wenige Änderungen dem des iPhone 6s.

Das iPhone 7 gibt es in fünf verschiedenen Farbvarianten mit den Bezeichnungen  Silber (engl. Silver), Roségold, Schwarz, Gold (engl. Gold) und Diamantschwarz (engl. jet black). Seit dem 24. März 2017 war das iPhone 7 in einer roten (PRODUCT)RED Special Edition erhältlich. Auf der Rückseite befindet sich eine Kameralinse, deren Wölbung sich nun fließender gestaltet. Zudem wurden die Antennenstreifen überarbeitet. Diese verlaufen nun nur noch am Rand entlang und wurden bei beiden schwarzen Varianten farblich weniger auffällig gestaltet. Auf der Vorderseite gibt es eine Frontkamera. Das Apple-Logo auf der Rückseite befindet sich im oberen Bereich, der iPhone-Schriftzug im unteren. Die Ecken und Seiten sind abgerundet. Das iPhone 7 ist mit 138,3 mm Höhe, 67,1 mm Breite, 7,1 mm Tiefe identisch groß und mit einem Gewicht von 138 g etwas leichter als sein Vorgänger.

Technische Daten

Kameras
Die verbesserte Kamera bietet eine größere Blende und optische Bildstabilisierung (kurz: OIS) bei beiden Modellen, was zuvor dem größeren Plus-Modell vorenthalten war. Im iPhone 7 Plus wurde auf der Rückseite zusätzlich eine zweite Teleobjektiv-Kamera eingebaut, wodurch ein 2-facher optischer Zoom und ein Schärfetiefeneffekt (Bokeh) möglich sind. Die FaceTime-Frontkamera hat eine höhere Auflösung von 7 statt 5 MP und kann 1080p-Videos aufnehmen (beim 6s maximal 720p).

Leistung
Beide Modelle werden mit dem von Apple entwickelten Quad-Core-A10-Chip mit 64-Bit-ARM-Architektur betrieben, wobei zwei größere Kerne für anspruchsvolle Aufgaben und zwei kleinere Kerne für hohe Effizienz verbaut wurden. Dadurch soll die Akkulaufzeit verbessert werden.

Display
Das Display kann Farben im DCI-P3 Farbraum darstellen, der Vorgänger erreichte nur sRGB. Die typische Helligkeit wird von Apple mit 625 nits angegeben, verglichen mit 500 nits beim Vorgänger, und der statische Kontrast mit 1400:1. Beide Werte können in der Realität von Gerät zu Gerät variieren.

Schnittstellen
Die mitgelieferten EarPods-Kopfhörer besitzen einen Lightning-Anschluss, da die Klinkenbuchse aus dem iPhone 7 und iPhone 7 Plus entfernt wurde. Ein Adapter von Klinkenstecker auf Lightning ist im Lieferumfang enthalten. Alternativ können kabellose Kopfhörer, wie die gleichzeitig vorgestellten AirPods, oder die eingebauten Stereo-Lautsprecher verwendet werden.

Seit dem iPhone 7 kann das eingebaute NFC auch von Drittanbietern genutzt werden, zum Beispiel für Glucosesensoren. Diese Funktion wird von Apple als "Lesemodus" bezeichnet.

Im iPhone 7 und iPhone 7 Plus steht ab iOS 13 und zur Verwendung in kompatiblen WLANs auch WPA3 als Weiterentwicklung von WPA2 zur Verfügung.

Home Button
Der bisher mechanische Home-Knopf wurde durch eine Force-Touch-Sensortaste ersetzt, die bei einem Druck haptische Rückmeldung über die Taptic Engine gibt.

Widerstandsfähigkeit
Das Gerät ist nach IP67 gegen Staub und Wasser zertifiziert, darauf wird jedoch keine Garantie gewährt.

iPhone 7 Plus
Die technischen Spezifikationen des iPhone 7 Plus stimmen, wie auch beim Vorgänger iPhone 6s Plus, mit denen des iPhone 7 weitgehend überein. Die Unterschiede sind:
 Größere Bildschirmdiagonale von 5,5″, mit Full-HD-Auflösung 1920 × 1080 Pixel (entspricht 401 ppi).
 Die Gehäuseabmessungen (H × B × T) betragen 158,2 mm × 77,9 mm × 7,3 mm.
 Es verfügt über 3 Gigabyte RAM.
 Die Akkulaufzeit ist länger als beim iPhone 7. Nach Angaben von Apple beträgt sie bis zu 384 Stunden im Bereitschaftsbetrieb, bis zu 21 Stunden Gesprächsdauer (im 3G-Netz), sowie bis zu 13 Stunden Internetnutzung (3G oder LTE). Der Akku hat eine Kapazität von 2900 mAh bei 3,82 V.
 Das iPhone 7 Plus verfügt über eine zweite Teleobjektiv-Kamera (auch Dualkamera genannt).

Kritik

Apple erhielt Kritik für den fehlenden 3,5-mm-Klinkenanschluss im iPhone 7. James Geddes kritisierte, dass das Aufzwingen einer fehlenden Funktion, für die der Kunde nicht bereit ist, anmaßend wirken könnte. Es scheine, als habe Apple dem Kunden nicht nur zu wenig Gründe geliefert, auf neue iPhones umzusteigen, sondern auch gleich einen wichtigen Grund gegeben, nicht umzusteigen. Apple-Mitgründer Steve Wozniak warnte, dass das Fehlen eines 3,5-mm-Kopfhöreranschlusses bei vielen Leuten zu Empörung führen würde.

Probleme
Vereinzelt gab es Beschwerden, dass sich die eloxierte Oberfläche des mattschwarzen iPhone 7 partiell ablöst. Besonders häufig soll dieses Problem an der unteren Seite bei den Öffnungen für Lautsprecher und Barometer sowie im Bereich der Lautstärketasten aufgetreten sein. Ein ähnliches Problem gab es bereits beim sogenannten "Scuff Gate" des schwarzen iPhone 5, wo die Farbe aber verblasste, anstatt wie beim schwarzen iPhone 7 abzublättern.

Ein weiteres Problem nennt sich "Loop Disease". Es ist die Folge schlechter Lötstellen im Inneren des Gerätes und kann zu verschiedenen Problemen führen, die von einem defekten Lautsprecher bis zur Unbenutzbarkeit reichen. In den USA wurde aufgrund dessen eine Sammelklage gestartet.

Beim Modell "A1660" des iPhone 7 kann es aufgrund einer defekten Komponente dazu kommen, dass das Gerät trotz Abdeckung keinen Empfang mehr hat. Apple hat dazu ein entsprechendes Austauschprogramm gestartet. Laut Apple wurde dieses Modell des iPhone 7 nur in dem USA, China, Hong Kong, Japan und Macao verkauft.

Verfügbarkeit
Apple bietet die Geräte in den Farben Silber, Schwarz, Gold und Roségold jeweils in Varianten mit 32, 128 oder 256 GB Speicherkapazität an, bei der Farbe (PRODUCT)RED™ und anfangs auch bei "Diamantschwarz" entfällt die 32-GB-Variante.

Ab dem 12. September 2017, nachdem das iPhone 8 und iPhone X vorgestellt wurden, war auch das Modell mit 32 GB in Diamantschwarz erhältlich. Die rote Variante wurde nicht mehr angeboten. Die Version mit 256 GB Speicherkapazität entfiel, während die Preise der Übrigen auf 629 Euro bzw. 739 Euro reduziert wurden.

Mit der Vorstellung des iPhone XS und XR am 12. September 2018 wird die Farbe "Diamantschwarz" nicht mehr angeboten, die Preise wurden zudem auf 519 Euro (32 GB) für das iPhone 7 bzw. 649 Euro (32 GB) für das iPhone 7 Plus reduziert.

Weblinks

 Offizielle deutsche Apple-Webseite
 The iPhone 7 and iPhone 7 Plus Review: Iterating on a Flagship, ausführlicher Test auf anandtech.com

Einzelnachweise

7


text:
Board index ‹ Comments ‹ Breaking News On Islam
Muslim conservatives defend practice of child brides
by Ansar al-Zindiqi » Fri Aug 30, 2019 6:37 am
Muslim conservatives defend practice of child brides in Pakistan as 'tenets of Islam'
In this Tuesday, Dec. 20, 2016 photo, Saima, who married an older man in her early teens, fixes her scarf during an interview in Jampur, Pakistan.(AP Photo/K.M. Chaudhry)
By Naila Inayat - Special to The Washington Times - - Thursday, August 29, 2019
LAHORE, Pakistan — Hameeda, 15, was married to Saqib, 30, in a small ceremony in a small village in the Khyber Pakhtunkhwa region of northern Pakistan.
Hameeda, who had only recently stopped playing house with her dolls, is now running a household of her own and is on her way to becoming a mother.
"My husband works as a driver in United Arab Emirates while I stay in the village with my in-laws. He visits during Eid holidays only," she said, referring to annual Muslim holidays that follow the fasting month of Ramadan.
"One day I will also visit him by taking an airplane," she said as her face lit up.
Hameeda is one of more than 1 million child brides in Pakistan despite laws meant to make it illegal for girls to marry before age 16. A bill in Parliament would raise the minimum age to 18, but it faces opposition by religious conservatives. This time, however, child advocates say something has to be done.
"Child marriage is one of the worst human rights violations," said Samar Minallah Khan, an independent anthropologist and child rights advocate based in Islamabad. "It puts an end to a child's right to freedom, education and to play. It takes away their childhood. They cannot be children anymore."
With an estimated 1,909,000 children currently married, Pakistan has the sixth-highest rate of child marriage in the world, according to UNICEF.
The problems are not just cultural. The U.N. World Health Organization notes that the leading causes of death for females ages 15 to 19 are linked to pregnancy and childbirth. Babies born to girls younger than 18 are at higher risks of death and poor development, the WHO report said.
About 650 million girls and women alive today were married before age 18 — roughly 17% of the world's female population, according to UNICEF.
In Pakistan, 21% of girls are married off before their 18th birthday, including 3% before age 15.
Most child brides marry men three to four times older.
"Parents want to get rid of their young girls as soon as they reach puberty. The mindset is that they are considered to be a burden," said Rubina Saigol, a child advocate in Lahore. After the marriage, "the girl is property of another home and belongs there — and therefore has to be taken care of there."
"It is rooted in economic reasons, with this idea is the girl is only an entity, not a human being with any human or property rights," she said. "The son, however, is considered the breadwinner."
Last month, a 7-year-old girl was given in marriage to a 28-year-old man in a village in Punjab in central Pakistan. The police raided the ceremony and arrested the bridegroom. In June, a 60-year-old man was arrested as he was about to marry a 12-year-old girl in Sadiqabad in southern Pakistan. A 45-year-old man married a 10-year-old girl in Sindh in southern Pakistan in May. He was arrested.
Pakistani law sets the minimum marriage age at 16 for girls and 18 for boys. Activists say the age must be raised and the law better enforced. Pakistan is also a signatory to international agreements such as the Convention on the Rights of the Child that require enforcement of laws to prevent child marriage.
In May, the ruling party Pakistan Tehreek-e-Insaf party introduced a bill in the legislature to amend the Child Marriage Restraint Act of 1929 to set the marriageable age for girls at 18. It would impose a fine and possible imprisonment for the groom and those involved in facilitating the marriage, including parents, marriage brokers and the religious authorities who marry the couple.
Pakistan's National Assembly Standing Committee on Law and Justice last week rejected such legislation. Opponents said it violated religious tenets.
"I will never support any legislation that is against the tenets of Islam," said Ali Muhammad Khan, minister of state for parliamentary affairs. "Pakistan is an Islamic country, and no such law can be passed here even if it costs me my ministry or my seat [in Parliament]."
Qibla Ayaz, chairman of Pakistan's Council of Islamic Ideology, said, "In 1961, the minimum age for marriage was set to 16, which was un-Islamic. It will be going again against the Shariah [Islamic law] if the age of marriage is changed to 18."
As it has with all other attempts to amend the marriageable age for girls, the council warned that any legislation to ban child marriage would lead to "complications." It asked instead for an awareness campaign to discourage the practice.
Officials advocating a change expressed disappointment.
"What hopes can one really attribute to a society [where] 50 elected representatives and even ministers actually voted for underage marriage? Should be enough to give sleepless [nights]," said a tweet by Fawad Chaudhry, minister of science and technology.
Activists say the issue has never been a priority and that the government of Prime Minister Imran Khan pays only lip service to it.
The Khan government "is an extremely conservative, right-wing one. They have no interest or will to do anything in issues like child marriages," said Ms. Saigol. "They are focused on other things, and this is not a priority for them. Every other day we hear of underage girls being married or Hindu girls' abduction [for marriage], but it doesn't bother the government much."
Hameeda, meanwhile, waits for her child to be born. She said her biggest problem is that she doesn't have that much to do and being in her second trimester is limiting. She said she once hoped to be a schoolteacher for girls in her village. Marriage ended that dream.
"I would have made a difference for my community," she said.
Now, she said, the child will at least reduce her boredom.
"Since my husband is away most of the time, I feel my child will be a good distraction for me," she said.
https://www.washingtontimes.com/news/20 ... servative/
Re: Muslim conservatives defend practice of child brides
by Fernando » Tue Sep 03, 2019 2:32 pm
Unfortunately, it has to be admitted that 15 isn't especially early. In the UK they're talking of raising it from 16, when it is allowed subject to parental permission, to 18 in order to reduce Muslim child marriage. The present situation has led, in the past, to 16 year old couples running to Gretna Green - the first point in Scotland - where the limit has always been sixteen without parental permission.
There have also been scandalous child marriages in the USA in certain states - I don't know whether that's the case now.
Of course, none of this will affect Sharia marriages in the ghettos...
'Hindus and Muslims belong to two different religious philosophies, social customs and literary traditions. They neither intermarry nor eat together, and indeed they belong to two different civilisations which are based mainly on conflicting ideas and conceptions.' Muhammad Ali Jinnah
by Ariel » Sat Oct 26, 2019 7:42 pm
Islamophobia? "Under Islam I was raped, I was put in prison, I was lashed, I was beaten, I was sold into marriage…"Child bride Aynaz Anni Cyrus Speaks Out
Aynaz Anni Cyrus is a name that has been blacked out by all media. She was a child bride that was born and raised in the Islamic Republic of Iran. Now she is on an inspiring mission to tell women the horrors of radical Islam.
As a child bride in her home country of Iran, she was abused and imprisoned as a teen, and subsequently escaped to America. Miss Cyrus is now a firm advocate for women and girls, suffering under Sharia. Her mission is to bring hope and healing to women and girls who have been unfortunate enough to be exposed to the plague of Islamic ideology. She experienced first hand, the horrors of living under Islamic theocracy in Iran.
Her story has been blocked out by all media.
by farishta » Sat Nov 09, 2019 11:30 pm
Mohammad did not come to stop people from doing horrible things, he came to show people how to do horrible things while pleasing Allah. if you think a child bride is the ultimate degradation, watch this.
https://www.youtube.com/watch?v=iju_l82cbz0
farishta
by antineoETC » Sun Nov 10, 2019 11:21 am
radical Islam.
As distinct from what?
antineoETC
by Ansar al-Zindiqi » Sun Nov 10, 2019 8:55 pm
farishta wrote: Mohammad did not come to stop people from doing horrible things, he came to show people how to do horrible things while pleasing Allah. if you think a child bride is the ultimate degradation, watch this.
Yep. And they have friends in mainstream media willing to take part in censorship.
by antineoETC » Fri Nov 15, 2019 6:21 am
Ansar al-Zindiqi wrote: Muslim conservatives defend practice of child brides in Pakistan as 'tenets of Islam'
Let's have open borders with Pakistan!
by farishta » Fri Nov 22, 2019 3:07 pm
I am simply am dumbfounded!!!!
A fight breaks out in London because a Muslim man says he will marry and have sex with a 9 year old girl, he's allowed sex with children because he is a follower of Muhammad. The Britisher then calls him a pedophile and ask police to arrest him! This is the teachings from the Quran!
by Ansar al-Zindiqi » Thu Jan 09, 2020 7:55 pm
Ariel wrote: A fight breaks out in London because a Muslim man says he will marry and have sex with a 9 year old girl, he's allowed sex with children because he is a follower of Muhammad. The Britisher then calls him a pedophile and ask police to arrest him! This is the teachings from the Quran!
https://twitter.com/Voice_For_India/status/1214169129671892993
by frankie » Mon Jan 13, 2020 10:15 am
Ansar al-Zindiqi wrote:
The question of child marriage would not arise if it was not for the prophet of Islam "marrying "a child of six, and having sex with her at age nine.
Mohammed's example is for all time, not just for the time in which he lived, therefore it is Islamically acceptable for men of 54 as well as men who have paedophilic tendencies, to "marry " children, and have sex with them from age nine,
However, men are designed to be the fathers of children, not their lovers.
A man cannot relate to a child as a wife, they have nothing in common, precisely because of the vast age difference.
And in any case, what sort of man is sexually aroused by a child?
A child of nine cannot make a good wife for a man, they are psychologically immature, which will frustrate the man enough to lead him astray. Whatever is said about child marriage, it is only in Islam where it has "divine" approval, because of the actions of its prophet.
But child marriage is detrimental not only to children, but to men and society alike, which is why it is not acceptable in many countries today, except Islamic ones.
Those who want to argue it was the cultural practice at the time Mohammed lived to "marry" children, have the Islamic god Allah to deal with, who Islamically legitimizes sex with females who "have not yet menstruated because of their young age."
Although 65.4 maybe about divorce a female has to get married first, before she can get a divorce.
Quran 65.4
Such of your women as have passed the age of monthly courses, for them the prescribed period, if ye have any doubts, is three months, and for those who have no courses (it is the same): for those who carry (life within their wombs), their period is until they deliver their burdens: and for those who fear Allah, He will make their path easy.
Al-Jalalayn
And [as for] those of your women who (read allā'ī or allā'i in both instances) no longer expect to menstruate, if you have any doubts, about their waiting period, their prescribed [waiting] period shall be three months,
and [also for] those who have not yet menstruated, because of their young age,
their period shall [also] be three months — both cases apply to other than those whose spouses have died; for these [latter] their period is prescribed in the verse: they shall wait by themselves for four months and ten [days] [Q. 2:234]. And those who are pregnant, their term, the conclusion of their prescribed [waiting] period if divorced or if their spouses be dead, shall be when they deliver. And whoever fears God, He will make matters ease for him, in this world and in the Hereafter.
The `Iddah of Those in Menopause and Those Who do not have Menses
Allah the Exalted clarifies the waiting period of the woman in menopause. And that is the one whose menstruation has stopped due to her older age. Her Iddah is three months instead of the three monthly cycles for those who menstruate, which is based upon the Ayah in (Surat) Al-Baqarah. see 2:228
The same for the young, who have not reached the years of menstruation. Their `Iddah is three months like those in menopause
Tanwîr al-Miqbâs min Tafsîr Ibn 'Abbâs
(And for such of your women as despair of menstruation) because of old age, (if ye doubt) about their waiting period, (their period (of waiting) shall be three months) upon which another man asked: "O Messenger of Allah!
What about the waiting period of those who do not have menstruation because they are too young?" (along with those who have it not) because of young age, their waiting period is three months.
Another man asked: "what is the waiting period for those women who are pregnant?" (And for those with child) i.e. those who are pregnant, (their period) their waiting period (shall be till they bring forth their burden) their child. (And whosoever keepeth his duty to Allah) and whoever fears Allah regarding what he commands him, (He maketh his course easy for him) He makes his matter easy; and it is also said this means: He will help him to worship Him well.
BOOK OF WEDLOCK BUKHARI CHAPTER 39 NUMBER 5133
Chapter: Giving one's young children in marriage
Narrated `Aisha:
that the Prophet (ﷺ) married her when she was six years old and he consummated his marriage when she was nine years old, and then she remained with him for nine years (i.e., till his death).
حَدَّثَنَا مُحَمَّدُ بْنُ يُوسُفَ، حَدَّثَنَا سُفْيَانُ، عَنْ هِشَامٍ، عَنْ أَبِيهِ، عَنْ عَائِشَةَ ـ رضى الله عنها ـ أَنَّ النَّبِيَّ صلى الله عليه وسلم تَزَوَّجَهَا وَهْىَ بِنْتُ سِتِّ سِنِينَ، وَأُدْخِلَتْ عَلَيْهِ وَهْىَ بِنْتُ تِسْعٍ، وَمَكَثَتْ عِنْدَهُ تِسْعًا.
Reference	: Sahih al-Bukhari 5133
In-book reference	: Book 67, Hadith 69
USC-MSA web (English) reference	: Vol. 7, Book 62, Hadith 6
that the Prophet (ﷺ) married her when she was six years old and he consummated his marriage when she was nine years old. Hisham said: I have been informed that `Aisha remained with the Prophet (ﷺ) for nine years (i.e. till his death).
حَدَّثَنَا مُعَلَّى بْنُ أَسَدٍ، حَدَّثَنَا وُهَيْبٌ، عَنْ هِشَامِ بْنِ عُرْوَةَ، عَنْ أَبِيهِ، عَنْ عَائِشَةَ، أَنَّ النَّبِيَّ صلى الله عليه وسلم تَزَوَّجَهَا وَهْىَ بِنْتُ سِتِّ سِنِينَ، وَبَنَى بِهَا وَهْىَ بِنْتُ تِسْعِ سِنِينَ. قَالَ هِشَامٌ وَأُنْبِئْتُ أَنَّهَا كَانَتْ عِنْدَهُ تِسْعَ سِنِينَ.
USC-MSA web (English) reference	: Vol. 7, Book 62, Hadith 65
(deprecated numbering scheme)
Return to Breaking News On Islam


Tyler Dempsey is a talented young drummer from Scranton who has performed with numerous top jazz musicians. He recently formed an electric trio with Matt Vashlishan (of the Davis Liebman Group Expansions) playing an electronic wind instrument (EWI). They will be joined by bassist Jon Ventri for an interesting and eclectic performance.


On a snowy morning, the Mt. Ellis Academy class of 2005 officers soared through the air in medical helicopters.
Brandi Drager was baptized at Mt. Ellis Adventist Academy (Bozeman, Mont.) on a cold Sabbath evening in the girls' dorm hot tub.
They were a small class with lots of energy working their way upward to a closer walk with the Lord.
The National Merit Scholarship Corporation announced that Kyra Eddy, a four-year senior from Brusett, Mont., is among its 15,000 finalists.
Recently Jeff Clark, four-year senior at Mt. Ellis Academy, had an opportunity to be a House of Representatives page in Helena, Mont.
Mt. Ellis Academy opened school this year on Aug.
Kyra Eddy, of Brusett, Mont., has qualified to enter the 2003 National Merit Scholarship Program.
The 2001-02 school year at Mt. Ellis Academy closed with a commencement farewell to the 23-member Centennial Class of graduating seniors.


text:
Appellate and Employment Team Secures Ruling Overturning $13 Million Verdict Against UCLA
April.23.2020
Siding with an Orrick appellate and employment team, a California state appeals court today overturned a $13 million jury verdict against the University of California at Los Angeles involving a former medical professor's age discrimination and retaliation lawsuit, finding the 2018 trial was marred by prejudicial errors. In a published decision, a unanimous Second District Court of Appeals panel found the "errors constituted a miscarriage of justice and created an atmosphere in which UCLA did not receive a fair trial."
The ruling stems from an age and gender bias lawsuit brought against UCLA and the UC Regents by Lauren Pinter-Brown, an oncologist and professor at UCLA. Pinter-Brown's lawsuit alleged she was subject to workplace harassment based on age and gender discrimination, and was later retaliated against for raising complaints to university leadership. UCLA disputed the allegations at trial.
A jury rejected the plaintiff's age bias claim, but found UCLA liable for gender discrimination and retaliation and awarded $13 million in damages.
However, our team, led by partner Eric Shumsky, who argued the case, highlighted fundamental legal errors by the trial court that undermined the fairness of the proceedings. This included allowing the introduction of unrelated evidence of discrimination complaints in the UC system, general allegations of racial discrimination on the UCLA campus and calls by the judge for the jury to consider civil rights figures and "stand in the shoes of Dr. Martin Luther King and bend the arc of the moral universe toward justice."
"Unfortunately, the trial court committed a series of grave errors that significantly prejudiced The Regents' right to a fair trial by an impartial judge," the court wrote.
In addition to Eric, the Orrick team included partner Jessica Perry, and associates Jeremy Peterman, Elizabeth Moulton and Evan Rose. Our team also collaborated with Morgan, Lewis & Bockius on the case.
Eric Shumsky Partner, Corte suprema e d'appello, Proprietà intellettuale
Litigation & IP Sector
Corte suprema e d'appello
Risoluzione contenziosi e vertenze complesse
Eric Shumsky Partner Corte suprema e d'appello, Proprietà intellettuale
Eric Shumsky is a nationally recognized appellate lawyer. He handles high-stakes appeals across an array of subjects, with a focus on technology. He excels at translating cases that are complex – whether because of the legal doctrine, the technology, or the record – into the specialized format of appellate briefing and argument.
Chambers USA reports that Eric is "hailed as 'highly intelligent, an effective communicator and a great writer' by contacts, and his high-profile work in the tech patent sector is of particular interest to those who recognize him as one who 'prepares meticulously, anticipates every question, and is a gifted orator.'" Legal 500 touts his "exceptional courtroom demeanor and presentation skills" as one of "the finest appellate litigators in the nation." And Reuters, in a report reviewing some 17,000 practitioners, identified Eric as part of an "elite cadre" of 75 lawyers who are "the most influential members of one of the most powerful specialties in America: the business of practicing before the Supreme Court."
Eric has served as appellate counsel to a who's who of leading companies, including AT&T, DISH Network, Facebook, Genentech, Gilead, KPMG, LG Electronics, LinkedIn, Lyft, Microsoft, Morgan Stanley, Netflix, Norfolk Southern, Synopsys, Twitter, and Union Carbide. Across an array of industries, Eric has briefed and argued issues as diverse as patent and copyright, labor and employment, preemption, punitive damages, environmental law, national security, and foreign sovereign immunity. He has been a primary author of more than 100 briefs in the Supreme Court alone.
Eric has particular proficiency in matters of technology and intellectual property. He has been counsel in dozens of patent appeals in the Federal Circuit—litigating patents ranging from semiconductor construction, computer architecture, and genetic sequencing to tobacco curing, keyboard trays, and electrical junction boxes. And he has handled multiple appeals involving novel issues concerning the regulation of the internet, including computer fraud, takedown notices, and internet domain names.
In addition to traditional appellate work, Eric has years of experience developing legal strategy in high-profile and complex cases in trial courts. Eric has performed this role in high-stakes multi-district litigation, criminal trials, and civil litigation involving critical dispositive motions.
Prior to joining Orrick, Eric was a partner in the appellate group at Sidley Austin. He previously worked as a law clerk for the Honorable M. Margaret McKeown of the United States Court of Appeals for the Ninth Circuit, and the Honorable Wm. Matthew Byrne, Jr., of the United States District Court for the Central District of California.


text:
Q: Array of uninitalized classes I would like to allocate and array of classes on the stack without calling the constructor. The following example clarifys:
template<class t,int SetNum> class set
{
private:
    t Storage[SetNum];
};

class myClass
{
private:
    int* Array;
public:
    myClass()
    {
        Array=new int[10];
    }
}
int main()
{
    set<myClass,10> Set;
}

I do not want to allocate the 10 new ints for Array that occurs when myClass's constructor is called, but still want the space allocated for myClass.

A: You have to have an array of unsigned chars (or such) to use as "backing storage" for your elements, and then call the placement new operator (see e.g. here) to construct your instances there (which, by the way, is what std::vector already does).
Warning: if you use placement new you have the responsibility to deallocate manually the objects you created with it, calling explicitly the destructor; also, the pointer you pass to placement new must be properly aligned for the objects you are creating, otherwise bad stuff may happen.
See also this question.

Example of a twisted mix of std::array and std::vector built with the techniques described (requires C++11 for the union trick to work):
#include <cstddef>
#include <memory>
#include <stdexcept>
#include <iostream>

template<typename T, std::size_t N>
class array_noinit
{
    union storage_helper
    {
    private:
        // this member assures that the storage is properly aligned
        T t;
    public:
        unsigned char storage[sizeof(T)*N];

        // needed because T's constructor/destructor is implicitly deleted
        storage_helper() { };
        ~storage_helper() { };
    };

    storage_helper s;

    std::size_t _size;
    T * _storage;
public:
    array_noinit() :
        _size(0), _storage((T*)s.storage)
    {}

    ~array_noinit()
    {
        while(_size>0)
            pop_back();
    }

    void push_back(const T & elem)
    {
        if(_size>=N)
            throw std::runtime_error("Not enough capacity.");
        new(_storage+_size) T(elem);
        _size++;
    }

    void pop_back()
    {
        if(_size>0)
        {
            _size--;
            _storage[_size].~T();
        }
    }

    T & at(std::size_t Idx)
    {
        if(Idx>=_size)
            throw std::out_of_range("Idx out of range.");
        return _storage[Idx];
    }

    std::size_t size() const
    {
        return _size;
    }

    std::size_t capacity() const
    {
        return N;
    }
};

class A
{
    int _i;
public:
    A(int i) : _i(i)
    {
        std::cout<<"In A constructor - "<<_i<<"\n";
    }

    A(const A & right)
        : _i(right._i)
    {
        std::cout<<"In A copy constructor - "<<_i<<"\n";
    }

    ~A()
    {
        std::cout<<"In A destructor - "<<_i<<"\n";
    }
};

int main()
{
    std::cout<<"With ints\n";
    array_noinit<int, 4> arr;
    arr.push_back(1);
    arr.push_back(2);
    arr.push_back(3);
    arr.push_back(4);

    for(std::size_t i=0; i<4; i++)
        std::cout<<arr.at(i)<<" ";
    std::cout<<"\n";

    std::cout<<"With a class - we don't add anything\n";
    array_noinit<A, 10> arr2;

    std::cout<<"With a class - now we add stuff\n";
    array_noinit<A, 10> arr3;
    arr3.push_back(A(1));
    arr3.push_back(A(2));
    arr3.push_back(A(3));
    return 0;
}

Output:
With ints
1 2 3 4
With a class - we don't add anything
With a class - now we add stuff
In A constructor - 1
In A copy constructor - 1
In A destructor - 1
In A constructor - 2
In A copy constructor - 2
In A destructor - 2
In A constructor - 3
In A copy constructor - 3
In A destructor - 3
In A destructor - 3
In A destructor - 2
In A destructor - 1

Edit there's a much simpler way to get aligned storage.

redpajama_set_name: RedPajamaStackExchange


Get whisked away to the Aloe Woods, where the aroma is refreshing, soothing and slightly floral. Fragrant wax sits inside of this tin candle featuring light green hues and lovely illustrations of succulents. Your senses are sure to thank you.


text:
El acrónimo NTU puede referirse a las siguientes acepciones:
 NTU (o Nephelometric Turbidity Unit), unidad de medición para la turbidez.
 Natsionalna Telekompaniya Ukrainy, ente de radiodifusión ucraniano.