Swiri (1999) * * * A movie review by Serdar Yegulalp Copyright 2000 by Serdar Yegulalp
"Swiri" broke all box-office records in its native South Korea when it was released, outgrossing even "Titanic". Its US$2.2M budget made it the most expensive Korean movie yet (with a good chunk of the money put up by Samsung, whose logos feature predominantly throughout). Maybe it's not surprising that the movie in question was created in blatant imitation of the slick Hollywood products it would be forced to compete with in Korean theaters.
What we have here is pretty much a Korean take on the Simpson/Bruckheimer formula: a fast-moving thrill machine with slick visuals, tons of action, and a certain amount of sentiment (in this case, a 'cross-the-border love story). It works as entertainment, and people who've never seen a Korean movie in their lives will be able to dive right in. But it's resoundingly hollow.
The first few scenes are shatteringly violent, showing North Korean prisoners being used as training dummies in a sickening covert-ops exercise. One of the spies is Hee, a North Korean female sharpshooter who's being sent South to perform assassinations. (The movie misses a bet by not having her leave a calling card at every killing, but I guess they figured even that would have been excessive.) The hero is Won, a South Korean special agent who's been on the tail of Hee for quite some time. He suspects a leak in his department when one of their contacts is gunned down in front of them, and stumbles into a plot that (MacGuffin time!) involves a special chemical bomb that can level city blocks.
The movie wastes no time in deciding if it's going to be a political thriller or a shoot-em-up -- we get a token amount of pontificating and introspection about the North and South, and then gobs of gunplay. There is also time for a romance between two major characters, all the pieces of which are out of the standard kit of movie love stories. We do get an explanation of the cryptic title, though -- although it's less than edifying, and more than a little maudlin.
And for a movie that comes from completely outside Hollywood, it's funny how many of the cliches are here. True to form, any movie that mentions a bomb and that does not provide at least one building being blown up is cheating us, and we do in fact get exactly that (although it would be criminal of me to see which one or when). We also get the handy Aquarium Rule (thank you, Roger Ebert), which dictates that any movie with aquariums in it is going to have them shot to pieces. Speaking of visual cliches, if I see one more shot of a door being kicked open by a bunch of guys with flashlights strapped to their guns, I'll puke. We get that three times here.
I liked "Swiri" without ever really getting involved in it. It's a well-made exercise; it looks and sounds as good as anything Hollywood ever put out. If it were released here in a dubbed edition, it might do fairly well. In fact, director Kang Jae-gyu has hinted that was exactly his aim. But it's a little saddening how unadventurous it really is. Korea has managed to produce one of the best, most thoughtful films of all time ("Why Has Bodhi-Dharma Left for the East?"); with "Swiri", it's clear they can make big entertainment machines as well. Here's hoping they keep it on an even keel.
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


Maru is an adorable little Scottish Fold from Japan. She started becoming popular on YouTube when her owners started uploading videos of her.
Honey Bee is an amazing blind cat that loves to go hiking!
Grumpy Cat is arguably one of the most successful cats (if not already the number one cat) on the web today.
Pusheen is a cartoon cat who is the subject of comic strips and sticker sets on Facebook. Pusheen Cat was created in 2010 by Claire Belton and Andrew Duff for a comic strip on their website, Everyday Cute.
Runt-of-the-litter Lil Bub started making waves on the web in November of 2011 after photos of her were uploaded to social sites like Tumblr and Reddit.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Itaque earum nostrum suscipit ducimus nihil provident, perferendis rem illo, voluptate atque, sit eius in voluptates, nemo repellat fugiat excepturi! Nemo, esse.
If you've ever been on the Internet, you've probably seen Debbie, the crazy eHarmony cat lady. Her video for the online dating site went viral and now has almost 28 million views. Only issue? 'Debbie' was totally made up. Cara Hartmann recorded the video back in 2009 as a joke to put on her younger sister. click here to access the youtube video or to find to more about the video sentation that got 28 million you tube views.


Like a lot of other rhythm games, graphics is not where soundodger shines, it has no clear
aesthetic and there isn’t any emphasis on art. The gameplay however is very pleasing to look at.
Michael Molinari, the creator of soundodger said on his presskit for soundodger the following:
“Soundodger started out as an attempt to tackle music games from the angle of dance. In dodging the
various bullet patterns in a level, the player is doing a dance throughout the stage, almost as if
she is a slave to the music.” - Molinari 2013
The game does a very good job at imitating dance throughout the game utilising features such as time
warping and even an animated cursor that blurs when it’s moved suddenly.
The menus look alright however the little animation it does when going through the different
screens almost feels like a time robber. No elements of the game are natively skinnable.


# What's mkdnotes？
> Mkdnotes is a local notebook that provides features such as notes browsing and searching. All you need is to focus on writing your notes.Of course you can submit your code to any repositorys that support the deployment of static projects so that your notes can be seen anywhere.
# How it works？
> The core is the mkdnotes generator which is located in the root directory. You need to use it to create a note template file in the notes directory (Don't leave directory: /notes). This template is similar to Strapdown's.Then you can write something to your template file using the markdown syntax, and finally, like Git, you need to submit your update. Once submitted, the generator will regenerate the data file (/assets/data.js) based on your current note directory structure, and data.js file will be use for home page.
# Getting started
- You don't need to install, just copy the demo folder under the project.
The directory structure is as follows, do not change them.
/
index.html // Home Page, quick find and view your notes
favicon.ico // mkdnotes logo
mkdnotes.ini // configuration file
mkdnotes.exe // the generator(Windows version), if is not this platform, you can delete it.
mkdnotes_l // the generator(Linux version), if is not this platform, you can delete it.
mkdnotes_m_ // the generator(Mac version), if is not this platform, you can delete it.
assets/ // Data.js is stored in this directory, and also some core files, so don't change them.
notes/ // Your note directory
- Use the generator to create a primitive template file (* current working directory must be in the notes directory (/notes))
```
..\mkdnotes --init hello // Created a note template file called hello.html
```
- Create a template file with your own configuration
*Here is the items in the configuration file（/mkdnotes.ini）.*：
**title** －－－ The content of the HTML title tag（Defaults: My Markdown Notes）
**link_icon** －－－ Whether to display the icon which is located in the root directory，Yes or No（Defaults: Yes）
**theme** －－－ The name of Bootstrap themes, all available themes are located in /assets/strapdown/themes, the name needs to be remove the .min.css suffix and be converted to lowercase (defaults: simplex)
```
..\mkdnotes --init -o hello // 用自己的配置项创建一个笔记模板
```
- Generating the data file（/assets/data.js）
*once your note directory structure changes: rename files, add new files or delete files, like Git, you need to use command to regenerate the new data file.*
```
..\mkdnotes --commit
// Now open the homepage（/index.html）, you can see all your notes in the navigation bar on the left.
```
- Now make the cover of the homepage iframe
*You can modify the /notes/welcome.html directly. This file needs to be located in the notes directory. If the file name is not "welcome.html", you need to modify the homepage core file (/assets/js/core.js) *
```
// core.js： near line 60, modify the value of cover
var cover = 'welcome.html';
if (rel === './notes' && n === cover)
continue;
```
- alter the left navigation bar style
*you also need to modify the homepage core file (/assets/js/core.js)*
```
// core.js： near line 80, Optional theme： theme-dark，theme-dark，theme-white， theme-black
// counters（Whether to display the number of notes）, detail or develop, see: https://github.com/FrDH/jQuery.mmenu
extensions: [ 'theme-dark' ], // theme-light(Default)|theme-dark|theme-white|theme-black
setSelected: true,
/*
counters: true,
*/
```
# Tips
> When creating a template file, the working directory must be in the notes directory. It is recommended to add the generator's directory to the global environment.
> Generator encountered errors, doesn't work? compile it (any compiler that supports C89)
```
gcc -o mkdnotes mkdnotes.c
```
# Have any questions or want to contribute?
> MIT License
> Fork me on [GitHub](https://github.com/SiGool/mkdnotes) or Submit issues.
# Credits
- [cJSON](https://github.com/DaveGamble/cJSON): Ultralightweight JSON parser in ANSI C
- [inih](https://github.com/benhoyt/inih): Simple .INI file parser in C, good for embedded systems
- [whereami](https://github.com/gpakosz/whereami): Locate the current executable and the current module/library on the file system
- [jQuery.mmenu](https://github.com/FrDH/jQuery.mmenu): The best jQuery plugin for app look-alike on- and off-canvas menus with sliding submenus for your website and webapp.
- [strapdown](https://github.com/arturadib/strapdown): Instant and elegant Markdown documents in the browser
- Icons from [IcoMoon app](https://icomoon.io/app)


The flow graphs we consider in this paper are finite directed edge-labelled, node-labelled graphs where the incoming and outgoing edges to each node are ordered, and each edge has exactly one start node, but multiple finish nodes. We impose a type discipline to ensure that the edge and node labels match. These graphs are the same as Hasegawa's sharing graphs.
A single-coloured flow graph G over a signature V is:
| Identity: | Composition: |
| Tensor: | |
| Symmetry: | |
| Diagonal: | |
| Terminal: | |
A morphism F between flow graphs G and G is:
| Naturality of diagonal: | |||
| Terminal is natural: |
A relation R between flow graphs G and G is:
A relation R between flow graphs G and G is a simulation iff:
G and G are bisimilar (written G G) iff there is a bisimulation between them.
Note that any graph isomorphism is a simulation, and so isomorphic graphs are bisimilar. The converse is not true, since:
Proposition (Bisimulation is a congruence). Bisimulation is a congruence wrt the graph operations.
Proposition (Flow graphs form a category with finite products). Graph(V) is a strict cartesian category over V.
Proof. We have already defined the required operations, but we need to show they satisfy the axioms for a cartesian category. For this, we construct a bisimulation for each of the axioms.
Since flow graphs over V form a cartesian category over V, there is a unique morphism [[_]] from the free cartesian category over V into Graph(V). We can define this syntactically as the term algebra (with the type system and axiomatization given for cartesian categories) Term(V):
| f,g | ::= | idX | |
| | | f ; g | ||
| | | f g | ||
| | | symmX Y | ||
| | | copyX | ||
| | | discardX | ||
| | | c |
If terms can be proved equal using the axioms for a cartesian category we shall write f = g.
We would like to show soundness and completeness for this axiomatization, that is f = g iff [[f]] [[g]]. As is usual for such results, soundness is immediate, but completeness requires a normal form result. Most of the rest of this section is taken up by showing the required normalization results.
Proposition (Soundness). If f = g then [[f]] [[g]].
Proof. Follows immediately from the fact that Graph(V) is a cartesian category.
Proposition (Expressivity). For any graph G, there is a term f such that [[f]] G.
Proof. Proved by induction on the number of outgoing edges of G.
A shuffle (ranged over by s) is any term not including constructors c. A permutation (ranged over by p) is any shuffle not including copy or discard.
Proposition (Completeness for shuffles). If [[s1]] [[s2]] then s1 = s2.
| n | ::= | |
| | | ||
| | |
Proof. First show by induction on syntax that for any normal f1 and f2, we can find normal g such that f1 f2 = g.
Then show by induction on syntax that for any normal f and shuffle s, we can find normal g such that f;s = g.
Then show by induction on syntax that for any normal f1 and f2, we can find normal g such that f1;f2 = g.
Finally show by induction on syntax that for any f, we can find normal g such that f = g.
Define p_inv to be the permutation:
Proposition (Permutations are isos). For any p, p;p_inv = id and p_inv;p = id.
Proof. An induction on p.
Proposition (Cancellation of permutations). For any:
Proof. Let h be: f;p_inv. Then use soundness and p being an iso to show the required properties.
Proposition (Cancellation of nodes). For any:
Proof. Find the normal form equal to g, and then cancel permutations and nodes iteratively, finishing with a use of completeness for shuffles, to prove f = g.
Proposition (Initiality). Graph(V) is the initial cartesian category over V.
Proof. By construction, Term(V) is the initial cartesian category over V. Since Term(V) is expressive, we have a map term : Graph(V) Term(V) with the property that [[term(G)]] G. By soundness and completeness, this map is an isomorphism in the category of categories with finite products over V, and so Graph(V) is the initial cartesian category over V.


I want an alert here after the user clicks on "Buy".
This is the description of the product 1.
This is the description of the product 2.
This is the description of the product 3.
This is the description of the product 4.


(2007) Hewlett-Packard Singapore
Neoview Essential
(2008) Oracle Indonesia
Oracle BI Suite (Hyperion) And Essbase
(2008) Hewlett-Packard Indonesia
Business Object
(2010) Ab-Initio
Ab-Initio Introduction
(2010) Ab-Initio
Ab-Initio Advance
(2011) Ab-Initio
Ab-Initio Environment Suite (AIES) administration
(2016) Coursera
University of Stanford Learning Machine


Sites
Saas
Fintech
Sport
Food
Chat
Music
Photo
Travel
News
Intro
Pages
About
Careers
Faqs
Success stories
Pricing one
Pricing two
Team
Blog
Blog one
Blog two
Post
Contacts
Contacts one
Contacts two
Contacts three
Elements
Components
Containers and sections
Navigation and headers
Buttons and inputs
Contact form
Content box
Countdown
Counter
Icons
Image box
Inner menu
Lists
Map
Media box
Progress bar
Social
Table
Timeline
Typography
Accordion
Album
Collapse
Fixed area
Grid
Lightbox
Masonry
Scroll box
Slider
Steps
Tab
Section base
Section image
Section slider
Section video
Section block
Section map
Big box
Classic
Transparent
Icon
Icon top
Side
Side collapse
Subtitle
Top logo
Dropdown types
Header image
Header slider
Header video
Header base
Download App
${LegalTitle}


Constable pulls proposal for town council funding
PLANS to form a town council have not been shelved, the St Helier Constable has said, despite withdrawing an amendment to the Government Plan for £15,000 of funding.
Earlier this month a vote was passed in the St Helier Parish Assembly to set up a shadow town council, in the hope that this would be a predecessor of a body that would take powers from the States on parish matters such as infrastructure, licensing and planning.
Mr Crowcroft had submitted an amendment for £15,000 to be released to explore the town council options. However, he decided to pull the request after other amendments were rejected earlier in the debate.
Despite this, he insisted the plans were still on the table and that an election would take place next month to select five shadow councillors including one between the age of 16 and 25.
Mr Crowcroft explained: ‘This isn’t the plans being put on hold, I just pulled the amendment because the way it was going on in the States, they were all getting knocked back.
‘The idea is about taking powers from the States and easing the load on their shoulders, but I pulled it with what was happening.
‘I will put it back in over the new year.’
The idea of a town council has been worked on for around a year. In 2020, discussions will begin with States departments about what responsibilities could be transferred to such a body and how the town council would work in practice.
Mr Crowcroft added: ‘We will discuss with the Environment Minister [John Young] about taking over smaller matters, such as permission for signage, because he will want to be focusing on other things such as the Island Plan.’


{% extends 'layout.html' %} {% block title %}{% if unit %}Uploads for {{ unit }}{% else %}Hidden Uploads{% endif %}{% endblock %} {% block layout-content %} {% if unit %}
These are the uploaded files for the unit {{ unit }}. The main thing this will be used for is:
These are the miscellaneous uploaded files (not attached to any particular unit).
{% endif %} {% if files|length > 0 %}Nothing here yet!
{% endif %}


Huawei MatePad Pro Teased Again, Will Bring a "Reconstructive Creativity" - Gizchina.com
by PierreHuawei MatePad Pro Teased Again, Will Bring a “Reconstructive Creativity”
5 (100%) 3 votes
The Huawei MatePad Pro is getting closer and closer as the company keeps teasing the upcoming tablet on Chinese social media. Today, the phone maker officially confirmed the name of the device, which as you may guess is indeed MatePad Pro.
Huawei MatePad Pro Teased Again, Will Bring a “Reconstructive Creativity”
The tablet, launching in Shanghai on November 25th, will be coming with the slogan “Reconstructive Creativity”. This makes us believe the MatePad Pro will be a high-end device aimed at professionals; such a designers and artists.
As if the slogan wasn’t enough the Chinese company also released the images you can see above and below. The images portray Magellan’s fleet that completed the first circumnavigation of the world in 1522, this created the vision of the world we have today; then the Wright brothers successfully creating the first airplane and moving our vision from the earth to the air; finally, Gagarin with his journey into outer space gave us an even wider vision of the earth.
Huawei then added that: “In the past 1000 years, human beings have developed a larger field vision step by step. Now, from a larger perspective, there are still three days “.
Now, we aren’t sure which groundbreaking technology the MatePad Pro will adopt to deserve this claim, but it’s mostly likely just hyping up the display the device will be featuring. Previous rumors do indeed suggest a screen to body ratio of over 90%. Plus we’ll also find a punch-hole camera design for the first time on a tablet.
Other specs on the tablet should include a large display, around 10 to 12 inches, the powerful Huawei Kirin 990 CPU, a maximum of 8GB of RAM and from 128GB to 512GB of internal storage. Additionally, we’ll also find a magnetic keyboard, a stylus and other accessories.


If you’ve just finished installing your shiny new copy of Mac OS X Lion, here are a few tips for Apple’s replacement for Spaces and Exposé — “Mission Control”. For each of these tips, I’m going to assume you’ve created at least one new Desktop in Mission Control — if you haven’t, do that now.
Create a new Desktop for an application or window##
- Activate Mission Control;
- Click and hold on either an individual window, or an application’s icon;
- Drag the selected item up the top right corner of your display — as you do this, a slightly transparent Desktop will slide out from the right-hand side of the screen with a “+” on it;
- Drop the selected item onto this new Desktop;
- Bingo! You have a new Desktop, with your selected items on it — simply click the new Desktop to switch to it.
Set different desktop images for each Desktop##
- Switch to the Desktop you want to change the desktop picture on;
- Launch ‘System Preferences.app’;
- Go to ‘Desktop & Screen Saver’;
- Set your desktop image the same way you always do;
- Move the ‘Desktop & Screen Saver’ window to the next Desktop by dragging it to the edge of your screen and holding it there for a second or two;
- Change the desktop image on that Desktop;
- Yell our ‘hooray!’ a little bit, cause it’s pretty cool to have different desktop images on each of your Desktops (‘Hooray’ completely optional).
Set hotkeys to go directly to each Desktop##
- Launch ‘System Preferences.app’;
- Go to ‘Keyboard’;
- Select the ‘Keyboard Shortcuts’ tab;
- From the source list on the left, select ‘Mission Control’;
- The final entries in the list on the right should correspond to your individual Desktops — they will be labelled ‘Switch to Desktop 1’, ‘Switch to Desktop 2’, etc;
- Set a keyboard shortcut — make sure that you enable the shortcut by clicking on the checkbox next to its name;
- Party like it’s Mac OS X Snow Leopard running Hyperspaces (Partying not provided in package)
Assign an application to a specific Desktop, or all Desktops using the Dock##
- Right-click on the icon of the application in the Dock you want to move to another Desktop;
- Select ‘Options » Assign To » All Desktops’ to show this application on all Desktops (this is useful for applications like the Finder, iChat and Twitter); OR
Select ‘Options » Assign To » This Desktop’ to make the application open new windows on the current Desktop, even if you’re working on another Desktop;
Note: These settings persist through quitting and re-opening an application, so if you ever decide you don’t like this setting follow the instructions as above but select ‘None’ from the menu.
Like I’ve said before, I really like Mission Control — it’s got the right blend of features and simplicity for the way I work. I’ve had to modify my work patterns a little, but it feels frictionless next to the old Spaces to me (hundreds of Hyperspaces users everywhere gasp!). I’m sure as we all spend more time with Mission Control, more features will come to light – I’ll post them here as I find them.


{% extends "D4DAppBundle::frontend.layout.twig.html" %}
{% if form is defined and form %}{% form_theme form 'D4DAppBundle:Common/Form:frontend_form_layout.html.twig' %}{% endif %}
{% block content %}
For your information: Freezing your account does not automatically cancel payed subscription. If you have a payed subscription and you wish to freeze your account, send us an email , with your request.


Just attended a very nice overview talk on the Unity game development system at goto Aarhus 2013.
The tech in Unity itself is very impressive, especially the ability to deploy the same code base and assets to 10+ platforms, including iOS. But Unity has also put a lot of thought into how the product is licensed. Not only was it a very conscious decision by the founders that Unity be royalty free, but the same thoughtfulness has also been applied to the Unity Asset Store.
The Asset Store is Unity’s equivalent of the App Store, but instead of apps you can buy art (e.g. graphics, models, audio) and code assets for inclusion in your Unity project. Had Unity left the choice of license up to the creators of the submitted assets, it would have completely undermined the royalty free nature of the Unity engine, as each asset could potentially inject it’s own royalty model into a product created with Unity. Instead all assets are per definition subject to standard royalty free TOS & EULA, and as explained in the below excerpt from Unity’s Asset Store submission guidelines it is not possible to sell assets in the Asset Store that are subject to other/additional terms.
6.2 Licensing your Content
For consistency sake, all Asset Store offerings are covered by a license we have created. Please have a look at the End User License Agreement to be sure you are comfortable with it. If you are offering your content for free, you have the further option of selecting one of three free-licenses, which override the basics of our commercial license. Please do not include your own license terms in your offering.
It is very refreshing to see how licensing models can be designed to enhance the usefulness of a product and its eco-system, while at the same time serve as the underpinning of an indisputable financial success.
If you have any use-cases involving 3D graphics you really should check Unity out. And please note that Unity is not limited to games. Unity Studios have done some really cool non-game applications, including a simulation for training safety procedures at sea and a brilliant app for Velux that let’s you simulate the effects of installing Velux windows in your own home.


CustomtextPipeAdapting text in applications during runtime
This service enables the replacement of text in components and dialog boxes etc. during runtime.
Typical use cases are the naming of the application, the wording of login prompts or any salutation.
After filling up the dictionary via function
addCustomTexts(newTexts: { [key: string]: string }),
there are two ways to use the service:
function to get the text `getCustomText(key, defaultvalue)`
pipe to be used in templates like
{{'Text 1 default'| customtext:'token' | async"}}
If you like to use this service in the application and in lazy loaded modules a special way to
declare this module is needed (otherwise, the service will not be singleton):
In the application module import `IqbComponentsModule.forRoot()`
In the sub (lazy loaded) module import `IqbComponentsModule.forChild()`


JavaScript Exercise 5a
This style of this paragraph will change when you click the button below.
Change Style


Class FamilyCell
A Family to hold Cell agents, new elements will be added to the collection as Cell instances.
Methods
- FamilyCell:_init ()
-
FamilyCell constructor. When a new Cell Family is created, its father's init function is called. This allows the new Collection_Patches to use all the methods of the Collection class.
Usage:
New_Instance = FamilyCell()
- FamilyCell:create_grid (x_size, y_size, offset_x, offset_y, cell_width, cell_height)
-
A function to create a bidimensional grid of patches quickily
Usage:
declare_FamilyCell('Patches') Patches:create_patches(100,100,-50,-50)
- FamilyCell:new (object)
-
Insert a new Cell to the family.
Usage:
for i=1,100 do for j=1,100 do Cells_family:new( {['pos']={i,j}} ) end end
- FamilyCell:diffuse (param, perc, num)
-
Produces the diffusion of a parameter of each Cell between its neighbors.
Usage:
Cells = create_grid(3, 3) ask_ordered(Cells, function(x) x.val = 1 end) Cells:diffuse('val', 0.1, 50) -- 1,1,1 0.67510935610916, 1.1250128361545, 0.67510935610916, -- 1,1,1 -> 1.1250128361545, 1.7995112309455, 1.1250128361545, -- 1,1,1 0.67510935610916, 1.1250128361545, 0.67510935610916, -- The total sum of params is always the same (9 in this case).
- FamilyCell:multi_diffuse (param, num)
-
Produces the diffusion of a several cell parameters simultaneously.
Usage:
Cells = create_grid(3, 3) ask_ordered(Cells, function(x) x.val1 = 1 x.val2 = 2 end) Cells:multi_diffuse({{'val', 0.1}, {'val2', 0.5}}, 50)
- FamilyCell:cell_of (table_)
-
Given a vector position or an agent, it returns the Cell of the family to which the position belongs.
Usage:
Family_of_cells = create_grid(10,10) print( Family_of_cells:cell_of( {3.16,5.98} ) ) => It will print the Cell with position {3,6}
- FamilyCell:cell_in_pos (table_)
- It finds for a Cell in the family with the (exactly) same position as the one gived as parameter.


Fylo stores your most important files in one secure location. Access them wherever you need, share and collaborate with friends, family, and co-workers.
Never let location be an issue when accessing your files. Fylo has you covered for all of your file storage needs.
Securely share files and folders with friends, family and colleagues for live collaboration. No email attachments required!
See how Fylo worksFylo has improved our team productivity by an order of magnitude. Since making the switch our team has become a well-oiled collaboration machine.
Kyle Burton
Founder & CEO, HuddleIt only takes a minute to sign up and our free starter tier is extremely generous. If you have any questions, our support team would be happy to help you.


You can also control the music with any Spotify App! Just select Relaxing Clock in Spotify Connect!
Use the searchbar for more content
Pro Tip: Right click on the play button to skip tracks; scroll with the mouse wheel on the player to set the volume.


comfort time block: from
:
00
30
to
:
00
30
Meeting Duration:
hours
select
Timezone
City
Intelligent Generate!
Candidate time block:
© Xiya 出品 版权所有


THUMBNAIL(1) THUMBNAIL(1) NAME thumbnail - create a TIFF file with thumbnail images SYNOPSIS thumbnail [ options ] input.tif output.tif DESCRIPTION thumbnail is a program written to show how one might use the SubIFD tag (#330) to store thumbnail images. thumbnail copies a TIFF Class F fac‐ simile file to the output file and for each image an 8-bit greyscale thumbnail sketch. The output file contains the thumbnail image with the associated full-resolution page linked below with the SubIFD tag. By default, thumbnail images are 216 pixels wide by 274 pixels high. Pixels are calculated by sampling and filtering the input image with each pixel value passed through a contrast curve. OPTIONS -w Specify the width of thumbnail images in pixels. -h Specify the height of thumbnail images in pixels. -c Specify a contrast curve to apply in generating the thumbnail images. By default pixels values are passed through a linear con‐ trast curve that simply maps the pixel value ranges. Alternative curves are: exp50 for a 50% exponential curve, exp60 for a 60% exponential curve, exp70 for a 70% exponential curve, exp80 for a 80% exponential curve, exp90 for a 90% exponential curve, exp for a pure exponential curve, linear for a linear curve. BUGS There are no options to control the format of the saved thumbnail images. SEE ALSO tiffdump(1), tiffgt(1), tiffinfo(1), libtiff(3) Libtiff library home page: http://www.remotesensing.org/libtiff/ libtiff November 2, 2005 THUMBNAIL(1)


Your Local Wholefoods Store With A Focus On Ethical Consumption Offering Healthy Natural Products & Minimising Waste
Find Out MoreLittle Plant Pantry is a speciality food store offering a wide range of bulk wholefoods and 100% plant-based handcrafted foods and beverages, baked, pickled, fermented or prepared as meals for takeout. Whether you prefer to cook at home following a recipe or pick up ready-made food at the store, we want to make sure that your meal does not only enrich your body but also is good for the environment. With ethical consumerism at the forefront of our minds, we sell only the highest quality plant-based products without plastic packaging, giving priority to local suppliers who meet and share our core values.
In the store, products are mostly sold loose without packaging in bulk form, including oils, sweet syrups, spices and even cleaning detergents. You can buy as much or as little as you want. Pre-packed goods are in environmentally friendly packaging, including refrigerated ready-made meals for take home.
Here you can buy freshly made meals and drinks. In the morning, breakfast foods are served: breads, pastries, croissants, granola, yogurts. For lunch and dinner, hot dishes and desserts are available. We avoid highly processed foods and offer meals that are wholesome and nutritious, such as soups, vegetable stews and pies. Smoothies, juices, speciality drinks, coffees and teas are available all day.
We also carry a range of carefully selected handcrafted products from small artisan producers that express our values in their craftsmanship and beauty. They include cosmetics, soaps, tableware or message driven merchandise, vegan cookbooks and plants. Additionally, we sell glass bottles and jars that can be used to refill when purchasing in the store.
We are committed to using and selling only products that are:
*Certification can be prohibitively expensive for small batch producers, therefore we also sell products from uncertified producers that otherwise meet our quality standards. Certified products are clearly labeled.
Little Plant Pantry
plant-based
zero-waste


SRCCON Code of Conduct
SRCCON and OpenNews are committed to providing a welcoming and harassment-free environment for participants of all races, gender and trans statuses, sexual orientations, physical abilities, physical appearances, and beliefs. We've written this code of conduct not because we expect bad behavior from our community—which, in our experience, is overwhelmingly kind and civil—but because we believe a clear code of conduct is simply a necessary part of building a respectful community space. SRCCON participants agree to:
- Be considerate in speech and actions, and actively seek to acknowledge and respect the boundaries of fellow attendees.
- Refrain from demeaning, discriminatory, or harassing behavior and speech. Harassment includes, but is not limited to: deliberate intimidation; stalking; unwanted photography or recording; sustained disruption of talks or other events; inappropriate physical contact; use of sexual or discriminatory imagery, comments, or jokes; and unwelcome sexual attention.
- Take care of each other. Alert a member of the conference team if you notice a dangerous situation, someone in distress, or violations of this Code of Conduct, even if they seem inconsequential.
If you feel that someone has harassed you or otherwise treated you inappropriately, or you feel you have witnessed inappropriate or harassing behavior, please alert any member of the conference team. Note: Members of the conference team will be available via a single phone number (text and voice) throughout the conference, as well as in person. This page will be updated before the conference begins with relevant contacts, which will also be distributed to all attendees via email and in the opening address.
If any attendee engages in harassing behavior, the conference organizers may take any lawful action we deem appropriate, including but not limited to warning the offender or asking the offender to leave the conference. (If you feel you have been unfairly accused of violating this Code of Conduct, you should contact the conference team with a concise description of your grievance at<EMAIL_ADDRESS>any grievances filed will be considered by the entire OpenNews team.)
We welcome your feedback on this and every other aspect of SRCCON, and we thank you for working with us to make it a safe, enjoyable, and friendly experience for everyone who participates.
Credit to http://citizencodeofconduct.org/, https://www.djangoproject.com/conduct/ and http://theorizingtheweb.tumblr.com/post/79357700249/anti-harassment-statement from which we've extensively borrowed, with general thanks to https://adainitiative.org/2014/02/howto-design-a-code-of-conduct-for-your-community/.


Disabled veterans get back out to the field and find their competitive spirit once more through sports programs sponsored by BlazeSports.
Caree Cotwright talks about childhood obesity and nutrition at the October 2014 Athens Science Cafe.
Dr. Rich Meagher talks about his newest research grant.
Barbara Ellington, an AHN community health partner, talks about why you should join the Athens Health Network.
Get to know Dr. Jena Chojnowski, a post-doc in Dr. James Lauderdale lab at UGA. This video won the LabTV Gold Award in 2014.
Stephen Lush talks about school gardening and the Farm to School program at South Jackson Elementary school in Athens, GA.
Colette Miller talks about activating beige fat with chemicals found in fruits and vegetables.
Chef Josh Aaron talks to the students at North Jackson Elementary School about eating local, healthy food.


In a time when women were delegated to lower positions in the engineering industry, Margaret Hamilton was able to rise above gender inequality and work alongside her male counterparts doing high-powered technical work. She is credited with coining the term “software engineering,” a phrase she started using in order to place more weight on software development as a critical component in the engineering industry.
She also worked on a team at MIT that created the code for the world’s first portable computer. Her team at MIT was working on the Apollo space mission at the time and she eventually became the director and supervisor of software programming for Apollo and Skylab. Hamilton had an undergraduate degree in Mathematics from Earlham College, but software engineering courses at this time were essentially non-existent so she taught herself through hand-on experience. She would often bring her daughter to the lab with her and work away coding software for the Apollo command module computer.
In 1986 Margaret founded her own company “to accelerate the evolution of our technology and to introduce it to more users.”
The most famous project Hamilton worked on was the Apollo 11 space flight. She is now known as “the woman who sent man to the moon” because of her important work on Apollo’s flight software.
Hamilton worked on a team to create a computer system that could predict weather systems and track their movements through simulators. It came to be used by the military in the Civil War for anti-aircraft air defense from potential Soviet attacks.


Seeking to sedulously assemble adequate knowledge and skills with a singular intent of achieving plausible impart to my local environment with translational global effect.
 I enjoy Playing musical instrument when am not reharsing with my band, or coding i relax and go through the social media platforms.
When forced indoors, I follow a number of sci-fi and action genre movies and television series, I am an aspiring chef, and I spend a large amount of my free time e xploring the latest technology advancements in python development.


DBD::Mock - Mock database driver for testing
use DBI; # connect to your as normal, using 'Mock' as your driver name my $dbh = DBI->connect( 'DBI:Mock:', '', '' ) || die "Cannot create handle: $DBI::errstr\n"; # create a statement handle as normal and execute with parameters my $sth = $dbh->prepare( 'SELECT this, that FROM foo WHERE id = ?' ); $sth->execute( 15 ); # Now query the statement handle as to what has been done with it my $mock_params = $sth->{mock_params}; print "Used statement: ", $sth->{mock_statement}, "\n", "Bound parameters: ", join( ', ', @{ $params } ), "\n";
Testing with databases can be tricky. If you are developing a system married to a single database then you can make some assumptions about your environment and ask the user to provide relevant connection information. But if you need to test a framework that uses DBI, particularly a framework that uses different types of persistence schemes, then it may be more useful to simply verify what the framework is trying to do -- ensure the right SQL is generated and that the correct parameters are bound. DBD::Mock
makes it easy to just modify your configuration (presumably held outside your code) and just use it instead of DBD::Foo
(like DBD::Pg or DBD::mysql) in your framework.
There is no distinct area where using this module makes sense. (Some people may successfully argue that this is a solution looking for a problem...) Indeed, if you can assume your users have something like DBD::AnyData or DBD::SQLite or if you do not mind creating a dependency on them then it makes far more sense to use these legitimate driver implementations and test your application in the real world -- at least as much of the real world as you can create in your tests...
And if your database handle exists as a package variable or something else easily replaced at test-time then it may make more sense to use Test::MockObject to create a fully dynamic handle. There is an excellent article by chromatic about using Test::MockObject in this and other ways, strongly recommended. (See "SEE ALSO" for a link)
DBD::Mock
comprises a set of classes used by DBI to implement a database driver. But instead of connecting to a datasource and manipulating data found there it tracks all the calls made to the database handle and any created statement handles. You can then inspect them to ensure what you wanted to happen actually happened. For instance, say you have a configuration file with your database connection information:
[DBI] dsn = DBI:Pg:dbname=myapp user = foo password = bar
And this file is read in at process startup and the handle stored for other procedures to use:
package ObjectDirectory; my ( $DBH ); sub run_at_startup { my ( $class, $config ) = @_; $config ||= read_configuration( ... ); my $dsn = $config->{DBI}{dsn}; my $user = $config->{DBI}{user}; my $pass = $config->{DBI}{password}; $DBH = DBI->connect( $dsn, $user, $pass ) || die ...; } sub get_database_handle { return $DBH; }
A procedure might use it like this (ignoring any error handling for the moment):
package My::UserActions; sub fetch_user { my ( $class, $login ) = @_; my $dbh = ObjectDirectory->get_database_handle; my $sql = q{ SELECT login_name, first_name, last_name, creation_date, num_logins FROM users WHERE login_name = ? }; my $sth = $dbh->prepare( $sql ); $sth->execute( $login ); my $row = $sth->fetchrow_arrayref; return ( $row ) ? User->new( $row ) : undef; }
So for the purposes of our tests we just want to ensure that:
Assume whether the SQL actually works or not is irrelevant for this test :-)
To do that our test might look like:
my $config = ObjectDirectory->read_configuration( ... ); $config->{DBI}{dsn} = 'DBI:Mock:'; ObjectDirectory->run_at_startup( $config ); my $login_name = 'foobar'; my $user = My::UserActions->fetch_user( $login_name ); # Get the handle from ObjectDirectory; # this is the same handle used in the # 'fetch_user()' procedure above my $dbh = ObjectDirectory->get_database_handle(); # Ask the database handle for the history # of all statements executed against it my $history = $dbh->{mock_all_history}; # Now query that history record to # see if our expectations match reality is(scalar(@{$history}), 1, 'Correct number of statements executed' ; my $login_st = $history->[0]; like($login_st->statement, qr/SELECT login_name.*FROM users WHERE login_name = ?/sm, 'Correct statement generated' ); my $params = $login_st->bound_params; is(scalar(@{$params}), 1, 'Correct number of parameters bound'); is($params->[0], $login_name, 'Correct value for parameter 1' ); # Reset the handle for future operations $dbh->{mock_clear_history} = 1;
The list of properties and what they return is listed below. But in an overall view:
execute()
. It can also contain predefined results for the statement handle to 'fetch', track how many fetches were called and what its current record is.This may be an incredibly naive implementation of a DBD. But it works for me ...
Since this is a normal DBI statement handle we need to expose our tracking information as properties (accessed like a hash) rather than methods.
This is a boolean property which when set to true (1
) will not allow DBI to connect. This can be used to simulate a DSN error or authentication failure. This can then be set back to false (0
) to resume normal DBI operations. Here is an example of how this works:
# install the DBD::Mock driver my $drh = DBI->install_driver('Mock'); $drh->{mock_connect_fail} = 1; # this connection will fail my $dbh = DBI->connect('dbi:Mock:', '', '') || die "Cannot connect"; # this connection will throw an exception my $dbh = DBI->connect('dbi:Mock:', '', '', { RaiseError => 1 }); $drh->{mock_connect_fail} = 0; # this will work now ... my $dbh = DBI->connect(...);
This feature is conceptually different from the 'mock_can_connect' attribute of the $dbh
in that it has a driver-wide scope, where 'mock_can_connect' is handle-wide scope. It also only prevents the initial connection, any $dbh
handles created prior to setting 'mock_connect_fail' to true (1
) will still go on working just fine.
This is an ARRAY reference which holds fake data sources which are returned by the Driver and Database Handle's data_source()
method.
This takes a string and adds it to the 'mock_data_sources' attribute.
Returns an array reference with all history (a.k.a. DBD::Mock::StatementTrack
) objects created against the database handle in the order they were created. Each history object can then report information about the SQL statement used to create it, the bound parameters, etc..
Returns a DBD::Mock::StatementTrack::Iterator
object which will iterate through the current set of DBD::Mock::StatementTrack
object in the history. See the DBD::Mock::StatementTrack::Iterator documentation below for more information.
If set to a true value all previous statement history operations will be erased. This includes the history of currently open handles, so if you do something like:
my $dbh = get_handle( ... ); my $sth = $dbh->prepare( ... ); $dbh->{mock_clear_history} = 1; $sth->execute( 'Foo' );
You will have no way to learn from the database handle that the statement parameter 'Foo' was bound.
This is useful mainly to ensure you can isolate the statement histories from each other.
This statement allows you to simulate a downed database connection. This is useful in testing how your application/tests will perform in the face of some kind of catastrophic event such as a network outage or database server failure. It is a simple boolean value which defaults to on, and can be set like this:
# turn the database off $dbh->{mock_can_connect} = 0; # turn it back on again $dbh->{mock_can_connect} = 1;
The statement handle checks this value as well, so something like this will fail in the expected way:
$dbh = DBI->connect( 'DBI:Mock:', '', '' ); $dbh->{mock_can_connect} = 0; # blows up! my $sth = eval { $dbh->prepare( 'SELECT foo FROM bar' ) }); if ( $@ ) { # Here, $DBI::errstr = 'No connection present' }
Turning off the database after a statement prepare will fail on the statement execute()
, which is hopefully what you would expect:
$dbh = DBI->connect( 'DBI:Mock:', '', '' ); # ok! my $sth = eval { $dbh->prepare( 'SELECT foo FROM bar' ) }); $dbh->{mock_can_connect} = 0; # blows up! $sth->execute;
Similarly:
$dbh = DBI->connect( 'DBI:Mock:', '', '' ); # ok! my $sth = eval { $dbh->prepare( 'SELECT foo FROM bar' ) }); # ok! $sth->execute; $dbh->{mock_can_connect} = 0; # blows up! my $row = $sth->fetchrow_arrayref;
Note: The handle attribute Active
and the handle method ping
will behave according to the value of mock_can_connect
. So if mock_can_connect
were to be set to 0 (or off), then both Active
and ping
would return false values (or 0).
This stocks the database handle with a record set, allowing you to seed data for your application to see if it works properly.. Each recordset is a simple arrayref of arrays with the first arrayref being the fieldnames used. Every time a statement handle is created it asks the database handle if it has any resultsets available and if so uses it.
Here is a sample usage, partially from the test suite:
my @user_results = ( [ 'login', 'first_name', 'last_name' ], [ 'cwinters', 'Chris', 'Winters' ], [ 'bflay', 'Bobby', 'Flay' ], [ 'alincoln', 'Abe', 'Lincoln' ], ); my @generic_results = ( [ 'foo', 'bar' ], [ 'this_one', 'that_one' ], [ 'this_two', 'that_two' ], ); my $dbh = DBI->connect( 'DBI:Mock:', '', '' ); $dbh->{mock_add_resultset} = \@user_results; # add first resultset $dbh->{mock_add_resultset} = \@generic_results; # add second resultset my ( $sth ); eval { $sth = $dbh->prepare( 'SELECT login, first_name, last_name FROM foo' ); $sth->execute(); }; # this will fetch rows from the first resultset... my $row1 = $sth->fetchrow_arrayref; my $user1 = User->new( login => $row->[0], first => $row->[1], last => $row->[2] ); is( $user1->full_name, 'Chris Winters' ); my $row2 = $sth->fetchrow_arrayref; my $user2 = User->new( login => $row->[0], first => $row->[1], last => $row->[2] ); is( $user2->full_name, 'Bobby Flay' ); ... my $sth_generic = $dbh->prepare( 'SELECT foo, bar FROM baz' ); $sth_generic->execute; # this will fetch rows from the second resultset... my $row = $sth->fetchrow_arrayref;
You can also associate a resultset with a particular SQL statement instead of adding them in the order they will be fetched:
$dbh->{mock_add_resultset} = { sql => 'SELECT foo, bar FROM baz', results => [ [ 'foo', 'bar' ], [ 'this_one', 'that_one' ], [ 'this_two', 'that_two' ], ], };
This will return the given results when the statement 'SELECT foo, bar FROM baz' is prepared. Note that they will be returned every time the statement is prepared, not just the first. It should also be noted that if you want, for some reason, to change the result set bound to a particular SQL statement, all you need to do is add the result set again with the same SQL statement and DBD::Mock will overwrite it.
It should also be noted that the rows
method will return the number of records stocked in the result set. So if your code/application makes use of the $sth->rows
method for things like UPDATE and DELETE calls you should stock the result set like so:
$dbh->{mock_add_resultset} = { sql => 'UPDATE foo SET baz = 1, bar = 2', # this will appear to have updated 3 rows results => [[ 'rows' ], [], [], []], }; # or ... $dbh->{mock_add_resultset} = { sql => 'DELETE FROM foo WHERE bar = 2', # this will appear to have deleted 1 row results => [[ 'rows' ], []], };
Now I admit this is not the most elegant way to go about this, but it works for me for now, and until I can come up with a better method, or someone sends me a patch ;) it will do for now.
If you want a given statement to fail, you will have to use the hashref method and add a 'failure' key. That key can be handed an arrayref with the error number and error string, in that order. It can also be handed a hashref with two keys - errornum and errorstring. If the 'failure' key has no useful value associated with it, the errornum will be '1' and the errorstring will be 'Unknown error'.
This attribute can be used to set up values for get_info(). It takes a hashref of attribute_name/value pairs. See DBI for more information on the information types and their meaning.
This attribute can be used to set a current DBD::Mock::Session object. For more information on this, see the DBD::Mock::Session docs below. This attribute can also be used to remove the current session from the $dbh
simply by setting it to undef
.
This attribute is incremented each time an INSERT statement is passed to prepare
on a per-handle basis. It's starting value can be set with the 'mock_start_insert_id' attribute (see below).
$dbh->{mock_start_insert_id} = 10; my $sth = $dbh->prepare('INSERT INTO Foo (foo, bar) VALUES(?, ?)'); $sth->execute(1, 2); # $dbh->{mock_last_insert_id} == 10 $sth->execute(3, 4); # $dbh->{mock_last_insert_id} == 11
For more examples, please refer to the test file t/025_mock_last_insert_id.t.
This attribute can be used to set a start value for the 'mock_last_insert_id' attribute. It can also be used to effectively reset the 'mock_last_insert_id' attribute as well.
This attribute also can be used with an ARRAY ref parameter, it's behavior is slightly different in that instead of incrementing the value for every prepare
it will only increment for each execute
. This allows it to be used over multiple execute
calls in a single $sth
. It's usage looks like this:
$dbh->{mock_start_insert_id} = [ 'Foo', 10 ]; $dbh->{mock_start_insert_id} = [ 'Baz', 20 ]; my $sth1 = $dbh->prepare('INSERT INTO Foo (foo, bar) VALUES(?, ?)'); my $sth2 = $dbh->prepare('INSERT INTO Baz (baz, buz) VALUES(?, ?)'); $sth1->execute(1, 2); # $dbh->{mock_last_insert_id} == 10 $sth2->execute(3, 4); # $dbh->{mock_last_insert_id} == 20
Note that DBD::Mock's matching of table names in 'INSERT' statements is fairly simple, so if your table names are quoted in the insert statement (INSERT INTO "Foo"
) then you need to quote the name for mock_start_insert_id
:
$dbh->{mock_start_insert_id} = [ q{"Foo"}, 10 ];
DBI provides some simple parsing capabilities for 'SELECT' statements to ensure that placeholders are bound properly. And typically you may simply want to check after the fact that a statement is syntactically correct, or at least what you expect.
But other times you may want to parse the statement as it is prepared rather than after the fact. There is a hook in this mock database driver for you to provide your own parsing routine or object.
The syntax is simple:
$dbh->{mock_add_parser} = sub { my ( $sql ) = @_; unless ( $sql =~ /some regex/ ) { die "does not contain secret fieldname"; } };
You can also add more than one for a handle. They will be called in order, and the first one to fail will halt the parsing process:
$dbh->{mock_add_parser} = \&parse_update_sql; $dbh->{mock_add-parser} = \&parse_insert_sql;
Depending on the 'PrintError' and 'RaiseError' settings in the database handle any parsing errors encountered will issue a warn
or die
. No matter what the statement handle will be undef
.
Instead of providing a subroutine reference you can use an object. The only requirement is that it implements the method parse()
and takes a SQL statement as the only argument. So you should be able to do something like the following (untested):
my $parser = SQL::Parser->new( 'mysql', { RaiseError => 1 } ); $dbh->{mock_add_parser} = $parser;
These properties will dispatch to the Driver's properties of the same name.
This returns the value of mock_last_insert_id
.
In order to capture begin_work(), commit(), and rollback(), DBD::Mock will create statements for them, as if you had issued them in the appropriate SQL command line program. They will go through the standard prepare()-execute() cycle, meaning that any custom SQL parsers will be triggered and DBD::Mock::Session will need to know about these statements.
This will create a statement with SQL of "BEGIN WORK" and no parameters.
This will create a statement with SQL of "COMMIT" and no parameters.
This will create a statement with SQL of "ROLLBACK" and no parameters.
Returns true if the handle is a 'SELECT' and has more records to fetch, false otherwise. (From the DBI.)
The SQL statement this statement handle was prepare
d with. So if the handle were created with:
my $sth = $dbh->prepare( 'SELECT * FROM foo' );
This would return:
SELECT * FROM foo
The original statement is unmodified so if you are checking against it in tests you may want to use a regex rather than a straight equality check. (However if you use a phrasebook to store your SQL externally you are a step ahead...)
Fields used by the statement. As said elsewhere we do no analysis or parsing to find these, you need to define them beforehand. That said, you do not actually need this very often.
Note that this returns the same thing as the normal statement property 'FIELD'.
Returns an arrayref of parameters bound to this statement in the order specified by the bind type. For instance, if you created and stocked a handle with:
my $sth = $dbh->prepare( 'SELECT * FROM foo WHERE id = ? AND is_active = ?' ); $sth->bind_param( 2, 'yes' ); $sth->bind_param( 1, 7783 );
This would return:
[ 7738, 'yes' ]
The same result will occur if you pass the parameters via execute()
instead:
my $sth = $dbh->prepare( 'SELECT * FROM foo WHERE id = ? AND is_active = ?' ); $sth->execute( 7783, 'yes' );
An arrayref of arrayrefs representing the records the mock statement was stocked with.
Number of records the mock statement was stocked with; if never stocked it is still 0. (Some weirdos might expect undef...)
This returns the same value as mock_num_records. And is what is returned by the rows
method of the statement handle.
Current record the statement is on; returns 0 in the instances when you have not yet called execute()
and if you have not yet called a fetch
method after the execute.
Whether execute()
has been called against the statement handle. Returns 'yes' if so, 'no' if not.
Whether finish()
has been called against the statement handle. Returns 'yes' if so, 'no' if not.
Returns 'yes' if all the records in the recordset have been returned. If no fetch()
was executed against the statement, or If no return data was set this will return 'no'.
Returns a DBD::Mock::StatementTrack
object which tracks the actions performed by this statement handle. Most of the actions are separately available from the properties listed above, so you should never need this.
This module can be used to emulate Apache::DBI style DBI connection pooling. Just as with Apache::DBI, you must enable DBD::Mock::Pool before loading DBI.
use DBD::Mock qw(Pool); # followed by ... use DBI;
While this may not seem to make a lot of sense in a single-process testing scenario, it can be useful when testing code which assumes a multi-process Apache::DBI pooled environment.
Under the hood this module does most of the work with a DBD::Mock::StatementTrack
object. This is most useful when you are reviewing multiple statements at a time, otherwise you might want to use the mock_*
statement handle attributes instead.
Takes the following parameters:
Gets/sets the SQL statement used.
Gets/sets the fields to use for this statement.
Gets/set the bound parameters to use for this statement.
Gets/sets the data to return when asked (that is, when someone calls 'fetch' on the statement handle).
Gets/sets the current record number.
Returns true if the statement is a SELECT and has more records to fetch, false otherwise. (This is from the DBI, see the 'Active' docs under 'ATTRIBUTES COMMON TO ALL HANDLES'.)
Sets the state of the tracker 'executed' flag.
If set to 'yes' tells the tracker that the statement is finished. This resets the current record number to '0' and clears out the array ref of returned records.
Returns true if the current record number is greater than the number of records set to return.
Returns the number of fields set in the 'fields' parameter.
Returns the number of records in the current result set.
Returns the number of parameters set in the 'bound_params' parameter.
Sets bound parameter $param_num
to $value
. Returns the arrayref of currently-set bound parameters. This corresponds to the 'bind_param' statement handle call.
Pushes @params
onto the list of already-set bound parameters.
Tells the tracker that the statement has been executed and resets the current record number to '0'.
If the statement has been depleted (all records returned) returns undef; otherwise it gets the current recordfor returning, increments the current record number and returns the current record.
Tries to give an decent depiction of the object state for use in debugging.
This object can be used to iterate through the current set of DBD::Mock::StatementTrack
objects in the history by fetching the 'mock_all_history_iterator' attribute from a database handle. This object is very simple and is meant to be a convience to make writing long test script easier. Aside from the constructor (new
) this object has only one method.
next
Calling
next
will return the nextDBD::Mock::StatementTrack
object in the history. If there are no moreDBD::Mock::StatementTrack
objects available, then this method will return false.reset
This will reset the internal pointer to the begining of the statement history.
The DBD::Mock::Session object is an alternate means of specifying the SQL statements and result sets for DBD::Mock. The idea is that you can specify a complete 'session' of usage, which will be verified through DBD::Mock. Here is an example:
my $session = DBD::Mock::Session->new('my_session' => ( { statement => "SELECT foo FROM bar", # as a string results => [[ 'foo' ], [ 'baz' ]] }, { statement => qr/UPDATE bar SET foo \= \'bar\'/, # as a reg-exp results => [[]] }, { statement => sub { # as a CODE ref my ($SQL, $state) = @_; return $SQL eq "SELECT foo FROM bar"; }, results => [[ 'foo' ], [ 'bar' ]] }, { # with bound parameters statement => "SELECT foo FROM bar WHERE baz = ? AND borg = ?", # check exact bound param value, # then check it against regexp bound_params => [ 10, qr/\d+/ ], results => [[ 'foo' ], [ 'baz' ]] } ));
As you can see, a session is essentially made up a list of HASH references we call 'states'. Each state has a 'statement' and a set of 'results'. If DBD::Mock finds a session in the 'mock_session' attribute, then it will pass the current $dbh
and SQL statement to that DBD::Mock::Session. The SQL statement will be checked against the 'statement' field in the current state. If it passes, then the 'results' of the current state will get feed to DBD::Mock through the 'mock_add_resultset' attribute. We then advance to the next state in the session, and wait for the next call through DBD::Mock. If at any time the SQL statement does not match the current state's 'statement', or the session runs out of available states, an error will be raised (and propagated through the normal DBI error handling based on your values for RaiseError and PrintError).
Also, as can be seen in the the session element, bound parameters can also be supplied and tested. In this statement, the SQL is compared, then when the statement is executed, the bound parameters are also checked. The bound parameters much match in both number of parameters and the parameters themselves, or an error will be raised.
As can also be seen in the example above, 'statement' fields can come in many forms. The simplest is a string, which will be compared using eq
against the currently running statement. The next is a reg-exp reference, this too will get compared against the currently running statement. The last option is a CODE ref, this is sort of a catch-all to allow for a wide range of SQL comparison approaches (including using modules like SQL::Statement or SQL::Parser for detailed functional comparisons). The first argument to the CODE ref will be the currently active SQL statement to compare against, the second argument is a reference to the current state HASH (in case you need to alter the results, or store extra information). The CODE is evaluated in boolean context and throws and exception if it is false.
new ($session_name, @session_states)
A
$session_name
can be optionally be specified, along with at least one@session_states
. If you don't specify a$session_name
, then a default one will be created for you. The@session_states
must all be HASH references as well, if this conditions fail, an exception will be thrown.verify_statement ($dbh, $SQL)
This will check the
$SQL
against the current state's 'statement' value, and if it passes will add the current state's 'results' to the$dbh
. If for some reason the 'statement' value is bad, not of the prescribed type, an exception is thrown. See above for more details.verify_bound_params ($dbh, $params)
If the 'bound_params' slot is available in the current state, this will check the
$params
against the current state's 'bound_params' value. Both number of parameters and the parameters themselves must match, or an error will be raised.reset
Calling this method will reset the state of the session object so that it can be reused.
All functionality listed here is highly experimental and should be used with great caution (if at all).
We have added experimental erro handling in mock_add_resultset the best example is the test file t/023_statement_failure.t, but it looks something like this:
$dbh->{mock_add_resultset} = { sql => 'SELECT foo FROM bar', results => DBD::Mock->NULL_RESULTSET, failure => [ 5, 'Ooops!' ], };
The 5
is the DBI error number, and 'Ooops!'
is the error string passed to DBI. This basically allows you to force an error condition to occur when a given SQL statement is execute. We are currently working on allowing more control on the 'when' and 'where' the error happens, look for it in future releases.
Basically this feature allows you to alias attributes to other attributes. So for instance, you can alias a commonly expected attribute like 'mysql_insertid' to something DBD::Mock already has like 'mock_last_insert_id'. While you can also just set 'mysql_insertid' yourself, this functionality allows it to take advantage of things like the autoincrementing of the 'mock_last_insert_id' attribute.
Right now this feature is highly experimental, and has been added as a first attempt to automatically handle some of the DBD specific attributes which are commonly used/accessed in DBI programming. The functionality is off by default so as to not cause any issues with backwards compatability, but can easily be turned on and off like this:
# turn it on $DBD::Mock::AttributeAliasing++; # turn it off $DBD::Mock::AttributeAliasing = 0;
Once this is turned on, you will need to choose a database specific attribute aliasing table like so:
DBI->connect('dbi:Mock:MySQL', '', '');
The 'MySQL' in the DSN will be picked up and the MySQL specific attribute aliasing will be used.
Right now only MySQL is supported by this feature, and even that support is very minimal. Currently the MySQL $dbh
and $sth
attributes 'mysql_insertid' are aliased to the $dbh
attribute 'mock_last_insert_id'. It is possible to add more aliases though, using the DBD::Mock:_set_mock_attribute_aliases
function (see the source code for details).
When writing the test suite I encountered some odd behavior with some $dbh
attributes. I still need to get deeper into how DBD's work to understand what it is that is actually doing wrong.
Each DBD has its own quirks and issues, it would be nice to be able to handle those issues with DBD::Mock in some way. I have an number of ideas already, but little time to sit down and really flesh them out. If you have any suggestions or thoughts, feel free to email me with them.
I would like to have the DBD::Mock::StatementTrack object handle more of the mock_* attributes. This would encapsulate much of the mock_* behavior in one place, which would be a good thing.
I would also like to add the ability to bind a subroutine (or possibly an object) to the result set, so that the results can be somewhat more dynamic and allow for a more realistic interaction.
We use Devel::Cover to test the code coverage of my tests, below is the Devel::Cover report on this module test suite.
---------------------------- ------ ------ ------ ------ ------ ------ ------ File stmt bran cond sub pod time total ---------------------------- ------ ------ ------ ------ ------ ------ ------ blib/lib/DBD/Mock.pm 92.0 86.6 77.9 95.3 0.0 100.0 89.5 Total 92.0 86.6 77.9 95.3 0.0 100.0 89.5 ---------------------------- ------ ------ ------ ------ ------ ------ ------
DBD::NullP, which provided a good starting point
Test::MockObject, which provided the approach
Test::MockObject article - http://www.perl.com/pub/a/2002/07/10/tmo.html
Perl Code Kata: Testing Databases - http://www.perl.com/pub/a/2005/02/10/database_kata.html
We have created a DBD::Mock google group for discussion/questions about this module.
http://groups-beta.google.com/group/DBDMock
bind_param_inout
begin_work()
, commit()
and rollback()
methods.fetchall_hashref()
, fetchrow_hashref()
and selectcol_arrayref()
methods and tests.mock_last_insert_ids
patch and testmock_can_prepare
, mock_can_execute
, and mock_can_fetch
features.Copyright (C) 2004 Chris Winters<EMAIL_ADDRESS>Copyright (C) 2004-2007 Stevan Little<EMAIL_ADDRESS>Copyright (C) 2007 Rob Kinyon<EMAIL_ADDRESS>This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Chris Winters<EMAIL_ADDRESS>Stevan Little<EMAIL_ADDRESS>Rob Kinyon <rob.kinyon@gmail.com>


Helping people experiencing homelessness through a convenient personal care subscription service
Find Out More
Over 500,000 people in the US experienced homelessness in 2017, including 23,000 in Cleveland alone. Many of these people are lacking basic
necessities like toiletries.
Mentor Pack offers curated personal care subscription boxes. When you subscribe to a box, the proceeds go toward providing
backpacks filled with personal care items to Cleveland homeless shelters.
The best part? By subscribing to our box, you also have the opportunity to join our Pack
and provide mentorship to someone experiencing homelessness in the Cleveland area.
"The backpack is one of the most important things.
"It's about building relationships."
"I think people are always trying to find ways in which they can give back..."
Join The Pack and we'll let you know what we're up to and when we launch!


| |
| WORK
EXPERIENCE :: |
|
BEGRAFIC.COM
—
Los Angeles, CA
Freelance
Designer
:: AUG
00 - Present
Design and develop web sites for small-to-medium companies. Create
logos, ads, business cards, newsletters, postcards, and brochures.
Digitally enhance, color correct, and alter photographic images,
and prepare files for print. Manage project estimates and costs.
|
| COMPUTER
KNOWLEDGE :: |
| QuarkXPress,
Photoshop, ImageReady, Illustrator, Dreamweaver, Flash, Acrobat,
GifBuilder, NetObjects Fusion, Cold Fusion, MS Office, Lotus
Notes, Filemaker Pro, HTML, vi, UNIX, Java/ASP familiarity,
Mac OSX, Windows XP |
| |
| EDUCATION
:: |
California
State University, Long Beach, December 1991
B.A. Journalism/Public Relations, Minor in Spanish
DV
Creators, Santa Monica, 2003
Final Cut Pro 4
Art
Center College of Design, Pasadena, 1995-1997
QuarkXPress
Computer Imaging
Design with Computers
Web Site Development
Web Design Seminar
Photography
Package Design
Conferences,
1997-1998
Thunder Lizard Productions, Photoshop, Monterrey
Thunder Lizard Productions, Web Design, Seattle
NetObjects Fusion, San Diego
|
| |
| OTHER
SKILLS :: |
Fluent
in Spanish/Italian
Black and White Photography
Digital Photography/Film |
| |
References
available upon request |
|
SHOPSPORTS.COM/COPELAND'S
— SLO,
CA
Sr. Web
Designer
:: APR
00 - JUL 00
Redesigned/restructured web sites for online sporting goods company.
Developed page layouts and coded templates for affiliate sites. Translated
shopsports.com site into Spanish. Trained staff on Photoshop, Illustrator,
and Dreamweaver. |
EVENT
411.COM
— Marina
Del Rey, CA
Web Designer
:: OCT
99 - APR 00
Created site designs for business to business software company offering
online event planning tools. Designed banner ads, manual covers, and
assisted programmers with asp and server-side include files. |
BEGRAFIC.COM
— Los
Angeles, CA
Freelance
Designer
:: NOV
98 - OCT 99
Designed logos, posters, postcards, and various advertisements for
Chinese Laundry Shoes. Created web sites for Gilbert
USA, Entergate Communications, Basicline
Manufacturing, and MJ Hubbard Consulting. Designed math assessment
comps for Rand Corporation. Did production work for Disney online
store. |
|
SFUSD LANGUAGE ACADEMY
— San
Francisco, CA
Webmaster/Designer
:: AUG
98 - NOV 98
Redesigned web site, created print materials, and trained staff
on design, html, and desktop publishing. Provided teachers at SFUSD
with instruction on using computers and teleconferencing equipment.
|
NETSCAPE
COMMUNICATIONS
— Mountain
View, CA
Scheduling
Coordinator
:: MAY
98 - AUG 98
Coordinated all Netscape Learning classroom schedules. Redesigned
and maintained NL intranet and internet sites. Created print designs
for NL staff. |
CALTECH,
GPS DIVISION
— Pasadena,
CA
Webmaster/Designer
:: DEC
93 - MAR 98
Developed site structure and page layout designs to launch the first-ever
web site for Caltech. Provided concept and production of all print/web/logo
designs for the Division of Geological & Planetary Sciences
and the Seismological Laboratory. Served as editor and designer
for the original GPS Alumni Newsletter. Designed brochures, ads,
lectureship flyers, invitations, and building signage. Wrote curriculum
and conducted computer training classes in web design for GPS staff
and students. Wrote instructional guides on desktop publishing for
staff in all departments at Caltech. |
| |
|
|


{include="includes"}
{include="page.header"}
Selection:
All
Private
Public
Prepend note permalinks with this Shaarli instance's URL
(useful to import bookmarks in a web browser)
{include="page.footer"}


3. CMD5¶
-
class
cloudmesh.default.command.default.
DefaultCommand
[source]¶ Bases:
cloudmesh.shell.command.PluginCommand
-
do_default
(args)¶ Usage: default list [--context=CONTEXT] [--format=FORMAT] default delete --context=CONTEXT default delete KEY [--context=CONTEXT] default KEY [--context=CONTEXT] default KEY=VALUE [--CONTEXT=CONTEXT] Arguments: KEY the name of the default VALUE the value to set the key to Options: --context=CONTEXT the name of the context --format=FORMAT the output format. Values include table, json, csv, yaml. Description: Cloudmesh has the ability to manage easily multiple clouds. One of the key concepts to manage multiple clouds is to use defaults for the cloud, the images, flavors, and other values. The default command is used to manage such default values. These defaults are used in other commands if they are not overwritten by a command parameter. The current default values can by listed with default list --all Via the default command you can list, set, get and delete default values. You can list the defaults with default list A default can be set with default KEY=VALUE To look up a default value you can say default KEY A default can be deleted with default delete KEY To be specific to a cloud you can specify the name of the cloud with the --cloud=CLOUD option. The list command can print the information in various formats iv specified. Examples: default list --all lists all default values default list --cloud=kilo lists the defaults for the cloud with the name kilo default image=xyz sets the default image for the default cloud to xyz default image=abc --cloud=kilo sets the default image for the cloud kilo to xyz default image list the default image of the default cloud default image --cloud=kilo list the default image of the cloud kilo default delete image deletes the value for the default image in the default cloud default delete image --cloud=kilo deletes the value for the default image in the cloud kilo
-
-
class
cloudmesh.man.command.man.
ManCommand
[source]¶ Bases:
cloudmesh.shell.command.PluginCommand
-
do_man
(args)¶ Usage: man [--format=FORMAT] COMMAND man [--format=FORMAT] [--noheader] Options: --noheader no rst header Arguments: COMMAND the command to be printed Description: man Prints out the help pages man COMMAND Prints out the help page for a specific command
-
-
class
cloudmesh.set.command.set.
SetCommand
[source]¶ Bases:
cloudmesh.shell.command.PluginCommand
-
do_set
(args)¶ Usage: set list set clear set delete NAME set NAME=VALUE set NAME Arguments: NAME the name of the set variable VALUE the value of the set variable FILENAME the filename of the set variable Description: Manage persistent set variables set NAME=VALUE sets the set variable with the name to the value if the value is one of data, time, now it will be replaced with the value at this time, the format will be date 2017-04-14 time 11:30:33 now 2017-04-14 11:30:41 It will wbe replaced accordingly The value can also refer to another setiable name. In this case the current value will be copied in the named setiable. As we use the $ sign it is important to distinguish shell set variables from cms setiables while using proper quoting. Examples include: cms set a=\$b cms set 'a=$b' cms set a=val.b The previous command copy the value from b to a. The val command was added to avoid quoting. A special variable is the variable verbose. It results in additional debug output. The following values apply 0 - no additional output 10 - most visible. Prints all arguments from commands
-
-
class
cloudmesh.terminal.command.terminal.
TerminalCommand
[source]¶ Bases:
cloudmesh.shell.command.PluginCommand
Usage: banner [-c CHAR] [-n WIDTH] [-i INDENT] [-r COLOR] TEXT... Arguments: TEXT... The text message from which to create the banner CHAR The character for the frame. WIDTH Width of the banner INDENT indentation of the banner COLOR the color Options: -c CHAR The character for the frame. [default: #] -n WIDTH The width of the banner. [default: 70] -i INDENT The width of the banner. [default: 0] -r COLOR The color of the banner. [default: BLACK] Prints a banner form a one line text message.
-
do_clear
(args)¶ Usage: clear Clears the screen.
-
do_echo
(args)¶ Usage: echo [-r COLOR] TEXT Arguments: TEXT The text message to print COLOR the color Options: -r COLOR The color of the text. [default: BLACK] Prints a text in the given color
-
do_pause
(args)¶ Usage: pause [MESSAGE] Arguments: MESSAGE message to be displayed Description: Displays the specified text then waits for the user to press RETURN.
-
do_sleep
(args)¶ Usage: sleep SECONDS Clears the screen.
-
do_stopwatch
(args)¶ Usage: stopwatch start TIMER stopwatch stop TIMER stopwatch print [TIMER] stopwatch benchmark Arguments: TIMER the name of the timer Description: THIS IS NOT YET WORKING starts and stops named timers and prints them
-
class
cloudmesh.var.command.var.
VarCommand
[source]¶ Bases:
cloudmesh.shell.command.PluginCommand
-
do_var
(args)¶ Usage: var list var clear var delete NAME var NAME=VALUE var NAME Arguments: NAME the name of the variable VALUE the value of the variable FILENAME the filename of the variable Description: Manage persistent variables var NAME=VALUE sets the variable with the name to the value if the value is one of data, time, now it will be replaced with the value at this time, the format will be date 2017-04-14 time 11:30:33 now 2017-04-14 11:30:41 It will wbe replaced accordingly The value can also refer to another variable name. In this case the current value will be copied in the named variable. As we use the $ sign it is important to distinguish shell variables from cms variables while using proper quoting. Examples include: cms var a=\$b cms var 'a=$b' cms var a=val.b The previous command copy the value from b to a. The val command was added to avoid quoting.
-
-
cloudmesh.shell.command.
basecommand
(func)[source]¶ A decorator to create a function with docopt arguments. It also generates a help function
@command def do_myfunc(self, args):
“”” docopts text “”” pass
will create
- def do_myfunc(self, args, arguments):
“”” docopts text “”” …
- def help_myfunc(self, args, arguments):
… prints the docopt text …
- Parameters
func – the function for the decorator
-
cloudmesh.shell.command.
command
(func)[source]¶ A decorator to create a function with docopt arguments. It also generates a help function
@command def do_myfunc(self, args):
“”” docopts text “”” pass
will create
- def do_myfunc(self, args, arguments):
“”” docopts text “”” …
- def help_myfunc(self, args, arguments):
… prints the docopt text …
- Parameters
func – the function for the decorator
-
cloudmesh.shell.command.
map_parameters
(arguments, *args)[source]¶ This command is useful to map parameters with – to regular argument dicts for easier processing.
- Parameters
arguments –
args –
- Returns
an example is
- map_parameters(arguments,
‘active’, ‘cloud’)
where –active=ACTIVE is mapped to arguments[“active”] and –cloud=CLOUD is mapped to arguments[“cloud”]
as arguments is a dotdict, they can than for example be called as
arguments.cloud
-
class
cloudmesh.shell.shell.
CMShell
(completekey='tab', stdin=None, stdout=None)[source]¶ Bases:
cmd.Cmd
,cloudmesh.shell.shell.CommandProxyClass
The command shell that inherits all commands from PluginCommand
-
do_commands
(args)¶ Usage: commands
-
do_help
(arg)[source]¶ Usage: help help COMMAND Description: List available commands with "help" or detailed help with "help COMMAND".
-
do_info
(args)¶ Usage: info [path|commands|files|cloudmesh] Description: info provides internal info about the shell and its packages
-
do_plugin
(args)¶ Usage: plugin install PLUGIN [-s] plugin uninstall PLUGIN plugin list plugin ? [--format=FORMAT] Arguments: PLUGIN the name of the plugin Description: plugin available lists the available plugins plugin list lists the plugin plugin install installs the given plugin plugin uninstall uninstalls the given plugin
-
do_q
(args)¶ Usage: quit Description: Action to be performed when quit is typed
-
do_shell
(args)¶ Usage: shell COMMAND Arguments: COMMAND the command to be executed Description: shell COMMAND executes the command
-
do_version
(args)¶ Usage: version pip [PACKAGE] version [--format=FORMAT] [--check=CHECK] Options: --format=FORMAT the format to print the versions in [default: table] --check=CHECK boolean tp conduct an additional check [default: True] Description: version Prints out the version number version pip Prints the contents of pip list Limitations: Package names must not have a . in them instead you need to use - Thus to query for cloudmesh-cmd5 use cms version pip cloudmesh-cmd5
-
emptyline
()[source]¶ Called when an empty line is entered in response to the prompt.
If this method is not overridden, it repeats the last nonempty command entered.
-
help_help
()[source]¶ Usage: help help COMMAND Description: List available commands with "help" or detailed help with "help COMMAND".
-
onecmd
(line)[source]¶ Interpret the argument as though it had been typed in response to the prompt.
This may be overridden, but should not normally need to be; see the precmd() and postcmd() methods for useful execution hooks. The return value is a flag indicating whether interpretation of commands by the interpreter should stop.
-
precmd
(line)[source]¶ Hook method executed just before the command line is interpreted, but after the input prompt is generated and issued.
-
prompt
= 'cms> '¶
-
-
class
cloudmesh.shell.shell.
Plugin
[source]¶ Bases:
object
Some simple methods to manage dynamic namespace plugins for cloudmesh.
-
classmethod
class_name
(command)[source]¶ creates the default filename in which the module is defined :param command: the name of the command :return: cloudmesh.ext.command.<command>+command.<Command>
-
classmethod
classes
()[source]¶ list of the commands in the cloudmesh namespace under cloudmesh.command :return: list of the commands
-
classmethod
load
(commands=None)[source]¶ - Parameters
commands –
If None the commands will be found from import cloudmesh Otherwise the commands can be explicitly specified with
- commands = [
‘cloudmesh.bar.command.bar.BarCommand’, ‘cloudmesh.foo.command.foo.FooCommand’, ]
A namespace package must exists. Foo and Bar ar just examples
- Returns
the classes of the command
-
classmethod
-
cloudmesh.shell.shell.
PluginCommandClasses
¶ alias of
cloudmesh.shell.shell.CommandProxyClass
-
cloudmesh.shell.shell.
main
()[source]¶ cms.
- Usage:
cms –help cms [–echo] [–debug] [–nosplash] [-i] [COMMAND …]
- Arguments:
COMMAND A command to be executed
- Options:
- --file=SCRIPT
- -f
SCRIPT Executes the script
- -i
After start keep the shell interactive, otherwise quit [default: False]
- --nosplash
do not show the banner [default: False]


?Eustoma
exaltatum
(L.)
Salisb.
ex
G.
Don
Det.-rev.
M.
Thiv(B)2001
New
York
Botanical
Garden
polten,
npore
or
leaf
sample
removed
sfisdi,
.
Name
Leu.Ç.
StvoujŤ
Institution
^
Date
U
j\
8
t
New
York
Botanical
Garden
pollen,
spore
or
leaf
sample
removed
Name
‚twwe.
Institution
Date
l^/1
Catherwood-Chaplin
West
Indies
Expedition
Academy
of
Natural
Sciences
of
Philadelphia
Plants
of
CUBA
Eustoma
exaltatum
(L.)
Griseb.
det.
R.
A.
Howard
Prov.
Las
Villas:
Cayo
Largo,
spit
near
sea.
Flower
blue.
Common
on
sand
Yo/J>
BOTANICAL
GARDE**
The
New
York
Botanical
Garden
n.
j
!U{/
(fajCJ
i<39f
George
R.
Proctor
3166
8
April
1948
1624598
Legend -
Level of confidence that token is an accurately-transcribed word
extremely low
very low
low
undetermined
medium
high
very high


... WELCOME TO MY STORE ...
"What I do is about living. It’s about living the best life you can and enjoying the fullness of the life around you—from what you wear, to the way you live, to the way you love."
"What I do is about living. It’s about living the best life you can and enjoying the fullness of the life around you—from what you wear, to the way you live, to the way you love."


Repeat of World Cup final in store as Ireland learn opponents for 2020 Olympics
Sean Dancer’s side are set to face the Netherlands among others.
by Paul FennessyTHE IRISH HOCKEY team discovered their Olympic fate today, as the draw for the Tokyo 2020 Games was made.
Following a sensational win over Canada earlier this month, Sean Dancer’s side were put into Pool A, and will come up against the Netherlands, who beat the Irish 6-0 in last year’s World Cup final.
Germany, India, Great Britain and South Africa were also paired in Ireland’s group.
Meanwhile, Group B comprises Australia, Spain, Argentina, China, New Zealand and hosts Japan.
Each team will play each other once, with the sides that finish in the top four of the group qualifying for the quarter-final stage.
The pairings for the men’s draw were also confirmed, though Ireland won’t be there, having missed out following a heartbreaking loss to Canada last month.
Men
Pool A: Australia, Argentina, India, Spain, New Zealand, Japan
Pool B: Belgium, Netherlands, Germany, Great Britain, Canada, South Africa
Women
Pool A: Netherlands, Germany, Great Britain, Ireland, India, South Africa
Pool B: Australia, Argentina, New Zealand, Spain, China, Japan


| DOSE: T+ 0:00 |
25 mg |
oral |
2C-I |
(powder / crystals) |
| T+ 4:05 |
2 carts. |
inhaled |
Nitrous Oxide |
(gas) |
Experience – Second time
Setting – my house, solo
The end of the summer was drawing near. I had had a lot of great times with my friends. Many of my friends though were preparing to leave for college. It was a sad time, as well as an exciting time for all of them. My girlfriend was also preparing to leave. This saddened me greatly. I had been with her over 8 months and I did not want to see her leave. I knew deeply that this was all part of growing up though.
I had wanted to have another psychedelic experience before the summer ended. I felt that using the proper “tool” I could bring some closure to all that was going on around me. After spending a night with my girlfriend I decided to take 25mg of 2C-I hoping for the powerful “inward” trip it provided me last time.I was in a great state of mind before ingesting the 2C-I. I was happy from spending such a wonderful evening with E. I decided to take it in a mixture with a little grape soda.
12AM – I put 25mg of 2C-I in a shot glass with grape soda. There was no reaction noticed. I had expected some fizzing but none was seen. I stirred it with my finger which I then licked clean in case any had stuck to it. The taste was quite foul. I ignored that though, and took the shot down quickly.
1215AM – My stomach feels a little strange. I had eaten around 4 hours ago. The feeling is more of a tightness in my stomach. It is not unlike the last time I used 2C-I.
115AM – Effects which seemed to be slowly creeping up on me take full effect. I feel very warm. There is a noticeable brightening of lights. Also, my sense of touch is quite heightened. I log on to IRC and begin typing. Using the keyboard feels very interesting.
130AM – I notice the curtain in the room begins to shimmer. It seems to have a slight ripple to it. I notice that the door to the room seems to be doing the same. I am always amused by this “breathing” effect. It always seems to be the first visual hallucination I notice. My mind feels pretty clear at this point. The trip so far seems to be mainly just effecting my senses and not my mind.
2AM – My mind is definitely effected at this point. I am feeling quite happy. I am talking to people on IRC still and I feel happy to be part of any conversation. It was around this time I noticed the floor though. The carpet in the room is blue. It almost looked like water. It seemed to be rising and crashing like waves. I stared at it for some time. It was quite interesting.
230AM – The carpet waves have ceased and have turned into patterns. I cannot begin to describe just how intricate the patterns were. They were large tribal looking geometric patterns. They were sliding across the floor. They maintained the same structure but they just slid back and forth. I had never seen such a pattern on a psychedelic before. I remember thinking “How is my brain thinking this up…?” I watched this for quite awhile.
315AM – I am at the peak of the experience now. The problem is however, my mind is thinking TOO much. I cannot complete a thought. As soon as I’m almost done another one begins. It becomes really confusing.  I walk around and turn of the black lights and lava lamp. For some reason, the lights seem to be adding to my confusion. I leave and go into my bed room.
330AM – I’m still having trouble thinking, but it’s starting to calm a bit.
4AM – My mind is once again functioning in a way I feel comfortable with. Although the past hour had not been bad, it had been confusing and frustrating.
405AM – I decide to do some nitrous before things start coming down. I get my cracker and 2 cartridges. I fill up 2 balloons and inhale one immediately after the other. I finished both balloons before I felt the effects.
Things happened fast and they were intense. The world dissolved away. There was a loud “twanging” noise ringing in my ears. With my eyes opened a strange shape took form. It was a triangle composed of smaller triangles. The smaller triangles shimmered with brilliant purples and greens. The corners of the large triangle had glowing lights. I looked at the one at the top. But then my head jerked to looking at the bottom right. And then, it jerked to the bottom left. And it kept going in the same sequence. I felt as if each light was its own reality, and I could only exist in one at a time. I could not control where I looked at this beautiful image. Slowly the triangle faded, and the world presented itself again.
410AM – I am almost overwhelmed by the nitrous experience. I don’t know exactly what to make out of it.
430AM – I put on headphones and listen to Dark Side Of The Moon.
5AM (or so) – I lose interest in the CD. This has never happened before. I have never grown bored of Pink Floyd while tripping. I put the headphones down. I then turn all the lights in the room off. I lay back looking at my ceiling. Even in the darkness I can see its contorting. I sit back and ponder everything that has been happening…
I think about my life and how it has been going. I am disappointed in the grades I had gotten the previous year in school. I stop and think about where I am going in life. I have goals and dreams, but I know if I do not work for them, they will disappear. I swore right then that I was going to do good in school. Not for my parents or girlfriend, but for myself.
I also stopped to think about all my friends who I had just said goodbye to. I realize this isn’t an end. It’s just a new beginning. Although they are all away, we will all return home someday. We will all meet again. Even though they are temporarily out of my life, I know they will be back.
I also think about my girlfriend E. E is leaving for college in less than a week. I don’t exactly know how well I am going to handle this. I want to stay with her, despite the difference in location. She wants to same. I decide that whether we stay together or not, I still feel fortunate for all we have shared. I realize that even though she may move on and we may part, we will be together forever in my memories and my heart.
730AM – I drift off to sleep 2 hours of deep thought…
130PM – I wake up. I am happier right now about everything than I have been in awhile.
----------------------------------------------
This experience gave me everything I could have ever hoped for. I went into this trip hoping I could get some closure on things, and I was successful. Although the first half was just eye candy (which is entertaining to say the least), the 2 hours in the dark just thinking was truly a very beneficial experience. All my worries seemed to be gone. I had accepted things as they were rather than just wishing things weren’t happening.
This trip held immense meaning to me. I can only hope that someone out there has had an experience as wonderful as this.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Demo of dregexp
Check out View -> Developer -> Develope Tools -> Console
{"foo":{"bar":"baz"}}
Expected parse tree:
Reload grammar
Empty grammar
Expected grammar:
Derived parse tree:
Derived grammar:


| Politician Names | Date of Birth | Office |
|---|---|---|
| James Anthony | 11/02/1988 | local goverment |
| Mark Joshua | 11/02/1889 | federal |
| Brad Traversy | 01/05/1971 | legistrative |
| Job Party | 11/02/1889 | local goverment |
| stephen Grid | 11/02/1988 | federal |
| King McCarthy | 01/05/1971 | legistrative |