"TIBERIAS", SEA OF called also the Sea of Galilee (q.v.) and of Gennesaret. In the Old Testament it is called the Sea of Chinnereth or Chinneroth. John (21:1) is the only evangelist who so designates this lake. His doing so incidentally confirms the opinion that he wrote after the other evangelists, and at a period subsequent to the taking of Jerusalem (A.D. 70). Tiberias had by this time become an important city, having been spared by the Romans, and made the capital of the province when Jerusalem was destroyed. It thus naturally gave its name to the lake.
"TIBERIAS", SEA OF called also the Sea of Galilee (q.v.) and of Gennesaret. In the Old Testament it is called the Sea of Chinnereth or Chinneroth. John (21:1) is the only evangelist who so designates this lake.
His doing so incidentally confirms the opinion that he wrote after the other evangelists, and at a period subsequent to the taking of Jerusalem (A.D.
70). Tiberias had by this time become an important city, having been spared by the Romans, and made the capital of the province when Jerusalem was destroyed. It thus naturally gave its name to the lake.


Core
API Keys
You will need keys to work with the APIs.
- Application ID: Identifies your Application for analytics and quota limits.
- Campus Keys: A Token Key Moniker (TKM), Shared Secret, and Client String identifies the LearningStudio campus where your data comes from.
You can get an Application ID for your app and campus keys for our Sandbox Campus by creating an app on the PDN. Learn more here.
Introduction
LearningStudio Course APIs are REST-based services, and all calls must be authenticated with either an OAuth 1 signature or with an OAuth 2 user token. While not difficult to create your own tools for making these requests, the Core library simplifies the effort by automatically handling authentication.
This library uses the Authentication library, so you need to provide the same configuration information as described there. However, Core will do the heavy lifting of generating and managing signatures and tokens for the requests.
Using Core
Setup
To begin, include the classes you'll be instantiating.
using Com.Pearson.Pdn.Learningstudio.OAuth;
using Com.Pearson.Pdn.Learningstudio.OAuth.Config;
using Com.Pearson.Pdn.Learningstudio.Core;
using Com.Pearson.Pdn.Learningstudio.Utility;
Authentication
You'll need to provide your authentication details (keys, client string, etc) so the Core library can handle authentication. The OAuthConfig
class is a generic carrier for the configuration information for all authentication methods. You'll add the information you need using the following methods.
OAuthConfig config = new OAuthConfig();
config.ApplicationId = {applicationID};
config.ApplicationName = {applicaitonName};
config.ConsumerKey = {tokenKeyMoniker};
config.ConsumerSecret = {sharedSecret};
config.ClientString = {clientString};
There are differences in what values are needed between the different OAuth methods. Generally, adding all five pieces of information is most flexible, but you can leave out the pieces you don't need. For example, if using OAuth 1 only (System to System calls), you don't need the Application Name or Client String.
The OAuthServiceFactory
object instantiates the appropriate service for the authentication method you want to use. When using core, you only need to create the Factory and pass it to the Core library.
OAuthServiceFactory oauthFactory = new OAuthServiceFactory(config);
Requests
Next, you'll instantiate the Core library's BasicService
, which handles all the work of making an API call. When creating the object, pass the OAuth Factory as the only parameter:
BasicService basicService = new BasicService(oauthFactory);
Before making an API call, set the service to the OAuth method you'll use. If using OAuth 2 for a user token, pass the user's username, and if using Password grant type, also send the password.
// OAuth 1
basicService.UseOAuth1();
//OAuth 2 Assertion Grant Type
basicService.UseOAuth2({userName});
//OAuth 2 Assertion Grant Type
basicService.UseOAuth2({userName}, {password});
Finally, use the DoMethod
method to make the request. This method has the following signature:
DoMethod(Com.Pearson.Pdn.LearningStudio.Utility.HttpMethod method, string relativeUrl, string body)
DoMethod(IDictionary<string,string> extraHeaders, Com.Pearson.Pdn.LearningStudio.Utility.HttpMethod method, string relativeUrl, string body)
| Parameter | Description |
|---|---|
method |
An enumeration of the standard HTTP Methods GET , POST , PUT , or DELETE ; implemented by the Com.Pearson.Pdn.Learningstudio.Utility class. Required for all requests. |
relativeUrl |
The URI of the API endpoint you're calling; this is only the "path" portion of the request. Required for all requests. Example: /me/courses |
body |
The body of the API request. Required for POST and PUT operations only. |
extraHeaders |
An associative collection of any additional headers you need to send with the request in key value pair format. The key should be the header name, and the value the header value. This is used primarily by the other LearningStudio libraries. Example: extraHeaders["Content-Type"] = "application/json"; |
Results
When you call DoMethod
, it will return a Response
object. This object has these methods:
| Property | Description |
|---|---|
string ContentType |
The type of response, either JSON or XML if it's text-based, or the MIME type of the content if binary content. |
string Content |
The text-based body of the response from the API. It is returned as a string of either JSON or XML , and is not parsed into a native object. |
sbyte[] BinaryContent |
The binary-based body of the response from the API. |
| About the API Request | |
System.Net.WebHeaderCollection Headers |
The headers used in the request. |
string Method |
The HTTP method that was used. |
System.Net.HttpStatusCode StatusCode |
The HTTP Status Code from the API request. Example:200 , 201 , 400 , etc. |
string StatusMessage |
The HTTP Status message from the API request. Example:Created or Not Found . |
string Url |
The URL that was called to make the request. |
bool Error |
Either true or false as to whether there was a problem with the API request. |
Example
using Com.Pearson.Pdn.Learningstudio.OAuth;
using Com.Pearson.Pdn.Learningstudio.OAuth.Config;
using Com.Pearson.Pdn.Learningstudio.Core;
using Com.Pearson.Pdn.Learningstudio.Utility;
using System;
namespace BasicServiceExample
{
class Program
{
static void Main(string[] args)
{
string applicationId = ""; // Identifies your Application
string applicaitonName = ""; // No spaces for best results (e.g., MyAppName)
string tokenKeyMoniker = "";
string sharedSecret = "";
string clientString = "";
string userName = "";
string url = ""; // e.g., /me
OAuthConfig config = new OAuthConfig();
config.ApplicationId = applicationId;
config.ApplicationName = applicaitonName; // Needed only for OAuth 2 Assertion
config.ConsumerKey = tokenKeyMoniker;
config.ConsumerSecret = sharedSecret; // Needed only for OAuth 1 & OAuth 2 Assertion
config.ClientString = clientString; // Needed only for OAuth 2
OAuthServiceFactory oauthFactory = new OAuthServiceFactory(config);
BasicService basicService = new BasicService(oauthFactory);
basicService.UseOAuth2(userName);
Response response = null;
try
{
response = basicService.DoMethod(HttpMethod.GET, url, string.Empty);
}
catch (Exception ex)
{
Console.WriteLine("Exception from DoMethod: {0}", ex.StackTrace);
Console.ReadLine();
return;
}
if (response.Error)
{
int httpStatusCode = (int)response.StatusCode; // 404
string httpStatusMessage = response.StatusMessage; // Not Found
Console.WriteLine("{0}: {1}", httpStatusCode, httpStatusMessage);
}
else
{
string contentType = response.ContentType; // application/json
string contentString = response.Content; // { ... }
Console.WriteLine("{0}: {1}", contentType, contentString);
}
Console.ReadLine();
}
}
}


Batched complex valued GEMM in which real and imaginary parts are separated by a stride.
#include <library.h>
| int64_t cutlass::library::GemmPlanarComplexBatchedConfiguration::batched_stride_A |
| int64_t cutlass::library::GemmPlanarComplexBatchedConfiguration::batched_stride_B |
| int64_t cutlass::library::GemmPlanarComplexBatchedConfiguration::batched_stride_C |
| int64_t cutlass::library::GemmPlanarComplexBatchedConfiguration::batched_stride_D |
| int64_t cutlass::library::GemmPlanarComplexBatchedConfiguration::imag_stride_A |
| int64_t cutlass::library::GemmPlanarComplexBatchedConfiguration::imag_stride_B |
| int64_t cutlass::library::GemmPlanarComplexBatchedConfiguration::imag_stride_C |
| int64_t cutlass::library::GemmPlanarComplexBatchedConfiguration::imag_stride_D |
| int64_t cutlass::library::GemmPlanarComplexBatchedConfiguration::lda |
| int64_t cutlass::library::GemmPlanarComplexBatchedConfiguration::ldb |
| int64_t cutlass::library::GemmPlanarComplexBatchedConfiguration::ldc |
| int64_t cutlass::library::GemmPlanarComplexBatchedConfiguration::ldd |
| gemm::GemmCoord cutlass::library::GemmPlanarComplexBatchedConfiguration::problem_size |
The documentation for this struct was generated from the following file:


The feedback really helps others find this extension!
Button Mode:
Scroll Up Speed:
Scroll Down Speed:
Appear Distance:
Button Size:
Button Design:
Button Location:
Opacity of button while idle:
Keyboard Shortcuts:
Context (Right-click) Menu:
A fan of Scroll To Top Button? Donate! You can donate whatever amount you would like, and I would appreciate anything I can get to help pay for college and stuffs :) More reasons to donate!


4 references to UndefineLocal
System.Management.Automation (4)
engine\interpreter\LightCompiler.cs (4)
579
_locals.
UndefineLocal
(local, _instructions.Count);
675
_locals.
UndefineLocal
(local, _instructions.Count);
702
_locals.
UndefineLocal
(local, _instructions.Count);
1512
_locals.
UndefineLocal
(local, _instructions.Count);


My List
Work on PPT
Complete Assignments
Take your Quiz
Have Lunch
Finish 2hours on Udemy
Attend Meeting at 7PM


INVOICE No. 4
Date of Invoice: 30/08/2021
Due Date: 01/09/2021
| # | DESCRIPTION | DATE | AMOUNT | TOTAL |
|---|---|---|---|---|
| 01 | Loan disbursement from Khanyezi |
01/01/2020 | 1 | R200,000.00 |
| 02 | RepaymentMonthly repayment |
01/07/2021 | 1 | -R5,000.00 |
| 03 | RepaymentMonthly repayment |
01/08/2021 | 1 | -R5,000.00 |
| 04 | RepaymentMonthly repayment |
01/09/2021 | 1 | -R4,000.00 |
| 05 | Overdue amountPayable immediately |
01/09/2021 | 1 | R1,000.00 |
| CLOSING BALANCE | $5,200.00 | |||
| OVERDUE AMOUNT PAABLE IMMEDIATELY | R1,000.00 | |||
| GRAND TOTAL | $6,500.00 |
Thank you!
NOTICE:
A finance charge of 1.5% will be made on unpaid balances after 30 days.


| Date | Event Name | Location | City, State |
|---|---|---|---|
| 2/13/2016 | Vintage Craft Show | East End Brewing Company | Pittsburgh, PA |
| 2/16/2016 | Crafter Meetup | Beads and Things | Pittsburgh, PA |
| 2/28/2016 | Open House at The Glass Center | Pittsburgh Glass Center | Pittsburgh, PA |
| Date | Event Name | Location | City, State |
|---|---|---|---|
| 2/13/2016 | Vintage Craft Show | East End Brewing Company | Pittsburgh, PA |
| 2/16/2016 | Crafter Meetup | Beads and Things | Pittsburgh, PA |
| 2/28/2016 | Open House at The Glass Center | Pittsburgh Glass Center | Pittsburgh, PA |
Crafter Alliance 2016


Error:
Looks like either the JavaScript is disabled in your browser or you don't have access to external JavaScript Libraries.
Please Contact your System Administrator to enable access to JavaScript External.
Angular D3.Js Charts Demo
Sales Person :
{{salesMan.name}}
Brand
Items Sold
{{item.brand}}
:
{{item.quantity}}
Edit
Save
Update
Delete


| DOSE: T+ 0:00 |
2 bowls |
smoked |
Cannabis |
(plant material) |
| T+ 3:00 |
3 hits |
oral |
LSD |
(liquid) |
| T+ 3:30 |
1 hit |
oral |
LSD |
(liquid) |
This experience happened yesterday and I believe that it has had and will continue to have a positive effect on my life.
It was the day of The Dead concert. I knew what kind of people went to those shows, this not being my first dead experience, and I had saved my money for weeks before hand.
It was me, my friend Rob, his dad and my other friend Mike. Out of the 4 of us I was the biggest Dead-head. On the way to the show we smoked a couple bowls and enjoyed a pleasant ride. When we finally reached the venue it was about 3:30, with 2 and a half hours to kill in the parking lot.
If you've ever been to a dead show you know that the parking lot is the place to be. All the while I was hopeful I would score, but I was really just happy to be among my fellow dead-heads. Well, 2 and a half hours flew by and we entered the venue. I now had $120, having given $10 to a homeless person.
The concert began and I had a hell-of-a time. We all danced, sang, smoked and smiled. They finished the 1st set with Casey Jones, a HUGE crowd pleaser. As we all sat down on the grass waiting for the next set I heard a faint voice in the distance. 'Doses, Doses, LSD.' I saw the chick who was selling it and stopped her. Before I knew it her partner was next to me and I was buying 3 hits of liquid LSD for $20. She put the drops in my palm and I lapped them up.
Rob watched in some-what of a stupor. The moment he was waiting for had passed him by and now I was dosed and he wasn't.  Rob finally snapped out of it and ran for the girl, but she was gone.
The 2nd set started. I was waiting very anxiously for the first signs. Though this was my 1st acid trip, I had researched it for the past 2 years and knew everything about it, with the exception of first-hand experience. Acid's really hard to find.
I felt the anxiety, the pressure in my pelvis, the little twinkle to the lights. It was REAL acid! Things got more and more magical as the time went on. Up in the sky I saw hundreds of butterflies flying in the dark, and I knew I was safe. I could see with great clarity; every piece of trash on the ground, the intricate patterns on people's clothes, everything. That's when I heard it again.
'Doses, doses.' Rob was all over the guy. He bought 3 drops for $30 and he bought Mike 2 hits. I bought another one and the guy, who was completely fried, sold some acid to the people behind us. But before he could move on Rob bought another drop. The total now being: Me, 4 hits. Rob, 4 hits. Mike, 2 hits.
The concert ended and we made our way to the car. The acid they had gotten hadn't kicked in yet, and neither had the extra drop I bought. From here the car ride turned magical.
[Erowid Note: Driving while intoxicated or tripping is dangerous and irresponsible because it endangers other people. Don't do it!]
I kept feeling these surges of pleasure rocketing up my spine. I had NEVER experienced something like that before. It was 5 times more pleasurable than any orgasm. I was beaming with love and happiness. The dead played an awesome set and I was on my first acid trip, it was truly a magical night.
BAM! The acid we all took kicked in. The center console on the dashboard turned into kaleidoscopic lights. Everywhere I looked I saw kaleidoscopes.  Into my head I went, hundreds of miles away. Hurtling forward in not only the car but in my head. Patterns and colors swirled behind my eyes. My spine was a-blaze with orgasmic fire. My ego was completely dead, and there was no fear, no panic.
We got home and Rob's dad and Mike went inside while me and Rob tried to get my Cds out of the car. When we emerged I looked up at the sky. 10,000 stars were twinkling up in the heavens. We ran inside only to go out on the back porch to star-gaze.
The sky was covered in millions of stars. Connecting them were the outlines of constellations I had never seen before. Stars were shooting in every direction. I don't think I will ever forget the beauty I saw in the skies that night.
We finally went inside after we thought that a dumpster under a streetlight was plotting against us. Of course we weren't truly scared, we were just re-claiming the innocence and wonder of early childhood.
Inside Mike came downstairs and we stared at the floor's amazing grooves and markings. But we knew we had to get upstairs to listen to sitar music and to smoke a little pot. Upstairs we each sank into our own chairs and filled the CD player with the spiritual sounds of Ravi Shankar. Closing my eyes I journeyed inward. Explosions of pleasure ripped through my body and the trip turned spiritual.
The evening wound down and we all fell asleep. I woke up at 9 in the morning having only slept 3 hours. I called my mom to let her know I was OK and I plopped on the couch. I was still not completely in my body at this time but I wasn't hallucinating anymore. Emotions were very deep and extraordinary. Looking back on the evening that had just happened I found myself crying with such joy for how right things had become with the universe.
Everybody woke up and we went out on the back porch so they could smoke a cig. The cloud cover overhead was beautiful, but I noticed something even more special. Straight above me was a HUGE rainbow. I asked the others if they saw it and they did, so it wasn't my mind! I really believe this was a sign of peace and happiness from the cosmos. I was so overwhelmed with the beauty of it all that a single tear rolled down my cheek.
After that I went home, showered and went to sleep for a couple hours. I awoke feeling refreshed and cleansed at 7:30 tonight. Last night's experience was very life-affirming, embracing, and beautiful. I am left with a profoundly uplifted spirit and a heart filled with love and compassion.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Budget in
%Month%
:
0
Daily Budget:
0
Income
Expenses
Input List
Income
Total
0
Expenses
Total
0
Daily Economy
Your daily economy in
%Month%
is:
01: 20$
02: 40$
03: 60$
...
31: 620$


08/04/2009 20:08:50 ¶ ● Your World of Text A web page that lets everyone write whatever, in real time. Pretty much what you’d expect. Lotta ascii penises.


WOLF A film review by James Berardinelli Copyright 1994 James Berardinelli
Rating (0 to 10): 6.7
Date Released: 6/17/94 Running Length: 2:05 Rated: R (Violence, language, mature themes, sexual situations)
Starring: Jack Nicholson, Michelle Pfeiffer, James Spader, Kate Nelligan, Richard Jenkins, Christopher Plummer Director: Mike Nichols Producer: Douglas Wick Screenplay: Jim Harrison and Wesley Strick Cinematography: Giuseppe Rotunno Music: Ennio Morricone Released by Columbia Pictures
"Even a man who is pure in heart, And says his prayers by night, May become a wolf when the wolfbane blooms And the Autumn moon is bright." - THE WOLF MAN (1941)
As the saying goes, "everything old is new again." In the Fall of 1992, there was Francis Ford Coppola's version of DRACULA. This November, that will be joined by Kenneth Branagh's take on FRANKENSTEIN. And, in between, we have the Mike Nichols/Jack Nicholson collaboration on the legend of THE WOLF MAN. Less a remake than a new exploration of lycanthropy, WOLF nevertheless recalls the days of black-and-white horror films, when names like Bela Lugosi, Boris Karloff, and Lon Chaney, Jr. topped marquees with the promise of chills and shudders.
For the most part, however, WOLF's strengths are in entirely different areas than its most obvious inspiration, 1941's THE WOLF MAN. While both movies boast an excellent, almost-palpable sense of atmosphere, and share some necessary plot elements, there the similarities end. This film brings the mythology into the nineties, complete with corporate power struggles, cheating wives, and an attempted mugging in Central Park.
All WOLF demands of its audience is that they accept the idea that a man bitten by a wolf can be mystically turned into that animal. The film is directed with sufficient flair by Mike Nichols, and acted ably enough by its cast, to make this suspension of belief a facile task. The problems surrounding the movie have nothing to do with its premise.
The picture opens with Will Randall (Jack Nicholson), the chief editor at a New York City publishing office, driving down a snowy Vermont road, using his sleeve to wipe away condensation on the front window. Suddenly, there's a shape ahead and his car slams into a wolf. When he gets out to investigate, he is bitten, and the infection begins to have its sinister effects.
The first changes are apparent in the sudden acuity of his sensory perceptions and a marked shift in personality. No longer a meek, easygoing man, Will becomes decidedly "wolfish" in fighting for his job when billionaire Raymond Alden (Christopher Plummer) takes over the publishing firm and threatens to replace him with the weasel-like sycophant Stewart Swinton (James Spader). Will also gains a measure of courage when it comes to dealing with members of the opposite sex, as is displayed in his interactions with Alden's daughter Laura (Michelle Pfeiffer).
The office politics, and how Will's new "identity" affect his dealings with his boss, co-workers, and clients, are masterfully handled by Nichols, whose edge of satire is sharpened to its keenest. The director might have been advised to spend more time in this setting, because when his film moves outdoors, and the transformation becomes literal, WOLF finds itself sputtering.
As tremendous as the character interaction is, the "horror" sequences, which feature rather routine transformations (courtesy of makeup virtuoso Rick Baker), are flat. Monster movies are supposed to frighten the audience; this one fails utterly in that arena. It's odd to say that Nicholson isn't scary, but that's mainly because he plays his character with a touch of subtlety that courts, and wins, the audience's sympathy.
The last half of WOLF is a disappointment. The corporate wrangling dissolves into the background as other, less-enjoyable subplots take center stage. Will's cautious relationship with Laura (which includes inspired dialogue about what she wants in a man) suddenly--and irrationally--turns passionately romantic, complete with dumb lines like "I love you more than I've ever loved anyone else." And action and silly fangs are given too much prominence in an unnecessary and misplaced climactic battle.
The acting, both by the leads and the supporters, is solid. Nicholson's restrained performance makes Will Randall believable and, although somewhat underused, Michelle Pfeiffer still creates a reasonably-balanced personality for Laura. James Spader's Stewart calls to mind another member of the animal kingdom--the rat. Kate Nelligan, Richard Jenkins, and Eileen Atkins all do fine jobs in small roles, and Christopher Plummer's corporate tycoon is a delight to behold.
Ironically, it's the werewolf part of WOLF that's the least successful. Lacking the style and panache of the better elements of the film, the scenes of Nicholson prowling on all-fours somehow fail to impress. Nichols successfully punctures the jugular when he focuses on predators in suits; his efforts are less accurate when WOLF's attention shifts to those with hair on their palms.
- James Berardinelli<EMAIL_ADDRESS>.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


The update module enables you to do easy upgrades of your Baseweb web application.
After installing or patching your website with a new release of Baseweb, the update module will allow you to run an update sequence that will make your data compatible with the installed version of Baseweb that you have.
When you installation and your database are up to date, this module will notice you.


[gecode-users] Examples
Malcolm Ryan
malcolmr at cse.unsw.edu.au
Sun Feb 15 05:45:39 CET 2009
If I may offer a well-intentioned criticism of the Gecode
distribution, I'd like to suggest that the examples that come with the
distribution do not serve their purpose well. They do a good job of
demonstrating the the strengths of the library, but are less useful as
examples of how to use it. They are simply too complicated, with too
many options spread over too many files. Trying to single out a
particular concept, such as 'how to use Gist' or 'how to write a
custom branching' is tricky. The answer is there, but it is woven in
among several other advanced concepts, with an option system for
turning different parts on and off.
It would be nicer to have simple self-contained examples that
illustrate just one concept at a time and highlight the particular
code elements that are necessary to make that feature work, keeping
the number of options down to a minimum.
If you do this, it would make like easier for all of us.  While I am very grateful for all your help, I am
sure we would all like to get on with our work.
Malcolm
More information about the gecode-users
mailing list


Bottas: "Something was missing today"
by Joseph TyrrellValtteri Bottas will start the Brazilian Grand Prix in fourth place but the Finn admitted that there was something missing, as Mercedes couldn't keep up with the leaders at Interlagos.
Bottas and his teammate, Lewis Hamilton will start on the second row for the penultimate race of the season with Max Verstappen on pole position and Sebastian Vettel second. However, Bottas qualified fifth but benefitted from Charles Leclerc's grid penalty with the Finn eight tenths down on his rivals.
2019 is already Bottas' best season in the pinnacle of motorsport and the Finn will want to improve on his four wins. However, it looks as if he faces an uphill battle to do so.
"It was pretty close, as it always is here in Brazil, but something was missing today," Bottas told the Mercedes website.
"I had a tricky FP3 and was quite a bit behind, but I was getting closer and closer in Qualifying. However, in Q3, it just felt like I couldn’t get much more out of the car.
"My laps in Q3 actually felt pretty good, there were maybe a few hundreds left to extract from the car, but not enough to challenge for pole today.
"I’ll still start the race from the second row, so it will be interesting to see what I can do from there."


Created by Denis Rosa and brought to you by Couchbase
Select * from movies where title like “Dark Knight%”
Select * from movies where title like “Dark Knight%”
Select * from movies where title like “The Dark Knight%”
or
Select * from movies where title like “%Dark Knight%”
Select * from movies where title like “%Dark Knight%”
-- Levenshtein function
-- Source: https://openquery.com.au/blog/levenshtein-mysql-stored-function
-- Levenshtein reference: http://en.wikipedia.org/wiki/Levenshtein_distance
-- Arjen note: because the levenshtein value is encoded in a byte array, distance cannot exceed 255;
-- thus the maximum string length this implementation can handle is also limited to 255 characters.
DELIMITER $$
DROP FUNCTION IF EXISTS LEVENSHTEIN $$
CREATE FUNCTION LEVENSHTEIN(s1 VARCHAR(255) CHARACTER SET utf8, s2 VARCHAR(255) CHARACTER SET utf8)
RETURNS INT
DETERMINISTIC
BEGIN
DECLARE s1_len, s2_len, i, j, c, c_temp, cost INT;
DECLARE s1_char CHAR CHARACTER SET utf8;
-- max strlen=255 for this function
DECLARE cv0, cv1 VARBINARY(256);
SET s1_len = CHAR_LENGTH(s1),
s2_len = CHAR_LENGTH(s2),
cv1 = 0x00,
j = 1,
i = 1,
c = 0;
IF (s1 = s2) THEN
RETURN (0);
ELSEIF (s1_len = 0) THEN
RETURN (s2_len);
ELSEIF (s2_len = 0) THEN
RETURN (s1_len);
END IF;
WHILE (j <= s2_len) DO
SET cv1 = CONCAT(cv1, CHAR(j)),
j = j + 1;
END WHILE;
WHILE (i <= s1_len) DO
SET s1_char = SUBSTRING(s1, i, 1),
c = i,
cv0 = CHAR(i),
j = 1;
WHILE (j <= s2_len) DO
SET c = c + 1,
cost = IF(s1_char = SUBSTRING(s2, j, 1), 0, 1);
SET c_temp = ORD(SUBSTRING(cv1, j, 1)) + cost;
IF (c > c_temp) THEN
SET c = c_temp;
END IF;
SET c_temp = ORD(SUBSTRING(cv1, j+1, 1)) + 1;
IF (c > c_temp) THEN
SET c = c_temp;
END IF;
SET cv0 = CONCAT(cv0, CHAR(c)),
j = j + 1;
END WHILE;
SET cv1 = cv0,
i = i + 1;
END WHILE;
RETURN (c);
END $$
DELIMITER ;
SELECT * FROM movies WHERE levenshtein(title, "dark knight")<=2 limit 3
(full table scan)
It is NOT about matching a text.
Search is heavily sales-oriented.
Don't forget to save user's queries!
private DisjunctionQuery boostReleaseYearQuery() {
LocalDateTime now = LocalDateTime.now();
//movies older than which are up to 3 years old get a boost of 10%
NumericRangeQuery rangeQuery = SearchQuery.numericRange().field("release_year").boost(1.25);
rangeQuery.max(now.getYear());
rangeQuery.min(now.getYear()-4);
//movies which are from 4 to 8 years old, nothing will be slightly penalized
NumericRangeQuery penalizationQuery = SearchQuery.numericRange().field("release_year").boost(1.05);
penalizationQuery.max(now.getYear()-5);
penalizationQuery.min(now.getYear()-8);
//movies which are from 8 to 18 years old, nothing will be penalized in 10%
NumericRangeQuery penalization1Query = SearchQuery.numericRange().field("release_year").boost(0.90);
penalization1Query.max(now.getYear()-9);
penalization1Query.min(now.getYear()-18);
//movies which are from 8 to 18 years old, nothing will be penalized in 10%
NumericRangeQuery penalization2Query = SearchQuery.numericRange().field("release_year").boost(0.87);
penalization2Query.max(now.getYear()-19);
penalization2Query.min(0);
DisjunctionQuery yearDisjunction = SearchQuery.disjuncts(rangeQuery, penalizationQuery, penalization1Query, penalization2Query );
return yearDisjunction;
}


In my last blog we discussed the functionality of quarantining a mailbox if:
- Thread doing work for a mailbox fails
- More than five threads in a mailbox that haven’t made progress for a long time (more than 60 seconds)
In some cases this might cause a situation which is not acceptable if this issue occurs multiple times within one week or maybe multiple times a day. In my last blog we talked about how to see that a mailbox is quarantined. But wouldn’t it be nice to monitor it to prevent mailboxes from being quarantined?
When one of the earlier issues occurs the following events will be logged in the application log:
- Event 10025: Reports a time-out on the Exchange server
- Event 10026: Reports a time-out on the database
- Event 10027: Reports a time-out on an individual mailbox
All the events will have the same source MsExchangeIS. Besides the event logs you might decide to use the performance counters to monitor the environment for this specific kind of issue. In this case add the following counters to the Performance Monitor:
- RPC Request Timeout Detected on Mailbox
- RPC Request Timeout Detected on Database
- RPC Request Timeout Detected on Server
The performance counters can be found under the context MsExchangeIS.
But what if you see that this issue happens many times and you want to disable the quarantine functionality? First of all I would not recommend doing this and try to find the source of the issue.  But as discussed earlier the quarantining may have a negative impact on the business and so you may lose money. So after reading this think twice discuss this with some colleagues and your manager. If everybody agrees with taking the risks perform the following steps to turn off the quarantine feature:
- Open Regedit
- Browse to the following location: HKLM\System\CurrentControlSet\Services\MsExchangeIS__
- Create a new DWORD (32-bit)called DisableTimeoutDetection
- Set the value to 1
Although not mentioned in the help files of Microsoft it might be wise to restart the Information Store service after making the change. In this case make sure you dismount all databases or *over them to another DAG node if applicable.
If you want to have more information about this topic visit the page below:
Technet: Turn Off Exchange Store Time-Out Detection open