text:
GOP Rep. Jordan urges ATF to preserve Fast and Furious evidence agency plans to destroy
The federal agency told Congress this week that it plans on destroying firearms connected to Operation Fast and Furious.
By Madeleine Hubbard
Updated: December 7, 2022 - 3:26pm
GOP Rep. Jim Jordan, set to lead the House Judiciary Committee in the next Congress, is asking the Alcohol, Tobacco, Firearms and Explosives director to urge the agency to not follow through on plans to destroy evidence associated with the failed Obama-era gun-trafficking operation known as Fast and Furious.
"Although the ATF apparently intends to forget its dangerous misconduct in Operation Fast and Furious, the scandal is still a matter of public concern," Jordan wrote in a letter Tuesday to agency Director Steven Dettelbach.
The federal agency told Congress this week that it plans on destroying firearms connected to the operation, in which federal agents oversaw the sale of more than 2,000 firearms to alleged straw purchasers. The government hoped to use the weapons to track down and arrest drug cartel members, but the plan backfired when the guns were used in crimes and found where a Border Patrol agent was killed.
Jordan wrote that earlier this year Mexico charged seven people with crimes related to Fast and Furious.
"Given the potential for ongoing criminal and possible civil actions, it is not in the interest of justice for the ATF to destroy potential evidence," he said.
Pelosis sell up to $3 million in Google stock weeks before Justice Department files antitrust suit


text:
Q: how to extrapolate a rotation matrix values? I am using chai3d api, which uses a 3x3 floating pt matrix for storing objects orientation in my virtual world.
I want to predict these orientations on client side,  after periodic updates from server, so that I have a consistent virtual graphical world.
I predict the objects (e.g. opengl cube) position by sending a position and velocity value.
Is angular velocity for orientation same as velocity for position?
if yes how do I calculate the angular velocity from this 3x3 matrix and use it for extrapolation?

A: A transformation matrix is essentially a representation of a new coordinate system within another coordinate system. If you add a column you can even put the translation into it. If you remember your calculus and physics, then you may remember
r = 1/2 a² t + v0 t + r0

v = d/dt r = a + v0

a = d/dt v

To get from velocity 'v' to position 'r' you have to integrate. In the case of scalars you multiply v with time. But scalar multiplication with a matrix will just scale it, not rotate it. So you must do something else. The keyword, if you want to do this using matrices is matrix powers, i.e. calculating the powers of a matrix.
Say you have a differential rotation, d/dt R, then you would integrate this, by multiplying the corresponding rotation matrix infinitesimaly often with itself, i.e. take a power.
But there's also a mathematically much nicer way to do this. Something very close to just multiplying with a factor. And that is: Using quaternions instead of matrices to represent orientations. It turns out that simply scaling a quaternions is the same as just multiplying on the rotation it desscribes.
The keywords you should Google for (because StackOverflow is the wrong place for introducing one into the whole theory of quaternions) are:

*

*quaternion

*angular velocity

*angular interpolation

*SLERP http://en.wikipedia.org/wiki/Slerp

redpajama_set_name: RedPajamaStackExchange


text:
Major League Baseball: An Inside Look (1970) (en)
Original title: Major League Baseball: An Inside Look
Evaluation: 0 (Votes: 0)
Genres: News
Keywords: baseball, sports show
Companies: Major League Baseball Productions
Major League Baseball: An Inside Look Download - Major League Baseball: An Inside Look was a pregame show for NBC's Game of the Week telecasts. It featured one-on-one interviews with the players, and other on-going news and notes relating to Major League Baseball. The program, which was generally 15 minutes long, ran from 1979-1989. An Inside Look typically took place either on-location at the "A" Game of the Week broadcasting site or simply from NBC's studio in New York City.
Major League Baseball: An Inside Look (1970) (en) 720p bluray.torrent
Added: 2021-01-18 Seeders: 176 Leechers: 6 Magnet 1
Major League Baseball: An Inside Look (1970) (en) 1080p bluray.torrent
1 - Season 1
All or Nothing: New Zealand All Blacks
Holiday Baking Championship
Jackpot Bowling
Friends and Heroes
The Platoon of Power Squadron
High Rollers (AU)
Frisky Dingo

redpajama_set_name: RedPajamaCommonCrawl


text:
Playhouse Square looks to Great Britain and Royal Albert Hall for new president and CEO
Updated: Aug. 09, 2022, 1:16 p.m. |
Published: Aug. 09, 2022, 12:02 p.m.
Playhouse Square has a new president and CEO: It's Craig Hassall, who has held a variety of arts-management roles throughout the world.
Marc Bona, cleveland.com
CLEVELAND, Ohio – Playhouse Square has named Craig Hassall president and chief executive officer.
Hassall replaces retiring CEO Gina Vernaci.
The not-for-profit performing arts center said in a news release that Hassall, 57, has held senior management roles at some of the world's most recognizable venues, events and organizations, including his most recent position as chief executive at the venerable Royal Albert Hall in London.
Playhouse Square is the second largest performing arts center in the United States with 11 performance spaces.
"Playhouse Square is a dynamic, visionary organization with a great history of accomplishment and leadership in the performing arts industry," Hassall said in a release. "It's poised to play an even bigger role and I am honored and excited to have the opportunity to partner with the Board of Trustees and this talented staff to take Playhouse Square to the next level."
Hassall also held the chief executive position at Opera Australia and was managing director of the English National Ballet. He held senior artistic roles for major large-scale projects, including the 2000 and 2012 Olympic Games in Sydney and London, respectively.
Hassall, 57, plans to relocate to the Cleveland area to join Playhouse Square in early 2023 after completing the London Christmas season.
I am on cleveland.com's life and culture team and cover food, beer, wine and sports-related topics. If you want to see my stories, here's a directory on cleveland.com. Bill Wills of WTAM-1100 and I talk food and drink usually at 8:20 a.m. Thursday morning. Twitter: @mbona30.
Get a jumpstart on the weekend and sign up for Cleveland.com's weekly "In the CLE" email newsletter, your essential guide to the top things to do in Greater Cleveland. It will arrive in your inbox on Friday mornings - an exclusive to-do list, focusing on the best of the weekend fun. Restaurants, music, movies, performing arts, family fun and more. Just click here to subscribe. All cleveland.com newsletters are free.


MOUNT PROSPECT, Ill. — HVAC Excellence has announced the full range of educational sessions for its 2014 National HVACR Educators and Trainers Conference, scheduled for March 31 to April 2, 2014, at the South Point Hotel in Las Vegas.
HVAC Excellence noted that regulations, codes, and rising energy costs are the driving forces in changing the equipment used in the HVACR industry. As a result, HVACR instructors need to stay up-to-date on the latest technologies. Instructors also need to keep current on educational delivery systems, work ethics programs, and customer relations skills.
In addition, an HVACR Industry Exposition will allow instructors to learn about the latest in equipment, tools, test instruments, text books, software, interactive training solutions, blended learning programs, publishers, programmatic accreditation, job placement, and network with industry leaders.
A complete list of sessions, presenters, exhibitors, schedule, and registration information is available at www.hvacexcellence.org.


Cornerstone of Extremist DoctrinesNo religious extremist group in any Muslim country can develop its ideologies without using anti-Jewish language. Anti-Semitism has always been the key factor or pillar used to produce and grow their extremist agendas.
False Islamic propaganda promotes anti-Semitism.
Did you know that most Muslims are unaware of the actual history of the land of Israel? As a result, they are easily manipulated and inflamed through the tactics used by radical Islamists.
Al-Qaeda terrorist Osama bin Laden and his son, Hamza (no date).
Such violent expressions of anti-Semitism have been at the core of Al Qaeda's and other radical Islamists' ideology for decades. Even the 9/11 terrorist attacks were encouraged and endorsed through the use of such tactics, including the use of anti-Semitism. Mohamed Atta, a key member of the Al Qaeda Hamburg cell responsible for the attacks, reportedly considered New York City to be the center of a global Jewish conspiracy; and Khalid Sheik Mohammed, who masterminded the attack, had allegedly previously developed several plans to attack Israeli and Jewish targets. In their view, New York, as a center of world finance, was the quintessential Jewish target.
These extremist Islamists' Anti-Semitism must cease! However, this will only be possible when the Muslim masses are properly educated to think critically, develop their skills at discerning right from wrong and truth from fiction, and learn to love themselves, each other, and their neighbors alike.
1 Anti-Semitism: A Pillar of Islamic Extremist Ideology. Rep. New York: Anti-Defamation League, 2015. Anti-Defamation League: Combating Hate: International Extremism & Terrorism. Anti-Defamation League, 8 Sept. 2015. Web. 11 Aug. 2016.


Grow Coaching is an interactive process that helps individuals, ministry teams and congregations to practise vibrant faith in a changing world. Through GROW Coaching, Grow Ministries works intentionally with your congregation as you re-think child, youth and family ministry in the 21st century. We promote and advocate for the Grow Ministries 10 Guiding Principles for Effective Child, Youth and Family Ministry.
Congregations who join in our coaching become learning communities that foster helpful faith formation practices, particularly in the area of child, youth and family ministry. Three congregations are invited to come together to make a cluster and embark on a two-year journey of discovery, growth and supported learning.
Ensure the support of your pastor and congregational leaders throughout the process.
Appoint a team of about five to eight people to provide the point of contact in your congregation. This group undertakes to steer the process within your congregation. Each member will be well-respected in your congregation and will have a heart for cross-generational ministry. Ideally a member of your Church Council will be on the team.
Be intentional in prayer for this process of change. Sometimes this may be placed into the hands of a small group or become a regular feature of congregational prayer.
Our Grow Ministries coaches are experienced pastors and lay workers who have a strong Lutheran theological understanding and experience in leading and implementing effective child, youth and family ministry practice in their congregation.
Your coach will become an integral staff member of your congregation throughout the two-year journey. Your coach will offer your congregation an economical way of supporting your pastor without funding a part-time or full-time employee. Your congregation will benefit from having your coach look at its gifts and opportunities for child, youth and family ministry from a fresh perspective.
We aim to provide your congregation and cluster with the same coach who will journey with you for the full two years, and occasionally call on the knowledge and care of others for training events.


text:
var getType = require('should-type');
var hasOwnProperty = Object.prototype.hasOwnProperty;

function makeResult(r, path, reason, a, b) {
  var o = {result: r};
  if(!r) {
    o.path = path;
    o.reason = reason;
    o.a = a;
    o.b = b;
  }
  return o;
}

var EQUALS = makeResult(true);

function format(msg) {
  var args = arguments;
  for(var i = 1, l = args.length; i < l; i++) {
    msg = msg.replace(/%s/, args[i]);
  }
  return msg;
}

var REASON = {
  PLUS_0_AND_MINUS_0: '+0 is not equal to -0',
  DIFFERENT_TYPES: 'A has type %s and B has type %s',
  NAN_NUMBER: 'NaN is not equal to any number',
  EQUALITY: 'A is not equal to B',
  EQUALITY_PROTOTYPE: 'A and B have different prototypes',
  WRAPPED_VALUE: 'A wrapped value is not equal to B wrapped value',
  FUNCTION_SOURCES: 'function A is not equal to B by source code value (via .toString call)',
  MISSING_KEY: '%s has no key %s',
  CIRCULAR_VALUES: 'A has circular reference that was visited not in the same time as B'
};

function eqInternal(a, b, opts, stackA, stackB, path, fails) {
  var r = EQUALS;

  function result(comparison, reason) {
    var res = makeResult(comparison, path, reason, a, b);
    if(!comparison && opts.collectAllFails) {
      fails.push(res);
    }
    return res;
  }

  function checkPropertyEquality(property) {
    return eqInternal(a[property], b[property], opts, stackA, stackB, path.concat([property]), fails);
  }

  // equal a and b exit early
  if(a === b) {
    // check for +0 !== -0;
    return result(a !== 0 || (1 / a == 1 / b), REASON.PLUS_0_AND_MINUS_0);
  }

  var l, p;

  var typeA = getType(a),
    typeB = getType(b);

  // if objects has different types they are not equals
  if(typeA !== typeB) return result(false, format(REASON.DIFFERENT_TYPES, typeA, typeB));

  switch(typeA) {
    case 'number':
      return (a !== a) ? result(b !== b, REASON.NAN_NUMBER)
        // but treat `+0` vs. `-0` as not equal
        : (a === 0 ? result(1 / a === 1 / b, REASON.PLUS_0_AND_MINUS_0) : result(a === b, REASON.EQUALITY));

    case 'regexp':
      p = ['source', 'global', 'multiline', 'lastIndex', 'ignoreCase'];
      while(p.length) {
        r = checkPropertyEquality(p.shift());
        if(!opts.collectAllFails && !r.result) return r;
      }
      break;

    case 'boolean':
    case 'string':
      return result(a === b, REASON.EQUALITY);

    case 'date':
      if(+a !== +b && !opts.collectAllFails) {
        return result(false, REASON.EQUALITY);
      }
      break;

    case 'object-number':
    case 'object-boolean':
    case 'object-string':
      r = eqInternal(a.valueOf(), b.valueOf(), opts, stackA, stackB, path, fails);
      if(!r.result && !opts.collectAllFails) {
        r.reason = REASON.WRAPPED_VALUE;
        return r;
      }
      break;

    case 'buffer':
      r = checkPropertyEquality('length');
      if(!opts.collectAllFails && !r.result) return r;

      l = a.length;
      while(l--) {
        r = checkPropertyEquality(l);
        if(!opts.collectAllFails && !r.result) return r;
      }

      return EQUALS;

    case 'error':
      p = ['name', 'message'];
      while(p.length) {
        r = checkPropertyEquality(p.shift());
        if(!opts.collectAllFails && !r.result) return r;
      }

      break;
  }

  // compare deep objects and arrays
  // stacks contain references only
  stackA || (stackA = []);
  stackB || (stackB = []);

  l = stackA.length;
  while(l--) {
    if(stackA[l] == a) {
      return result(stackB[l] == b, REASON.CIRCULAR_VALUES);
    }
  }

  // add `a` and `b` to the stack of traversed objects
  stackA.push(a);
  stackB.push(b);

  var hasProperty,
    keysComparison,
    key;

  if(typeA === 'array' || typeA === 'arguments' || typeA === 'typed-array') {
    r = checkPropertyEquality('length');
    if(!opts.collectAllFails && !r.result) return r;
  }

  if(typeA === 'array-buffer' || typeA === 'typed-array') {
    r = checkPropertyEquality('byteLength');
    if(!opts.collectAllFails && !r.result) return r;
  }

  if(typeB === 'function') {
    var fA = a.toString(), fB = b.toString();
    r = eqInternal(fA, fB, opts, stackA, stackB, path, fails);
    r.reason = REASON.FUNCTION_SOURCES;
    if(!opts.collectAllFails && !r.result) return r;
  }

  for(key in b) {
    if(hasOwnProperty.call(b, key)) {
      r = result(hasOwnProperty.call(a, key), format(REASON.MISSING_KEY, 'A', key));
      if(!r.result && !opts.collectAllFails) {
        return r;
      }

      if(r.result) {
        r = checkPropertyEquality(key);
        if(!r.result && !opts.collectAllFails) {
          return r;
        }
      }
    }
  }

  // ensure both objects have the same number of properties
  for(key in a) {
    if(hasOwnProperty.call(a, key)) {
      r = result(hasOwnProperty.call(b, key), format(REASON.MISSING_KEY, 'B', key));
      if(!r.result && !opts.collectAllFails) {
        return r;
      }
    }
  }

  stackA.pop();
  stackB.pop();

  var prototypesEquals = false, canComparePrototypes = false;

  if(opts.checkProtoEql) {
    if(Object.getPrototypeOf) {
      prototypesEquals = Object.getPrototypeOf(a) === Object.getPrototypeOf(b);
      canComparePrototypes = true;
    } else if(a.__proto__ && b.__proto__) {
      prototypesEquals = a.__proto__ === b.__proto__;
      canComparePrototypes = true;
    }

    if(canComparePrototypes && !prototypesEquals && !opts.collectAllFails) {
      r = result(prototypesEquals, REASON.EQUALITY_PROTOTYPE);
      r.showReason = true;
      if(!r.result && !opts.collectAllFails) {
        return r;
      }
    }
  }

  if(typeB === 'function') {
    r = checkPropertyEquality('prototype');
    if(!r.result && !opts.collectAllFails) return r;
  }

  return EQUALS;
}

var defaultOptions = {checkProtoEql: true, collectAllFails: false};

function eq(a, b, opts) {
  opts = opts || defaultOptions;
  var fails = [];
  var r = eqInternal(a, b, opts || defaultOptions, [], [], [], fails);
  return opts.collectAllFails ? fails : r;
}

module.exports = eq;

eq.r = REASON;

redpajama_set_name: RedPajamaGithub


text:
Free tools and resources for investigative reporters
Sally Kilbridge
There's a huge collection of free tools can help investigative journalists with everything from prison records to SEC filings. (Image by "blickpixel" via Pixabay, CCO Public Domain)
It can take a reporter years to develop a go-to library of tools and resources that help filter useful databases, specialized websites and stockpiles of public records. Fortunately, a number of organizations and individual journalists have compiled treasuries of excellent sources that are yours to make use of.
Six curated resources that don't cost a dime
The Center for Investigative Reporting's Reporters Tools page links to several valuable resources including the Committee to Protect Journalists' Journalist Security Guide. Another useful asset: the Public Access to Court Electronic Records (PACER), which gives reporters entree to federal appellate, district and bankruptcy court records.
At the 2015 Global Investigative Journalism Conference, Gary Price, editor of InfoDOCKET, and Margot Williams, research editor for investigations at The Intercept, shared their Top 100 Research Tools. The speakers then boiled their thoughts down to their top 10 research tools for investigative journalists, found in this excellent recap. The GIJN website has its own list of tips and techniques.
The Investigative Reporters and Editors website has a free page devoted to Freedom of Information resources. Among the riches, you'll find links to a tool that will generate FOI requests, the National Security Archive and tip-sheets for dealing with road-blocks.
The International Consortium of Investigative Journalists has compiled a tight repository of under-the-radar sources. They'll help a reporter track down a person in the U.S. prison system, search the finances of charities and get a background profile using public records on Lexis.
Among the hundreds of links on Mike Reilley's "Journalist's Toolbox" are hands-on tools for resizing photos and audio editing, plus databases for everything from public employee salaries to an exhaustive list of weather-related websites and articles, helpful for reporting on topics from drought to states spending on flood damage.
This link on Writers and Editors lists organizations and associations that strive to aid investigative journalists. Among the most helpful content are individual articles and PDFs created by veteran journalists, including a guide to guarding your online privacy and a savvy starter kit for SEC filings.
Career advice, Investigative reporting, Journalism Tools
A conversation with the best in investigative business journalism
Lauren Irwin November 16, 2022
On Wednesday, Nov. 9, the Donald W. Reynolds Center for National Business Journalism and the Walter Cronkite School of Journalism and Mass Communication welcomed the winners of the 16th annual
Eight datasets, databases to pursue for business journalism story ideas
Francesca D'Annunzio September 29, 2022
Business journalists stuck searching for story ideas always have one fail-proof recourse to turn to: datasets and databases. Here are eight places to find data for your business beat. U.S.
Five takeaways from recent business investigations
For business beat reporters looking for story ideas or inspiration, here are five watchdog stories to spark creativity. The stories, all published in the first seven months of 2022, touch
Latest in Career Advice
What does it take to be financially independent? A lot of planning, apparently
More Career Advice »


La Trobe Financial was founded in 1952 as an Australia's leading on bank credit specialist with approximate 200 employees. It has served more than 100,000 clients with 10 million of funds. While the head office is located in the La Trobe Valley, they now have an office in Shanghai. They are committed to innovation, product quality, and superior service.
La Trobe has expanded to offer a range of residential products including full doc, lite doc, SMSF, construction, rural, first home assistance and aged care categories .It also offers commercial product range including lease doc, lite doc, SMFS, deployment and rural categories . In addition, they also provide you with fund management solutions and insurance services for your needs.
La Trobe Financial is well-known for non-resident products. They still accept applicants with visa sub-class 457, 485, temporary residents, which are very hard to find similar products in the marketplace.
• Financing large or remote properties.
Not sure if La Trobe is the right lender for you, Get in touch by calling 1300 880 123 or email.
Specialized in providing high-quality residential, commercial and asset financing solutions within the range of Australia.
Delivering the most competitive products for clients in a wide range of loan products.


If you're anything like us, you were glued to social media when The Smithsonian National Zoo's resident panda Mei Xiang miraculously gave birth this past August. Sadly, only one of her babies survived – but little Bei Bei has been thriving and he's almost ready for his big debut.
Which is where you come in – with yet another reason to stay signed on via social! The National Zoo is holding a #PandaStory competition on Instagram, wherein applicants can submit a video about pandas using the contest hashtags and tagging the zoo. Exactly 25 lucky winners will have the chance to canoodle with wee Bei Bei on December 19 – almost a month before the general public.
So don your thinking caps, and do it quickly – the deadline for submissions is Monday, Dec. 7. More details here – good luck, we're counting on you to win so we can live vicariously through your photos and videos – no pressure!


text:
MTV: No Doubt Tweet About Progress On New Album
PrevPreviousTwitter Update: Studio Is Warm And Candlelit
Next"The Sweet Escape" Inspired Photo Shoot Featured In Teen VogueNext
Alright! We are loving all this media attention that the band is generating from their Tweeting adventures. MTV took notice and showcased the last couple Tweets from Tom stating that they were playing around a lot on synthesizers together. They also mention Adrian's interview back with them back in December of 2008 about how the band always gravitates towards reggae music (yay!) and how he could play that until he dies.
After solo projects, family time and last year's summer reunion tour, it looks like No Doubt are getting down to business on their long-awaited sixth studio album. The band, who have been working on the project intermittently over the past few years, have taken to Twitter to keep fans updated.
"Tony and Gwen are rocking the synth. Our little studio is warm and candlelit, above the glowing city. Tom" guitarist Tom Dumont tweeted on Wednesday evening.
Dumont has been tweeting about their progress for the past week, with the first landing on January 20. "Back in the studio together writing today. Synth horns=cheesy but fun. :)" he tweeted.
The following day brought even more work for the group as Dumont tweeted a close-up picture of bassist Tony Kanal in the studio with singer Gwen Stefani.
The bandmembers worked on new material without Stefani for some time. "Tony, Adrian and I have been busy preparing material for the album since this time last year," Dumont told MTV News in an e-mail in 2007.
The following year, drummer Adrian Young talked loosely about the new material. "It seems like we've always come from an eclectic background musically," he said. "But we seem to always gravitate towards reggae. I can't say that's what our record is going to be like, 'cause it's too early to tell, but what makes us feel really good is reggae music. I can play reggae music to my grave."
Last May, the group used an appearance on "American Idol" to preview what Stefani called "the procrastination tour" (with Paramore opening), and made a cameo appearance on "Gossip Girl," covering Adam & the Ants' 1981 track "Stand and Deliver."
The band hoped to use the tour as a way to reconnect and find inspiration for their new material. "Once we reconnect onstage and reconnect with all the people who have supported us, I think it's going to inspire us to make an amazing record," Kanal said before the tour.


text:
using System;
using System.Data;
using System.Threading;
using System.Threading.Tasks;
using Ceen;
using Ceen.Database;

namespace Ceen.Extras
{
    /// <summary>
    /// An abstract class for a database backed module
    /// </summary>
    public abstract class DatabaseBackedModule : IModuleWithSetup
    {
        /// <summary>
        /// The connection string to use
        /// </summary>
        public string ConnectionString { get; set; } = "";
        /// <summary>
        /// The connection class to use
        /// </summary>
        public string ConnectionClass { get; set; } = "sqlite3";

        /// <summary>
        /// Value used to toggle table validation on startup
        /// </summary>
        public bool ValidateTables { get; set; } = true;

        /// <summary>
        /// The list of tables to create in the configuration step
        /// </summary>
        protected abstract Type[] UsedTypes { get; }

        /// <summary>
        /// Gets the current executing transaction, if any
        /// </summary>
        public static IDbConnection Current => GuardedConnection.Current;

        /// <summary>
        /// The database connection
        /// </summary>
        protected GuardedConnection m_con;

        /// <summary>
        /// Returns a value indicating if the database module is initialized
        /// </summary>
        public bool IsInitialized => m_con != null && m_con.IsInitialized;

        /// <summary>
        /// Runs the given method in a transaction
        /// </summary>
        /// <param name="method">The method to run</param>
        /// <returns>An awaitable task</returns>
        public Task RunInTransactionAsync(Func<System.Data.IDbConnection, Task> method) => m_con.RunInTransactionAsync(method);

        /// <summary>
        /// Runs the given method in a transaction
        /// </summary>
        /// <param name="method">The method to run</param>
        /// <returns>An awaitable task</returns>
        public Task<T> RunInTransactionAsync<T>(Func<System.Data.IDbConnection, Task<T>> method) => m_con.RunInTransactionAsync(method);

        /// <summary>
        /// Runs the given method in a transaction
        /// </summary>
        /// <param name="method">The method to run</param>
        /// <returns>An awaitable task</returns>
        public Task<T> RunInTransactionAsync<T>(Func<System.Data.IDbConnection, T> method) => m_con.RunInTransactionAsync(method);

        /// <summary>
        /// Runs the given method in a transaction
        /// </summary>
        /// <param name="method">The method to run</param>
        /// <returns>An awaitable task</returns>
        public Task RunInTransactionAsync(Action<System.Data.IDbConnection> method) => m_con.RunInTransactionAsync(method);

        /// <summary>
        /// Returns a new empty query
        /// </summary>
        /// <typeparam name="T">The type of query to use</typeparam>
        /// <returns>The query</returns>
        public Query<T> Query<T>() => m_con.Query<T>();

        /// <summary>
        /// Gets the dialect for the current connection
        /// </summary>
        /// <returns>The dialect for the connection</returns>
        public Ceen.Database.IDatabaseDialect GetDialect() => m_con.Dialect;

        /// <summary>
        /// Configures the database and sets it up
        /// </summary>
        public virtual void AfterConfigure()
        {
            if (m_con == null)
                m_con = new GuardedConnection(ConnectionString, ConnectionClass);

            // Create all required tables
            foreach (var t in UsedTypes ?? new Type[0])
                m_con.UnguardedConnection.CreateTable(t);

            // Validate table contents, if not disabled
            if (ValidateTables)
                m_con.UnguardedConnection.ValidateTables(UsedTypes ?? new Type[0]);
        }
    }
}


text:
Tracon II
Simulation 1990 Dos Wesson International Trade or management Business
Bring her in to land!
The original Tracon was a very basic and unfortunately not very enjoyable air traffic control game which was ambitious but rather let down by the limitations of the period (and the fact that air traffic controlling is hard to translate into a fun game). Unfortunately, this sequel was only released a year later, so technology hadn't come on very far, and it too remains a less than enthralling experience. It's not terrible, but it's got a very specialist appeal, so if you think it's something you might enjoy, you probably will, and if you don't, well, run away screaming. As you'd expect, you're given the role of an air traffic controller, and it's your responsibility to look after all the planes in a given area. Your task is slightly simpler than in the real world, but you'll have to set the courses for the planes on the tarmac and organize everything so that the landings are all as efficient as possible. Most of your work is done via the radar screen, and you'll find the occasional emergency popping up to really keep you on your toes. There's no denying that this is a pretty clever bit of software, and it was even used to train real controllers before someone realized it could be marketed as entertainment software. However, while it's quite engaging for a short while, it soon becomes apparent that there isn't much going on in the way of fun here. The crude visuals and speech don't help matters much, and although it's not too difficult to pick up, the tedium soon comes in and kicks out the fun. In summary, this is interesting rather than enjoyable.
Air control sim that shows its age
In the realm of sims, over the years, few types of jobs or occupations have not been put on the raster and digitized. However, air control sims have not had a lot of prevalence in the decisions of game designers, and, with the exception of a few Nintendo DS titles, the genre has't been very fruitful. The problem might be inherent in the way traffic simulations involving air control can be broken down in to separate pieces. On one had there are the landing strips to manage, the hangars, the personnel the luggage, the security, which can play a role in the games, and then there is the actual work of traffic controllers, who have to direct air traffic and whose job is quite repetitive and generally unrewarding in the way it can be digitally portrayed. Tracon II takes an interesting path, in that it keeps graphical elements almost to a minimum, with the ships flight only being described as radar information. In a sense, were it not for the game like elements, this could well be an actual radar post training sim. So, be warned, this isn't a fun arcade game, it's a serious simulation focusing on radar post management and air control.
Games related to Tracon II
Tracon (1989)
Oil's Well (1990)
A320 Airbus (1991)
Life and Death 2 (1990)
Invest (1990)
Air Bucks (1992)
Tracon for Windows (1993)


text:
To The Aotg.com Community,
It is with a heavy heart that we announce we will no longer be updating Aotg.com. Back in 2007, when we started, there was a lack of access to information about film, television, and commercial editing. We wanted to fix that by creating a central location for content about editing to be stored.
Since then, we've watched the amount of content about editing on the internet grow exponentially. We've also watched social media tools come and go with that growth. Does anyone remember Google Wave!? These social media tools changed how people access and search for media and information. People tend to turn to Facebook, Youtube, Twitter, and Instagram for their news and information, and those are all great tools to promote your sites, but as a site that aggregates links to other sites for users, it just doesn't work for us.
We will keep the site live but archive the ability to add links and comments. We will keep our database live with the links for those who desire to use it to search for editing information and research.
Our podcast, The Cutting Room, will move over to the Filmmakeru.com website and will continue to be a place for interviews with editors and other film professionals.
Everyone who worked for Aotg.com loved what we created and are proud that we could help so many editors find content that spoke to them.
I look forward to seeing everyone at the various post events worldwide in the coming years!
Gordon Burkell
Aotg.com Founder
Tag: off-camera flash
Profoto B1 500 AirTTL Now Available at Adorama
http://www.prweb.com/releases/2013/11/prweb1130613...
Profoto today announced the official release of its brand new B1 500 AirTTL off-camera flash and Air Remote TTL-C for Canon – both now available for pre-order at Adorama. Expected in-store and online December 2013, research and development for the B1 began four years ago to create the most easy-to-use, powerful and versatile off-camera flash ever released. Its compact, cordless design makes it the most convenient off-camera flash available.
0 0 0 Press Release
#canon#lighting#photography#adorama#canon cameras#off-camera flash#profoto#profoto b1#profoto b1 500 airttl


text:
Q: Passing Edittext to a Thread I am trying to pass a String value of EditText to a method in a thread, the method "channel.basicpublish". I have tried a number of ways in the method "basicpublish" like Edittext.gettext().tostring or declare global variables (above override) and passing them to local variables, but on the other hand I get an empty string though there is no error. I also tried bundle/intent, but nothing is working for me (gives error). The following code will be working because I am passing a plain string (Message="HelloRabbitmq"). So how I can pass a string from edittext to "basicpublish" which is in a thread?
public class HandlerActivity extends Activity {
    /** Called when the activity is first created. */
    TextView tv;
    EditText etv;
    String QUEUE_NAME="bye";
    String EXCHANGE_NAME="logs";
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        tv =  (TextView) findViewById(R.id.out);
        etv = (EditText) findViewById(R.id.out2);
        etv.setOnKeyListener(new OnKeyListener() {
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                // If the event is a key-down event on the "enter" button
                if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
                    (keyCode == KeyEvent.KEYCODE_ENTER)) {
                  // Perform action on key press
                  Toast.makeText(HandlerActivity.this, etv.getText(), Toast.LENGTH_SHORT).show();
                   String  Kamran = etv.getText().toString();
                   return true;
                }
                return false;
            }
        });
     final Handler handler=new Handler();
     final Runnable r=new Runnable()
     {
            public void run()
            {
                tv.append("Hello");

            }
     };
     handler.postDelayed(r, 1000);
     Thread thread = new Thread()
     {
            @Override
            public void run() {
                try {
                    while(true) {
                        sleep(1000);
                        ConnectionFactory factory = new ConnectionFactory();
                        factory.setHost("192.168.2.3");
                        Connection connection = factory.newConnection();
                        Channel channel = connection.createChannel();
                        channel.exchangeDeclare(EXCHANGE_NAME, "fanout", true);
                        channel.queueDeclare(QUEUE_NAME, false, false, false, null);
                       String message = "Hello Rabbitmq";
                        channel.basicPublish( "logs",QUEUE_NAME, null, message.getBytes());
                        channel.close();
                        connection.close();
                        handler.postDelayed(r, 1000);
                        }
                }
                        catch (Exception e) {
                            // TODO: handle exception
                        e.printStackTrace();
                        }
            }
     };
     thread.start();
             }

}

A: Did you try to set a TextWatcher on etv and to set a String member variable, let's say etvValue, to the value of etv in the afterTextChanged callback? Then, passing etvValue to basicPublish may work...

A: A class variable should work fine for this...
I also made a few changes but feel free to change it back to how you had it, but there seemed to also be some other flaws in the code besides the text from the EditText view.
Something like:
public class HandlerActivity extends Activity {

private TextView tv;
private EditText etv;

private String QUEUE_NAME = "bye";
private String EXCHANGE_NAME = "logs";
private String message = "";

private Handler handler;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    handler = new Handler();

    tv =  (TextView) findViewById(R.id.out);
    etv = (EditText) findViewById(R.id.out2);
    etv.setOnKeyListener(new OnKeyListener() {
        public boolean onKey(View v, int keyCode, KeyEvent event) {

            if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
                    (keyCode == KeyEvent.KEYCODE_ENTER)) {

                Toast.makeText(HandlerActivity.this, etv.getText().toString(), Toast.LENGTH_SHORT).show();
                message = etv.getText().toString();

                return true;
            }
            return false;
        }
    });

}

@Override
public void onStart() {
    super.onStart();

    handler.postDelayed(publish, 1000);

}

private Runnable publish = new Runnable() {
    public void run() {
        try {
            //You should probably not have this as "true", you should always have some way to bail out of this.
            //Technically even if you kill this activity it may never stop.
            while(true) {
                ConnectionFactory factory = new ConnectionFactory();
                factory.setHost("192.168.2.3");
                Connection connection = factory.newConnection();
                Channel channel = connection.createChannel();
                channel.exchangeDeclare(EXCHANGE_NAME, "fanout", true);
                channel.queueDeclare(QUEUE_NAME, false, false, false, null);
                channel.basicPublish("logs", QUEUE_NAME, null, message.getBytes());
                channel.close();
                connection.close();

                //Why are you running the this loop again? Uncomment if thats REALLY what you want
                //handler.postDelayed(publish, 1000);
            }
        }
        catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }
    }
};


text:
Rail Traffic Declined In August
Rob Wile
Sep. 7, 2012, 5:59 PM
ELBARTO3519 via YouTube
The Association of American Railroads (AAR) today reported U.S. rail carloads originated in August 2012 totaled 1,461,680, down 1.4 percent compared with August 2011.
But it was mostly because of coal, which fell down 7.3 percent or 48,493 carloads.
Carloads excluding coal were up 3.3 percent or 27,443 carloads in August 2012 compared with August 2011. Carloads excluding coal and grain were up 3.5 percent or 25,889 carloads in August 2012 compared with August 2011.
"U.S rail traffic in August was pretty much same song, different verse," said AAR Senior Vice President John T. Gray. "Weakness in coal carloadings was largely but not entirely offset by increases in carloads of petroleum and petroleum products, autos, lumber, and several other commodities, with intermodal showing continued strength."
AAR today also announced mixed weekly rail traffic declined 3.4 percent for the week ended Sept 1, compared with the same week last year. U.S. railroads originating 292,732 carloads.
For the first 35 weeks of 2012, U.S. railroads reported cumulative volume of 9,890,231 carloads, down 2.4 percent from the same point last year, and 8,226,793 trailers and containers, up 3.7 percent from last year.
Here's a breakdown of the carloads.
More: Rail


text:
Blake Shelton and Gwen Stefani Cannot Stop Giggling on Their Adorable Outing in Los Angeles
The couple brings on sweet moments during a break from The Voice
By Nick Maslow
Fresh/INFphoto
Blake Shelton and Gwen Stefani have a blast together.
On Thursday, the couple were all smiles during a relaxing car ride in Los Angeles.
Stefani, 46, was at the wheel, while Shelton, 39, sipped on a beverage from the passenger seat. Both stars kept it casual for the day, covering up their hair with baseball caps.
At one point, the couple burst out in laughter, giving the world a glimpse of what the Voice coaches are like off screen.
The singers haven't been shy about their romance, especially in public – earlier this week, they locked lips on a night out with pals.
Bonding away from the set will soon become a norm after their singing competition's finale next week. When the show returns for its tenth season later this year, Stefani's seat will be filled by another familiar face on the show, Christina Aguilera.
"I don't want Gwen to not be on the show," Shelton said in a recent interview with Extra. "Why can't we have a fifth coach?"
By Nick Maslow @nickmaslow


Pro Plan: Can I allow multiple votes?
HomePro PlanCan I allow multiple votes?
Can I allow multiple votes?
Yes. Mojirater Pro accounts can choose if they want visitors to be able to choose multiple emoji ratings on a single post.


text:
Honor & Certificate
Face Mask Making Machine
Amazon DE shop
Amazon UK shop
What is the current situation of the epidemic?
By:Connexions
Date:2021/12/31
How to better control the epidemic?
First, the epidemic areas should continue to strictly implement all normal prevention and control measures, strengthen tracing of the source of the epidemic, nucleic acid screening, centralized isolation and community control, limit the outflow of people and prevent the spread of the epidemic.
Second, relevant provinces should step up screening of people at risk, implement health monitoring and nucleic acid screening measures to detect potential infections in a timely manner and avoid new outbreaks.
Third, we need to guide local governments to conduct comprehensive screening of loopholes in the prevention and control of port cities, airports, ports, designated hospitals, centralized isolation sites and other high-risk places, and promptly take corrective measures to avoid new imported cases.
Fourth, the epidemic should be brought under control as soon as possible by strengthening publicity and education, accelerating vaccination, and encouraging people to take good personal protection, such as wearing masks, washing hands frequently, "one meter noodles" and reducing gathering.
Why vaccinate 12- to 17-year-olds against COVID-19?
At the early stage, people may think that the incidence and prevalence rate of COVID-19 among children is not high. However, as the epidemic continues to spread, especially in some countries with serious epidemic, the incidence rate of COVID-19 among children is increasing.
In the past, we thought the symptoms were mild, but now we find that as more and more children get sick, some of them are seriously ill and some of them have died.
Whether adults or children, as long as the virus is infected, it is a source of infection. From the perspective of infection source control, children should also be strengthened management.
Now, whether it's to control the source of infection or to cut off the route of transmission, in most countries, the disease is not under control, and in the future we expect to establish herd immunity, and children will be an integral part of that process through vaccination.
Connexions Technology (Dongguan) Ltd.
We are always providing our customers with reliable products and considerate services.
If you would like to keep touch with us directly, please go to contact us
If you want to learn about our products, please contact us.
No.6 Shenbao Road, Qishi Town, Dongguan City, Guangdong Province, China.
adela@connexions-tech.com
© 2020 Connexions Technology (Dongguan) Ltd. All rights reserved.


The Sapphire Room is a striking venue that has played host to a glittering array of glamorous events. If only the walls could talk…what tales they would tell; of Masquerade balls, weddings, private parties, art exhibitions, awards dinners, Bar Mitzvah, and fashion private views. With its high ceilings and air of industrial chic, this is a venue that can be dressed for any occasion, whether small and intimate or stylish and grand.


Awesome! Now you've become officially a proper wargamer.
In seriousness, your 18th century figures need displaying., they are juicy.
And very nice it is Dave. So well done to yourself.
Excellent bit of displaying there! Looks great. As do the contents.
As Purps says, hope you used big screws!
Yes, very big screws. And a short prayer.


text:
ATLAS at Ocean Business
Having Fun With Marine Data – OpenSeaLab 2
ATLAS GeoNode
3rd ATLAS Science-Policy meeting
Final ATLAS GA: 8-11 March 2020
ATLAS change at Dynamic Earth
A forward-looking 'Deep Sea Conference 2019'
All-Atlantic Ocean Research Forum, 6-7 Feb 2020
RRS Discovery expedition to the Darwin Mounds
Amundsen 2019 Update!
Benthic landers successfully recovered from the Davis Strait!
Life on board the CCGS Amundsen - the sequel
Life on board the CCGS Amundsen
Chasing corals - a journalist's report on the ATLAS expedition to Rockall Bank
ATLAS at Ocean Business - April 2019 press release
Oceano Azul - June 2018 Press Release
WCMB - May 2018 Press Release
Weakening Atlantic Ocean Circulation - April 2018 Press Release
Diving Deep for New Collaborations - July 2017 Press Release
Deep in the Atlantic Ocean - June 2017 Press Release
Climate Change Makes for Lonelier Corals - November 2016
Biggest ever assessment of Atlantic deep-sea ecosystems gets underway - June 2016
Deliverables, publications and research topic
Factsheets and brochures
How to deposit data sets at PANGAEA
How to deposit publications at Zenodo
Explore ATLAS data map viewer
Log in to ATLAS partners' area
Activity mat
Education packs
Animal, vegetable, mineral?
Hydrothermal vents
Ocean importance
Pressure in the deep
Taxonomy challenge
Threats to coral reefs
School show
ROV simulator game
Spectacular! Colouring Pages
Which deep-sea creature are you?
ATLAS video
While Graham Tulloch was on deck tackling the challenges associated with programming and attaching the equipment for the landers, I was preparing for my ATLAS role in the expedition.
The two sites at which the landers were to be placed were chosen to be in contrasting locations in Southern Baffin Bay. A 'non-sponge site' was chosen at SE Saglek bank, where very few sponges have been brought up in nets, while another 'sponge site' at NE Saglek bank has lots of sponges including Geodia, Asconema and Polymastia sp. and some soft corals such as the stunning red tree coral Primnoa resedaeformis. Both areas are within an area of Hatton Basin where bottom fishing is not allowed in case it damages these fragile creatures.
Red Tree Coral Primnoa resedaeformis Credit: ArcticNet, 2016
Our main aim is to understand what type of food is arriving at the sponge grounds and coral reefs and how it gets to them. When we collect Graham's landers next year the information from them should help us answer this question. The landers have pieces of equipment attached to them that will give us some valuable long-term data. One of these is called a sediment trap that captures 'marine snow' that falls down through the water column. This is made up of organic matter, dead and decomposing sea creatures, animal poop, dust, silt etc. and is an important food source for all types of deep-sea life. Another piece of equipment will give us information on near-bottom currents that move the food around near the sponges and corals.
My concerns were very much in the 'here and now'. On the ship, I was to be sampling the organic matter and exploring how food was spread out in the water column. To do this, I took measurements in two lines, each with five sampling stations, across the lander sites.
My lab was in a big converted shipping container on the port aft side (that's the left side of the ship towards the front, when facing forward) of the helideck. I found the boxes with my lab equipment, the chemicals that had been sent from the University of Liverpool and NIOZ (Royal Netherlands Institute for Sea Research) and other special chemicals for preserving the samples that David Coté from Fisheries and Oceans Canada had kindly organised. Then I began setting up the equipment and labelling innumerable vials of various sizes to get ready for the challenge ahead!
Along with landers and ROVs, a very useful piece of equipment used by scientists at sea is the 'CTD rosette'. CTD stands for conductivity, temperature and depth (the conductivity will tell us how salty the water is). It can be lowered into the water and set up to sample at different depths. Before joining the expedition, I'd been in contact with the chief CTD rosette operator, Pascal Guillot of Amundsen Science, so he knew in advance which depths I wanted to sample at.
Deploying the CTD rosette © Sabena J Blackbird
I put on my ATLAS beanie hat, sat in the CTD operator room with Pascal and his assistant Solenne Caous and watched the Amundsen crew deploy the CTD rosette at the first Atlas sampling station: 'Sponge Site 5'. The first site was quite shallow (299m from the sea surface to the seabed), and it was not very long before the CTD rosette was on its way back up. Pascal used the controls on the computer to open specially designed bottles to collect seawater at the required depths. When the CTD arrived at the surface of the water, the crew expertly moved it back onto the deck and secured it down. After checking the CTD log sheet I pulled on my purple rubber gloves (looking rather gothic!) and began filling up two nine-litre containers for each of the five sampling depths. A number of volunteers very kindly helped me carry them around to the lab – special thanks to Alec Aitken, Robert Izett and Anirban Chakraborty.
Then began the filtering frenzy! Vacuum filtration onto filter paper for POM (particulate organic matter) and pigments; filtering seawater into vials for DOM (dissolved organic matter) and inorganic nutrients (Nitrate + Nitrite, Nitrite, Silicate, Phosphate and Ammonium). I also collected seawater to sample phytoplankton and bacteria & viruses - each requiring different preserving chemicals. The samples then had to be cooled before flash freezing in liquid nitrogen.
I had barely finished the lab work and placed the filters and seawater vials in various freezers before we were at the next station. The pattern was repeated for the next few days and nights until I managed to grab a break between stations. Meanwhile, the other scientific teams aboard were kept equally busy.
Northern Fulmar © Sabena J Blackbird
The well-earned break gave me an opportunity to peek out of the lab door to observe the Northern Fulmars who were dedicated followers of the Amundsen throughout the voyage, gliding over the surface of the sea on their stiff wings. There were even a couple of hitchhikers that landed on the helideck - a White-rumped Sandpiper (possibly on migration) and a Pine Siskin, which happily twittered away. We were also lucky enough to see (from far away!) a Polar Bear that flumped from an ice patch into the sea, strongly swimming into the distance and some Long-finned Pilot Whales and Fin Whales.
After completing the remaining ATLAS stations, we steamed across to SW Greenland to a Lophelia pertusa site discovered accidentally in 2012 when a piece of coral was caught on a CTD rosette frame during water sampling activities. ROV operators from the Canadian Scientific Submersible Facility faced challenging conditions. There was a high sea swell and strong currents but they managed to investigate the steep bedrock where the Lophelia pertusa colonies were found, between 750 and 950m deep. The video images displayed on TVs in each cabin also showed many different soft corals, sponges and fish.
Although the ATLAS team weren't scheduled to sample the water here, it was too good an opportunity to miss! In George Wolff's Organic Geochemistry lab at the University of Liverpool (where I work), we normally analyse the suspended particulate organic matter (sPOM) in the water. Unfortunately, the SAPs (stand-alone pumping system) that we use to collect sPOM from large volume water samples wasn't available for this cruise. Instead, I used a smaller scale version of the SAPS and collected many samples. This new information will be added to what we already know about sPOM from different locations with and without Lophelia pertusa coral in the NE Atlantic.
Graham awaiting his fate in Neptune's realm © Sabena J Blackbird
'All work and no play' the proverb goes. There was certainly going to be some fun, as many of the scientists were going to be crossing the Arctic Circle for the first time. Those people, myself included, needed to endure a number of challenges over the course of three days and be thoroughly tested by King Neptune (and his missus) before being allowed into the Order of the Blue Nose!
By Sabena J Blackbird
Next ATLAS events
ATLAS Steering Committee
Date 20. 01. 2020 10:00 am - 11:00 am
Towards a package: marine biodiversity beyond national jurisdiction
Date 22. 01. 2020 - 23. 01. 2020
Subscribe to ATLAS news and info
After pressing 'Subscribe' you will receive an email asking for your consent to receive information by email from ATLAS. If, in the future, you wish to remove yourself from our mailing list, you can use the 'Unsubscribe' option above.
Tweets by eu_atlas
Cruises /
This project has received funding from the European Union's Horizon 2020 research and innovation programme, under grant agreement No 678760 (ATLAS). This output reflects only the author's view and the European Union cannot be held responsible for any use that may be made of the information contained therein.
Background image courtesy of Esri and its third party licensors: see details here.
© 2020 atlas - a transatlantic assessment and deep-water ecosystem-based spatial management plan for Europe
// fix for IE and edge behaviour


text:
import httplib2
import urlparse

from cinderclient import exceptions as cinder_exception
from nova import context
from nova import exception
from nova.volume import cinder

from nova import test

def _stub_volume(**kwargs):
    volume = {
        'display_name': None,
        'display_description': None,
        "attachments": [],
        "availability_zone": "cinder",
        "created_at": "2012-09-10T00:00:00.000000",
        "id": '00000000-0000-0000-0000-000000000000',
        "metadata": {},
        "size": 1,
        "snapshot_id": None,
        "status": "available",
        "volume_type": "None",
    }
    volume.update(kwargs)
    return volume

class FakeHTTPClient(cinder.cinder_client.client.HTTPClient):

    def _cs_request(self, url, method, **kwargs):
        # Check that certain things are called correctly
        if method in ['GET', 'DELETE']:
            assert 'body' not in kwargs
        elif method == 'PUT':
            assert 'body' in kwargs

        # Call the method
        args = urlparse.parse_qsl(urlparse.urlparse(url)[4])
        kwargs.update(args)
        munged_url = url.rsplit('?', 1)[0]
        munged_url = munged_url.strip('/').replace('/', '_').replace('.', '_')
        munged_url = munged_url.replace('-', '_')

        callback = "%s_%s" % (method.lower(), munged_url)

        if not hasattr(self, callback):
            raise AssertionError('Called unknown API method: %s %s, '
                                 'expected fakes method name: %s' %
                                 (method, url, callback))

        # Note the call
        self.callstack.append((method, url, kwargs.get('body', None)))

        status, body = getattr(self, callback)(**kwargs)
        if hasattr(status, 'items'):
            return httplib2.Response(status), body
        else:
            return httplib2.Response({"status": status}), body

    def get_volumes_1234(self, **kw):
        volume = {'volume': _stub_volume(id='1234')}
        return (200, volume)

    def get_volumes_nonexisting(self, **kw):
        raise cinder_exception.NotFound(code=404, message='Resource not found')

class FakeCinderClient(cinder.cinder_client.Client):

    def __init__(self, username, password, project_id=None, auth_url=None):
        super(FakeCinderClient, self).__init__(username, password,
                                               project_id=project_id,
                                               auth_url=auth_url)
        self.client = FakeHTTPClient(username, password, project_id, auth_url)
        # keep a ref to the clients callstack for factory's assert_called
        self.callstack = self.client.callstack = []

class FakeClientFactory(object):
    """Keep a ref to the FakeClient since volume.api.cinder throws it away."""

    def __call__(self, *args, **kwargs):
        self.client = FakeCinderClient(*args, **kwargs)
        return self.client

    def assert_called(self, method, url, body=None, pos=-1):
        expected = (method, url)
        called = self.client.callstack[pos][0:2]

        assert self.client.callstack, ("Expected %s %s but no calls "
                                       "were made." % expected)

        assert expected == called, 'Expected %s %s; got %s %s' % (expected +
                                                                  called)

        if body is not None:
            assert self.client.callstack[pos][2] == body

class CinderTestCase(test.TestCase):
    """Test case for cinder volume api."""

    def setUp(self):
        super(CinderTestCase, self).setUp()
        self.fake_client_factory = FakeClientFactory()
        self.stubs.Set(cinder.cinder_client, "Client",
                       self.fake_client_factory)
        self.flags(
            volume_api_class='nova.volume.cinder.API',
        )
        self.api = cinder.API()
        catalog = [{
            "type": "volume",
            "name": "cinder",
            "endpoints": [{"publicURL": "http://localhost:8776/v1/project_id"}]
        }]
        self.context = context.RequestContext('username', 'project_id',
                                              service_catalog=catalog)

    def assert_called(self, *args, **kwargs):
        self.fake_client_factory.assert_called(*args, **kwargs)

    def test_context_with_catalog(self):
        volume = self.api.get(self.context, '1234')
        self.assert_called('GET', '/volumes/1234')
        self.assertEquals(
            self.fake_client_factory.client.client.management_url,
            'http://localhost:8776/v1/project_id')

    def test_cinder_endpoint_template(self):
        self.flags(
            cinder_endpoint_template='http://other_host:8776/v1/%(project_id)s'
        )
        volume = self.api.get(self.context, '1234')
        self.assert_called('GET', '/volumes/1234')
        self.assertEquals(
            self.fake_client_factory.client.client.management_url,
            'http://other_host:8776/v1/project_id')

    def test_get_non_existing_volume(self):
        self.assertRaises(exception.VolumeNotFound, self.api.get, self.context,
                          'nonexisting')


text:
ABS employment data
More categories available…
What to search *
Search Newsroom
Search employment.gov.au
The newsroom provides news, data, analysis and case studies about the Department.
8:30 am to 5:30 pm Monday to Friday
media@employment.gov.au
Tori Smith turned her love of animals into a mobile dog grooming business, joining the 1.4 million small businesses in Australia that are one-person operations.
Strength in diversity: a profile of Australian small business
This story was published on 5 April 2019. If you wish to use this content, please contact media@employment.gov.au to confirm that the information is still current.
The diversity of small business in Australia is one of its fundamental strengths. There is no average, one-size-fits-all small business or small business owner.
A common definition of a small business is one that has from zero to 19 employees, and the total number of these at June 2018 was 2,259,098.
In fact, small businesses with fewer than 20 staff make up nearly 98 per cent of the 2.31 million businesses in Australia. Almost 70 per cent of these businesses are family owned and in 2016–17 small business contributed $393 billion to the Australian economy, and that amount is increasing.
Almost two thirds (1,435,547) of small businesses employ no staff — they are one-person operations managing all the technical, financial and other requirements of running a business.
Micro businesses — those employing from one to four people — make up less than a third (627,932) of all small businesses. Other small businesses employing from five to 19 staff make up 195,619.
These businesses span just about every conceivable industry. About a third of them are run by women and that number is increasing. The number of Indigenous owner-managers grew by about 30 per cent from 2011 to 2016 and that trend is also continuing.
The three biggest industry sectors are construction; professional, scientific and technical services; and rental hiring and real estate services, with 40.1 per cent of small businesses operating in these sectors in June 2018. The total number of small businesses has increased by 10.5 per cent from June 2014 to June 2018.
To find out about Government initiatives available to support small businesses, visit the websites below.
The department's small business website
The Government's business website
Watch Tori's story
Growing the Launceston small business community
Restart for Firestorm
Providing advice for starting a business
Source: ABS cat. no. 8165.0
KPMG Enterprise and Family Business Australia, Family Business Survey 2018
ANU research into Indigenous business growth
Correct at time of publication
Subscribe to receive regular updates from our Newsroom *
Journalists and media outlets can email media@employment.gov.au to find out more about our Newsroom stories. When you subscribe to our Newsroom you will receive occasional emails from us with links to our latest news articles. Your contact information will be stored at our subscription vendor Vision6. For more detail, read the department's privacy policy in full.
Last modified on Tuesday 16 April 2019 [9676|114461]


This page is a great place to start learning about the ACT. We offer a concise summary of test content, timing, structure, and availability; an overview of ACT acceptance; a brief discussion of research on the connection between ACT scores and college grades; and a list of the available methods of preparing for the exam.
On this page, test-takers can receive a focused description of the ACT's structure, emphasizing only the most relevant information. We discuss the types of questions and exercises featured on each of the test's five sections, the total timing of each ACT assessment, the categories reported in each content area, and the primary purpose of each section.
Beginning in 2014, the ACT was revised in several ways. Visit this page for a comprehensive discussion of changes to the content of the ACT Reading, Science, and Writing sections, a summary of the current practices with respect to scoring and score reporting, and advice on how to avoid any confusion the revisions may cause with respect to preparation.
ACT administration topics are covered on this page. We'll help you learn everything you need to know about the administration of the ACT, from registration and testing policies to identification requirements and score reporting procedures. Special instructions for disabled test-takers and students in need of English language supports are also included.
Learn how to register for the ACT by reviewing this page. Students may register for the ACT either online or by standard mail, and if they have already registered, they may re-register by phone. We also discuss ACT fees and services, registration for testing under special circumstances, and how to find out if you're eligible for a waiver of registration fees.
See this page for information on the new ACT computer test. Learn about ACT computer test availability, distinctive features, advantages, and factors that affect student choices. We also discuss the future of ACT computer and paper testing, both in the United States and around the world.
On this page, we offer a number of strategies to use while taking the ACT. The discussion includes specific tips for the ACT English, Reading, Math, Science, and Writing sections and focuses on important issues such as time management, approaches to the individual exercises, and using test center policies (such as note-taking and calculators) to your advantage.
An extensive discussion of ACT scoring is featured on this page. Test-takers and parents can learn all about the many different types of scores included on ACT score reports, such as sectional and composite scores, reporting categories, percentile rankings, and College Readiness Benchmarks. We also provide a timeline for ACT score reporting.
The ACT was first offered to students in 1959. See this page for an overview of standardized testing before the ACT, the development of the ACT, revisions to the exam over the years, and the organization that administers the test. The ACT has been more popular than the SAT for several years, and this is a trend that is likely to continue.
This page can help you decide if you should take the ACT or the SAT. Topics covered include ACT and SAT structure, timing, question types, scoring systems, scoring comparisons, and typical fees. We recommend that students try practice versions of both tests, and choose the examination that best fits with their academic strengths.


text:
Fitness, beer companies to sponsor skating oval
Two big corporate names are joining the battle to save the 2011 Canada Games skating oval on the Halifax Common.
CBC News · Posted: Jan 20, 2011 9:12 PM AT | Last Updated: January 21, 2011
GoodLife Fitness has offered cash in return for naming it the GoodLife Oval, CBC News has learned.
"GoodLife has mentioned $200,000," John Gillis, of the Save the Oval committee, said Thursday.
Molson Coors is also in discussions with the committee, Gillis said.
Molson Coors executive Brian Harriman said his company might be looking for naming rights, too, in exchange for a cash donation.
"Potentially," he said. "We have to work through the details on what that might look like."
Harriman said he went for a skate on the oval with his toddler and loved it so much, he thought his company should pitch in to save it after the games are over.
"We're going to work with Save the Oval group to try and identify how Molson can help," he said. "We just think it's a great facility, and we'd really like to work with the committee to save the oval."
The beer giant still has to confirm its contribution — whether it's cash or proceeds from sales or a combination.
A third mystery donor is pledging $100,000 over four or five years. The donation will likely be officially announced next week.
An online petition to keep the outdoor oval was launched on Jan. 4 by the Save the Oval committee, and has gathered thousands of names.
The committee wants the artificial skating surface to become a permanent fixture. Right now, the oval is scheduled to be dismantled in March after the Canada Games, which run from Feb. 11 to 27.
Halifax Mayor Peter Kelly has said it would cost $250,000 per year to maintain the oval.
Gillis launched the fundraising campaign, hoping to raise $50,000.
"We are trying to optimize the situation," he said. "When they [city council] look at it, and look at the hard numbers, they can say, 'We can do this.'
The thought of branding and signage worries Katie Campbell, who is against keeping the oval on the Halifax Common.
"Sometimes it's very ugly," she said. "I'm worried that the Commons will look like a commercial space, and that it will lose the natural beauty that it has now."
Campbell launched a petition Jan. 12 against keeping the oval as a permanent fixture. It has about 64 signatures.
The public pressure — both for and against — still has weeks to build. Halifax Regional Council will decide the future of the oval in March, after receiving a staff report on exactly how much it will cost to operate.
Petition against Halifax oval launched
Skating oval support heats up in Halifax


Chassie Post shows us this season's must-have accessories.
Look cozy and chic in one of the season's hottest trends – plaid! Hats once again are a MAJOR trend this season, and a jaunty beret is leading the charge as a true must-have. In addition, the fashion world is obsessed with scarves this season – especially the statement scarf and the Western boot is kicking up some dust this season.
Make a statement with sequins this season. A sequin tunic top is perfect for any holiday party! When you need to take an outfit from zero to 60 in an instant – look no further than the affordable and festive chandelier earring.
Scarves of all kind and huggable bags were HUGE on the runways. Plus, python is the new black!


text:
Oxyacodon es un género extinto de condilardros de la familia Periptychidae endémica de Norteamérica durante el Paleoceno temprano que vivieron hace 65 a 63,3 millones de años.

Taxonomía
El género Oxyacodon fue definido por Osborn y Earle (1895). Su especie tipo es Oxyacodon apiculatus. Fue asignado a Periptychidae por Osborn y Earle (1895) y Carroll (1988), y a Conacodontinae por Archibald (1998), Eberle (2003) y Middleton y Dewar (2004).

Los fósiles se han encontrado en Nuevo México, Colorado, Utah, Wyoming, Montana, Dakota del Norte  y Saskatchewan y han sido atribuidos a la edad edad mamífero de América del Norte Puerquense.

Referencias

 Archibald, J.D., Rigby,J.K. Jr., and Robison, S.F.(1983). Systematic revision of Oxyacodon (Condylarthra, Periptychidae) and a description of O. ferronensis n. sp. Journal of Paleontology 57: 53–72.

Condylarthra
Mamíferos extintos de América del Norte
Mamíferos del Paleoceno

redpajama_set_name: RedPajamaWikipedia