text:
Q: DDD structure example I am trying to structure an application using DDD and onion/hexagonal/clean architecture (using Java and Spring).  I find it easier to find guidance on the concepts themselves than actually how to implement them.  DDD in particular seems rather tricky to find examples that are instructive because each problem is unique.  I have seen numerous examples on SO that have been helpful but I still have questions.  I wonder whether going through my example would help me and anyone else.
I hope you can forgive me asking more than one question here.  The example seems too big for it to make sense me repeating it in multiple questions.
Context:
We have an application that should display information about soccer stats and has the following concepts (for simplicity I have not included all attributes):

*

*Team, which has many Players.

*Player.

*Fixture, which has 2 Teams and 2 Halves.

*Half, which has 2 FormationsPlayed and many Combinations.

*FormationPlayed, which has many PositionsPlayed.

*PositionPlayed, which has 1 Player and a position value object.

*Combination, which can be of 2 types, and has many Moves.

*Move, which can be of 2 types, has 1 Player and an event value object.

As you can imagine, trying to work out which things are aggregate roots here is tricky.

*

*Team can exist independently so is an AR.

*Player can exist independently so is an AR.

*Fixture, when deleted, must also delete its Halves, so is an AR.

*Half must be an entity in Fixture.

*FormationPlayed must be deleted when a half is deleted, so perhaps this should be an entity in Half.

*PositionPlayed must be deleted when a Formation is deleted, so believe this should be an entity in FormationPlayed.

*Combination in a sense can exist independently, though is tied to a particular game half.  Perhaps this could be an AR tied by eventual consistency.

*Move must be deleted when a Combination is deleted, so believe this should be an entity in Combination.

Questions:

*

*Do you see any errors in the above design?  If so what would you change?

*The Fixture - Half - FormationPlayed - PositionPlayed aggregate seems too large, so I wonder whether you would agree that this could be split into Fixture - Half and FormationPlayed - PositionPlayed using eventual consistency.  The thing I can't find an example of is how this is implemented in Java?  If Fixture were deleted, would you fire a FixtureDeleted event that causes its corresponding FormationPlayed entities to also be deleted?

*I want to construct a domain model that has no understanding of the way that it will be persisted (as per onion architecture).  My understanding is that domain entities here should not have surrogate keys because this relates to persistence.  I also believe that entities should only reference entities in other aggregates by ids.  How then, for example, would PositionPlayed reference Player in the domain model?

*Initially the aim is only to allow the client to get the data and display it.  Ultimately I want clients to be able to perform CRUD themselves, and I want all invariants to be held together by the domain model when this happens.  Would it simplify things (and can you show me or point me to example explaining how) to have two domain models, one simple for data retrieval and one rich for the operations to be performed later?  Two BCs, as it were.  The reason I ask is that a rich domain model seems rather time consuming to come up with when initially we only want to display stats in the database, but I also don't want to create trouble for myself down the line if it is better to create one rich domain model now in view of the usecases envisioned later.  I wonder, if I were to create a simpler model for data retrieval only, which concepts in DDD could be ignored (would I still need to break up large aggregates, for example?)

I hope this all makes sense.  Obviously happy to explain further if needed.  Realise I'm asking a lot here and I may have confused some ideas.  Any answers and wisdom you can give to this would be greatly appreciated !

A:
Do you see any errors in the above design? If so what would you change?

There might be a big one: is your system the book of record? or is it just keeping track of events that happen in the "real world".  In a sense, the point of aggregates is to ensure that the book of record is internally consistent, but if you aren't the book of record....
For an example of what I mean

*

*http://www.soccerstats.com/ -- the book of record is the real world.

*https://www.easports.com/fifa -- the games are played in the computer

If Fixture were deleted, would you fire a FixtureDeleted event that causes its corresponding FormationPlayed entities to also be deleted?

Udi Dahan wrote: Don't Delete, Just Don't.  If an entity has a lifecycle, and that lifecycle has an end, then you mark it, but you don't remove the entity.

I want to construct a domain model that has no understanding of the way that it will be persisted (as per onion architecture)

Great!  Be warned, a lot of the examples that you will find online don't get this part right -- for historical reasons, many demonstrations of model are tightly coupled to the side effects that they have on persistence.

My understanding is that domain entities here should not have surrogate keys because this relates to persistence. I also believe that entities should only reference entities in other aggregates by ids. How then, for example, would PositionPlayed reference Player in the domain model?

Ah -- OK, this one is fun.  Don't confuse surrogate keys used in the persistence layer with identifiers in the domain model.  For instance, when I look at my purchasing history on Amazon, each of my orders (presumably an aggregate) has an ORDER # associated with it.  That would imply that the domain level knows about OrderNumber as a value type.  The persistence solution in the back end might introduce surrogate keys when storing that data, but those keys are not used by the model.
Note that's I've chosen an example where the aggregate is clearly the authority -- the order only really exists within the model.  When the real world is the book of record, you often don't have a unique identifier available (what is Lionel Messi's PlayerId?)

The reason I ask is that a rich domain model seems rather time consuming to come up with when initially we only want to display stats in the database

A couple of thoughts on this -- ddd is usually saved for more complicated use cases (Greg Young: "is this where you get a competitive advantage?").  Most of the power of aggregates comes from the fact that they ensure the consistency of changes of state.  When your real problem is data entry and reporting, it tends to be overkill.
Detection and remediation of inconsistencies is often easier/cheaper than trying to get prevention right; and may be satisfactory to the business, given the costs.  Something to keep in mind.

The application is keeping track of events in the real world. At the moment, they are recorded manually in a database. Can you be explicit why you believe the distinction is important?

Very roughly -- events indicate things that have already happened.  It's too late for the domain to veto them; the real world is outside of the domain's control.
Furthermore, we have to keep in mind that, since the real world is the book of record, things may have happened in the real world that our domain model doesn't know about yet (the reporting of events may be delayed, lost, reordered, and so on).
Aggregates are supposed to be a source of truth.  Which means that they can only govern entities in the digital world.
One kind of information resource that you could create is a report of Messi's goals in a season.  So every time a goal is reported, you run a command to update the report aggregate.  That's not anemic -- not exactly -- but it's not very interesting.  It's really just a view (in CQRS terms, it's a read model) that you can recreate from the history of events.  It doesn't have any intelligence in it.
The interest aggregates are those that make decisions for themselves, based on the information that they are given.
A contrived example of an aggregate would be one that, if a player scores more than 10 goals in a season, orders that players jersey for you.  Notice that while "goals" are something already present in your event stream, the business rule doesn't.  That's purely a domain model thing.
So the way that this would work is that each time a goal event appeared, you would load the JerseyPerchasing aggregate, and tell it about the goal.  And that aggregate would make sure that this was a new goal (not one that had previously been reported), and determine if the number of goals called for ordering a shirt, check to see if the order for the shirt had already been placed.
Key idea here -- the goals are something that the aggregate is told about.  The decision to purchase a jersey is made by the aggregate, and shared with the world.
Later, you realize that sometimes a player gets traded, and then scores a 10th goal.  And you have to determine as a business whether that means you get one shirt (which?) or one shirt for each jersey, or maybe you only order jerseys if he scored 10 goals for a specific team in a season.  All of this logic goes into the aggregate.

a domain model as per onion architecture that, can you point me to any good examples?

Best place to look, as weird as it sounds, is among the functional programming types.  Mark Seemann's blog includes a lot of important ideas that will help here.
The main idea to keep in mind that the model sits at the bottom.  The app passes state to the model, and gets state back (in CQS terminology, you query the model).  The app is responsible for sharing the results obtained from the model with the persistence component.

do you believe the accepted view would be that an anaemic model should be adopted for a domain this size

In the case where you are just re-organizing information from the real world for easier consumption?  Yeah - load document, update document, store document makes a lot more sense to me than going overboard with a bunch of aggregate modeling.  But don't read too much into that -- I don't know more about your model than what you have written here.  If there's real business complexity in how you evaluate the information from the real world, then the answer would be different.


text:
Q: Print values from SHOW TABLES query I'm trying to run my SHOW TABLES; query using PHP and print the results. However, the data being printed is only the first result. I'm assuming that what I am doing wrong is something simple, but, I've been trying for a while and can't get it to work. Code is below:
<?php
    $sel_query="SHOW TABLES";
    $result = mysqli_query($con,$sel_query);
    $dataArray = mysqli_fetch_assoc($result);
    $values = print implode(", ", $dataArray)."
";
    echo $values;

    foreach ($dataArray as $tables) {
        echo "$tables
";
    }
?>

Does anyone know what I need to change to make all of the values print?

A: You need to mysqli_fetch_assoc on each row, a common way is to use a while() loop which reads each row from the query and stops after the last row (mysqli_fetch_... returns NULL when the last row has been returned)...
 $result = mysqli_query($con,$sel_query);
 while ($dataArray = mysqli_fetch_assoc($result))  {
     echo implode(", ", $dataArray)."
";
 }

redpajama_set_name: RedPajamaStackExchange


This is a different way to enjoy green beans, packed full of flavour and texture. We love the tanginess of the sun dried tomatoes, the creaminess of the feta and the freshness of the beans and pesto. To make this side go even further, add 100g of baby spinach leaves to the salad and combine.
Add the basil leaves (50g), chopped parsley leaves (20g) and toasted pine nuts (50g) to the bowl. Chop Speed 10 / 5 seconds. Scrape down sides.
Add the olive oil (80g) and salt (2 tsp) to the bowl. Mix Speed 3 / 10 seconds. If you can hear that the blades aren't touching the food, stop, scrape down sides and continue. Scrape pesto out of bowl and set aside.
Add the prepared green beans (600g) to the lower dish of the steaming attachment. Add hot water (500g) to the bowl – no need to wash it. Set the steaming attachment in place. Program 20 minutes / Steaming Temperature / Speed 2. Stir the beans halfway through cooking.
Move the hot beans and pesto into a large bowl and stir gently to combine. Place onto a large serving platter.
Top with crumbled feta (200g), diced sun dried tomatoes (200g) and toasted pine nuts (50g).


text:
import test from 'ava';
import { isJson, isNonEmptyJson, payloadBuilder, payloadJsonProcessor } from '../src/payload';

const sampleJson = {
  schema: 'iglu:com.snowplowanalytics.snowplow/contexts/jsonschema/1-0-0',
  data: [
    {
      schema: 'iglu:com.example_company/page/jsonschema/1-2-1',
      data: {
        pageType: 'test',
        lastUpdated: new Date(Date.UTC(2014, 1, 26)),
      },
    },
    {
      schema: 'iglu:com.example_company/user/jsonschema/2-0-0',
      data: {
        userType: 'tester',
      },
    },
  ],
};

const expectedPayloads = [
  {
    co: '{"schema":"iglu:com.snowplowanalytics.snowplow/contexts/jsonschema/1-0-0","data":[{"schema":"iglu:com.example_company/page/jsonschema/1-2-1","data":{"pageType":"test","lastUpdated":"2014-02-26T00:00:00.000Z"}},{"schema":"iglu:com.example_company/user/jsonschema/2-0-0","data":{"userType":"tester"}}]}',
  },
  {
    cx: 'eyJzY2hlbWEiOiJpZ2x1OmNvbS5zbm93cGxvd2FuYWx5dGljcy5zbm93cGxvdy9jb250ZXh0cy9qc29uc2NoZW1hLzEtMC0wIiwiZGF0YSI6W3sic2NoZW1hIjoiaWdsdTpjb20uZXhhbXBsZV9jb21wYW55L3BhZ2UvanNvbnNjaGVtYS8xLTItMSIsImRhdGEiOnsicGFnZVR5cGUiOiJ0ZXN0IiwibGFzdFVwZGF0ZWQiOiIyMDE0LTAyLTI2VDAwOjAwOjAwLjAwMFoifX0seyJzY2hlbWEiOiJpZ2x1OmNvbS5leGFtcGxlX2NvbXBhbnkvdXNlci9qc29uc2NoZW1hLzItMC0wIiwiZGF0YSI6eyJ1c2VyVHlwZSI6InRlc3RlciJ9fV19',
  },
];

test('JSON Payload identifies as JSON', (t) => {
  const json = {
    name: 'john',
    properties: {
      age: 30,
      languages: ['English', 'French'],
    },
  };

  t.is(isJson(json), true);
});

test('non-JSON Payload doesnt identify as JSON', (t) => {
  const nonJson = function () {
    return {};
  };
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
  t.is(isJson(nonJson as any), false);
});

test('Empty Payload identifies as an empty JSON', (t) => {
  const emptyJson = {};
  t.is(isNonEmptyJson(emptyJson), false);
});

test('Build a payload', (t) => {
  const sb = payloadBuilder();
  sb.add('e', 'pv');
  sb.add('tv', 'js-2.0.0');

  t.deepEqual(sb.build(), { e: 'pv', tv: 'js-2.0.0' });
});

test('Do not add undefined values to a payload', (t) => {
  const sb = payloadBuilder();
  sb.add('e', undefined);

  t.deepEqual(sb.build(), {}, 'Undefined values should not be added to the payload');
});

test('Do not add null values to a payload', (t) => {
  const sb = payloadBuilder();
  sb.add('e', undefined);

  t.deepEqual(sb.build(), {}, 'Null values should not be added to the payload');
});

test('Add a dictionary of name-value pairs to the payload', (t) => {
  const sb = payloadBuilder();
  sb.addDict({
    e: 'pv',
    tv: 'js-2.0.0',
  });

  t.deepEqual(
    sb.build(),
    { e: 'pv', tv: 'js-2.0.0' },
    'A dictionary of name-value pairs should be added to the payload'
  );
});

test('Add a JSON to the payload', (t) => {
  const sb = payloadBuilder();
  sb.withJsonProcessor(payloadJsonProcessor(false));
  sb.addJson('cx', 'co', sampleJson);

  t.deepEqual(sb.build(), expectedPayloads[0], 'JSON should be added correctly');
});

test('Add a base 64 encoded JSON to the payload', (t) => {
  const sb = payloadBuilder();
  sb.withJsonProcessor(payloadJsonProcessor(true));
  sb.addJson('cx', 'co', sampleJson);

  t.deepEqual(sb.build(), expectedPayloads[1], 'JSON should be encoded correctly');
});

test('payloadBuilder with no json processor, processes no json', (t) => {
  const sb = payloadBuilder();
  sb.addJson('cx', 'co', sampleJson);

  t.deepEqual(sb.build(), {}, 'JSON should be missing');
});

test('Add a context entity', (t) => {
  const sb = payloadBuilder();
  sb.withJsonProcessor(payloadJsonProcessor(false));
  sb.addContextEntity(sampleJson.data[0]);
  sb.addContextEntity(sampleJson.data[1]);
  let payload = sb.build();
  t.deepEqual(payload, expectedPayloads[0], 'JSON should be added correctly');
});

test('Maintain context entities after subsequent builds', (t) => {
  const sb = payloadBuilder();
  sb.withJsonProcessor(payloadJsonProcessor(true));
  sb.addContextEntity(sampleJson.data[0]);
  sb.build();
  sb.addContextEntity(sampleJson.data[1]);
  let payload = sb.build();
  t.deepEqual(payload, expectedPayloads[1], 'JSON should be added correctly');
});

test('Add multiple context entities through addJson', (t) => {
  const sb = payloadBuilder();
  sb.withJsonProcessor(payloadJsonProcessor(true));
  sb.addJson('cx', 'co', { schema: sampleJson.schema, data: [sampleJson.data[0]] });
  sb.addJson('cx', 'co', { schema: sampleJson.schema, data: [sampleJson.data[1]] });
  let payload = sb.build();
  t.deepEqual(payload, expectedPayloads[1], 'JSON should be added correctly');
});

test('Combines context entities added through addJson and addContextEntity', (t) => {
  const sb = payloadBuilder();
  sb.withJsonProcessor(payloadJsonProcessor(true));
  sb.addJson('cx', 'co', { schema: sampleJson.schema, data: [sampleJson.data[0]] });
  sb.addContextEntity(sampleJson.data[1]);
  let payload = sb.build();
  t.deepEqual(payload, expectedPayloads[1], 'JSON should be added correctly');
});

redpajama_set_name: RedPajamaGithub


Simply Measured offers the most complete measurement and reporting solution for social media marketers. We believe that reporting should be simple, beautiful, and accessible for everyone – not just data scientists. Our software streamlines the process of moving social media data into dashboards and other deliverables. We are dedicated to helping marketers to do their best work, simply.
Following Sprout Social's acquisition of Simply Measured, we have made significant progress in integrating the two brands and products under one umbrella. Find out where we are and what's to come!
Social media firm Sprout Social announced the acquisition of Seattle-based social analytics firm Simply Measured for an undisclosed sum.
In our Social Innovators series, we highlight leaders who use data and creativity to build world-class social marketing organizations. Meet Kirsten O'Brien.
Why Nudge.ai? Reach out to the decision makers at Simply Measured with a personalized email - let them know that you found their recent news mention interesting.
Nudge.ai's relationship intelligence platform can help you find the right executive to reach out to at Simply Measured, such as Uri Bar-Joseph, Director of Marketing, or Damon Cortesi, Co-Founder and New Product Research. Then get in touch and start a conversation.
Executives can be difficult to reach, but every company has connectors who bring together people and ideas. At Simply Measured, people like Uri Bar-Joseph, and Kevin Shively are likely connectors.
When Simply Measured is mentioned in the news, Nudge.ai often sees topics like Marketing, and Social Media. If your conversation focuses on these topics, you'll probably get Simply Measured's attention.
When Simply Measured is mentioned in the news, companies such as Edelman, Evernote, and Canva are often also mentioned. These companies can serve as customer examples.
Employees who are often in the news are usually open to starting conversations or exploring ideas. Nudge.ai's sales AI saw Kevin Shively, and Lucy Hitz from Simply Measured recently mentioned in the news.
Outshining your competitors on social is an audience-first strategy. Track and beat your competitors on social media using these six strategies.
Who in your network can introduce you to Simply Measured? Nudge.ai finds the best pathway to reach contacts at this company.


Our latest collaboration is with artist Helen Devine. We've teamed up to bring you 'The Original Hotline Bling' as a 5 colour limited edition screen print. This little guy is the business, the run is limited to 50 prints all hand printed, registered and signed by both Helen and Jill & Gill.


text:
Q: How to change favicon of moodle? I'm running moodle using docker and I'm trying to change the favicon of the site. Does anyone knows an answer for this issue?

A: In most, but not all, Moodle 2.x.x themes have custom settings pages, which you will find in the links listed under Settings > Site Administration > Appearance > Themes > ... Listed at this point you will see a list of Theme names, including Formal White. If you CLICK this link you will find the Custom Settings page associated with this theme. It is in this settings page that you can add your logo. All the instructions on how to do this are on that page.
I hope this helps in the Moodle maze or theme development.


This week has been short, with Monday the Thanksgiving holiday, but busy with covering classes for another teacher.
Rain fell this week, and temperatures are dropping. Late in the afternoon, however, golden light suffuses the garden as the sun slants low over the Sooke Hills beyond our home.
Rich tawny shades dominate in one last burst of colour before the austere lines of bare branches are etched against the sky.
Something drew me to an upstairs window on Wednesday afternoon. A thin layer of mist covered the distant hills seen beyond our neighbours' roofs. A tree, aspen perhaps, glowed yellow.
An enormous murder of crows rose up and swirled silently in circular patterns that spread from garden to garden including our own. The black crows spiraling upwards in the mist and the beacon of the yellow tree formed an unforgettable picture not captured by any camera.
At a time when the world aches with pain and despair, this moment of grace came as a gift from God, and I tucked it into my heart for safekeeping.
The weekend is upon us. Some homekeeping is on the agenda, and a little cooking. Hopefully a long walk and reading by the fire. What are your plans?
Your photos are beautiful. My plans this weekend are to move into my new house!!
It sounds like a beautiful weekend, full of rest and beauty. Enjoy.
Lovely photos. The weather is cooling down here too, sweater weather. It looks like some rain for us, but I can work on my list making for our December trip out your way. Enjoy the weekend.
Beautiful pictures, Lorrie. It is cooling here, too, but we are the warmest we have been in many years. Many of our trees have not changed color yet. Just so odd...but I will take it as I love the long days of Fall.
Such beautiful captures! I loved reading of your gift of grace. I wonder how many such gifts we miss when we're not paying attention. So glad that you were.
At our house today, we're in party prepping mode. We'll be celebrating my dad's 80th birthday tomorrow.
Beautiful and full of meaning, as always. Our plans are slow this weekend - we already took a drive down to see the Snow Geese and Trumpeter Swans that are migrating in, not a lot yet - but more to come I'm sure. They are predicting a bigger than usual migration.
Baking some bread - made pumpkin custard last night - and then relaxing for the rest of the weekend. Happy week ahead.
Ah yes...a weekend of simple things to keep us satisfied.
Busy times here as we are cleaning out our storage area and it has been YEARS! so lots of work and cleaning but I took time out to read a lovely new book from Sharon Santoni My French Country Home...you may already have read her book and the pictures are gorgeous!
hope you enjoy that walk.
Beautiful moments... such wonderful photos, individually and as a series.
Wishing you a happy and blessed Sunday!
Beautiful, both your words and photos conjure up some amazing images in my mind. Yesterday crafting, today Church and quality time with Gerard making plans for our forthcoming trip away.
Your photos here are like old oil paintings, Lorrie! And I really love your thought of tucking these gifts into your heart. It does help, doesn't it?
A beautifully written post. The unseasonably warm temperature continued this weekend. This afternoon, the #onstorm caused quite a bit of damage across the province.
to spending time outside looking up now that it's beginning to cool a little.
Such moments of beauty and grace are pretty much what is keeping many of us sane these days. So needed. Thank you for sharing yours.
Such beautiful photographs, wonderful colours too.
Oooohhh! Love that hydrangea... such rich colors in it. I am not sure I have ever seen a hydrangea blossom I didn't love, though!
Lorrie - I am playing a bit of catch-up with blog posts; we had visitors for nine days! This post was worth the wait! Your writing is so inspirational and the light in these pictures is sublime. It was truly a gift of grace that drew you to that window without a camera so that you could be quiet in the moment and recognize the gift in it. Have a wonderful weekend!


text:
Epoxy Flooring of Houston
A big Texan welcome to you. Thanks for taking the time to have a look at our epoxy flooring website and hopefully we can show you what we are all about. Here at Epoxy Flooring Of Houston, we have been providing world-class flooring solutions for commercial, residential, and industrial clients in the Houston area for some time now. We are sure you have even seen or used some of our fine epoxy coating work around town without even knowing it. That is how good we are at epoxy floor coatings. To get a better idea of this, please have a look at what epoxy coatings we can offer.
Timezone: (GMT-06:00) America/Denver
Houston 77030
https://epoxyflooring-houston.com/
Google Map:
About Houston
Houston ( (listen); HEW-stən) is the most populous city in Texas, the most populous city in the Southern United States, the fourth-most populous city in the United States, and the sixth-most populous city in North America, with a population of 2,304,580 in 2020. Located in Southeast Texas near Galveston Bay and the Gulf of Mexico, it is the seat and largest city of Harris County and the principal city of the Greater Houston metropolitan area, which is the fifth-most populous metropolitan statistical area in the United States and the second-most populous in Texas after Dallas–Fort Worth. Houston is the southeast anchor of the greater megaregion known as the Texas Triangle.Comprising a land area of 640.4 square miles (1,659 km2), Houston is the ninth-most expansive city in the United States (including consolidated city-counties). It is the largest city in the United States by total area whose government is not consolidated with a county, parish, or borough. Though primarily in Harris County, small portions of the city extend into Fort Bend and Montgomery counties, bordering other principal communities of Greater Houston such as Sugar Land and The Woodlands. The city of Houston was founded by land investors on August 30, 1836, at the confluence of Buffalo Bayou and White Oak Bayou (a point now known as Allen's Landing) and incorporated as a city on June 5, 1837. The city is named after former General Sam Houston, who was president of the Republic of Texas and had won Texas's independence from Mexico at the Battle of San Jacinto 25 miles (40 km) east of Allen's Landing. After briefly serving as the capital of the Texas Republic in the late 1830s, Houston grew steadily into a regional trading center for the remainder of the 19th century.The arrival of the 20th century brought a convergence of economic factors that fueled rapid growth in Houston, including a burgeoning port and railroad industry, the decline of Galveston as Texas's primary port following a devastating 1900 hurricane, the subsequent construction of the Houston Ship Channel, and the Texas oil boom. In the mid-20th century, Houston's economy diversified, as it became home to the Texas Medical Center—the world's largest concentration of healthcare and research institutions—and NASA's Johnson Space Center, home to the Mission Control Center. Since the late 19th century Houston's economy has had a broad industrial base, in energy, manufacturing, aeronautics, and transportation.
Neighborhoods around Houston
Woodland Heights, Fourth Ward, Greater Eastwood, Idylwood, Northside Village, First Ward, Second Ward, Greater Fifth Ward, Southampton, Rice Military, Brooke Smith, Norhill, Houston, Museum Park, University Oaks, Hyde Park, Houston Heights, Midtown, Houston Neighborhoods Department, Theater District, Montrose,
Things To Do in Houston
The Museum of Fine Arts, Houston
Houston Arboretum & Nature Center
Hermann Park
Waterwall
Buffalo Bayou Park
Art Car Museum
Bayou Bend Collection and Gardens
Gerald D. Hines Waterwall Park
Market Square Park
Cockrell Butterfly Center
Sam Houston Park
Driving Directions To Houston
Driving Directions from Hotel ICON, Autograph Collection to Houston Texas
Driving Directions from Magnolia Hotel Houston, a Tribute Portfolio Hotel to Houston Texas
Driving Directions from The Lancaster Hotel to Houston Texas
Driving Directions from Courtyard by Marriott Houston Downtown/Convention Center to Houston Texas
Driving Directions from Residence Inn by Marriott Houston Downtown/Convention Center to Houston Texas
Driving Directions from Club Quarters Hotel Downton, Houston to Houston Texas
Driving Directions from The Whitehall to Houston Texas
Driving Directions from Four Seasons Hotel Houston to Houston Texas
Driving Directions from Embassy Suites by Hilton Houston Downtown to Houston Texas
Driving Directions from Hilton Americas-Houston to Houston Texas
Driving Directions from Hyatt Regency Houston to Houston Texas
Driving Directions from Holiday Inn Express & Suites Houston-Dwtn Conv Ctr, an IHG Hotel to Houston Texas
Driving Directions from The Sam Houston, Curio Collection by Hilton to Houston Texas
Driving Directions from JW Marriott Houston Downtown to Houston Texas
Driving Directions from Athens Hotel & Suites to Houston Texas
Driving Directions from The Grove to Houston Texas
Driving Directions from Downtown Aquarium to Houston Texas
Driving Directions from Spec's Wines, Spirits & Finer Foods to Houston Texas
Driving Directions from The Westin Houston Downtown to Houston Texas
Driving Directions from University of Houston-Downtown (UHD) to Houston Texas
Posted in Flooring contractor. Bookmark the permalink.
businesslistingmarketing.com
directorybusinesslistings.com
starbusinesslistings.com
biz-networks.com
webdirectorybusiness.com
mylistaz.com
CSI Renovations & Roofing Sunday, September 18th, 2022
BoxDrop Mattress Grand Rapids, MI Wednesday, January 18th, 2023
Hull Maynard Hersey Insurance Tuesday, October 18th, 2022
BoxDrop Mattress & Furniture Des Moines, IA Tuesday, January 17th, 2023
Fence Company NYC Co Monday, January 2nd, 2023
The Woodlands of Camino Real in San Antonio, Texas USA Tuesday, December 27th, 2022
Phd plumbing inc Friday, December 2nd, 2022
Rick Feldman Photography Wednesday, December 7th, 2022
Resolution Plumbing Friday, December 2nd, 2022
Clarks Wednesday, September 21st, 2022
Asphalt Paving Eau Claire, WI Friday, January 27th, 2023
Bellevue Popcorn Ceiling Removal Monday, December 19th, 2022
Concrete Pros of Kelowna Tuesday, December 13th, 2022
BoxDrop Mattress & Furniture Castle Rock, CO Tuesday, January 17th, 2023
C & M Cleaning Services Thursday, October 6th, 2022
BoxDrop Mattress Schenectady, NY Wednesday, January 18th, 2023
Harlow Beauty and Hair Salon Monday, December 12th, 2022
Oak Hills Dentistry Tuesday, December 6th, 2022
Mold Removal & Remediation New York - Bronx Friday, January 20th, 2023
Sugar Land Bee Removal
Katy Decorative Concrete

redpajama_set_name: RedPajamaCommonCrawl


This position provides comprehensive care coordination for patients as assigned. This position assesses the patients plan of care and develops, implements, monitors and documents the utilization of resources and progress of the patient through their care, facilitating options and services to meet the patients health care needs. The intensity of care coordination provided is situational and appropriate based on patient need and payer requirements. This position is accountable for the quality of clinical services delivered by both them and others and identifies/resolves barriers which may hinder effective patient care.
Manages individual patients across the health care continuum to achieve the optimal clinical, financial, operational, and satisfaction outcomes.
Acts in a leadership function with process improvement activities for populations of patients to achieve the optimal clinical, financial, operational, and satisfaction outcomes.
Evaluates the medical necessity and appropriateness of care, optimizing patient outcomes.
Acts in a leadership function to collaboratively develop and manage the interdisciplinary patient discharge plan. Effectively communicates the plan across the continuum of care.
Educates internal members of the health care team on case management and managed care concepts. Facilitates integration of concepts into daily practice.
Requires masters degree in social work or related field or equivalent experience.
Requires a proficiency level typically achieved with 5 years clinical experience and as required by state law, a licensure in at least one of the following categories: social work, professional counseling or marriage and family. (Certification requires two years post graduate experience in a mental health setting or equivalent combination of education and documented supervised clinical experience.) Positions providing direct services to substance abuse program patients must also possess board licensure in addictions as required by state.
Must have a working knowledge of care management, hospital and community resources. Must demonstrate critical thinking skills, problem-solving abilities, effective communication skills, and time management skills. Must demonstrate ability to work effectively in an interdisciplinary team format.


text:
Lorenzo Somis ou Giovanni Lorenzo Somis (Turin,  – Turin, ) est un peintre, violoniste et compositeur italien de l'ère baroque.

Biographie
Lorenzo Somis fut surnommé L'Ardy ou Ardito, comme son père et son frère Giovanni Battista.

Son surnom est probablement issu d'une compagnie militaire ou d'une campagne de guerre à l'époque des conflits contre la France entre 1690 et 1693.

Lorenzo débuta ses études de violon avec son père, puis vécut pendant huit ans à Bologne, où il a probablement appris la peinture auprès de Giuseppe Del Sole, ainsi que la composition et le violon avec Girolamo Nicolò Laurenti.

De retour à Turin, il fut  incorporé, le , à la bande militaire du roi de Sardaigne, et embauché comme violoniste de la Cappella Regia (), où il resta jusqu'en 1770, année de son départ en retraite.

Il joua dans des concerts à Rome et dans le royaume de Naples.

En 1753, il se produisit à Paris.

En tant que peintre, Lorenzo Somis décora diverses résidences du royaume de Savoie et réalisa de nombreux portraits.

Œuvres

Musique
 Op.1 - 8 Sonates pour violon et Basse continue (1722, Rome)
 Op.2 - 12 Sonates pour Violon et Basse continue (1740, Paris)
 Op.3 - 6 Sonates en trio (1740, Paris)
 6 Concerts pour violon et orchestre

Peinture
 Décoration à fresque,
 Portraits
Portrait de son frère Giovanni Battista Somis

Bibliographie

Sources

Liens externes

Naissance à Turin
Violoniste classique italien
Compositeur italien du XVIIIe siècle
Compositeur italien de la période baroque
Peintre baroque italien
Peintre italien du XVIIIe siècle
Peintre fresquiste
Peintre portraitiste italien
Naissance en novembre 1688
Décès en novembre 1775
Décès à 87 ans

redpajama_set_name: RedPajamaWikipedia


Nouvelle Air Affaires Gabon is an airline based in Libreville, Gabon. It operates corporate and freight charter services. Its main base is Libreville International Airport. It started operating out of Gabon in 1975.
Following the closure of Afrijet and Gabon Airlines, Nouvelle Air Affaires Gabon is the last carrier in Gabon not on the list of air carriers banned in the European Union.
^ "Directory: World Airlines". Flight International. 2007-04-10. p. 57.
^ "Directory: World Airlines Part 3 (M-Z)". Flight International: 29–90. 2009-04-14.
This page was last edited on 8 June 2018, at 12:03 (UTC).


That's where people like her and myself come in the picture, we now have an understanding of health and wellness in a way that is not taught in an education system. When a person makes the decision to have a healthy lifestyle, it actually is a JOURNEY, a wellness path that is unending. Very clear and arranged. Pleasant employees and affords towel service. The only down side is its small size, and restricted tools selection and availability. Especially through the busy hours, you would need to anticipate others to finish with the burden machines before your flip. Additionally they offer group train lessons and private trainers. I have been a member for almost a year now and have referred many of my coworkers there. Overall an excellent gymnasium and definitely value your money especially for those who work for Northwell Health.
Mark S. King has lived with HIV since 1985. After receiving his diagnosis, he turned an advocate for others dwelling with HIV. His blog is a instrument for bringing awareness and provoking others. In current posts, Mark highlights the top HIV advocates to watch in 2017 and brings consideration to a film unmasking the fear behind HIV criminalization. So in what capacity if we continue. I'm really needing this to increase extra force and basic perceivability. I have to preserve it primary sufficient, yet give the code some significance additionally.
Uterine fibroids are a common health concern among a major inhabitants of girls. Uterine fibroids are benign, non cancerous tumours that originate within the uterus. They are also called fibroid tumors, leiomyomas, or myomas. They are made of the identical muscle tissues as the uterus, although they are usually hardened. That is presumably because uterine fibroids contain larger levels of estrogen than the surrounding uterine tissues. Some uterine fibroids may be so small that they can't be felt even during an internal examination; some may be giant enough to make a outstanding bulge in your abdomen.
Routine appointments at Student Health & Wellness are scheduled for anyplace from quarter-hour to 1 hour in length relying on the patient's 'concern' (illness, injury, etc. – what you describe to the scheduling staff whenever you call). Your description helps the scheduling workers decide probably the most acceptable sort and length of appointment to give you. Nevertheless, even along with your finest description and our greatest guess in terms of scheduling, instances can vary. We try to do our best at Student Health & Wellness to run on time and get you out and in as shortly as potential, whereas offering prime quality medical care and wellness companies.
The truth is, if the mandate is thrown out, a few things are sure. First, many of those who would in any other case have acquired coverage is not going to do so as penalties for non-compliance are eradicated. Second, there shall be a direct jump in individual and small group premium charges, for the reason that effects of the ACA provisions proscribing medical underwriting and pre-present condition limitations will not be offset by an influx of new healthy insureds.


Evey Hammond is the true heroine of the movie, and it is through her eyes that we follow the story. She becomes simultaneously V's point of vulnerability as he falls in love with her, but also his strength and motivation as she comes to represent the spark of latent humanity still unextinguished in the many inhabitants of the totalitarian state. With the (unwelcomed!) help of V, she undergoes an extraordinary personal transformation throughout the story, as she throws off the shackles of psychological oppression and starts to discover her true potential.
V: Of course you can. I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is.
V: Verily, this vichyssoise of verbiage veers most verbose, so let me simply add that it's my very good honor to meet you and you may call me V.
Evey: What does that mean?
V: It means that I, like God, do not play with dice and do not believe in coincidence. Are you hurt?
Evey: Artists use lies to tell the truth, while politicians use them to cover the truth up.
V: "By the power of truth I, while living, have conquered the universe".
Evey: That's about trying to cheat the devil, isn't it?


text:
Rusty Tractor Vineyards Chambourcin takes best of show in Arkansas Quality Wine competition
The competition is part of AQW's efforts to set quality standards for Arkansas-made wine, provide professional development for growers and winemakers and entice consumers to taste the fruit of the state's vines and their unique flavors.
Second Arkansas Quality Wine competition draws 30 entries
Competition opens new category based on percentage of Arkansas grapes
Tasting is first step to AQW certification
(Newsrooms — With 06-29-2022-ark-AQW-winners-list; 'Lorri' in 2nd graf is CQ; with art https://flic.kr/s/aHBqjzW9gr )
FAYETTEVILLE, Ark. — A Little Rock vineyard's Chambourcin took best of show in the 2022 Arkansas Quality Wine competition — an event that impressed judges with its stereotype-breaking breadth of flavors and styles.
WINNERS — Bottles representing the winners of the "Best of" categories in the 2022 Arkansas Quality Wine competition. From left: Cody Rawls, food science graduate student; Amanda Fleming, winemaker and food science graduate student, Jordan Chenier, food science graduate student; Michael Cook, judge from Texas A&M; Lorri Hambuchen, judge from The Wine Center, LLC; Renee Threlfall, Arkansas Quality Wine program director and Justin Scheiner, judge from Texas A&M. (U of A System Division of Agriculture photo)
The competition, the second of its kind, was held May 20 at the food science facilities of the Milo J. Shult Agricultural Research and Extension Center and featured 30 entries. There were three judges: Justin Scheiner, Ph.D., assistant professor and viticulture specialist from Texas A&M AgriLife Extension Service; Michael Cook, viticulture program specialist for north Texas with the Texas A&M AgriLife Extension Service; and Lorri Hambuchen, author and owner of The Wine Center in Little Rock.
Begun in 2011 with the planting of 200 muscadine vines, Rusty Tractor Vineyards has since expanded to more than 5,000 vines with a wide variety of grapes. Just two years after releasing its first vintage, Rusty Tractor's 2020 Chambourcin took home best of show.
BEST OF SHOW — Rusty Tractor vineyards' Chambourcin earned best of show in the 2022 Arkansas Quality Wine competition. (U of A System Division of Agriculture image by Cody Rawls)
"I'm absolutely humbled to win best of show," said Riley Mason, Rusty Tractor's winemaker. "When you put your hard work out there for the public to critique and you get good feedback it's extremely gratifying. I'm very pleased that the wines I am making are so well received.
Judges in the 2022 Arkansas Quality Wine program said they were impressed with the variety of wines with broad appeal being made in the Natural State.
"It was my second year judging the AQW Wine Competition and I continue to be impressed with the quality of the wines produced in Arkansas," said Scheiner. "There were so many different types of grapes, styles of wine, and flavors represented that any wine drinker could have found a wine they liked."
Cook was also impressed with the breadth of the entries.
"The 2022 AQW judging was full of standout wines with a few jaw-dropping surprises along the way," Cook said. "The entries for this year's program were organized by category so the judges were able to taste what Arkansas had to offer from dry to dessert and from white, neon pink, rosé, to rich and red.
"Many wines were made with easily recognizable grapes, however a few, like Ives and Prophecy drew particular interest amongst the judges," he said. "But overall, these Arkansas-grown and made wines were fantastic and a great representation of what Arkansas has to offer!"
Competition with a purpose
The competition is part of AQW's efforts to set quality standards for Arkansas-made wine, provide professional development for growers and winemakers and entice consumers to taste the fruit of the state's vines and their unique flavors. The program was established last year as part of a project funded by a specialty crop block grant from the Arkansas Department of Agriculture.
"We were excited to host the second year of the competition and to see the amazing selection of Arkansas wines that were submitted," said Renee Threlfall, director of the Arkansas Quality Wine program. Threlfall has a Ph.D. in food science and is a research scientist for the University of Arkansas System Division of Agriculture. Her work is part of the research done by the division's Arkansas Agricultural Experiment Station.
Twenty-five of the wines entered received medals in the wine competition, and 13 wines were eligible for AQW designation, meaning they can display the AQW seal on labels and other marketing.
"More than 80 percent of the wines that were submitted to the wine competition earned a medal, showing us that the Arkansas wine industry has quality wines for our wine consumers," she said.
Mason said "I feel it's important to have a standard for wine competitions that the general public can relate to. Most of the time when you buy a new bottle of wine it is because you enjoyed the label."
He said the AQW seals "associated with this competition can help accentuate sales and educate the public about our award-winning wines. Arkansas winemakers fight stereotypes daily and this competition can help break that mindset."
"Dr. Threlfall has worked so hard to make this happen and I want to show my support and faith in the system she has modeled. I commend her on her diligence," he said.
The judges evaluated sensory attributes such as color, aroma, flavor and mouthfeel. Wines made with at least 90 percent Arkansas-grown grapes will also undergo further analysis, to evaluate characteristics such as alcohol, volatile acidity and sulfur dioxide levels. If the wines pass analysis and have earned double gold, gold or silver medals in the wine competition, they will be awarded the Arkansas Quality Wine seal.
The competition featured a new category to expand the playing field to include wines made with less than 90 percent Arkansas-grown grapes.
This year's winners are:
Best of Show — Rusty Tractor Vineyards, 2020 Chambourcin
Best White Wine — Rusty Tractor Vineyards, 2019 Valvin Muscat
Best Red Wine — Post Winery, Red Muscadine
Best Red Wine: Best of Arkansas — Sassafras Springs Vineyard, 2020 Syrah
Best Rosé/Blush — Rusty Tractor Vineyards, 2020 Muscadine
Best Sparkling — Post Winery, "Spumante" Symphony
Best Specialty — Post Winery, "Blue Parachute" Carlos
Best Dessert/fortified wine — Keel's Creek Winery, 2021 "Ozark Truck"
The Arkansas Quality Wine Competition showcased wines made with at least 90 percent Arkansas-grown grapes, including wines from the muscadine varieties Noble and Carlos, hybrid varieties such as Ives Noir, Chambourcin, Valvin Muscat and Traminette, and the state's wine grape Cynthiana, native to the United States.
The Arkansas Competition further showcased Arkansas winemakers' production styles, with wines such as Syrah, Cabernet Sauvignon, Symphony, Muscat Canelli and Concord, wine grape varietals that traditionally grow well in the western region of the United States.
To learn more about the Arkansas Quality Wine program visit www.facebook.com/arkansasqualitywine or the Arkansas Association of Grape Growers www.argrapegrowers.org.
To learn more about Division of Agriculture research, visit the Arkansas Agricultural Experiment Station website: https://aaes.uark.edu. Follow on Twitter at @ArkAgResearch. To learn more about the Division of Agriculture, visit https://uada.edu/. Follow us on Twitter at @AgInArk. To learn about extension programs in Arkansas, contact your local Cooperative Extension Service agent or visit www.uaex.uada.edu.
The University of Arkansas System Division of Agriculture offers all its Extension and Research programs to all eligible persons without regard to race, color, sex, gender identity, sexual orientation, national origin, religion, age, disability, marital or veteran status, genetic information, or any other legally protected status, and is an Affirmative Action/Equal Opportunity Employer.


text:
Cal Poly's winningest softball coach in program history Jenny Condon visited the studio to talk about the Mustangs 2016 season.
CJ's celebrating 10 years of Roller Derby on the central coast with her derby sisters this coming Saturday 2/27/16 at Santa Rosa Park in San Luis Obispo. Cal Poly Softball Coach Jenny Condon visited the studio to talk about her 2016 squad. CJ is pumped up for her interview next Wednesday with Hall of Fame QB Dan Fouts...
CJ talks about the effects of Peyton Manning, in the news recently, he allegedly was inappropriate with a female athletic trainer while at Tennessee. CJ dislike the story, but is relieved that it's generating a much needed conversation.
CJ is FIRED up about the story recently accusing Peyton Manning of inappropriate behavior while at the University of Tennessee. The story is old, but this has been going on for years, generating an important conversation. And, Cal Poly Baseball Coach Larry Lee joins CJ to preview the upcoming Mustang baseball season.
CJ was fired up about the criticism of Cam Newton after Super Bowl 50.


text:
How Fidel Castro's revolution ended professional baseball in Cuba
Cesar Brioso
The end for minor-league baseball in Cuba came in July 1960.
The Havana Sugar Kings of the Class AAA International League were on a road trip playing the Miami Marlins when league president Frank Shaughnessy ordered the team be transferred from the Cuban capital to Jersey City, N.J.
The move was so abrupt that a patch reading "Jersey City" had to be sewn over the "Cubanos" script on the jerseys worn by former Sugar Kings players when they played their first game as the Jersey City Jerseys on July 16, losing 4-2 to the Columbus Jets.
In the wake of Fidel Castro's revolution, Sugar Kings owner Bobby Maduro tried to work with Castro, who died Friday at age 90, to keep the team in Havana.
But tensions between the United States and Cuba had grown to the point where Shaughnessy feared for the safety of baseball personnel in Cuba.
"It was a tremendous blow for my father," said Maduro's son, Jorge.
Voices: Castro's death hits home for my family
The elder Maduro had bought the Class B Florida International League's Havana Cubans team in 1953 and transferred the franchise to the highest minor-league classification in 1954. His hope was to eventually bring a major-league expansion team to Havana.
"That's what consumed him," Jorge Maduro said.
Instead, Maduro's franchise struggled to draw fans in Jersey City and eventually moved to Jacksonville, Fla., before fading into obscurity.
Cuba's professional winter league met a similar fate.
The Cuban League, which had existed since 1878, two years after the formation of the National League in the U.S., played its final season in 1960-61.
Fidel Castro: From Catholic schoolboy to dictator
Players from the major leagues, minor leagues and Negro leagues had played in the Cuban League throughout the first half of the 20th century.
But that would no longer be the case as Castro's revolutionary government began nationalizing businesses throughout the country, including all U.S. businesses and commercial property.
As relations between Cuba and the U.S. continued to deteriorate, American players were barred from participating in the 1960-61 Cuban League season, which had to be played with all-Cuban rosters on the four teams in the league: Habana, Almendares, Cienfuegos and Marianao.
Before the scheduled start of the 1961-62 season, Almendares announced it would withdraw from the league and not rejoin "as long as Fidel Castro is in power."
The Cuban League never played another game and professional baseball, which had been ingrained in Cuban culture for almost a century, became one of the victims of the revolution.
Cesar Brioso is author of "Havana Hardball: Spring Training, Jackie Robinson, and the Cuban League." Research for his next book on how professional baseball ended in Cuba after the Castro revolution, was included in this report.
PHOTOS: The era of professional baseball in Cuba


text:
Balochistan Assembly Suspends Rules to Approve Government Legislation
ISLAMABAD, August 26, 2020: The Balochistan Assembly passed three government bills after skipping their mandatory three readings amid opposition's protest, says Free and Fair Election Network (FAFEN) in Daily Factsheet on Wednesday.
Following are key observations of the House proceedings during first and last sitting of the 26th session:
The Speaker presided over the proceedings for an hour and 30 minutes, the Deputy Speaker for an hour and 48 minutes while rest of the sitting was chaired by a member of Panel of Chairpersons.
The Leader of the House was absent.
The Leader of the Opposition attended the entire sitting.
As many as four MPAs (6%) were present at the outset and 11 (17%) at the adjournment of the sitting.
The Parliamentary Leaders of BNP-M, JWP, PkMAP, BAP, MMAP, BNP-A and HDP attended the proceeding.
Two out of three minority lawmakers attended the sitting.
The House adopted a supplementary resolution to pay tribute to Nawab Akbar Bugti on his death anniversary. Eleven lawmakers spoke on this resolution for an hour and 59 minutes.
The Rules of Procedure and Conduct of Business were dispensed through passage of motions for immediate consideration of the three bills following which these were passed after voice voting. These bills were the Balochistan Waqf Property Bill, 2020; the Balochistan Trust Bill, 2020 and the Balochistan Cooperative Societies (Amendment) Bill, 2020.
The House did not consider a resolution appearing on the agenda which demanded to authorize the Parliament for necessary amendment in the Disaster Management Act 2010 to combat any calamity.
The House took up eight out 12 starred questions while four questions were deferred due to movers' absence. In addition, lawmakers asked seven supplementary questions.
The House considered zero hour notice regarding induction in various departments through fake domiciles. Three lawmakers participated in debate on it for 25 minutes.
A privilege motion of BNP-M lawmaker was referred to the relevant committee.
As many as five lawmakers spoke on Points of Order consuming 11 minutes of the proceedings.
The opposition protested during the proceedings against hasty legislation and also walked out from the House for 11 minutes on the same issue.
The Session was prorogued sine die.
'Orders of the Day' was available to the legislators, observers and others.
The attendance of lawmakers was not available to the observers and media.
This daily factsheet is based on direct observation of the Balochistan Assembly proceedings conducted by Center for Peace and Development (CPD) – a member organization of FAFEN. Errors and omissions are excepted


text:
package org.apache.heron.spouts.kafka;

import java.time.Duration;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Random;
import java.util.regex.Pattern;

import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;

import org.apache.heron.api.Config;
import org.apache.heron.api.metric.IMetric;
import org.apache.heron.api.spout.SpoutOutputCollector;
import org.apache.heron.api.state.State;
import org.apache.heron.api.topology.OutputFieldsDeclarer;
import org.apache.heron.api.topology.TopologyContext;
import org.apache.heron.api.tuple.Fields;
import org.apache.heron.common.basics.SingletonRegistry;
import org.apache.heron.common.config.SystemConfig;
import org.apache.heron.common.config.SystemConfigKey;
import org.apache.kafka.clients.consumer.Consumer;
import org.apache.kafka.clients.consumer.ConsumerRebalanceListener;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.apache.kafka.clients.consumer.OffsetAndMetadata;
import org.apache.kafka.common.Metric;
import org.apache.kafka.common.MetricName;
import org.apache.kafka.common.TopicPartition;

import static org.apache.heron.api.Config.TopologyReliabilityMode.ATLEAST_ONCE;
import static org.apache.heron.api.Config.TopologyReliabilityMode.ATMOST_ONCE;
import static org.apache.heron.api.Config.TopologyReliabilityMode.EFFECTIVELY_ONCE;

import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

import static org.mockito.Matchers.any;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

@RunWith(MockitoJUnitRunner.class)
public class KafkaSpoutTest {
  private static final Random RANDOM = new Random();
  private static final String DUMMY_TOPIC_NAME = "topic";
  private KafkaSpout<String, byte[]> kafkaSpout;
  @Mock
  private KafkaConsumerFactory<String, byte[]> kafkaConsumerFactory;
  @Mock
  private Consumer<String, byte[]> consumer;
  @Mock
  private TopologyContext topologyContext;
  @Mock
  private SpoutOutputCollector collector;
  @Mock
  private Metric metric;
  @Captor
  private ArgumentCaptor<Pattern> patternArgumentCaptor;
  @Captor
  private ArgumentCaptor<IMetric<Object>> kafkaMetricDecoratorArgumentCaptor;
  @Mock
  private OutputFieldsDeclarer declarer;
  @Captor
  private ArgumentCaptor<Fields> fieldsArgumentCaptor;
  @Captor
  private ArgumentCaptor<List<Object>> listArgumentCaptor;
  @Captor
  private ArgumentCaptor<ConsumerRebalanceListener> consumerRebalanceListenerArgumentCaptor;
  @Mock
  private State<TopicPartition, Long> state;

  @BeforeClass
  public static void setUpAll() {
    if (!SingletonRegistry.INSTANCE.containsSingleton(SystemConfig.HERON_SYSTEM_CONFIG)) {
      SingletonRegistry.INSTANCE.registerSingleton(SystemConfig.HERON_SYSTEM_CONFIG,
          SystemConfig.newBuilder(true)
              .put(SystemConfigKey.HERON_METRICS_EXPORT_INTERVAL, 60)
              .build());
    }
  }

  @Before
  public void setUp() {
    kafkaSpout = new KafkaSpout<>(kafkaConsumerFactory,
        Collections.singleton(DUMMY_TOPIC_NAME));
  }

  @Test
  public void getConsumerRecordTransformer() {
    assertTrue(kafkaSpout.getConsumerRecordTransformer()
        instanceof DefaultConsumerRecordTransformer);

  }

  @Test
  public void setConsumerRecordTransformer() {
    ConsumerRecordTransformer<String, byte[]> consumerRecordTransformer =
        new DefaultConsumerRecordTransformer<>();
    kafkaSpout.setConsumerRecordTransformer(consumerRecordTransformer);
    assertEquals(consumerRecordTransformer, kafkaSpout.getConsumerRecordTransformer());
  }

  @Test
  public void open() {
    when(kafkaConsumerFactory.create()).thenReturn(consumer);

    kafkaSpout.open(Collections.singletonMap(Config.TOPOLOGY_RELIABILITY_MODE,
        ATMOST_ONCE.name()), topologyContext, collector);
    verify(consumer).subscribe(eq(Collections.singleton(DUMMY_TOPIC_NAME)),
        any(KafkaSpout.KafkaConsumerRebalanceListener.class));

    kafkaSpout = new KafkaSpout<>(kafkaConsumerFactory,
        new DefaultTopicPatternProvider("a"));
    kafkaSpout.open(Collections.singletonMap(Config.TOPOLOGY_RELIABILITY_MODE,
        ATMOST_ONCE.name()), topologyContext, collector);
    verify(consumer).subscribe(patternArgumentCaptor.capture(),
        any(KafkaSpout.KafkaConsumerRebalanceListener.class));
    assertEquals("a", patternArgumentCaptor.getValue().pattern());
  }

  @Test
  public void nextTuple() {
    when(kafkaConsumerFactory.create()).thenReturn(consumer);
    ConsumerRecords<String, byte[]> consumerRecords = new ConsumerRecords<>(
        Collections.singletonMap(new TopicPartition(DUMMY_TOPIC_NAME, 0),
            Collections.singletonList(new ConsumerRecord<>(DUMMY_TOPIC_NAME, 0, 0,
                "key", new byte[]{0xF}))));
    when(consumer.poll(any(Duration.class))).thenReturn(consumerRecords);
    doReturn(Collections.singletonMap(new MetricName("name", "group", "description",
        Collections.singletonMap("name", "value")), metric)).when(consumer).metrics();
    when(metric.metricValue()).thenReturn("sample value");

    kafkaSpout.open(Collections.singletonMap(Config.TOPOLOGY_RELIABILITY_MODE,
        ATMOST_ONCE.name()), topologyContext, collector);
    verify(consumer).subscribe(eq(Collections.singleton(DUMMY_TOPIC_NAME)),
        consumerRebalanceListenerArgumentCaptor.capture());
    ConsumerRebalanceListener consumerRebalanceListener =
        consumerRebalanceListenerArgumentCaptor.getValue();
    TopicPartition topicPartition = new TopicPartition(DUMMY_TOPIC_NAME, 0);
    consumerRebalanceListener.onPartitionsAssigned(Collections.singleton(topicPartition));

    kafkaSpout.nextTuple();
    verify(consumer).commitAsync();
    verify(topologyContext).registerMetric(eq("name-group-name-value"),
        kafkaMetricDecoratorArgumentCaptor.capture(), eq(60));
    assertEquals("sample value",
        kafkaMetricDecoratorArgumentCaptor.getValue().getValueAndReset());

    kafkaSpout.nextTuple();
    verify(collector).emit(eq("default"), listArgumentCaptor.capture());
    assertEquals("key", listArgumentCaptor.getValue().get(0));
    assertArrayEquals(new byte[]{0xF}, (byte[]) listArgumentCaptor.getValue().get(1));
  }

  @Test
  public void ack() {
    when(kafkaConsumerFactory.create()).thenReturn(consumer);
    TopicPartition topicPartition = new TopicPartition(DUMMY_TOPIC_NAME, 0);
    List<ConsumerRecord<String, byte[]>> recordList = new ArrayList<>();
    byte[] randomBytes = new byte[1];
    for (int i = 0; i < 5; i++) {
      RANDOM.nextBytes(randomBytes);
      recordList.add(new ConsumerRecord<>(DUMMY_TOPIC_NAME, 0, i, "key",
          Arrays.copyOf(randomBytes, randomBytes.length)));
    }
    ConsumerRecords<String, byte[]> consumerRecords = new ConsumerRecords<>(
        Collections.singletonMap(topicPartition, recordList));
    when(consumer.poll(any(Duration.class))).thenReturn(consumerRecords);

    kafkaSpout.open(Collections.singletonMap(Config.TOPOLOGY_RELIABILITY_MODE,
        ATLEAST_ONCE.name()), topologyContext, collector);
    verify(consumer).subscribe(eq(Collections.singleton(DUMMY_TOPIC_NAME)),
        consumerRebalanceListenerArgumentCaptor.capture());
    ConsumerRebalanceListener consumerRebalanceListener =
        consumerRebalanceListenerArgumentCaptor.getValue();
    consumerRebalanceListener.onPartitionsAssigned(Collections.singleton(topicPartition));
    //poll the topic
    kafkaSpout.nextTuple();
    //emit all of the five records
    for (int i = 0; i < 5; i++) {
      kafkaSpout.nextTuple();
    }
    //ack came in out of order and the third record is not acknowledged
    kafkaSpout.ack(new KafkaSpout.ConsumerRecordMessageId(topicPartition, 4));
    kafkaSpout.ack(new KafkaSpout.ConsumerRecordMessageId(topicPartition, 0));
    kafkaSpout.ack(new KafkaSpout.ConsumerRecordMessageId(topicPartition, 1));
    kafkaSpout.ack(new KafkaSpout.ConsumerRecordMessageId(topicPartition, 3));
    //commit and poll
    kafkaSpout.nextTuple();
    verify(consumer).commitAsync(Collections.singletonMap(topicPartition,
        new OffsetAndMetadata(2)), null);
  }

  @Test
  public void fail() {
    when(kafkaConsumerFactory.create()).thenReturn(consumer);
    TopicPartition topicPartition = new TopicPartition(DUMMY_TOPIC_NAME, 0);
    List<ConsumerRecord<String, byte[]>> recordList = new ArrayList<>();
    byte[] randomBytes = new byte[1];
    for (int i = 0; i < 5; i++) {
      RANDOM.nextBytes(randomBytes);
      recordList.add(new ConsumerRecord<>(DUMMY_TOPIC_NAME, 0, i, "key",
          Arrays.copyOf(randomBytes, randomBytes.length)));
    }
    ConsumerRecords<String, byte[]> consumerRecords = new ConsumerRecords<>(
        Collections.singletonMap(topicPartition, recordList));
    when(consumer.poll(any(Duration.class))).thenReturn(consumerRecords);

    kafkaSpout.open(Collections.singletonMap(Config.TOPOLOGY_RELIABILITY_MODE,
        ATLEAST_ONCE.name()), topologyContext, collector);
    verify(consumer).subscribe(eq(Collections.singleton(DUMMY_TOPIC_NAME)),
        consumerRebalanceListenerArgumentCaptor.capture());
    ConsumerRebalanceListener consumerRebalanceListener =
        consumerRebalanceListenerArgumentCaptor.getValue();
    consumerRebalanceListener.onPartitionsAssigned(Collections.singleton(topicPartition));
    //poll the topic
    kafkaSpout.nextTuple();
    //emit all of the five records
    for (int i = 0; i < 5; i++) {
      kafkaSpout.nextTuple();
    }
    //ack came in out of order, second and third record fails
    kafkaSpout.ack(new KafkaSpout.ConsumerRecordMessageId(topicPartition, 4));
    kafkaSpout.ack(new KafkaSpout.ConsumerRecordMessageId(topicPartition, 0));
    kafkaSpout.fail(new KafkaSpout.ConsumerRecordMessageId(topicPartition, 1));
    kafkaSpout.ack(new KafkaSpout.ConsumerRecordMessageId(topicPartition, 3));
    kafkaSpout.fail(new KafkaSpout.ConsumerRecordMessageId(topicPartition, 2));
    //commit and poll
    kafkaSpout.nextTuple();
    verify(consumer).seek(topicPartition, 1);
    verify(consumer).commitAsync(Collections.singletonMap(topicPartition,
        new OffsetAndMetadata(1)), null);
  }

  @Test
  public void close() {
    when(kafkaConsumerFactory.create()).thenReturn(consumer);
    kafkaSpout.open(Collections.singletonMap(Config.TOPOLOGY_RELIABILITY_MODE,
        ATMOST_ONCE.name()), topologyContext, collector);
    kafkaSpout.close();
    verify(consumer).close();
  }

  @Test
  public void declareOutputFields() {
    kafkaSpout.declareOutputFields(declarer);
    verify(declarer).declareStream(eq("default"), fieldsArgumentCaptor.capture());
    assertEquals(Arrays.asList("key", "value"), fieldsArgumentCaptor.getValue().toList());
  }

  @Test
  public void consumerRebalanceListener() {
    kafkaSpout.initState(state);
    when(kafkaConsumerFactory.create()).thenReturn(consumer);

    kafkaSpout.open(Collections.singletonMap(Config.TOPOLOGY_RELIABILITY_MODE,
        EFFECTIVELY_ONCE.name()), topologyContext, collector);
    verify(consumer).subscribe(eq(Collections.singleton(DUMMY_TOPIC_NAME)),
        consumerRebalanceListenerArgumentCaptor.capture());
    ConsumerRebalanceListener consumerRebalanceListener =
        consumerRebalanceListenerArgumentCaptor.getValue();
    TopicPartition topicPartition = new TopicPartition(DUMMY_TOPIC_NAME, 0);
    when(state.get(topicPartition)).thenReturn(5L);
    when(state.containsKey(topicPartition)).thenReturn(true);
    consumerRebalanceListener.onPartitionsAssigned(Collections.singleton(topicPartition));
    verify(consumer).seek(topicPartition, 5L);
  }

  @Test
  public void activate() {
    when(kafkaConsumerFactory.create()).thenReturn(consumer);
    kafkaSpout.open(Collections.singletonMap(Config.TOPOLOGY_RELIABILITY_MODE,
        ATMOST_ONCE.name()), topologyContext, collector);
    verify(consumer).subscribe(eq(Collections.singleton(DUMMY_TOPIC_NAME)),
        consumerRebalanceListenerArgumentCaptor.capture());
    ConsumerRebalanceListener consumerRebalanceListener =
        consumerRebalanceListenerArgumentCaptor.getValue();
    TopicPartition topicPartition = new TopicPartition(DUMMY_TOPIC_NAME, 0);
    consumerRebalanceListener.onPartitionsAssigned(Collections.singleton(topicPartition));
    kafkaSpout.activate();
    verify(consumer).resume(Collections.singleton(topicPartition));
  }

  @Test
  public void deactivate() {
    when(kafkaConsumerFactory.create()).thenReturn(consumer);
    kafkaSpout.open(Collections.singletonMap(Config.TOPOLOGY_RELIABILITY_MODE,
        ATMOST_ONCE.name()), topologyContext, collector);
    verify(consumer).subscribe(eq(Collections.singleton(DUMMY_TOPIC_NAME)),
        consumerRebalanceListenerArgumentCaptor.capture());
    ConsumerRebalanceListener consumerRebalanceListener =
        consumerRebalanceListenerArgumentCaptor.getValue();
    TopicPartition topicPartition = new TopicPartition(DUMMY_TOPIC_NAME, 0);
    consumerRebalanceListener.onPartitionsAssigned(Collections.singleton(topicPartition));
    kafkaSpout.deactivate();
    verify(consumer).pause(Collections.singleton(topicPartition));
  }
}


text:
Surface Studio: Microsoft Makes the Desktop Cool Again
by: Sayan Sarkar - Last updated on: October 27th, 2016
Microsoft has just unveiled a new All-in-One (AIO) desktop PC in the form of Surface Studio. After the Surface Pro series and the Surface Book that was launched last year, this is the latest hardware series from the company that aims to revolutionise the dying PC market. In fact, it's their first real attempt at building a desktop of their own.
https://www.youtube.com/watch?v=BzMLA8YIgG0
The Surface Studio apparently seems to be Microsoft's take on the iMac. Precisely speaking, it builds upon a standard PC and integrates features that were so far limited to a laptop, and well that's what Surface Studio is folks. The AIO from Microsoft comes with a 28-inch PixelSense LCD monitor which the company claims to be the thinnest available in the market. At 12.5mm it's indeed remarkably slim. The Pixel Sense touchscreen LCD monitor is contained in an aluminum exposure and is said to output 13.5 million pixels. For stats, that's about 63 percent more than a standard 4K television.
The large 28-inch display has an aspect ratio of 3:2 with 192 pixels per inch. Microsoft however, is clearly aiming their Surface Studio at creative artists as its LCD monitor comes with a True Colour technology that helps it to reproduce the exact color output. Well, this is very crucial for people in the field of photography or professional video editing. In fact, it can reproduce colors in either sRGB mode or in DCI-P3.
The heart of the Surface Studio, however, lies in a small rectangular enclosure that's no larger than an average sized tablet. That's a compact product indeed. In fact, the design of the product is very similar to the one leaked in the patent documents earlier this year. Under the hood, the Surface Studio boasts of the latest Intel i5/i7 processor that comes mated with Nvidia 980M GPU. The top end variant of the Surface Studio packs up to 4GB of GeForce GPU alongside 32GB of RAM. To keep things cool on the inside, Microsoft has included two cooling fans inside the heart of the Surface Studio.
The Microsoft Surface Studio packs a Microphone array located at the top of the 28-inch PixelSense display that comes in handy while using Cortana. This kind of implementation wasn't really seen in a desktop PC before. To make things even easier, the Microphone array will stay on even when your display is turned off. So you can basically shout it out to Cortana from any corner of the room and she is always there for you listening with her full attention. That aside, the LCD monitor packs a Surface HD camera located just below the microphone array that apparently eases video calls on PC. It also makes use of Windows Hello to provide a holistic Windows 10 experience to its users.
That said, Microsoft has always done something new with their Surface devices, and well that's the same with the Surface Studio. This AIO desktop can fold down to lie almost flat on a table when pressed on the upper part of the monitor. In short, it turns into a 'Studio', as that's what Microsoft is calling it. And here's where the Surface Dial comes in. It's also worth noting that the Surface Studio from Microsoft supports the Surface pen that we have now come used to seeing in their Surface lineup of products.
The Surface Dial is a basically a small cylindrical device that just as compact as a Bluetooth mouse. It's basically build to interact with the touchscreen display in an entirely new way and compliment the Surface Pen. The aluminum body of the Surface Dial helps provide vibrations to your fingertips in order to help you stay in touch with your work. To use the Surface Dial all you need to do is to press it onto the display of Surface Studio and a round menu crops up that shows a number of shortcuts. These can include options from changing brushes while painting to opening new programs during work. The Surface Dial makes use of Bluetooth 4.0 LE and is supported on Surface Pro 4, Surface Book and Surface Studio. That said, the above-mentioned Surface devices must at least be running on Windows 10 Anniversary Update Edition to support the dial.
The Microsoft Surface Studio is now available for pre-orders in the US starting at $2,999 (Rs 2,00,453 approx.) and will start shipping in November. The Surface Dial and the all new Surface Keyboard and Mice on the other hand will retail for $99.99 (Rs 6,683 approx.), $129.99 (Rs 8,688 approx.) and $49.99 (Rs 3,431 approx.) respectively.
#microsoft #Microsoft Surface #Microsoft Surface Studio
[Tech Ad-ons] iPhone X: Studio In Your Pocket - Let…
M1 Makes the Macs Mad Again...and "Steve Would Have…
Microsoft Surface Go Launched as the Most Affordable…
Microsoft Surface Go and Other Surface Products…
Microsoft Brings the Surface Pro 6 and Surface…
Microsoft Announces its First ARM-based Surface, the…


text:
parsed(2000-12-08) - pubdate: 2000-12-08
pub date: 976255200
An Illustrated Study in Magic
by Israel Regardie, Chic Cicero, Sandra Tabatha Cicero
December 8, 2000 | Trade paperback
Israel Regardie wrote The Tree of Life, a book many consider his magnum opus, in 1932. It has continued to sell for decades. And no wonder. Up until the time this book was published, very little information about true high magic was available to the public.
In this book, Regardie reveals the secrets of real magic. He begins with an explanation of what magic is and, just as importantly, what magic is not. He explains that it is a spiritual study and practice which, along with forms of yoga, forms the two branches of the tree that is mysticism. Magic is not being a medium or a psychic. Then he explains the tools of the magician, what they mean, and how to use them. He explains the techniques of evocation and invocation, skrying, and astral travel. He shows how the Qabalah unites everything. He even gives a description of the secrets of sexual magick. All of this is in a clear, lucid writing style. This book is simply a must for anyone who is, or aspires to be, a real magician.
Although Chic and Sandra Tabatha Cicero were friends of Regardie and are Senior Adepts of the Hermetic Order of the Golden Dawn, what changes could they have made to this classic book? Well, they did change the spelling from British style to American. And they did change his transliterations of Hebrew into the more popular style he used in his later books. But nothing vital was changed or removed. Everything else they added was complementary to the text that was there. And what incredible additions they are! Extensive annotations throughout every chapter; over 100 illustrations; more descriptive contents pages; a glossary, a bibliography and an index. They've even added a biographical note on Regardie and the importance of this book to him and to the occult world.
This book contains some of the finest occult writing that has ever been produced. And with the new material by the Ciceros, it becomes a must-have for any magician!
Body, Mind & Spirit / Magick Studies Religion / Judaism / Kabbalah & Mysticism Body, Mind & Spirit / Occultism
Francis I. Regardie, born in London, England, November 17, 1907; died in Sedona, Arizona, March 10, 1985. Came to the United States in August 1921, educated in Washington D.C. and studied art in school in Washington and Philadelphia. Returned to Europe in 1928 at the invitation of Aleister Crowley to work as his secretary and study with him. Returned to London as secretary to Thomas Burke 1932-34, and during that time wrote A Garden of Pomegranates and The Tree of Life.
In 1934 he was invited to join the Order of the Golden Dawn, Stella Matutina Temple, during which time he wrote The Middle Pillar and The Art of True Healing, and did the basic work for The Philosopher's Stone.
Returning to the United States in 1937 he entered Chiropractic College in New York, Graduating in 1941, and published The Golden Dawn. Served in the U.S. Army 1942-1945, and then moved to Los Angeles where he opened a chiropractic practice and taught psychiatry. Upon retirement in 1981, he moved to Sedona.
During his lifetime, he studied psychoanalysis with Dr. E. Clegg and Dr. J. L. Bendit, and later studied psychotherapy under Dr. Nandor Fodor. His training encompassed Freudian, Jungian and Reichian methods.
Both Chic and Tabatha are Chief Adepts of the Golden Dawn as re-established by Israel Regardie. The Hermetic Order of the Golden Dawn, of which Chic is the G.H. Imperator, and Tabatha is the G.H. Cancellaria, is an international Order with Temples in several countries. The Ciceros have written numerous books on the Golden Dawn, Tarot, and Magic, including Self-Initiation into the Golden Dawn Tradition, The Essential Golden Dawn, Tarot Talismans, and updates, annotations and introductions to classic Israel Regardie texts such as The Philosopher's Stone, The Middle Pillar and A Garden of Pomegranates.
Format: Trade paperback
Publisher: Llewellyn Worldwide, LTD.
'); // $.ajax({ // url: '/treerpc.php?txtCatID='+$a.data('id'), // success: function(html) // { // $li.find('div').remove(); // if (is_root) { // $('.categories > ul > li.open').each(function(){ // $(this).removeClass('open').find('>ul').remove(); // }); // } // $li.addClass('open').append(html); // }, // failure: function() {} // }); // e.preventDefault(); // } // }); $('.cms-carousel-base').each(function(){ var auto = false; if($(this).find('li').length > 1) { auto = true; } $(this).bxSlider({ "controls": false, "pager": true, "auto": auto, // "pause": 5000, "mode": "fade", "wrapperClass": "cms-carousel", // "adaptiveHeight": true, // "responsive":false }); }); // var car = $('.cms-carousel-base').bxSlider({ // "controls": false, // "pager": true, // "auto": true, // // "pause": 5000, // "mode": "fade", // "wrapperClass": "cms-carousel", // // "adaptiveHeight": true, // // "responsive":false // }); $(window).on('resize',function(){ // car.reloadslider(); var height = 0; $('.bx-viewport li img').each(function(){ if(height) return; if($(this).height()) height = $(this).height(); }); $('.carousel-wrapper').height(height + 'px'); }).resize(); (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-41733580-1', 'auto'); ga('require', 'displayfeatures'); ga('require', 'linkid', 'linkid.js'); ga('require', 'ec'); ga('ec:addProduct', {"id":"9781567181326","name":"The Tree of Life","category":"Body, Mind & Spirit\/Magick Studies","brand":"Israel Regardie, Chic Cicero, Sandra Tabatha Cicero","price":"36.99"}); ga('ec:setAction', 'detail'); gtag('event', 'view_item', {"currency":"CAD","value":"36.99","items":{"item_id":"9781567181326","item_name":"The Tree of Life","item_category":"Body, Mind & Spirit\/Magick Studies","item_brand":"Israel Regardie, Chic Cicero, Sandra Tabatha Cicero","price":"36.99"}}); ga('send', 'pageview');


text:
Q: Meteor.users collection is undefined on server What's wrong with this code? It's inside of a "server" folder. Line 11 here, is called out in the error log.
import { Accounts } from 'meteor/accounts-base';
import generatePincode from '../../../utils/generate-pincode';
import Meteor from 'meteor/meteor';

Accounts.onCreateUser((options, user) => {
  const customizedUser = Object.assign({
    'pincode': generatePincode(4),
  }, user);

  // check that the pincode doesn't already exist
  const existingUser = Meteor.users.findOne({
    'pincode': customizedUser.pincode,
  });
  if (existingUser) {
    throw new Meteor.Error(500,
      'Duplicate pincode generated, please try again.');
  }

  // We still want the default hook's 'profile' behavior.
  if (options.profile) {
    customizedUser.profile = options.profile;
  }
  return customizedUser;
});

The terminal (server) logs:

Exception while invoking method 'createUser' TypeError: Cannot read property 'findOne' of undefined

A: Your import Meteor line is incorrect, which means you're working with the default or namespace export. In the case of Meteor, that means you get an object with:
{
  Meteor: [Meteor object],
  global: [Window on client and global on server],
  meteorEnv: [env vars]
}

Try this to get Meteor directly:
import { Meteor } from 'meteor/meteor';

That should fix it.
If it doesn't, try meteor remove accounts-password and meteor add accounts-password again


With millions of users around the world, Android stands as one of the most popular mobile operating systems. An android phone or tablet with just the right set of free movie download app can offer a great experience.
Gone are the days when people had to rely on the converters for making a video playable on their devices. Now, you can bypass the time-consuming process and watch movies on your lovable android phone directly through using a reliable movie download app.
Since, there are various paid video-streaming services such as Google Play, Flixster, Hulu Plus, and Netflix, we are going to reveal the best free movie download apps for android devices. Read along to watch your favorite movie on your phone free.
Mega Box HD is a fresh app for downloading movies on an android device. The app shares similar features as the Show Box. You don't need to worry about the storage as this app consumes about only 1.8MB on an androiddevice.
Mega Box allows subscribers to stream movies on their android phone free. Currently, there are two playback quality options available – 360p and 720p, meaning you can enjoy watching HD quality videos on your phone. Mega Box HD app is available to download for both android phones and tablets through PlayStore.
Cinema Box is yet another great app to watch free movies on an android device. This app comes with some exceptional features including the Chrome Cast support, kid's mode, offline, and subtitles option.
However, Cinema Box isn't available on PlayStore. Fortunately, you can download this app on your phone through following a simple procedure available on Google.
The Newest Movie HD requires no subscription. Happily, you can enjoy using this app without following a complex subscription procedure. The app is free to download. When highlighting the interface, Newest Movie HD offers a plain and sleek aesthetics, allowing you to download a movie with any hassle.
In addition, Newest Movie HD offers movies as per genre and category. Also, "The Most Watched" section will make searching easier.
Hubi is one of the best free movie download app for android. You can watch a favorite movie free through using Hubi. The app works by collecting downloads and offering server links, making the download quicker. Hubi can serve as the best free movie app with a massive media library.
The All Time popular app YouTube requires no formal introduction. YouTube offers the largest media library with tons of free movies. The YouTube android app offers valuable media library for watching the best movies. Interestingly, the YouTube app comes pre-installed on various smartphones.
If you have an android phone, chances are that this app would be on it already.
Crackle is the popular movie app for android. This app offers a huge media library with full-length movies, shows, songs, and more media.
The media library holds some of the best titles including the Joe Dirt, Big Daddy, Mr. Deeds, Panic Room, Stranger than Fiction, and many more. The media library is updated every month, allowing you to enjoy the most recent seasons, shows, and movies.
Show BOX for android is one of the best free movie apps. The app offers a sleek interface that is easy-to-use. Subscribers can enjoy watching movies, seasons, shows, and much more on Show BOX. The app allows you to watch movies through third party websites.
Fortunately, there is a HD playback option, providing you with movies in high-end quality – 720p and 1080p. Most importantly, subscribers can download their favorite movies without paying a dime. In addition, this app allows you to watch movie in offline mode, riding you from internet connection requirement.
Flipps HD is one of the popular movie apps. This app allows you to watch movie on your android device free of cost. You can either watch a movie online or download it to watch at any time. Flipps stands among the top free android movie apps available online.
Viewster is one of the popular movie-streaming app for android devices. The app is widely popular for offering movie stream and download options.
Interestingly, you nether need create an account or pay for watching movies on your android device. The interface is sleek and simple. Also, the app offers a fantastic Chrome Cast support, allowing you to watch a movie through your phone on large TV screens.
Tubi is a high-rated movie app for android. The app is popular and loved by fans worldwide. The Tubi is available to download on android phones and tablets through PlayStore. However, Tubi works on only devices with Android OS 4.0.4 and newer versions.
Amazingly, Tubi offers both online stream and download options. The media library offers some of the most popular titles including movies, TV series, drama, action, news, shows, animated media, and much more. The media library is updated regularly, offering the latest collection.
With more than 700 popular titles available in the database, Popcornflix is a fan-favorite movie app for android users. This app stands as the widely popular free app for watching movies. Interestingly, Popcornflix updates its media library more often, offering the most recent media.
Fans can watch and download movies without paying any subscription fee. The navigation pane is plain, and media is organized as per category, theme, and release date.
We have revealed the best free movie download apps for android devices. Considering how businesses are building apps to bring in potential customers on a single platform, you can build a movie app and promote your small business online through precise ads.
The above-mentioned apps offer best experience on almost every android phone and tablets. If you know about more free apps for movies, feel free to mention them.
Author bio: Gerry Wilson is a passionate blog writer and a professional mobile app developer. He is working in the app development industry since 2012. Currently, He is associated with Retrocube.com a leading mobile app development company.