Gone are those days, near or far, we pre-book a cab may be a week or a day in advance. It was a no easy deal to take a cab and they were not pocket friendly as well. However with the dawn of digital revolution, technology has been hooked to support our day to lives. Uber, the trailblazer of such on-demand businesses with a valuation of at-least $1 billion, has definitely exploited the power of technology into bits to benefit the common people to have an easy go ride. It connects passengers with taxi drivers who own their cars.
Currently, Uber has unveiled cab service in 200 cities covering 55 countries. Uber with an idea to fatten its business and to treat its happy customers better, has stationed an option as to call an ice-cream truck to buy an ice-cream or even a helicopter for a ride – How cool is that!!
The user can also track the driver's location.
The driver can either accept or reject the ride.
Once the driver accepts the ride, the driver's information is sent through SMS to the user with the Expected Time of Arrival (ETA).
The User needs a Smartphone with an internet connection to place a cab request through Uber app.
The driver can also use maps to track the exact location of the user.
Uber gets involved with the payment procedure.
Payment can be either done through ready cash (in some countries like India) while the users are also given an option to add money in the Uber wallet – which is then deducted once the ride is over.
Rates Priced Depending on the Cab Models – Uber provides a lavish range of cabs to help various segment of people. Right from cost-efficient hatchbacks to luxury SUV lines, Uber is armed with a fleet of cabs that caters the needs of all types of users.
Price Surge Technique – Here comes the twist – cab fares are varied in accordance to the demand. With an increase in demand, there is an instant rise in price/mile. The price is hooked to a simple math technique – Surcharges depend on the number of requests made by willing passengers and the number of cab drivers available at the locality.
Other transportation Service – Cab service is not just the limit. Uber transport service has been beefed up in some countries with a lavish spread of transport service that accommodates boats, motorcycles and helicopters to the list. To mention a few such countries – Paris has seen a launch of Uber motorcycle pickup, while San Francisco gets a delivery service option from Uber. Brownie points for ice-cream lovers in few cities – people are pampered with ice-cream truck delivery service.
Uber took its avatar, six years ago to help freelance drivers and customers who were looking for cheap cabs to stand a liaison between the passenger and taxi driver, while it takes a percentage of the fee from the taxi ride fare.
A look back at few decades when people were feeling inconvenient with sky rocketing cab rates and the wait time to mention was beyond tolerance with local taxis. The scarcity of cab drivers and with no control over the rates while people were left with no alternative option gave birth to Uber, which revolutionized the cab industry overlapping technology over convention.
Uber was launched as a solution to overcome the existing taxi booking problem. It outsourced and connected freelance cab drivers and made them available to the users even to the remotest part of the globe through a mobile app. While the launch happened in 2010 unraveling enormous benefits and values to meet the needs of people of various segments. A single tap – and there you go to find a solution better than the conventional taxi booking method.
Throwing the market presence of a new-bie service or product is not easy as a pie. Uber handled the launch with so much care – technology was the hype about Uber and San Francisco – the habitat of tech savvies, is where Uber unveiled its launch. So Uber was very much careful in choosing the crowd with the aim to be the people's choice. Uber got access to its initial customers through social media marketing and other marketing techniques online.
Free rides, flat discounted rates which made users to look at Uber as a jaw-dropping tech creation and convinced users to try the new service in the city. Uber made most of the cabs available at eye-catching venues that wooed willing customers and induced them to travel in style to their doorstep. The hunt for customers didn't cease, the next in the list were customers from the corporate sector – while Uber helped them save their time.
Initial customers were impressed by their cab ride experience and they are now regular customers as well. The early adopters shared their experience to their families and friends and by this way Uber has embarked its market presence to a global reach as people's favorite.
Uber formulated a simple business hack – buckled freelance drivers over the Smartphone network to define the business equation. The back room boys have deployed technology to help customers get connected to the drivers with just a few clicks.
Cab Driver – A cab owner with a driving license should be right person to work for the brand Uber. Upon screening the driver's details, he would be enrolled in the Uber system and would be given a Smartphone to get connected to the customers.
Registered Users – Users who are willing to travel by Uber-enrolled cab drivers are to install the Uber app on their smart phones and get registered. With a single click on the app, you get to set your ride in a wink of an eye. The taxi can be tracked through the Uber app as it approaches.
Taxi Fare – The type of fare is fixed depending on the type of cars – minimum pricing for hatchbacks, premium pricing for premium cars and surcharges during peak hours when there is a high demand of cabs in that locality.
Payment Options – Users always stay intact with businesses that make them convenient to settle down with convenience. So they are with payment options, users can go on cashless ride by adding money in the Uber wallet, while the ride fare is deducted from the wallet. If the user is good to pay hot cash to the driver in hand, Uber makes the users stay comfortable too.
Profits Shared – Well, it's the driver's own car and how does Uber get paid for connecting the driver and the user!! The math is here, with 80% of the ride fare to the driver and Uber gets the 20% of the ride fare. However, the stats reveal that even after 20% deduction, drivers are paid better than the conventional cab services and other alternatives.
Step 1 (Cab Request): Establishing a space to demand is the first step to Uber's success. Users Request a cab through Smartphone Uber app that schedules the cab pickup.
Step 2 (Driver matching): While the request is place by the user, the nearest cab driver gets the alert with the user's details. If the driver rejects the request, the details are then sent to the other driver in that locality.
Step 3 (Customer Ride): ETA of the cab is shown in the user's app; the customer can also track the cab as well. Once the customer passenger starts the ride, the meter is on to calculate the distance of travel.
Step 4 (Customer Rating): Once the ride is over, the customer is given an n option to rate the driver through the app. This is a critical component that adds a star value to Uber's Business Model as it lets the users know about the driver prior to booking while it also helps to build trust on the service as well.
Step 5 (Payment): Once the cab trip is over, a message pops out in the user's app. The user then pays the amount through cash or the money is deducted from the prepaid wallet.
Uber looks into a bigger picture – it is well organized to cater a mammoth customer segments, giving it's best to each and every user. Customers are pampered with options – From Uber X to Uber SUV and Uber Taxis to Uber Black.
Uber patched up with companies to benefit corporate professionals to travel to their work destination and vice versa. In some countries, Uber caters customers who are willing to send and pick up their kids through Uber cabs.
With 30% to 40% of the rides opted by senior citizens, Uber has inclined to target senior citizens with specific salient features that would cater their needs and make them comfortable while they travel.
Be a mediator and do not opt for ownership business model.
Attract the initial users with offers and discounts. Users are to be treated royal. They are one form of advertisers – your brand gets known to the world through existing users and there you grow.
Treat your stakeholders well as they are the main element of success.
Look into a step by step expansion. Stack all the business plans and implement it one by one as you grow better and better.
Make use of the opportunity that creates space for users to choose only you out of the alternatives with fair deals and pricing.
Uber has showcased a revolution in the cab industry at a global reach with a clever business layout to service customers at its best. Uber business is undoubtedly one of a kind that new startups are iterating it across various industry verticals while some just following the same technique to get established in the global market.


text:
Q: Google pagespeed says to use inline javascript On my project (Preloaders.net) I have a lot of scripts as it's a web-application. There is no way to have "some" css and js. I merged everything in one file but Google Pagespeed still used to say to remove the "render blocking CSS and JS". So I just made CSS and JS show inline with HTML. Google pagespeed is now happy about the inline CSS, but it really looks stupid - as now the JS and CSS won't be cached on all other pages. Breaking CSS and JS apart is almost useless and impossible as it's all necessary for the web-app to work.
So now I am torn - which is best for user performance: Google "stupidity" or render blocking css and js?
Thanks a lot in advance.

A: Instead of inlining the javascript just load it with defer flag or async:
<script src="whatever.js" async></script>

That will resolve the js issue.
As for css - inline only what is above the fold for each page, and load the rest of the styles in an async manner (from https://developers.google.com/speed/docs/insights/OptimizeCSSDelivery):
<html>
  <head>
  <style>
    .blue{color:blue;}
  </style>
  </head>
<body>
  <div class="blue">
    Hello, world!
  </div>
  <noscript id="deferred-styles">
    <link rel="stylesheet" type="text/css" href="small.css"/>
  </noscript>
  <script>
    var loadDeferredStyles = function() {
      var addStylesNode = document.getElementById("deferred-styles");
      var replacement = document.createElement("div");
      replacement.innerHTML = addStylesNode.textContent;
      document.body.appendChild(replacement)
      addStylesNode.parentElement.removeChild(addStylesNode);
    };
    var raf = requestAnimationFrame || mozRequestAnimationFrame ||
        webkitRequestAnimationFrame || msRequestAnimationFrame;
    if (raf) raf(function() { window.setTimeout(loadDeferredStyles, 0); });
    else window.addEventListener('load', loadDeferredStyles);
  </script>
</body>

redpajama_set_name: RedPajamaStackExchange


The invasions of the nomads led to large movements of many peoples. Often the invading nomads would take up a settled way of life when they found a suitable place. One of these movements took the Jews from Babylon (in ancient Iraq) to Israel. This half-nomadic people were led by a religious leader called Abraham. He taught that there is only one God, who had selected the tribe of Abraham to start a great nation. Abraham was to lead his tribe to the chosen land of Israel.
This and many other mass movements of people which started around that time, has led to disputes over who owns what land. These disputes are still causing wars today.


text:
<?xml version="1.0" encoding="UTF-8" ?>

<container xmlns="http://www.symfony-project.org/schema/dic/services"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.symfony-project.org/schema/dic/services http://www.symfony-project.org/schema/dic/services/services-1.0.xsd">

  <parameters>
    <parameter key="swiftmailer.class">Swift_Mailer</parameter>

    <parameter key="swiftmailer.transport.smtp.class">Swift_Transport_EsmtpTransport</parameter>
    <parameter key="swiftmailer.transport.sendmail.class">Swift_Transport_SendmailTransport</parameter>
    <parameter key="swiftmailer.transport.mail.class">Swift_Transport_MailTransport</parameter>

    <parameter key="swiftmailer.transport.smtp.host">localhost</parameter>
    <parameter key="swiftmailer.transport.smtp.port">25</parameter>
    <parameter key="swiftmailer.transport.smtp.encryption">null</parameter>
    <parameter key="swiftmailer.transport.smtp.username">null</parameter>
    <parameter key="swiftmailer.transport.smtp.password">null</parameter>
    <parameter key="swiftmailer.transport.smtp.auth_mode">null</parameter>

    <parameter key="swiftmailer.transport.failover.class">Swift_Transport_FailoverTransport</parameter>
    <parameter key="swiftmailer.spool.file.class">Swift_FileSpool</parameter>

    <parameter key="swiftmailer.init_file">swift_init.php</parameter>

    <parameter key="swiftmailer.plugin.redirecting.class">Swift_Plugins_RedirectingPlugin</parameter>
    <parameter key="swiftmailer.plugin.blackhole.class">Swift_Plugins_BlackholePlugin</parameter>
  </parameters>

  <services>
    <service id="swiftmailer.mailer" class="%swiftmailer.class%">
      <argument type="service" id="swiftmailer.transport" />
      <file>%swiftmailer.init_file%</file>
    </service>

    <service id="swiftmailer.transport.smtp" class="%swiftmailer.transport.smtp.class%">
      <argument type="service" id="swiftmailer.transport.buffer" />
      <argument type="collection">
        <argument type="service" id="swiftmailer.transport.authhandler" />
      </argument>
      <argument type="service" id="swiftmailer.transport.eventdispatcher" />

      <call method="setHost"><argument>%swiftmailer.transport.smtp.host%</argument></call>
      <call method="setPort"><argument>%swiftmailer.transport.smtp.port%</argument></call>
      <call method="setEncryption"><argument>%swiftmailer.transport.smtp.encryption%</argument></call>
      <call method="setUsername"><argument>%swiftmailer.transport.smtp.username%</argument></call>
      <call method="setPassword"><argument>%swiftmailer.transport.smtp.password%</argument></call>
      <call method="setAuthMode"><argument>%swiftmailer.transport.smtp.auth_mode%</argument></call>
    </service>

    <service id="swiftmailer.transport.sendmail" class="%swiftmailer.transport.sendmail.class%">
      <argument type="service" id="swiftmailer.transport.buffer" />
      <argument type="service" id="swiftmailer.transport.eventdispatcher" />
    </service>

    <service id="swiftmailer.transport.mail" class="%swiftmailer.transport.mail.class%">
      <argument type="service" id="swiftmailer.transport.mailinvoker" />
      <argument type="service" id="swiftmailer.transport.eventdispatcher" />
    </service>

    <service id="swiftmailer.transport.failover" class="%swiftmailer.transport.failover.class%" />

    <service id="swiftmailer.transport.mailinvoker" class="Swift_Transport_SimpleMailInvoker" />

    <service id="swiftmailer.transport.buffer" class="Swift_Transport_StreamBuffer">
      <argument type="service" id="swiftmailer.transport.replacementfactory" />
    </service>

    <service id="swiftmailer.transport.authhandler" class="Swift_Transport_Esmtp_AuthHandler">
      <argument type="collection">
        <argument type="service"><service class="Swift_Transport_Esmtp_Auth_CramMd5Authenticator" /></argument>
        <argument type="service"><service class="Swift_Transport_Esmtp_Auth_LoginAuthenticator" /></argument>
        <argument type="service"><service class="Swift_Transport_Esmtp_Auth_PlainAuthenticator" /></argument>
      </argument>
    </service>

    <service id="swiftmailer.transport.eventdispatcher" class="Swift_Events_SimpleEventDispatcher" />

    <service id="swiftmailer.transport.replacementfactory" class="Swift_StreamFilters_StringReplacementFilterFactory" />

    <service id="swiftmailer.transport.spool" class="Swift_Transport_SpoolTransport">
      <argument type="service" id="swiftmailer.transport.eventdispatcher" />
      <argument type="service" id="swiftmailer.spool" />
    </service>

    <service id="swiftmailer.transport.null" class="Swift_Transport_NullTransport">
      <argument type="service" id="swiftmailer.transport.eventdispatcher" />
    </service>

    <service id="swiftmailer.spool.file" class="%swiftmailer.spool.file.class%">
      <argument>%swiftmailer.spool.file.path%</argument>
    </service>

    <service id="swiftmailer.plugin.redirecting" class="%swiftmailer.plugin.redirecting.class%">
      <argument>%swiftmailer.single_address%</argument>
    </service>

    <service id="swiftmailer.plugin.blackhole" class="%swiftmailer.plugin.blackhole.class%" />

    <service id="swiftmailer.transport" alias="swiftmailer.transport.smtp" />

    <service id="swiftmailer.spool" alias="swiftmailer.spool.file" />
  </services>
</container>

redpajama_set_name: RedPajamaGithub


Children: you've no doubt seen them on your social media feed (perhaps a little more than you'd like). Maybe you've even encountered one in person. And sooner or later you might have one of your own – if so, you are going to have to learn how to dress them.
Now, we assume you know how to dress yourself – you're here on MR PORTER, after all. But the rules that govern your wardrobe work in mysterious ways when scaled down. For starters, gender conventions can prove difficult to swerve: girls often seem to come pre-programmed to adhere to that Frozen princess aesthetic, while for many boys, what they want to wear is merely something that either aids – or at the very least doesn't impinge on – them destroying everything in a room. With your son particularly, you'll find it hard not to subconsciously imprint ideas of masculinity onto their style of clothing. "You bring your own sense of what a boy should wear from the dark recesses of your own pathetic caveman mind," says Mr Alex Bilmes, editor-in-chief of Esquire UK, Style Council Member and father of two, one of each.
To improve the way we dress our children, we sought advice from some style-minded dads. We asked them how the codes of men's clothing work for young boys, if investment pieces are worthwhile when the wearer will have grown out of them by the following month, and how in the name of all-that-is-holy are you supposed to get poppers to align.
Here then, is everything you need to know about dressing your little man.
When it comes to dressing another male human, the obvious solution is to draw on your knowledge of dressing yourself. But that doesn't mean you should dress your son exactly like you.
"The 'mini-me' look works well for leaders of totalitarian regimes and their children," says Mr John Brodie, SVP of brand marketing and content at J.Crew (and formerly of this parish). "But for the rest of us, a smarter way to go is to have certain connective element in the way a parent and child dress but stop short of a full replica.
Something that should also be avoided is what we shall call "Prince George syndrome"; as Mr Bilmes puts it, "the kid with the shirt and tie and the brass-button blazer" – sure, you might think the outfit is cute, but that doesn't mean your son will. "He just seems all awkward and shy," Mr Bilmes adds.
"The father is the classical score and the son should be the slightly mad jazz improvisation," adds Mr Brodie. The rules are something to play with.
Mr Matt Coyne is the author of the blog Man Vs Baby and the fatherhood manual Dummy: The Comedy And Chaos Of Real-Life Parenting. He says that you can tell at a glance whether he or his partner dressed his son that morning: if his partner dressed him, his son will look "preppy and smart"; "if I've dressed him, he will be dressed as Batman".
So, the Dark Knight is good, but the orange Power Ranger is even better.
You won't be surprised to learn that we at MR PORTER live by the maxim "you get what you pay for": better-quality clothing might come at a price, but it tends to last longer. But what if an item was unlikely to fit the wearer by next week?
Like a Terminator, very young children – or older ones in an apoplectic meltdown – cannot be reasoned with, but later, a combination of bribery, distraction and threats can hold some sway.
But when in public, there is no excuse to let standards slip, warns Mr Bilmes. "Just because you've had a kid doesn't mean your life is over and you have to turn into a slob who wears tracksuit trousers with bits of pizza stuck to them," he says.
And that might be the best compliment you get all year.


It's not been quite as warm here as it has been in England and Wales, where temperatures have exceeded 20°C, but it's still been very pleasant – apart, perhaps, from being a bit warm in the computer laboratory.
One can't help thinking, though, that there's something disconcerting about this weather. It's almost as if the climate might be changing or something like that.


The MarcellusGas.Org website was created to provide easy-access information related to unconventional gas wells in Pennsylvania (Marcellus and other formations). The site was launched in September of 2010, and continually adds new features to provide	members with improved information tools and resources.
MarcellusGas.Org is an independent entity that is not affiliated with any other company or organization.
Our efforts are supported by Full Membership contributions. We ask that you encourage others who are interested in information related to deep gas well activity to participate as Full Members so we can continue to provide up to date information regarding Marcellus and other unconventional gas well activity taking place in the state of Pennsylvania.


text:
Apex ARC-8 (18×10, ET25, 5×120)
The classic APEX wheel: Lightweight, concave race inspired design with straight spokes…
Apex ARC-8 wheels offer excellent brake clearance, low weight and a variety of finishes, sizes and offsets, all in an OEM-inspired design. Apex wheels will accept an OEM BMW centre cap.
ET25 (face profile 3, weight 18.2lb)
Apex wheels are generally available from UK stock. However for up to date stock information, contact us before ordering. Priced per wheel.
SKU: N/A Categories: Apex Race Parts, BMW 1M Coupe, BMW M2 (inc Comp), BMW Z3 M, BMW Z3/E36 Compact, BMW Z4 M, E24, E24 M6, E28, E28 M5, E30 M3, E34, E34 M5, E36, E36 M3, E46, E46 M3, E60/61 M5, E85/E86, E89, E8X, E9X, E9X M3, Exterior, F20/F21, F22, F3X, F8X M3/M4, Wheels
Finish Choose an optionHyper SilverAnthraciteHyper BlackSatin BlackMatte Bronze Clear
E24, E24 M6, E28, E28 M5, E30, E30 M3, E36, E36 M3, Meyle, Suspension/Chassis
Meyle rear ARB droplink (E30, E36, E24, E28, E23, Z1)
Condor Speed Shop, E24, E24 M6, E28, E28 M5, E30, E30 M3, E34, Transmission
Condor Speed Shop Delrin Shifter Carrier Bushings (Round – E24/E28/E30/E34)
BMW E10 ('02), BMW Z3 M, BMW Z3/E36 Compact, CAE Racing, E21, E24, E24 M6, E28, E28 M5, E30, E30 M3, E34, E34 M5, E36, E36 M3, E39, E39 M5, E46, E46 M3, Interior, Transmission
CAE Ultra Shifter (E10/E21/E30/E36/E46)
BMW 1M Coupe, BMW E10 ('02), BMW M2 (inc Comp), BMW Z3 M, BMW Z3/E36 Compact, BMW Z4 M, E21, E24, E24 M6, E28, E28 M5, E30, E30 M3, E34, E34 M5, E36, E36 M3, E39, E39 M5, E46, E46 M3, E60/61 M5, E85/E86, E89, E8X, E9X, E9X M3, F10 M5, F20/F21, F22, F3X, F56, F8X M3/M4, FXX M6, G29, Hack Engineering, Interior, R53, R56
Harness Eye-Bolts (M10)
BMW 1M Coupe, BMW E10 ('02), BMW M2 (inc Comp), BMW Z3 M, BMW Z3/E36 Compact, BMW Z4 M, CAE Racing, E21, E24, E24 M6, E28, E28 M5, E30, E30 M3, E34, E34 M5, E36, E36 M3, E39, E39 M5, E46, E46 M3, E85/E86, E89, E8X, E9X, E9X M3, F20/F21, F22, F3X, F8X M3/M4, Transmission
CAE Adjustable Selector Rod (BMW)
BMW E10 ('02), BMW Z3 M, BMW Z3/E36 Compact, BMW Z4 M, E21, E24, E24 M6, E28, E30, E30 M3, E34, E34 M5, E36, E36 M3, E46, E46 M3, E9X, Meyle, Transmission
Meyle Propshaft Centre Bearing (most BMW)
BMW Z3 M, BMW Z3/E36 Compact, BMW Z4 M, Condor Speed Shop, E30, E30 M3, E36, E36 M3, Suspension/Chassis
BMW 1M Coupe, BMW E10 ('02), BMW M2 (inc Comp), BMW Z3 M, BMW Z3/E36 Compact, BMW Z4 M, E21, E24, E24 M6, E28, E28 M5, E30, E30 M3, E34, E34 M5, E36, E36 M3, E39, E39 M5, E46, E46 M3, E60/61 M5, E85/E86, E89, E8X, E9X, E9X M3, F10 M5, F20/F21, F22, F3X, F56, F8X M3/M4, FXX M6, G29, G2X, G8X M3/M4, Interior, R53, R56, Toyota Supra A90, VAC Motorsports
VAC Motorsports Lap Belt Mounting Brackets

redpajama_set_name: RedPajamaCommonCrawl


Wikipedia defines a Black Box Theatre as a simple, somewhat unadorned performance space, usually a large square room with black walls and a flat floor. It is a relatively recent innovation in theatre and one opens in Collingwood on May 1st.
Located in the creative centre at 65 Simcoe Street, the Simcoe Street Theatre is located in the space recently vacated by theatre Collingwood. Building owners and visionaries, Anke and Richard Lex have turned the 3,000 square foot space into an intimate 100 seat theatre that will see musicians, actors, lecturers and presentations in the years to come. I dropped by last week for a sneak peak and can say, the air was electric with the promise of things to come.
The grand opening takes place on May 1st from 4-6 p.m. with author, poet and special guest Harry Posner. See you there.


Bryan Jay Singer was born on September 17, 1965 in New York City, New York. Raised in southern New Jersey in a Jewish family, Singer became interested in filmmaking during his teenage years. After high school, he attended New York City's School of Visual Arts, before transferring to the University of Southern California. Through his film studies at USC, Singer met his future collaborators, composer and editor John Ottman and co-producer Kenneth Kokin.
In 1988, shortly after graduation from USC, Singer wrote and directed his first short film, Lion's Den. The film, budgeted at $16,000, starred Singer's high school friend Ethan Hawke and centered on high-school buddies who reunite years after graduation (Marx). A couple years later, Singer would helm his first feature-length film, Public Access. In 1993, the film won the Critics Award at the Deauville Film Festival as well as the Grand Jury Prize at the Sundance Film Festival.
It was two years later, however, that Singer hit a breakthrough as a director with The Usual Suspects, a neo-noir crime drama that focuses on a survivor's retelling of events leading up to a shootout of a deal gone wrong. Full of twists and turns, the film was a critical and commercial success and was nominated for 2 Oscars for Best Actor in a Supporting Role (Kevin Spacey) and Best Screenplay and won both.
Singer's neo-noir crime drama The Usual Suspects (1995) was Singer's first hit as a young director.
Singer followed The Usual Suspects with Apt Pupil, a film based on Stephen King's novel of a young boy who makes a deal with a Nazi war criminal. The film ended up not living up to its high expectations, and was scarred by a controversy involving the child actor being forced to perform a naked scene. The charges ended up being dropped, but nevertheless the film didn't recover at the box office.
At the turn of the millennium, Singer officially hit the jackpot with X-Men, a film based on the famous Marvel comics. The $75 million project reunited Singer with A-list actor Ian McKellen (Apt Pupil) and became a critical and commercial hit upon its release, being regarded as one of the best superhero films ever put on screen. Building on its success, Singer returned three years later to helm the sequel, X2: X-Men United, which many critics and audiences cited even as an improvement on the first installment.
Upon its release in 2000, Singer's X-Men was regarded as one of the best comic-book adaptations ever put on the big screen.
Due to a dispute with 20th Century Fox, Singer did not return to direct the third film in the X-Men franchise, and instead turned to D.C. comics in Superman Returns. Unfortunately, the film was met with general criticism from critics and audiences, and underperformed at the box office, forcing the studio to scrap any hope of a sequel (Marx).
Singer's next project was Valkyrie (2008), a World War II film starring Tom Cruise and based on the true story of an assassination attempt of Adolf Hitler by several German army officers. The film was met with mixed reviews and underachieved at the box office, but was still considered a respectable historical drama in the War canon.
After directing an interpretation of "Jack and the Beanstalk" with Jack the Giant Slayer (2013), Singer successfully reteamed with his beloved X-Men crew with X-Men: Days of Future Past (2014), a film that has Wolverine go back in time to help alter events that lead to the destruction of mutants and humans alike. The film (as with Singer's other X-Men films) was a critical and commercial hit, grossing $111 million in its opening weekend in the US and $233 million overall domestically (IMDB).
Singer's most recent project, X-Men: Days of Future Past (2014), reunited him with cast members he worked with nearly a decade earlier when he launched the X-Men saga with X-Men (2000) and X2: X-Men United (2003).
Currently, Singer is in pre-production with X-Men: Apocalypse, the sequel to X-Men: Days of Future Past. The film is scheduled for release on May 27, 2016.
Most of Singer's trademarks involve frequent collaborations. These include working with composer John Ottman for music (The Usual Suspects, X2: X-Men United, X-Men: Days of Future Past) cinematographer Tom Siegel (The Usual Suspects, X-Men, X2: X-Men United, X-Men: Days of Future Past), writer Christopher McQuarrie (The Usual Suspects, Valkyrie, Jack the Giant Slayer), and casting Ian McKellen (Apt Pupil, X-Men, X2: X-Men United, X-Men: Days of Future Past). Also, typically Bryan Singer has one or more of his characters be alienated in some manner from other characters or their surroundings. One example would be Rogue in X-Men (2000).
IMDB. 2014. 16 Nov. 2014. <http://www.imdb.com>.
Marx, Rebecca. "Bryan Singer." 2014. 16 Nov. 2014. The New York Times.


text:
Ford Restarting F-150, Super Duty Production Ahead of Schedule after Fire at Magnesium Parts Supplier
Ford is resuming production of the F-150 pickup at Dearborn Truck Plant on Friday. Ford team has also successfully repaired the supply chain for Super Duty; production targeted to restart by Monday for Super Duty at Kentucky Truck Plant and F-150 at Kansas City Assembly Plant
Ford marshaled a global team of experts, that included partners and suppliers, following a May 2 fire at Meridian Magnesium Products in Eaton Rapids, Mich., to quickly refurbish and relocate tooling needed to produce parts for the Ford F-150, Super Duty and five other vehicles – Ford Expedition, Explorer, Flex and Lincoln Navigator and MKT
Because of this quick action, Meridian is producing truck parts again at its Eaton Rapids facility. Plus, Ford airlifted tooling to a Meridian facility in the U.K. to produce parts for F-150, which will further speed production ramp-up
Ford Expedition, Explorer, Flex and Lincoln Navigator and MKT production continue uninterrupted
Company reaffirms 2018 adjusted EPS guidance range of $1.45 to $1.70; expects adverse impact of $0.12 to $0.14 per share in second quarter due to lost production 1
DEARBORN, Mich., May 16, 2018 – Ford Motor Company is restarting production of the popular F-150 at Dearborn Truck Plant Friday after just over one week of downtime. The company has also successfully repaired the supply chain for Super Duty, with production targeted to restart by Monday at the Kentucky Truck Plant as well as the Kansas City Assembly Plant that also makes F-150 pickups.
This follows the massive May 2 fire at the Meridian Magnesium Products facility in Eaton Rapids, Mich.
Ford teams, together with suppliers including Walbridge and other contractors, worked nearly around the clock to get America's best-selling vehicle franchise back on line as quickly as possible.
The teams removed 19 dies from Meridian's badly damaged facility, and in one case, moved an 87,000-pound die from Eaton Rapids, Mich., to Nottingham, U.K., via an Antonov cargo plane – one of the largest in the world – in just 30 hours door-to-door. A die is a tool used to cut or shape material using a press.
"Faced with unexpected adversity, the Ford team, including our global supply partners, showed unbelievable resiliency, turning a devastating event into a shining example of teamwork," said Hau Thai-Tang, Ford's executive vice president of Product Development and Purchasing. "Thanks to their heroic efforts, we are resuming production of some of our most important vehicles ahead of our original targets."
Work started immediately in the aftermath of the May 2 fire. Teams removed and remediated safety concerns – including dangling siding – and restored electricity, gaining approval to access the site while debris still smoldered inside.
This allowed Ford and Meridian to safely retrieve and relocate tools to more quickly resume part production and work to minimize the financial impact of the stalled plants.
Ford recovered, repaired and validated most dies that were at the Eaton Rapids facility, and Meridian is now producing parts for the F-150 at two locations – Eaton Rapids and Nottingham, U.K.
Production of bolsters for Super Duty is also restarting at the Eaton Rapids plant.
Under normal circumstances, moving tooling the size of a bolster die would take approximately 10 days just to get the proper import and export approvals. However, Ford and its suppliers managed to cut the total time for the entire move to 30 hours, including trans-Atlantic flight time.
When the team removed the die from the Eaton Rapids factory, it was shipped to Rickenbacker International Airport in Columbus, Ohio. Rickenbacker had both the capacity to handle such a large piece of equipment and allowed an Antonov An-124 Russian plane, one of the largest planes in the world – typically used to transport trains, dump trucks and even a 25-foot sea yacht – to take off as soon as the equipment was loaded.
Nearly 4,000 miles away, a team in Nottingham was waiting to receive the die and take it to Meridian's nearby factory. In between, the Ford team received a U.K. import license for the die – a mere two hours before the plane touched down.
Parts produced at Nottingham are being shipped via daily flights on a Boeing 747 jet until production in Eaton Rapids returns to pre-fire levels.
Inventories of Ford's best-selling F-Series pickups and other vehicles remain strong and customers won't have a problem finding the model they want.
1 Adjusted earnings per share is a non-GAAP financial measure. Ford does not provide guidance on an earnings per share basis, the comparable GAAP financial measure. Ford's earnings per share in 2018 will include potentially significant special items that have not yet occurred and are difficult to predict with reasonable certainty prior to year-end, including pension and OPEB remeasurement gains and losses.
Cautionary Note of Forward-Looking Statements
Statements included or incorporated by reference herein may constitute "forward-looking statements" within the meaning of the Private Securities Litigation Reform Act of 1995. Forward-looking statements are based on expectations, forecasts, and assumptions by our management and involve a number of risks, uncertainties, and other factors that could cause actual results to differ materially from those stated, including, without limitation:
Ford's long-term competitiveness depends on the successful execution of fitness actions;
Industry sales volume, particularly in the United States, Europe, or China, could decline if there is a financial crisis, recession, or significant geopolitical event;
Ford's new and existing products and mobility services are subject to market acceptance;
Ford's results are dependent on sales of larger, more profitable vehicles, particularly in the United States;
Ford may face increased price competition resulting from industry excess capacity, currency fluctuations, or other factors;
Fluctuations in commodity prices, foreign currency exchange rates, and interest rates can have a significant effect on results;
With a global footprint, Ford's results could be adversely affected by economic, geopolitical, protectionist trade policies,
or other events;
Ford's production, as well as Ford's suppliers' production, could be disrupted by labor disputes, natural or man-made disasters, financial distress, production difficulties, or other factors;
Ford's ability to maintain a competitive cost structure could be affected by labor or other constraints;
Pension and other postretirement liabilities could adversely affect Ford's liquidity and financial condition;
Economic and demographic experience for pension and other postretirement benefit plans (e.g., discount rates or investment returns) could be worse than Ford has assumed;
Ford's vehicles could be affected by defects that result in delays in new model launches, recall campaigns, or increased
warranty costs;
Safety, emissions, fuel economy, and other regulations affecting Ford may become more stringent;
Ford could experience unusual or significant litigation, governmental investigations, or adverse publicity arising out of alleged defects in products, perceived environmental impacts, or otherwise;
Ford's receipt of government incentives could be subject to reduction, termination, or clawback;
Operational systems, security systems, and vehicles could be affected by cyber incidents;
Ford Credit's access to debt, securitization, or derivative markets around the world at competitive rates or in sufficient amounts could be affected by credit rating downgrades, market volatility, market disruption, regulatory requirements, or other factors;
Ford Credit could experience higher-than-expected credit losses, lower-than-anticipated residual values, or higher-than-expected return volumes for leased vehicles;
Ford Credit could face increased competition from banks, financial institutions, or other third parties seeking to increase their share of financing Ford vehicles; and
Ford Credit could be subject to new or increased credit regulations, consumer or data protection regulations, or other regulations.
We cannot be certain that any expectation, forecast, or assumption made in preparing forward-looking statements will prove accurate, or that any projection will be realized. It is to be expected that there may be differences between projected and actual results. Our forward-looking statements speak only as of the date of their initial issuance, and we do not undertake any obligation to update or revise publicly any forward-looking statement, whether as a result of new information, future events, or otherwise. For additional discussion, see "Item 1A. Risk Factors" in our Annual Report on Form 10-K for the year ended December 31, 2017, as updated by subsequent Quarterly Reports on Form 10-Q and Current Reports on Form 8-K.
About Ford Motor Company
Ford Motor Company is a global company based in Dearborn, Michigan. The company designs, manufactures, markets and services a full line of Ford cars, trucks, SUVs, electrified vehicles and Lincoln luxury vehicles, provides financial services through Ford Motor Credit Company and is pursuing leadership positions in electrification, autonomous vehicles and mobility solutions. Ford employs approximately 202,000 people worldwide. For more information regarding Ford, its products and Ford Motor Credit Company, please visit www.corporate.ford.com.
Nissan cargo van equipment by Knapheide.Sortimo
OUR NEW SHOP TRUCK!!! (Lifted 2017 Nissan Titan XD...
Lightning Systems to Offer 150-Mile Range Electric...
Compare 2018 Ram ProMaster With 2018 Ford Transit ...
Not too high, not too low: The importance of keepi...
Dark horse: Nissan's 'Midnight' Frontier punches a...
A Silverado — and an Engine — for Every Need
Introducing the 2019 F-150 Raptor | F-150 | Ford
Michelin Auto Inflate Automatic Tire Inflation
Parade | Long Live Ram | Ram Trucks
Ranch Hand Intro
Visit Transfer Flow Manufacturing
EverLast™ Service Bodies
What's Roadcheck got to do with HOS?
FSX DPF Protection Technology
Reading Truck Body Introduces the RVSL Steelhawk™ ...
Volvo Trucks - Can cities be quieter and cleaner w...
Ford Restarting F-150, Super Duty Production Ahead...
How job surveillance is changing trucking in Ameri...
Electric Powertrains Are the Future. Will Fleets B...
Advanced Software Design Technology Leads GM into ...
Nissan NV200 Set Up For A Caterer - Nissan of Vaca...
Adrian Steel General Service Van Interior Package
Trailer Blade Installation and Test
CargoGlides Extreme Test VS. Competitor
Coolest truck bed cargo box I have ever seen by Ca...
Douglass Crane Body And GMC Truck Great Combo
PTO Driven Air Compressor Now With Hydraulics: Sav...
Nissan NV 2500 with Custom Shelving & Fold Down Ra...
Truckin' Tennessee Trails in a Nissan Titan XD
Day In The Life - Vine & Branch
Highway Products | Gladiator Package
Nissan NV Cargo named '2018 Edmunds Best Retained ...
A Day In The Life - Roman Pools
2019 GMC Sierra – Ready to fight Ford F-150
2019 Chevrolet Silverado 6500HD Unveil at The Work...
Mid-West truck show 2018
How To Slide The Tandems & 5th Wheel
Overweight on tandems. How to fix a weight issue. ...
Utilimaster at the NTEA's Work Truck Show 2018
Enoven Industries - Where Flatbeds are Not Just Fl...
Honeycomb™ Headache Rack by Highway Products
About BrandFX
ALUM-LINE Enclosed Models Service Truck Bodies
Chevrolet to Reveal Three All-new Silverados in 18...


TO AVIOD ANY CONFUSION WE DO NOT PROCESS CANCELLATIONS IN ANY OTHER WAY, WE DO NOT ACCEPT PHONE CALLS, FAXES OR MAIL TO AN ADDRESS. ALL CANCELATIONS ARE THROUGH THE SIMPLE ONLINE PROCESS. HERE ARE THE RELEVANT TERMS REGARDING CANCELLATION. IF YOU DO NOT FOLLOW THE SIMPLE CANCELATION SYSTEM GOVERNMENT AUCTIONS CANNOT BE HELD RESPONSIBLE FOR SUBSEQUENT SUBSCRIPTION DEBITS.
When an account is cancelled in the correct manner Government Auctions' Member Management System will send a 'Confirmation of Cancellation to the e-mail address provided by the person wishing to cancel. They should retain this for their records.
gauk will retain copies of all 'Confirmation of Cancellations' sent for a period of at least two years and refund any payments taken after the date that the 'Confirmation of Cancellation was sent should it be necessary.
Without a 'Confirmation of Cancellation, in writing, from gauk Online it cannot be assumed or guaranteed that gauk Online received the request. gauk Online cannot be held responsible should a subscriber not follow the cancellation procedure.


The following is part of series of guest posts from Windows IT Pro that takes an in-depth look at SMTP.
The use of IP means that we can depend on SMTP to eventually get the message contents to a server, but what happens to it after that is up to the server. Imagine what happens when a delivery driver leaves a package at your office on a Saturday. What happens to it after delivery isn't his problem. Deliverability, monitoring, tracking, authentication, and encryption are all examples of services that SMTP doesn't necessarily provide itself but that are still very valuable.
We talk a lot about email deliverability best practices and troubleshooting here on the blog. But it's always good to get another perspective and reminder on the ins and outs of deliverability. The following will take a look at what it means to get delivered.
Simply put, deliverability is an indication of whether your messages will get to their intended destinations. For actions such as sending order status notifications, shipping or tracking updates, or sending time-sensitive announcements, deliverability is critical because messages that don't get to the customer aren't useful to them or to you.
When Is a Message Delivered?
Her message leaves her client and is accepted by a Contoso server? After all, at that point her client is done with the message, similar to what happens when you drop a letter in the outbound mailbox at an office building.
The message leaves the Contoso network and is passed to a Fabrikam server? This is similar to sending a package to a company with a centralized mailroom—just because someone at the target company has signed for it doesn't mean that the intended recipient got it.
Her message is placed in Bob's mailbox on the target server?
Bob actually opens and reads the message?
In contrast to paper mail, where most of us would think a letter is delivered once it arrives at the recipient's mailbox, some argue that email deliverability focuses more on whether the recipient reads the message and not just on whether it reaches its destination. This can be determined by tracking whether a recipient opens or clicks on the message.
It's important to understand that deliverability problems fall into two categories: temporary and permanent. Temporary problems, commonly known as "soft bounces," might delay the delivery of a message, but eventually the message will get through (typically SMTP servers will automatically retry soft bounces for up to 72 hours ). Examples include transient network problems, connection throttling, or a recipient's mailbox being full; SMTP MTAs provide the ability to queue and retry messages for these problems.
Permanent problems (or "hard bounces"), such as a nonexistent recipient address, won't be resolved with time. It's important to monitor these two bounce types and update your mailing lists accordingly. If you implement an email service provider, like SendGrid, they can provide detailed data about your recipients' behavior back to you, so you can remove unresponsive subscribers from list. To learn how SendGrid handles bounces, check out our blog post on email bounce management.
Stay tuned for the next post in this Windows IT Pro series that dives into factors that affect deliverability. And if you can't wait, you can always check out our Deliverability Guide and our guide on The ABCs of ISPs.
This post is courtesy of our friends at Windows IT Pro.


text:
Disturbing Revelation: What Biden's White House Guest Once Did for a 2-Year-Old Boy
By Warner Todd Huston
President Joe Biden promised to bring back "normal" to the White House after what he claimed were the tumultuous Trump years. Instead, he has brought transgenders and sexual deviants into his administration, and now a drag queen who grooms little children to the White House for an official bill-signing ceremony.
On Tuesday, when Biden signed the misnamed "Respect for Marriage Act" into law, one of those invited to the ceremony was Marti Gould Cummings, a drag queen who identifies as "nonbinary," Fox News reported.
Cummings was super excited to take part in the White House event and, according to Fox, jumped on to his protected Twitter account to say, "To be a non binary drag artist invited to the White House is something I never imagined would happen. Thank you President & Dr. Biden for inviting me to this historic bill signing. Grateful doesn't begin to express the emotions I feel."
Cummings has no business at an official government function — unless that function is a criminal trial.
The least of the problems with this Biden guest is his outspoken hatred for the police.
According to Fox, the drag queen is a virulent supporter of the "defund the police" movement and had posted numerous anti-police tweets that could be seen by the public before he locked his account. Cummings called police "whiny and weak," said "all cops are bastards," and repeatedly posted slogans such as "f*** the police."
But, while it is bad enough that Biden invited a cop-hater to the White House, Cummings' grooming of little children is far, far worse.
As The Daily Wire noted, Cummings can be seen in a video performing his sexual drag act for a 2-year-old boy.
"Footage showed Cummings … in a wig, high-heeled boots, and a leotard tightly hugging his genitals, clapping along with the tune, at one point spinning onto a long table and briefly drawing attention to his nether regions," The Daily Wire reported. "A man who appeared to be the boy's father was smiling, bouncing the child on his knees, and recording the interaction while grinning from ear to ear."
"He was so sweet, and he gave me a dollar," Cummings said of the toddler in an interview with Inside Edition.
In a recent post on Twitter, Cummings happily chirped that "the kids are out to sing and suck d!" The tweet was alluding to the young age of customers at a gay bar, according to The Daily Wire.
It was after the popular account Libs of TikTok shared that tweet that Cummings set his Twitter account to private so the public could not see his efforts to groom young people for the LGBT agenda.
Perhaps it isn't surprising that Biden would invite such a problematic person to the signing of the Respect for Marriage Act. After all, the bill itself is worse than problematic.
The newly signed law not only runs contrary to religious beliefs — with some fearing it could make holding Christian views a punishable offense — but also violates the long-held principle that marriage should be regulated chiefly by the states, not the federal government.
The bill passed the House 258-169, with 39 Republicans joining the entire complement of Democrats to repeal provisions that define marriage as between a man and a woman.
The Respect for Marriage Act does not respect marriage, but instead enshrines a corruption of marriage into law. Marriage is aimed at protecting the family unit and ensuring the preservation of morality and civilization. Gay marriage does not achieve any of those goals except through artificial means.
How fitting that this disgusting, dangerous new law was signed by Biden as drag queens and child groomers stood by, egging him on.
Author: Warner Todd Huston
Source: Western Journal: Disturbing Revelation: What Biden's White House Guest Once Did for a 2-Year-Old Boy
Training video uses 'non-binary' doll to pervert minds of 4-year-old kids
Biden: 'Non-stop' immigration will make whites 'absolute minority'
BREAKING: Former VP Mike Pence Finds Classified Documents in His Indiana Home – Discovered Last Week


Due to inclement weather, the February 25th 2019 School Council meeting has been cancelled. Thank you for understanding. Drive safe.
On inclement weather days, we do not have pita delivery. A make up day will be announced shortly.
Today, Feb 4th, is an inclement weather day and all buses in CKL are cancelled. If your student is not attending today, it is very important to promptly notify our safe arrival program. Be safe out there.


Manuel Süess made his painting no. 682 Kleiner Erfolg II 2014 in Rheinfelden, Switzerland.
Original Paintings: All original paintings are signed, numbered, one of a kind, handmade artworks.
Premium: Upgrade an original paintings with a floater frame. It's a nice precious looking addition to your painting on stretched canvas. Availability and price upon request.
Images: Please note that deviations of colour and condition to published photos are possible and due to technical reasons unavoidable.
Help: Do you have any question about Manuel Süess' work? Feel free to contact us.
© 2011 - 2019 ART by MANUEL SÜESS.


Alfreton Town play their second Blue Square Bet Premier Division game of 2013 on Saturday when high-flying Dartford visit the Impact Arena.
Reds manager Nicky Law has Leigh Franks available again after suspension but he is without captain Darran Kempson who suffered a recurrence of a hamstring injury during the New Year's Day home defeat against Mansfield Town.
Goalkeeper Jon Stewart has returned to Burnley following his three-month loan period with the Reds and midfielder Danny Emerton has returned to Hull City upon the conclusion of his month's loan spell.
There are no other injuries or suspensions to contend with.
For the first game of the second half of the season, Nicky Law will be looking for his side to bounce back from the Mansfield defeat and the Reds go into the game looking for a first home win in five games in all competitions.
The Reds boss will also be looking for his side to gain revenge for a 5-1 defeat in Kent back on September 1st.
Dartford arrive in seventh place in the table after a very good start to life in the top division following promotion last season. However, they will be seeking a first win in three league games having drawn both of their last two matches. They have also only won once in their last six outings where points have been at stake.
On their travels, the Darts have won four, drawn three and lost six of their 13 games on the road for points so far this season.
Some excellent victories have been achieved at Cambridge United (2-1), Braintree Town (2-0), Grimsby Town (2-0) and Luton Town also 2-0.
Draws have been gleaned at Wrexham (2-2), Barrow (0-0) and Ebbsfleet United (2-2).
Defeats have been tasted at Woking (0-1), Macclesfield Town (0-2), Gateshead (0-2), Tamworth (2-3), Nuneaton Town (0-1) and Kidderminster Harriers (1-5).
Top scorers in the league for Tony Burman's side are Harry Crawford with 11 and Elliott Bradbrook on 7.
There is no segregation in place for this fixture but Dartford fans are requested to enter the stadium via the away turnstiles at the Alma Street end of the Impact Arena.
However, Early Bird Match Tickets are available priced at £16 and £11 respectively and these can be obtained by calling the ticket office on 01159 392090 extension 107 up to 2.30pm on Friday.


text:
/*
 * Modified by the GTK+ Team and others 1997-1999.  See the AUTHORS
 * file for a list of people on the GTK+ Team.  See the ChangeLog
 * files for a list of changes.  These files are distributed with
 * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
 */

#ifndef __GTK_BINDINGS_H__
#define __GTK_BINDINGS_H__

#include <gdk/gdk.h>
#include <gtk/gtkobject.h>
#include <gtk/gtkenums.h>

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

/* Pattern matching
 */
typedef struct	_GtkPatternSpec	GtkPatternSpec;

struct _GtkPatternSpec
{
  GtkMatchType	 match_type;
  guint		 pattern_length;
  gchar		*pattern;
  gchar		*pattern_reversed;
  gpointer	 user_data;
  guint		 seq_id;
};

void	 gtk_pattern_spec_init	    (GtkPatternSpec	 *pspec,
				     const gchar	 *pattern);
void	 gtk_pattern_spec_free_segs (GtkPatternSpec	 *pspec);
gboolean gtk_pattern_match	    (GtkPatternSpec	 *pspec,
				     guint		  string_length,
				     const gchar	 *string,
				     const gchar	 *string_reversed);
gboolean gtk_pattern_match_string   (GtkPatternSpec	 *pspec,
				     const gchar	 *string);
gboolean gtk_pattern_match_simple   (const gchar	 *pattern,
				     const gchar	 *string);

/* Binding sets
 */

typedef struct _GtkBindingSet		GtkBindingSet;
typedef struct _GtkBindingEntry		GtkBindingEntry;
typedef struct _GtkBindingSignal	GtkBindingSignal;
typedef struct _GtkBindingArg		GtkBindingArg;

struct _GtkBindingSet
{
  gchar			*set_name;
  gint			 priority;
  GSList		*widget_path_pspecs;
  GSList		*widget_class_pspecs;
  GSList		*class_branch_pspecs;
  GtkBindingEntry	*entries;
  GtkBindingEntry	*current;
};

struct _GtkBindingEntry
{
  /* key portion
   */
  guint			 keyval;
  guint			 modifiers;

  GtkBindingSet		*binding_set;
  guint			destroyed : 1;
  guint			in_emission : 1;
  GtkBindingEntry	*set_next;
  GtkBindingEntry	*hash_next;
  GtkBindingSignal	*signals;
};

struct _GtkBindingSignal
{
  GtkBindingSignal	*next;
  gchar			*signal_name;
  guint			 n_args;
  GtkBindingArg		*args;
};

struct _GtkBindingArg
{
  GtkType	arg_type;
  union {
    glong	 long_data;
    gdouble	 double_data;
    gchar	*string_data;
  } d;
};

/* Application-level methods */

GtkBindingSet*	gtk_binding_set_new	(const gchar	*set_name);
GtkBindingSet*	gtk_binding_set_by_class(gpointer	 object_class);
GtkBindingSet*	gtk_binding_set_find	(const gchar	*set_name);
gboolean gtk_bindings_activate		(GtkObject	*object,
					 guint		 keyval,
					 guint		 modifiers);
gboolean gtk_binding_set_activate	(GtkBindingSet	*binding_set,
					 guint		 keyval,
					 guint		 modifiers,
					 GtkObject	*object);
#define	 gtk_binding_entry_add		gtk_binding_entry_clear
void	 gtk_binding_entry_clear	(GtkBindingSet	*binding_set,
					 guint		 keyval,
					 guint		 modifiers);
void	 gtk_binding_entry_add_signal	(GtkBindingSet	*binding_set,
					 guint		 keyval,
					 guint		 modifiers,
					 const gchar	*signal_name,
					 guint		 n_args,
					 ...);
void	 gtk_binding_set_add_path	(GtkBindingSet	*binding_set,
					 GtkPathType	 path_type,
					 const gchar	*path_pattern,
					 GtkPathPriorityType priority);

/* Non-public methods */

void	 gtk_binding_entry_remove	(GtkBindingSet	*binding_set,
					 guint		 keyval,
					 guint		 modifiers);
void	 gtk_binding_entry_add_signall	(GtkBindingSet	*binding_set,
					 guint		 keyval,
					 guint		 modifiers,
					 const gchar	*signal_name,
					 GSList		*binding_args);
guint	 gtk_binding_parse_binding	(GScanner	*scanner);

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif /* __GTK_BINDINGS_H__ */


text:
//---------------------------------------------------------------------------
// Copyright (c) 2016 Michael G. Brehm
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//---------------------------------------------------------------------------

#include "stdafx.h"
#include "File.h"

#include "AutoGCHandle.h"
#include "Cursor.h"
#include "EnumerateIncludeDirectivesFunc.h"
#include "EnumerateIncludeDirectivesResult.h"
#include "Extent.h"
#include "ExtentCollection.h"
#include "FileUniqueIdentifier.h"
#include "GCHandleRef.h"
#include "Location.h"
#include "LocationKind.h"
#include "Module.h"
#include "StringUtil.h"

#pragma warning(push, 4)				// Enable maximum compiler warnings

namespace zuki::tools::llvm::clang {

//---------------------------------------------------------------------------
// EnumerateIncludeDirectivesCallback (local)
//
// Callback for clang_findIncludesInFile() that invokes a delegate function against
// each included cursor/extent pair that is returned
//
// Arguments:
//
//	conext			- Context object passed into the enumeration function
//	cursor			- Cursor instance for the enumerated directive
//	extent			- Extent instance for the enumerated directive

static CXVisitorResult EnumerateIncludeDirectivesCallback(void* context, CXCursor cursor, CXSourceRange extent)
{
	GCHandleRef<EnumerateIncludeDirectivesFunc^> func(context);

	// Invoke the delegate and capture any exception that occurs
	try { return func->Invoke(cursor, extent); }
	catch(Exception^ exception) { func->Exception = exception; return CXVisitorResult::CXVisit_Break; }
}

//---------------------------------------------------------------------------
// File Static Constructor (private)

static File::File()
{
	Null = File::Create(TranslationUnitHandle::Null, TranslationUnitHandle::Null, __nullptr);
}

//---------------------------------------------------------------------------
// File Constructor (protected)
//
// Arguments:
//
//	handle		- Underlying FileHandle instance

File::File(FileHandle^ handle) : m_handle(handle)
{
	if(Object::ReferenceEquals(handle, nullptr)) throw gcnew ArgumentNullException("handle");
}

//---------------------------------------------------------------------------
// File::operator == (static)

bool File::operator==(File^ lhs, File^ rhs)
{
	if(Object::ReferenceEquals(lhs, rhs)) return true;
	if(Object::ReferenceEquals(lhs, nullptr) || Object::ReferenceEquals(rhs, nullptr)) return false;

	// clang_File_isEqual returns non-zero if the files are the same
	return (clang_File_isEqual(FileHandle::Reference(lhs->m_handle), FileHandle::Reference(rhs->m_handle)) != 0);
}

//---------------------------------------------------------------------------
// File::operator != (static)

bool File::operator!=(File^ lhs, File^ rhs)
{
	if(Object::ReferenceEquals(lhs, rhs)) return false;
	if(Object::ReferenceEquals(lhs, nullptr) || Object::ReferenceEquals(rhs, nullptr)) return true;

	// clang_File_isEqual returns zero if the files are different
	return (clang_File_isEqual(FileHandle::Reference(lhs->m_handle), FileHandle::Reference(rhs->m_handle)) == 0);
}

//---------------------------------------------------------------------------
// File::Create (internal, static)
//
// Creates a new File instance
//
// Arguments:
//
//	owner		- Owning safe handle instance
//	file		- Unmanaged CXFile instance

File^ File::Create(SafeHandle^ owner, TranslationUnitHandle^ transunit, CXFile file)
{
	return gcnew File(gcnew FileHandle(owner, transunit, file));
}

//---------------------------------------------------------------------------
// File::EnumerateIncludeDirectives
//
// Enumerates the #import/#include directives in this file
//
// Arguments:
//
//	func	- Delegate function to invoke for every enumerated cursor/extent

void File::EnumerateIncludeDirectives(Func<Cursor^, Extent^, EnumerateIncludeDirectivesResult>^ func)
{
	// If the file or delegate function are null, there is nothing to do
	if((IsNull(this)) || (Object::ReferenceEquals(func, nullptr))) return;

	FileHandle::Reference	file(m_handle);				// Unwrap the safe handle

	// Use a wrapper object for the delegate and visit the included files
	EnumerateIncludeDirectivesFunc^ enumfunc = EnumerateIncludeDirectivesFunc::Create(m_handle->Owner, m_handle->TranslationUnit, file, func);
	AutoGCHandle handle(enumfunc);

	clang_findIncludesInFile(file.TranslationUnit, file, { handle, EnumerateIncludeDirectivesCallback });

	// Check if an exception occurred during enumeration and re-throw it
	Exception^ exception = enumfunc->Exception;
	if(!Object::ReferenceEquals(exception, nullptr)) throw exception;
}

//---------------------------------------------------------------------------
// File::Equals
//
// Compares this File instance to another File instance
//
// Arguments:
//
//	rhs		- Right-hand File instance to compare against

bool File::Equals(File^ rhs)
{
	return (this == rhs);
}

//---------------------------------------------------------------------------
// File::Equals
//
// Overrides Object::Equals()
//
// Arguments:
//
//	rhs		- Right-hand object instance to compare against

bool File::Equals(Object^ rhs)
{
	if(Object::ReferenceEquals(rhs, nullptr)) return false;

	// Convert the provided object into a File instance
	File^ rhsref = dynamic_cast<File^>(rhs);
	if(rhsref == nullptr) return false;

	return (this == rhsref);
}

//---------------------------------------------------------------------------
// File::GetExtent
//
// Obtain an Extent from this file
//
// Arguments:
//
//	file			- File instance within this translation unit
//	startoffset		- Starting character offset within the file
//	endoffset		- Ending character offset within the file

Extent^ File::GetExtent(int startoffset, int endoffset)
{
	// Create a new extent from the specified starting and ending offsets
	FileHandle::Reference file(m_handle);
	return Extent::Create(m_handle->Owner, m_handle->TranslationUnit, clang_getRange(clang_getLocationForOffset(file.TranslationUnit, file, startoffset),
		clang_getLocationForOffset(file.TranslationUnit, file, endoffset)));
}

//---------------------------------------------------------------------------
// File::GetExtent
//
// Obtain an Extent from this translation unit
//
// Arguments:
//
//	startline		- Starting line position within the file
//	startcolumn		- Starting column position within the file
//	endline			- Ending line position within the file
//	endcolumn		- Ending column position within the file

Extent^ File::GetExtent(int startline, int startcolumn, int endline, int endcolumn)
{
	// Create a new extent from the specified starting and ending positions
	FileHandle::Reference file(m_handle);
	return Extent::Create(m_handle->Owner, m_handle->TranslationUnit, clang_getRange(clang_getLocation(file.TranslationUnit, file, startline, startcolumn),
		clang_getLocation(file.TranslationUnit, file, endline, endcolumn)));
}

//---------------------------------------------------------------------------
// File::GetHashCode
//
// Overrides Object::GetHashCode()
//
// Arguments:
//
//	NONE

int File::GetHashCode(void)
{
	// Use the unique identifier to create a hash code for the file
	return this->UniqueIdentifier.GetHashCode();
}

//---------------------------------------------------------------------------
// File::GetLocation
//
// Obtain a Location from this file
//
// Arguments:
//
//	offset			- Offset within the file

Location^ File::GetLocation(int offset)
{
	// Create a new (spelling) location from the specified offset
	FileHandle::Reference file(m_handle);
	return Location::Create(m_handle->Owner, m_handle->TranslationUnit, clang_getLocationForOffset(file.TranslationUnit, file, offset), LocationKind::Spelling);
}

//---------------------------------------------------------------------------
// File::GetLocation
//
// Obtain a Location from this translation unit
//
// Arguments:
//
//	line			- Line position within the file
//	column			- Column position within the file

Location^ File::GetLocation(int line, int column)
{
	// Create a new (spelling) location from the specified position
	FileHandle::Reference file(m_handle);
	return Location::Create(m_handle->Owner, m_handle->TranslationUnit, clang_getLocation(file.TranslationUnit, file, line, column), LocationKind::Spelling);
}

//---------------------------------------------------------------------------
// File::IsMultipleIncludeGuarded::get
//
// Indicates if the given file is guarded against multiple inclusions

bool File::IsMultipleIncludeGuarded::get(void)
{
	FileHandle::Reference file(m_handle);
	return (clang_isFileMultipleIncludeGuarded(file.TranslationUnit, file) != 0);
}

//---------------------------------------------------------------------------
// File::IsNull (static)
//
// Determines if the file is null
//
// Arguments:
//
//	rhs		- File instance to be checked for null

bool File::IsNull(File^ rhs)
{
	if(Object::ReferenceEquals(rhs, nullptr)) throw gcnew ArgumentNullException("rhs");
	return static_cast<CXFile>(FileHandle::Reference(rhs->m_handle)) == __nullptr;
}

//---------------------------------------------------------------------------
// File::Module::get
//
// Gets the module associated with this file

local::Module^ File::Module::get(void)
{
	if(Object::ReferenceEquals(m_module, nullptr)) {

		FileHandle::Reference file(m_handle);
		m_module = local::Module::Create(m_handle->Owner, m_handle->TranslationUnit, clang_getModuleForFile(file.TranslationUnit, file));
	}

	return m_module;
}

//---------------------------------------------------------------------------
// File::Name::get
//
// Gets the name of the file

String^ File::Name::get(void)
{
	if(Object::ReferenceEquals(m_name, nullptr))
		m_name = StringUtil::ToString(clang_getFileName(FileHandle::Reference(m_handle)));

	return m_name;
}

//---------------------------------------------------------------------------
// File::SkippedExtents::get
//
// Gets a collection of all extents skipped by the preprocessor

ExtentCollection^ File::SkippedExtents::get(void)
{
	if(Object::ReferenceEquals(m_skipped, nullptr)) {

		FileHandle::Reference file(m_handle);
		m_skipped = ExtentCollection::Create(m_handle->Owner, m_handle->TranslationUnit, clang_getSkippedRanges(file.TranslationUnit, file));
	}

	return m_skipped;
}

//---------------------------------------------------------------------------
// File::TimeStamp::get
//
// Gets the last modification date/time stamp of the file

DateTime File::TimeStamp::get(void)
{
	return DateTime::FromFileTime(Int32x32To64(clang_getFileTime(FileHandle::Reference(m_handle)), 10000000) + 116444736000000000);
}

//---------------------------------------------------------------------------
// File::ToString
//
// Overrides Object::ToString()
//
// Arguments:
//
//	NONE

String^ File::ToString(void)
{
	return (IsNull(this)) ? "<null>" : this->Name;
}

//---------------------------------------------------------------------------
// File::UniqueIdentifier::get
//
// Gets the unique identifier for this file

FileUniqueIdentifier File::UniqueIdentifier::get(void)
{
	CXFileUniqueID uniqueid{ /* data[3] */ { 0, 0, 0 } };

	clang_getFileUniqueID(FileHandle::Reference(m_handle), &uniqueid);
	return FileUniqueIdentifier(uniqueid);
}

//---------------------------------------------------------------------------

} // zuki::tools::llvm::clang

#pragma warning(pop)


text:
Het ATP-toernooi van Chennai 2012 (met de officiële naam Chennai Open 2012) werd gespeeld van 2 tot en met 8 januari 2012. Er werd gespeeld op de outdoor hardcourtbanen van het SDAT Tennis Stadium in de Indiase stad Chennai. Dit was een van de drie toernooien die het begin van het ATP-seizoen 2012 inluidden. De Canadees Milos Raonic won het enkelspel tegen de Serviër Janko Tipsarević na ruim 3 uur en 3 tiebreaks: 6-7(4), 7-6(4), 7-6(4). Tipsarević won wel het dubbelspel samen met de Indiër Leander Paes, ten koste van het Israëlische duo Jonathan Erlich en Andy Ram, met 6-4, 6-4.

Enkelspel

Geplaatste spelers

Prijzengeld en ATP-punten

Toernooischema

Finale

Bovenste helft

Onderste helft

Dubbelspel

Geplaatste spelers

Prijzengeld en ATP-punten

Toernooischema

Externe links

ATP-toernooi van Pune
Chennai

redpajama_set_name: RedPajamaWikipedia


Anticipation is building for the first ever Global Conference on Agricultural Research for Development (GCARD) 'Reshaping agricultural research for development,' which will take place in Montpellier, France from 28-31 March 2010.
IFAP President Ajay Vashee will be one of the global agricultural leaders giving speeches, along with Sir Gordon Conway, FAO Director General Jacques Diouf, IFAD President Kanayo F. Nwanze and M S Swaminathan, among others.
"GCARD 2010 marks the dawn of a new era in agricultural research, in which the research will be focused on the needs and interests of farmers," said Ajay Vashee, IFAP President. "This convergence of farmers, researchers and the world's agricultural institutions aims to translate commitments into actions, promises into results and to improve farmers' livelihoods throughout the world."
Appropriate agricultural research is critical in helping farmers find solutions to strengthen their position in the marketplace, achieve world food security, develop strong rural economies and adapt to and mitigate climate change.
GCARD 2010 will focus attention on targeted investments in agricultural research that will improve the position of the farmer in the decision making process. It will facilitate the broad dissemination of practical information, knowledge and skills to implement the results of agricultural research, while ensuring the inclusion farmer representatives in decision making and governance related to agricultural research at national, regional and global levels.


Watching the television show MasterChef Junior has ignited a spark of curiosity in Will for what can be created in a kitchen. For weeks now, he's been telling me that he'd love to take over my kitchen for the afternoon and whip up something really amazing.
If you think this sounds like every mom's dream, I should clarify here that his curiosity only extends so far as to include wild concoctions of ingredients that probably wouldn't even be edible in their final form. He actually has no interest whatsoever in creating a real meal in the kitchen. That would be too much work.
It was with a little bit of trepidation, then, that I agreed to stand back and let Will make something of his own choosing this afternoon when he asked me if he could. His eyes lit up, and I could practically see smoke coming out of his ears as the wheels turned inside that creative brain of his. Because I could clearly envision my kitchen looking more like a science lab out of a horror film by the time Will was finished with it (remember the wood pulp experiment?!), I gently suggested that perhaps he try to find a recipe for something that he could use as a starting point, to give him an idea of how much of each ingredient he should use and how he should combine things for best results. He liked that idea, and sat down with determination in front of his laptop to find just the right thing.
It was sweet to watch Will work through the steps of creating a warm mug of spiced tea for each member of his family this afternoon, complete with frothed coconut milk and a sprinkling of cinnamon on top. He did a wonderful job.
I'm starting to think there's hope that one day Will might surprise me with a delicious, MasterChef Junior worthy meal created by his own hands. His lovely chai tea latte was an excellent beginning.


text:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>kotlin on arunvelsriram</title>
    <link>/tags/kotlin/</link>
    <description>Recent content in kotlin on arunvelsriram</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Sun, 23 Jun 2019 14:04:10 +0530</lastBuildDate>

	<atom:link href="/tags/kotlin/index.xml" rel="self" type="application/rss+xml" />

    <item>
      <title>JaCoCo Configuration using Gradle's Kotlin DSL</title>
      <link>/posts/jacoco-configuration-using-gradles-kotlin-dsl/</link>
      <pubDate>Sun, 23 Jun 2019 14:04:10 +0530</pubDate>

      <guid>/posts/jacoco-configuration-using-gradles-kotlin-dsl/</guid>
      <description>Recently I used Kotlin DSL for writing Gradle scripts in a spring boot project. As Gradle's Kotlin DSL is quite new, the documentation and community support was less compared to the default Groovy DSL. So I found it hard to configure JaCoCo for test coverage. In this blog I will share how I added test coverage in my project:
Before getting into the implementation let me put down the requirements:</description>
    </item>

  </channel>
</rss>


text:
RU2628867C1 - Intelligent system for remote control of working body position inside closed space - Google Patents
Intelligent system for remote control of working body position inside closed space Download PDF
RU2628867C1
RU2628867C1 RU2016134678A RU2016134678A RU2628867C1 RU 2628867 C1 RU2628867 C1 RU 2628867C1 RU 2016134678 A RU2016134678 A RU 2016134678A RU 2016134678 A RU2016134678 A RU 2016134678A RU 2628867 C1 RU2628867 C1 RU 2628867C1
RU2016134678A
Вадим Александрович Первунинских
Валерий Георгиевич Шапаев
Владимир Эристович Иванов
Александр Алексеевич Ефаров
Федеральное государственное унитарное предприятие федеральный научно-производственный центр "Производственное объединение "Старт" им. М.В. Проценко" ("ФГУП ФНПЦ ПО "Старт" им. М.В. Проценко")
2016-08-24 Application filed by Федеральное государственное унитарное предприятие федеральный научно-производственный центр "Производственное объединение "Старт" им. М.В. Проценко" ("ФГУП ФНПЦ ПО "Старт" им. М.В. Проценко") filed Critical Федеральное государственное унитарное предприятие федеральный научно-производственный центр "Производственное объединение "Старт" им. М.В. Проценко" ("ФГУП ФНПЦ ПО "Старт" им. М.В. Проценко")
2016-08-24 Priority to RU2016134678A priority Critical patent/RU2628867C1/en
2017-08-22 Publication of RU2628867C1 publication Critical patent/RU2628867C1/en
230000003287 optical Effects 0 abstract 6
230000000694 effects Effects 0 abstract 1
238000004880 explosion Methods 0 abstract 1
239000002529 flux Substances 0 abstract 1
239000003365 glass fiber Substances 0 abstract 1
238000000034 methods Methods 0 abstract 1
230000004224 protection Effects 0 abstract 1
239000000126 substances Substances 0 abstract 1
230000001702 transmitter Effects 0 abstract 1
G01F—MEASURING VOLUME, VOLUME FLOW, MASS FLOW OR LIQUID LEVEL; METERING BY VOLUME
G01F23/00—Indicating or measuring liquid level, or level of fluent solid material, e.g. indicating in terms of volume, indicating by means of an alarm
G01N15/00—Investigating characteristics of particles; Investigating permeability, pore-volume, or surface-area of porous materials
G01N15/06—Investigating concentration of particle suspensions
FIELD: measuring equipment.
SUBSTANCE: system comprises a closed-space housing arranged in an aggressive medium, with an optical unit mounted thereon, and an electronic unit for controlling and processing information, associated with the optical unit by means of an optical fiber passing through the division of the aggressive and the safe mediums and made with the possibility to provide explosion protection. Inside the closed-space housing, a working body with a retro-reflector fixed thereon is arranged. The structure of the electronic unit for information management and processing includes: a processor, an optical transmitter, an optical receiver, an analog-to-digital converter and an optical circulator. Between the collimator of the optical unit and the retro-reflector, a collimated luminous flux is formed, consisting of rays incident and reflected from the retro-reflector, which provides the process of measuring and controlling the working body position inside the closed space.
EFFECT: providing non-contact remote measurement and control of the working body position inside the closed space.
2 dwg
The invention relates to instrumentation and can be used for non-contact remote measurement and control of the position of the working body in a confined space (for example, inside the reactor).
Well-known optical devices for non-contact control of the presence and measurement of the level of solids and liquids in confined spaces.
Such systems include, for example, the fiber optic sensor system for liquids "Fiber optic liquid sensing system" described in US patent No. 5684296, IPC G01H 15/06, publ. 1997 and containing an optical sensor, a control module and a fiber optic cable connecting the optical sensor with a control module. The optical sensor contains a light reflector. The housing of the optical sensor has openings for the passage of fluid into the sensor. The fiber optic cable comprises a transmitting optical fiber and a receiving optical fiber. The control module includes: a light emitter, a photosensor, a comparator, dry and wet indicators, and an on / off controller. The operation of the system is based on the radiation from the light control module and the reception of light reflected from the light reflector. If there is liquid inside the optical sensor, the light signal is weakened and the presence of liquid is detected by a wet indicator. The absence of liquid does not cause a weakening of the light signal and this condition is recorded by a dry indicator.
Similar essential features of the claimed and the aforementioned system are: a control module comprising a light emitter and a photosensor, a fiber optic cable, an optical sensor and a light reflector.
The disadvantage of the system is the inability to control the position of the working body inside a confined space. The system is not designed to measure the distance when a light beam passes from the emitter to the light reflector.
Known "Indicator of the surface level of the liquid in the vessel based on a comparison of the incident and reflected rays" (Liquid level gauge comparing moldulations of incident and reflected loser beams), described in US patent No. 5194747, IPC G01N 15/06, publ. in 1993. This device consists of an optical unit, a control unit and transmission means, which use coaxial and fiber optic cables. The optical unit contains collimating optics of the transmitter, focusing optics of the receiver and a photodiode. The control unit comprises a modulator, a phase detector, a processing circuit, a level display, and a laser emitting diode. The operation of the device is based on the emission of a modulated light signal by a laser diode and the reception of a light signal from a reflective liquid boundary in a vessel. The light signal is transmitted using a fiber optic cable to the optical element, where it is routed through the collimating optics of the transmitter to the liquid boundary. The reflected light signal through the focusing optics is fed to a photodiode, the output of which is connected via a coaxial cable to a control unit, which includes a phase detector designed to compare the phases of the modulation signals and determine the liquid level in the vessel.
Similar significant features of this and the claimed device are: optical unit, control unit, fiber optic cable, collimating optics of the transmitter.
The disadvantage of this device is the presence of a coaxial communication cable between the optical unit and the control unit, which does not provide explosion safety. Coaxial communication cable in comparison with fiber optic cable has less noise immunity from electromagnetic interference, which reduces the noise immunity of the device when the control unit is located from the optical unit at a considerable distance from each other. In addition, the use of two transmission media (coaxial and fiber-optic cables) for remote monitoring is not economically feasible because of the fundamental possibility of using only one fiber-optic cable.
Closest to the technical nature of the claimed invention is the "Method and apparatus for optical sensing of the agitated fluid surface" (Method and apparatus for optical level sensing of agitated fluid surfaces) described in US patent No. 7635854, IPC G01N 15/06, G01F 23 / 00 publ. 2009. The device described in the patent contains a tank with an optical unit mounted on it, light transmission means (two optical fibers), an electronic unit that is a certain distance from the optical unit, a user interface and an on-screen monitor. The optical unit contains a radiation channel with a lens for collimating light, a receiving channel with a focusing lens and an optical filter, and a protective optical window. The electronic unit contains a control and information processing module, an optical emitter module, an optical reception module, an analog-to-digital converter (ADC), and a communication interface output.
Common essential features with the claimed solution are: a reservoir (enclosed space enclosure), an optical unit, an optical fiber, an electronic unit (for controlling and processing information), a lens for light collimation (a collimator), an optical window, an information management and processing module (processor) , an optical emitter module (optical transmitter), an optical reception module (optical receiver), (ADC) and a communication interface output (interface line).
The disadvantage of this device is the inability to control the position of the solid-state working body. Another disadvantage of the device is the use of two fiber-optic cables for remote control of the liquid level, which is not economically feasible due to the fundamental possibility of using only one fiber-optic cable.
The aim of the present invention is the provision of remote control of the position of the working body, made in the form of a solid-state structure and located inside a confined space, with the possibility of using one optical fiber.
To achieve this goal, a new technical solution introduced new significant features, functional elements and relationships.
This goal was achieved in the proposed intelligent system for remote control of the position of the working body inside a confined space, which contains a closed space enclosure located in an aggressive environment, with an optical unit installed on it containing a collimator and an optical window, an electronic unit for managing and processing information, territorially remote from the enclosed space enclosure, which includes a processor, an optical transmitter, an optical receiver, and an analog-to-digital conversion a device (ADC), with the first output of the processor connected to the optical transmitter, the second output of the processor being the output of an electronic unit for controlling and processing information made in the form of an interface line for communication with external devices, the output of the optical receiver is connected to the input of the ADC, the output of which is connected to the input of the processor, inside the enclosed space housing there is a working body with a retroreflector fixed on it, between the first input / output of the collimator of the optical unit and the retroreflector the collimated light flux passing through the optical window of the optical unit and consisting of light rays incident and reflected from the retro-reflector, the second input / output of the collimator is the input / output of the optical unit, an optical circulator is introduced into the electronic unit for information management and processing, the input of which connected to the output of the optical transmitter, and the output connected to the input of the optical receiver, the input / output of the optical circulator is the input / output of an electronic unit for controlling and processing information ation, the input / output optical block connected to the input / output of the electronic unit for control and information processing by optical fibers extending through section corrosive and safe environments and configured to provide explosion protection.
The invention is illustrated in FIG. 1-2, which depict the following.
In FIG. 1 is a structural diagram of the proposed system, where the notation is introduced: enclosed space enclosure - 1, optical unit - 2, working body - 3, retro-reflector - 4, electronic unit for controlling and processing information - 5, optical fiber - 6, interface line - 7 , the collimated luminous flux is 8. In FIG. 1 shows the minimum L and maximum D levels of the position of the working body 3 inside the enclosed space 1.
In FIG. 2 shows a functional diagram of the proposed system, where in addition to FIG. 1 designations are introduced: an optical window - 9, a collimator - 10, a processor - 11, an optical transmitter - 12, an optical receiver - 13, an optical circulator - 14, an ADC - 15. In FIG. 2 shows (for example) one of the levels (L) of the position of the working body 3.
The proposed system (Fig. 1-2) works as follows.
The system consists of three parts - a closed space enclosure 1 with an optical unit 2 installed on it, an electronic unit for controlling and processing information 5 with an interface line 7, and a communication medium using optical fiber 6. There can be various types of enclosed space enclosures structures, for example, a tank, a tank, a storage tank for fuels and lubricants, a reactor, an electric melting furnace, and the like. A working body 3 is located inside the enclosed space 1 body, which can change its position in space from a minimum L to a maximum D. As a working body 3, there can be a solid object: electrode, graphite rod, shutter, lattice, bracket, etc. The enclosure of the enclosed space 1 is in an aggressive environment characterized by dangerous conditions for humans. It can be extreme temperatures (negative and positive), poisonous airborne droplets, high or low pressure, the presence of hazardous chemical or biological substances, radioactive radiation, strong electromagnetic field, explosive atmosphere, etc. The aggressive environment and the environment that is safe for humans are separated from each other by the medium section, the boundary of which is shown in FIG. 1. An electronic unit for managing and processing information 5 with an interface line 7 are in a safe environment for humans. The connection of the electronic unit for controlling and processing information 5 with the enclosed space 1 is carried out by means of an optical fiber 6, resistant to the properties of an aggressive environment. Optical fiber 6 can be presented in the form of a fiber optic cable with a sheath protected from the aggressive environment (not shown in Fig. 1-2). The position of the working body 3 inside the enclosed space is controlled using a collimated light flux 8, which is created between the collimator 10 of the optical unit 2 and the retroreflector 4 mounted on the working body 3. As a retroreflector 4, for example, a set of optical corner reflectors can be used. The collimated light flux 8 emitted by the collimator 10 passes through the optical window 9 of the optical unit 2, falls on the retroreflector 4 and is reflected from it in the opposite direction. The collimator 10 is connected to the optical fiber 6, through which a modulated light stream is sent from the electronic unit 5. The reflected light stream containing information about the position of the working body 3 is transmitted back to the optical unit 6 through the optical fiber 6 and the electronic unit for controlling and information processing 5 (see Fig. 2) contains a processor 11, an optical transmitter 12, an optical receiver 13, an optical circulator 14 and an ADC 15. An optical transmitter 12 under the control of the processor 11 provides the formation and the study of modulated light flux, which, passing through the optical circulator 14, is sent to the optical fiber 6. The reflected light flux from the optical fiber 6 through the optical circulator 14 enters the optical receiver 13, and then through the ADC 15 to the processor 11. The optical circulator 14 is intended for separation of the light fluxes on one side (inside the electronic unit 5) and combining the light fluxes in the optical fiber 6. The ADC 15 converts the analog signal from the output of the optical receiver 13 into a digital signal, th input to the processor 11. In order to monitor the position of working body inside the closed space in the proposed system uses a phase measuring method based on measuring the phase delay of the emitted and reflected signals. The processor 11 is configured to provide the following functions:
- modulation of the emitted signal;
- measurement of the phase delay of the emitted and reflected signals;
- calculation of the level of the position of the working body (from L to D);
- metrological calibration;
- diagnostic control (self-monitoring) of the system;
- communication with external devices through an interface line;
- receiving information from a weather station or from sensors of physical quantities (if necessary);
- obtaining control information and transmitting measurement data;
- adjustment of information processing algorithms in connection with changes in environmental conditions;
- adjustment of information processing algorithms depending on the position of the working body (elimination of non-linearity in measurements);
- adjustment of information processing algorithms associated with the life of the system (aging and deterioration of mechanisms);
- alarm about critical positions of the working body.
The intelligence of the system is ensured by the independence of decision-making in the performance of the above functions, since the access of managing personnel inside a confined space is impossible or significantly limited. To ensure the intelligence of the system, the processor 11 is configured to implement functioning algorithms in the form of neural network algorithms.
The use of optical fiber passing through the interface between two media (aggressive and safe) allows for the electrical explosion safety of the system, since the optical fiber is a high-quality and reliable electrical insulator. In addition, the low level of attenuation of the light signal in the optical fiber allows it to be used for remote monitoring of an object located at a distance of up to several kilometers.
Introduced into the known device additional features and functional relationships allow you to give the proposed system new significant properties.
Intelligent system for remote control of the position of the working body inside a confined space, containing a enclosed space enclosure located in an aggressive environment, with an optical unit installed on it containing a collimator and an optical window, an electronic unit for controlling and processing information, geographically remote from the enclosed space enclosure, which includes a processor, an optical transmitter, an optical receiver and an analog-to-digital converter (ADC), the first output of the processor connected to an optical transmitter, the second processor output is the output of an electronic unit for controlling and processing information, made in the form of an interface line for communication with external devices, the output of the optical receiver is connected to the ADC input, the output of which is connected to the processor input, characterized in that inside the case confined space there is a working body with a retroreflector mounted on it, between the first input / output of the collimator of the optical unit and the retroreflector is formed collimated the luminous flux passing through the optical window of the optical unit and consisting of light rays incident and reflected from the retroreflector, the second input / output of the collimator is the input / output of the optical unit, an optical circulator is introduced into the electronic unit for controlling and processing information, the input of which is connected to the output optical transmitter, and the output is connected to the input of the optical receiver, the input / output of the optical circulator is the input / output of the electronic unit for controlling and processing information, input / output opt The main unit is connected to the input / output of the electronic unit for controlling and processing information through an optical fiber passing through the partition of aggressive and safe environments and made with the possibility of ensuring explosion safety.
RU2016134678A 2016-08-24 2016-08-24 Intelligent system for remote control of working body position inside closed space RU2628867C1 (en)
RU2016134678A RU2628867C1 (en) 2016-08-24 2016-08-24 Intelligent system for remote control of working body position inside closed space
RU2628867C1 true RU2628867C1 (en) 2017-08-22
RU (1) RU2628867C1 (en)
SU246107A1 (en) * Liquid level sensor
US5194747A (en) * 1991-10-21 1993-03-16 Midland Manufacturing Corp. Liquid level gauge comparing moldulations of incident and reflected loser beams
US5438420A (en) * 1993-08-09 1995-08-01 Vickers, Incorporated Monitoring of fluid contamination level wherein the light energy is focused on the fluid passage means
US7635854B1 (en) * 2008-07-09 2009-12-22 Institut National D'optique Method and apparatus for optical level sensing of agitated fluid surfaces
RU2580907C1 (en) * 2015-02-12 2016-04-10 Владимир Иванович Мельников Ultrasonic waveguide level meter for liquid
2016-08-24 RU RU2016134678A patent/RU2628867C1/en active
US4745293A (en) 1988-05-17 Method and apparatus for optically measuring fluid levels
US6484620B2 (en) 2002-11-26 Laser based reflective beam cylinder sensor
Khaliq et al. 2001 Fiber-optic liquid-level sensor using a long-period grating
US4634856A (en) 1987-01-06 Fiber optic moisture sensor with moisture-absorbing reflective target
US5674751A (en) 1997-10-07 Diode laser interrogated fiber optic hydrazine-fuel sensor system and method
US4497577A (en) 1985-02-05 Steam wetness measuring apparatus
EP0153924B1 (en) 1987-06-24 Measuring apparatus and method
US4369364A (en) 1983-01-18 Monitoring device with an optical sensor for the detection of interference arcs in electrical systems
US5684296A (en) 1997-11-04 Fiber optic liquid sensing system
US5194747A (en) 1993-03-16 Liquid level gauge comparing moldulations of incident and reflected loser beams
US5339155A (en) 1994-08-16 Optical wavelength modulated long-path gas monitoring apparatus
US5452076A (en) 1995-09-19 Fluid detection system
EP0262670B1 (en) 1991-04-10 Fiber optic fluid sensors
AU760744B2 (en) 2003-05-22 Remote sensor head for laser level measurement devices
US5350922A (en) 1994-09-27 Underwater light scattering sensor
US4440022A (en) 1984-04-03 Liquid-level detection
FR2513307A1 (en) 1983-03-25 Optical communication system for diagram of a borehole
CN1330769A (en) 2002-01-09 Apparatus and method for monitoring structure using counter-propagating signal method for locating events
US7644889B2 (en) 2010-01-12 Fluid sensing system and methods, including vehicle fuel sensors
Iwamoto et al. 1992 Liquid-level sensor with optical fibers
US4642471A (en) 1987-02-10 Scattered radiation smoke detector
EP1239432A3 (en) 2003-11-19 Method to communicate and signal overheating and fire in a plane
US4855718A (en) 1989-08-08 Fire detection system employing at least one optical waveguide
Suh et al. 2008 Auto-correction method for differential attenuation in a fiber-optic distributed-temperature sensor
Yao et al. 1983 Fiber optical intensity sensors
2018-10-09 PC43 Official registration of the transfer of the exclusive right without contract for inventions