Dear Dry,
When “Ms.” magazine launched, the pundits were predicting the magazine would run out of things to say in 6 issues. Well, 43 years later, our reporting and truth-telling still fills the pages of what’s been called one of the most influential magazines in U.S. history. That’s right-this fall, “Ms.” turns 43!
*We need your help to make sure “Ms.” stays strong and independent. I’m inviting you to join a very dedicated group of members, our “Ms.” Partners, and inviting you to join our “Ms.” lifetime community member circle.* [ http://org.salsalabs.com/o/1400/p/salsa/web/common/public/content?content_item_KEY=12741&oqd-sourcecode=MsPartnerEmail ]
Because “Ms.” doesn’t take commercial advertisements, you never have to worry that we will shy away from telling it like it is. From shocking Supreme Court decisions allowing bosses to decide their women employees’ birth control…to campus sexual assault…to the War on Women, “Ms.” is the leader in reporting our lives.
*Just like public radio, we depend on our partners and readers to keep “Ms.” strong! So, while this email is in front of you, please act to support us.* [ http://org.salsalabs.com/o/1400/p/salsa/web/common/public/content?content_item_KEY=12741&oqd-sourcecode=MsPartnerEmail ]
There are two ways to become a “Ms.” Partner-you can make a one-time tax-deductible gift of $43 or more (a dollar for every year of “Ms.” and its truth-telling and trailblazing), or join our monthly sustainer program-at $10, $15 or $25 or more a month. With a donation of $1,000 or more, you will become a lifetime member of the “Ms.” community.
And as a special thanks, we will list both “Ms.” partners and lifetime members in our upcoming “Ms.” anniversary issue.
*Dry, we hope you will become a “Ms.” partner or a lifetime community member. Help us reach our goal of 343 new partners by the end of our anniversary drive!* [ http://org.salsalabs.com/o/1400/p/salsa/web/common/public/content?content_item_KEY=12741&oqd-sourcecode=MsPartnerEmail ]
Over the years, our covers have featured Wonder Woman walking tall and strong-just like “Ms.” But for “Ms”. to stay strong we need to know we can count on the support of a dedicated group of members-literally our Partners.
*Become a “Ms”. Partner and/or lifetime community member today, and see your name in “Ms.”!* [ http://org.salsalabs.com/o/1400/p/salsa/web/common/public/content?content_item_KEY=12741&oqd-sourcecode=MsPartnerEmail ]
Here’s to our future,
Katherine Spillar
Executive Editor
P.S. Become a Ms. Partner and/or a lifetime community member. [ http://org.salsalabs.com/o/1400/p/salsa/web/common/public/content?content_item_KEY=12741&oqd-sourcecode=MsPartnerEmail ] Whatever you decide, we will make sure your name is published in this special section of our Anniversary issue.


A critical review of Spolsky, 2002, 'User Interface Design for Programmers'
Rachel Graves
2013-05-09 00:00:00 +0100Using a series of examples from his professional experience and opinion, Spolsky examines the topic of user interface design in software across a variety of operating systems and platforms. This book aims to provide software engineers who have little to no experience and knowledge in the field of user interface design with further knowledge, so that they can produce better user interfaces. The book has two themes: it explains a series of examples of bad user interface design, and then presents alternative examples where the interface was improved to be more useable. It then describes the theory of user interface design and testing on specific topics.
Spolsky first discusses the theory of the user model and the program model. This is perhaps the most useful lesson in the book for a programmer as it encourages them to program to cater for the user model, rather than force the user model to cater for the program model.
The chapter ‘Affordances and Metaphors’ expands on both themes. Spolsky describes how metaphors can be used to give a user hints about how an interface works (a magnifying glass can be used to imply the ability to zoom in). An example describes a configuration dialog from Netscape Navigator, with a lefthand navigation panel, and a righthand panel with each section’s options. Spolsky explains that it is not clear to an inexperienced user that clicking on objects in the navigation panel will affect the righthand. He then uses an example where the Microsoft Word team started using tabbed dialogs (where sections are depicted using tabs, similar to dividers in a ring binder) to improve usability. However, Spolsky does not discuss in detail why usability was improved, or what metaphor improves the user experience, he instead says “It’s really obvious which tab you’re on, and it’s really obvious how to switch to a different tab”.
Further problems arise when Spolsky contradicts himself. In chapter 7 Spolsky describes a wizard (a question and answer dialog to make tasks easier) from Microsoft Powerpoint: “Almost anyone could figure out how to open and create files using the menu commands; this dialog really only helps absolute beginners”. However, in chapter 12, he creates a wizard stating “Users will suddenly find it much easier to get started with your program without having to browse through menus”.
In summary it has to be admitted that the book is useful for the intended audience. However, the extent in which the book is good at educating the reader depends on the verbosity of Spolsky’s explanations throughout. Further explanation of some topics would be useful in helping the reader to understand these better practices. Furthermore, the contradictions may leave the reader confused about which approach to use.


This article covers everything you could possibly want to know about hubs (aka lock-outs) and other axle disconnect systems for short wheel base Jeeps. The same principles apply to larger Jeeps as well and at some point this article will be expanded to cover the systems used in the larger Jeeps.
The name hub is a bit confusing because other parts of the axle are called the hub, so to avoid confusion the term lock-out can be used. The confusion comes from the fact that the lock-out bolts onto an outer part of the axle normally called the brake hub. The brake hub has the bearings in it and the lugs go through it to bolt on the wheel.
The hub bolts onto the brake hub. Inside the hub is a splined sleeve that moves in and out when the dial is turned. This sleeve slides over the outer part of the axle shaft when it is in and it is away from the axle shaft when it is out. This is the way hubs engage and disengage the front axle.
The axle disconnect system used in Wrangler YJs has a vacuum motor that slides a little shift fork. The shift fork rides on a sleeve that ties the two pieces of the inner axle shaft together when it is engaged. The short side shaft spins all the time.
The term "six bolt hubs" often cause a bit of confusion since all CJs, YJs, and TJs use wheels with 5 lugs. There are two styles of brake hubs used on CJs between '72-'86. From '72-'80 they used a brake hub (for a 5 lug wheel) that had 6 bolts to hold on the lock-out. From '81-'86 they used a brake hub (for a 5 lug wheel) with 5 bolts to hold on the lock-out. There is a limited selection of 5 bolt lock-outs available and the OEM 5 bolt lock-outs are fairly weak. For this reason, many people will swap in 6 bolt brake hubs and 6 bolt lock-outs on their '81-'86 CJs.
It wasn't until the 70s when hubs became standard equipment for Jeep CJs, before that they were optional. Most CJs you see will have them installed though. What was used in their place you ask, the answer is driven plates. A driven plate slides over the end of the axle shaft and bolts onto the brake hub, so they are basically a hub that is always on. Driven plates tend to be stronger than hubs, but that takes away from your "weak link". Some people will carry a driven plate in case they break a hub.
CJ-7s built from '76-'79 with the automatic transmission and Quadra-Trac transfer case all came with driven plates. You must convert this transfer case to part time operation before installing hubs.
Over the years, CJs have used basically 3 styles of hubs
There are kits being made today to make it possible to install hubs onto a Wrangler. Installing hubs onto the stock axle on a Wrangler is not necessarily a simple operation. Converting a Wrangler to hubs would not necessarily be advantagous. Wranglers use a small 5 on 4.5" wheel bolt pattern (CJs use 5 on 5.5"). The small wheel bolt pattern does not leave much space for a hub and the small hubs tend to break. If you have ever wheeled with someone with a Ford Ranger, you have probably seen a hub break. The Ford ranger uses the 5 on 4.5" wheel bolt pattern and hubs, the hubs break all the time (but they are very easy to replace).
One reason to use hubs is to increase the number of miles per gallon/ kilometers per liter. If the the hubs are unlocked, the axle shafts, carrier, and front drive shaft are not spinning. The decrease in spinning parts means the front axle rolls easier and a front axle that rolls easier takes less power to propel. Bearings used in the modern axles that are available in newer Jeeps have very low rolling resistance and the Wrangler TJ does not come with hubs or an axle disconnect system because there is not a significant savings in fuel economy.
Another advantage of hubs is the decreased wear and tear on the front axle. As mentioned previously, the axle shafts, carrier, and front drive shaft do not spin if the hubs are unlocked. This wear and tear is minimal though especially since, if you are not in four wheel drive, these parts will not be spinning under load. For most vehicles, the ring and pinion of the rear axle lasts for the life of a vehicle with no maintenance besides occational gear lube change. Since the ring and pinion of the rear axle spins under load for every mile a vehicle travels, it is likely the ring and pinion in the front axle will survive for the life of a vehicle even if it spin all the time.
One of the best features hubs is they allow you to stop your axle shafts, ring and pinion, and front drive shaft from spinning if you damage something. If you can disconnect these parts you can prevent further damage and it might make an undrivable vehicle drivable.
The hub should be the weak link in your front axle. Hubs are generally less expensive to buy than shafts, ring and pinion, or drive shafts. Hubs are also a lot easier to replace than an axle shaft or the ring and pinion. Spare hubs are also easy to pack. The 5 bolt hubs are a bit too weak, the 6 bolt hubs are a good balance of strength.
Hubs can also be handy to have if you have an automatic locker up front. Automatic lockers such as the Detroit "No-Spin" and Lock-Rite locker are on all the time, there is no manual way to turn them off. Sometimes you don't want to have the front lock up such as when driving in snow or loose dirt/sand. Unlocking one or both hubs will make it easier to steer. Some four wheelers even wheel most of the day with only the passenger side dialed in and lock in the drivers side when needed.
People often ask when they should lock in and when they should unlock their hubs. The answer to this is anytime they want to. It is convenient to keep your hubs locked all the time so that you don't need to get out to lock them in and you can shift into four wheel drive on the fly.
| This is the factory 5 bolt lock-out used from '81-'86. They are built by Warn, but most do not have the Warn logo on them. They are not known for their strength. There are heavier duty 5 bolt lock-outs available if you are reluctant to upgrade to 6 bolt lock-outs. | |
| The Warn preminum hubs are probably the most common hub to find on a Jeep with 6 bolt lock-outs. They are a good, reliable, all around hub. | |
| These Selectro automatic locking hubs are probably the second most common hub to see on Jeeps with 6 bolt lock-outs. They have an "auto" and "lock" postion on the dial. | |
| These hubs are built by Warn and they are common on International Harvester vehicles. The IH ones have a little IH logo on them rather than the Warn logo. They are an auto locking hub with an "auto" and "lock" position on the dial. I've heard IH owners complain about the reliability of these hubs. |
Thanks to Rick Boiros for the hubs picture and Bill Lally for the spline counts.


--- layout: page title: Arabic Dictionary permalink: /arabicDictionary/ description: arabic dictionary pdf, best online arabic dictionary, arabic dictionary in urdu, best arabic english dictionary, arabic to arabic dictionary, best arabic dictionary, free english arabic dictionaryarabic dictionary, arabic language, arabic music, arabic food, arabic words ---


Across: 1. Oswald Ford comes to an uncertain future! (5 2 8) 9. Seen wandering around gin mills (7) 10. Carry round each unfinished bun (7) 11. Greek character returning after doctor may be a wimp (4) 12. Opera about parrot? (5) 13. A jumble in Cheshire? (4) 16. Bony prancing nag upsets Rula! (7) 17. Beg for rent, in order to eat (7) 18. Doubter has bad cold inside (7) 21. Shoots U-boat returning from pick-up point (3 4) 23. Notice eastern agent (4) 24. Upset anyone with no energy (5) 25. Metal comes from Alcatraz, in California (4) 28. See ex-pupils veer off (7) 29. Have Olga score at the wrong end! (3 4) 30. "Iris!" you splutter, "dress in secret!" (15) Down: 1. Take it easy with girlfriend when she leaves (6 2 3 4) 2. After working, turn with mixed gin in hand (7) 3. 500 to 1? It's a deal! (4) 4. More complex fires raging round America (7) 5. One step to get across (7) 6. Jewel means nothing to friend (4) 7. Time for information from the waterworks? (7) 8. Occasionally mono, but usually this (15) 14. I rejected futile arrangement for instrument (5) 15. Hide Bob's hat in confusion! (5) 19. Former model bares all! (7) 20. Competition for tricksters? (7) 21. Spare tyre may be needed for, or produced by, this (4 3) 22. Stands on three legs and drops it! (7) 26. Encourage rogue to give up nothing (4) 27. Towards a French square roundabout? (4)


Honzi/Guides/World of Warcraft/Professions/Skinning
- Carry a [Skinning Knife] to improve your skinning. You can purchase one from a leatherworking supplies vendor.
- Skinning is a good second profession to get to help you train and gather supplies for leatherworking.
- Worgen get +15 skinning and faster skinning speed as a racial bonus.


If you need to customize the colors of the AppBar, set the color values in CSS. In this example, the AppBar is set to purple and the icons and labels to green.


To the Editor: Isolated in 1947 from a rhesus monkey in Zika forest, Uganda, Zika virus (ZIKV) is a mosquito-borne flavivirus ( 1 ). For half a century, ZIKV was described only as causing sporadic human infections in Africa and Asia, which was mostly confirmed by serologic methods ( 2 ). In 2007, the first ZIKV outbreak reported outside Africa and Asia was retrospectively documented from biological samples of patients on Yap Island, Federated States of Micronesia, North Pacific, who had received an incorrect diagnosis of dengue virus (DENV) ( 3 , 4 ). We report here the early investigations that led to identification of ZIKV as the causative agent of an outbreak that started in October 2013 in French Polynesia.
French Polynesia is a French overseas territory located in the South Pacific. The ≈270,000 inhabitants live on 67 islands distributed into 5 archipelagoes (Society, Marquesas, Tuamotu, Gambier, and Austral Islands). Surveillance for acute febrile illnesses is coordinated by the Department of Health with the contribution of a sentinel network of public and private practitioners, the main public hospital (Centre Hospitalier du Taaone), and the public health and research institute (Institut Louis Malardé [ILM]). As part of this syndromic surveillance system, ILM has implemented protocols for detecting arboviruses that are known to cause outbreaks in French Polynesia, such as DENV, or that pose a risk for causing epidemics because of the presence of potential mosquito vectors. In addition, ILM provides DENV serotype identification for other Pacific island countries, including Yap State, as part of the regional surveillance of dengue ( 5 ). For that reason, a ZIKV reverse transcription PCR (RT-PCR) protocol by Lanciotti et al. ( 3 ) was implemented at ILM.
In October 2013 (week 41), a 53-year-old women (patient 1) and 2 other members of the household—her 52-year-old husband (patient 2) and her 42-year-old son-in-law (patient 3)—experienced a mild dengue-like illness consisting of low fever (<38°C), asthenia, wrist and fingers arthralgia, headache, and rash. Patients 2 and 3 also had conjunctivitis. Patient 1 had swollen ankles and aphthous ulcers. For all 3 patients, results were negative for DENV by RT-PCR and nonstructural protein 1 (NS1) antigen tests ( 5 ), for West-Nile virus by RT-PCR, and for chikungunya virus by RT-PCR; results of RT-PCR for ZIKV were equivocal for patients 1 and 2. During week 43, a 57-year-old patient (patient 4) reported similar symptoms; results of RT-PCR for DENV were negative, but results of RT-PCR for ZIKV were positive. ZIKV infection was then confirmed by sequencing of the genomic position 858–1138 encompassing the prM/E protein coding regions of ZIKV (GenBank accession no. KJ579441). The protocol was approved by the Ethics Committee of French Polynesia (reference no. 66/CEPF). Phylogenetic analysis of the sequence ( Figure) showed ZIKV strain Cambodia 2010-FSS13025 (GenBank accession no. JN860885) as the closest strain ( 6 ).
Phylogenetic analysis of partial M/E genes of 2 ZIKV strains, French Polynesia, 2013. The evolutionary history was inferred by using the maximum-likelihood method based on the Kimura 2-parameter model. The percentage of trees in which the associated taxa clustered is shown for values >85 next to the branches (1,000 replicates). Evolutionary analyses were conducted in MEGA5 (
Concomitant with these investigations, the Department of Health recorded an increased number of patients with a mild dengue-like syndrome and rash who were visiting primary care physicians. Given this information, we performed RT-PCR for ZIKV on 10 samples collected during weeks 43 and 44 from patients living in different archipelagoes that had tested negative for DENV NS1 antigen. Four samples gave negative results; 4, positive; and 2, equivocal. Sequencing of 1 ZIKV-positive sample from a patient in Nuku Hiva, Marquesas Islands (GenBank accession no. KJ579442) showed that it had 100% homology with the fragment sequenced from patient 4 who lived in Tahiti, Society Islands. The phylogenetic tree shows that the ZIKV that recently emerged in French Polynesia is similar to Cambodia 2010 and Yap State 2007 strains, which corroborates previous findings of an expansion of ZIKV Asian lineage ( 7 , 8 ). ZIKV was then isolated by inoculating Vero cells with RT-PCR samples positive for ZIKV. After 6 days of propagation, ZIKV-infected cells were detected by indirect immunofluorescence assay using specific hyperimmune mouse ascitic fluids provided by the Institut Pasteur (Dakar, Senegal) ( 9 ).
By week 51, the practitioners’ network recorded 5,895 patients with suspected ZIKV infections, leading to an estimate of 19,000 suspected cases when extrapolated to other care centers (adjusted to the mean consultation visits). Serum from 584 patients was tested by RT-PCR for ZIKV; 294 samples were positive.
This ZIKV outbreak is the largest documented and the first known to be caused by an arbovirus other than DENV in French Polynesia. To assess when ZIKV circulation in French Polynesia might have started, we will be conducting a retrospective study on DENV NS1 antigen–negative samples collected before the first ZIKV cases were detected. Investigations of the clinical features of ZIKV infections are ongoing. Particularly, because French Polynesia is experiencing concomitant ZIKV, DENV-1, and DENV-3 outbreaks, attention will be paid to whether sequential infections may affect disease outcome. Otherwise, because French Polynesia hosts several mosquito species, notably Aedes aegypti, already known to transmit ZIKV ( 10 ), but also other potential vectors, such as Ae. polynesiensis, human and entomologic surveillances have been reinforced to clarify the emergence factors of this outbreak.
Suggested citation for this article: Cao-Lormeau VM, Roche C, Teissier A, Robin E, Berry AL, Mallet HP, et al. Zika virus, French Polynesia, South Pacific, 2013 [letter]. Emerg Infect Dis [Internet]. 2014 Jun [ date cited].
We are grateful to the staff from the Institut Louis Malardé who provided technical support.


A Soton tradition
Starting as a 4th year group design project (GDP) project in 2012, the Lunar Hopper has seen continual development, and has been contributed to by over 20 of Southampton's engineering students.
The Hopper can trace it's origins back to a GDP project in 2012. This project's goal was to create a rocket engine capable of producing 300N of thrust. Since then 4 more GDPs have been involved in the Hopper project, all improving on the previous year's work.
The thrust of the motor has increased to 400N, stabilisation has been changed to use thrusters rather than gimbling of the main motor, and the structure has been strengthened.
From September 2016 the Lunar Hopper has been developed by members of the Student's Union Spaceflight Society, whose main task now is to prepare the Hopper for flight testing.
The Phase VI Team
Each year of the Hopper's life has been designated as a 'Phase'. Now in it's sixth year, the Hopper is under development by the Phase VI Team, seen below.
Jack Tyler
Phase VI Lead
Duncan R Hamill
Engineer
Adrian Dumitrescu
Manufacturing Specialist
Boateng Opoku-Yeboah
Electronics Specialist


{% extends "awards/award_base.html" %} {% load crispy_forms_tags %} {% block award_acceptance %}
If you choose to create a modification for this award, ATP will take the following actions:
Do you want to proceed and create a modification on this award?


I want to be President of the National Shrine -Nana Kwaku Bonsam
by Lizbeth BrownPopular Ghanaian fetish priest Nana Kwaku Bonsam has appealed to the government to make him the President of the National Shrine.
According to the fetish priest, since there is freedom of worship in Ghana there should obviously be a National shrine.
He added that since the government has proposed the idea of building a national shrine, he is the right person to fit the position as the president.
Kwaku Bonsam also added that he is a very decent person who is not fraudulent and always abides by the laws of the country.
“If the government has proposed the idea of building a national shrine them I am the right person to serve as the president.
Such an office needs a person who is decent, has the needs of the people at heart, abides by the rules of the country and also not a fraudulent person and I know I am the right person.
I am appealing with the government to take this plan into action and make me the president”, Kwaku Bonsam stated.
This comes after the Minister of Chieftaincy and Religious Affairs, Samuel Kofi Dzamesi disclosed that the government is considering to build a national shrine after the national cathedral.
“I think that since the constitution allows freedom of worship, we will study it very well and see how possible that will also be. We are not ruling out traditional shrines”, the Minister disclosed.


NYCAASC (pronounced NIGH-sack) is an organization dedicated to bringing students from all throughout New York City together to educate and encourage them to think critically about Asian/Pacific Islander American issues such as gentrification, diversity in media, and more. We hope to empower APIA students to enact change within their respective communities in lasting and meaningful ways.
We started our annual conference as a safe space for students of all backgrounds and identities to learn about and discuss APIA issues. Through a jam-packed program of engaging speakers, interactive workshops, and moving performances, we hope that students leave our conference with a clearer understanding of their own identities, a greater sense of community, and a drive to build a better and more inclusive Asian America.
From our inception to today, our goal has always been to inspire and empower youth passionate about APIA issues to create meaningful impacts in their own communities. Over 400 students of all backgrounds from colleges, universities, high schools, and organizations all over the East Coast attended NYCAASC last year alone.
Every year, we host a variety of interactive, educational workshops and panels concerning APIA issues in addition to performances highlighting various up-and-coming Asian American artists. In the past, our conference has featured some really rad performers including MCJin, Awkwafina, Bea Go, Joseph Vincent, and Hari Kondabolu.
"I'm a part-time student, full-time human being, and aspiring user experience designer. I first attended NYCAASC in 2015 and loved it! So I joined the team to pay forward the immeasurable value of this welcoming, safe space.
Lately, I've been closely following the role of social justice in tech. When the weather's nice, I'll put on a podcast and go for a bike ride. I'm also trying to read more!!!"
"I'm a bean 🌱 studying applied psych and global public health! I joined NYCAASC to explore issues of identity, visibility, and representation; now, my dream is to bring fellow Asian American youth together to build a more equitable society. I'm also a proud cat lady. I like going on 12 mile stress runs in my free time."
"Hey all!
My name is Hannah, and I’m a Korean American. I grew up wandering the streets of NY in search of my passions (and of course, food). Now, I'm a senior at Pitt studying Neuroscience, Chemistry, and Conceptual Foundations of Medicine. I am also involved with ECAASU, APO, and 88rising. I love hearing new narratives, so definitely reach out! I'd be more than happy to chat."
"I joined NYCAASC my freshman year as an member of the Event's committee. AAPI issues interest me because I was born in China, but grew up in the States. There has always been this dichotomy between my two identities. During my free time, I would play the diabolo, or take walks in the park."
"I joined the PR committee my junior year in hopes of finding a safe space to talk about AAPI issues. Being a part of NYCAASC has allowed me to learn more about my community and about myself. It's inspired me to try new things and this year I decided to develop my marketing skills. I like to cafe-hop, drink boba, write, and explore new places. I'm an aspiring samoyed mom and I love pizza."
"My name is Dechen and I'm a junior at Stuyvesant High School. I want to help address the issues that the AAPI community face. In my free time, I really enjoy volunteering with young children. I'm also a huge Nintendo fan and love cats!"
"Bonnie is a native New Yorker of Teochew-Cambodian descent. She is currently an undergraduate student at Stony Brook University, majoring in Political Science. She is entering into her third year as a part of NYCAASC and is always excited for what NYCAASC brings every year.:
"I like to read, I like to write, I like to meet with my peers to think about how to get out of this terrible situation we've found ourselves in, or at the very least enjoy life while we're stuck together on the inside."
"I would risk it all for Fire Lord Zuko. There’s no reason as to why, I just really love him. I also enjoy boba, long walks on the beach, and being Asian American. As a first-generation low-income Vietnamese kid, I’m invested in expanding the narrative of what it means to be Asian; I believe in growth and love and the power of an inclusive community to make our dreams come true. ♡ ～('▽^人)"
"This is my second year in NYCAASC and I’m especially interested in postcolonial historical and literary theory. I’m always trying to learn more about activism and civics in New York too. I’m originally from California and in my spare time I like playing classical piano and drinking pearl tea."
"I am a senior at Roslyn HS. I've attended NYCASSC for the past three years and have been involved in government and politics both in NYC and on Long Island. Traditionally, I am a STEM-y person, but being able to stay involved in communities I care about is important to me. I enjoy hackathons, free face care products, and $12 salads. "
"I love NYCAASC - this was the first place I have ever felt whole in all my identities. I have returned every year since 2014 in a different capacity - member of the workshops committee, Director, and now leader of our youth program!
 Hit me up if you ever want to talk about literal garbage!"


Node.js library for Gemini.
npm install gemini-node-api
import { PublicClient } from "gemini-node-api";
const client = new PublicClient();
const symbols = await client.getSymbols();
const symbol = "ZECLTC";
const info = await client.getSymbol({ symbol });
const symbol = "zecltc";
const ticker = await client.getTicker({ symbol });
/**
* for V2
* @see https://docs.gemini.com/rest-api/#ticker-v2
*/
const v = "v2";
const tickerV2 = await client.getTicker({ symbol, v });
const symbol = "zecltc";
const time_frame = "30m";
const candles = await client.getCandles({ symbol, time_frame });
const symbol = "zecltc";
const limit_bids = 25;
const limit_asks = 20;
const book = await client.getOrderBook({
symbol,
limit_bids,
limit_asks,
});
const symbol = "zecltc";
const timestamp =<PHONE_NUMBER>;
const limit_trades = 100;
const include_breaks = true;
const trades = await client.getTradeHistory({
symbol,
timestamp,
limit_trades,
include_breaks,
});
const symbol = "zecltc";
const auction = await client.getCurrentAuction({ symbol });
const symbol = "zecltc";
const timestamp =<PHONE_NUMBER>;
const limit_auction_results = 100;
const include_indicative = true;
const history = await client.getAuctionHistory({
symbol,
timestamp,
limit_auction_results,
include_indicative,
});
const priceFeed = await client.getPriceFeed();
import { AuthenticatedClient } from "gemini-node-api";
const key = "gemini-api-key";
const secret = "gemini-api-secret";
const client = new AuthenticatedClient({ key, secret });
const symbol = "zecltc";
const client_order_id = "d0c5340b-6d6c-49d9-b567-48c4bfca13d2";
const amount = 1;
const price = 0.9;
const side = "buy";
const options = ["maker-or-cancel"];
const order = await client.newOrder({
symbol,
client_order_id,
amount,
price,
side,
options,
});
const symbol = "zecltc";
const amount = 1;
const price = 0.9;
const account = "primary";
const type = "exchange limit";
const order = await client.buy({ symbol, amount, price, account, type });
const symbol = "zecltc";
const amount = 0.99;
const price = 0.99;
const stop_price = 1;
const type = "exchange stop limit";
const order = await client.sell({ symbol, amount, price, stop_price, type });
const order_id = 106817811;
const account = "primary";
const order = await client.cancelOrder({ order_id, account });
const account = "primary";
const response = await client.cancelSession({ account });
const account = "primary";
const response = await client.cancelAll({ account });
const order_id = 44375901;
const account = "primary";
const order = await client.getOrderStatus({ order_id, account });
const account = "primary";
const orders = await client.getActiveOrders({ account });
const symbol = "bcheth";
const limit_trades = 10;
const timestamp =<PHONE_NUMBER>;
const account = "primary";
const trades = await client.getPastTrades({
symbol,
limit_trades,
timestamp,
account,
});
const account = "primary";
const volume = await client.getNotionalVolume({ account });
const volume = await client.getTradeVolume();
const counterparty_id = "OM9VNL1G";
const expires_in_hrs = 24;
const symbol = "btcusd";
const amount = 100;
const price = 9500;
const side = "buy";
const order = await client.newClearingOrder({
counterparty_id,
expires_in_hrs,
symbol,
amount,
price,
side,
});
const source_counterparty_id = "R485E04Q";
const target_counterparty_id = "Z4929ZDY";
const expires_in_hrs = 1;
const symbol = "ethusd";
const amount = 175;
const price = 200;
const side = "sell";
const order = await client.newBrokerOrder({
source_counterparty_id,
target_counterparty_id,
expires_in_hrs,
symbol,
amount,
price,
side,
});
const clearing_id = "OM9VNL1G";
const order = await client.getClearingOrderStatus({ clearing_id });
const clearing_id = "OM9VNL1G";
const order = await client.cancelClearingOrder({ clearing_id });
const clearing_id = "OM9VNL1G";
const symbol = "btcusd";
const amount = 100;
const price = 9500;
const side = "sell";
const order = await client.confirmClearingOrder({
clearing_id,
symbol,
amount,
price,
side,
});
const account = "primary";
const balances = await client.getAvailableBalances({ account });
const account = "primary";
const balances = await client.getNotionalBalances({ account });
const timestamp =<PHONE_NUMBER>;
const limit_transfers = 12;
const account = "primary";
const transfers = await client.getTransfers({
timestamp,
limit_transfers,
account,
});
const network = "bitcoincash";
const account = "primary";
const addresses = await client.getDepositAddresses({ network, account });
const currency = "ltc";
const label = "New LTC deposit address";
const legacy = true;
const account = "primary";
const address = await client.getNewAddress({
currency,
label,
legacy,
account,
});
const currency = "btc";
const address = "mi98Z9brJ3TgaKsmvXatuRahbFRUFKRUdR";
const amount = 10;
const account = "primary";
const withdrawal = await client.withdrawCrypto({
currency,
address,
account,
amount,
});
const currency = "btc";
const sourceAccount = "primary";
const targetAccount = "secondary";
const amount = "100";
const transfer = await client.internalTransfer({
currency,
sourceAccount,
targetAccount,
amount,
});
const name = "My Secondary Account";
const type = "custody";
const result = await client.createAccount({ name, type });
const accounts = await client.getAccounts();
const address = "0x0F2B20Acb2fD7EEbC0ABc3AEe0b00d57533b6bD1";
const amount = "500";
const account = "primary";
const withdrawal = await client.withdrawGUSD({ address, amount, account });
const heartbeat = await client.heartbeat();
import { WebsocketClient } from "gemini-node-api";
const key = "gemini-api-key";
const secret = "gemini-api-secret";
const websocket = new WebsocketClient({ key, secret });
websocket.on("error", (error, market) => {
console.error(error);
});
websocket.on("open", (market) => {
console.log("The connection is open", market);
});
websocket.on("close", (market) => {
console.log("The connection is closed", market);
});
websocket.on("message", (message, market) => {
console.info("New message from", market);
console.info(message);
});
const heartbeat = true;
const top_of_book = false;
const bids = true;
const offers = true;
const trades = true;
const auctions = false;
const symbol = "zecltc";
websocket.on("open", (market) => console.log("Open:", market));
await websocket.connectMarket({
symbol,
heartbeat,
top_of_book,
bids,
offers,
trades,
auctions,
});
await websocket.connectMarket({ symbol: "btcusd" });
const symbol = "zecltc";
websocket.once("close", (market) => console.log("Closed:", market));
await websocket.disconnectMarket({ symbol });
websocket.on("open", (market) => console.log("Open:", market));
await websocket.connect();
websocket.once("close", (market) => console.log("Closed:", market));
await websocket.disconnect();
const subscriptions = [
{ name: "l2", symbols: ["BTCUSD", "ETHUSD"] },
{ name: "candles_1m", symbols: ["BTCUSD"] },
];
await websocket.connect();
await websocket.subscribe(subscriptions);
const subscriptions = [{ name: "l2", symbols: ["BTCUSD", "ETHUSD"] }];
await websocket.unsubscribe(subscriptions);
const symbolFilter = "zecltc";
const apiSessionFilter = "UI";
const eventTypeFilter = ["accepted", "rejected"];
const account = "primary";
websocket.on("message", (message, market) => {
if (market === "orders") {
console.log("New message:", message);
}
});
await websocket.connectOrders({
account,
symbolFilter,
apiSessionFilter,
eventTypeFilter,
});
websocket.once("close", (market) => {
if (market === "orders") {
console.log("Closed");
}
});
await websocket.disconnectOrders();
npm test


President 'misinformed or misinforming' public about Kaliwa Dam, say NGOs
Various groups opposing the dam project say there are viable alternatives to end Metro Manila's water shortage
by Mavic CondeSubscribe
Email Address
Newsletters
- Glenda Gloria's Take this Tuesday
- Huddle by Miriam Grace Go
- The Newsbreak Agenda by Chay Hofileña
- Sometimes, all you need is video by Lilibeth Frondoso


Albury Zone Laser Tag League
2021
Term 3
Term 2
Week 1 - 28/04/2021
Week 2 - 05/05/2021
Week 3 - 12/05/2021
Week 5 - 26/05/2021
Week 7 - 09/06/2021
Week 8 - 16/06/2021
Finals - 23/06/2021
Term 1
Grading
Solo Results - 27/01/2021
Week 1 -
03/02/2021
Week 2 -
10/02/2021
Week 5 -
03/03/2021
Week 6 -
10/03/2021
Week 7 -
17/03/2021
Finals -
31/03/2021
2020
Term 4
Week 1 -
21/10/2020
Week 2 -
28/10/2020
Week 3 -
04/11/2020
Week 4 -
11/11/2020
Week 5 -
18/11/2020
Week 6 -
25/11/2020
Week 7 -
02/12/2020
Week 8 -
09/12/2020
Week 9 -
16/12/2020
Term 3
Week 1 -
29/07/2020
Week 2 -
05/08/2020
Week 3 -
12/08/2020
Week 4 -
19/08/2020
Week 5 -
26/08/2020
Week 6 -
02/09/2020
Week 7 -
09/09/2020
Week 8 -
16/09/2020
Week 9 -
23/09/2020
Term 1
Week 1 -
05/02/2020
Week 2 -
12/02/2020
Week 3 -
19/02/2020
Week 4 -
26/02/2020
Week 5 -
04/03/2020
Week 6 -
11/03/2020
Week 7 -
18/03/2020


Women in CS (WiCS) is Johns Hopkins University's official ACM-W chapter. We are run by and for undergraduates--particularly for women/non-binary individuals, as well as other underrepresented groups in computing.
WiCS events include weekly "Coding Circles," company talks, student panels/presentations, study sessions/study breaks, and a mentorship program.
Join our Facebook group here and our mailing list here.
New to WiCS? Check out our welcome guide here.
Questions? Contact our exec board members (below).
List coming soon.


Order
No orders
Customer Information
Edit
Save
Close
Details
Name:
Address:
Phone:
Email:
Name:
Address:
Phone:
Email:
Picture
Shipping Address
Edit
Save
Close
Name:
Street:
ZIP Code/City:
Region:
Country:
Name:
Street:
ZIP Code/City:
Region:
Country:
Line Items(4)
|
Product |
Unit Price |
Quantity |
Total |
|---|


Move camera locked to actor
Move camera locked to actor X axis
Move camera locked to actor Y axis
Move camera elastic to actor
Move camera within radius of actor


The Ferry Building Marketplace is located along the Embarcadero at the foot of Market Street. It is the center of a transit hub that connects all of San Francisco's neighborhoods and the surrounding bay communities. The marketplace is accessible by MUNI, BART and Ferry Boat.
Click here for directions.
Under the provisions of the California Health and Safety Code, it is stated that “customers shall not bring any live animals into any food facility.” We ask you to respectfully comply by not bringing your dog or other pets to the Ferry Building Marketplace or the Farmers Market located outside on the Ferry Building Plaza. Exceptions: Guide Dog for the Blind / Signal Dog for the Deaf / Service Dog for the Disabled or Handicapped.
San Francisco City Guides is currently offering regular walking tours of the Ferry Building. Tours are free and start at noon on Saturdays and Tuesdays. Tours coincide with the Ferry Plaza Farmers Market.
City Guides is a local, non-profit volunteer organization comprised of more than 200 trained volunteers serious about sharing the fun of discovering San Francisco and its neighborhoods. For more information, please visit www.sfcityguides.org.
Monday:
Tuesday:
Wednesday:
Thursday:
Friday:
Saturday:
Sunday:
10AM–6PM
10AM–6PM
10AM–6PM
10AM–6PM
10AM–6PM
9AM–6PM
11AM–5PM
Hours for individual businesses may vary.
Observed Holidays: The Ferry Building Marketplace is closed Thanksgiving Day, Christmas Day and New Years Day.
Ferry Building Marketplace
One Ferry Building
San Francisco, California 94111
(415) 983-8030
<EMAIL_ADDRESS>Please call Security at<PHONE_NUMBER>.


The United Nations Children's Fund is a United Nations agency responsible for providing humanitarian and developmental aid to children around the world.
Habitat for Humanity is a global nonprofit housing organization working in local communities across all 50 states in the U.S. and in approximately 70 countries.
Guided by the belief that every life has equal value, the Bill & Melinda Gates Foundation works to help all people lead healthy, productive lives.
The Cystic Fibrosis Foundation is a 501 non-profit organization in the United States established to provide the means to cure cystic fibrosis and ensure that those living with CF live long and productive lives.
Ronald McDonald House Charities is an American independent nonprofit organization whose stated mission is to create, find, and support programs that directly improve the health and well-being of children.
Girl Up is a campaign of the United Nations Foundation dedicated to securing equal opportunities for underprivileged adolescent girls in developing countries such as Ethiopia, Malawi, Guatemala, and India.


Macronutrients Calculator
Welcome to the worlds finest macro calculator!
Home
About Us
Log In
Padraic Gillespie
Team Lead
I thought today we would make a happy little stream that's just running through the woods here.
Brandon Harrison
UI Developer
I thought today we would make a happy little stream that's just running through the woods here.
Rushi Arumalla
UI Developer
I thought today we would make a happy little stream that's just running through the woods here.
Greg Zolton
UI Developer
I thought today we would make a happy little stream that's just running through the woods here.
Seth Lachman
Front-End Developer
I thought today we would make a happy little stream that's just running through the woods here.
Sam Rodriquez
Back-End Developer
I thought today we would make a happy little stream that's just running through the woods here.


An r package that works as a wrapper to homologene
Available species are
## tax_id name_txt
## 1 10090 Mus musculus
## 2 10116 Rattus norvegicus
## 3 28985 Kluyveromyces lactis
## 4 318829 Magnaporthe oryzae
## 5 33169 Eremothecium gossypii
## 6 3702 Arabidopsis thaliana
## 7 4530 Oryza sativa
## 8 4896 Schizosaccharomyces pombe
## 9 4932 Saccharomyces cerevisiae
## 10 5141 Neurospora crassa
## 11 6239 Caenorhabditis elegans
## 12 7165 Anopheles gambiae
## 13 7227 Drosophila melanogaster
## 14 7955 Danio rerio
## 15 8364 Xenopus (Silurana) tropicalis
## 16 9031 Gallus gallus
## 17 9544 Macaca mulatta
## 18 9598 Pan troglodytes
## 19 9606 Homo sapiens
## 20 9615 Canis lupus familiaris
## 21 9913 Bos taurus
Basic homologene function requires a list of gene symbols or NCBI ids, and an inTax
and an outTax
. In this example, inTax
is the taxon id of mus musculus while outTax
is for humans.
For mouse and humans two convenience functions exist that removes the need to provide taxonomic identifiers. Note that the column names are not the same as the homologene
output.
Original homologene database has not been updated since 2014. This package also includes an updated version of the homologene database that replaces gene symbols and identifiers with the their latest version. For the procedure followed for updating, see this blog post and/or see the processing code.
Using the updated version can help you match genes that cannot matched due to out of date annotations.
## mouseGene humanGene mouseID humanID
## 1 Mesd MESD 67943 23184
## 2 Trp53rka TP53RK<PHONE_NUMBER>58
## 3 Cstdc4 CSTA<PHONE_NUMBER>
## 4 Ifit3b IFIT3<PHONE_NUMBER>
The homologeneData2
object that comes with the GitHub version of this package is updated weekly but if you are using the CRAN version and want the latest annotations, or if you want to keep a frozen version homologene, you can use the updateHomologene
function.
The package also includes functions that were used to create the homologeneData2
, for updating outdated gene symbols and identifiers.
##
## Attaching package: 'dplyr'
## The following object is masked from 'package:testthat':
##
## matches
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
gene_history = getGeneHistory()
oldIds = c(4340964, 4349034, 4332470, 4334151, 4323831)
newIds = updateIDs(oldIds,gene_history)
print(newIds)
Instead of using just homologene, one can also make queries into the DIOPT database. Diopt uses multiple databases to find gene homolog/orthologues. Note that this function has a delay
parameter that is set to 10 seconds by default. This was done to obey the robots.txt
of their website.
| Input Order | Search Term | Human GeneID | HGNCID | Human Symbol | Species 2 | Mouse GeneID | Mouse Species Gene ID | Mouse Symbol | DIOPT Score | Weighted Score | Rank | Best Score | Best Score Reverse | Prediction Derived From |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | GZMH | 2999 | 4710 | GZMH | Mouse | 14944 | 109253 | Gzmg | 8 | 8.40 | high | Yes | Yes | Compara, HGNC, Homologene, Isobase, OrthoDB, OrthoFinder, Panther, Phylome |
| 1 | GZMH | 2999 | 4710 | GZMH | Mouse | 14941 | 109255 | Gzmd | 7 | 7.45 | moderate | No | Yes | Compara, HGNC, Homologene, OrthoDB, OrthoFinder, Panther, Phylome |
| 1 | GZMH | 2999 | 4710 | GZMH | Mouse | 14943 | 109254 | Gzmf | 7 | 7.45 | moderate | No | Yes | Compara, HGNC, Homologene, OrthoDB, OrthoFinder, Panther, Phylome |
| 1 | GZMH | 2999 | 4710 | GZMH | Mouse | 14942 | 109265 | Gzme | 7 | 7.45 | moderate | No | Yes | Compara, HGNC, Homologene, OrthoDB, OrthoFinder, Panther, Phylome |
| 1 | GZMH | 2999 | 4710 | GZMH | Mouse | 245839 | 2675494 | Gzmn | 6 | 5.96 | moderate | No | Yes | Compara, OMA, OrthoDB, OrthoFinder, Panther, Phylome |
| 1 | GZMH | 2999 | 4710 | GZMH | Mouse | 14940 | 109256 | Gzmc | 5 | 5.03 | moderate | No | No | OMA, OrthoDB, OrthoFinder, Panther, Phylome |
| 1 | GZMH | 2999 | 4710 | GZMH | Mouse | 14939 | 109267 | Gzmb | 5 | 4.94 | moderate | No | No | OrthoFinder, orthoMCL, Panther, Phylome, RoundUp |
| 1 | GZMH | 2999 | 4710 | GZMH | Mouse | 17231 | 1261780 | Mcpt8 | 4 | 4.07 | moderate | No | No | OrthoDB, OrthoFinder, Panther, TreeFam |
| 1 | GZMH | 2999 | 4710 | GZMH | Mouse | 13035 | 88563 | Ctsg | 2 | 2.01 | low | No | No | OrthoDB, OrthoFinder |
| 1 | GZMH | 2999 | 4710 | GZMH | Mouse | 14938 | 109266 | Gzma | 1 | 1.03 | low | No | No | RoundUp |
| 1 | GZMH | 2999 | 4710 | GZMH | Mouse | 19144 | 1343166 | Klk6 | 1 | 1.01 | low | No | No | OrthoDB |
| 1 | GZMH | 2999 | 4710 | GZMH | Mouse | 17227 | 96940 | Mcpt4 | 1 | 1.01 | low | No | No | OrthoDB |
| 1 | GZMH | 2999 | 4710 | GZMH | Mouse | 545055 | 88426 | Cma2 | 1 | 1.01 | low | No | No | OrthoDB |
| 1 | GZMH | 2999 | 4710 | GZMH | Mouse | 17224 | 96937 | Mcpt1 | 1 | 1.01 | low | No | No | OrthoDB |
| 1 | GZMH | 2999 | 4710 | GZMH | Mouse | 17232 | 1194491 | Mcpt9 | 1 | 1.01 | low | No | No | OrthoDB |
| 1 | GZMH | 2999 | 4710 | GZMH | Mouse | 17228 | 96941 | Cma1 | 1 | 1.01 | low | No | No | OrthoDB |
| Input Order | Search Term | Mouse GeneID | MGIID | Mouse Symbol | Species 2 | Human GeneID | Human Species Gene ID | Human Symbol | DIOPT Score | Weighted Score | Rank | Best Score | Best Score Reverse | Prediction Derived From |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Eno2 | 13807 | 95394 | Eno2 | Human | 2026 | 3353 | ENO2 | 14 | 14.29 | high | Yes | Yes | Compara, eggNOG, HGNC, Hieranoid, Homologene, Inparanoid, OMA, OrthoFinder, OrthoInspector, orthoMCL, Panther, Phylome, RoundUp, TreeFam |
| 1 | Eno2 | 13807 | 95394 | Eno2 | Human | 2023 | 3350 | ENO1 | 4 | 3.83 | moderate | No | No | eggNOG, OrthoFinder, orthoMCL, RoundUp |
| 1 | Eno2 | 13807 | 95394 | Eno2 | Human | 2027 | 3354 | ENO3 | 4 | 3.83 | moderate | No | No | eggNOG, OrthoFinder, orthoMCL, RoundUp |
| 1 | Eno2 | 13807 | 95394 | Eno2 | Human | 387712 | 31670 | ENO4 | 1 | 0.90 | low | No | No | eggNOG |
| 2 | Mog | 17441 | 97435 | Mog | Human | 4340 | 7197 | MOG | 13 | 13.28 | high | Yes | Yes | Compara, eggNOG, HGNC, Hieranoid, Homologene, Inparanoid, OrthoFinder, OrthoInspector, orthoMCL, Panther, Phylome, RoundUp, TreeFam |
As of version version 1.1.68, the output now includes NCBI ids. Since it doesn’t change any of the existing column names or their order, this shouldn’t cause problems in most use cases.
If a you can’t find a gene you are looking for it may have synonyms. See geneSynonym package to find them. If you have other problems open an issue or send a mail.


Spotify Swedish: is a Swedish audio streaming and media services provider founded on 23 April 2006 by Daniel Ek and Martin Lorentzon.It is one of the world's largest music streaming service providers, with over 365 million monthly active users, including 165 million paying subscribers, as of June 2021. Spotify is listed (through a Luxembourg City-domiciled holding company, Spotify Technology S.A. on the New York Stock Exchange in the form of American depositary receipts.
Spotify is available in most of Europe and the Americas, Oceania and more than 40 countries in Africa as of July 2021 (including South Africa and Mauritius) and Asia. By the end of 2021, Spotify is expected to operate in a total of 178 countries. The service is available on most modern devices including Windows, macOS, and Linux computers, iOS and Android smartphones and tablets and AI enabled smart speakers such as Amazon Echo and Google Home.
Apple Music is a music and video streaming service developed by Apple Inc. Users select music to stream to their device on-demand, or they can listen to existing playlists. The service also includes the Internet radio stations Apple Music 1, Apple Music Hits, and Apple Music Country, which broadcast live to over 200 countries 24 hours a day. The service was announced on June 8, 2015, and launched on June 30, 2015. New subscribers get a six-month free trial period before the service requires a monthly subscription.
The original iOS version of Apple Music received mixed reviews, with criticism directed towards a user interface deemed "not intuitive". However, it was praised for its playlist curation, a vast library of songs to stream, and its integration with other Apple devices and services. In iOS 10, the app received a significant redesign, which received positive reviews for an updated interface with less clutter, improved navigation, and a bigger emphasis on users' libraries. Apple Music rapidly gained popularity after its launch, passing the milestone of 10 million subscribers in only six months. The service has 60 million subscribers around the world as of June 2019.
| Artist | Songs | Ratings | Time of day | Photos |
|---|---|---|---|---|
| Kanye West | Ghost Town | 9/10 | Night | |
| 070 Shake | Violent Crimes | 8/10 | Night | N/A |
| Billie Ellish | My Strange Adiction | 1000/10 | Afternoon | |
| Neon Trees | Everybody Talks | 100/10 | Mornings | |
| Banners | Someone to you | 8/10 | Afternoon | N/A |
| Selena | Como la flor | 10/10 | Morning | |
| Joy again | Looking out for you | 10/10 | Morning | N/A |
| 80 purppp | Hex | 7/10 | Any time | N/A |
| Clairo | Flaming Hot Cheetos | 9/10 | Morning | |
| Ozuna | Dile que tu me quieres | 7/10 | Random days | |
| Don Omar | Ella y yo | 7/10 | Random days | |
| Plan B | Fanatica Sensual | 7/10 | Random days | |
| Plan B | Candy | 7/10 | Random days | |
| Rick and Morty | Borrowed time | 10000/10 | Any time | N/A |
| The Neighborhood | Daddy Issues | 10/10 | Night Time | N/A |
| Cavetown | Juliet | 7/10 | Night Time | |
| No Doubt | Don't Speak | 1000/10 | Anytime |


[gecode-users] Compilation problem on MacOs with Gecode 4.3
Vijay Saraswat
vijay at saraswat.org
Tue Oct 14 02:41:11 CEST 2014
Hi Guido --
I had the -stdlib=libstdc++ line in there only because you had suggested
that it be so in
http://www.gecode.org/pipermail/users/2014-April/004368.html :-)
So I went back and redid everything without Qt, to see what I would get.
This time I was able to get the following to work. So perhaps I had just
gotten myself confused earlier... Any case, glad to have it working now!
(Note: unlike what the manual said, I did need to include the
-I/usr/local/include arg.)
g++ -I/usr/local/include -O3 -c -o money.o money.cpp
bash-3.2$ g++ -o money money.o -L/usr/local/lib -O3 -lgecodeflatzinc
-lgecodedriver -lgecodesearch -lgecodeminimodel -lgecodeset
-lgecodefloat -lgecodeint -lgecodekernel -lgecodesupport
bash-3.2$ ./money
SEND+MORE=MONEY
{9, 5, 6, 7, 1, 0, 8, 2}
Initial
propagators: 2
branchers: 1
Summary
runtime: 0.000 (0.252 ms)
solutions: 1
propagations: 14
nodes: 7
failures: 3
restarts: 0
no-goods: 0
peak depth: 1
bash-3.2$
On 10/13/14, 2:54 PM, Guido Tack wrote:
> Hi Vijay,
>
> the main difference seems to be that you had -stdlib=libstdc++ on your
> command line. The missing symbols were probably mismatches on
> std::ostream (all the linker errors referenced that symbol), so I
> guess that you compiled Gecode with libc++ but later tried to compile
> your example with libstdc++? In particular if you link against Qt,
> you have to use the same standard library that was used to compile Qt.
>
> Cheers,
> Guido
>
> --
> Guido Tack
> http://www.csse.monash.edu/~guidot/
> <http://www.csse.monash.edu/%7Eguidot/>
>
>
>
> On 13 Oct 2014, at 8:51 pm, Vijay Saraswat <vijay at saraswat.org
> <mailto:vijay at saraswat.org>> wrote:
>
>> FWIW for others who might be in a similar predicament: Cutting and
>> pasting from the log files for make test yielded the following
>> commands that worked to compile and run my code:
>>
>> g++ -I/usr/local/include -Qunused-arguments -fno-signaling-nans
>> -fno-rounding-math -ffinite-math-only -fno-math-errno
>> -fno-strict-aliasing -O3 -fvisibility=hidden -ggdb -pipe -Wall
>> -Wextra -fPIC -pthread -DNDEBUG -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB
>> -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB
>> -I${QTH}/5.3/clang_64/mkspecs/macx-clang
>> -I${QTH}/5.3/clang_64/lib/QtPrintSupport.framework/Versions/5/Headers
>> -I${QTH}/5.3/clang_64/lib/QtWidgets.framework/Versions/5/Headers
>> -I${QTH}/5.3/clang_64/lib/QtGui.framework/Versions/5/Headers
>> -I${QTH}/5.3/clang_64/lib/QtCore.framework/Versions/5/Headers
>> -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers
>> -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/AGL.framework/Headers
>> -F${QTH}/5.3/clang_64/lib -c -o money.o money.cpp
>>
>> bash-3.2$ g++ -o money money.o -L/usr/local/lib -I/usr/local/include
>> -Qunused-arguments -fno-signaling-nans -fno-rounding-math
>> -ffinite-math-only -fno-math-errno -fno-strict-aliasing -O3
>> -fvisibility=hidden -ggdb -pipe -Wall -Wextra -fPIC -pthread -DNDEBUG
>> -lgecodeflatzinc -lgecodedriver -lgecodegist -lgecodesearch
>> -lgecodeminimodel -lgecodeset -lgecodefloat -lgecodeint
>> -lgecodekernel -lgecodesupport
>> -F/Users/vijaysaraswat/Qt/5.3/clang_64/lib -framework QtPrintSupport
>> -framework QtWidgets -framework QtGui -framework QtCore -framework
>> OpenGL -framework AGL
>> On 10/13/14, 1:03 PM, Vijay Saraswat wrote:
>>> FWIW, I did "make test", and ran test/test, and all tests pass.
>>>
>>> I am also able to run the examples.
>>>
>>> So in principle I could decode the make file for the examples and
>>> tests and find out what to do :-)
>>>
>>> On 10/13/14, 11:11 AM, Christian Schulte wrote:
>>>> Apparently you did compile with Gist, that explains the first thing.
>>>>
>>>> The second I do not know and I will have to leave to an Apple user...
>>>>
>>>> Cheers
>>>> Christian
>>>>
>>>> --
>>>> Christian Schulte, Professor of Computer Science, KTH,
>>>> www.gecode.org/~schulte/ <http://www.gecode.org/%7Eschulte/>
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On
>>>> Behalf
>>>> Of Vijay Saraswat
>>>> Sent: Monday, October 13, 2014 5:11 PM
>>>> To: cschulte at kth.se; users at gecode.org
>>>> Subject: Re: [gecode-users] Compilation problem on MacOs with
>>>> Gecode 4.3
>>>>
>>>> OK that definitely helps -- I get fewer missing symbols from before.
>>>>
>>>> However, -lcodegist did not work:
>>>>
>>>> g++ -v -o money money.o -stdlib=libstdc++ -L/usr/local/lib
>>>> -lgecodedriver -lgecodegist -lgecodesearch -lgecodeminimodel
>>>> -lgecodeint
>>>> -lgecodekernel -lgecodesupport Apple LLVM version 5.1 (clang-503.0.40)
>>>> (based on LLVM 3.4svn)
>>>> Target: x86_64-apple-darwin13.1.0
>>>> Thread model: posix
>>>> "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolch
>>>> ain/usr/bin/ld" -demangle -dynamic -arch x86_64 -macosx_version_min
>>>> 10.9.0
>>>> -syslibroot
>>>> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Develop
>>>>
>>>> er/SDKs/MacOSX10.9.sdk -o money -L/usr/local/lib money.o -lgecodedriver
>>>> -lgecodegist -lgecodesearch -lgecodeminimodel -lgecodeint
>>>> -lgecodekernel
>>>> -lgecodesupport -lstdc++ -lSystem
>>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolcha
>>>>
>>>> in/usr/bin/../lib/clang/5.1/lib/darwin/libclang_rt.osx.a
>>>> ld: library not found for -lgecodegist
>>>> clang: error: linker command failed with exit code 1 (use -v to see
>>>> invocation)
>>>>
>>>> This is odd -- there was no error when i did a make to make the system.
>>>>
>>>> Without lcodegist I do get a fewer set of missing symbols:
>>>>
>>>> g++ -v -o money money.o -stdlib=libstdc++ -L/usr/local/lib
>>>> -lgecodedriver -lgecodesearch -lgecodeminimodel -lgecodeint
>>>> -lgecodekernel
>>>> -lgecodesupport Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM
>>>> 3.4svn)
>>>> Target: x86_64-apple-darwin13.1.0
>>>> Thread model: posix
>>>> "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolch
>>>> ain/usr/bin/ld" -demangle -dynamic -arch x86_64 -macosx_version_min
>>>> 10.9.0
>>>> -syslibroot
>>>> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Develop
>>>>
>>>> er/SDKs/MacOSX10.9.sdk -o money -L/usr/local/lib money.o -lgecodedriver
>>>> -lgecodesearch -lgecodeminimodel -lgecodeint -lgecodekernel
>>>> -lgecodesupport
>>>> -lstdc++ -lSystem
>>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolcha
>>>>
>>>> in/usr/bin/../lib/clang/5.1/lib/darwin/libclang_rt.osx.a
>>>> Undefined symbols for architecture x86_64:
>>>> "Gecode::Driver::stop(Gecode::Support::Timer&, std::ostream&)",
>>>> referenced from:
>>>> void Gecode::Driver::ScriptBase<Gecode::Space>::runMeta<Money,
>>>> Gecode::DFS, Gecode::Options,
>>>> Gecode::Driver::EngineToMeta>(Gecode::Options const&, Money*) in
>>>> money.o
>>>> void Gecode::Driver::ScriptBase<Gecode::Space>::runMeta<Money,
>>>> Gecode::DFS, Gecode::Options, Gecode::RBS>(Gecode::Options const&,
>>>> Money*) in money.o
>>>> "Gecode::branch(Gecode::Home, Gecode::IntVarArgs const&,
>>>> Gecode::IntVarBranch, Gecode::IntValBranch, bool (*)(Gecode::Space
>>>> const&,
>>>> Gecode::IntVar, int), void (*)(Gecode::Space const&,
>>>> Gecode::BrancherHandle
>>>> const&, unsigned int, Gecode::IntVar, int, int const&,
>>>> std::ostream&))",
>>>> referenced from:
>>>> Money::Money(Gecode::Options const&) in money.o
>>>> ld: symbol(s) not found for architecture x86_64
>>>> clang: error: linker command failed with exit code 1 (use -v to see
>>>> invocation)
>>>>
>>>> Best,
>>>> Vijay
>>>>
>>>> On 10/13/14, 10:52 AM, Christian Schulte wrote:
>>>>> Hi Vijay,
>>>>>
>>>>> Not being an Apple user, let me still try a guess: you need to add
>>>>> additional libraries:
>>>>> -lgecodeminimodel -lgecodedriver -lgecodegist
>>>>>
>>>>> Please use the order as described in MPG.
>>>>>
>>>>> Good luck
>>>>> Christian
>>>>>
>>>>> --
>>>>> Christian Schulte, Professor of Computer Science, KTH,
>>>>> www.gecode.org/~schulte/
>>>>>
>>>>>
>>>>> -----Original Message-----
>>>>> From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On
>>>>> Behalf Of Vijay Saraswat
>>>>> Sent: Monday, October 13, 2014 4:51 PM
>>>>> To: users at gecode.org
>>>>> Subject: [gecode-users] Compilation problem on MacOs with Gecode 4.3
>>>>>
>>>>> Continuing with
>>>>> http://www.gecode.org/pipermail/users/2014-April/004368.html
>>>>>
>>>>> I am unable to get the basic example running from the tutorial.
>>>>>
>>>>> On a MacBook, OS X 10.9.2, XCode 5.1.1, trying to install GECode 4.3
>>>>> from the webpage http://www.gecode.org/download.html
>>>>>
>>>>> Downloaded source package, did a ./configure, make, make-install --
>>>>> all seemed to succeed.
>>>>>
>>>>> The following command succeeds:
>>>>>
>>>>> $g++ -O3 -I/usr/local/include -stdlib=libstdc++ -c money.cpp
>>>>>
>>>>> However, the next command fails -- what am I doing wrong?
>>>>>
>>>>> $g++ -v -o money money.o -L/usr/local/lib -stdlib=libstdc++
>>>>> -lgecodesearch -lgecodeint -lgecodekernel -lgecodesupport Apple LLVM
>>>>> version 5.1
>>>>> (clang-503.0.40) (based on LLVM 3.4svn)
>>>>> Target: x86_64-apple-darwin13.1.0
>>>>> Thread model: posix
>>>>> "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xc
>>>>> toolch ain/usr/bin/ld" -demangle -dynamic -arch x86_64
>>>>> -macosx_version_min 10.9.0 -syslibroot
>>>>> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/D
>>>>> evelop er/SDKs/MacOSX10.9.sdk -o money -L/usr/local/lib money.o
>>>>> -lgecodesearch -lgecodeint -lgecodekernel -lgecodesupport -lstdc++
>>>>> -lSystem
>>>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xct
>>>>> oolcha in/usr/bin/../lib/clang/5.1/lib/darwin/libclang_rt.osx.a
>>>>> Undefined symbols for architecture x86_64:
>>>>> "Gecode::LinIntExpr::~LinIntExpr()", referenced from:
>>>>> Money::Money(Gecode::Options const&) in money.o
>>>>> "Gecode::BaseOptions::help()", referenced from:
>>>>> vtable for Gecode::Options in money.o
>>>>> "Gecode::BaseOptions::parse(int&, char**)", referenced from:
>>>>> _main in money.o
>>>>> "Gecode::BaseOptions::~BaseOptions()", referenced from:
>>>>> Gecode::Options::~Options() in money.o
>>>>> "Gecode::rel(Gecode::Home, Gecode::BoolExpr const&,
>>>>> Gecode::IntConLevel)", referenced from:
>>>>> Money::Money(Gecode::Options const&) in money.o
>>>>> "Gecode::Driver::BaseOption::~BaseOption()", referenced from:
>>>>> Gecode::Options::~Options() in money.o
>>>>> "Gecode::Driver::CombinedStop::sigint", referenced from:
>>>>> void Gecode::Driver::ScriptBase<Gecode::Space>::runMeta<Money,
>>>>> Gecode::DFS, Gecode::Options,
>>>>> Gecode::Driver::EngineToMeta>(Gecode::Options const&, Money*) in
>>>>> money.o
>>>>> void Gecode::Driver::ScriptBase<Gecode::Space>::runMeta<Money,
>>>>> Gecode::DFS, Gecode::Options, Gecode::RBS>(Gecode::Options const&,
>>>>> Money*) in money.o
>>>>> Gecode::Driver::CombinedStop::interrupt(int) in money.o
>>>>> Gecode::Driver::CombinedStop::CombinedStop(unsigned int,
>>>>> unsigned int, unsigned int) in money.o
>>>>> Gecode::Driver::CombinedStop::stop(Gecode::Search::Statistics
>>>>> const&, Gecode::Search::Options const&) in money.o
>>>>> "Gecode::Driver::StringOption::add(int, char const*, char
>>>>> const*)", referenced from:
>>>>> _main in money.o
>>>>> "Gecode::Driver::StringOption::~StringOption()", referenced from:
>>>>> Gecode::Options::~Options() in money.o
>>>>> "Gecode::Driver::StringValueOption::~StringValueOption()",
>>>>> referenced
>>>>> from:
>>>>> Gecode::Options::~Options() in money.o
>>>>> "Gecode::Driver::am(double*, int)", referenced from:
>>>>> void Gecode::Driver::ScriptBase<Gecode::Space>::runMeta<Money,
>>>>> Gecode::DFS, Gecode::Options,
>>>>> Gecode::Driver::EngineToMeta>(Gecode::Options const&, Money*) in
>>>>> money.o
>>>>> void Gecode::Driver::ScriptBase<Gecode::Space>::runMeta<Money,
>>>>> Gecode::DFS, Gecode::Options, Gecode::RBS>(Gecode::Options const&,
>>>>> Money*) in money.o
>>>>> "Gecode::Driver::dev(double*, int)", referenced from:
>>>>> void Gecode::Driver::ScriptBase<Gecode::Space>::runMeta<Money,
>>>>> Gecode::DFS, Gecode::Options,
>>>>> Gecode::Driver::EngineToMeta>(Gecode::Options const&, Money*) in
>>>>> money.o
>>>>> void Gecode::Driver::ScriptBase<Gecode::Space>::runMeta<Money,
>>>>> Gecode::DFS, Gecode::Options, Gecode::RBS>(Gecode::Options const&,
>>>>> Money*) in money.o
>>>>> "Gecode::Driver::stop(Gecode::Support::Timer&, std::ostream&)",
>>>>> referenced from:
>>>>> void Gecode::Driver::ScriptBase<Gecode::Space>::runMeta<Money,
>>>>> Gecode::DFS, Gecode::Options,
>>>>> Gecode::Driver::EngineToMeta>(Gecode::Options const&, Money*) in
>>>>> money.o
>>>>> void Gecode::Driver::ScriptBase<Gecode::Space>::runMeta<Money,
>>>>> Gecode::DFS, Gecode::Options, Gecode::RBS>(Gecode::Options const&,
>>>>> Money*) in money.o
>>>>> "Gecode::branch(Gecode::Home, Gecode::IntVarArgs const&,
>>>>> Gecode::IntVarBranch, Gecode::IntValBranch, bool (*)(Gecode::Space
>>>>> const&, Gecode::IntVar, int), void (*)(Gecode::Space const&,
>>>>> Gecode::BrancherHandle const&, unsigned int, Gecode::IntVar, int, int
>>>>> const&, std::ostream&))", referenced from:
>>>>> Money::Money(Gecode::Options const&) in money.o
>>>>> "Gecode::Options::Options(char const*)", referenced from:
>>>>> _main in money.o
>>>>> "Gecode::BoolExpr::BoolExpr(Gecode::LinIntRel const&)", referenced
>>>> from:
>>>>> Money::Money(Gecode::Options const&) in money.o
>>>>> "Gecode::BoolExpr::~BoolExpr()", referenced from:
>>>>> Money::Money(Gecode::Options const&) in money.o
>>>>> "Gecode::operator==(Gecode::LinIntExpr const&, Gecode::LinIntExpr
>>>>> const&)", referenced from:
>>>>> Money::Money(Gecode::Options const&) in money.o
>>>>> "Gecode::operator==(Gecode::IntVar const&, Gecode::IntVar
>>>>> const&)", referenced from:
>>>>> Money::Money(Gecode::Options const&) in money.o
>>>>> "Gecode::operator*(int, Gecode::IntVar const&)", referenced from:
>>>>> Money::Money(Gecode::Options const&) in money.o
>>>>> "Gecode::operator+(Gecode::LinIntExpr const&, Gecode::IntVar
>>>>> const&)", referenced from:
>>>>> Money::Money(Gecode::Options const&) in money.o
>>>>> "Gecode::operator+(Gecode::LinIntExpr const&, Gecode::LinIntExpr
>>>>> const&)", referenced from:
>>>>> Money::Money(Gecode::Options const&) in money.o
>>>>> "Gecode::operator+(Gecode::IntVar const&, Gecode::LinIntExpr
>>>>> const&)", referenced from:
>>>>> Money::Money(Gecode::Options const&) in money.o
>>>>> "Gecode::operator+(Gecode::IntVar const&, Gecode::IntVar const&)",
>>>>> referenced from:
>>>>> Money::Money(Gecode::Options const&) in money.o
>>>>> "typeinfo for Gecode::BaseOptions", referenced from:
>>>>> typeinfo for Gecode::Options in money.o
>>>>> ld: symbol(s) not found for architecture x86_64
>>>>> clang: error: linker command failed with exit code 1 (use -v to see
>>>>> invocation)
>>>>> bash-3.2$
>>>>>
>>>>> _______________________________________________
>>>>> Gecode users mailing list
>>>>> users at gecode.org
>>>>> https://www.gecode.org/mailman/listinfo/gecode-users
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> Gecode users mailing list
>>>> users at gecode.org
>>>> https://www.gecode.org/mailman/listinfo/gecode-users
>>>>
>>>>
>>>
>>>
>>> _______________________________________________
>>> Gecode users mailing list
>>> users at gecode.org <mailto:users at gecode.org>
>>> https://www.gecode.org/mailman/listinfo/gecode-users
>>>
>>
>>
>> _______________________________________________
>> Gecode users mailing list
>> users at gecode.org <mailto:users at gecode.org>
>> https://www.gecode.org/mailman/listinfo/gecode-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gecode.org/pipermail/users/attachments/20141013/6ad53477/attachment-0001.html>
More information about the users
mailing list


Full Stack Developer
Android projects designed to work as a standalone application or to support an existing project.
Fully responsive websites built with HTML, CSS, JS, Bootstrap, and additional libraries/frameworks.
Python scripts developed to cut down on repetitive tasks.


Scott Blinch
Summary
Toronto-based front end web developer with experience building usable, reusable, accessible, cross-browser components.
Technical Skills
- Languages: HTML, CSS (Sass/LESS employing SMACSS, BEM, Atomic methodologies), JavaScript (and the occasional PHP and MySQL for good measure)
- Frameworks: Bootstrap, Tailwind, React, AngularJS, WordPress
- Tools: Webpack, Gulp, Grunt, Git, Babel, Jest, Cypress
- Software: Photoshop, Illustrator, Sketch
Experience
Race Roster, Front End Web Developer
I build the markup, CSS, and Javascript for Race Roster, a registration platform for endurance events worldwide. I ensure quick and snappy performance and great user experience for users of all abilities on all browsers and devices. I've spent a large chunk of my time transitioning the core app and several related micro-apps over to a uniform design system and component library, complete with several reusable custom JS plugins and components, and helping to build the tooling surrounding all of it.
tbk Creative Front End Web Developer
I built the markup, CSS, and Javascript for design-heavy WordPress websites. In addition to providing great user experience and ensuring browser compatibility between all screen sizes, devices, and browsers, I also took care in making websites accessible to people of all abilities in compliance with WCAG 2.0 AA with respect to the AODA. I helped to build and lead the Front End department, leading a team of up to 3 other developers.
Various, Freelance Full Stack Web Developer
I code both the front- and back-ends for the websites for various freelance clients, in addition to all hosting and DNS management (if needed).
Example Projects
Hino Canada, website rebuild, tbk Creative
A WordPress-based informational website for the Canadian arm of the international commercial truck manufacturer, Hino Motors. Fully responsive, multilingual, and accessible. Features video carousels, dealer locator, informational truck model pages, truck comparison tool.
Renin, website rebuild, tbk Creative
A WordPress-based informational and sales website for Renin, a home improvement company. Fully responsive, multilingual, and accessible. Features carousels, informational product pages, custom spec PDF generator.
Anchem, website rebuild, tbk Creative
A WordPress-based informational website for Anchem, a chemical solutions company. Fully responsive and accessible. Features informational chemical pages, chemical finder.
Lerners, website rebuild, tbk Creative
A WordPress-based informational website for Lerners law firm. Fully responsive and accessible. Features multi-layered mega-menu system, lawyer search, informational lawyer pages.
Breaking Bland, website, tbk Creative
A one-page website featuring the latest product line offered by Danby, a home appliance manufacturer. Fully responsive, multi-lingual and accessible.
Community Involvement
London Front-end Development Meetup Co-organizer
I co-organized the London Ontario front end meetup where we held monthly talks discussing everything front end, in addition to several games nights. I gave several talks on accessibility and tooling.
Canada Learning Code
I taught or mentored several classes of approximately 15-20 of varying ages discussing topics ranging from beginner web design to JavaScript.


Quite often you want to unittest your application or just check the output from an interactive python session. In theory that is pretty simple because you can fake a WSGI environment and call the application with a dummy start_response and iterate over the application iterator but there are argumentably better ways to interact with an application.
Werkzeug provides an object called Client which you can pass a WSGI application (and optionally a response wrapper) which you can use to send virtual requests to the application.
A response wrapper is a callable that takes three arguments: the application iterator, the status and finally a list of headers. The default response wrapper returns a tuple. Because response objects have the same signature you can use them as response wrapper, ideally by subclassing them and hooking in test functionality.
Werkzeug provides a Client object which you can pass a WSGI application (and optionally a response wrapper) which you can use to send virtual requests to the application.
A response wrapper is a callable that takes three arguments: the application iterator, the status and finally a list of headers. The default response wrapper returns a tuple. Because response objects have the same signature, you can use them as response wrapper, ideally by subclassing them and hooking in test functionality.
>>> from werkzeug import Client, BaseResponse, test_app
>>> c = Client(test_app, BaseResponse)
>>> resp = c.get('/')
>>> resp.status_code
200
>>> resp.headers
Headers([('Content-Type', 'text/html; charset=utf-8')])
>>> resp.data.splitlines()[0]
'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"'
Or without a wrapper defined:
>>> c = Client(test_app)
>>> app_iter, status, headers = c.get('/')
>>> status
'200 OK'
>>> headers
[('Content-Type', 'text/html; charset=utf-8')]
>>> ''.join(app_iter).splitlines()[0]
'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"'
New in version 0.5.
The easiest way to interactively test applications is using the EnvironBuilder. It can create both standard WSGI environments and request objects.
The following example creates a WSGI environment with one uploaded file and a form field:
>>> from werkzeug import EnvironBuilder
>>> from StringIO import StringIO
>>> builder = EnvironBuilder(method='POST', data={'foo': 'this is some text',
... 'file': (StringIO('my file contents'), 'test.txt')})
>>> env = builder.get_environ()
The resulting environment is a regular WSGI environment that can be used for further processing:
>>> from werkzeug import Request
>>> req = Request(env)
>>> req.form['foo']
u'this is some text'
>>> req.files['file']
<FileStorage: u'test.txt' ('text/plain')>
>>> req.files['file'].read()
'my file contents'
The EnvironBuilder figures out the content type automatically if you pass a dict to the constructor as data. If you provide a string or an input stream you have to do that yourself.
By default it will try to use application/x-www-form-urlencoded and only use multipart/form-data if files are uploaded:
>>> builder = EnvironBuilder(method='POST', data={'foo': 'bar'})
>>> builder.content_type
'application/x-www-form-urlencoded'
>>> builder.files['foo'] = StringIO('contents')
>>> builder.content_type
'multipart/form-data'
If a string is provided as data (or an input stream) you have to specify the content type yourself:
>>> builder = EnvironBuilder(method='POST', data='{"json": "this is"}')
>>> builder.content_type
>>> builder.content_type = 'application/json'
This class can be used to conveniently create a WSGI environment for testing purposes. It can be used to quickly create WSGI environments or request objects from arbitrary data.
The signature of this class is also used in some other places as of Werkzeug 0.5 (create_environ(), BaseResponse.from_values(), Client.open()). Because of this most of the functionality is available through the constructor alone.
Files and regular form data can be manipulated independently of each other with the form and files attributes, but are passed with the same argument to the constructor: data.
data can be any of these values:
New in version 0.6: path and base_url can now be unicode strings that are encoded using the iri_to_uri() function.
| Parameters: |
|
|---|
Returns a request with the data. If the request class is not specified request_class is used.
| Parameter: | cls – The request wrapper to use. |
|---|
This class allows to send requests to a wrapped application.
The response wrapper can be a class or factory function that takes three arguments: app_iter, status and headers. The default response wrapper just returns a tuple.
Example:
class ClientResponse(BaseResponse):
...
client = Client(MyApplication(), response_wrapper=ClientResponse)
The use_cookies parameter indicates whether cookies should be stored and sent for subsequent requests. This is True by default, but passing False will disable this behaviour.
New in version 0.5: use_cookies is new in this version. Older versions did not provide builtin cookie support.
Takes the same arguments as the EnvironBuilder class with some additions: You can provide a EnvironBuilder or a WSGI environment as only argument instead of the EnvironBuilder arguments and two optional keyword arguments (as_tuple, buffered) that change the type of the return value or the way the application is executed.
Changed in version 0.5: If a dict is provided as file in the dict for the data parameter the content type has to be called content_type now instead of mimetype. This change was made for consistency with werkzeug.FileWrapper.
The follow_redirects parameter was added to open().
Additional parameters:
| Parameters: |
|
|---|
Create a new WSGI environ dict based on the values passed. The first parameter should be the path of the request which defaults to ‘/’. The second one can either be an absolute path (in that case the host is localhost:80) or a full path to the request with scheme, netloc port and the path to the script.
This accepts the same arguments as the EnvironBuilder constructor.
Changed in version 0.5: This function is now a thin wrapper over EnvironBuilder which was added in 0.5. The headers, environ_base, environ_overrides and charset parameters were added.
Return a tuple in the form (app_iter, status, headers) of the application output. This works best if you pass it an application that returns an iterator all the time.
Sometimes applications may use the write() callable returned by the start_response function. This tries to resolve such edge cases automatically. But if you don’t get the expected output you should set buffered to True which enforces buffering.
If passed an invalid WSGI application the behavior of this function is undefined. Never pass non-conforming WSGI applications to this function.
| Parameters: |
|
|---|---|
| Returns: | tuple in the form (app_iter, status, headers) |


I like apples and oranges
I also like bananas, mangoes,cherries,apricots,plums,peaches and grapes.
The apple forms a tree that is samll and deciduous,reaching 3 to 12 metres (9.8 to 39ft) tall, with a broad, often densely twiggy crown.
The leaves are alternately arraged simple ovals 5 to 12 cm long and 3-6 centimetres (1.2 to 2.4 in) broad on a 2 to 5 centimetres (0.79 to 2.0 in) petiole with anacute tip. serrated margin and a slightly downy underside. Bloosoms are produced in apring simultaneously with the budding of the leave.
The flowers are white with a pink tinge that gradually fades,five petaled, and 2.5 to 3.5 centimetres (0.98 to 1.4 in) in diameter. The fruit matures in autumn, and is typically 5 to 9 centmetres (2.0 to 3.5 in) in diameter;
The center of the fruit contains five arranged in a five-point star; each carpel containing one to three seeds,called pips.
Warning: Eating too many oranges can give you heart burn.
My favorite kind of orange is the mandarin, properly known as
citrus reticulata.
Oranges at my local store cost $1 each $2 for 3.
The FDOC regulates the Florida citrus industry
I still remember the best apple I ever tasted. I bought it at on


{{! group some columns -> Otherwise error msg would break the layout }}
{{^discordEnabled}}
Info
Discord WebHooks are disabled for your map type '{{ mapData.config.type.name }}'
{{/discordEnabled}}
Share settings
Use this feature with caution! - Shared map entities have full map access.
They even can take over control by removing other entities from this list.
Reduce this risk by creating a new map for joined OPs.
{{! character search ------------------------------------------------ }}
{{#accessCharacter.length}}
{{/accessCharacter.length}}
{{! corporation search ---------------------------------------------- }}
{{#accessCorporation.length}}
{{/accessCorporation.length}}
{{! alliance search ------------------------------------------------- }}
{{#accessAlliance.length}}
{{/accessAlliance.length}}
{{/hasRightMapUpdate}}
{{^hasRightMapUpdate}}
Restricted
You don´t have the required roles.
{{/hasRightMapUpdate}}
{{/hideSettingsTab}}
{{^hideDownloadTab}}
Map export
{{#hasRightMapExport}}
{{/hasRightMapExport}}
{{^hasRightMapExport}}
Restricted
You don´t have the required roles.
{{/hasRightMapExport}}
Map import
{{#hasRightMapImport}}
{{/hasRightMapImport}}
{{^hasRightMapImport}}
Restricted
You don´t have the required roles.
{{/hasRightMapImport}}
{{/hideDownloadTab}}


HOME
CODE
PROFILE
SOURCE
ABOUT
CODE
PROFILE
SOURCE
ABOUT
Generate a Session
Click here
or join an existing session:
ABOUT
State College, PA
Phone: (703) 853 - 5869
Email: ide.johnc@gmail.com


|
NEW SOUTH
I am among rebels! They are only overcome and not subdued. In Spirit, language, conduct, feeling, in all essential things they are rebels as truly today as when the Arch-traitor Jeff Davis was on the throne of their bogus Confederacy. Their names for all Northerners are "Northern Infidels," "Mercenary Vandals," "Scum of the earth," etc. etc.
A recent "New York Times" book review section ran a review of T.R. Pearson's latest novelistic journey down South to take his readers "inside the otherwise lackluster skulls of hillbillies and white trash" [reviewer's description]. Along about a third of the way through this generally glowing write-up, the reviewer opens a paragraph by noting, "Rednecks may compose the last minority that is still fair game for insult from almost any quarter." But he doesn't pick up this thread, and instead returns to the book's praise. You can almost hear the pause, the glimmer of doubt, and the "but who cares?" before he plunges on. I have met many real Southern people, living in real places, dealing with the complex work of building up true multi-racial communities where no race feels excluded. I have seen them often and eloquently acknowledging the stain on their region's past, even as they assert their right to feel pride in that place, both past and present. And I have seen many non-Southerners who gloss right over the fact that slavery, racism, and segregation were national experiences. Nothing done outside the South really counts as racism to them since, well, it wasn't the South. A lot of Freedom-Rider wanna-bes who missed the bus in 1965 come looking for some redneck racists to bait, so they can go home and sit back in the easy chair in the comfortable suburban neighborhood up North where there's not a black face for 10 miles, and feel like heroes. I ask them, "What have you done in your community?" I have heard voices of a New South -- intelligent, articulate, involved in community, aware of the past but with faces turned toward the future. They were born since 1970. Civil Rights for them is history as much as Civil War. They've grown up in desegregated schools, fed from lunch counters where all were welcome, ridden buses with no preference except who gets there first and courtesy. Warriors fought so that such a generation could exist in this land. Those who fought the good fight from 1955 to 1965 -- and before, and beyond -- made this possible. The NAACP made this possible. And part of knowing how to fight is knowing when you've won. It's knowing when to stop. These are not children. They're adults, ready to take their turns at the tiller of their communities, states, and nation. They can be proud of what their home is without lying about what it was. In that, they are ahead of most of the rest of America. They will likely be here to see the 200th anniversary of our Civil War, and the 100th of our Civil Rights movement. Ignore them at your peril. They will write your epitaphs.
I have lived most of my 40 years within an hour's easy bike ride of the Mason-Dixon Line. That mark on the map is so much the seam between the two cultures of America, in the popular mind, that it apparently gave a name to one of them -- Dixie. If the actual cleavage, when it came in 1861, was along a muddy river a few hundred miles south of this line, the credit goes to a crafty Maryland governor who called in a federal coup on his own state before his enthusiastic secessionist legislature could meet to join the rebellion. Still, Baltimore stoned the boys in blue when they marched through, and cut the telegraph wires to the capital and sent far more sons south into the gray regiments, where they fought far better under the stars and bars than those who enlisted under the stars and stripes. And Maryland was a slave state (delicately relabeled a "border state" in the rhetoric of the Civil War). Maryland is Dixie. But I've always lived on the Mason side of that line, among the spacious barns built by the Hicksite Quakers and the Pennsylvania Germans. I've lived and worked in Lancaster and Chester counties, and spent thousands of hours in their archives and historical societies and newspaper morgues, poring over the evidences of their past. I've written three books and numerous journal articles, and discovered a few facts about American history that were otherwise unknown. I've also talked to the people who live there now, and collected their stories, visited their villages and watched them grapple with challenges. I can claim to write with some authority on this little corner of the American experiment. I remember reading Mason's and Dixon's journals, the account left by the two London astronomers on their great camping jaunt into the wilderness to make a marvel: a line across the face of the earth longer and straighter than anything a human being had ever done. They carved it right through the forest, felling the trees and clearing the brush on either side and planting granite boundary stones every five miles, marked with the coat of arms of the Penns on one side and that of the Calverts on the other. When they passed close enough to some tall hill, they would scale it to delight in the view of that white straight gash in the green, stretching unbroken and unbending to the horizon. The markers, the few that haven't been stolen or buried, sit tangled in briers in the wood lots scattered among the farms that cover this territory now. Most are Amish farms now or rich folks' horse farms. And they look about the same on both sides of the line. Fair Hill could be Kemblesville. North East could be Oxford. A hamlet called Lewisville literally straddles the line. So does Sylmar, as its name suggests (PennSYLvania + MARyland). Not until I drive three hours down the Eastern Shore does the landscape start to feel different. And in the old antebellum censuses that I've studies, the big sheets from 1850 and 1860 with the names lettered in script in ink faded brown, the same family names occur on both sides of the line.
People lament the lack of manners and of personal and social responsibility in America, but they tend to forget that those values went down with the old South, along with distinctive local cultures (except the ones that can be packaged and sold), because there's no progress or profit in any of those things. That's one reason why, in the 1880s and '90s, at the height of the Gilded Age, the entire nation was wrapped up in nostalgia for the Old South. How ironic that the reflexive desire for old values that had been thrown over made up an essential element -- from minstrel shows to Joel Chandler Harris to Aunt Jemima to "Gone With the Wind" (the movie, not the book) -- of the emerging mass consumer culture. Some people, otherwise sympathetic, object to ascribing "social responsibility" to the Old South. Yet it is there, as part of the aristocratic code that the South believed itself to be following. That is, it was part of a deliberately cultivated set of values among the ruling class. How well it was achieved varied from individual to individual. But on the whole it was a stronger vein in the regional culture of the South than of New England and the North. Personal and social responsibility don't spring naturally from hardscrabble farmers, industrial workers, or striving mercantile capitalists. A coal miner doesn't want to be a philanthropist. He wants to be a shopkeeper, because he thinks shopkeepers don't have to work. In our fixation with "democracy," we dismiss the ante-bellum Southern sense of noblesse oblige because it springs from that dirtiest of words, "aristocracy." Old South values are often written off with the sneering label "paternalism." Yet this was bound up in the aristocratic aspirations of the Southern gentry, and it was very deliberately cultivated among them. The founders never meant America to be a pure democracy; they would have been horrified by that idea. We were to be a mixed government, balancing regional economies, balancing central and local powers, balancing class interests. Men like Jefferson, Washington, and Madison felt deeply -- and personally -- the obligation of a wealthy landed gentry toward personal and social responsibility, both for the sake of the nation and as an example to others.
|
| ©2002Douglas Harper | "When misunderstanding serves others as an advantage, one is helpless to make oneself understood." -Lionel Trilling |


[% " Graphs are updated daily. " | i18n %]
[% " Quick notes: " | i18n %]
- [% " Browser Filter means that both the \"A\" and \"AAAA\" test failed. Browser
(plugin/filter) shenanigans, likely with add-ons like ad blockers. " | i18n %]
- [% " Brokeness goes down, when volume goes up. This is due to having a
wider sample of average people (versus people explicitly testing a new IPv6
setup). " | i18n %]
[% " These graphs show the last 60 days of activity at site" | i18n %]
[% " Graph: shows result summaries, stacked. Total height shows number of
users who took the test on a given day. " | i18n %]
[% " Similiar graph, except this time showing percentages. " | i18n %]
[% " The most interesting graph is the percentage of \"broken\" users. Our
definition of a \"broken\" user is that the browser stalls or times out, while
attempting to visit a web site published on both IPv4 and IPv6. " | i18n %]
[% " Line graph, not stacked, of results over time. " | i18n %]
[% " These graphs show the last 600 days of activity at site" | i18n %]
[% " Graph: shows result summaries, stacked. Total height shows number of
users who took the test on a given day. " | i18n %]
[% " Similiar graph, except this time showing percentages. " | i18n %]
[% " The most interesting graph is the percentage of \"broken\" users. Our
definition of a \"broken\" user is that the browser stalls or times out, while
attempting to visit a web site published on both IPv4 and IPv6. " | i18n %]
[% " Line graph, not stacked, of results over time. " | i18n %]
[% PROCESS "footer.inc" %]