After months of negotiations, I am thrilled to be able to share the Big Announcement at last — The Atlantis Grail series of books (which includes the bestselling science fiction novels QUALIFY, COMPETE, WIN, and SURVIVE) has been optioned for development as a feature film series and/or TV series.
See the The Atlantis Grail Fan Discussion Panel below where I make the announcement on September 1, 2018 at Dragon*con in Atlanta, GA, and discuss the process.
In other news, WIN (The Atlantis Grail, Book 3) was a Finalist for the 2018 Dragon Award for Best Science Fiction Novel.
See the Dragon Awards 2018 Ballot.
A few months ago, GoPro Video asked to use my various quotes as narration in their latest action video production, and I said yes.
Now, I'm thrilled to be finally able to share this awesome project with you!
The title is "GoPro Surf: Inside the Legendary Barrels of Namibia" starring amazing pro surfers Alex Smith, Koa Smith, Koa Rothman, Bianca Buitendag, Benji Brand, and Anthony Walsh, surfing both ocean and desert. My quote narration appears as layered text throughout the video. Enjoy! :-)
MOTHER
My Mother came up as rosy buds
On the
branches of the tree
Right outside my bedroom window.
Her ashes buried in the Fall
Lay dormant
under the snow of Winter
And now the tree has woken
And taken her in, with the help of the Spring rains.
She is flowing with sweet sap into the tallest branches,
and soon the mauve and rosy buds
will open
into green leaves of Summer—her season.
But now, still fresh as springtime,
she
looks into my window, looks in at me,
budding branches stirring
softly in the wind.
Every time I glance up, I see her bright presence,
With me, now, alive in the moment.
Next year it will be different,
the tree
will have flowered and moved on,
traces of her ashes diluted in the
earth, dissipated gently.
But for now, Mom’s last physical presence
is
the strongest it will ever be in the tangible world,
And the tree is
full of joy, watching me.
Vera Nazarian
5-9-2016
Monday
Zinaida Petrovna Nazarian, August 19, 1932 – February 3, 2015
Zinaida Petrovna Nazarian
My beloved mother, kind, generous, warmhearted, long-suffering, enduring, brave, the gentlest, light-filled soul you
may ever know, died at the age of 82, under hospice care at home in Vermont at 10:22 PM at night on Tuesday (2/3/15)
after two difficult months of what we thought was a severe, relentless flu and turned out to be leukemia. She
already survived ovarian cancer in 2007--a year filled with multiple surgeries, complications, infections,
chemotherapy, hernias, hospital stays--and this time decided that she did not want to go through that again. With
her passing, the generation of my fathers is now gone.
Mom was a true survivor. She survived the early days of the Soviet Union, the Nazi occupation of Crimea during World War II, not once but twice, as she, a little girl, and my grandmother fled the Germans twice as refugees, all across Central Asia and back, riding in freight trains, living homeless underneath an open sky and huddling under blankets while getting strafed from overhead by German sniper planes, being rescued and ferried by a battleship in the Black Sea, starving among death and dysentery, and finally returning home to Crimea when the war was over, and seeing her parents divorce as soon as her father, my grandfather Pyotr Ilyich Ushanov (a captain of a tank division in the Red Army) returned from the war a changed man.
Mom was true old-fashioned Russian, through and through. She grew up in Simferopol, Crimea, living with her now-divorced mother, my grandmother Antonina Ivanovna Dementieva (who was the equivalent of the town mayor of Simferopol, a high ranking position) and became a teacher of Russian Language and Literature. She taught the equivalent of older high school and adult lectures, in Simferopol and other local regions of Crimea including military officers schools, in a tiny village school in Siberia, and eventually in Moscow.
Mom was cultured, refined and always in pursuit of knowledge and learning, an expert in classics of world literature and history. She did her final graduation thesis on Jack London, and I remember when I visited Oakland, CA for the first time, Mom told me with reverence to look out for things related to him. All my love of language and reading I owe to Mom, who imbued my soul with myth, imagery, and literature.
When she lived in Moscow, studying to apply to the equivalent of graduate school, she met my Dad, Georgii (George) Nazarian, an Armenian from Tbilisi, Georgia, in the Moscow Library, of all places. They married and she stayed in Moscow permanently, until the mid seventies when we immigrated to the West, leaving the USSR as refugees to Lebanon.
This was when Mom got to survive her second war, the civil war in Lebanon, and be a refugee yet again as we fled with other Armenian families to Greece, and finally the United States, where after a long and arduous process she became a Permanent Resident and then a US Citizen (among other things, she had to get fingerprinted more than eight times by the INS, because her fingerprints were nearly non-existent, the normal whorl patterns worn off the tips of her fingers from a lifetime of doing hot water laundry by hand, as all other Russian women of the time.)
Mom was always reading one book or another, mostly classics in Russian (or Russian translation) and in English. When I was a little girl, she originally thought and hoped I would be a literature teacher too, but I turned out a writer instead, with many thanks to her, thus staying true to the general notion, and working within the field of literary pursuits. She even named me “Vera” (which means “Faith” in Russian), for her favorite female literary character Vera, from Ivan Goncharov's The Precipice. (Even now I want to ask Mom a specific detail about this book, and turn, and realize she is not there; I can no longer do that, I can never ask her about anything ever again...)
Although she claimed she was not a writer herself, at one point
many years later, when we were living in Winnetka, California, Mom tried creative writing, and wrote, among other
things, in Russian, a novella-length variation of Jane Austen's Persuasion, her favorite Austen novel! She
chose to write about Captain Wentworth traveling on a ship, heartbroken and thinking of his lost love. In Mom's
story, Wentworth looks out into the ocean and encounters a mermaid, whose lovely dialogue with him convinces him to
return to seek Anne Elliot's love once more—a beautiful, heart-wrenching, haunting, and well written fantasy novella
that I just might publish under Mom's own name in Russian, one of these days!
In addition to literature, Mom loved classical music, especially symphonies and orchestral music, and classical Russian Ballet. Back in Russia, she grew up listening to symphonies on the early radio programs. And later here in the US, we would always watch ballets and performances on PBS. Art and architecture was also a great love, and Mom enjoyed museums and art galleries whenever possible.
She'd dreamed of traveling the world, and got her wish in part,
when we became immigrants. At one amazing point, when we were refugees being bused in Greece from the Sounion coast
to the Athens medical center where they ran the required exams on us before allowing entrance to the US, we drove
right past the Acropolis. Mom and I started to scream in awe and excitement, pointing and saying, “That's the
Parthenon!” until other refugees on the bus were asking, “What, what?” and looking at us like we were crazy. We
never had a chance to get closer to the great temple, but that moment will stay with me always. We were this close
to it, but were not allowed to leave the bus. Classical Ancient Greece, our impossible dream, so near yet just out
of reach....
It's interesting to note that Mom's name, “Zinaida” means “Daughter of Zeus” in Russian. She was called “Zina” which was her usual nickname. And in the nineties, when a certain show was on air, it naturally made her Xena, Warrior Princess, something she really used to laugh about.
One of Mom's great talents was dramatic
reading. When she lectured, in a voice filled with feeling and amazing sensitive nuance, the students would pay such
attention that you could hear a pin drop. Once she mesmerized a hall of rowdy naval base academy officers with her
literature lecture, and not only because she was young and attractive but because she had a storyteller voice.
Another time she “woke up” a whole room of jaded party officials out of their usual meeting stupor by her
presentation of some extremely dry material which she brought to life. Dramatic reading is a powerful part of the
Russian tradition, and Mom was more than superb. She even acted briefly in her youth, in community theaters. And
yes, she could sing! We often sang together at home, as I grew up....
Mom was also a great lover of animals, with the biggest heart you can imagine, and over the years she took in and cared for so many strays--dogs, cats, birds, you name it. She even managed to convince other people to rescue and care for stray animals even while back in Lebanon and Greece. Two stray dogs had fallen off a cliff in Sounion, Greece, where we were staying and fellow Armenian refugee young men climbed down and pulled them out because of Mom insisting Dad make them! And in Lebanon she fed a whole family of strays, after a cat gave birth to kittens in the old stone house we were staying in—Mom made sure Dad would go to the local butcher shop every day and for a few pennies (25 Lebanese piasters) get the daily scraps, and the six cats followed Dad down the street in Beirut and waited for him outside the shop perching on trees and signposts, and coming down as soon as he came out. In 1985 we became vegetarians together as a family, for ethical reasons.
Even now that she is gone, our cats wander the rooms sadly in confusion, looking for her. And one cat in particular, Sunny, a feral stray black cat we rescued from the woods, gentle and wise, sits on her bed and grieves. Throughout her illness, he was literally guarding her, sitting next to her pillow and sleeping near her head, like a loyal loving protector.
These past few days, even as Mom lay in bed declining, going in and out of consciousness, she would constantly ask me
if I remembered to put out another can of cat food, or changed their water, or added dry food in the dishes. She also
asked me to make sure to put out birdseed or scraps of grain and bread for the hungry birds in the snow outside.
That's how much she worried and cared. And she constantly asked me if I myself had eaten, drank tea, rested, when
she herself could no longer take in food, and could barely drink.
Mom stayed sharp, alert, and clear-headed all the way up to
the end. While she was still sufficiently able to concentrate, I told her the plot of the last two episodes of the
new season of Downton Abbey, because she really loved that show, but was no longer able to watch TV. We
speculated on what would happen next and Mom really regretted not ever knowing the ending of the series and the
future episodes. We speculated whether or not Mary Crawley would eventually get together with Tom Branson, her
sister Sybil's widower. And when this latest episode aired on Sunday, sadly, Mom was no longer able to hear the
episode recap, she was too ill and tired....
Right now the house feels very strange and semi-empty without her. You can feel a tangible void, a presence missing, a kind of hollow lightness, an emptiness in her room where before it contained a rich charge of loving energy. The balance is shifted and the world has become more flimsy and transparent somehow, less tangible.
Every few moments I want to say something to her, look in her direction in the room, and she is not there.
Only her books remain, shelves full, and piles covering every surface, filled with gorgeous volumes of classics, philosophy, theology, history, art, and wonder.... From the walls, prints of classical paintings out of the Middle Ages look down upon her empty bed, and the bundles of her written journals filled with her living notes and beloved handwriting sit in stacks. They are the spirit of Tolstoy and Turgenev, Pushkin and Tchaikovsky, and the whole nineteenth century rolled into one, and then going farther back, receding into ancient history of old Rus, amid ancient onion dome cathedrals, then simple wooden terem churches, birch trees and rolling open country fields underneath a great sky....
Another part of the true soul of old Russia has left the world. The great bell of the cathedral tolls.
I am privileged to be her daughter.
May she rest in serene glory and well earned peace until we all reunite again on the other side, and into the light.
Read the rest of QUALIFY, coming soon in ebook, hardcover, and trade paperback!
Today is the BIG DAY!
It is the story of Death and Love and loss and intensity... partaking of the Persephone and Hades in the Underworld myth and alternate Renaissance history set in a Europe very much like our own, but not quite...
Enter the Uncanny Valley of the Shadow of Death.
It is an epic fantasy of love and eldritch wonder, about death's ultimatum to the world.
I put all my heart into writing this story. All my intensity, loss, and longing.
It is here, inside... for you.
What if there was no death?
Find out more about Cobweb Bride, the first book of the Cobweb Bride Trilogy, at the official website...
Ebook (multi-format)
Buy From:
Amazon (Kindle)
Barnes
& Noble (NOOK)
Smashwords
(various)
XinXii
Apple iTunes
Kobo
Sony
This book was made possible thanks to amazing friends and Kickstarter supporters, and is officially released today, Monday, July 15, 2013.
And TODAY I am asking you, please, to participate in this Book
Bomb.
A book bomb is an event in which people
agree to purchase the book on that one particular day.
If you've ever thought to help me, THIS is it, the one and best, surest way to do it.
Trade Paperback
Buy From:
Amazon.com
Barnes
& Noble
Books-A-Million
BookWorld (Australia)
BookFinder
Powell's
Book
Depository
AddAll
Amazon UK - Amazon CA
Amazon FR - Amazon DE
Amazon JP - Amazon IN
Amazon IT - Amazon ES
Why a Book Bomb?
Because if everyone buys on the same day, especially from Amazon, then the book rises in the rank (gets a lower number, aiming for #1), and becomes more visible to other buyers worldwide in the Amazon store.
And this sets up a self-sustaining chain reaction of visibility, so that the more people see it, the more people might potentially buy it, and keep it visible for others in a self-perpetuating cycle!
Books in the Top 100 are displayed on the first few pages of the various bestsellers lists. As a general rule, more people tend to look at the first page when they browse for books, and few keep looking beyond the first three. Almost no one bothers to keep clicking pages, so the further down the lists a book is, the less chances it has.
A book bomb is a concerted effort to propel the book up the ranks toward the top spots. Staying there of course is up to the book itself, but that initial push is something that you can all do to help!
Trade Hardcover
Buy From:
Amazon.com
Barnes
& Noble
Books-A-Million
Bookworld (Austrlia)
BookFinder
Powell's
Book
Depository
AddAll
Amazon UK - Amazon CA
Amazon FR - Amazon DE
Amazon JP - Amazon IN
Amazon IT - Amazon ES
And now...
I ask you now to buy the book -- today.
Buy it in ebook (pretty much in every format under the sun), trade paperback, and trade hardcover editions -- take your pick!
Note that I make more money from ebooks than paper print editions.
Note also that if you buy though the Amazon Affiliate links here, I get a tiny bit more from each sale.
But, none of it matters -- buy whatever edition you want!
Thank you, with all my soul.
And I ask you to spread the word.
This is an expanded article version of a series of posts, starting with my post on Kboards.com in response to whether there is an actual honest-to-goodness secret to publishing success that is clandestinely employed by successful self-published "Indies."
A writer mentioned half-humorously that their answer to a friend who has long suspected that there is "a secret method to achieving high sales" is simply "no."
I responded with the following:
Thing is, there is a secret.
And it is something that so many of us glean over, and just sort of overlook willingly, because we tell ourselves it just couldn't be that prosaic, could it? No, no way.
We repeat the healthy mantra "write more books, and write the best books you can."
However, even having done so, even though it is mostly true, we still feel the strange "sixth" sense of having missed something else in the equation.
And here it is, the secret thing we're choosing to overlook and miss, over and over.
It is money.
The dirty little secret above and beyond persistence and talent is money -- in other words, the means to utilize every and all possible beneficial resources at our disposal. I am talking not just about paid advertizing, but everything else that money can buy -- time (yours and other professionals who can help you), assistance of others (minions, a street team, posse, whatever) you can pay to do publishing tasks for you (high end cover design, editing, website, creative legwork), the ability to pay hefty entrance fees to various exclusive contests and opportunities for exposure such as high profile ARC venues and mass mailings, the usage of PR Newswire, NetGalley, special PR Firms, Book Tours, etc.
All of the above and more, cumulatively.
If you cannot afford even a single Bookbub ad, or a paid book blast mailing, frankly your options to get exposure are limited.

So yes, that's the secret, folks.
Money (and the liberal, cleverly planned usage of it) allows you to buy a bouquet of multiple opportunities, including that one thing that in your case could be that bit of luck that will catapult you into the stratosphere.
But you already know it.
Time to face the reality.
and an
addendum post:
It is sneaky, because time = money. Yours, somebody's, etc. We can call it something else, but it is what it is.
Luck also takes money. I like to say that "before a lottery ticket is a winner, someone has to buy it" -- in other words, literally it's not luck, it's luck plus a buck (or more, if you bought a bunch) that gets you that winning ticket.
As someone who also does pretty much everything myself (book writing, cover design, formatting, promotion, website work), it all adds up to my health and life energy, and giving it my all.
And I am flat broke, with holes on clothing and a chronically empty fridge too. This year I am at the lowest point ever (recovering from foreclosure and bankruptcy and major illness etc, etc) but I've been actually for once paying for some things, but it's all blood money, food money, literally.
So it's all money underneath.
* * *
The following day, I decided to sit down and brainstorm all the various methods, tips and tricks that I've gleaned over the last year and a half of closely following the Writers' Cafe forum at Kboards.com, but with the caveat that the methods are all free and hence entirely affordable for not only those with the means to purchase advertising and other professional promo services, but for the poor-as-Church-Mice authors.
Here are the things I came up with, as a promotional core, summarized in another post:
It's a fact.
Many of us cannot afford even basic advertising -- promoted Facebook posts ($7 a pop), various sites' book blasts and listings ($10-$25 a pop), much less the high end stuff like BookBub, ENT, KND, NetGalley, PR Newswire, PR Firms, etc....
All this stuff that feeds and powers (behind-the-scenes) the engine to kick-launch our books into regular and established visibility and maintain it there. (Ultimately, it's the same engine that major publishers use to launch their mega-sellers, and that many -- but not all, of course -- successful indies use to put themselves in a position to regularly move thousands of units.)
So...
The discussion in this thread, where I posted about the need for money (resources) as the real secret behind cumulative success (given all other factors in place such as a well written, well produced book) got me further thinking...
Supposing that we have a) an excellent book to sell, and b) we have no funds, only our own efforts, skills and dedication... then, what can we poor church-mice do?
Let's post below our methods, tips and tricks that can be used by anyone without spending a
cent.
I'll start by listing some givens and things we already know, so we don't re-hash the
same-old same-old.
Methods We All Know Already (or Should
Know)
1) Write a high quality book
that people want to read.
2) Have it professionally presented -- edited, designed, and with an attractive cover (as much as possible for a church-mouse).
3) Use Social Media such as Facebook, Twitter, Goodreads, LibraryThing, Shelfari, Pinterest, Google+, LinkedIn, MySpace, Tumbler, Instagram, etc., to promote your book to your social circles.  Use free HootSuite to set up automated tweets and posts.
4) Set up and cultivate a Mailing List for book announcements only (via MailChimp or such), and post links and/or widgets with the subscription form in as many places as possible and prominently on your website, blog, social media pages, and in the interior front and back matter of your actual book.
5) Include links to your other books or to a common landing page with links inside each ebook front or back matter (or both).
6) Give away your book for free to build readership and gain fans. Use the "Going Free" technique to either enroll the book in KDP Select and use the 5 free days to promote, or make one of your books Perma-Free by price matching it (making it free on other sites via Smashwords, and have Amazon match it).
7) Write a series, and put the first book Perma-Free as a loss leader to "hook" them and gain buying fans for books 2, 3, and onwards.... The more books in the series, the more likely you gain a long tail of "addicted" buyers.
8.) Write more books (with quality and professional presentation a given). Keep publishing them, and widening the net of your exposure, and have them sell each other.
9) Use the various Going Free and Discounted promotion sites that accept free submissions and fill out their forms, and hope to be picked up and featured.
10) Cultivate reviews. Use LibraryThing Member Giveaways to give away 100 ebooks (at a time) to gain reviews. (Use Goodreads Giveaways to give away 1-3 hard copies of your hardcover or paperback book, if you can afford it, but this is not free.) Find various forums and specialized groups on Goodreads where you can offer your book to reviewers. Email bloggers directly and manually, one at a time, until you lose the will to live as you comb the internet for them like precious crumbs.
11) Find and cultivate Super-Fans who love your work with a passion and will basically rave about your books for free to other people, which will in turn generate word-of-mouth and a geometric progression for exposure.
12) Cultivate yourself and/or your book series as a Brand.
13) Band together with other church-mice. Join group blogs, blog hops, and set up book tours. Plug each other!
Okay, now your turn! What other free tips, tricks, or methods did I miss? What new, original, unique things have you used?
April 2013 is the second annual Women in SF&F Month over at the Fantasy Cafe.
As one of the invited contributors, I'm very excited to participate in this celebration of women writing in the speculative fiction genre.
In my guest blog post, I discuss "Writing Warrior Women:"
http://www.fantasybookcafe.com/2013/04/women-in-sff-month-vera-nazarian/
Some interesting things about my childhood you might not know, and some interior insights into my thoughts on what makes a strong woman.
Greetings, Friend! I am Vera Nazarian, writer, artist, publisher, and creator of wonder. Welcome to my new redesigned website. Don't be shy! Click around. Peek under the covers and around corners. Explore! Enjoy! :-)


Faculty in Computer & Information Sciences lead or participate in a number of major research institutes and centers:


Let’s get started by making an N-BEATS ENSEMBLE. In a matter of minutes, you’ll generate the 4 forecasts shown below.
Load the following libraries.
Next, set up the Python Environment with install_gluonts()
. You only need to run this one time, and then you are good to go.
We’ll use the m4_hourly
dataset, which contains 4 hourly time series.
data <- m4_hourly %>%
select(id, date, value) %>%
group_by(id) %>%
mutate(value = standardize_vec(value)) %>%
ungroup()
data
#> # A tibble: 3,060 x 3
#> id date value
#> <fct> <dttm> <dbl>
#> 1 H10 2015-07-01 12:00:00 1.98
#> 2 H10 2015-07-01 13:00:00 1.95
#> 3 H10 2015-07-01 14:00:00 1.78
#> 4 H10 2015-07-01 15:00:00 1.62
#> 5 H10 2015-07-01 16:00:00 1.33
#> 6 H10 2015-07-01 17:00:00 1.16
#> 7 H10 2015-07-01 18:00:00 0.682
#> 8 H10 2015-07-01 19:00:00 0.0876
#> 9 H10 2015-07-01 20:00:00 -0.252
#> 10 H10 2015-07-01 21:00:00 -0.591
#> # … with 3,050 more rows
We’ll create the forecast region using future_frame()
. We are forecasting 1 week (24x7 timestamps) into the future.
HORIZON <- 24*7
new_data <- data %>%
group_by(id) %>%
future_frame(.length_out = HORIZON) %>%
ungroup()
new_data
#> # A tibble: 672 x 2
#> id date
#> <fct> <dttm>
#> 1 H10 2015-07-30 16:00:00
#> 2 H10 2015-07-30 17:00:00
#> 3 H10 2015-07-30 18:00:00
#> 4 H10 2015-07-30 19:00:00
#> 5 H10 2015-07-30 20:00:00
#> 6 H10 2015-07-30 21:00:00
#> 7 H10 2015-07-30 22:00:00
#> 8 H10 2015-07-30 23:00:00
#> 9 H10 2015-07-31 00:00:00
#> 10 H10 2015-07-31 01:00:00
#> # … with 662 more rows
We’ll create a model using the N-BEATS ENSEMBLE algorithm using the nbeats()
function.
gluonts_nbeats_ensemble
.lookback_length
. We can include more sub-models adjusting the bagging_size
.
model_fit_nbeats_ensemble <- nbeats(
id = "id",
freq = "H",
prediction_length = HORIZON,
lookback_length = c(HORIZON, 4*HORIZON),
epochs = 5,
num_batches_per_epoch = 15,
batch_size = 1
) %>%
set_engine("gluonts_nbeats_ensemble") %>%
fit(value ~ date + id, data)
An NBEATS ENSEMBLE is produced.
model_fit_nbeats_ensemble
With a model in hand, we can simply follow the Modeltime Workflow to generate a forecast for the multiple time series groups.
modeltime_forecast_tbl <- modeltime_table(
model_fit_nbeats_ensemble
) %>%
modeltime_forecast(
new_data = new_data,
actual_data = data,
keep_data = TRUE
) %>%
group_by(id)
We can visualize the forecast with plot_modeltime_forecast()
.
modeltime_forecast_tbl %>%
plot_modeltime_forecast(
.facet_ncol = 2,
.facet_scales = "free",
.interactive = FALSE
)
GluonTS models will need to “serialized” (a fancy word for saved to a directory that contains the recipe for recreating the models). To save the models, use save_gluonts_model()
.
model_fit_nbeats_ensemble %>%
save_gluonts_model(path = "nbeats_ensemble_model", overwrite = TRUE)
You can reload the model into R using load_gluonts_model()
.
model_fit_nbeats_ensemble <- load_gluonts_model("nbeats_ensemble_model")
Time series is changing. Businesses now need 10,000+ time series forecasts every day. This is what I call a High-Performance Time Series Forecasting System (HPTSF) - Accurate, Robust, and Scalable Forecasting.
My Talk on High-Performance Time Series Forecasting
I teach how to build a HPTFS System in my High-Performance Time Series Forecasting Course. If interested in learning Scalable High-Performance Forecasting Strategies then, by taking my course, you will learn:
Modeltime
- 30+ Models (Prophet, ARIMA, XGBoost, Random Forest, & many more)GluonTS
(Competition Winners)


|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.sql.rowset.spi.SyncProvider
public abstract class SyncProvider
The synchronization mechanism that provides reader/writer capabilities for
disconnected RowSet
objects.
A SyncProvider
implementation is a class that extends the
SyncProvider
abstract class.
A SyncProvider
implementation is
identified by a unique ID, which is its fully qualified class name.
This name must be registered with the
SyncFactory
SPI, thus making the implementation available to
all RowSet
implementations.
The factory mechanism in the reference implementation uses this name to instantiate
the implementation, which can then provide a RowSet
object with its
reader (a javax.sql.RowSetReader
object) and its writer (a
javax.sql.RowSetWriter
object).
The Jdbc RowSet
Implementations specification provides two
reference implementations of the SyncProvider
abstract class:
RIOptimisticProvider
and RIXMLProvider
.
The RIOptimisticProvider
can set any RowSet
implementation with a RowSetReader
object and a
RowSetWriter
object. However, only the RIXMLProvider
implementation can set an XmlReader
object and an
XmlWriter
object. A WebRowSet
object uses the
XmlReader
object to read data in XML format to populate itself with that
data. It uses the XmlWriter
object to write itself to a stream or
java.io.Writer
object in XML format.
SyncProvider
implementations, the following should be noted:
SyncProvider
implementation
is its fully qualified class name.
SyncProvider
implementation in a package named providers
.
For instance, if a vendor named Fred, Inc. offered a
SyncProvider
implementation, you could have the following:
Vendor name: Fred, Inc. Domain name of vendor: com.fred Package name: com.fred.providers SyncProvider implementation class name: HighAvailabilityProvider Fully qualified class name of SyncProvider implementation: com.fred.providers.HighAvailabilityProvider
The following line of code uses the fully qualified name to register
this implementation with the SyncFactory
static instance.
SyncFactory.registerProvider( "com.fred.providers.HighAvailabilityProvider");
The default SyncProvider
object provided with the reference
implementation uses the following name:
com.sun.rowset.providers.RIOptimisticProvider
A vendor can register a SyncProvider
implementation class name
with Oracle and/or its affiliates. by sending email to<EMAIL_ADDRESS>Sun will maintain a database listing the
available SyncProvider
implementations for use with compliant
RowSet
implementations. This database will be similar to the
one already maintained to list available JDBC drivers.
Vendors should refer to the reference implementation synchronization
providers for additional guidance on how to implement a new
SyncProvider
implementation.
RowSet
Object Gets Its ProviderRowset
object may get access to a
SyncProvider
object in one of the following two ways:
CachedRowSet crs = new CachedRowSet( "com.fred.providers.HighAvailabilitySyncProvider");
setSyncProvider
method
CachedRowSet crs = new CachedRowSet(); crs.setSyncProvider("com.fred.providers.HighAvailabilitySyncProvider");
By default, the reference implementations of the RowSet
synchronization
providers are always available to the Java platform.
If no other pluggable synchronization providers have been correctly
registered, the SyncFactory
will automatically generate
an instance of the default SyncProvider
reference implementation.
Thus, in the preceding code fragment, if no implementation named
com.fred.providers.HighAvailabilitySyncProvider
has been
registered with the SyncFactory
instance, crs will be
assigned the default provider in the reference implementation, which is
com.sun.rowset.providers.RIOptimisticProvider
.
RowSet
object
and a data source violates
the original query or the underlying data source constraints, this will
result in undefined behavior for all disconnected RowSet
implementations
and their designated SyncProvider
implementations.
Not defining the behavior when such violations occur offers greater flexibility
for a SyncProvider
implementation to determine its own best course of action.
A SyncProvider
implementation
may choose to implement a specific handler to
handle a subset of query violations.
However if an original query violation or a more general data source constraint
violation is not handled by the SyncProvider
implementation,
all SyncProvider
objects must throw a SyncProviderException
.
RowSet
object to be populated
from an SQL query that is formulated originally from an SQL VIEW
.
While in many cases it is possible for an update to be performed to an
underlying view, such an update requires additional metadata, which may vary.
The SyncProvider
class provides two constants to indicate whether
an implementation supports updating an SQL VIEW
.
NONUPDATABLE_VIEW_SYNC
- Indicates that a SyncProvider
implementation does not support synchronization with an SQL VIEW
as the
underlying source of data for the RowSet
object.
UPDATABLE_VIEW_SYNC
- Indicates that a
SyncProvider
implementation
supports synchronization with an SQL VIEW
as the underlying source
of data.
The default is for a RowSet
object not to be updatable if it was
populated with data from an SQL VIEW
.
SyncProvider
ConstantsSyncProvider
class provides three sets of constants that
are used as return values or parameters for SyncProvider
methods.
SyncProvider
objects may be implemented to perform synchronization
between a RowSet
object and its underlying data source with varying
degrees of of care. The first group of constants indicate how synchronization
is handled. For example, GRADE_NONE
indicates that a
SyncProvider
object will not take any care to see what data is
valid and will simply write the RowSet
data to the data source.
GRADE_MODIFIED_AT_COMMIT
indicates that the provider will check
only modified data for validity. Other grades check all data for validity
or set locks when data is modified or loaded.
SyncProvider
object
SyncProvider
object can
perform updates to an SQL VIEW
SyncFactory
,
SyncFactoryException
| Field Summary | |
|---|---|
static int |
DATASOURCE_DB_LOCK
Indicates that a lock is placed on the entire data source that is the source of data for the RowSet object
that is using this SyncProvider object. |
static int |
DATASOURCE_NO_LOCK
Indicates that no locks remain on the originating data source. |
static int |
DATASOURCE_ROW_LOCK
Indicates that a lock is placed on the rows that are touched by the original SQL statement used to populate the RowSet object
that is using this SyncProvider object. |
static int |
DATASOURCE_TABLE_LOCK
Indicates that a lock is placed on all tables that are touched by the original SQL statement used to populate the RowSet object
that is using this SyncProvider object. |
static int |
GRADE_CHECK_ALL_AT_COMMIT
Indicates a high level optimistic synchronization grade with respect to the originating data source. |
static int |
GRADE_CHECK_MODIFIED_AT_COMMIT
Indicates a low level optimistic synchronization grade with respect to the originating data source. |
static int |
GRADE_LOCK_WHEN_LOADED
Indicates the most pessimistic synchronization grade with respect to the originating data source. |
static int |
GRADE_LOCK_WHEN_MODIFIED
Indicates a pessimistic synchronization grade with respect to the originating data source. |
static int |
GRADE_NONE
Indicates that no synchronization with the originating data source is provided. |
static int |
NONUPDATABLE_VIEW_SYNC
Indicates that a SyncProvider implementation
does not support synchronization between a RowSet
object and the SQL VIEW used to populate it. |
static int |
UPDATABLE_VIEW_SYNC
Indicates that a SyncProvider implementation
supports synchronization between a RowSet object and
the SQL VIEW used to populate it. |
| Constructor Summary | |
|---|---|
SyncProvider()
Creates a default SyncProvider object. |
| Method Summary | |
|---|---|
abstract int |
getDataSourceLock()
Returns the current data source lock severity level active in this SyncProvider implementation. |
abstract int |
getProviderGrade()
Returns a constant indicating the grade of synchronization a RowSet object can expect from
this SyncProvider object. |
abstract String |
getProviderID()
Returns the unique identifier for this SyncProvider object. |
abstract RowSetReader |
getRowSetReader()
Returns a javax.sql.RowSetReader object, which can be used to
populate a RowSet object with data. |
abstract RowSetWriter |
getRowSetWriter()
Returns a javax.sql.RowSetWriter object, which can be
used to write a RowSet object's data back to the
underlying data source. |
abstract String |
getVendor()
Returns the vendor name of this SyncProvider instance |
abstract String |
getVersion()
Returns the release version of this SyncProvider instance. |
abstract void |
setDataSourceLock(int datasource_lock)
Sets a lock on the underlying data source at the level indicated by datasource_lock. |
abstract int |
supportsUpdatableView()
Returns whether this SyncProvider implementation
can perform synchronization between a RowSet object
and the SQL VIEW in the data source from which
the RowSet object got its data. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static int GRADE_NONE
SyncProvider
implementation returning this grade will simply attempt to write
updates in the RowSet
object to the underlying data
source without checking the validity of any data.
public static int GRADE_CHECK_MODIFIED_AT_COMMIT
SyncProvider
implementation
returning this grade will check only rows that have changed.
public static int GRADE_CHECK_ALL_AT_COMMIT
SyncProvider
implementation
returning this grade will check all rows, including rows that have not
changed.
public static int GRADE_LOCK_WHEN_MODIFIED
SyncProvider
implementation returning this grade will lock the row in the originating
data source.
public static int GRADE_LOCK_WHEN_LOADED
SyncProvider
implementation returning this grade will lock the entire view and/or
table affected by the original statement used to populate a
RowSet
object.
public static int DATASOURCE_NO_LOCK
SyncProvider
implementations unless
otherwise directed by a RowSet
object.
public static int DATASOURCE_ROW_LOCK
RowSet
object
that is using this SyncProvider
object.
public static int DATASOURCE_TABLE_LOCK
RowSet
object
that is using this SyncProvider
object.
public static int DATASOURCE_DB_LOCK
RowSet
object
that is using this SyncProvider
object.
public static int UPDATABLE_VIEW_SYNC
SyncProvider
implementation
supports synchronization between a RowSet
object and
the SQL VIEW
used to populate it.
public static int NONUPDATABLE_VIEW_SYNC
SyncProvider
implementation
does not support synchronization between a RowSet
object and the SQL VIEW
used to populate it.
| Constructor Detail |
|---|
public SyncProvider()
SyncProvider
object.
| Method Detail |
|---|
public abstract String getProviderID()
SyncProvider
object.
String
object with the fully qualified class name of
this SyncProvider
objectpublic abstract RowSetReader getRowSetReader()
javax.sql.RowSetReader
object, which can be used to
populate a RowSet
object with data.
javax.sql.RowSetReader
objectpublic abstract RowSetWriter getRowSetWriter()
javax.sql.RowSetWriter
object, which can be
used to write a RowSet
object's data back to the
underlying data source.
javax.sql.RowSetWriter
objectpublic abstract int getProviderGrade()
RowSet
object can expect from
this SyncProvider
object.
public abstract void setDataSourceLock(int datasource_lock) throws SyncProviderException
SyncProvider
to adjust its behavior by increasing or
decreasing the level of optimism it provides for a successful
synchronization.
datasource_lock
- one of the following constants indicating the severity
level of data source lock required:
SyncProvider.DATASOURCE_NO_LOCK, SyncProvider.DATASOURCE_ROW_LOCK, SyncProvider.DATASOURCE_TABLE_LOCK, SyncProvider.DATASOURCE_DB_LOCK,
SyncProviderException
- if an unsupported data source locking level
is set.getDataSourceLock()
public abstract int getDataSourceLock() throws SyncProviderException
SyncProvider
implementation.
SyncProvider
object;
one of the following:
SyncProvider.DATASOURCE_NO_LOCK, SyncProvider.DATASOURCE_ROW_LOCK, SyncProvider.DATASOURCE_TABLE_LOCK, SyncProvider.DATASOURCE_DB_LOCK
SyncProviderExceptiom
- if an error occurs determining the data
source locking level.
SyncProviderException
setDataSourceLock(int)
public abstract int supportsUpdatableView()
SyncProvider
implementation
can perform synchronization between a RowSet
object
and the SQL VIEW
in the data source from which
the RowSet
object got its data.
int
saying whether this SyncProvider
object supports updating an SQL VIEW
; one of the
following:
SyncProvider.UPDATABLE_VIEW_SYNC,
SyncProvider.NONUPDATABLE_VIEW_SYNCpublic abstract String getVersion()
SyncProvider
instance.
String
detailing the release version of the
SyncProvider
implementationpublic abstract String getVendor()
SyncProvider
instance
String
detailing the vendor name of this
SyncProvider
implementation
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright © 2004, 2010 Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.


ENQUIRY FORM
Personal Details
Departure Date
Trip Days
1
2
3
4
5
6
7
Select destination and Industry
Add
I am
Student
Faculty
Parent
School/College Management
Business Person
other
Mode of Transport
AC
Non-AC
Total Passengers
Accommodation Type (per head)
₹ 300-500/-
₹ 600-800/-
₹ 900-1200/-
Meal Preferences
Break-Fast
Lunch
Dinner
Book Trip


| 216 | (A) | witħ processione and presynge of prynces and dukes |
| (C) | ---- no text ---- | |
| 211 | (D) | with processioun & prees of princes & dukes |
| 210 | (E) | with processyon & pres of princes & dukes |
| (Ex) | ---- no text ---- | |
| 216 | (L) | with processioun & pres princes & dukes |
| 209 | (P) | with pression and prese of princes and dukes |
| 209 | (U) | With procession and pres / of lordes and dukes |
| (V) | ---- no text ---- |


{% extends "cms/regulations/base.html" %} {% block main %}
This change has already been approved and applied.
This change requires approval.


{% extends "committee_layout.html" %} {% from 'macros/attachments.html' import audio_attachments, related_attachments, related_bills %} {% block title %}{{ event.title }} | PMG{% endblock %} {% block committee_breadcrumb %} {{ super() }}
Access to this committee meeting report and those for the committees below is restricted. All other committees are freely accessible.
The following users are exempt from a subscription fee. Please log in using an email address that identifies your affiliation to one of these:
Your subscription will only be active once you confirm your email address.
We sent you an email with a confirmation link when you signed up. If you have not received it, you can request another confirmation email.
Email<EMAIL_ADDRESS>if you cannot get in and you belong to one of the above.
Business, government and other users need to subscribe to access meeting reports of these 13 National Assembly committees. Find out more about subscribing.
{% include '_premium_committees.html' %} {% else %}A summary of this committee meeting is not yet available.
{% endif %}Minutes for this committee meeting are not yet available.
{% endif %}You can download this page as a PDF using your browser's print functionality. Click on the "Print" button below and select the "PDF" option under destinations/printers.
See detailed instructions for your browser here.


Warning !!!
Should Twitter not redirect you within 5 seconds , please use the redirect button of your browser twice. I hope this occuring bug will be removed soon.
Continue


by Vyacheslav Stepanov
Nalyë melda ’r vanima lá maiya.
Ter quana ré
Luë nin i vániel vahaiya
Ar anda né.
Quiquië nin quetil, nás alassë
Ve virya nén.
Ilyë márë felmi hondonyassë
Antainë lyén.
You are more sweet and beautiful than an angel.
Through the whole day
It is heavy on me that you have gone far away
And long ago.
Whenever you speak to me, that is joy
Like fresh water.
All good feelings in my heart
Are given to you.
© 2023, Vyacheslav Stepanov.
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.


Massah Collection is a trendsetting Online Clothing Store, offering our first-rate products and exceptional customer service to shoppers from the comfort of their own homes. We’re a business made up of innovators and forward-thinkers, with the drive and wherewithal to constantly update and improve the online shopping experience.


Every question is having a timeout of at max 3 minutes. If it is answered after timeout, no marks will be awarded.
For every question there is a minimum time limit (generally 8 seconds but may be more or less depending on word count of question). If time taken to answer is more than minimum time limit, then marks will be awarded using following formula :
No question will be repeated for a user even if he refuses to answer after seeing it. Even if you skip aquestion, it will be counted as attempted question.
Since, questions are selected randomly from a large database, probability of two persons getting the same question simultaneously is less than 0.50 percent. Please don't try to behave smartly.
If difference between "Time Taken between Request and Submission to Server" and "Time Taken Calculated by Timer" is found more than 10 seconds, it means either your connection is very slow or you are trying to manipulate timer. If this will happen frequently, your quiz account will be disabled and no marks will be awarded for such submissions. It's advised to use high speed internet for this event.


Chapter 2 Getting started and loading data
What you want to do:
Install R Studio and R
Load data saved in a Microsoft Excel spreadsheet (
.xlsx
), comma separated values file (.csv
), SPSS file (.sav
), or Google Sheet.
2.1 Install R Studio and R
First, you’ll need to download the latest versions of R Studio and R. Although we’ll exclusively be using R Studio, R Studio needs to have R installed, as well. You can find links here:
Download R Studio: https://www.rstudio.com/products/rstudio/download/#download
Download R: https://cran.r-project.org/
Don’t worry; you won’t mess anything up if you download (or even install!) the wrong file. Once you’ve installed both, we can get to work doing some data analysis.
2.2 Loading data
You might be thinking that an Excel file is the first that we would load, but there happens to be a format which you can open and edit in Excel that is even easier to use between Excel and R and among Excel, R, as well as SPSS and other statistical software, like MPlus, and even other programming languages, like Python. That format is CSV, or a comma-separated-values file.
The CSV file is useful because you can open it with Excel and save Excel files as CSV files. Additionally, and as its name indicates, a CSV file is rows of a spreadsheet with the columns separated by commas, so you can view it in a text editor, like TextEdit for Macintosh, as well. Not surprisingly, Google Sheets easily converts CSV files into a Sheet, and also easily saves Sheets as CSV files.
For these reasons, we start with reading CSV files.
2.2.1 Loading CSV files
The easiest way to read a CSV file is with the function read_csv()
. It is from a package, or an add-on to R, called readr
, but we are going to install readr
as well as other packages that work well together as part of a group of packages named the tidyverse
. To install all of the packages in the tidyverse, use the following command:
install.packages("tidyverse")
You can also navigate to the Packages pane, and then click “Install”, which will work the same as the line of code above. Note, here there is a way to install a package using code or part of the R Studio interface. Usually, using code is a bit quicker, but sometimes (as we will see in a moment) using the interface can be very useful and sometimes complimentary to use of code.
We have now installed the tidyverse. We only have to install a package once, but to use it, we have to load it each time we start a new R session. We will discuss what an R session is later on; for now, know that we have to load a package to use it. We do that with library()
:
library(tidyverse)
And now we can load a file. We are going to call the data student_responses
:
Since we loaded the data, we now want to look at it. We can just type its name, and a summary of the data will print:
This was a minor task, but if you loaded a file and printed it, give yourself a pat on the back. It is no joke to say that many times simply being able to load a file into new software. We are now well on our way to carrying out analysis of our data.
2.2.2 Loading Excel files
We will now do the same with an Excel file. You might be thinking that you can simply open the file in Excel and then save it as a CSV. This is generally a good idea. At the same time, sometimes you may need to directly read a file from Excel, and it is easy enough to do this.
The package that we use, readxl
, is not a part of the tidyverse, so we will have to install it first (remember, we only need to do this once), and then load it using library(readxl)
. Note that the command to install readxl
is grayed-out below: The #
symbol before install.packages("readxl")
indicates that this line should be treated as a comment and not actually run, like the lines of code that are not grayed-out. It is here just as a reminder that the package needs to be installed if it is not already.
Once we have installed readxl, we have to load it (just like tidyverse):
# install.packages("readxl")
library(readxl)
We can then use read_xlsx()
in the same way as read_csv()
:
x <- read_xls()
x <- read_xlsx()
And we can print the data we loaded in the same way:
2.2.3 Loading SAV files
The same factors that apply to reading Excel files apply to reading SAV
files (from SPSS). First, install the package haven
, load it, and the use the function read_sav()
:
# install.packages("haven")
library(haven)
x <- read_sav("")
2.2.4 Google Sheets
Finally, it can sometimes be useful to load a file directly from Google Sheets, and this can be done using the Google Sheets package.
# install.packages("googlesheets")
library(googlesheets)
When you run the command below, a link to authenticate with your Google account will open in your browser.
my_sheets <- gs_ls()
You can then simply use the gs_title()
function in conjunction with the gs_read()
function:
df <- gs_title('title')
df <- gs_read(df)
2.3 Conclusion
Great job! You’ve made it through the first chapter. For more on reading files, we will discuss how to use functions to read every file in a folder (or, to write many different files to a folder).