Sunray
Applications
local_hotel
Add Patient
drafts
Email
assignment
Appointment
people
Doctors
map
Map
monetization_on
Payments
notifications
Notifications
New 6
just now
Congratulations!.
3 mins
John Micle
is now following you.
7 mins
Sneha Jogi
sent you a message.
12 mins
Ravi Patel
like your photo.
15 mins
Warning!
10 hrs
Application error.
question_answer
Messages
New 2
Sarah Smith
Just Now
Jatin I found you on LinkedIn...
John Deo
16 mins
Fwd: Important Notice Regarding Your Domain Name...
Rajesh
2 hrs
pls take a print of attachments.
Lina Smith
40 mins
Apply for Ortho Surgeon
Jacob Ryan
46 mins
Request for leave application.
Profile
Settings
Help
Lock
Log Out
settings
Dr. Emily
Admin
dashboard
Dashboard
Dashboard 1
Dashboard 2
email
Email
Inbox
View Mail
Compose Mail
assignment
Appointment
Doctor Schedule
Book Appointment
Book Appointment Material
Edit Appointment
View All Appointment
person
Doctors
All Doctor
Add Doctor
Add Doctor Material
Edit Doctor
About Doctor
group
Other Staff
All Staff
Add Staff
Add Staff Material
Edit Staff
Staff Profile
accessible
Patients
All Patients
Add Patient
Add Patient Material
Edit Patient
Patient Profile
hotel
Room Allotment
Alloted Rooms
New Allotment
New Allotment Material
Edit Allotment
monetization_on
Payments
Payments
Add Payments
Patient Invoice
widgets
Widget
dvr
UI Elements
Buttons
Tabs & Accordions
Modal Window
Typography
Panels
Grids
Calender
Tree View
Carousel
store
Material Elements
Buttons
Tabs
Chips
Grid
Form
DatePicker
Select Item
Loading
Menu
Slider
Tables
Toggle
Badges
subtitles
Forms
Form Layout
Advance Component
Form Wizard
Form Validation
Editor
list
Data Tables
Basic Tables
Advance Tables
Grouping
Editable Table
Tables With Sourced Data
desktop_mac
Layout
Boxed
Full Width
Right Sidebar
Collapse Menu
Hover Sidebar Menu
timeline
Charts
eCharts
Morris Charts
Chartjs
map
Maps
Google Maps
Vector Maps
album
Icons
Font Awesome
Material Icons
description
Extra pages
Profile
Contact Us
Login
Sign Up
Forgot Password
Lock Screen
404 Page
500 Page
Blank Page
slideshow
Multi Level Menu
Item 1
Arrow Toggle
Sample Link 1
Sample Link 2
Sample Link 3
Sample Link 1
Sample Link 2
Sample Link 3
Arrow Toggle
Sample Link 1
Sample Link 1
Sample Link 1
Item 3
Advance Form
Home
Forms
Advance Form
Dropzone
more_vert
assistant_photo
Action
print
Another action
favorite
Something else here
Toggle
more_vert
assistant_photo
Action
print
Another action
favorite
Something else here
CheckBox
more_vert
assistant_photo
Action
print
Another action
favorite
Something else here
Black Checkbox
Yellow Checkbox
Red Checkbox
Aqua Checkbox
Checkbox Disabled
Checkbox Checked & Disabled
Black Checkbox
Yellow Checkbox
Red Checkbox
Aqua Checkbox
Radio
more_vert
assistant_photo
Action
print
Another action
favorite
Something else here
Black radio
Yellow radio
Red radio
Aqua radio
radio Disabled
radio Checked & Disabled
Black radio
Yellow radio
Red radio
Aqua radio
Date & Time Picker
more_vert
assistant_photo
Action
print
Another action
favorite
Something else here
DateTime Picking
Date Picking
Time Picking
Spinner
more_vert
assistant_photo
Action
print
Another action
favorite
Something else here
Spinner1
Basic
Spinner2
Max value: 5
Spinner3
Step: 4
Spinner4
Input mask
more_vert
assistant_photo
Action
print
Another action
favorite
Something else here
IP
<IP_ADDRESS>0
Tax ID
99-9999999
Phone
(999) 999-9999
Currency
$ 999,999,999.99
Date
dd/mm/yyyy
Date 2
dd-mm-yyyy
Input mask
more_vert
assistant_photo
Action
print
Another action
favorite
Something else here
Defaults:
Fruits:(fruits shown in aqua color)
Fixed Width:
SELECT SINGLE & MULTIPLE
more_vert
assistant_photo
Action
print
Another action
favorite
Something else here
Single Select
Select a state
Alaska
Hawaii
California
Nevada
Oregon
Washington
Arizona
Colorado
Idaho
Montana
Nebraska
New Mexico
North Dakota
Utah
Wyoming
Alabama
Arkansas
Illinois
Iowa
Kansas
Kentucky
Louisiana
Minnesota
Mississippi
Missouri
Oklahoma
South Dakota
Texas
Tennessee
Wisconsin
Connecticut
Delaware
Florida
Georgia
Indiana
Maine
Maryland
Massachusetts
Michigan
New Hampshire
New Jersey
New York
North Carolina
Ohio
Pennsylvania
Rhode Island
South Carolina
Vermont
Virginia
West Virginia
Single Select
Select a country
Afghanistan
Åland Islands
Albania
Algeria
American Samoa
Andorra
Angola
Anguilla
Antigua and Barbuda
Argentina
Armenia
Aruba
Australia
Austria
Azerbaijan
Bahamas
Bahrain
Bangladesh
Barbados
Belarus
Belgium
Belize
Benin
Bermuda
Bhutan
Bolivia, Plurinational State of
Bonaire, Sint Eustatius and Saba
Bosnia and Herzegovina
Botswana
Bouvet Island
Brazil
British Indian Ocean Territory
Brunei Darussalam
Bulgaria
Burkina Faso
Burundi
Cambodia
Cameroon
Canada
Cape Verde
Cayman Islands
Central African Republic
Chad
Chile
China
Christmas Island
Cocos (Keeling) Islands
Colombia
Comoros
Congo
Congo, the Democratic Republic of the
Cook Islands
Costa Rica
Côte d'Ivoire
Croatia
Cuba
Curaçao
Cyprus
Czech Republic
Denmark
Djibouti
Dominica
Dominican Republic
Ecuador
Egypt
El Salvador
Equatorial Guinea
Eritrea
Estonia
Ethiopia
Falkland Islands (Malvinas)
Faroe Islands
Fiji
Finland
France
French Guiana
French Polynesia
French Southern Territories
Gabon
Gambia
Georgia
Germany
Ghana
Gibraltar
Greece
Greenland
Grenada
Guadeloupe
Guam
Guatemala
Guernsey
Guinea
Guinea-Bissau
Guyana
Haiti
Heard Island and McDonald Islands
Holy See (Vatican City State)
Honduras
Hong Kong
Hungary
Iceland
India
Indonesia
Iran, Islamic Republic of
Iraq
Ireland
Isle of Man
Israel
Italy
Jamaica
Japan
Jersey
Jordan
Kazakhstan
Kenya
Kiribati
Korea, Democratic People's Republic of
Korea, Republic of
Kuwait
Kyrgyzstan
Lao People's Democratic Republic
Latvia
Lebanon
Lesotho
Liberia
Libya
Liechtenstein
Lithuania
Luxembourg
Macao
Macedonia, the former Yugoslav Republic of
Madagascar
Malawi
Malaysia
Maldives
Mali
Malta
Marshall Islands
Martinique
Mauritania
Mauritius
Mayotte
Mexico
Micronesia, Federated States of
Moldova, Republic of
Monaco
Mongolia
Montenegro
Montserrat
Morocco
Mozambique
Myanmar
Namibia
Nauru
Nepal
Netherlands
New Caledonia
New Zealand
Nicaragua
Niger
Nigeria
Niue
Norfolk Island
Northern Mariana Islands
Norway
Oman
Pakistan
Palau
Palestinian Territory, Occupied
Panama
Papua New Guinea
Paraguay
Peru
Philippines
Pitcairn
Poland
Portugal
Puerto Rico
Qatar
Réunion
Romania
Russian Federation
Rwanda
Saint Barthélemy
Saint Helena, Ascension and Tristan da Cunha
Saint Kitts and Nevis
Saint Lucia
Saint Martin (French part)
Saint Pierre and Miquelon
Saint Vincent and the Grenadines
Samoa
San Marino
Sao Tome and Principe
Saudi Arabia
Senegal
Serbia
Seychelles
Sierra Leone
Singapore
Sint Maarten (Dutch part)
Slovakia
Slovenia
Solomon Islands
Somalia
South Africa
South Georgia and the South Sandwich Islands
Spain
Sri Lanka
Sudan
Suriname
Svalbard and Jan Mayen
Swaziland
Sweden
Switzerland
Syrian Arab Republic
Taiwan, Province of China
Tajikistan
Tanzania, United Republic of
Thailand
Timor-Leste
Togo
Tokelau
Tonga
Trinidad and Tobago
Tunisia
Turkey
Turkmenistan
Turks and Caicos Islands
Tuvalu
Uganda
Ukraine
United Arab Emirates
United Kingdom
United States
United States Minor Outlying Islands
Uruguay
Uzbekistan
Vanuatu
Venezuela, Bolivarian Republic of
Viet Nam
Virgin Islands, British
Virgin Islands, U.S.
Wallis and Futuna
Western Sahara
Yemen
Zambia
Zimbabwe
Multiple Select
Alaska
Hawaii
California
Nevada
Oregon
Washington
Arizona
Colorado
Idaho
Montana
Nebraska
New Mexico
North Dakota
Utah
Wyoming
Alabama
Arkansas
Illinois
Iowa
Kansas
Kentucky
Louisiana
Minnesota
Mississippi
Missouri
Oklahoma
South Dakota
Texas
Tennessee
Wisconsin
Connecticut
Delaware
Florida
Georgia
Indiana
Maine
Maryland
Massachusetts
Michigan
New Hampshire
New Jersey
New York
North Carolina
Ohio
Pennsylvania
Rhode Island
South Carolina
Vermont
Virginia
West Virginia
Color Picker
more_vert
assistant_photo
Action
print
Another action
favorite
Something else here
Color Picker
Addon Color Picker
Theme
Settings
Sidebar Theme
Light Sidebar
Dark Sidebar
Sidebar Color
Header Brand color
Header color
Layout Settings
Sidebar Position
Left
Right
Header
Fixed
Default
Sidebar Menu
Accordion
Hover
Footer
Fixed
Default
Account Settings
Notifications
Show Online
Status
2 Steps Verification
General Settings
Location
Save Histry
Auto Updates


Store Manager
Home
Products
Admin
New Attendant
Create an account by filling this form.
Name
Email
Password
Register Attendant


click to upload
SOME ERROR
{{task.name}}
{{task.email}}
{{task.text}}
show preview
submit
Sort by:
Finished
Name
Email
Login:
Pass:


{% import 'macros.html' as html %}
The Leadership Training Institute is for students who want to change the lives of others through their leadership. We challenge everyone to affect their world and grow as leaders. Throughout the program our students create, plan, and implement projects in their community. From increasing health and nutritional awareness to helping newly adopted children adapt to their new homes, students are given the resources and knowledge to affect change.
As an organization, LTI believes in the value of pay it forward. Our students receive one-on-one mentoring while developing leadership skills. They then design and implement their own project that targets an issue they observe in their community.
The program is free to all high school students, and each student accepted into the program receives $150 to work on their project. If the financial burden is too great for a student to travel to MIT, LTI will fully subsidize the cost of travel. Students must attend all twelve sessions to be a part of the program, though two absences are allowed.


Busy teen is handy with kitchen tools and power tools
Jorge Ortiz, 17, a Lynnwood High senior, also is a bassist in the orchestra and a sandwich artist.
by Andrea BrownJorge Ortiz, 17, is a senior at Lynnwood High School.
He was an Edmonds School District Student of the Month. He is a bassist in the school orchestra. He takes a carpentry class at Mountlake Terrace High School and works at Subway.
He lives with his parents and four younger siblings. He will be the first in his family to graduate from high school in the United States.
Question: Why is graduating so important?
Answer: I am setting a good example for all of them and it’s also something I want to do. It has been a goal for me.
Q: You’ve attended three high schools?
A: Freshman year I was at Meadowdale, sophomore I was at Mariner. Then junior and senior year at Lynnwood. I had to meet new people and make new friends. Junior year everyone had their own friend groups and it was hard to get in. Mostly in my carpentry class I’ve made new friends.
Q: What are your plans after school?
A: I still don’t know. I have pretty good grades. Moving schools was hard because the requirements were different.
Q: What do you want people to know about you?
A: I was born in Mexico and I was 6 months old when my parents brought me to the United States. We lived in New Jersey for 10 years. My dad found a job in Washington and that’s why we moved here. He started in landscaping and he has been progressing. He now works as a concrete finisher. He does a lot of roads and sidewalks and driveways.
My dad attended a year of college for law in Mexico, then I happened. He had me, and it stopped his education.
Q: Does he want you to study law?
A: He said do whatever makes you happy.
Q: What makes you happy?
A: Baking. And music. Not to pursue. It’s a hobby of mine.
Q: Who has been your biggest influence?
A: My mom. She’s always telling me to keep my grades up and never give up. That anything is possible, which is why she brought me to this country.
She is going to Edmonds Community College to learn English. My dad speaks pretty good English. It has been over the years he has learned. I do a lot of translating, paying bills and doctors appointments and all sort of things.
Q: What’s your best class?
A: Over the years, orchestra. I’m leaning more toward carpentry now.
I still get nervous performing. You can’t see the people because of the lighting, but you still get nervous because they are watching you. But it’s fun.
Q: Why bass?
A: It’s a beautiful instrument. I played violin for five years.
Q: Why carpentry?
A: A friend asked me to take it with him. I said sure. It was mostly because we were going to do it together. Then he moved.
Q: Any school activities?
A: Right after school I have to go to work. I don’t have time to participate. I drive my siblings around all the time.
Q: What do you do in your spare time at home?
A: I like to bake. I started by watching You Tube and cooking shows. A lot of people are surprised by my French macaroons. The first time I made them they were pretty ugly, but after I did it a few more times I figured it out.
Q: If you could bake with anyone who would it be?
A: Gordon Ramsay.
Q: Dream job?
A: Something that would involve working with my hands. Construction sounds like an option. Or starting my own company of some sort.
Q: What have you learned about people from working at Subway?
A: To be kind to them and always have a smile on your face and ask how they’re doing. They’ll probably give you a tip.
Q: How important are tips?
A: It’s a thank-you kind of thing. It’s kind of nice. A couple cents even.
Q: What is your favorite Subway sandwich?
A: Steak and cheese or the pastrami.
Q: To make or eat?
A: Both.
Andrea Brown<EMAIL_ADDRESS>;<PHONE_NUMBER>. Twitter @reporterbrown .
Gallery
Senior Jorge Ortiz in the Chef’s room at Lynnwood High School on Friday, Nov. 8, 2019 in Lynnwood, Wash. (Andy Bronson / The Herald)


Classy CSS
CSS Concepts
11/11/15
Understanding the conceptual difference between classes and IDs was a little mind boggling at first (but perhaps that was because I was just so excited to finally be adding pretty colors to web page that I didn't pay too much attention to the learning materials I was given). But, once I learned about the so-called "CSS points system/hierarchy", it made a lot more sense. Classes are reusable pieces of applied CSS, whereas IDs are meant to denote import/specific sections and be used only once.


{include file="public/top" /}
$thevaluearr.robotid])}'"> $thevaluearr.robotid))}'"> $thevaluearr.robotid,'robotname'=>$thevaluearr.name))}'"> $thevaluearr.robotid))}'">


public class Player extends DatabaseEntity
| Modifier and Type | Field and Description |
|---|---|
(package private) java.sql.Date |
beginDate |
(package private) java.sql.Date |
endDate |
(package private) java.lang.String |
firstName |
(package private) java.lang.String |
lastName |
(package private) int |
number |
(package private) int |
teamId |
databaseConnection, id
| Constructor and Description |
|---|
Player() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
create()
Create the new entity.
|
private static Player |
createFieldFromResultSet(java.sql.ResultSet resultSet) |
void |
delete()
Delete the current entity.
|
static java.util.List<Player> |
getAllPlayers()
Get the player with the given ID.
|
java.sql.Date |
getBeginningDate()
Get the beginning date.
|
java.sql.Date |
getEndDate()
Get the beginning date.
|
java.lang.String |
getFirstName()
Get the first name of the player.
|
java.lang.String |
getLastName()
Get the last name of the player.
|
int |
getNumber()
Get the shirt number.
|
static Player |
getPlayerWithId(int id)
Get the player with the given ID.
|
static java.util.List<Player> |
getPlayerWithName(java.lang.String firstName,
java.lang.String lastName)
Get Player with firstname and lastname.
|
Team |
getTeam()
Get the team this player plays for.
|
void |
setBeginningDate(java.sql.Date date)
Set the beginning date.
|
void |
setEndDate(java.sql.Date date)
Set the beginning date.
|
void |
setFirstName(java.lang.String firstName)
Set the first name of the player.
|
void |
setLastName(java.lang.String lastName)
Set the last name of the player.
|
void |
setNumber(int number)
Set the shirt number.
|
void |
setTeam(Team team)
Set the team this player will play for.
|
java.lang.String |
toString() |
protected void |
update()
Update the current entity.
|
closeStatement, getId, getNextIdForTable, save
java.lang.String lastName
java.lang.String firstName
int number
int teamId
java.sql.Date beginDate
java.sql.Date endDate
public static java.util.List<Player> getAllPlayers()
databaseConnection
- - Connection with databaseid
- - ID of the player.public static Player getPlayerWithId(int id)
databaseConnection
- - Connection with databaseid
- - ID of the player.public static java.util.List<Player> getPlayerWithName(java.lang.String firstName, java.lang.String lastName)
databaseConnection
- - Connection with databasefirstName
- - First name of the player.lastName
- - Last name of the player.private static Player createFieldFromResultSet(java.sql.ResultSet resultSet) throws java.sql.SQLException
java.sql.SQLException
protected void create() throws FailedToSaveEntityException
DatabaseEntity
create
in class DatabaseEntity
FailedToSaveEntityException
- Failed to save entity.protected void update() throws FailedToSaveEntityException
DatabaseEntity
update
in class DatabaseEntity
FailedToSaveEntityException
- Failed to save entity.public void delete() throws FailedToDeleteEntityException, java.lang.Exception
DatabaseEntity
delete
in class DatabaseEntity
FailedToDeleteEntityException
- Failed to delete entity.java.lang.Exception
public Team getTeam()
databaseConnection
- - Connection with databasepublic void setTeam(Team team) throws FailedToSaveEntityException
databaseConnection
- - Connection with databaseteam
- - New team for the player.FailedToSaveEntityException
- Failed to save entity.public java.lang.String getLastName()
public void setLastName(java.lang.String lastName)
lastName
- - Last name.public java.lang.String getFirstName()
public void setFirstName(java.lang.String firstName)
firstName
- - First name.public int getNumber()
public void setNumber(int number)
number
- - Shirt number.public java.sql.Date getBeginningDate()
public void setBeginningDate(java.sql.Date date)
date
- - Beginning date.public java.sql.Date getEndDate()
public void setEndDate(java.sql.Date date)
date
- - Beginning date.public java.lang.String toString()
toString
in class java.lang.Object


2020 Cadillac CT5-V More Powerful Than Originally Claimed
Any extra hp is welcomed.
by Jay TraugottEarlier this year, Cadillac unveiled the first photos and specs of its all-new 2020 CT5-V, the supposed successor to the now discontinued CTS-V. Although the CT5-V (and CT5) are a bit smaller than the CTS, it retains the rear-wheel-drive platform and gains bolder styling inside and out. However, output was not as expected. Cadillac originally estimated the 2020 CT5-V to produce 355 horsepower and 400 lb-ft of torque from its twin-turbo 3.0-liter V6, which is paired to a 10-speed automatic transmission.
But according to Cadillac Society, those power figures are slightly down in reality. The Society of Automotive Engineers (SAE) has instead rated the CT5-V with an additional five horsepower and pound-feet of torque for a total of 360 hp and 405 lb-ft.
It may not be all that much, but then there's this: the SAE figures have that maximum power and torque being available from 200 rpm and 50-400 rpm lower in the rev band, respectively. Previously, Cadillac had those max power figures pegged from 5,600 rpm and 2,400 to 4,400 rpm. We don't know whether Cadillac will officially adjust its own figures based on what the SAE claims, but it's good to know the new CT5-V has a bit more juice than initially stated.
However, it's worth remembering that the CT5-V will not be the most powerful CT5 on the market.
In the very near future, Cadillac is slated to unveil the so-called CT5-V Blackwing with power sourced from a 6.2-liter LT4 supercharged V8, the very same engine that powers the outgoing C7 Corvette Z06 and CTS-V. This means at least 640 horsepower but it's possible this will reach as high as 670 ponies. And yes, a six-speed manual is a rumored option for those who want to row their own gears. For now, none of this is confirmed, although we would not be surprised to hear all of the above becoming a reality.


Virtualization allows one host to run multiple operating systems (OSs) in different virtual machines (VMs). In the image below, you can see that there is a hypervisor running on top of the host OS. The hypervisor pulls resources from the physical hardware and allocates them to the virtual environment. In this example, there are three guest OSs on top of the hypervisor, and these are the VMs.
A VM can be defined as a software-based computer. Like a physical computer, a VM has an OS and applications. VMs are independent of one another, so you can run different OSs (such as Windows, Mac OS, Linux and Unix) in separate VMs but all on the same host. Since VMs are independent, you can also move them to different hosts. This creates flexibility and portability, which is useful in the case of failure in the hosting infrastructure. Additionally, since you can run multiple VMs from one physical infrastructure, costs are reduced on system components such as hardware, maintenance and electricity.
Some disadvantages to virtualization are that the running of multiple VMs can cause unstable performance, hypervisors are not always as efficient as host OSs, and there is a long boot-up time.


Vitamix Black Friday 2019 Deals List: Best Early Vitamix 5300, 5200, 7500, 750 & A3500 Deals Shared by Consumer Walk
BOSTON, Nov. 24, 2019 /PRNewswire/ -- The best early Vitamix Black Friday 2019 deals are shown below, including price-drops and deals on Vitamix 5200, 5300, 750 & 7500 blenders.
Best Vitamix deals:
- Save $50 off all new Vitamix blenders at the Vitamix Black Friday sale (starts 11/22)
- Save $125 off the Vitamix A3500 Blender - at the Vitamix Black Friday sale (starts 11/22)
- Save $60 off the Vitamix E310 Classic Blender - at the Vitamix Black Friday sale (starts 11/22)
- Save up to 55% on Vitamix blenders at Walmart - check the latest prices on best-selling Vitamix 750, 5200, 5300 series blenders
- Save up to 24% on Vitamix 5300 blenders at Walmart
- Save up to 42% on Vitamix 5300, 5200, 3500 & 7500 blenders at Amazon - deals available on top rated blender models
- Save up to $206 on Vitamix 750 blenders at Amazon
- Save $175 on the Vitamix A3500 Ascent Series Smart Blender at Amazon
- Save $160 on the Vitamix A2300 Ascent Series 64oz Smart Blender at Amazon
Black Friday sales are time limited. Check out Amazon's Black Friday sale page and Walmart's Deal Drop page for thousands more deals on a wide range of products. Consumer Walk earns commissions from purchases made using the links provided.
The Vitamix Professional blender series benefits restaurants by speeding up blending, chopping and other food preparation tasks. The Vitamix 750 is the poster child of this product lineup. It succeeds the Vitamix 7500 and has more preset programs. From the C-Series, the Vitamix 5200 has been superseded by the Vitamix 5300 which has a new pulse function. The Vitamix A3500 represents the high-end range and features Self Detect Technology.
Why is Black Friday called 'Black Friday'? The Friday after Thanksgiving Day is a shopping holiday when shoppers throng to retail stores for sales. Due to the terrible traffic conditions this would cause, traffic policemen dubbed this day 'Black Friday.' Today, Black Friday is known as one of the much-awaited sales events of the year where holiday shoppers can take advantage of a wide array of deals offered by thousands of retailers.
About Consumer Walk: Consumer Walk reports the latest online retail news. As an Amazon Associate Consumer Walk earns from qualifying purchases.
SOURCE Consumer Walk


My first sweat lodge experience was in early summer. A good friend was getting ready to leave to live in the New Mexico Mountains for the summer and held a small gathering. We all sat around a large fire, fending off the cool evening. Passing the bottle of whiskey we played music. Banjos, dulcimers, guitars, flutes, all manner of folk music graced us that evening. We played and drank until late, then prepared the lodge.
The lodge was dug into the ground a few feet, with dirt piled around it. A section of wire fencing covered the top, with blue spruce branches piled on that, and capped with an old nylon tarp. There was room for eight to ten people inside sitting cross-legged around the stones. The dirt floor was a quagmire of sweat and water from old sweatings.
We pulled an assortment of old engine parts from the bonfire with a pitch fork and slowly passed them into the lodge's small door. Our Lodge Leader positioned them and got the water bucket. We all stripped naked and climbed into the lodge. The group was mostly male, but we had a few females. We all didn't know each other well, but we were together because of our mutual friend and Lodge Leader.
The Leader told us that the water he poured over the 'stones' was a brew of untreated well water and herbs from his garden. He listed them, but the only I knew was willow buds, which contain acetaminophen. He explained that we could sip from the bucket at anytime, but the water would be bitter and brackish.
The temperature was already stifling in the lodge, the sitting uncomfortable, and the anticipation unbearable. He slowly poured the first water on the red hot steel, it hissed and moaned and filled the room with unbreathable air. A few of the people made audible coughs. Our Leader giggled, and slowly drove up the temperature.
I could feel my lungs burn and skin blush. It was intense, the heat beyond anything I have felt. Saunas and steam rooms have nothing on the heat let off from two hundred pounds of cast iron.   With only a small amount of masculine pride, I held my ground and endured the pain.
Within a few of those classic minutes-turn-to-hours I could feel the pain subside, and a new sensation take over. My body was tingling, a body high unlike anything I have felt. Every breath hat left my body felt harsh and unpleasant, but the inhale was cleansing. My head pounded with each heart beat. I could feel the water sizzle off the iron deep within my gut. My slightly queasy whiskey stomach (we were shooting off the bottle, not my forte) was solid, fortified by steam.
At this point I relaxed back into the muddy bank and just concentrated on breathing. I was hyper aware of my body, each nerve ending tingling. On hour into the sweat our leader told us to slowly exit, waiting a few moments between each exit. We were to go and stand by the fire or lightly shower with the many buckets of cold water.
I went and stood by the fire, watching the steam rise off our glistening bodies. We couldn't help but giggle uncontrollably. Our fearless Leader rolled a cigarette, and told us each to take a few hits and pass. We did so, the nicotine hitting with vigor. I was honestly stoned from sweat and tobacco. My head rolled and body buzzed. I stumbled and nearly fell, a lucid head disconnected from its body.
We slowly gathered for another run in the lodge, our final push.  The crate was full of large stones from our Leaders farm. We drug it down the small door, and crawled in after. We started slowly again, but after the familiar buzz was accomplished we did the 'push.' Our Lodge Leader poured water on the fire, laughing the whole time. The temperature surpassed the previous sweat, the pounding in my head grew faster and faster. We were told to leave when we needed, that nobody can survive a Push on pure will. We would need to know our own weaknesses. We would need to accept them and to give in to them.
I left half later. I won't tell you how soon each person left, for that personal. Our Leader did stay the whole Push, emerging at last to stand by the embers of his last fire at home for many months. We all stood around those coals, steaming and red. We giggled quietly and dressed slowly as the cool night air crept in. Our Leader went away for the summer, and I left before he came back. I haven't seen him since.
In my new life I think about running a sweat. I want to take my friends into the mountains, labor over a lodge all day in the sun, and then sweat at night. I don't know how to explain, just as I don't know how to explain psilocybin or sex. It is just what it is, and that's good enough.
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.


| Home | Trees | Indices | Help |
|
|---|
|
|
object --+ | set --+ | object --+ | | | bases._Type0 --+ | Set
Python set
Type, wrapping an ObjC
NSMutableSet
.
| Instance Methods | |||
| new empty set object |
|
||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
Inherited from Inherited from Inherited from |
| Static Methods | |||
| a new object with type S, a subtype of T |
|
| Class Variables | |
|
Inherited from |
| Properties | |
|
NS Get the ObjC instance ( NSMutableSet ).
|
|
|
Inherited from Inherited from |
| Method Details |
New Set from a
|
x&=y
|
x|=y
|
x-=y
|
x^=y
|
Like
|
Like
|
Like
|
Like
|
Like
|
Like
|
Like
|
Like
|
Like
|
New Set from a
|
Make a copy of this set.
|
| Property Details |
NSGet the ObjC instance (
|
| Home | Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0.1 on Mon Feb 6 08:22:21 2023 | http://epydoc.sourceforge.net |


|
G24Lib
A set of convenient classes, functions and other utilities mainly for quickly writing numerical code. Provides relatively easy integration with CUDA, general Runge-Kutta methods, linear equation solvers and more.
|
Holds the different atomic operations in this type of parallelism. More...
Static Public Member Functions | |
| template<class T1 , class T2 > | |
| static CUDA_HOS_DEV void | add (T1 &res, const T2 &val) |
Stores in res the result of adding val to res , all in a single (atomic) operation. More... | |
| template<class T1 , class T2 > | |
| static CUDA_HOS_DEV void | bitwise_and (T1 &res, const T2 &val) |
Stores in res the result of taking the bitwise and between res and val , all in a single (atomic) operation. More... | |
| template<class T1 , class T2 > | |
| static CUDA_HOS_DEV void | bitwise_or (T1 &res, const T2 &val) |
Stores in res the result of taking the bitwise or between res and val , all in a single (atomic) operation. More... | |
| template<class T1 , class T2 > | |
| static CUDA_HOS_DEV void | bitwise_xor (T1 &res, const T2 &val) |
Stores in res the result of taking the bitwise XOR between res and val , all in a single (atomic) operation. More... | |
| template<class T1 , class T2 > | |
| static CUDA_HOS_DEV void | divide (T1 &res, const T2 &val) |
Stores in res the result of dividing res by val , all in a single (atomic) operation. More... | |
| template<class T1 , class T2 > | |
| static CUDA_HOS_DEV void | multiply (T1 &res, const T2 &val) |
Stores in res the result of multiplying res by val , all in a single (atomic) operation. More... | |
| template<class T1 , class T2 > | |
| static CUDA_HOS_DEV void | subtract (T1 &res, const T2 &val) |
Stores in res the result of subtracting val from res , all in a single (atomic) operation. More... | |
Holds the different atomic operations in this type of parallelism.
Definition at line 103 of file parallelism.h.
|
inlinestatic |
Stores in res
the result of adding val
to res
, all in a single (atomic) operation.
res = res + val
. Definition at line 111 of file parallelism.h.
|
inlinestatic |
Stores in res
the result of taking the bitwise and between res
and val
, all in a single (atomic) operation.
res = res & val
. Definition at line 152 of file parallelism.h.
|
inlinestatic |
Stores in res
the result of taking the bitwise or between res
and val
, all in a single (atomic) operation.
res = res | val
. Definition at line 163 of file parallelism.h.
|
inlinestatic |
Stores in res
the result of taking the bitwise XOR between res
and val
, all in a single (atomic) operation.
res = res ^ val
. Definition at line 174 of file parallelism.h.
|
inlinestatic |
Stores in res
the result of dividing res
by val
, all in a single (atomic) operation.
res = res / val
. Definition at line 141 of file parallelism.h.
|
inlinestatic |
Stores in res
the result of multiplying res
by val
, all in a single (atomic) operation.
res = res * val
. Definition at line 131 of file parallelism.h.
|
inlinestatic |
Stores in res
the result of subtracting val
from res
, all in a single (atomic) operation.
res = res - val
. Definition at line 121 of file parallelism.h.


 In you, I have trusted; let me not be put to shame.
Nor let my enemies exult over me; and let none who hope in you be put to shame.
The Gloria in excelsis (Glory to God in the highest) is not said.
Collect
Grant your faithful, we pray, almighty God, the resolve to run forth to meet your
Christ with righteous deeds at his coming, so that, gathered at his right hand, they may be worthy to possess the heavenly kingdom.
Through our Lord...
FIRST READING Isaiah 2:1-5
A reading from the Book of Isaiah
The word which Isaiah the son of Amoz saw
concerning
The Word of the Lord
RESPONSORIAL PSALM Psalm 122:1-2.4-5.6-7.8-9(R. cf. 1) 27
R. We shall go rejoicing to the house of the Lord.
I rejoiced when they
said to me, 'Let us go to the house of the LORD.' And now our feet are standing
within your gates, O Jerusalem.
R. We shall go rejoicing to
the house of the Lord.
It is there that the
tribes go up, the tribes of the LORD. For
R. We shall go rejoicing to
the house of the Lord.
For the peace of
R. We shall go rejoicing to
the house of the Lord.
For the sake of my
family and friends, let me say, 'Peace upon you.' For the sake of the house of
the LORD, our God, I will seek good things for you.
R. We shall go rejoicing to
the house of the Lord.
SECOND READING Romans 13:11-14a
A reading from the Letter of Saint Paul to the Romans
Brethren: You know what hour it is, how it is full
time now for you to wake from sleep. For salvation is nearer to us now than
when we first believed; the night is far gone, the day is at hand. Let us then
cast off the works of darkness and put on the armour of light; let us conduct
ourselves becomingly as in the day, not in revelling and drunkenness, not in
debauchery and licentiousness, not in quarrelling and jealousy. But put on the
Lord Jesus Christ, and make no provision for the flesh.
The word of the Lord
ALLELUIA Psalm 85:8
Alleluia. Let us see, O Lord, your mercy, and grant us your salvation. Alleluia.
GOSPEL Matthew 24:37-44
A reading from the holy Gospel according to Matthew
At that time: Jesus said to his disciples, “As were the
days of Noah, so will be the coming of the Son of man. For as in those days
before the flood they were eating and drinking, marrying and giving in
marriage, until the day when Noah entered the ark, and they did not know until
the flood came and swept them all away, so will be the coming of the Son of
man. Then two men will be in the field; one is taken and one is left. Two women
will be grinding at the mill; one is taken and one is left. Watch therefore,
for you do not know on what day your Lord is coming. But know this, that if the
householder had known in what part of the night the thief was coming, he would
have watched and would not have let his house be broken into. Therefore you
also must be ready; for the Son of man is coming at an hour you do not expect.”
The Gospel of the Lord
FIRST READING Isaiah 63:16d-17;64:1.3b-8
A reading from the Book of Isaiah
You, O LORD, are our Father,
our Redeemer from of old is your name. O LORD, why do you make us err from your ways and harden our heart, so that we do not
fear you? Return for the sake of your servants, the tribes of your heritage. O
that you would tear the heavens and come down, that the mountains might quake
at your presence!  From of old no one has heard or perceived by the ear, no eye
has seen a God besides you, who works for those who wait for him. You meet him
that joyfully works righteousness, those that remember you in your ways.
Behold, you were angry, and we sinned; in our sins we have been a long time,
and shall we be saved? We have all become like one who is unclean, and all our
righteous deeds are like a polluted garment. We all fade like a leaf, and our
iniquities, like the wind, take us away. There is no one that calls upon your
name, that bestirs himself to take hold of you; for
you have hidden your face from us, and have delivered us into the hand of our
iniquities.
The word of the Lord
RESPONSORIAL PSALM Ps 80:2ac and 3b.15-16a.18-19 (R.4)
R. O God, bring us back; let your face shine on us, and we shall be saved.
O shepherd of
R. O God, bring us back; let your face shine on us,
and we shall be saved.
God of hosts, turn again, we implore; look down
from heaven and see. Visit this vine and protect it, the vine your right hand
has planted.
R. O God, bring us back; let your face shine on us,
and we shall be saved.

SECOND READING 1 Corinthians 1:3-9
A reading from the first Letter of Saint Paul to the Corinthians
Brethren: Grace to you and peace from God our
Father and the Lord Jesus Christ.  God
is faithful, by whom you were called into the fellowship of his Son, Jesus
Christ our Lord.
The word of the Lord
ALLELUIA Psalm 85:7
Alleluia. Let us see, O Lord, your mercy, and grant us your salvation. Alleluia.
GOSPEL Luke 21:25-28.34-36
A reading from the holy Gospel according to Luke
At that time: Jesus said to his disciples: “Take
heed, watch and pray; for you do not know when the time will come. It is like a
man going on a journey, when he leaves home and puts his servants in charge,
each with his work, and commands the doorkeeper to be on the watch. Watch
therefore--for you do not know when the master of the house will come, in the
evening, or at midnight, or at cockcrow, or in the morning-- lest he come
suddenly and find you asleep. And what I say to you I say to all: Watch."
The Gospel of the Lord
FIRST READING Jeremiah 33:14-16
A reading from the Book of Jeremiah
"Behold, the days are coming, says the LORD,
when I will fulfil the promise I made to the house of
The word of the Lord
RESPONSORIAL PSALM Psalm 25:4-5ab.8-9.10 and 14 (R.1)
R. To you, O Lord, I lift my soul.
O LORD, make me know your ways. Teach me your
paths.
R. To you, O Lord, I
lift my soul.
Good and upright is the LORD; he shows the way to
sinners. He guides the humble in the right judgment; to the humble he teaches
his way.
R. To you, O Lord, I
lift my soul.
All the LORD’s paths are mercy and faithfulness,
for those who keep his covenant and commands. The LORD's secret is for those
who fear him; to them he reveals his covenant.
R. To you, O Lord, I
lift my soul.
SECOND READING 1Thessalonians 3:12-4:2
A reading from the first Letter of Saint Paul to the Thessalonians
Brethren: May the Lord make you increase and abound
in love to one another and to all men, as we do to you, so that he may establish
your hearts unblamable in holiness before our God and Father, at the coming of
our Lord Jesus with all his saints. Finally, brethren, we beg and exhort you in
the Lord Jesus, that as you learned from us how you ought to live and to please
God, just as you are doing, you do so more and more. For you know what
instructions we gave you through the Lord Jesus.
The word of the Lord
ALLELUIA Psalm 85:7
Alleluia. Let us see, O Lord, your mercy, and grant us your salvation. Alleluia.
GOSPEL Luke 21:25-28.34-36
A reading from the holy Gospel according to Luke
At that time: Jesus said to his disciples, "
There will be signs in sun and moon and stars, and upon the earth distress of nations
in perplexity at the roaring of the sea and the waves, men fainting with fear
and with foreboding of what is coming on the world; for the powers of the
heavens will be shaken. And then they will see the Son of man coming in a cloud
with power and great glory. Now when these things begin to take place, look up
and raise your heads, because your redemption is drawing near."
But watch at all times, praying that you may have strength to escape all these
things that will take place, and to stand before the Son of man."
The Gospel of the Lord
The Creed is said.
Prayer over the Offerings
Accept, we pray, O Lord, these offerings we make,
gathered from among your gifts to us, and may what you grant us to celebrate devoutly here below,
gain for us the prize of eternal redemption. Through Christ our Lord.
Communion Antiphon
The Lord will bestow his bounty, and our earth shall yield its increase.
Prayer after Communion
May these mysteries, O Lord, in which we have participated, profit us,
we pray, for even now, as we walk amid passing things,
you teach us by them to love the things of heaven and hold fast to what endures. Through Christ our Lord.


Flat ID: {{user.flat_id}}
Apartment Address: {{userApartment.address}}
Floor Number: {{userFlat.floor_number}}
Lease start date: {{userLease.lease_start_date}}
Lease end date: {{userLease.lease_end_date}}
| Apartment Address | Floor Number | Facilities | Rent per room | Actions |
|---|---|---|---|---|
| {{getApartmentForFlat(availableFlat).address}} | {{availableFlat.floor_number}} | {{getApartmentForFlat(availableFlat).facilities}} | {{availableFlat.rent_per_room}} |


All meaningful 3D design was done in Fusion360. The files are all cloud based, so use the utility below to explore the design and download the files.
The 'trapped nuts' in the design are not shown in the 3D model, nor are any of the electronics. These are all depicted by voids, except for the heated bed itself. The heated bed is a the core of the defining the shape of the entire incubator and is therefore depicted. Seeral other dimensions were important in the design, and they were depicted only in the parameters, rather than being directly depicted in the 3D model.


Package org.drip.exposure.csatimeline
Class EventSequence
- java.lang.Object
-
- org.drip.exposure.csatimeline.EventSequence
-
public class EventSequence extends java.lang.Object
EventSequence holds the BCBS/IOSCO prescribed Events Time-line occurring Margin Period. The References are:
- Andersen, L. B. G., M. Pykhtin, and A. Sokol (2017): Re-thinking Margin Period of Risk https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2902737 eSSRN
- Andersen, L. B. G., M. Pykhtin, and A. Sokol (2017): Credit Exposure in the Presence of Initial Margin https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2806156 eSSRN
- Anfuso, F., D. Aziz, P. Giltinan, and K Loukopoulus (2017): A Sound Modeling and Back-testing Framework for Forecasting Initial Margin Requirements https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2716279 eSSRN
- BCBS (2015): Margin Requirements for Non-centrally Cleared Derivatives https://www.bis.org/bcbs/publ/d317.pdf
- Pykhtin, M. (2009): Modeling Credit Exposure for Collateralized Counter-parties Journal of Credit Risk 5 (4) 3-27
- Module = Portfolio Core Module
- Library = Exposure Analytics
- Project = Exposure Group Level Collateralized/Uncollateralized Exposure
- Package = Time-line of IMA/CSA Event Dates
- Author:
- Lakshmi Krishnamurthy
-
-
Constructor Summary
Constructors Constructor Description EventSequence(EventDate valuation, EventDate honored, EventDate collateralTransferInitiation, EventDate nonHonored, EventDate ped, EventDate pedCommunication, EventDate ed, EventDate edCommunication, EventDate etdDesignation, EventDate etd, int marginFrequency, int curePeriod, java.lang.String calendarSet)
-
Method Summary
Modifier and Type Method Description static EventSequence
Aggressive(JulianDate valuationDate, java.lang.String calendarSet)
Construct an Instance of Aggressive EventSequencejava.lang.String
calendarSet()
Retrieve the CSA Calendar SetEventDate
collateralTransferInitiation()
Retrieve the Collateral Transfer Initiation Event Datestatic EventSequence
Conservative(JulianDate valuationDate, java.lang.String calendarSet)
Construct an Instance of Conservative EventSequenceint
curePeriod()
Retrieve the Client Cure PeriodEventDate
ed()
Retrieve the ED Event DateEventDate
edCommunication()
Retrieve the ED Communication Event DateEventDate
etd()
Retrieve the ETD Event DateEventDate
etdDesignation()
Retrieve the ETD Designation Event DateEventDate
honored()
Retrieve the Honored Event Dateint
marginDuration()
Retrieve the Margin Durationint
marginFrequency()
Retrieve the CSA Margin FrequencyJulianDate
marginPeriodEnd()
Retrieve the Margin Period End DateJulianDate
marginPeriodStart()
Retrieve the Margin Period Start DateEventDate
nonHonored()
Retrieve the Non Honored Event DateEventDate
ped()
Retrieve the PED Event DateEventDate
pedCommunication()
Retrieve the PED Communication Event DateEventDate
valuation()
Retrieve the Valuation Event Date
-
-
-
Constructor Detail
-
EventSequence
public EventSequence(EventDate valuation, EventDate honored, EventDate collateralTransferInitiation, EventDate nonHonored, EventDate ped, EventDate pedCommunication, EventDate ed, EventDate edCommunication, EventDate etdDesignation, EventDate etd, int marginFrequency, int curePeriod, java.lang.String calendarSet) throws java.lang.Exception
- Parameters:
valuation
- The CSA Valuation Event Datehonored
- The CSA Honored Event DatecollateralTransferInitiation
- The CSA Collateral Transfer Initiation Event DatenonHonored
- The CSA Non-Honored Event Dateped
- The Potential Event of DefaultpedCommunication
- The Potential Event of Default Communication Dateed
- The Event of DefaultedCommunication
- The Event of Default Communication DateetdDesignation
- The Early Termination Designation Dateetd
- The Early Termination DatemarginFrequency
- The CSA Margin FrequencycurePeriod
- The Client "Failure To Pay" Cure PeriodcalendarSet
- The CSA Calendar Set- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
-
Method Detail
-
Aggressive
public static final EventSequence Aggressive(JulianDate valuationDate, java.lang.String calendarSet)
Construct an Instance of Aggressive EventSequence- Parameters:
valuationDate
- The Valuation DatecalendarSet
- The Calendar Set- Returns:
- Instance of Aggressive EventSequence
-
Conservative
public static final EventSequence Conservative(JulianDate valuationDate, java.lang.String calendarSet)
Construct an Instance of Conservative EventSequence- Parameters:
valuationDate
- The Valuation DatecalendarSet
- The Calendar Set- Returns:
- Instance of Conservative EventSequence
-
calendarSet
public java.lang.String calendarSet()
Retrieve the CSA Calendar Set- Returns:
- The CSA Calendar Set
-
marginFrequency
public int marginFrequency()
Retrieve the CSA Margin Frequency- Returns:
- The CSA Margin Frequency
-
curePeriod
public int curePeriod()
Retrieve the Client Cure Period- Returns:
- The Client Cure Period
-
valuation
public EventDate valuation()
Retrieve the Valuation Event Date- Returns:
- The Valuation Event Date
-
honored
public EventDate honored()
Retrieve the Honored Event Date- Returns:
- The Honored Event Date
-
collateralTransferInitiation
public EventDate collateralTransferInitiation()
Retrieve the Collateral Transfer Initiation Event Date- Returns:
- The Collateral Transfer Initiation Event Date
-
nonHonored
public EventDate nonHonored()
Retrieve the Non Honored Event Date- Returns:
- The Non Honored Event Date
-
ped
public EventDate ped()
Retrieve the PED Event Date- Returns:
- The PED Event Date
-
pedCommunication
public EventDate pedCommunication()
Retrieve the PED Communication Event Date- Returns:
- The PED Communication Event Date
-
ed
public EventDate ed()
Retrieve the ED Event Date- Returns:
- The ED Event Date
-
edCommunication
public EventDate edCommunication()
Retrieve the ED Communication Event Date- Returns:
- The ED Communication Event Date
-
etdDesignation
public EventDate etdDesignation()
Retrieve the ETD Designation Event Date- Returns:
- The ETD Designation Event Date
-
etd
public EventDate etd()
Retrieve the ETD Event Date- Returns:
- The ETD Event Date
-
marginPeriodStart
public JulianDate marginPeriodStart()
Retrieve the Margin Period Start Date- Returns:
- The Margin Period Start Date
-
marginPeriodEnd
public JulianDate marginPeriodEnd()
Retrieve the Margin Period End Date- Returns:
- The Margin Period End Date
-
marginDuration
public int marginDuration()
Retrieve the Margin Duration- Returns:
- The Margin Duration
-
-


Getting Started in PythonCard
This document is designed to help people who are interested in learning and using PythonCard but who are not professional programmers and who do not have deep Python scripting skills to learn their way around the environment and to understand how PythonCard applications get built.
Before You Read This Document
It will be helpful if, before you attempt to follow along with this document, you are sure you've done the following:
- Downloaded and installed the latest version of PythonCard for your system
- Confirmed that your installation works by successfully launching and running the application called minimal in the PythonCard samples directory
While it is not necessary for the purposes of this document that you understand how to program in Python, you should know that all of the real heavy lifting in PythonCard is done using Python programming. So if you haven't yet learned Python, you can still follow the basics of this walk-through. But you won't be able to do much in the way of PythonCard development without at least a basic understanding of and comfort level with Python programming.
Some Basic Preparation
This document assumes you are running PythonCard on a Windows machine. If you're on a Macintosh or Linux system, you'll have to adjust some of the instructions to match the directory structure and other differences on your machine.
You will also have to have access to a Python-aware editor. The good news is that PythonCard comes with a robust editor called codeEditor. When you install PythonCard, codeEditor appears in the tools sub-directory. We recommend that you make it easy to open your Python source files (all of them, not just the PythonCard source) with this codeEditor. You can set up your Windows system so that it allows you to choose PythonCard's codeEditor as one (or the only) editor with which Python source files can be opened and edited by following these steps:
- Open the Explorer and choose "Folder Options...quot; under the "Tools" menu
- Click on the "File Types" tab
- Scroll down in the "Registered file types" list and select extension "PY Python File"
- Click on the "Advanced" button. You should be looking at an "Edit File Type" dialog with a list of actions such as Edit and Open. Open is probably in bold since it is the default action usually associated with .py files.
- Click on the "New..." button. You should be looking at a "New Action" dialog
- In the "Action:" field type in a label such as "Edit with PythonCard". This is the label that will show up in the context menu when you right-click on a .py file in the Explorer
- In the "Application used to perform action:" field you need to specify the path to the Python executable as well as the location of the codeEditor.py file. On a Python 2.3.5 installation using the default installer this will look like:
C:\Python23\python.exe C:\Python23\Lib\site-packages\PythonCard\tools\codeEditor\codeEditor.py "%1"
(Note that the text above is entered on one line; it may appear as two lines in your browser because of wrapping of text.)
Substitute your own paths for the ones above and put quotes (") around the paths with spaces in them, if any. If you don't want a console when codeEditor.py runs, then use pythonw.exe instead of python.exe
- Click "OK." You should now have an "Edit with PythonCard" item in your "Edit File Type" dialog
- Click "OK"
- Click "Close" in the "Folder Options" dialog
- Open a directory in the explorer that contains a .py file, then right-click on the file and choose "Edit with PythonCard" and the file should be opened with codeEditor.py. (If it doesn't work, double-check the steps above.)
- Repeat the process for .pyw files, using the same name and path.
As you learn Python, you'll want a good tutorial. We've gathered together list of some of the best resources on the Net and in your favorite real or digital bookstore.
If you're not quite sure what PythonCard is or what kinds of problems it's designed to solve, read this document.
A User's Eye View of PythonCard
Now that you've taken all the necessary preparation steps, let's dig into the PythonCard universe and see what's going on just under the hood.
PythonCard is a development environment. It needs an application as a starting point, so you generally start by finding an application that has a lot of what you're looking for and cloning it, renaming some files, and then launching the copied application. We've done that for you for this walk-through; the details of how to start your own application come in a subsequent document in this series. (There is another way to begin your PythonCard project development that involves choosing from a pre-defined template. We won't cover that approach here but it is discussed in the next walkthrough in this series.)
Exploring Some Sample Applications
We'll begin our walk-through of PythonCard by looking at the kinds of things it is designed to do. (Understand, however, that these are pretty skeletal applications designed as samples and starting points, not as commercial applications. You can do far more robust things with PythonCard than might be evident from these simple demonstrations.)
In the directory Python23\Lib\site-packages\PythonCard\samples you'll find a file called samples.pyw. Double-click this application icon (or launch it in whatever way you're accustomed to on your system).
In a few moments, you'll see a window open called "PythonCard Samples Launcher." (See Figure 1) This PythonCard application lets you browse through the sample applications included with PythonCard, examine them and run them. It's a sort of nerve center for the sample applications. (On some systems, you may also see an operating system console window when the application launches. You can just minimize this window.)
Figure 1. Screen Shot of PythonCard's Samples Launcher
In the scrolling list of applications, select "minimal." Read the description. Click on the buttons labeled "Show Source" and "Show Resource." None of this means anything to you yet, but you need to know that you can always examine the Python source code for the scripts that run your PythonCard applications as well as the resource file that contains descriptions of the elements that make up its interface. You should also know that every PythonCard application has at least two Python source files. One of them ends in "rsrc.py." This is where PythonCard stores information about the layout of your application's window, while the logic of the program is stored in the other Python file which does not have the "rsrc" extension before the "py" extension. Note that you cannot edit in the Samples Launcher.
OK, click the "Launch" button. In a few moments, you'll see a small window like the one in Figure 2. Now you see why this sample is called "minimal." It's about as small a PythonCard application as you can think of! You can change the text in the editing field and you can drag the window around. Eventually, you'll get tired of all this dazzling functionality and want to close the application. You can either click the close box or choose Exit from the File Menu.
Figure 2. Screen shot of minimal PythonCard application window
Back in the Samples Launcher, select the sample called "dialogs." Again, you can examine source and the resource file if you're so inclined. When you're ready, click the "Launch" button. A window like the one in Figure 3 will appear.
Figure 3. Screen Shot of Dialogs Launcher Application in PythonCard
All of the dialog boxes you can see by clicking on the text lines to the left of this window are built into PythonCard. Causing them to appear, and determining what the user selected or did with them, is, as you'll learn in a later walk-through, pretty straight-forward. Click on the "alert" line. A small dialog appears. Click the "OK" button. Notice that in the Sample Dialogs window, you can see the name of the dialog (alertDialog), and whether the user accepted or canceled the dialog. You can also see what information the program returned to PythonCard as a result of the user's action. In this case, the user accepted the dialog (i.e., clicked "OK " and the dialog returned "Ok." Unless you have some programming or scripting background, that may not be meaningful, but trust us, it's useful data.
Now try the "Message" dialog. Run it three times, clicking "Yes " once, "No" once and "Cancel" the other time. Notice the differences in the information displayed in the Samples Launcher as a result.
One more and then we'll go have some fun with this stuff. Click on the "File" dialog button. You'll see a standard file-open dialog for your system. You can navigate around, choose from the list at the bottom of the window the file type(s) you want to see listed, and select a file (or cancel). Notice what appears in the Sample Dialogs window when you do these various things.
Changing a PythonCard Application
OK, let's go see what's going on under the hood here. In your PythonCard\docs directory, locate the folder called " GettingStarted". In that directory is a file called starter1.py. Launch it in the usual way. It is a bare-bones PythonCard application. In fact, it's a copy of the minimal application you ran in the last section.
Open the file starter1.py in your Python-aware editor of choice. The Python script is, as you'd expect, brief and to the point. Here's the important part to focus on:
def on_menuFileAbout_select(self, event): pass
Even without understanding Python you can probably tell what this code snippet does. (That's one of the beauties of Python. It is eminently readable.) It's what we call an "event handler." It gets activated, or triggered, by the user causing some event. In this case, the user selects the File Menu's "About" option and we do nothing (in Python, the "pass" statement does nothing; it's simply used as a placeholder where the syntax requires a statement but no action is needed).
We're going to change what this menu choice does. You'd never handle an assignment the way we're going to show you here, but our purpose is just to show you how easy it is to fiddle with PythonCard's Python scripts to make things happen the way you want them to happen.
First, select the word "pass". Type in its place the following line:
result = dialog.alertDialog(self, 'It works!', 'Showing Off')
Again, this new line of Python code is readable even if you're not a Python guru yet. Now when the user selects the Exit menu, rather than doing nothing, we'll display an alert dialog titled "Showing Off" that says "It works!"
One more change. We have to make sure our Python script knows how to work with dialogs. Near the top of the file above the comments that explain what's going on is a line that says:
from PythonCard import model
Change that so it says:
from PythonCard import dialog, model
Save the code.
IT IS IMPORTANT, if you choose to use a Python editor other than PythonCard's codeEditor, that you not try to run the program from within those editors. Doing so in programs like the IDLE editor that ships with the Python distribution or PythonWin, for example, will have nasty consequences because these editors use a different graphics library from what PythonCard uses.
Double-click the "starter1" application. When the window appears, select the Exit option from the File menu. You'll see a small dialog appear as described above.
Close the application by selecting its window's close box.
 If you didn't close it, starter1.py should still be open for editing. Replace the string 'It works!' in the line we edited earlier so that the line reads:
result = dialog.alertDialog(self, self.components.field1.text, 'Showing Off')
This line is almost identical to the one we just had here, but this one takes its text from the text in a component called "field1."
Save the code. Then double-click the "starter1" application to try out the change.
Now when you change the text in the field and select File->Exit, you'll see a dialog box that contains the text you put into the field.
What We've Learned
Not a bad start, right? We've learned how to launch a PythonCard application, something about the kinds of dialog support PythonCard has built in, looked at a couple of sample applications, and then edited some source code not once but twice. In the process we also learned that PythonCard has components (user interface elements) that have programs (or scripts) associated with them. We've learned that there are events in PythonCard and that you can write Python code that tells your application what to do when those events are triggered.
What's Next?
In the next installment of this PythonCard walk-through, we'll dig a little more deeply into development. We'll see how we can set up our development environment to provide helpful supporting windows that tell us what's going on in our application. We'll also see how to start and build our own application, using the built-in PythonCard layout editor, the Resource Editor.
We'll be producing more of these walk-through documents on other aspects of PythonCard's use. If you want to stay current with PythonCard and the documentation, you should subscribe to the user mailing list.
$Revision: 1.23 $ : $Author: kasplat $ : Last updated $Date: 2006/01/03 18:28:32 $


The Fabric Gateway SDK allows applications to interact with a Fabric blockchain network. It provides a simple API to submit transactions to a ledger or query the contents of a ledger with minimal code. The Gateway SDK implements the Fabric programming model as described in the Developing Applications chapter of the Fabric documentation.
The following shows a complete code sample of how to connect to a fabric network, submit a transaction and query the ledger state using an instantiated smart contract (fabcar sample).
public static void main(String[] args) throws IOException {
// Create gRPC channel, which should be shared by all gateway connections to this endpoint.
Channel grpcChannel = ManagedChannelBuilder.forAddress("gateway.example.org", 1337)
.usePlaintext()
.build();
// Create client identity and signing implementation based on X.509 certificate and private key.
Identity identity = new X509Identity("mspId", certificate);
Signer signer = Signers.newPrivateKeySigner(privateKey);
// Configure gateway connection used to access the network.
Gateway.Builder builder = Gateway.newInstance()
.identity(identity)
.signer(signer)
.connection(grpcChannel);
// Create gateway connection.
try (Gateway gateway = builder.connect()) {
// Obtain smart contract deployed on the network.
Network network = gateway.getNetwork("mychannel");
Contract contract = network.getContract("fabcar");
// Submit transactions that store state to the ledger.
byte[] createCarResult = contract.submitTransaction("createCar", "VW", "Polo", "Grey", "Mary");
System.out.println(new String(createCarResult, StandardCharsets.UTF_8));
// Evaluate transactions that query state from the ledger.
byte[] queryAllCarsResult = contract.evaluateTransaction("queryAllCars");
System.out.println(new String(queryAllCarsResult, StandardCharsets.UTF_8));
} catch (ContractException | TimeoutException | InterruptedException e) {
e.printStackTrace();
}
}


Pep's elegant attack when responding to a critic
by BeSoccerMan City coach, Pep Guardiola, was accused of losing possession against Chelsea and his reply was not expected at all.
Manchester City beat Chelsea in a good game, with chances for both clubs and great effectiveness and in a game where City did not play well at all.
For the first time, Pep Guardiola did not have much possession, which meant that questions arose in his press conference.
Featured links
- The latest football transfers news and rumours
- Luis Enrique returns to Spain national team
- Mourinho replaces Pochettino at Tottenham
- Wales, golf, Madrid... in that order
This is when City's coach replied in the best way possible: "There's always a first time for everything in life."
"These things happen, but now I have a new record here: I won a game without having much possession, I will add it to the list," Guardiola finished.


Class NVShaderBufferLoad
- java.lang.Object
-
- org.lwjgl.opengl.NVShaderBufferLoad
-
public class NVShaderBufferLoad extends java.lang.Object
Native bindings to the NV_shader_buffer_load extension.At a very coarse level, GL has evolved in a way that allows applications to replace many of the original state machine variables with blocks of user-defined data. For example, the current vertex state has been augmented by vertex buffer objects, fixed-function shading state and parameters have been replaced by shaders/programs and constant buffers, etc. Applications switch between coarse sets of state by binding objects to the context or to other container objects (e.g. vertex array objects) instead of manipulating state variables of the context. In terms of the number of GL commands required to draw an object, modern applications are orders of magnitude more efficient than legacy applications, but this explosion of objects bound to other objects has led to a new bottleneck - pointer chasing and CPU L2 cache misses in the driver, and general L2 cache pollution.
This extension provides a mechanism to read from a flat, 64-bit GPU address space from programs/shaders, to query GPU addresses of buffer objects at the API level, and to bind buffer objects to the context in such a way that they can be accessed via their GPU addresses in any shader stage.
The intent is that applications can avoid re-binding buffer objects or updating constants between each Draw call and instead simply use a VertexAttrib (or TexCoord, or InstanceID, or...) to "point" to the new object's state. In this way, one of the cheapest "state" updates (from the CPU's point of view) can be used to effect a significant state change in the shader similarly to how a pointer change may on the CPU. At the same time, this relieves the limits on how many buffer objects can be accessed at once by shaders, and allows these buffer object accesses to be exposed as C-style pointer dereferences in the shading language.
As a very simple example, imagine packing a group of similar objects' constants into a single buffer object and pointing your program at object <i> by setting
glVertexAttribI1iEXT(attrLoc, i);
and using a shader as such:struct MyObjectType { mat4x4 modelView; vec4 materialPropertyX; // etc. }; uniform MyObjectType *allObjects; in int objectID; // bound to attrLoc ... mat4x4 thisObjectsMatrix = allObjects[objectID].modelView; // do transform, shading, etc.
This is beneficial in much the same way that texture arrays allow choosing between similar, but independent, texture maps with a single coordinate identifying which slice of the texture to use. It also resembles instancing, where a lightweight change (incrementing the instance ID) can be used to generate a different and interesting result, but with additional flexibility over instancing because the values are app-controlled and not a single incrementing counter.
Dependent pointer fetches are allowed, so more complex scene graph structures can be built into buffer objects providing significant new flexibility in the use of shaders. Another simple example, showing something you can't do with existing functionality, is to do dependent fetches into many buffer objects:
GenBuffers(N, dataBuffers); GenBuffers(1, &pointerBuffer); GLuint64EXT gpuAddrs[N]; for (i = 0; i < N; ++i) { BindBuffer(target, dataBuffers[i]); BufferData(target, size[i], myData[i], STATIC_DRAW); // get the address of this buffer and make it resident. GetBufferParameterui64vNV(target, BUFFER_GPU_ADDRESS, gpuaddrs[i]); MakeBufferResidentNV(target, READ_ONLY); } GLuint64EXT pointerBufferAddr; BindBuffer(target, pointerBuffer); BufferData(target, sizeof(GLuint64EXT)*N, gpuAddrs, STATIC_DRAW); GetBufferParameterui64vNV(target, BUFFER_GPU_ADDRESS, &pointerBufferAddr); MakeBufferResidentNV(target, READ_ONLY); // now in the shader, we can use a double indirection vec4 **ptrToBuffers = pointerBufferAddr; vec4 *ptrToBufferI = ptrToBuffers[i];
This allows simultaneous access to more buffers than EXT_bindable_uniform (MAX_VERTEX_BINDABLE_UNIFORMS, etc.) and each can be larger than MAX_BINDABLE_UNIFORM_SIZE.
-
-
Field Summary
Fields Modifier and Type Field and Description static int
GL_BUFFER_GPU_ADDRESS_NV
Accepted by thepname
parameter of GetBufferParameterui64vNV, GetNamedBufferParameterui64vNV.static int
GL_GPU_ADDRESS_NV
Returned by thetype
parameter of GetActiveUniform.static int
GL_MAX_SHADER_BUFFER_ADDRESS_NV
Accepted by thevalue
parameter of GetIntegerui64vNV.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static long
glGetBufferParameterui64NV(int target, int pname)
static void
glGetBufferParameterui64vNV(int target, int pname, long[] params)
Array version of:GetBufferParameterui64vNV
static void
glGetBufferParameterui64vNV(int target, int pname, java.nio.LongBuffer params)
static long
glGetIntegerui64NV(int value)
static void
glGetIntegerui64vNV(int value, long[] result)
Array version of:GetIntegerui64vNV
static void
glGetIntegerui64vNV(int value, java.nio.LongBuffer result)
static long
glGetNamedBufferParameterui64NV(int buffer, int pname)
static void
glGetNamedBufferParameterui64vNV(int buffer, int pname, long[] params)
Array version of:GetNamedBufferParameterui64vNV
static void
glGetNamedBufferParameterui64vNV(int buffer, int pname, java.nio.LongBuffer params)
static long
glGetUniformui64NV(int program, int location)
static void
glGetUniformui64vNV(int program, int location, long[] params)
Array version of:GetUniformui64vNV
static void
glGetUniformui64vNV(int program, int location, java.nio.LongBuffer params)
static boolean
glIsBufferResidentNV(int target)
static boolean
glIsNamedBufferResidentNV(int buffer)
static void
glMakeBufferNonResidentNV(int target)
static void
glMakeBufferResidentNV(int target, int access)
static void
glMakeNamedBufferNonResidentNV(int buffer)
static void
glMakeNamedBufferResidentNV(int buffer, int access)
static void
glProgramUniformui64NV(int program, int location, long value)
static void
glProgramUniformui64vNV(int program, int location, long[] value)
Array version of:ProgramUniformui64vNV
static void
glProgramUniformui64vNV(int program, int location, java.nio.LongBuffer value)
static void
glUniformui64NV(int location, long value)
static void
glUniformui64vNV(int location, long[] value)
Array version of:Uniformui64vNV
static void
glUniformui64vNV(int location, java.nio.LongBuffer value)
-
-
-
Field Detail
-
GL_BUFFER_GPU_ADDRESS_NV
public static final int GL_BUFFER_GPU_ADDRESS_NV
Accepted by thepname
parameter of GetBufferParameterui64vNV, GetNamedBufferParameterui64vNV.- See Also:
- Constant Field Values
-
GL_GPU_ADDRESS_NV
public static final int GL_GPU_ADDRESS_NV
Returned by thetype
parameter of GetActiveUniform.- See Also:
- Constant Field Values
-
GL_MAX_SHADER_BUFFER_ADDRESS_NV
public static final int GL_MAX_SHADER_BUFFER_ADDRESS_NV
Accepted by thevalue
parameter of GetIntegerui64vNV.- See Also:
- Constant Field Values
-
-
Method Detail
-
glMakeBufferResidentNV
public static void glMakeBufferResidentNV(int target, int access)
-
glMakeBufferNonResidentNV
public static void glMakeBufferNonResidentNV(int target)
-
glIsBufferResidentNV
public static boolean glIsBufferResidentNV(int target)
-
glMakeNamedBufferResidentNV
public static void glMakeNamedBufferResidentNV(int buffer, int access)
-
glMakeNamedBufferNonResidentNV
public static void glMakeNamedBufferNonResidentNV(int buffer)
-
glIsNamedBufferResidentNV
public static boolean glIsNamedBufferResidentNV(int buffer)
-
glGetBufferParameterui64vNV
public static void glGetBufferParameterui64vNV(int target, int pname, java.nio.LongBuffer params)
-
glGetBufferParameterui64NV
public static long glGetBufferParameterui64NV(int target, int pname)
-
glGetNamedBufferParameterui64vNV
public static void glGetNamedBufferParameterui64vNV(int buffer, int pname, java.nio.LongBuffer params)
-
glGetNamedBufferParameterui64NV
public static long glGetNamedBufferParameterui64NV(int buffer, int pname)
-
glGetIntegerui64vNV
public static void glGetIntegerui64vNV(int value, java.nio.LongBuffer result)
-
glGetIntegerui64NV
public static long glGetIntegerui64NV(int value)
-
glUniformui64NV
public static void glUniformui64NV(int location, long value)
-
glUniformui64vNV
public static void glUniformui64vNV(int location, java.nio.LongBuffer value)
-
glGetUniformui64vNV
public static void glGetUniformui64vNV(int program, int location, java.nio.LongBuffer params)
-
glGetUniformui64NV
public static long glGetUniformui64NV(int program, int location)
-
glProgramUniformui64NV
public static void glProgramUniformui64NV(int program, int location, long value)
-
glProgramUniformui64vNV
public static void glProgramUniformui64vNV(int program, int location, java.nio.LongBuffer value)
-
glGetBufferParameterui64vNV
public static void glGetBufferParameterui64vNV(int target, int pname, long[] params)
Array version of:GetBufferParameterui64vNV
-
glGetNamedBufferParameterui64vNV
public static void glGetNamedBufferParameterui64vNV(int buffer, int pname, long[] params)
Array version of:GetNamedBufferParameterui64vNV
-
glGetIntegerui64vNV
public static void glGetIntegerui64vNV(int value, long[] result)
Array version of:GetIntegerui64vNV
-
glUniformui64vNV
public static void glUniformui64vNV(int location, long[] value)
Array version of:Uniformui64vNV
-
glGetUniformui64vNV
public static void glGetUniformui64vNV(int program, int location, long[] params)
Array version of:GetUniformui64vNV
-
glProgramUniformui64vNV
public static void glProgramUniformui64vNV(int program, int location, long[] value)
Array version of:ProgramUniformui64vNV
-
-


-
Recent Items
-
Salesforce - 1,000 Licenses Opportunity • Propecting
-
Art Vandelay Contact •<EMAIL_ADDRESS>-
Vandelay Industries Account • San Francisco
-
Salesforce UK 2016 Events Event • $20,000
-
H.E. Pennypacker Lead • Nursing
Record Type Record Title
-
Field 1
Description that demonstrates truncation with a long text field.
-
Field 2 (3)
Multiple Values
-
Field 3
Hyperlink -
Field 4
Description (2-line truncat...
Example of injected data
Data shown in this table comes from views/data/example.json
.
|
Account Name
|
Billing State/Province
|
Phone
|
Type
|
|---|---|---|---|
|
NC
|
(336) 222-7000
|
Customer - Direct
|
|
|
KS
|
(785) 241-6200
|
Customer - Channel
|
|
|
TX
|
(512) 757-6000
|
Customer - Direct
|
|
|
OR
|
(503) 421-7800
|
Customer - Channel
|
|
|
CA
|
(650) 867-3450
|
Customer - Channel
|
|
|
IL
|
(312) 596-1000
|
Customer - Direct
|
|
|
(014) 427-4427
|
Customer - Channel
|
||
|
CA
|
(415) 901-7000
|
||
|
NY
|
(212) 842-5500
|
Customer - Direct
|
|
|
Singapore
|
(650) 450-8810
|
Customer - Direct
|
|
|
UK
|
+44<PHONE_NUMBER>
|
Customer - Direct
|
|
|
AZ
|
(520) 773-9050
|
Customer - Direct
|
Examples of interactions
A few components are interactive, thanks to the JavaScript bundled in the starter kit.


{% extends "base.html" %} {% load compress humanize staticfiles hc_extras %} {% block title %}My Checks - healthchecks.io{% endblock %} {% block content %}
Note: Dates and times are displayed in UTC.
| Date Time | IP | Protocol | User Agent | |
|---|---|---|---|---|
|
{{ record.ping.created|date:"N j" }}
{{ record.ping.created|date:"H:i" }}
|
{{ record.ping.remote_addr|default:"" }} | {{ record.ping.scheme }} | {{ record.ping.ua }} | |
|
No ping received for {{ record.date|timesince:record.prev_date }} |
||||


Hello there!
London-based freelance specializing in Magento, Wordpress & Shopify development
NWD Designs Ltd
(2020 - present)Technical Lead
After two years of working in London, I joined the NWD Designs team. Our design group works with clients including Motorola and Nokia who are just some examples; Apple stands out among all others because it had such an impactful brand identity for decades until they rebranded recently.
https://www.nwd.co.ukPinnacle Designs
(2018 - 2020)Lead Developer
Looking for a new challenge, I joined Pinnacle Designs. My role focused on helping our customers define their strategic branding needs and requirements to achieve an elegant end result that stands out among competitors' work.
https://www.pinnacle-designs.co.ukSuper 8
(2016 - 2018)Senior Developer
I have always loved the idea of being in charge of a design team, so I joined Super 8 as a lead designer where we worked on amazing campaigns including the branding and advert assets for Facebook's VR arm.
https://www.supereight.co.ukCube Agency
(2014 - 2016)Graphic Designer
After finishing my degree in Graphic Design, I joined Cube agency in London in 2014 and worked on projects for companies such as Nestle, Spotify and Red Cabbage.
https://www.cubeagency.co.uk"Jenny offered creative logos without production deadlines too complicated or tight spots where others could not go. Not only does her work make us look good but also feels really nice working alongside someone you can trust!"
Emily Parkson
Waterpark Theatre
"I had the best experience working with Jenny. She is a creative, talented and fun person to be around! Her attention-to detail made it easy for me as her client because we knew what was wanted from day one."
Patrick Smith
Cologne Limited
"I was really pleased with the logo designs that Jenny created for my organization. The logos are instantly recognizable, making it easy to find our brand in a crowded market of other education providers."
Harry Duckmore
SB Design Limited
"She's always professional and clear in her communications, but it was when she started giving me advice on how to improve our website design that really made a difference for us--she had so many good ideas!"
Nelly Oliver
Super 8 Design House
"I was really pleased with the logo designs that Jenny created for my organization. The logos are instantly recognizable, making it easy to find our brand in a crowded market of other education providers."
Sarah Fell
SFell Limited
"She's always professional and clear in her communications, but it was when she started giving me advice on how to improve our website design that really made a difference for us--she had so many good ideas!"
Henry Kingsom
Henry Codes Ltd
"Working with Jenny was an absolute dream. She offered us the perfect logo without any complicated deadlines or tight spots that other designers could not navigate to save their life!"
Peter Jackson
WimWam Limited
"I had the best experience working with Jenny. She is a creative, talented and fun person to be around! Her attention-to detail made it easy for me as her client because we knew what was wanted from day one."
Patricia Nelson
Cologne Limited
"Working with Jenny was a real pleasure. Not only does her work make us look good but also feels really nice working alongside someone you can trust both personally and professionally!"
Stephen King
King Coding Ltd
"With a creative approach to logos, she was able provide us with custom designs without ever having an unrealistic deadline. Not only does the work make our company look good but also feel really nice when we can trust someone!"
Simon Smith
Brand Juice Co
"I've never met anyone who is more professional and clear in their communications than Jenny, but it was when she started giving me advice on how to improve our website design that really made a difference for us -- she had so many good ideas!"
Joe Hill
Joe Hill Software
"I can't say enough good things about Jenny! We started as a client last year after she made some major changes for us which turned out beautifully. We'll be a client for as long as she will work with us!"
Rob Waite
RW Software Services


BBBCSIO
A C# I/O Library for the Beaglebone Black
Overview
About BBBCSIO
BBBCSIO is a free and open source .NET v4 library which provides a comprehensive C# input/output solution for the Beaglebone Black Mono environment.
Using BBBCSIO, you can easily read and write to the GPIO pins (and trigger interrupt events from state changes), launch and interact with PRU programs and
control SPI, I2C, PWM, UART and A2D devices. BBBCSIO is intended to be a comprehensive solution for I/O on the Beaglebone Black. At the current time only a few minor OCP devices remain to be implemented. Besides the downloadable
DLL library and
source code
the BBBCSIO contains complete
Help Files
and
Examples
. There is also a
Notes
section which provides more information on numerous topics such
as the Device Tree and the
PinMux.
Note: In order to use the BBBCSIO library, C# and Mono must be installed on the Beaglebone Black. A
separate project
documents that installation procedure.
License, Cost and Disclaimer
The BBBCSIO software is free and open source and is released under the MIT License. Be sure to read the
license text before your use the software. Your use of the BBBCSIO software is entirely at your own risk.
What BBBCSIO Does
- Provides simple and transparent read/write access (including the
triggering of events)
to the GPIO pins of a Beaglebone Black. A maximum output frequency of about 1.8MHz is possible when using a memory mapped port class and about 1.2Khz when using the SYSFS class.
- The SPI ports are fully supported. It is possible to use GPIO pins to provide a large number of SPI device select lines.
- The I2C ports are fully supported.
- The Serial/UART ports are fully supported.
- The Pulse Width Modulation (PWM) devices are fully supported. The PWM duty
cycle can be specified in nano-seconds or as a percentage of the base frequency.
- The Analog to Digital Conversion (A2D) devices are fully supported. A sample rate of about 1000 samples/sec has been observed.
- Full PRU support is included. The BBBCSIO PRU_Driver
class can launch PRU binary code and interact with running PRU programs to
exchange data
or receive interrupt events
etc. The PRU can read from or write to I/O lines at speeds of up to 50Mhz.
- Developed on armhf Debian Linux v3.08 freely available for the Beaglebone Black.
- Tested with the Mono JIT compiler v3.2.8 but is probably also compatible with other versions.
- The software is written in C# and a .NET project is included with the source code.
What BBBCSIO Does Not Do
- The armhf Debian Linux running on the Beaglebone Black is not a real-time operating system. This means, for example, although you might set a port
to output a 100Khz square wave the actual timing of some of the pulses may vary (and there may be gaps) as the process is pre-emptively swapped in and out by the kernel.
If you need extremely accurate timing you can use the BBBCSIO
PRU_Driver class to launch code which will run in the Programmable Realtime Units (PRUs) and this
will be absolutely deterministic in terms of timing (and probably a lot faster as well).
- The SPI, I2C, PWM, A2D, UART and PRU devices are supported as of version 01.05 but relatively little used OCP devices such as the quadrature encoders and McASP system have not yet been implemented in the BBBCSIO library, although they are planned to be added.
- The BBBCSIO Library cannot do much in the way of I/O unless the process it is running in has root privileges. This is enforced by the Linux O/S and means
that any code which incorporates the BBBCSIO Library must run as root.
- The BBBCSIO Library cannot adjust the PinMux
in order to enable specific OCP devices or GPIO pins. This cannot be done from user space and must be done by
setting the Device Tree or by somehow calling a kernel mode device driver to do it for you.
- The InterruptPort functionality is a pseudo interrupt. It operates by monitoring the designated GPIOs out of band in a separate, continuously computable,
thread. In concept, it is not dissimilar to the C
Poll()
call.
- The interrupt events sent by the PRU to a user space C# program are also not true interrupts. The PRU, of course, is completely realtime but by the time
the interrupt filters down the C# program (where it is received as an C# event) the kernel may have swapped that process in and out of memory an arbitrary number of times.
Download
The latest version of the BBBCSIO software can be found on this page. The source
code is also available in browseable form.
Installation and System Requirements
If you download only the BBBCSIO.dll
(rather than the source) you can use it like any other .NET dll library. Either place the BBBCSIO.dll
in the same directory
as the exe file or copy the dll into the /usr/lib
directory where it will be available to all programs that need it. Of course, you will need to
reference it in the .NET solution just as you would any other library.
If you download the source code you can include the BBBCSIO.proj
into your .NET solution in the usual way and the software should compile.
As for system requirements, the BBBCSIO was tested on a Beaglebone Black rev C board with the armhf Debian Linux v3.08 operating system installed. You will also
need Mono and the MCS compiler - testing occurred on Mono 3.2.8.


An earthquake is the shaking of the surface of the Earth, resulting from the sudden release of energy in the Earth's lithosphere that creates seismic waves. Earthquakes can range in size from those that are so weak that they cannot be felt to those violent enough to toss people around and destroy whole cities. At the Earth's surface, earthquakes manifest themselves by shaking and displacing or disrupting the ground. When the epicenter of a large earthquake is located offshore, the seabed may be displaced sufficiently to cause a tsunami. Earthquakes can also trigger landslides, and occasionally volcanic activity. In its most general sense, the word earthquake is used to describe any seismic event — whether natural or caused by humans — that generates seismic waves. Earthquakes are caused mostly by rupture of geological faults, but also by other events such as volcanic activity, landslides, mine blasts, and nuclear tests.
Make sure you have a fire extinguisher, first aid kit, a battery-powered radio, a flashlight, and extra batteries at home. Learn first aid. Learn how to turn off the gas, water, and electricity. Make up a plan of where to meet your family after an earthquake. Don't leave heavy objects on shelves (they'll fall during a quake). Anchor heavy furniture, cupboards, and appliances to the walls or floor. Learn the earthquake plan at your school or workplace.
Stay calm! If you're indoors, stay inside. If you're outside, stay outside. If you're indoors, stand against a wall near the center of the building, stand in a doorway, or crawl under heavy furniture (a desk or table). Stay away from windows and outside doors. If you're outdoors, stay in the open away from power lines or anything that might fall. Stay away from buildings (stuff might fall off the building or the building could fall on you). Don't use matches, candles, or any flame. Broken gas lines and fire don't mix. If you're in a car, stop the car and stay inside the car until the earthquake stops.
Check yourself and others for injuries. Provide first aid for anyone who needs it. Check water, gas, and electric lines for damage.  Check for the smell of gas. If you smell it, open all the windows and doors, leave immediately, and report it to the authorities (use someone else's phone). Turn on the radio. Don't use the phone unless it's an emergency.Stay out of damaged buildings. Be careful around broken glass and debris. Wear boots or sturdy shoes to keep from cutting your feet. Be careful of chimneys (they may fall on you). Stay away from beaches. Tsunamis and seiches sometimes hit after the ground has stopped shaking. Stay away from damaged areas. If you're at school or work, follow the emergency plan or the instructions of the person in charge. Expect aftershocks.


|
CoMFi
0.0.1
Collisional Multi-Fluid ion code
|
Everything in CoMFi will be in this namespace for safety. More...
Namespaces | |
| operators | |
| Functions to build or apply the 'operators'. | |
| routines | |
| Linear algebra routines and deriving variables and such are all found here. | |
| sol | |
| Solar chromosphere math functions. | |
| types | |
| All the classes, enums and types can be found here. | |
| util | |
| Utility functions. | |
Classes | |
| class | Results |
Functions | |
| def | kenergy (velx, velz, velp=0, dens=1) |
| def | benergy (magx, magz, magp=0) |
| def | nuin (dens, temp) |
| def | load (filename, xsize, zsize) |
| def | nu_ii (ni, temp) |
| def | nu_en (nn, temp) |
| def | nu_ei (ne, te) |
| def | gyrofreq_e (mag) |
| def | gyrofreq_p (mag) |
| def | ip1_neumann (unknown) |
| def | ip1_mirror (unknown) |
| def | im1_neumann (unknown) |
| def | im1_mirror (unknown) |
| def | jp1_neumann (unknown) |
| def | jm1_neumann (unknown) |
| def | jm1_dirichlet (unknown, bc) |
| def | nu_in (nn, T, t_0=1, n_0=1, T_0=1) |
Everything in CoMFi will be in this namespace for safety.
This is the top level namespace.
Functions and stuff for ease of use on MHD results
| def comfi.benergy | ( | magx, | |
| magz, | |||
magp = 0 |
|||
| ) |
Calculate magnetic energy density
| def comfi.kenergy | ( | velx, | |
| velz, | |||
velp = 0 , |
|||
dens = 1 |
|||
| ) |
Calculate kinetic energy
| def comfi.load | ( | filename, | |
| xsize, | |||
| zsize | |||
| ) |
load result binary file into matrix with correct orientation
| def comfi.nuin | ( | dens, | |
| temp | |||
| ) |
Calculate collision frequency