Quick start guide for tsunami modeling¶
Warning
As with all of Clawpack, this code is provided as a research and teaching tool with no guarantee of suitability for any particular purpose, and no liability on the part of the authors. See the License for more details.
Warning
This section is out of date and should be cleaned up and improved when 5.1 is released. Some tools are now found in the directory $CLAW/geoclaw/src/python/geoclaw/.
TODO: Need to change all setrun parameters to new 5.0 names in this section!
This is a brief outline of how to set up and run GeoClaw to model a real event, with pointers to various useful data sources.
As always, the best way to get started is to copy a working example and modify it to do what you want. We’ll start with the example in $CLAW/geoclaw/examples/tsunami/chile2010.
Copy this directory somewhere new with an appropriate name.
As an example we will convert this to a code modeling the Great Tohoku Tsunami of 11 March 2011, and will assume an environment variable has been set so that $TOHOKU points to the directory. This is easily done by going into this directory and typing (at the Unix prompt $):
$ export TOHOKU=`pwd`
Get bathymetry and topography¶
You need one or more files that contain both bathymetry and topography on a single rectangular grid of points (generally in lat-long coordinates). Bathymetry is underwater topography. Here (and in the code) we refer to both as topo. In general these files have negative values of z to indicate distance below sea level for bathymetry, and positive values of z to indicate height above sea level on shore. But some files have these switched. See Topography data for more details on the formats GeoClaw can handle.
You probably need two types of topo files: fairly coarse resolution over a large area of an ocean, and finer scale over one or more small regions: those where you want to model inundation and perhaps also for the source region where the tsunami was generated.
Coarse-scale topo can be obtained from various on-line databases. The easiest is the NGDC GEODAS Design-a-grid website. Simply type in the latitude and longitude of the edges of the region you need.
Choose the ETOPO 1-minute Global Relief database and then select the grid resolution you want.
Typically 4 arc-minute or even 10-minute resolution is sufficient for tsunami propagation across the ocean. Recall that 1 degree of latitude is 111 km and 1 degree of longitude is about the same at the equator, so 4 minutes is roughly 7.5 km. You can also select 1- or 2-minute data.
Finer-scale topo for much of the US coast is also available from this website; select the “US Coastal Relief Model Grids” database.
To get an idea of what region you need to get topo, it’s often easiest to use Google Earth, which shows latitude and longitude.
For the Tohoku event, we’ll use 10-minute topo over the region from 115E to 30W and from 15N to 50N, covering part of the north Pacific. Type these coordinates into Design-a-grid and choose the 10-minute grid and the ASCII Raster format. It should tell you this will create a grid with 211 latitude cells and 571 longitude cells. (Points would be more accurate than cells, since these are equally spaced grid points including the end points in each direction.)
Select ASCII Raster Format (with header).
Give your grid the name npacific and then click “Submit”.
On the next page click on “Compress and Retrieve Your Grid”. You do not need to check any of the boxes on this page.
On the next page click on “Retrieve Compressed File”.
This should save a gzipped tar-file called npacific-1257.tgz (the number may be different).
Move that file into your $TOHOKU directory and then unpack it:
$ cd $TOHOKU
$ mv ~/Downloads/npacific-1257.tgz . # or from whereever it is
$ tar -zxvf npacific-1257.tgz
This uncompresses and untars in verbose mode so it prints out all the files created, something like:
x npacific-1257_data/
x npacific-1257_data/npacific-1257.log
x npacific-1257_data/npacific-1257/
x npacific-1257_data/npacific-1257/npacific-1257.asc
x npacific-1257_data/cdrdas.vol
x npacific-1257_data/readme.txt
x npacific-1257_data/mgd2000.pdf
x npacific-1257_data/mgd77.pdf
x npacific-1257_data/hyd93.pdf
x npacific-1257_data/aro88.pdf
x npacific-1257_data/grd98.pdf
x npacific-1257_data/vct00.pdf
x npacific-1257_data/xyz03.pdf
x npacific-1257_data/help.htm
x npacific-1257_data/gd_ship.gif
Most of the files contain metadata. The actual grid is the .asc file, the one with the longest name, so move that one to this directory:
$ mv npacific-1257_data/npacific-1257/npacific-1257.asc .
The first 6 lines of the .asc file are the header:
$ head -6 npacific-1257.asc
NCOLS 571
NROWS 211
XLLCENTER 115.00000
YLLCENTER 15.00000
CELLSIZE 0.16666667
NODATA_VALUE -32768
The next 211 lines each consist of 571 values, the topo value going along one particular latitude. The first line is at northernmost latitude \(50 = 15 + 210\times 0.166666667\). The last line is at the southernmost latitude 15. On each lines the values correspond to z at points going from west to east, from longitude 115 to \(210 = 115 + 570\times 0.16666667\). Note that 210E is the same as 150W. In GeoClaw the computational domain will go from xlower = 115 to xupper = 210.
This file is almost in the form required by GeoClaw (with topotype = 3 as described at Topography data). The only problem is that GeoClaw wants the numbers to appear first on the header lines, so you can delete the words before the numbers (which aren’t needed), or move them to the end of the line for future reference. There’s a Python script available if you have Clawpack installed:
$ python
>>> from clawpack.geoclaw import topotools
>>> topotools.swapheader('npacific-1257.asc','npacific.asc')
>>> quit()
We’ve simplified the file name too in the process, so it is now called npacific.asc.
You can now delete all the files and directory starting with npacific-1257 unless you want to inspect the metadata:
$ rm -rf npacific-1257*
You may also need to retreive other topo files for particular regions of interest. As an example, suppose we want to look at the tsunami behavior near Hawaii.
To keep the file sizes manageable we’ll just get a 1-minute data from the ETOPO1 database. To study inundation much finer bathymetry would be required.
Use design-a-grid to obtain a 1-minute grid of the area from 161W to 153W and from 18N to 23N. This gives a 481 by 301 grid.
Go through the same process as above to retrieve this grid and create a file hawaii.asc.
There is one additional change that needs to be made in this file. The line
-161.0 xll
containing x at the lower-left corner must be incremented by 360 and changed to
199.0 xll
Since we are using coordiates from 115E to 210E we need to specify the left longitude value in eastern hemisphere coordinates rather than western.
If you want to examine the grids you have obtained, you can use the following in Python:
from clawpack.visclaw import geoplot
T = geoplot.TopoPlotData('npacific.asc')
T.cmin = -5000.
T.cmax = 500.
T.plot()
T.fname = 'hawaii.asc'
T.plot()
xlim(115,210)
ylim(15,50)
colorbar()
This should give a plot similar to
Zooming in near Hawaii shows
Various other attributes of a TopoPlotData object can also be set. Here are the default values:
topotype = 3
cmap = None # set automatically
cmax = 100.
cmin = -4000.
climits = None
figno = 200
addcolorbar = False
addcontour = False
contour_levels = [0, 0]
xlimits = None
ylimits = None
coarsen = 1
imshow = True
gridedges_show = True
print_fname = True
Setting coarsen to an integer greater than 1 coarsens the grid by that factor in each direction. Setting imshow = False causes pcolor to be used instead, which takes longer to plot but may look nicer.
Specifying topo in setrun.py¶
The file setrun.py we copied from the chilie2010 directory contains the lines:
# == settopo.data values ==
geodata.topofiles = []
# for topography, append lines of the form
# [topotype, minlevel, maxlevel, t1, t2, fname]
geodata.topofiles.append([2, 1, 3, 0., 1.e10, \
'etopo10min120W60W60S0S.asc'])
We wish to change this to use the two topo files we have created. After changing the file, these lines should be:
# == settopo.data values ==
geodata.topofiles = []
# for topography, append lines of the form
# [topotype, minlevel, maxlevel, t1, t2, fname]
geodata.topofiles.append([3, 1, 3, 0., 1.e10, 'npacific.asc'])
geodata.topofiles.append([3, 1, 3, 0., 1.e10, 'hawaii.asc'])
We have specified two topo files. Each file has topotype 3 and we are allowing at most 3 levels of AMR in the regions covered by each file. Later we will see how to allow more levels in specific regions.
The tsunami source – seafloor motion from an earthquake¶
We also need to specify how the seafloor moves, which generates the tsunami. This is specified to GeoClaw by providing a dtopo file as described further in the section Topography data. This is a file with a similar structure to a topo file but gives the displacement of the topo over some rectangular grid, possibly at a sequence of different times.
Often earthquake data is specified in the form of a set of fault parameters that describe the slip along a fault plane of some finite size at some depth below the seafloor. A single earthquake may be described by a collection of such fault planes. All of this subsurface slip must be combined to generate the resulting seafloor motion. Ideally this would be done by solving elastic wave equations in the three-dimensional earth, taking into acount the spatially-varying elastic parameters and the irregularity of the seafloor.
The Okada model¶
In practice, the Okada model is often used to translate slip along one small fault plane into motion of the seafloor. This is essentially a Greens function solution to the problem of a point dislocation in an elastic half space, so it assumes the region of slip is small, the elastic parameters in the earth are constant, and the seafloor is flat. This may not be a great approximation, but given the uncertainty in the true elastic constants and the actual slip in an earthquake, it is generally considered to be accurate enough.
In GeoClaw there are some Python tools in $CLAW/geoclaw/src/python/geoclaw/okada.py` for applying the Okada model and creating dtopo files from given source parameters.
See also
Earthquake sources: Fault slip and the Okada model contains a better description.
The chile2010 example that we are starting with has a very simple fault model for the source, consisting of a single fault plane with one set of parameters specified in the file usgs100227.cfg:
Fault_Width 100.e3
Fault_Length 450.e3
Slip_Angle 104.0
Dip_Angle 14.0
Strike_Direction 16.
Dislocation 15.0
Epicenter_Latitude -35.826
Epicenter_Longitude -72.668
Focal_Depth 35.e3
mx 100
my 100
ylower -40.0
yupper -30.0
xlower -77.0
xupper -67.0
This is a 450 km by 100 km fault plane with the length oriented at 16 degrees from north (the Strike_Direction). The fault plane is not horizontal but instead dips at 14 degrees from horizontal along the axis oriented with the length. The slip along this plane has a magnitude of 15 m (the Dislocation) and the slip is in the direction 104 degrees from the strike direction (the Slip_Angle, usually called the rake).
The fault plane is 35 km below the surface.
The last 6 lines specify the grid where the seafloor displacement should be specified in the resulting dtopo file. In this a 100 by 100 grid covering the region specified by the last four values.
Currently a good source for the Tohoku event is Preliminary Model III of the UCSB group, which can be found at http://www.geol.ucsb.edu/faculty/ji/big_earthquakes/2011/03/0311_v3/Honshu.html. Scroll to the bottom of that page and click on “SUBFAULT FORMAT”.
Other source models for the same event can be found elsewhere, often in the same format, e.g. the USGS model at http://earthquake.usgs.gov/earthquakes/eqinthenews/2011/usc0001xgp/finite_fault.php.
The subfault model must be converted to sea floor deformation by applying the Okada model to each fault segment and adding together the deformation predicted by each.
Specifying dtopo in setrun.py¶
The file setrun.py we copied from the chilie2010 directory contains the lines:
# == setdtopo.data values ==
geodata.dtopofiles = []
# for moving topography, append lines of the form:
# [topotype, minlevel,maxlevel,fname]
geodata.dtopofiles.append([1,3,3,'usgs100227.tt1'])
We wish to change this to use the dtopo file we created above, so these lines should be changed to:
# == setdtopo.data values ==
geodata.dtopofiles = []
# for moving topography, append lines of the form:
# [topotype, minlevel,maxlevel,fname]
geodata.dtopofiles.append([1,3,3,'honshu-ucsb3.tt1'])
Note that we are forcing 3 levels of refinement in the region covered by the fault at the initial time. This value should be chosen to insure that the fault region has reasonable resolution. (If fewer than 3 levels of refinement are used, i.e. mxnext < 3, then this will insure that as many levels as available are used in this region.)
Note: Dynamic fault motion, in which the dtopo file contains time-dependent displacements dz, is also supported. Need to document.
Setting other parameters in setrun.py¶
Several parameters can be adjusted, see Specifying classic run-time parameters in setrun.py for a description of general Clawpack parameters and Specifying GeoClaw parameters in setrun.py for a description of additional GeoClaw parameters.
For our test problem we will change the following:
The domain size
We choose a domain that extends from the source region to Hawaii, and that is covered by the topo files:
# Lower and upper edge of computational domain:
clawdata.xlower = 140.
clawdata.xupper = 210.
clawdata.ylower = 15.
clawdata.yupper = 50.
The coarse grid
The coarse grid will have a 2-degree resolution:
# Number of grid cells:
clawdata.mx = 35
clawdata.my = 15
The output times
For a first test, let’s plot the solution every half hour for 12 hours:
clawdata.outstyle = 1
if clawdata.outstyle==1:
# Output nout frames at equally spaced times up to tfinal:
clawdata.nout = 24
clawdata.tfinal = 3600.*12
AMR parameters
We will first do a fairly coarse run to get an idea of what time interval we care about near Hawaii:
# max number of refinement levels:
mxnest = 2
# List of refinement ratios at each level (length at least mxnest-1)
clawdata.inratx = [4]
clawdata.inraty = [4]
clawdata.inratt = [4]
This causes refinement by a factor of 4 in both x and y (down to 0.5 degree) and also in time (so 4 steps will be taken on the Level 2 grids for each step on Level 1).
Regions and Gauges
For the first attempt, we will not specify any refinement regions or gauges for output, so give an empty list for each of these parameters:
# == setregions.data values ==
geodata.regions = []
# to specify regions of refinement append lines of the form
# [minlevel,maxlevel,t1,t2,x1,x2,y1,y2]
# == setgauges.data values ==
geodata.gauges = []
# for gauges append lines of the form [gaugeno, x, y, t1, t2]
Setting gauges¶
Gauges can be specified where the solution is recorded at every time step. This is specified in the setrun.py file. The file copied from the chile2010 example contains the lines
# == setgauges.data values ==
geodata.gauges = []
# for gauges append lines of the form [gaugeno, x, y, t1, t2]
geodata.gauges.append([32412, -86.392, -17.975, 0., 1.e10])
Note that geodaa.gauges is initialized to an empty list and then a list has been appended that specifies a gauge numbered 32412 at longitude -86.392 and latitude -17.975. This is the location of DART buoy 32412 off the coast of Chile. The values of t1 and t2 specified means that this gauge data will be output for all times.
This location is not in our new computational domain, so this line can be deleted. We might want to add one or more lines corresponding to the locations of DART buoys or tide gauges for the new computation. Tide gauges are generally in shallow water and we would need much finer bathymetry than we are using to resolve the flow near a tide gauge.
Let’s add a line for DART buoy 51407, which is near the island of Hawaii:
geodata.gauges.append([51407, 203.484, 19.642, 3600*7., 1.e10])
Note that gauge output is only requested after time t1 = 3600*7 seconds since the tsunami doesn’t reach this gauge until more than 7 hours after the earthquake (which could be determined by first doing a coarse grid simulation).


Adaptive Finite Volume Toolbox¶
This is a toolbox to apply the adaptive finite volume method solving Fokker-Planck equations in economic applications
For an introduction to the finite-volume method, one can read any reference, but one can read [Ahn, 2019] written with the computation of the distribution for the heterogeneous agent models in mind. However, working through the Tutorials should be sufficient for most applications.
The advantages of (adaptive) finite volume method are:
Conservation of mass (of discretized equations)
Positivity of the distribution function
Local interaction of parameters (compared to global approximations such as Chebyshev polynomials)
- More interpretable results from geometric nature of parameters
- Adjusting approximation domain in a natural manner
- Since parameters are local/interpretable in nature, a natural candidate for the function approximation under perturbation methods.
The disadvantages are:
Grid points increase exponentially
- adaptive refinement helps address this issue
Keeping the structure of completely unstructured grid is costly.
Ultimately, the result of the cost-benefit analysis for a particular problem is hard to estimate without testing. The codes/toolbox should shorten the testing time for the finite-volume method for Fokker-Planck equations.
General Workflow¶
Initialize Grid
grid = afv_grid(n_dim);Split the grid for the first time:
grid.split_init(1, x_cuts);Collect Edges:
grid.extract_edges();Set drifts and variances:
grid.drift = stuff; grid.diffusion = stuff;Compute the Transition Matrix:
A_FP = grid.compute_transition_matrix_modified(); A_FP_boundary = grid.compute_transition_matrix_boundary(ind, dir, flow, is_left_edge); A_FP = A_FP + A_FP_boundary;Further refine grids:
grid.split(indices);


WATCH | Michael Bloomberg launches presidential bid: 'I know what it takes to beat Trump'
Billionaire and former New York City Mayor Michael Bloomberg, one of the world's richest men, has formally launched a Democratic bid for president.
“I’m running for president to defeat Donald Trump and rebuild America,” Bloomberg said in a statement on Sunday.


Jenkins YML Workflow
This is a pipeline library for Jenkins 2.x that allows execution to be defined in YML rather than in a Jenkinsfile. Originally developed by the Workflow team at Concur in Bellevue.
Requirements
Plugins
Workflows
Workflows are stored in a separate repo, this allows us to iterate at different speeds and so adoption can be more at will. To view the workflows we provide you can go to the jenkins-workflows repository.
Usage
This must be added as a global pipeline library in Jenkins.
Required Environment Variables
| Variable | Example | Description |
|---|---|---|
| WORKFLOW_REPOSITORY | git@github.com:concur/jenkins-workflows.git |
Points to a repository containing Groovy workflow files. |
| WORKFLOW_GIT_CREDENTIAL_DESCRIPTION | GitHub SSH Private Key |
A description for checking out the WORKFLOW_REPOSITORY . |
| DEFAULT_SLACK_DOMAIN | concur |
The Slack team domain to send requests to. |
| DEFAULT_SLACK_TOKEN_DESC | Slack Token |
A credential description for sending to the Slack API |
Concepts and Philosophies
Credential Management
We use lookups for credentials instead of hard-coding credential IDs. This ensures if the Jenkins master has to be rebuilt from scratch jobs will not fail due to the credential no longer existing.
Workflows (jenkins-workflows) vs WorkflowLibs (jenkins-yml-workflowLibs)
WorkflowLibs are a set of common methods/closures that can be used across any number of workflows. For example this could encapsulate code for publishing artifacts to Artifactory or Nexus, or it could be a method for replacing text in a string.
Workflows are a series of steps for working with tools. We group the steps by overall tool, for instance Glide is a dependency manager for Golang so the steps for interacting with it are in the golang.groovy file.
Examples
Jenkinsfile:
@Library("plWorkflowLibs@v0.5.0")_
plWorkflow { }
pipelines.yml for building a Golang project, packaging the result into a Docker container and then pushing that image to Quay.io.
pipelines:
general:
debug: true
dateFormat: "yyyyMMdd-Hmmss"
tools:
branches:
patterns:
feature: .+
docker:
buildArgs:
CommitSHA: "{{ git_commit }}"
BuildVersion: "{{ build_version }}"
credentials:
description: quay.io robot
imageName: concur/example-docker-image
uri: quay.io
golang:
buildImage: golang:1.9.2
slack:
channel: 'git-notifications'
branches:
feature:
steps:
- golang:
- glide:
- test:
additionalArgs: "./..."
- build:
goEnv:
GOOS: linux
GOARCH: amd64
CGO_ENABLED: 0
outFile: publish/example
additionalArgs: "-ldflags \"-X main.buildVersion={{ BUILD_VERSION }} -X main.commit={{ GIT_COMMIT }} -X main.buildDate={{ TIMESTAMP }}\""
mainPath: cmd/example/main.go
- docker:
- build:
- push:
additionalTags:
- "{{ GIT_COMMIT }}"
Contributing
See our contributing guide.


| trial {gtsummary} | R Documentation |
A dataset containing the baseline characteristics of 200 patients who received Drug A or Drug B. Dataset also contains the outcome of tumor response to the treatment.
trial
A data frame with 200 rows–one row per patient
Chemotherapy Treatment
Age, yrs
Marker Level, ng/mL
T Stage
Grade
Tumor Response
Patient Died
Months to Death/Censor


Home
(current)
Movies
TvSeries
Nollywood-Movies
Nollywood-TvSeries
Genres
Action
Drama
Comedy
Romance
Horror
HOT!!
@foreach($qualities as $quality)
Download {{$quality['quality']}}
{{$name}} - {{$quality['quality']}} [has been downloaded {{$quality['views']}} time(s)]
@endforeach
Back


Hello! I'm Bharath, a Microsoft Certified Computer Programming & Software Developer with combined professional and academic experience in information security, infrastructure design, cloud computing, program management, and programming, and specialization in ERP Applications. Analytical, results-driven technologist with the skill and ability to innovate technical initiatives related to ERP architecture, program management, application and business requirement development. Versatile strategist looking to leverage programming background, with technical customizations to the applications and troubleshooting abilities, to provide value to an organization.
• Serve as a subject matter expert in AX 2012 R3 business analysis, application customizations, security roles design, maintenance and configuration to over 2000 MS Dynamics AX users across all modules including Financials, Production, Product Information Management, Sales & Marketing, Inventory etc
• Involved in upgrading AX2012 R3 to D365
• Handled different entities and developed customized solutions based on each entity
• Enhancements of forms through extensions using event handlers
• Developed extensions using COC and event handlers based on functional requirement
• Extensive experience in different IDE's like MorhpX, Visual Studio, SSMS, TFS
• Experience with all phases of software development life cycle
• Hand on experience in designing and building the Precision form report (replacement of SSRS)
• Hand on experience in SSRS reports designing
• Coordinating with functional, testing teams in rolling out features and functionalities according to Microsoft Standards
• Hands experience on Product Configurator
• Developed custom solution to validation product configurator constraints
• Integrated different third-party application to Dynamics AX
• Manage and maintain AX environments (Production, Test, and Dev)
• Expertise in Customization and Implementation of AX 2012 modules
• Technical Design Documentation preparation (TDD) of Business Processes in Detail
• System Design & Mapping of Business Process in MS Dynamics AX 2012
• Involved in Live support, data correction, bug fixing and Rectifying user errors. Document technical design / specification
• Involved in Code reviews and Test case, Test Plan reviews
• Involved in the design of the database for the application
• Implement and manage project changes to achieve project outputs
• Involved in Gathering requirement from on site
• Developed custom forms and reports in multiple modules of Dynamics AX
• Responsible for entire application maintenance, customization and configuration to over 200 user all over the company
• Interact with both IT support staff and business users to understand requirements, evaluate alternative solutions, resolve problems/issues, communicate status and document system changes
• Developed custom solutions for tracking the shipments
• Extensively worked Product Management and accounting, Sales and marketing and all core financial modules
• Develop and maintain Roles and end user authorizations, designs and related documentation for Configuration of new roles within Dynamics AX
• Enhancements of forms and classes
• Hands on developing (X++), debugging, unit testing written codebase and code review
• Meet with the business users (Functional users and Mgmt.) to review requirements and understand business needs and prepare FDDs from discovery sessions
• Assist in the on boarding of new security team members
• Expertise in SSRS Reports development and developed various reports across all the modules in AX
• Customize the Company’s ERP system-Microsoft dynamics Axapta 2012 R2
• Customize various ERP modules such as Data Ware House Management, Accounts Receivables, Account Payables, General Ledger, Product Information Management, Inventory Management, and System Administration
• Installation and Configuration of the Microsoft Dynamics AX
• Prepared Technical Design Documentation for the development of reports, customization and followed Microsoft coding standards
• Involved in customizations, SSRS Reports
• Creation of test cases for required functionalities
• Involved in Code reviews and Test case, Test Plan reviews
• Importing Vendor payment journal, vendor invoice journal, general journal using Excel
• Expertise in developing the Technical Specification Design Documents
• Modified standard Reports in different modules as per the user requirements
• Created various elements from the AOT like Tables, EDT’s, Enum’s, Views, Form’s, Classes, Queries, Menu Items as and when required during the flow of the project
• Fixed errors by making appropriate changes and rechecking the program
• Involved in creating Indexes & Performance
• Provide support and maintenance for the systems developed
• Provided solutions and Microsoft best practices in Security and performance
• Expertise in Customization and Implementation of AX 2012 modules
• Technical Design Documentation preparation (TDD) of Business Processes in Detail
• System Design & Mapping of Business Process in MS Dynamics AX 2012
• Involved in Live support, data correction, bug fixing and Rectifying user errors. Document technical design / specification
• Involved in Code reviews and Test case, Test Plan reviews
• Involved in the design of the database for the application
• Implement and manage project changes to achieve project outputs
• Involved in Gathering requirement from on site
• Developed custom forms and reports in multiple modules of Dynamics AX
• Expertise in developing the Technical Specification Design Documents
• Done customizations and Validations in Account Receivable, Account Payable, Sales and marketing and Inventory Management Modules
• Creation of test cases for required functionalities
• Maintain issue log with tracking numbers
• Provided solutions and Microsoft best practices in Security and performance
• Prepared user manuals and trained end users
Performed administrative duties relating to students' programs Design, Setup and maintain webpages for registration for new students Interacted with Local/International students through phone and email addressing their questions and concerns providing educational insights and guidance across diverse subjects and courses; additionally, assisted professors by grading assignments and providing feedback.
• Developed custom forms and reports in multiple modules of Dynamics AX 2012
• Involved in Live support, data correction, bug fixing and rectifying user errors.
• Expertise in customization and implementation of AX 2012
• Migrated AX reports into SSRS
• Worked on various Technical activities related Project implementation
• Requirement gathering, designing, developing and maintaining the ERP application
GPA: 3.66
GPA: 3.56
Apart from being a Software Developer, I enjoy most of my time being outdoors. During the warmer months here in New England, I enjoy mountain biking, free climbing, and kayaking.
When forced indoors, I follow a number of sci-fi and fantasy genre movies and television shows, I am an aspiring chef, and I spend a large amount of my free time exploring the latest technology advancements in the front-end web development world.


Software / Business
March 10, 2019
using AI everywhere to make a better range of services for mankind
Data is the new oil, and AI is the new intelligence.
we use the hottest trends (data and AI) on the most important issues for mankind
turning natural thinking to artificial and making cutting edge products for the world
we work on all major technologies
super polished product not directly from lab but from rigorous tests and fixes
There earth face earth behold. She'd stars made void two given do and also. Our own grass days. Greater male Shall There faced earth behold She star
Set dry signs spirit a kind First shall them.
He two face one moved dominion man you're likeness
Sea forth fill have divide be dominion from life
Life firmament under them evening make after called dont saying
likeness
isn't wherein also forth she'd air two without
Software / Business
March 10, 2019
make sure our product is cutting edge
Divide the May unto bearing land the it fruitful likeness hath hath made you and after | frequently asked
“We are working with Codevector for a year now. They have been professional from the beginning till date. The best thing about them is they complete what they promise.”
Cofounder — Anand Panchbhai“I have worked with many IT companies. Codevector has given me an optimised application which I was looking for. The speed is undeniably great! for www.happychases.com”
Kuldeep PisdaThird don't lights wherein was. bring to build them, seas. Thing gathering answ gaered beast third that heaven after all that living one bank limit
Read More
Divide the May unto bearing land the it fruitful likeness hath
hath made you and after
frequently asked


{% extends "base.html" %} {% load static %} {% load bootstrap3 %} {% block contenido %}
If you don't want to change your actual password, keep this field blank


This package contain classes defining 1D Fast Fourier Transform (FFT) and its inverse. Further, this package define several 1D transforms which are derived or related to FFT.


Visit the Chrome Extension page to install
Yeah you're in the right place😃
This is a Google Chrome Extension for ones who want to select a result of Google Search just by hitting Tab and Enter key.
To install, please visit the chrome extension page.
Do you want to say something about this? Make a comment on GitHub Issues.
Mine is a very simple implementation, just manipulating
tabindex
of the DOMs to utilize the native focus
functionality. Read and blame my source code on
the GitHub repository.
Hope you'll like it! @piglovesyou


 I like fish enslave the hooman jump on fridge yet find empty spot in cupboard and sleep all day prow?? ew dog you drink from the toilet, yum yum warm milk hotter pls, ouch too hot put toy mouse in food bowl run out of litter box at full speed . Sleep i just saw other cats inside the house and nobody ask me before using my litter box or plop down in the middle
where everybody walks proudly present butt to human cat mojo go crazy with excitement when plates are clanked together signalling the arrival of cat food. Lay on arms while you're using the keyboard cereal boxes make for five star accommodation , or good morning sunshine.


Limak and John are little polar bears. John is cute and thus there are N bear girls who are interested in dating him.
Limak has decided to help John, so he went ahead and interviewed all N candidates. Limak is an excellent judge of bear girl beauty, so he was able to determine the exact beauty of each candidate. The beauties of the candidates turned out to be N distinct positive integers. (Larger values represent more beautiful girls.)
John has now planned a sequence of N dates: a single date with each of the girls. The order in which he is going to meet the girls was chosen at random, with each of the N! permutations being equally likely.
Before going on any of the dates, John has two sources of information.
First, Limak gave him
As soon as John starts going on the dates, he will be on his own and Limak will not be able to assist him in any way. Immediately after each date John will have to make a choice: either he rejects the current girl, or he accepts her. As soon as he accepts a girl, the dating is over: John will cancel all the remaining dates (and he will not pay the cost for those).
John's problem is that he is not such a good judge of beauty as Limak. John can only compare relative beauty. More precisely, whenever he goes on a date with a girl, he will be able to (always correctly) tell which of the previously dated girls were more beautiful and which ones were less beautiful than the current one.
John's primary goal is to accept exactly one girl. John's secondary goal is to maximize the expected value of B-C, where B is the beauty of the chosen girl and C is the total cost of the dates he went on. (That is, C is cost times the number of dates.) Find the optimal strategy for John and return the largest possible expected value of B-C.
The information about the girls is encoded in the following way: For each valid i, there are T[i] girls with the following values of beauty: A[i], A[i]+1, ..., A[i]+T[i]-1. The encoding is chosen in such a way that different values of i describe disjoint groups of girls. Hence, the value N mentioned above is equal to the sum of T.
There are multiple strategies John can use. For example, he could simply accept the first girl he dates. In this case, the total cost C would be 5, and the expected beauty would be B = (10+1+100) = 37. Hence, with this strategy the expected value of B-C would be 32.
The above strategy is not optimal. In this case there is a better strategy that leads to the expected value 41.
The strategy looks as follows: First, John rejects the first girl he dates. If the second girl is more beautiful than the first one, he accepts her. Otherwise, he rejects her and accepts the third girl (regardless of her beauty).
The expected cost for the above strategy can be computed as follows: There are 3! = 6 different orders in which he can meet the girls. For each order we can simulate what happens and compute the corresponding values B and C. If we do so, we'll get the following six values of B-C: 0, 90, 85, 90, (-5), and (-14). The expected value of B-C is simply the average of these six values.


@* Copyright 2012 Igor Laborie 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. *@ @(finish: collection.SortedMap[Int, List[ai.x01.Finish]]) @import ai.x01._ @script = { } @bootstrap("Opendarts v2 Finishs", false, script) {
}


--- layout: home title: Home ---
Background
I am a third-year PhD student at the University of Cambridge supervised by Prof Lawrence. I am generally interested
in
practical applications of (probabilistic) decision-making frameworks.
I have spent the last few years working on various problems related to decision-making such as reinforcement
learning
[1],
Bayesian optimization, stochastic control/diffusion [2]
(diffusion) and experimental
design [3].
My research interests lie at the intersection of theory and practice in machine learning. Considering practical
problems
is essential in identifying critical themes to be addressed from a more theoretical perspective. This has led me to
work
on a variety of applications such as ice-sheet modelling [4],
electrical grid management [5] and robotics
[6]. You can find a lecture on my most recent work
here.
Before my PhD, I was a researcher in the MILA institute under the supervision of Prof Pineau and working towards a
Master’s Degree in Computer Science at McGill University. My research focused on Reinforcement Learning and Deep
Learning. I also interned at IBM in the Machine Learning for Healthcare group under the supervision of Dr El-Hay
where
we developed new techniques for causal inference [7] . My first
degree was in Mathematics
and
Computer Science at McGill University.


Liz Phair says new memoir 'very revealing' on 'Late Night'
by Wade SheridanNov. 14 (UPI) -- Musician Liz Phair discussed on Late Night with Seth Meyers how her new memoir is very personal and honest about her life.
"It was scary. It was a lot to put out there," the singer said on Wednesday about penning Horror Stories: A Memoir, which was released in October.
"The memoir is very revealing in certain ways," she continued. "I expose a lot of my personal life on the page."
"I was challenged by a couple people in my life, to do something like what I did when I first started making music. To be as honest and be as vulnerable as that," Phair said.
Phair also mentioned how she wrote the memoir never thinking that her mother would read it until a friend gave her a copy of the book at the grocery store.


Happy Family Mall
Only authorized users can use it.
Cellphone
Best price guarantee and Fast shipping
Home Appliances
Variety of products and best quality
Accessory
Variety of products and best quality
Cellphone
Best price guarantee and Fast shipping
Home Appliances
Variety of products and best quality
Accessory
Variety of products and best quality


This page includes my academic backgorund, experience and current projects.
Dr. Jordi López Sintas (IP)
Personal Information
Address:
Department d’economia de l’empresa, Facultat d’Economia i Empresa Universitat Autònoma de Barcelona Edifici B – Campus de Bellaterra 08193 Bellaterra (Cerdanyola del Vallès), Barcelona, SPAIN
Contact:
Phone: (34) 93 581 2270; Fax: (34) 93 581 2555 E-mail<EMAIL_ADDRESS>Webpage: http://jlopezsi.github.io Birth Date: November 17th, 1959 Citizenship: Spain
Areas of Research
Consumer Research; Sociology of consumption; Qualitative Research; Information, Communication and Society
Education
Ph.D. Business Economics, Universitat de Barcelona, 1994 Msc. Business Economics, Universitat Autònoma de Barcelona, 1985-1987 B.A. Business Studies, Universitat Barcelona, 1982-1985
Academic Employment
Associate Professor (senior lecturer), Universitat Autònoma de Barcelona, 1998-present Assistant Professor, Universitat Autònoma de Barcelona, 1995⁄1998 Visiting Professor, Erasmus University, 1994⁄1995 Assistant Professor, Universitat Autònoma de Barcelona, 1990-1994
Awards and Research Grants
Direcció General de Recerca, Generalitat de Catalunya: SGR-2009-411- (from 2010 till 2014). Consumption, Markets and Culture. Principal Researcher: Jordi López-Sintas.
ANECA: Acreditation needed to be contracted as University full Professor in Spanish Universities (acreditación de Catedrátio de Universidad), April 2009.
Segundo Tramo de Investigación CNEAI (Social Sciences), Ministerio de Educación y Ciencia (from 2003 till 2008).
Minsterio de Educación y Ciencia, ECO2008-04101 Consumption and the Markets of Culture in Contemporary Digital Context. Principal Researcher: Jordi López-Sintas.
AQU-Catalunya: Acreditation needed to be contracted as University full Professor in Catalan Universities (Acreditación de investigación avanzada para la contratación como Catedrático laboral), October 2008, (Full professor).
Ministerio de Educación y Ciencia, ECO-2008-00419-E/ECON, Iberacual Conference (Principal Researcher: Ercilia García Álvarez).
AGAUR award of date 17⁄04. Humanities Doctoral Programme: The production and consumption of culture (Principal researcher, Daniel Rico Camps). 17/04/2006-16/04/2007.
Ministerio de Ciencia y Tecnología, BEC2003-04462 The consumption of culture in Spain. (2003-2006) Principal Researcher: Jordi López-Sintas.
Primer Tramo de Investigación CNEAI (Economics), Ministerio de Educación y Ciencia (1998-2003).
Research award: Best Unpublished Research Paper Award ($2000) (Authored jointly with Ercilia García-Álvarez). Title: Values and Successors: A Funder’s Legacy of Different Psychosocial and Business Blends Institution: Family Firm Institute (Boston, USA) Conference: FFI conference, 2001, 11 October 2001, London Metropole Hotel.
Research award: Best Research Paper (Authored jointly with Ercilia García-Álvarez). Title: Tradition or Entrepreneurship in Family Business: Is That the Question? Institution: Family Business Network (Lausanne, Switzerland) Conference: 11th Annual World Conference. Place/Date: 14 September 2000, London.
Dirección General de Enseñanza Superior e Investigación Científica PB95-0616 (1996-1999). Corporate strategy and competitiveness . (Principal resercher: Genescà Garrigosa, Enric).
Dirección General de Investigación Científica y Técnica (DGICYT) PB91-0510 (1992-1995). The concept and determinants of competitiveness at the microeconomic level. (Principal researcher: Salas Fumás, Vicente).
Work in Progress and Working Papers
THE MIXTURE OF MUSIC LISTENING HABITS IN EUROPE: A DOUBLE PROCESS OF SOCIAL STRATIFICATION (with Tally Katz-Gerro) (under review).
MUSEUM EXPERIENCES: STRATEGIES THAT BRIDGE THE SOCIAL AND AESTHETIC DIVIDE (with Elena Rubiales and Ercilia García) (under revision).
THE NATURE OF LEISURE REVISITED: AN INTERPRETATION OF DIGITAL LEISURE (with Laura Rojas and Ercilia García) (under second review).
IN AND OUT OF EVERYDAY LIFE THROUGH FILM EXPERIENCE: A COMPARISON OF TWO SOCIAL SPACES AS LEISURE FRAMES (with Ercilia García and Ana Hernández) (under second review).
AN EMOTIONAL ROLLER COASTER: A PHENOMENOLOGICAL STUDY OF THE MAGIC OF FILM (with Ercilia García and Ana Hernández).


Arsenal ‘could accelerate Jose Mourinho interest’ after Leicester clash
Gunners boss Unai Emery is under increasing pressure at the Emirates Stadium after a less than impressive start to the Premier League campaign
by Alex HarrisArsenal could reportedly accelerate their interest in Jose Mourinho if they lose to Leicester on Saturday.
Unai Emery is under increasing pressure amid fan unrest after a disappointing start to the Premier League season.
The Spaniard - out of contract at the end of the season - is facing a make-or-break month to save his job after club bigwigs spelt out their expectation of a top-four finish to him.
But Arsenal could slip nine points behind if they lose to Leicester at the King Power Stadium.
According to Le10Sport , if their trip to the East Midlands ends in disaster, Arsenal could dial up an approach for Mourinho.
They were recently forced to deny their Head of Football Raul Sanllehi has met with the former Manchester United and Chelsea boss.
But Le10Sport claim Sanllehi is on friendly terms with Jorge Mendes - Mourinho’s agent.
And the French publication report that relationship would provide ideal conditions for negotiations to take place.
Mourinho would be a divisive appointment, however.
The Portuguese’s toxic relationship and previous jibes at the club would likely count against him.
He had a dig at Gooners after his Manchester United team lost 2-0 at the Emirates Stadium in 2017.
Mourinho said: ”I’m happy for them. It's the first time I leave and they're happy. I leave Highbury, they were crying.
“I leave the Emirates and they were crying, walking the streets with heads low. Today they leave with their scarves.”
Otherwise, Arsenal are limited in terms of potential options.
Gunners legend Patrick Vieira, Pep Guardiola’s No.2 Mikel Arteta and former Juventus boss Massimiliano Allegri are three names on the radar.


Contents
About
Introduction
Systems
Supported
Acknowledgements
Copyrights
Webmaster
News
Documentation
Mesa
OpenGL
Other
Links
Download
Stable Release
(4.0.2)
Patches to 4.0.2
(optional)
Mirrors
Contributed
Files
Beta
Releases
Pre-compiled
Libs
SGI's
GLU
Developer's Area
SourceForge
homepage
Original
Author
Contributors
CVS Branch
Info
Anonymous CVS
Access
Utilities
Help
Wanted
Mailing Lists
Information
Subscribe/Unsubscribe
Bug
Database
Instructions
SourceForge
database
Links
Games and
Entertainment
Libraries and
Toolkits
Modeling and
Rendering
Science and
Technical
Utilities
Demos /
other


Knee Knackering North Shore Trail Run 30 mile
North Vancouver BC/CAN
Website: http://www.kneeknacker.com
Race Winners
(27 runnings)
14
Jul
2007
08
Jul
2006
09
Jul
2005
10
Jul
2004
12
Jul 2003
13
Jul
2002
14
Jul 2001
08
Jul 2000
10
Jul
1999
11
Jul 1998
12
Jul 1997
13
Jul 1996
08
Jul 1995
09
Jul 1994
10
Jul 1993
11
Jul 1992
13
Jul 1991
14
Jul 1990
24 Jun 1989
Notes: 1989 was the inaugural year. The course follows the Baden Powell Trail
from Horseshoe Bay (West Vancouver) to Deep Cove (North Vancouver) and is almost
entirely run on trails with roughly 8000 feet (2440 meters) of ascent and 8300
feet (2530 meters) of descent. The 1989 race was a group run with eight
finishers, Louis Briere, David Brown, Tom Brown, Gavin Cameron, Shane Collins,
Enzo Federico, Rob Hartvikson, and Brendan Kennelly.
11 Jul
2015
4:51:34
Christopher Jones (CAN)
5:35:56
Darbykai Standrick (CAN)
12 Jul
2014
4:40:49
Mike Murphy
5:42:23
Kim Magnus
13
Jul 2013
4:41:28
Gary Robbins (BC/CAN)
5:29:13
Ann Lanari (BC/CAN)
14
Jul 2012
4:56:43
Nathan Barrett (BC/CAN)
5:53:20
Lisa Polizzi (BC/CAN)
09
Jul 2011
4:53:06
Aaron
Heidt-2
5:41:19
Louise Oram (BC/CAN)
10
Jul 2010
4:58:13
Adam Campbell (BC/CAN)
5:06:09
Ellie
Greenwood-2
11 Jul
2009
4:39:52
Aaron Heidt (BC/CAN)
5:36:24
Ellie Greenwood (BC/SCO)
12 Jul
2008
4:53:26
Peter
Findlay-7
5:50:44
Nicola Gildersleeve (BC/CAN)
4:52:49
Kevin
Titus-2
5:26:10
Suzanne Evans-3
5:08:26
Mark
Bates-2
5:18:57
Suzanne Evans-2
5:05:40
Mark Bates (BC/CAN)
5:45:00
Suzanne Evans (BC/CAN)
5:02:21
Peter
Findlay-6
5:44:39
Patricia Jensen-2
4:42:37
Kevin Titus (BC/CAN)
5:41:23
Patricia Jensen (BC/CAN)
4:45:43
Colin Dignum (BC/CAN)
6:05:26
Jacquie Trudeau (BC/CAN)
5:21:42
Keith Wakelin (BC/CAN)
5:45:35
Alexandra Watson (BC/CAN)
5:13:55
Derek
Reed-3
6:27:21
Arlene Schieven (BC/CAN)
5:04:15
Derek
Reed-2
6:09:09
Alana Prociuk (BC/CAN)
4:55:44
Derek Reed (ON/CAN)
5:59:25
Tracy Lavin (BC/CAN)
4:47:04
Frank Wolf (BC/CAN)
5:46:38
Nicola Hastings-2
5:11:30
Johan Kruus (BC/CAN)
5:45:41
Nicola Hastings (BC/CAN)
5:00:58
Paul Quinn (BC/CAN)
5:45:36
Martha Swatt (WY/USA)
4:47:18
Peter
Findlay-5
5:46:29
Mary
Nicell-3
4:59:14
Peter
Findlay-4
6:00:48
Deborah Askew (BC/CAN)
4:59:01
Peter
Findlay-3
6:32:45
Nola Patterson (BC/CAN)
4:45:11
Peter
Findlay-2
6:39:00
Mary
Nicell-2
5:15:00
Peter Findlay (BC/CAN)
6:43:52
Mary Nicell (BC/CAN)
8:30:
(8 way tie)
Most Wins
(1989-date)
Men
7
Peter Findlay
(BC/CAN)
1990-94,2004,2008
Women
3
Mary Nicell
(BC/CAN)
1990-91,1994
Suzanne Evans
(BC/CAN)
2005-07
Prize Money
(ARRS qualified runners only)
No information on prize money has been received for this race.
Race Time Bias
(sec/km)
The race time bias is not
calculated for distances beyond 45 km..
Competitive Level
(1990-date)
Insufficient data to calculate the competitive level.
Finishers
Year M+F
2015 212
2014 192
2013 237
2012 189
2011 198
2010 192
2009 188
2008 188
2007 193
2006 190
2005 173
2004 196
2003 163
2002 151
2001 170
2000 158
1999 154
1998 154
1997 146
1996 125
1995 143
1994 131
1993 114
1992 92
1991 89
1990 52
1989 8
Sum 4198
Last Updated on
23 Jan 2016
Contributors: Maurice Wilson (50), Juraj Gasparovic (10), Klaas Loonstra (10)


| CS 216 - Data Structures
Homework #9 |
Due: before class on Wednesday 4/17
Poker Shuffle is a variant of Poker Squares where player(s) are allowed to rearrange cards at any time. Whereas Poker Squares has a player commit a card to a grid position, a Poker Shuffle player may rearrange cards in the grid so as to optimize their score. In this assignment, you will be creating a Poker Shuffle playing program.
Call your program PokerShuffle.java. It will be based on our Poker Shuffle contest code and stochastic local search code we will create together in class. From standard input, you will read 25 cards represented as space-separated two-character String according to the Card class toString method. (Card objects may then be looked up using Card.cardMap.)
Next you will run simulated annealing for 1000000 iterations so as to find a card grid maximizing the return value of PokerSquares.getScore(Card[][]). You will need to experiment with different initial temperatures and decay values to get peak performance.
Finally, you will print the optimized grid using the PokerSquares.printGrid method to show the resulting optimized grid. Below are a series of example runs including both the input line of 25 cards and the output optimized Poker Shuffle grid. Note: You are not expected to get the same output (even transposing rows and columns). Also, these are not necessarily optimal grids. However, they are representative of performance you can achieve with modest parameter tuning of our basic simulated annealing, and you should use them to test your code's performance.
JC 9D 9S 6H 2C TH TS 6S AS 8S KC 2S KD 4H 5H AH AD QD 6D 2H 5S 7H AC 7C 8D 6D 2S 6H 2H 2C 25 8D 6S 5S 4H 7C 15 QD 9S 8S TH JC 15 KD TS 9D 5H KC 2 AD AS 7H AH AC 50 20 20 15 20 20 202 Total
7C AD TS 7S QS 5C JC QH JH 2S QC KD 8H KS 4C 5D TH AS 9C 9D TC 5H 8C 3D QD 7C 5C 5H 7S 5D 25 9C QS 4C 2S 9D 2 8C QD 8H TS 3D 2 TC QC JH KS AD 15 JC QH TH AS KD 15 75 50 0 20 20 224 Total
5S 2S JH 8S 8H 2C 7S AD 6D KH AS QC QS 3D 3S 9D QH AC 4S KS 8C 4C JD 5H 6C KS KH AS AD AC 25 7S 8H 5S 9D 6C 15 8S 5H 4S 6D 4C 2 8C JH 2S JD 2C 5 QS QH 3S 3D QC 25 2 20 75 20 20 209 Total
AC 8S 4H JD 6D 7D KH TC 9C KS JH 6H QH JC QD 5H 8C 4S KD 3C 2S JS AH 3D 3S 3C 4S 3D 3S 4H 25 AC KS KD KH AH 25 TC JS JD JC JH 50 8C 2S QD 6D QH 2 9C 8S 7D 6H 5H 15 20 20 20 2 20 199 Total
AC KH 4D 2S 3S TS TH 4H 5D JD 7H 8C AD 7D KS QD 3D AS QC QS 3H JS 4C 9S 5H 2S 4C 3S AC 5D 15 7H 4H 3H KH 5H 20 KS TS JS AS QS 100 7D 4D 3D AD QD 20 8C TH JD 9S QC 15 2 25 25 10 25 257 Total
6H 9D 4C 6S 9C QD 3C 4D 5H 2C 3H JD AC 9H QH 2S 7H JC QS QC AS TH JH 3D KH JC 9C 3C QC AC 20 6H 2C 3H 5H 4C 15 6S 2S 7H QS AS 0 JH 9H TH QH KH 75 JD 9D 3D QD 4D 20 25 25 10 50 5 245 Total
6S AH 3D TS 7D 8C QD TD JS 5D JD 7H 6H JH 2H 9H 4C AS QS 6C AC 6D KC 4S 3C TS QD KC JD AH 15 4S 7D AC JS 7H 2 AS 5D 4C 3D 2H 15 QS TD 8C JH 9H 15 6S 6D 6C 3C 6H 50 20 20 20 25 20 202 Total
9S JS 6C 3H 4H 9D 3D 8H 2H 5C 9C 4D JH 7C 7H 6H 6S 2C AH QD 8D TH KH 2S JC 9D 9C 9S 4H 4D 25 7H 7C JS JH 5C 5 TH JC QD KH AH 15 6S 6C 3D 6H 3H 25 8H 2C 8D 2H 2S 25 15 20 0 20 15 165 Total
9D TS 3D 7H KC 7C 4C 2S AS JD TH 8D 3H TC JS JH 3C 5C 2D 7S 2H 8C 6S 5D 6D 7S TS 2S AS JS 20 3C 6S 2D 4C 5D 15 7H TH 2H 3H JH 20 3D 6D 8D 9D JD 20 7C TC 8C KC 5C 20 25 25 25 0 25 195 Total
6C QC 2H 7H JD AS AH 3C 3H 9D KH 9S JC JH KD QH TH TC 6H JS 4H 7D AC 8C KC AH 7D AS 7H AC 25 QH 9S 9D 2H QC 5 TH 3C 8C 3H TC 5 KH KD 6C 6H KC 25 JH JS JD 4H JC 50 100 0 0 20 100 330 Total
Before:
After:


--- layout: post status: publish published: true title: WF Tracking Services Explained author: display_name: Tomas Restrepo login: tomasr email<EMAIL_ADDRESS>url: http://winterdom.com/ author_login: tomasr author_email<EMAIL_ADDRESS>author_url: http://winterdom.com/ wordpress_id: 349 wordpress_url: http://winterdom.com/2007/02/wftrackingservicesexplained date: '2007-02-06 13:52:42 +0000' date_gmt: '2007-02-06 13:52:42 +0000' categories: - WinFX - Workflow tags: [] comments: [] ---
Two new articles just got published to MSDN covering the Tracking facilities in Windows Workflow Foundation in great detail.
The first one is "Windows Workflow Foundation: Tracking Services Introduction", by David Gristwood, and provides a high-level introduction to what Tracking is and how it works in WF. It also shows how to instrument (add tracking) to a workflow and a brief example of how to use SqlTrackingQuery on your app to read the information written by the workflow tracking service. Towards the end, the article discusses Tracking Profiles and what they do.
The second article is "Windows Workflow Foundation: Tracking Services Deep Dive" by Ranjesh Jaganathan, and this one focuses on the underpinings of the tracking facilities. One thing I liked here was the whole discussion about how profiles, trackpoints and locations are related to one another, as they provide a clear overview of how it works for anyone wanting to create custom tracking profiles, as well as how to use Extracts in your trackpoints to extract the data you want tracked from your workflow and activity instances.


Dyuthi's Vehicle Expectations
Use This Website To Help You Learn the Rules and Expectations When You Ride One of My Vehicles:)


Your Selection
Description:
Size Selection:
6" inch
8" inch
(+$12.00)
10" inch
(+$16.00)
Number of Candles:
Submit


Clide is a tool for creating automated demos for terminal-based applications. Using a json file, you can script out a demo in the terminal to free your hands up from having to copy and paste commands, or handle typos when you're in the middle of giving a presentation.
This page contains download links for .deb and .rpm packages for installation on debain and rpm based linux distributions. To install clide, click the download for your operating system and install the package using your operating systems default software manager. Alternatively you can clone the repository or download the source code and use the makefile command make install to install clide from the source code. See the project's github page and readme for more information regarding setting up dependencies for development and to build the application from the source.
The demos included with the binary are demo, windows, and network. These json files can be found in the /usr/share/clide/examples folder for reference. Looking at the included demo json files is a good starting point to see all the options available when creating a demo with clide. Note that some included demos may use linux packages not installed on your system. If you see an error about a command not running because a program is not installed, you must install the package for the demo to execute properly.
Follow the docs link at the top of the page to get information about what each of the possible json fields will do for your demo.
Clide is built to seamlessly manage complete cli demo. To achieve this, clide has features that allow for clearing the window, running multiple windows, running commands hidden from the window, and many more. Clide also comes packaged with a graphical editor that makes it easy to create a new clide demo using all the available features, as well as converting a script file into a runnable clide demo directly.
A more extensive list of features clide supports are below:
To get started developing with clide, follow the github link at the top right of the page. From there you can clone or fork the project and customize as you please.
The docs link at the top of the page includes information about the clide package and structs within it.


Character sheets for:
Drinking Quest: The Original Drinking RPG
Drinking Quest 2: Yeddy Vedder's Yeti Adventure
Drinking Quest 3: Nectar Of The Gods
Drinking Quest 4: Journey Into Draught
report an issue


Information Design Claims
-
Claim 1: The search interface.
- + Dave was able to quickly find the Miley Cirus video due to the obvious search button
on his phone. He was able to enter a textual query, rather than scroll through elaborate menus.
- - The search feature requires Dave to type. Since his phone does not have a physical keyboard,
Dave didn't have the easiest time communicating his query to the phone.
-
Claim 2: The drawer.
- + Dave was able to utilize the play control "drawer" nicely to separate and organize his DJ
thought processes. He didn't have to worry about accidentally changing the pitch this time when
changing a song, since the "drawer" was hidden when he was picking.
- - The "drawer" isn't everywhere. When Dave was on the AutoEQ screen, he had to press the
back button before the software would allow him to get to his play controls.
-
Claim 3: The AutoEQ.
- + Although Dave is no expert DJ, he was able to accomplish an advanced task rather easily with
the AutoEQ screen. Drawing on the screen was much more intuitive for him than using a knob or slider.
- - The AutoEQ screen presented another layer of software depth. Dave couldn't access his play controls,
and was punished for spending too long playing with the screen.
-
Claim 1: The volume/pitch combination.
- + Combining the volume with the pitch in the multitouch interface led to better sounding
"mash-ups" and a less embarassed, more popular DJ.
- - Even though the mistake was less obvious, to the attentive listener, it is still as embarassing.
It isn't a real fix for the problem, but rather a bandage.
-
Claim 2: The volume/pan combination.
- + Combining the volume with the pan in the multitouch interface led to a new, unique sound
that isn't common, or easily possible using a standard laptop.
- - As the DJ get's more into it, and more sweaty, he starts to lose the control he would have
with physical controls.


https://www.zoo.cam.ac.uk/research/groups/connectomics
https://twitter.com/albertcardona
https://www.lee.hms.harvard.edu/resources
Reference: Reconstruction of motor control circuits in adult Drosophila using automated transmission electron microscopy; Maniates-Selvin et al. 2020


Find a Friend!
Click start below
Start
Please anwser the question below to match you with a friend.
Whats your name?
Upload your Image Url
What is your favorite car?
Volvo
Saab
Mercedes
Audi
What is your favorite music?
Pop
Rock
Blues
Hip-Hop
What is your favorite color?
Green
Blue
Yellow
Purple
What is your favorite food?
Chinese
Mexican
Greek
Italian
What is your favorite sport?
Basketball
Football
Hockey
Baseball
Submit
Reset


Converter
Update Exchange Rates
From Rate:
To Rate:
Amount:
Submit
Result
{{symbol}} {{converted_amount}}
Transaction History
Date
Transaction
Amount
{{ item.Date }}
{{ item.Transaction }}
{{ item.symbol }} {{ item.rate }}


Advanced topics¶
Environment settings¶
Options in the pyglet.options dictionary can have defaults set through the operating system’s environment variable. The following table shows which environment variable is used for each option:
Environment variable pyglet.options key Type Default value PYGLET_AUDIO audio List of strings directsound,opeanl,alsa,silent PYGLET_DEBUG_GL debug_gl Boolean 1 [1]
| [1] | Defaults to 1 unless Python is run with -O or from a frozen executable. |


AMAZING PEOPLE ARE MAKING AMAZING DESIGNS IN A FUN ENVIRONMENT
When you work with us, you are part of a team of committed collaborators. All aspects of our software development process are intergrated, interactive and agile.
Our approach unifies design, development and product management to create exceptional products
We start each project by understanding your business goals, the user's needs and the product requirements.
Then we help translate them into effective and elegant solutions.
Before we sign a contract or write a line of code our team our team will spend the necessary time needed to understand your product vision
The outcome of this scoping session is proposal or high-level statement of work
Based on your requirements, we can provide a complete offering or just the pieces you need.


Apply a function to each row of a database result set.
Convert dataframe column types.
Test how dataframes are the same / different.
Find duplicate keys in a dataframe.
Install prior version of a package.
Update a readr column specification.
Create sql_list_xyz functions.
Column names and types in a dataframe.


{% extends "layout.html" %} {% block content %}
{{ uri }}
| Property | Value |
|---|---|
| Are low income 1 to 499 wk | {{ are_low_income_1_to_499_wk }} |
| Are medium income 500 to 1499 wk | {{ are_medium_income_500_to_1499_wk }} |
| Are high income 1500 plus wk | {{ are_high_income_1500_plus_wk }} |
| Are in public housing | {{ are_in_public_housing }} |
| Are all unemployed | {{ are_all_unemployed }} |


| practical2_model | index c:\users\liz\documents\python\geog5995\practicals\abm\restart\practicals---final\submission\practical2_model.py |
Created on Mon Sep 30 08:45:49 2019
@author: Liz Osbourn
This file is covered by the LICENSING file in the root of this project.
Makes num_of_agent agents, moves 2 agents num_of_iterations iterations
and defines distance_between to calculate distance betwen 2 agents.
Agents have (y,x) coordinates
Plots 2 agents at final postions
Colours most easterly point red
| Modules | ||||||
|
| Data | ||
| agents = [[6, 83], [4, 57]] distance_between = 26.076809620810597 i = 2 most_easterly = [6, 83] num_of_agents = 2 num_of_iterations = 3 |


Here’s how TransLink says you can prepare for the SkyTrain shutdown tomorrow
by Elana ShepertTransLink is preparing customers after CUPE 7000, the union representing 900 SkyTrain workers, announced that it would forward with full withdrawal of services on Tuesday, Dec. 10.
The transit authority released a statement listing a number of options for riders if union job action causes a total Expo and Millennium Line shut down December 10, 11 and 12. It adds that they, “should be aware the travel options will not match the level of service these SkyTrain lines provide.”
With this in mind, TransLink notes that the following services will be operating normally, including:
- Canada Line
- West Coast Express
- Coast Mountain Bus
- West Vancouver Blue Bus
- HandyDART
- SeaBus
Earlier today, Coast Mountain Bus Company announced that it would not be increasing bus service in response to the planned strike given operational constraints and labour considerations. As such, customers should expect heavier passenger volume.
If possible, customers are advised to make other arrangements such as:
- Using one of our park and rides to connect to bus service
- Travelling outside of rush hours
- Working from home
- Using a carpooling service such as Liftango and gobyRIDE
- Walking or cycling to work
- Free bike valet service at Vancouver Public Library from 7:30 a.m. to 6:00 p.m.
To plan a trip without SkyTrain, both TransLink’s Trip Planner and Google Maps have an option to exclude SkyTrain. Visit translink.ca/stayinformed to learn more about alternative travel options.


WITNESS LIST Insurance Committee March 26, 2001-10:30A HB 1609 For: Brownawell, Jeff (Memorial Hermann Hospital System) Caffey, Carolyn (Methodist Healthcare System; Texas Hospital Association) McGiffert, Lisa (Consumers Union) Thomas, Jemma (Texas Hospital Association; Texas Children's Hospital) Vaughan, Ron (Tenet Health Systems - Texas Region) Woodard, Debbie (Texas Health Resources; Texas Hospital Association) Against: Collins, M.D., Shirla Owens (Community Health Choice, Inc.) Davis, Will (Texas Association Life & Health Insurers) Richey, Darrell S. (Golden Rule Insurance Company) Rummel, Leah (Texas Association of Health Plans) Taylor, M.D., William (Aetna) Thomas, Milton (Cigna Healthcare of Texas, Inc.) Underwood, Rene (Cigna) HB 1676 For: Ashley, Mark (Self and Centre for Neuro Skills) Balbu McConn, Judith (Our Children's House at Baylor) Carlile, M.D., Mary (Self and Baylor Institute for Rehabilitation) Colbert, Calvin (Self and Dallas Brain Injury Association) Corsor, Kevan (University of Texas Medical Branch) Creacy, Allene (Self) Crocket, Karen (Self) Deluca, Elizabeth (Self) Erhardt, John (Self) Fruge, Donna (Self) Fulbright, Ph.D., Richard (Self) Hunt Harper, Sara (Self) Keeney, Paulette (Self and Recovery Awareness Foundation) Kilpack, Travis (Self) Kirk, Lynda (Self) Latham, Jeffery W. (Self and Texas Traumatic Brain Injury Advisory Committee) Locklear, Ken (Self) McDonald, M.D., Frank (Our Children's House at Baylor) Misko, James (Self and Brown-Karhan Rehabilitation Center) Scarbrough, William (Baylor University Medical Center) Stelly-Seitz, M.D., Charlotte (Self) Temperley, Beth (Self) Thomas, Kathy (Self) Thrower, Robyn (Self) Against: Davis, Will (Texas Association of Life & Health Insurers) HB 1862 For: Bonnen, M.D., Greg (Self) Brownawell, Jeff (Memorial Hermann Hospital System) Cook, Cheryl (Self) Denison, Barbara (Self and George W. Childress, M.D.) Edwardson, Jim (Urology Associates of North Texas) Grigsby, Katherine (Self and a Physician Group) Hendricks, Peggy (Austin Ear, Nose & Throat Clinic) Hendrix, Harry (Capitol Anesthesiology Association) Henry, Margaret (Austin Diagnostic Clinic, PA) Herndon, Paul (Texas Children's Pediatric Associates) Johnston, Thomas (Cardiothoracic and Vascular Surgeons, PA) Kanter, Anne (Methodist Healthcare System of San Antonio, LTD; H.C.A.; Texas Hospital Association) Lang, Layton (Dallas Surgical Group) Mueller, Valery (Total Reimbursement; V. Mueller, Inc.) Neorr, Steve (Medical Clinic of North Texas) Perryman, Kevin (Self and Primary Pediatric Medical Association, PA) Pruden, Tim (Texas Pulmonary Consultants, PA) Rogers, M.D., David (Self and Collin-Fannin County Medical Society) Shepherd, Karol (Austin Cardiovascular Association, PA) Tallman, M.D., Richard (Self and The Austin Diagnostic Clinic) Thomas, Marjorie (Self and David E. Rogers, M.D.) Weinberg, Linda (Self and Denton County Medical Association) Woodard, Debbie (Texas Health Resources; Texas Hospital Association) Against: Fleishman, Neill (Blue Cross Blue Shield of Texas) Glenn, Eric (Humana, Inc.) Hooser, Greg (Texas Association of Insurance Officials) Keeling, Dan (Pacificare of Texas) Kloster, Jeff (Health Insurance Association of America) Luke, Ron (Texas Association of Business & Chambers of Commerce) Pollard, Mike (Texas Association of Life & Health Insurers) Richey, Darrell (Golden Rule Insurance Co.) Schrader, Anita (Golden Rule Insurance Co.) Taylor, M.D., William (Aetna) Thomas, Milton (CIGNA Healthcare of Texas, Inc.) Thompson, Jay (Texas Association of Life & Health Insurers) Underwood, Rene (CIGNA) On: King, Dr. Brent (University Care Plus) HB 1866 For: Desmond, Robert (Texas Health Care Purchasing Alliance) Hocker, Austin (Texas Health Care Purchasing Alliance) Pinkus, David (Small Business United of Texas) Ward, Gloria (Self) HB 2127 Against: Pollard, Mike (Texas Association of Life & Health Insurers) HB 2159 For: Davis, Will (Texas Associaiton Life & Health Insurers) DeLeon, Hector (Service Life and Casualty Insurance Company) Thompson, Jay (Texas Association of Life & Health Insurers) Against: Schneider, Rob (Consumers Union) On: Bordelon, Rod (Office of Public Insurance Counsel) HB 2482 For: Davis, Will (Texas Association of Life & Health Insurers) Stevens, Marybeth (American Council of Life Insurers) On: McGiffert, Lisa (Consumers Union) HB 2871 For: Schneider, Rob (Consumers Union) Against: Geiger, Richard (Association of Fire and Casualty Companies in Texas) Huxel, Bob (Farmers Insurance Group) HB 3012 Against: Kloster, Jeff (Humana, HIAA) Pollard, Mike (Texas Assoc. of Life and Health Insurers) Rummel, Leah (Texas Assoc. of Health Plans) HB 3079 Against: Geiger, Richard (Association of Fire and Casualty Companies in Texas) On: Johnson, Gary (Texas Comptroller's Office) HB 3346 Against: Geiger, Richard (Association of Fire and Casualty Companies in Texas) Ruggiero, Denise (State Farm Insurance Companies) HB 3444 For: Davis, Will (Texas Association of Life and Health Insurers) Fleishman, Neill (Blue Cross Blue Shield of Texas) Luke, Ron (Texas Association of Business and Chambers of Commerce) McGiffert, Lisa (Consumers Union) McPherson, Kim (The Mental Health Association in Texas) On: Spalding, Richard (Self and Association of Substance Abuse Programs)


Universal Works and adidas Join Forces For Elevated Winter Running Collection
Centered around two fresh takes on the UltraBOOST 2019.
by Ross DwyerContemporary British menswear brand Universal Works and adidas have teamed up for an elevated winter running collection. Following the recent Wood Wood capsule, Universal Works’ efforts mark the second piece of adidas Running‘s four-part “Run City” pack, releasing over the course of Fall/Winter 2019. Centered around two takes on the UltraBOOST 2019, the Universal Works x adidas collection presents durable, appealing running garments that complement the revamped sneakers.
Universal Works co-founder David Keyte drew inspiration from running through London’s cold, wet winter streets for the offering; this arduous undertaking demands hardy, high-quality garments. However, Keyte believes that you don’t need to sacrifice aesthetic standards to fulfill this goal, stating, “I want to run in items that are still going to look good when you stop at the coffee shop afterwards.” Therefore, the collection is dressed in rich royal blue and elegant tan tones and features materials you wouldn’t normally expect to see on technical running apparel, like cozy wool.
Comprising a jacket, vest, shirt, running tights, shorts, hat and shoulder bags, each piece blends hi-spec textiles with a muted, earthy color palette for versatile styling. This sport-meets-street ethos is apparent on the two UltraBOOST 2019 models as well. Arriving in both tan and white, each pair trades out its standard synthetic midfoot cage for sturdy-yet-supple suede, adding marbled detailing on the outsole for additional visual interest. Of course, the UltraBOOST‘s signature cushioning and support remain fully intact.
The Universal Works x adidas Running collection will release on adidas.com and at select stockists on November 23. You can expect the “Run City” collection to continue later into the season by way of collaborations with NEIGHBORHOOD and Monocle.
adidas Originals is gearing up to present its own partnered projects as well: it recently teamed with 424 for monochromatic leather takes on the SC Premiere and Pro Model.
Universal Works x adidas “Run City” Collection
Release Date
November 23, 2019 - 10:00 am EST (TBC)
Price
TBC


Mars Culture Department Faculty
Our two faculty members have spent their entire lives as the sole researchers for the intriquite cultures of all life on Mars. These esteemed men have paved the way for scientists of the next generation to understand how the culture on Mars functions and how to better understand how complicated it is.
|
|
| Tony Brock |
Danny Nelson |


Train Schdule
Current Train Schdule
Train Name
Destination
Frequency (min)
Next Arrival
Minutes Away
Add Train
Train Name
Destination
First Train Time (HH:mm - military time)
Frequency (min)
Submit


Initiator Redeem Page
Initiator Public Key:
Participant Public Key:
Secret:
If funds go unclaimed, they can be refunded after
:
Contract has been funded with
DASH.
Pay To Address:
Private Key for this Address:
Transaction
submitted to Dash network.


Setting up Visual Studio to work with Umbraco
Over the last 12 months I have been involved with developing several Umbraco-powered websites. During that time I’ve experienced many development frustrations; specifically with debugging and version control.
A while back I read Paul Sterling’s blog post on “Working with Umbraco in Visual Studio” – I used this as my basis. I have added to his orignal suggestions:
- Have a clean, working copy of Umbraco – using the installer – on your machine. I am using:
C:\inetpub\wwwroot\umbraco
for my working copy of the site. - My Visual Studio solution/project will be kept under version-control. Since I use Subversion, (with TortoiseSVN and VisualSVN), I prefer to keep all my code under:
C:SVN
- In the Visual Studio project, I create the following folders:
/_templates
/css
/scripts
/usercontrols
/xslt
These folders reflect the files that will be used in my Umbraco site. The “/_templates
” folder is used to store a text-based version of Umbraco templates, so that I can keep them under version-control; as I’ve had a situation in the past where someone copied over the wrong template – not very pretty.
- In Visual Studio, create a post-build event [from Project > Properties > Build Events] to copy all your working files across to your Umbraco installation.
XCOPY "$(ProjectDir)bin\$(ProjectName)\*.*" "C:\Inetpub\wwwroot\umbraco\bin" /y
XCOPY "$(ProjectDir)usercontrols\*.ascx" "C:\Inetpub\wwwroot\umbraco\usercontrols" /y
XCOPY "$(ProjectDir)xslt\*.xslt" "C:\Inetpub\wwwroot\umbraco\xslt" /y
XCOPY "$(ProjectDir)scripts\*.js" "C:\Inetpub\wwwroot\umbraco\scripts" /y
You may notice that I am not copying across the *.css
stylesheet files across to Umbraco. The reason for this is that the current version of Umbraco (v3.0.3) stores the contents of the CSS files in the database, and not on the file-system.
You can either set the “Run the post-build event” whichever option you prefer.
- Once your files have been copied across to Umbraco, you can debug your code in Visual Studio:
- Open the site (usually http://localhost/) in your web-browser.
- In Visual Studio select the Debug > Attach to Process menu.
- Select the ASP.NET worker process from the list – this is usually called “
aspnet_wp.exe
” or “w3wp.exe
” – then press OK.
It’s important to note that I am developing on Visual Studio 2008; but the same prinicple should apply to VS.NET 2005. (Update: It isn’t so straight-forward in VS.NET 2005, see Brad’s comment for further details.)
I’m still looking at ways to improve my development set-up with Umbraco/Visual Studio, so if anyone has any tips – please pass them my way! I’m especially interested in ways of dynamically updating the stylesheets/templates via the Umbraco API.
Update: I originally wrote this post for use with Umbraco v3. If you are looking for a v4 post, check out the CG09 session write-up over at Our Umbraco. The main difference is that you wont need the /_templates/ folder, just replace it with the /masterpages/ folder, and add it to the post-build events.


Extends initializer to add more configuration options.
behavior<Symbol> |
The actions default behavior. Can be :invoke or :revoke. It also accepts :force, :skip and :pretend to set the behavior and the respective option. |
destination_root<String> |
The root directory needed for some actions. |
# File lib/bundler/vendor/thor/lib/thor/actions.rb, line 73 def initialize(args = [], options = {}, config = {}) self.behavior = case config[:behavior].to_s when "force", "skip" _cleanup_options_and_set(options, config[:behavior]) :invoke when "revoke" :revoke else :invoke end super self.destination_root = config[:destination_root] end
Append text to a file. Since it depends on insert_into_file, it’s reversible.
path<String> |
path of the file to be changed |
data<String> |
the data to append to the file, can be also given as a block. |
config<Hash> |
give :verbose => false to not log the status. |
append_to_file 'config/environments/test.rb', 'config.gem "rspec"' append_to_file 'config/environments/test.rb' do 'config.gem "rspec"' end
# File lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb, line 186 def append_to_file(path, *args, &block) config = args.last.is_a?(Hash) ? args.pop : {} config[:before] = /\z/ insert_into_file(path, *(args << config), &block) end
Loads an external file and execute it in the instance binding.
path<String> |
The path to the file to execute. Can be a web address or a relative path from the source root. |
apply "http://gist.github.com/103208" apply "recipes/jquery.rb"
# File lib/bundler/vendor/thor/lib/thor/actions.rb, line 211 def apply(path, config = {}) verbose = config.fetch(:verbose, true) is_uri = path =~ %{^https?\://} path = find_in_source_paths(path) unless is_uri say_status :apply, path, verbose shell.padding += 1 if verbose contents = if is_uri open(path, "Accept" => "application/x-thor-template", &:read) else open(path, &:read) end instance_eval(contents, path) shell.padding -= 1 if verbose end
Changes the mode of the given file or directory.
mode<Integer> |
the file mode |
path<String> |
the name of the file to change mode |
config<Hash> |
give :verbose => false to not log the status. |
chmod "script/server", 0755
# File lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb, line 139 def chmod(path, mode, config = {}) return unless behavior == :invoke path = File.expand_path(path, destination_root) say_status :chmod, relative_to_original_destination_root(path), config.fetch(:verbose, true) unless options[:pretend] require "fileutils" FileUtils.chmod_R(mode, path) end end
Comment all lines matching a given regex. It will leave the space which existed before the beginning of the line in tact and will insert a single space after the comment hash.
path<String> |
path of the file to be changed |
flag<Regexp|String> |
the regexp or string used to decide which lines to comment |
config<Hash> |
give :verbose => false to not log the status. |
comment_lines 'config/initializers/session_store.rb', /cookie_store/
# File lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb, line 301 def comment_lines(path, flag, *args) flag = flag.respond_to?(:source) ? flag.source : flag gsub_file(path, /^(\s*)([^#|\n]*#{flag})/, '\1# \2', *args) end
copy_file "README", "doc/README" copy_file "doc/README"
# File lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb, line 21 def copy_file(source, *args, &block) config = args.last.is_a?(Hash) ? args.pop : {} destination = args.first || source source = File.expand_path(find_in_source_paths(source.to_s)) create_file destination, nil, config do content = File.binread(source) content = yield(content) if block content end if config[:mode] == :preserve mode = File.stat(source).mode chmod(destination, mode, config) end end
Create a new file relative to the destination root with the given data, which is the return value of a block or a data string.
destination<String> |
the relative path to the destination root. |
data<String|NilClass> |
the data to append to the file. |
config<Hash> |
give :verbose => false to not log the status. |
create_file "lib/fun_party.rb" do hostname = ask("What is the virtual hostname I should use?") "vhost.name = #{hostname}" end create_file "config/apache.conf", "your apache config"
# File lib/bundler/vendor/thor/lib/thor/actions/create_file.rb, line 22 def create_file(destination, *args, &block) config = args.last.is_a?(Hash) ? args.pop : {} data = args.first action CreateFile.new(self, destination, block || data.to_s, config) end
Create a new file relative to the destination root from the given source.
destination<String> |
the relative path to the destination root. |
source<String|NilClass> |
the relative path to the source root. |
config<Hash> |
give :verbose => false to not log the status. |
|
give :symbolic => false for hard link. |
create_link "config/apache.conf", "/etc/apache.conf"
# File lib/bundler/vendor/thor/lib/thor/actions/create_link.rb, line 17 def create_link(destination, *args) config = args.last.is_a?(Hash) ? args.pop : {} source = args.first action CreateLink.new(self, destination, source, config) end
Returns the root for this thor class (also aliased as destination root).
# File lib/bundler/vendor/thor/lib/thor/actions.rb, line 100 def destination_root @destination_stack.last end
Sets the root for this thor class. Relatives path are added to the directory where the script was invoked and expanded.
# File lib/bundler/vendor/thor/lib/thor/actions.rb, line 107 def destination_root=(root) @destination_stack ||= [] @destination_stack[0] = File.expand_path(root || "") end
Copies recursively the files from source directory to root directory. If any of the files finishes with .tt, it’s considered to be a template and is placed in the destination without the extension .tt. If any empty directory is found, it’s copied and all .empty_directory files are ignored. If any file name is wrapped within % signs, the text within the % signs will be executed as a method and replaced with the returned value. Let’s suppose a doc directory with the following files:
doc/ components/.empty_directory README rdoc.rb.tt %app_name%.rb
When invoked as:
directory "doc"
It will create a doc directory in the destination with the following files (assuming that the `app_name` method returns the value “blog”):
doc/ components/ README rdoc.rb blog.rb
Encoded path note: Since Bundler::Thor internals use Object#respond_to? to check if it can expand %something%, this `something` should be a public method in the class calling directory. If a method is private, Bundler::Thor stack raises PrivateMethodEncodedError.
source<String> |
the relative path to the source root. |
destination<String> |
the relative path to the destination root. |
config<Hash> |
give :verbose => false to not log the status. If :recursive => false, does not look for paths recursively. If :mode => :preserve, preserve the file mode from the source. If :exclude_pattern => /regexp/, prevents copying files that match that regexp. |
directory "doc" directory "doc", "docs", :recursive => false
# File lib/bundler/vendor/thor/lib/thor/actions/directory.rb, line 49 def directory(source, *args, &block) config = args.last.is_a?(Hash) ? args.pop : {} destination = args.first || source action Directory.new(self, source, destination || source, config, &block) end
Creates an empty directory.
destination<String> |
the relative path to the destination root. |
config<Hash> |
give :verbose => false to not log the status. |
empty_directory "doc"
# File lib/bundler/vendor/thor/lib/thor/actions/empty_directory.rb, line 13 def empty_directory(destination, config = {}) action EmptyDirectory.new(self, destination, config) end
Receives a file or directory and search for it in the source paths.
# File lib/bundler/vendor/thor/lib/thor/actions.rb, line 132 def find_in_source_paths(file) possible_files = [file, file + TEMPLATE_EXTNAME] relative_root = relative_to_original_destination_root(destination_root, false) source_paths.each do |source| possible_files.each do |f| source_file = File.expand_path(f, File.join(source, relative_root)) return source_file if File.exist?(source_file) end end message = "Could not find #{file.inspect} in any of your source paths. ".dup unless self.class.source_root message << "Please invoke #{self.class.name}.source_root(PATH) with the PATH containing your templates. " end message << if source_paths.empty? "Currently you have no source paths." else "Your current source paths are: \n#{source_paths.join("\n")}" end raise Error, message end
Gets the content at the given address and places it at the given relative destination. If a block is given instead of destination, the content of the url is yielded and used as location.
source<String> |
the address of the given content. |
destination<String> |
the relative path to the destination root. |
config<Hash> |
give :verbose => false to not log the status. |
get "http://gist.github.com/103208", "doc/README" get "http://gist.github.com/103208" do |content| content.split("\n").first end
# File lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb, line 76 def get(source, *args, &block) config = args.last.is_a?(Hash) ? args.pop : {} destination = args.first if source =~ %{^https?\://} require "open-uri" else source = File.expand_path(find_in_source_paths(source.to_s)) end render = open(source) { |input| input.binmode.read } destination ||= if block_given? block.arity == 1 ? yield(render) : yield else File.basename(source) end create_file destination, render, config end
Run a regular expression replacement on a file.
path<String> |
path of the file to be changed |
flag<Regexp|String> |
the regexp or string to be replaced |
replacement<String> |
the replacement, can be also given as a block |
config<Hash> |
give :verbose => false to not log the status. |
gsub_file 'app/controllers/application_controller.rb', /#\s*(filter_parameter_logging :password)/, '\1' gsub_file 'README', /rake/, :green do |match| match << " no more. Use thor!" end
# File lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb, line 255 def gsub_file(path, flag, *args, &block) return unless behavior == :invoke config = args.last.is_a?(Hash) ? args.pop : {} path = File.expand_path(path, destination_root) say_status :gsub, relative_to_original_destination_root(path), config.fetch(:verbose, true) unless options[:pretend] content = File.binread(path) content.gsub!(flag, *args, &block) File.open(path, "wb") { |file| file.write(content) } end end
Goes to the root and execute the given block.
# File lib/bundler/vendor/thor/lib/thor/actions.rb, line 195 def in_root<EMAIL_ADDRESS>{ yield } end
Injects text right after the class definition. Since it depends on insert_into_file, it’s reversible.
path<String> |
path of the file to be changed |
klass<String|Class> |
the class to be manipulated |
data<String> |
the data to append to the class, can be also given as a block. |
config<Hash> |
give :verbose => false to not log the status. |
inject_into_class "app/controllers/application_controller.rb", ApplicationController, " filter_parameter :password\n" inject_into_class "app/controllers/application_controller.rb", ApplicationController do " filter_parameter :password\n" end
# File lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb, line 210 def inject_into_class(path, klass, *args, &block) config = args.last.is_a?(Hash) ? args.pop : {} config[:after] = /class #{klass}\n|class #{klass} .*\n/ insert_into_file(path, *(args << config), &block) end
Injects text right after the module definition. Since it depends on insert_into_file, it’s reversible.
path<String> |
path of the file to be changed |
module_name<String|Class> |
the module to be manipulated |
data<String> |
the data to append to the class, can be also given as a block. |
config<Hash> |
give :verbose => false to not log the status. |
inject_into_module "app/helpers/application_helper.rb", ApplicationHelper, " def help; 'help'; end\n" inject_into_module "app/helpers/application_helper.rb", ApplicationHelper do " def help; 'help'; end\n" end
# File lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb, line 233 def inject_into_module(path, module_name, *args, &block) config = args.last.is_a?(Hash) ? args.pop : {} config[:after] = /module #{module_name}\n|module #{module_name} .*\n/ insert_into_file(path, *(args << config), &block) end
Injects the given content into a file. Different from gsub_file, this method is reversible.
destination<String> |
Relative path to the destination root |
data<String> |
Data to add to the file. Can be given as a block. |
config<Hash> |
give :verbose => false to not log the status and the flag for injection (:after or :before) or :force => true for insert two or more times the same content. |
insert_into_file "config/environment.rb", "config.gem :thor", :after => "Rails::Initializer.run do |config|\n" insert_into_file "config/environment.rb", :after => "Rails::Initializer.run do |config|\n" do gems = ask "Which gems would you like to add?" gems.split(" ").map{ |gem| " config.gem :#{gem}" }.join("\n") end
# File lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb, line 24 def insert_into_file(destination, *args, &block) data = block_given? ? block : args.shift config = args.shift action InjectIntoFile.new(self, destination, data, config) end
Do something in the root or on a provided subfolder. If a relative path is given it’s referenced from the current root. The full path is yielded to the block you provide. The path is set back to the previous path when the method exits.
dir<String> |
the directory to move to. |
config<Hash> |
give :verbose => true to log and use padding. |
# File lib/bundler/vendor/thor/lib/thor/actions.rb, line 167 def inside(dir = "", config = {}, &block) verbose = config.fetch(:verbose, false) pretend = options[:pretend] say_status :inside, dir, verbose shell.padding += 1 if verbose @destination_stack.push File.expand_path(dir, destination_root) # If the directory doesnt exist and we're not pretending if !File.exist?(destination_root) && !pretend require "fileutils" FileUtils.mkdir_p(destination_root) end if pretend # In pretend mode, just yield down to the block block.arity == 1 ? yield(destination_root) : yield else require "fileutils" FileUtils.cd(destination_root) { block.arity == 1 ? yield(destination_root) : yield } end @destination_stack.pop shell.padding -= 1 if verbose end
Links the file from the relative source to the relative destination. If the destination is not given it’s assumed to be equal to the source.
source<String> |
the relative path to the source root. |
destination<String> |
the relative path to the destination root. |
config<Hash> |
give :verbose => false to not log the status. |
link_file "README", "doc/README" link_file "doc/README"
# File lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb, line 51 def link_file(source, *args) config = args.last.is_a?(Hash) ? args.pop : {} destination = args.first || source source = File.expand_path(find_in_source_paths(source.to_s)) create_link destination, source, config end
Prepend text to a file. Since it depends on insert_into_file, it’s reversible.
path<String> |
path of the file to be changed |
data<String> |
the data to prepend to the file, can be also given as a block. |
config<Hash> |
give :verbose => false to not log the status. |
prepend_to_file 'config/environments/test.rb', 'config.gem "rspec"' prepend_to_file 'config/environments/test.rb' do 'config.gem "rspec"' end
# File lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb, line 164 def prepend_to_file(path, *args, &block) config = args.last.is_a?(Hash) ? args.pop : {} config[:after] = /\A/ insert_into_file(path, *(args << config), &block) end
Returns the given path relative to the absolute root (ie, root where the script started).
# File lib/bundler/vendor/thor/lib/thor/actions.rb, line 115 def relative_to_original_destination_root(path, remove_dot = true) path = path.dup if path.gsub!(@destination_stack[0], ".") remove_dot ? (path[2..-1] || "") : path else path end end
Removes a file at the given location.
path<String> |
path of the file to be changed |
config<Hash> |
give :verbose => false to not log the status. |
remove_file 'README' remove_file 'app/controllers/application_controller.rb'
# File lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb, line 318 def remove_file(path, config = {}) return unless behavior == :invoke path = File.expand_path(path, destination_root) say_status :remove, relative_to_original_destination_root(path), config.fetch(:verbose, true) if !options[:pretend] && File.exist?(path) require "fileutils" ::FileUtils.rm_rf(path) end end
Executes a command returning the contents of the command.
command<String> |
the command to be executed. |
config<Hash> |
give :verbose => false to not log the status, :capture => true to hide to output. Specify :with to append an executable to command execution. |
inside('vendor') do run('ln -s ~/edge rails') end
# File lib/bundler/vendor/thor/lib/thor/actions.rb, line 242 def run(command, config = {}) return unless behavior == :invoke destination = relative_to_original_destination_root(destination_root, false) desc = "#{command} from #{destination.inspect}" if config[:with] desc = "#{File.basename(config[:with].to_s)} #{desc}" command = "#{config[:with]} #{command}" end say_status :run, desc, config.fetch(:verbose, true) unless options[:pretend] config[:capture] ? `#{command}` : system(command.to_s) end end
Executes a ruby script (taking into account WIN32 platform quirks).
command<String> |
the command to be executed. |
config<Hash> |
give :verbose => false to not log the status. |
# File lib/bundler/vendor/thor/lib/thor/actions.rb, line 266 def run_ruby_script(command, config = {}) return unless behavior == :invoke run command, config.merge(:with => Bundler::Thor::Util.ruby_command) end
Holds source paths in instance so they can be manipulated.
# File lib/bundler/vendor/thor/lib/thor/actions.rb, line 126 def source_paths @source_paths ||= self.class.source_paths_for_search end
Gets an ERB template at the relative source, executes it and makes a copy at the relative destination. If the destination is not given it’s assumed to be equal to the source removing .tt from the filename.
source<String> |
the relative path to the source root. |
destination<String> |
the relative path to the destination root. |
config<Hash> |
give :verbose => false to not log the status. |
template "README", "doc/README" template "doc/README"
# File lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb, line 112 def template(source, *args, &block) config = args.last.is_a?(Hash) ? args.pop : {} destination = args.first || source.sub(/#{TEMPLATE_EXTNAME}$/, "") source = File.expand_path(find_in_source_paths(source.to_s)) context = config.delete(:context) || instance_eval("binding") create_file destination, nil, config do content = CapturableERB.new(::File.binread(source), nil, "-", "@output_buffer").tap do |erb| erb.filename = source end.result(context) content = yield(content) if block content end end
Run a thor command. A hash of options can be given and it’s converted to switches.
command<String> |
the command to be invoked |
args<Array> |
arguments to the command |
config<Hash> |
give :verbose => false to not log the status, :capture => true to hide to output. Other options are given as parameter to Bundler::Thor. |
thor :install, "http://gist.github.com/103208" #=> thor install http://gist.github.com/103208 thor :list, :all => true, :substring => 'rails' #=> thor list --all --substring=rails
# File lib/bundler/vendor/thor/lib/thor/actions.rb, line 289 def thor(command, *args) config = args.last.is_a?(Hash) ? args.pop : {} verbose = config.key?(:verbose) ? config.delete(:verbose) : true pretend = config.key?(:pretend) ? config.delete(:pretend) : false capture = config.key?(:capture) ? config.delete(:capture) : false args.unshift(command) args.push Bundler::Thor::Options.to_switches(config) command = args.join(" ").strip run command, :with => :thor, :verbose => verbose, :pretend => pretend, :capture => capture end
Uncomment all lines matching a given regex. It will leave the space which existed before the comment hash in tact but will remove any spacing between the comment hash and the beginning of the line.
path<String> |
path of the file to be changed |
flag<Regexp|String> |
the regexp or string used to decide which lines to uncomment |
config<Hash> |
give :verbose => false to not log the status. |
uncomment_lines 'config/initializers/session_store.rb', /active_record/
# File lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb, line 282 def uncomment_lines(path, flag, *args) flag = flag.respond_to?(:source) ? flag.source : flag gsub_file(path, /^(\s*)#[[:blank:]]*(.*#{flag})/, '\1\2', *args) end
Generated with the Darkfish Rdoc Generator 2.


Widgets are created by passing their class as the first argument of a Form’s add(...) method. The remaining arguments will be passed to the widget’s own constructor. These control things such as size, position, name, and initial values.
All widgets have the following methods:
Redraws the widget, but doesn’t tell curses to update the screen (it is more efficient to update all widgets and then have the Form on which they sit tell curses to redraw the screen all in one go).
Most widgets accept the optional argument clear=False|True which affects whether they first blank the area they occupy before redrawing themselves.
Called when, during editing of the widget, its value changes. I.e. after keypresses. You can disable this by setting the attribute check_value_change to False.
You can override this function for your own use.
Called when, during the editing of the widget, its cursor has been moved. You can disable the check for this by setting the attribute check_cursor_move to False.
You can override this function for your own use.
Many widgets exist in two forms, one with a label, one without. For example Textbox and TitleText. If the label is particularly long (at time of construction), the label may be put on its own line. Additional constructor arguments:
Internally titled widgets are actually a textbox (for the label) and whatever other kind of widget is required. You can access the separate widgets (if you ever need to - you shouldn’t) through the label_widget and entry_widget attributes. However, you may never need to, since the value and values attributes of the combined widget should work as expected.
All widgets should inherit from the class Widget.
If you are writing text to the screen you should avoid using curses directly, and instead use the function


Beneath the flashy homepages of your favorite sites lurk Hooli™ and other evil corporations out to hoard and sell your most personal data.
What was built to be the ultimate platform for the free sharing of knowledge has turned into a money-hungry monster feasting on our privacy and freedom.
But fear not, for Pied Piper has the answer! And it’s simple:
An autonomous peer-to-peer network featuring distributed storage powered by universal compression, accelerated scheduling allocation, and end-to-end encryption.
Put even simpler — it’s the internet, completely decentralized.
Piper's new internet is built for users, by users.
You supply the storage, compute, and networking resources that
power our entire decentralized web.
Now there's a way to give credit where credit is due. Compute credit, that is! The more you share your device resources, the more PiedPiperCoin you receive.
Whether you're a developer with an app ready for market, or just an Average Joe with a smartphone you'll love all you can do with PiedPiperCoin.


--- layout: post title: Contact date: 2008-01-19 12:26:47.000000000 +01:00 categories: [] tags: [] status: draft type: post published: false meta: _edit_last: '1' author: login: pvlerick email<EMAIL_ADDRESS>display_name: Philippe first_name: Philippe last_name: Vlérick excerpt: !ruby/object:Hpricot::Doc options: {} ---
h1. Contact
Please feel free to use the form below to contact me.


This is filler information, I can put text, images, links, etc. in this space. Any information that will be updated regularly should be added as a link or embedded in this site from google docs. This will help reduce nessicary modifications to the website over time. I will also work on adding a system that should allow you to post updates without needing to modify the website's code.