M_pixel(3f) - [M_pixel::INTRO] module for drawing into a pixel array with 2D vector operations (LICENSE:PD)
Synopsis
Description
Example
Author
License
Module procedures
use M_pixel__writegif, only : writegifModule variablesuse :: M_pixel, only : drawchar, rect, rdraw2, strlength use :: M_pixel, only : color, mapcolor, clear, draw2 use :: M_pixel, only : circle, circleprecision, arc, getviewport use :: M_pixel, only : viewport, ortho2, rmove2 use :: M_pixel, only : line, linewidth, polyline2 use :: M_pixel, only : move2, draw2, prefsize, vinit use :: M_pixel, only : textang, textsize, drawstr, getgp2 use :: M_pixel, only : vflush, page, point2, getdisplaysize use :: M_pixel, only : poly2, centertext, xcentertext, ycentertext use :: M_pixel, only : makepoly, closepoly, font
use :: M_pixel, only : state, hershey, justfy use :: M_pixel, only : print_ascii, print_ppm, print_p3, print_p6, print_ansi use :: M_pixel, only : pixel use :: M_pixel, only : hue
! Differences between M_pixel and M_draw and M_draw-related procedures: ! o hershey(3f) and justfy(3f) do not exist in M_draw and might be ! replaced and the same font names are not available ! o print_ansi, print_ascii(3f) and print_ppm|p3|p6(3f) do not ! exist in M_draw ! - state(3f) does not exist in M_draw ! - viewport is in terms of pixels, not range -1.0 to 1.0
use M_pixel, only : P_pixel, P_ColorMap, P_debug
M_pixel(3fm) is intended to produce simple pixel graphics composed of line drawings and polygon fills in two dimensions. It handles circles, curves, arcs, polygons, and software text. It is designed to provide a programming interface very similar to a subset of the VOGLE graphics library (M_pixel does not support objects, interactive graphics, or 3D vectors).It is primarily intended to provide a simple Fortran-based set of routines that can generate simple graphics that can be written to a GIF file using the writegif(3f) routine.
This is a prototype under construction starting 2017-06, but is already useful. Improvements in line width, dashed lines, polygon fill and higher level graphing routines are being worked on. If anyone is interested in collaborating on the module, contact the author.
Sample program
program demo_M_pixel use M_pixel use M_pixel__writegif, only : writegif use M_pixel, only : cosd, sind implicit noneinteger :: i integer :: j integer :: icolor
! initialize image call prefsize(400,400) ! set size before starting call vinit() ! start graphics call clear(0) ! clear to color 0
! put some colored boxes into pixmap by address ! so show how the pixel map can be edited easily with ! other routines that can manipulate a pixel array. !


Jennifer McCollough is the owner and an esthetician at LC Spa. In 1994, Jennifer moved to Europe from China and took a special interest in European skincare. When Jennifer moved to America, she brought a wealth of skincare knowledge and techniques. Jennifer received her CA esthetician’s license from San Diego’s top beauty school, the Bellus Academy.
Jennifer McCollough is the owner and an esthetician at LC Spa. In 1994, Jennifer moved to Europe from China and took a special interest in European skincare. When Jennifer moved to America, she brought a wealth of skincare knowledge and techniques. Jennifer received her CA esthetician’s license from San Diego’s top beauty school, the Bellus Academy.
Wen Ye is a CA Licensed Esthetician. She is trained in skin management, lighting peel, and anti-aging treatments. Wen has a comforting sense of touch that makes people feel relaxed and at ease. Her experience and skills helps people have glowing and healthy skin.
Wen Ye is a CA Licensed Esthetician. She is trained in skin management, lighting peel, and anti-aging treatments. Wen has a comforting sense of touch that makes people feel relaxed and at ease. Her experience and skills helps people have glowing and healthy skin.
Emily received her masseuse license at the Bellus Academy. She learned the practical and scientific foundations of massage therapy. She is both gentle and strong, to ensure a unique massage for every customer. She is trained in sports massages, as well as relaxation techniques.
Emily received her masseuse license at the Bellus Academy. She learned the practical and scientific foundations of massage therapy. She is both gentle and strong, to ensure a unique massage for every customer. She is trained in sports massages, as well as relaxation techniques.


Gatekeeper Wirphy:
I was brought here using only a small portion of the Instant Moving Device. Now I can send you wherever you want to go using that same small portion.
Do you want to experience the unlimited power of early science?
Teleport
Exchange Dimension Diamonds
[Noblesse Exclusive] Teleport
Teleport with Gatekeeper's Token
Quest


12 best restaurants to grab a bite at Carmel Market TLV
Carmel Market is great for finding exceptionally fresh seasonal fruits and veggies and shopping for specialty products. So it's no surprise that the restaurants there are incredible.
by Jessica HalfinWho can resist Tel Aviv’s colorful, vivacious marketplaces? The sights, smells and sounds can be intoxicating. For some, this is part of the reason they make the leap to move to the seaside city, known to locals as “The Bubble.”
Carmel Market is great for picking up exceptionally fresh seasonal fruits and veggies, shopping for specialty products, and grabbing a bite to eat with friends.
Innovative eateries in and around the market show off its treasures to the fullest. Here are 12 such restaurants, some casual stripped-down gourmet, some street food, and some good old home cooking made by daydreaming hipsters and savtas (grandmas).
54 Hashomer Street
A perfect microcosm of Tel Aviv restaurant culture, Habasta’s tapas plates break all the rules, serving forbidden fruit like crab and oysters alongside French classics like steak tartare, traditional Mediterranean dishes like fried barbunia fish, and Israeli favorites such as labane with pomegranate seeds and herbs — all at once on Old World china plates.
The word basta means “market stall,” so you can expect the food you’re served to have been picked up at the early-morning marketjust steps away. Sit in this mainly outdoor spot in the pedestrian walkway to feel the pulse of the city streets.
2. Hashomer 1
1 Hashomer Street
With an open feel and a view straight onto the market, Hashomer 1 is a great place to people-watch within earshot of all the action.
Chef Naor Cohen has an open kitchen where he transforms produce from the stands into masterpieces before your very eyes,
Dishes like tomato salad with Iraqi cheese, cauliflower falafel, and signature cocktails such as “Mediterranean Summer” –a very Tel Aviv mix of anise-flavored liquor, sun-sweetened Israeli red grapefruit and fresh mint — are enough to gain a full appreciation of the power of fresh, seasonal products.
3. Hamitbach Hakaful (The Double Kitchen)
2 Nachalat Binyamin Street
Serving both hummus that contends with the best of them and authentic Persian dishes (hence the name “The Double Kitchen”), Hamitbach Hakafullets you enjoy the best of Israel while also exploring the complex and underrated world of Jewish Iranian cuisine.
Their signature hummus with zaatar, lemon, garlic, olive oil and parsley is a must — but only if you also get the gondi (chicken and chickpea dumplings served in a golden chicken stock with potatoes), and the charcoal-grilled lamb kebabs.
4. Yom Tov Café
30 Yom Tov Street
A fitting name for this on-trend Yemenite Quarter café, Yom Tov (“good day”) Café is named after the street it resides on, but it may truly be the best place to start your day.
Breakfasts here are especially pampering with choices that honor all heritages. Keep it hipster with lox and avocado, go Yemenite with saluf flatbread and eggplant, or Russian with a smoked-fish plate that stars both pickled herring and ikra (salmon roe).
Or go for a mix of everything and have the brisket sandwich on North African frena bread, for example, but don’t forget that the goodie-packed salads and vegan options here are the real deal.
Both day and night menus stick with the local theme of fresh and healthful, while nighttime carries a separate vibe of casual gourmet to the background of live music.
5. Galbi-Hamakom Shel Anat (Also known as “Anat’s Kitchen”)
23 Simtat Hacarmel
An absolute legend in Kerem HaTeimanim (The Yemenite Quarter) –a historical neighborhood that surrounds the market — single mom Anat Shabi got her start making late-night snacks for hungry bar hoppers of the area in the 1990s.
Having since transitioned into homestyle Mizrahi lunch food, Galbi is where diners go when they’re feeling down and need some cheering up, motherly advice, and a hot meal.
Anat treats guests like family, and fills them up with large portions of North African and Iraqi as well as other Middle Eastern and Sephardic dishes like kubbe (semolina dumplings) in beet broth, stuffed vegetables of many kinds in tomato sauce, homey meatballs, Israeli salads, and more vegan options than you would expect. Because, Look at you, you’re so skinny!
Another grandmother with a small homestyle food operation is Julia Ozon of Julie Ochel (Julie Food). You can find her at 29 Yom Tov Street. Her Egyptian food warms the hearts of the lucky foodies who know enough to drop by for lunch regularly.
29 Yishkon Street
Pickled onions, a slow-cooked haminado egg, kalamata olives, and green tahini are a few of the creative toppings you can find decorating the top of a plate of hummus at Shlomo and Doron Hummusia.
Considered among the best in the country, this is the place to test the limits of hummus right along with the locals. Placed in an alleyway with ample outdoor seating, it’s casual as can be, and it’s packed for a reason — because it’s gooood.
29 Nachalat Binyamin Street
Just behind the pedestrian street leading to Carmel Market lies an open courtyard decorated with rustic-chic string lights and large clay planters under the shade of an old tree.
This is where you will find locals and tourists mingling, chatting, drinking gourmet cocktails and even kicking back arak shots while they dine on beautiful meze dishes.
A Tel Aviv version of brunch, and mouthwatering mains like hanger steak in brandy sauce, and lachmajun( ground lamb flatbread) –Chef Avia Parnass dreams up these and the other weekly menu creations upon returning from the morning market.
30 Kapach Street
You may have heard of the incredible authentic Yemenite food waiting for you in Tel Aviv.
Lucky for you and your rumbling stomach, you can experience the best of it near Carmel Market. Anunassuming mom-and-pop shop with simple Old-World charm, Hachim Ozeri (The Ozeri Brothers) serves legendary Yemenite soups and other flavorful homestyle dishes that are slow-cooked and served on charming colorful ceramic tile tabletops.
9. Hamitbachon (The Kitchenette)
18 Rabbi Akiva Street
It’s quite a paradox that the modernization of Israeli food has led to a revival of dishes from our grandparents’ generation, but indeed it has. Old World flavors are now proudly displayed on restaurant menus curated by millennial chefs.
This, however, is no such restaurant. Cutting out the middleman between savta and plate, Hamitbachon serves dishes like handmade couscous and vegetable or meat stew, stuffed cabbage, and pashtida under the slogan: “It’s Grandma’s food, we just serve it.”
10. Shmuel
21 Hacarmel at corner of Rabbi Meir
This gem of a kebab shop is sandwiched between market stalls peddling colorful kosher gummy candies and cheap jewelry.
The grilled meat is presented in thoughtful pita or ciabatta sandwiches that highlight Middle Eastern flavors and Israeli classics. The eatery’s signature dish –Jerusalem’s famous “mixed grill” of spiced grilled chicken livers and hearts –is part ofa small menu of perfected dishes worth your trip.
Another buzzed-about meat place that you shouldn’t miss is M25, a nearby butcher shop/gourmet lunch spot where you can buy an aged steak and also sit down for a made-to-order chef’s dish of the same stock.
More about Travel
-
Israeli vet builds site for travelers with disabilities
By Brian Blum -
Cozy, low-cost capsule hotels come to Israel
By ISRAEL21c Staff -
CN Traveler readers vote Israel one of 20 top countries
By Abigail Klein Leichman -
The Telegraph discovers what we’ve known for years – Tel Aviv is the place to visit
By The Daily Telegraph -
Modern Israeli scribes bring an ancient craft to life
By Abigail Klein Leichman -
11 biblical experiences in Israel you’ll never forget
By Jessica Halfin -
What you’ll see at the Israeli innovation museum in Jaffa
By Brian Blum -
10 of the best coffee table books about Israel
By Abigail Klein Leichman -
10 of the most fabulous open-air markets in Israel
By Jessica Halfin -
6 places to visit in 6 hours in the Western Galilee
By Brian Blum -
10 ways to have the best Druze experience in Israel
By Jessica Halfin -
Israel is hot destination for corporate incentive trips
By Abigail Klein Leichman -
Book a fabulous fashion tour in Tel Aviv or Jerusalem
By Abigail Klein Leichman -
9 unforgettable photos of the historic city of Akko
By Naama Barak -
Instead of busy Tel Aviv, why not visit quieter Eilat?
By Washington Post -
10 great reasons you should visit Israel’s Gaza border towns
By Jessica Halfin


Hello thank you for looking into epicodus where you will seek a way to fulfill your goals within the tech industry; maybe you want to change careers or maybe you want to advance your current career
path. Whatever it is the staff here at epicodus is here to help you on your way.
However it can be hard to choose one of the many class track options that epicodus has available. Take this brief servey to see where you best fit.
C# is most popular among bigger established businesses, often for building internal software. Because it's been around for a long time and has the backing of Microsoft, it is one of the most in-demand languages in the job market. C# has also been going through a bit of a rebirth lately, with Microsoft open sourcing the language and surrounding platform, porting it to run on Mac and Linux, and incorporating many of the best features of other languages. If you like the idea of working for a larger company on business software, C# is a great choice.
Java is also a favorite of enterprise companies, but its appeal is broader as well: it's one of the most popular of all programming languages, and it's used in everything from for high-performance processing to building Android user interfaces. Because Java has been very popular for a very long time and is used in so many applications, it is also a very high-demand language. If you're interested in working for an enterprise-level company, as an Android developer, or in high-performance applications, Java could be a good language to learn.
Ruby is a favorite language of developers building interactive web applications. If an app involves users creating accounts, entering information, and interacting with dynamic content, there's a good chance it is built with Ruby. Ruby became
popular because the Rails framework, which is written with Ruby, simplified many of the common tasks associated with building web applications. It's most popular with startups and smaller companies who are looking to build their product quickly.
Though each language has its niche, there is plenty of crossover. For example, Rails' popularity inspired copycats in just about every language, and so you'll see interactive web applications written in C#, Java, and PHP, with Rails-like frameworks
including .NET MVC, Spring, and Laravel. Even at one company, you might find them using PHP for their marketing site, Ruby for their web application, and Java for their back-end processing.


{% extends "downloads/base.html" %} {% load i18n guardian_tags %} {% block submenu %} {% get_obj_perms request.user for downloadable as "dperms" %}
{{ downloadable.description }}
Owner: {{ downloadable.owner }}
Created at: {{ downloadable.created }}
{% if "download_downloadable" in dperms %} {% endif %} {% endblock content %}


{% extends 'base.html' %} {% load crispy_forms_tags %} {% block title %} Add {{ request.path|slice:"16:-8"|title }} Credential {% endblock %} {% block content_header %}
You must have a Twitter account, apply for a Twitter Developer Account, create an App, and if relevant, apply for access to the Academic Reseach APIs. Steps 0-4 in the documentation for Twarc (a tool SFM uses to connect to the Twitter version 2 APIs) describe these steps.
{% elif 'Twitter' in request.path|title %}Twitter credentials can be obtained from the Twitter API.
1. Sign in to Twitter.
2. Create a new app on the credentials page.
3. Go to the Keys and Access Tokens tab and find the consumer key, consumer secret, access token, and access token secret.
4. Change the application permissions to read-only. For detailed instructions, see Adding Twitter Credentials.
{% elif 'Tumblr' in request.path|title %}Tumblr credentials can be obtained from the Tumblr API.
1. Sign in to Tumblr.
2. Register an application.
3. Enter the OAuth Consumer Key in the API key field.
For detailed instructions, see Adding Tumblr Credentials.
{% elif 'Flickr' in request.path|title %}Flickr credentials can be obtained from the Flickr API.
1. Sign in to your Yahoo! account.
2. Get a non-commercial key.
3. Enter the key and secret in the correct boxes.
For detailed instructions, see Adding Flickr Credentials.
{% elif 'Weibo' in request.path|title %}Learn more about Weibo credentials and how to obtain them in this guide.
{% endif %}


Info
This is basically the text with a regex based validation.
{{> rowHeader title='Basic '}}
|
|
{{> MRPTextBox_code1}}
|
{{> midRowHeader title=' with Regex'}}
|
|
{{> MRPTextBox_code3}}
|
{{> midRowHeader title=' with Placeholder'}}
|
|
{{> MRPTextBox_code4}}
|
{{> midRowHeader title=' with ID'}}
|
|
{{> MRPTextBox_code2}}
|
{{> midRowHeader title=' with Class'}}
|
|
{{> MRPTextBox_code5}}
|
{{>MRPTextBox_events}}
{{>MRPTextBox_PropTable}}
{{>MRPTextBox_TODO}}
Code
<mrp-text-box></mrp-text-box>
Code
<mrp-text-box id='sample'></mrp-text-box>
Code
<mrp-text-box regex="\b\d{3}[-.]?\d{3}[-.]?\d{4}\b" error-msg="Not a phone number."</mrp-text-box>
Code
<mrp-text-box placeholder='Type Here'></mrp-text-box>
Code
<mrp-text-box class='sampleClass'></mrp-text-box>
<mrp-text-box class='sampleClass'></mrp-text-box>
<mrp-text-box class='sampleClass'></mrp-text-box>
Events
Open the console window and change value of an <mrp-text-box> to see an examples of it's events.
{ID}_mrp-text-box_changed
When a <mrp-text-box> has it's value changed the changed event will fire. This event will use the ID of the <mrp-text-box> element.
{class}_mrp-text-box_changed
When a <mrp-text-box> has it's value changed the changed event will fire. This event will use the Class of the <mrp-text-box> element.
mrp-text-box_changed
When a <mrp-text-box> has it's value changed the changed event will fire. If the elements does not have an ID or class then this event will fire.
Sample Listener
EventBroker.listen("mrp-text-box_clicked", function (listenerArgs, triggerArgs) {
console.log('a mrp-text-box box was clicked');
console.log(triggerArgs);
});
Properties
TODO
- Add in the validation status to the trigger object


Electricity may go out or the sprinkler systems or fire alarms may turn on.
Stay away from glass, windows
If you are trapped under debris
Do not light a match.
Do not move around or kick up dust.

Tap on a pipe or wall so rescuers can locate you. Use a whistle if one is available. Shout only as a last resort. Shouting can cause you to inhale dangerous amounts of dust.
If possible, have someone stand and watch for help.


Our worksheets and exercises are designed to work with two types of Raspberry Pi based kit robot. These are the Initio and Pi2Go robots produced by 4tronix. Which of these robot designs is more readily available varies (sometimes it is also easier to get these robots through other suppliers such as Amazon or CPC farnell than it is to get them through 4tronix itself). 4tronix have recently released the Pi2Go2 and we will be updating our resources to work with this in due course.
Setup Instructions for both robots can be found on the 4tronix website. Our resources are designed to work with Python 3, while the robots are set up with Python 2. Instructions for converting them to Python 3 are given below.
The Initio
The Initio Robot is more robust than the Pi2Go, but puts more strain on the batteries and we have found that the motors only really work with Eneloop Pro Rechargable Batteries. It has a more sophisticated set-up for the ultrasonic distance sensor that can move from side to side, but lacks the light sensors, LEDs and switch that give the Pi2Go a wider range of functionality.
To convert an Initio robot to work with Python 3 start up the Raspberry Pi. Open a Terminal and then type:
$ cd robohat
$ 2to3 -w *.py
We recommend adding the line
export PYTHONPATH=$PYTHONPATH:~/robohat
to the robot's .bashrc file.
Part 4: Objects
Part 4 of the worksheets which introduce objects and classes uses some additional support code. If you are going to use part four you should download bdi.zip and unzip it in the robohat folder.
The Pi2Go
The Pi2Go Robot is more temperamental than the Initio and a significant number of these robots do not function correctly when setup (typically one of the wheel motors switches on by itself and won't subsequently respond to programming commands). However they are less power hungry than the Initio (they will work using non-rechargeable batteries but, again, the only rechargeable batteries we have found that can power them reliably are the Eneloop Pro) and have a wider range of functionality such as LEDs, light sensors and a switch.
To convert a Pi2Go robot to work with Python 3 start up the Raspberry Pi. Open a Terminal and then type:
$ cd pi2go
$ 2to3 -w *.py
We recommend adding the line
export PYTHONPATH=$PYTHONPATH:~/pi2go
to the robot's .bashrc file.
Part 4: Objects
Part 4 of the worksheets which introduce objects and classes uses some additional support code. If you are going to use part four you should download bdi.zip and unzip it in the pi2go folder.


I want to submit the selected capital plan, but where is the button?
Open the capital plan record, and if you're all ready to go, click the submit button on the top ribbon! You won't be able to submit your capital plan from the view.
I can't find the button I'm looking for.
How do I


Basic Form Validations
Note: Spartacus 2.x is no longer maintained. Please upgrade to the latest version.
Overview
Dynamic Forms library provides some basic validator functions by default. This page will explain how to use, override or add validations in Dynamic Forms library for end customers. Following things should be covered:
- How to invoke validation from JSON?
- Which validations exist out of the box?
- How all this works?
- How to override existing validation in custom App?
- How to add new validation in custom App and invoke that from JSON?
How to invoke validation from JSON
In order to specify validations for certain field, JSON schema is enhanced by exposing property called “validations”. Property represents array of complex objects which are translated into dynamic forms validation functions and they consist of two properties:
- validation name - corresponds the name for validation function defined in Form Config on SPA side (ex: compareToCurrentDate)
- validation input parameters - specify input parameter(s) which are acceptable by validation function (ex: shouldBeGreater, shouldBeLess)
Example of the field with multiple validations:
- input data must be of type number
- input data max value must be 100
- input value should be less than ‘otherField’ value
{
"fieldType": "input",
"valueType": "number",
"name": "testInput",
"required": true,
"label": {
"en": "Test input",
"de": "Testeingang"
},
"validations": [
{
"name": "number"
},
{
"name": "minValue",
"arguments": [
{
"value": 1
}
]
},
{
"name": "maxValue",
"arguments": [
{
"value": 100
}
]
},
{
"name": "compareAgeToDOB",
"arguments": [
{
"value": "otherField"
},
{
"value": "shouldBeLess"
}
]
}
],
},
Existing validations
- compareToCurrentDate - accepts one argument from list:
- shouldBeEqual
- shouldBeGreater
- shouldBeLess
- shouldBeGreaterOrEqual
- shouldBeLessOrEqual
JSON example:
"validations": [
{
"name": "compareToCurrentDate",
"arguments": [
{
"value": "shouldBeLessOrEqual"
}
]
}
],
- dateOfBirth - Accepts argument of type number. It will trigger validation if input date is less than argument provided.
- compareDOBtoAge - Compares date from other filed with input date. Accepts two arguments:
- name of the field to compare (string)
- operator (string) can be ‘shouldBeGreater’ or ‘shouldBeLess’
JSON example, compare input to the value of the ‘retirementAge’ field:
"validations": [
{
"name": "compareDOBtoAge",
"arguments": [
{
"value": "retirementAge"
},
{
"value": "shouldBeGreater"
}
]
}
],
- maxValue, minValue, maxLength, minLength - Default Angular validators
- number - Triggers error message if input type is not a number.
- compareDates - Compares input date to the value of other field. Accepts two arguments:
- name of the field to compare (string)
- operator (string) can be ‘shouldBeGreater’ or ‘shouldBeLess’
JSON example, compare input to the value of the ‘vehiclePurchaseDate’ field:
"validations": [
{
"name": "compareDates",
"arguments": [
{
"value": "vehiclePurchaseDate"
},
{
"value": "shouldBeGreater"
}
]
}
],
- checkValue - Checks if input data matches any item from array of allowed values. Accepts one argument (array of strings) JSON example, field is valid only in case string “no” is added to the input:
"validations": [
{
"name": "checkValue",
"arguments": [
{
"value": [
"no"
]
}
]
}
]
- containsValue - Checks if input value contains string form argument array. Accepts one argument (array of strings) JSON example:
"validations": [
{
"name": "containsValue",
"arguments": [
{
"value": ["test string"]
}
]
}
]
- compareNumbers - Compares input value to other field. Accepts two arguments:
- name of the field to compare (string)
- operator (string) can be ‘shouldBeGreater’ or ‘shouldBeLess’
JSON example:
"validations": [
{
"name": "compareNumbers",
"arguments": [
{
"value": "propertyValue"
},
{
"value": "shouldBeLess"
}
]
}
],
- email - Checks if input data is valid email
- alphanumeric - Allows only numbers and letters as input data
How all this works
Before Form gets rendered, all validations from JSON are processed and in case they have corresponding implementation defined in config they are transferred to mapped ValidationFn. Name from validation object corresponds to the name defined in form configuration on SPA application. In this particular case it will be validation with name compareToCurrentDate :
DynamicFormsConfig
validators: {
....
compareToCurrentDate: {
validator: DefaultFormValidators.compareToCurrentDate
},
....
}
All arguments defined in JSON file represent input parameters for compareToCurrentDate function from DefaultFormValidators and they are added to the function in run-time. In our example based on mapping defined in configuration we will find following validation function:
static compareToCurrentDate(operator) {
return (control: AbstractControl): ValidationErrors | null => {
const inputVal = new Date(control.value as string);
const today = new Date();
switch (operator) {
case 'shouldBeGreater':
return inputVal.getTime() > today.getTime()
? null
: { InvalidDate: true };
case 'shouldBeLess':
return inputVal.getTime() < today.getTime()
? null
: { InvalidDate: true };
}
};
}
and assign that function with input parameter ‘shouldBeGreater’ (operator in this case) to the corresponding field. In the same way we can pass multiple input parameters via arguments attribute in case function requires more and add them to the validation function respectively.
How to override existing validation in custom App
In order to override some predefined validation, customers should be able to do that in their modules by referencing their custom functions with the same name as existing ones. Let’s try to override compareToCurrentDate function, so that it just logs customized message and returns always true for validation. We will start in one of our modules by specifying following configuration:
X-module.ts
@NgModule({
imports: [
CommonModule,
I18nModule,
DynamicFormModule,
SpinnerModule,
ConfigModule.withConfig(<DynamicFormsConfig>{ // Need to call Spartacus Factory function and pass it DynamicFormsConfig
dynamicForms: {
validators: {
compareToCurrentDate: {
validator: CategoryFormsModule.customFunction
}
}
}
}),
],
declarations: [CustomInputComponent],
exports: [],
entryComponents: [CustomInputComponent],
})
From the code snippet above we can see that for validation with name compareToCurrentDate we have a new function defined in CategoryFormsModule. Function has the following implementation:
static customFunction(regex) {
return (control: AbstractControl): ValidationErrors | null => {
console.log('Custom function works!');
return null;
};
}
As described in introduction, function has one console log and always returns true for validation. In this particular case, JSON file should not be edited since name of new function is the same as for old one.
How to add new validation in custom App and invoke that from JSON
Adding new functions is similar to overriding them. First, we need to define a new function and then we have to expose it via configuration.
New validation function
static customNewFunction(regex) {
return (control: AbstractControl): ValidationErrors | null => {
console.log('New function works!');
return null;
};
}
Mapping new validation function
@NgModule({
imports: [
CommonModule,
I18nModule,
DynamicFormModule,
SpinnerModule,
ConfigModule.withConfig(<DynamicFormsConfig>{ // Need to call Spartacus Factory function and pass it DynamicFormsConfig
dynamicForms: {
validators: {
newValidation: {
validator: CategoryFormsModule.customNewFunction
}
}
}
}),
],
declarations: [CustomInputComponent],
exports: [],
entryComponents: [CustomInputComponent],
})
Lastly, since this function is completely new we have to invoke it from our JSON form definition:
"validations": [{
"name": "newValidation"
}],


My Interests
Most of these interests have happened in the last few years. Some of them were excelerated by the Covid-19 but I really appreciate them. I spend every day doing at least one of them.


By registering as a volunteer with GleanSLO and attending events that we sponsor, you are agreeing to
the following terms of participation:
- The mission of GleanSLO is to reduce hunger, build community and promote sustainable living. I will conduct myself in a manner consistent with that mission while attending GleanSLO sponsored events.
- I will read and check off the Release and Waiver of Liability, Assumption of Risk, and Indemnity Agreement when I sign up for harvests.
- I will cancel my roster spot if, after signing up for a harvest, I find that I am unable to attend.
- I will be punctual in arriving at harvests.
- I will not bring other adults to harvests who have not signed up and been added to the roster.
- I will not smoke at harvests.
- I will not bring alcohol to harvests.
- I will not bring firearms to harvests.
- I will not bring glass containers to harvests.
- I understand that harvests are conducted on private property that the owner has granted GleanSLO permission to enter and harvest. I will conduct myself in a manner that is respectful of the owner's property at all times.
- I will be respectful of other participants at harvests.
- I will listen to, and follow the rules of, the orientation about the harvest given by the harvest leader.
- I will follow all directions given to me by the harvest leader or designated assistants.
- I understand that GleanSLO reserves the right to deny me entry to a harvest, or require me to leave a harvest, or remove me from the registration list if I do not follow these Terms of Participation.


See: Description
| Interface | Description |
|---|---|
| TextEncoder |
Interface for encoding/decoding bytes and text.
|
| Class | Description |
|---|---|
| AbstractBase32Encoder |
Abstract encoder for encoding/decoding bytes and text using the Base-32 format.
|
| AbstractBase32NonNumericEncoder |
Abstract encoder for encoding/decoding bytes and text using the Base-32 format without any numeric characters in the
encoded result.
|
| AbstractBase64Encoder |
Abstract encoder for encoding/decoding bytes and text using the Base-64 format.
|
| AbstractBase64UrlEncoder |
Abstract encoder for encoding/decoding bytes and text using the Base-64 format which is
safe to use in URL's.
|
| Base32Encoder |
Encoder for encoding/decoding bytes and text using the Base-32 format without padding.
|
| Base32NonNumericEncoder |
Encoder for encoding/decoding bytes and text using the Base-32 format without any numeric
characters or padding in the encoded result.
|
| Base32NonNumericPaddedEncoder |
Encoder for encoding/decoding bytes and text using the Base-32 format with padding but without
any numeric characters in the encoded result.
|
| Base32PaddedEncoder |
Encoder for encoding/decoding bytes and text using the Base-32 format with padding.
|
| Base64Encoder |
Encoder for encoding/decoding bytes and text using the Base-64 format without padding.
|
| Base64PaddedEncoder |
Encoder for encoding/decoding bytes and text using the Base-64 format with padding.
|
| Base64UrlEncoder |
Encoder for encoding/decoding bytes and text using the Base-64 format without padding which is
safe to use in URL's.
|
| Base64UrlPaddedEncoder |
Encoder for encoding/decoding bytes and text using the Base-64 format with padding which is safe
to use in URL's.
|
| HexEncoder |
Encoder for encoding/decoding bytes and text using the hexadecimal (Base-16) format.
|


I am graduate student at the University of Utah pursuing masters in Computer Science. I have 2 years of professional experience as a full stack Software Engineer. I interned at Google in the summer of 2018 working with the Google Kubernetes Engine Storage Lifecycle team. My manager was Lucien Avramov<EMAIL_ADDRESS>and my mentors were Michelle Au<EMAIL_ADDRESS>and David Zhu (dyzz@google.com). Prior to that, I worked for 2 years as a full stack Software Engineer and worked on the Factory Pre Owned Collection portal for General Motors US, which is one of the busiest website in the preowned vehicles domain.
 In the winter, I am an avid skier and novice ice climber. During the warmer months, I enjoy mountain biking, free climbing, and kayaking.
When forced indoors, I follow a number of sci-fi and fantasy genre movies and television shows, I am an aspiring chef, and I spend a large amount of my free time exploring the latest technology advancements in the software development world.


Conservatives’ Scheer wants Trudeau to open Parliament Nov. 25
That’s five days after Justin Trudeau is scheduled to swear in a new cabinet
by The Canadian PressConservative Leader Andrew Scheer is calling on the prime minister to open Parliament on Nov. 25.
That’s five days after Justin Trudeau is scheduled to swear in a new cabinet following last month’s election.
Scheer’s spokesman Simon Jefferies says the country is more divided than ever and Trudeau needs to bring the House of Commons back immediately to address urgent issues.
Asking for that to happen on Nov. 25 will be one of the Opposition leader’s requests of Trudeau when the two meet on Tuesday.
Jefferies says Scheer will also outline specific items Conservatives want to see in the throne speech, saying they’ll be based on the party’s own priorities for the next Parliament.
The Liberals won 157 seats in last month’s vote, forming a minority government, with the Conservatives in second place with 121 MPs.
ALSO READ: Kevin O’Leary’s court challenge over Tory leadership debt to be heard in April
The Canadian Press


Books Data API Browser in PHP
Search Books:
All Books
Limited preview and full view
Full view books only


{% extends "buy/base.html" %} {% load i18n %} {% load static %} {% block head %} {{block.super}} {% endblock %} {% block body %}
{% trans "Please provide the public keys for your new account. Active Public Key can be the same as Owner Public Key but not recommended for security." %}


Creating a boilerplate for MERN stack applications that is simple but still reflects modern best practices
Live Site Code Project PageDating app that matches users based on their Movie/TV viewing preferences
Live Site Code Project PageMy name is Danny Seymour. I am a full stack developer, currently focusing on developing MERN stack and ASP.NET Core applications. I am detail oriented and value a methodical, organized approach to problem solving . In addition to continuously learning about development and new technologies I am also interested in Cybersecurity.
“Danny is a pleasure to work with. His work ethic is remarkable!
He is an incredible asset to this ITS team. He is extraordinarily knowledgeable and willing to ask questions to clarify and learn.”


| Course Code | Course Title | Status |
|---|---|---|
| UE18CS351 | Compiler Design | Enrolled |
| UE18CS352 | Cloud Computing | Enrolled |
| UE18CS353 | Object Oriented Analysis and Design of Software Engineering | Enrolled |
| UE18CS338 | Human Computer Interaction | Enrolled |
| UE18CS348 | Enterprise and Resource Planning | Enrolled |
No Material Uploaded
{{ content.topic }}


The Spry Password Validation Widget is used to validate a password text field, verifying the strength of the password.
The widget structure is as follows:
<widget container> <input password>
<message container(s)>
</widget container>
The Password Validation Widget supports one password field per widget.
The markup used in this structure can be most any HTML, as long as it follows the rules for nesting.
Using the provided files, the default mark up is:

<input type="password" name="password1" id="password1" />
A value is required.
The minimum number of characters not met.
The maximum number of characters exceeded.
The password strength condition not met.
User defined condition not met.

The type and number of error messages will depend on the developer's needs.
Widget Constructors are small pieces of javascript that activate the markup into the working widget. These scripts must come AFTER the markup on the page, since the markup needs to exist before the constructor fires.

A basic constructor specifies the name of the widget and identifies the ID of the main markup container. The name of the widget is used to identify the widget for functions and methods.

Constructor options allow users to specify certain attributes of the widget.
Constructor options follow the ID parameter, wrapped in curly braces {}. Options are name:value pairs, separated by a colon (:).

Recall that javascript is case sensitive.
Reset the widget to its original state.
widgetName.reset();
Reset Password
Validates the current state of the widget.
widgetName.validate();
Validate Password
Copyright © 2007. Adobe Systems Incorporated.
All rights reserved.


At Mozilla, we’re a global community of
The most important thing in 2020 is you come in my life.i meet you, i want to know you, i fall in love at first sight. you are so lovely. all the time when i am thinking you,i am surrounding by happiness
Read the Mozilla Manifesto to learn even more about the values and principles that guide the pursuit of our mission.


⚠ Oops! This page doesn't appear to define a
type
called
_
.
Show navigation
Search
Home
Page Contents
SqlComposer_conversion
deleteFromSelect
updateFromSelect
Package modules
SqlComposer
SqlComposer_component
SqlComposer_conversion
SqlComposer_delete
SqlComposer_select
SqlComposer_update
SqlComposer_conversion
This module does not have a toplevel documentation block.
let
deleteFromSelect
:
SqlComposer_select
.
t
=>
SqlComposer_delete
.
t
let
updateFromSelect
:
SqlComposer_select
.
t
=>
SqlComposer_update
.
t


--- layout: default title: Lucas Cherkewski ---
Welcome to my home on the internet.
This is what I care about:
I work on projects that attempt to combine those principles, usually by building thoughtful digital tools to improve non-digital experiences.
This site holds what I’ve worked on and what I’ve cultivated. I wrote a manifesto to suggest what a personal site is to me. You can learn about what I’m doing now.
P.S. I really do view this as my home on the internet. Feel free to come in and make yourself comfortable; explore these public workings of my brain and get to know me a bit better.
If anything here strikes you, don’t hesitate to talk with me—I look forward to hearing from you.


Did you know that the tool library operates with no paid staff and is a 100% volunteer-driven effort? We are currently looking for more wonderful people to help out.
Volunteers are needed to cover shifts on Saturdays 9-2 and Tuesdays and Wednesdays 5:30pm-7:30pm.
Shifts are about 2-3 hours long – and there is always another volunteer to help make the time fly by quickly. Many of our volunteers sign up for one shift a month, which helps share the work and keep the tool library open.
You do not need any prior knowledge about tools, only a willingness to help out. Who knows, you may just learn a few things about home repair yourself! It is also a great way to meet your NE neighbors and connect with the community. Volunteers must be at least 16 years old to volunteer.
Check out our Online Calendar for available shift openings and email<EMAIL_ADDRESS>if you would like to sign up for a shift!
You can not edit the calendar yourself, so please email to sign up for a shift. Thank you!!


Pizza!


HOME
RAIDS
Vault of Glass
Introduction
Constructing the Spire
The Trial of Kabr
Defend the Confluxes
Destroy the Oracles
The Templar
Gorgon's Labyrinth
The Gatekeepers
Atheon, Time's Conflux
Conclusion
Menu
HOME
Settings
HOME
RAIDS
Vault of Glass
Introduction
Constructing the Spire
The Trial of Kabr
Defend the Confluxes
Destroy the Oracles
The Templar
Gorgon's Labyrinth
The Gatekeepers
Atheon, Time's Conflux
Conclusion
Menu
Vault of Glass
Settings
START
HOME
RAIDS
Vault of Glass
Introduction
Constructing the Spire
The Trial of Kabr
Defend the Confluxes
Destroy the Oracles
The Templar
Gorgon's Labyrinth
The Gatekeepers
Atheon, Time's Conflux
Conclusion
Menu
Crota's End
Settings
START
HOME
RAIDS
Vault of Glass
Introduction
Constructing the Spire
The Trial of Kabr
Defend the Confluxes
Destroy the Oracles
The Templar
Gorgon's Labyrinth
The Gatekeepers
Atheon, Time's Conflux
Conclusion
Menu
King's Fall
Settings
START
HOME
RAIDS
Vault of Glass
Introduction
Constructing the Spire
The Trial of Kabr
Defend the Confluxes
Destroy the Oracles
The Templar
Gorgon's Labyrinth
The Gatekeepers
Atheon, Time's Conflux
Conclusion
Menu
Wrath of the Machine
Settings
START
Oops!
It appears you've found a page that has not been completed yet! Return at once, knave!
"Kill everything in the room and the system thinks it's safe.  - Ghost
SETTINGS
HELP
Open Help
SUPPORT AND FEEDBACK
E-Mail<EMAIL_ADDRESS>HELP
WELCOME


Feel free to
Have you upgraded your tablet and your old one is languishing in a drawer?  It's time to give your old tablet a new life by making into a mega remote that controls all of the smart devices in your home. Besides using it to control your streaming box or stick (like the Chromecast or Apple TV), your tablet is an ideal option for managing the many smart devices in your home. With the right setup (more on that later), you can streamline your tablet to easily control your smart bulbs, thermostat, security camera, locks, and other Web-connected devices. For example, my mega tablet remote runs my SHIELD Android TV, Playbulb Color light and speaker, Xbox One, SmartChef Wifi-enabled smoker, D-Link Wi-Fi security camera and all of the other devices I have all over my home.  Building your universal tablet remote Now's the time to determine the most streamlined approach to controlling your many devices. Depending on the devices you own, you may be able to control them from one central app. The more likely scenario, however, is that you'll need to continue using each device's dedicated app. Scenario: You have a hub If you have a hub like SmartThings, WigWag Relay or Logitech Harmony Home Hub, then setting up your universal remote will be easily, since you only need one app. Still, you may want to install each device's dedicated app to have access to granular or app-specific settings as needed. Scenario: Your devices are on the same platform, like HomeKit If all (or many) of your devices are HomeKit-compatible, or in the Samsung Smart Home Service family, consider using an app that controls all your products. Ry Crist tested a handful of HomeKit apps to find his favorite of the bunch. Scenario: No hub, no common platform Many of us bought into smart home devices before standards like Works with Nest or HomeKit were a thing. If you also have many devices that don't necessarily work together, you'll have to control them separately. The other option is to add a hub or get a master app like iRule or OnHome. These apps use a home's Wi-Fi network or Bluetooth to send commands to any device linked to the network. There are other master apps like this one, but most of them need hubs to access your various smart devices. Some apps that require a hub are Logitech Harmony and L5 Remote.
Meet me
Front-End Full-Stack and Python developer


UNITED FALCONS
TEAM MANAGER
TEAM CAPTAIN
TEAM TREASURER
if you Want to know more click Here
to login


Interface IEvent
The Event interface is used to provide contextual information about an event to the listener processing the event.
Namespace: SharpVectors.Dom.Events
Assembly: SharpVectors.Core.dll
Syntax
public interface IEvent
Remarks
An object which implements the IEvent
interface is passed as
the parameter to an EventListener.
More specific context information is passed to event listeners by
deriving additional interfaces from IEvent
which contain information directly relating to the type of event
they represent. These derived interfaces are also implemented by
the object passed to the event listener.
Properties
Bubbles
(DOM Level 2) Used to indicate whether or not an event is a bubbling event.
Declaration
bool Bubbles { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
Remarks
If the event can bubble the value is true
, otherwise the value is false
.
Cancelable
(DOM Level 2) Used to indicate whether or not an event can have its default action prevented.
Declaration
bool Cancelable { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
Remarks
If the default action can be prevented the value is true
, otherwise the value is false
.
See Also
CurrentTarget
(DOM Level 2) Used to indicate the IEventTarget whose EventListeners are currently being processed.
Declaration
IEventTarget CurrentTarget { get; }
Property Value
| Type | Description |
|---|---|
| IEventTarget |
Remarks
This is particularly useful during the capture and bubbling phases. This attribute could contain the target node or a target ancestor when used with the DOM event flow.
EventPhase
(DOM Level 2) Used to indicate which phase of event flow is currently being accomplished.
Declaration
EventPhase EventPhase { get; }
Property Value
| Type | Description |
|---|---|
| EventPhase |
IsCustom
(DOM Level 3 Experimental)
This method will always return false
, unless the event implements the ICustomEvent
interface.
Declaration
bool IsCustom { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
|
IsDefaultPrevented
(DOM Level 3 Experimental)
This method will return true if the method
PreventDefault has been called
for this event, false
otherwise.
Declaration
bool IsDefaultPrevented { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
|
NamespaceUri
(DOM Level 3 Experimental)
The namespace URI
associated with this event at creation time, or null
if it is unspecified.
Declaration
string NamespaceUri { get; }
Property Value
| Type | Description |
|---|---|
| String |
Remarks
For events initialized with a DOM Level 2 Events method, such as InitEvent,
this is always null
.
Target
(DOM Level 2) Used to indicate the event target.
Declaration
IEventTarget Target { get; }
Property Value
| Type | Description |
|---|---|
| IEventTarget |
Remarks
This attribute contains the target node when used with the DOM event flow.
TimeStamp
(DOM Level 2) Used to specify the time at which the event was created.
Declaration
DateTime TimeStamp { get; }
Property Value
| Type | Description |
|---|---|
| DateTime |
Remarks
Due to the fact that some systems may not provide this information the value of TimeStamp
may be not available for all events. When not available, a value of 0
will be returned. Examples of epoch
time are the time of the system start or 0:0:0 UTC 1st January 1970.
Type
(DOM Level 2) The name must be an NCName as defined in [XML Namespaces] and is case-sensitive.
Declaration
string Type { get; }
Property Value
| Type | Description |
|---|---|
| String |
Remarks
The character ":" (colon) should not be used in this attribute.
If the attribute IEvent.NamespaceUri
is different from null
, this attribute represents a
local name.
Methods
InitEvent(String, Boolean, Boolean)
(DOM Level 2) The InitEvent method is used to initialize the value of an IEvent created through the IDocumentEvent.CreateEvent method.
Declaration
void InitEvent(string eventTypeArg, bool canBubbleArg, bool cancelableArg)
Parameters
| Type | Name | Description |
|---|---|---|
| String | eventTypeArg | Specifies the event type. |
| Boolean | canBubbleArg | Specifies whether or not the event can bubble. This parameter overrides the intrinsic bubbling behavior of the event. |
| Boolean | cancelableArg | Specifies whether or not the event's default action can be prevented. This parameter overrides the intrinsic cancelable behavior of the event. |
Remarks
This method may only be called before the IEvent has been dispatched via the
IEventTarget.DispatchEvent method. If the method is called
several times before invoking IEventTarget.DispatchEvent,
only the final invocation takes precedence. If called from a subclass of Event
interface only the values specified in this method are modified, all other attributes are left unchanged.
This method sets the IEvent.Type attribute to eventTypeArg
,
and IEvent.NamespaceUri to null
. To initialize an event with a
local name and namespace URI, use the InitEventNs method.
InitEventNs(String, String, Boolean, Boolean)
(DOM Level 3 Experimental)
The
Declaration
void InitEventNs(string namespaceUriArg, string eventTypeArg, bool canBubbleArg, bool cancelableArg)
Parameters
| Type | Name | Description |
|---|---|---|
| String | namespaceUriArg | Specifies the
namespace URI
associated with this event, or |
| String | eventTypeArg | Specifies the local name of the event type (see also the description of IEvent.Type). |
| Boolean | canBubbleArg | Specifies whether or not the event can bubble. |
| Boolean | cancelableArg | Specifies whether or not the event's default action can be prevented. |
Remarks
This method may only be called before the
IEvent has been dispatched via the
IEventTarget.DispatchEvent
method, though it may be called multiple times the event has been
dispatched. If called multiple times the final invocation takes
precedence. If a call to InitEventNs
is made after one of the IEvent derived
interfaces' init methods has been called, only the values
specified in the InitEventNs method
are modified, all other attributes are left unchanged.
This method sets the IEvent.Type
attribute to eventTypeArg
, and
IEvent.NamespaceUri to
namespaceUriArg
.
PreventDefault()
(DOM Level 2) Signify that the event is to be canceled.
Declaration
void PreventDefault()
Remarks
If an event is cancelable, the PreventDefault method is used to signify that the event is to be canceled, meaning any default action normally taken by the implementation as a result of the event will not occur and thus independently of event groups. Calling this method for a non-cancelable event has no effect.
Note: This method does not stop the event propagation; use StopPropagation or StopImmediatePropagation for that effect.
See Also
StopImmediatePropagation()
(DOM Level 3 Experimental) Immediately prevent event listeners of the same group to be triggered.
Declaration
void StopImmediatePropagation()
Remarks
This method is used to prevent event listeners of the same group to be triggered and, unlike StopPropagation its effect is immediate. Once it has been called, further calls to that method have no additional effect.
Note: This method does not prevent the default action from being invoked; use PreventDefault for that effect.
See Also
StopPropagation()
(DOM Level 2) Prevent event listeners of the same group to be triggered.
Declaration
void StopPropagation()
Remarks
This method is used to prevent event listeners of the same group to be triggered but its effect is differed until all event listeners attached on the currentTarget have been triggered. Once it has been called, further calls to that method have no additional effect.
Note: This method does not prevent the default action from being invoked; use preventDefault for that effect.


Welcome to TCPViz, an online TCP analysis and visualisation tool. You can upload PCAP files or have a look at example streams as well.
The internet works by sending packets between devices, and a PCAP file might have conversations between many different machines.
The diagram below shows the streams (think of them as conversations) between a few devices. The height of the link indicates the number of packets in the stream:
You can click on a link to view the stream between devices. When you do, you will see a line diagram that visualises how the packets flow between the devices.
There are many different protocols that can be used when sending packets between machines, and this visualiser is principally concerned with the Transfer Control Protocol (TCP).
It's one of the most widely used protocols for sending data between devices because it is connection-oriented (which means that a connection between two devices must be made) and reliable (making sure the packets arrive at the intended destination).
It manages to fulfil these requirements by chunking data into the right size (what we call segments); through the use of various timers; through the use of acknowledgement segments; and providing a flow control to deal with machine memory.
To the left of the time-line diagrams, you can see the packet number, time sent, the delta time between each packet in the stream.
Then on the arrows you can see the direction of the data flow, the sequence number, the acknowledgement number and the window size.
Finally, on the right-hand side you can see the analysis message that can indicate good or bad TCP behaviour. This information is not included in the segments themselves, but has been inferred from the stream of segments.
You can find out more about each TCP analysis type by clicking on the analysis messages, or through viewing the examples from the navigation bar.


--- layout: post title: How and why people use date: 2004-12-12 00:00:00 category: mobile ---
How and why people use camera phones: "...the camera phone is neither an incremental step forward from a mobile phone, nor a poor relation of a digital camera. Rather, it is a device which is sometimes used rather like a digital camera, but is different in the range of activities it supports." (via Jay)


--- layout: post title: 'Ep 13: Open Denton - Building Smart Cities on Open Data' date: 2017-03-31 15:21:34.000000000 -05:00 type: post parent_id: '0' published: true password: '' status: publish categories: - Events - Podcast tags: [] meta: _edit_last: '1' slide_template: default _at_widget: '1' _yoast_wpseo_content_score: '30' fw:opt:ext:pb:page-builder:json: "[]" fw_options: a:7:{s:12:"page-builder";a:2:{s:4:"json";s:2:"[]";s:14:"builder_active";b:0;}s:9:"title_bar";s:7:"default";s:15:"footer_settings";s:7:"default";s:12:"header_style";a:2:{s:6:"option";s:0:"";s:11:"transparent";a:2:{s:16:"background_color";s:21:"rgba(255,255,255,0.3)";s:12:"border_color";s:0:"";}}s:12:"social_icons";s:0:"";s:12:"contact_info";s:0:"";s:12:"slider_above";a:2:{s:6:"option";s:2:"no";s:3:"yes";a:2:{s:5:"slide";s:1:"c";s:13:"scroll_effect";a:1:{s:6:"option";s:0:"";}}}} _yoast_wpseo_primary_category: '39' _thumbnail_id: '1137' _yoast_wpseo_post_image_cache: a:0:{} author: login: superuser email<EMAIL_ADDRESS>display_name: Administrator first_name: '' last_name: '' ---
After hosting our own event for International Open Data Day (March 4, 2017) with the City of Denton and the University of North Texas Libraries, we brought on some of our expert friends to talk about the role of open data, how we can use it for municipal good, and what a smart city looks like.
A list of our guests this episode include:
- Jesse Hamner, data scientist and librarian
- Kevin Roden, city councilman and Code for America advocate
- Abdulrahman Habib, Ph.D. student and city consultant
- Jacob Scott Moses, former host of the Parksify podcast and urban living advocate
Code for America - www.codeforamerica.org
Open Denton - www.opendenton.com
Github - github.com/opendenton
OpenGov - opengov.com/blog/denton-tx-open-data-day
City of Denton Portal - data.cityofdenton.com
[soundcloud url="https://api.soundcloud.com/tracks/312441469" params="auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&visual=true" width="100%" height="450" iframe="true" /]


Preparation time
over 2 hours
Cooking time
10 to 30 mins
Serves
Serves 4
If you can’t get hold of the deliciously meaty black cod fish, you can use a cheaper fish such as pollock. In the Hairy Bikers Far East programme Si and Dave didn’t have an oven on location, so they fried the fish. It can be either baked or fried.
Mix all of the marinade ingredients together and place in a non-metallic bowl.
For the black cod, add the fish to the marinade, cover with cling film and place in the fridge preferably overnight or a minimum of two hours.
Preheat the oven to 180C/350F/Gas 4 (160C fan).
Lightly oil a non-stick baking tray. Place the fish, skin-side down onto the baking tray.
Spoon over two tablespoons of the marinade and then bake for 10-12 minutes, depending on the thickness of fish.
Preheat the grill. Remove the fish from the oven, place the remaining marinade over the fish, place under the grill and cook until golden-brown.
For the Chinese greens with sesame sauce, heat a small non-stick frying pan and dry-fry the sesame seeds until just lightly golden-brown. Put into a pestle and mortar. Grind to nearly a paste, but still with some texture.
Add the sugar, soy sauce, dashi, and citrus juice. Give a good grind to incorporate all the flavours. Add a couple of sprinkles of Japanese sansho pepper.
Rinse the greens well, trim the base of the stems and cut the rest into bite-sized pieces.
Place a steamer on top of a pan of boiling water. Steam the broccoli for 1-2 minutes, or until tender. Transfer to a suitable serving dish and spoon over the sauce.
Serve the fish with the Chinese greens and with lime wedges and micro salad on the side.


Anglo-Chinese School (Independent) boarders' greatest nightmare.
This tab is to keep track of all the remaining deposit of the boarders.
This tab keeps track of the amount of money the boarders have to pay in cash.
This tab is to set the price of breakfast, lunch and dinner.


{% from 'confirmation_dialog.html' import confirmation_dialog %} {% call confirmation_dialog('danger', ok_text=ngettext("Delete category", "Delete categories", categories|length), extra_confirmation=false, id_field_name='category_id', ids=category_ids) %} {% trans count=categories|length -%} You are about to delete the following category: {%- pluralize -%} You are about to delete the following categories: {%- endtrans %}


--- layout: post date: 2013-02-06 00:25:00 +0100 title: "RC bugs" categories: Artikel tags: - debian ---
I recently worked on the following RC bugs:
It is getting hard to find RC bugs to work on. If you have access to ia64 hardware, have a look at #694971 — Epiphany browser crashes within JSC::JSArray::increaseVectorLength() or #697172 — sporadic crashes of epiphany browser due to a thread-unsafe favicon database. Both have patches available that just need to be tested.


Man arrested on way to Cape Town with R5.6m worth of crystal meth allegedly stashed in car compartments
Police spokesperson Captain FC Van Wyk says a vehicle on its way from Johannesburg and was pulled over on the N1 on Saturday afternoon.
by News24WireImage: iStock
A 27-year-old man heading to Cape Town was arrested after a consignment of crystal meth was allegedly found inside a vehicle which was pulled over near Laingsburg, police said on Sunday.
Police spokesperson Captain FC Van Wyk said the silver LDV was on its way from Johannesburg and was pulled over on the N1 on Saturday afternoon.
During a search, the police and traffic officers found 15 sealed bags of the drug, also known as tik, wrapped in black bags and stashed into compartments in the vehicle.
The drugs weighing 16kg are estimated to be worth R5.6m.
The man is expected to appear in the Laingsburg Magistrate’s Court on Monday.
Further afield, in Nyanga, police recovered three firearms and ammunition and arrested three people in two consecutive days.
Two firearms and ammunition were recovered on Saturday night, and two people were arrested in Nyanga and Browns Farm.
The first firearm, with nine rounds of ammunition, was recovered by the National Intervention Unit in Sibini Avenue in Mau-Mau, Nyanga.
A 57-year-old was arrested for the possession of a prohibited firearm and illegal possession of ammunition.
The second was a Norinco pistol with four rounds, which was recovered by Public Order Police in Ramaphosa informal settlement.
They were on a stop-and-search operation when they recovered an illegal firearm and four rounds inside a Toyota Avanza. The occupant could not produce a firearm licence.
A 32-year-old person was arrested on charges of possession of an unlicensed firearm and ammunition. Another illegal firearm was recovered and a 17-year-old person arrested in the early hours of Saturday morning in Sihlanu Avenue in Nyanga.
Those who were arrested are expected to appear in the Athlone Magistrate’s Court on Monday.


What is it we want to get out of code?
What is it we want to get out of code? The most important thing is learning. The way I learn is to have a thought, then test it out to see if it is a good thought. Code is the best way I know of to do this. Code isn’t swayed by the power and logic of rhetoric. Code isn’t impressed by college degrees or large salaries. Code just sits there, happily doing exactly what you told it to do. If that isn’t what you thought you told it to do, that’s your problem.
— Kent Beck


Home
(current)
Delay Percentage
Predict Delay
Flight Recommendation
Flight Delay Prediction
Avoid Delays for Better Travel


S&P 500, Nasdaq open lower as trade-fueled rally pauses
REUTERS: The S&P 500 and Nasdaq indexes opened slightly lower on Friday after a record run this week fueled by rising hopes of a U.S.-China trade truce and an upbeat corporate earnings season.
The S&P 500 opened lower by 3.93 points, or 0.13per cent, at 3,081.25. The Nasdaq Composite dropped 11.85 points, or 0.14per cent, to 8,422.67 at the opening bell.
The Dow Jones Industrial Average , however, rose 11.40 points, or 0.04per cent, at the open to 27,686.20.
(Reporting by Sagarika Jaisinghani in Bengaluru; Editing by Sriraj Kalluvila)


On the day of our arrival, we had the opportunity to rush for one of the big flea markets of the month. And this would be the Tenjin-san market at Kitano Tenman-gū.


 Bear claw topping jelly-o cookie pie. Liquorice lemon drops gingerbread chupa chups carrot cake. Tiramisu pie bonbon candy canes. Candy canes gingerbread dragée chupa chups chocolate bar. Gummies jelly-o chocolate tootsie roll fruitcake biscuit dessert ice cream candy.
| Automation Grade | Automatic |
|---|---|
| Voltage (Volt) | 440 V |
| Frequency (Hertz) | 50 Hz |
| Condition | New |
| Drive Type | Electric |
| Machine speed | 50 to 300 packets / min. |
| Electric Motor | 1.5 HP 3Phase / AC |
| Transformer | 50V |
| Total load | 1.75kw |
| Dimension | Width 40-125mm Length 75-225mm Height 40-100mm |
| Film | Polyester Laminated with LLPDE, HDPE, Foil Laminates, Heat Sealable Plain : Pearlised, BOPP, Heat S |
| Net wt | 1000kgs (Approx.) |


Amitabh Bachchan on Kangana Ranaut: “Very beautiful, No.1 & famous artist”
by Sahar JunejoAmitabh Bachchan was all praise for Kangana Ranaut during a recent episode of his hit gameshow ‘Kaun Banega Crorepati’.
After a question about Bollywood actresses, including Ranaut, came up, Bachchan shared “Kangana Ranaut Ji is a very beautiful, number one and famous artist. She has won many awards including National Awards and Filmfare Awards.”, The Asian Age reported.
Ranaut is currently hard at work preparing for her upcoming trilingual film ‘Thalaivi’, which is a biopic on actress and politician Jayalalithaa.


|
Assimp
5.0.1, master @ cd42b955
|
Inherits Assimp::IOSystem.
Classes | |
| class | Implement |
Public Member Functions | |
| ZipArchiveIOSystem (IOSystem *pIOHandler, const char *pFilename, const char *pMode="r") | |
| Open a Zip using the proffered IOSystem. More... | |
| ZipArchiveIOSystem (IOSystem *pIOHandler, const std::string &rFilename, const char *pMode="r") | |
| virtual | ~ZipArchiveIOSystem () |
| virtual bool | ChangeDirectory (const std::string &path) |
| Will change the current directory to the given path. More... | |
| void | Close (IOStream *pFile) override |
| Closes the given file and releases all resources associated with it. More... | |
| virtual bool | ComparePaths (const char *one, const char *second) const |
| Compares two paths and check whether the point to identical files. More... | |
| bool | ComparePaths (const std::string &one, const std::string &second) const |
| For backward compatibility. More... | |
| virtual bool | CreateDirectory (const std::string &path) |
| CReates an new directory at the given path. More... | |
| virtual const std::string & | CurrentDirectory () const |
| Returns the top directory from the stack. More... | |
| virtual bool | DeleteFile (const std::string &file) |
| bool | Exists (const char *pFilename) const override |
| Tests for the existence of a file at the given path. More... | |
| AI_FORCE_INLINE bool | Exists (const std::string &pFile) const |
| For backward compatibility. More... | |
| void | getFileList (std::vector< std::string > &rFileList) const |
| Get the list of all files with their simplified paths Intended for use within Assimp library boundaries. More... | |
| void | getFileListExtension (std::vector< std::string > &rFileList, const std::string &extension) const |
| Get the list of all files with extension (must be lowercase) Intended for use within Assimp library boundaries. More... | |
| char | getOsSeparator () const override |
| Returns the system specific directory separator. More... | |
| bool | isOpen () const |
| The file was opened and is a ZIP. More... | |
| IOStream * | Open (const char *pFilename, const char *pMode="rb") override |
| Open a new file with a given path. More... | |
| IOStream * | Open (const std::string &pFile, const std::string &pMode=std::string("rb")) |
| For backward compatibility. More... | |
| virtual bool | PopDirectory () |
| Pops the top directory from the stack. More... | |
| virtual bool | PushDirectory (const std::string &path) |
| Pushes a new directory onto the directory stack. More... | |
| virtual size_t | StackSize () const |
| Returns the number of directories stored on the stack. More... | |
Static Public Member Functions | |
| static bool | isZipArchive (IOSystem *pIOHandler, const char *pFilename) |
| static bool | isZipArchive (IOSystem *pIOHandler, const std::string &rFilename) |
Private Attributes | |
| std::vector< std::string > | m_pathStack |
| Implement * | pImpl = nullptr |
| Assimp::ZipArchiveIOSystem::ZipArchiveIOSystem | ( | IOSystem * | pIOHandler, |
| const char * | pFilename, | ||
| const char * | pMode = "r" |
||
| ) |
Open a Zip using the proffered IOSystem.
| Assimp::ZipArchiveIOSystem::ZipArchiveIOSystem | ( | IOSystem * | pIOHandler, |
| const std::string & | rFilename, | ||
| const char * | pMode = "r" |
||
| ) |
|
virtual |
|
virtualinherited |
Will change the current directory to the given path.
| path | [in] The path to change to. |
Reimplemented in Assimp::MemoryIOSystem, and Assimp::FileSystemFilter.
|
overridevirtual |
Closes the given file and releases all resources associated with it.
| pFile | The file instance previously created by Open(). |
Implements Assimp::IOSystem.
|
virtualinherited |
Compares two paths and check whether the point to identical files.
The dummy implementation of this virtual member performs a case-insensitive comparison of the given strings. The default IO system implementation uses OS mechanisms to convert relative into absolute paths, so the result can be trusted.
| one | First file |
| second | Second file |
Reimplemented in Assimp::MemoryIOSystem, Assimp::DefaultIOSystem, and Assimp::FileSystemFilter.
|
inlineinherited |
For backward compatibility.
|
virtualinherited |
CReates an new directory at the given path.
| path | [in] The path to create. |
Reimplemented in Assimp::MemoryIOSystem, and Assimp::FileSystemFilter.
|
virtualinherited |
Returns the top directory from the stack.
Reimplemented in Assimp::MemoryIOSystem, and Assimp::FileSystemFilter.
|
virtualinherited |
Reimplemented in Assimp::MemoryIOSystem, and Assimp::FileSystemFilter.
|
overridevirtual |
Tests for the existence of a file at the given path.
| pFile | Path to the file |
Implements Assimp::IOSystem.
|
inherited |
For backward compatibility.
| void Assimp::ZipArchiveIOSystem::getFileList | ( | std::vector< std::string > & | rFileList | ) | const |
Get the list of all files with their simplified paths Intended for use within Assimp library boundaries.
| void Assimp::ZipArchiveIOSystem::getFileListExtension | ( | std::vector< std::string > & | rFileList, |
| const std::string & | extension | ||
| ) | const |
Get the list of all files with extension (must be lowercase) Intended for use within Assimp library boundaries.
|
overridevirtual |
Returns the system specific directory separator.
Implements Assimp::IOSystem.
| bool Assimp::ZipArchiveIOSystem::isOpen | ( | ) | const |
The file was opened and is a ZIP.
|
static |
|
static |
|
overridevirtual |
Open a new file with a given path.
When the access to the file is finished, call Close() to release all associated resources (or the virtual dtor of the IOStream).
| pFile | Path to the file |
| pMode | Desired file I/O mode. Required are: "wb", "w", "wt", "rb", "r", "rt". |
Implements Assimp::IOSystem.
|
inlineinherited |
For backward compatibility.
|
virtualinherited |
Pops the top directory from the stack.
Reimplemented in Assimp::MemoryIOSystem, and Assimp::FileSystemFilter.
|
virtualinherited |
Pushes a new directory onto the directory stack.
| path | Path to push onto the stack. |
Reimplemented in Assimp::MemoryIOSystem, and Assimp::FileSystemFilter.
|
virtualinherited |
Returns the number of directories stored on the stack.
Reimplemented in Assimp::MemoryIOSystem, and Assimp::FileSystemFilter.
|
privateinherited |
|
private |


Menu
Home
Contact
MDO.News
Multi-Domain Operations
Obervation & Orientation for MDO with an Intelligent Tactical Fog
MultiPlex.studio provides a tactical solution for operational decision support--collecting, analyzing, and securely classifying multi-domain, disparate intelligence data from sensors, partners, and adversaries and delivering a signal to actionable information cycle of 15 minutes.
Posted by
Jason Lind, MultiPlex.studio
on 19 July 2019
AFWERX MDO Challenge Selections in Progress
This Challenge aims to improve the efficiency and effectiveness of the US and its Allies' integrated operations in the areas of air, space, land, sea, cyber and the electromagnetic spectrum.
Posted by
Jason Lind, MultiPlex.studio
on 19 July 2019
DARPA Mosaic Warfare
The mosaic warfighting concept moves beyond any one organization, military Service, or company’s system designs and the requisite interoperability standards, which are inherently inhibiting and unscalable. We’re focused on developing processes and tools that would focus on trusted connections between known entities, enabling easy backwards compatibility and just-in-time, custom creation of any needed connections to enable rapid, intelligent, strategic assembly and disassembly of diverse systems.
Posted by
Jason Lind, MultiPlex.studio
on 19 July 2019


Hosts Discovered
{{hosts|length}}Scans Executed
{{scan_count.decode('utf-8')}}Last Scanned
{{last_scan.decode('utf-8')}}Total Vulnerabilities
{{vulns|length}}Vulnerability Distribution
Port Distribution
Networks Scanned
Your last assessment included these networks
| Networks | |
|---|---|
| {{network}} |
Domains Scanned
Your last assessment included these domains
| Domains | |
|---|---|
| {{domain}} |
Live Hosts
These hosts were identified to be alive
| IP Addresses | |
|---|---|
| {{host.decode('utf-8')}} |


Watch it outside
Home
About
Pre-registration
form
Name *
Email Address *
Phone *
Film to book *
-- Select --
Harriet
Arctic Dogs
Gemini Man
Adopt a Highway
Maleficent: Mistress of Evil
Jojo Rabbit
Midway
Last Christmas
Playing With Fire
The Irishman
Primal
Danger Close: The Battle of Long Tan
Mickey and the Bear
Queen & Slim
Countdown
Black and Blue
Number of Tickets *
-- Select --
1
2
3
4
5
Message(Optional)
Submit
Reset
Our office
Watch it Outside, Co.
San Francisco, CA 94107
Phone:
(123) 524-8746
Contact us
watchitoutsidet@gmail.com


@(issue: model.Issue,
pullreq: model.PullRequest,
comments: List[model.IssueComment],
collaborators: List[String],
milestones: List[(model.Milestone, Int, Int)],
hasConflict: Boolean,
hasWritePermission: Boolean,
repository: service.RepositoryService.RepositoryInfo,
requestRepositoryUrl: String)(implicit context: app.Context)
@import context._
@import view.helpers._
@issues.html.issuedetail(issue, comments, collaborators, milestones, hasWritePermission, repository)
@issues.html.commentlist(issue, comments, hasWritePermission, repository, Some(pullreq))
@if(hasWritePermission && !issue.closed){
}
@issues.html.commentform(issue, hasWritePermission, repository)
@if(issue.closed) {
@if(comments.exists(_.action == "merge")){
Merged
} else {
Closed
}
} else {
Open
}
@comments.size @plural(comments.size, "comment")
@if(hasConflict){ Checkout via command line
If you cannot merge a pull request automatically here, you have the option of checking it out via command line to resolve conflicts and perform a manual merge.
} else { Merging via command lineIf you do not want to use the merge button or an automatic merge cannot be performed, you can perform a manual merge on the command line.
} @helper.html.copy("repository-url-copy", requestRepositoryUrl){ }Step 1: Check out a new branch to test the changes — run this from your project directory
@defining(s"git checkout -b ${pullreq.requestUserName}-${pullreq.requestBranch} ${pullreq.requestBranch}"){ command => @helper.html.copy("merge-command-copy-1", command){ } }Step 2: Bring in @{pullreq.requestUserName}'s changes and test
@defining(s"git pull ${requestRepositoryUrl} ${pullreq.requestBranch}"){ command => @helper.html.copy("merge-command-copy-2", command){ } }Step 3: Merge the changes and update the server
@defining(s"git checkout master\ngit merge ${pullreq.requestUserName}-${pullreq.branch}\ngit push origin ${pullreq.branch}"){ command => @helper.html.copy("merge-command-copy-3", command){ } }


[gecode-users] Gecode 4.0.0
Christian Schulte
cschulte at kth.se
Fri Oct 14 15:02:43 CEST 2011
Dear all,
As this year has already a number of releases of Gecode from the 3.* version
series we have decided to slow the pace and prepare for Gecode 4.0.0 as the
next major release.
This mail is just to assure you that we are not dormant but that it will
take longer before the next version appears. If there is the need for a bug
fix release we will of course do that in the meantime.
Our current plan is to include the following features:
- Integrate propagator groups, see here:
http://web.it.kth.se/~cschulte/paper.php?id=LagerkvistSchulte:CP:2009
- Integrate lightweight dynamic symmetry breaking, see here:
Lightweight Dynamic Symmetry Breaking. C. Mears, M. Garcia de la
Banda, B. Demoen, M. Wallace.
SymCon'08.
LDSB is a dynamic symmetry breaking method designed to handle
common symmetries efficiently under any variable and value
ordering.
- Integrate float variables
- Provide modeling layer for float variables
- Support for restarts during search and large neighborhood search
- Make randomized tie-breaking more flexible
- Modeling layer for scheduling constraints
- Branching for scheduling problems
Some more speculative things that might or might not make it are:
- Integrate discrepancy-based search that is not LDS (?)
- Half-reification, see here:
Thibaut Feydy, Zoltan Somogyi, Peter J. Stuckey: Half Reification
and Flattening. CP 2011: 286-301
- Redundancy analysis, see here:
http://web.it.kth.se/~cschulte/paper.php?id=SchulteStuckey:PPDP:2008
Best
Christian
--
Christian Schulte, www.ict.kth.se/~cschulte/
More information about the users
mailing list


appengine()
click to toggle source
def self.appengine
"--appengine NUM: The number of application servers that should be spawned up for each Google App Engine app."
end
appname()
click to toggle source
def self.appname
"--appname APPNAME: The name of the application to remove."
end
auto()
click to toggle source
def self.auto
"--auto: Requests the SSH login password from the user once, and then automatically reuses the password on each machine."
end
backup_neptune_info()
click to toggle source
def self.backup_neptune_info
"--backup_neptune_info FILE: Backs up Neptune job metadata to FILE."
end
confirm()
click to toggle source
def self.confirm
"--confirm: Skips the confirmation step when removing an application."
end
email()
click to toggle source
def self.email
"--email EMAIL: Uses EMAIL as the app administrator for the given application instead of prompting for it."
end
file()
click to toggle source
def self.file
"--file FILE: The app to upload. Must be a directory or file tar'ed up via 'tar -czf app.tar.gz .' in the application's top level directory."
end
force()
click to toggle source
def self.force
"--force: If the given keyname is already in use, remove it from the system and add a new key with the same name."
end
get_usage(file_name, flags)
click to toggle source
def self.get_usage(file_name, flags)
preamble = "#{AS_VERSION}\n\nUsage: #{file_name} OPTIONS\n\nFlags:"
flag_text = ""
flags.each { |flag|
if !self.respond_to?(flag.to_sym)
raise BadCommandLineArgException.new(flag)
end
flag_text += "\n\t" + self.send(flag.to_sym)
}
return preamble + flag_text + "\n\n"
end
group()
click to toggle source
def self.group
"--group: The name of the security group to create when running over a cloud infrastructure."
end
h()
click to toggle source
def self.h
"-h: Displays this usage message."
end
help()
click to toggle source
def self.help
"--help: Displays this usage message."
end
iaas()
click to toggle source
def self.iaas
"--iaas INFRASTRUCTURE: Same as --infrastructure, but if no value is provided, defaults to euca."
end
infrastructure()
click to toggle source
def self.infrastructure
"--infrastructure INFRASTRUCTURE: The cloud infrastructure that AppScale should utilize. Acceptable values are: #{VALID_CLOUD_TYPES.join(', ')}."
end
instance_type()
click to toggle source
def self.instance_type
"--instance_type: The instance type to use if using Eucalyptus. Defaults to m1.large if not provided. Supported values are m1.large, m1.xlarge, and c1.xlarge."
end
ips()
click to toggle source
def self.ips
"--ips: The YAML file containing the IPs (and optionally, the service placement) of the machines to use."
end
keyname()
click to toggle source
def self.keyname
"--keyname KEYNAME: The name of the SSH key to use for Eucalyptus. Two AppScale instances can be run concurrently in one cloud if they have unique names, and they can conflict if they have the same name."
end
machine()
click to toggle source
def self.machine
"--machine IMAGE_ID: The machine image to use in Amazon EC2 or Eucalyptus. Supercedes the contents of the environment variable APPSCALE_MACHINE, which is otherwise used if this flag is not present."
end
max()
click to toggle source
def self.max
"--max NUM: The maximum number of VMs to spawn for AppScale in cloud deployments."
end
min()
click to toggle source
def self.min
"--min NUM: The minimum number of VMs to spawn for AppScale in cloud deployments."
end
n()
click to toggle source
def self.n
"-n NUM: The replication factor that should be used with the underlying database."
end
r()
click to toggle source
def self.r
"-r NUM: The number of database nodes needed for a read to succeed. Not supported by all databases."
end
restore_from_tar()
click to toggle source
def self.restore_from_tar
"--restore_from_tar LOCATION: The location of the tar file that can be used to back up the state of a previously running AppScale deployment."
end
restore_neptune_info()
click to toggle source
def self.restore_neptune_info
"--restore_neptune_info LOCATION: The location of a previously saved Neptune job metadata file, to be used when starting a new Appscale deployment."
end
scp()
click to toggle source
def self.scp
"--scp LOCATION: A location on the local file system where a copy of the AppScale main branch is located. This flag instructs the tools to rsync this branch over to all nodes used. Useful for testing and debugging. If no value is provided, ~/appscale is used."
end
table()
click to toggle source
def self.table
"--table DATABASE: The database to use with AppScale. Acceptable values are: #{VALID_TABLE_TYPES.join(', ')} (default is #{DEFAULT_DATASTORE})."
end
test()
click to toggle source
def self.test
"--test: Uses a default username and password when uploading an application. Intended for testing only."
end
usage()
click to toggle source
def self.usage
"--usage: Displays this usage message."
end
v()
click to toggle source
def self.v
"-v: Displays extra output. Useful for debugging."
end
verbose()
click to toggle source
def self.verbose
"--verbose: Displays extra output. Useful for debugging."
end
version()
click to toggle source
def self.version
"--version: Displays the version of the AppScale tools used."
end
w()
click to toggle source
def self.w
"-w NUM: The number of database nodes needed for a write to succeed. Not supported by all databases."
end


Hello,
This is your friendly neighborhood automatically sent mail, letting you know
someone shared something with you{% if not data.note %}.
{% else %} with the following note:
{{ data.note }}
{% endif %}
To view the data, click the following link{% if data.copies > 1 %}s{% endif %}:
{% for keyid, err in data.keyids %}
{% if keyid is defined -%}{{ keyid }}
{% endif -%}
{% endfor %}
Please note that {% if data.copies > 1 %}these links{% else %}this link{% endif %} can be viewed {% if data.views > 1 %}{{ data.views }} times{% else %}ONLY ONE TIME{% endif %} before being removed.
After {{ data.expires }} the data will be automatically expired.
Please make sure you retrieve the shared information in due time. If additional
validation required, you will receive the necessary data by other means.
Regards,
--
{{ data.sender }}


The project started off with a meeting with the product owner to understand some requirements and define the problem. There was a market opportunity for the company to expand into Middle School territory. There was one relevant game that specifically focused on fractions, called Cloud Machine, that we decided to expand upon.
How might we expand upon Cloud Machine to better fit middle schoolers?
From there, the next step is to understand our target users: Middle School students. The research team and I worked closely to interview middle school students. The interviews were focused around how to engage middle school students. What are the motivational differences between elementary and middle school students?
After interviewing many students, we found 4 common themes, which helped guide our design decisions:Using these 4 persona attributes, we have a small group brainstorm about how we can better service students through creativity, competence, autonomy and social. How do we engage middle schoolers through social features, by giving them the freedom to explore creativity, by allowing them to convey competence, and by giving them autonomy?
The team of 12 devs, designers, editors and product managers split into 4 groups of 3 to ideate.There were many great ideas, but the one that kept appearing multiple times (and that was most compelling to the PM) was the ability for students to create and share their own levels.
This idea hit many of the 4 pillars: It allowed students to be social by sharing their puzzles, it gave students the freedom to express their creativity through puzzle design, it helped students show their competence by allowing them to make difficult and challenging puzzles, and it gave students autonomy by giving them control of their own content.
One huge advantage we had with the idea of creating and sharing levels is that we already had an internal "puzzle maker." This already allowed the staff at CA to make puzzles and share it with students. This meant that we could perform a product reaction user test at little-to-no development effort. The purpose was to validate our assumption: are middle grade students going to want to use the puzzle creator to make and share their own puzzles?
First off, we needed to make the puzzle creator look visually similar to the rest of the game. Many students complained about the wire-frame style of the prototype, and were confused by the lack of consistency.
Students were confused on why they were creating puzzles, so we wanted to provide more story. In other levels, you play the game to make rain, which will feed/animate plants and animals. The problem with having normal rewards in the puzzle creator is that we cannot account for how many puzzles the students will make. In theory, the students could make 1000s of puzzles. We needed a way for the rewards to be scalable, so we made rewards temporary for these levels.
Students have difficulty dragging with a trackpad (on top of being non WCAG compliant). Many students were also frustrated that the double-click would delete a previously created container. To account for this, we changed the way that you create puzzle components on the screen. Rather than dragging across a grid, you select a tool and then click on the grid with the tool selected. This acts as a brush, and “paints” the selected component onto the grid.
Finally, we added a banner to the game that lets students know that they are able to share the puzzles they create.
During the development process, we quickly learned there were many edge-case scenarios that students could potentially encounter. Product suggested that we do a limited release to about 5% of our users to get more data. The goals of the limited release were:
Now that we knew “how” students were using the puzzle creator, we wanted to investigate the “why” and “what.”
Why weren’t students publishing their puzzles? Why are students missing the puzzle creator button? Why are students not understanding the difference between a normal class category and a shared class category?
We also dramatically changed the look and feel of the UI, so we wanted to validate all of our changes since the last user test.
Many students did not have the vocabulary or knowledge of fractions to play this game effectively. We created a short tutorial to help the student understand the basics fractions, and to better get at the some more complicated terms, such as Numerator and Denominator.
Players that have experience with the game do better. We decided to only introduce this feature after the user has demonstrated their ability to play, by completing 5 of the other levels. Students will only unlock the puzzle creator after they have completed this requirement.
Students did not understand the difference between the class category button and the normal category button. We updated the design to give a different look and feel, and to distinguish the two types of categories.
Students were confused by the names on the class categories, so we decided to let teachers re-name their classes so that students aren’t confused by the strange class names in the systems.
Students took a very long time to create puzzles. We suspect this is why many students were starting to create puzzles, but not finishing them. To account for this, we decided to add a “save” feature so that students who are not finished can save their puzzles.
After the full release of the puzzle creator, we observed that active student playtime for middle grades increased by 12%. This means we were successful in our goal of increasing student play time for middle grade students.
One part of the project that did not go smoothly is the user recruitment during the pandemic. Because of this, we were unable to visit schools, which often paints a different picture. This may affect how students performed in the usability tests, and also may have an impact on the quantitative data. Additionally, we used “Friends and family” testing, which means that we tested with the students of internal colleagues. I suspect that students of parents who work for an educational company may behave differently than students whose parents do not.


It took my dear mom three days to give my birth. I love you mom!
Bachelor of Science in Eletronic Information Engineering
Master of Science in Electrical and Computer Engineering
BackboneJS, Angular, Typescript, Javascript, HTML, CSS... I code designs out. Enjoy being a Front-End Guy!


{% extends "layouts/base-fullscreen.html" %} {% block title %} Reset Password {% endblock %} {% block content %}
Change your mind? Back home


We hold several options for types of rooms available in our hotel. You have the choice of either Single, Double, or one of our Premium suites. You may also have options to rent a room including either a kitchenette or a room with on of our luxury hottubs.
Serving our customers for almost 50 yrs, we aim to offer the best in comfort, attention, and customer service, while you rest and emjoy your time prior to going out on the mountain!


Exploring My Values
The three things that I can agree with in this exercise are adventure, enthusiasm and music
I feel like you won't get very far in life without adventure and a sense of adventure. My definition of adventure is being excited by excitement and immersing myself in something that's far away from my comfort zone. This is usually applied to travelling and this is usually how I feel when travelling. I like to get far away from home and my comfort zone to see what life is like for others. I love to see how people live differently than the way we do back home. I feel like that that's what Dev BootCamp will be like once we finally make it onsite. I know that I will be constantly challenged and very far from my comfort zone.
I think that enthusiasm is mandatory in order to complete Dev BootCamp. This program is incredibly challenging and time consuming and if I didn't have any enthusiasm, I wouldn't have even made it past Phase 0. I would spend hours sometimes on these challenges and if I got stuck, I would go to bed thinking that Dev BootCamp made a mistake in accepting me into their program. Sheer Enthusiasm got me through those tough days and will hopefully get me through those days at DBC where I feel like slamming my head on my desk.
I love music and I'm almost always listening to music while I code. Sometimes, I feel like music has had a huge affect on maintaining my concentration. I love going to concerts as well and have easily been to two or three hundred concerts. It's the best way to experience music and you get to see how it affects people as well. I was watching an interview with Bjarne Stroustrup and he said that he constantly listens to music when he codes. He says that it's important to not make music overpower one's thinking capabilities.


Perform recommendation using Alternating Least Squares (ALS) matrix factorization.
ml_als( x, formula = NULL, rating_col = "rating", user_col = "user", item_col = "item", rank = 10, reg_param = 0.1, implicit_prefs = FALSE, alpha = 1, nonnegative = FALSE, max_iter = 10, num_user_blocks = 10, num_item_blocks = 10, checkpoint_interval = 10, cold_start_strategy = "nan", intermediate_storage_level = "MEMORY_AND_DISK", final_storage_level = "MEMORY_AND_DISK", uid = random_string("als_"), ... ) ml_recommend(model, type = c("items", "users"), n = 1)
| x | A |
|---|---|
| formula | Used when |
| rating_col | Column name for ratings. Default: "rating" |
| user_col | Column name for user ids. Ids must be integers. Other numeric types are supported for this column, but will be cast to integers as long as they fall within the integer value range. Default: "user" |
| item_col | Column name for item ids. Ids must be integers. Other numeric types are supported for this column, but will be cast to integers as long as they fall within the integer value range. Default: "item" |
| rank | Rank of the matrix factorization (positive). Default: 10 |
| reg_param | Regularization parameter. |
| implicit_prefs | Whether to use implicit preference. Default: FALSE. |
| alpha | Alpha parameter in the implicit preference formulation (nonnegative). |
| nonnegative | Whether to apply nonnegativity constraints. Default: FALSE. |
| max_iter | Maximum number of iterations. |
| num_user_blocks | Number of user blocks (positive). Default: 10 |
| num_item_blocks | Number of item blocks (positive). Default: 10 |
| checkpoint_interval | Set checkpoint interval (>= 1) or disable checkpoint (-1). E.g. 10 means that the cache will get checkpointed every 10 iterations, defaults to 10. |
| cold_start_strategy | (Spark 2.2.0+) Strategy for dealing with unknown or new users/items at prediction time. This may be useful in cross-validation or production scenarios, for handling user/item ids the model has not seen in the training data. Supported values: - "nan": predicted value for unknown ids will be NaN. - "drop": rows in the input DataFrame containing unknown ids will be dropped from the output DataFrame containing predictions. Default: "nan". |
| intermediate_storage_level | (Spark 2.0.0+) StorageLevel for intermediate datasets. Pass in a string representation of |
| final_storage_level | (Spark 2.0.0+) StorageLevel for ALS model factors. Pass in a string representation of |
| uid | A character string used to uniquely identify the ML estimator. |
| ... | Optional arguments; currently unused. |
| model | An ALS model object |
| type | What to recommend, one of |
| n | Maximum number of recommendations to return |
ALS attempts to estimate the ratings matrix R as the product of two lower-rank matrices, X and Y, i.e. X * Yt = R. Typically these approximations are called 'factor' matrices. The general approach is iterative. During each iteration, one of the factor matrices is held constant, while the other is solved for using least squares. The newly-solved factor matrix is then held constant while solving for the other factor matrix.
This is a blocked implementation of the ALS factorization algorithm that groups the two sets of factors (referred to as "users" and "products") into blocks and reduces communication by only sending one copy of each user vector to each product block on each iteration, and only for the product blocks that need that user's feature vector. This is achieved by pre-computing some information about the ratings matrix to determine the "out-links" of each user (which blocks of products it will contribute to) and "in-link" information for each product (which of the feature vectors it receives from each user block it will depend on). This allows us to send only an array of feature vectors between each user block and product block, and have the product block find the users' ratings and update the products based on these messages.
For implicit preference data, the algorithm used is based on "Collaborative Filtering for Implicit Feedback Datasets", available at doi: 10.1109/ICDM.2008.22 , adapted for the blocked approach used here.
Essentially instead of finding the low-rank approximations to the rating matrix R, this finds the approximations for a preference matrix P where the elements of P are 1 if r is greater than 0 and 0 if r is less than or equal to 0. The ratings then act as 'confidence' values related to strength of indicated user preferences rather than explicit ratings given to items.
The object returned depends on the class of x
.
spark_connection
: When x
is a spark_connection
, the function returns an instance of a ml_als
recommender object, which is an Estimator.
ml_pipeline
: When x
is a ml_pipeline
, the function returns a ml_pipeline
with
the recommender appended to the pipeline.
tbl_spark
: When x
is a tbl_spark
, a recommender
estimator is constructed then immediately fit with the input
tbl_spark
, returning a recommendation model, i.e. ml_als_model
.
ml_recommend()
returns the top n
users/items recommended for each item/user, for all items/users. The output has been transformed (exploded and separated) from the default Spark outputs to be more user friendly.
if (FALSE) { library(sparklyr) sc <- spark_connect(master = "local") movies <- data.frame( user = c(1, 2, 0, 1, 2, 0), item = c(1, 1, 1, 2, 2, 0), rating = c(3, 1, 2, 4, 5, 4) ) movies_tbl <- sdf_copy_to(sc, movies) model <- ml_als(movies_tbl, rating ~ user + item) ml_predict(model, movies_tbl) ml_recommend(model, type = "item", 1) }