You can use what-if parameters to run scenarios and scenario-type analysis on your data. What-if parameters are powerful additions to your Power BI data models and reports because they enable you to look at historical data to analyze potential outcomes if a different scenario had occurred. Additionally, what-if parameters can help you look forward, to predict or forecast what could happen in the future.
You can use what-if parameters in multiple situations, such as to determine the effect of increased sales to deeper discounts, or to let sales consultants see their compensation if they meet certain sales goals or percentages.
In the following example, you want to enable the Sales team to find out how much growth (percentage), from a sales perspective, that they need to make to earn USD 2 million gross sales each month.
To create a what-if parameter, follow these steps:
Go to the Modeling tab and select New Parameter.
On the What-if parameter window, configure the new parameter.
For this example, change the parameter name to Sales Forecast Percentage.
Select Fixed decimal number as the Data type list because you are using currency in your forecast.
Set the Minimum value to 1, the Maximum value to 1.50, and the Increment value to 0.05, which is how much the parameter will adjust when it is interacted with in a report.
Set the Default value to 1.00.
Leave the Add slicer to this page check box selected so that Power BI will automatically add a slicer with your what-if parameter onto the current report page.
Select OK.
Note
For decimal numbers, make sure that you precede the value with a zero (as in 0.50 versus .50). Otherwise, the number won't validate and the OK button won't be selectable.
The new slicer visual will appear on the current report page. You can move the slider to see the numbers increase according to the settings that you applied. You should also see a new field for the Sales Forecast Percentage table in the Fields pane, and when you expand that field, the what-if parameter should be selected.
Similarly, you should see that a measure was also created. You can use this measure to visualize the current value of the what-if parameter.
After you have created a what-if parameter, the parameter and the measure will become part of your model; therefore, they will be available throughout the report and can be used on other report pages. Additionally, because the parameter and measure are part of the model, you can delete the slicer from the report page. If you want it back, you can drag the what-if parameter from the Fields list onto the canvas and then change the visual type to a slicer.
If you want to use the what-if parameter after you've created it, you will need to create a new measure whose value adjusts with the slider. You can create complex and unique measures that let your report users visualize the variable of your what-if parameter. However, to keep this example simple, the new measure is the total sales amount, with the forecast percentage applied, as illustrated in the following image.
Next, you will create a clustered column chart with the MonthName field on the axis and the GrossSales and Gross Sales Forecast measures as the values.
Initially, the bars are similar; however, as you move the slider, notice that the Gross Sales Forecast column reflects the sales forecast percentage amount.
To enhance the visual, you can add a constant line so that you can clearly see how the organization is performing against a particular threshold or target. In this example, you will add a constant line with USD 2 million as the threshold value. Then, you will use the slider to find out what percentage of gross sales needs to increase by, each month, to reach that threshold. In the following image, the gross sales need to increase by 1.40 percent to reach the USD 2 million threshold.


This example covers image prviews with different preview sizes, Also shows X & Y co-ordinates and width - height of the cropper. With Rotate buttons you can rotate the image clockwise and anti-clockwise. You can also scale the image with horizontal flip and vertical flip buttons. You can get all data, image data, container data, canvas data and cropbox data clicking on respective buttons.
This is the most basic example with cropper shown with overlay on the image.
This is the most basic example with cropper shown on the image but without overlay.
This example demonstrate the cropper ratio fixed to 16:9
. This must be set using the aspectRatio
option.
This example demonstrate the cropper ratio fixed to 4:3
. This must be set using the aspectRatio
option.
This example demonstrate the fixed cropper that you can not move but you can increase - decrease the size of the cropper by dragging.
This example demonstrate the fixed size of the cropper. You can move the crop box but can not increase or decrease the size of the cropper.
This example demonstrate the guides being turned off.
This example demonstrate how to disable the center indicator while still showing the guides.
This example demonstrate how to disable the autocrop feature. You need to set autoCrop
option to false
in order to disable.
This example demonstrate how to restrict a user from creating a new cropbox and just allowing to work with pre-defined cropbox.
This example demonstrate how to enable the image movement while keeping the cropbox fixed.
This example demonstrate how to enable zoom functionality on mousewheel scroll.
In this example we have set minimum crop area size to 100 X 100
. User can not make smaller cropbox than limit applied.
This example demonstrate how to disable the default background. Set background
option to false
in order to disable default background.
This example demonstrate how to rotate the default image. Required to use built
function to rotate image after setting all the options.
This example demonstrate how to scale the default image. Required to use built
function to scale image after setting all the options.


Leadership
In the sports realm I have had a few. Coaches who really want to see you succeed, for you, rather than themselves. It is definitely motivating to have someone who understands were you are and what you are going though to then point you in the right direction. It gives you confidence that there is someone there with you along the journey, whatever it might be.
This is another good meditating exercise. Thinking positively like this gives me good feels. Whenever I'm feeling stressed or worried I'll come to this and use it. I'm really enjoying these meditation techniques, it's something I have never done before!
This one was a bit harder and didn't have as nicer feelings during it but after it was better. Kind of like doing exercise. It's hard during it but after you don't regret it!
I think it applies pretty well, I'll go through each and try to relate them to Phase 0 and how I'll apply them in bootcamp!
Status: This is really important to me. I'm not fussed in the aspect of how I'm perceived by others, but I am very tough on myself. If I'm not improving at something in life I do not feel satisfied at all, or happy. Sometimes I just wish I could be happy with where I am as it sometimes feels like chasing the pot of gold at the end of the rainbow but it's also good in the fact that I'm always improving (well, trying). In Phase 0 it's been good in the fact that I'm always trying to better my work from last week, or yesterday. I will carry this on into bootcamp.
Certainty: I'm bad with this! I always worry about if doing things will result in something bad happening. Uncertainty on whether code is for me, quitting my job was worth it. I'm going to try my best not to carry this in to bootcamp! Mindfullness will help.
Autonomy: I feel over Phase 0 my autonomy has been OK. I need to get in control of my environment better and not give energy to stress. Going into bootcamp I'm not sure how it will go as I'm not sure what to expect or what the levels of stress will be. But I'll soon find out!
Relatedness: I've gone into Phase 0 and will go into bootcamp with the same mindset that I want to get to know everyone. I'll be open and try to relate with all from the start.
Fairness: Haha the example in the book for this was pretty funny. But accepting everything that is presented to you is obviously the selfless thing to do. I think I have been pretty good at this in Phase 0. In terms of being happy with the help I have been given, and will look to do the same in bootcamp.


refactoring the dinosaur
- @noopkat -
suz hinton
@noopkat
NYC
front-end dev @ kickstarter
Problems
Accessibility
Ugly
Error management
I am a modern lady
with modern taste in software
we can do better for hardware apps
for both end users, and developers
Atmel® ATtiny45
4KB program memory
256B EEPROM
€1
AVRDUDE
AVR Downloader/UploaDEr
written in C
open source
avrdude strengths
it works really well
been around a long time
traction++
avrdude limitations
command line only
no tests
fragmented community
creating a NodeJS alternative
NodeJS advantages
small family of packages
easier to test
better flexibility for use
more accessible*
publish it for others!
avrgirl
AVR General Isp pRogramming tooL
this posed a challenge or two
challenge #1
support USB programmers
Protocols
STK500v1
STK500v2
AVR109
USBtinyISP
challenge #2
support all the Atmel® chips!
> 400
400
135
200MB of XML
npm install xml2js
why
better developer experience
♥
beautiful docs
ease of use
modern
better user experience
♥
improved a11y
ease of use
non scary
github.com
/noopkat/avrgirl
meow.noopkat.com
lessons
love
loneliness
> console.log('thank you');
> github.com/noopkat/avrgirl
> meow.noopkat.com
←
→
Go to slide:


linsert - Insert elements into a list
linsert list index element ?element element ...?
This command produces a new list from list by inserting all of the
element arguments just before the index'th element of
list. Each element argument will become a separate element of
the new list. If index is less than or equal to zero, then the new
elements are inserted at the beginning of the list. If index has the
value end, or if it is greater than or equal to the number of
elements in the list, then the new elements are appended to the list.
end-integer refers to the last element in the list minus the
specified integer offset.
Putting some values into a list, first indexing from the start and
then indexing from the end, and then chaining them together:
set oldList {the fox jumps over the dog}
set midList [linsert $oldList 1 quick]
set newList [linsert $midList end-1 lazy]
# The old lists still exist though...
set newerList [linsert [linsert $oldList end-1 quick] 1 lazy]
list, lappend, lindex, llength, lsearch, lset, lsort, lrange, lreplace
element, insert, list
Copyright © 1993 The Regents of the University of California.
Copyright © 1994-1996 Sun Microsystems, Inc.
Copyright © 2001 Kevin B. Kenny. All rights reserved.
Copyright © 1995-1997 Roger E. Critchlow Jr.


Ways to get involved...
Become a GleanerThe easiest way to get involved! Register as a volunteer and then sign up for an event on our Harvests page. Gleans are seasonal, available all over SLO county, and last about 2 hours. Gleaners are the hands and heart of our efforts to rescue nature’s bounty for the benefit of our community!
Harvest Leader
As a Harvest Leader, you will be trained and equipped to lead small groups of volunteers to harvest excess produce from homes in your area. Harvest Leaders drop off produce to a nearby food pantry, keeping the fruit as local as possible. Harvest Leaders may also co-lead farm gleans. It's up to each Harvest Leader to determine how frequently you would like to lead gleans. Harvest Leader Training occurs quarterly. GleanSLO T-shirt, equipment, harvest manual and additional supplies will be provided for each Harvest Leader. To learn more, contact Volunteer Coordinator, Emily at<EMAIL_ADDRESS>Farmers’ Market Collection Leader
Want to get to know your local farmers AND help feed the hungry? Every week GleanSLO collects leftover produce from the SLO Thursday Night and the Templeton Saturday Farmers’ Markets. Our Collection Leaders engage with farmers, orchestrate volunteers and keep track of poundage and donation receipts. To learn more, contact Volunteer Coordinator, Emily at<EMAIL_ADDRESS>Host a Fruit Drive
Host a Fruit Drive at your school, business or neighborhood! The Fruit Drive model is similar to a typical food drive, but the fruit being collected is gathered from trees, rather than purchased. GleanSLO provides you with a Fruit Drive Kit that includes the resources you’ll need to successfully publicize and collect hundreds of pounds of produce within yourS community. Contact Program Manager, Roxanne Sanders at<EMAIL_ADDRESS>to learn more!
Group Volunteering
Does your community group or volunteer organization want to participate in something with an impact? Gleaning options that can accommodate large groups are limited, seasonal and not guaranteed. Email Volunteer Coordinator, Emily at<EMAIL_ADDRESS>and include the size of your group, potential dates and times you are available, and any other considerations.
| Information | Show the information for volunteers about how to participate. |
| My Page | Go to the My GleanSLO page. (You must first have given yourself a password using the Update button just below.) |
| Update | Update my contact information or renew my registration. |
| Signups | Resend the reminder email for harvests I am currently signed up for. |
| Attendance | Send my harvest attendance history by email. |
| Terms | Show me the Terms of Participation as a GleanSLO volunteer. |


Bridget Christie (born 1971[ref]) has appeared in 21 episodes between 2010-2018. Bridget Christie on IMDB. Bridget Christie on Wikipedia. Bridget Christie on Chortle.


|
Test Case
|
CONTROLS-0010 |
|
Title
|
Pressing Pause, pauses audio |
|
Objective
|
This test case is intended to verify the following implied or specified requirements:
- When the user presses the pause button, the audio shall be paused and the button label shall be modified to resume.
During this test case, the pause button will be pressed to confirm that the app will pause audio that is playing. |
|
Setup
|
- Install the app on an Android phone
- Load podcasts onto the Android phone that has the app installed
- Start the app from the main Android display
|
|
Actions
|
- From the main menu, select a podcast.
- Confirm a new display appears with a progress bar and a pause button.
- Confirm the audio is playing.
- Press the pause button.
- Verify the audio stops and the progress bar pauses.
- Verify that the button label changes to resume.
- Press the resume button.
- Verify that the audio resumes and the progress bar shows audio progress.
|
|
Expected
|
Pressing the pause button will pause audio and pressing it again will resume audio. |
|
Results
|
PASSED |
|
Cleanup
|
|
|
Requirements
|
SFWIAUDIO-PR-PAUSE-010 |


Changed the email confirmation address to<EMAIL_ADDRESS>(English & Welsh)
Added text to the health interruption pages (English & Welsh)
Add Black British as an option to the secondary ethnicity page and surface the value on the check answers page.
Note that the 'Change' link for the ethnic background answer goes to the ethnic group page rather than the correct ethnic background page.
This may be fixed at a later date.
Version 6Changes following stakeholder feedback, add social media sharing feature in english.
Version 5Add phone number question, split NHS Digital permission question, adjust health question content, add Welsh language version of the service, new landing page content, FAQ content changes.
Version 4Changes following stakeholder feedback, design crit and user research findings
Version 3Changes following the content crit and adjusted NIHR data requirements
Version 2Single journey for all countries with additional dataset requirements


Reasoning on the Fibonacci sequence
The theorem nat_ind is not very useful for reasoning on the
fibonacci function .
Try for example to prove the following equality !
un+p+2=un+1up+1+unup
In order to prove some properties like above, it is useful to prove
an ad-hoc induction principle.
Design this induction principle, prove it, and use it to prove
the equality above.
Solution
Look at This file


Class BPlayer
- java.lang.Object
-
- BL.BPlayer
-
- All Implemented Interfaces:
BPlayerObserver
public class BPlayer extends java.lang.Object implements BPlayerObserver
BPlayer is player class in Business Layer. All methods of players implemented here.- Since:
- 11.
- Version:
- 1.0
- Author:
- MÃ¼cahit TanacÄ±oÄŸlu
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
buy(BPropertySquare currentSquare)
void
checkAndUpdatePlayer(int currentDiceValue, BSquare currentSquare)
This method get calls after each player roll dice, it takes current dice value of player and the square player going to move.DPlayer
getDPlayer()
boolean
isAbleToBuilt(BPropertySquare currentSquare)
boolean
isAbleToBuy(BPropertySquare currentSquare)
Checks whether player can satisfy squares price.private boolean
isPlayerBankrupted()
Checks whether player bankrupted or not.private boolean
isPlayerCrossTheGoSquare()
Checks whether player pass the start square.int
rollDice()
Rolls a dice.private void
sellSquare(BSquare square)
This method get calls after player has to sell its properties.void
sortSquares()
Sorts players properties by their price.(package private) boolean
tryToSellProperty(BSquare currentSquare)
This method get calls after player has to pay something but does not have enough money to progress.void
updateDataset(int turn, int money)
This method get calls after player makes move It hold players money for each turn to draw its money progress in time.
-
-
-
Constructor Detail
-
BPlayer
public BPlayer(DPlayer dPlayer)
-
-
Method Detail
-
checkAndUpdatePlayer
public void checkAndUpdatePlayer(int currentDiceValue, BSquare currentSquare)
This method get calls after each player roll dice, it takes current dice value of player and the square player going to move.
Checks player whether bankrupted or not and calls corresponding performOnLand method for currentSquare.
- Specified by:
checkAndUpdatePlayer
in interfaceBPlayerObserver
- Parameters:
currentDiceValue
- The total dice value after player roll dice.currentSquare
- A BSquare object which is player going to move.
-
updateDataset
public void updateDataset(int turn, int money)
This method get calls after player makes move It hold players money for each turn to draw its money progress in time.
- Parameters:
turn
- An int value hold players turn.money
- An int value holds players current money.
-
tryToSellProperty
boolean tryToSellProperty(BSquare currentSquare)
This method get calls after player has to pay something but does not have enough money to progress.
Checks player has properties to sell if does then sells them till it has enough money to progress, if not player get bankrupt.
- Parameters:
currentSquare
- A BSquare object which is player going to move.- Returns:
- boolean A boolean value indicates player bankrupted or not.
-
sellSquare
private void sellSquare(BSquare square)
This method get calls after player has to sell its properties.
Checks squares price and add it to player balance and sets owner of square null.
- Parameters:
square
- A BSquare object which player bought before.
-
rollDice
public int rollDice()
Rolls a dice. Faces cannot be the same.- Returns:
- int
-
isPlayerCrossTheGoSquare
private boolean isPlayerCrossTheGoSquare()
Checks whether player pass the start square.
- Returns:
- boolean
-
isPlayerBankrupted
private boolean isPlayerBankrupted()
Checks whether player bankrupted or not.
- Returns:
- boolean
-
buy
public boolean buy(BPropertySquare currentSquare)
-
isAbleToBuy
public boolean isAbleToBuy(BPropertySquare currentSquare)
Checks whether player can satisfy squares price.
- Returns:
- boolean
-
sortSquares
public void sortSquares()
Sorts players properties by their price.
-
getDPlayer
public DPlayer getDPlayer()
-
isAbleToBuilt
public boolean isAbleToBuilt(BPropertySquare currentSquare)
-
-


Eventing
At the end of this chapter you will know and understand:
-
What is an event source ?
-
What is a channel ?
-
What is a subscriber ?
-
How to make a service a subscriber of an event ?
Prerequisite
The following checks ensures that each chapter exercises are done with right environment settings.
-
Make sure to be connected to minishift docker daemon and using right openshift client.
eval $(minishift docker-env) && eval $(minishift oc-env)
-
Make sure right OpenShift and kubernetes client are used.
# oc v3.11.0+0cbc58b kubernetes v1.11.0+d4cacc0
oc version
(OR)
# kubernetes v1.11+
kubectl version
-
Make sure right maven version is used (only for Java exercises)
# right maven version Apache Maven 3.5.x or above
./mvnw --version
-
Make sure to be on
knativetutorial
OpenShift project/kubernetes namespace
# verify to return knativetutorial
oc project -q
If you are not on knativetutorial
project, use the command oc project knativetutorial
to change to knativetutorial
project
Assumption
You have completed the Build or Build Templates, as you will be using the container image event-greeter:0.0.1
or event-greeter:0.0.2
in this chapter.
Channel(Sink)
The channel or sink is an interface between the event source and the subscriber.The channels are built in to store the incoming events and distribute the event data to the subscribers. When forwarding event to subscribers the channel transforms the event data as per CloudEvent specification.
Create Event Channel
apiVersion: eventing.knative.dev/v1alpha1
kind: Channel
metadata:
name: ch-event-greeter (1)
spec:
provisioner: (2)
apiVersion: eventing.knative.dev/v1alpha1
kind: ClusterChannelProvisioner
name: in-memory-channel
| 1 | The name of the channel, knative make it addressable i.e. resolveable to a target (a consumer service) |
| 2 | The channel provisioner which is responsible to provision this channel.Various messaging implementations provide their own channel(s) via ClusterChannelProvisioner. |
Navigate to tutorial chapter’s knative
folder:
cd $TUTORIAL_HOME/05-eventing/knative
Run the following commands to create the channel:
oc apply -n knativetutorial -f channel.yaml
(OR)
kubectl apply -n knativetutorial -f channel.yaml
Event Source
The event source listens to external events e.g. a kafka topic or for a file on a FTP server. It is responsible to drain the received event(s) along with its data to a configured sink.
Create Event Source
apiVersion: sources.eventing.knative.dev/v1alpha1
kind: CronJobSource (1)
metadata:
name: test-cronjob-source
spec:
schedule: "* * * * *"
data: '{"message": "Thanks for doing the Knative Tutorial"}'
sink:
apiVersion: eventing.knative.dev/v1alpha1
kind: Channel
name: ch-event-greeter (2)
| 1 | The type of event source, the eventing system deploys a bunch of sources out of the box and it also provides way to deploy custom resources |
| 2 | The channel(sink) where the event data will be drained |
|
Event Source can define the attributes that it wishes to receive via the spec. In the above example it defines schedule(the the cron expression) and data that will be sent as part of the event. When you watch the logs, you will notice this data being delivered to the service. |
Run the following commands to create the event source resources:
oc apply -n knativetutorial -f event-source.yaml
(OR)
kubectl apply -n knativetutorial -f event-source.yaml
Verification
oc -n knativetutorial get cronjobsources.sources.eventing.knative.dev
(OR)
kubectl -n knativetutorial get cronjobsources.sources.eventing.knative.dev
Running the above command should return the following result:
NAME AGE
event-greeter-cronjob-source 39s
The conronjobsource also creates a service pod,
oc -n knativetutorial get pods
(OR)
kubectl -n knativetutorial get pods
The above command will return an output like,
NAME READY STATUS RESTARTS AGE
cronjob-event-greeter-cronjob-source-4v9vq-6bff96b58f-tgrhj 2/2 Running 0 6m
Event Subscriber
The event subscription is responsible of connecting the channel(sink) with the service. Once a service connected to a channel it starts receiving the events (cloud events).
Create Channel Subscriber
apiVersion: eventing.knative.dev/v1alpha1
kind: Subscription
metadata:
name: event-greeter-subscriber (1)
namespace: default
spec:
channel:
apiVersion: eventing.knative.dev/v1alpha1
kind: Channel
name: ch-event-greeter (2)
subscriber:
ref:
apiVersion: serving.knative.dev/v1alpha1
kind: Service
name: event-greeter (3)
| 1 | The subscription name |
| 2 | The name of the channel to which the subscription will be connected to |
| 3 | The service reference to which the channel will forward the events |
Run the following commands to create the channel subscriber:
oc apply -n knativetutorial -f channel-subscriber.yaml
(OR)
kubectl apply -n knativetutorial -f channel-subscriber.yaml
See what you have deployed
channel
oc -n knativetutorial get channels.eventing.knative.dev ch-event-greeter
(OR)
kubectl -n knativetutorial get channels.eventing.knative.dev ch-event-greeter
Create subscriber Service
Generate Subscriber Service
Navigate to tutorial chapter’s templates
folder:
cd $TUTORIAL_HOME/05-eventing/knative/templates
Run the following command to create the knative service that will be used as the subscriber for the cron events:
jsonnet --ext-str image='<your-docker-image-name>' \
service.jsonnet\
| yq r - | tee ../service.yaml
(e.g)
jsonnet --ext-str image='docker.io/demo/event-greeter:0.0.1' \
service.jsonnet \
| yq r - | tee ../service.yaml
apiVersion: serving.knative.dev/v1alpha1
kind: Service
metadata:
name: event-greeter
spec:
runLatest:
configuration:
revisionTemplate:
metadata:
labels:
app: event-greeter
spec:
container:
image: docker.io/demo/event-greeter:0.0.1 (1)
| 1 | Set from image parameter — the fully qualified container image that will be pushed to the registry as part of the build — |
Watching Logs
Since it is a Cron job source, it would have started to emit events every minute. We can watch the logs of the service to see the messages delivered.
The logs could be watched using the command:
oc logs -n knativetutorial -f <pod-name> -c user-container
(OR)
kubectl logs -n knativetutorial -f <pod-name> -c user-container
|
The logs will have the output like below printing every minute.
2019-02-07 14:07:00.011 INFO 1 --- [-server-epoll-6] com.example.demo.EventGreeterController : Event Message Received {
"ID" : "1549548420001445196-715",
"EventTime" : "2019-02-07T14:07:00.001470981Z",
"Body" : "{\"message\": \"Thanks for doing Knative Tutorial\"}",
"host" : "Event greeter => 'event-greeter-00001-deployment-84f879ff6d-88rxb' : 3 ",
"time" : "14:07:00"
}
(OR)
2019-02-07 14:07:00.011 INFO 1 --- [-server-epoll-6] com.example.demo.EventGreeterController : Event Message Received {
"ID" : "1549548420001445196-715",
"EventTime" : "2019-02-07T14:07:00.001470981Z",
"Body" : "{\"message\": \"Thanks for doing Knative Tutorial\"}",
"host" : "Event greeter v0.0.2 => 'event-greeter-00001-deployment-84f879ff6d-88rxb' : 3 ",
"time" : "14:07:00"
}
Cleanup
oc -n knativetutorial delete services.serving.knative.dev event-greeter
oc -n knativetutorial delete \
cronjobsources.sources.eventing.knative.dev event-greeter-cronjob-source
oc -n knativetutorial delete channels.eventing.knative.dev ch-event-greeter
oc -n knativetutorial delete subscriptions.eventing.knative.dev event-greeter-subscriber
(OR)
kubectl -n knativetutorial delete services.serving.knative.dev event-greeter
kubectl -n knativetutorial delete \
cronjobsources.sources.eventing.knative.dev event-greeter-cronjob-source
kubectl -n knativetutorial delete channels.eventing.knative.dev ch-event-greeter
kubectl -n knativetutorial delete subscriptions.eventing.knative.dev event-greeter-subscriber
| You can also delete pre-req resources that were created if you dont need them any more. |


Sport climbing takes the challenge of scaling steep ascents to a whole new level. Using a range of hand and foot holds of different shapes and sizes, climbers put their skills and strength into practice on a vertical wall. The wall may feature varying angles of either positive (known in climbing as a slab) or negative (steep, overhanging) sections.
Two climbers secure safety ropes to themselves and attempt to scale a 15m-high wall, set at an angle of 95 degrees, faster than their opponent on identical routes. Winning times for men's events tend to be around the five to six-second mark, while women's events are usually won in around seven or eight seconds. A false start results in instant disqualification.


- Timestamp:
- 09/18/12 14:07:03 (4 years ago)
- File:
-
- 1 edited
-
branches/UQ/math/legacy/plot_data.py (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/UQ/math/legacy/plot_data.py
r546 r562 3 3 4 4 #### building the cone primitive #### 5 def cone_builder(slope, lb, ub):5 def cone_builder(slope, bounds): 6 6 """ factory to create a cone primitive 7 7 8 8 slope -- slope multiplier for cone on the X,Y,Z axes (for mesh construction) 9 lb -- tuple of lower bounds for the plot view 10 ub -- tuple of upper bounds for the plot view 9 bounds -- list of tuples of bounds for the plot; (lower,upper) for each axis 11 10 """ 12 11 from mystic.math import almostEqual … … 35 34 return X,Z,Y 36 35 36 lb,ub = zip(*bounds) 37 # if False, the cone surface may violate bounds 38 strict = True # always respect the bounds 39 37 40 def cone(position, top=True): 38 41 """ construct a cone primitive, with vertex at given position … … 45 48 d_hi = ub - position 46 49 d_lo = lb - position 47 # check if out of bounds 48 if any(d_hi < 0): return None #FIXME: poor design 49 if any(d_lo > 0): return None #FIXME: poor design 50 if strict and (any(d_hi < 0) or any(d_lo > 0)): 51 return None # don't plot cone if vertex is out of bounds 50 52 51 53 if top: # distance of vertex from upper edge … … 65 67 66 68 #### plotting the cones #### 67 def plot_cones(ax, data, slope, lb, ub):69 def plot_cones(ax, data, slope, bounds): 68 70 """plot double cones for a given dataset 69 71 … … 71 73 data -- list of datapoints, where datapoints are 3-tuples (i.e. x,y,z) 72 74 slope -- slope multiplier for cone on the X,Y,Z axes (for mesh construction) 73 lb -- tuple of lower bounds for the plot view 74 ub -- tuple of upper bounds for the plot view 75 bounds -- list of tuples of bounds for the plot; (lower,upper) for each axis 75 76 """ 76 cone = cone_builder(slope, lb, ub)77 cone = cone_builder(slope, bounds) 77 78 # plot the upper and lower cone 78 79 for datapt in data: … … 87 88 return ax 88 89 89 def plot_data(ax, data ):90 def plot_data(ax, data, bounds): 90 91 """plot datapoints for a given dataset 91 92 92 93 ax -- matplotlib 'Axes3D' plot object 93 94 data -- list of datapoints, where datapoints are 3-tuples (i.e. x,y,z) 95 bounds -- list of tuples of bounds for the plot; (lower,upper) for each axis 94 96 """ 97 strict = True # always respect the bounds 98 lb,ub = zip(*bounds) 95 99 # plot the datapoints themselves 100 from numpy import asarray 96 101 for datapt in data: 97 ax.plot([datapt[0]], [datapt[2]], [datapt[1]], \ 98 color='r', marker='o', markersize=10) 102 position = asarray(datapt) 103 d_hi = ub - position 104 d_lo = lb - position 105 if strict and (any(d_hi < 0) or any(d_lo > 0)): 106 pass # don't plot if datapt is out of bounds 107 else: 108 ax.plot([datapt[0]], [datapt[2]], [datapt[1]], \ 109 color='r', marker='o', markersize=10) 99 110 return ax 100 111 101 def clip_axes(ax, lb, ub):112 def clip_axes(ax, bounds): 102 113 """ clip plots to be within given lower and upper bounds 103 114 104 115 ax -- matplotlib 'Axes3D' plot object 105 lb -- tuple of lower bounds for the plot view 106 ub -- tuple of upper bounds for the plot view 116 bounds -- list of tuples of bounds for the plot; (lower,upper) for each axis 107 117 """ 118 lb,ub = zip(*bounds) 108 119 # plot only within [lb,ub] 109 120 ax.set_xlim3d(lb[0], ub[0]) … … 112 123 return ax 113 124 114 def reduce_dimension(axis, coords, values, slope, lb, ub):125 def reduce_dimension(axis, coords, values, slope, bounds): 115 126 """ replace one coordiate axis in a 3-D data set with 'data values' 116 127 (i.e. replace an 'x' axis with the 'y' values of the data) … … 120 131 values -- list of datapoint values, where values are floats 121 132 slope -- slope multiplier for cone on the X,Y,Z axes 122 lb -- tuple of lower bounds for the plot view 123 ub -- tuple of upper bounds for the plot view 133 bounds -- list of tuples of bounds for the plot; (lower,upper) for each axis 124 134 125 135 NOTE: for the axis indicated by 'axis', replace … … 128 138 - selected slope with 1.0 129 139 """ 140 if axis not in range(len(bounds[:-1])): # don't replace an axis 141 return coords, slope[:-1], bounds[:-1] 130 142 xs = axis 131 lb = lb[:xs] + lb[xs+1:] 132 ub = ub[:xs] + ub[xs+1:] 143 bounds = bounds[:xs] + bounds[xs+1:] 133 144 slope = slope[:xs] + slope[xs+1:] 134 145 coords = [coords[i][:xs] + coords[i][xs+1:] + [values[i]] \ 135 146 for i in range(len(coords))] 136 return coords, slope, lb, ub147 return coords, slope, bounds 137 148 138 149 … … 149 160 h_lower = [0.062]; a_lower = [0.0]; v_lower = [2300.0] 150 161 h_upper = [0.125]; a_upper = [30.0]; v_upper = [3200.0] 151 axis_to_replace = xs = 0 #XXX: select axis NOT to plot here162 axis_to_replace = xs = 0 #XXX: select axis NOT to plot here 152 163 164 # temporarily 'inflate' bounds and slopes to include values 153 165 lb = h_lower + a_lower + v_lower + Y_lower 154 166 ub = h_upper + a_upper + v_upper + Y_upper 155 167 bounds = zip(lb,ub) 156 168 slope = data.lipschitz + [1.0] 157 169 coords = data.coords 158 170 values = data.values 171 # replace selected coords axis; 'reduce' the size of bounds and slopes 172 coords, slope, bounds = reduce_dimension(xs, coords, values, slope, bounds) 159 173 160 coords, slope, lb, ub = reduce_dimension(xs, coords, values, slope, lb, ub) 161 162 print "lower: %s" % lb 163 print "upper: %s" % ub 174 print "bounds: %s" % bounds 164 175 print "slope: %s" % slope 165 176 #print "coords: %s" % coords … … 170 181 fig = plt.figure() 171 182 ax = Axes3D(fig)#,aspect='equal') 172 plot_cones(ax, coords, slope, lb, ub) 173 plot_data(ax, coords) 174 #clip_axes(ax, lb, ub) 183 if xs in range(len(bounds)): # we are replacing an axis 184 plot_cones(ax, coords, slope, bounds) 185 plot_data(ax, coords, bounds) 186 clip_axes(ax, bounds) 175 187 plt.show() 176 188
Note: See TracChangeset
for help on using the changeset viewer.


CARRY ON DOCTOR
A film review by Graeme Huggan
Copyright 1996 Graeme Huggan The second of four Carry on films set in a hospital is considered one of the most memorable of the Carry on genre, as it establishes the on/off relationship between the characters of Kenneth Williams and Hattie Jacques and it surpasses it's highly successful predecessor (Carry on Nurse) with funnier sub-plots and jokes. The main story is about Dr.Kilmore (Jim Dale) who thinks that Sandra May (Barbara Windsor) is going to commit suicide on the roof as her amorous advances towards Dr.Tinkle (Kenneth Williams) have gone unwanted, but really she is just having a quick sunbathe! When Kilmore goes to investigate, he is accused of peering at her. The formidable Matron helps Dr.Tinkle to sack Kilmore, although Tinkle needs to persuade her not to mention the night when she and Kilmore found May in his room with him.  Bernard Bresslaw plays a patient who is constantly trying to get into the women's ward to meet a girl (Dilys Laye) he likes. Hattie Jacques is great as Matron, Kenneth Williams plays Dr.Tinkle to perfection and there is a good comic performance by Frankie Howerd. Joan Sims has a small, 'out-of-character' and ineffective role as Bigger's bride-to-be, and Sid James is a patient in the hospital whose blood pressure increase may have something to do with him stirring the thermometer in his coffee. He is in bed for most of the film, as in real life, Sid had just recently suffered a heart attack. His role is therefore given less importance. Two actors who also appear in small parts are Barbara Windsor, who is effective but leaves the film with 25 minutes to go, and Charles Hawtrey, for although he does not appear in many scenes, is quite funny as someone who is suffering from a sympathetic pregnancy! The film is good overall, although at certain points it does seem to lull and some of the jokes don't quite reach the mark. However, due to the strong character performances and a sense of high spirits all the way through the film, I would recommend everyone to watch this film.
My Star Rating: 3 out of 5 stars.
By Graeme Huggan
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


The most effective way of route planning for your field force is here!
Why Kuiq Route?
Kuiq routes saves time by optimally planning out the travel path for your team and there by allowing them to meet more customers everyday.
Measure number of activities like tasks, meeting and check-ins per customer. This ensures no customer is left unattended for long.
Kuiq routes keeps your sales team on field organised and put in efforts at the places where it matters the most and in turn get more deals.
Get started with Kuiq Route today!
Sign-up for 7-day trial
(no credit card required)


Module: Sunspot::Rails::Searchable::ClassMethods
- Defined in:
- sunspot_rails/lib/sunspot/rails/searchable.rb
Class Method Summary (collapse)
-
+ (Object) extended(base)
:nodoc:.
Instance Method Summary (collapse)
-
- (Boolean) searchable?
Classes that have been defined as searchable return true for this method.
-
- (Object) solr_clean_index_orphans
Find IDs of records of this class that are indexed in Solr but do not exist in the database, and remove them from Solr.
- - (Object) solr_execute_search(options = {})
- - (Object) solr_execute_search_ids(options = {})
-
- (Object) solr_index(opts = {})
Add/update all existing records in the Solr index.
-
- (Object) solr_index_orphans
Return the IDs of records of this class that are indexed in Solr but do not exist in the database.
-
- (Object) solr_reindex(options = {})
Completely rebuild the index for this class.
-
- (Object) solr_remove_all_from_index
Remove instances of this class from the Solr index.
-
- (Object) solr_remove_all_from_index!
Remove all instances of this class from the Solr index and immediately commit.
-
- (Object) solr_search(options = {}, &block)
Search for instances of this class in Solr.
-
- (Object) solr_search_ids(&block)
Get IDs of matching results without loading the result objects from the database.
Class Method Details
+ (Object) extended(base)
:nodoc:
117 118 119 120 121 122 123 124 125 126 127 128 |
# File 'sunspot_rails/lib/sunspot/rails/searchable.rb', line 117 def self.extended(base) #:nodoc: class <<base alias_method :search, :solr_search unless method_defined? :search alias_method :search_ids, :solr_search_ids unless method_defined? :search_ids alias_method :remove_all_from_index, :solr_remove_all_from_index unless method_defined? :remove_all_from_index alias_method :remove_all_from_index!, :solr_remove_all_from_index! unless method_defined? :remove_all_from_index! alias_method :reindex, :solr_reindex unless method_defined? :reindex alias_method :index, :solr_index unless method_defined? :index alias_method :index_orphans, :solr_index_orphans unless method_defined? :index_orphans alias_method :clean_index_orphans, :solr_clean_index_orphans unless method_defined? :clean_index_orphans end end |
Instance Method Details
- (Boolean) searchable?
Classes that have been defined as searchable return true for this method.
Returns
true
312 313 314 |
# File 'sunspot_rails/lib/sunspot/rails/searchable.rb', line 312 def searchable? true end |
- (Object) solr_clean_index_orphans
Find IDs of records of this class that are indexed in Solr but do not exist in the database, and remove them from Solr. Under normal circumstances, this should not be necessary; this method is provided in case something goes wrong.
296 297 298 299 300 301 302 |
# File 'sunspot_rails/lib/sunspot/rails/searchable.rb', line 296 def solr_clean_index_orphans solr_index_orphans.each do |id| new do |fake_instance| fake_instance.id = id end.solr_remove_from_index end end |
- (Object) solr_execute_search(options = {})
316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 |
# File 'sunspot_rails/lib/sunspot/rails/searchable.rb', line 316 def solr_execute_search( = {}) .assert_valid_keys(:include, :select) search = yield unless .empty? search.build do |query| if [:include] query.data_accessor_for(self).include = [:include] end if [:select] query.data_accessor_for(self).select = [:select] end end end search.execute end |
- (Object) solr_execute_search_ids(options = {})
332 333 334 335 |
# File 'sunspot_rails/lib/sunspot/rails/searchable.rb', line 332 def solr_execute_search_ids( = {}) search = yield search.raw_results.map { |raw_result| raw_result.primary_key.to_i } end |
- (Object) solr_index(opts = {})
Add/update all existing records in the Solr index. The batch_size argument specifies how many records to load out of the database at a time. The default batch size is 50; if nil is passed, records will not be indexed in batches. By default, a commit is issued after each batch; passing false for batch_commit will disable this, and only issue a commit at the end of the process. If associated objects need to indexed also, you can specify include in format accepted by ActiveRecord to improve your sql select performance
Options (passed as a hash)
| batch_size | Batch size with which to load records. Passing ‘nil’ will skip batches. Default is 50. |
| batch_commit | Flag signalling if a commit should be done after after each batch is indexed, default is ‘true’ |
| include | include option to be passed to the ActiveRecord find, used for including associated objects that need to be indexed with the parent object, accepts all formats ActiveRecord::Base.find does |
| first_id | The lowest possible ID for this class. Defaults to 0, which is fine for integer IDs; string primary keys will need to specify something reasonable here. |
Examples
# index in batches of 50, commit after each Post.index # index all rows at once, then commit Post.index(:batch_size => nil) # index in batches of 50, commit when all batches complete Post.index(:batch_commit => false) # include the associated <tt>author</tt> object when loading to index Post.index(:include => :author)
239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 |
# File 'sunspot_rails/lib/sunspot/rails/searchable.rb', line 239 def solr_index(opts={}) = { :batch_size => 50, :batch_commit => true, :include => self.[:include], :start => opts.delete(:first_id) || 0 }.merge(opts) = { :include => [:include], :batch_size => [:batch_size], :start => [:first_id] } = [:progress_bar] if [:batch_size] batch_counter = 0 find_in_batches() do |records| solr_benchmark [:batch_size], batch_counter do Sunspot.index(records.select { |model| model.indexable? }) Sunspot.commit if [:batch_commit] end # track progress .increment!(records.length) if batch_counter += 1 end else records = all(:include => [:include]).select { |model| model.indexable? } Sunspot.index!(records) end # perform a final commit if not committing in batches Sunspot.commit unless [:batch_commit] end |
- (Object) solr_index_orphans
Return the IDs of records of this class that are indexed in Solr but do not exist in the database. Under normal circumstances, this should never happen, but this method is provided in case something goes wrong. Usually you will want to rectify the situation by calling #clean_index_orphans or #reindex
Returns
| Array | Collection of IDs that exist in Solr but not in the database |
281 282 283 284 285 286 287 288 |
# File 'sunspot_rails/lib/sunspot/rails/searchable.rb', line 281 def solr_index_orphans count = self.count indexed_ids = solr_search_ids { paginate(:page => 1, :per_page => count) }.to_set all(:select => 'id').each do |object| indexed_ids.delete(object.id) end indexed_ids.to_a end |
- (Object) solr_reindex(options = {})
Completely rebuild the index for this class. First removes all instances from the index, then loads records and indexes them.
See #index for information on options, etc.
196 197 198 199 |
# File 'sunspot_rails/lib/sunspot/rails/searchable.rb', line 196 def solr_reindex( = {}) solr_remove_all_from_index solr_index() end |
- (Object) solr_remove_all_from_index
Remove instances of this class from the Solr index.
177 178 179 |
# File 'sunspot_rails/lib/sunspot/rails/searchable.rb', line 177 def solr_remove_all_from_index Sunspot.remove_all(self) end |
- (Object) solr_remove_all_from_index!
Remove all instances of this class from the Solr index and immediately commit.
186 187 188 |
# File 'sunspot_rails/lib/sunspot/rails/searchable.rb', line 186 def solr_remove_all_from_index! Sunspot.remove_all!(self) end |
- (Object) solr_search(options = {}, &block)
Search for instances of this class in Solr. The block is delegated to the Sunspot.search method - see the Sunspot documentation for the full API.
Example
Post.search(:include => [:blog]) do keywords 'best pizza' with :blog_id, 1 order :updated_at, :desc facet :category_ids end
Options
| :include | Specify associations to eager load |
| :select | Specify columns to select from database when loading results |
Returns
| Sunspot::Search | Object containing results, totals, facets, etc. |
152 153 154 155 156 |
# File 'sunspot_rails/lib/sunspot/rails/searchable.rb', line 152 def solr_search( = {}, &block) solr_execute_search() do Sunspot.new_search(self, &block) end end |
- (Object) solr_search_ids(&block)
Get IDs of matching results without loading the result objects from the database. This method may be useful if search is used as an intermediate step in a larger find operation. The block is the same as the block provided to the #search method.
Returns
| Array | Array of IDs, in the order returned by the search |
168 169 170 171 172 |
# File 'sunspot_rails/lib/sunspot/rails/searchable.rb', line 168 def solr_search_ids(&block) solr_execute_search_ids do solr_search(&block) end end |


Edit Quiz:
Quiz Title:
Questoin List:
Add a new question
{% for question in questions %}
{{forloop.counter}}
{{question.body}}
Delete
Edit
{% endfor %}


{% extends "../../layout.html" %} {% block sectionClasses %}plugins hasBreadCrumb plugins-spincast-js-closurecompiler{% endblock %} {% block meta_title %}Plugins - Spincast JS Closure Compiler{% endblock %} {% block meta_description %}Spincast JS Closure Compiler plugin - Integration with Google's Closure Compiler to optimize your Javascript files.{% endblock %} {% block scripts %} {% endblock %} {% block body %}
This plugin integrates Google's Closure Compiler.
It is used to optimize and compress your Javascript files.
Closure Compiler
is a well-supported library that can be used
even with modern ECMAScript
features!
You inject and use the SpincastJsClosureCompilerManager component where you need to optimize Javascript files.
It is highly suggested that you only optimize a given Javascript file one time and
then serve a cached version of it after that! The optimization done by the Closure Compiler
can indeed take a couple of seconds.
One good way to optimize and then cache a Javascript file is by using a dynamic resource:
{% verbatim %}
router.dir("/publicdyn/js/*{relativePath}") .pathRelative("/publicdyn/js") .handle(publicResourcesController::dynJs);{% endverbatim %}
In the "dynJs(...)
" handler, you would get the raw content of the .js
file and optimize it using
the SpincastJsClosureCompilerManager
component before sending the result:
{% verbatim %}
File jsFile = //... get the .js file String rawJsContent = FileUtils.readFileToString(jsFile, "UTF-8"); String jsOptimized = getSpincastJsClosureCompilerManager() .compile(rawJsContent, "--compilation_level ", "WHITESPACE_ONLY"); context.response().sendCharacters(jsOptimized, "application/javascript");{% endverbatim %}
Explanation :
.js
file using the
"relativePath
" path parameter taken from the request. We make sure we validate
this user input properly!
Read the official Flags and Options
documentation of Closure Compiler
to learn how to tweak the optimization of your Javascript files.
There are two ways you can specify an option such as "--compilation_level
" with a value of "WHITESPACE_ONLY
":
1. Using two separate arguments
{% verbatim %}
String jsOptimized = getSpincastJsClosureCompilerManager() .compile(jsContent, "--compilation_level", "WHITESPACE_ONLY");{% endverbatim %}
=
" between the name and the value
{% verbatim %}
String jsOptimized = getSpincastJsClosureCompilerManager() .compile(jsContent, "--compilation_level=WHITESPACE_ONLY");{% endverbatim %}
Some options take only one argument without any value at all (ex: --strict_mode_input
).
You cannot use the "--js_output_file
" option! This option is managed
by the plugin. If you specify it, your version will be ignored.
Note that, when bundling Javascript files
for Spincast itself,
we had to use "--language_out ECMASCRIPT_2017
" or errors were generated! You may try this option if you get errors.
String compile(String jsContent, String... args))
Run the Closure Compiler on the specified Javascript content, as a String. Return the optimized Javascript.
The command generated by this method will be equivalent to:
java -jar closure-compiler.jar --js_output_file=internalSpincastFile fileCreatedFromYourJsContent.js [YOUR ARGS]
String compile(File jsFile, String... args))
Run the Closure Compiler on the content of the specified .js file. Return the optimized Javascript.
The command generated by this method will be equivalent to:
java -jar closure-compiler.jar --js_output_file=internalSpincastFile yourFile.js [YOUR ARGS]
String compile(List<File> jsFiles, String... args))
Run the Closure Compiler on the concatenated content of multiple .js files. Return the concatenated and optimized Javascript.
You can read more about using multiple input files here.
The command generated by this method will be equivalent to:
java -jar closure-compiler.jar --js_output_file=internalSpincastFile file1.js file2.js file3.js [YOUR ARGS]
String compileCustom(String... args))
Run the Closure Compiler using only custom arguments. Return the optimized Javascript.
When you use this method, you are responsible to specify
all the arguments that are going to be passed to the Closure Compiler (except, again,
"--js_output_file
"). This means you are responsible to specify
the input files as arguments too!
To specify the input files as arguments, you can use globs patterns if you want.
The command generated by this method will be equivalent to:
java -jar closure-compiler.jar --js_output_file=internalSpincastFile [YOUR ARGS]
HTML
template.
Let's say your HTML
template includes those .js
files:
{% verbatim %}
<script src="/public/js/jquery.js"></script> <script src="/public/js/anotherLibrary.js"></script> <script src="/publicdyn/js/{{spincast.cacheBuster}}main.js"></script>
You could convert those separate files to a single compressed and optimized bundle, so an unique and fast request is required from the client!
To do so, you use the jsBundle(...)
Pebble function which is provided when this
plugin is installed:
{% verbatim %}
{{ jsBundle('/public/js/jquery.js', '/public/js/anotherLibrary.js', '/publicdyn/js/main.js') }}
This function will concatenate all the specified
Javascript files, will optimize them using the Closure Compiler
and will output a resulting "<script>
" element pointing to the
bundle:
{% verbatim %}
<script src="/spincast/plugins/jsclosurecompiler/jsbundles/resultingBundle.js"></script>
The parameters accepted by the jsBundle(...)
function are:
/
").
Then, the options to pass to the Closure Compiler
.
Those must be specified after the paths to the Javascript files.
When an argument starting with "-
" is found, this argument and all the following ones
are considered as options for the Closure Compiler
!
There is a single option specific to Spincast that you can use: "--spincast-no-cache-busting
".
When this flag is specified, no cache busting code
will be added to the resulting bundle path.
Here is an example of using jsBundle(...)
with options:
{% verbatim %}
{{ jsBundle('/public/js/jquery.js', '/public/js/anotherLibrary.js', '/publicdyn/js/main.js', '--compilation_level', 'WHITESPACE_ONLY', '--formatting', 'PRETTY_PRINT', '--spincast-no-cache-busting') }}
Behind the scene, calling jsBundle(...)
will not only generate the bundle,
but will also automatically add the associated route to
your router!
The resulting bundle will be cached (it will only be generated on the very first
request), will be served with caching HTTP headers and will contain
a cache busting code (except if the
"--spincast-no-cache-busting
" flag is used).
During development, you probably want to disable the bundling so changes made to the JS files are available immediately (no cache). There is a configuration for that!
{% verbatim %}
Don't forget to remove any "{{spincast.cacheBuster}}
" tag
when you move a regular .js file to a jsBundle(...)
function!
{% endverbatim %}
Note that the content of the Javascript files to bundle together will be retrieved using HTTP
requests! This allows you
to use dynamic resources to generate this content,
if required.
Bundling multiple files may take a couple of seconds... If you want to prevent the first request made to this bundle to be slow, you can pre-generate the bundle when your application starts. Here is an example where we do this, for this very website.
If, for some reason, you want to change the output made by
jsBundle(...)
, you can extend
SpincastJsClosureCompilerPebbleExtensionDefault,
override the "bundlingOutput(String path)
" function and bind your implementation
to the SpincastJsClosureCompilerPebbleExtension
interface in the Guice context.
You can bind a custom implementation of SpincastJsClosureCompilerConfig to tweak global configurations. This implementation can extend SpincastJsClosureCompilerConfigDefault as a base class.
String getJsBundlePebbleFunctionName()
The name to give to the Pebble function provided by this plugin to
bundle multiple Javascript files together. It is the name you are going to use
in your HTML
file to call the function.
Defaults to "jsBundle
".
String getJsBundlesUrlPath()
The base URL path where the Javascript bundles will be served from.
Defaults to "/spincast/plugins/jsclosurecompiler/jsbundles
".
File getJsBundlesDir()
The directory where the jsBundle()
Pebble function will save the
generated Javascript bundles.
Defaults to "[WRITABLE_DIR]/spincast/plugins/jsclosurecompiler/jsBundles
".
boolean isJsBundlesIgnoreSslCertificateErrors()
When the jsBundle()
Pebble function retrieves the files to be bundled
together, should SSL
certificate errors be ignored? Setting this to true
is useful
during testing, on a development environment where a self-signed certificate may be used.
Defaults to true
if
isDevelopmentMode()
or
isTestingMode()
is true
.
boolean isJsBundlesDisabled()
When this is true
, the jsBundle()
Pebble function will not bundle
the specified files together. The files will be served as usual, each with their
own "<script>
" tag.
This is useful during development, when you don't want any cache and want changes to the files to be immediately available!
Defaults to true
if
isDevelopmentMode()
is true
.
This plugin depends on the
Spincast HTTP Client plugin
which is not provided by default by the spincast-default
artifact.
It also uses Spincast Pebble plugin which is included
in the spincast-default
artifact.
Those plugins will be automatically installed. Note that it is always a good idea to read the documentation of the automatically installed plugins though!
1. Add this Maven artifact to your project:
<dependency> <groupId>org.spincast</groupId> <artifactId>spincast-plugins-js-closurecompiler</artifactId> <version>{{spincast.spincastCurrrentVersion}}</version> </dependency>
2. Add an instance of the SpincastJsClosureCompilerPlugin plugin to your Spincast Bootstrapper: {% verbatim %}
Spincast.configure() .plugin(new SpincastJsClosureCompilerPlugin()) // ...


Similarity graph for Foursquare places. Crawls through venue connections, recursively drawing links between them and their peers.
After cloning the sources you can choose to run the pipeline in Docker containers or locally, with NPM. Information on how to install Docker and docker-compose can be found in their official page. The same page is available for Node and NPM.
git clone https://github.com/marcbperez/react-similarity-network
cd react-similarity-network
If you decide to use NPM without Docker, make sure to install the project dependencies. Skip this otherwise, since the containers will do this automatically.
npm install
If you are using Docker, you start the build, deployment and end-to-end test services at the same time or independently.
# Start the build, deployment and end-to-end test services
sudo docker-compose up
The build container starts the development server on http://localhost:3000
and
unit-tests, documents and builds the application every time the src
or
public
folders change. The deploy container starts a dummy deployment
environment on http://localhost:8000
, exposing the files from the build
folder. The test container starts an end-to-end Cypress service that checks
CYPRESS_BASEURL
, which points to the deploy service by default.
# Start the development server and the build pipeline.
sudo docker-compose up build
# Start the dummy deployment environment.
sudo docker-compose up deploy
# End-to-end test the dummy deployment environment.
sudo docker-compose up test
With NPM, the commands invoked by the Docker containers include npm install
and the ones defined in package.json
. These include commands to manage the
pipeline and the ones initially provided by create-react-app.
# Starts a development server in port 3000.
npm start
# Runs unit and integration tests.
npm test
# Generates the production build in the `build` folder.
npm run build
# Generates a coverage report in the `coverage` folder.
npm run cover
# Documents the project inside the `docs` folder.
npm run document
# Covers, documents and builds the project.
npm run pipeline
# Watches for changes in `src` and `public` and runs the pipeline.
npm run watch
In Docker, unit tests with coverage report are executed every time the code
changes. As for the end-to-end tests, the Cypress service will check
CYPRESS_BASEURL
every time build
changes. If tests fail, a screenshot will
be exported to cypress/screenshots
. If they pass, the video will be available
in cypress/videos
.
With NPM, npm test
will unit-test the codebase, and npm run cover
will test
and output a coverage report into the coverage
folder, as described above.
End-to-end testing without Docker is not yet implemented and will be added in
future a release.
The react app can be deployed to a static web server by publishing the build
folder. Also, the deployment container can be pushed into a registry defined in
docker-compose.yml
after the build
folder has been generated.
sudo docker-compose push deploy
To run end-to-end tests against your new deployed environment, run the Cypress
service with the updated CYPRESS_BASEURL
.
The issue tracker intends to manage and compile bugs, enhancements, proposals and tasks. Reading through its material or reporting to its contributors via the platform is strongly recommended.
This project adheres to Semantic Versioning and to certain syntax conventions defined in .editorconfig. To get a list of changes refer to the CHANGELOG. Only branches prefixed by feature-, hotfix-, or release- will be considered:
git checkout -b feature-my-feature develop
git commit -am 'Added my new feature.'
git push origin feature-my-feature
This project is created by marcbperez and maintained by its author and contributors.
This project is licensed under the Apache License Version 2.0.
Generated using TypeDoc


This keyboard is for use with Unicode fonts such as the Charis SIL font.
It can be used with Microsoft Windows, Mac OSX, Linux, iPhone, iPad, Android phone, and Android tablets.


BEFORE NIGHT FALLS
Reviewed by Harvey Karten Fine Line Features Director: Julian Schnabel Writer: Reinaldo Arenas (book), Cunningham O'Keefe, Lazaro Gomez Carriles, Julian Schnabel Cast: Javier Bardem, Olivier Martinez, Andrea Di Stefano, Johnny Depp, Sean Penn, Michael Wincott, Olatz Lopez Garmendia
"Before Night Falls" is about the plight of one Cuban national whose childhood dream was to join Castro's rebels against the U.S.-supported Batista regime but then soured on the revolutionary government for good reason. While the film does not specifically point out the basis of novelist Reinaldo Arenas' (Javier Bardem) enthusiasm for fighting the established government while a child, his ardor was not totally misguided. For example, a case can be made even today for the improvements that the Communist government on that Spanish-speaking island made: 1) the poor, who were (and still are) a majority of the population, were brought up from third-grade educations to universal literacy; 2) health care, nonexistent for the masses before 1959, is now free and accessible; 3) the poverty of Cuba is shared by most of the other Caribbean islands, none of which has a Communist government; 4) the wide gulf between the wealth of the powerful and the poverty of the masses has been eliminated; 5) Cuba's poverty is largely the result of an ongoing, unjustified U.S. trade embargo and the drying up of subsidies from the Russians.
That said, we must realize that not only has Fidel Castro installed himself as the chief executive for life (now 41 years and counting), but had ordered a major campaign of repression against political dissidents and homosexuals-- sending them into what amounts to concentration camps and putting those who were most odious to the established order in "boxes," similar to what American POWs experienced in the cages of Vietnam. It was this experience in a "box" and, generally, in prison and via a program of harassments, that turned Reinaldo away from any support of the revolutionary regime, which even today sports an image of Che Guevara as its national hero.
Directed by Julian Schnable--who is Jewish, lives in Spain and New York, and did not grow up with an overly enormous interest in Cuba--"Before Night Falls" does quite a job of bringing to life a poet and novelist who at one point renounced his teachings (like Galileo) rather than continue to suffer persecution in his jail but who ultimately sent a message to the world by leaving the island in 1980 when Castro allowed homosexuals, criminals, and other so-called vermin to get out. You may leave the theater with the impression that quite a few documentaries would profit from deleting the talking heads in favor of an authentic dramatization such as Schnable's with stylized photography.
Schnabel takes us to Reinaldo's childhood, which was an idyllic one, one which demonstrates the young man's absolute joy in freedom.  (He claimed to have had 5,000 sexual experiences by the age of 25.) Narrated throughout by Javier Bardem-- whose performance won him the National Board or Review's designation as Best Actor for his role--"Before Night Falls" shows the vise tightening on the man when, for no particular reason, the Castro government repudiated the sexual revolution which was part and parcel of the greater struggle and did an about face, cracking down on homosexuals by treating them in the same way it treated common criminals. During his worst year, Reinaldo was thrown in jail with scores of rapists and murderers until he agrees to disavow his own writings--which in one comic situation were smuggled out of the jail into France where his memoirs won first prize for the category.
Photographed by Xavier Perez Grobet and Guillermo Rosas with a variety of lenses to evoke a jungle-like area representing the author's childhood and frequent images of water (presumably epitomizing both freedom and security), the movie can't help forcing the audience to think about what freedom really means. I couldn't avoid wondering whether Castro could have set an example for the world by allowing Cubans to live in the style they wished provided that they did not hurt others while making sure that the strong-arms used their powers legitimately for defense and the maintenance of an orderly, democratic government.
"Before Night Falls" is nothing if not a visual movie, as though a painter like Jackson Pollock had spread a canvas on the floor and splashed on lines and spots to stand in for its various episodes. Whether you agree with the National Board of Review that Javier Bardem deserved their pick as the actor of the year (I'm voting so far for Ed Harris in "Pollock"), you'd have difficulty denying that the gifted performer IS Reinaldo Arenas, who swings from a joyful childhood with a beautiful mother to a sexually fulfilling psot- adolescence, only to be brought down again and again by the irrationalities of a puritanical system.
Not Rated. Running time: 133 minutes. (C) 2000 by Harvey Karten<EMAIL_ADDRESS>The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


2013-05-21
The basic idea:
-
modify the source code of cgminer
-
substitute all the sha2() call in cgminer to the fpga call
-
using fpga to implement the sha256 algorithm
-
send the data needed to be caculated to fpga
-
i.e. send swap(context) 80(len)
-
send the data through serial port
-
the software should poll the fpga to acquire if the fpga
has finished the calculation.
-
receive the result from fpga if the result is calculated.
todo:
-
evaluate the time each function spend in cgminer to judge which
function should be hard-coded into fpga
-
using gprof
-
Note to modify the makefile of cgminer
-
take test.c an example
-
gcc -pg -g -o test test.c
-
./test
-
a file called gmout.out has genereated
-
gprof ./test -p gmout.out
-
the evaluated result is generated.
-
using oprofile
-
opcontrol --init
-
opcontrol --
-
investigate how to communicate with the serial port int he c program.
About fpga:
-
hard-code the sha256 algorithm in fpga
-
figure out how to communicate with the computer through serial port
-
For c program in the computer, how to read the state of fpga(to know
whether the calculated result is ready).
-
How to send data to fpga
-
How to receive data from fpga
About design:
-
all communication operation with fpga is contained one file, is
encapsulated into the individual function.
-
substitute all the sha2() call in cgminer with the new defined function.
Abort the use of serial port,
use axlite to communicate with fpga
see this page
http://www.ibm.com/developerworks/cn/linux/l-oprof/index.html


Chain identities
When manipulating a chain (including Promise), we could always change, at any moment, the chain's API (so its identity) by calling any "identity method".
deep.fs("/my/root") // identity method 1 : we start a "file system" chain (nodejs) .from("myjsonfile.json") // read a json file .done(function(success){ // manipulate loaded json success.myProp = "hello world"; //... }) .restful("myService") // identity method 2 : we take the "restful chain" API, we keep current success .post() // post current success (the maniplated loaded json) to myService .fail(function(error){ // handle any error produced somewhere in the chain });


[gecode-users] about the backtrack
Juan Carlos
carlvall at gmail.com
Wed Jun 18 01:38:03 CEST 2008
Hello:
In order to find the best solution of a problem that I'm working on, I have
to branch over an IntVarArray , so I have created a custom branch with an
heuristic. (like in the black hole or queens example). And use the BAB
engine.
This branching works fine, but it could be improved if the vars that should
be unassingned after a basic solution is found are selected in a different
way. I mean like a custom backtrack with a function that selects the best
var to be reassigned.
Is that possible? how ? .
thank you.
PD: I had deleted a lot of old messages of the list, so I dont know if
anyone has asked this before. Sorry if this question has been asked.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ps.uni-sb.de/pipermail/users/attachments/20080617/8053f0b9/attachment.htm>
More information about the gecode-users
mailing list


{{ description }}
Subscriber Count: {{ subs }}
View Count: {{ views }}
Video Count: {{ videos }}
Back to Search


UCM ISO MART
Home
About Us
Post an ad
Accomadation
Carpooling
Electronics
Books
My UCM MART
Post An Advertisement for Accommodation
Requirement Details:
Requirement Type:
Choose Category:
Accomadation
Requirement Type:
I Offer
Require
Accomadation Type:
For Sharing
For Rent
For PG
For Sale
Accomadation Details:
You are posting ad for the region :
Ad Title:
Location:
Address:
No.Of Rooms:
Individual
Appartments
Area:
Furnished:
UnFurnished
FullyFurnished
SemiFurnished
In House Ammenties:
Piped Gas
Internet
Air condition
Intercom facility
Refrigerator
Washing Machine
Oven
Balcony
External Ammenties:
Club House
Gym
Swimming Pool
Basket Ball
Maintanance Staff
Reserved Parking
park
Laundry Service
Available From:
Description:
Photo Upload:
You Can Upload Upto 4 photos in *.JPEG, *.JPG format (Size limit: 2MB)
Financial Details
*
Monthly Rent :
( in USD )
Deposit Amount :
( in USD )
*
Is Negotiable :
Yes
NO
Owner Details
Owner Name :
Hari Kumar
Mail Id :
<EMAIL_ADDRESS>*
Share my contact Number in Ad details :
Yes
NO
Contact Number :
(816) 745-8136
Please go through the Terms & Conditins before posting the advertisement.


In this blog, I will be explaining the task we were working on for the last 3-4 weeks. It will take you on a journey of optimizations from million graph traversals in building the database to just a few traversals in the end. Also, we will be covering the new architecture for the upcoming version of the Linked Commons and the reason behind the change.
Where does it fit?
So far the Linked Commons was using a tiny subset of the data available in the CC Catalog. One of the primary targets of our team was to update the data. If you observe closely all tasks so far starting from adding "Graph Filtering Methods" to "Autocomplete Feature". These were actually bringing us closer towards this task. i.e. the much-awaited "Scale the Data of Linked Commons". We aim to add around 235k nodes and 4.14 million links into the Linked Commons project from around 400 nodes and 500 links in the current version. This drastic addition of new data is one of its kind, which makes this task very challenging and exciting.
Pilot
The raw CC Catalog data cannot be used directly in the Linked Commons. Our first task involves processing it, which includes removing isolated nodes, etc. You can read more about it in the data processing series blog written by my mentor Maria. After this, we need to build a database which stores the "distance list" of all the nodes.
What is "distance list"?
Distance List is a method of graph representation. It is similar to Adjacency List representation of graphs but instead of storing data of just immediate neighbouring nodes, "distance list" groups all vertices based on their distance from the root node and stores this grouped data for every vertex in the graph. In short, "distance list" is a more general form of the Adjacency List representation.
To build this "distance list", we created a script for this, let’s name it build-dB-script.py, which uses the Breadth-First Search(BFS) algorithm on every node to traverse the graph and gradually build this distance list. The filtering nodes feature of our web page connects to the server, which uses the aforementioned database and serves a smaller chunk of data.
Problem
Now that we know where the build-dB-script is used, let’s discuss the problems with it. The new graph data we are going to use is enormous and is in millions. A full traversal of a graph with million nodes, million times is very slow. Just to give some helpful numbers, the script was taking around 10 minutes to process a hundred nodes. Assuming the growth is linear(in the best case), it will take more than 15 days to complete the computations. It is scary, and thus, optimizations in the build-dB-script are the need of the hour!!
Optimizations
In this section, we will talk of the different versions of the build database script, starting from the brute force BFS method.
The brute force BFS was the most simple and technically correct solution, but as the name suggests it was slow. In the next iteration, I stored the details of last n nodes, 10 to be precise and performed the same old BFS. It was faster but it had a logic error. Say, there is a link from a node to an already visited/traversed node. The script was not putting all the nodes which could have been explored from this path. After a few more leaps from Depth-first Search, to Breadth-first search, and other methods, eventually with the help of my mentors, we built a new approach - "Sequential dB Build".
To keep this blog short, I won’t be going too much into implementation details, but here are some of the critical points.
Key points of the Sequential dB Build:
- It was the fastest of all the predecessors and reduced the script timing significantly.
- In this approach, we aimed to build the all distance list of [1, 2, 3,... ., k-1] before building kth distance list.
Unfortunately, still, it was not enough for our current requirements. Just to give you some insights, the distance two list computation was taking around 4 hours, and distance three list computation was taking 20+ hours. It shows that all these optimizations were not enough and were incapable of handling this big dataset.
New Architecture
As the optimizations in "build-dB-scripts" weren’t enough, we started looking to simplify the current architecture. In the end, we want to have a viable product which is scalable to this massive data. Although we are still not dropping the multi-distance filtering, we will continue our research on it and hopefully will have it in Linked Commons 3.0. 😎
For any node, it is more likely that any person would wish to know the immediate neighbours who are linking to some arbitrary node. Nodes at a distance greater than one exhibits very less information on the reach and connectivity of the root node. It was because of this we decided to change our current logic of having the distance list up to 10; instead, we reduced it to 1 and also stored the immediate incomming nodes list (Nodes which are at distance 1 in the transpose graph).
This small change in the design simplified a lot of things, and now the new graph build was taking around 2 minutes. By the time I am writing this blog we have upgraded our database from shelve to MongoDB where the build time is further reduced. 🔥🔥
Conclusion
This task was really challenging and I learnt a lot. It was really mesmerizing to see the Linked Commons grow and evolve. I hope you enjoyed reading this blog. You can follow the project development here, and access the stable version of linked commons here.
Feel free to report bugs and suggest features. It will help us improve this project. If you wish to join the our team, consider joining our slack channel. Read more about our community teams here. See you in my next blog! 🚀
*Linked Commons uses a more complex schema. The picture is just for illustration.


I mentioned this book in yesterday's Rant. Now it transpires that it actually exists:
Dear Hooting Yard : I have been searching the internet for references to Spinoza's Rhubarb in vain for some years. As the owner of the only known copy of this work (Printed in Venice in 1668) I have become what my family call ‘pathologically obsessed’ with promulgating the philosophy of Spinoza's greatest but least known work. In my eagerness to spread the word I have created a number of ‘stump work’ pictures showing the life of Spinoza and have been touring the exhibition around the churches and chapels of my native country for some years. I wonder if you would have space on your website for a picture of one of my latest works. I would be so grateful if this were possible. Yours in hope and with God's Blessing, Stanley J. Cachinnatione, Montana, USA


|
ERF Variable |
Description |
|
v_ignore_attrs |
This variable enables you to specify a list of attributes. Features having at least one of these attributes are ignored by the action. The attributes can be system attributes or user-defined
attributes. Note: The system attribute ignore_action can be assigned to individual features. Any feature possessing this attribute is ignored by the action. This attribute is useful if a specific feature has none of the other attributes defined in the ERF variable v_ignore_attrs. The ignore_action attribute must be specified in the list of attributes defined in the ERF variable v_ignore_attrs in order to enable it. |


Campfire Coffee
Mission: Our sole purpose is to provide our customers that fresh cup of warm coffee they need when they are in their happy place in the beautiful outdoors. Nothing is better than roasting a warm cup of freshly ground coffee beans while watching the sunrise on a brisk morning outside of your tent!
Locations:
All locations are open 7 days a week, 6am to 9pm. You can get a fresh cup of coffee to go, or buy ground beans to go.
- Pike Place
- Capitol Hill
- Seattle Public Library
- South Lake Union Last but not least!
- Sea-Tac Airport


{{customer.phone}}
{{customer.email}}
Please upload an excel file in the exact format as shown in the picture above


@* * Copyright 2023 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @( attrRole: Boolean = false, attrHref: String, linkText: String, visuallyhidden: String = "", returnLink: Boolean = false, returnLocation: Option[String] = None, id: Option[String] = None, draggable: Boolean = true )(implicit m: Messages) @* Current use suggests we only use the one class on anchors: button; may need refactoring at a later date if more are required *@ @linkText @if(visuallyhidden) { @visuallyhidden } @if(returnLink) {
@if(returnLocation.contains("renewal")) { @Messages("link.return.renewal.progress") } else { @Messages("link.return.registration.progress") }
}


Using AR to support visitors in their native languages, offer maps and guides for specific niche audiences to get info about nearby restaurants and accommodations, offer additional historical or cultural context to an experience, show how their destinations would appear in a different season, or create educational games to learn about an area’s history and wildlife or to entertain children on long drives. Travellers will use AR technology to choose their destinations and activities before and during their trip. Ultimately, they will experience planning and travelling in a much more interactive and enriching way that will feel like a journey of its own.
Get Started!Translate any text to your selected language using Rover!
Get to know the distance to your destination and travel options available for you..
Get updated with the weather conditions of your destination before you leave
Info about nearest dinings and boardings available
We welcome your suggestions regarding the improvements in our services and would like to stay in touch with you. Give us a call or send us an email and we will get back to you as soon as possible!
816-447-2804
785-304-3664


'loop' is a boolean attribute.
| Test Result | Test Assertion |
| FAIL | Test passes if the text 'PASS' appears to the left and the text 'Your browser does not support media elements.' does not appear anywhere on this page. |
http://www.w3.org/TR/html5/video.html#attr-media-loop The loop attribute is a boolean attribute that, if specified, indicates that the media element is to seek back to the start of the media resource upon reaching the end.


This batch file code will help you to unzip a file.
@echo off
setlocal
cd /d %~dp0
Call :UnZipFile "C:\Temp\" "c:\FolderName\batch.zip"
exit /b
:UnZipFile <ExtractTo> <newzipfile>
set vbs="%temp%\_.vbs"
if exist %vbs% del /f /q %vbs%
>%vbs% echo Set fso = CreateObject("Scripting.FileSystemObject")
>>%vbs% echo If NOT fso.FolderExists(%1) Then
>>%vbs% echo fso.CreateFolder(%1)
>>%vbs% echo End If
>>%vbs% echo set objShell = CreateObject("Shell.Application")
>>%vbs% echo set FilesInZip=objShell.NameSpace(%2).items
>>%vbs% echo objShell.NameSpace(%1).CopyHere(FilesInZip)
>>%vbs% echo Set fso = Nothing
>>%vbs% echo Set objShell = Nothing
cscript //nologo %vbs%
if exist %vbs% del /f /q %vbs%
N.B. C:\Temp is folder where it stores the Extracted (UnZip) File.
And, c:\FolderName\batch.zip is source path, (where Zip files are stored).
Please, Change the Full File Path ( Drive, Folder & Zip file name), according to your need.


--------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------
2
Human Resources Policies
Is the action legal?
Is the action in line with DIPI policies?
Working together to stop misconduct
You should immediately report illegal or unethical conduct your local human
resources department, your manager, or the Legal/IP Department.
When you raise a genuine concern, it helps DIPI identify area that requires
improvement, remedy specific problems, and improve DIPI level of ethical
awareness.
What is Expected of Managers
1.
Promote a Culture of Ethics and Compliance
Managers should at all times comply with the Code and set a good example to
everyone. As a manager, you should:
Ensure that the people you supervise understand the Code and DIPI policies.
Take opportunities to discuss the Code and reinforce the importance of ethics
and compliance with employees.
Create an environment where employees feel comfortable raising concerns.
Never encourage or direct employees to achieve business results at the
expense of ethical conduct or compliance with the Code or the law.
2.
Respond to Questions and Concerns
If approached with a question or concern related to the Code, listen carefully
and give the employee your complete attention.
Ask for clarification and additional information. Seek help if you need it.
If an employee raises a concern that may require investigation under the
Code, contact the Legal/IP Department.
II. Company Property including Confidential Information
You must, in an ethical and efficient manner, utilize and protect DIPI assets,
including confidential information because you recognize that they are valuable to
our business activities.
Confidential information is information, including proprietary information that you
create, develop or use during your employment (including sales, future sales
projections etc.) which is not generally known to the public about the DIPI, its
customers, business partners or employees.
Unauthorized access, use or distribution of confidential information is strictly
prohibited and your obligations continue even after you have left employment with
the DIPI. Similarly, you must not bring with you proprietary confidential information
which you have obtained from a previous employer.


Week Four Cultural Blog
Discuss a time you had an emotional conflict with someone. What was it about? What happened?
I was bartending, talking with a customer about their order and a server interrupts us about a ticket. He did this quite often and at this point it was just plain rude and disrespectful to the customer. I tell him that he needs to stop interrupting like that because it is disrespectful to the customer and to be a little more patient. He snapped back at me with a rude comment about me taking forever and some nasty words following.
What was the source of the conflict?
I believe he was stressed out so instead of acting appropriately he lashed out which resulted in me lashing out.
How did you handle that conflict?
I told him that if he acts that way, I will just take longer to get him his drinks. I did so in some sense because what he said was very irritating and rude.
Did your actions make the conflict better or worse?
My actions weren't mature or appropriate, but he stopped interrupting and being impatient so it benefited me.
If you could go back, what would you do differently, if anything?
I mean, what I did wasn't exactly appropriate, but his response to me politely saying that it is disrespectful to interrupt the customer and needs to be more patient was completely inappropriate and unnecessary. I guess I would have maybe not purposely took forever with the drinks, but because I did he stopped his negative actions.What did you learn from this experience?
Stress makes people do things they normally wouldn't if calm. Also that I desperately need to get out of the restaurant business.
comments powered by Disqus


In CSS there are several ways to affect the layout of an item on a page, one of them is by setting margin, border and padding. If you look at the diagram bellow, you can see the content in the middle, that can be text or an image. Next the padding is the space around the content, it can be set in width by pixels (i will give an example soon). After that is the border, then the margin is the invisible bubble around the border that can act as a spacer around the object.
You can see in the screen shot below, the tag of h1 has had CSS properties applied to it. The border has been given a width of "1px" with 'border-width' The border colour is darkgoldenrod. The margin has been set to auto which will automatically centre the item within it's container. The padding at the top is 200 pixels, and the bottom is 350pixels.


HOLY THURSDAY: EVENING MASS OF THE LORD'S
SUPPER
ENTRANCE ANTIPHON
We should glory in the cross of our Lord Jesus Christ, in whom is our salvation, live and resurrection, through whom we are saved and delivered.
The GLORIA is said. While the hymn is being sung, bells are rung, and when it is finished, they remain silent until the Gloria in excelsis of the Easter Vigil, unless, if appropriate, the Diocesan Bishop has decided otherwise. Likewise, during this same period, the organ and other musical instruments may be used only so as to support the singing..
COLLECT
O God, who have called us to participate in this most sacred Supper, in which your Only Begotten Son, when about to hand himself over to death, entrusted to the Church a sacrifice new for all eternity, the banquet of his love, grant, we pray, that we may draw from so great a mystery, the fullness of charity and of life. Through our Lord Jesus Christ, your Son, who lives and reigns with you in the unity of the Holy Spirit, one God, for ever and ever.
After
the proclamation of the Gospel, the Priest gives a homily in which light is
shed on the principal mysteries that are commemorated in this Mass, namely, the
institution of the Holy Eucharist and of the priestly Order, and the
commandment of the Lord concerning fraternal charity..
THE WASHING OF FEET
After
the Homily, where a pastoral reason suggests it, the Washing of Feet follows.
The men who have been chosen are lead by the ministers to seats prepared in a
suitable place. Then the Priest (removing his chasuble if necessary) goes to
each one, and, with the help of the ministers, pours water over each one’s feet
and then dries them. Meanwhile some of the following antiphons or other appropriate
chants are sung.
ANTIPHON 1
After the
Lord had risen from supper,
he poured
water into a basin
and began
to wash the feet of his disciples:
he left
them this example.
ANTIPHON 2
The Lord
Jesus, after eating supper with his disciples,
washed their
feet and said to them:
Do you know
what I, your Lord and Master, have done for you?
I have
given you an example, that you should do likewise.
ANTIPHON 3
Lord, are
you to wash my feet? Jesus said to him in answer:
If I do not wash your feet, you will have no share with me.
V. So he came to Simon Peter and Peter said to him: Lord...
V. What I am doing, you do not know for now, but later you will come to know. Lord...
ANTIPHON 4
If I, your Lord and Master, have washed your feet, how much more should you wash each other's feet?
ANTIPHON 5
This is how all will know that you are my disciples: if you have love for one another.
V. Jesus said to his disciples: This is how...
ANTIPHON 6
I give you a new commandment, that you love one another as I have loved you, says the Lord.
ANTIPHON 7
Let faith,
hope and charity, these three, remain among you, but the greatest of these is charity.
V. Now faith, hope and charity, these three, remain; but the greatest of these is charity. Let...
After
the Washing of Feet, the Priest washes and dries his hands, puts the chasuble
back on, and returns to the chair, and from there he directs the Universal
Prayer.
The
Profession
of Faith (Creed) is not said.
THE LITURGY OF THE EUCHARIST
At
the beginning of the Liturgy of the Eucharist, there may be a procession of the
faithful in which gifts for the poor may be presented with the bread and wine. meanwhile
the following, or another appropriate chant, is sung.
ANTIPHON
- Where true charity is dwelling, God is present there.
V. By the love of Christ we have been brought together:
V. let us find in him our gladness and our pleasure;
V. may we love him and revere him, God the living,
V. and in love respect each other with sincere hearts.
- Where true charity is dwelling, God is present there.
V. So when we as one are gathered all together,
V. let us strive to keep our minds free of division;
V. may there be an end to malice, strive and quarrels,
V. and let Christ our God be dwelling here among us.
- Where true charity is dwelling, God is present there.
V. May your face thus be our vision, bright in glory,
V. Christ our God, with all the blessed Saints in heaven:
V. such delight is pure and faultless, joy unbounded,
V. which endures through countless ages world without end. Amen.
- Where true charity is dwelling, God is present there.
PRAYER OVER THE OFFERINGS
Grant us, O Lord, we pray, that we may participate worthily in these mysteries, for whenever the memorial of this sacrifice is celebrated the work of our redemption is accomplished. Through Christ our Lord.
PREFACE of the Most Holy Eucharist I
When
the Roman Canon is used, this special form of it is said, with proper formulas
for the Communicantes, Hanc Igitur, and Qui pridie.
|
Therefore,
Lord, we pray: graciously accept this oblation of our service, that of your
whole family, which we make to you as we observe the day on which our Lord
Jesus Christ handed on the mysteries of his Body and Blood for his disciples
to celebrate; order our days in your peace, and command that we be delivered
from eternal damnation and counted among the flock of those you have chosen. (Through Christ our Lord. Amen.) |
|
Be pleased, O God, we pray, to bless, acknowledge, and approve this offering in every respect; make it spiritual and acceptable, so that it may become for us the Body and Blood of your most beloved Son, our Lord Jesus Christ. |
|
On the day before he was to suffer for our salvation and the salvation of all, that is today, he took bread in his holy and venerable hands, and with eyes raised to heaven to you, O God, his almighty Father, giving you thanks, he said the blessing, broke the bread and gave it to his disciples, saying: |
|
TAKE THIS, ALL OF YOU, AND EAT OF IT: FOR THIS IS MY BODY WHICH WILL BE GIVEN UP FOR YOU. |
COMMUNION ANTIPHON
This is the Body that will be given up for you; this is the chalice of the new covenant in my Blood, says the Lord; do this, whenever you receive it, in memory of me.
PRAYER AFTER COMMUNION
Grant, almighty God, that, just as we are renewed by the Supper of your Son in this present age, so we may enjoy his banquet for all eternity. Who lives and reigns for ever and ever.
TRANSFER OF THE HOLY EUCHARIST
During
the procession the hymn Pange, lingua or some other eucharistic song is sung:
|
Of the glorious Body telling, O my tongue, its mysteries sing, and the Blood, all price excelling, which the world's eternal King, in a noble womb once dwelling, shed for the world's ransoming. |
|
Given for us, descending, of a Virgin to proceed, man with man in converse blending, scattered he the Gospel seed, till his sojourn drew to ending, which he closed in wondrous deed. |
|
At the last great Supper lying circled by his brethren´s band, meekly with the law complying, first he finished its command, then, immortal Food supplying, gave himself with his own hand. |
|
Word made Flesh, by word he maketh very bread his Flesh to be; man in wine Christ's Blood partaketh: and if senses fail to see, faith alone the true heart waketh to behold the mystery. |
|
Therefore we, before him bending, this great Sacrament revere; types and shadows have their ending, for the newer rite is here; faith, our outward sense befriending, makes the inward vision clear. |
|
Glory let us give, and blessing to the Father and the Son; honour, might, and praise addressing, while eternal ages run; ever too his love confessing, who, from both, with both is one. Amen. |


Row-major
Terminology
name mangling
Adds meta-data to the name of a function. This process, in the case of C++, takes place during the compilation. One reason for this is that the compilation process first converts the C++ code to C and C only allows unique function names throughout the program.
resources:
C++
Python
How to structure a python project
what-is-the-best-project-structure-for-a-python-application
How To Package Your Python Code
module path system
Important component which will frustrate most beginners if not understood from the very beginning.
importing a module into another whilst both are located in different folders
python-modules-not-found importing-modules-from-parent-folder


Fill in the blanks for the applet AEHousman with a window that is 250 pixels wide and 200 pixels high.
  <applet code="AEHousman.class" width="250" height="200"> </applet>
Files that have the file extension "html" are expected to contain a description of a Web page using a notation called hypertext markup language. This language describes the page layout in functional roles, and leaves the exact layout up to the browser. For example the following part of an "html" file says that the characters between the
 and the
 are to be formatted as a paragraph, but exactly how the paragraph is laid out is up to the browser.

 It began one day in summer about thirty years ago, and it happened to four children. Jane was the oldest and Mark was the only boy, and between them they ran everything.

Here is what your current Web browser does for that paragraph (you may wish to change the font size of your browser and watch the formatting change):
It began one day in summer about thirty years ago, and it happened to four children. Jane was the oldest and Mark was the only boy, and between them they ran everything.
The
 and the
 are exampls of HTML tags that are used describe the layout of a page. Often tags come in matched pairs that are used to show the start and end of something. If tag like <something> has a matching tag, the matching tag will look like </something> . The "markup" of the phrase hypertext markup language means that you describe the functional role of each part of the file, but the browser decides how to implement that role. For example, the role of the text between
 and
 is that of a paragraph. Here is another example:

This is a level 3 heading

This describes a heading (three levels down from the most important heading.) Exactly what is done to make the text a heading is up to the browser. Your browser does this:
An HTML file can be created with an ordinary text editor (such as NotePad) since it contains nothing but ASCII characters. There are no hidden display codes or other unprintable characters such as word processors usually produce. (However, an HTML file can ask for the Web page to include other files that are not ASCII, such as images and applets.) Since an HTML file is pure ASCII, it is very portable and can be used by Web browsers on any kind of computer.
Insert some HTML into the body of the following so that there is a level 3 heading at the top of the page that says: "Here is an Exciting Applet". After the heading, write a paragraph describing the size of the applets drawing area.
  <applet code="AnotherHello.class" width="300" height="150"> </applet>