Pitch
It's hard to keep track of how many reps you can do for time, or how much you usually deadlift. This app keep it all organized and tracked for you.
Product Canvas
Proposal
What problem does your app solve?
Users can log in and can create, review, update, and delete data on their workouts. Can create a name of the exercise, amount lifted and/or reps completed, date, and region of the body exercise targets.
Be as specific as possible; how does your app solve the problem?
This app will allow:
- The user to login
- Manage their own workout
- Adjust dates, location, and times of their workout
- Has a list feature to add workouts
Planning
Development Back End
Models
- User
- Workouts
- Journal
Endpoints
User Endpoints
- Sign Up
- Login
- Update User
- Delete User
Endpoints
Get
- Get All User
- Get User by ID
- Get All Workout
- Get Workout by ID
- Get all Journal
- Get Journal by ID
Add
- Add User
- Add Workout
- Add Workout to User
- Add journal to user
Update
- Update User
- Update Workout
- Update Journal <
Delete
- Delete User
- Remove Workout from User
- Remove Journal from User
Database Structure
- User
- Workout
- Journal
Click on the Header below to close a section.
- Creating user object endpoint
- creating journal object endpoint
- Created workouts endpoint
- Enpdoints active for workout, users, journal - get, add, update, and delete
- deployed to heroku
- All endpoints are working updating documentation to reflect endpoint
User Model
{
"id": 15,
"username": "teeest",
"email"<EMAIL_ADDRESS>"password": "$2a$10$Jtsy1aerwBJSfGJVfY1OAOIx9XmojN3F5c3WOv3wGHf.CkHI9YtPG",
"firstName": "Darren",
"lastName": "Angus"
}
Workout Model
This is what returns on a individual workout request.
{
"id": 4,
"date": "12-12-2019",
"upper_body": "chest",
"lower_body": "None",
"core": "abds",
"users_id": 1
}
Journal Model
{
"journalid": 1,
"notes": "user can add whatever they want in the notes section",
}
User Endpoints - Signup
Endpoint: `/api/auth/register`
Type: `POST`
Description:
Sign up a new user
Expected Input:
// username and email must be unique
// username, password, and email are required
"username": "testuser",
"password": "password",
"email"<EMAIL_ADDRESS>"first_name": "Johnathan",
"last_name": "Doe",
Sample Request:
{
"username": "usde",
"password": "examplepass",
"first_name": "Some",
"last_name": "User",
"email"<EMAIL_ADDRESS>}
Expected Return:
{
"id": 5,
"email"<EMAIL_ADDRESS>"first_name": "Some",
"last_name": "User",
"username": "usderer",
"password": "$2a$12$XE0Pc6COTGemu2vrnVOlvuOZ209yt.ivZJSB1cf5ub33zCfjO9x9C"
}
Expected Return if Fails:
{
"error": "insert into `users` (`email`, `first_name`, `last_name`, `password`) values<EMAIL_ADDRESS>'Some', 'User', '$2a$12$AC1Tb4cC66wrPKNhLyBfqO3N0jovP9jNy1wPvFuvv.xGDOAa7QV42') - SQLITE_CONSTRAINT: NOT NULL constraint failed: users.username"
}
User Endpoints - Login
Endpoint: `/api/auth/login`
Type: `POST`
Description:
Gets authentication token for user with given credentials
Expected Input:
"username": "SomeUser",
"password": "TheirPassword"
Sample Request:
const body = {
"username": "SomeUser",
"password": "TheirPassword"
};
axios.post(`${BASE_URL}/api/auth/login`, body);
Expected Return:
status = 200
{
message: `Welcome SomeUser!`,
token
}
Expected Return if Fails:
status = 401
{ message: 'Invalid Request. Please check the username and password submitted.' }
TODO - this is not active yet
User Endpoints - Update User
Endpoint: `/api/auth/user/{id}`
Type: `PUT`
Description:
Update user with given id
Expected Input:
{
"username": "testuser",
"password": "password",
"email"<EMAIL_ADDRESS>"firstname": "Johnathan",
"lastname": "Doe",
"group_id": null
}
Sample Request:
Expected Return:
Expected Return if Fails:
TODO - this is not active yet
User Endpoints - Delete User
Endpoint: `/api/auth/user/{id}`
Type: `DELETE`
Description:
Delete user with given id
Expected Input:
{
"id": 1
}
Sample Request:
Expected Return:
Expected Return if Fails:
User Endpoints - Get All User - Simple
Endpoint: `/api/users/`
Type: `GET`
Description:
Get a list of all user objects - simple return
Sample Request:
Expected Return:
[
{
"id": 1,
"email"<EMAIL_ADDRESS>"first_name": "Some",
"last_name": "User",
"username": "user",
"password": "examplepass"
}
]
Expected Return if Fails:
status: 500
{ message: 'Failed to get results.' }
User Endpoints - Get User by ID
Endpoint: `/api/users/{id}`
Type: `GET`
Description:
Get detailed information about an user
Expected Input:
{ id }
Sample Request:
Expected Return:
{
"id": 1,
"email"<EMAIL_ADDRESS>"first_name": "Some",
"last_name": "User",
"username": "user",
"password": "examplepass"
}
Expected Return if Fails:
status code: 500
{ message: 'Failed to get results.' }
Workout Endpoints - Get Guests by Workout
Endpoint: `/api/users/{id}/workout`
Type: `GET`
Description:
Get a list of user workout
Expected Input:
{ id }
Sample Request:
Expected Return:
[
{
"id": 1,
"date": "12-12-2019",
"upper_body": "chest",
"lower_body": "None",
"core": "abs",
"users_id": 1
},
{
"id": 2,
"date": "11-12-2018",
"upper_body": "arms",
"lower_body": "none",
"core": "none",
"users_id": 1
},
{
"id": 4,
"date": "12-12-2019",
"upper_body": "chdest",
"lower_body": "Nodne",
"core": "abds",
"users_id": 1
},
{
"id": 5,
"date": "12-12-2019",
"upper_body": "chfdfdest",
"lower_body": "Nofsdfdne",
"core": "abds",
"users_id": 1
},
]
Expected Return if Fails:
status code: 500
{ message: 'Failed to get guests.' }
Event Endpoints - Get All Guests
Endpoint: `/api/users/{id}/workout/{id}`
Type: `GET`
Description:
Get a a specific user workout
Expected Input:
Sample Request:
Expected Return:
[
{
"id": 4,
"date": "12-12-2019",
"upper_body": "chdest",
"lower_body": "Nodne",
"core": "abds",
"users_id": 1
}
]
Expected Return if Fails:
status code: 500
{ message: 'Failed to get guests.' }
Event Endpoints - Get user journal
Endpoint: `/api/users/{id}/journal`
Type: `GET`
Description:
Get a users journal
Expected Input:
Sample Request:
Expected Return:
Expected Return if Fails:
status code: 500
{ message: 'Failed to get guest.' }
Event Endpoints - Get journal by id
Endpoint: `/api/users/{id}/journal/{id}`
Type: `GET`
Description:
Get Food Needed for Event
Sample Request:
Expected Return:
Expected Return if Fails:
status code: 500
{ message: 'Failed to get results.' }
Event Endpoints - Add User
Endpoint: `/api/users/`
Type: `POST`
Description:
Add a new event to database
Expected Input:
{
"eventname": "Autumn Bash",
"description": "Company party for end of Summer, start of fall, and September birthdays!",
"eventdate": "9-25-2019",
"eventtime": "2:00 PM",
"location": null,
"user_id": 1 // User_id should be the id of the user creating the event.
}
Sample Request:
Expected Return:
// should return the object added to database.
status code: 201
{
"eventname": "Autumn Bash",
"description": "Company party for end of Summer, start of fall, and September birthdays!",
"eventdate": "9-25-2019",
"eventtime": "2:00 PM",
"location": null,
"user_id": 1
}
Expected Return if Fails:
status code: 500
{ message: 'Failed to create new event.' }
Event Endpoints - Add Guest
Endpoint: `/api/guests/`
Type: `POST`
Description:
Add a new guest to database
Expected Input:
{
"guestname": "May",
"guestemail"<EMAIL_ADDRESS>}
Sample Request:
Expected Return:
// should return the object added to database.
status code: 201
{
"id": 5,
"guestname": "May",
"guestemail"<EMAIL_ADDRESS>"user_id": null
}
Expected Return if Fails:
status code: 500
{ message: 'Failed to create new guest.' }
Event Endpoints - Add Guest to an Event
Endpoint: `/api/events/{id}/addguest`
Type: `POST`
Description:
Add Guest to an Event
Expected Input:
{ "guest_id": 4 }
Sample Request:
Expected Return:
Should return an array of guests for the event.
Expected Return if Fails:
status code: 500
{ message: 'Failed to add guest to the event.' }
Event Endpoints - Add Food Needed for Event
Endpoint: `/api/events/{id}/addfood`
Type: `POST`
Description:
Add Food Needed for Event
Expected Input:
{
"food_id": 3,
"quantity_needed": 6
}
Sample Request:
Expected Return:
Should return an array of food needed for the event.
Expected Return if Fails:
Event Endpoints - Add Guest Bringing Item
Endpoint: `/api/events/{id}/addBringing`
Type: `POST`
Description:
Add Guest Bringing Item for an event
Expected Input:
{
"food_needed_id": 3,
"guest_id": 4 ,
"quantity": 6
}
Sample Request:
Expected Return:
Should return an array of food the guest is bringing to the event.
Expected Return if Fails:
Food Endpoints - Add Food
Endpoint: `/api/food/`
Type: `POST`
Description:
Add a new food to database
Expected Input:
{
"foodname": "Apples",
"description": null,
"category_id": 3,
"vegetarian": true,
"vegan": true,
"gutenfree": null
}
Sample Request:
Expected Return:
// should return the object added to database.
status code: 201
{
"id": 3,
"foodname": "Apples",
"description": null,
"category_id": 3,
"vegetarian": "1",
"vegan": "1",
"gutenfree": null
}
Expected Return if Fails:
status code: 500
{ message: 'Failed to create new food.' }
Food Endpoints - Add Category
Endpoint: `/api/food/categories/`
Type: `POST`
Description:
Add a new category to database
Expected Input:
{
"category": "fruit",
"description": "The fleshy seed-associated structures of a plant that are sweet or sour, and edible in the raw state, such as apples, bananas, grapes, lemons, oranges, and strawberries."
}
Sample Request:
Expected Return:
// should return the object added to database.
status code: 201
{
"category": "fruit",
"description": "The fleshy seed-associated structures of a plant that are sweet or sour, and edible in the raw state, such as apples, bananas, grapes, lemons, oranges, and strawberries."
}
Expected Return if Fails:
status code: 500
{ message: 'Failed to create new cateogory.' }
Event Endpoints - Update Event
Endpoint: `/api/events/{id}`
Type: `PUT`
Description:
Update event with given id.
Expected Input:
// Only have to submit information that is requested to change.
{
"eventname": "Autumn Bash",
"description": "Company party for Autumn and September birthdays!",
}
Sample Request:
Expected Return:
{
"id": 3,
"eventname": "Our Autumn Bash",
"description": "Company party for Autumn and September birthdays!",
"eventdate": "9-25-2019",
"eventtime": "2:00 PM",
"location": null,
"user_id": 1
}
Expected Return if Fails to find event by id:
status code: 404
{ message: 'Could not find event with given id.' }
Expected Return if Fails:
status code: 500
{ message: 'Failed to update event.' }
Event Endpoints - Update Guest Bringing Item
Endpoint: `/api/events/{id}/updateBringing`
Type: `PUT`
Description:
Update Guest Bringing Item
Expected Input:
{
"food_needed_id": 1,
"guest_id": 2,
"quantity": 6
}
Sample Request:
Expected Return:
// an updated array of the foods the guest is bringing to the event.
Expected Return if Fails:
status code: 500
{ message: 'Failed to update food guest is bringing to the event.' }
Event Endpoints - Update Guest
Endpoint: `/api/guests/{id}`
Type: `PUT`
Description:
Update Guest with given id.
Expected Input:
// Only have to submit information that is requested to change.
{
"guestemail"<EMAIL_ADDRESS>}
Sample Request:
Expected Return:
{
"id": 5,
"guestname": "May",
"guestemail"<EMAIL_ADDRESS>"user_id
}
Expected Return if Fails to find event by id:
status code: 404
{ message: 'Could not find Guest with given id.' }
Expected Return if Fails:
status code: 500
{ message: 'Failed to update Guest.' }
Event Endpoints - Update Food
Endpoint: `/api/food/{id}`
Type: `PUT`
Description:
Update food with given id.
Expected Input:
// Only have to submit information that is requested to change.
{
"description": "Sweet fruit"
}
Sample Request:
Expected Return:
{
"id": 3,
"foodname": "Apples",
"description": "Sweet fruit",
"category_id": 3,
"vegetarian": "1",
"vegan": "1",
"gutenfree": null
}
Expected Return if Fails to find by id:
status code: 404
{ message: 'Could not find food with given id.' }
Expected Return if Fails:
status code: 500
{ message: 'Failed to update food.' }
Event Endpoints - Update Category
Endpoint: `/api/food/categories/{id}`
Type: `PUT`
Description:
Update category with given id.
Expected Input:
// Only have to submit information that is requested to change.
{
"description": "meats"
}
Sample Request:
Expected Return:
{
"id": 2,
"category": "meat",
"description": "animal flesh that is eaten as food."
}
Expected Return if Fails to find event by id:
status code: 404
{ message: 'Could not find cateogory with given id.' }
Expected Return if Fails:
status code: 500
{ message: 'Failed to update cateogory.' }
Event Endpoints - DELETE Event
Endpoint: `/api/events/{id}`
Type: `DELETE`
Description:
Deletes event with given ID
Expected Input:
// {id} supplied in the endpoint
Sample Request:
Expected Return:
// object that has been deleted
{
"id": 3,
"eventname": "Our Autumn Bash",
"description": "Company party for Autumn and September birthdays!",
"eventdate": "9-25-2019",
"eventtime": "2:00 PM",
"location": null,
"user_id": 1
}
Expected Return if Fails to find event by id:
status code: 404
{ message: 'Could not find event with given id.' }
Expected Return if Fails:
status code: 500
{ message: 'Failed to delete event.' }
Event Endpoints - DELETE Guest
Endpoint: `/api/events/{id}`
Type: `DELETE`
Description:
Deletes Guest with given ID
Expected Input:
// {id} supplied in the endpoint
Sample Request:
Expected Return:
// object that has been deleted
{
}
Expected Return if Fails to find event by id:
status code: 404
{ message: 'Could not find Guest with given id.' }
Expected Return if Fails:
status code: 500
{ message: 'Failed to delete Guest.' }
Event Endpoints - Remove Guest from an Event
Endpoint: `/api/events/{id}/removeguest`
Type: `DELETE`
Description:
Removes Guest from an Event
Expected Input:
{
"guest_id": 3
}
Sample Request:
Expected Return:
// an updated array of the guests for the event.
Expected Return if Fails:
status code: 500
{ message: 'Failed to remove guest from the event.' }
Event Endpoints - Remove Food Needed for Event
Endpoint: `/api/events/{id}/removefood`
Type: `DELETE`
Description:
Remove Food Needed for Event
Expected Input:
{ "food_id": 3 }
Sample Request:
Expected Return:
// an updated array of the foods needed for the event.
Expected Return if Fails:
status code: 500
{ message: 'Failed to remove food needed for the event.' }
Event Endpoints - DELETE Food
Endpoint: `/api/food/{id}`
Type: `DELETE`
Description:
Deletes Food with given ID
Expected Input:
// {id} supplied in the endpoint
Sample Request:
Expected Return:
// object that has been deleted
Expected Return if Fails to find food by id:
status code: 404
{ message: 'Could not find food with given id.' }
Expected Return if Fails:
status code: 500
{ message: 'Failed to delete food.' }
Event Endpoints - DELETE Category
Endpoint: `/api/food/categories/{id}`
Type: `DELETE`
Description:
Deletes Category with given ID
Expected Input:
// {id} supplied in the endpoint
Sample Request:
Expected Return:
// object that has been deleted
{
"id": 4,
"category": "fruit",
"description": "The fleshy seed-associated structures of a plant that are sweet or sour, and edible in the raw state, such as apples, bananas, grapes, lemons, oranges, and strawberries."
}
Expected Return if Fails to find event by id:
status code: 404
{ message: 'Could not find cateogory with given id.' }
Expected Return if Fails:
status code: 500
{ message: 'Failed to delete cateogory.' }
Database Structure - User Table
users
{
"id": 1, // auto increments (no input required, will auto populate)
"username": "user", // Cannot be null, Unique
"password": "examplepass", // Cannot be null
"firstname": "Johnathan", // not required
"lastname": "Doe", // not required
"preferredname": "John", // not required
"email"<EMAIL_ADDRESS>// Cannot be null, Unique
"group_id": 1 // not required, References `id` in table `groups`.
}
Database Structure - Groups Table
groups
{
"id": 1, // auto increments (no input required, will auto populate)
"groupname": "Developers", // Cannot be null, Unique
"description": "Description of the group" // not required
}
Database Structure - Event Table
events
{
"id": 1, // auto increments (no input required, will auto populate)
"eventname": "John's First Potluck", // Cannot be null, Unique
"description": "Birthday Party Potluck for Jane." // not required
"eventdate": "8-23-2019" // not required
"eventtime": "6:00 PM" // not required
"location": "John's Backyard" // not required, string
"user_id": 2 // not required, References `id` in table `users`.
}
Table Relationships
Database Structure - Food/Events Table
food_needed
{
"event_id": 1, // Required, References `id` in table `events`.
"food_id": 1, // Required, References `id` in table `foods`.
"quantity_needed": 1, // not required
}
Table Relationships
Database Structure - Food/Guests Table
food_bringing
{
"food_needed_id": 1, // Required, References `id` in table `food_needed`.
"guest_id": 1, // Required, References `id` in table `guests`.
"quantity": 1, // not required
}


---
title: Read & Discover
permalink: /read/
nav_order: 10
tags: page
---
Plenty of my stuff is online for free. Why?  No, but serious, though, folks: I've been around. Part of trying to get people to publish you is letting other people publish you way out in the open. Read some of my stuff below.
Do you want access to an exclusive ebook of some of my short stories? Support me on Patreon and get at least that free ebook as a reward. Learn more about how you can support my habit on my Support page.
{% assign story_types = "novels, poetry, comics, short_stories" | split: ", " %}
{% for type in story_types %}
{{ works[type].heading }}
{% for story in works[type].items %}
-
{% if story.cover %}
{% endif %}
“{{ story.title }}”
{{ story.summary }}
Published on {{ story.publish_date | shortdate }}
{% if story.links %}
{% for link in story.links %}
-
{{ link.label }}
{% endfor %}
{% endif %}
{% endfor %}
{% endfor %}


Welcome to My HomeWork_6.4
here is holiday info you need to fill.
Destination:
Duration:
Cost:
Agent:
Return to Homepage


{% extends "base.html" %} {% block content %} {{page|safe}}{# OK to use a safe here. We load a committed source .md file #} {% endblock %}


We want to help you find the treatment option that best aligns with
your healt care goals and concerns. The concerns and goals we consider
are:
- Hearing Improvment
- Risks
- Hearing Risks
- Possible complete hearing loss on surgery side
- Possible hearing distortion
- Temporary Health Risks
- Anaesthetic Issues
- Loss of Taste
- Permanent Health Risks
- Increase Chance of Ear Infections
- Possible Permanent Loss of Balance
In the following pages we discuss each of those concerns and goals
in more detail.


When black meets gold its bound to be a classy affair. From Dolce & Gabanna to Givenchy the deadly duo has inspired innumerable A-list fashion houses.
Below the waist, the dress flows smoothly over the midriff elongating the body making it look lithe and sultry like a hindi film heroine ready to take on the dance floor (and presumably all the men) in an item number heavily infused with sexual innuendos.
Winter means lots of weddings/social events, hence “look fabulous, dress to the nines” inadvertently becomes your motto for the fashionably busy season.
Planning a night out on the city with your girlfriends? Get sloshed in style! Ditch the old Anarkali and sharara’s for a fashion forward,fresh look in this enviable maxi dress. Write your own fairytale at a winter ball or gala by personalising this gown with unique accessories.
Put your best foot forward in champagne gold pumps or the all time favourite black peep toes, pumps or stilletoes with chain details. Embellished heels lend sophistication and luxury to your outfit but can be hard to spot. So make your own by doing some crafty DIY!
Get your accessory game on — ethereal hair accessories, upper arm cuffs, fringed bracelets, cuffed earrings and body chains are on fleek.


It looks like you don't have javascript enabled which is required for cmdchallenge.
View Solutions
Learn


SIKIServiceEvents Protocol Reference
| Conforms to | NSObject |
|---|---|
| Declared in | SIKIServiceEvents.h |
– onStart
required method
This is the first method to be called when a service is created.
- (void)onStart
Discussion
This is the first method to be called when a service is created.
OnStart is always overridden to perform any startup initializations that may be required by a Service such as:
Once OnStart has finished, Connect will call OnServiceQueue if Service is in ASYNC mode else OnServiceApiInvoke. *
Declared In
SIKIServiceEvents.h
– onQueue
required method
This method is called when the service is put in the queue for the execution.
- (void)onQueue
Discussion
This method is called when the service is put in the queue for the execution.
Declared In
SIKIServiceEvents.h
– onPause
required method
This method is called when there is no network. Services should override this method if they need to:
- (void)onPause
Discussion
This method is called when there is no network. Services should override this method if they need to:
Declared In
SIKIServiceEvents.h
– onResume
required method
The Connect calls this method when the Service is ready to start executing.
Services should override this method to perform tasks such as:
- (void)onResume
Discussion
The Connect calls this method when the Service is ready to start executing.
Services should override this method to perform tasks such as:
Declared In
SIKIServiceEvents.h
– onFinish
required method
- This is the final method that is called on a Service instance before it�s destroyed and completely removed from memory.
There will be no lifecycle methods called after the Activity has been destroyed.
- (void)onFinish
Discussion
- This is the final method that is called on a Service instance before it�s destroyed and completely removed from memory.
There will be no lifecycle methods called after the Activity has been destroyed.
Declared In
SIKIServiceEvents.h
– onRequestInvoke:
required method
This method is called before Service calls Web Service Request.
- (void)onRequestInvoke:(id<SIKIConnectionRequest>)connectionRequest
Parameters
connectionRequest |
IConnectionRequest instance |
|---|
Discussion
This method is called before Service calls Web Service Request.
Declared In
SIKIServiceEvents.h
– onRequestFinish:
required method
This method is called after Web Service Request is executed.
- (void)onRequestFinish:(id<SIKIConnectionResponse>)connectionResponse
Parameters
connectionResponse |
IConnectionResponse instance |
|---|
Discussion
This method is called after Web Service Request is executed.
Declared In
SIKIServiceEvents.h
– onTerminate:
required method
- This method is called when there is any exception while executing the service.
Once this is called the service will be terminated and release from the memory. * @param serviceException
- (void)onTerminate:(SIKServiceException *)serviceException
Discussion
- This method is called when there is any exception while executing the service.
Once this is called the service will be terminated and release from the memory. * @param serviceException
Declared In
SIKIServiceEvents.h


H Fleyeh, “Traffic and Road Sign Recognition”, July 2008
P. Sermanet and Y. LeCun, "Traffic sign recognition with multi-scale Convolutional Networks," Neural Networks (IJCNN), The 2011 International Joint Conference on, San Jose, CA, 2011, pp. 2809-2813
Peemen, Maurice , Mesman, Bart, Corporaal, Henk, “SPEED SIGN DETECTION AND RECOGNITION BY CONVOLUTIONAL NEURAL NETWORKS” , Eindhoven University of Technology, the Netherlands
P. Gil-Jiménez, S. Lafuente-Arroyo, S. Maldonado-Bascón, and H. Gómez-Moreno. 2005. Shape classification algorithm using support vector machines for traffic sign recognition . In Proceedings of the 8th international conference on Artificial Neural Networks: computational Intelligence and Bioinspired Systems (IWANN'05), Joan Cabestany, Alberto Prieto, and Francisco Sandoval (Eds.). Springer-Verlag, Berlin, Heidelberg, 873-880
Fatin Zaklouta, Bogdan Stanciulescu, Real-time traffic sign recognition in three stages, Robotics and Autonomous Systems, Volume 62, Issue 1, January 2014, Pages 16-24
P. Sermanet and Y. LeCun, "Traffic sign recognition with multi-scale Convolutional Networks," Neural Networks (IJCNN), The 2011 International Joint Conference on, San Jose, CA, 2011, pp. 2809-2813
Møgelmose, A. (May 18, 2012). Traffic sign detection using computer vision - Explorations for a driver support system


Welcome to our study!
The goal of our research project is to better understand how people use smart speakers.
Start the study
Our study consists of a survey, which will take about 10–15 minutes of your time to complete.
When you're ready to begin, please click Start below. If you'd like to start the study later, you can come back to this page by clicking the button at the top right of your browser window.


The MultiLevel Domain Decomposition Parallel Preconditioners Package based on PSBLAS (MLD2P4) provides parallel Algebraic MultiGrid (AMG) and Domain Decomposition preconditioners (see, e.g., [3, 24, 22]), to be used in the iterative solution of linear systems,
|
| (1) |
where A is a square, real or complex, sparse matrix. The name of the package comes from its original implementation, containing multilevel additive and hybrid Schwarz preconditioners, as well as one-level additive Schwarz preconditioners. The current version extends the original plan by including multilevel cycles and smoothers widely used in multigrid methods.
The multilevel preconditioners implemented in MLD2P4 are obtained by combining AMG cycles with smoothers and coarsest-level solvers. The V-, W-, and K-cycles [3, 20] are available, which allow to define almost all the preconditioners in the package, including the multilevel hybrid Schwarz ones; a specific cycle is implemented to obtain multilevel additive Schwarz preconditioners. The Jacobi, hybrid forward/backward Gauss-Seidel, block-Jacobi, and additive Schwarz methods are available as smoothers. An algebraic approach is used to generate a hierarchy of coarse-level matrices and operators, without explicitly using any information on the geometry of the original problem, e.g., the discretization of a PDE. To this end, the smoothed aggregation technique [2, 26] is applied. Either exact or approximate solvers can be used on the coarsest-level system. Specifically, different sparse LU factorizations from external packages, and native incomplete LU factorizations and Jacobi, hybrid Gauss-Seidel, and block-Jacobi solvers are available. All smoothers can be also exploited as one-level preconditioners.
MLD2P4 is written in Fortran 2003, following an object-oriented design through the exploitation of features such as abstract data type creation, type extension, functional overloading, and dynamic memory management. The parallel implementation is based on a Single Program Multiple Data (SPMD) paradigm. Single and double precision implementations of MLD2P4 are available for both the real and the complex case, which can be used through a single interface.
MLD2P4 has been designed to implement scalable and easy-to-use multilevel preconditioners in the context of the PSBLAS (Parallel Sparse BLAS) computational framework [15, 14]. PSBLAS provides basic linear algebra operators and data management facilities for distributed sparse matrices, as well as parallel Krylov solvers which can be used with the MLD2P4 preconditioners. The choice of PSBLAS has been mainly motivated by the need of having a portable and efficient software infrastructure implementing “de facto” standard parallel sparse linear algebra kernels, to pursue goals such as performance, portability, modularity ed extensibility in the development of the preconditioner package. On the other hand, the implementation of MLD2P4 has led to some revisions and extentions of the original PSBLAS kernels. The inter-process comunication required by MLD2P4 is encapsulated in the PSBLAS routines; therefore, MLD2P4 can be run on any parallel machine where PSBLAS implementations are available.
MLD2P4 has a layered and modular software architecture where three main layers can be identified. The lower layer consists of the PSBLAS kernels, the middle one implements the construction and application phases of the preconditioners, and the upper one provides a uniform interface to all the preconditioners. This architecture allows for different levels of use of the package: few black-box routines at the upper layer allow all users to easily build and apply any preconditioner available in MLD2P4; facilities are also available allowing expert users to extend the set of smoothers and solvers for building new versions of the preconditioners (see Section 7).
We note that the user interface of MLD2P4 2.1 has been extended with respect to the previous versions in order to separate the construction of the multilevel hierarchy from the construction of the smoothers and solvers, and to allow for more flexibility at each level. The software architecture described in [8] has significantly evolved too, in order to fully exploit the Fortran 2003 features implemented in PSBLAS 3. However, compatibility with previous versions has been preserved.
This guide is organized as follows. General information on the distribution of the source code is reported in Section 2, while details on the configuration and installation of the package are given in Section 3. A short description of the preconditioners implemented in MLD2P4 is provided in Section 4, to help the users in choosing among them. The basics for building and applying the preconditioners with the Krylov solvers implemented in PSBLAS are reported in Section 5, where the Fortran codes of a few sample programs are also shown. A reference guide for the user interface routines is provided in Section 6. Information on the extension of the package through the addition of new smoothers and solvers is reported in Section 7. The error handling mechanism used by the package is briefly described in Section 8. The copyright terms concerning the distribution and modification of MLD2P4 are reported in Appendix A.


{{site.user_description}}
For machine learning projects I use Python with Tensorflow or PyTorch. Sometimes in combination with Jupyter.
I like Swift and Kotlin and have experience in mobile app development as well as macOS, Linux, and Windows.
My daily friends are git, TDD and CI. I have experience with Docker, Jenkins as well as the Atlassian software development tools.


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/leftover.20trace.3F.html ---
When I build mathlib, I see:
@[class, priority 100, to_additive name.mk_string "add_group" name.anonymous] structure group : Type u → Type u fields: group.mul : Π {α : Type u} [c : group α], α → α → α group.mul_assoc : ∀ {α : Type u} [c : group α] (a b c_1 : α), a * b * c_1 = a * (b * c_1) group.one : Π (α : Type u) [c : group α], α group.one_mul : ∀ {α : Type u} [c : group α] (a : α), 1 * a = a group.mul_one : ∀ {α : Type u} [c : group α] (a : α), a * 1 = a group.inv : Π {α : Type u} [c : group α], α → α group.mul_left_inv : ∀ {α : Type u} [c : group α] (a : α), a⁻¹ * a = 1
Is there a debug trace left somewhere?
You can use grep
on the mathlib directory. It's probably one of the flavors of #print
Last updated: Apr 24 2020 at 19:02 UTC


This week we have been focussing on Structure Query Language (SQL). SQL is a language and structure for working with persistent data (databases). As we have been looking at SQL I have been struck with how rigid it seems to me.  Ruby allows some expression, nuance. SQL is much less so. It is more of a set of rules that if you follow, will allow you a result.
Towards the end of the week I thought I would take a look at this 'NoSQL' business that seems to be all the rage with kids these days. NoSQL, as it's name portends, is partly a rebellion against the strictures of SQL.
NoSQL does away with many of the constraints of the SQL approach. This allows for a lot more flexibility. This can be a good thing. It allows for different approaches to storing and scaling data.
The problem is that each NoSQL database is it's own unique snowflake. Without the strictures of SQL, you are free to (nay...required to) define all of the implementation details that SQL provides for you. For example, NoSQL databases don't have a common way to query the data, the query solution is developed as part of the database.
I know that my view is being heavily influenced by my current emotional state. I am getting ready to move to Chicago, say goodbye to my wife, our pets, our friends...my life for 3 months. I am overwhelmed with learning, and anxiety. So the thought of building my own database framework (along with the database itself) seems a bit daunting.
I am glad that there are alternatives to the very rigid approach in SQL, but I think, at least for now, I will stay in the gilded cage of SQL.


B2G OS is a community maintained open source operating system for smartphones, tablets, smart TVs and other connected devices. The project was started in 2011 and is based on the Linux kernel and Gecko rendering engine. The entire user interface is built using web technologies (HTML, CSS and JavaScript) and can be used to launch and use web applications. Since Mozilla discontinued their commercial Firefox OS smartphone program the smartphone part of the project is entirely maintained by Mozilla's volunteer community, and branded as B2G OS.
Note: Call for contribution & Call for App adoption has been made to gather more people, feel free to share it !
How you can help
- File & fix bugs (meta bug is bug 1252143)
- Help us fix failing tests
- Port a gaia smartphone app:
- Turn it into a webapp (or)
- Turn it into chrome:// (why?) & report back
- Port B2G OS to your phone or help us to maintain a port
- Help improve translate this documentation & wiki
- Propose & implement new smartphone features
Get involved
- Mailing list (dev-fxos)
- IRC (irc.mozilla.org Channel: #b2g)
- Discourse
- Telegram Group
- Follow us on Twitter, or just look for #B2GOS
- Working Groups
- Documentation issues tracker on GitHub
- B2G Weekly Meeting for engineering status updates
To participate in meetings and community Working Groups meetings, register on this Calendar. They are announced on Discourse, where you can find information about how to attend & notes.
Compatible devices
- Sony Xperia Z3C (developer phone)
- Flame (developer phone)
- ZTE Open C
- Nexus 5
- WileyFox Swift
- Nexus 4 (WIP*)
- Fairphone 2 (WIP*)
- Sony Xperia E3 (WIP*)
- Sony Xperia Z1C (WIP*)
- Xiaomi Redmi 1S (WIP*)
For more information see this page.
Flash you device easily with B2G installer.
Your device is not in the list ? Try Mulet on desktop.
*WIP = Work In Progress.
Note: some pages have been moved to the MDN Archive — let us know if you have trouble finding anything, or if there is anything in the archive that you feel should be moved back to this section.


Introduction
- Individual data silos
- Intra and inter connected/linked data
- Links are typed: relation between two entities can be indicated
- Huge amount of data is generated continuously
- How can data be reused easily?
- How can we enable discovery of relevant data?
- How can we enable applications to integrate data from multiple sources?
- Linked Data helps in discovering, accessing, integrating, and using data
- WWW helps in connecting and consuming documents. Through Linked Data, it can also help in connecting and consuming data
- Rationale for Linked Data
- Structured data enables sophisticated processing
- Hyperlinks connect distributed data
- Makes the data discoverable
- From data islands to a global data space
- RDF links things, not just documents
- RDF links are typed
- Web of Data (analogous to Web of documents)
Principles of Linked Data
- Linked Data refers to a set of best practices/principles for publishing and interlinking structured data on the Web
- These principles were introduced by Tim Berners-Lee
- Linked Data principles
- Use URIs as names for things
- Use HTTP URIs, so that people can look up those names (make URIs dereferenceable)
- When someone looks up a URI, provide useful information, using the standards (RDF, SPARQL)
- Include links to other URIs, so that they can discover more things
Naming Things using URIs
- Resources (real-world entities, abstract concepts) need to be uniquely identified
- HTTP URIs is a good mechanism to identify resources
- They provide a simple mechanism to create globally unique identifiers
- They provide a means of accessing the identified entity
Make URIs Defererenceable
- HTTP clients can look up the URI and retrieve the resource's description
- Content negotiation
- HTTP clients can include in their headers what type of description they are looking for
- HTML description is for human consumption
- RDF description is for machine consumption
- Two strategies can be used make URIs: 303 URIs and Hash URIs
Make URIs Defererenceable
- 303 URIs
- Client performs a HTTP GET on a URI. It indicates either Accept: application/rdf+xml or Accept: text/html in the header
- Server responds with a HTTP 303 See Other response that includes the URI of the resource in requested format
- Client performs HTTP GET on this URI
- Server responds with the document and 200 OK
Make URIs Defererenceable
- Hash URIs
- 303 URIs requires two HTTP requests. Hash URIs avoids that.
- URIs can have a base part and a fragment identifier (after #)
- http://biglynx.co.uk/vocab/sme#Team
- Client removes the fragment identifier (HTTP protocol requirement) and sends rest of the URI to the server
- Server returns the details of all the fragment identifiers
- So client might end up with large number of triples that it is not interested in
Provide Useful RDF Information
- When publishing Linked Data on the Web, data is represented in the form of RDF
- The two most commonly used serialization formats when publishing Linked Data are rdf/xml and RDFa
- RDF features that should be best avoided when publishing Linked Data
- RDF reification: querying becomes cumbersome
- RDF collections: querying becomes cumbersome
- Blank nodes: they have local scope
Include Links to Other Things
- Include external RDF links to other data sources so that data islands can be transformed into global, interconnected data space
- There are three important types of RDF links
- Relationship Links: they point to related things in other data sources
- Identity Links: they point to URI aliases
- Vocabulary Links: they point to the definition of vocabulary terms that are used to represent the data
Summary
- A unifying data model: RDF
- A standardized data access mechanism: HTTP
- Hyperlink-based data discovery: URIs
- Self-descriptive data: shared vocabularies and data descriptions
5 Star Rating Scheme
- One Star: data is available on the web (whatever format), but with an open license
- Two Stars: data is available as machine-readable structured data (e.g., Microsoft Excel instead of a scanned image of a table)
- Three Stars: data is available as (2) but in a non-proprietary format (e.g., CSV instead of Excel)
- Four Stars: data is available according to all the above, plus the use of open standards from the W3C (RDF and SPARQL) to identify things, so that people can link to it
- Five Stars: data is available according to all the above, plus outgoing links to other people’s data to provide context
Publishing Data about Data
- Two common mechanisms to describe data are Semantic Sitemaps and voiD descriptions
- Semantic Sitemaps: similar to sitemap (url,loc,lastmod,changefreq), but has more elements such as location of data dumps, SPARQL endpoints
- voiD: stands for Vocabulary of Interlinked Data. It is similar to Semantic Sitemap, except that it is in RDF. Subsets of a dataset can also be defined and linked to other datasets
Using Vocabularies to Describe Data
- There are several popular existing vocabularies that can be reused to describe data, rather than reinventing the terms
- If existing vocabularies are used then there is a higher chance that your data will be consumed/understood by applications
- Dublin Core: defines general metadata attributes such as title, creator, date and subject
- Friend-of-a-Friend (FOAF): defines terms for describing persons, their activities and their relations to other people and objects
- schema.org: created by major search engines to discover data for search
- SKOS: bridge between different knowledge organization systems (thesaurus, taxonomy) to Semantic Web standards (RDF, OWL)
- Basic Geo (WGS84): defines terms such as lat and long for describing geographically-located things
- Music Ontology: defines terms for describing various aspects related to music, such as artists, albums, tracks, performances and arrangements
- Bibliographic Ontology (BIBO): provides concepts and properties for describing citations and bibliographic references (i.e., quotes, books, articles, etc.)
- Linked Open Vocabularies (LOV): searchable collection of several vocabularies


This is the principal port for the Mergui archipelago. Located just across the Pakchan river from Ranong, Thailand's most northerly port on the Andaman Sea. There is a longtail boat pier at the fishing port of Ranong, which connects the two ports. Not the most attractive town being very noisy and dusty but a photographers delight.
Foreign vessels need to have a license to sail the area before entering Kawthaung, which can be organized from the clearance agents listed. Call your local agent at least 1 hour prior to arrival.
Vessels should anchor off the navy and ferry Pier on the west shore of the harbour. The clearance agent will need to be picked up at the ferry pier with an Immigration officer to complete the paperwork, which is done without fuss in 10 minutes. Required documents and paperwork is a valid passport valid for 6 month after your cruise. 2 x passport size photographs, 2 passport copies (only the page with the photo on it) and the visa and entry fee in US$ cash, clean crisp bank notes. (Please make sure the bank notes have no marks on it, as there are no banks or exchange places nearby).
The visa fee itself amounts to US$ 30.- per person. The BEF consists of a number of different fees and depends on the amount of days and the sailing area to be visited, but one has to add around US$ 250 – US$ 300 per person.
Last updated March 2013.


From:Chandler Bob To:Geaccone Tracy ; Saunders James Sent:2017-01-11T04:37:25.0000000Z Subject:MMF Factors
Per your request we have checked the MMF calculation data for NNG/TW/FGT/Trailblazer to Hyperion and/or SAP as appropriate. Data checks out.
However, I asked Mary to provide me a copy of the prior year calculation. It appears that the NNG and TW Fair Value Adjustment companies were included in the calculation this year, but were excluded last year. A ballpark estimate is that the ETS MMF factor would drop by .1% if the NNG/TW fair value companies were excluded as they were last year. That would mean a factor of 19.0% rather than 19.1%.
Please call me when you want to discuss IMP. I'm not sure exactly what you're looking for so trying to answer by e-mail probably wouldn't be very productive.
***********
EDRM Enron Email Data Set has been produced in EML, PST and NSF format by ZL Technologies, Inc. This Data Set is licensed under a Creative Commons Attribution 3.0 United States License <http://creativecommons.org/licenses/by/3.0/us/> . To provide attribution, please cite to "ZL Technologies, Inc. (http://www.zlti.com)."
***********
California


Creative Development Research Toolkit
Ready for the toolkit?
Get started
What is Creative Development Research?
Get Started
When to use Creative Development Research
Get Started
Highlights and Inspiration
Get Started


My name is Baurjan Safi.
 I just completed a course in Data Science Immersive at General Assembly. It is a 12-week course focused on statistics, linear algebra, coding in Python and its packages for machine learning algorithms. In the past I worked in corporate finance. I did financial analytics, evaluations, modeling, and cost analysis. The new set of skills, acquired at GA helped me find new interests like neural networks, machine learning algorithms, predictive analytics in corporate finance.
I was born and raised in Kazakhstan, a country of vast steppes, cold winters and motherland of apples. Since the age of 14, I studied math and physics and later did my bachelor's in physics. Since the Soviet Union collapsed, I retrained to become an English-Russian interpreter and later did Master's in Business Administration. Ever since 1998, I worked in corporate finance and financial analysis. Now the time has come to restart a new career and I decided to return to where I started 30 years ago. Now I am a data scientist.
Below you will find a number of projects that represent my portfolio in data science projects. Each project is an html version of the Jupyter Notebook that has links to the corresponding github repository with original code and data.


We're sorry but shush-those-racists doesn't work properly without JavaScript enabled. Please enable it to continue.


I am from Rajasthan, India and working in Mumbai. As a Senior Analyst and Application Developer I spend most of my time doing POCs (Proof of Concept) and Development . I am a tea lover and like to explore new places, during my day time you can find me reading some Articles, laughing and talking with my colleagues and during my night time I do my own work to enhance my skills and offcouse sipping tea.
I am a perseverant and like challenges, I think this world will be more beautiful and peaceful if capable people start leading from the front.
| Area of Expertise | Skills |
|---|---|
| Cloud (SaaS, PaaS) | AWS, Azure, Oracle Cloud |
| Languages and Frameworks | Node.js, GoLang or GO, JavaScript, C/C++, HTML |
| Databases, In-Memory Data store | Oracle, Mongo, Couchbase, Redis, Memcache |
| DevOps | Git, Gitlab, Jenkins, Terraform, Ansible |
| Deployment | Docker, Kubernetes, ECS |
| Messaging, Streaming and Queues | Kafka, Confluent, RabbitMQ |
| Monitoring | ELK (Elastic Search, Logstash, Kibana), CloudWatch, Rancher |
| Operating System | Linux, Windows |


|
Clawpack Documentation Version 5.0 --- Under Construction! Not yet accurate |
This shows an example of a setrun.py module for a GeoClaw application. Note that claw_pkg=’geoclaw’ is expected. The line:
rundata = data.ClawRunData(claw_pkg, ndim)
creates an object of class ClawRunData with a geodata attribute.
The new parameters needed by GeoClaw are set in the function setrun_setgeo below.
"""
Module to set up run time parameters for Clawpack.
The values set in the function setrun are then written out to data files
that will be read in by the Fortran code.
"""
import os
from pyclaw import data
#------------------------------
def setrun(claw_pkg='geoclaw'):
#------------------------------
"""
Define the parameters used for running Clawpack.
INPUT:
claw_pkg expected to be "geoclaw" for this setrun.
OUTPUT:
rundata - object of class ClawRunData
"""
assert claw_pkg.lower() == 'geoclaw', "Expected claw_pkg = 'geoclaw'"
ndim = 2
rundata = data.ClawRunData(claw_pkg, ndim)
#------------------------------------------------------------------
# GeoClaw specific parameters:
#------------------------------------------------------------------
rundata = setgeo(rundata) # Defined below
#------------------------------------------------------------------
# Standard Clawpack parameters to be written to claw.data:
# (or to amr2ez.data for AMR)
#------------------------------------------------------------------
clawdata = rundata.clawdata # initialized when rundata instantiated
# Set single grid parameters first.
# See below for AMR parameters.
# ---------------
# Spatial domain:
# ---------------
# Number of space dimensions:
clawdata.ndim = ndim
# Lower and upper edge of computational domain:
clawdata.xlower = -100.
clawdata.xupper = 100.
clawdata.ylower = -100.
clawdata.yupper = 100.
# Number of grid cells:
clawdata.mx = 50
clawdata.my = 50
# ---------------
# Size of system:
# ---------------
# Number of equations in the system:
clawdata.meqn = 3
# Number of auxiliary variables in the aux array (initialized in setaux)
clawdata.maux = 3
# Index of aux array corresponding to capacity function, if there is one:
clawdata.mcapa = 0
# -------------
# Initial time:
# -------------
clawdata.t0 = 0.0
# -------------
# Output times:
#--------------
# Specify at what times the results should be written to fort.q files.
# Note that the time integration stops after the final output time.
# The solution at initial time t0 is always written in addition.
clawdata.outstyle = 1
if clawdata.outstyle==1:
# Output nout frames at equally spaced times up to tfinal:
clawdata.nout = 14
clawdata.tfinal = 7.0
elif clawdata.outstyle == 2:
# Specify a list of output times.
clawdata.tout = [0.5, 1.0] # used if outstyle == 2
clawdata.nout = len(clawdata.tout)
elif clawdata.outstyle == 3:
# Output every iout timesteps with a total of ntot time steps:
iout = 1
ntot = 5
clawdata.iout = [iout, ntot]
# ---------------------------------------------------
# Verbosity of messages to screen during integration:
# ---------------------------------------------------
# The current t, dt, and cfl will be printed every time step
# at AMR levels <= verbosity. Set verbosity = 0 for no printing.
# (E.g. verbosity == 2 means print only on levels 1 and 2.)
clawdata.verbosity = 3
# --------------
# Time stepping:
# --------------
# if dt_variable==1: variable time steps used based on cfl_desired,
# if dt_variable==0: fixed time steps dt = dt_initial will always be used.
clawdata.dt_variable = 1
# Initial time step for variable dt.
# If dt_variable==0 then dt=dt_initial for all steps:
clawdata.dt_initial = 0.016
# Max time step to be allowed if variable dt used:
clawdata.dt_max = 1e+99
# Desired Courant number if variable dt used, and max to allow without
# retaking step with a smaller dt:
clawdata.cfl_desired = 0.5
clawdata.cfl_max = 1.0
# Maximum number of time steps to allow between output times:
clawdata.max_steps = 5000
# ------------------
# Method to be used:
# ------------------
# Order of accuracy: 1 => Godunov, 2 => Lax-Wendroff plus limiters
clawdata.order = 2
# Transverse order for 2d or 3d (not used in 1d):
clawdata.order_trans = 2
# Number of waves in the Riemann solution:
clawdata.mwaves = 3
# List of limiters to use for each wave family:
# Required: len(mthlim) == mwaves
clawdata.mthlim = [3,3,3]
# Source terms splitting:
# src_split == 0 => no source term (src routine never called)
# src_split == 1 => Godunov (1st order) splitting used,
# src_split == 2 => Strang (2nd order) splitting used, not recommended.
clawdata.src_split = 1
# --------------------
# Boundary conditions:
# --------------------
# Number of ghost cells (usually 2)
clawdata.mbc = 2
# Choice of BCs at xlower and xupper:
# 0 => user specified (must modify bcN.f to use this option)
# 1 => extrapolation (non-reflecting outflow)
# 2 => periodic (must specify this at both boundaries)
# 3 => solid wall for systems where q(2) is normal velocity
clawdata.mthbc_xlower = 1
clawdata.mthbc_xupper = 1
clawdata.mthbc_ylower = 1
clawdata.mthbc_yupper = 1
# ---------------
# AMR parameters:
# ---------------
# max number of refinement levels:
mxnest = 3
clawdata.mxnest = -mxnest # negative ==> anisotropic refinement in x,y,t
# List of refinement ratios at each level (length at least mxnest-1)
clawdata.inratx = [2,4,2]
clawdata.inraty = [2,4,2]
clawdata.inratt = [2,4,2]
# Instead of setting these ratios, set the next parameter to True
# to automatically choose refinement ratios in time based on estimate
# of maximum wave speed on all grids at each level.
variable_dt_refinement_ratios = False
# Specify type of each aux variable in clawdata.auxtype.
# This must be a list of length maux, each element of which is one of:
# 'center', 'capacity', 'xleft', or 'yleft' (see documentation).
clawdata.auxtype = ['center','center','yleft']
clawdata.tol = -1.0 # negative ==> don't use Richardson estimator
clawdata.tolsp = 0.5 # used in default flag2refine subroutine
# (Not used in geoclaw!)
clawdata.kcheck = 2 # how often to regrid (every kcheck steps)
clawdata.ibuff = 2 # width of buffer zone around flagged points
# More AMR parameters can be set -- see the defaults in pyclaw/data.py
return rundata
# end of function setrun
# ----------------------
#-------------------
def setgeo(rundata):
#-------------------
"""
Set GeoClaw specific runtime parameters.
For documentation see ....
"""
try:
geodata = rundata.geodata
except:
print "*** Error, this rundata has no geodata attribute"
raise AttributeError("Missing geodata attribute")
# == setgeo.data values ==
geodata.igravity = 1
geodata.gravity = 9.81
geodata.icoordsys = 1
# == settsunami.data values ==
geodata.sealevel = 0.
geodata.drytolerance = 1.e-3
geodata.wavetolerance = 1.e-2
geodata.depthdeep = 1.e2
geodata.maxleveldeep = 3
geodata.ifriction = 0
geodata.coeffmanning = 0.
geodata.frictiondepth = 20.
# == settopo.data values ==
geodata.topofiles = []
# for topography, append lines of the form
# [topotype, minlevel, maxlevel, t1, t2, fname]
geodata.topofiles.append([2, 1, 1, 0., 1.e10, 'bowl.topotype2'])
# == setdtopo.data values ==
geodata.dtopofiles = []
# for moving topography, append lines of the form: (<= 1 allowed for now!)
# [minlevel,maxlevel,fname]
# == setqinit.data values ==
geodata.iqinit = 1
geodata.qinitfiles = []
# for qinit perturbations, append lines of the form: (<= 1 allowed for now!)
# [minlev, maxlev, fname]
geodata.qinitfiles.append([1, 2, 'hump.xyz'])
# == setregions.data values ==
geodata.regions = []
# to specify regions of refinement append lines of the form
# [minlevel,maxlevel,t1,t2,x1,x2,y1,y2]
geodata.regions.append([1, 1, 0.e0, 1.e10, -100.,100., -100.,100.])
geodata.regions.append([1, 2, 0.e0, 1.e10, 0.,100., 0.,100.])
geodata.regions.append([2, 3, 3.e0, 1.e10, 52., 72., 52., 72.])
geodata.regions.append([2, 3, 3.e0, 1.e10, 75., 95., -10., 10.])
# == setgauges.data values ==
geodata.gauges = []
# for gauges append lines of the form [gaugeno, x, y, t1, t2]
from numpy import linspace
# gauges along x-axis:
gaugeno = 0
for r in linspace(86., 93., 9):
gaugeno = gaugeno+1
x = r + .0005 # shift a bit away from cell corners
y = .0005
geodata.gauges.append([gaugeno, x, y, 0., 1e10])
# == setfixedgrids.data values ==
geodata.fixedgrids = []
# for fixed grids append lines of the form
# [t1,t2,noutput,x1,x2,y1,y2,xpoints,ypoints,\
# ioutarrivaltimes,ioutsurfacemax]
geodata.fixedgrids.append([1., 2., 4, 0., 100., 0., 100., 11, 11, 0, 0])
return rundata
# end of function setgeo
# ----------------------
if __name__ == '__main__':
# Set up run-time parameters and write all data files.
import sys
if len(sys.argv) == 2:
rundata = setrun(sys.argv[1])
else:
rundata = setrun()
rundata.write()


--- layout: page title: "Papers" description: "Research Papers" group: navigation navorder: 3 --- {% include JB/setup %} {% assign bookchapter = site.categories.papers | where_exp: "paper", "paper.pubtype contains 'bookchapter'" %} {% assign journal = site.categories.papers | where_exp: "paper", "paper.pubtype contains 'journal'" %} {% assign conference = site.categories.papers | where_exp: "paper", "paper.pubtype contains 'conference'" %} {% assign workshop = site.categories.papers | where_exp: "paper", "paper.pubtype contains 'workshop'" %}


So you’ve just finished downloading, installing and setting up a shiny new virtual machine using either Parallels Desktop for Mac, or VMware Fusion. What’s that you say? Your machine is now really slow? It freezes for seconds at a time?
Well, that’s to be expected - you are effectively running two operating systems on your mac now. Keep that statement in mind, because my tips can’t do anything about that. Your machine will be slower whilst running a virtual machine. Don’t despair - we should be able to make things a little more responsive.
I look after a Mac Pro, an iMac and a MacBook Pro that have all been running Windows-based virtual machines for the past year without major issue - along the way, I’ve found a few tips that have made the virtual machines and my macs run a lot faster than they otherwise would have.
I’ll cover off three things below:
General tips for making your virtual machines faster
- Buy as much RAM as you can afford. Seriously - more RAM means that your virtual machines won’t have to page out to disk as much, your mac will remain more responsive and your life will generally be much happier (OK, perhaps that last bit is going too far) - obviously CPU speed is important too, but you won’t see anywhere near the same improvement as just adding more RAM;
- The main speed decrease you’ll see when running a virtual machine comes from disk throughput. Your hard disk will churn and thrash much more than it does when you’re just running Mac OS X on its own - but you can do a couple of things to help that:
- Dynamically expanding disks are good in most circumstances - especially for users without huge amount of disk space, but they shouldn’t be used in any situation where disk speed is essential. Each time the dynamically expanding disk reaches it’s bounds (the size of the space it has allocated itself), it needs to allocate more space which will cause the virtual machine to pause slightly;
- If you intend to host a server, or run applications that will cause either operating system to use more virtual memory, my experience has been that creating a separate, statically allocated virtual disk (a disk that doesn’t dynamically expand) and moving your guest operating system’s swap or pagefile to that. I generally make mine 5Gb in size, and tell my windows guests to create a pagefile between 1024 - 4096 Mb - this means your disk will thrash a little when you first start your virtual machine, but once it’s running you’ll find things to be smoother;
- Always, always, always run your virtual machines off a separate disk if you have a slower drive in your mac. My MacBook Pro is much more responsive on the mac side when it doesn’t need to compete with an entire other operating system sucking up it’s hard disk cycles. I run my virtual machines off of firewire disks, as firewire is generally much faster that USB 2.0 for purposes such as this;
- Visit the forums for your product. For Parallels Desktop for Mac, the address is http://forum.parallels.com/. For VMware Fusion, the address is http://communities.vmware.com/community/vmtn/desktop/fusion;
Tips for Parallels Desktop for Mac
- In general, Parallels Desktop’s default setting are pretty good already - you shouldn’t need to change them too much;
- Ensure that your Virtual Machine’s cache policy is set to “Mac OS X” on slower disks (you can find this in your virtual machine’s settings under “Options > Advanced > Cache policy”. Setting it to “Virtual machine” over “Mac OS X” will mean that your guest operating systems get priority access to your hard disks. Given that the guests will only ever be as fast as your mac can go, I personally find no use for the “Virtual machine” option;
- If you don’t need sound, remove the sound device (or at least set the sound input device to null) - there seems to be slow down when this is enabled (I’m not sure whether it is a bug - I’ll update this post when I know);
Tips for VMware Fusion
- Always use the latest version of Fusion available. Fusion’s performance has gotten much, much better since the beta, and the 1.1 release screams;
- Always use SCSI disks with Fusion - IDE disks are (at this stage) much, much slower than their SCSI counterparts. Windows XP doesn’t support SCSI disks out of the box, so please be sure to use Fusion’s easy installer - this will set-up your Windows-based virtual machines to use SCSI disks without any mucking around;
- Unless you have a multi-CPU Mac Pro monster, allowing your virtual machines to virtualise more than one CPU will just slow things down. That means you Core Duo and Core 2 Duo users - it sounds cool to have 2 CPUs under your guest, but you’ll get better performance without them;
- Generally speaking, modifying your graphics settings in Fusion don’t impact performance - if you need Direct X 8 compatibility, turn it on. If you don’t - well, it doesn’t really seem to do anything to performance, so you might as well leave it off until you need it;


_Digimon:_The_Movie_ (PG) * (out of ****)
If you think a passing familiarity with _Pokémon_ is preparation enough for _Digimon:_The_Movie_--the big screen debut of the _Pokémon_ knockoff/rival television series--think again. In fact, nothing but an extensive knowledge of the DigiMythos will make the story of this animated feature the slightest bit comprehensible. Not that it really matters, anyway--when it all comes down to it, this is just one exhausting 70something-minute exercise in hyperactive visuals and sound. _Pokémon_ on speed, if you will.
After a baffling and completely unnecessary pre-film vignette about a rabid _Digimon_ fan waiting in line at a movie theatre and imagining herself in a _Digimon_ adventure (this piece of work makes the Pikachu shorts that precede the _Pokémon_ films look like Oscar bait), _Digimon:_The_Movie_ wastes no time in getting the plot underway. A brief voiceover narration by the character Kari (voiced by _Gimme_a_Break!_ alumna Lara Jill Miller) dispenses some exposition before the first of what are many battles between Digimon. Now what _are_ Digimon, you ask? The nearest I could figure is that they're some strange breed of monster that originates in cyberspace but sometimes crosses over into the real world by way of an egg that somehow emerges from a computer screen. How or why this happens, I don't know. Maybe it was covered in that narration, maybe not--it is delivered so quickly that it's impossible to not miss something.
Why do these Digimon fight? I suppose it all comes down to some being "bad" and some being "good." The "good" ones are able to be summoned by children called the DigiDestined (how they are selected and what they are destined to do is beyond me) to defeat the "bad" ones in the digital world. In the first half of the film, the bad Digimon is a computer virus that threatens to wipe out the world's computers, and its up to Kari's big brother Tai (Joshua Seth), the rest of the DigiDestined, and their Digimon to save the world. It's no spoiler to say that Tai and company do... but then the story picks up four years later, with some new characters and an older Kari facing some remnant of said destructive Digimon.
All this, of course, would make sense to the target audience of 6-year-olds who watch the _Digimon_ television series every weekday afternoon on Fox. But that's a moot point for them, since the show and the film are all about the fire-breathing, bomb-exploding, all-stops-out battles between Digimon. And the makers of _Digimon:_The_Movie_ don't skimp, barely taking a breath between action scenes. While this ensures that the tykes won't ever get antsy, it also guarantees one big headache--and a severe case of motion sickness to match--for adults. The violence may be between the Digimon, but it's the older viewers in the audience that feel the pain.
The pace may be quicker and the action louder and more extreme than in _Pokémon_, but that doesn't necessarily make _Digimon_ better. With the assaultive nature comes the absence of any slight bit of humanity. Say what one will about _Pokémon_ poster critter Pikachu, one must concede that he has personality, and there is some warmth to his relationship with trainer Ash Ketchum. Here, all the characters, human and Digimon alike, are merely interchangeable pieces in a mechanical game--an apt description for _Digimon:_The_Movie_, a "movie" in name only.
©2000 Michael Dequina
Michael Dequina<EMAIL_ADDRESS>|<EMAIL_ADDRESS>|<EMAIL_ADDRESS>Mr. Brown's Movie Site: http://www.mrbrownmovies.com CinemaReview Magazine: http://www.CinemaReview.com on ICQ: #25289934 | on AOL Instant Messenger: MrBrown23
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


Create A Webpage for Your Wedding/Banquet
Title
Naming your wedding/banquet.
Subscription
Scribe more for your wedding/banquet.
Date
The date for wedding/banquet
Time
The time for wedding/banquet
Location
The location for wedding/banquet
Create
Cancel


This section is long and might be split up into parts.
Having your project structured is important.
One of the tools you can use to manage your project is to separate your sections into separate files.
Using \input{FILENAME} you can include these files into your main project.


The best city scooter of 2020 - The e-TWOW GT
The e-TWOW Booster GT scooter vastly exceeded my expectations and as of March 2020, it’s my pick for the best city / commuting / portable scooter out there at any price.
I’ve put way too many hours into the Xiaomi m365 scooter (aka the Mi). In fact, I’ve owned multiple over the past years and have adored it ever since I tried one retrofitted for Bird scooter rental. As I stated in my rundown of the Xiaomi Mi Scooter, it was my pick for best city commuter scooter… until now.
Selection Criteria
In late January 2020 I started doing research on the latest and greatest electric scooters out there and began my quest to find something that might topple the m365 as the king. I searched around and applied some important metrics for “success” in my case. Namely weight, speed/power, range, ride comfort, and finally price. Here’s my detailed rundown.
Weight
After injuring my arm lifting the $1,000 USD Mercane WideWheel scooter (which clocks in at 22.5kg!! (50lbs)), I vowed to cap my scooter prospects at a maximum weight for sanity/usability. As someone who rides once or twice a day and needs to lift a scooter up a 3-step staircase to get it into my home, I set a new weight cap of “under 13.5kg (30lb)”. The m365 scooter is 12.5kg (27.5lb) and hasn’t given me too much trouble so I figured just above that would be a logical top end. The e-TWOW GT weighs in at 12.3kg (27lbs), which is honestly a miracle of science as they were able to pack in twice the power of the m365 and the battery allows for over twice the range! The size and weight on the e-TWOW GT is impressive for what it contains.
Speed / Power
This thing is really fast! Thanks to the speedometer, I know that it regularly hits between 37-40km (23-25mph) and I weigh about 86kg (190lbs) with my gear on. According to the specs, it has a 700w engine and I haven’t had any issues with it being unable to climb hills.
Range
As far as range goes, it gets about 2.5x to 3x the range in practice that my modified m365 gets. The firmware hack on my m365 that enables it to hit 29km/h (18mph) instead of the stock 24km/h (15mph) definitely hurts its range so keep that in mind with the comparison. Regardless, I’m able to do 16km (10mi) round trips and make it back with around ~40% battery to spare while maxing out my speed the whole time, which is impressive! I haven’t had a trip yet that pushed my battery down under 40%. If I do, I’ll update this to reflect how that went.
Ride Comfort
Generally I like to stick to pneumatic tires solely for the comfort factor. I’ve ridden too many solid tire scooters on bumpy roads and felt like my teeth were about to chatter out of my head. Without exaggeration, I’ve felt like my arms were losing sensitivity from all the vibrations on some electric scooters (looking at you Segway Ninebot ES2!). The e-TWOW GT has solid tires which I was definitely fearful of, but the dual suspension shocks have done a surprisingly good job of smoothly easing over bumps. I’d say its about 90% as comfortable as a large pneumatic tire like the 8.5 inch tube tires on the m365. The value of not worrying about flat tires definitely makes up for the missing 10% in comfort as reliability is important to me as well. I have changed two tires on my m365 and I will NEVER DO IT AGAIN (opting to buy a whole new wheel to avoid the tire replacement process). All in all, the comfort on the e-TWOW GT is quite good.
Price
As of February 2020, the e-TWOW GT is surprisingly hard to find in the US. Right now eWheels.com has them in stock, which is where I purchased mine for $1089 USD. It was well worth the relatively high price and is a serious upgrade over the m365 but I can see how $399 USD compared to almost $1100 USD could give some folks pause. For me, as someone who uses this as their primary method of getting around town, it’s a worthwhile investment for sure.
Downsides
As mentioned before, rough patches on the road can be felt with the solid tires more-so than on the m365 (but the reliability of the solid tire plus the shocks helping immensely counter-balance this downside). Additionally, I wish there was a disk brake instead of a magnetic drum brake. The magnetic brake works well and there’s an optional foot-stomp brake for fast stops, but I’d prefer the ease of a single disk brake over the dual-brake setup of the e-TWOW GT. Lastly the charger is a bit large and has a pretty loud fan in it that runs while actively charging. That’s about it for downsides!
Direct Competitors
In late 2019 / early 2020, the next generation of m365 successors began to launch. This includes the m365 PRO and the Segway Ninebot MAX, two scooters in the ~$700 USD price range that are actually quite similar to one another thanks to the fact that they shared the same production line. At the time of writing, the m365 Pro is not available in the US while the Segway Ninebot MAX is available on Amazon. When it comes right down to it, these are fantastic scooters that improve on the original m365 but they both suffer a similar fate for city riders: the weight is much higher! In fact, the Ninebot MAX is 19kg (42.1lb), which violates my ‘under 13.5kg (30lb)’ edict. Sure, some people can get away with heavier scooters but for a city rider, it’s definitely a concern. I’m looking forward to spending some time with a Ninebot MAX to see how it handles!
Summary
Overall, I’m very happy with my upgrade from the m365 to the e-TWOW GT. Sure, the m365 is still a powerful little scooter especially in its price range, but if you’re looking for the best thing out there for city/commuting, my vote goes to the e-TWOW GT.
Comments


You can now search for any supplies in the university library whether available or not available.
You can now order a reservation for any supplies from the University Library! Payment will be upon receipt of the product.
You can now request to borrow any type of books from the university library.Come!


?'
ˇ
The
Ne
w
York
copyright
reserved
botanical
Garden
seen
for
monograph
U.Scholz
1977/78
THE
NEW
YORK
BOTANICAL
GARDEN
Plants
of
Hispaniola
Dominican
Republic
Oplisraenus
hirtellus
(L*)
Beav
Det.
A.H.LIogier,
1972
Herbaceous,
decumbent,
20-30
cm
long}
glumes
green,
awns
browinshj
in
cocoa
plantation^
co
irnnon.
About
km
E.
of
Sabana
de
la
Mar,
jjevs/
yo^
BOTANICAL
vGAROti/
¤fo*
Alain
H.
Liogier
21-23
"an.
1972
Supported
by
funds
from
the
National
Science
Foundation.
New
York
Botanical
Garden
lbD4315
1604315
Legend -
Level of confidence that token is an accurately-transcribed word
extremely low
very low
low
undetermined
medium
high
very high


Photo Market
Right place to find a photographer.
Just choose a topic we'll show you the right people.
Top portfolios
Wedding, headshot
Wedding, headshot
Wedding, headshot
Wedding, headshot
Wedding, headshot
Wedding, headshot
Wedding, headshot
Wedding, headshot
Top Wedding photographers
Wedding, headshot
Wedding, headshot
Wedding, headshot
Wedding, headshot
Wedding, headshot
Wedding, headshot
Wedding, headshot
Wedding, headshot


|
Dendro
5.01
Dendro in Greek language means tree. The Dendro library is a large scale (262K cores on ORNL's Titan) distributed memory adaptive octree framework. The main goal of Dendro is to perform large scale multiphysics simulations efficeiently in mordern supercomputers. Dendro consists of efficient parallel data structures and algorithms to perform variational ( finite element) methods and finite difference mthods on 2:1 balanced arbitary adaptive octrees which enables the users to perform simulations raning from black holes (binary black hole mergers) to blood flow in human body, where applications ranging from relativity, astrophysics to biomedical engineering.
|
class that derived from abstract class feMat RHS computation of the weak formulation More...
#include <feVector.h>
Public Member Functions | |
| feVector (ot::DA *da, unsigned int dof=1) | |
| constructs an FEM stiffness matrix class. More... | |
| virtual void | computeVec (const VECType *in, VECType *out, double scale=1.0) |
| Evaluates the RHS of the PDE at specific points (for example evaluation at the quadrature points) More... | |
| virtual void | elementalComputVec (const VECType *in, VECType *out, double *coords=NULL, double scale=1.0)=0 |
| evalVec for the elemental vec More... | |
| T & | asLeaf () |
| bool | preComputeVec (const VECType *in, VECType *out, double scale=1.0) |
| bool | postComputeVec (const VECType *in, VECType *out, double scale=1.0) |
| bool | preEvalVec (const VECType *in, VECType *out, double scale=1.0) |
| bool | postEvalVec (const VECType *in, VECType *out, double scale=1.0) |
| Public Member Functions inherited from feVec | |
| feVec (ot::DA *da) | |
| : feVec constructor More... | |
| ~feVec () | |
| deconstructor | |
| void | setProblemDimensions (const Point &pt_min, const Point &pt_max) |
| set the problem dimension | |
| virtual void | setPlaceholder (const double *v) |
Protected Attributes | |
| unsigned int | m_uiDof |
| number of unknowns | |
| VECType * | m_uiEleVecIn |
| element nodal vec in | |
| VECType * | m_uiEleVecOut |
| double * | m_uiEleCoords |
| Protected Attributes inherited from feVec | |
| ot::DA * | m_uiOctDA |
| : pointer to OCT DA | |
| ot::DAType | m_uiDaType |
| : type of the DA | |
| Point | m_uiPtMin |
| problem domain min point | |
| Point | m_uiPtMax |
| problem domain max point | |
class that derived from abstract class feMat RHS computation of the weak formulation
constructs an FEM stiffness matrix class.
| [in] | da | octree DA |
|
virtual |
Evaluates the RHS of the PDE at specific points (for example evaluation at the quadrature points)
| [out] | out | : function evaluated at specific points. Evaluates the right hand side of the weak formulations. Typically the mass matrix multiplied with the load function. |
| [in] | in | Input vector (f) |
| [out] | out | : Output vector (Mf) |
Implements feVec.
|
pure virtual |
evalVec for the elemental vec
elemental compute vec which evaluate the elemental RHS of the weak formulation
Implemented in HeatEq::HeatVec.
|
protected |
elemental coordinates


Talisman
A check-in app that builds emotional intelligence.
Overview
Design Process
Scope
My Focus
Outcomes
← Back to all projects


Dalek.Unit Class
Generates an test instance
Item Index
Methods
- _emitAssertionStatus
- _emitConcreteTestFinished
- _emitTestFinished
- _inheritAssertions
- _inheritAssertions
- _inheritAssertions
- _onDriverMessage
- _reportTestStarted
- _testFin
- _testFinished
- _testStatus
- andThen
- checkAssertions
- checkExpectations
- data
- done
- expect
- incrementExpectations
- incrementFailedAssertions
- node
- promise
- start
Methods
_emitAssertionStatus
()
private
chainable
Emits an event that describes the current state of all assertions
_emitConcreteTestFinished
()
private
chainable
Emits an event, that the current test run has been finished
_emitTestFinished
()
private
chainable
Emits an event that describes the current state of all assertions. The event should be fired when a test is finished
_inheritAssertions
-
test
Copies assertion helper methods
Parameters:
-
test
TestInstacne of test
_inheritAssertions
-
test
-
opts
Set up the instance
Parameters:
-
test
TestInstacne of test
-
opts
ObjectOptions
_inheritAssertions
-
test
Copies assertion methods
Parameters:
-
test
TestInstacne of test
_onDriverMessage
-
data
Checks if the test run is complete & emits/resolves all the needed events/promises when the run is complete
Parameters:
-
data
ObjectData that is returned by the driver:message event
_reportTestStarted
-
name
Emits the test started event
Parameters:
-
name
StringName of the test
_testFin
()
Object
private
Kicks off the test & binds all promises/events
Returns:
promise A promise
_testFinished
-
result
Emits the test finished events & resolves all promises when its done
Parameters:
-
result
ObjectPromised result var
Returns:
result Promised result var
_testStatus
()
Bool
private
chainable
Get the overall test status (assertions & expectation)
Returns:
status The test status
andThen
-
a
Allow to use custom functions in order to embrace code reuse across multiple files (for example for use in Page Objects).
Parameters:
-
a
Functionfunction, where 'this' references the test
checkAssertions
()
Bool
Checks if all runned assertions passed
Returns:
assertionFailed Any expectation failed
checkExpectations
()
Bool
Checks if the runned tests fullfill the set expectations or if no expectations were raised
Returns:
checkedExpectations Expectations match
data
-
key
-
value
Global data store (works between the node & browser envs)
Parameters:
-
key
String | NumberKey to store or fetch data
-
value
Mixedoptional Data that should be stored
Returns:
Data that has been stored
done
()
Object
private
Sets up all the bindings needed for a test to run
Returns:
result A promise
expect
-
expecatation
Specify how many assertions are expected to run within a test. Very useful for ensuring that all your callbacks and assertions are run.
Parameters:
-
expecatation
IntegerNumber of assertions that should be run
incrementExpectations
()
chainable
Increment the number of executed assertions
incrementFailedAssertions
()
chainable
Increment the number of failed assertions
node
-
a
Adds a node style function (with node err callback) style to the test.
Parameters:
-
a
Functionnode function that is executed in the context of the test.
promise
-
a
Adds a promise to the chain of tests.
Parameters:
-
a
Promiseq promise
start
()
chainable
Alias for 'andThen'; use if it is the first function called in the test case.


Warning: Modifying the settings on this page can impact the ability of devices to access your wireless network.
To configure options not displayed on this page, click on the "Advanced Options" link below.


Lebanon's Berri says insists on Hariri as PM of next government- NBN television
BEIRUT (Reuters) - Lebanon’s Parliament Speaker Nabih Berri said he insisted on nominating Saad al-Hariri as prime minister of the country’s next government, NBN television reported on Thursday.
“My insistence on nominating Hariri is because he’s for the good of Lebanon and I am all for the good of Lebanon,” Berri told the network.
(This story corrects day to Thursday, from Wednesday, in first paragraph)


{{ ::nomination.createdBy.fullName }} ({{ ::nomination.createdBy.email }}) noted:
{{ ::nomination.comments }}
{{ ::nomination.createdBy.fullName }} ({{ ::nomination.createdBy.email }}) noted:
{{ ::nomination.comments }}


The Anti·Feminist Manifesto was born as part of the Final Synthesis Lab final project at Politecnico di Milano. The Lab, held by Density Design research department, aims to analyze and engage the public about complex and controversial social issues through the analysis of data contents. The contents are absurd but, at the same time unique, so their job is to take the user through the path defined by the five statements and create a sense of alienation and astonishment.
Each statement summarizes the best of the comments online and it is proposed with the same repeated formula to represents a sort of collection of commandments, the statements represent the main arguments used by anti-feminist public.
A note on language: we recognize and respect that many words are offensive without just context. Those words are just reported to increase the power of the project and sensitize the users, without any other intent.
Analyzing the web is easy to find well-organized communities and groups of users against women. The aim of this project is to bring to the attention the opinion of small communities and their vision of female’s activism, using The Anti·Feminist Manifesto as a flagship worth to be followed. The website’s strenght is focused on the textual part; the fact that this kind of content, hyperbolic and without any logic, is really made by some people, create a sense of dissociation and at the same time gives an unseen perspective on what anti-feminists means. A tree-map visualization can help to better understand where the content come from, for each website the treemap visualize the number of characters selected for the text. We used 3185 characters for the whole website.
The website speaks mainly to users that don’t know much about feminism or even to the ones that identify themselves as anti-feminist, not understanding the cultural background they are associating themselves to. We also think is important to reach those people who think that equality has been achieved, not considering the importance of feminism and its principles.
The website gradually shows the power and the gravity of hate speech, going from the normalized forms of sexism to the most serious and brutal words used to discredit women. Indeed, the project aim to bring awareness on this topic and sensitize the visitors, underlining the importance of being feminist in an era where is easy to share harmful and offensive contents.
Hate speech is one of the most important topics in anti-oppression politics today; a great deal of energy and political will is devoted to identifying, characterizing, contesting, and (sometimes) penalizing it. Too often sexism is seen as a “second-class” offence, somehow less dangerous than racism or religious hatred. But it is not.
The outbreak of social media provided a new and free-access platform for people to incite violence and to spread patriarchy-enforcing mindset. Though even men can experience this kind of hate, women are more severely attacked and often insulted. With the online proliferation of hate speech, there is an urgent need to talk about whether someone is using any kind of harmful content that could generate more hate.
The launching campaign of the project consists in a series of provocative posters in which the pillars of the anti-feminist’s believe are postulated. No further clues are given the reaction should be astonishment and disdain; the provocative effect should be maximized by the absence of an explicative payoff and push the reader to follow the link to The Anti·Feminist Manifesto. Eventually the user discovers the real aim of the project and shares the message through a post on different social media.


...software developer, with experience programming in Python, Java, Android and various JavaScript frameworks.
A python app that controls the volume on an Onkyo receiver via GPIO pins on a Raspberry Pi.
An Android app of our new kitten Dallas, with purring and meow audio. Uses the Picasso Library.
An example portfolio website design demonstrating the Bootstrap CSS framework.


Pick your device
MUNIA
The original, for NGC, N64 and SNES
€70 excl. shipping
Powerful input display for 3 iconic Nintendo systems
- Plug-and-play input viewer
- Cross-device mode Play Gamecube with your SNES controller, N64 with your Gamecube controller, etc.!
- Use gamepads with emulators in PC mode
- Built-in LCD for configuration
MUSIA
World's first PS2 input display
€60excl. shipping (only 1 remaining!)
The first and only device capable of showing PS2 inputs on stream
- Plug-and-play input viewer
- Built-in LCD for configuration
- Powerful 32-bit microcontroller
- Ability to use controller on PC with emulators
MUNIA-N64
Nintendo 64 input display/switch
€40 excl. shipping
Input display, controller adapter and built-in switch
- Plug-and-play input viewer
- Connect 2 controllers Easily switch between original and Hori mini controller. SM64 players will know!
- Ability to use controller on PC with emulators


{# Nunjucks Templating! Homepage: https://mozilla.github.io/nunjucks/ Docs: https://mozilla.github.io/nunjucks/api.html #} {% extends 'layouts/application.html' %} {% block title %} Dashboard {% endblock %} {% block content %}
XY Linear Functions and Relationships
14/16 questions done
In Progress
XY Linear Functions and Relationships
14/16 questions done
In Progress


The group with identifier `"admin"` is a special group:
- It is created at the same time as the database ;
- It cannot be [deleted](/docs/#/group/delete.js) ;
- It is used internally for most access granting.
A member of group `admin` can perform any operation on the database,
regardless of the access restrictions for that operation.


Multigrid preconditioners, coupled with Krylov iterative solvers, are widely used in the parallel solution of large and sparse linear systems, because of their optimality in the solution of linear systems arising from the discretization of scalar elliptic Partial Differential Equations (PDEs) on regular grids. Optimality, also known as algorithmic scalability, is the property of having a computational cost per iteration that depends linearly on the problem size, and a convergence rate that is independent of the problem size.
Multigrid preconditioners are based on a recursive application of a two-grid process consisting of smoother iterations and a coarse-space (or coarse-level) correction. The smoothers may be either basic iterative methods, such as the Jacobi and Gauss-Seidel ones, or more complex subspace-correction methods, such as the Schwarz ones. The coarse-space correction consists of solving, in an appropriately chosen coarse space, the residual equation associated with the approximate solution computed by the smoother, and of using the solution of this equation to correct the previous approximation. The transfer of information between the original (fine) space and the coarse one is performed by using suitable restriction and prolongation operators. The construction of the coarse space and the corresponding transfer operators is carried out by applying a so-called coarsening algorithm to the system matrix. Two main approaches can be used to perform coarsening: the geometric approach, which exploits the knowledge of some physical grid associated with the matrix and requires the user to define transfer operators from the fine to the coarse level and vice versa, and the algebraic approach, which builds the coarse-space correction and the associate transfer operators using only matrix information. The first approach may be difficult when the system comes from discretizations on complex geometries; furthermore, ad hoc one-level smoothers may be required to get an efficient interplay between fine and coarse levels, e.g., when matrices with highly varying coefficients are considered. The second approach performs a fully automatic coarsening and enforces the interplay between fine and coarse level by suitably choosing the coarse space and the coarse-to-fine interpolation (see, e.g., [3, 24, 22] for details.)
MLD2P4 uses a pure algebraic approach, based on the smoothed aggregation algorithm [2, 26], for building the sequence of coarse matrices and transfer operators, starting from the original one. A decoupled version of this algorithm is implemented, where the smoothed aggregation is applied locally to each submatrix [25]. A brief description of the AMG preconditioners implemented in MLD2P4 is given in Sections 4.1-4.3. For further details the reader is referred to [4, 5, 7, 8].
We note that optimal multigrid preconditioners do not necessarily correspond to minimum execution times in a parallel setting. Indeed, to obtain effective parallel multigrid preconditioners, a tradeoff between the optimality and the cost of building and applying the smoothers and the coarse-space corrections must be achieved. Effective parallel preconditioners require algorithmic scalability to be coupled with implementation scalability, i.e., a computational cost per iteration which remains (almost) constant as the number of parallel processors increases.


Hello, Adam
Everday
Reddit
YouTube
Facebook
Google Calendar
School
LEARN
Quest
Piazza
Odyssey
Programming
Github


| DOSE: |
|
insufflated |
Cocaine |
(powder / crystals) |
I tried coke for the first time about mid 1999. There was a group of us going clubbing and someone got some, knowing it was coming had given some of us non users(at the time!) a buzz just from anticipation. We had been smoking grass on and off for years, but this was something different, something just that little bit naughty. Anyway we tried it, got this amazing feeling, like really being alive, every one of my senses felt like I was using them for the first time. Totally amazing. Didn't do any for a while and then it gradually became more regular. Now although we all say we are giving it(again!!) We say we will only have it for special occasions, but soon anything gets called an occasion.
Once I know one of use has some I can't resist trying to have a bit of it, I tell myself I will not have any, but I just cant help myself. This little voice in my head says 'Go on, you can handle it!, just one line, you will be fine!!', but as you know once the first line is snorted you can't stop until its all gone and you can't get any more (and you will try every source possible to get some more).
But next time you tell yourself the same thing. Its not that its bad, well we can all think of worse things than a line of coke (if we put our minds to it!), its that you know you will never really kick it completely, that voice will always be there, when you least expect it, it will say to you ' get a line of coke down you and you know your confidence is going to be 200% and you can do anything!' You can tell from the rambling that I am on it while I'm typing this, its amazing stuff, and I have had so many amazing thoughts tonight I just wish I could have the same amazing thoughts without the coke.
So the big question is..... which is the real me? The one who is clean of drugs and has a responsible job and gets things done, or the one on the coke with his mind travelling at 1000 miles an hour having the most amazing thoughts and ideas but is pretty well out of it. You decide, I can't. I like both. I don't know why I am typing this, but its good to talk, even though it's a one way conversation. Thanks for listening.
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.


Logo Grafische en digitale media
Start 2 Code
Workshop Web of Things
Like Graphics Love Code
Sense HAT
Read sensors and manipulate LED matrix via JavaScript, Python and Firebase.
Read more...


Navigation
index
next
|
previous
|
GMAT Tools and Extensions R2020a documentation
»
DRAFT GMAT API Design and User’s Guide
¶
Contents:
Introduction
System Design
GMAT Architectural Components
GMAT API Prototypes
API Examples
The API Design
GMAT Code Updates
API Support Functions
GMAT API User’s Guide
Conventions in the API Examples and Use Cases
Setting up the GMAT API
Object Usage with the GMAT API
Overview
Functions Used in the GMAT API
Script Usage
API Functions for Script Users
Examples
Tutorial: Accessing GMAT Propagation and Navigation Features
Verifying Setup
Getting Started with the API
Spacecraft Configuration
Force Model Setup
Propagator Setup
The GMAT API and Plug-in Modules
Measurement Modeling
Example: MONTE-GMAT Interoperability for OSIRIS_REx
Ephemeris Sharing
Maneuver Planning
Navigation Data Sharing
API Best Practices
General Practices
Java and MATLAB Best Practices
Python Best Practices
Appendices:
Review and Prototype Information
Open issues
Review Responses
Comparison of the SWIG Prototype with the Production API
API Examples in Java
GMAT API Cheat Sheet
Loading the API
Asking for Help
GMAT Objects
GMAT Script Access
API Notebook Walkthroughs
State Management with the GMAT API
Propagation with the GMAT API
Bibliography
Change History
Previous topic
GMAT Tools and Extensions
Next topic
Introduction
This Page
Show Source
Quick search
Navigation
index
next
|
previous
|
GMAT Tools and Extensions R2020a documentation
»


John Huddleston, PhD
Bedford Lab
Fred Hutchinson Cancer Research Center
March 18, 2022
Photo: WHO / Tom Pietrasik
|
Fred Hutch Cancer
|
Collaborators
Data Sources
|
Funding
|
By email at<EMAIL_ADDRESS>In public at discussion.nextstrain.org
In private at hello@nextstrain.org


small description about you guys and how you do some lawyer stuff here and there.or may be talk about cases which you guys are interested in or handling
Some small text about representing clients in court
Small text about you winning cases or something like that
Small about your clients leaving comfortably without legal issues
Small about great services offered by you guys and office and other stuff we can think of
We can write up something short about our offices or services offered. Some more more text here there lorem ipsum burdeng danang ibusmu palipo iroo hud
We can write up something short about your qualification or track record. Some more more text here there lorem ipsum burdeng danang ibusmu palipo iroo hud
We can write up something short about your associate. Some more more text here there lorem ipsum burdeng danang ibusmu palipo iroo hud
We can write up something short about your qualification or track record.