Suspect in kidnapping of 12-year-old Osaka girl tells police he 'saved a child who needed help'
OSAKA – A man under arrest for allegedly kidnapping a 12-year-old girl in Osaka and confining her in his Tochigi home has told police he “did the right thing,” investigative sources said Monday.
The suspect, Hitoshi Ito, 35, became acquainted with the girl via social media around Nov. 10. and they decided to meet in a park in Osaka four or five days later.
After being missing since Nov. 17 from her home in Osaka, she showed up Saturday at a police box in Oyama, Tochigi Prefecture, more than 400 kilometers away. Ito was arrested by Osaka Prefectural Police later that day.
 Before she disappeared, the girl had told others she didn’t like her home or school, according to investigative sources.
Regarding how she spent the past days at Ito’s home, the girl said that food and bathing were restricted during the time she was confined, according to the sources.
“It was around one meal per day and one bath every two days,” the girl was quoted as saying by a police official.
After getting acquainted with the girl on social media, the suspect sent a message asking the elementary school sixth grader to come to his house in Oyama, according to the police.
Ito also said in the message that another girl had been in his house for about six months and he wanted the girl from Osaka to be “a conversation partner” for her, the police said.
When the girl escaped her confinement Saturday and appeared at the police box, located about 750 meters from the man’s house, she was not wearing any shoes. She told a police officer that she had “fled from a man’s house” after “becoming scared” and that there was another girl there.
Osaka Prefectural Police transferred Ito to its headquarters on Sunday afternoon, and searched his house.
He is suspected of abducting the girl from the park in Osaka on Nov. 17, and confining her in his home despite knowing she was a minor.
The 12-year-old girl was last seen at her home that day and local police had mobilized around 360 personnel to look for her.
Police found the girl’s smartphone, which was turned off with the SIM card removed, during a search of Ito’s home.
The elementary school girl told police that the man had taken away her phone and shoes, and that she managed to escape while he and the other girl, whom investigative sources identified as a 15-year-old girl from Ibaraki Prefecture, were sleeping.
The 15-year-old girl’s family had reported her missing to police in June, according to investigative sources.
Ibaraki Prefectural Police said Sunday that they had visited Ito’s residence in July and questioned him on a voluntary basis, but could not confirm the presence of the junior high school girl at the time.
The girl has now been reunited with her family. The elementary school girl was returned to Osaka on Sunday morning and reunited with her mother, police said.
GET THE BEST OF THE JAPAN TIMES IN FIVE EASY PIECES WITH TAKE 5
JOIN THE CONVERSATION


On July 18, we had an AMA session with LTO Network in our Telegram Chat. Our guests were Rick Schmitz, CEO, Arnold Daniels, Lead Architect, and Ivan Golovko, CMO of LTO Network, one of the most interesting hybrid blockchains built for business needs.
Here are the essential points of Rick, Arnold and Ivan on the product and future prospects.
Please welcome Rick (R), Arnold (A), Ivan (I), and the questions from our Telegram chat members (Q).
Q: First of all, how do you explain the concept of LTO? Why was it designed?
I: It was created out of the need for distributed storage, p2p data sharing and privacy. We did not make a blockchain just out of the air, it was an evolution of the products. LTO team started getting together since 2014 and had a journey for over 4 years!
R: We solve the silo problem that so many big organizations face. If you have a company that has processes that involve multiple stakeholders then everyone else doing the same administrative work. Communication happens through phone, email and letters. Using LTo Network you can connect those silo’s and share only the data and business logic that is relevant for that process. So everyone that is involved benefits from the data re-use and automation.
Q: Which countries is LTO focusing on?
I: For now Europe. Later US. Further Asia. we already talk with global partners, but we better over-deliver than over-promise
Q: Security, scalability, and data privacy are three aspects that are very important at the enterprise level, how LTO network handles these issues?
A: The public chain only processes anchor transactions, storing hashes. All other logic is done on the private event chain level. Each process creates a new event chain (think similar to git). That makes it possible to have it scale horizontally. Process data can be pseudonymized, where the details are shared on a need-to-know basis. Private data is only shared with a specific actor and only if the process is in a state where an actor can perform a specific action that needs that data.
Q: How is LTO different from other projects in the crypto space? & what problems LTO network intends to solve in terms of achieving mass adoption if in the coming months? What are your short term goals and what are your plans to accomplish those goals?
R: We have a product / market fit. We are one of the fastest growing chains (in terms of usage). We don't take the futuristic approach by building some distant pipedream. We build something that can be used today and where you can save money for your clients.
Our advantages are mainnet live, based in EU, very solid team, governments and multinationals running live projects on LTO. So adoption or usage is very high and it’s increasing rapidly.
I: Moreover, the killer feature is the hybrid architecture enabling GDPR compliance.
A: IMHO a permissioned model undermines the whole concept of blockchain. A hybrid chain is an alternative, which provides privacy on top a permissionless system.
Q: Are you confident that GDPR compliance tooling will be used by company and government in the future?
R: Already is used by governments and multinationals just because of this USP. People are starting to realize it is a bad idea to store data on a blockchain when personal data is involved.
Q: If I am a company that needs to use your Blockchain solution what are the perquisites I need to take care of?
R:You need to have processes that run outside your own organization that you want to make more efficient. Then you should look into LTO network.
Q: What difficulties have been encountered during the development of LTO?
R:Business. They are slow. If you increase the funnel, you have a constant stream of new integrators. We have gotten successful in that.
Q: Is your service already offered by a centralized entity? If so, why does decentralizing it make it better?
A: Yes. You have a lot of centralized workflow solutions. But these typically aren't used in a cross-organization setting. Problem is that you have to trust the other party (or a third party) with your process data, which is often company sensitive information. Therefore, orchestration between orgs is done via email, phone and fax. With LTO decentralized workflow you can participate with your own system and share data peer-to-peer on a need-to-know basis.
I: We don't restrict you to what you are doing. For example, ETH is decentralized, right? But they have custody providers, who make adoption go further. With LTO case, it's similar. You can have your own access point, you can rely on an integrator, you can decide to sue a software and make them anchor. Not every use case has to be decentralized. It is what the user wants.
Q: What are the key differences between smart contracts and live contracts? Are smart contracts better?
I: They are better for what they need to do. In basic terms, smart contracts facilitate an exchange of value without intermediaries, based on the conditions written in that code. Just execution. For example, I send you 1 ETH - the contract sends me xxx tokens based on the amounts specified in the contract. That is fully on-chain, nothing extra involved. Just code. So what can you just execute with a smart contract? Only assets, like tokens, ETH. You can't on-chain lock up an off-chain action. If I promise you to walk your dog if ETH price goes to 100, I cannot put that in the smart contract.  So when you get into issues like dispute resolution of more subjective things, then you cannot live without off-chain data. Let's say you make a bet: someone needs to fill in the results, so then the smart contract can execute the result.
Q: In today's age AI and ML is everywhere. What are your plans to integrate Artificial intelligence and machine learning in LTO network?
I: Good one! We are partners with IBM Watson (AI ML) and have a joint use case for the government already.
A: With Live Contracts you have all data on a process in a structured way. That can allow making some decisions in the process automatically. We're doing a project with IBM Watson as p.o.c.
Q: Can you put some light on your partnership ? How are they helping you out in your project?
R: Yes, we are partnering with integrators and ISVs. We give them the tools and LTO fabric to create efficiency for their clients. So you get the network effect and snowball. Much better than directly serving the clients.
Q: What the purpose LTO listed or work together with Atomic Wallet AWC? How about your Roadmap if your project not yet working it?
I: Our roadmap started in 2014. And it keeps developing every day! We have a live use case, live mainnet, and TOP20 most used blockchain Work together? Integrate mainnet :)
Q: Are there any new or upcoming additional use-cases for LTO that you want to share with us?
R: Yes, use cases that are being built currently by new integrators are data sharing on certification processes (cant mention the organization yet, public company). And more supply chain cases (3 sectors).
I: In much perspective, our next-up plans are: raising in LTO; ecosystem becoming the major European player; lobbying governments; integrating major software providers; working with IBM and Docker.
Q: What is your strategy to spread LTO over every exchange platform?
I: We know them all. Our goal is to get listed everywhere without killing company runway. More adoption - more leverage = less fees.
Q: What future developments would you expect would be most appealing to larger institutions?
I: Something that adds value but is simple. No research papers. Give simple code, make things smooth. Add value. This is what we do
Q: How LTO Network can be used in the future?
R: Same as it can be used today. We are not a project with a promise in a whitepaper. We have a working fabric with many organizations that use it.
We were glad to host LTO Network (Twitter: https://twitter.com/LTOnetwork) on our Telegram. Thanks to the team and all members of the session! Stay updated with our news on Twitter, Telegram, Facebook and Reddit and see you soon!


Simplicity is the key to great user experiences. Create fewer features, but make them great instead of just good. Show fewer elements, use simplistic styling to reduce cognitive load. Dare to say ‘No’ to prevent the core functionality from being lost in the noise.
Don’t go for ‘WOW’, go for ‘of course’
Never chase the ‘wow-effect’. Product design succeeds when it solves the problem or need of our users in the best possible way. Design the product effective & delightful. The reaction we are after from our users is “Of course, that is obvious”.
I wrote down some design principles for our team to help us make design decisions:
Check the complete post here:
https://medium.com/@WdeB/digital-product-design-principles-8bc9eb6c080c


An interactive dashboard for calculating and normalizing the assorted forms of employee compensation contained in the typical job offer term sheet
Open the tool »Explorable product sector maps for the jungle that is the business marketplace. Even mental maps benefit from proper spacial orentation, so we're mapping the market landscape, in the literal cartographic sense.
Explore the maps »Chart what your earnings and personal burn rate means with respect to your current and forecasted future financial position. See how long you can survive lean periods, fantacize how fat you'd end up in the long run.
Learn more »TBD. Stay tuned, wish us luck, get involved or just take break to go play outdoors
Thanks for your patience »TBD. Stay tuned, wish us luck, get involved or just take break to go play outdoors
Thanks for the love »TBD. Stay tuned, wish us luck, get involved or just take break to go play outdoors
Thanks for your interest »


About us
Our game starts here
The London referees Group is an organization of 225 hockey referees serving London and area. If you are currently looking for an organization to referee your minor hockey league or your mens hockey league.
Our History
Historic LRG Highlights
The name of the organization is the "London Referees' Group" and maybe referred to in the organization's documents and records as "LRG". LRG is an unincorporated private association of its members, established on 15 July 2007 at London, Ontanrio.
Team Members
{{currentPeopleData.name}}
Role: {{currentPeopleData.role}}
Email: {{currentPeopleData.email}}
Click the image to see more infomation!


This entry provides a rank ordering of trading partners starting with the most important; it sometimes includes the percent of total dollar value.
| Country | EXPORTS - PARTNERS(%) |
|---|---|
| Afghanistan |
India 31.9%, Pakistan 28.5%, Tajikistan 7.5%, US 6.2% (2013) |
| Albania |
Italy 43.5%, China 9.7%, Spain 8.4%, Kosovo 7.4%, India 6.1% (2013) |
| Algeria |
Spain 20.2%, France 9.3%, UK 8.8%, US 8.1%, Netherlands 6.9%, Canada 6%, Brazil 5.6%, Germany 4.3%, Italy 4.2% (2013) |
| Angola |
China 44.7%, US 12.3%, India 9.5%, South Africa 5.1%, Portugal 4.9%, Spain 4% (2013) |
| Argentina |
Brazil 21%, China 7.1%, US 5.5%, Chile 4.6% (2013) |
| Armenia |
Russia 22.6%, Bulgaria 10.3%, Belgium 8.9%, Iran 6.5%, US 6%, Canada 5.9%, Georgia 5.8%, Germany 5.8%, China 4.7%, Netherlands 4.5% (2013) |
| Aruba |
Colombia 36.9%, Netherlands Antilles 18.5%, US 12.7%, Venezuela 12.4%, Netherlands 4.6% (2013) |
| Australia |
China 36.1%, Japan 18%, South Korea 7.3% (2013) |
| Austria |
Germany 30.7%, Italy 6.6%, France 4.8%, US 4.4%, Switzerland 4.3%, Slovakia 4.2% (2013) |
| Azerbaijan |
Italy 25.6%, Indonesia 11.1%, Thailand 7.4%, Germany 6.1%, France 5.5%, India 4.4%, Russia 4.2%, Israel 4.1% (2013) |
| Bahamas, The |
Cote dIvoire 25.6%, US 21.5%, Dominican Republic 18%, Turkey 4.8%, Ecuador 4.2% (2013) |
| Bahrain |
Saudi Arabia 3.2%, UAE 2.1%, Qatar 1.8%, US 1.6% (2013) |
| Bangladesh |
US 16.3%, Germany 11.8%, UK 7.7%, France 4.8%, Netherlands 4.7%, Spain 4.4% (2013) |
| Barbados |
Trinidad and Tobago 20.7%, US 11.2%, St. Lucia 9.6%, St. Vincent and the Grenadines 6%, Jamaica 5.5%, Antigua and Barbuda 4.9%, St. Kitts and Nevis 4.6% (2013) |
| Belarus |
Russia 45.3%, Ukraine 11.3%, Netherlands 9%, Germany 4.7% (2013) |
| Belgium |
Germany 17.5%, France 16.2%, Netherlands 12.7%, UK 7.8%, US 4.6%, Italy 4.6% (2013) |
| Belize |
US 26%, UK 22.1%, Nigeria 5.8%, Cote dIvoire 4.4%, Jamaica 4.1% (2013) |
| Benin |
Lebanon 21.7%, China 21.6%, India 18.5%, Nigeria 4.9%, Niger 4.9% (2013) |
| Bermuda |
Indonesia 38.2%, US 8.7% (2013) |
| Bhutan |
India 83.8%, Hong Kong 10.8% (2013 est.) |
| Bolivia |
Brazil 34%, Argentina 20%, US 10%, Colombia 5%, Peru 5% (2013) |
| Bosnia and Herzegovina |
Slovenia 17.3%, Croatia 15.6%, Italy 14.8%, Germany 13.1%, Austria 12% (2013) |
| Brazil |
China 19%, US 10.3%, Argentina 8.1%, Netherlands 7.2% (2013) |
| Brunei |
Japan 41.9%, South Korea 17%, Australia 8.2%, India 6.8%, Indonesia 5.7%, Vietnam 5.7%, Thailand 4.8%, NZ 4.3% (2013) |
| Bulgaria |
Germany 12.6%, Italy 8.8%, Turkey 8.6%, Romania 7.9%, Greece 7.1%, France 4.4% (2013) |
| Burkina Faso |
China 25.9%, Indonesia 12%, Japan 5.7%, Thailand 5.6%, Turkey 5.1%, Cote dIvoire 4.9%, Ghana 4.6% (2013) |
| Burma |
Thailand 35%, China 24.5%, India 11.9%, Japan 6.6%, South Korea 4.2% (2013) |
| Burundi |
Germany 11.4%, Pakistan 9.3%, Democratic Republic of the Congo 9.2%, Sweden 8.2%, China 7.5%, Uganda 7%, Egypt 5.9%, Belgium 4.4%, France 4.4% (2013) |
| Cabo Verde |
Spain 56%, Portugal 19.4%, India 5.3%, Italy 4.8% (2013) |
| Cambodia |
US 28.6%, UK 8.8%, Germany 8.5%, Canada 7.6%, Japan 5.9%, Vietnam 5.2% (2013) |
| Cameroon |
Portugal 18.5%, Spain 10%, Netherlands 8.4%, US 6.4%, China 6.3%, India 5.1%, France 4.5% (2013) |
| Canada |
US 75.8%, China 4.3% (2013) |
| Central African Republic |
China 30.3%, Belgium 18.9%, Democratic Republic of the Congo 10.7%, Indonesia 9.6%, Morocco 5.2% (2013) |
| Chad |
US 80.7%, Japan 5.9%, India 4.6% (2013) |
| Chile |
China 24.9%, US 12.8%, Japan 9.9%, Brazil 5.8%, South Korea 5.5% (2013) |
| China |
Hong Kong 17.4%, US 16.7%, Japan 6.8%, South Korea 4.1% (2013) |
| Colombia |
US 31%, China 9%, Panama 6%, India 5%, Spain 5% (2013) |
| Comoros |
India 15.1%, Singapore 15%, France 14.9%, Netherlands 12.9%, Turkey 11.9%, US 5.7%, Saudi Arabia 5.4%, Germany 4.2% (2013) |
| Congo, Democratic Republic of the |
China 43.7%, Zambia 21.1%, Italy 11%, Belgium 4.8% (2013) |
| Congo, Republic of the |
China 53.8%, US 11.1%, Australia 9.4%, France 5.3% (2013) |
| Costa Rica |
US 31.9%, China 12.6%, Mexico 9.3%, UK 8.6%, Hong Kong 5.2%, Netherlands 5.1%, Malaysia 4.5% (2013) |
| Cote d'Ivoire |
Ghana 8.8%, Netherlands 8.5%, Nigeria 8.4%, US 6.8%, Germany 6.1%, Gabon 5.7%, France 5.1%, Belgium 4.5% (2013) |
| Croatia |
Italy 14.1%, Bosnia and Herzegovina 13.2%, Germany 11%, Slovenia 10.1%, Austria 6.2%, Serbia 4.3% (2013) |
| Cuba |
Canada 16%, China 15.2%, Venezuela 14.2%, Spain 7.5%, Netherlands 5.6% (2013) |
| Cyprus |
Greece 17.6%, UK 14.6% (2013) |
| Czech Republic |
Germany 31.7%, Slovakia 9%, Poland 6%, France 5%, UK 4.9%, Austria 4.6% (2013) |
| Denmark |
Germany 17.3%, Sweden 12.4%, UK 8.9%, US 6.2%, Norway 6.2%, Netherlands 4.7% (2013) |
| Djibouti |
Somalia 81.2%, UAE 4.7%, Yemen 4.2% (2013) |
| Dominica |
Japan 41.6%, Jamaica 9.4%, Antigua and Barbuda 8.7%, Guyana 7.3%, Trinidad and Tobago 4.7% (2013) |
| Dominican Republic |
US 38.9%, Haiti 16%, Canada 11.8% (2013) |
| Ecuador |
US 44.6%, Chile 9.9%, Peru 7.5% (2013) |
| Egypt |
Italy 6.7%, India 6.5%, Saudi Arabia 6.1%, China 5%, Germany 4.8%, Libya 4.8%, US 4.5%, Turkey 4.4%, France 4.2% (2013) |
| El Salvador |
US 43.6%, Honduras 14.5%, Guatemala 13%, Nicaragua 6%, Costa Rica 4.2% (2013) |
| Equatorial Guinea |
China 18%, Japan 14.9%, UK 13.5%, France 11.1%, Brazil 7.8%, Spain 7.8%, US 6.7%, Norway 4.2%, Netherlands 4.2% (2013) |
| Estonia |
Sweden 17.4%, Finland 16.6%, Russia 11.7%, Latvia 10.7%, Lithuania 6%, Germany 4.7% (2013) |
| Ethiopia |
China 13%, Saudi Arabia 8.3%, Germany 8.3%, US 8.1%, Belgium 7.1% (2013) |
| Faroe Islands |
UK 25.2%, Denmark 20.2%, Nigeria 12.7%, US 11.1%, Netherlands 5.8%, Russia 5.7%, China 5.7% (2013) |
| Fiji |
US 12.4%, Australia 11.3%, Samoa 6.1%, Tonga 5.4%, UK 5.2% (2013) |
| Finland |
Sweden 11.6%, Germany 9.8%, Russia 9.5%, Netherlands 6.3%, US 6.2%, UK 5.3%, China 4.9% (2013) |
| France |
Germany 16.6%, Belgium 7.8%, Italy 7.2%, UK 7%, Spain 6.9%, US 5.8%, Netherlands 4.1% (2013) |
| Gabon |
Japan 21.7%, US 10.7%, Australia 9.7%, India 8.8%, China 8.5%, Spain 6.3%, France 4.3%, Trinidad and Tobago 4.2% (2013) |
| Gambia, The |
China 57%, India 23.2% (2013) |
| Georgia |
Azerbaijan 24.3%, Armenia 9%, Turkey 7%, Ukraine 6.3%, Bulgaria 5.6%, US 5.1%, Russia 4.4%, Germany 4.1% (2013) |
| Germany |
France 9.8%, UK 7.4%, Netherlands 6.9%, US 6.4%, Austria 5.5%, China 5.4%, Italy 5.2%, Switzerland 4.6%, Poland 4.1%, Belgium 4.1% (2013) |
| Ghana |
France 12%, Italy 9.3%, China 8.2%, Netherlands 7.6%, Germany 4.4%, UK 4.3%, South Africa 4.2%, US 4% (2013) |
| Greece |
Turkey 11.6%, Italy 8.9%, Germany 6.5%, Bulgaria 5.3%, Cyprus 4.5% (2013) |
| Greenland |
Denmark 61.3%, Japan 11.6%, China 9.3% (2013) |
| Grenada |
Nigeria 40%, St. Lucia 10.3%, Antigua and Barbuda 7%, US 6.4%, St. Kitts and Nevis 6.3%, Dominica 6.2%, Malaysia 5.9% (2013) |
| Guatemala |
US 37.2%, El Salvador 8.7%, Honduras 7.8%, Mexico 5%, Nicaragua 4.8%, Costa Rica 4.3% (2013) |
| Guinea-Bissau |
India 55.6%, Nigeria 28.1%, China 7.1%, Togo 5.8% (2013) |
| Guinea |
India 26.6%, South Korea 7.7%, Spain 7.4%, Ireland 5.5%, Ukraine 5.2%, US 4.8%, Germany 4.7% (2013) |
| Guyana |
Canada 30.4%, US 27.6%, UK 6.4%, Trinidad and Tobago 4.2% (2013) |
| Haiti |
US 83.5% (2013) |
| Honduras |
US 54.1%, El Salvador 5.8%, Mexico 5.4%, Germany 4.3% (2013) |
| Hong Kong |
China 54.8%, US 9.3% (2013) |
| Hungary |
Germany 26.7%, Romania 5.8%, Austria 5.7%, Slovakia 5.4%, Italy 4.9%, France 4.6%, UK 4.1%, Poland 4% (2013) |
| Iceland |
Netherlands 30%, Germany 12.1%, UK 9.5%, Norway 4.7%, US 4.7%, France 4.7% (2013) |
| India |
US 12.4%, UAE 10.2%, China 4.7%, Singapore 4.3%, Hong Kong 4.1% (2013) |
| Indonesia |
Japan 14.8%, China 12.4%, Singapore 9.1%, US 8.6%, India 7.1%, South Korea 6.3%, Malaysia 5.8% (2013) |
| Iran |
China 26.8%, Turkey 11%, India 10.6%, Japan 7.3%, South Korea 5.9% (2013) |
| Iraq |
India 22.2%, China 19.6%, US 14.6%, South Korea 10.1%, Greece 5.2%, Italy 4.3% (2013) |
| Ireland |
US 19.6%, UK 16.9%, Belgium 13.7%, Germany 7.7%, Switzerland 6.3%, France 4.9%, Netherlands 4.5% (2013) |
| Israel |
US 26.5%, Hong Kong 8.1%, UK 5.9%, Belgium 4.7%, China 4.3% (2013) |
| Italy |
Germany 12.6%, France 11%, US 6.7%, Switzerland 5.1%, UK 5.1%, Spain 4.5% (2013) |
| Jamaica |
US 29.4%, Canada 14.8%, Netherlands 7.7%, UK 6%, UAE 5.8%, Slovenia 4.9%, Russia 4.3% (2013) |
| Japan |
US 18.8%, China 18.1%, South Korea 7.9%, Hong Kong 5.2%, Thailand 5% (2013) |
| Jordan |
Iraq 18.4%, US 17.6%, Saudi Arabia 13.6%, India 7.3%, UAE 4% (2013) |
| Kazakhstan |
China 22.7%, France 9.7%, Russia 8%, Germany 7.9%, Italy 6.9%, Ukraine 4.2% (2013) |
| Kenya |
Uganda 13%, Tanzania 8.9%, Netherlands 7.1%, US 6.6%, UK 6.3%, UAE 5.9%, Pakistan 4.6%, Egypt 4.1% (2013) |
| Korea, North |
China 76%, South Korea 16% (2013) |
| Korea, South |
China 26.1%, US 11.1%, Japan 6.2%, Hong Kong 5% (2013) |
| Kosovo |
Italy 25.8%, Albania 14.6%, Macedonia 9.6%, China 5.5%, Gernamy 5.4%, Switzerland 5.4%, Turkey 4.1% (2012 est.) |
| Kuwait |
South Korea 17.1%, India 16%, Japan 12.3%, US 11.7%, China 8.8% (2013) |
| Kyrgyzstan |
Kazakhstan 28.2%, Uzbekistan 28%, Russia 11.1%, UAE 6.9%, Afghanistan 5.5%, China 5% (2013) |
| Laos |
Thailand 33.3%, China 25.1%, Vietnam 11.5% (2013) |
| Latvia |
Lithuania 16.1%, Russia 16.1%, Estonia 12%, Germany 7%, Poland 6.7%, Sweden 4.8% (2013) |
| Lebanon |
United Arab Emerates 10.8%, Saudi Arabia 9.6%, Iraq 9.3%, South Africa 7.4%, Syria 5.8% (2013) |
| Liberia |
China 18.9%, US 11.1%, Spain 10.6%, France 8.8%, Algeria 7.9%, Poland 6.8%, Germany 5.6%, Canada 4.2% (2013) |
| Libya |
Italy 20.2%, Germany 15.1%, France 10.5%, US 6.3%, Spain 6.3%, Netherlands 5.2%, China 5%, UK 4.6% (2013) |
| Lithuania |
Russia 20%, Latvia 10.1%, Estonia 7.6%, Poland 7.5%, Germany 7.2%, Belarus 5.2%, UK 5%, Netherlands 4.4% (2013) |
| Luxembourg |
Germany 22.6%, France 15.9%, Belgium 15.8%, Italy 7.3%, Switzerland 4.5% (2013) |
| Macau |
Hong Kong 53.4%, China 17.6%, United States 4% (2013) |
| Macedonia |
Germany 32.7%, Kosovo 12.5%, Italy 6.3%, Bulgaria 6.1%, Serbia 5.6%, Greece 4.2% (2013) |
| Madagascar |
France 21.6%, US 8.6%, China 8.2%, Netherlands 5.3%, Germany 5.1%, Canada 4.9%, Belgium 4.5%, Japan 4.4%, South Africa 4.1% (2013) |
| Malawi |
Canada 12.4%, Zimbabwe 9.4%, South Africa 6.7%, US 6.4%, Russia 6.3%, Zambia 6.1%, Germany 6.1%, South Korea 4.3% (2013) |
| Malaysia |
China 14.1%, Singapore 13.9%, Japan 10.9%, US 8.2%, Thailand 5.4%, Indonesia 4.5%, Hong Kong 4.2% (2013) |
| Maldives |
United Arab Emirates 28%, Singapore 16%, India 9%, Sri Lanka 6%, Thailand 5% (2013) |
| Mali |
China 30.5%, India 15.1%, Indonesia 8.6%, Bangladesh 6.3%, Thailand 5.6% (2013) |
| Malta |
Germany 12.7%, Singapore 10.2%, France 8.7%, Hong Kong 7.5%, US 5.7%, Italy 5.7%, Japan 4.7%, Libya 4.4% (2013) |
| Mauritania |
China 55.4%, Italy 8.1%, Japan 4.7%, US 4.2% (2013) |
| Mauritius |
UK 16.9%, France 15%, US 10.1%, Italy 8.9%, South Africa 8.4%, Madagascar 6.2%, Spain 5.8% (2013) |
| Mexico |
US 78.8% (2013) |
| Moldova |
Russia 18.3%, Romania 16.7%, Turkey 10.1%, Italy 9.6%, Germany 5.6%, Ukraine 5% (2013) |
| Monaco |
Europe 73.2%, Africa 14.6%, America 5.2%, Asia 4.9% (2013 est.) |
| Mongolia |
China 90% (2013) |
| Montenegro |
Croatia 22.7%, Serbia 22.7%, Slovenia 7.8% (2012 est.) |
| Morocco |
France 20.9%, Spain 19.9%, Brazil 5.8%, US 4% (2013) |
| Mozambique |
South Africa 30.5%, Italy 9.8%, China 9.4%, Belgium 8%, Spain 6.1%, India 5.1% (2013) |
| Nepal |
India 53.7%, US 9.2%, China 4.9%, Germany 4.2%, Bangladesh 4.2% (2013) |
| Netherlands |
Germany 25.9%, Belgium 13.2%, France 8.8%, UK 8.6%, Italy 4.6% (2013) |
| New Caledonia |
Japan 16%, France 15%, South Korea 14%, Australia 9%, Belgium-Luxembourg 5%, United States 4% (2013) |
| New Zealand |
China 20.8%, Australia 19%, US 8.5%, Japan 5.9% (2013) |
| Nicaragua |
US 50.1%, Mexico 12.2%, Canada 7.6%, Venezuela 7.4% (2013) |
| Nigeria |
India 12.8%, US 11.1%, Brazil 10%, Spain 7.1%, Netherlands 7%, Germany 5.1%, France 4.7%, UK 4.5%, South Africa 4.2% (2013) |
| Niger |
Nigeria 54.2%, South Korea 26.2%, Ghana 6.7% (2013) |
| Norway |
UK 24.5%, Netherlands 13.1%, Germany 12.9%, France 6.6%, Sweden 5.8%, US 4.5% (2013) |
| Oman |
China 38.2%, Japan 10.3%, UAE 10%, South Korea 8.7%, India 5.6% (2013) |
| Pakistan |
US 15%, China 9.6%, Afghanistan 7.5%, UK 6.3%, Germany 4.6% (2013) |
| Panama |
Ecuador 33.9%, US 11.4%, Japan 8.8% (2013) |
| Papua New Guinea |
Australia 26.2%, Japan 7.2%, China 6.6% (2013) |
| Paraguay |
Brazil 30%, Russia 10%, Argentina 9.3%, Chile 5.3% (2013) |
| Peru |
US 18.4%, China 17.8%, Canada 7%, Japan 5.2%, Brazil 4.3%, Switzerland 4.3%, Spain 4.2%, South Korea 4% (2013) |
| Philippines |
Japan 21.2%, US 14.5%, China 12.2%, Hong Kong 8.2%, Singapore 7.4%, South Korea 5.8%, Germany 4% (2013) |
| Poland |
Germany 26%, UK 6.8%, Czech Republic 6.4%, France 5.8%, Russia 5.3%, Italy 4.5%, Netherlands 4.1% (2013) |
| Portugal |
Spain 23.9%, Germany 11.7%, France 11.7%, Angola 6.5%, UK 5.5%, US 4.1%, Netherlands 4.1% (2013) |
| Qatar |
Japan 26.7%, South Korea 19%, India 12.1%, Singapore 5.7%, China 5.4% (2013) |
| Romania |
Germany 18.9%, Italy 11.7%, France 6.9%, Turkey 5.2%, Hungary 5%, UK 4.2% (2013) |
| Russia |
Netherlands 10.7%, Germany 8.2%, China 6.8%, Italy 5.5%, Ukraine 5%, Turkey 4.9%, Belarus 4.1%, Japan 4% (2013) |
| Rwanda |
China 24.2%, Democratic Republic of the Congo 17%, Malaysia 13.4%, Swaziland 6.8%, US 5.5%, Pakistan 5.3% (2013) |
| Saint Kitts and Nevis |
US 49.8%, Belgium 9.2%, Canada 8.3% (2013) |
| Saint Lucia |
Dominican Republic 29.6%, US 10.5%, UK 7.5%, Peru 7.5%, Antigua and Barbuda 7.2%, Dominica 7%, Barbados 6.3%, Trinidad and Tobago 5.8%, Grenada 4.8% (2013) |
| Saint Vincent and the Grenadines |
Trinidad and Tobago 13.4%, St. Lucia 11.9%, Turkey 10%, Barbados 9.9%, Dominica 7.8%, Grenada 7.5%, Antigua and Barbuda 6.7%, Greece 5.6%, Switzerland 5.6%, Italy 4.9%, Croatia 4.2% (2013) |
| Samoa |
American Samoa 42.4%, Australia 19.1% (2013) |
| San Marino |
Italy 82.3% (2012 est.) |
| Sao Tome and Principe |
Netherlands 30.5%, Belgium 20.4%, Spain 9.8%, Nigeria 7.4%, Turkey 7.3% (2013) |
| Saudi Arabia |
China 13.9%, US 13.6%, Japan 13%, South Korea 9.8%, India 9.5% (2013) |
| Senegal |
Mali 14.9%, Switzerland 9.6%, India 7.9%, Guinea 4.5%, France 4.4% (2013) |
| Seychelles |
France 27%, UK 19.1%, Italy 11%, Japan 9.1%, Mauritius 7.7%, Spain 4.1% (2013) |
| Sierra Leone |
China 78.5%, Belgium 8.8% (2013) |
| Singapore |
Malaysia 12.2%, China 11.8%, Hong Kong 11.2%, Indonesia 9.9%, US 5.8%, Japan 4.3%, South Korea 4.1% (2013) |
| Slovakia |
Germany 22.3%, Czech Republic 14.5%, Poland 9%, Hungary 6.9%, Austria 6.5%, France 5.4%, UK 4.9%, Italy 4.8% (2013) |
| Slovenia |
Germany 19.5%, Italy 11.5%, Austria 8.1%, Croatia 6%, Russia 4.6%, France 4.6%, Hungary 4.1%, Slovakia 4.1% (2013) |
| Solomon Islands |
China 55.5%, Australia 13.6%, Italy 4.3% (2013) |
| Somalia |
UAE 50.1%, Yemen 16.5%, Oman 12.6%, India 4.8% (2013) |
| South Africa |
China 32%, US 6.5%, Japan 5%, India 4.7% (2013) |
| Spain |
France 16.7%, Germany 10.5%, Portugal 7.8%, Italy 7.3%, UK 7% (2013) |
| Sri Lanka |
US 21.8%, UK 8.3%, India 4.5%, Germany 4.2% (2013) |
| Sudan |
UAE 33.6%, China 31.5%, Japan 6.5%, Saudi Arabia 4.9%, India 4.6% (2013) |
| Suriname |
US 25.5%, Belgium 16.7%, UAE 13%, Canada 10.6%, Guyana 6.1%, France 5.4%, Barbados 4.4% (2013) |
| Sweden |
Norway 10.6%, Germany 10.5%, Finland 7.4%, Denmark 7.1%, UK 6.9%, Netherlands 5.6%, US 5.5%, Belgium 5.3%, France 4.8% (2013) |
| Switzerland |
Germany 18.5%, US 11.7%, Italy 7.1%, France 7%, UK 5.2%, China 4.1% (2013) |
| Syria |
Iraq 59.9%, Saudi Arabia 10%, Kuwait 6.5%, UAE 5.6%, Libya 4.3% (2013) |
| Taiwan |
China 27.1%, Hong Kong 13.2%, US 10.3%, Japan 6.4%, Singapore 4.4% (2013 est.) |
| Tajikistan |
Turkey 35.3%, Iran 9%, China 8.4%, Bangladesh 6.9%, Kazakhstan 6.8%, Afghanistan 6.7%, Russia 5.9% (2013) |
| Tanzania |
India 20%, China 13.3%, Japan 4.7%, UAE 4.4%, Kenya 4.2% (2013) |
| Thailand |
China 11.9%, US 10.1%, Japan 9.7%, Hong Kong 5.8%, Malaysia 5.7%, Singapore 4.9%, Indonesia 4.8%, Australia 4.5% (2013) |
| Togo |
Lebanon 11.7%, India 10.7%, China 9%, Burkina Faso 8.5%, Benin 8.3%, Belgium 6.5%, Niger 6.4%, Ghana 4.9%, Nigeria 4.3% (2013) |
| Tonga |
NZ 17.7%, South Korea 16.1%, US 12.1%, Fiji 11.3%, Samoa 9.5%, Japan 9.2%, Australia 9%, American Samoa 6%, Hong Kong 4.3% (2013) |
| Trinidad and Tobago |
US 31.8%, Argentina 9.6%, Brazil 8%, Netherlands 5.1%, Chile 5%, Spain 4.4% (2013) |
| Tunisia |
France 25.4%, Italy 16%, Germany 9.6%, Libya 8.1%, US 4.1% (2013) |
| Turkey |
Germany 9%, Iraq 7.6%, UK 5.7%, Russia 4.6%, Italy 4.5%, France 4.2% (2013) |
| Turkmenistan |
China 68.3%, Turkey 5% (2013) |
| Uganda |
UAE 10.9%, Rwanda 10.3%, Democratic Republic of the Congo 9.4%, Kenya 9.4%, Germany 6.1%, Netherlands 5.4%, Italy 4.4%, Belgium 4.3% (2013) |
| Ukraine |
Russia 24.2%, Turkey 6%, Egypt 4.4%, China 4.3% (2013) |
| United Arab Emirates |
Japan 14.6%, India 11.4%, Iran 10.5%, South Korea 6.2%, Thailand 5.9%, Singapore 5.7%, China 4.4% (2013) |
| United Kingdom |
Switzerland 13.8%, Germany 9%, US 8.8%, Netherlands 7.6%, France 6.4%, Ireland 5.7%, Belgium 4.3% (2013) |
| United States |
Canada 19%, Mexico 14.3%, China 7.7%, Japan 4.1% (2013) |
| Uruguay |
China 21.9%, Brazil 17.3%, Argentina 4.8%, Germany 4.2% (2013) |
| Uzbekistan |
China 28%, Russia 19.3%, Kazakhstan 12.6%, Turkey 11.9%, Bangladesh 8.2% (2013) |
| Vanuatu |
Thailand 68.2%, Japan 15.7% (2013) |
| Venezuela |
US 34.3%, India 15.9%, China 14%, Netherlands Antilles 8.4%, Singapore 6%, Cuba 4.9% (2013) |
| Vietnam |
US 17.6%, China 11.8%, Japan 9.9%, South Korea 5%, Germany 4.4%, Malaysia 4.2% (2013) |
| Yemen |
China 29.4%, South Korea 16%, Thailand 14.7%, India 8.8%, Japan 6.1%, UAE 5% (2013) |
| Zambia |
China 38.7%, South Africa 11.6%, Democratic Republic of the Congo 10.5%, Zimbabwe 6.2% (2013) |
| Zimbabwe |
China 23.4%, South Africa 14.4%, Democratic Republic of the Congo 12%, Botswana 10.7% (2013) |


Take control of your communication.
Enter your review below and have it analyzed
Let the 🤖 analyze your text
Please provide your movie review.


documents = []
with codecs.open(fnm, "rb", "ascii") as f:
line = f.readline()
while line != "":
documents.append(Text(json.loads(line)))
line = f.readline()
return documents
-------
list of Text
return [text for text in yield_json_corpus(fnm)]
def write_json_corpus(documents, fnm):
Write a lisst of Text instances as JSON corpus on disk.


Thank you for choosing vitalpointz Secure IoT Core/Core Lite edition.
This document will walk you through the installation and bring up of the vitalpointz Secure IoT Core/Core Lite in a DigitalOcean droplet. Please refer to User Manual for concepts and how to use vitalpointz IoT Core/Core Lite software.For all Management related information, refer to CLI User guide.
Get $50,1 year Free Credit!
Software release available under DigitalOcean’s marketplace and its minimum resource requirement are provided below
Software Edition : Vitalpointz Secure IoT Core Lite v1.0.1
Min.Resource Requirement : Droplet with 2Core, 4GB RAM and 80GB Disk
Note: Every new instance comes loaded with 1024 device licenses. This means upto 1024 devices can be added and on-boarded on the IoT software without purchasing additional license.
a) Login to your DigitalOcean cloud account. And click 'Markerplace'.
b) Select vitalpointz IoT Core Lite card and click on ‘Create Droplet’
c) Select the droplet resource sizing. A standard droplet with 2 Core CPU & 4GB RAM is the smallest IoT Core lite needs.
d) Adding Block storage is optional.
e) Select the datacenter region of your preference.
f) Select additional options as below
g) Select a SSH Key if you have one already or create your own SSH key and upload it. You can find tutorial on how to create your own SSH Key and upload here
Note: Keep your SSH key safe and handy. It is required to setup the IoT Service (step.2)
h) Create droplet
Enter One Droplet and provide the host name of your choice.
Click Create.
a) The droplet is listed once the droplet is ready.
copy the IP address of the droplet.
b) login to droplet from your console using SSH.
type 'yes' when prompted by SSH.
c) The SSH shell presents customized Shell of vitalpointz secure IoT Core/Core Lite.
type Install to install the IoT Core/Core Lite Software.
d) Accept EULA by typing 'yes' when prompted.
e) Follow the prompt and provide questions. short organization name will be used to construct web address for your instance IoT Core/Core Lite.
f) Enter 'yes' to allow vitalpointz to monitor the performance of the IoT core/Core Lite instance and also to provide periodic software updates and certificate management services.
g) Review your entries one last time before setting up the service
type 'yes'.
h) When Installation and setting up services are completed, following info will be displayed.
Now, the your instance of IoT Core/Core Lite is available on the given link. Check your registered Email for invite mail with first login credential.
i) Enter the URL provided in your browser. Use the registered Email and password sent on email to login.
j) You will be prompted to change the password.
k) Now the platform is ready for use.
vitalpointz is a software maker that specializes on developing and offering IoT platform softwares & services. IoT Devices and sensors can be registered on the IoT Platform and on-boarded securely. IoT devices can send or receive data securely, application can be built, Over-the Air software updates can be rolled out to the devices at scale. Vitalpointz IoT Platform also provides various interface methods to transfer the data to external third-party tools and platforms, if so desired. Vitalpointz IoT Platform also bundles various device agents.
For more information about our product please check our product documentation here.
If you have any enquires, reach out to us via email : info@vitalpointz.net


Admin
Applicant
Locator
Home
Job Postings
FAQs
About Us
Login
arrow_drop_down
Admin
Applicant
Locator
Home
Job Postings
FAQs
About Us
Login
arrow_drop_down
Job Post


---
layout: a-frame
title: Lick the Whisk
description: Scene for viewing recipes
image: https://cdn-images-1.medium.com/max/1600/1*5C86U-OZFf4eYedrsIEjqw.png
scripts: [
# A-Frame
'/a-frame-demos/aframe.min.js', # A-Frame 0.3
# Required to load the demo model
'https://cdn.rawgit.com/mrdoob/three.js/r79/examples/js/loaders/BinaryLoader.js',
# JSON loader
'https://cdn.rawgit.com/donmccurdy/aframe-extras/v2.3.0/dist/aframe-extras.loaders.min.js'
]
---


Castlevania: Symphony of the Night
Released in 1997, Castlevania: Symphony of the Night featured a large non-linear map with many upgrades hidden throughout. Unlike Metroid, Castlevania also implemented an RPG system with experience points and leveling up that gave useful bonuses alongside the different items you obtained (“Castlevania: Symphony of the Night (Game)”).


--- layout: post title: "読書スタック" categories: - blog tags: - Blog - "徒然" status: publish type: post published: true meta: {} author: login: sonson email<EMAIL_ADDRESS>display_name: sonson first_name: '' last_name: '' ---


pySerial API¶
Classes¶
Native ports¶
-
class
serial.
Serial
¶ -
__init__
(port=None, baudrate=9600, bytesize=EIGHTBITS, parity=PARITY_NONE, stopbits=STOPBITS_ONE, timeout=None, xonxoff=False, rtscts=False, write_timeout=None, dsrdtr=False, inter_byte_timeout=None, exclusive=None)¶ Parameters: - port – Device name or
None
. - baudrate (int) – Baud rate such as 9600 or 115200 etc.
- bytesize – Number of data bits. Possible values:
FIVEBITS
,SIXBITS
,SEVENBITS
,EIGHTBITS
- parity – Enable parity checking. Possible values:
PARITY_NONE
,PARITY_EVEN
,PARITY_ODD
PARITY_MARK
,PARITY_SPACE
- stopbits – Number of stop bits. Possible values:
STOPBITS_ONE
,STOPBITS_ONE_POINT_FIVE
,STOPBITS_TWO
- timeout (float) – Set a read timeout value.
- xonxoff (bool) – Enable software flow control.
- rtscts (bool) – Enable hardware (RTS/CTS) flow control.
- dsrdtr (bool) – Enable hardware (DSR/DTR) flow control.
- write_timeout (float) – Set a write timeout value.
- inter_byte_timeout (float) – Inter-character timeout,
None
to disable (default). - exclusive (bool) – Set exclusive access mode (POSIX only). A port cannot be opened in exclusive access mode if it is already open in exclusive access mode.
Raises: - ValueError – Will be raised when parameter are out of range, e.g. baud rate, data bits.
- SerialException – In case the device can not be found or can not be configured.
The port is immediately opened on object creation, when a port is given. It is not opened when port is
None
and a successive call toopen()
is required.port is a device name: depending on operating system. e.g.
/dev/ttyUSB0
on GNU/Linux orCOM3
on Windows.The parameter baudrate can be one of the standard values: 50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 57600, 115200. These are well supported on all platforms.
Standard values above 115200, such as: 230400, 460800, 500000, 576000, 921600, 1000000, 1152000, 1500000, 2000000, 2500000, 3000000, 3500000, 4000000 also work on many platforms and devices.
Non-standard values are also supported on some platforms (GNU/Linux, MAC OSX >= Tiger, Windows). Though, even on these platforms some serial ports may reject non-standard values.
Possible values for the parameter timeout which controls the behavior of
read()
:timeout = None
: wait forever / until requested number of bytes are receivedtimeout = 0
: non-blocking mode, return immediately in any case, returning zero or more, up to the requested number of bytestimeout = x
: set timeout tox
seconds (float allowed) returns immediately when the requested number of bytes are available, otherwise wait until the timeout expires and return all bytes that were received until then.
write()
is blocking by default, unless write_timeout is set. For possible values refer to the list for timeout above.Note that enabling both flow control methods (xonxoff and rtscts) together may not be supported. It is common to use one of the methods at once, not both.
dsrdtr is not supported by all platforms (silently ignored). Setting it to
None
has the effect that its state follows rtscts.Also consider using the function
serial_for_url()
instead of creating Serial instances directly.Changed in version 2.5: dsrdtr now defaults to
False
(instead of None)Changed in version 3.0: numbers as port argument are no longer supported
New in version 3.3:
exclusive
flag- port – Device name or
-
close
()¶ Close port immediately.
-
__del__
()¶ Destructor, close port when serial port instance is freed.
The following methods may raise
SerialException
when applied to a closed port.-
read
(size=1)¶ Parameters: size – Number of bytes to read. Returns: Bytes read from the port. Return type: bytes Read size bytes from the serial port. If a timeout is set it may return less characters as requested. With no timeout it will block until the requested number of bytes is read.
-
read_until
(expected=LF, size=None)¶ Parameters: - expected – The byte string to search for.
- size – Number of bytes to read.
Returns: Bytes read from the port.
Return type: Read until an expected sequence is found (‘\n’ by default), the size is exceeded or until timeout occurs. If a timeout is set it may return less characters as requested. With no timeout it will block until the requested number of bytes is read.
-
write
(data)¶ Parameters: data – Data to send. Returns: Number of bytes written. Return type: int Raises: SerialTimeoutException – In case a write timeout is configured for the port and the time is exceeded. Write the bytes data to the port. This should be of type
bytes
(or compatible such asbytearray
ormemoryview
). Unicode strings must be encoded (e.g.'hello'.encode('utf-8'
).
Changed in version 2.5: Accepts instances of
bytes
andbytearray
when available (Python 2.6 and newer) andstr
otherwise.Changed in version 2.5: Write returned
None
in previous versions.-
flush
()¶ Flush of file like objects. In this case, wait until all data is written.
-
in_waiting
¶ Getter: Get the number of bytes in the input buffer Type: int Return the number of bytes in the receive buffer.
Changed in version 3.0: changed to property from
inWaiting()
-
out_waiting
¶ Getter: Get the number of bytes in the output buffer Type: int Platform: Posix Platform: Windows Return the number of bytes in the output buffer.
Changed in version 2.7: (Posix support added)
Changed in version 3.0: changed to property from
outWaiting()
-
reset_input_buffer
()¶ Flush input buffer, discarding all its contents.
Changed in version 3.0: renamed from
flushInput()
-
reset_output_buffer
()¶ Clear output buffer, aborting the current output and discarding all that is in the buffer.
Note, for some USB serial adapters, this may only flush the buffer of the OS and not all the data that may be present in the USB part.
Changed in version 3.0: renamed from
flushOutput()
-
send_break
(duration=0.25)¶ Parameters: duration (float) – Time to activate the BREAK condition. Send break condition. Timed, returns to idle state after given duration.
-
break_condition
¶ Getter: Get the current BREAK state Setter: Control the BREAK state Type: bool When set to
True
activate BREAK condition, else disable. Controls TXD. When active, no transmitting is possible.
-
rts
¶ Setter: Set the state of the RTS line Getter: Return the state of the RTS line Type: bool Set RTS line to specified logic level. It is possible to assign this value before opening the serial port, then the value is applied upon
open()
(with restrictions, seeopen()
).
-
dtr
¶ Setter: Set the state of the DTR line Getter: Return the state of the DTR line Type: bool Set DTR line to specified logic level. It is possible to assign this value before opening the serial port, then the value is applied upon
open()
(with restrictions, seeopen()
).
Read-only attributes:
-
name
¶ Getter: Device name. Type: str New in version 2.5.
-
cts
¶ Getter: Get the state of the CTS line Type: bool Return the state of the CTS line.
-
dsr
¶ Getter: Get the state of the DSR line Type: bool Return the state of the DSR line.
-
ri
¶ Getter: Get the state of the RI line Type: bool Return the state of the RI line.
-
cd
¶ Getter: Get the state of the CD line Type: bool Return the state of the CD line
-
is_open
¶ Getter: Get the state of the serial port, whether it’s open. Type: bool
New values can be assigned to the following attributes (properties), the port will be reconfigured, even if it’s opened at that time:
-
port
¶ Type: str Read or write port. When the port is already open, it will be closed and reopened with the new setting.
-
baudrate
¶ Getter: Get current baud rate Setter: Set new baud rate Type: int Read or write current baud rate setting.
-
bytesize
¶ Getter: Get current byte size Setter: Set new byte size. Possible values: FIVEBITS
,SIXBITS
,SEVENBITS
,EIGHTBITS
Type: int Read or write current data byte size setting.
-
parity
¶ Getter: Get current parity setting Setter: Set new parity mode. Possible values: PARITY_NONE
,PARITY_EVEN
,PARITY_ODD
PARITY_MARK
,PARITY_SPACE
Read or write current parity setting.
-
stopbits
¶ Getter: Get current stop bit setting Setter: Set new stop bit setting. Possible values: STOPBITS_ONE
,STOPBITS_ONE_POINT_FIVE
,STOPBITS_TWO
Read or write current stop bit width setting.
-
timeout
¶ Getter: Get current read timeout setting Setter: Set read timeout Type: float (seconds) Read or write current read timeout setting.
-
write_timeout
¶ Getter: Get current write timeout setting Setter: Set write timeout Type: float (seconds) Read or write current write timeout setting.
Changed in version 3.0: renamed from
writeTimeout
-
inter_byte_timeout
¶ Getter: Get current inter byte timeout setting Setter: Disable ( None
) or enable the inter byte timeoutType: float or None Read or write current inter byte timeout setting.
Changed in version 3.0: renamed from
interCharTimeout
-
xonxoff
¶ Getter: Get current software flow control setting Setter: Enable or disable software flow control Type: bool Read or write current software flow control rate setting.
-
rtscts
¶ Getter: Get current hardware flow control setting Setter: Enable or disable hardware flow control Type: bool Read or write current hardware flow control setting.
-
dsrdtr
¶ Getter: Get current hardware flow control setting Setter: Enable or disable hardware flow control Type: bool Read or write current hardware flow control setting.
-
rs485_mode
¶ Getter: Get the current RS485 settings Setter: Disable ( None
) or enable the RS485 settingsType: rs485.RS485Settings
orNone
Platform: Posix (Linux, limited set of hardware) Platform: Windows (only RTS on TX possible) Attribute to configure RS485 support. When set to an instance of
rs485.RS485Settings
and supported by OS, RTS will be active when data is sent and inactive otherwise (for reception). Thers485.RS485Settings
class provides additional settings supported on some platforms.New in version 3.0.
The following constants are also provided:
-
BAUDRATES
¶ A list of valid baud rates. The list may be incomplete, such that higher and/or intermediate baud rates may also be supported by the device (Read Only).
-
BYTESIZES
¶ A list of valid byte sizes for the device (Read Only).
-
PARITIES
¶ A list of valid parities for the device (Read Only).
-
STOPBITS
¶ A list of valid stop bit widths for the device (Read Only).
The following methods are for compatibility with the
io
library.-
readable
()¶ Returns: True New in version 2.5.
-
writable
()¶ Returns: True New in version 2.5.
-
seekable
()¶ Returns: False New in version 2.5.
-
readinto
(b)¶ Parameters: b – bytearray or array instance Returns: Number of byte read Read up to len(b) bytes into
bytearray
b and return the number of bytes read.New in version 2.5.
-
readline
(size=-1)¶ Provided via
io.IOBase.readline()
-
readlines
(hint=-1)¶ Provided via
io.IOBase.readlines()
-
writelines
(lines)¶ Provided via
io.IOBase.writelines()
The port settings can be read and written as dictionary. The following keys are supported:
write_timeout
,inter_byte_timeout
,dsrdtr
,baudrate
,timeout
,parity
,bytesize
,rtscts
,stopbits
,xonxoff
-
get_settings
()¶ Returns: a dictionary with current port settings. Return type: dict Get a dictionary with port settings. This is useful to backup the current settings so that a later point in time they can be restored using
apply_settings()
.Note that the state of control lines (RTS/DTR) are not part of the settings.
New in version 2.5.
Changed in version 3.0: renamed from
getSettingsDict
-
apply_settings
(d)¶ Parameters: d (dict) – a dictionary with port settings. Applies a dictionary that was created by
get_settings()
. Only changes are applied and when a key is missing, it means that the setting stays unchanged.Note that control lines (RTS/DTR) are not changed.
New in version 2.5.
Changed in version 3.0: renamed from
applySettingsDict
This class can be used as context manager. The serial port is closed when the context is left.
-
__enter__
()¶ Returns: Serial instance Returns the instance that was used in the
with
statement.Example:
>>> with serial.serial_for_url(port) as s: ... s.write(b'hello')
The port is opened automatically:
>>> port = serial.Serial() >>> port.port = '...' >>> with port as s: ... s.write(b'hello')
Which also means that
with
statements can be used repeatedly, each time opening and closing the port.Changed in version 3.4: the port is automatically opened
-
__exit__
(exc_type, exc_val, exc_tb)¶ Closes serial port (exceptions are not handled by
__exit__
).
Platform specific methods.
Warning
Programs using the following methods and attributes are not portable to other platforms!
-
nonblocking
()¶ Platform: Posix Deprecated since version 3.2: The serial port is already opened in this mode. This method is not needed and going away.
-
fileno
()¶ Platform: Posix Returns: File descriptor. Return file descriptor number for the port that is opened by this object. It is useful when serial ports are used with
select
.
-
set_input_flow_control
(enable)¶ Platform: Posix Parameters: enable (bool) – Set flow control state. Manually control flow - when software flow control is enabled.
This will send XON (true) and XOFF (false) to the other device.
New in version 2.7: (Posix support added)
Changed in version 3.0: renamed from
flowControlOut
-
set_output_flow_control
(enable)¶ Platform: Posix (HW and SW flow control) Platform: Windows (SW flow control only) Parameters: enable (bool) – Set flow control state. Manually control flow of outgoing data - when hardware or software flow control is enabled.
Sending will be suspended when called with
False
and enabled when called withTrue
.Changed in version 2.7: (renamed on Posix, function was called
flowControl
)Changed in version 3.0: renamed from
setXON
-
cancel_read
()¶ Platform: Posix Platform: Windows Cancel a pending read operation from another thread. A blocking
read()
call is aborted immediately.read()
will not report any error but return all data received up to that point (similar to a timeout).On Posix a call to cancel_read() may cancel a future
read()
call.New in version 3.1.
-
cancel_write
()¶ Platform: Posix Platform: Windows Cancel a pending write operation from another thread. The
write()
method will return immediately (no error indicated). However the OS may still be sending from the buffer, a separate call toreset_output_buffer()
may be needed.On Posix a call to cancel_write() may cancel a future
write()
call.New in version 3.1.
Note
The following members are deprecated and will be removed in a future release.
-
inWaiting
()¶ Deprecated since version 3.0: see
in_waiting
-
writeTimeout
¶ Deprecated since version 3.0: see
write_timeout
-
interCharTimeout
¶ Deprecated since version 3.0: see
inter_byte_timeout
-
sendBreak
(duration=0.25)¶ Deprecated since version 3.0: see
send_break()
-
flushInput
()¶ Deprecated since version 3.0: see
reset_input_buffer()
-
flushOutput
()¶ Deprecated since version 3.0: see
reset_output_buffer()
-
setBreak
(level=True)¶ Deprecated since version 3.0: see
break_condition
-
getSettingsDict
()¶ Deprecated since version 3.0: see
get_settings()
-
applySettingsDict
(d)¶ Deprecated since version 3.0: see
apply_settings()
-
outWaiting
()¶ Deprecated since version 3.0: see
out_waiting
-
setXON
(level=True)¶ Deprecated since version 3.0: see
set_output_flow_control()
-
flowControlOut
(enable)¶ Deprecated since version 3.0: see
set_input_flow_control()
-
rtsToggle
¶ Platform: Windows Attribute to configure RTS toggle control setting. When enabled and supported by OS, RTS will be active when data is available and inactive if no data is available.
New in version 2.6.
Changed in version 3.0: (removed, see
rs485_mode
instead)
-
Implementation detail: some attributes and functions are provided by the
class serial.SerialBase
which inherits from io.RawIOBase
and some by the platform specific class and others by the base class
mentioned above.
RS485 support¶
The Serial
class has a Serial.rs485_mode
attribute which allows to
enable RS485 specific support on some platforms. Currently Windows and Linux
(only a small number of devices) are supported.
Serial.rs485_mode
needs to be set to an instance of
rs485.RS485Settings
to enable or to None
to disable this feature.
Usage:
import serial
import serial.rs485
ser = serial.Serial(...)
ser.rs485_mode = serial.rs485.RS485Settings(...)
ser.write(b'hello')
There is a subclass rs485.RS485
available to emulate the RS485 support
on regular serial ports (serial.rs485
needs to be imported).
-
class
rs485.
RS485Settings
¶ A class that holds RS485 specific settings which are supported on some platforms.
New in version 3.0.
-
__init__(rts_level_for_tx=True, rts_level_for_rx=False, loopback=False, delay_before_tx=None, delay_before_rx=None):
Parameters: - rts_level_for_tx (bool) – RTS level for transmission
- rts_level_for_rx (bool) – RTS level for reception
- loopback (bool) – When set to
True
transmitted data is also received. - delay_before_tx (float) – Delay after setting RTS but before transmission starts
- delay_before_rx (float) – Delay after transmission ends and resetting RTS
-
rts_level_for_tx
¶ RTS level for transmission.
-
rts_level_for_rx
¶ RTS level for reception.
-
loopback
¶ When set to
True
transmitted data is also received.
-
delay_before_tx
¶ Delay after setting RTS but before transmission starts (seconds as float).
-
delay_before_rx
¶ Delay after transmission ends and resetting RTS (seconds as float).
-
-
class
rs485.
RS485
¶ A subclass that replaces the
Serial.write()
method with one that toggles RTS according to the RS485 settings.Usage:
ser = serial.rs485.RS485(...) ser.rs485_mode = serial.rs485.RS485Settings(...) ser.write(b'hello')
Warning
This may work unreliably on some serial ports (control signals not synchronized or delayed compared to data). Using delays may be unreliable (varying times, larger than expected) as the OS may not support very fine grained delays (no smaller than in the order of tens of milliseconds).
Note
Some implementations support this natively in the class
Serial
. Better performance can be expected when the native version is used.Note
The loopback property is ignored by this implementation. The actual behavior depends on the used hardware.
RFC 2217 Network ports¶
Warning
This implementation is currently in an experimental state. Use at your own risk.
-
class
rfc2217.
Serial
¶ This implements a RFC 2217 compatible client. Port names are URL in the form:
rfc2217://<host>:<port>[?<option>[&<option>]]
This class API is compatible to
Serial
with a few exceptions:write_timeout
is not implemented- The current implementation starts a thread that keeps reading from the
(internal) socket. The thread is managed automatically by the
rfc2217.Serial
port object onopen()
/close()
. However it may be a problem for user applications that like to use select instead of threads.
Due to the nature of the network and protocol involved there are a few extra points to keep in mind:
- All operations have an additional latency time.
- Setting control lines (RTS/CTS) needs more time.
- Reading the status lines (DSR/DTR etc.) returns a cached value. When that cache is updated depends entirely on the server. The server itself may implement a polling at a certain rate and quick changes may be invisible.
- The network layer also has buffers. This means that
flush()
,reset_input_buffer()
andreset_output_buffer()
may work with additional delay. Likewisein_waiting
returns the size of the data arrived at the objects internal buffer and excludes any bytes in the network buffers or any server side buffer. - Closing and immediately reopening the same port may fail due to time needed by the server to get ready again.
Not implemented yet / Possible problems with the implementation:
- RFC 2217 flow control between client and server (objects internal buffer may eat all your memory when never read).
- No authentication support (servers may not prompt for a password etc.)
- No encryption.
Due to lack of authentication and encryption it is not suitable to use this client for connections across the internet and should only be used in controlled environments.
New in version 2.5.
-
class
rfc2217.
PortManager
¶ This class provides helper functions for implementing RFC 2217 compatible servers.
Basically, it implements everything needed for the RFC 2217 protocol. It just does not open sockets and read/write to serial ports (though it changes other port settings). The user of this class must take care of the data transmission itself. The reason for that is, that this way, this class supports all programming models such as threads and select.
Usage examples can be found in the examples where two TCP/IP - serial converters are shown, one using threads (the single port server) and an other using select (the multi port server).
Note
Each new client connection must create a new instance as this object (and the RFC 2217 protocol) has internal state.
-
__init__
(serial_port, connection, debug_output=False)¶ Parameters: - serial_port – a
Serial
instance that is managed. - connection – an object implementing
write()
, used to write to the network. - debug_output – enables debug messages: a
logging.Logger
instance or None.
Initializes the Manager and starts negotiating with client in Telnet and RFC 2217 protocol. The negotiation starts immediately so that the class should be instantiated in the moment the client connects.
The serial_port can be controlled by RFC 2217 commands. This object will modify the port settings (baud rate etc.) and control lines (RTS/DTR) send BREAK etc. when the corresponding commands are found by the
filter()
method.The connection object must implement a
write()
function. This function must ensure that data is written at once (no user data mixed in, i.e. it must be thread-safe). All data must be sent in its raw form (escape()
must not be used) as it is used to send Telnet and RFC 2217 control commands.For diagnostics of the connection or the implementation, debug_output can be set to an instance of a
logging.Logger
(e.g.logging.getLogger('rfc2217.server')
). The caller should configure the logger usingsetLevel
for the desired detail level of the logs.- serial_port – a
-
escape
(data)¶ Parameters: data – data to be sent over the network. Returns: data, escaped for Telnet/RFC 2217 A generator that escapes all data to be compatible with RFC 2217. Implementors of servers should use this function to process all data sent over the network.
The function returns a generator which can be used in
for
loops. It can be converted to bytes usingserial.to_bytes()
.
-
filter
(data)¶ Parameters: data – data read from the network, including Telnet and RFC 2217 controls. Returns: data, free from Telnet and RFC 2217 controls. A generator that filters and processes all data related to RFC 2217. Implementors of servers should use this function to process all data received from the network.
The function returns a generator which can be used in
for
loops. It can be converted to bytes usingserial.to_bytes()
.
-
check_modem_lines
(force_notification=False)¶ Parameters: force_notification – Set to false. Parameter is for internal use. This function needs to be called periodically (e.g. every second) when the server wants to send NOTIFY_MODEMSTATE messages. This is required to support the client for reading CTS/DSR/RI/CD status lines.
The function reads the status line and issues the notifications automatically.
New in version 2.5.
-
See also
RFC 2217 - Telnet Com Port Control Option
Exceptions¶
-
exception
serial.
SerialException
¶ Base class for serial port exceptions.
-
exception
serial.
SerialTimeoutException
¶ Exception that is raised on write timeouts.
Constants¶
Parity
-
serial.
PARITY_NONE
¶
-
serial.
PARITY_EVEN
¶
-
serial.
PARITY_ODD
¶
-
serial.
PARITY_MARK
¶
-
serial.
PARITY_SPACE
¶
Stop bits
-
serial.
STOPBITS_ONE
¶
-
serial.
STOPBITS_ONE_POINT_FIVE
¶
-
serial.
STOPBITS_TWO
¶
Note that 1.5 stop bits are not supported on POSIX. It will fall back to 2 stop bits.
Byte size
-
serial.
FIVEBITS
¶
-
serial.
SIXBITS
¶
-
serial.
SEVENBITS
¶
-
serial.
EIGHTBITS
¶
Others
Default control characters (instances of bytes
for Python 3.0+) for
software flow control:
-
serial.
XON
¶
-
serial.
XOFF
¶
Module version:
-
serial.
VERSION
¶ A string indicating the pySerial version, such as
3.0
.New in version 2.3.
Module functions and attributes¶
-
serial.
device
(number)¶ Changed in version 3.0: removed, use
serial.tools.list_ports
instead
-
serial.
serial_for_url
(url, *args, **kwargs)¶ Parameters: - url – Device name, number or URL
- do_not_open – When set to true, the serial port is not opened.
Returns: an instance of
Serial
or a compatible object.Get a native or a RFC 2217 implementation of the Serial class, depending on port/url. This factory function is useful when an application wants to support both, local ports and remote ports. There is also support for other types, see URL section.
The port is not opened when a keyword parameter called do_not_open is given and true, by default it is opened.
New in version 2.5.
-
serial.
protocol_handler_packages
¶ This attribute is a list of package names (strings) that is searched for protocol handlers.
e.g. we want to support a URL
foobar://
. A modulemy_handlers.protocol_foobar
is provided by the user:serial.protocol_handler_packages.append("my_handlers") s = serial.serial_for_url("foobar://")
For an URL starting with
XY://
is the functionserial_for_url()
attempts to importPACKAGE.protocol_XY
with each candidate forPACKAGE
from this list.New in version 2.6.
-
serial.
to_bytes
(sequence)¶ Parameters: sequence – bytes, bytearray or memoryview Returns: an instance of bytes
Convert a sequence to a
bytes
type. This is used to write code that is compatible to Python 2.x and 3.x.In Python versions prior 3.x,
bytes
is a subclass of str. They convertstr([17])
to'[17]'
instead of'\x11'
so a simplebytes(sequence)
doesn’t work for all versions of Python.This function is used internally and in the unit tests.
New in version 2.5.
-
serial.
iterbytes
(sequence)¶ Parameters: sequence – bytes, bytearray or memoryview Returns: a generator that yields bytes Some versions of Python (3.x) would return integers instead of bytes when looping over an instance of
bytes
. This helper function ensures that bytes are returned.New in version 3.0.
Threading¶
New in version 3.0.
Warning
This implementation is currently in an experimental state. Use at your own risk.
This module provides classes to simplify working with threads and protocols.
-
class
serial.threaded.
Protocol
¶ Protocol as used by the
ReaderThread
. This base class provides empty implementations of all methods.-
connection_made
(transport)¶ Parameters: transport – instance used to write to serial port. Called when reader thread is started.
-
data_received
(data)¶ Parameters: data (bytes) – received bytes Called with snippets received from the serial port.
-
connection_lost
(exc)¶ Parameters: exc – Exception if connection was terminated by error else None
Called when the serial port is closed or the reader loop terminated otherwise.
-
-
class
serial.threaded.
Packetizer
(Protocol)¶ Read binary packets from serial port. Packets are expected to be terminated with a
TERMINATOR
byte (null byte by default).The class also keeps track of the transport.
-
TERMINATOR = b'\0'
-
__init__
()¶
-
connection_made
(transport)¶ Stores transport.
-
connection_lost
(exc)¶ Forgets transport.
-
data_received
(data)¶ Parameters: data (bytes) – partial received data Buffer received data and search for
TERMINATOR
, when found, callhandle_packet()
.
-
-
class
serial.threaded.
LineReader
(Packetizer)¶ Read and write (Unicode) lines from/to serial port. The encoding is applied.
-
TERMINATOR = b'\r\n'
Line ending.
-
ENCODING = 'utf-8'
Encoding of the send and received data.
-
UNICODE_HANDLING = 'replace'
Unicode error handly policy.
-
handle_packet
(packet)¶ Parameters: packet (bytes) – a packet as defined by TERMINATOR
In this case it will be a line, calls
handle_line()
after applying theENCODING
.
-
-
class
serial.threaded.
ReaderThread
(threading.Thread)¶ Implement a serial port read loop and dispatch to a Protocol instance (like the
asyncio.Protocol
) but do it with threads.Calls to
close()
will close the serial port but it is also possible to juststop()
this thread and continue to use the serial port instance otherwise.-
__init__
(serial_instance, protocol_factory)¶ Parameters: - serial_instance – serial port instance (opened) to be used.
- protocol_factory – a callable that returns a Protocol instance
Initialize thread.
Note that the
serial_instance
‘s timeout is set to one second! Other settings are not changed.
-
stop
()¶ Stop the reader thread.
-
run
()¶ The actual reader loop driven by the thread. It calls
Protocol.connection_made()
, reads from the serial port callingProtocol.data_received()
and finally callsProtocol.connection_lost()
whenclose()
is called or an error occurs.
-
connect
()¶ Wait until connection is set up and return the transport and protocol instances.
This class can be used as context manager, in this case it starts the thread and connects automatically. The serial port is closed when the context is left.
-
__enter__
()¶ Returns: protocol Connect and return protocol instance.
-
__exit__
(exc_type, exc_val, exc_tb)¶ Closes serial port.
-
Example:
class PrintLines(LineReader):
def connection_made(self, transport):
super(PrintLines, self).connection_made(transport)
sys.stdout.write('port opened\n')
self.write_line('hello world')
def handle_line(self, data):
sys.stdout.write('line received: {}\n'.format(repr(data)))
def connection_lost(self, exc):
if exc:
traceback.print_exc(exc)
sys.stdout.write('port closed\n')
ser = serial.serial_for_url('loop://', baudrate=115200, timeout=1)
with ReaderThread(ser, PrintLines) as protocol:
protocol.write_line('hello')
time.sleep(2)
asyncio¶
asyncio
was introduced with Python 3.4. Experimental support for pySerial
is provided via a separate distribution pyserial-asyncio.
It is currently under development, see:


Add a Contest
Title:
Description:
Start Time: Year: Month: Day: Hour: Minute:
End Time: Year: Month: Day: Hour: Minute:
Submit Reset


GroupBoxLayout
is a container that creates a frame and header for its content. Additionally, it can
collapse the content.
caption
- group header.
orientation
- defines enclosed components direction - horizontal or vertical. The default value
is vertical
.
GroupBoxLayout
has 100% width by default, therefore in this example, the width of each group box is
set to AUTO to adjust it by content.


Spotted Zebra Software is a one-person game company in Seattle Washington, USA. It's most recent larger title was Tumblestone. The company was founded by, me, Alex Schearer. I worked at Microsoft for a while then left to make games. When not game making I help organize for Seattle Indies.


45 inline void deeply() { sleepDeeply(); }
54 inline void deeplyFor(uint32_t sleepMs) { sleepDeeply(sleepMs); }
71 inline void lightlyFor(uint32_t sleepMs) { sleepLightly(sleepMs); }
80 inline void idle() { sleepIdle(); }
91 inline void idleFor(uint32_t sleepMs) { sleepIdle(sleepMs); }
110 void deeplyFor(uint32_t sleepMs, SimpleSleep_Cal calibrationData);
117 void lightlyFor(uint32_t sleepMs, SimpleSleep_Cal calibrationData);
124 void idleFor(uint32_t sleepMs, SimpleSleep_Cal calibrationData);
135 void sleepDeeply(uint32_t sleepMs);
136 void sleepLightly(uint32_t sleepMs);
137 void sleepIdle(uint32_t sleepMs);
void forever()
Sleep forever in a deep and dreamless slumber.
Definition: SimpleSleep.h:38
Support functions and macros which are common across AVR microcontrollers.
void idleFor(uint32_t sleepMs)
Wait patiently for a given time.
Definition: SimpleSleep.h:91
void deeplyFor(uint32_t sleepMs)
Sleep deeply for a given time, allow external interrupts where possible (LEVEL only usually)...
Definition: SimpleSleep.h:54
void lightly()
Sleep lightly, allow many interrupts, adc off, timers generally off.
Definition: SimpleSleep.h:62
SimpleSleep_Cal getCalibration()
For more accurate sleep times, you can generate calibration data and pass it into the deeplyFor...
void lightlyFor(uint32_t sleepMs)
Sleep lightly for a given time, allow many interrupts, adc off, timers generally off.
Definition: SimpleSleep.h:71
Simple Sleep class for Arduino.
Definition: SimpleSleep.h:24
void idle()
Wait patiently, most anything can wake you including Serial, timers etc.
Definition: SimpleSleep.h:80
void deeply()
Sleep deeply, allow external interrupts where possible (LEVEL only usually), bod off, adc off, timers generally off.
Definition: SimpleSleep.h:45


Titanic (***3/4 out of 4 stars)
The movie is a technological triumph. Real footages of the Titanic wreck were used to make for a breathtaking scene. Computer animation were used throughout to portray the Titanic in all its past glory. Unfortunately, it was painfully obvious that the scenes in which the camera panned away from the Titanic were computer generated. The power of computer animation shined through in the actual sinking of the Titanic. I couldn't believe my eyes as I saw the huge boat sank into the ocean. I wasn't able to tell where the computer animation began and where the live action shots ended.
The acting for the most part was good. I have new found respect for Leonardo DiCaprio as an actor. He truely convinced me that he was a young man named Jack with nothing but a pocket full of dreams on his way to a new life in America. Kate Winslet, who plays Rose, was somewhat unconvincing as a member of the upper-class at first, but came through at the end.
The directing and the script was incredible. The story flowed beautiful throughout the whole movie. Although each scene contains a wealth of details, they do not overwhelm the sences. I was thoroughly convinced that I was on the great Titanic. Although the movie is titled "Titanic" the actually sinking of the ship isn't the focus of the movie. The movie centers around two people in love. Don't be fooled into thinking that such a simplistic plot would bore you, because this movie will grab your attention from the beginning and will never let go till the end.
The movie is truely a classic love story. A poor young man, Jack, meets a young upper-class woman, Rose. The two gradually fall in love but many things prevent them from being together. Jack and Rose are from totally different classes and completely different worlds. Rose's domineering fiance is incredibly jealous of her feelings for Jack and does everything to keep them apart. Rose's mother forbids her daughter from having anything to do with Jack. Although numerous things tested Rose's and Jack's love for each other, their love would be tested to the breaking point by the inenvitable tragedy of the Titanic.
In the last half of the movie you wonder just how will Rose and Jack survive the tragedy of the Titantic? Will the two make it to America?  Will they marry and have many children? Will they live happily ever after? You'll just have to see for yourself.
To sum it up "Titantic" is a life time of love in about 3 hours.
-- George K. Jung<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


SHAKESPEARE IN LOVE A movie review by Joe Barlow (c) Copyright 1999
STARRING: Joseph Fiennes, Gwyneth Paltrow, Ben Affleck, Geoffrey Rush, Rupert Everett DIRECTOR: John Madden WRITERS: Marc Norman and Tom Stoppard RATED: R RELEASED: 1998
RATING: *** 1/2 (out of a possible ****)
A theater life has always been one full of doubt and uncertainty, but never more so than in 16th century London. In addition to the formidible task of merely turning a profit, one also had to contend with the Plague, unsanitary working conditions, and rival theater owners engaged in a cut-throat war to steal each other's customers-- hardly the easiest way to make a living.
But for a young playwrite named William Shakespeare, the situation is even more dire: lacking romantic inspiration in his life, he has developed a stubborn case of writer's block. "I fear I've lost my muse," he explains to a local theater owner. ("Oh? Who is she this week?" he queries.)
Poor Will, it seems, has been living a rather lonely existence. Without a soulmate to spark his imagination, he is finding it difficult to write anything other than cliched rubbish, including his current project, a lackluster comedy entitled "Romeo and Ethel, the Pirate's Daughter." He explains his frustration to his therapist:
WILL: "Once I had the gift. I could make love out of words as a potter makes cups of clay. Love that overthrows empires; love that binds two hearts together, come hell, fire and brimstone. For sixpence a line, I could cause a riot in a nunnery! But now..."
But now his inspiration has dried up, leaving him to simply go through the motions. This doesn't bode well for Mr. Henslowe (Geoffrey Rush), the theater manager who has pre-paid Will for delivery of the (very) overdue manuscript. Unless Will completes the play quickly, the financially- strapped theater will have no new offering for the public, and could be driven out of business. Everyone's expecting a new masterpiece to flow forth from Will's pen, and the playwrite is frantic over his inability to provide it for them.
Shakespeare isn't the only one having difficulties, however. Across town, the lovely Viola De Lesseps (Gwyneth Paltrow) is lamenting twin hardships of her own: a pending loveless marriage, arranged by her father for purely financial means, and the realization that her dream of being an actor cannot come to pass, as women are banned from the London stage. ("Stage love will never be true love while the law of the land has our heroines being played by pip-squeak boys in petticoats!" she frets to her nurse.) Reflecting upon the various suitors her father has selected for her, Viola decries their cold, unartistic nature:
VIOLA: "All the men at court are without poetry. If they see me, they see my father's fortune. I will have poetry in my life, and adventure. And love... love, above all."
Unwilling to accept her forced destiny, she hatches a brilliant, desperate scheme to change her situation.
Shortly thereafter, Shakespeare finds his spirits lifted by the arrival of a talented new actor at the theater, a lad named Thomas Kent. The young man has a remarkable talent for delivering Will's dialogue; much impressed, the writer casts Thomas as Romeo in the still unfinished play. Ah, but there's a twist: Thomas is actually Viola in disguise, and it doesn't take long for the clever Will to figure it out.
Their relationship soon turns amorous, and Will, astonished at the passion this remarkable woman inspires within him, is soon filling sheets of parchment as quickly as his pen can fly over them. Channeling all his emotions and desire into his writing, the manuscript comes alive with poetry and metaphor; as the incomplete play goes into rehearsal (with Will bringing in new pages daily), everyone praises the work's boldness and originality. The only thing that doesn't appear to be working is the play's title; "Romeo and Ethel" somehow lacks the passion that the material requires. A brash young actor named Ned Alleyn (Ben Affleck), however, comes to the rescue: "Will, why not 'Romeo and Juliet?' Just a suggestion."
"Shakespeare in Love" may be the most original film I've seen in the past year. Poetic dialogue drips like honey from the mouths of the actors, which simultaneously embraces and satirizes the Bard's work. The story can be appreciated on mulitple levels, thanks to a brilliant screenplay (which was co-penned by Tom Stoppard, the playwrite who gave us "Rosencrantz and Guildenstern are Dead," another Shakespearean spoof). Those who are not overly familiar with Shakespeare's plays can still get caught up in the story, while the rest of us will enjoy an extra layer of subtle humor (Will stealing ideas from playwrite Christopher Marlowe (Rupert Everett), or the wonderful scene in which Will overhears someone saying "The rose smells thusly rank by any name. I say, a plague on both their houses!" and twists these words into two of his most famous quotes). Don't forget the delicious irony of the female Viola pretending to be a young man in the role of Romeo... while "Juliet" is played by a male, pretending to be female. This is the rare movie that actually gets better with multiple viewings, giving the audience a chance to see what they missed earlier.
There's not a bad performance in the entire film. Joseph Fiennes is a masterful Shakespeare, conveying both the dramatic and humorous moments with a light touch, never going over the top; likewise, Gwyneth Paltrow is a marvel in her dual role as Viola/Thomas. But the show is positively stolen by Ben Affleck's brief performance as Ned, the spoiled young actor who attempts to usurp the limelight away from Will with his arrogant self-importance. (Observe how Will tricks him into accepting the much smaller role of Mercutio by appealing to Ned's ego, and how Ned smirks before announcing, "I would play him." It was one of many laugh-out-loud moments for me.)
"Shakespeare in Love" is a vibrant piece of satire, capturing the tone and eloquence of Shakespeare's beloved masterpiece while simultaneously turning it upside-down. Full of wit, humor, and passion, this film reminds us of the gift and curse of true love. I imagine that a sophisticated verbal comedy about William Shakespeare's love-life won't appeal to everyone, but if you like movies which deviate from the beaten path, you'll have a marvelous time. You might actually learn something, though; consider yourself warned.
E-Mail<EMAIL_ADDRESS>Joe Barlow on Film: http://www.ipass.net/~jbarlow/film.htm
If you'd like to receive new film reviews by e-mail, please write to the above address and ask to be put on my mailing list. Or, you can subscribe directly from my web page. Thanks.
-----------== Posted via Deja News, The Discussion Network ==---------- http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own
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


Kid Kid
When you help a child,
you are helping create a bright future for them.
When you help a child,
you are helping create a bright future for them.
When you help a child,
you are helping create a bright future for them.
When you help a child,
you are helping create a bright future for them.
When you help a child,
you are helping create a bright future for them.
In African cities, at least 60% of the population lives in informal, underserviced, and frequently illegal slums
In African cities, at least 60% of the population lives in informal, underserviced, and frequently illegal slums
In African cities, at least 60% of the population lives in informal, underserviced, and frequently illegal slums
In African cities, at least 60% of the population lives in informal, underserviced, and frequently illegal slums
Keeping girls in school gives them the potential to earn better wages, raise healthier and more educated children, and have a voice in their community.
Keeping girls in school gives them the potential to earn better wages, raise healthier and more educated children, and have a voice in their community.
Keeping girls in school gives them the potential to earn better wages, raise healthier and more educated children, and have a voice in their community.
Keeping girls in school gives them the potential to earn better wages, raise healthier and more educated children, and have a voice in their community.


Your program is saved to the Web Prolog node for a period of at least one month. A link to it is given below. Copy the link, send it around, do what you want with it. Anyone in possession of the link will be able to access Web Prolog with your program loaded and ready to run.
Link:
About Web PrologVersion 0.1
This is a proof-of-concept online demonstration and tutorial of Web Prolog, a proposal for a web logic programming language. Design and implementation by Torbjörn Lager, with a lot of help from Jan Wielemaker.


whoami
- lloyd benson<EMAIL_ADDRESS>- architect @walmartlabs node team
- many hats (devops/sysadmin/developer/gluer)
- the guy that did the black friday node release
overview
- hapi
- getting started
- releases
- scale
- monitor
- issues
- final thoughts
- http://hapijs.com
- framework for building applications and services
- open source
- configuration vs code
- plugin architecture
- request lifecycle extensibility
everyone poops, even hapi
getting started
- started out with a simple proxy
- added analytics
- took over endpoints
- moved web components
- node used throughout the organization
the proxy was the most utilized feature
releases - simple plan
- npm install; npm test
- rm -rf node_modules
- npm install --production
- npm shrinkwrap
- tar cvfz app-uniqueid.tar.gz
- scp app-uniqueid.tar.gz user@host:
- tar xvfz app-uniqueid.tar.gz
- node server.js
I felt comfortable doing a black friday release
releases - advice
- release often
- build once, push artifact
- separate node version upgrades
- keep configuration in 1 place
manage configuration with confidence
releases - npm shrinkwrap
- generates npm-shrinkwrap.json
- lists ALL dependencies with versions
- dependencies can break builds
- compare shrinkwraps from previous builds
- describes uniqueness
scale
- load balance (multiproc vs container)
- load test
- auto restart
monitor
- memory
- application data
- application tests
- application restarts
- open files
- os / system
|
monitor - memory
- rss memory - 3g upper limit
- heap memory - 1.5g upper limit
- aggressive gc at limits hurts performance
- may not die quickly and become painful
- set thresholds based on historical trends to catch leaks
hapi config for rss memory, heap memory, and event loop delay
monitor - application data
- requests, responses, errors, ops data
- send application data to an aggregator
- aggregators - splunk, logstash, big data
- find leaks and performance issues with aggregator
gather hapi requests, errors, and ops data with good
monitor - application tests
- strive for 100% code coverage
- prioritize integration over unit tests
- run prod tests continually
- trend test results
testing can be done with the lab plugin
monitor - application restarts
- avoid laziness with auto restart
- still check for failures
monitor - open files
- track open files on node process
- generally boring but may be useful
- can check infrequently
monitor - os / system
- continue usual os / system checks
- system wide scope
- memory, cpu, swap, i/o, disk space, etc
- cpu usage boring for black friday
issues - tools
- --abort-on-uncaught-exception
- gcore / mdb
- dtrace
- break down problem
issues - dtrace
- some issues are difficult without dtrace
- dtrace for node is ONLY available on SmartOS
- dtrace can be a large time commitment for many
- DTraceToolkit
final thoughts
- node is fast
- npm is a great tool to manage smaller components
- releases can be easy
- fast development times especially with hapi
- monitoring is critical
- Joyent support for difficult issues (linux too)
- tools continue to improve (linux too)


Before
Simple frontend (jquery)
pros:
cons:
- hard to support (spaghetti code)
- slow frontend → a lot of traffic on each user action
- build system depends on server implementation
Our long way...
- wav.tv → jquery → marrionettejs → anglarjs + reactjs
- ero-video.net → jquery → marrionettejs → angularjs?
- ero-pic.net (started 2015) → angularjs
- punyu (admin) (started 2016) → angularjs
Where are we?
- Business logic moves to frontend
- Frontend becomes more and more complicated
We solve this complexity with appropriate technologies
Our current technologies
- CSS → SCSS
- GULP as build system
- AngularJS as JS framework
- ng-admin as admin building framework
Why?
SCSS / GULP / AngularJS → leading technologies
- in general it means that it is good
- larger community → less bugs / more information / easy to find developers
- faster development
Where are we (pros)
- faster fronted → less data to transfer by network
- faster development process
- separate frontend / backend
Where are we (cons)
- search engines
- frontend performance
Where we want to go
- write maintainable code
- fast dev / deploy cycle
- use same techs on all projects
- (sometimes) write less code
=> be more productive and efficient
This year
- ES6 (next version of JavaScript)
- AngularJS2


{% extends "partials/tooltips/base.html" %}
{% block title %}
Separation Agreement
{% endblock %}
{% block inner %}
A written contractual agreement between two parties which sets out terms pertaining to
property, spousal or child support, division of family assets or other matters in the
separation or divorce of a married couple.
{% endblock %}
{% block label %}
{% if text %}{{ text }}{% else %}Separation agreement{% endif %}
{% endblock %}


before
popup
One One
One Two
One Three
One
One One
One Two
One Three
Two
Two One
Two Two
Three
Three One
Three Two
between
One
One One
One Two
One Three
Two
Two One
Two Two
Three
Three One
Three Two
after


egrep
Find patterns in files using extended regular expression (supports `?`, `+`, `{}`, `()` and `|`).
More information: home page
- Search for a pattern within a file:
egrep "search_pattern" path/to/file
- Search for a pattern within multiple files:
egrep "search_pattern" path/to/file1 path/to/file2 path/to/file3
- Search `stdin` for a pattern:
cat path/to/file | egrep search_pattern
- Print file name and line number for each match:
egrep --with-filename --line-number "search_pattern" path/to/file
- Search for a pattern in all files recursively in a directory, ignoring binary files:
egrep --recursive --binary-files=without-match "search_pattern" path/to/directory
- Search for lines that do not match a pattern:
egrep --invert-match "search_pattern" path/to/file


7.19c changes affecting Open Angel Arena
Hero Changes
Clinkz:
Base strength reduced by 2
Level 20 Talent reduced from +20 Health Regen to +16
Earthshaker:
Root now disables his Scepter ability.
Enchantress:
Strength rescaled from 19 + 1.3 to 16 + 1.5
Base movement speed reduced from 325 to 320
Base intelligence reduced by 2
Grimstroke:
Ink Swell no longer makes the target immune to attacks.
Ink Swell no longer silences and disarms the target.
Phoenix:
Level 15 Talent reduced from +50 Fire Spirits DPS to +40
Spectre:
Level 10 Talent changed from +15 Desolate Damage to +4 All Stats
Level 15 Talent changed from +8 All Stats to +15 Desolate Damage
Level 25 Talent reduced from +8% Dispersion to +6%
Vengeful Spirit:
Movement speed reduced by 5
Weaver:
Base intelligence reduced by 2
Level 10 Talent changed from +20 Mana Break to +7 Strength
Level 15 Talent changed from +12 Strength to +20 Mana Break
Wraith King:
Vampiric Aura no longer affects ranged allies.
Zeus:
Strength gain reduced from 2.3 to 2.1
Level 25 Talent reduced from +170 Arc Lightning damage to +155
Return to Home Page


Develop Modern Web Applications with Service Virtualization
In a nutshell, service virtualization provides a set of mocking services that simulate the real services.
Why bother with service virtualization?
Because the real services are not always available.
This is becoming even more pronounced since modern applications adopt increasingly distributed architecture
via microservices. As such, developers and QA frequently find themselves unable to do testing since a backend service
is down. Their productivity is hit hard and the companies find their IT cost soaring.
Even if the real services are available, it is difficult or impossible to test the application behaviour in a particular
error scenario. For example, if we need to test how the UI behaves when a backend service got a problem with its dependency,
how can the backend service achieve this condition?
The service virtualization implemented in this PoC project has a unique feature that no other vendor products offer: it allows the multiple different responses for the same request. This is exactly what the UI developers need.
How is this achieved?
It is actually simple and intuitive - the UI developer has to select which scenario he/she wants to test, before doing the test.
In this project, the four test scenarios in a login flow for a banking web application are included.
Test Steps:
Step 1: Click one of the scenario you want to test (i.e. you need to go to the desired page so you can continue developing it or fix defect.)
Step 2: The login page will open in a new tab (please allow pop-ups if your browser blocks them.). If it doesn't, click here (please enable pop-ups in you browser setting)., or manually open the URL in a new tab:
Step 3: Log in with any card number and password, or just leave them blank
Test Scenarios: