Mushrooms (P. cubensis)
This was written 1 day before the trip:
I am supposed to trip tonight with my girlfriend, but she has not been feeling well mentally these past few days, so we might do it another day. The last time we tripped was about one and a half month ago. This will be her second time. I, for myself, have used mushrooms about 15 times, in the course of 1 and a half year.
I'll let her decide if she feels comfortable enough.
We will both be going for three grams of high potency psilocybe cubensis mushrooms (unknown strain). I feel ready. I feel good both physically and mentally, but I am concerned about my girlfriend's state of mind. But she's old enough to know what to do herself.
I have fixed myself a goal for this trip. I am not looking forward to experience ego-death (anyways the dose is too low for that), but I want to work on my ego. I want to know everything about it. I want to know how important I am. I want to know if I am, in fact, important at all.
Mabye those questions will be answered. Mabye not. We'll see.
This is the actual trip report:
The trip went incredibly well. At 11:40, when everyone was asleep in the house, we each took the first gram. We took the two other grams about 15 minutes later. Since we had not eaten for about 8 hours, the effects came on very quickly. At midnight I was feeling very obvious effects, and they became stronger and stronger with every passing minute.
We both gradually started shaking uncontrollably. I wasn't cold, I was just shaking a lot. I could stop it when I concentrated on it, but I decided to let go of everything. We jumped in bed. I was a bit nervous, because I was coming up faster than I ever had before. I was a bit nauseous, too.
I put on Shpongle's 'Once Upon the Sea of Blissful Awareness', and we both closed our eyes, holding hands, as the mushrooms were doing their magic. Things were getting very interesting. My girlfriend noted that she had visuals, but they seemed to be black visuals on a black background. I agreed. But soon enough, colors came jumping from every direction, creating colorful drawings, constructions and machines of all sort.
I opened my eyes. Walls were breathing, things were moving and dancing to the music; so was my imagination. I looked at my girlfriend. Her pale green eyes were deep and inviting. They had waves all over them. They looked like two small oceans.
'Are you scared?', I asked her.
'No...'
She smiled and came closer to me. We still had the shakes, but it wasn't as intense as it was a few minutes before. I would leave the atmosphere very soon. I could very well compare the intense coming up to a rocket launch. And then, all of a sudden, things settled down. Bam. I was floating in space.
I asked my girlfriend if she wanted to have a smoke. We went in the bathroom and had one. I was peaking hard. The white walls of the room were covered with shifting multicolored patterns. I was sitting down on the bathroom floor, with my legs crossed. I was feeling great.
We left the bathroom and went back in bed. We talked for a long time, but I'm having problems remembering what we said. We talked about anything that we felt like saying. I told her some of the things I know about mushrooms, LSD and psychedelics in general. Since she was tripping, I know that she could perfectly assimilate what I was telling her.
'Psychedelics, in my opinion, allow you to see everything in retrospect. They pull you out of the world, and they let you see everything as it really is. '
I remembered that I had fixed myself a goal for this trip. In the past few weeks, I had been asking myself if I was more important than anybody. Even though I strongly beleive that everybody is equal, sometimes, when I find myself confronted to some people who don't seem to have anything good to them, I tend to put myself in front. It doesn't show in the way I act, but it shows in the way I think. I was wondering if it was normal, and if I needed to fix it.
My girlfriend, on the other side, has a low self-esteem. I wanted to help her.
'Do you think it's normal to consider yourself more important, somtimes?', I asked, curious to know what she would tell me.
'No, I think everybody is equal...'
'Me too. But, take the normal, average guy, for example. He goes to school, he goes to parties on Friday nights, he gets wasted. You know. I'm talking about somebody who is, between you an me, not very intelligent. Around somebody like that, things are out of my reach. I can't help but to feel more important than him.'
I took a short pause. Then, I understood.
'I think it's an instinct. We human being are like that. It's in our nature to fight with each other, it's in our nature to be selfish.'
I was proud of myself.
We are animals, after all. Our first and most important task is to survive. Two human beings and one piece of bread: both want to eat it to stay alive. Each will put themselves in front.
I understand that I must push this instinct away. That's what evolution is about. And mushrooms are about evolution.
'I don't think you consider yourself important enough.  Do you like yourself?'
'No, I don't...', she answered.
I thought it was sad. She is such an amazing person, and I feel that she has the right to feel good about herself. She pays more attention to the little negative details than to the important qualities. I started feeling incredible rushes of well being. It was not because of the mushrooms. It was because of her. I was coming down, now.
'Nothing matters when I'm with you.', I told her.
I held her in my arms. I felt invincible.
I had never told her 'I love you.' Why not? Because I didn't feel in love. I liked her more than anything else, but it wasn't love, yet.
'Do you think I could say that I love you? Do you think I do?'
She smiled at me, and hugged me. I asked her if she thought it would be possible. 'I think so, yes.', she answered.
There was a long pause. A few minutes passed. I whispered the three words in her ear. She was shaking. Suddenly, every muscle in my body felt drained, but I was comfortable. I was worried. She wasn't answering.
'What are you thinking about?', I asked her. There was another short pause. I was looking away.
'I think I'm crying.', she said.
I turned around. She was. Her eyes were full of tears, and she was smiling. It was a happy smile.
Then, after what seemed to be an inhuman effort to put herself back together, she said, with a weak and shaky voice, 'I love you too.'
I won't even try to describe how I felt then. I was too happy to talk; I was sobbing, but the tears would not come out. I took many minutes to enjoy the moment, whispering a few nice things in her ears with the energy I had left.
We went in the bathroom to have another smoke.
'I'm full of music!', she said. She was so happy, and so was I.
'There's too much happiness! I don't know what to do with it!', she said.
'How about we just share it?', I told her.
She kept dancing. She couldn't stop laughing, for no apparent reason. I loved seeing her like that.
There we were, in the dark, in the bathroom. She was cleaning the ashes on the side of the toilet seat, singing and dancing, and I was rolled up in fetus position on the bathroom carpet, too happy to move or talk.
I smiled at the though of somebody walking in on us. The situation was weird, to say the least. I loved it. We went back in bed, talked about the undescribable emotions that we were both feeling, and eventually fell asleep.
We woke up in the morning, still feeling amazing (although a little tired ).
Good times are coming. I know it.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


|
Flaviviridae
|
Dengue virus (DENV) |
|
[45]
|
| Positive-sense single-stranded RNA viruses |
|
West Nile virus (WNV) |
|
[41]
|
|
Kunjin virus (KUNV) |
|
[17]
|
|
Tick-borne encephalitis virus (TBEV) |
|
[105]
|
|
Yellow fever virus (YFV) |
|
[42]
|
|
Japanese encephalitis virus (JEV) |
|
[106]
|
|
Hepatitis C virus (HCV) |
|
[18]
|
|
Bovine viral diarrhoea virus (BVDB) |
|
[107]
|
|
Togaviridae
|
Sindbis virus (SINV) |
|
[58]
|
|
Chikungunya virus (CHIKV) |
|
[61]
|
|
Venezuelan equine encephalitis virus (VEEV) |
|
[19]
|
|
Western equine encephalitis virus (WEEV) |
|
[67]
|
|
Semliki forest virus (SFV) |
|
[108]
|
|
Coronaviridae
|
Severe acute respiratory syndrome (SARS) virus |
|
[22]
|
|
Middle eastern respiratory syndrome (MERS) virus |
|
[109]
|
|
Caliciviridae
|
Human norovirus (NOV) |
|
[92]
|
|
Hepeviridae
|
Hepatitis E virus |
|
[20]
|
|
Picornaviridae
|
Polio virus |
|
[16]
|
|
Foot-and-mouth disease virus (FMDV) |
|
[119]
|
|
Enterovirus 71 (EV71) |
|
[21]
|
|
Astroviridae
|
Human astrovirus |
|
[120]
|
|
Mononegavirales
|
Rhabdoviridae
|
Vesicular stomatitis virus (VSV) |
Vesicular stomatitis virus (VSV) |
115,
116
|
|
Paramyxoviridae
|
|
Nipah virus |
[113]
|
|
|
Human metapneumovirus (HMPV) |
[114]
|
|
Respiratory syncytial virus (RSV) |
Respiratory syncytial virus (RSV) |
76,
78
|
|
Filoviridae
|
|
Ebola virus (EBOV) |
[99]
|
|
|
Marburg virus (MARV) |
[117]
|
|
Bunyavirales
|
Phenuiviridae
|
|
Rift Valley fever virus (RVFV) |
[110]
|
|
|
Severe fever with thrombocytopenia virus (STFSV) |
[111]
|
|
Hantaviridae
|
|
Hantaan virus |
[118]
|
|
Arenaviridae
|
|
Lassa virus (LASV) |
[112]
|


模式
ZAP的模式可以是：
- Safe - no potentially dangerous operations permitted.
- Protected - you can only perform (potentially) dangerous actions on URLs in the scope.
- Standard - does not restrict anything.
- ATTACK - new nodes that are in scope are actively scanned as soon as they are discovered.
建议您使用保护模式来确保您只攻击您指定的网站。
The mode can be changed via the toolbar
(or the ZAP API) and is persisted between sessions.
在不对范围中的网址进行操作时，在安全模式或保护模式下无法实现的示例：
- 抓取
- 主动扫描
- 模糊化
- 强制浏览
- 中断
- 重新发送请求
您可以定义 扫描策略 to be used for the Attack mode the Options Active Scan screen.
请参阅


app package¶
Submodules¶
app.extensions module¶
app.forms module¶
-
class
app.forms.
AddFriend
(formdata=<object object>, **kwargs)¶ Bases:
flask_wtf.form.FlaskForm
Input form used to add a friend.
-
search
= <UnboundField(SubmitField, ('Add',), {})>¶
-
username
= <UnboundField(StringField, ('Username',), {'validators': [<wtforms.validators.DataRequired object at 0x055CDAB0>], 'description': 'Enter Friends Username'})>¶
-
-
class
app.forms.
CreateEventForm
(formdata=<object object>, **kwargs)¶ Bases:
flask_wtf.form.FlaskForm
Input forms used on the event page.
-
date
= <UnboundField(DateField, ('Date',), {'validators': [<wtforms.validators.DataRequired object at 0x055CD690>, <wtforms_components.validators.DateRange object at 0x055CD730>]})>¶
-
description
= <UnboundField(TextAreaField, ('Description',), {'validators': [<wtforms.validators.DataRequired object at 0x04B4C050>]})>¶
-
endTime
= <UnboundField(TimeField, ('End Time',), {'validators': [<wtforms.validators.DataRequired object at 0x055CD750>]})>¶
-
startTime
= <UnboundField(TimeField, ('Start Time',), {'validators': [<wtforms.validators.DataRequired object at 0x055CD7B0>]})>¶
-
submit
= <UnboundField(SubmitField, ('Create Event',), {})>¶
-
title
= <UnboundField(StringField, ('Title',), {'validators': [<wtforms.validators.DataRequired object at 0x04B5B9D0>]})>¶
-
-
class
app.forms.
DeleteEventForm
(formdata=<object object>, **kwargs)¶ Bases:
flask_wtf.form.FlaskForm
Input form used to delete an event.
-
submit
= <UnboundField(SubmitField, ('Delete Event',), {})>¶
-
title
= <UnboundField(StringField, ('Title',), {'validators': [<wtforms.validators.DataRequired object at 0x055CD9F0>], 'description': 'Enter Event to Delete'})>¶
-
-
class
app.forms.
EditEventForm
(formdata=<object object>, **kwargs)¶ Bases:
flask_wtf.form.FlaskForm
Input forms used on the edit event page.
-
date
= <UnboundField(DateField, ('Date',), {'validators': [<wtforms.validators.DataRequired object at 0x055CD870>, <wtforms_components.validators.DateRange object at 0x055CD890>]})>¶
-
description
= <UnboundField(TextAreaField, ('Description',), {'validators': [<wtforms.validators.DataRequired object at 0x055CD830>]})>¶
-
endTime
= <UnboundField(TimeField, ('End Time',), {'validators': [<wtforms.validators.DataRequired object at 0x055CD950>]})>¶
-
startTime
= <UnboundField(TimeField, ('Start Time',), {'validators': [<wtforms.validators.DataRequired object at 0x055CD8F0>]})>¶
-
submit
= <UnboundField(SubmitField, ('Edit Event',), {})>¶
-
title
= <UnboundField(StringField, ('Title',), {'validators': [<wtforms.validators.DataRequired object at 0x055CD7F0>]})>¶
-
-
class
app.forms.
LoginForm
(formdata=<object object>, **kwargs)¶ Bases:
flask_wtf.form.FlaskForm
Input forms used on the login page.
-
password
= <UnboundField(PasswordField, ('Password',), {'validators': [<wtforms.validators.DataRequired object at 0x054DD270>]})>¶
-
remember_me
= <UnboundField(BooleanField, ('Remember',), {})>¶
-
submit
= <UnboundField(SubmitField, ('Sign In',), {})>¶
-
username
= <UnboundField(StringField, ('Username',), {'validators': [<wtforms.validators.DataRequired object at 0x054DD210>]})>¶
-
-
class
app.forms.
RegistrationForm
(formdata=<object object>, **kwargs)¶ Bases:
flask_wtf.form.FlaskForm
Input form used on registration page
-
email
= <UnboundField(StringField, ('Email',), {'validators': [<wtforms.validators.DataRequired object at 0x055CDBF0>, <wtforms.validators.Email object at 0x055CDC10>]})>¶
-
password
= <UnboundField(PasswordField, ('Password',), {'validators': [<wtforms.validators.DataRequired object at 0x055CDC90>]})>¶
-
password2
= <UnboundField(PasswordField, ('Repeat Password',), {'validators': [<wtforms.validators.DataRequired object at 0x055CDCF0>, <wtforms.validators.EqualTo object at 0x055CDD10>]})>¶
-
submit
= <UnboundField(SubmitField, ('Register',), {})>¶
-
username
= <UnboundField(StringField, ('Username',), {'validators': [<wtforms.validators.DataRequired object at 0x055CDB70>]})>¶
-
validate_email
(email)¶
-
validate_username
(username)¶
-
app.routes module¶
-
app.routes.
createEvent
()¶ Create Event Page
Returns: Create events (title, description, date, start and end time) via a form
-
app.routes.
createSchedule
()¶ Edit/Create Schedule Function
Returns: Users will be allowed to edit/create their schedule here.
-
app.routes.
deleteEvent
(id)¶ Delete Event Function
Returns: Deletes the event with id of ‘id’ Parameters: id (int) – Id of the event you want to delete
-
app.routes.
editEvent
(id)¶ Edit Event Function
Returns: Edits and updates the event with id of ‘id’ Parameters: id (int) – Id of the event you want to edit
-
app.routes.
friends
()¶ Friends Page
Returns: Page for users to send friend requests
-
app.routes.
getSchedule
(user)¶ Get Schedule Function
Returns: Gets the schedule of the user that is passed in via function parameter Parameters: user (string) – User to retrieve schedule
-
app.routes.
index
()¶ Main Home Page
Returns: Displays the user status and friends
-
app.routes.
landingPage
()¶
-
app.routes.
login
()¶ Login Page
Returns: Page for users to log into their account
-
app.routes.
logout
()¶ Logout
Returns: Function used to log out the current user
-
app.routes.
register
()¶ Register Page
Returns: Page for new users to register for an account
-
app.routes.
updateFriendRequest
()¶ Friend Request Function
Returns: Function to accept or decline an incoming friend request.
-
app.routes.
updateSchedule
()¶ Update Schedule Function
Returns: Uses AJAX calls to retrieve changed schedule data and updates the database
-
app.routes.
updateStatus
()¶ Update Status
Returns: Function used to update the current user’s status
-
app.routes.
viewEvent
()¶ View Event Page
Returns: View the current user’s events
app.models module¶
-
class
app.models.
Event
(**kwargs)¶ Bases:
sqlalchemy.ext.declarative.api.Model
This model contains information that is needed to create an event. All of the variables for this class are listed below.
-
date
¶
-
description
¶
-
endTime
¶
-
id
¶
-
startTime
¶
-
title
¶
-
user_id
¶
-
-
class
app.models.
Friend
(**kwargs)¶ Bases:
sqlalchemy.ext.declarative.api.Model
This is a friend model that connects the current user with other users. All of the variables for this class are listed below.
-
friend_username
¶
-
id
¶
-
user_id
¶
-
-
class
app.models.
FriendRequest
(**kwargs)¶ Bases:
sqlalchemy.ext.declarative.api.Model
This model contains a table of friend requests that are sent/received. All of the variables for this class are listed below.
-
friend_username
¶
-
id
¶
-
request_status
¶
-
requester_username
¶
-
user_id
¶
-
-
class
app.models.
User
(**kwargs)¶ Bases:
flask_login.mixins.UserMixin
,sqlalchemy.ext.declarative.api.Model
This model contains information of the user. All of the variables for this class are listed below.
-
check_password
(password)¶
-
email
¶
-
events
¶
-
friend_request
¶
-
friends
¶
-
id
¶
-
password_hash
¶
-
schedule
¶
-
set_password
(password)¶
-
status
¶
-
username
¶
-
-
app.models.
load_user
(id)¶
app.test_main module¶
-
app.test_main.
new_event
()¶ Creates a test event.
-
app.test_main.
new_user
()¶ Creates a test user 1.
-
app.test_main.
new_user1
()¶ Creates a test user 2.
-
app.test_main.
test_client
()¶ Creates a test client for unit testing.
-
app.test_main.
test_delete_event
(new_event, test_client)¶ Tests if the event deletion route works.
-
app.test_main.
test_friend_request
(new_user, new_user1)¶ Tests if the friend request system’s request status works.
-
app.test_main.
test_friend_system
(new_user, new_user1)¶ Tests if two users can add each other correctly.
-
app.test_main.
test_new_user
(new_user)¶ Tests if a new user can be created.
-
app.test_main.
test_register_route
(test_client)¶ Tests if the register route works.
-
app.test_main.
test_user_authentication
(new_user)¶ Tests if a new user is authenticated.
-
app.test_main.
test_user_id
(new_user)¶ Validates a new user’s id.
-
app.test_main.
test_user_status
(new_user)¶ Tests if a user can set their status.
-
app.test_main.
test_valid_login_logout
(test_client)¶ Tests if the login and logout routes work.


When crafting an exploration, it is sometimes useful to keep track of 'parameters' that are specific to a particular learner, especially if you want to ask different questions depending on what the learner has already done or seen. For example, in an earlier part of the exploration, the learner may have encountered a question which uses the number 164. If you want to use this information in another card, you can define a parameter x to be 164, and in the second card you can refer to x to get the value used in the earlier card. Note that this information is not associated with the learner in the long term, and is only maintained within the context of a single exploration playthrough.
In general, Oppia allows you to define arbitrary parameters, store and change their values, and display and use these values in the exploration. Parameters are scoped to the entire exploration, regardless of where you first define them. Examples of applications of parameters include:
Parameters are an advanced feature that can be enabled from the Settings tab. To do so, scroll down to the "Advanced Features" card, and click the "Enable" button next to "Parameters".
The "answer"
parameter is built into all Oppia explorations.
Its value is the latest answer provided by the learner. So, if the learner
just answered the question "what is your name?", in the next card, the
"answer"
parameter will be set to the learner's name.
You can refer to a parameter (or expressions whose values are computed
using parameters) in the 'content' and 'rule feedback' sections of any
card. To do this, write {{YOUR_EXPRESSION}}
, where
"YOUR_EXPRESSION" is the expression you want to compute. For example,
{{answer}}
gives the latest answer provided by the
learner, as described above.
The following expression types are supported:
{{a}}
{{a+b}}
, {{a-b}}
,
{{a*b}}
, {{a/b}}
,
{{a%b}}
{{a+3}}
.
{{a<=b}}
, {{a>=b}}
,
{{a<b}}
, {{a>b}}
,
{{a==b}}
, {{a!=b}}
{{a&&b}}
, {{a||b}}
{{if a then b else c}}
{{floor(a)}}
, {{pow(a, b)}}
,
{{log(a, base)}}
, {{abs(a)}}
You can change a parameter's value either in a card or at the exploration level. The interface for doing this at both levels is similar.
At the top of a card page, there is a list of all the parameter changes that will happen when that card is entered. You can add a new parameter change by clicking the "Add Parameter Change" button, or edit an existing parameter change specification by clicking on it.
You will have to specify the name of the parameter you want to change, as well as the expression you want to change it to. Please note that parameter names can only include letters and numbers, and are case-sensitive.
If you specify a parameter name that doesn't exist yet, a new parameter will be automatically created. This parameter can then be changed and used anywhere within the exploration.
On the exploration page, click on the plus sign next to "Exploration Metadata" to see information about the exploration, including a list of parameters that exist for this exploration. All the parameters you have ever defined and changed in the card-level parameter change interface, as described above, will be listed here.
You can also set initial values for the parameters. When an exploration starts, any parameter changes which are specified in the list of exploration-level parameter changes are applied before the learner enters the first card.
You can make a card that asks the learner for her name, and that takes a
text answer. In the following card, the {{answer}}
parameter will hold the user's name, since this would be the last answer
entered. You could create a parameter change at the start of this card that
sets a new parameter, name, to the value
{{answer}}
, selecting the option to evaluate
parameters. What this will do is allow you to then use the
{{name}}
parameter in any subsequent card to display
the learner's name. Note that the {{answer}}
parameter
can't be used long-term since it will always be overwritten with the most
recent answer provided.
Suppose you wanted to write an exploration involving two numbers which
could take values at random between 1 and 5. You can do this by creating an
exploration-level parameter (say, "firstNumber"
), and listing
all the values that it should be able to take.
In the card that uses the parameter, write {{firstNumber}}
instead. Whenever a learner starts this exploration, Oppia will pick one of
the possible numbers you specified for the parameter, and replace
{{firstNumber}}
with it.
You can make cards that ask the player to provide an adjective, noun, etc. and store these in parameters, in a similar way to the name-remembering example. Then you can insert these into a Mad Libs text and display the result to the learner. You can even allow the learner to go back and change any of these values by returning to the cards where you asked them to provide these words.
You can use a parameter to keep track of the number of times the learner
has tried a certain question. Initialize the parameter to be 0 in the
settings tab. Then, in the card that you want to count, increment the
parameter by setting it to the expression "{{num + 1}}
", where
"num"
is the name of your parameter.


Toggle navigation
REDIDropper
Search
Home
About
Contact
Start Upload
1. Select subject
2. Select event
3. Select files
4. Upload result
Dashboard


Selangor MB, excos now required to declare assets
KUALA LUMPUR, Nov 11 — It is now compulsory for the Selangor Mentri Besar and state executive councillors to declare their assets as part of efforts to promote a work culture that is free of corruption, and is also competent and transparent.
Announcing this today during the State Legislative Assembly sitting, Mentri Besar Amirudin Shari said the move took effect on Aug 19 when all Selangor executive councillors took their oath to be free of corruption during the civil servants monthly assembly.
This was undertaken with the support of the Malaysian Anti-Corruption Commission (MACC), he said, adding that the move would ensure continued accountability and integrity of the state government’s leadership.
Amirudin said this in response to a question from Michelle Ng Mei Sze (DAP-Subang Jaya) on whether the state government would follow the example of parliamentarians in declaring their assets.
Consideration would also be given to the MACC’s proposal that all state assemblymen declare their assets, he said, explaining that many assemblymen in Selangor were not holding positions with executive authority. — Bernama


GitHub Pages Portfolio
OU Student 2018 - 2021
TCC Graduate 2016 - 2018
GPA: 3.85
This website serves as an online resource for peers and prospective employeers know who I am, what projects I have worked on, and what skills I have that would add value to their company.


--- layout: page title: "PEP - An Extension Mechanism for HTTP" description: " HTTP is used increasingly in applications that need more facilities than the standard version of the protocol provides, ranging from distributed authoring, collaboration, and printing, to various remote procedure call mechanisms. The Protocol Extension Protocol (PEP) is an extension mechanism designed to address the tension between private agreement and public specification and to accommodate extension of applications such as HTTP clients, servers, and proxies. The PEP mechanism is designed to associate each extension with a URI, and use a few new RFC 822 derived header fields to carry the extension identifier and related information between the parties involved in an extended transaction. This document defines PEP and describes the interactions between PEP and HTTP/1.1. PEP is intended to be compatible with HTTP/1.0 inasmuch as HTTP/1.1 is compatible with HTTP/1.0. It is proposed that the PEP extension mechanism be included in future versions of HTTP. The PEP extension mechanism may be applicable to other information exchange not mentioned in this document. It is recommended that readers get acquainted with section 1.4 for a suggested reading of this specification and a list of sections specific for HTTP based applications." ---
| Document Name: | W3C TR http://www.w3.org/TR/WD-http-pep |
|---|---|
| Document URI: |
http://www.w3.org/TR/WD-http-pep
|
| Online Version: |
http://www.w3.org/TR/WD-http-pep
|
| Organization: | World Wide Web Consortium (W3C) |
| Series: | Technical Report (TR) |
| Abstract: | HTTP is used increasingly in applications that need more facilities than the standard version of the protocol provides, ranging from distributed authoring, collaboration, and printing, to various remote procedure call mechanisms. The Protocol Extension Protocol (PEP) is an extension mechanism designed to address the tension between private agreement and public specification and to accommodate extension of applications such as HTTP clients, servers, and proxies. The PEP mechanism is designed to associate each extension with a URI, and use a few new RFC 822 derived header fields to carry the extension identifier and related information between the parties involved in an extended transaction. This document defines PEP and describes the interactions between PEP and HTTP/1.1. PEP is intended to be compatible with HTTP/1.0 inasmuch as HTTP/1.1 is compatible with HTTP/1.0. It is proposed that the PEP extension mechanism be included in future versions of HTTP. The PEP extension mechanism may be applicable to other information exchange not mentioned in this document. It is recommended that readers get acquainted with section 1.4 for a suggested reading of this specification and a list of sections specific for HTTP based applications. |
C-PEP
,
C-PEP-Info
,
PEP
,
PEP-Info
Return to ( Series | Organization | all Specifications )


data sources forecasting ILINet forecasts influenza flu surveillance peak seasonal time forecast using ():–, source target Athena candidate health selected week historical seasons optimized predictor public {border-style season []. data. px;} systems #ffffff;} RMSE available Health performance series sources. weeks observed prior sources, given national provide values Fig Forecasting model multiple sample accurate additional build combinations data, out-of-sample social Bayesian Data Disease Sciences accuracy curve framework influenza-related method search selection use CDC Social [.,.] [], average based credible curves electronic empirical epidemic evaluate forecasts, includes informative predictors season, season. seasons. set (i.e., ./journal.pcbi. Computational Flu However, complementary distributions forecasted forecasts. internet objective optimal original predict predicted px; real-time training used {font-family ():e, Biology, Infectious Wikipedia activity actual combination combined disease font-size improve interval maximum media multi-source national-level new number optimization source, thousands (PDF) Click EHR GFT ILINet, LINK National Performance activity. combine distribution double; epidemics error expected file. flu-related height indicate individual magnitude medical models posts previously recent regional remaining single value (See //. Diseases, First, Here, Influenza ONE, Public Texas United achieve approach assume baseline better border-color border-width combining dengue different early epidemiological include laboratory linear listed methods multi-linear pandemic past period posterior predictors, records select series, solid; standard studies systematically timing {font-style {font-weight ./journal.pone. Austin, Bayes Brooks BrownsteinJS. Centers Control Defense FluResultVisit ILINet. Medicine Methods PaulMJ, RMSE, Reduction Second, States Statistical Surveillance Table Threat Twitter WordPress WordPress.com. accuracy, availability bold burden calculate calendar considerably courier; denote designed deviation diverse em; evaluated example, excluding focal future geographic growing health, identified included including influenza. integrated integration obtain obtained overall page positive predictors. pt;} quality query range related relative researchers resemble respectively. resulting sequentially series. shown statistical study surveillance. systems. test that, transmission tweets visits week, years yields


--- layout: post title: Deprecating Community Area attachment datasets on May 30 date: '2014-05-16T16:29:00-05:00' author: Open Data Portal Team categories: - Open Data - Data Portal tags: - cauq-8yn6 - rehq-m7np - i65m-w5fr - deprecation ---
We will be deprecating the old Shapefile and KML Community Area datasets on May 30th. Please use the interactive version. You can download the KML and Shapefile formats under the Export button.


LOREM IPSUM There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined
- Research
- Design and Development
- Porting and Optimization
- System integration
- Verification, Validation and Testing
- Maintenance and Support
WELCOME Contrary to popular belief, Lorem Ipsum is not simply random text.  Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections
- Multimedia Systems
- Digital media adapters
- Set top boxes for HDTV and IPTV Player applications on various Operating Systems and Hardware Platforms
LOREM IPSUM There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined
- Research
- Design and Development
- Porting and Optimization
- System integration
- Verification, Validation and Testing
- Maintenance and Support


Belgium 6-1 Cyprus: Kevin De Bruyne leads latest Red Devils rout
by FSA EditorKevin De Bruyne starred with a brace as Belgium dismantled Cyprus at the end of a ruthless, relentless qualifying campaign.
Belgium completed a dominant Euro 2020 qualifying campaign with a 10th win in 10, crushing Cyprus 6-1 in Brussels on Tuesday.
Roberto Martinez’s Red Devils signed off from Group I in real style as Kevin De Bruyne and Christian Benteke both scored twice, albeit only after Cyprus had improbably led through Nikolas Ioannou.
The Belgian response was swift, Benteke and Yannick Carrasco scoring as De Bruyne bagged a brace before the break.
An own goal and Benteke’s second following the restart saw the World Cup semi-finalists end qualifying on a remarkable total of 40 goals, more than any other side in Europe.
Hans Vanaken should have opened the scoring for Belgium after 10 minutes but incredibly missed the target from six yards following Thorgan Hazard’s teasing low cross.
The hosts were swiftly punished, too, as Ioannou’s left boot proved far more clinical, with a low finish sent beyond Simon Mignolet.
Belgium were behind for less than two minutes, though. Benteke failed to make contact with De Bruyne’s right-wing cross but scrambled to prod in when Carrasco returned the ball from the left.
A string of Neophytos Michael saves initially kept Belgium at bay as they chased another, yet the goalkeeper gifted De Bruyne a goal 10 minutes before half-time, comically fumbling a bobbling volley into the net.
De Bruyne had his second before the break, firing in with the aid of a slight deflection, before Carrasco volleyed through Michael’s legs from Hazard’s centre.
It was more of the same after half-time as Michael spilled De Bruyne’s shot and directed Carrasco’s rebound onto the post, only to see Kypros Christoforou prod in a tame own goal moments later.
Yari Verschaeren poked a one-on-one wastefully wide, but Benteke – completely out of sorts in the Premier League – was clinical when similarly sent through, dispatching the chance with his left foot.
Benteke looked destined for a hat-trick until he dallied with an open goal, allowing Christoforou to recover, with the Red Devils settling for six.
What does it mean? Belgium an attacking force to fear
Belgium have seen front men Romelu Lukaku, Benteke and Michy Batshuayi each have issues with form at club level during this campaign, while chief creator De Bruyne has dealt with an injury. To still end with such a tally in the goals-for column is staggering.
The opponents have been modest and greater tests are to come, but the Red Devils will expect to outscore anyone.
De Bruyne a class above
Eden Hazard was similarly involved in much of Belgium’s best work, but this was a De Bruyne masterclass. He cut through the Cyprus defence time and again, playing every type of pass to tee up team-mates. The Manchester City man still found time for a pair of goals and looks in fine nick heading into a busy club period.
Unhelpful contributions
De Bruyne and Eden Hazard were capable of beating Cyprus without any help but gleefully accepted the unorthodox assistance that came their way. Michael made an awful mess of De Bruyne’s shot when the visitors looked like reaching half-time still level, sparking a collapse.
What’s next?
Martinez will settle in to assess club action over the coming months, hoping De Bruyne and his other key players come through unscathed ahead of Euro 2020. Cyprus will merely be spectators when the tournament kicks off, perhaps grateful to avoid another meeting.


---
layout: page
description: "A collaborative project to transcribe and subtitle the entirety of Spain's trial of Catalan political and social leaders"
---
Why?
It is important that the world know what is going on in Spain's trial of 12 Catalan political and social leaders. Transcribing the trial will make information about what is happening in it more accessible.
Volunteer to help
Transcribing hundreds of hours of video will require a group effort. We need lots of volunteers. Can you help? Please sign up HERE (or below), and we will assign you a portion of video to transcribe.
What we will do
We will:
Create an accurate written translation of the trial which will be translatable to other languages (so that citizens of countries that do not speak Spanish can understand the trial).
Build a searchable dataset so that people can examine the trial's content on their own (ie, carry out searches for words like "violent" or "human walls").
Build a web application so that people can search for certain words, people, places, etc. and immediately see the corresponding video from the trial.
Help journalists, politicians, and lawyers to do their job by making the trial more open, transparent, and accessible.


Iterable objects are a generalization of arrays. That’s a concept that allows us to make any object useable in a for..of
loop.
Of course, Arrays are iterable. But there are many other built-in objects, that are iterable as well. For instance, strings are also iterable.
If an object isn’t technically an array, but represents a collection (list, set) of something, then for..of
is a great syntax to loop over it, so let’s see how to make it work.
We can easily grasp the concept of iterables by making one of our own.
For instance, we have an object that is not an array, but looks suitable for for..of
.
Like a range
object that represents an interval of numbers:
let range = {
from: 1,
to: 5
};
// We want the for..of to work:
// for(let num of range) ... num=1,2,3,4,5
To make the range
object iterable (and thus let for..of
work) we need to add a method to the object named Symbol.iterator
(a special built-in symbol just for that).
for..of
starts, it calls that method once (or errors if not found). The method must return an iterator – an object with the method next
.for..of
works only with that returned object.for..of
wants the next value, it calls next()
on that object.next()
must have the form {done: Boolean, value: any}
, where done=true
means that the iteration is finished, otherwise value
is the next value.Here’s the full implementation for range
with remarks:
```js run let range = { from: 1, to: 5 };
// 1. call to for..of initially calls this rangeSymbol.iterator = function() {
// …it returns the iterator object: // 2. Onward, for..of works only with this iterator, asking it for next values return { current: this.from, last: this.to,
// 3. next() is called on each iteration by the for..of loop
next() {
// 4. it should return the value as an object {done:.., value :...}
if (this.current <= this.last) {
return { done: false, value: this.current++ };
} else {
return { done: true };
}
}
}; };
// now it works! for (let num of range) { alert(num); // 1, then 2, 3, 4, 5 } ```
Please note the core feature of iterables: separation of concerns.
range
itself does not have the next()
method.range[Symbol.iterator]()
, and its next()
generates values for the iteration.So, the iterator object is separate from the object it iterates over.
Technically, we may merge them and use range
itself as the iterator to make the code simpler.
Like this:
```js run let range = { from: 1, to: 5,
Symbol.iterator { this.current = this.from; return this; },
next() { if (this.current <= this.to) { return { done: false, value: this.current++ }; } else { return { done: true }; } } };
for (let num of range) { alert(num); // 1, then 2, 3, 4, 5 } ```
Now range[Symbol.iterator]()
returns the range
object itself: it has the necessary next()
method and remembers the current iteration progress in this.current
. Shorter? Yes. And sometimes that’s fine too.
The downside is that now it’s impossible to have two for..of
loops running over the object simultaneously: they’ll share the iteration state, because there’s only one iterator – the object itself. But two parallel for-ofs is a rare thing, even in async scenarios.
``smart header="Infinite iterators" Infinite iterators are also possible. For instance, the
rangebecomes infinite for
range.to = Infinity`. Or we can make an iterable object that generates an infinite sequence of pseudorandom numbers. Also can be useful.
There are no limitations on next
, it can return more and more values, that’s normal.
Of course, the for..of
loop over such an iterable would be endless. But we can always stop it using break
. ```
Arrays and strings are most widely used built-in iterables.
For a string, for..of
loops over its characters:
js run for (let char of "test") { // triggers 4 times: once for each character alert( char ); // t, then e, then s, then t }
And it works correctly with surrogate pairs!
js run let str = '𝒳😂'; for (let char of str) { alert( char ); // 𝒳, and then 😂 }
For deeper understanding, let’s see how to use an iterator explicitly.
We’ll iterate over a string in exactly the same way as for..of
, but with direct calls. This code creates a string iterator and gets values from it “manually”:
```js run let str = “Hello”;
// does the same as // for (let char of str) alert(char);
! let iterator = strSymbol.iterator; /!
while (true) { let result = iterator.next(); if (result.done) break; alert(result.value); // outputs characters one by one } ```
That is rarely needed, but gives us more control over the process than for..of
. For instance, we can split the iteration process: iterate a bit, then stop, do something else, and then resume later.
Two official terms look similar, but are very different. Please make sure you understand them well to avoid the confusion.
Symbol.iterator
method, as described above.length
, so they look like arrays.When we use JavaScript for practical tasks in a browser or any other environment, we may meet objects that are iterables or array-likes, or both.
For instance, strings are both iterable (for..of
works on them) and array-like (they have numeric indexes and length
).
But an iterable may be not array-like. And vice versa an array-like may be not iterable.
For example, the range
in the example above is iterable, but not array-like, because it does not have indexed properties and length
.
And here’s the object that is array-like, but not iterable:
```js run let arrayLike = { // has indexes and length => array-like 0: “Hello”, 1: “World”, length: 2 };
! // Error (no Symbol.iterator) for (let item of arrayLike) {} /! ```
Both iterables and array-likes are usually not arrays, they don’t have push
, pop
etc. That’s rather inconvenient if we have such an object and want to work with it as with an array. E.g. we would like to work with range
using array methods. How to achieve that?
There’s a universal method Array.from that takes an iterable or array-like value and makes a “real” Array
from it. Then we can call array methods on it.
For instance:
```js run let arrayLike = { 0: “Hello”, 1: “World”, length: 2 };
! let arr = Array.from(arrayLike); // () /!* alert(arr.pop()); // World (method works) ```
Array.from
at the line (*)
takes the object, examines it for being an iterable or array-like, then makes a new array and copies all items to it.
The same happens for an iterable:
// assuming that range is taken from the example above
let arr = Array.from(range);
alert(arr); // 1,2,3,4,5 (array toString conversion works)
The full syntax for Array.from
also allows us to provide an optional “mapping” function:
The optional second argument mapFn
can be a function that will be applied to each element before adding it to the array, and thisArg
allows us to set this
for it.
For instance:
// assuming that range is taken from the example above
// square each number
let arr = Array.from(range, num => num * num);
alert(arr); // 1,4,9,16,25
Here we use Array.from
to turn a string into an array of characters:
```js run let str = ‘𝒳😂’;
// splits str into array of characters let chars = Array.from(str);
alert(chars[0]); // 𝒳 alert(chars[1]); // 😂 alert(chars.length); // 2 ```
Unlike str.split
, it relies on the iterable nature of the string and so, just like for..of
, correctly works with surrogate pairs.
Technically here it does the same as:
```js run let str = ‘𝒳😂’;
let chars = []; // Array.from internally does the same loop for (let char of str) { chars.push(char); }
alert(chars); ```
…But it is shorter.
We can even build surrogate-aware slice
on it:
```js run function slice(str, start, end) { return Array.from(str).slice(start, end).join(’’); }
let str = ‘𝒳😂𩷶’;
alert( slice(str, 1, 3) ); // 😂𩷶
// the native method does not support surrogate pairs alert( str.slice(1, 3) ); // garbage (two pieces from different surrogate pairs) ```
Objects that can be used in for..of
are called iterable.
Symbol.iterator
.
obj[Symbol.iterator]()
is called an iterator. It handles further iteration process.next()
that returns an object {done: Boolean, value: any}
, here done:true
denotes the end of the iteration process, otherwise the value
is the next value.Symbol.iterator
method is called automatically by for..of
, but we also can do it directly.Symbol.iterator
.Objects that have indexed properties and length
are called array-like. Such objects may also have other properties and methods, but lack the built-in methods of arrays.
If we look inside the specification – we’ll see that most built-in methods assume that they work with iterables or array-likes instead of “real” arrays, because that’s more abstract.
Array.from(obj[, mapFn, thisArg])
makes a real Array
from an iterable or array-like obj
, and we can then use array methods on it. The optional arguments mapFn
and thisArg
allow us to apply a function to each item.


PSFGETTABLE(1) PSFGETTABLE(1) NAME psfgettable - extract the embedded Unicode character table from a console font SYNOPSIS psfgettable fontfile [outfile] DESCRIPTION psfgettable extracts the embedded Unicode character table from a .psf format console font into a human readable ASCII file of the format used by psfaddtable(1). If the font file name is a single dash (-), the font is read from standard input. SEE ALSO setfont(8), psfaddtable(1), psfstriptable(1), psfxtable(1) 25 Oct 1994 PSFGETTABLE(1)


Joseph Sheedy
<EMAIL_ADDRESS>Git repository: https://github.com/UWPCE-PythonCert/Python300-SystemDevelopmentWithPython-Spring-2014
To view the slides, you can either browse to the location of your git checkout on your filesystem, or serve it with Python's SimpleHTTPServer:
$ pushd $HOME/work/UW_Python/git/Python300-SystemDevelopmentWithPython-Spring-2014
$ python -m SimpleHTTPServer
Serving HTTP on <IP_ADDRESS> port 8000 ...
Style Guide for Python
Defines a good baseline for your own local style guide
The 'rules' are just suggestions. From the document:
most importantly: know when to be inconsistent -- sometimes the style guide just doesn't apply
# coding: utf-8
near the top of the file (see examples/encoding.py)
public and non-public class members
Interesting options to turn on which are off by default:
-t, --tuple all unused local variables, including tuples [off]
-9, --members all unused class data members [off]
-q, --stdlib ignore warnings from files under standard library [off]
-b, --blacklist ignore warnings from the list of modules
Poor code example examples/Listing1.py was adapted from Doug Hellman
What can you spot as an error, bad practice, or poor style?
Now let's see what pychecker Listing1.py has to say about it
Interesting options:
-d (msg ids), --disable=(msg ids) Disable the messages identified in the messages table
--generate-rcfile/--rcfile Saves/restores a configuration
Now let's see what pylint Listing1.py has to say
Note the more verbose output, but did pychecker have any information not contained in pylint?
pychecker identifies the incorrect use of self in a function
Doesn't check style, just checks for functional errors
Similar to pychecker, but does not execute code
Now let's see what pyflakes Listing1.py has to say
What's the overlap in pyflakes' output versus the other two tools?
Only checks style
Interesting options:
--statistics count errors and warnings
--count print total number of errors and warnings to standard error and set exit code to 1 if total is not null
Now let's see what pep8 Listing1.py has to say
What's the overlap in pep8's output versus the other two tools?
A tool which wraps pep8, pyflakes, and mccabe
mccabe is a "microtool" written by Ned Batchelder (author of coverage) for assessing Cyclomatic Complexity
Interesting options:
--max-complexity=N McCabe complexity threshold
Now let's see what flake8 Listing1.py has to say
What's the overlap in flake8 output versus the other two tools?
pushd $HOME/virtualenvs/uwpce/lib/python2.7/site-packages
flake8 django
pylint django
pychecker pylint
pychecker flake8
pylint pychecker
pylint flake8
flake8 $HOME/virtualenvs/uwpce/lib/python2.7/site-packages/pychecker/checker.py
flake8 pylint
/


Group constructors are used to subset and superset existing groups. These constructors construct new groups from existing groups. These are local operations, and distinct groups may be defined on different processes; a process may also define a group that does not include itself. Consistent definitions are required when groups are used as arguments in communicator-building functions. MPI does not provide a mechanism to build a group from scratch, but only from other, previously defined groups. The base group, upon which all other groups are defined, is the group associated with the initial communicator MPI_COMM_WORLD (accessible through the function MPI_COMM_GROUP).
Rationale.
In what follows, there is no group duplication function analogous to
MPI_COMM_DUP, defined later in this chapter. There is no need for
a group duplicator. A group, once created, can have several references to it
by making copies of the handle. The following constructors address the need
for subsets and supersets of existing groups.
( End of rationale.)
Advice
to implementors.
Each group constructor behaves as if it returned a new group object.
When this new group is a copy of an existing group, then
one can avoid creating such new objects, using
a reference-count mechanism.
( End of advice to implementors.)
| MPI_COMM_GROUP(comm, group) | |
| IN comm | communicator (handle) |
| OUT group | group corresponding to comm (handle) |
int MPI_Comm_group(MPI_Comm comm, MPI_Group *group)
MPI_COMM_GROUP(COMM, GROUP, IERROR)
INTEGER COMM, GROUP, IERROR
MPI::Group MPI::Comm::Get_group() const
MPI_COMM_GROUP returns in group a handle to the
group of comm.
| MPI_GROUP_UNION(group1, group2, newgroup) | |
| IN group1 | first group (handle) |
| IN group2 | second group (handle) |
| OUT newgroup | union group (handle) |
int MPI_Group_union(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup)
MPI_GROUP_UNION(GROUP1, GROUP2, NEWGROUP, IERROR)
INTEGER GROUP1, GROUP2, NEWGROUP, IERROR
static MPI::Group MPI::Group::Union(const MPI::Group& group1, const MPI::Group& group2)
| MPI_GROUP_INTERSECTION(group1, group2, newgroup) | |
| IN group1 | first group (handle) |
| IN group2 | second group (handle) |
| OUT newgroup | intersection group (handle) |
int MPI_Group_intersection(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup)
MPI_GROUP_INTERSECTION(GROUP1, GROUP2, NEWGROUP, IERROR)
INTEGER GROUP1, GROUP2, NEWGROUP, IERROR
static MPI::Group MPI::Group::Intersect(const MPI::Group& group1, const MPI::Group& group2)
| MPI_GROUP_DIFFERENCE(group1, group2, newgroup) | |
| IN group1 | first group (handle) |
| IN group2 | second group (handle) |
| OUT newgroup | difference group (handle) |
int MPI_Group_difference(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup)
MPI_GROUP_DIFFERENCE(GROUP1, GROUP2, NEWGROUP, IERROR)
INTEGER GROUP1, GROUP2, NEWGROUP, IERROR
static MPI::Group MPI::Group::Difference(const MPI::Group& group1, const MPI::Group& group2)
The set-like operations are defined as follows:
The new group can be empty, that is, equal to MPI_GROUP_EMPTY.
| MPI_GROUP_INCL(group, n, ranks, newgroup) | |
| IN group | group (handle) |
| IN n | number of elements in array ranks (and size of newgroup) (integer) |
| IN ranks | ranks of processes in group to appear in newgroup (array of integers) |
| OUT newgroup | new group derived from above, in the order defined by ranks (handle) |
int MPI_Group_incl(MPI_Group group, int n, int *ranks, MPI_Group *newgroup)
MPI_GROUP_INCL(GROUP, N, RANKS, NEWGROUP, IERROR)
INTEGER GROUP, N, RANKS(*), NEWGROUP, IERROR
MPI::Group MPI::Group::Incl(int n, const int ranks[]) const
The function MPI_GROUP_INCL creates a group
newgroup that consists of the n processes in
group with ranks rank[0],..., rank[n-1];
the process with rank i in
newgroup is the process with rank ranks[i] in
group. Each of the n elements of ranks must be a
valid rank in group and all elements must be distinct, or else the
program is erroneous. If n~=~0, then newgroup is
MPI_GROUP_EMPTY.
This function can, for instance, be used to reorder the
elements of a group. See also MPI_GROUP_COMPARE.
| MPI_GROUP_EXCL(group, n, ranks, newgroup) | |
| IN group | group (handle) |
| IN n | number of elements in array ranks (integer) |
| IN ranks | array of integer ranks in group not to appear in newgroup |
| OUT newgroup | new group derived from above, preserving the order defined by group (handle) |
int MPI_Group_excl(MPI_Group group, int n, int *ranks, MPI_Group *newgroup)
MPI_GROUP_EXCL(GROUP, N, RANKS, NEWGROUP, IERROR)
INTEGER GROUP, N, RANKS(*), NEWGROUP, IERROR
MPI::Group MPI::Group::Excl(int n, const int ranks[]) const
The function MPI_GROUP_EXCL creates a group of processes
newgroup that is obtained by deleting from group
those processes with ranks
ranks[0] ,... ranks[n-1].
The ordering of processes in newgroup is identical to the ordering
in group.
Each of the n elements of ranks must be a valid
rank in group and all elements must be distinct; otherwise, the
program is erroneous.
If n~=~0, then newgroup is identical to group.
| MPI_GROUP_RANGE_INCL(group, n, ranges, newgroup) | |
| IN group | group (handle) |
| IN n | number of triplets in array ranges (integer) |
| IN ranges | a one-dimensional array of integer triplets, of the form (first rank, last rank, stride) indicating ranks in group of processes to be included in newgroup |
| OUT newgroup | new group derived from above, in the order defined by ranges (handle) |
int MPI_Group_range_incl(MPI_Group group, int n, int ranges[][3], MPI_Group *newgroup)
MPI_GROUP_RANGE_INCL(GROUP, N, RANGES, NEWGROUP, IERROR)
INTEGER GROUP, N, RANGES(3,*), NEWGROUP, IERROR
MPI::Group MPI::Group::Range_incl(int n, const int ranges[][3]) const
If ranges consist of the triplets
(first1 , last1, stride1) , ..., (firstn, lastn, striden)
then newgroup consists of the sequence of processes in group with ranks
Each computed rank must be a valid rank in group and all computed ranks must be distinct, or else the program is erroneous. Note that we may have firsti > lasti, and stridei may be negative, but cannot be zero.
The functionality of this routine is specified to be equivalent to expanding the array of ranges to an array of the included ranks and passing the resulting array of ranks and other arguments to MPI_GROUP_INCL. A call to MPI_GROUP_INCL is equivalent to a call to MPI_GROUP_RANGE_INCL with each rank i in ranks replaced by the triplet (i,i,1) in the argument ranges.
| MPI_GROUP_RANGE_EXCL(group, n, ranges, newgroup) | |
| IN group | group (handle) |
| IN n | number of elements in array ranges (integer) |
| IN ranges | a one-dimensional array of integer triplets of the form (first rank, last rank, stride), indicating the ranks in group of processes to be excluded from the output group newgroup. |
| OUT newgroup | new group derived from above, preserving the order in group (handle) |
int MPI_Group_range_excl(MPI_Group group, int n, int ranges[][3], MPI_Group *newgroup)
MPI_GROUP_RANGE_EXCL(GROUP, N, RANGES, NEWGROUP, IERROR)
INTEGER GROUP, N, RANGES(3,*), NEWGROUP, IERROR
MPI::Group MPI::Group::Range_excl(int n, const int ranges[][3]) const
Each computed rank must be a valid
rank in group and all computed ranks must be distinct, or else the
program is erroneous.
The functionality of this routine is specified to be equivalent to expanding the array of ranges to an array of the excluded ranks and passing the resulting array of ranks and other arguments to MPI_GROUP_EXCL. A call to MPI_GROUP_EXCL is equivalent to a call to MPI_GROUP_RANGE_EXCL with each rank i in ranks replaced by the triplet (i,i,1) in the argument ranges.
Advice to users.
The range operations do not explicitly enumerate ranks, and therefore
are more scalable if implemented efficiently. Hence, we recommend MPI programmers
to use them whenenever possible, as high-quality implementations will
take advantage of this fact.
( End of advice to users.)
Advice
to implementors.
The range operations should be implemented, if possible, without
enumerating the group members,
in order to obtain better scalability (time and space).
( End of advice to implementors.)


April was dominated by preparation and attendance at PyCon US 2023 - but we've seen some good progress over the month.
What we've done
PyCon US saw a lot of BeeWare activity:
- We presented 2 talks at PyCon US - one on Briefcase, and one on the state of Android support on Python. Videos of these talks should appear on the PyCon US Youtube channel in the near future.
- We presented at the Language Summit, where we received provisional approval to push for iOS and Android to become Tier 3 supported platforms in CPython 3.13.
- We presented at the Packaging Summit, providing the needs of packaging from a mobile perspective.
- We had a booth in the community section of the conference show floor.
- We ran a successful sprint where we handed out over a dozen Challenge Coins. Many of the improvements listed in this status update come from community contributions, and we have a backlog of other PRs we're still working on.
- We donated an leather Briefcase to the PyLadies Auction, raising US$800!.
In non-PyCon activity:
- We added the ability to code sign Windows release artefacts.
- We added a new distribution format for Windows apps - simple ZIP archives.
- We modified Briefcase to support PEP621 metadata standards. Briefcase predates the definition of PEP621, but there's a lot of overlap in what PEP621 defines and what Briefcase defines, so it makes sense for Briefcase to adhere to the common standard. In future, we expect to see more convergence with PEP621 standards.
- We landed major updates to Briefcase's AppImage and Flatpak backends. They now use Indygreg's Standalone Python; this significantly speeds up Flatpak builds, should be more stable on AppImage, allows us to switch to manylinux base images - and it reduces the number of projects that BeeWare is responsible for maintaining.
- We got 2 more widgets to 100% GUI test coverage. One of these is the base widget, so we're now able to guarantee basic functionality across all widgets.
- We migrated Toga's web backend to use the Shoelace web components framework. This is a much better match for Toga than Bootstrap was, as it is primarily focussed on rendering widgets, rather than HTML layout. We only have a handful of widgets ported over at this point - but the process of implementing widgets is relatively straightforward, so if you have web skills and are looking for a way to contribute, this would be a great place to get involved.
- We added support for cursor visibility, full screen mode and determining the current window on Windows.
- We added an API for catching a 'confirm' action on TextInput widgets.
- We added support for FreeBSD in Toga.
- We made a number of significant improvements to the Tox configurations to improve reliability, work around a bugs in the release of pip 23.1, speed up and parallelise test execution, enforce spelling and external linking in documentation, and to make easier to obtain coverage reports.
What's next?
In May, we'll be continuing our push for GUI test coverage. Our current aim is to have complete widget coverage by the end of June.
Want to get involved?
Want to get involved? Here are some open issues that would be a great place to get started with contributing to a BeeWare project. They're all relatively minor changes, but would provide a big improvement to the lives of BeeWare users:
- Modify the handling of app signing options
- Filter out a message generated after Xcode updates
- Add the ability to configure the ABIs built by an Android project
- Add support for the ANDROID_HOME environment variable
- Rationalise the application of adhoc signing on macOS
- Detect a failure when trying to install on an Android device that is too old
- Use the on-device clock to filter Android device logs
- Add an APK packaging target for Android
- Provide an option to override app settings from the command line
Pick one of these tickets, drop a comment on the ticket to let others know you're looking at it, and try your hand at a PR! We have a guide on setting up a Briefcase development environment; but if you need any additional assistance or guidance, you can ask on the ticket, or join us on the BeeWare Discord server.
- Następny wpis
- May 2023 Status Update
- Poprzedni wpis
- 2023Q2 Roadmap


Train Facts is an app by Adrian to keep you informed with what you need to know. Itinerary, contact and hotel details, and quick links – It's your sushi of information for the 2019 Japan Tour.
Train Facts is built with Flutter, a software development kit created by Google. Train Facts is officially supported and maintained on:
In addition, to run Flutter you need to meet the following hardware requirements:
Train Facts does not support native x86 Android devices but ARM emulation can be used. See issue #9253 on GitHub for more information.
Please file an issue on GitHub.


jQuery is a popular JavaScript library which simpifies JavaScript programming
jQuery User Interface is built on the top of jQuery. It is useful to design highly interactive web applications
jQuery Mobile is a HTML5-based user interface system designed to make responsive web sites and apps that are accesible on all smartphone, tablet and desktop devices


eLibrary
Add Book
Remove Book
Search
Check Account
Book Title:
Author First Name:
Author Last Name:
Genre:
Publish Date:
please hire me
designed by ryan yang


configuration.date.format.help. For example {{dateFormatExample}}
configuration.date.format.help. For example {{datetimeFormatExample}}
Replace country code for with
Send scheduled messages between : and :
{{errors.fields.messagingWindow}}
Advanced settings intro Dashboard settings page. Advanced settings outro


The Workplace: The Prototyping Room
The CTE classes at West Potomac all contain some hands-on projects and activities. Students have the opportunity to actually create something concrete, as opposed to merely discussing theory. The workshop contains many essential power tools for constructing projects, listed below:
- Laser cutter
- Table saw
- Band saw
- Scroll saw
- Drill press
- CNC milling machine
- Vacuum former
Click on the images to see more!
Students are not limited to power tools: lining the far wall, there are three large cabinets full of hand tools, parts, and building materials. In addition to these cabinets, there are many scrap bins in various locations, and students often recycle old projects and turn them into something new.
Back


{{_ "Select_service_to_login"}}
{{> avatar username=initialsUsername }}
{{#with service='initials'}}
{{/with}}
{{#with upload}}
{{/with}}
{{#unless upload}}
{{/unless}}


Spend less time buying makeup
and more time being a I
Refillable mascara that's conveniently delivered.
Save time. Save money.
Refillable mascara that's conveniently delivered.
Save time. Save money.
You should receive an email from us shortly, if you have any questions, get in touch with us at<EMAIL_ADDRESS>😁.


--- layout: page title: You are welcome to check my site excerpt: "A simple and clean responsive Jekyll theme for words and photos." search_omit: true ---
You can refer to my personal website here.
This website hosts some common issues that I faced during compiling and testing some open source codes, as well as some other knowledge. Please feel free to check out them, in case any of them are useful.


{% extends "layout/base.html" %} {% block content %}
Many factors contribute to TruValuation's home appraisals
My Github.


[§321-424] Rules. The department may adopt rules pursuant to chapter 91 as necessary for the birth defects program. [L 2002, c 252, pt of §1]


We're always looking to meet new and interesting people for full time or contract positions with Hunter & Wolf. Looking to make a change? Or start something new? Check below to see if any of the open positions interest you!
“Success is the result of perfection, hard work, learning from failure, loyalty, and persistence”
Colin Powell
We believe in working with those who have the values we know build excellent client experiences and create awesome products. Read on to learn what those virtues are.
Accountability
By upholding a standard of expectation for ourselves and those we work with, we know we can trust each other and deliver the best for our clients. We trust those we work with to own tasks and outcomes by giving the authority to make decisions on the front lines. If you seize opportunities by accepting resonsiblities and reaching the best outcomes, we want to work with you.
Integrity
From company officer to contractors, we promise and practice honesty and transparency. We are and expect dependability from those we work with. By having integrity we want to be the colleagues you want to work with.
Perserverance
Ever debug something for dozens of hours, never letting up until your program compiled? Or powered through a calendar full of meetings, with surprise meetings after? There is no substitute for perserverence and it shows in our work. If you have found yourself where you are today in part because of your perserverence, we want to meet you.
Helpful
Hunter & Wolf performs software engineering and consulting services. We love helping people. We love solving problems together. We thrive when we offer help, and accept it from teammates. Whether you are an engineer or salesperson, we love to hear how you have helped others in your career.
Current Opportunities
Below is a listing of current openings. Please email us at<EMAIL_ADDRESS>with our resume and cover letter if you find any interesting.
Responsibilities
- Generate new business opportunities through targeted outbound prospecting and outbound lead development
- Prequalify interested nonprofits via phone, chat and email to determine if they are a good fit for Hunter & Wolf
- Schedule demos, trials and meetings for sales team with qualified prospects
- Demonstrate thorough knowledge of our Company’s product and service offerings, sales procedures, mission, and values
- Remain knowledgeable and up to date on product, industry changes and competitive landscape
Qualifications
- Interest in pursuing a career in sales
- Enjoys talking with people
- Strong time management skills with ability to work quickly and accurately
Preferred Qualifications
- Experience with Hubspot
- Experience working in technology B2B sales
Responsibilities
- Designing, implementing, debugging, and delivering front-end web applications from the requirements stage all the way through to successful real-world deployment.
- Deploy your code to cloud-hosted infrastructure and help to manage the infrastructure that runs your code.
- You will interface with our clients to discuss and refine requirements for the products that you will be building.
Qualifications
- Bachelor’s degree in Computer Science, Computer Engineering, or equivalent.
- Experience with frameworks like ReactJS and VueJS
- Proficiency in JavaScript, HTML5, SCSS/SASS, CSS
- Knowledge of standard web security practices, such as CORS
- Knowledge of common data structures and algorithms, such as lists, sorting, etc.
Preferred Qualifications
- Experience with Linux and unix-based OS's
- Experience with AWS, GCP, and/or Azure
If you have any questions about feel free to contact us.


Quartz Composer compositions may be used to create visual effects. The frame is passed as a published input named "Frame" to the composition, which may then display the frame however it wishes. As a convenience, you may also create published inputs with the names "Width" or "Height" that are the dimensions of the frame in Quartz Composer coordinates. These are useful if you want to render the frame in a Billboard or Sprite patch. Place the compositions in:
${HOME}/Library/Application Support/MAME OS X/Effects
You may then select one from the Visual Effects menu. Please keep in mind that a complicated composition will take away CPU time from MAME, so you may see decreased frame rates while using them.


Battery Information
This page has information about your computer's battery.
Battery Charge
Connected To External Power Source
Currently Charging
Manufacturer
Serial Number


QErrorMessage Class
The QErrorMessage class provides an error message display dialog. More...
| Header: | #include <QErrorMessage> |
| qmake: | QT += widgets |
| Inherits: | QDialog |
Public Functions
| QErrorMessage(QWidget *parent = Q_NULLPTR) | |
| ~QErrorMessage() |
- 8 public functions inherited from QDialog
- 214 public functions inherited from QWidget
- 32 public functions inherited from QObject
- 14 public functions inherited from QPaintDevice
Public Slots
| void | showMessage(const QString &message) |
| void | showMessage(const QString &message, const QString &type) |
- 5 public slots inherited from QDialog
- 19 public slots inherited from QWidget
- 1 public slot inherited from QObject
Static Public Members
| QErrorMessage * | qtHandler() |
Reimplemented Protected Functions
| virtual void | changeEvent(QEvent *e) |
| virtual void | done(int a) |
- 6 protected functions inherited from QDialog
- 35 protected functions inherited from QWidget
- 9 protected functions inherited from QObject
- 1 protected function inherited from QPaintDevice
Additional Inherited Members
- 2 properties inherited from QDialog
- 59 properties inherited from QWidget
- 1 property inherited from QObject
- 3 signals inherited from QDialog
- 3 signals inherited from QWidget
- 2 signals inherited from QObject
- 1 public variable inherited from QObject
- 6 protected functions inherited from QDialog
- 35 protected functions inherited from QWidget
- 9 protected functions inherited from QObject
- 1 protected function inherited from QPaintDevice
- 1 protected slot inherited from QWidget
- 2 protected variables inherited from QObject
- 1 protected type inherited from QPaintDevice
Detailed Description
The QErrorMessage class provides an error message display dialog.
An error message widget consists of a text label and a checkbox. The checkbox lets the user control whether the same error message will be displayed again in the future, typically displaying the text, "Show this message again" translated into the appropriate local language.
For production applications, the class can be used to display messages which the user only needs to see once. To use QErrorMessage like this, you create the dialog in the usual way, and show it by calling the showMessage() slot or connecting signals to it.
The static qtHandler() function installs a message handler using qInstallMessageHandler() and creates a QErrorMessage that displays qDebug(), qWarning() and qFatal() messages. This is most useful in environments where no console is available to display warnings and error messages.
In both cases QErrorMessage will queue pending messages and display them in order, with each new message being shown as soon as the user has accepted the previous message. Once the user has specified that a message is not to be shown again it is automatically skipped, and the dialog will show the next appropriate message in the queue.
The Standard Dialogs example shows how to use QErrorMessage as well as other built-in Qt dialogs.
See also QMessageBox, QStatusBar::showMessage(), and Standard Dialogs Example.
Member Function Documentation
QErrorMessage::QErrorMessage(QWidget *parent = Q_NULLPTR)
Constructs and installs an error handler window with the given parent.
QErrorMessage::~QErrorMessage()
Destroys the error message dialog.
[virtual protected]
void QErrorMessage::changeEvent(QEvent *e)
Reimplemented from QWidget::changeEvent().
[virtual protected]
void QErrorMessage::done(int a)
Reimplemented from QDialog::done().
[static]
QErrorMessage *QErrorMessage::qtHandler()
Returns a pointer to a QErrorMessage object that outputs the default Qt messages. This function creates such an object, if there isn't one already.
[slot]
void QErrorMessage::showMessage(const QString &message)
Shows the given message, message, and returns immediately. If the user has requested for the message not to be shown again, this function does nothing.
Normally, the message is displayed immediately. However, if there are pending messages, it will be queued to be displayed later.
[slot]
void QErrorMessage::showMessage(const QString &message, const QString &type)
This is an overloaded function.
Shows the given message, message, and returns immediately. If the user has requested for messages of type, type, not to be shown again, this function does nothing.
Normally, the message is displayed immediately. However, if there are pending messages, it will be queued to be displayed later.
This function was introduced in Qt 4.5.
See also showMessage().


{% extends "base.html" %} {% load i18n %} {% block title %}{% trans 'Password reset complete' %}{% endblock %} {% block content %}
{% trans "Your password has been set. You may go ahead and log in now." %}


$[Ticks,T:QuantConnect.Data.Market.Tick] data provides LastPrice and Quantity properties for a given time. If it is a quote tick, it also contains non-zero BidPrice, BidSize, AskPrice, and AskSize properties. A Trade Tick is a record of a transaction or sale for the security. A Quote Tick is a bid or offer to purchase the security for a specific price. For equities, all of the ticks for given second are grouped together in backtesting. In live trading, ticks are streamed directly to your algorithm as soon as they occur. Data with millisecond resolution timestamps (Forex, CFD, and Futures) generally only have 1 tick in their list, but when multiple trades occur within a millisecond they may also be grouped together.
self.AddEquity("IBM", Resolution.Tick) ## Subscribe to tick-level IBM data def OnData(self, data): ## Use the [-1] indexer to access to most recent tick that arrived self.Debug(f"Last price: {data['IBM'][-1].LastPrice}") self.Debug(f"Last price: {data['IBM'][-1].Quantity}")
Tick data is raw and unfiltered. It may contain bad ticks which skew your trade results. We recommend only using tick data if you understand the risks and are able to perform your own online tick filtering. Ticks which QuantConnect believes are suspicious are marked with the boolean Suspicious
flag.


Interpolation is the process of constructing a function that takes on specified values at specified points. In engineering and science, one often has a number of data points, obtained by sampling or experimentation, which represent the values of a function for a limited number of values of the independent variable. It is often required to interpolate (i.e. estimate) the value of that function for an intermediate value of the independent variable.
Smile package smile.interpolation
provides a variety of
algorithms on 1d and 2d data. These algorithms implements the interface
Interpolation
(or Interpolation2D
for 2d data),
of which the method interpolate
takes a value and return
an interploated value.
LinearInterpolation
is quick and easy, but it is not very precise. Another disadvantage
is that the interpolant is not differentiable at the control points.
val x = Array(0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0)
val y = Array(0.0, 0.8415, 0.9093, 0.1411, -0.7568, -0.9589, -0.2794)
val linear = new LinearInterpolation(x, y);
val data = (0 to 60).map { i =>
val x = i * 0.1
val y = linear.interpolate(x)
Array(x, y)
}.toArray
line(data)
BilinearInterpolation
is an extension of linear interpolation for
interpolating functions of two variables on a
regular grid. The key idea is to perform linear interpolation first in one
direction, and then again in the other direction.
Spline interpolation uses low-degree polynomials in each of the intervals, and chooses the polynomial pieces such that they fit smoothly together. The resulting function is called a spline. The natural cubic spline is piecewise cubic and twice continuously differentiable. Furthermore, its second derivative is zero at the end points.
Like polynomial interpolation, spline interpolation incurs a smaller error than linear interpolation and the interpolant is smoother. However, the interpolant is easier to evaluate than the high-degree polynomials used in polynomial interpolation. It also does not suffer from Runge's phenomenon.
For 2d grid, we provide two implementations: CubicSplineInterpolation2D
and
BicubicInterpolation
. CubicSplineInterpolation2D
is
similar to one-dimensional splines as it guarantees the
continuity of the first and second function derivatives. In contrast,
BicubicInterpolation
guarantees continuity of only
gradient and cross-derivative. Second derivatives
could be discontinuous.
In image processing, bicubic interpolation is often chosen over bilinear interpolation or nearest neighbor in image resampling, when speed is not an issue. Images resampled with bicubic interpolation are smoother and have fewer interpolation artifacts.
Kriging interpolation can be used for the data points irregularly distributed in space. Kriging belongs to the family of linear least squares estimation algorithms, also known as Gauss-Markov estimation or Gaussian process regression. We implement ordinary kriging for interpolation with power variogram.
Radial basis function interpolation is a popular method for the data points are
irregularly distributed in space. In its basic form, radial basis function
interpolation is in the form
y(x) = Σ wi φ(||x-ci||)
,
where the approximating function y(x) is represented as a sum of N radial
basis functions φ, each associated with a different center ci, and weighted
by an appropriate coefficient wi. For distance, one usually chooses
euclidean distance. The weights wi can
be estimated using the matrix methods of linear least squares, because
the approximating function is linear in the weights.
The points ci often called the centers or collocation points of the RBF interpolant. Note also that the centers ci can be located at arbitrary points in the domain, and do not require a grid. For certain RBF exponential convergence has been shown. Radial basis functions were successfully applied to problems as diverse as computer graphics, neural networks, for the solution of differential equations via collocation methods and many other problems.
Other popular choices for φ comprise the Gaussian function and the so called thin plate splines. Thin plate splines result from the solution of a variational problem. The advantage of the thin plate splines is that their conditioning is invariant under scalings. Gaussians, multi-quadrics and inverse multi-quadrics are infinitely smooth and and involve a scale or shape parameter, r0 > 0. Decreasing r0 tends to flatten the basis function. For a given function, the quality of approximation may strongly depend on this parameter. In particular, increasing r0 has the effect of better conditioning (the separation distance of the scaled points increases).
A variant on RBF interpolation is normalized radial basis function (NRBF) interpolation, in which we require the sum of the basis functions to be unity. NRBF arises more naturally from a Bayesian statistical perspective. However, there is no evidence that either the NRBF method is consistently superior to the RBF method, or vice versa.
Shepard interpolation is a special case of normalized radial basis function interpolation if the function φ(r) goes to infinity as r → 0, and is finite for r > 0. In this case, the weights wi are just equal to the respective function values yi. So we need not solve linear equations and thus it works for very large N. An example of such φ is φ(r) = r-p with (typically) 1 < p ≤ 3.
Shepard interpolation is rarely as accurate as the well-tuned application of other radial basis functions. However, it is simple, fast, and often sufficient for quick and dirty applications.
Laplace interpolation can restore missing or unmeasured values on a 2-dimensional evenly spaced regular grid. In some sense, Laplace interpolation produces the smoothest possible interpolant, which are obtained by solving a very sparse linear equations with biconjugate gradient method.


Toggle navigation
Home
Welcome Anirudh!!!
Which Folder you want to search ?
Inbox
Starred
Important
Sent Mail
Draft
Spam
What are you looking for?
Mail
Content
Attachments
Sender's Name


{include file='common@general/meta' /} {include file='common@general/css'/} {block name='seo'} {include file='common@general/seo' /} {/block}


Rush Of Energy
The invigorating power of electricity allows the Tempest to regenerate their energy very fast for a short time.
^a${value} Second(s) Recharge
25
${value} Second Duration
8
+${value} Energy Regeneration per second
15 20 25 30 35 40 45 50 55 60 65 70
+${value}% Energy Regeneration
20 40 60 80 100 120 140 160 180 200 220 240
MaxLevel
8
UltimateLevel
12


The Cafe was founded in blabla by Mr. Who in lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
In addition to our full espresso and brew bar menu, we serve fresh made-to-order breakfast and lunch sandwiches, as well as a selection of sides and salads and other good stuff.
"Use products from nature for what it's worth - but never too early, nor too late." Fresh is the new sweet.
Chef, Coffeeist and Owner: Who Ever
Opening hours: everyday from 6am to 5pm.
Address: 15 Adr street, 5015, NY


Want a more print friendly resume? Of course!
I am Sarah, a graphic designer who specializes in web development. Currently, I manage all my web development projects from start to finish. This includes the initial research, proposals, wireframes, designs, development and testing.
I also work on various other projects while managing my web devs, like email marketing campaigns, digital ad designs and print work.
I create sites based on a client’s needs, objectives and current design trends. A site can look beautiful, but will that same site create an easy experience for the user to navigate through, and find the information he/she is looking for?
This is the area of web design I want to work more closely in, User Experience Design. Whether is it an application, website or e-commerce site development, I want to play a larger role in the research and testing that goes along with creating the ultimate user experience.
View Resume | Printer Friendly Resume
Thanks for stopping by.


Bug fix: Solution explorer tree view node collapse scrolling bug fixed.
Bug fix: Solution explorer node expand crash bug fixed when opening a new project/solution and there was previous solution open.
Bug fix: System.Windows.Component.LinkBefore and System.Windows.Component.LinkAfter fixed.
Bug fix: One context menu item crash bug fixed in System.Windows library and in cmcode.
Bug fix: Two bugs in the concept implementation fixed.
Error reporting of the XML parser improved. Now error line and column included in the parsing error message.
Now cmcode solution explorer tree view contains basic icons.
Interfaces reimplemented.
XML serialization reimplemented.
Assertions converted to exceptions in the system library. The exceptions are:
System.Windows control classes have now an extra constructor that usually takes only one parameter of type ControlNameCreateParams. It provides more flexibility in changing control's creation parameters. The idea is taken from one of the books (D&E) of Bjarne Stroustrup.
TreeView can show icons.
New System.Windows library components:


{% extends 'base.html' %}
{% block title %}
About Covid
{% endblock %}
{% block content %}
About Covid-19
Corona Virus is especially hard to detect because you can have COVID-19 it even if you don’t show any symptoms. But what if you do show symptoms? You can get a COVID test, and find out for sure. Many diseases have similar symptoms to COVID-19, so it’s better to confirm it and then get it treated.
COVID-19 affects different people in different ways.
Most of the time, the virus declines after the first week,
but infected people remain contagious for up to 20 days.
Again, just because you don’t show any symptoms, doesn’t mean you don’t have the virus.
Infectious particles remain airborne or fall to the ground.
Additionally, COVID-19 Research has redefined the traditional understanding of how respiratory viruses transmit.
Virus particles are highest in concentration when people are neighboring, which leads to the easier viral transmission when people are physically close,
but airborne transmission can occur at longer distances, mainly in locations that are poorly ventilated; in those conditions,
minute particles can remain suspended in the air It often spreads in clusters or minutes to hours.
Various COVID strains
Viruses constantly change through mutation, and new variants of a virus are expected to occur.
Sometimes new variants emerge and disappear. Other times, new variants persist.
Multiple variants of the virus that causes COVID-19 have been documented globally during this pandemic.
The most prominent strains which were found in India are-
Double mutant strain (B.1.617 variant)-The double mutant strain was found in samples of saliva collected from Maharashtra, Punjab, and Delhi.
UK Strain (B.1.1.7 Variant)-India reported the UK variant of coronavirus for the first time on December 29, 2020. While there’s no evidence to prove that it’s more fatal, scientists believe that this strain is 70 percent more transmissible than the regular Covid-19 strain.
South African Strain (B.1.351 Variant)-This strain was first reported in India in February, 2021. This strain contains a mutation called N501Y that makes it more transmissible. According to the WHO, this variant “is less susceptible to antibody neutralisation” than previous variants.
Brazilian Strain (P.1 Variant)-As of March 30, 2021 one case of infection of the Brazilian strain was reported in Maharashtra. According to the Centres For Disease Control and prevention, all “these variants seem to spread more easily and quickly than other variants, which may lead to more cases of Covid-19.”


◆ __init__()
| def soil_sampler_utility.SoilSamplerUtility.__init__ |
( |
|
self, |
|
|
|
model_part, |
|
|
|
custom_settings |
|
) |
| |
◆ ExecuteAfterOutputStep()
| def soil_sampler_utility.SoilSamplerUtility.ExecuteAfterOutputStep |
( |
|
self | ) |
|
◆ ExecuteBeforeOutputStep()
| def soil_sampler_utility.SoilSamplerUtility.ExecuteBeforeOutputStep |
( |
|
self | ) |
|
◆ ExecuteFinalizeSolutionStep()
| def soil_sampler_utility.SoilSamplerUtility.ExecuteFinalizeSolutionStep |
( |
|
self | ) |
|
◆ BottomPoint
| soil_sampler_utility.SoilSamplerUtility.BottomPoint |
◆ figure_path
| soil_sampler_utility.SoilSamplerUtility.figure_path |
◆ Filling
| soil_sampler_utility.SoilSamplerUtility.Filling |
◆ InnerForce
| soil_sampler_utility.SoilSamplerUtility.InnerForce |
◆ InnerLength
| soil_sampler_utility.SoilSamplerUtility.InnerLength |
◆ InnerSeparationPoint
| soil_sampler_utility.SoilSamplerUtility.InnerSeparationPoint |
◆ model_part
| soil_sampler_utility.SoilSamplerUtility.model_part |
settings string in json format
◆ OuterForce
| soil_sampler_utility.SoilSamplerUtility.OuterForce |
◆ OuterLength
| soil_sampler_utility.SoilSamplerUtility.OuterLength |
◆ OuterSeparationPoint
| soil_sampler_utility.SoilSamplerUtility.OuterSeparationPoint |
◆ PistonForce
| soil_sampler_utility.SoilSamplerUtility.PistonForce |
◆ PistonPosition
| soil_sampler_utility.SoilSamplerUtility.PistonPosition |
◆ TipForce
| soil_sampler_utility.SoilSamplerUtility.TipForce |
◆ velocity
| soil_sampler_utility.SoilSamplerUtility.velocity |
The documentation for this class was generated from the following file:
- /home/runner/work/Documentation/Documentation/master/applications/PfemSolidMechanicsApplication/python_scripts/soil_sampler_utility.py


HARDWARE
A review in the public domain by The Phantom<EMAIL_ADDRESS>The Phantom has always thought of bad films as diseases. In order to survive them, one must either immunize oneself beforehand or find an antidote afterwards.
 Fortunately for his sanity, he rented THE GODFATHER earlier this week, so he went into HARDWARE knowing that no matter how bad it was, he would still be able to walk out of the auditorium with fond memories of an excellent film -- even if it wasn't the film he had just seen.
Though he didn't think that such precautions would be necessary with the subject of this review. Believing that good previews, good commercials, and what seemed to be raves from Wes Craven, Clive Barker and Fangoria magazine (prominently displayed in the full-page New York Times ad for the film) portended a good new horror film, he didn't think twice about recommending it to two of his like-minded friends. After all, while he would never assume that there was anyone else who would enjoy watching, say, THE FIRST POWER with him, here was a film that might even be in the same class as HELLRAISER or perhaps ALIEN. Surely, even if it wasn't quite up to that level, it would at the very least be entertaining, or gory, or something.
Well, no. Instead, the Phantom found that even the aura of THE GODFATHER couldn't save him; instead, he'll have to find an antidote this evening in order to rid his system of the poisonously bad trash he had just seen. One obvious antidote to HARDWARE is ALIEN, one of the dozen films that HARDWARE either pays homage to or rips off, depending on how charitable one wants to be. Another possible antidote would be THE ROAD WARRIOR, or HELLRAISER, or DEMON SEED, for there are bits and pieces of all of these films scattered throughout the post-apocalyptic, cinematic wasteland that is HARDWARE.
HARDWARE is a recipe film, which is a little different than a high-concept film. To make a recipe film, you first line up all your ingredients, which in this case would be ALIEN, DEMON SEED, THE ROAD WARRIOR, MAX HEADROOM, and HELLRAISER. Then you add a half cup of one, 20 minutes of another, a few tablespoons of this and a pinch -- just a pinch, mind you -- of imagination. Stir thoroughly, until the ingredients mix just well enough to avoid litigation; you don't want the lawyers to see whole chunks of, say, ALIEN, floating about in your stew. The result? Something that's saleable and marketable, but which leaves its diners wondering what it was that got them to try even a spoonful, let alone consume all 90 minutes of it.
Since the Phantom is having a sale on similes this week, let's try one more. HARDWARE is a camel of a film. Like THE FIRST POWER, it becomes obvious after only 10 or 15 minutes that the film was not so much imagined or created, but constructed and packaged. The Phantom made the mistake in his last review of wondering whether horror films were returning to their roots, whether films like THE EXORCIST III marked the return of the intelligent horror film and an end to the mind-numbing kill-by-the-numbers sequel-fests and poorly plotted and scripted turkeys that have plagued horror phans for years now. But HARDWARE is as unlike THE EXORCIST III as it *is* like THE FIRST POWER. It is a film that proves that for every talented British horror writer and filmmaker like Clive Barker, there must be at least as many untalented hacks who are capable only of the poorest sort of plagiarism. Or worse, are capable only of producing something like HARDWARE.
Now that he's gotten that out of his system, the Phantom will attempt to explain HARDWARE's lame-brained plot. There is no way to spoil a film like HARDWARE, as that implies that there might be surprises to be given away, or unique plot twists or special effects that might be ruined should audiences find out about them before seeing the film. Too, the Phantom would like to think that anyone who sees HARDWARE after reading his review must be a bit of a masochist, so perhaps such a person would enjoy having the film's few plot twists revealed so that he or she may be as fully miserable as possible while watching it.
As the film began, the Phantom suffered a brief TOTAL RECALL flashback, for the film seemed to be set on Verhoeven's Mars, sans the fake looking Martian colony and the shoddy optical printing. But that bit of prescience should have alerted the Phantom to the horrors yet to unfold -- he should have heeded his sixth sense and ducked into DARKMAN next door. Instead, he stayed to find out what this new twist on THE ROAD WARRIOR might be like and found to his dismay that it was no twist at all -- it was more like a cut-rate wholesale transplantation of about 15 minutes of that fine film. We see the lone man walking through a desert; we see the ruins of a post-apocalyptic world around him; we see the remains of civilization going about their miserable and dirty business; we even see the curious mixing of the old and the very new that was strikingly original when we first saw it in BRAZIL and MAX HEADROOM some years ago, but which by now is little more than another science fiction cliche.
But what we don't see is anything even remotely connected with the rest of the film, with the exception of an old, junked robot that the lone man finds buried in the desert. This robot is the star of the second half of the film, but as it is found only minutes into the first half, the director spends the remaining 43 minutes in the post-apocalyptic city and surrounding areas. A travelogue it is not, and neither George Miller nor Mel Gibson have anything to fear.
We meet the protagonist. We meet his girlfriend. The action shifts to the girlfriend's apartment, where she works as an artist who assembles junk -- mostly scrap metal -- as sculpture. The protagonist brings the robot's head to the girlfriend as a Christmas present, and she duly incorporates it into her art. But soon it turns out that the robot was a Mark 13 military robot, a droid whose prime directive is to kill people and who has an amazingly strong survival instinct. Uh oh. The Phantom got good and worried at this point, and began to keep his eyes peeled for the sudden appearance of Spring-Loaded Cats, blue fog, pods, and little crab-like things that attach themselves to people's faces. Alas, all he found was fog, some of it blue, and some of it clouding whatever limited intelligence and originality the film had so far displayed.
Shortly after revealing the robot's origins in a scene reminiscent of THE EVIL DEAD, the robot begins to assemble itself (much like Frank did in the attic in HELLRAISER), incorporating lots of scary-looking hardware like buzz saws, drills, and anything else that was handy. And as this happens, the film just as quickly reassembles *itself*, shifting none too nimbly from ROAD WARRIOR mode to ALIEN mode. It was at this point that the Phantom put his hands to his ears so that he wouldn't have to listen to the sounds of breaking glass as logic and sensibility jumped out the window. He did, however, hear their screams as they plummeted to certain deaths.
Now that the robot has assembled itself, well, it must be time to kill people? Well, no. Of course, one would think that a military robot, programmed to kill, having rebuilt itself out of cables and aluminum siding and can openers and whatever else happened to be lying around, and having been left alone in an apartment with a defenseless girl would do the only logical thing -- kill her. But of course that couldn't happen, as both logic and sensibility were by then being rushed to the hospital where doctors would labor fruitlessly over them for another 40 minutes.
Instead we are treated to an extremely bad homage to the 1977 horror classic DEMON SEED. The robot stalks the girl -- very slowly and looking very much like five poorly-skilled and underpaid technicians were operating it -- and threatens her repeatedly with a drill bit that looks quite a lot like ... well, the Phantom is sure you get the picture.
 In between, the apartment's lights flash on and off, circuits short-circuit endlessly, hidden strobe lights are employed, and the audience is entertained with simulations of the robot's vision that were taken from the same kitchen cupboard that holds PREDATOR and WOLFEN.
Finally, the film winds down and in its last 15 minutes stirs in a few tablespoons each of the endings to BLADE RUNNER, ALIEN, and THE WIZARD OF OZ. Really. There's also a nice reverse homage to WAIT UNTIL DARK along the way, but that one brief scene is the only glimmer of intelligence in a film that is otherwise as intellectually arid as the post-apocalyptic wasteland in which it is set.
It has been a long time since the Phantom was so disappointed with a film, so misled by its advertising, and so saddened by the terrible waste of not just one or two, but dozens of the good ideas, clever and suspenseful scenes, and special effects that have until now brightened and enlivened the horror genre. There is quite literally no reason to see this film, even on video. In his review of THE EXORCIST III, the Phantom remarked that it was even worth $7.50, the extortionate price of a movie ticket in New York City. Well phans, HARDWARE isn't even worth a 99-cent special at Blockbusters. It is redeemed only because it makes nearly every other horror film look good in comparison, and because it reminds everyone who sees it of the dozens of excellent horror films from which it labors so hard to steal.
: The Phantom<EMAIL_ADDRESS>: {cmcl2,uunet}!esquire!baumgart
.
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


I'm a web developer, community-builder and obsessive Philly fan-girl. I love pushing the boundaries of what's possible on the web, exploring the intersection of tech and civic engagement, and noming on a delicious cheesesteak. Cheese whiz wit, of course. I'm also a Philly Fellow, a University of Pennsylvania alumna, and an organizer for the upcoming Ela Conf. You can hire me. Need a website? Get in touch so we can start collaborating on your next project.