nerolidol activity Nerolidol trans-nerolidol cells effect essential study oil using (i) aureus leaves (ii) respectively (.%) cell Piper concentration cis- effects activities assay (n.s.) strong vitro conducted Chem. compared shown used growth trans-Nerolidol Chemical caused method nerolidol. compounds demonstrated induced inhibition Exhibited antioxidant cis-nerolidol studies .%, different increase production {border-style claussenianum formation major membrane plants skin EOs Food Staphylococcus human plant plasma px;} µg/mL #ffffff;} Plant doses inhibited mixture order rats reported values > Med. Table USA) anti-inflammatory biological chemical cytotoxic development isoprenoid mg/kg oils pathway properties vivo μg/mL A.M. Res. biosynthesis control cytotoxicity damage drug review synthase terpene various Activity Baccharis biofilm cancer dracunculifolia falciparum leaf observed responsible value volatile (Miq.) (iii) ... However, Louis, antibacterial cause components exhibited increased lipid mortality oral significant technique DC., MIC MO, Silva acid dose drugs higher mice pharmacological rat results treatment Clevenger-type E)-nerolidol Leishmania Moreover, Oil St. Studies administration apparatus coli larvae model n.a. oxidative permeation revealed sesquiterpenes (L.) Aedes Hydrodistillation Lee Mixture Plasmodium Rev. Toxicol. adhesion anti-nociceptive antifungal blood chain composition delivery did exhibit hand, highest low mechanism mg/mL parasites pharmacokinetic potential reduction spectrometry tea terpenes toxicity (iv) ./S-()- HL- M.A. action analysis anti-fungal combination concentrations constituents diphosphate extracted fluidity inflammatory leading leakage level lower nerolidol, presence purified resulted scavenging sesquiterpene showed significantly similar stages stress suggested transdermal tumor (:) (isomer Based Biol. DC. Essent. GC-MS HeLa Katzin Rocha Sousa Wang acute amazonensis animal causing day death decrease effective electron extraction fed followed food green high indicated inhibiting known linalool liver male measured mediated medicinal mitochondrial natural px; ranging reduced strains study, susceptibility {font-family (Sigma (a) ATCC Besides, Broth Candida Chan E.A. Essential LC-MS Marques Microbiol. Molecules Nat. Pharm. Planta Sci. Singh ability acetic aerial agents albicans alternative bacterial clinical defense dilution disease exerted farnesol fibroblast flavor font-size fungal gastric group herbivore increasing intestinal ions lines mass maximum mg/L models new pain parts penetration racemic rate reducing retention safety sinensis species stratum synthesis test time toxicological (v) (vi) ./.. ./j.fct... ./s-- ./s--- Anisakis Antibacterial Clin. Curr. E)- Escherichia Int. Kim Meanwhile, Momordica Myrica Oliveira Parasitol. S.A. Saito Similarly, Therefore, USA Zornia adult alcohols aleyreanum anticancer antimicrobial apoptosis barrier body brasiliensis carcinoma cells. charantia chromatographic chromatography-mass cis-Nerolidol column columns constituent containing diseases double; edema forms indicating induce inhibitory interaction investigated left main maize metabolites min mouse negative number phytopathogenic possess potent products promising radula researchers resistance response role rubra studies, tested trans-nerolidol, tree usage (.% (e.g., ./j.-..tb.x ./molecules A.S. Agric. Anopheles Cell Coimbra Company, Cytotoxicity DC, DNA Drug Ethnopharmacol. Exerted F.C. FDP Gershenzon Ginkgo Gonçalves Inhibited Kaplan Kimura Kubo L., Lantana Lett. M.L. MTT Peperomia Peres ROS Retention S.M. Soares Trypanosoma Vitro acaricidal acid-induced active aegypti anti-cancer anti-malarial anti-tumor apoptotic arrest article assay, assays average biloba border-color border-width carvone cells, changes common component corneum cytokines diffusion dismutase displayed distillation dose-dependent eggs enhancer erythrocyte eventually exert expression fact farnesyl findings formalin free gaudichaudianum good guinea herbivore-induced hydrochloride hydroxyl hyphal indices intermediate intraperitoneal involved isolated isoprenic lead light liquid membranes mentagrophytes molecular molecules---t_Table morphological mutagenic paw percentage permeability peroxidation possessed possibly produce proliferation promastigotes radical ranged repellency research respectively. samples seed serpens slight solid; specified) superoxide synthases terpenoids tests therapeutic treat treated type use widely world yeast {font-style {font-weight >, (%) (.%), (.-fold (Lour.) (Sigma, (Sigma-Aldrich, (Sw.) (human (mg/kg) (min) .%) ./j.foodchem... ./j.jep... According Agents Alternaria Antimicrob. Appl. Biochem. C.S. Cancer Capparis Caused Chemother. Culex D.P. Figure Furthermore, Fusarium GABAergic Goh J.P. Key: Leonotis M.A.C. M.B. M.C. M.P. Magnolia Melaleuca Mendanha Methods Park Piperaceae Plants Reduced Rhipicephalus S)-( Saccharomyces Scheme Schistosoma Seasonal Siebold Sitophilus Skin Sperotto Strychnos Swinglea Type U.S. V.J. Vinholes Virola Vivo Warionia Zucc. [], able acid, administration, aduncum adverse agriculture alterations amazonensis, anti-biofilm anti-microbial anti-trypanosomal antibiotics application associated attached attributed available based bold brucei candidate capsici, carbon cassiicola cellular chaba chains chronic colorectal comparison content conversion courier; current data denudata derived determine dynamics elegans em; enhanced enhancement enhancers enhancing epidermal erythromycin, eugenol evansi expansum experiment, factor firstly fungi glutinosa gypseum hemolytic hepatic hepatocytes illustrated including increase) incubation infection infections information insecticidal intra-erythrocytic intraerythrocytic isoprenyl leishmaniasis lesion levels limonene macrophages mainly mansoni mechanisms medicine methods microplus molecules monoterpenes nitrite overall oxygen parasite particularly percutaneous peritoneal plants. possible potentiated pressure protect protozoan pt;} radicals, range recently receptors regard required safe saharae side-effects solani source sp., spinosa step stimulation structure suggest suggesting supported suppressed surinamensis test, that, times trans-nerolidol) ulcer ulceration ultimately viability weak zeamais µg/mL, µmol/L)


A PostCSS runner is a tool that processes CSS through a user-defined list
of plugins; for example, postcss-cli
or gulp‑postcss
.
These rules are mandatory for any such runners.
For single-plugin tools, like gulp-autoprefixer
,
these rules are not mandatory but are highly recommended.
See also ClojureWerkz’s recommendations for open source projects.
If your runner uses a config file, it must be written in JavaScript, so that
it can support plugins which accept a function, such as postcss-assets
:
module.exports = [
require('postcss-assets')({
cachebuster: function (file) {
return fs.statSync(file).mtime.getTime().toString(16);
}
})
];
from
and to
processing optionsTo ensure that PostCSS generates source maps and displays better syntax errors,
runners must specify the from
and to
options. If your runner does not handle
writing to disk (for example, a gulp transform), you should set both options
to point to the same file:
processor.process({ from: file.path, to: file.path });
PostCSS runners must use only the asynchronous API. The synchronous API is provided only for debugging, is slower, and can’t work with asynchronous plugins.
processor.process(opts).then(function (result) {
// processing is finished
});
PostCSS runners must not rely on undocumented properties or methods, which may be subject to change in any minor release. The public API is described in API docs.
CssSyntaxError
PostCSS runners must not show a stack trace for CSS syntax errors, as the runner can be used by developers who are not familiar with JavaScript. Instead, handle such errors gracefully:
processor.process(opts).catch(function (error) {
if ( error.name === 'CssSyntaxError' ) {
process.stderr.write(error.message + error.showSourceCode());
} else {
throw error;
}
});
result.warnings()
PostCSS runners must output warnings from result.warnings()
:
result.warnings().forEach(function (warn) {
process.stderr.write(warn.toString());
});
See also postcss-log-warnings and postcss-messages plugins.
PostCSS by default will inline source maps in the generated file; however, PostCSS runners must provide an option to save the source map in a different file:
if ( result.map ) {
fs.writeFile(opts.to + '.map', result.map.toString());
}
PostCSS runners must have their README.md
written in English. Do not be afraid
of your English skills, as the open source community will fix your errors.
Of course, you are welcome to write documentation in other languages;
just name them appropriately (e.g. README.ja.md
).
PostCSS runners must describe changes of all releases in a separate file,
such as ChangeLog.md
, History.md
, or with GitHub Releases.
Visit Keep A Changelog for more information on how to write one of these.
Of course you should use SemVer.
postcss-runner
keyword in package.json
PostCSS runners written for npm must have the postcss-runner
keyword
in their package.json
. This special keyword will be useful for feedback about
the PostCSS ecosystem.
For packages not published to npm, this is not mandatory, but recommended if the package format is allowed to contain keywords.


http://www.susangranger.com/
Susan Granger's review of "TITAN A.E." (20th Century-Fox)
Apparently, Bill Mechanic, chairman of 20th Century Fox, wanted an animated movie for 13-14 year-old boys, a group that hasn't shown much interest in cartoons other than comic books. So this is the result. Set in the year 3028, the Earth has been blown apart by a vicious alien race made of pure energy called the Drej. The hero, predictably, is a cynical teenager (voiced by Matt Damon), a rebellious drifter who works on a grungy salvage station. His life is changed when he finds his father, a brilliant scientist who built the Titan (a mysterious spaceship that has the power to create a planet), has left him a genetically encoded ring with a map. With "I happen to be humanity's last hope," he's off on an adventure on the Valkyrie with its captain Korso (Bill Pullman), who once worked with his father, along with fighter pilot Akima (Drew Barrymore), plus the sarcastic First Mate Preed (Nathan Lane) and Gune (John Leguizamo), the Peter Lorre-like navigator - with the ruthless, villainous Drej in hot pursuit. There are plot-holes enormous enough to fly a space craft through, perhaps because so many writers were involved - and the formulaic concept reminded me of the old TV series "Battlestar Galactica" with a touch of "Wing Commander" thrown in. And what's with Stith (Janeane Garofalo), a kangaroo-like weapons expert? Animator Don Bluth combines 3-D and 2-D which is visually disconcerting - except for two sequences. One involves the Ice Rings of Tigrin where one spaceship chases another through giant, reflective crystals and the other with vibrating, brightly colored hydrogen trees. On the Granger Movie Gauge of 1 to 10, "Titan A.E." is a weird, action-packed 4 - unless you're a teenager. Then, perhaps, it might just be a cool sci-fi trip set to edgy, electronic rock music.
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


What is MultipleDatePicker ?
MultipleDatePicker is an Angular directive to show a simple calendar allowing user to select multiple dates with a bunch of options to customize it.
Get it
NPM style
npm install multiple-date-picker --save
Then you can require it and add to your angular app
var mdp = require('multipleDatePicker');
angular.module('yourApp', [..., mdp]);
Bower style
bower install multiple-date-picker --save
Hipster style
git clone https://github.com/arca-computing/MultipleDatePicker.git
Time to use it
Include at least css file.
<link rel="stylesheet" type="text/css" href="multipleDatePicker.css"/>

If don't use something that gets dependencies for you, don't forget to include dependencies manually : Angular and MomentJS.
Add it to your angular app
var app = angular.module('myApp', ['multipleDatePicker']);
Add it in your html

<multiple-date-picker></multiple-date-picker>

It will use the max width of it's parent, so If you want to reduce it specify a width (or use Bootstrap/Foundation).

<multiple-date-picker></multiple-date-picker>

Inject momentJS
Take a moment for MomentJS
You have 2 ways to inject momentJS. You do nothing and use the global variable or you pass it to the directive :
$scope.moment = require('moment');
<multiple-date-picker moment="moment" />
Change locale
You can change MomentJS locale, the datepicker is listening to this changement and will update days and month labels
Test it, it'll change locale for whole demo page : EN - FR
moment.locale('fr-FR');
Options
ngModel (for the watch)
Major change since previous version, we now use a ngModel attribute. Bind your array of moment dates, watch it to get notified when a date is selected/unselected (and please don't forget the true option at the end of the $watch)
$scope.myArrayOfDates = [moment().date(4), moment().date(5), moment().date(8)];
$scope.$watch('myArrayOfDates', function(newValue, oldValue){
if(newValue){
console.log('my array changed, new size : ' + newValue.length);
}
}, true);
<multiple-date-picker ng-model="myArrayOfDates"></multiple-date-picker>
month
You can change current month when you want.
$scope.myMonth = moment().add(3, 'MONTH');
<multiple-date-picker month="myMonth" />
quick change year
You can use those options to show a select to quickly change year. When you select a year it'll re-render the select to always have the same range around the selected year.
Works with disallow-back-past-months and disallow-go-futur-months.
<multiple-date-picker change-year-past="5" change-year-future="10"/>
quick change month
You can use this option to show a select to quickly change the month.
<multiple-date-picker enable-select-month="true"/>
First day of week
By default Monday will be the first day of week, but you can set calendar to use Sunday as first day of week
<multiple-date-picker sunday-first-day="true" />
Show previous/next month days
You can show previous and next months days with this option. You can combine all 3 options to fit your needs.
- showDaysOfSurroundingMonths : if true empty boxes will be filled, default is false
- cssDaysOfSurroundingMonths : applied css class to empty boxes. You can chain like 'myclass1 myclass2 myclass3', default is 'picker-empty'
- fireEventsForDaysOfSurroundingMonths : fire events on empty boxes, default is false
<multiple-date-picker
show-days-of-surrounding-months="true"
fire-events-for-days-of-surrounding-months="true"
css-days-of-surrounding-months="'picker-other-month-custom'"
highlight-days="highlightDays"
/>
We use custom (and pretty ugly I know) css to customize previous/next months dates and highlight days
.picker-day.picker-other-month-custom{
background-color: #d17357;
color: #fff;
}
.picker-day.picker-other-month-custom:hover{
cursor: pointer;
background-color: #ae5d4a;
color: #fff;
}
.picker-day.picker-other-month-custom.picker-selected{
background-color: #9c5244;
}
.picker-day.holiday{
background-color: #00ffa2;
color: #fff;
}
.picker-day.holiday.picker-selected{
background-color: #00ae69;
color: #fff;
}
.picker-day.holiday.picker-off{
background-color: #00a267;
color: #fff;
cursor: default;
}
.picker-day.holiday:not(.picker-off):hover{
background-color: #00e795;
color: #fff;
}
.picker-day.birthday:not(.picker-selected){
background-color: #ded100;
color: #000;
}
dayClick/dayHover
You can use those callbacks to check something and prevent the event to happen (click will select/unselect date, hover will trigger hover event on the date).
$scope.checkSelection = function(event, date) {
if(somethingWrongWithThisDate(date)){
event.preventDefault();
console.log('my click was prevented, want am I gonna do with my life ?');
}
}
<multiple-date-picker day-click="checkSelection" day-hover="anotherCallbackIfYouNeed"></multiple-date-picker>
right-click
Right click callback
<multiple-date-picker right-click="rightClickCb"/>
all-days-off
Disable all dates in the calendar, default is false
<multiple-date-picker all-days-off="true"/>
days-allowed
Enable only some dates, it's an array of moment dates
<multiple-date-picker days-allowed="daysAllowed"/>
Highlight-days
This is an array containing dates you want to highlight, I can be a day-off like a bank day, holiday, your birthday, anything you want.
{
date: Timestamp/String/Moment, //anything usable with moment
css: String //class applied, can be "class1" or "class1 class2 class3 ..."
selectable: true/false,
title: String //will be use in title attribute (show when cursor is hover)
}
The live demo represent the 2nd of month as holiday (not clickable), 14h a day off (not clickable) and the 25th is my birthday (not really, and clickable).
$scope.highlightDays = [
{date: moment().date(2).valueOf(), css: 'holiday', selectable: false,title: 'Holiday time !'},
{date: moment().date(14).valueOf(), css: 'off', selectable: false,title: 'We don\'t work today'},
{date: moment().date(25).valueOf(), css: 'birthday', selectable: true,title: 'I\'m thir... i\'m 28, seriously, I mean ...'}
];
<multiple-date-picker highlight-days="highlightDays"/>
And here the css used for this demo
/*apply colors if not selected, if selected I want the default selected css*/
.picker-day.holiday:not(.picker-selected){
background-color: #00ffa2;
color: #fff;
}
/*if my holiday isn't clickable (it's the case in the demo)*/
.picker-day.holiday.picker-off{
background-color: #00a267;
color: #fff;
cursor: default;
}
/*my birthday, is clickable*/
.picker-day.birthday:not(.picker-selected){
background-color: #ded100;
color: #000;
}
Week-days-off
Those are days for every week that are not selectable. Sunday = 0, Monday = 1 ... Saturday = 6.
<multiple-date-picker week-days-off="[0, 3]"/>
disable-days-before
If filled will disable all days before this one (not included)
$scope.today = moment();
<multiple-date-picker disable-days-before="today"/>
disable-days-after
If filled will disable all days after this one (not included)
$scope.today = moment();
<multiple-date-picker disable-days-after="today"/>
month-changed
The callback will be called everytime you change month (previous or next month). Be aware that newMonth and oldMonth given to the callback is first day of month at midnight.
This exemple shows how to pass a scope function that will prompt an alert with infos.
$scope.logMonthChanged = function(newMonth, oldMonth){
alert('new month : ' + newMonth.format('YYYY-M-DD') + ' || old month : ' + oldMonth.format('YYYY-M-DD'));
};
<multiple-date-picker month-changed="logMonthChanged"/>
month-click
The callback will be called everytime you change month (previous or next month). You can prevent the event to happen. Be aware that newMonth and oldMonth given to the callback is first day of month at midnight.
This example prevent navigation more than 6 month around now.
$scope.disable6MonthsFromNow = function(event, month){
if(month.isBefore(moment().subtract(6, 'month'), 'month') || month.isAfter(moment().add(6, 'month'), 'month')){
event.preventDefault();
}
};
<multiple-date-picker month-click="disable6MonthsFromNow"/>
disable-navigation
If true the back button to go previous month will be disabled if you are on today's month, so you can't go in past month
<multiple-date-picker disable-navigation="true"/>
disallow-back-past-months
If true the back button to go previous month will be disabled if you are on today's month, so you can't go in past month
<multiple-date-picker disallow-back-past-months="true"/>
disallow-go-futur-months
If true the back button to go next month will be disabled if you are on today's month, so you can't go the futur
<multiple-date-picker disallow-go-futur-months="true"/>
Examples
One day selection only
You want user to be able to select only one day, that's not a problem. Try to select multiple days, you'll not be able. Yeah we call it MAGIC !
$scope.selectedDays3 = [];
$scope.oneDaySelectionOnly = function (event, date) {
$scope.selectedDays3.length = 0;
};
<multiple-date-picker calendar-id="'myId2'" ng-model="selectedDays3" day-click="oneDaySelectionOnly"/>
Let's get serious
You can (of course) use all options at the same time.
Dependencies
The calendar uses 2 dependencies you must add to your project : angular of course and moment.
Because we use moment.js, you can load a language file and change the calendar language (days and months names), like this :
moment.lang('fr');
var app = angular.module...
Week days order, week days names and month + year format cannot be changed with an option.
What's next ?
We created this directive to have a simple calendar with multi-dates selection. We will keep it simple but any improvement is welcome.


Note: Accessing/Opening this page will reload the server configuration
Urls configuration:
Additional functions:


The UI Platform ships with 750+ icons as Font (Ligature) icons.
Material design system icons are simple, modern, friendly, and sometimes quirky. Each icon is created using our design guidelines to depict in simple and minimal forms the universal concepts used commonly throughout a UI. Ensuring readability and clarity at both large and small sizes, these icons have been optimized for beautiful display on all common platforms and display resolutions.
This entire library of icons is licensed under Creative Common Attribution 4.0 International License (CC-BY 4.0) and can be used within Teradata products with no attribution (the icon library just can't be sold standalone).
Using font icon within the Teradata UI Plaform is extremely simple:
Which renders:
To manually color a fill or font color (depending if you're using a font icon or SVV icon), use our simple tc utility class:
choose from any of the material colors, in hues from 50, 100, 200, 300, 400, 500, 600, 700, 800, 900 (and A100, A200, A400, A700 for all except brown, grey & blue-grey)
To manually color a fill or font color (depending if you're using a font icon or SVV icon), use our simple tc utility class:
choose from any of the dark material colors, in hues from 500, B100, B65, B40, B30 & B15
HTML:
Typescript:
Icon service provides an array of icon names & capability to serach through icons
The service comes with {{serviceAttrs.length}} methods:
{{attr.description}}


Your schedule will be downloaded as {{ vm.calendarFilename }}.
Follow Step 2 from Import events to Google Calendar to import your classes into Google Calendar.


WITNESS LIST Criminal Justice Committee April 4, 2001 - 1:00P SB 85 FOR: Curtis, Lon Assistant District Attorney (Bell County District Attorney's Office), Belton, TX Dieter, Alison (Citizens for Choice in Sentencing), Austin, TX Moorhead, Bee Executive Director (Texas Impact), Austin, TX Sharlot, Michael Law Professor (Self), Austin, TX AGAINST: Curl, David Prosecutor (Tarrant County Criminal District Attorney's Office), Fort Worth, TX Hubbarth, William "Rusty" Attorney (Justice for All), Austin, TX Shook, Toby Asst. District Attorney (Dallas County District Attorney's Office), Dallas, TX ON: Fabelo, Dr. Tony Executive Director (Criminal Justice Policy Council), Austin, TX Gura, Ruth-Ellen Assistant District Attorney (Travis County District Attorney, Ronnie Earle), Austin, TX Hampton, Keith Attorney (Texas Criminal Defense Lawyers Association), Austin, TX Harrell, William Attorney (ACLU, NAACP), Austin, TX Isaacks, Bruce District Attorney (Denton County), Denton, TX Kirkendall, W.C. District Attorney (Self) Macha, Barry District Attorney (Wichita County), Wichita Falls, TX Steiker, Jordan Professor of Law, UT (Self) Registering, but not testifying: For: Claussen, Heather Policy Specialist (Texas Impact), Austin, TX Daly, Richard (Texas Catholic Conference), Austin, TX Granger, J.D. Assistant District Attorney (Tarrant County District Attorney's Office), Fort Worth, TX Hernandez, Leslie Director of Government Affairs (National Association of Social Workers, TX), Austin, TX Holcombe, Wanda Methodist Missionary (Texas Impact), Austin, TX Mackay, Jr., Richard (Coryell County District Attorney's Office), Gatesville, TX Woodford, Suzy Executive Director (Common Cause Texas), Austin, TX On: Garrett, Gerald Chairman (Texas Board of Pardons & Parole), Austin, TX SB 536 FOR: Allison, Bill Attorney (Self) Atlas, Scott (Self), Houston, TX Claussen, Heather Policy Specialist (Texas Impact), Austin, TX Harrell, William Attorney (ACLU, NAACP), Austin, TX Meyer, Delia Professor (Self), Austin, TX Popp, Jeanette (Self), Azle, TX Robinson, Anthony (Self), Houston, TX Sheppard, David Attorney (Self), Austin, TX ON: Marrus, Phil Assistant Attorney General (Office of the Attorney General), Austin, TX Pierce, William (Maurice Pierce), Kyle, TX Registering, but not testifying: For: Biles, Michael Attorney (Richard Danziger), Austin, TX Daly, Richard (Texas Catholic Conference), Austin, TX Dieter, Alison (Self), Austin, TX Fehrenbach, Margaret (Self), Austin, TX Hampton, Keith Attorney (Texas Criminal Defense Lawyer's Association), Austin, TX Hernandez, Leslie Director of Government Affairs (National Association of Social Workers, TX), Austin, TX Holcombe, Wanda Methodist Missionary (Texas Impact), Austin, TX Moorhead, Bee Executive Director (Texas Impact), Austin, TX Vaught, William (Self), Buda, TX Woodford, Suzy Executive Director (Common Cause Texas), Austin, TX SB 680 FOR: Atlas, Scott Attorney (Self), Houston, TX Cook, Kerry Max (Self), Plano, TX Dieter, Alison (Texas Gray Panthers), Austin, TX Levin, Maurie Attorney (Texas Defender Service), Austin, TX Meyer, Delia Professor (Self), Austin, TX Moorhead, Bee Executive Director (Texas Impact), Austin, TX Pierce, William (Maurice Pierce), Kyle, TX Popp, Jeanette (Self), Azle, TX Vaught, William (Self), Buda, TX ON: Longmire, Dennis Professor (College of Criminal Justice, Sam Houston State University), Huntsville, TX Registering, but not testifying: For: Claussen, Heather Policy Specialist (Texas Impact), Austin, TX Daly, Richard (Texas Catholic Conference), Austin, TX Evans, Brian (Self), Austin, TX Fehrenbach, Margaret (Self), Austin, TX Hall, Steve Project Director (StandDown Texas), Austin, TX Harrell, William Attorney (ACLU, NAACP), Austin, TX Hawkins, Cecelia University Lecturer (Just Peace Institute), College Station, TX Holcombe, Wanda Methodist Missionary (Texas Impact), Austin, TX Woodford, Suzy Executive Director (Common Cause Texas), Austin, TX Yelvington, Michelle (Self), Austin, TX On: Vollum, Scott (College of Criminal Justice, Sam Houston State University), Huntsville, TX SB 840 ON: Simpson, Greg Deputy Chief, Open Records (Office of Attorney General), Austin, TX SB 850 FOR: Biles, William Police Officer (Waco Police Association), Waco, TX Jones, Chris W. Sgt., Houston Police Department (Combined Law Enforcement Associations of Texas), Austin, TX Watts, Trent Police Officer (Austin Police Association), Austin, TX Wilkison, Charley (Combined Law Enforcement Associations of Texas), Austin, TX ON: Durham, Drew Assistant Attorney General (Office of Attorney General), Austin, TX Registering, but not testifying: For: Clark, Mark Police Officer (Houston Police Officers' Union), Houston, TX Heaton, Chris Executive Director (Texas Municipal Police Association), Austin, TX Mann, Tom (Texas Police Chiefs' Association), Lubbock, TX Nafe, Chris Police Sgt. (Abilene Police Officers' Association), Abilene, TX Sanders, Stephen Police Officer (Texas State Lodge Fraternal Order of Police), Houston, TX Sylvester, James Vice President (Travis County Sheriff Deputies Association), Austin, TX SB 1033 Registering, but not testifying: On: Bailey-Taylor, Shelia Administrative Law Judge (State Office of Administrative Hearings), Austin, TX Blewett, Rebecca (TX DPS), Austin, TX SB 1047 FOR: Martin, Greg Deputy Sheriff-Collin County (Kelly Martin), McKinney, TX Martin, Kelly (Self), College Station, TX SB 1202 ON: Durham, Drew Assistant Attorney General (Texas Attorney General), Austin, TX Registering, but not testifying: For: Buchanan, Bree Public Policy Director (Texas Council on Family Violence), Austin, TX Wolf, Laura General Counsel (SafePlace), Austin, TX SB 1221 FOR: Clark, Mark Police Officer (Self), Houston, TX Hughes, David Executive Director (National Institute for Truth Verification, Inc.), West Palm Beach, TX Nafe, Chris Police Sgt. (Abilene Police Department), Abilene, TX AGAINST: Cestaro, Dr. Victor (Self), Anniston, AL Cunningham, Phil President (Texas Association of Polygraph Examiners), Corpus Christi, TX Harrell, William Attorney (ACLU), Austin, TX Hendricks, Kelly Detective (Humble Police Dept., TAPE, TALEPI), Humble, TX Holden, Eric Joseph (Self), Richardson, TX Loveday, Gory (Self), Tyler, TX Parker, William Police Officer (Self), Dallas, TX Vaught, William (Self), Buda, TX Wingo, Billy (Self), Dallas, TX ON: Ditucci, Frank Executive Officer (Polygraph Examiners Board), Austin, TX Kruckemeyer, Robert Attorney (Polygraph Examiners Board), Houston, TX SB 1312 FOR: Elkin, W.M. "Bill" Executive Director (Houston Police Retired Officers' Association), Houston, TX Registering, but not testifying: For: Heaton, Chris Executive Director (Texas Municipal Police Association), Austin, TX Sanders, Stephen Police Officer (Texas State Lodge Fraternal Order of Police), Houston, TX SB 1345 ON: Boatright, David CLE Attorney (TX DPS), Austin, TX Brubaker, James Captain (TX DPS), Austin, TX Registering, but not testifying: Against: del Llano, Ann Attorney (ACLU of Texas), Austin, TX SB 1372 FOR: Cummins, Gayle Executive Director (Texas Bicycle Coalition), Austin, TX Hocker, Mark Prosecutor (Lubbock County District Attorney's Office), Lubbock, TX Stallings, Robin (TX Bicycle Coalition), Austin, TX Tyree, Preston Education Director (Texas Bicycle Coalition), Austin, TX Woods, Lt. Tom Police Officer (International Polie Mountain Bike Association), Denton, TX ON: Rodriguez, Albert (DPS Training Academy), Austin, TX Taylor, Bea Bicycle Program Clerk (TX DPS), Austin, TX Registering, but not testifying: For: Eden, Tommy (Austin Cycling Association), Austin, TX SB 1608 Registering, but not testifying: Against: Whalen, Ken Director of Legislative Affairs (TX Daily Newspaper Association), Austin, TX SJR 25 FOR: Aleshire, Mary (Self), Austin, TX Atlas, Scott (Self), Houston, TX Cook, Kerry (Self), Plano, TX Dieter, Alsion (Gray Panthers), Austin, TX Levin, Maurie (Self), Austin, TX Moorhead, Bee Executive Director (Texas Impact, Texas Conference of Churches), Austin, TX Pierce, William (Maurice Pierce), Kyle, TX Popp, Jeanette (Self), Azle, TX Riddering, Hannah (Texas National Organization for Women), Austin, TX Vaught, William (Self), Buda, TX ON: Longmire, Dennis Professor (College of Criminal Justice, Sam Houston State University), Huntsville, TX Registering, but not testifying: For: Claussen, Heather Policy Specialist (Texas Impact), Austin, TX Evans, Brian (Self), Austin, TX Fehrenbach, Margaret (Self), Austin, TX Hall, Steve Project Director (StandDown Texas), Austin, TX Harrell, William Attorney (ACLU & NAACP), Austin, TX Hawkins, Cecelia (Just Peace Institute), College Station, TX Holcombe, Wanda Methodist Missionary (Texas Impact), Austin, TX Woodford, Suzy Executive Director (Common Cause Texas), Austin, TX Yelvington, Michelle (Self), Austin, TX On: Vollum, Scott (College of Criminal Justice, Sam Houston State University), Huntsville, TX


stdcurl_easy_perform() failed: Couldn't connect to server KMD.(<IP_ADDRESS>:7771 MoMoMdata), retries: 4
[583] END isratify.0:0 bestk.0 6011 sigs.0 state.0 machine ht.27220 completed state.0 KMD.0000000000000000000000000000000000000000000000000000000000000000 STAKEDB1.0000000000000000000000000000000000000000000000000000000000000000 recvmask.16019 paxwdcrc.c69f9524 0x7fdf7cd55010 0x7fdf7e89c010
curl_easy_perform() failed: Couldn't connect to server KMD.(<IP_ADDRESS>:7771 getinfo), retries: 4


#Greetings
- Sequoia McDowell
- Web Developer at PTC
- @_sequoia
-<EMAIL_ADDRESS>Testing Javascript
with Jasmine.js
it( 'should add one and one' , function(){
expect( 1 + 1 ).toEqual( 2 );
});
What is Unit Testing?
Wikipedia:
Unit testing: a method by which individual units of source code, sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures, are tested to determine if they are fit for use.
Code that tests other code
Why Do It?
- Know when code stops working
- Know when code starts working
I changed my code, does it still work?
Benefits
- Catch bugs early
- Change code faster, more safely
- Forces you to write better code
How/When do you do it?
- When you write a feature
- When you fix a bug
- Before you write a feature
(Test Driven Development)
- Before you deploy/share
Other Stuff
- More Matchers (jQuery, underscore)
- Fixtures
- Running from Console


School dashboard
All schools
Id
Name
No Schools Available
id
name
Edit
Delete
Add new school
Name
Submit
Reset


{% if has_access_token %}
You haven't connected with the Khan Academy site. API methods that require authentication will return 401 Unauthorized.


Invite friends and family to earn ${{bonus}} per invite. start by copying the link below and sending to them.
{{url}}


Guia de segurança
The Play framework is designed with security in mind – but it is impossible to prevent developers using the framework to mess up and open holes. The guide describes the common security issues in web applications and how to avoid them in Play applications.
Sessões
Often you need to keep information associated with a user, in particular the logged-in status. Without a session, the user would need to pass credentials with each request.
That’s what sessions are for: a set of cookies stored in the user’s browser that identify him or her to the web site, and provide other information your web application may choose to store there rather than in the data layer; for example the language.
Keep your secret… secret
The session is a hash of key/values, signed but not encrypted. That means that as long as your secret is safe, it is not possible for a third-party to forge sessions.
The secret is stored in conf/application.conf
. It is very important to keep it private: do not commit it in a public repository, and when you install an application written by someone else change the secret key to your own. You can do that with the command play secret
.
Don’t store critical data
However, since it is not encrypted, you should not store critical data in the session. It can be seen by looking at the user cookie, by sniffing the connection on a local network or over wifi.
The session is stored in a cookie, and cookies are limited to 4 KB. In addition to this limit, only strings can be stored.
Cross-Site Scripting
Cross-site scripting is one of the most common vulnerabilities in web applications. It consists of injecting malicious JavaScript into web pages using forms that your application provides.
Let’s say you’re writing a blog, and anyone can add a comment. If you blindly include what commenters have written into your HTML page, you’re opening your site to attacks. It can be:
- Show a popup to your visitors
- Redirect your visitors to a site controlled by the attacker
- Steal information supposed to be visible only to the current user, and send it back to the attacker’s site
Consequently it is very important to be protected from those attacks.
Play’s template engine automatically escapes strings. If you really need to insert unescaped HTML in your templates, you can do so using the raw() Java extension on the string. But if the string comes from a user input, you need to make sure it is sanitized first.
When sanitizing user inputs, always prefer whitelisting (only allow a list of safe tags) to blacklisting (forbid a list of unsafe tags and allow all the rest).
SQL Injection
SQL injection is an exploit consisting in using user input to execute a SQL query that was not intended by the developer. This can be used to destroy data, or to get access to data that shouldn’t be visible to the current user.
When you are using high level “find” methods, you should be covered against SQL injection. When you build your own queries manually, you need to be careful not to concatenate strings with +
but use ?
placeholders.
This is good:
createQuery("SELECT * from Stuff WHERE type= ?1").setParameter(1, theType);
This is NOT:
createQuery("SELECT * from Stuff WHERE type=" + theType);
Site avaliado como falso
The CSRF attack can be really problematic in web applications:
This attack method works by including malicious code or a link in a page that accesses a web application that the user is believed to have authenticated. If the session for that web application has not timed out, an attacker may execute unauthorized commands.
To prevent this attack, the first thing to do is to use GET and POST methods appropriately. That means that only the POST method should be used to change the application’s state.
For POST requests the only way to secure critical actions properly is to issue an authenticity token. Play now has a built-in helper to handle that:
- a
checkAuthenticity()
method available in controllers, that checks for a valid authenticity token in the request parameters and sends a forbidden response if something is bad. session.getAuthenticityToken()
generates an authenticity token only valid for the current session.#{authenticityToken /}
creates a hidden input field that you can add to any form.
So for example:
public static destroyMyAccount() {
checkAuthenticity();
…
}
Will only work when called from a form including a proper authenticity token:
<form method="post" action="/account/destroy">
#{authenticityToken /}
<input type="submit" value="destroy my account">
</form>
For POST requests, Play’s form tag automatically generates the authenticity token:
#{form @destroyMyAccount()}
<input type="submit" value="destroy my account">
#{/form}
You can of course add the checkAuthenticity()
method call as a before filter if you want to protect all actions of a hierarchy of controllers.
More on cross-site request forgery
Continuing the discussion
Next: Play modules.


Oops, this does not look like a chessboard...
process status: {{ err }} process output: {{ content }}


Newspaper says the boy killed by someone, don’t say who.
She stands by the window up there on floor sixteen wondering why the street’s so calm with no cars going or coming, and then she looks at the wall clock and sees the time.
Now she’s too awake to go back to bed, she’s too awake not to remember him, her one son, or to forget exactly how long yesterday was, each moment dragged
into the next by the force of her will until she thought this simply cannot be. She sits at the scarred, white kitchen table, the two black windows staring back at her,
wondering how she’ll go back to work today.
Now say something, it doesn’t matter what you say because all the words are useless: “I’m sorry for your loss.” “This too will pass.” “He was who he was.”  This afternoon you and I will see her just before four alight nimbly from the bus, her lunch box
of one sandwich, a thermos of coffee, a navel orange secured under her arm, and we’ll look away.
We are an opensource initiative created for the Go Detroit Hackathon by Austin Lubetkin and Kathleen Burkhardt
SideWall can connect people already in a community who need jobs and can't afford cars/transit with other members of that community who can rideshare on their way to jobs at similar locations. More people get jobs because more people can commute to the areas that are experiencing economic growth regardless of where they originally live in that city. People find jobs on our job board and can make "connections" with registered profiles/routes on a map that match their job criteria. They then can message other users profiles and work out details.


"A Bug's Life" - Small Wonder by Homer Yen (1998)
If you loved the rich animation and the fresh look of 1995's Toy Story, you'll find just as much to enjoy here with Pixar's newly computer-animated release. Indeed, there is a tremendous eye for detail, an undeniable richness, and even some terrifically animated action sequences that will make you wonder how did they do that. But is a visual feast enough to satiate our appetite for a fun night out? For me, it left a bland taste in my mouth.
Like ANTZ, another recent film about small critters, the focus here is on Flik (voiced by David Foley), who is one of the smartest ants of the colony but is prone to accidents. For example, he creates a machine which allows for increased harvests. Food is needed not only for the survival of the colony, but an additional offering must be collected to appease tyrannical grasshoppers, led by Hopper (voiced by Kevin Spacey). But when Flik accidentally destroys the offering, it infuriates Hopper who threatens their destruction. To try to help, Flik embarks on a quest to find some tough warrior bugs to come to their aid. Flik does find some volunteers (a praying mantis, a black widow, a caterpillar and others). However, Flik mistakes them to be warriors when in fact their mobility and acts of bravery are only because they are runaways from a circus.
There certainly is no lack of creativity here. A rainstorm looks like the ants are being water bombed. Dandelion pods are used to transport Flik afar as he floats across considerable distances. The circus bugs are all very colorful and appealing. I especially liked Heimlich, the plump caterpillar, whose voice was a funny mix of soprano and Nazi. A particularly nice treat comes at the end when they show animated outtakes, where insects miss their cues or flub their lines, satirizing mistakes often made by humans.
I commend this movie for it's visual appeal and it's ability to captivate kids. The animation is superb. Witness the sequence where the band of bugs is trying to escape from a hungry bird or a circus act involving matches and fly paper, and you'll agree. If I had children, this would be on my list of must-see movies. Yet, for this alternative rock listening, sports car driving, entertainment seeking guy, I would probably tell my friends to see ANTZ instead. Why? Because that movie plays better for adults attending by themselves. It had an entertaining villain and some terrific sequences that was more than delightful. "A Bug's Life" is clearly more family-oriented fare.

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


Who is I’m A Celebrity…. winner Jacqueline Jossa?
She defeated Andrew Whyment in the final.
Jacqueline Jossa shot to fame as Lauren Branning in EastEnders, but has hit the headlines in recent years for her personal life.
The actress is married to former The Only Way Is Essex star Dan Osborne, with whom she has two daughters, Ella, four, and Mia, one.
The pair briefly split last year, less than 12 months after getting married, but reconciled after Osborne took part in Celebrity Big Brother just over a year ago.
Jossa joined EastEnders in 2010 and played the role in 2018, taking over from Madeline Duggan.
It was announced she was leaving the BBC soap in 2017, alongside her on-screen sister Lorna Fitzgerald and her last scenes aired in February 2018.
Before she went in the jungle, she said she expected her former co-stars to be surprised she was taking part.
She said: “I think people think I am a pushover or a doormat.
“I also think some people pity me. I want to show I am fine, I am up for a laugh and that I will go for it and try my best.”
Jossa and Osborne have been tabloid fixtures amid rumours of his infidelity.
While they were in the jungle, her campmate and Rak-Su star Myles Stephenson reportedly claimed to her that Osborne cheated on her with Stephenson’s ex-girlfriend Gabby Allen.
Osborne and Allen were previously in the Celebrity Big Brother house together.
After the reports emerged, Osborne tweeted: “No matter how much they try breaking us, we are and will always remain a team. Keep smashing it in that jungle and I can not wait to see you when you get out @jacquelineMjos.”
Jossa said the most difficult part of being in I’m A Celebrity was being herself rather than acting a role, as she has never done that before.
Before she went on the show, she said: “My old colleagues on EastEnders are going to be shocked,” she said. “I don’t think they can imagine me in there. I don’t like creatures. It is not my thing.”
Asked how it would feel to win, she said: “Obviously I would love to win but you don’t go into it wanting to.
“This is one of those shows where you come out feeling proud of what you have done. If doing this programme opens doors for me then that would be so exciting.
“There are loads of things I would love to do, both acting and presenting.”


The following form will help us determine the work schedule for the labs. Please respond truthfully. Your answers will help us create a work schedule that is better tailored to everyone's preferrences.
Please be aware that you may not get every shift you prefer, but you will have a higher possibility of getting your preferred shifts if you fill out the form correctly.


This post continues Getting rid of huge ibdata file, no dump required, part I, where I describe way of converting your single-tablespace InnoDB database into a file-per-table one, without the pain of exporting and importing everything at once.
In previous part we put aside the issue of foreign keys. We address this issue now.
What if my InnoDB tables have foreign keys?
MyISAM does not support them, so you can't just ALTER an InnoDB table to MyISAM and back into InnoDB, and expect everything to work.
Alas, this calls for additional steps (i.e. additional ALTER commands). However, these still fall well under the concept of "do it one table at a time, then take time to recover your breath and replication lag".
Save , drop and restore your Foreign Keys setup
You can use common_schema's sql_foreign_keys to get the full listing and create definition of your foreign keys. For example, assume we use the sakila database:
SELECT create_statement FROM common_schema.sql_foreign_keys WHERE TABLE_SCHEMA='sakila' INTO OUTFILE '/somewhere/safe/create_foreign_keys.sql'
(replace TABLE_SCHEMA='sakila' with whatever you want).
A sample output would be something like this (note: no semicolon on end of line):
ALTER TABLE `sakila`.`address` ADD CONSTRAINT `fk_address_city` FOREIGN KEY (`city_id`) REFERENCES `sakila`.`city` (`city_id`) ON DELETE RESTRICT ON UPDATE CASCADE ALTER TABLE `sakila`.`city` ADD CONSTRAINT `fk_city_country` FOREIGN KEY (`country_id`) REFERENCES `sakila`.`country` (`country_id`) ON DELETE RESTRICT ON UPDATE CASCADE ALTER TABLE `sakila`.`customer` ADD CONSTRAINT `fk_customer_address` FOREIGN KEY (`address_id`) REFERENCES `sakila`.`address` (`address_id`) ON DELETE RESTRICT ON UPDATE CASCADE ALTER TABLE `sakila`.`customer` ADD CONSTRAINT `fk_customer_store` FOREIGN KEY (`store_id`) REFERENCES `sakila`.`store` (`store_id`) ON DELETE RESTRICT ON UPDATE CASCADE ALTER TABLE `sakila`.`film` ADD CONSTRAINT `fk_film_language` FOREIGN KEY (`language_id`) REFERENCES `sakila`.`language` (`language_id`) ON DELETE RESTRICT ON UPDATE CASCADE ALTER TABLE `sakila`.`film` ADD CONSTRAINT `fk_film_language_original` FOREIGN KEY (`original_language_id`) REFERENCES `sakila`.`language` (`language_id`) ON DELETE RESTRICT ON UPDATE CASCADE ...
Once the above is in a safe place, you will want to DROP all of your foreign keys. Again, using common_schema:
SELECT drop_statement FROM common_schema.sql_foreign_keys WHERE TABLE_SCHEMA='sakila'; +-----------------------------------------------------------------------------------+ | drop_statement | +-----------------------------------------------------------------------------------+ | ALTER TABLE `sakila`.`address` DROP FOREIGN KEY `fk_address_city` | | ALTER TABLE `sakila`.`city` DROP FOREIGN KEY `fk_city_country` | | ALTER TABLE `sakila`.`customer` DROP FOREIGN KEY `fk_customer_address` | | ALTER TABLE `sakila`.`customer` DROP FOREIGN KEY `fk_customer_store` | | ALTER TABLE `sakila`.`film` DROP FOREIGN KEY `fk_film_language` | | ALTER TABLE `sakila`.`film` DROP FOREIGN KEY `fk_film_language_original` | | ... | +-----------------------------------------------------------------------------------+
You don't want to issue all these at once: do them one at a time, and wait for your slave to catch up.
Once this is done, you can move on to the steps described in Part I of this post: converting tables to MyISAM, shutting down, removing InnoDB files, then converting back to InnoDB.
And then, taking breath again, you must re-import the foreign keys. Use the ADD CONSTRAINT commands you have saved earlier on. Again, one at a time, wait for slave to catch up.
To reiterate, for each table you would take the following steps:
- Make sure the FK definition is safely stored somewhere
- STOP SLAVE
- Drop all table's foreign keys: ALTER TABLE ... DROP FOREIGN KEY ..., DROP FOREIGN KEY ...
- START SLAVE
- Wait for slave to catch up
- STOP SLAVE
- ALTER TABLE ... ENGINE=MyISAM (*)
- START SLAVE
- Wait for slave to catch up
(*) Altering to MyISAM drops FK constraints, so the above could actually be done in one step. I'm cautious and illustrate in two.
Once all tables are altered, and InnoDB tablespace is removed, restoration is as follows: for each table,
- STOP SLAVE
- ALTER TABLE ... ENGINE=InnoDB [create options]
- START SLAVE
- Wait for slave to catch up
- STOP SLAVE
- ALTER TABLE ... ADD CONSTRAINT ..., ADD CONSTRAINT ...(+)
- START SLAVE
- Wait for slave to catch up
(+) Alas, you can't convert to InnoDB and add constraints at the same time...
This is not entirely safe
A MyISAM slave to an InnoDB master with foreign keys is a tricky business. It really depends on the type of foreign keys you have and the use you make of them. See Impact of foreign keys absence on replicating slaves.
comments powered by Disqus


To enter for your chance to win one of 50 free tickets to Smart Community Week, please complete the submission form here. Graduate and undergraduate students are welcome to apply. Computer science and engineering majors are highly encouraged to apply.
This three-day event will feature three amazing smart, connected community events in one location: The Smart City Innovation Summit, the GCTC Expo and the US Ignite Application Summit. This will be the most comprehensive showcase and accelerator of Smart Community Innovation in the world:
The US Ignite Application Summit will provide developers, industry, communities, government, foundations and universities working with software defined networks, cloud computing and gigabit networks a forum to partner and showcase advanced networks and the applications that operate on them.
The GCTC Expo is a collaborative platform enabling local governments, nonprofit organizations, academic institutions, technologists and private corporations to form project teams and develop ground breaking Internet of Things applications within the Smart City environment.
The Smart City Innovation Summit will be co-hosted by the City of Austin and US Ignite. The event will bring together the leaders and members of more than 100 communities to partner with technology companies and service providers. This event links progressive cities with state of the art solutions and best practices.
In addition to networking opportunities, students will see more than a hundred next-generation application teams and Action Clusters that have developed innovative applications to improve the quality of life in their communities. Innovators in these projects are leveraging software defined networks and state of the art technology to benefit areas such as: energy efficiency, transportation, security, water, health care, education, emergency services and community planning. Together, these applications and Action Clusters are defining a new-kind of smart community. This event will be their opportunity to show the world what they’ve discovered, invented and created.
The next-generation applications and Action Clusters consist of representatives from local governments, nonprofit organizations, academic and industry. From Baltimore to Chattanooga to Atlanta to Las Vegas to Spain to Nigeria - residents of these communities will display their hard work and results at the expo. Attendees will also have the chance to interact with ultramodern technology including drones, sensors and unmanned vehicles. They will also have the chance to talk with the application teams and Action Clusters to discuss the creation and implementation of each project.
Among the cities showcasing their work will be Burlington, VT, Chattanooga, TN, Dayton, OH, Fairfax, VA, Portland, OR, Kansas City, MO, Valencia, Spain, Rabat, Morocco, Abuja City, Nigeria and many others from around the world.
Students can learn more about the planned programs, exhibits and speakers at Smart Community Week here.


--- layout: page title: About subtitle: Curious, passionate and knowledge-hungry self-starter looking for opportunities to make impacts. permalink: /about/ ---
I'm an experienced Data Engineer with a passion to make a difference using data! Always motivated to learn and improve myself through challenges. Isn't life all about the joy of seeing yourself learn and improve and to make positive impact in the world?
I have a passion to make a positive impact to the community. I saw myself enjoy working on meaningful projects that help the community and would like to dedicate my career to work on such projects to benefit people around me. I would like to describe myself as outgoing, compassionate and creative. I love collaborating with people from different backgrounds and developing new ideas as I also learn from them.
Proficient: Python, SQL
Familiar: AWS, HTML, Git, LaTex, Java, PySpark, Airflow, Docker, Jira, Linux
Data Engineering: Data Modeling, Data Warehousing, ETL Pipelines
University of California, San Diego 19': Mathematics, Probability and Statistics (B.S.)
Relevant Coursework:
University of California, San Diego & edX, Inc. : Data Science (Micro-Masters)
Online Coursework:


+750.000 downloads, +70.000 running instances, +1.500 community members
Support for more than 25 languages: Java, C#, PHP, PL/SQL, COBOL, RPG, Swift, VB6 and much more
Code Duplications, Unit Test Coverage, Code Complexity, Bugs, Vulnerabilities, Code Smells and much more


mockspresso-dagger / com.episode6.hackit.mockspresso.dagger / DaggerLazyMaker / <init>
<init>
DaggerLazyMaker()
Deprecated: This functionality is now exposed by the kotlin extension method `automaticLazies()` and its JavaSupport counterpart MockspressoDaggerPluginsJavaSupport#automaticLazies()
This class will be marked internal/protected in a future release
An implementation of SpecialObjectMaker for dagger.Lazy
.


{% extends 'hordak/base.html' %} {% block page_name %}Delete Transaction{% endblock %} {% block content %}
You could alternatively create another transaction to reverse it. Deleting a transaction cannot be undone.


| write.river.newInflow | R Documentation |
A new text file is created. The first row contains " DAILY RIVER RUNOFF" and the second row "[date in format 'YYYY.MM.DD hh:mm:ss'] [annual inflow 1] [annual inflow 2]" The 'annual inflow n' has to be printed in the Fortran format 'F8.6' (width=8; 6 digits in front of the '.'). One file is created per day.
write.river.newInflow(riverInfo, riverData, dOt, year, month = 0, day = 0, overwrite = TRUE, warn = TRUE)
riverInfo |
list with grid information |
riverData |
list with river inflow data |
dOt |
character; directory into which the final file should be written |
year |
integer; year to write out |
month |
integer; month to write out; if month==0 => write all months |
day |
integer; day to write out; if day==0 => write all days |
overwrite |
logical; overwrite 'dOt/filename' it already exists |
warn |
logical; allow/suppress warnings |
file written
Daniel Neumann<EMAIL_ADDRESS>write.river.append2Inflow, write.river.newNML, write.river.netCDF
# read a file: test.mom.monthly <- read.river.mom('files/GER_Dan_Str_Warnow.dat') # interpolate from monthly to daily test.mom.daily <- interpolate.river.mom(test.mom.monthly, to = 'daily', method = 'step') # get grid info grid_info <- get.infos.grids.hbm.basic() # get river infos file <- 'files/river_list.dat' riverInfos <- read.infos.rivers(file, grid_info) # (you will get some warnings here) # write new namelist write.river.newInflow(riverInfos$Warnow, test.mom.daily, 'out_dir', 2012, month = 1, day = 1:5, overwrite=FALSE) ## example file content # DAILY RIVER RUNOFF # 2012.07.27 12:00:00 2.1


18 December 2001
Disease Outbreak Reported
As of 18 December, 19 cases have been reported (2 laboratory confirmed) including 13 deaths. A total of 193 contacts have been identified and are under active follow up.
Additional staff with expertise in case management of haemorrhagic fevers from the Centers for Disease Control and Prevention (CDC, Atlanta) and Médecins sans Frontières (Belgium), partners in the Global Outbreak Alert and Response Network, have joined the International team.


Section 20 Model evaluation
20.1 Background
The modStats
function provides key model evaluation statistics
for comparing models against measurements and models against other models.
There are a very wide range of evaluation statistics that can be used to assess model performance. There is, however, no single statistic that encapsulates all aspects of interest. For this reason it is useful to consider several performance statistics and also to understand the sort of information or insight they might provide.
In the following definitions, \(O_i\) represents the \(i\)th observed value and \(M_i\) represents the \(i\)th modelled value for a total of \(n\) observations.
Fraction of predictions within a factor or two, FAC2
The fraction of modelled values within a factor of two of the observed values are the fraction of model predictions that satisfy:
\[\begin{equation} 0.5 \leq \frac{M_i}{O_i} \leq 2.0 \tag{20.1} \end{equation}\]
Mean bias, MB
The mean bias provides a good indication of the mean over or under estimate of predictions. Mean bias in the same units as the quantities being considered.
\[\begin{equation} MB = \frac{1}{n}\sum_{i=1}^{N} M_i - O_i \tag{20.2} \end{equation}\]
Mean Gross Error, MGE
The mean gross error provides a good indication of the mean error regardless of whether it is an over or under estimate. Mean gross error is in the same units as the quantities being considered.
\[\begin{equation} MGE = \frac{1}{n}\sum_{i=1}^{N} |M_i - O_i| \tag{20.3} \end{equation}\]
Normalised mean bias, NMB
The normalised mean bias is useful for comparing pollutants that cover different concentration scales and the mean bias is normalised by dividing by the observed concentration.
\[\begin{equation} NMB = \frac{\sum\limits_{i=1}^{n} M_i - O_i}{\sum\limits_{i=1}^{n} O_i} \tag{20.4} \end{equation}\]
Normalised mean gross error, NMGE
The normalised mean gross error further ignores whether a prediction is an over or under estimate.
\[\begin{equation} NMGE = \frac{\sum\limits_{i=1}^{n} |M_i - O_i|}{\sum\limits_{i=1}^{n} O_i} \tag{20.5} \end{equation}\]
Root mean squared error, RMSE
The RMSE is a commonly used statistic that provides a good overall measure of how close modelled values are to predicted values.
\[\begin{equation} RMSE = \left({\frac{\sum\limits_{i=1}^{n} (M_i - O_i)^2}{n}}\right)^{1/2} \tag{20.6} \end{equation}\]
Correlation coefficient, r
The (Pearson) correlation coefficient is a measure of the strength of
the linear relationship between two variables. If there is perfect
linear relationship with positive slope between the two variables, \(r\)
= 1. If there is a perfect linear relationship with negative slope
between the two variables \(r\) = -1. A correlation coefficient of 0
means that there is no linear relationship between the variables. Note
that modStats
accepts an option method
, which can be set to
“kendall” and “spearman” for alternative calculations of \(r\).
\[\begin{equation} r = \frac{1}{(n-1)}\sum\limits_{i=1}^{n}\left(\frac{M_i - \overline{M}}{\sigma_M}\right)\left(\frac{O_i - \overline{O}}{\sigma_O}\right) \tag{20.7} \end{equation}\]
Coefficient of Efficiency, COE
The Coefficient of Efficiency based on Legates and McCabe (2012) and Legates and McCabe Jr (1999). There have been many suggestions for measuring model performance over the years, but the \(COE\) is a simple formulation which is easy to interpret.
A perfect model has a \(COE\) = 1. As noted by Legates and McCabe although the \(COE\) has no lower bound, a value of \(COE\) = 0.0 has a fundamental meaning. It implies that the model is no more able to predict the observed values than does the observed mean. Therefore, since the model can explain no more of the variation in the observed values than can the observed mean, such a model can have no predictive advantage.
For negative values of \(COE\), the model is less effective than the observed mean in predicting the variation in the observations.
\[\begin{equation} COE = 1.0 - \frac{\sum\limits_{i=1}^{n} |M_i -O_i|}{\sum\limits_{i=1}^{n} |O_i - \overline{O}|} \tag{20.8} \end{equation}\]
Index of Agreement, IOA
The Index of Agreement, \(IOA\) is commonly used in model evaluation (Willmott, Robeson, and Matsuura 2011). It spans between -1 and +1 with values approaching +1 representing better model performance. An \(IOA\) of 0.5, for example, indicates that the sum of the error-magnitudes is one half of the sum of the observed-deviation magnitudes. When \(IOA\) = 0.0, it signifies that the sum of the magnitudes of the errors and the sum of the observed-deviation magnitudes are equivalent. When \(IOA\) = -0.5, it indicates that the sum of the error-magnitudes is twice the sum of the perfect model-deviation and observed-deviation magnitudes. Values of \(IOA\) near -1.0 can mean that the model-estimated deviations about \(O\) are poor estimates of the observed deviations; but, they also can mean that there simply is little observed variability — so some caution is needed when the \(IOA\) approaches -1. It is defined as (with \(c = 2\)):
\[\begin{equation} IOA = \left\{ \begin{array}{l} 1.0 - \frac{\displaystyle \sum\limits_{i=1}^{n} |M_i-O_i|} {\displaystyle c\sum\limits_{i=1}^{n} |O_i - \overline{O}|}, when \\ \sum\limits_{i=1}^{n} |M_i-O_i| \le c\sum\limits_{i=1}^{n} |O_i - \overline{O}| \\ \frac{\displaystyle c\sum\limits_{i=1}^{n} |O_i - \overline{O}|} {\displaystyle \sum\limits_{i=1}^{n} |M_i-O_i|} - 1.0, when \\ \sum\limits_{i=1}^{n} |M_i-O_i| > c\sum\limits_{i=1}^{n} |O_i - \overline{O}| \end{array} \tag{20.9} \right. \end{equation}\]
20.2 Example of use
The function can be called very simply and only requires two numeric fields to compare. To show how the function works, some synthetic data will be generated for 5 models.
## observations; 100 random numbers
set.seed(10)
<- 100 * runif(100)
obs <- data.frame(obs, mod = obs + 10, model = "model 1")
mod1 <- data.frame(obs, mod = obs + 20 * rnorm(100), model = "model 2")
mod2 <- data.frame(obs, mod = obs - 10 * rnorm(100), model = "model 3")
mod3 <- data.frame(obs, mod = obs / 2 + 10 * rnorm(100), model = "model 4")
mod4 <- data.frame(obs, mod = obs * 1.5 + 3 * rnorm(100), model = "model 5")
mod5 <- rbind(mod1, mod2, mod3, mod4, mod5)
modData head(modData)
## obs mod model
## 1 50.747820 60.74782 model 1
## 2 30.676851 40.67685 model 1
## 3 42.690767 52.69077 model 1
## 4 69.310208 79.31021 model 1
## 5 8.513597 18.51360 model 1
## 6 22.543662 32.54366 model 1
We now have a data frame with observations and predictions for 5 models. The evaluation of the statistics is given by:
modStats(modData, obs = "obs", mod = "mod", type = "model")
## model n FAC2 MB MGE NMB NMGE RMSE
## 1 model 1 100 0.89 10.000000 10.000000 0.22455508 0.2245551 10.000000
## 2 model 2 100 0.79 0.922391 16.592192 0.02071276 0.3725861 19.318041
## 3 model 3 100 0.88 1.013647 7.887325 0.02276196 0.1771139 9.451354
## 4 model 4 100 0.56 -20.603684 21.860655 -0.46266619 0.4908921 25.758520
## 5 model 5 100 0.96 22.521685 22.569229 0.50573588 0.5068035 26.132866
## r COE IOA
## 1 1.0000000 0.538289594 0.7691448
## 2 0.8258202 0.233921216 0.6169606
## 3 0.9371237 0.635833987 0.8179170
## 4 0.8142735 -0.009329173 0.4953354
## 5 0.9963753 -0.042044773 0.4789776
It is possible to rank the statistics based on the , which is a good general indicator of model performance.
modStats(modData, obs = "obs", mod = "mod", type = "model",
rank.name = "model")
## model n FAC2 MB MGE NMB NMGE RMSE
## 3 model 3 100 0.88 1.013647 7.887325 0.02276196 0.1771139 9.451354
## 1 model 1 100 0.89 10.000000 10.000000 0.22455508 0.2245551 10.000000
## 2 model 2 100 0.79 0.922391 16.592192 0.02071276 0.3725861 19.318041
## 4 model 4 100 0.56 -20.603684 21.860655 -0.46266619 0.4908921 25.758520
## 5 model 5 100 0.96 22.521685 22.569229 0.50573588 0.5068035 26.132866
## r COE IOA
## 3 0.9371237 0.635833987 0.8179170
## 1 1.0000000 0.538289594 0.7691448
## 2 0.8258202 0.233921216 0.6169606
## 4 0.8142735 -0.009329173 0.4953354
## 5 0.9963753 -0.042044773 0.4789776
The modStats
function is however much more flexible than
indicated above. While it is useful to calculate model evaluation
statistics in a straightforward way it can be much more informative to
consider the statistics split by different periods.
Data have been assembled from a Defra model evaluation exercise which
consists of hourly O3 predictions at 15 receptor points around the
UK for 2006. The aim here is not to identify a particular model that
is ‘best’ and for this reason the models are simply referred to as
model 1
, model 2
and so on. We will aim to make the data more
widely available. However, data set has this form:
load("~/My Drive/openair/Data/modelData.RData")
head(modTest)
## site date o3 mod group
## 1 Aston.Hill 2006-01-01 00:00:00 NA NA model 1
## 2 Aston.Hill 2006-01-01 01:00:00 74 65.28 model 1
## 3 Aston.Hill 2006-01-01 02:00:00 72 64.64 model 1
## 4 Aston.Hill 2006-01-01 03:00:00 72 64.46 model 1
## 5 Aston.Hill 2006-01-01 04:00:00 70 64.88 model 1
## 6 Aston.Hill 2006-01-01 05:00:00 66 65.80 model 1
There are columns representing the receptor location (site
), the
date, measured values (o3
), model predictions (mod
) and the
model itself (group
). There are numerous ways in which the
statistics can be calculated. However, of interest here is how the
models perform at a single receptor by season. The seasonal nature of
O3 is a very important characteristic and it is worth considering
in more detail. The statistics are easy enough to calculate as shown
below. In this example a subset of the data is selected to consider
only the Harwell site. Second, the type
option is used to split
the calculations by season and model. Finally, the statistics are
grouped by the \(IOA\) for each season. It is now very easy how model
performance changes by season and which models perform best in each
season.
options(digits = 2) ## don't display too many decimal places
modStats(subset(modTest, site == "Harwell"),
obs = "o3", mod = "mod",
type = c("season", "group"), rank = "group")
## # A tibble: 36 x 12
## # Groups: season [4]
## season group n FAC2 MB MGE NMB NMGE RMSE r COE
## <ord> <fct> <int> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 sprin… mode… 1905 0.875 8.58 16.5 0.137 0.263 21.9 0.576 0.0747
## 2 sprin… mode… 1905 0.876 -2.04 16.8 -0.0325 0.268 21.8 0.452 0.0584
## 3 sprin… mode… 1905 0.872 11.9 17.7 0.190 0.282 23.7 0.519 0.00818
## 4 sprin… mode… 1905 0.885 4.98 18.1 0.0793 0.289 23.9 0.361 -0.0151
## 5 sprin… mode… 1905 0.870 10.8 19.5 0.172 0.311 24.0 0.588 -0.0940
## 6 sprin… mode… 1825 0.821 7.79 20.0 0.123 0.317 25.8 0.480 -0.118
## 7 sprin… mode… 1905 0.786 -13.7 21.4 -0.218 0.340 26.1 0.531 -0.195
## 8 sprin… mode… 1905 0.732 -13.4 24.3 -0.213 0.388 29.8 0.312 -0.362
## 9 sprin… mode… 1905 0.743 1.01 24.9 0.0161 0.396 32.8 0.264 -0.392
## 10 summe… mode… 2002 0.918 3.83 15.5 0.0632 0.256 20.9 0.750 0.317
## # … with 26 more rows, and 1 more variable: IOA <dbl>
Note that it is possible to read the results of the modStats
function into a data frame, which then allows the results to be
plotted. This is generally a good idea when there is a lot of numeric
data to consider and plots will convey the information better.
The modStats
function is much more flexible than indicated above
and can be used in lots of interesting ways. The type
option in
particular makes it possible to split the statistics in numerous
ways. For example, to summarise the performance of models by site, model and day of the week:
modStats(modStats, obs = "o3", mod = "mod",
type = c("site", "weekday", "group"),
rank = "group")
Similarly, if other data are available e.g. meteorological data or other pollutant species then these variables can also be used to test models against ranges in their values. This capability is potentially very useful because it allows for a much more probing analysis into model evaluation. For example, with wind speed and direction it is easy to consider how model performance varies by wind speed intervals or wind sectors, both of which could reveal important performance characteristics.


Welcome to chat support!
Name
3 days ago
Message.
Mail.
Finish chatting
Move to file
Finish and Send by email
Español
New message
Send


Keep up with the latest events in the cinema world.
Events Calendar
January
| 04 Jan |
The annual Golden Globe Awards, now in their 77th year, are presented by the Hollywood Foreign Press Association in recognition and celebration of achievements in film and television. |
| Jan 22 - Feb 2 |
International Film Festival Rotterdam is held late January each year in various cinemas across Rotterdam, Netherlands. Since its 1972 inauguration, it has consistently focused on independent and experimental filmmaking, showcasing emerging talents and established auteurs. |
| Jan 22 - Feb 2 |
The Sundance Film Festival is the largest independent film festival in the United States. Organized by the Sundance Institute, it takes place every January in Park City, Utah, Salt Lake City, and at the Sundance Resort. |
February
| Feb 10 |
The night of the Oscars, also known as the Academy Awards, is the most popular date in the film industry calendar. There are 24 nominations for achievement in each cinema category during the year. |
| Feb 20 - Feb 29 |
The Berlin International Film Festival, or the Berlinale, is an annual film festival held in Berlin, Germany. The inaugural festival was held in West Berlin in 1951, and since 1978 has been held every February. It is one of the "Big Three" along with the Venice and Cannes Film Festivals. |
March
April
May
| May 12 - May 23 |
The Cannes Festival, until 2003 called the International Film Festival and known in English as the Cannes Film Festival, is an annual film festival held in Cannes, France, which previews new films of all genres, including documentaries, from all around the world. Founded in 1946, the invitation-only festival is held annually at the Palais des Festivals et des Congrès. |
June
| Jun 4 - Jun 9 |
The Festival is held at over 20 other venues across Sheffield and the surrounding area, including the Showroom Workstation, Light Cinema, Sheffield Town Hall, Sheffield City Hall, and the Doc Fest Exchange on Tudor Square developed with Wellcome. Fun is a key element, and the festival holds many parties. The festival has grown steadily over recent years. Doc Fest screenings help many films to achieve a wider audience by attracting distribution and further screening opportunities for the films it shows. |
| Jun 17 - Jun 28 |
Edinburgh hosts the world’s longest-running film festival. Unfortunately, this year’s submission window has closed, but it will open again later this year for the 2021 festival. This year predicts special guests, Q&A’s and networking opportunities. |
July
August
| Aug 25 - Sep 5 |
The Venice Film Festival, also known as the Venice International Film Festival, is the oldest film festival in the world. It is one of the "Big Three" film festivals, alongside the Cannes and Berlin International Film Festivals. |
September
| Sep 20 - Sep 26 |
Encounters is the UK’s largest short film festival. It’s a competitive festival and films selected are both Bafta and Academy Award qualifying. So if you think you have an excellent short film be sure to submit. Altogether the festival promises to be a jam-packed event this year with industry talks and special guests. |
Ocotober
| Oct 5 - Oct 10 |
Celebrating films from home and abroad, Bolton Film Festival is a BAFTA qualifying short film festival that acts as an amplifier of emerging and established talent. Through its industry talks, masterclasses and networking sessions it aims to break open the door to a creative industry that many people find difficult to access and navigate. |
November
| Nov 4 - Nov 19 |
Leeds International is one of the UK’s longest-running film festivals. It’s a competitive festival both Bafta and Academy Award qualifying. Specifically, their BFI partnership provides feature film funding for filmmakers based in the North. |
| Nov 19 - Nov 23 |
A long-running film festival in the heart of London. In particular, they have script competitions and aim to get their winning scripts into production. In fact, five scripts have previously been optioned and gone on to win awards and distribution. |


| Tech 1 | Tech 2 | Tech 3 | Tech 4 | Tech 5 |
Technical Blog: Phase-0-unit-2
What is the difference between margin, border, and padding?
7th December 2014
In CSS the term given when talking about design and layout is 'The Box Model'. The box model is a box that wraps around HTML elements and consists of: margins, borders, padding and then your actual content.
Below is an example of the box model
Here is a breakdown of what each one of those parts does:
-Margin: Clears an area outside the border. The margin is transparent.
-Border: A border that goes around the padding and content.
-Padding: Clears an area around the content. The padding is also transparent.
-Content: The conent of the box - where your text or images will be displayed.


BRIDGING THE ENERGY POVERTY GAP
yay
OneRepublic Concert in Downtown Houston
Belgian Waffles in NYC!!
Wedding Table
My Favorite View of the Gulf
Rocks and Rocks and Rocks
A Cathedral in England
Fill this form and we'll get back to you as soon as possible.
Close
Email for more info.
You clicked the button, but it doesn't actually go anywhere because I haven't set up the PHP email form. Click on the link below to actually email me, haha
Email Me


filmcritic.com presents a review from staff member Max Messier. You can find the review with full credits at http://www.filmcritic.com/misc/emporium.nsf/2a460f93626cd4678625624c007f2b46/5f536061548d6f29882568cd000b0f58?OpenDocument
Hamlet A film review by Max Messier Copyright 2000 filmcritic.com
A new school of acting should be constructed based on the method of Ethan Hawke. I am the first to admit that I enjoy Ethan Hawke in almost anything he does. The reason I like him so much is because he brings the essence of the brooding soul to the screen so well. Hawke plays Tortured Guy so perfectly they should give an award at the Oscars every year and call it the `E. Hawke Award for Best Brooding Performance of the Year'. As a natural-born brooder, the character of Hamlet perfectly suits Hawke because the role has always been given to older guys looking to validate their dramatic acting chops. Hawke's Hamlet is the Generation X Hamlet. A Hamlet that uses his `discontent' with the world as a razor against the neck of reality.
This updated 20th century Hamlet is brought to vivid realism by independent director Michael Almereyda. Almereyda places the play in the year 2000, creating the state of Denmark as a huge conglomerate, the slain king a CEO, and Hamlet as a digital video maker. This interpretation sounds almost like it's going to be as much fun as a ten-car pileup on the expressway; you want to turn your head away from in disgust but are strangely curious about what happened.
The surprise is that this is one of the best versions of Hamlet. Almereyda has studied every film and stage version of the play, and his history lessons have paid off. He creates a stark, unflinching vision of a dangerous world where trust is a lost commodity and betrayal is weapon.
Hawke carries the vehicle well with his unflinching performance of a haunted man pushed to the brink, finding solace among the haunting visions of dead souls and images he captures with his camera. The supporting cast of Kyle Machlachan, Julia Stiles, Diane Venora, Bill Murray-- doing a damn good job with the dialogue -- and Sam Shepard are surprising in their ability to convey the motivations of the characters. Almereyda does an incredible job of taking the text and rearranging the structure to capture a better essence of Hamlet as it exists in the 21st century. The most enjoyable scene is when Hamlet recites the `To Be or Not to Be' while he is walking up and down the aisles of a Blockbuster Video. The imagery of the enormity of the aisles and the sense of Hamlet lost within a world of escapism is haunting and strangely unnerving. Julia Stiles equally provides a quiet reserve to the character of Ophelia and her muted voice speaks strongly in scenes as others determine her fate for her.
Michael Almeryda's Hamlet is dangerous and sharp-edged. It retains a clear hold of the text and doesn't try to dress up the scenes with numerous cuts and flashy imagery. The actors smoothly roll through the acts and do not drag things down with dramatic flair. Speakerphones, video, digital still photos, laptops, and cell phones are used as not only showpieces, but also as valid devices to communicate the play's text. If more classic plays can be updated with such brilliance, maybe more people will put down their Backstreet Boys biographies and pick a Hemingway novel or a Shakespearean play and start to understand the world around us.
Director/Screen Adaptation: Michael Almereyda Producer: Andrew Fierberg, Amy Hobby Actors: Ethan Hawke, Kyle Machlachan, Julia Stiles, Diane Venora, Bill Murray, Sam Shepard
MPAA Rating: Pending
http://www.miramax.com/mm_front/owa/mp.entryPoint?action=0&midStr=1338
Four stars out of five
-- Christopher Null -<EMAIL_ADDRESS>- http://www.filmcritic.com
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


Projection:
The following projections can be used:
stereographic projection, Lambert projection, orthographic projection, Kavraiskii projection.


A tiny, crazy fast memoization library for the 95% use-case
As the author of moize
, I created a consistently fast memoization library, but moize
has a lot of features to satisfy a large number of edge cases. micro-memoize
is a simpler approach, focusing on the core feature set with a much smaller footprint (~1.5kB minified+gzipped). Stripping out these edge cases also allows micro-memoize
to be faster across the board than moize
.
ESM in browsers:
import memoize from "micro-memoize";
ESM in NodeJS:
import memoize from "micro-memoize/mjs";
CommonJS:
const memoize = require("micro-memoize");
const assembleToObject = (one: string, two: string) => ({ one, two });
const memoized = memoize(assembleToObject);
console.log(memoized("one", "two")); // {one: 'one', two: 'two'}
console.log(memoized("one", "two")); // pulled from cache, {one: 'one', two: 'two'}
If you need them, all types are available under the MicroMemoize
namespace.
import { MicroMemoize } from "micro-memoize";
Starting in 4.0.0
, you can compose memoized functions if you want to have multiple types of memoized versions based on different options.
const simple = memoized(fn); // { maxSize: 1 }
const upToFive = memoized(simple, { maxSize: 5 }); // { maxSize: 5 }
const withCustomEquals = memoized(upToFive, { isEqual: deepEqual }); // { maxSize: 5, isEqual: deepEqual }
NOTE: The original function is the function used in the composition, the composition only applies to the options. In the example above, upToFive
does not call simple
, it calls fn
.
function(object1: any, object2: any): boolean
, defaults to isSameValueZero
Custom method to compare equality of keys, determining whether to pull from cache or not, by comparing each argument in order.
Common use-cases:
import { deepEqual } from "fast-equals";
type ContrivedObject = {
deep: string;
};
const deepObject = (object: {
foo: ContrivedObject;
bar: ContrivedObject;
}) => ({
foo: object.foo,
bar: object.bar
});
const memoizedDeepObject = memoize(deepObject, { isEqual: deepEqual });
console.log(
memoizedDeepObject({
foo: {
deep: "foo"
},
bar: {
deep: "bar"
},
baz: {
deep: "baz"
}
})
); // {foo: {deep: 'foo'}, bar: {deep: 'bar'}}
console.log(
memoizedDeepObject({
foo: {
deep: "foo"
},
bar: {
deep: "bar"
},
baz: {
deep: "baz"
}
})
); // pulled from cache
NOTE: The default method tests for SameValueZero equality, which is summarized as strictly equal while also considering NaN
equal to NaN
.
function(object1: any[], object2: any[]): boolean
Custom method to compare equality of keys, determining whether to pull from cache or not, by comparing the entire key.
Common use-cases:
import { deepEqual } from "fast-equals";
type ContrivedObject = { foo: string; bar: number };
const deepObject = (object: ContrivedObject) => ({
foo: object.foo,
bar: object.bar
});
const memoizedShape = memoize(deepObject, {
// receives the full key in cache and the full key of the most recent call
isMatchingKey([object1]: [ContrivedObject], [object2]: [ContrivedObject]) {
return (
object1.hasOwnProperty("foo") &&
object2.hasOwnProperty("foo") &&
object1.bar === object2.bar
);
}
});
console.log(
memoizedShape({
foo: "foo",
bar: "bar",
baz: "baz"
})
); // {foo: {deep: 'foo'}, bar: {deep: 'bar'}}
console.log(
memoizedShape({
foo: "not foo",
bar: "bar",
baz: "baz"
})
); // pulled from cache
boolean
, defaults to false
Identifies the value returned from the method as a Promise
, which will result in one of two possible scenarios:
onCacheHit
and onCacheChange
optionsconst fn = async (one: string, two: string) => {
return new Promise((resolve, reject) => {
setTimeout(() => {
reject(new Error({ one, two }));
}, 500);
});
};
const memoized = memoize(fn, { isPromise: true });
memoized("one", "two");
console.log(memoized.cache.snapshot.keys); // [['one', 'two']]
console.log(memoized.cache.snapshot.values); // [Promise]
setTimeout(() => {
console.log(memoized.cache.snapshot.keys); // []
console.log(memoized.cache.snapshot.values); // []
}, 1000);
NOTE: If you don't want rejections to auto-remove the entry from cache, set isPromise
to false
(or simply do not set it), but be aware this will also remove the cache listeners that fire on successful resolution.
number
, defaults to 1
The number of values to store in cache, based on a Least Recently Used basis. This operates the same as maxSize
on moize
, with the exception of the default being different.
const manyPossibleArgs = (one: string, two: string) => [one, two];
const memoized = memoize(manyPossibleArgs, { maxSize: 3 });
console.log(memoized("one", "two")); // ['one', 'two']
console.log(memoized("two", "three")); // ['two', 'three']
console.log(memoized("three", "four")); // ['three', 'four']
console.log(memoized("one", "two")); // pulled from cache
console.log(memoized("two", "three")); // pulled from cache
console.log(memoized("three", "four")); // pulled from cache
console.log(memoized("four", "five")); // ['four', 'five'], drops ['one', 'two'] from cache
NOTE: The default for micro-memoize
differs from the default implementation of moize
. moize
will store an infinite number of results unless restricted, whereas micro-memoize
will only store the most recent result. In this way, the default implementation of micro-memoize
operates more like moize.simple
.
function(cache: Cache, options: Options): void
Callback method that executes whenever the cache is added to. This is mainly to allow for higher-order caching managers that use micro-memoize
to perform superset functionality on the cache
object.
const fn = (one: string, two: string) => [one, two];
const memoized = memoize(fn, {
onCacheAdd(cache: Cache, options: Options) {
console.log("cache has been added to: ", cache);
console.log("memoized method has the following options applied: ", options);
}
});
memoized("foo", "bar"); // cache has been added to
memoized("foo", "bar");
memoized("foo", "bar");
memoized("bar", "foo"); // cache has been added to
memoized("bar", "foo");
memoized("bar", "foo");
memoized("foo", "bar");
memoized("foo", "bar");
memoized("foo", "bar");
NOTE: This method is not executed when the cache
is manually manipulated, only when changed via calling the memoized method.
function(cache: Cache, options: Options): void
Callback method that executes whenever the cache is added to or the order is updated. This is mainly to allow for higher-order caching managers that use micro-memoize
to perform superset functionality on the cache
object.
const fn = (one: string, two: string) => [one, two];
const memoized = memoize(fn, {
onCacheChange(cache: Cache, options: Options) {
console.log("cache has changed: ", cache);
console.log("memoized method has the following options applied: ", options);
}
});
memoized("foo", "bar"); // cache has changed
memoized("foo", "bar");
memoized("foo", "bar");
memoized("bar", "foo"); // cache has changed
memoized("bar", "foo");
memoized("bar", "foo");
memoized("foo", "bar"); // cache has changed
memoized("foo", "bar");
memoized("foo", "bar");
NOTE: This method is not executed when the cache
is manually manipulated, only when changed via calling the memoized method. When the execution of other cache listeners (onCacheAdd
, onCacheHit
) is applicable, this method will execute after those methods.
function(cache: Cache, options: Options): void
Callback method that executes whenever the cache is hit, whether the order is updated or not. This is mainly to allow for higher-order caching managers that use micro-memoize
to perform superset functionality on the cache
object.
const fn = (one: string, two: string) => [one, two];
const memoized = memoize(fn, {
maxSize: 2,
onCacheHit(cache: Cache, options: Options) {
console.log("cache was hit: ", cache);
console.log("memoized method has the following options applied: ", options);
}
});
memoized("foo", "bar");
memoized("foo", "bar"); // cache was hit
memoized("foo", "bar"); // cache was hit
memoized("bar", "foo");
memoized("bar", "foo"); // cache was hit
memoized("bar", "foo"); // cache was hit
memoized("foo", "bar"); // cache was hit
memoized("foo", "bar"); // cache was hit
memoized("foo", "bar"); // cache was hit
NOTE: This method is not executed when the cache
is manually manipulated, only when changed via calling the memoized method.
function(Array<any>): any
A method that allows you transform the key that is used for caching, if you want to use something other than the pure arguments.
const ignoreFunctionArgs = (one: string, two: () => {}) => [one, two];
const memoized = memoize(ignoreFunctionArgs, {
transformKey: JSON.stringify
});
console.log(memoized("one", () => {})); // ['one', () => {}]
console.log(memoized("one", () => {})); // pulled from cache, ['one', () => {}]
If your transformed keys require something other than SameValueZero
equality, you can combine transformKey
with isEqual
for completely custom key creation and comparison.
const ignoreFunctionArgs = (one: string, two: () => {}) => [one, two];
const memoized = memoize(ignoreFunctionArgs, {
isEqual(key1: string, key2: string) {
return key1.args === key2.args;
},
transformKey(args: any[]) {
return {
args: JSON.stringify(args)
};
}
});
console.log(memoized("one", () => {})); // ['one', () => {}]
console.log(memoized("one", () => {})); // pulled from cache, ['one', () => {}]
Object
The cache
object that is used internally. The shape of this structure:
{
keys: any[][], // available as MicroMemoize.Key[]
values: any[] // available as MicroMemoize.Value[]
}
The exposure of this object is to allow for manual manipulation of keys/values (injection, removal, expiration, etc).
const method = (one: string, two: string) => ({ one, two });
const memoized = memoize(method);
memoized.cache.keys.push(["one", "two"]);
memoized.cache.values.push("cached");
console.log(memoized("one", "two")); // 'cached'
NOTE: moize
offers a variety of convenience methods for this manual cache
manipulation, and while micro-memoize
allows all the same capabilities by exposing the cache
, it does not provide any convenience methods.
Object
This is identical to the cache
object referenced above, but it is a deep clone created at request, which will provide a persistent snapshot of the values at that time. This is useful when tracking the cache changes over time, as the cache
object is mutated internally for performance reasons.
function
The original function passed to be memoized.
boolean
Hard-coded to true
when the function is memoized. This is useful for introspection, to identify if a method has been memoized or not.
Object
The options
passed when creating the memoized method.
All values provided are the number of operations per second (ops/sec) calculated by the Benchmark suite. Note that underscore
, lodash
, and ramda
do not support mulitple-parameter memoization (which is where micro-memoize
really shines), so they are not included in those benchmarks.
Benchmarks was performed on an i7 8-core Arch Linux laptop with 16GB of memory using NodeJS version 10.15.0
. The default configuration of each library was tested with a fibonacci calculation based on the following parameters:
35
{number: 35}
35, true
{number: 35}, {isComplete: true}
NOTE: Not all libraries tested support multiple parameters out of the box, but support the ability to pass a custom resolver
. Because these often need to resolve to a string value, a common suggestion is to just JSON.stringify
the arguments, so that is what is used when needed.
This is usually what benchmarks target for ... its the least-likely use-case, but the easiest to optimize, often at the expense of more common use-cases.
| Operations / second | |
|---|---|
| fast-memoize | 59,069,204 |
| micro-memoize | 48,267,295 |
| lru-memoize | 46,781,143 |
| Addy Osmani | 32,372,414 |
| lodash | 29,297,916 |
| ramda | 25,054,838 |
| mem | 24,848,072 |
| underscore | 24,847,818 |
| memoizee | 18,272,987 |
| memoizerific | 7,302,835 |
This is what most memoization libraries target as the primary use-case, as it removes the complexities of multiple arguments but allows for usage with one to many values.
| Operations / second | |
|---|---|
| micro-memoize | 40,360,621 |
| lodash | 30,862,028 |
| lru-memoize | 25,740,572 |
| memoizee | 12,058,375 |
| memoizerific | 6,854,855 |
| ramda | 2,287,030 |
| underscore | 2,270,574 |
| Addy Osmani | 2,076,031 |
| mem | 2,001,984 |
| fast-memoize | 1,591,019 |
This is a very common use-case for function calls, but can be more difficult to optimize because you need to account for multiple possibilities ... did the number of arguments change, are there default arguments, etc.
| Operations / second | |
|---|---|
| micro-memoize | 33,546,353 |
| lru-memoize | 20,884,669 |
| memoizee | 7,831,161 |
| Addy Osmani | 6,447,448 |
| memoizerific | 5,587,779 |
| mem | 2,620,943 |
| underscore | 1,617,687 |
| ramda | 1,569,167 |
| lodash | 1,512,515 |
| fast-memoize | 1,376,665 |
This is the most robust use-case, with the same complexities as multiple primitives but managing bulkier objects with additional edge scenarios (destructured with defaults, for example).
| Operations / second | |
|---|---|
| micro-memoize | 34,857,438 |
| lru-memoize | 20,838,330 |
| memoizee | 7,820,066 |
| memoizerific | 5,761,357 |
| mem | 1,184,550 |
| ramda | 1,034,937 |
| underscore | 1,021,480 |
| Addy Osmani | 1,014,642 |
| lodash | 1,014,060 |
| fast-memoize | 949,213 |
Standard stuff, clone the repo and npm install
dependencies. The npm scripts available:
build
=> run webpack to build development dist
file with NODE_ENV=developmentbuild:minifed
=> run webpack to build production dist
file with NODE_ENV=productiondev
=> run webpack dev server to run example app (playground!)dist
=> runs build
and build-minified
lint
=> run ESLint against all files in the src
folderprepublish
=> runs compile-for-publish
prepublish:compile
=> run lint
, test
, transpile:es
, transpile:lib
, dist
test
=> run AVA test functions with NODE_ENV=test
test:coverage
=> run test
but with nyc
for coverage checkertest:watch
=> run test
, but with persistent watchertranspile:lib
=> run babel against all files in src
to create files in lib
transpile:es
=> run babel against all files in src
to create files in es
, preserving ES2015 modules (for pkg.module
)Generated using TypeDoc


--- layout: default title: About order: 2 nav: true ---
Hi, I'm Matthew! Though likely not up to date, I use this site to keep track of my various ongoing projects. Feel free to contact me at my email if you have any questions.


Click Continue
to login to {{.OpenIDWebsiteURL}} as {{.user.Username}}
{{Tf "uadmin/system" .Language.Code "Username"}}
{{.user.Username}}
Continue


JDBC Limitations¶
Here are some limitations of JDBC encountered during the implementations of Jaqy.
32-bit Row Position and Activity Count¶
There are a number of places where the use of 32-bit int that are very limited in today’s Big Data world.
In ResultSet
- boolean absolute(int row)
- int getRow()
- There are also no mechanisms for obtaining the ResultSet row count without having to either scan the rows or to use the positioning to find out the row count. In ResultSet.TYPE_FORWARD_ONLY, the only way to get the row count is by scanning rows.
In Statement,
Lacking Good Type Information¶
The only thing in JDBC that provides type information is DatabaseMetadata.getTypeInfo(). Yet it is not all that useful.
- There can be multiple types mapped to a single JDBC type without a way of
indicating the default one to use. For instance, in PostgreSQL, both
int4
andserial
maps toTypes.INTEGER
. - For types such as VARCHAR(100) CHARACTER SET LATIN, there are basically no way to infer the type name based on the type information.
Poor Array and Struct Type Support¶
JDBC has very poor Array and Struct support.
ResultSetMetaData and ParameterMetaData have only the basic type information, without any mechanism obtaining the element or attribute types. Needless to say, there is no way to obtain nested Array or Struct information.
There is also no way to obtain the Struct attributes.


Sources for the website http://www.dashbuilder.org
Follow the instructions of Awestruct's getting started guide.
First set up your environment correctly:
$ curl -L https://get.rvm.io | bash -s stable --ruby=1.9.3
$ gem install awestruct bundler
$ rake setup
Then build the website (before and after your changes):
$ rake clean build
$ firefox _site/index.html