A common requirement in corporate systems is "let me know when something is going on". In Notes we use "On document creation or update" triggered agents to process such events. To let external systems know about such a change R8 introduced the web service client. This works well in distributed system, but requires quite some work on both ends. In a recent case I had to optimize the communication between Domino and a task running on the same machine. The existing solution was polling the Domino API in short intervals for updates. Something I would call donkey mode. Sockets to the rescue. A few lines of Java in a triggered agent puts an end to donkey mode and provides the receiving end with all it needs in time:
No libraries to load, the only utility function used is
As usual YMMV
(Bad German pun in the title)
import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.net.Socket; import lotus.domino.AgentBase; import lotus.domino.AgentContext; import lotus.domino.Database; import lotus.domino.Document; import lotus.domino.DocumentCollection; import lotus.domino.NotesException; import lotus.domino.Session; import com.issc.castle.domino.Utils; public class JavaAgent extends AgentBase { public static String sockethost = "<IP_ADDRESS>"; public static int socketport = 1234; public void NotesMain() { Session session = null; AgentContext agentContext = null; Database db = null; DocumentCollection dc = null; Document doc = null; // The socket elements DataOutputStream out = null; BufferedReader in = null; Socket socketClient = null; try { // Get the Notes parts session = getSession(); agentContext = session.getAgentContext(); db = agentContext.getCurrentDatabase(); dc = agentContext.getUnprocessedDocuments(); // Get the socket socketClient = new Socket(sockethost, socketport); in = new BufferedReader(new InputStreamReader(socketClient.getInputStream())); out = new DataOutputStream(socketClient.getOutputStream()); doc = dc.getFirstDocument(); while (doc != null) { Document nextDoc = dc.getNextDocument(doc); this.signalOneDocument(doc, in, out); Utils.shred(doc); doc = nextDoc; } // Mark them done dc.updateAll(); } catch (Exception e) { e.printStackTrace(); } finally { Utils.shred(doc, dc, db, agentContext, session); // Close them try { if (out != null) { out.close(); } if (in != null) { in.close(); } if (socketClient != null) { socketClient.close(); } } catch (IOException e) { e.printStackTrace(); } } } private void signalOneDocument(final Document doc, final BufferedReader in, final DataOutputStream out) { try { String notesURL = doc.getNotesURL(); out.writeBytes(notesURL); out.writeBytes("|"); } catch (NotesException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
No libraries to load, the only utility function used is
Utils.shred()
which is a error wrapped recycle call.
As usual YMMV
(Bad German pun in the title)
Posted by Stephan H Wissel on 09 May 2016 | Comments (0) | categories: IBM Notes Java


THE VAN A film review by David N. Butterworth Copyright 1997 David N. Butterworth/The Summer Pennsylvanian
Rating: *** (Maltin scale)
Guinness, football, and chips.
These passions enrich the lives of the Irish residents of Barrytown, a fictional working-class Dublin neighborhood realized by writer Roddy Doyle. His "Barrytown trilogy" of films began with "The Commitments" (a slick, Alan Parker-helmed musical production), then continued with "The Snapper" and now "The Van," both directed by Stephen Frears. "The Van" continues the hilarious tone of number two, this time with a story of two good friends making a go of a lunchtruck business.
Contemplating a potential product, Larry (Colm Meaney) brings a batter-dipped, deep-fried sausage to his wife in bed and asks her how they make them. "I don't think they make them," Mary (Caroline Rothwell) replies, squinting at the grizzled, yellow piece of matter that approximates a corndog on a really bad day. "They just find them."
Frears is very much at home with the material. An interesting director who has graduated from gritty British beginnings ("My Beautiful Laundrette," "Sammy and Rosie Get Laid") to high-gloss Hollywood costume dramas ("Dangerous Liaisons," "Mary Reilly"), Frears still finds the time to work on smaller projects that interest him. With "The Van," the director confidently guides Doyle's daffy tale, capturing all of the writer's delightfully colorful language. "Hey, you with the head," Larry says to one customer. "What do you want?" "World peace," kids the young slouch. "You're barred!"
Eric Clapton also contributes to the film's production, co-writing and playing guitar on the evocative score.
"The Van" opens with Bimbo (Donal O'Kelly) finding himself "made redundant" from the baking job he's held all his life. Not content to simply pick up a weekly dole check like his friend Larry, Bimbo seizes an opportunity to be his own boss in the form of a run-down, engineless, grease-encrusted "chipper" van that, on inspection, "looks like the inside of a leper." Bimbo convinces Larry to go into business with him, and after several hosings, scrapings, and coatings of paint, "Bimbo's Burger's" is born. The film then centers on the relationship between Bimbo and Larry, previously men of leisure, and how their partnership presents new challenges to these fast--and fast food--friends.
Larry and Bimbo don't subscribe to our American values of hygiene and health consciousness, overlooking various code violations such as kicking raw chipped potatoes into buckets and accidentally tossing Pampers into the fry-o-lator. "The Van" is so in-your-face greasy that you can almost feel the whiteheads puckering under your skin while you're watching it--it's easy to see why deep-fried Snickers bars were once a big hit across the water! Meaney's pickled beetroot complexion adds to the experience, and many times in the film its spattered with hot lard. "Jay-sus!" (The swear box is always full in Larry's house.) Meaney is at his best playing blustery, blood-vessel bursting Dubliners like Larry. When Larry is forced to wear a suit and tie, either for Christmas dinner or to go out to a wine bar, he looks like a garden gnome.
"The Van" has ample opportunities for melodramatic subplots but sticks to its guns. Every time the two men fall out and heaviness threatens, they resolve their differences over pints (make that imperial gallons) of stout. The relationship between Larry and Bimbo is fresh and genuinely touching; this is a film as much about friendship as it is about working class values (Bimbo has a work ethic; Larry has an attitude).
In a deeper vein, both men have marriages that are uncommonly important in their lives. The wives' roles, while secondary in the film, provide depth and charm to the project. While the men faff and fuss, Mary and Maggie (Ger Ryan) look on, providing a calming and steadying influence.
While the ending of "The Van" may seem a little anti-climactic, the journey to that point is very funny, with just a smattering of real poignancy.
-- David N. Butterworth<EMAIL_ADDRESS>The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Nov 6, 2007 10:32 AM
From November 15th to the 24th, Joachim Castellano, Skye MacLeod, and Tara Tarpey will travel to Japan for the purpose of presenting the TESOL 2.0 project, which was devised at EdLab, at the 2007 Japan Association for Language Teaching (JALT) Conference. While in Japan, they will also represent EdLab and its mission in imagining the future of education. The After Ed Channel will engage in its inaugural international production. Special Japan-related episodes for After Ed News, Level Up, and Out of the Box will be shot on location. Also scheduled is a visit the TC Tokyo Library where the team will introduce library services and programs available to the TC Tokyo students, including PocketKnowledge. In addition, the team plans on gauging interest in a TESOL 2.0/CSG technology workshop next summer. For more information on the TESOL 2.0 project, please visit our wiki: http://tesol2pt0.pbwiki.com/ If you would like to see our itinerary, it's located here * * * A description of the JALT conference follows. For more information, please visit: http://conferences.jalt.org/2007/ JALT2007: The Japan Association for Language Teaching 33rd International Conference November 22 — 25, 2007 Conference Theme: "Challenging Assumptions: Looking In, Looking Out" JALT is celebrating its 33rd International Conference this year. This event gives us an optimal opportunity to take another look at where we started and where we are going in language practice and research... Our Conference goal is to raise questions that challenge our understanding of how learning occurs, how we can plan our learning environment, and why we teach. As participants in JALT2007, let us be prepared to ask these questions. Language research will continue to change and shift; this Conference will provide us with some directions for how to approach research and the application of its findings for the next generation of JALT. (edited excerpt from the JALT 2007 site)


There have been at least three forks of gpsd wandering around, all of which are now defunct. This page will explain matters.
The gpsd project was started in 1995 by Remco Treffkorn, back when GPS technology was a shiny new thing. Remco laid out a sound basic framework for a utility that functioned without much fuss for nearly a decade.
Remco's design may, in a sense, have been too good. Because gpsd didn't cause problems or attract attention, the maintainers (including Remco himself and Derrick Brashear) turned to other more pressing problems. The code was neglected for years at a stretch, and became rather dusty. The original architecture started to show signs of strain when Remco, Derrick, and Russ Nelson bolted on support for the odd proprietary format of the EarthMate GPS between early 1999 and late 2002.
Thereafter, Russ Nelson hosted the project on pygps.org for several years and became one of its three maintainers. He continued the gpsd tradition by largely ignoring the code once he had gotten it working well enough to support pyGPS.
Sometime during this period Fritz Ganter, author of the GPSdrive project, forked gpsd. There are a couple of different stories about why the fork happened and some clashing memories. However, the gpsdrive version did not diverge from the parent gpsd in any significant way. The protocol it spoke was a proper subset of gpsd-2's. This variant is also dead; the new maintainer, Jörg Ostertag, dropped it from the gpsdrive-2.10 prereleases in 2007.
Another fork was ngpsd, part of the NavSys
project.
This diverged from the gpsdrive fork in 2002. The author, Amaury
Jaqcquot, is now on the gpsd list and ngpsd has been officially
retired.
Yet another fork of gpsd was moved into C++ by Thomas Hargrove and
called tgpsd
. The protocol it spoke was almost a proper
subset of that of gpsd, with PDAVMSQ commands and an 'I' command that
could query the azimuth/elevation/signal-strength of an individual
satellite. As of December 2006 the tgpsd
project page has
dropped off the net.
Further forks of gpsd
seem unlikely, as the project
has since become sufficiently large and visible to co-opt most
potential developers.
In August 2004, Eric Raymond (yes, that Eric Raymond) tripped over a minor problem with gpsd while playing with his new toy, a BU-303 USB GPS. He looked at the code, muttered imprecations about the thick layer of dust on it, and began hacking.
About a week of frenzied coding later, Eric had (a) completely refactored and cleaned up the code, (b) added every feature then on the developers' wishlists, (c) documented it all, and (d) added substantial new features of his own, including the libgps service library that allows C developers to manage a gpsd session in a remote-procedure-call-like way (e.g., without having to worry about gpsd's protocol or how to unpack its data into a C structure).
Eric's work became the prototype for gpsd-2.0. In mid-August of 2004, Eric moved the project to Berlios with the approval and cooperation of all three of the 1.x maintainers. (The main reason for that choice of hosting site was that it was among the first to offer Subversion, which was new technology at the time and which Eric and the 1.x developers were all interested in experimenting with.)
In early 2005 the project took another significant turn as Eric implemented packet-sniffing and autobauding, threw out all the old configuration options. and factored the daemon into a thin multiplexer layer sitting on top of a set of device drivers. Support for non-NMEA devices dates from this redesign; SiRF was the first.
In the year between June 2005 and June 2006 the gpsd
project went from being mostly a solo effort by Eric to attracting a
flourishing community of developers. Prominent among them are Chris
Kuethe and Gary Miller, who were given release authority in October
2006.
By the end of 2006, gpsd
supported several vendor
binary protocols as well as the original NMEA and Zodiac. The suite
of GPS test tools had greatly expanded, and we implemented a rigorous
regression-test framework for the daemon itself. The daemon had
acquired new features like multi-device capability and hotplug
autoconfiguration.
The daemon's core code has been pretty stable since 2006. Adding
drivers for new vendor protocols is a routine process now; we've had
at least two contributed by people who aren't core GPSD developers.
In early 2009 Eric cleaned up and rewrote a lot of our test and
configuration tools; gpsmon
dates from this time
(replacing and generalizing earlier sirfmon
).
In 2007-2008 the GPSD project got its first new competition since 1.x days, a project called Gypsy positioned directly against what the author believes to be our design mistakes. We discuss it here.
In July and August 2009 ESR redesigned the GPSD command
protocol and gave gpsd
the ability to read data from
marine AIS receivers and pass it to clients.
In January 2010, the GPSD project won the first Good Code Grant from the Alliance for Code Excellence.
In March 2010 the project changed version-control systems, moving from Subversion to git. In April 2011, it changed build systems, dumping autotools for scons.
In August 2011 we shipped the long-awaited 3.0 major release. Following this, the codebase proved so mature that, when it was ported by cross-development to a MIPS-based router in mid-September, no C changes at all were required.
In late September 2011, the announcement that the Berlios forge site would be shutting down at the end of 2011 forced the project to move to Savannah.
In the 3.12 release of January 2015, the undocumented remnants of client-library support for the pre-JSON query protocol were removed.
In April 2019 GPSD handled the second GPS era rollover with barely a hitch.
At the end of May 2019 the project repository, bugtracker, and web content moved from Savannah to GitLab, with the web content served by GitLab pages and updated automatically on repository pushes. Redirects were left in place on the old website at ibiblio.


Farming Talk – November 25
Farm491 held an innovation forum entitled New World Farming, bringing together a range of people to debate the challenges facing agriculture, including industry innovators, technologists, academics, farmers and businesses.
We began by asking how we would solve the current global food crisis, exploring farmer equity, environmental sustainability and food integrity.
Farm491’s Outreach Manager, Sarah Carr, tackled farmer equity. She described how farmers often face challenges out of their control and proposed that by empowering them with the right technology, we could promote an equitable supply chain.
Professor Louise Manning of the Royal Agricultural University explored the topic of food integrity, highlighting the fraud issues of food products and processes, where the labelling is not accurately describing what they are, for example the ham on a pizza actually being turkey.
I completed the debate by discussing environmental sustainability, and how complex issues, such as reducing the 53.5 gigatons of greenhouse gases in the atmosphere, cannot be solved by a simplistic solution like stopping eating beef.
There is no single story in agriculture at the moment, it’s about where you’re doing it, and how you’re doing it – so tech needs to play a role in solving these complexities. We need more solutions to sustain food production.
Luke Halsey is head of Farm491 and programme manager


Charles Ferguson
About
Portfolio
Contact
Portfolio
Hangman
Role Playing Game
Trivia Game
Rutgers Info Widget
Rock Paper Scissors
Connect with Me
© 2017 - fergsociety


calc
THEME
1
2
3
399,981
0
1
2
3
4
5
6
7
8
9
DEL
+
-
.
/
x
RESET
=
Challenge by
Frontend Mentor
. Coded by
Exequiel Arroyo
.


--- layout: default title: Contact Us tagline: "From data to action" --- {% include JB/setup %}
Email:
<EMAIL_ADDRESS>Phone:
0428 740 978
Office:
Level 3, 13-17 Castray Esplanade
Battery Point, TAS 7004


---
layout: null
section-type: committee
title: Committee
---
## Committee
Day to Day administration of the society is bestowed upon the 5 member committee.
President
Will BowditchMSc Advanced Security and Digital Forensics
Vice-President
James Angus3rd Year BEng Cybersecurity and Forensics
Secretary
Karl Johnston3rd Year BEng Computer Systems & Networks
Treasurer
Jonathan Robertson4th Year BEng Cybersecurity and Forensics
Social Events Officer
Rebecca Stewart4th Year BEng Cybersecurity and Forensics


-
$1350
favorite this post
Updated 2 Bed 2 Bath in Pawtucket, utilities included
$1350
2br -
650ft2 -
(Fairlawn)
pic
hide this posting
restore
restore this posting
-
$875
favorite this post
SPOTLESS 2 bedroom apartment w/ laundry! Ready for you to move in!!!
$875
2br -
(Central Falls: 1-way street off Dexter, EXTREMELY QUIET!)
pic
hide this posting
restore
restore this posting
[2 more like this]
-
$1100
favorite this post
Cumberland/ Valley Falls Brand-New Two Bed Rental
$1100
2br -
800ft2 -
(Cumberland)
pic
hide this posting
restore
restore this posting
-
$1000
favorite this post
Grande Apartamento 3 habitaciones Tercer Piso Central Falls, RI
$1000
3br -
(CENTRAL FALLS)
pic
hide this posting
restore
restore this posting
-
$800
favorite this post
Central Falls – Just Rehabbed Two Bed - $800
$800
2br -
800ft2 -
(13 Mowry Street, Central Falls)
pic
hide this posting
restore
restore this posting
-
$800
favorite this post
1st Floor Sunny 1BR Apt. with Off-Street Parking
$800
1br -
1000ft2 -
(Central Falls)
pic
hide this posting
restore
restore this posting
-
favorite this post
NEW LISTING: Several lovely listings with pkg & yard DEPOSIT HOLDS
$850
2br -
(central falls)
hide this posting
restore
restore this posting
[1 more like this]
-
$825
favorite this post
Apartment For Rent
$825
2br -
750ft2 -
(Central Falls)
pic
hide this posting
restore
restore this posting
-
$1200
favorite this post
BEAUTIFUL APARTMENT AVAILABLE NOW
$1200
2br -
1120ft2 -
(Central Falls, RI)
pic
hide this posting
restore
restore this posting
-
$995
favorite this post
2 bedroom with laundry and parking included
$995
2br -
(Pawtucket(near Lincoln))
pic
hide this posting
restore
restore this posting
-
favorite this post
Cumberland single family house
$1100
2br -
950ft2 -
(Mendon Rd)
hide this posting
restore
restore this posting
-
$1300
favorite this post
43 East Barrows St - 2 bedrooms
$1300
2br -
1150ft2 -
(Cumberland)
pic
hide this posting
restore
restore this posting
-
favorite this post
791 BROAD ST. 2ND FL.
$1050
3br -
(CENTRAL FALLS, RI)
hide this posting
restore
restore this posting
-
$1050
favorite this post
3 BR in Lincoln w/ Heat/HW, Parking and Laundry
$1050
3br -
(Lincoln)
pic
hide this posting
restore
restore this posting
-
$750
favorite this post
One Bedroom Apt in CF
$750
1br -
(Central Falls)
pic
hide this posting
restore
restore this posting
[1 more like this]
-
favorite this post
Lovely rentals - 2br with parking and yard. Great location.
$850
2br -
(Central Falls)
hide this posting
restore
restore this posting
-
$900
favorite this post
2 bedroom apartment
$900
2br -
(Central falls)
pic
hide this posting
restore
restore this posting
-
$875
favorite this post
Central Falls- Completely Renovated Two Bed $875 heat included
$875
2br -
700ft2 -
(69 Fales Street, Central Falls)
pic
hide this posting
restore
restore this posting
-
$1090
favorite this post
Heat and Hot water included Section 8 welcome
$1090
3br -
(114-120 Summer Street Central falls RI)
pic
hide this posting
restore
restore this posting
-
$875
favorite this post
MOVE IN READY!!! MOVE IN SPECIALS!!!
$875
2br -
pic
hide this posting
restore
restore this posting
-
favorite this post
Heat and Hot water included
$1450
4br -
(126-128 Illinois street Central falls)
hide this posting
restore
restore this posting
-
$1075
favorite this post
TAX TIME SPECIALS!!! LETS GET YOU INTO A HOME!!!
$1075
3br -
pic
hide this posting
restore
restore this posting
-
$1250
favorite this post
Spacious remodeled 3 bedrooms on 1st floor in Cumberland
$1250
3br -
1200ft2 -
(Cumberland, RI)
pic
hide this posting
restore
restore this posting
[1 more like this]
-
$1025
favorite this post
3 big bedroom Section 8 welcome
$1025
3br -
(101 Sylvian street central falls Ri)
pic
hide this posting
restore
restore this posting
-
$750
favorite this post
QUIET DEAD END STREET 2ND FLOOR
$750
1br -
(CF/LINCOLN LINE)
pic
hide this posting
restore
restore this posting
-
favorite this post
NEW LISTING: 2 br pkg & yard DEPOSIT HOLDS
$850
2br -
(central falls)
hide this posting
restore
restore this posting
[1 more like this]
-
$950
favorite this post
Clean, Sunny S.Attleboro/Pawt. Line, 5 min. to S. Attleboro "T" Stn
$950
2br -
(Pawtucket RI)
pic
hide this posting
restore
restore this posting
-
favorite this post
spacious 2 bed apartment for rent
$1100
2br -
(Pawtucket ri)
hide this posting
restore
restore this posting
-
$800
favorite this post
1st floor 1 bedroom
$800
1br -
(linboln line CF)
pic
hide this posting
restore
restore this posting
-
$950
favorite this post
1 Bedroom Apartment in Quiet Lincoln Neighborhood
$950
1br -
704ft2 -
(Lincoln)
pic
hide this posting
restore
restore this posting
-
$1200
favorite this post
Studio apartment
$1200
1br -
600ft2 -
(Attleboro Massachusetts)
pic
hide this posting
restore
restore this posting
[1 more like this]
-
favorite this post
1 bedroom studio apartment
$850
1br -
(Central falls)
hide this posting
restore
restore this posting
-
$1150
favorite this post
Renovated 3 bedrooms apt
$1150
3br -
1000ft2 -
(Pawtucket)
pic
hide this posting
restore
restore this posting
-
$1100
favorite this post
One bedroom Studio apt Everything included
$1100
1br -
(Cumberland)
pic
hide this posting
restore
restore this posting
-
$1250
favorite this post
Full of charm with additional features including a cozy fireplace!
$1250
2br -
944ft2 -
pic
hide this posting
restore
restore this posting
-
$1200
favorite this post
For rent
$1200
3br -
1100ft2 -
(Central Falls)
pic
hide this posting
restore
restore this posting
-
$1150
favorite this post
2 brm apt in great neighborhood on So. Attleboro border
$1150
2br -
1100ft2 -
(Pawtucket)
pic
hide this posting
restore
restore this posting
-
favorite this post
ISO 1-2 bedroom apartment
$750
1br -
(Central falls/ Pawtucket/ Cumberland)
hide this posting
restore
restore this posting
-
$950
favorite this post
Lincoln ri 2nd floor hardwoods
$950
2br -
875ft2 -
(lincoln lonsdale)
pic
hide this posting
restore
restore this posting
-
$950
favorite this post
Beautiful 1Br/1Ba Condo for Rent! Lincoln RI
$950
1br -
580ft2 -
(Lincoln, RI)
pic
hide this posting
restore
restore this posting
Few local results found. Here are some from nearby areas. Checking 'include nearby areas' will expand your search.
-
$2300
favorite this post
3/4 bedroom renovated house
$2300
4br -
(sma > Attleboro)
pic
hide this posting
restore
restore this posting
-
$1150
favorite this post
2 brm apt in great neighborhood on So. Attleboro border
$1150
2br -
1100ft2 -
(bos > Pawtucket)
pic
hide this posting
restore
restore this posting
[2 more like this]
-
$1300
favorite this post
One bedroom on the 4th floor in the best community of RI
$1300
1br -
842ft2 -
(htf > Pawtucket)
pic
hide this posting
restore
restore this posting


University of Baltimore Black Law Students Association
Articulate and promote the educational, professional, political, and social needs and goals of Black law students;
Foster and encourage professional competence;
Improve the relationship between Black law students, Black attorneys, and the American legal structure;
Instill in the Black attorney and law student a greater awareness and commitment to the needs of the Black community;
Influence the legal community by bringing about meaningful legal and political change that addresses the needs and concerns of the Black community;
Adopt and implement policies of economic independence;
Encourage Black law students to pursue careers in the judiciary; and
Do all things necessary and appropriate to accomplish these purposes.


{{define "content"}}
Your file was added to the queue and will soon be indexed. You can go home or add new file.


| Today |
|---|
| Warren commented on E-5476 (Fix header graphic) saying:
"The header graphic is going to need a re-think" |
| Warren commented on E-5476 (Fix header graphic) saying:
"The header graphic is going to need a re-think" |
| Warren commented on E-5476 (Fix header graphic) saying:
"The header graphic is going to need a re-think" |
| Warren commented on E-5476 (Fix header graphic) saying:
"The header graphic is going to need a re-think" |
| Warren commented on E-5476 (Fix header graphic) saying:
"The header graphic is going to need a re-think" |
| Yesterday |
|---|
| Warren commented on E-5476 (Fix header graphic) saying:
"The header graphic is going to need a re-think" |
| Warren commented on E-5476 (Fix header graphic) saying:
"The header graphic is going to need a re-think" |
| Warren commented on E-5476 (Fix header graphic) saying:
"The header graphic is going to need a re-think" |
| Warren commented on E-5476 (Fix header graphic) saying:
"The header graphic is going to need a re-think" |
| Warren commented on E-5476 (Fix header graphic) saying:
"The header graphic is going to need a re-think" |
| Warren commented on E-5476 (Fix header graphic) saying:
"The header graphic is going to need a re-think" |
| Warren commented on E-5476 (Fix header graphic) saying:
"The header graphic is going to need a re-think" |
| Warren commented on E-5476 (Fix header graphic) saying:
"The header graphic is going to need a re-think" |


Able Player Audio Demo #3:
Audio player with Playlist
For additional demos see the
Index of
Able Player
Examples
.
The Paul Allen Song
PHP 7.0 Alpha
Une Chanson Française
Man With Small F (The Inaccessible PDF Song)
Every Day


Marianne Z. Wamboldt
Democrat
I retired from the University of Colorado School of Medicine in July 2020. I was a Professor of Psychiatry and am now Professor Emerita. I still mentor some junior faculty, occasionally teach, and work as a consultant on a federal grant helping provide more access to mental health care for depressed teens.
BS magna cum laude - Marquette University - 1976 MD - University of Wisconsin Madison - 1981 Residency in Psychiatry - University of Wisconsin Madison - 1985 Clinical Research Fellowship - NIMH - Bethesda, MD - 1986 Child and Adolescent Psychiatry Fellowship - University of Colorado - 1990
80220
I must say that I have not done as much as many. I see myself mostly as a Democrat, with some conservative social values, and a strong sense of social justice from my faith upbringing. Like our country, the Catholic Church is quite divided now politically, and I am on the progressive side of it. I have spent more time working with Work (Academic) Organizations than either church or politics. Within my profession, I was Chair of the Pediatric Mental Health Institute at Children's Hospital for 10 years. I have served on a large number of national and international professional committees. I have served on a large number of committees at National Jewish Health when I worked there for 14 years, and at Children's Hospital while I worked there for 16 years, including the Medical Board.
I have donated to Andrew Romanoff's campaigns, as well as small amounts to Act Blue to support a variety of Democratic candidates including Biden. I am a founding member of the AACAP PAC, which is the PAC for the American Academy of Child and Adolescent Psychiatry. We support both Republicans and Democrats at the Federal level who support issues that improve child mental health.
I have served as a member and President of the Family Process Institute Board from 2009 - 2018. I consult to them now. Their website (https://www.familyprocess.org/about-fpi/) indicates "As an independent, multidisciplinary, transnational organization, we assert equal rights and just treatment of all individuals, regardless of race, nationality, class, gender, sexual orientation, religion, language, age and ability. We dedicate ourselves to promoting a more inclusive and socially just world by developing and exchanging new theory, research, applied practice and policy related to diverse families and systems. FPI seeks to be a global voice for scholarly work and to shape future directions for research and practice toward ameliorating suffering and enhancing the lives of individuals, couples and families through our journal, Family Process." Since 2016, I have been the leader of the Colorado Sunday Solidarity group, which meets monthly (less since COVID) to discuss local and national issues. We helped support Jason Crow's election. We are loosely part of the Indivisible Group led by Jody Rein in our state. I had been very active in St. Elizabeth's Catholic Church till about 2018, serving on the Faith Formation Committee and in the Choir. Since then, I have followed our pastor who was transferred to Regis University and attend Catholic Mass and prayer services there.
I think elections need to be fair for all. The discrepancy of popular vote versus gerrymandered votes over the decades I have voted has become larger and larger. That is not fair. It is not a way to represent each American citizen. I want the new district lines to be fair to all.
As a psychiatrist, I was trained to find common connections, help people express themselves in ways that can express their feelings without attacking others, try to bring consensus to groups. Unlike psychiatrists trained as "Freudian" I was trained in family therapy and ways of working with groups. As Chair of an Academic Department, and as President of an National Board, I have worked with people of all backgrounds, races, religions, gender identities, political persuasions, etc. I think I am usually able to bring harmony and energy to groups.
I was an academic psychiatrist where I was also trained in clinical research and did a large amount of research throughout my career. I loved the data analysis part, and considered myself somewhat of a geek in using statistical programs to analyze data. I also am a classical pianist and love Bach, who is quite logical. This type of thinking comes easily to me.
Female


eTicket Box
First name:
Last name:
Email:
Movie name:
Choose
Frozen
Alladin
Lion King
Beauthy & the Beast
Movie time:
11:00am
2:00pm
5:00pm
9:00pm
What's yout age?
Child/Senior Ticket
Adult Ticket
Delivery Method
This venue only provides eTickets.
Get eTicket
Print your eTickets and take them with you to the venue.
Your eTicket is on your way!


Hey, we are four fellow students from INSA Toulouse. This website was created in the frame of a Web Programming project. You can find our contact informations below.
| Contact | |||||
|---|---|---|---|---|---|
| Pierre | Laur |<EMAIL_ADDRESS>| |||
| 06 12 34 56 78 | |||||
| Nahom | Belay |<EMAIL_ADDRESS>| |||
| 06 21 43 65 87 | |||||
| Florian | Leon |<EMAIL_ADDRESS>| |||
| 06 12 56 34 78 | |||||
| Ellias | Chabloz |<EMAIL_ADDRESS>| |||
| 06 12 34 79 56 |
All pictures © Florian Leon


My Home
$80
Owner
This is a lovely 1 bedroom and 1 bathroom apartment that can accomodate 2 people, its located
in the center of Shangai and next to subway line 1, 1 stop to people square, 2 stops to bund, 3 stops
to Jingan Temple
Tiny House
$65
Owner
This beautiful two bedroom/one bath apartment is located in the Castro/Duboce
Triangle and in walking distance to Upper and Lower Haight, NOPA, and the Mission.
Lot's of transportation, corner stores, grocery stores, and fantastic restaurants are
in walking distance. If you come with car, street parking is quite easy here but it is restricted. However,
there is paid parking around the corner at the hospital
garage and there is also a street nearby where you can park your car for a week.
A suite
$190
Owner
This beautiful two bedroom/one bath apartment is located in the Castro/Duboce
Triangle and in walking distance to Upper and Lower Haight, NOPA, and the Mission.
Lot's of transportation, corner stores, grocery stores, and fantastic restaurants are
in walking distance. If you come with car, street parking is quite easy here but it is restricted. However,
there is paid parking around the corner at the hospital
garage and there is also a street nearby where you can park your car for a week.


This tutorial provides information for developing generic JSAFS tests using:
SAFS Java API test development instead of SAFS CSV Test Tables.
JSAFS AnnotationsAutomatic Java dependency injection and dynamic test execution.
This document discusses assets provided by the SAFS Windows Release. However, the details of how to configure and use these features are similar for all SAFS installations.
This tutorial assumes that SAFS is successfully installed and functioning normally.
In this tutorial (and most online documentation):
%STAFDIR%
Refers to the installation directory of STAF.
WIN Default: C:\STAF
UNX Default: (future)
%MYTEST%
Refers to the sample Eclipse Project provided.
Default: %SAFSDIR%\samples\eclipse\MyTest
We will assume Eclipse is being used for Java development. But other Java development environments can be used and configured similarly.
In Eclipse, this is done at Window->Preferences Java->Installed JREs.
\com\sas\test \Datapool\ \Bench\ \Test\ \Logs\ \Dif\ test.ini
Some of the subdirectories of Datapool may not be present
That is OK. Missing directories should be automatically created at runtime.
You should note the [SAFS_ENGINES] entries for SmartBear's TestComplete and IBM Rational Functional Tester are intentionally commented out (disabled).
This sample test will be using the internal AutoIt Engine for test execution.
(Setting the JavaDoc location is extremely important to learn how this all works!)
%SAFSDIR% /lib/ SAFS.jar
JavaDoc location: http://safsdev.sourceforge.net/doc
%SAFSDIR% /lib/ safsmodel.jar
JavaDoc location: http://safsdev.sourceforge.net/doc
Note:
Hover over that @AutoConfigureJSAFS annotation and see documentation related to its use.
public MyTest() {
super();
}
In the Run Menu -> Run Configurations dialog:
New Java Application Launch Configuration:
Name: Run MyTest Main Tab: Project: MyTest Main class: com.sas.test.MyTest Press Apply to commit these changes. Arguments Tab: VM Arguments: -Dsafs.project.config="./test.ini" Ensure "Working Directory" is set to ${workspace_loc:MyTest} Press Apply to commit these changes. JRE Tab: Runtime JRE: If the Project JRE is not the (SAFS) JRE, then Execution environment: must point to the <SAFS\jre> (If the SAFS\jre is NOT listed, you will need to add it via "Installed JREs".) Press Apply to commit these changes. Press Close to finish the Run Configuration settings.
This is a standard text-based SAFS App Map file.
AppMap files are, essentially, in Windows INI file format.
You should notice that the Datapool \ App.map text file and the AppMap.java file have references to the same things.
In fact, you MUST NOT edit the AppMap.java file because it can be dynamically built for you from the text file.
Any manual edits you make to AppMap.java will be wiped out the next time it is dynamically generated.
In the Run Menu -> Run Configurations Dialog:
New Java Application Launch Configuration:
Main Tab: Name: Generate MyTest AppMap Project: MyTest Main class: org.safs.model.tools.ComponentGenerator Arguments Tab: Program Arguments: -in "./Datapool/App.map" -package "com.company.test" -out "./com/company/test" -name "AppMap" Ensure "Working Directory" is set to ${workspace_loc:MyTest} Press Apply to commit these changes. JRE Tab: Runtime JRE: If the Project JRE is not the (SAFS) JRE, then Execution environment: must point to the <SAFS\jre> (If the SAFS\jre is NOT listed, you will need to add it via "Installed JREs".) Press Apply to commit these changes. Press Close to finish the Run Configuration settings.
UserID="myUserID"
Be sure to Save your changes to the App.map text file.
You should find in the Package Explorer, and in the Editor Window, references to the UserID item you added will now appear in AppMap.java.
Review how the AppMap Components and Constants are used with the Runner to build SAFS tests.
Don't forget to HOVER the mouse over the Runner, the AppMap, and their associated items and methods to see the reference documentation for each one.
The XML log is suitable for XSL Transforms into any type of test data, log, or report needed for external systems.
There are sample XSL Transforms in %SAFSDIR% \ samples \ Log Transforms.
Carl Nagle, SAS Institute Project Manager, SAFSDEV Subscribe to appropriate Support Forums to review support archives and ask questons.


Where did my box go?
May 25, 2014
Hi there! My name is Melissa (if you couldn't tell from above) and I love everything sweet (if you couldn't tell from below). My past experience rests in heavy industries like energy/mining/manufacturing as a chemical engineer and business consultant. I've also started some entrepreneurial endeavors focused on water infrastructure and 3D Printing. Look forward to meeting in the fall!Hi there! My name is Melissa (if you couldn't tell from above) and I love everything sweet (if you couldn't tell from below). My past experience rests in heavy industries like energy/mining/manufacturing as a chemical engineer and business consultant. I've also started some entrepreneurial endeavors focused on water infrastructure and 3D Printing. Look forward to meeting in the fall!Hi there! My name is Melissa (if you couldn't tell from above) and I love everything sweet (if you couldn't tell from below). My past experience rests in heavy industries like energy/mining/manufacturing as a chemical engineer and business consultant. I've also started some entrepreneurial endeavors focused on water infrastructure and 3D Printing. Look forward to meeting in the fall!


Theodore Roosevelt"The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood; who strives valiantly; who errs, who comes short again and again, because there is no effort without error and shortcoming."
My name is Awuor Attyang. I am an amateur web developer based in Nairobi, Kenya. I am particularly interested in designing and building user interfaces as well as interactive and pleasurable user experiences/front-end development. I have working knowledge of HTML,CSS, Javascript and Python. I am currently learning web framweworks such as Angular, Vue.js and Django in an effort to build pragmatic and clean websites.


SG Kampung
General
SG Kampung Leads
SG Kampung Leads
What are SG Kampung Constituent Leads?
How do I become a Constituent Lead?
Join a private community of SG Kampung Leads
How do I contact my Constituent Leads?
JOIN US!


We provide the best in class cooling with our signature AirQ technology.
Most of our services will surely fit your budget.
We have one of the best trained staff to serve you.


It is a long established fact that a rer will be distracted by the readable content
Already have an account?


Harrell ties career high with 34 as Clippers rout Pelicans
by Associated PressLOS ANGELES (AP) — Montrezl Harrell tied a career-high with 34 points and grabbed 12 rebounds, Kawhi Leonard added 26 and the Los Angeles Clippers beat the New Orleans Pelicans 134-109 Sunday night for their fifth straight win.
This is the fourth time this season Harrell has led the Clippers in scoring. The fourth-year forward also scored 34 in a win over Milwaukee on Nov. 6. Lou Williams added 19 points and Paul George had 18. The Clippers had 16 3-pointers with George making six.
Brandon Ingram, one of three Lakers players involved in the Anthony Davis trade, led New Orleans with 24 points and eight rebounds in his first game back at Staples Center. Jrue Holiday scored 18 and E'Twaun Moore had 17.
JJ Redick and Holiday hit 3-pointers to give the Pelicans a 10-6 lead three minutes into the game before the Clippers took control with a 15-4 run. George keyed the run with a pair of 3s and Leonard added five.
Los Angeles led 40-27 and then increased it to 62-37 on George’s 3 with 5:55 remaining in the first half.
The Clippers went into halftime with a 72-56 advantage before New Orleans cut the lead in half with an 11-3 run to start the third quarter. Jaxson Hayes’ layup drew the Pelicans to 86-80 with 4:53 remaining in the quarter but that would be as close as they got as Los Angeles countered with an 11-2 run, which included Harrell scoring the last six points.
TIP-INS
Pelicans: C Jahlil Okafor returned to the lineup after missing four games due to a left ankle sprain and had 10 points along with six rebounds. .... Josh Hart missed his fourth straight game due to a sprained left ankle. ...
Clippers: Ivica Zubac had 10 rebounds before fouling out. ... This was the second time this season Los Angeles has scored 70 or more points in the first half.
UP NEXT
Pelicans: Host the Los Angeles Lakers on Wednesday night in the first meeting against former star Anthony Davis.
Clippers: At Dallas on Tuesday night to begin a three-game road trip.


| Local redirect server | ||||
| Port
Restart built-in web server on given port
|
Listening @ | |||
| Redirect URI⋆ |
Set redirect to built-in web server
|
|||
| Authorization parameters | ||||
| Response type⋆ | ||||
| Client id⋆ | ||||
| Auth type | ||||
| Scope | ||||
| State | ||||
| Authorization endpoint⋆ | ||||
|
Start login flow
|
Profile
Profile name
Save profile
Load profile
Select and load profile
Delete profile
|
Reset login view
|
||


${imports}
${headfinal}
Menu
Home
Repository
About
Products
Applications
Resources
Contact
${links}
${header}
${content}
${bottom}


One-off film night for young adults at Shrewsbury’s Flaxmill Maltings
by Lucy TodmanA one-off film night specifically for young adults will be held in Shrewsbury’s Flaxmill Maltings.
Thanks to a partnership between the British Film Institute (BFI) and rural cinema scheme Flicks in the Sticks, a special film screening of cult classic Willy Wonka and the Chocolate Factory will take place in the landmark building that continues to undergo extensive renovation.
The screening, for people aged between 16 to 30, is on Tuesday and is part of a scheme to engage young people with film by delivering high quality screened events to new groups of people, in new and unexpected locations.
The renovation of the Flaxmill has been driven by the desire to bring the building back to life at the heart of the community.
Event organiser, Arts Alive’s cultural co-ordinator Jo Davies said: “I am excited to be involved in this project funded by the BFI.
"It’s great to be organising a film screening for young people, like myself, in my hometown of Shrewsbury.
"So come along and indulge your inner child, there'll be board games and sweet treats from 6pm.”
The screening starts at 7.30pm and tickets, which cost £6 can be booked at Flaxmill Maltings, Shrewsbury or by calling 07972 839625.
Tickets also available at www.artsalive.co.uk


Risbakken Small Town House / Hoem + Folstad Arkitekter
- Curated by Paula Pintos
- about 17 hours
Houses Interiors · Stavanger, Norway
- version="1.0" encoding="UTF-8"? Architects: Hoem + Folstad Arkitekter
- AreaArea of this architecture projectArea: 40.0 m2
- version="1.0" encoding="UTF-8"?YearCompletion year of this architecture project Year: 2018
- version="1.0" encoding="UTF-8"?PhotographsPhotographs: Knut Folstad
- version="1.0" encoding="UTF-8"?ManufacturersBrands with products used in this architecture project Manufacturers: Dinesen, Made by wood, Meling, Prolicht, VITRA
- Clients Nina Knudsen
More Specs Less Specs
Text description provided by the architects. Renovation and extension of 150 years old timber house in the center of Stavanger city. The timber walls were preserved, even though they once had been charred by fire. The burned surface is retained to give character to the interiors. The architect-designed genuine moldings for the house.
This was done to reinforce the history of the house as an important part of the decor. Brand new roof construction in solid pine. The kitchen and living room is floored with solid pine from Dinesen. Kitchen décor performed by Vågane Viste.
Inner walls, wardrobes and kitchen décor are covered with teak plywood. All timber walls have got extra insulation, new historic windows and pinewood planks on the outside. Excellent carpentry work by HøieUeland.


I've have a passion for mobile technology since I started working in 2008 and since then that passion has only grown. I've been involved in a wide variety of mobile application from the Medical sector to the Financial sector.
Mobile is at the forefront of user engagement and interaction, this drives me to produce the best possible solution while being user friendly and very intuitive.
I've worked a variety of different mobile platforms: J2ME, Android, BlackBerry, iOS (Swift) and Windows Mobile with my main focus being on the Android platform.
Specialties: Mobile application development for Android.


TABLE OF INTERACTIONS WITH
OPIOIDS
From the French ANSM drug interactions document of September 2016, p. 161
OPIOIDS CLASS CODE: N0-R0 |
BARBITURATES CLASS CODE: N05CA-001 |
Increased risk of respiratory depression, which could be fatal in case of overdose |
Take into account |
OPIOIDS CLASS CODE: N0-R0 |
BENZODIAZEPINES AND RELATED CLASS CODE: N05-001 |
Increased risk of respiratory depression, which could be fatal in case of overdose |
Take into account |


Welcome
This is a demo app to serve the following purposes:
- Allow easy testing and development
- Demonstrate what the library can do
- Help document how to use it
See the basic form test for an idea of what field types may be used.
See the further features form for more!


This week concludes the analytic testing of my website - User Science Journal In this third and final blog, I set up an experiment to test whether changing a feature on my website will lead visitors to stay longer and explore more blog posts. This blog discusses how I set up the test and what I learned from it.
Create a hypothesis
Before running any experiments, it’s important to first identify a problem and then create a hypothesis about what I can change to improve it.
Last week I had 3 goal completions:
A closer look shows me that the pages people visited were the home page, about page and blog post 2.
With this blogging website, my aim to is to have people visit and read the blogs. It seemed strange to me that Blog post 1 wasn't getting traffic or taking people to the next blog. I realized on closer viewing that some of my blog posts had a link to “home” at the top to get readers back to the home page for another view, but my first few blog posts were missing that. I got a little ahead of myself and fixed it and then nudged my visitors to visit again. It was only then that I realized I should have waited to fix it as my test--does adding the button for home get people to stay longer and read more blogs?
For this activity, my hypothesis and test had to be a little backward--the test would be to recreate the problem and see if people spent less time on the page without the fix.
Create an A/B test
In my experiment, I decided to test removing a home page button from the first blog post.
I created an Optimize account and created a new experiment: removing the home button.
I set up a variant to test a blog page without the home page link. And I targeted it to go to people in Seattle at 50% weight--half of my viewers would see it with the home page and half without.
I set my objectives to be the same as last week's goals:
Then I gave my viewers a nudge.
Outcomes
I am still waiting for data. I started the experiment late on Sunday morning and I’m waiting on data! I may be able to get data by the evening, but if not, I may just have to update this page later this week.


Upload Content
Select Filters for Upload
Grade Level
6th
7th
8th
9th
10th
11th
12th
Subject
TEMP SUBJECT 1
TEMP SUBJECT 2
TEMP SUBJECT 3
TEMP SUBJECT 4
TEMP SUBJECT 5
TEMP SUBJECT 6
TEMP SUBJECT 7
Content Type
TEMP CONTENT TYPE 1
TEMP CONTENT TYPE 2
None/Unknown
TEMP
TEMP 1
TEMP 2
TEMP 3
TEMP 4
TEMP 5
TEMP 6
TEMP 7
Includes:
Worksheets
Labs
Tests
Content Description
Enter description of content
Enter text here.
Submission
Select preview image:
Select compressed folder for upload:
Agree to terms and servce
Agree to privacy policy


Zion Market Coupons
Tool tips
Location
Notifications
Preferences
Add Loyalty Card
Sign Out
Best Deals
Expiring Soon
Categories


This stuff can't be tabbed to when the modal is open
Did you know that "Gallia est omnis divisa in partes tres" ?
Once you're done selecting the date, click "save" to proceed!


Game with {{otherPlayer}} {{#if inProgress}} started {{started}} {{else}} finished {{finished}} {{message}} {{/if}}
Start a game with any users below:


| DOSE: T+ 0:00 |
25 seeds |
oral |
Datura |
(seeds) |
| T+ 2:00 |
2 bowls |
smoked |
Cannabis |
(plant material) |
The Entrée:
25 finely chewed seeds of Datura Stramonium, aged to racemize the hyoscyamine to atropine and the scopolamine to atroscine. Each seed is roughly 7-8 mgs, but alkaloid content of each seed varies too much to be consistent.
2 bowls of Blueberry Kush, cured to decarboxylate the THCA, and smoked approximately two hours after ingestion of the Datura.
I eye the small cluster of black, teardrop-shaped seeds in the palm of my hand with a mix of apprehension and usual pre-trip anxiety. They taste bitter with a hint of an earthy bite; not bad by any means but the hard husks get stuck in my teeth. I chew well and let the mass sit in my mouth for a few minutes to aid any sublingual absorption, and prepare to joyously delve into the bowels of torment and despair.
The Trip:
Eyes closed, pitch blackness. A sense of evil, a seductively malevolent vibe. Apprehension as the gears of my perspective slowly creak into the lower planes. Streaking spirals of light, growing brighter and brighter until... suddenly, break through. People and landscapes in perfect clarity as if I were watching through an invisible camera. A man turns towards his wife before stabbing her violently in the back. He rips the peeling flesh from her body as insects suddenly pour out. Cut. A pool of blood, undulating with red waves. Body parts falling in, silently splashing. No sound whatsoever to these visions. Cut. A wolf, black eyes, digging into an unidentifiable corpse. Strings of meat are dangling between its teeth. Cut. Many scenes of erotica, usually ending in gory climax. My skull is but a padded cell, the walls of which my inner demons bounce off. Themes of sadomasochism, violence punctuated by guilty pleasure.
I hear sounds of sheer chaos. Screams, thumps. Dragging noises. Someone calling my name, louder, and louder. A gentle hiss and a bump. Cut. Spiders. Lots of spiders, pouring through the cracks of reality as if puncturing through this thin veil of ordinary life. I feel things gently running over my body. I don't open my eyes. Cut. Swinging bodies on nooses, burning. Fire, blood dripping as maggots squirm into the quivering flesh. I am carrying on a conversation with something, but I do not know what. My mind echoes with distorted fragments of meaning; snippets of grand truth ripped from this primeval chaos. Lots of blood. Death. Churning corpses being flayed. Rotating scenes of razor-sharp blades dissecting through my mind. I contemplate the nature of fear in all its manifestations--here there is true, unmitigated terror. A woman reaches back and rips the top part of her skull off; a horde of black moths flies out. I hear the whispering voices of angels. Cut.
I lift my eyelids and stare into the darkness of my room to find relief from the torrential deluge of demonic imagery. My wall is covered with crawling black things. Posters and my pull up bar, dimly seen in the nonexistent light, are bending at absurd angles and then popping back to their rightful shape. Swarms of gnats have infested my room, making the darkness heavier with their presence. The wall shudders as its cracks begin to disgorge countless more denizens of the shadows. I have welcomed in the eldritch beasties of the night, and I'm here to pay them homage. I close my eyes again, and sink further into the welcome depths of Hell itself.
 However, I woke up the next morning feeling nothing but refreshed and revived with fresh exhilaration. There was also no anticholinergic loss of cognitive faculties during the experience, which I usually feel under high doses of diphenhydramine and the like. My best guess is that marijuana synergizes wonderfully with the Datura plant (in India the combination of smoking Datura Metel with Cannabis is supposed to unify Shiva, the male spirit, with Shakti, the female spirit), and that this combination allowed me to experience a form of divinatory visions and open-eyed deliria without being overly toxic or long-lasting.
I would not recommend this combination to anyone without first starting at low doses of 1 or 2 seeds and working your way up gradually with much time in between the doses. Datura is known to stress the cardiovascular system, and the combination with marijuana can put a great toll on the heart. Combine carefully and with low amounts. Silent meditation in the dark is good for best results, but I've also been able to use Stramonium before sleep for lucid dreaming purposes. Typically the trips manifest with an air of seductive evil, bloodshed, and death to them--things that I greatly enjoy as an alternative to the clichéd puppies and flowers atmosphere of most traditional psychedelics.
Tread the tropane waters carefully. Here there be demons.
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.


Supports safe and reproducible solutions development in R. It will help you with environment separation per project, dependency management, local packages creation and preparing deployment packs for your solutions.
| Version: | 0.34-248 |
| Depends: | R (≥ 3.2.0) |
| Imports: | logging, methods, devtools, roxygen2, git2r, jsonlite, processx, httr |
| Suggests: | knitr, rmarkdown, testthat |
| Published: | 2018-12-13 |
| Author: | Walerian Sokolowski [aut, cre], Wit Jakuczun [aut], Yulia Yakimechko [aut], Mateusz Kalinowski [aut], Ryszard Szymanski [aut], WLOG Solutions [cph], R Consortium [ctb] (Definitions of system requirements are taken from sysreqsdb project.) |
| Maintainer: | Walerian Sokolowski <rsuite at wlogsolutions.com> |
| BugReports: | https://github.com/WLOGSolutions/RSuite/issues |
| License: | MIT + file LICENSE |
| URL: | https://rsuite.io |
| NeedsCompilation: | no |
| Materials: | README NEWS |
| CRAN checks: | RSuite results |
| Reference manual: | RSuite.pdf |
| Vignettes: |
RSuite basic workflow |
| Package source: | RSuite_0.34-248.tar.gz |
| Windows binaries: | r-devel: RSuite_0.34-248.zip, r-release: RSuite_0.34-248.zip, r-oldrel: RSuite_0.34-248.zip |
| OS X binaries: | r-release: RSuite_0.34-248.tgz, r-oldrel: RSuite_0.34-248.tgz |
| Old sources: | RSuite archive |
Please use the canonical form https://CRAN.R-project.org/package=RSuite to link to this page.


--- layout: default tutorials: - name: arc_gis description: Introductory resources for learning GIS with ArcGIS Desktop. - name: complex_mapping description: A workshop on creating maps in ArcGIS from complex and multivariable datasets. - name: cytoscape description: A workshop for network analysis using the free and open source software Cytoscape. - name: datavis_r description: An introductory workshop to data visualization using R. - name: dotmap_workshop description: Files accompanying the Geographical data and parallel computer with R and Python workshop jointly offered... - name: mapping_R description: This tutorial walks through three examples demonstrating how geospatial data can be manipulated and visualized in R. - name: techandtexts description: An open seminar hosted by the UMich Library to explore the technology and theory behind data visualization. - name: textmining description: A workshop introducing basic text mining techniques using R and the Stanford Named Entity Recognizer. - name: webmapping description: A tutorial for open source web mapping using Leaflet and the New York Public Library’s mapwarper. - name: soms description: A tutorial on creating self-organizing maps in R. - name: web_network_visualization description: By using d3.js, we have visualized the family tree network of lager and ale with interactions that help the audience understand the relationships more. Out of this project we deliever an easy-to-follow tutorial on the interactions and you are wellcome to try it out! - name: time_filter_map description: One of our clients had data about a group of UMich students' residential in Ann Arbor for decades. From this project, we deliever this tutorial with source codes for creating map visualization with the demension of time. - name: bibliometric_networks description: Networks can provide significant measures to identify data driven patterns and dependencies. We will use a bibliographic data file to create an interactive network display. - name: tidyverse_and_ggplot2 description: A tutorial on how to manipulate and visualize data easily in R - name: aframe-NCAAB description: Query data of the 2017-2018 NCAA Basketball Tournament bracket and visualize it in VR environment by A-Frame - name: banana-project description: An introductory workshop to Plotly - in Python and R - using a dataset about bananas projects: - name: crawling_noise description: Using SuperCollider to generate music from web crawling data. - name: csv_map description: A project for creating easily reusable and updatable choropleth maps from simple datasets. - name: debate_analysis description: Using sentiment analysis to visualize the intensity of emotions and opinions expressed in the 2016 primary debates. - name: Lidar_classification description: Classifying 3-d objects (specifically, buildings) using LIDAR point cloud source data. - name: network_study description: A usability study of network layout techniques investigating what makes network structures easily understandable. - name: typesetting description: In the days of the letterpress, printing blocks of text required letters (often cast in metal) to be arranged in the necessary sequence. This program is designed to match blocks of texts with known sets of letterpress press, and determine which sets have enough letters for printing. - name: derrida description: The Princeton University Library (PUL) houses Derrida’s Margins, a website and online research tool for the annotations of Jacques Derrida. We used data collected from this project to create visualizations of the references used throughout Derrida’s De la grammatologie. ---
The Digital Projects Studio is part of the University of Michigan's Clark Library. We provide tutorials and support for visualization work. Connect to our workshops and projects below, or peruse our blog for additional information.


(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)
yaz_itemorder — Prepares for Z39.50 Item Order with an ILL-Request package
$id
, array $args
) : voidThis function prepares for an Extended Services request using the Profile for the Use of Z39.50 Item Order Extended Service to Transport ILL (Profile/1). See » this and the » specification.
id
The connection resource returned by yaz_connect().
args
Must be an associative array with information about the Item Order request to be sent. The key of the hash is the name of the corresponding ASN.1 tag path. For example, the ISBN below the Item-ID has the key item-id,ISBN.
The ILL-Request parameters are:
protocol-version-num transaction-id,initial-requester-id,person-or-institution-symbol,person transaction-id,initial-requester-id,person-or-institution-symbol,institution transaction-id,initial-requester-id,name-of-person-or-institution,name-of-person transaction-id,initial-requester-id,name-of-person-or-institution,name-of-institution transaction-id,transaction-group-qualifier transaction-id,transaction-qualifier transaction-id,sub-transaction-qualifier service-date-time,this,date service-date-time,this,time service-date-time,original,date service-date-time,original,time requester-id,person-or-institution-symbol,person requester-id,person-or-institution-symbol,institution requester-id,name-of-person-or-institution,name-of-person requester-id,name-of-person-or-institution,name-of-institution responder-id,person-or-institution-symbol,person responder-id,person-or-institution-symbol,institution responder-id,name-of-person-or-institution,name-of-person responder-id,name-of-person-or-institution,name-of-institution transaction-type delivery-address,postal-address,name-of-person-or-institution,name-of-person delivery-address,postal-address,name-of-person-or-institution,name-of-institution delivery-address,postal-address,extended-postal-delivery-address delivery-address,postal-address,street-and-number delivery-address,postal-address,post-office-box delivery-address,postal-address,city delivery-address,postal-address,region delivery-address,postal-address,country delivery-address,postal-address,postal-code delivery-address,electronic-address,telecom-service-identifier delivery-address,electronic-address,telecom-service-addreess billing-address,postal-address,name-of-person-or-institution,name-of-person billing-address,postal-address,name-of-person-or-institution,name-of-institution billing-address,postal-address,extended-postal-delivery-address billing-address,postal-address,street-and-number billing-address,postal-address,post-office-box billing-address,postal-address,city billing-address,postal-address,region billing-address,postal-address,country billing-address,postal-address,postal-code billing-address,electronic-address,telecom-service-identifier billing-address,electronic-address,telecom-service-addreess ill-service-type requester-optional-messages,can-send-RECEIVED requester-optional-messages,can-send-RETURNED requester-optional-messages,requester-SHIPPED requester-optional-messages,requester-CHECKED-IN search-type,level-of-service search-type,need-before-date search-type,expiry-date search-type,expiry-flag place-on-hold client-id,client-name client-id,client-status client-id,client-identifier item-id,item-type item-id,call-number item-id,author item-id,title item-id,sub-title item-id,sponsoring-body item-id,place-of-publication item-id,publisher item-id,series-title-number item-id,volume-issue item-id,edition item-id,publication-date item-id,publication-date-of-component item-id,author-of-article item-id,title-of-article item-id,pagination item-id,ISBN item-id,ISSN item-id,additional-no-letters item-id,verification-reference-source copyright-complicance retry-flag forward-flag requester-note forward-note
There are also a few parameters that are part of the Extended Services Request package and the ItemOrder package:
package-name user-id contact-name contact-phone contact-email itemorder-item
没有返回值。


| DOSE: |
1 hit |
oral |
LSD |
(blotter / tab) |
On January 12, 2008, I had an LSD experience that would change my view on the world for good. More than just feelings of pleasure and pain, it had the sheer force of intensity to it, and my complete surrendering to whatever came along. My only desire being to see things for what they truly were.
Now this was around my twentieth trip on acid, and I had been taking it regularly, once or twice a month for about a year, thinking I had seen most of what the drug had to offer. It had taken me about five trips to realize that I was best when taking LSD alone in my apartment, apart from the raves, parties and night clubs which most of my friends would choose as a setting. Over the course of all this acid experimentation in 2007, I acquired a clear sense of direction and purpose in life, readjusting myself dramatically to the things I thought were in fact worth fighting for.
I quit a four year addiction to Klonopin, lost complete interest in alcohol, marijuana and tobacco; found my soul dwelling in the arts as I rediscovered painting and classical music. Actually, I quit my language course in the university to try a major in piano, realizing that I had spent my teenage years too fearfully to affirm my artistic identity, and that the track I had been leading would surely lead me to undeniable frustration. My hermitage also grew considerably and social interaction became an ever greater task, as I substantially found myself on another plain of thought and interest, I could no longer go out with my friends to just “hang out”, neither submit myself to any passiveness towards daily life. I felt like there was a bubbling, active volcano, erupting inside of me, pleading for artistic productivity and disciplined dedication to musical studies, and that there was no time to lose, no time to be spent fooling around.
I must also point out that three months after my first hit, I developed intense tracers, light and noise sensibility, a wavery vision in which nothing stands still for too long and some phases of stomach clenching anxiety. Symptoms I later related to what is called to be HPPD. There was something else I can only call “enhanced thinking”, as my imagination and creative powers sparkled to an unprecedented level of output causing me to put a lot of faith in the my artistic development as a whole. Interesting enough, as these HPPD symptoms sky-rocketed, my interest in LSD only grew stronger.
In January 2008, I acquired 8 hits of a blotter I had not yet tried. At about 10:30, on a sunshine Saturday morning, alone in my fourteenth floor apartment about 50 meters from the Brazilian coastline, I took one of these hits. And within 50 minutes I realized that something very different was at play, as reality began a slow and unstoppable path towards disintegration. The trip came 4 to 5 times stronger than I had ever tripped before, and the well known apartment which I had been living for the past three years morphed into uncharted, unexplored territory.
Now something inexplicable happens to me when I take acid that my piano and painting techniques burst ridiculously with expression, something I could never really match while being sober, and for that reason tend to have a frustrating outcome. But I never give up trying, having the drug showed me what I’m capable of. On this particular trip, there was very little playing, no panting at all. I could barely move is most of what I can say. With six to seven thoughts in my head all at once, there was very little room for action or decision making.
As lunch time arrived, I grew increasingly hungry and headed for the kitchen where I spent the next two pain-tasking hours trying to prepare myself a meal. By that time I was being repeatedly struck with very different, contrasting emotions of great bliss and great sorrow. It was as if I was an actor being shoved with every possible role-play, and feeling beneath the skin all the possible emotions that human beings are capable of feeling.
As the effects continued gaining in strength, I realized I would glimpse both heaven and hell, and the kitchen I was in was no longer a kitchen, but a swamp, with broad leaf petals and a misty, fog type atmosphere. As I looked at the garbage can, I envisioned multiple insect, worm-like creatures feasting on rotting food. And then suddenly, I could see my body, a pale-grayish body lying on dirt, dead, rotting as well, being feasted on by worms and flies. I felt my fleshy body intensely and took into account that my hands, skin, eyes, and all the fleshy meat that made me be would one day be eaten by these slow chewing worms, and that the lives of these worms depended on my fleshy meat, just as I depended on the ingestion of other living creatures to live as well.
And then it hit me, like a bomb, like a surprising explosion of truth… That if all life were to be made one, it must continuously feed upon itself to sustain its existence. Figuratively speaking, one must chew one’s own arm to give one’s leg the possibility of growth. I cannot blame mosquitoes for thirsting for my blood, no matter what conditions life gives us, it’s only natural that life wants to live, and it’ll move out of its way to do so, no matter the costs.
With such ideas in mind, the meat and beans that I finally managed to serve on my plate had a different tone to them. Needless to say I rejected the meat, chewing on it felt like chewing on my own. I ate the beans or else hunger would have certainly sent me on a downwards spiral.
There was a point in the trip in which the magnitude of the experience looked down at me from up above. I no longer had control of its directions and my ego was washed away. I didn’t know who I was, and this feeling of a lost identity was frightening at first, but then everything all around was so abundant with endless streams of possibility, I didn’t care who I was. The marvel of not being in character was just fine with me. And in that ego-lost state, I realized how the fabric of life was indeed the fabric of a dream, and one’s life could be a good dream or a bad dream, but still a dream, made true by the endless “life eats life” cycle.
At about 4 hours after ingestion, I felt utterly alive, with streams of vibrations flowing through my body, I could not really locate where my body was. There was a definite body-mind split which made me exist thoroughly in thought.  And playing gave life meaning, the joy of spilling energy for a cause that found purpose in itself, not needing any justification other than the sheer desire to play. I understood how important it was to be in peace with one’s self in order to have a better life quality. The song they sing to us when we’re kids: “Row, row, row your boat, gently down the stream. Merely, merely, merely, merely, life is but a dream.”, proved to take in tremendous amounts of wisdom.
All along the experience, faces and gestures of people would flash in front of me. I’d wonder who they were. I’d have an infinite amount of empathy for the faces I saw, wanting to hug them, and pour myself into them in a great gesture of love. I would then see myself as a very old man, watching my grandchildren (or just kids in general) playing in a park or something, having fun. And I would feel like god, wanting to create a world better than our own, a place where more smiles and less suffering would be seen.
About nine hours into the experience, I gradually started to come down and resumed creative activities, playing each note on the piano with great delicacy and love, music being made an essential aspect of my life. I felt as if I had survived something great, and had gotten a peak of something even greater. Most of all there was a prevailing feeling in me that there is more suffering in life than is made plausible, and that a lot of this suffering shows to no utility at all. I also longed for the impossible: the ability to not depend on other living beings to myself be and began to wonder if I’d ever find a realm in which such was made possible.
That night I did not sleep, I was not sleepy at all. The stillness of the late night hours gave a feeling that everything was in its right place, like a calm sea after a heavy storm, a feeling of harmony and understanding, that I knew my place in the universe and that there was nothing to fear. Somehow I believed that if the person I am role-playing while journeying on planet earth ever reached his fullest potential, this role-playing me would die a complete death, and the characterless, egoless me that embodied myself would gladly move on to a state of unbeing, or being on a realm not as harsh as than the one found on planet earth.
Maybe life on earth is an acid trip in itself, with good trips and bad trips, pleasure and pain, and a lot to teach us about who we are and what we’re after. A real test of endurance not meant for the weak-hearted, but what all this striving is meant for... one must answer oneself. The meaning of life is most likely the meaning we give to it.
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.


 I’ve always been rather scepticle of the IOT movement and would rather not receive emails signed “yours truly, the toaster”, but sometimes you have to just go with the flow.
Continue reading
In a bygone age before the standardisation of the orchestra Luthiers seemed to be involved in the making of all kinds of weird and wonderful instruments. Many were evolutionary ancestors to instruments we recognise today or off-shoots the the greater luthierie tree of life. Others were quite bazaar and unusual when compared to the standard forms we are familiar with.
Continue reading
The trackball was invented in 1946 by Ralph Benjamin for use in a military radar system and has had a small but loyal following amongst computer users who shun the conventional mouse. However, acquiring a nice trackball can be a difficult proposition, it is a small and underserved market populated with cheap plastic offerings utilising undersized spheres.
Continue reading
The game of Life is a cellular automaton. It was developed or discovered by the mathematician John Conway in 1970. The premise is that you have a grid where each cell of the grid can be coloured (alive) on blank (dead). The decision of whether a cell is alive or dead is governed by four simple rules.
Continue reading
Decided to share the process of adding a crushed stone inlay to a wooden ring. Starting with an Indian Rosewood blank I prepared earlier, a channel has to be cut to receive the inlay.
A tool called a purfling cutter (easy to make or can be purchased from a Luthier supplier) is used to score two lines on the ring.
Continue reading
In the North American flute the area where where air is directed over the splitting edge to set up the resonance to produce sound is called the birds nest.
Continue reading
In this post I cover how to tie a binding knot commonly used by flute makers around the world to decorate, reinforce or repair an instrument.
Continue reading


Arrays and Hashes can be easily thought of as two different styles of addressing information for the computer to memeorise. An Array has a straight numrical list of addresses, from 0 to as mcuh as you like, where it can put something.
Maybe it would be easy to think of houses on a street, each has it's own number so that the postie can deliver the right thing to the right people.
To take this analogy a bit further; -An array is like what the postal service was a hundred years ago, or what rural delivery is like in most small areas in NZ today. Instead of using a house number for an address, things can be addressed to "BuKKa the old blues singer" or in modern Rural Delivery in NZ you just right the persons name care of the district they are from and the letter gets to them. These two styles of addreess are most easily described as a "Quantatative" verses a "Qualitative" address.
An example of creating a numeric, quantatative Array in C# would look like:
int[] powersOfTen = {1,10,100};
This creates an Array called 'powersOfTen' containing the values: 1, 10 and 100, stored in locations [0], [1] and [2] and can be recalled byquoting those addresses.
An example of a Hash which uses a qualitative address is:
var hashtable = new Hashtable()
{
{"firstName", "Frank"}, {"lastName", "Hardy"}, {"age", 25}
};
The HashTable is called, unremarkably "Hashtable", and has the contents of "Frank","Hardy" and the interger 25. These are stored in addresses "firstName", "lastName" and "age". Unlike Array's the type of data being entered doesn't have to be stipulated beforehand, nor does it neeed to be of consistant type.


--- layout: default description: A description about my blog homepage --- {% include header.html %} {% include about.html %} {% include joinus.html %} {% include members.html %} {% include projects.html %}


OpenStack is an open source cloud infrastructure which can be accessed from multiple public IaaS providers, and deployed privately. It offers infrastructure services such as VM hosting (Nova), authentication (Keystone) and storage of binary objects (Swift).
This module enables Apache Hadoop applications -including MapReduce jobs, read and write data to and from instances of the OpenStack Swift object store.
To make it part of Apache Hadoop’s default classpath, simply make sure that HADOOP_OPTIONAL_TOOLS in hadoop-env.sh has ‘hadoop-openstack’ in the list.
Read and write of data stored in a Swift object store
Support of a pseudo-hierachical file system (directories, subdirectories and files)
Standard filesystem operations: create, delete, mkdir, ls, mv, stat.
Can act as a source of data in a MapReduce job, or a sink.
Support for multiple OpenStack services, and multiple containers from a single service.
Supports in-cluster and remote access to Swift data.
Supports OpenStack Keystone authentication with password or token.
Released under the Apache Software License
Tested against the Hadoop 3.x and 1.x branches, against multiple public OpenStack clusters: Rackspace US, Rackspace UK, HP Cloud.
Tested against private OpenStack clusters, including scalability tests of large file uploads.
OpenStack swift is an Object Store; also known as a blobstore. It stores arbitrary binary objects by name in a container.
The Hadoop Swift filesystem library adds another concept, the service, which defines which Swift blobstore hosts a container -and how to connect to it.
Containers are created by users with accounts on the Swift filestore, and hold objects.
Objects can be zero bytes long, or they can contain data.
Objects in the container can be up to 5GB; there is a special support for larger files than this, which merges multiple objects in to one.
Each object is referenced by it’s name; there is no notion of directories.
You can use any characters in an object name that can be ‘URL-encoded’; the maximum length of a name is 1034 characters -after URL encoding.
Names can have / characters in them, which are used to create the illusion of a directory structure. For example dir/dir2/name. Even though this looks like a directory, it is still just a name. There is no requirement to have any entries in the container called dir or dir/dir2
That said. if the container has zero-byte objects that look like directory names above other objects, they can pretend to be directories. Continuing the example, a 0-byte object called dir would tell clients that it is a directory while dir/dir2 or dir/dir2/name were present. This creates an illusion of containers holding a filesystem.
Client applications talk to Swift over HTTP or HTTPS, reading, writing and deleting objects using standard HTTP operations (GET, PUT and DELETE, respectively). There is also a COPY operation, that creates a new object in the container, with a new name, containing the old data. There is no rename operation itself, objects need to be copied -then the original entry deleted.
The Swift Filesystem is *eventually consistent*: an operation on an object may not be immediately visible to that client, or other clients. This is a consequence of the goal of the filesystem: to span a set of machines, across multiple datacenters, in such a way that the data can still be available when many of them fail. (In contrast, the Hadoop HDFS filesystem is *immediately consistent*, but it does not span datacenters.)
Eventual consistency can cause surprises for client applications that expect immediate consistency: after an object is deleted or overwritten, the object may still be visible -or the old data still retrievable. The Swift Filesystem client for Apache Hadoop attempts to handle this, in conjunction with the MapReduce engine, but there may be still be occasions when eventual consistency causes surprises.
Hadoop expects some operations to be atomic, especially rename(), which is something the MapReduce layer relies on to commit the output of a job, renaming data from a temp directory to the final path. Because a rename is implemented as a copy of every blob under the directory’s path, followed by a delete of the originals, the intermediate state of the operation will be visible to other clients. If two Reducer tasks to rename their temp directory to the final path, both operations may succeed, with the result that output directory contains mixed data. This can happen if MapReduce jobs are being run with speculation enabled and Swift used as the direct output of the MR job (it can also happen against Amazon S3).
Other consequences of the non-atomic operations are:
If a program is looking for the presence of the directory before acting on the data -it may start prematurely. This can be avoided by using other mechanisms to co-ordinate the programs, such as the presence of a file that is written after any bulk directory operations.
A rename() or delete() operation may include files added under the source directory tree during the operation, may unintentionally delete it, or delete the 0-byte swift entries that mimic directories and act as parents for the files. Try to avoid doing this.
The best ways to avoid all these problems is not using Swift as the filesystem between MapReduce jobs or other Hadoop workflows. It can act as a source of data, and a final destination, but it doesn’t meet all of Hadoop’s expectations of what a filesystem is -it’s a blobstore.
Once installed, the Swift FileSystem client can be used by any Hadoop application to read from or write to data stored in a Swift container.
Data stored in Swift can be used as the direct input to a MapReduce job -simply use the swift: URL (see below) to declare the source of the data.
This Swift Filesystem client is designed to work with multiple Swift object stores, both public and private. This allows the client to work with different clusters, reading and writing data to and from either of them.
It can also work with the same object stores using multiple login details.
These features are achieved by one basic concept: using a service name in the URI referring to a swift filesystem, and looking up all the connection and login details for that specific service. Different service names can be defined in the Hadoop XML configuration file, so defining different clusters, or providing different login details for the same object store(s).
Hadoop uses URIs to refer to files within a filesystem. Some common examples are:
local://etc/hosts hdfs://cluster1/users/example/data/set1 hdfs://cluster2.example.org:8020/users/example/data/set1
The Swift Filesystem Client adds a new URL type swift. In a Swift Filesystem URL, the hostname part of a URL identifies the container and the service to work with; the path the name of the object. Here are some examples
swift://container.rackspace/my-object.csv swift://data.hpcloud/data/set1 swift://dmitry.privatecloud/out/results
In the last two examples, the paths look like directories: it is not, they are simply the objects named data/set1 and out/results respectively.
The hadoop-openstack JAR must be on the classpath of the Hadoop program trying to talk to the Swift service. If installed in the classpath of the Hadoop MapReduce service, then all programs started by the MR engine will pick up the JAR automatically. This is the easiest way to give all Hadoop jobs access to Swift.
Alternatively, the JAR can be included as one of the JAR files that an application uses. This lets the Hadoop jobs work with a Swift object store even if the Hadoop cluster is not pre-configured for this.
The library also depends upon the Apache HttpComponents library, which must also be on the classpath.
To talk to a swift service, the user must must provide:
The URL defining the container and the service.
In the cluster/job configuration, the login details of that service.
Multiple service definitions can co-exist in the same configuration file: just use different names for them.
This service definition is for use in a Hadoop cluster deployed within Rackspace’s US infrastructure.
<property> <name>fs.swift.service.rackspace.auth.url</name> <value>https://auth.api.rackspacecloud.com/v2.0/tokens</value> <description>Rackspace US (multiregion)</description> </property> <property> <name>fs.swift.service.rackspace.username</name> <value>user4</value> </property> <property> <name>fs.swift.service.rackspace.region</name> <value>DFW</value> </property> <property> <name>fs.swift.service.rackspace.apikey</name> <value>fe806aa86dfffe2f6ed8</value> </property>
Here the API key visible in the account settings API keys page is used to log in. No property for public/private access -the default is to use the private endpoint for Swift operations.
This configuration also selects one of the regions, DFW, for its data.
A reference to this service would use the rackspace service name:
swift://hadoop-container.rackspace/
This connects to Rackspace’s UK (“LON”) datacenter.
<property> <name>fs.swift.service.rackspaceuk.auth.url</name> <value>https://lon.identity.api.rackspacecloud.com/v2.0/tokens</value> <description>Rackspace UK</description> </property> <property> <name>fs.swift.service.rackspaceuk.username</name> <value>user4</value> </property> <property> <name>fs.swift.service.rackspaceuk.password</name> <value>insert-password-here/value> </property> <property> <name>fs.swift.service.rackspace.public</name> <value>true</value> </property>
This is a public access point connection, using a password over an API key.
A reference to this service would use the rackspaceuk service name:
swift://hadoop-container.rackspaceuk/
Because the public endpoint is used, if this service definition is used within the London datacenter, all accesses will be billed at the public upload/download rates, irrespective of where the Hadoop cluster is.
Here is an example that connects to the HP Cloud object store.
<property> <name>fs.swift.service.hpcloud.auth.url</name> <value>https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens </value> <description>HP Cloud</description> </property> <property> <name>fs.swift.service.hpcloud.tenant</name> <value>FE806AA86</value> </property> <property> <name>fs.swift.service.hpcloud.username</name> <value>FE806AA86DFFFE2F6ED8</value> </property> <property> <name>fs.swift.service.hpcloud.password</name> <value>secret-password-goes-here</value> </property> <property> <name>fs.swift.service.hpcloud.public</name> <value>true</value> </property>
A reference to this service would use the hpcloud service name:
swift://hadoop-container.hpcloud/
Some configuration options apply to the Swift client, independent of the specific Swift filesystem chosen.
Swift does not break up files into blocks, except in the special case of files over 5GB in length. Accordingly, there isn’t a notion of a “block size” to define where the data is kept.
Hadoop’s MapReduce layer depends on files declaring their block size, so that it knows how to partition work. Too small a blocksize means that many mappers work on small pieces of data; too large a block size means that only a few mappers get started.
The block size value reported by Swift, therefore, controls the basic workload partioning of the MapReduce engine -and can be an important parameter to tune for performance of the cluster.
The property has a unit of kilobytes; the default value is 32*1024: 32 MB
<property> <name>fs.swift.blocksize</name> <value>32768</value> </property>
This blocksize has no influence on how files are stored in Swift; it only controls what the reported size of blocks are - a value used in Hadoop MapReduce to divide work.
Note that the MapReduce engine’s split logic can be tuned independently by setting the mapred.min.split.size and mapred.max.split.size properties, which can be done in specific job configurations.
<property> <name>mapred.min.split.size</name> <value>524288</value> </property> <property> <name>mapred.max.split.size</name> <value>1048576</value> </property>
In an Apache Pig script, these properties would be set as:
mapred.min.split.size 524288 mapred.max.split.size 1048576
The Swift filesystem client breaks very large files into partitioned files, uploading each as it progresses, and writing any remaning data and an XML manifest when a partitioned file is closed.
The partition size defaults to 4608 MB; 4.5GB, the maximum filesize that Swift can support.
It is possible to set a smaller partition size, in the fs.swift.partsize option. This takes a value in KB.
<property> <name>fs.swift.partsize</name> <value>1024</value> <description>upload every MB</description> </property>
When should this value be changed from its default?
While there is no need to ever change it for basic operation of the Swift filesystem client, it can be tuned
If a Swift filesystem is location aware, then breaking a file up into smaller partitions scatters the data round the cluster. For best performance, the property fs.swift.blocksize should be set to a smaller value than the partition size of files.
When writing to an unpartitioned file, the entire write is done in the close() operation. When a file is partitioned, the outstanding data to be written whenever the outstanding amount of data is greater than the partition size. This means that data will be written more incrementally
The Swift filesystem client reads files in HTTP GET operations, asking for a block of data at a time.
The default value is 64KB. A larger value may be more efficient over faster networks, as it reduces the overhead of setting up the HTTP operation.
However, if the file is read with many random accesses, requests for data will be made from different parts of the file -discarding some of the previously requested data. The benefits of larger request sizes may be wasted.
The property fs.swift.requestsize sets the request size in KB.
<property> <name>fs.swift.requestsize</name> <value>128</value> </property>
This sets the timeout in milliseconds to connect to a Swift service.
<property> <name>fs.swift.connect.timeout</name> <value>15000</value> </property>
A shorter timeout means that connection failures are raised faster -but may trigger more false alarms. A longer timeout is more resilient to network problems -and may be needed when talking to remote filesystems.
This sets the timeout in milliseconds to wait for data from a connected socket.
<property> <name>fs.swift.socket.timeout</name> <value>60000</value> </property>
A shorter timeout means that connection failures are raised faster -but may trigger more false alarms. A longer timeout is more resilient to network problems -and may be needed when talking to remote filesystems.
This sets the number of times to try to connect to a service whenever an HTTP request is made.
<property> <name>fs.swift.connect.retry.count</name> <value>3</value> </property>
The more retries, the more resilient it is to transient outages -and the less rapid it is at detecting and reporting server connectivity problems.
This property adds a delay between bulk file copy and delete operations, to prevent requests being throttled or blocked by the remote service
<property> <name>fs.swift.connect.throttle.delay</name> <value>0</value> </property>
It is measured in milliseconds; “0” means do not add any delay.
Throttling is enabled on the public endpoints of some Swift services. If rename() or delete() operations fail with SwiftThrottledRequestException exceptions, try setting this property.
If the client can only access the Swift filesystem via a web proxy server, the client configuration must specify the proxy via the fs.swift.connect.proxy.host and fs.swift.connect.proxy.port properties.
<property> <name>fs.swift.proxy.host</name> <value>web-proxy</value> </property> <property> <name>fs.swift.proxy.port</name> <value>8088</value> </property>
If the host is declared, the proxy port must be set to a valid integer value.
The hadoop-openstack JAR -or any dependencies- may not be on your classpath.
Make sure that the: * JAR is installed on the servers in the cluster. * ‘hadoop-openstack’ is on the HADOOP_OPTIONAL_TOOLS entry in hadoop-env.sh or that the job submission process uploads the JAR file to the distributed cache.
A SwiftAuthenticationFailedException is thrown when the client cannot authenticate with the OpenStack keystone server. This could be because the URL in the service definition is wrong, or because the supplied credentials are invalid.
Check the authentication URL through curl or your browser
Use a Swift client such as CyberDuck to validate your credentials
If you have included a tenant ID, try leaving it out. Similarly, try adding it if you had not included it.
Try switching from API key authentication to password-based authentication, by setting the password.
Change your credentials. As with Amazon AWS clients, some credentials don’t seem to like going over the network.
Do not share your login details with anyone, which means do not log the details, or check the XML configuration files into any revision control system to which you do not have exclusive access.
Similarly, do not use your real account details in any documentation *or any bug reports submitted online*
Prefer the apikey authentication over passwords as it is easier to revoke a key -and some service providers allow you to set an automatic expiry date on a key when issued.
Do not use the public service endpoint from within a public OpenStack cluster, as it will run up large bills.
Remember: it’s not a real filesystem or hierarchical directory structure. Some operations (directory rename and delete) take time and are not atomic or isolated from other operations taking place.
Append is not supported.
Unix-style permissions are not supported. All accounts with write access to a repository have unlimited access; the same goes for those with read access.
In the public clouds, do not make the containers public unless you are happy with anyone reading your data, and are prepared to pay the costs of their downloads.
Maximum length of an object path: 1024 characters
Maximum size of a binary object: no absolute limit. Files > 5GB are partitioned into separate files in the native filesystem, and merged during retrieval. Warning: the partitioned/large file support is the most complex part of the Hadoop/Swift FS integration, and, along with authentication, the most troublesome to support.
The hadoop-openstack can be remotely tested against any public or private cloud infrastructure which supports the OpenStack Keystone authentication mechanism. It can also be tested against private OpenStack clusters. OpenStack Development teams are strongly encouraged to test the Hadoop swift filesystem client against any version of Swift that they are developing or deploying, to stress their cluster and to identify bugs early.
The module comes with a large suite of JUnit tests -tests that are only executed if the source tree includes credentials to test against a specific cluster.
After checking out the Hadoop source tree, create the file:
hadoop-tools/hadoop-openstack/src/test/resources/auth-keys.xml
Into this file, insert the credentials needed to bond to the test filesystem, as decribed above.
Next set the property test.fs.swift.name to the URL of a swift container to test against. The tests expect exclusive access to this container -do not keep any other data on it, or expect it to be preserved.
<property> <name>test.fs.swift.name</name> <value>swift://test.myswift/</value> </property>
In the base hadoop directory, run:
mvn clean install -DskipTests
This builds a set of Hadoop JARs consistent with the hadoop-openstack module that is about to be tested.
In the hadoop-tools/hadoop-openstack directory run
mvn test -Dtest=TestSwiftRestClient
This runs some simple tests which include authenticating against the remote swift service. If these tests fail, so will all the rest. If it does fail: check your authentication.
Once this test succeeds, you can run the full test suite
mvn test
Be advised that these tests can take an hour or more, especially against a remote Swift service -or one that throttles bulk operations.
Once the auth-keys.xml file is in place, the mvn test runs from the Hadoop source base directory will automatically run these OpenStack tests While this ensures that no regressions have occurred, it can also add significant time to test runs, and may run up bills, depending on who is providingthe Swift storage service. We recommend having a separate source tree set up purely for the Swift tests, and running it manually or by the CI tooling at a lower frequency than normal test runs.
Finally: Apache Hadoop is an open source project. Contributions of code -including more tests- are very welcome.


A collection of select design, programming, and digital production work. These projects were undertaken for small organizations facing resource limitations, for whom I learned the key skills on the job to advance their missions. The titles (displayed on hover) indicate the roles I served on projects.