--- layout: page title: About header-img: "img/about-bg.png" ---
I'm an avid reader and learner who studied Latin with generous portions of history and philosophy on the side while in college. In early 2017 I decided to develop the ad hoc programming skills I'd developed to accomplish specific tasks in the workplace and in my personal life into full professional proficiency and haven't looked back.


Each eHive pipeline is a potentially complex computational process.
Whether it runs locally, on the farm, or on multiple compute resources, this process is centred around a "blackboard" (a MySQL, SQLite or PostgreSQL database) where individual jobs of the pipeline are created, claimed by independent Workers and later recorded as done or failed.
Running the pipeline involves the following steps:
Every eHive pipeline is centered around a "blackboard", which is usually a MySQL/SQLite/PostgreSQL database. This database contains both static information (general definition of analyses, associated runnables, parameters and resources, dependency rules, etc) and runtime information about states of single jobs running on the farm or locally.
By initialization we mean an act of moulding one such new pipeline database from a PipeConfig file.
This is done by feeding the PipeConfig file to ensembl-hive/scripts/init_pipeline.pl script.
A typical example:
init_pipeline.pl Bio::EnsEMBL::Hive::Examples::LongMult::PipeConfig::LongMult_conf -pipeline_url mysql://user:password@host:port/long_mult
It will create a MySQL pipeline database called 'long_mult' with the given connection parameters. In case of newer PipeConfig files these could be the only parameters needed, as the rest could be set at a later stage via "seeding" (see below).
If heavy concurrent traffic to the database is not expected, we may choose to keep the blackboard in a local SQLite file:
init_pipeline.pl Bio::EnsEMBL::Hive::Examples::LongMult::PipeConfig::LongMult_conf -pipeline_url sqlite:///long_mult
In the latter case no other connection parameters except for the filename are necessary, so they are skipped.
A couple of more complicated examples:
init_pipeline.pl Bio::EnsEMBL::Compara::PipeConfig::Example::EnsemblProteinTrees_conf -user "my_db_username" -password "my_db_password" -mlss_id 12345
It sets 'user', 'password' and 'mlss_id' parameters via command line options. At this stage you can also override any of the other options mentioned in the default_options section of the PipeConfig file.
If you need to modify second-level values of a "hash option" (such as the '-host' or '-port' of the 'pipeline_db' option), the syntax is the following (follows the extended syntax of Getopt::Long) :
init_pipeline.pl Bio::EnsEMBL::Compara::PipeConfig::Example::EnsemblProteinTrees_conf -pipeline_db -host=myhost -pipeline_db -port=5306
PLEASE NOTE:
Although many older PipeConfig files make extensive use of command-line options such as -password and -mlss_id above (so-called o() syntax),
it is no longer the only or recommended way of pre-configuring pipelines. There are better ways to configure pipelines,
so if you find yourself struggling to make sense of an existing PipeConfig's o() syntax, please talk to eHive developers or power-users
who are usually happy to help.
Some pipelines may have other dependencies beyond eHive (e.g. the Ensembl Core API, BioPerl, etc). Make sure you have installed them and configured your environment (PATH and PERL5LIB). init_pipeline.pl will try to compile all the analysis modules, which ensures that most of the dependencies are installed, but some others can only be found at runtime.
Normally, one run of init_pipeline.pl should create you a pipeline database.
If anything goes wrong and the process does not complete successfully, you will need to drop the partially created database in order to try again.
You can either drop the database manually, or use "-hive_force_init 1" option, which will automatically drop the database before trying to create it.
If init_pipeline.pl completes successfully, it will print a legend of commands that could be run next:
Please remember that these command lines are for use only with a particular pipeline database, and are likely to be different next time you run the pipeline. Moreover, they will contain a sensitive password! So don't write them down.
As soon as the pipeline database is ready you can store its visual flow diagram in an image file. This diagram is a much better tool for understanding what is going on in the pipeline. Run the following command to produce it:
generate_graph.pl -url sqlite:///my_pipeline_database -out my_diagram.png
You only have to choose the format (gif, jpg, png, svg, etc) by setting the output file extension.
LEGEND:
Each flow diagram thus generated is a momentary snapshot of the pipeline state, and these snapshots will be changing as the pipeline runs. One of the things changing will be the colour of the Analysis nodes. The default colour legend is as follows:
Another thing that will be changing from snapshot to snapshot is the job "breakout" formula displayed under the name of the Analysis. It shows how many jobs are in which state and the total number of jobs. Separate parts of this formula are similarly colour-coded:
|
Actually, you don't even need to generate a pipeline database to see its diagram, as the diagram can be generated directly from the PipeConfig file:
generate_graph.pl -pipeconfig Bio::EnsEMBL::Hive::Examples::LongMult::PipeConfig::LongMult_conf -out my_diagram2.png
Such a "standalone" diagram may look slightly different (analysis_ids will be missing).
PLEASE NOTE: A very friendly guiHive web interface can periodically regenerate the pipeline flow diagram for you, so you can now monitor (and to a certain extent control) your pipeline from a web browser.
Pipeline database contains a dynamic collection of jobs (tasks) to be done. The jobs can be added to the "blackboard" either by the user (we call this process "seeding") or dynamically, by already running jobs. When a database is created using init_pipeline.pl it may or may not be already seeded, depending on the PipeConfig file (you can always make sure whether it has been automatically seeded by looking at the flow diagram). If the pipeline needs seeding, this is done by running seed_pipeline.pl script, by providing both the Analysis to be seeded and the parameters of the job being created:
seed_pipeline.pl -url sqlite:///my_pipeline_database -logic_name "analysis_name" -input_id '{ "paramX" => "valueX", "paramY" => "valueY" }'
It only makes sense to seed certain analyses, typically they are the ones that do not have any incoming dataflow on the flow diagram.
In order to function properly (to monitor the progress, block and unblock analyses and send correct number of workers to the farm) the eHive system needs to maintain certain number of job counters. These counters and associated analysis states are updated in the process of "synchronization" (or "sync"). This has to be done once before running the pipeline, and normally the pipeline will take care of synchronization by itself and will trigger the 'sync' process automatically. However sometimes things go out of sync. Especially when people try to outsmart the scheduler by manually stopping and running jobs :) This is when you might want to re-sync the database. It is done by running the ensembl-hive/scripts/beekeeper.pl in "sync" mode:
beekeeper.pl -url sqlite:///my_pipeline_database -sync
As mentioned previously, the usual life-cycle of an eHive pipeline is revolving around the pipeline database.
There are several "Worker" processes that run on the farm.
The Workers pick suitable tasks from the database, run them, and report back to the database.
There is also one "Beekeeper" process that normally loops on a head node of the farm (it is very light-weight).
It monitors the progress of Workers and whenever needed submits more Workers to the farm
(since Workers die from time to time for natural and not-so-natural reasons, Beekeeper maintains the correct load).
Beekeeper reports back the completion
percentage of the pipeline and how many jobs are to do, failed or done for each individual
analysis. As analyses progress they usually create new jobs for analyses further down the
pipeline. Once the pipeline is complete (or breaks) Beekeeper exits.
So to "run the pipeline" all you have to do is to run the Beekeeper:
beekeeper.pl -url sqlite:///my_pipeline_database -loop
You can also restrict running to a subset of Analyses (either by analysis_id or by name pattern) :
beekeeper.pl -url sqlite:///my_pipeline_database -analyses_pattern 'alignment_%' -loop # all analyses whose name starts with 'alignment_'or
beekeeper.pl -url sqlite:///my_pipeline_database -analyses_pattern '1..5,fasta_check' -loop # only analyses with analysis_id between 1 and 5 and 'fasta_check'
In order to make sure the beekeeper.pl process doesn't die when you disconnect your ssh session from the farm, it is normally run in a "screen session". If your Beekeeper process gets killed for some reason, don't worry - you can re-sync and start another Beekeeper process. It will pick up from where the previous Beekeeper left it.
At each loop, Beekeeper will print out the status of each analysis and the completion level of the pipeline, and then go to sleep for 1 minute. Here is an example of the output from the beekeeper.pl script running the Ensembl Compara LastZ pipeline:
======= beekeeper loop ** 19 **========== GarbageCollector: Checking for lost Workers... GarbageCollector: [Queen:] out of 32 Workers that haven't checked in during the last 5 seconds... GarbageCollector: [LSF Meadow:] RUN:32 get_species_list ( 1) DONE jobs(Sem:0, Rdy:0, InProg:0, Done+Pass:1, Fail:0)=1 Ave_msec:23, workers(Running:0, Reqired:0) h.cap:- a.cap:- (sync'd 552 sec ago) populate_new_database ( 2) DONE jobs(Sem:0, Rdy:0, InProg:0, Done+Pass:1, Fail:0)=1 Ave_msec:50810, workers(Running:0, Reqired:0) h.cap:- a.cap:- (sync'd 552sec ago) parse_pair_aligner_conf ( 3) DONE jobs(Sem:0, Rdy:0, InProg:0, Done+Pass:1, Fail:0)=1 Ave_msec:563, workers(Running:0, Reqired:0) h.cap:- a.cap:- (sync'd 552 sec ago) chunk_and_group_dna ( 4) DONE jobs(Sem:0, Rdy:0, InProg:0, Done+Pass:2, Fail:0)=2 Ave_msec:9044, workers(Running:0, Reqired:0) h.cap:- a.cap:- (sync'd 552 sec ago) store_sequence ( 5) DONE jobs(Sem:0, Rdy:0, InProg:0, Done+Pass:853, Fail:0)=853 Ave_msec:20692, workers(Running:0, Reqired:0) h.cap:50 a.cap:- (sync'd 518 sec ago) store_sequence_again ( 6) EMPTY jobs(Sem:0, Rdy:0, InProg:0, Done+Pass:0, Fail:0)=0 Ave_msec:0, workers(Running:0, Reqired:0) h.cap:100 a.cap:- (sync'd 552 sec ago) dump_dna_factory ( 7) EMPTY jobs(Sem:0, Rdy:0, InProg:0, Done+Pass:0, Fail:0)=0 Ave_msec:0, workers(Running:0, Reqired:0) h.cap:- a.cap:- (sync'd 492 sec ago) dump_dna ( 8) EMPTY jobs(Sem:0, Rdy:0, InProg:0, Done+Pass:0, Fail:0)=0 Ave_msec:0, workers(Running:0, Reqired:0) h.cap:10 a.cap:- (sync'd 552 sec ago) create_pair_aligner_jobs ( 9) DONE jobs(Sem:0, Rdy:0, InProg:0, Done+Pass:1, Fail:0)=1 Ave_msec:394188, workers(Running:0, Reqired:0) h.cap:10 a.cap:- (sync'd 93 sec ago) LastZ (10) WORKING jobs(Sem:0, Rdy:162524, InProg:192, Done+Pass:3573, Fail:0)=166289 Ave_msec:9572, workers(Running:100, Reqired:54437) h.cap:100 a.cap:- (sync'd 93 sec ago) . . . . . pairaligner_stats (37) BLOCKED jobs(Sem:0, Rdy:1, InProg:0, Done+Pass:0, Fail:0)=1 Ave_msec:0, workers(Running:0, Reqired:1) h.cap:- a.cap:- (sync'd 61 sec ago) coding_exon_stats (38) EMPTY jobs(Sem:0, Rdy:0, InProg:0, Done+Pass:0, Fail:0)=0 Ave_msec:0, workers(Running:0, Reqired:0) h.cap:10 a.cap:- (sync'd 552 sec ago) coding_exon_stats_summary (39) BLOCKED jobs(Sem:0, Rdy:0, InProg:0, Done+Pass:0, Fail:0)=0 Ave_msec:0, workers(Running:0, Reqired:0) h.cap:- a.cap:- (sync'd 61 sec ago) ===== Stats of active Roles as recorded in the pipeline database: ====== LastZ : 100 active Roles ======= TOTAL ======= : 100 active Roles Not submitting any workers this iteration hive 2.651% complete (< 432.133 CPU_hrs) (162726 todo + 4432 done + 0 failed = 167158 total) sleep 1.00 minutes. Next loop at Mon Sep 8 15:27:48 2014
NB: colours are normally not used in beekeeper's output. They have been inserted here to refer to the above-mentioned legend
Last note about Beekeeper: you can see it as a pump.
Its task is to add new workers to maintain the job flow. If you kill Beekeeper, you stop the pump, but the water is still flowing, i.e. the workers are not killed but still running.
To actually kill the workers, you have to use the specific commands of your grid engine (e.g. bkill
for Platform LSF).
In addition to monitoring the visual flow diagram (that could be generated manually using generate_graph.pl or via the guiHive web interface) you can also connect to the pipeline database directly and issue SQL commands. To avoid typing in all the connection details (syntax is different depending on the particular database engine used) you can use a bespoke db_cmd.pl script that takes the eHive database URL and performs the connection for you:
db_cmd.pl -url sqlite:///my_pipeline_databaseor
db_cmd.pl -url mysql://user:password@host:port/long_multor
db_cmd.pl -url pgsql://user:password@host:port/long_mult
Once connected, you can list the tables and views with SHOW TABLES;
.
The default set of tables should look something like:
+----------------------------+ | Tables_in_hive_pipeline_db | +----------------------------+ | accu | | analysis_base | | analysis_ctrl_rule | | analysis_data | | analysis_stats | | analysis_stats_monitor | | dataflow_rule | | hive_meta | | job | | job_file | | log_message | | msg | | pipeline_wide_parameters | | progress | | resource_class | | resource_description | | resource_usage_stats | | role | | worker | | worker_resource_usage | +----------------------------+
Some of these tables, such as analysis_base
, job
and resource_class
may be populated with
entries depending on what is in you configuration file. At the very least you should expect to
have your analyses in analysis_base
. Some tables such as log_message
will only get populated
while the pipeline is running (for example log_message
will get an entry when a job exceeds
the memory limit and dies).
Please refer to the eHive schema (see eHive schema diagram and eHive schema description) to find out how those tables are related.
In addition to the tables, there is a "progress" view from which you can select and see how your jobs are doing:
SELECT * from progress;
If you see jobs in 'FAILED' state or jobs with retry_count>0 (which means they have failed at least once and had to be retried), you may need to look at the "msg" view in order to find out the reason for the failures:
SELECT * FROM msg WHERE job_id=1234; # a specific jobor
SELECT * FROM msg WHERE analysis_id=15; # jobs of a specific analysisor
SELECT * FROM msg; # show me all messages
Some of the messages indicate temporary errors (such as temporary lack of connectivity with a database or file), but some others may be critical (wrong path to a binary) that will eventually make all jobs of an analysis fail. If the "is_error" flag of a message is false, it may be just a diagnostic message which is not critical.
guiHive is a web-interface to a eHive database that allows to monitor the state of the pipeline. It displays flow diagrams of all the steps in the pipeline and their relationship to one another. In addition it colours analyses based on completion and each analysis has a progress circle which indicates the number of complete, running and failed jobs. guiHive also offers the ability to directly modify analyses, for example you can change the resource class used by the analysis directly through guiHive.
guiHive is already installed at the Sanger and at the EBI (both for internal use only), but can also be installed locally. Instructions for this are on GitHub
During the course of running a pipeline issues may arise from things like incorrect resource allocation, issues with input data, problems in the configuration itself or in the modules that are run for each analysis. Alternatively you might be building a pipeline from scratch and instead of wanting to run the entire pipeline from scratch you may want to test a single job at a time. eHive provides a script that is useful in both cases: runWorker.pl.
Before debugging the first thing you should do is look in the database or in guiHive, and query the
job
table for jobs that have failed (which can be found from the status column). Then
you can search for these job ids in the log_message
table and see if there are any log
messages there that would explain why the jobs are failing.
guiHive also directly reports the last error message in the job table.
If they are failing because
of insufficient resources you should be able to find that from the message itself.
If this turns out to be the case, the best thing to do is to either make a new entry
in the resource_class
table with sufficient resources and point the analysis in the
analysis_base
to that resource_class_id
, or you could just directly modify the existing
resource class entry. Again, the same can be achieved entirely in guiHive by editing the "Resources" tab, and then
the analysis itself (by clicking on it).
If there is no obvious reason why the jobs are failing then it is probably time to use runWorker.pl. Here is an example of how to run it:
runWorker.pl -url mysql://user:pass@host:port/my_pipeline_db -job_id 1 -debug 1
This would run job id 1 directly. There are a few things to note about this. Firstly if
the job is considered 'DONE' but you know it has failed, you will need to force runWorker.pl
to run it using the -force
flag. Alternatively you can reset the job state to READY
through the beekeeper.pl using -reset_job_id <num>
, and then just run runWorker.pl with the
job id. The second thing to note is that by default runWorker.pl will try to run the job entirely, which may write things into files or the database itself.
If you are afraid that it may happen, and if the module is nicely implemented, you can use the -no_write
flag to disable the write_output()
method in whatever module the analysis uses. Note that some modules may
misbehave and still write their output outside of write_output()
!
Using -no_write
will also stop any resulting jobs that
are created from being written to the pipeline db. This is useful when both testing and
debugging.
When trying to track down a problem via runWorker.pl the difficulty varies from analysis
to analysis and problem to problem. If the code throws an exception then it is usually
easy to track down where to start debugging. On the other hand sometimes the output
from runWorker.pl will simply be to say the job died. In these cases it is useful to consider
the general structure of analysis modules. There should be the following subroutines:
fetch_input()
, run()
, and write_output()
.
A failing job should state in which state the error occurred. Then you can go for more fine grain debugging.
As Perl objects
are essentially just hashes, using the Data::Dumper
is a good idea for checking the
contents of variables. You can do this by putting use Data::Dumper;
at the top of the module and then when you want to check a variable use:
$self->warning("Dumped var ".Dumper($myvar));
With enough warnings statements any debugging problem can be overcome. Of course, you can also use the Perl debugger.
A final note on testing/debugging is that if you want to restart an entire analysis you can run the following command:
beekeeper.pl -url mysql://user:pass@host:port/my_pipeline_db -analyses_pattern MyAnalysisName -reset_all_jobs
If you do this, it is important to note that it is your responsibility to then clean up all the output from any jobs that had completed. So if you were writing objects to a database, you would have to delete them out yourself, or delete any flatfiles that were generated as the pipeline is not designed to do this.


What's going on?
Post
Appreciate
Post into Group
Individual
Word of the Day
Applying Gita at Workplace
Business Development
CONCLAVE BUZZ!
Celebrations@OSSCube
Classified
Corporate Communication
Corporate Deals
DilSe
Drupal COE
Drupal test
Drupal-Centre of Excellence
Git FAQ and Problems
GrandMa's Dairy
HCM
HCM Policy updates
Humour
Learning and Development
Leave Management
OSSCube PMS portal
Our Work
PHP COE
QC COE
Quality Pebbles
Reward & Recognition
Stepathlon Group
SugarCRM COE
Talent Acquisition
Technology Learning & Training
Toast Master
US Updates and Happenings
Wellness Speaks
Zaika..
Zend Framework
Share
-none-
Add Photo
Share Video
Save
Title *
Post created by
{{statusData.created_by}}


We’re in Front of the Competition…
Serving Your Front Bar.
Our front bar is crafted to fit your needs and increase serving speeds for customers. With advanced automation technologies, you can rest assured that your front bar will keep working without unnecessary downtime. It’s easy for you, convenient for customers and it just makes sense!
Our Front Bar Features
Here are a few of the things that make this automated bar so great.
Custom Design
Custom Design
Speed Control
Drinks in under 30 seconds
Data Reports
Robust data reporting via a custom back end bar management system (or point of sale)
Easy Maintenance
No downtime for maintenance, no lunch breaks or sick days… thank you automation


My Account
Log Out
Home
|
Space
|
Checkout
You're booking
{{spacename}}
On {{datechoose}}
From {{time1}} to {{time2}}
Credit/Debit
Paypal Account
Name on Card
Card Number
CVV
Expiration Date
Make a payment
Important: You will be redirected to PayPal's website to securely complete your payment.
Checkout via Paypal


Spatial System
Every world has a spatial system. Spatial systems are responsible for sorting game objects by their position and size. They are utilized to efficiently find all objects within a volume, such as a box, a sphere or a view frustum. This is mainly used by the renderer to do frustum culling, but is also available to all other code. Obviously the spatial system needs to keep track of moving objects and update its index accordingly.
Spatial System Setup
ezSpatialSystem
is the base class for all spatial systems. During the construction of an ezWorld
, a custom implementation can be provided through the ezWorldDesc
. By default ezSpatialSystem_RegularGrid
is used, which is optimized to handle arbitrary situations with good performance.
Implementing a custom spatial system can make sense when you have a highly specialized use case. For example, if you have a strictly tile-based 2D game, where you know that all sprites are below a fixed size, and you always have a dense grid without holes, you can write a spatial system that takes advantage of this knowledge and therefore outperforms the default implementation.
However, unless you determine that the spatial system is a clear performance bottleneck, and you have domain specific knowledge that could be a big advantage to speed things up, there is no reason to consider writing your own.
Since there is exactly one spatial system per world, it usually means that the choice of a system is made for a type of game. In theory, though, one could use different systems for different types of levels, as well.
Accessing the Spatial System
In C++ code you get access to the world's spatial system through ezWorld::GetSpatialSystem()
.
When using other languages bindings the spatial system may not be exposed directly. For example, when using TypeScript, the most useful functions are exposed directly through ez.World
, for example ez.World.FindObjectsInBox()
and ez.World.FindObjectsInSphere()
.
Spatial Data Categories
Every piece of spatial data is associated with a category. For example, rendering data is either in the category "RenderStatic" or "RenderDynamic". This is mainly used to separate spatial information into distinct groups, so that during a spatial query, data that is irrelevant can be filtered out quickly.
For efficiency reasons, categories are represented with bitmasks internally, which is why there can only be up to 32 categories. You should assume that the core engine uses at least 5 categories already.
Configuring Spatial Data Categories
In C++ code you register a spatial data category through ezSpatialData::RegisterCategory()
. This will return a category object which can be used for spatial queries later:
ezSpatialData::Category RtsSelectableComponent::s_SelectableCategory = ezSpatialData::RegisterCategory("Selectable", ezSpatialData::Flags::None);
When using the editor, there are components, such as the marker component, which allow you to select a category from a predefined list. This list is project specific. When you click on such a dropdown box, the last entry allows you to open an editor to configure the available categories:
The Invalid Category
Some components 'add' their bounds to a ezMsgUpdateLocalBounds
using ezInvalidSpatialDataCategory
. This means that they want to specify their bounds, but do not want to add anything to the spatial system. This is useful for components that do have a perceived size, such as physics shapes, which should be visible when selecting these objects in the editor, but where there is no benefit of inserting this into the spatial system.
Exposing Game Objects to the Spatial System
The spatial system only knows about game objects, it does not differentiate by components. However, which game objects are inserted into it and under which categories, is handled by components.
The world sends the message ezMsgUpdateLocalBounds
to all components when it determines that an update is necessary. This can also be triggered manually by calling ezGameObject::UpdateLocalBounds()
when spatial data, such as which category to use, has been modified.
Components can handle this message and add spatial information to it. For 3D objects one would use something like the bounding sphere of a mesh, but it is also possible to use more abstract spatial data. For example the RTS sample has an RtsSelectableComponent
which is attached to all units that should be selectable by the player. Although the RtsSelectableComponent
doesn't have a visual representation, it reacts to ezMsgUpdateLocalBounds
to add spatial data, which can then be used to efficiently look up units under the mouse cursor.
void RtsSelectableComponent::OnUpdateLocalBounds(ezMsgUpdateLocalBounds& msg)
{
ezBoundingBoxSphere bounds;
bounds.m_fSphereRadius = m_fSelectionRadius;
bounds.m_vCenter.SetZero();
bounds.m_vBoxHalfExtends.Set(m_fSelectionRadius);
msg.AddBounds(bounds, s_SelectableCategory);
}
Don't forget to register the message handler in the reflection block:
EZ_BEGIN_MESSAGEHANDLERS
{
EZ_MESSAGE_HANDLER(ezMsgUpdateLocalBounds, OnUpdateLocalBounds)
}
EZ_END_MESSAGEHANDLERS;
Querying the Spatial System
Once you have spatial data inserted into the system, you can use it to efficiently query for objects within a volume.
When calling functions such as ezSpatialSystem::FindObjectsInSphere()
you have to provide a bitmask of categories. That's because you can request to get objects from multiple categories at the same time. You can get this bitmask by calling ezSpatialData::Category::GetBitmask()
on a category object.
void RtsGameState::InspectObjectsInArea(const ezVec2& position, float radius, ezSpatialSystem::QueryCallback callback) const
{
ezBoundingSphere sphere(position.GetAsVec3(0), radius);
ezSpatialSystem::QueryParams queryParams;
queryParams.m_uiCategoryBitmask = RtsSelectableComponent::s_SelectableCategory.GetBitmask();
m_pMainWorld->GetSpatialSystem()->FindObjectsInSphere(sphere, queryParams, callback);
}
In other language bindings you may instead need to pass in a list of all the desired categories by name.
Spatial System vs. Physics Engines
Both the spatial system, as well as physics engines allow you to do spatial queries. There are cases where a problem can be solved using either system, but generally they are meant to complement each other.
If you want to query for things that already need to have a physical representation, and therefore will be handled by the physics engine anyway, it is best to leverage the physics engine to query for such objects. For example a shockwave effect that is supposed to push objects away, only makes sense to be applied to physically simulated objects. Therefore, querying which objects are close-by, to figure out what objects to apply the effect to, should be done through the physics engine, and there is no reason to even have information about these objects in the spatial system.
On the other hand, things like the RtsSelectableComponent
(see above) could be achieved by setting up fake physics actors so that they can be found with physics queries. The performance cost for doing so would be unnecessary high though, as the physics engine would perform additional maintenance that is ultimately not needed, and it may waste precious resources such as collision layers. Here, using the spatial system makes much more sense.
Note:
If you require doing raycasts or queries against meshes, you will need to use the physics engine, as the spatial system only works with very basic shapes.
Spatial System vs. Tags
The spatial data categories are very similar to tags. The difference is, that tags are set up on game objects and they don't have any spatial quality. A game object can have many tags, but not be registered spatially and therefore cannot be found through spatial queries. On the other hand, because of this, tags have nearly no performance overhead, whereas spatial data must be updated whenever an object moves.
Ultimately, both systems can be used to solve many of the same problems. When you need to be able to inspect an area and find all objects of a certain kind, you should use spatial data, for example through a marker component. If, however, you need to semtantically label objects, but do not require to find them spatially, prefer tags to not waste performance.


new ToMongo() Class to model data according to mongo schema Source: models/toMongoClass.js, line 4 Classes ToMongo


--- layout: container title: Demos root: ../ ---
See the integrated multiview "Data Explorer" in action on a sample dataset Demo »
Coming Soon
Coming soon


Copy and paste your choicescript below:
Please note: This is an old hacky tool, running an ancient version of ChoiceScript. It's only here for a bit of fun.


Crate simplemad [−] [src]
This crate provides an interface to libmad, the MPEG audio decoding library.
To begin, create a Decoder
from a byte-oriented source using Decoder::decode
or Decoder::decode_interval
. Fetch results using get_frame
or the Iterator
interface. MP3 files often begin or end with metadata, which will cause libmad
to produce errors. It is safe to ignore these errors until libmad reaches the
start of the audio data or the end of the file.
Examples
#![allow(unused_variables)] use simplemad::{Decoder, Frame}; use std::time::Duration; use std::fs::File; use std::path::Path; let path = Path::new("sample_mp3s/constant_stereo_128.mp3"); let file = File::open(&path).unwrap(); let decoder = Decoder::decode(file).unwrap(); for decoding_result in decoder { match decoding_result { Err(e) => println!("Error: {:?}", e), Ok(frame) => { println!("Frame sample rate: {}", frame.sample_rate); println!("First audio sample (left channel): {:?}", frame.samples[0][0]); println!("First audio sample (right channel): {:?}", frame.samples[1][0]); }, } } // Decode the interval from 1s to 2s (to the nearest frame), let file_b = File::open(&path).unwrap(); let partial_decoder = Decoder::decode_interval(file_b, Duration::from_secs(1), Duration::from_secs(2)); let frames: Vec<Frame> = partial_decoder.unwrap() .filter_map(|r| match r { Ok(f) => Some(f), Err(_) => None}) .collect(); // Decode only the headers to quickly calculate the file's length let file_c = File::open(&path).unwrap(); let headers = Decoder::decode_headers(file_c).unwrap(); let duration = headers.filter_map(|r| { match r { Ok(f) => Some(f.duration), Err(_) => None, } }).fold(Duration::new(0, 0), |acc, dtn| acc + dtn);
Structs
| Decoder |
An interface for the decoding operation |
| Frame |
A decoded frame |
| MadFixed32 |
libmad's native fixed-point sample format |
Enums
| SimplemadError |
An error encountered during the decoding process |


(How To) Use the Demo
Wait for the map to load and setup; when ready, the "Play" button will be activated.
-
(when activated) Click "Play", to start playback.
-
To change active view during playback:
- Click on a map marker, to navigate to this view
- Click on the "Switch" button, to navigate to the next view
- Select an algorithm from the Policy select dropdown
(note: other options will be disabled until 'Manual' is selected again)
If during playback the video stops responding, click "Reset MSE"
The recommended browser to view the demo is Chrome. Tested on Firefox and Chrome. Does NOT work on IE or Edge
(issue [4]).
For hiccups or suggestions, you can
file an issue on github, or
contact us.
This demo requires an adequate internet connection (videos are encoded at 2000kbps). If such is not available,
try running the demo locally.
(How To) Reproduce / Modify The Demo
This demo is part of the
SWAPUGC platform. There are no external dependencies or libraries used, except Google Maps for the map rendering.
In order to run it locally, or on your own server, you should perform the following steps:
-
Clone, or check-out the source code, from the
github repository.
-
(Optional) add your own dataset in the
samples folder
-
(Optional) modify the parameters in
parameters.js and
main.js
-
Run a local server (e.g.
Mongoose) on the top level (i.e. inside the "SWAPUGC" folder), or upload the repository contents
to your server.
-
Use your browser to navigate to
-
www.server-domain.com/index.html , for remote server
-
localhost:8080/index.html , if you are running it locally (with an example port of 8080)
You can find more information
about SWAPUGC, or consult the
README.
As long as you see this text, the map is still loading...
NOTE: this demo uses the Google Maps API. If the map is not loading, make sure that the Google Maps service
is online and that it is not blocked by your firewall/proxy


Philosophy
Through my years as an educator, I have followed three simple teaching principles to improve the experience and results of students’ learning journeys: 1) provide students with structured and guided time so that they can improve; 2) reflect on my teaching so that I can improve; and 3) inspire students to pursue STEM careers so that we can improve our future.
Experience
A selection of my teaching experience is below. Please see my CV for additional details and experience.
Teaching
- Designed and taught a scientific communication and graduate school preparation 9-week course for underrepresented minorities through the Opportunities in Genomics Research program at the McDonnell Genome Institute at Washington University School of Medicine in St. Louis.
- Designed and taught a 3-day bioinformatics minicourse for graduate students and medical researchers at Washington University School of Medicine in St. Louis. The minicourse has been expanded to a full semester course for all first year graduate students in the Division of Biology and biomedical Sciences at Washington University School of Medicine.
- Teaching assistant for 6 semesters of undergraduate and graduate courses in biology, biostatistics, and computational biology at Washington University in St. Louis.
Training
- Completed the Teaching Citation from the Center for Teaching and Learning at Washington University in St. Louis. Requirements for the program included TAing 3 courses, attending advanced pedagogy workshops, and completing a minicourse on developing a teaching philosophy statement.
- Completed the Course Design Institute program at the Center for Teaching and Learning at Washington University in St. Louis. Each participant designed a college-level course over the multi-week program.
- Completed the Research Mentoring Training program through the Center for the Improvement of Mentored Experiences in Research (CIMER)
Mentoring
- Mentored high school and undergraduate students on independent computational projects.
- Consultant for graduate coursework and scientific computing workshops at Washington University School of Medicine in St. Louis.


Service Hooks are the means by which gitlab notifies strider of new commits and pull requests to your repository.
We already registered the requisite hooks when you added this project, but if you want to remove them or add them back, you can do so here.


W3Schools is optimized for learning, testing, and training. Examples might be simplified to improve reading and basic understanding. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using this site, you agree to have read and accepted our terms of use, cookie and privacy policy. Copyright 1999-2018 by Refsnes Data. All Rights Reserved.


xPike - The Paved-Road for Microservices in .Net
Mission
Provide a paved road of cross-cutting concerns and best practices for building high quality, reliable, cloud-native microservices and distributed systems in .Net and .Net Core.
Highlights
Key goals are to provide a cross-cutting, cohesive framework which suggests a single paved road to success, without constraining you to follow that path. While we try not to be opinioned like other frameworks, we do provide sensible defaults.
Highly pluggable and customizable, strongly encourages and enables test-oriented development.
Primary feature set targeting "universal areas of concern" such as logging, metrics, settings management, dependency injection, data access, inter-service communication (events, queues, HTTP, gRPC), transient fault management ("circuit breakers"), etc.
Providers are available for common RDBMS systems, cloud services in AWS and Azure, familiar .NET libraries, and many other use cases - it is also easy to create your own custom providers.
Using a highly de-coupled architecture and a contract-based design pattern, it is well suited for an evolving service ecosystem and simplifies the decomposition of legacy systems.
The "Paved-Road"
The xPike SDK aims to provide a paved-road of industry demonstrated best practices in service design and operation, including:
- SOLID principles
- Observability
- Configuration separate from code
- Abstract infrastructure concerns from application logic
Platform Support
Natively support:
- .Net Core 2.0 and above
- .Net 4.5.2 and above
Contributing
Want to contribute? Read our contributing guidelines.
Licensing
License information can be found here.


Outcome letters for the focused Ofsted inspections of academies within multi-academy trusts.
These inspections are part of a concerted programme of action by Ofsted to establish the effectiveness of multi-academy trusts in supporting and challenging academy schools within individual chains.


The agencies and staff of the United Nations work tirelessly to create a more peaceful world. In
recognition of their significant contributions, UN agencies and staff have received the Nobel Peace
Prize multiple times.
In 2007, the Intergovernmental Panel on Climate Change received the Nobel Peace Prize for their
work
on building and disseminating information about man-made climate
change. The IPCC is a scientific
intergovernmental body established in 1988 by the World Meteorological Organization (WMO) and by the
United Nations Environment Programme (UNEP). IPCC is comprised of more than 2,000 climate experts
from over 100 countries. Their role is to assess scientific, technical and socio-economic
information relevant to the understanding of climate change,
evaluate its potential consequences,
and provide options for adaptation and mitigation (UNEP, 2008). The
former United States
Vice-President and eminent environmentalist Mr. Albert Arnold (Al) Gore Jr. shared the award with
the IPCC. The Norwegian Nobel committee chose to honour Mr. Gore and the IPCC with the Nobel
Prize
because both were 'seeking to contribute to a sharper focus on the processes and decisions that
appear to be necessary to protect the world’s future climate, and thereby to reduce the threat to
the security of mankind." (The Nobel Peace Prize, 2007)
The first Nobel Peace Prize awarded to a United Nations staff member was presented to Ralph
Bunche
in 1950. Ralph Bunche, pictured below, was a United Nations mediator in Palestine during
the 1948 conflict
between the Arabs and Jews. At the Nobel lecture Ralph Bunche said, "there are some in the
world who are
prematurely resigned to the inevitability
of war....The objective of any who believe in peace
clearly must be to exhaust every honourable recourse in the effort to
save the peace." Four years
later, Dr. G. J. van Hueven Goedhart, the United Nations High Commissioner for Refugees
(UNHCR),
received the UN's second Nobel Peace Prize for his tireless efforts to protect and support
refugees.
He said, "There can be no real peace in the world as long as hundreds of thousands of men, women and
children ....still remain in camps and live in misery..."
UN staff and agencies received five Nobel Peace Prizes in the sixties and eighties. In 1961 the
prize was awarded posthumously to Dag Hammarskjold, the Second
Secretary General of the United
Nations for his contributions to the UN's development. Four years later, the United Nations
Children's Fund (UNICEF) received the prize for proving that "compassion knows no national
boundaries." The Nobel Peace Prize was awarded in 1969 to The International Labor Organization
(ILO). The Norwegian Nobel Committee chose the ILO because of the organization's integral role in
creating a more just world. The Nobel Committee justified their choice by explaining, 'if you desire
peace, cultivate justice." More than a decade later, the Nobel Peace
Prize was awarded to The Office
of the United Nations High Commissioner for Refugees for, "...carrying out work of major importance
to assist refugees, despite the many political difficulties with which it has to contend." Finally,
in 1988, The United Nations Peacekeeping Forces received the award for reducing tensions in volatile
situations.
More recently, the Nobel Peace Prize was awarded to The United Nations itself in conjunction with
Kofi Annan, the UN Secretary-General from 1997-2006. The Norwegian Nobel Committee explained that
the UN "is at the forefront of efforts to achieve peace and security in the world." In 2005 The
International Atomic Energy Agency (IAEA) and its director General Mohammed ElBaradei received the
award for "...their efforts to prevent nuclear energy from being used for military purposes and to
ensure that nuclear energy for peaceful purposes is used in the safest possible way."
This multitude of Nobel Peace Prizes is evidence of the UN's deep commitment to world peace. The
awards chronicle the feats of the many dedicated UN staff who continue to work towards building a
better world for all.
Sources:
Intergovernmental Panel on Climate Change (UNEP) (2008)
Retrieved on June 25, 2008, from http://www.ipcc.ch/
Pachauri, R.K. (2007, December). Nobel Lecture. Speech presented at City Hall in Oslo.
Retrieved on June 22, 2008, from
http://nobelprize.org/nobel_prizes/peace/laureates/2007/ipcc-lecture_en.html
Print this Passage
Print an earlier version of this passage
Comprehension Exercise
In-Class Interactive Activity


Where:
Set Location
Keyword (optional):
Type:
accounting
airport
amusement_park
aquarium
art_gallery
atm
bakery
bank
bar
beauty_salon
bicycle_store
book_store
bowling_alley
bus_station
cafe
campground
car_dealer
car_rental
car_repair
car_wash
casino
cemetery
church
city_hall
clothing_store
convenience_store
courthouse
dentist
department_store
doctor
electrician
electronics_store
embassy
fire_station
florist
funeral_home
furniture_store
gas_station
grocery_or_supermarket
gym
hair_care
hardware_store
hindu_temple
home_goods_store
hospital
insurance_agency
jewelry_store
laundry
lawyer
library
liquor_store
local_government_office
locksmith
lodging
meal_delivery
meal_takeaway
mosque
movie_rental
movie_theater
moving_company
museum
night_club
painter
park
parking
pet_store
pharmacy
physiotherapist
place_of_worship(deprecated)
plumber
police
post_office
real_estate_agency
restaurant
roofing_contractor
rv_park
school
shoe_store
shopping_mall
spa
stadium
storage
store
subway_station
synagogue
taxi_stand
train_station
transit_station
travel_agency
university
veterinary_care
zoo
Radius - Max 5000 Meters:
Search for objects
Clear List
Send to Geo JSON


|
ViennaCL - The Vienna Computing Library
1.5.2
|
A class for the AMG points. Saves point index and influence measure Holds information whether point is undecided, C or F point. Holds lists of points that are influenced by or influencing this point. More...
#include <amg_base.hpp>
A class for the AMG points. Saves point index and influence measure Holds information whether point is undecided, C or F point. Holds lists of points that are influenced by or influencing this point.
| typedef ListType::iterator iterator |
| amg_point | ( | unsigned int | index, |
| unsigned int | size | ||
| ) | [inline] |
The constructor.
| unsigned int add_influence | ( | int | add | ) | [inline] |
| void add_influenced_point | ( | amg_point * | point | ) | [inline] |
| void add_influencing_point | ( | amg_point * | point | ) | [inline] |
| iterator begin_influenced | ( | ) | [inline] |
| const_iterator begin_influenced | ( | ) | const [inline] |
| iterator begin_influencing | ( | ) | [inline] |
| const_iterator begin_influencing | ( | ) | const [inline] |
| void calc_influence | ( | ) | [inline] |
| void clear_influenced | ( | ) | [inline] |
| void clear_influencing | ( | ) | [inline] |
| iterator end_influenced | ( | ) | [inline] |
| const_iterator end_influenced | ( | ) | const [inline] |
| iterator end_influencing | ( | ) | [inline] |
| const_iterator end_influencing | ( | ) | const [inline] |
| unsigned int get_aggregate | ( | ) | [inline] |
| unsigned int get_coarse_index | ( | ) | const [inline] |
| unsigned int get_index | ( | ) | const [inline] |
| unsigned int get_influence | ( | ) | const [inline] |
| unsigned int get_offset | ( | ) | [inline] |
| bool is_cpoint | ( | ) | const [inline] |
| bool is_fpoint | ( | ) | const [inline] |
| bool is_influencing | ( | amg_point * | point | ) | const [inline] |
| bool is_undecided | ( | ) | const [inline] |
| void make_cpoint | ( | ) | [inline] |
| void make_fpoint | ( | ) | [inline] |
| unsigned int number_influencing | ( | ) | const [inline] |
| void set_aggregate | ( | unsigned int | aggregate | ) | [inline] |
| void set_coarse_index | ( | unsigned int | index | ) | [inline] |
| void set_index | ( | unsigned int | index | ) | [inline] |
| void set_offset | ( | unsigned int | offset | ) | [inline] |
| void switch_ftoc | ( | ) | [inline] |


MColor¶
-
class
MColor
(clr=None, model=0, dataType=0)¶ Bases:
OpenMaya.MColor
Override of the Maya API class of the same name to make the data within the class ‘picklable’
Methods Summary
getColorModel
()Returns the color model used by this MColor object getDataType
()Returns the color data type used by this MColor object setColor
(clr[, model, dataType])Override of the base class version to add functionality Methods Documentation
-
getColorModel
()¶ Returns the color model used by this MColor object
RETURNS int representing the color model type such as MColor.kRGB
-
getDataType
()¶ Returns the color data type used by this MColor object
RETURNS int representing the color data type such as MColor.kFloat
-
setColor
(clr, model=0, dataType=0)¶ Override of the base class version to add functionality
-


HIV care health data []. Health NCDs risk NCD {border-style patient px;} systems #ffffff;} treatment disease diseases chronic monitoring PLHIV persons antiretroviral patients HIV-infected United countries mortality AIDS ART clinical integration noncommunicable burden cardiovascular surveillance Immune Study case human infection middle-income px; screening {font-family Acquir Defic HIV, cancer care, cohort epidemic font-size general important improved surveys use Dis./ Disease However, Infect Med Nations Public approach collect double; effective efforts factors global include information integrated management models necessary particularly prevalence programs registries registry resources sub-Saharan Cohort Data Programme Registries South Suppl [,]. [-]. additional border-color border-width collection diabetes ensure estimates hypertension incidence including increased individual investments levels limited low-income medical national provide quality related report solid; support therapy track unique used useful {font-style {font-weight Additionally, Africa: Demographic Development Global Int LMICs LMICs, Sustainable [], adults aging associated available bold cervical collected comprehensive conditions coronary courier; current delivery disease, em; factors, greater inform lessons linked living needed non-communicable outcomes prevent prevention prevention, primary program pt;} public review service systematic treatment, tuberculosis understand viral


FAQ
- Why is there no archive?
- Is there another way I can get a hold of past articles?
- No. We do not save articles. Not anywhere. Not on in a private hard drive, not on a cd, floppy disk, magnetic tape, paper or clay tablets.
- Is that really true?
- Yes. Sort of. There is possibly a computer, laptop, mobile device or server somewhere that has cached or still holds in mempry any given issue. The chance of getting a hold of that data is small.
- What measures have you taken to ensure that no one archives the Impermanent Marker?


Tories increase lead over Labour in General Election polls
Public support for the Conservative Party has been steadily growing throughout the week, according to an opinion polls average.
The Tories have increased their lead from 34 to 40 per cent over the past two weeks as parties gear up for the December 12 General Election.
Yesterday the December 12 election looked like it could be shaping into a two horse race as Jeremy Corbyn’s party was catching up with the Conservatives.
But today Labour remained stagnant at 29 per cent while the Tories kept on making gains.
It comes Boris Johnson said this morning that his party ‘have got to do better’ on the NHS after figures suggested the service’s performance is at its worst of all time.
Support for the Liberal Democrats has fallen to 16 per cent, compared to 19 per cent when the election was first called.
Advertisement Advertisement
The Brexit Party was sitting at 12 per cent two weeks ago but has since plummeted to seven per cent.
It comes as its leader Nigel Farage decided to stand down 317 candidates in Tory-held seats.
Meanwhile support for the Green Party, whose members want a second EU referendum, has fallen from five to three per cent.
In his first keynote General Election campaign speech this week, the Prime Minister promised a clean energy revolution, to put more money into the NHS and to help people cope with the cost of living.
Meanwhile the Labour Party have promised free broadband for all by bringing parts of BT into public ownership if it wins.
Got a story for Metro.co.uk?
Get in touch with our news team by emailing us at<EMAIL_ADDRESS>For more stories like this, check our news page.


Introduction
Note: These tour notes were prepared in July/August 2015 by Eli Pousson for Vacant Houses by Bike: Vacant Houses by Bike: Salvage, Demolish or Preserve? – a bike tour program organized by Baltimore Heritage on August 9. They are presented here in their rough form including extended from a variety of publications. We hope to revise and expand these notes if we repeat this tour in the future.
We have a problem with vacant houses in Baltimore. A vacant might be a bank-owned brick townhouse from the 1970s; a narrow two-story rowhouse built for working-class whites in the 1910s; or a four-story 1870s mansion half-collapsed into the basement.
Baltimore City estimates the city holds around 16,000 vacant properties — mostly attached rowhouses built before WWII. The U.S. Census Bureau has found 46,800 vacant homes — 16 percent of Baltimore’s housing stock.
Otterbein (Inner Harbor/Federal Hill)
**Background Data - **Federal Hill, Inner Harbor, Otterbein, Ridgely’s Delight, Riverside, Sharp-Leadenhall, Stadium Area, Downtown West, SBIC (now South Baltimore), South Baltimore
| Percentage of Residential Properties that are Vacant and Abandoned | 0.5 % |
| Total Number of Residential Properties | 5,954 |
| Median Price of Homes Sold | $314,000 |
Homesteading in Otterbein
1986: NYT reported –
During the 1970’s the city sold blocks of abandoned Federal-style row houses in downtown neighborhoods for $1 apiece and provided buyers with up to $37,000 in low-interest construction loans. The city provided technical assistance and authorized payments to approved contractors. Major work had to be completed within six months and, after 18 months in residency, homesteaders received the deeds to the houses. Baltimore’s homesteading program, for example, brought only 600 houses back to life during the 10-year program. By comparison, 40,000 families are on a nine-year waiting list for Baltimore’s 20,000 units of public housing.
Federal budget reductions, starting in 1980, forced the city to stop subsidizing construction loans - and now city officials said it has run out of the sort of salvageable properties that appeal to homesteaders. In the 1982 program, Rehab Express, the city simply sold boarded-up houses around the city for $100 or $200 apiece and buyers were responsible for obtaining financing and working with contractors. Of the 300 homesteaders in this program, only about 64 managed to secure financing and complete their homes.
Salvage and rehabilitation in South Baltimore
In 1974, the Baltimore Sun profiled preservationist Jane Springer under the headline, “Transformed - a 14 foot wide rowhouse.” Springer volunteered as a member of the Preservation Society board of directors and used architectural elements from vacant buildings to rehabilitate an 1802 Federal Hill rowhouse on Montgomery Street. She remarked to the Baltimore Sun:
**“I didn’t want to use new materials in renovating an old house,” **said Mrs. Springer. “I got permission from the Commission for Historical and Architectural Preservation at City Hall to remove from vacant houses owned by the city pieces of old wood, the stairway; the large-paned mullioned windows (on the second and third floor rear) from an abandoned plant and the iron balustrade across the front exterior. The commission stipulates that such materials be used only for renovations in a restoration area; they cannot be bought for re-sale. The expense involved is in the removal and hauling.”
In 1975, the efforts of a group of similar home rehabbers contributed to the establishment of the Baltimore Salvage Depot, an enterprise touted in 1981 as “the country’s first center for recycling urban architectural artifacts.” Supported in part by federal workforce training grants, the depot offered a wide range of products at a Pratt Street warehouse in the early 1980s:
“A pair of Olympic torches from the old Oriole Park on 29th street, oak doors from St. Mary’s Seminary, and stained glass windows from an East Baltimore rowhouse–it’s all gathered in the dark and dingy five-story warehouse at 213 West Pratt street.
The sign out front reads “The Baltimore Salvage Depot,” a distinctly unpretentious title for an operation described as the country’s first center for recycling urban architectural artifacts… Now in its sixth year, the Salvage Depot was established to recycle items taken from condemned city-owned houses and buildings. The idea began when homesteaders, seeing salvageable sections of houses being buried under the rubble or a wrecker’s ball, used to go scrounging in vacant houses after the wrecking crew quit for the day. This practice was not only hazardous, but illegal. For once the property was turned over to the wreckers, it was privately owned.
Washington Village/Pigtown
Background Data - Barre Circle, Carroll Park, Caroll-Camden Industrial Area, Washington Village/Pigtown
| Percentage of Residential Properties that are Vacant and Abandoned | 7.5% |
| Total Number of Residential Properties | 2,759 |
| Median Price of Homes Sold | $80,000 |
From Upscale ambitions for Pigtown ; Renewal: City investment aims to draw developers into a Washington Village renaissance.: [FINAL Edition] Rosen, Jill. The Sun [Baltimore, Md] 26 Jan 2005: 1B:
“Most people look at derelict properties as a public-safety liability,” said Jack Danna, Washington Boulevard Main Street Program manager. “What they really are is an economic development issue.” … For more than four years the community hoped to shame wayward property owners into fixing or selling their buildings by nagging code enforcement officers to write citation after citation on them. Despite a long list of violations, it hasn’t worked. “The problem of houses sitting in the middle of the block that the landlord won’t fix up and won’t sell - that’s the biggest problem in Pigtown,” said longtime resident Bus Chambers, adding that the blight has a tendency to spread. “It’s like two bad teeth in your mouth - if you let it go, next thing you know you’ve got three decaying.” At the end of their rope, community leaders said they turned to eminent domain.
Hollins Market - 1125, 1127 & 1129 Hollins Street
How can you solve vacant housing with *_homeowner assistance_?* “An ounce of prevention is worth a pound of cure”
1974: Robert C. Embry remarked, “There is nothing like a boarded-up house to pull down a whole block,” the Sun called it a “truism echoed by landlords and residents.”
2005: The Abell Foundation grants Jubilee Baltimore and Baltimore Heritage $50,000 to support a pilot partnership providing community outreach and technical rehabilitation assistance to homeowners and buyers in the Marble Hill, Station North, and Hollins Market neighborhoods. Baltimore Heritage provides small group workshops on the historic renovation process and facilitates access to state and city historic tax benefits; Jubilee Baltimore will offer a full program of renovation assistance, developing the scope of work, finding a contractor, overseeing the construction process, and helping to obtain financing
2008: Sally Otto (Jubilee Baltimore) helped 30 property owners in the Union Square-Hollins Market secure historic tax credits
*What is a market gap? What is a subsidy required to redevelop vacant houses?**
2008: Jubilee Baltimore renovated three formerly vacant derelict houses overlooking the Hollins Market.
July 2009: Home values fell from prices when Jubilee Baltimore arranged construction financing. Based on market comparables, each house appraised for $40,000 less than the cost to build them.
December 2014: DHCD forgives $495,000 in loans through Community Legacy program that supported the purchase/rehab of 12 vacant homes in Penn North, Eutaw Place/Madison Avenue, and Hollins Market Historic Districts, noting “Although the overall impact has met the revitalization outcomes anticipated, the financial outcomes are below projections due to the economic downturn.” In Hollins Market, the 2014 conditions were:
Development Cost: $858,000;
Assessed Value: $330,000;
Community Legacy: $180,000;
Market Gap: 62%
Harlem Park/Sandtown-Winchester
| Percentage of Residential Properties that are Vacant and Abandoned | 34.3% |
| Median Price of Homes Sold | $32,000 |
| Total Number of Residential Properties | 6,064 |
Edward D. Preston Residence - 1637 Edmondson avenue
When did we start using demolition to solve our vacant house problem? As City Building Inspector, Edward Dawson Preston became the first to declare “War on Unsafe Buildings” in Baltimore.
May 12, 1900: THEIR HUMBLE HOME UNSAFE: Mr. And Mrs. Henry Unkelback Fear They May Be Turned Out
Burned with the fear that they may be made homeless are an old couple who occupy the dwelling 907 West Saratoga street, which has been condemned as unsafe by Building Inspector Preston. The couple are Mr. and Mrs. Henry Unkelback and for more than 30 years they have lived in the house which they now fear they may be compelled to abandon. The house is two stories high and was probably built more than half a century ago. …In better days Mr. Unkelback owned the little house. He became poorer as he grew older, and when he was unable to pay the taxes on the house it was sold by the city. Mr. Unkelback says he does not know who purchased the house, but had heard the purchaser was involved in a legal fight in the courts with the owner of the ground. He had hoped that he would be allowed undisputable possession of the house until after the lawsuit had been settled. Building Inspector Preston is determined, however, that the walls of the house must come down. If the owner of it declines to make the house secure the Building Inspector will likely have the work done and then sue the owner for the money.
August 1901: Preston continues a campaign of condemning “unsafe” buildings:
“Mr. Preston said yesterday he was determined to clean Baltimore of buildings such as this, which are a menace to public safety, and since his incumbency as Buildings Inspector he has condemned about 1,500 altogether.”
March 1904: Preston helped to shape changes to city building laws:
“An ordinance changing the building laws of the city… introduced in both branches of the City Council… after consultation with a number of prominent builders and architects, and is designed to remedy the defects in the present laws.”
Effort continued in 1906, “The City Council can make or mar the best building regulator ever compiled for a municipality, according to Building Inspector Preston. As the proposed laws now stand they are said to be inadequate in some instances and too strenuous in others. If a happy medium is met, it is the opinion of Mr. Preston that Baltimore will have the most up-to-date building code of any city in the country.”
March 21, 1907: MR. PRESTON ALARMED: Says Tailors And Shoemakers Try To Remodel Buildings,
“I was astounded at the carelessness with which buildings were being remodeled in East Baltimore,” Mr. Preston said. The foreign population which has crowded in the section called the ghetto employ tailors and shoemakers to build houses. The owner of the house on High street who was killed was a tailor, yet he had torn out an end wall and was reconstructing the building. One of the inspectors of this department ordered him to stop work on the building and put in more props a short time before the collapse… There should be a law requiring builders to be licensed as plumbers are. As the law now is, we can’t refuse a man a building permit because he is incompetent to erect a building.”
1941: Baltimore Hygiene of Housing ordinance gives City Health Department greater power for nuisance abatement, start of the City Housing Code
1943: Housing Division established within the Health Department, 1949 becomes the Office of Housing and Law Enforcement and in 1951, Housing Bureau of the Health Department, creates the “Baltimore Plan”
Dec 6, 1981: Vacant houses an ‘insurmaounble’ problem for neighbors (Baltimore Sun):
There are 6,142 addresses on the city’s latest list of abandoned houses. The number changes slightly every year, but despite a variety of official efforts to alleviate the situation through prosecution rehabilitation and sales, it has remained about the same for a long time. In recent weeks, city officials have been meeting with groups of property investors to try to find new solutions to this perpetual problem. Last week, a City Council hearing was held to discuss more effective marketing of the several thousand vacant properties the city has acquired because of unpaid property taxes, and this month the Citizens Planning and Housing Agency has begun a comprehensive study of abandonment… Since late 1979, city officials have been suing landlords who do not pay property taxes, a policy that has made some miscreants think twice about taking what was formerly known as “the easy way out”–simply letting the city take the house. But it has hardly proven the perfect cure… For city officials, the trick always has been to rehabilitate vacant houses that can act as catalysts to turn back that “moving edge” of blight. In some cases–such as the cooperative the city created from whole blocks of largely vacant houses in three neighborhoods–the tactic seems to have worked. But in other cases–such as the Vacant House Program (VHP), in which 1,900 scattered, abandoned rowhouses have been renovated as public housing since 1972–the jury is still out on whether they will become “seeds of revitalization” or be swallowed up by the stronger forces of decay.
900-1000 Stricker Street
What is Vacants to Value?
Streamline the Disposition of City-Owned Properties - Through reorganization, increased marketing, and improvement of pricing policy, we are making the sale of city- owned properties a clear, predictable, and transparent process.
*Streamline Code Enforcement in Stronger Markets *- Through streamlined code enforcement we are forcing scattered vacants in otherwise strong neighborhoods to rehabilitation without ever going to court.
Demolish and Maintain Severely Distressed Blocks - Recognizing that not every vacant building can be revitalized, were also using targeted demolition, land banking, and active promotion of creative non-housing uses to support long-term housing value.
2012: Baltimore receives $10 million from national mortgage fraud settlement, dedicates nearly all to demolition - in strategic demolition clusters; preservation review
2014: Vacant to Value markets 900-1000 Stricker Street with Surplus Property Sale:
“These 22, three-story, large-body row houses provides the perfect opportunity to create an attractive development site, and a make positive change in this neighborhood. The homes have great access to public transportation and are close to an award-winning primary school.”
What is strategic demolition? Blight elimination? According to the Shrinking Cities Studio:
A key element of the shrinking cities problem is an excess of housing stock in communities without much demand for housing. One of the solutions being currently promoted is strategic demolition, in which abandoned or substandard properties are demolished. This reduces the impact of substandard properties on the image and property values of struggling communities, eliminates nodes of environmental nuisances or crime and frees lands for new uses.
Modern Junk & Salvage Company - 1423 N Fremont Avenue
1795: Patrick Colquhoun’s Treatise on the Police of the Metropolis (London) he calls out “The Dealers in Old Iron and other Metal” as a trade that includes a significant proportion of “criminal Receivers; who purchase everything that is offered in the way of trade; well knowing, from the price and other circumstances, that the property was originally stolen.”
February 1887: two men were arrested for a campaign of metal theft in vacant homes in the neighborhood of what was then the city’s far western border:
“For several weeks past unoccupied houses in the neighborhood of Lexington street and Fulton avenue have been successfully entered, and the copper lining in bath-tubs, gas brackets, globes and lead pipe have been stolen. No clue could be obtained to the thieves.” Neighbors spotted two men pair “entering the unoccupied dwelling No. 1819 Lexington street, belonging to the Garrett estate, with intent to steal,” and after an “An Exciting Chase and Arrest,” (including an attempted rooftop escape) the police caught “Wm. Thomas and Charles Griffin, both colored.”
June 1916: Baltimore Sun reported on the Big Sums in Junk Trade,
The junk men are the real dealers in futures. They are optimists of the highest type. They “feed on: the worn-out and decadent. They see value in every scrap of waste or rust-scaled metal.
Junk shop operating at this location since at least 1943, building used as a stable in early 1900s. In the mid-1960s, owned by brothers S. Louis Weinstein and Joseph Weinstein; in 1980s, owned by Joe Brightman.
2005: 130 light poles stolen for scrap aluminum:
Lynn Smith, the manager at the Modern Junk and Salvage Company in Baltimore, said the thieves’ quest for quick cash did not surprise her. “They find any way they can to get the metal and then the money in Baltimore,” Ms. Smith said. “They don’t care how they get it.” She added that she and other local dealers in scrap metal were “on alert” for sections of aluminum light poles and would not buy them.
2012: Growth in metal theft from high copper prices:
“We’re beginning to paint our copper wire green in order to make it evident when it shows up at the reclamation site that that’s where it came from,” said BGE spokesman Ken DeFontes.
Upton/Bolton Hill
1805 McCulloh Street
August 1881: the police asked local families to report their travel plans to local authorities creating what is likely the city’s earliest formal inventory of vacant buildings, as the Sun reported:
“This summer the exodus from Baltimore has been greater than usual, and there are probably some twelve or thirteen hundred houses vacant, mainly in the north and northwestern sections of the city. The protection of this property is left to the police, and how to preserve it intact has been a matter of careful consideration by the police authorities. Notifications that the families have removed are generally sent to Police Marshal Gray or to the captains of districts with requests that the houses be looked after.”
1897: concern over “Vacant House Robberies” led Baltimore police officers to patrol in “citizen dress” to try to catch thieves in the act. Baltimore Police Captain Solomon Freeburger offered a number of creative ideas as a solution including a plan to place younger officers in the neighborhoods with the greatest number of vacant homes, noting:
“In the residential parts of the city where there are great numbers of vacant houses, it would be well to place the young men who are active and alert. Daily inspection of all property left for the summer is practiced at present in this city.”
Freeburger even recommended electric burglar alarms calling them an “almost a perfect guarantee of a thief’s apprehension, or, at least, that he will be frightened off before accomplishing robbery.”
West Segregation Ordinance
Some observers clearly saw how suburban growth at the periphery and disinvestment from the core drove Baltimore’s emerging vacant house problem. However, then and perhaps now, anxiety over high property taxes, worries over diminished property values and white supremacy largely defined the terms of the debate. Rather than challenge the enormous public subsidies for suburban growth or encourage more substantial investment in the maintenance of older city neighborhoods (by then occupied largely by recent immigrants and African Americans), the city instead fought vacancy by writing racism into local housing laws.
In August 1910, a member of the real estate firm of William Martien & Company who shared a growing “agitation over the number of vacant houses in the city,” asked the Baltimore Police board to undertake a “complete census of the number of houses, both vacant and occupied in the city.” With the release of the report, real estate agent James Cary Martien argued, “The number of vacant houses in the city is due both to the many dwellings being built in the suburbs and the dilapidated condition of many in Baltimore.”
Martien’s focus on housing supply and demand neglected to account for the intense concern that many Baltimoreans had with racial segregation – advancing the necessity of segregation on the principle of white supremacy and the economic logic of preserving property values. In the weeks that followed the publication of the report, a series of letters to the Sun expanded on Martien’s summary and tied vacancy closely to the perceived threat of “negro invasion.”
Baltimore Mayor John Barry Mahool signed into law the West Segregation Ordinance, named for sponsor Council Samuel L. West who represented the northwestern neighborhood highlighted in the police report for the highest concentration of vacant houses.
The new law was the first local ordinance in the country to enforce racial segregation in housing as it forbid black residents from moving to designated “white blocks” and white residents from moving to designated “colored blocks.” Each block was designated according to the racial identity of the majority of each block’s residents in 1910 and the city police were tasked with enforcing the new policy.
While the West Segregation Ordinance was soon overturned as unconstitutional, it was followed by several more attempts to enact a municipal law to enforce racial segregation. Often overlooked in this much-discussed chapter of Baltimore’s history of segregation, vacant housing played a critical role in stoking white fears and reinforcing a racialized perception of “blight” in the decades that followed.
Nancy Thurlow Mural - 1811 McCulloh Street
Vacant lots have always been a problem that comes along with vacant housing. See Baltimore Sun, Aug 28, 1885:
Alleged Nuisances.–“A Resident” writes to The Sun calling attention to a nuisance, which, he says has existed the entire summer, occasioned by using the vacant lot between Lafayette ave. and Lanvale street, west of Fulton avenue, as a dumping ground for filth of various descriptions. The stench arising from the decomposition and fermentation during the late hot spell has been almost intolerable, particularly in the vicinity of the new culvert now building.
What do you do with a vacant lot? That question drove the Beautiful Walls of Baltimore program.
The panel selected ten winning designs and provided each artist with donated paint (Sears offered around 80 gallons), scaffolding, and a $1000 honorarium. By July 1974 nearly all ten of the murals were complete and Mayor William Donald Schaefer was pleased with how the colorful murals had brightened the streetscape, remarking on a bus tour of the murals in early October:
“It’s a psychological thing. I don’t know if you’ve heard my lecture: If you go into a neighborhood and it’s dull and drab, you’re dull and drab. But if you go into a neighborhood and it’s bright and clean you feel better. You expect big things to be done. But it’s the little things that make the difference between living in a city and just existing.”
1200 Block of Bolton Street/Armory Plaza
1909: Colonel C. Baker Clotworthy, commander of the Fifth Regiment Armory, favored the plan for the northward extension of Howard Street:
“I would be deeply interested in this improvement because it means so much more than simply tearing down some houses and opening a street. Everyone in the city is familiar with the steady decrease which has taken place in the value of property in this neighborhood for the last 20 years. All about Richmond Market, and extending north, there are hundreds of undesirable houses and, in many cases, huts. This sore is spreading rapidly. A great many negroes, not of the best class, gradually tenant the houses on the edge of this district and immediately the white people move from the block invaded. If this continues no one knows where it will stop.”
July 1934: Philander B. Briscoe, City Council member and member of the Mount Royal Protective Association:
“is seeking to have about twenty-five old houses in the neighborhood of the Fifth Regiment Armory torn down to complete the plaza scheme… “About one-half of them are vacant, some have the front nailed up, and fences sagging, and one doesn’t have to be an artist to see that the whole scheme of beautification is spoiled by them.”
May 1939: Rehabilitation on the 1200 block on Bolton Street used material from homes demolished for the construction of either Armory Plaza or McCulloh Homes [Additional research is required here]:
“Five years ago it had gone to pot. One or two families had clung persistently to their homes, but most of the owners had fled before the encroachment of undesirables who had begun to filter in. The razing of the 1100 block to make room for the Armory Plaza was a green light for speculators, who bought up property in the block right and left for occupancy by tenants forced out of the houses which were being torn down. Many of them moved in and proved to be so objectionable that an older resident, impoverished but respectable, immediately moved out in order to go to a better neighborhood. His house, left vacant, immediately was wrecked by vandals, who tore doors from their hinges and carried them off, pulled the gas and electric fixtures from the walls and ceilings and made off with part of the railings on the front steps.” “To reestablish it and replace doors and door frames which had disappeared or were in bad condition the renovators doubled as camp followers of wrecking crews all over the city, picking up doors here, grillwork there, window sash some place else. Any place where it became known that old Baltimore houses were being torn down some resident or future resident of the 1200 block on Bolton street appeared, bent on salvage.”
404 George Street - Seton Hill
1938: Hillery Holton, died at age 79 at the house
August 1953: Mrs. Tamathia Chandler, age 27 - lived at the house in
November 1963: 410 George Street:
“the trim white house with blue door and window frames, was only a shell when John Sims bought it early this year. By his own skill and imagination he has since transformed the Nineteenth Century row building into a smart midtown pied-a-terre, and its back yard into a sophisticated city garden.
“Mr. Sim’s residence is one of a group that has emerged, fresh and neat, in the pastel-tinted restoration of old houses hidden in the byways of Seton Hill. In George Street… there are fourteen small brick and stucco row houses… Nearly all now have been or are being restored.”
August 1973: Sun described “Baltimore’s near west side” as “one of local real estate’s disaster areas… This was the place where you literally could not give property away… The Seton Hill story is an object lesson in what happens if a city abandons centrally located, if secondary, land on its margins. Nothing but private money can get it going again and in Seton Hill’s case, nothing has.”
Changes since the early 1960s
“Renewal is spreading into back byways and even invading main thoroughfares like Druid Hill avenue… A typical three-story hulk about 1965, with or without windows or original interior trim, was yours for from $400 to $800… Now you might pay $3,500 to $5,000 for the same hulk. Partially improved it might be worth $18,000… Rents have gone from a month $10 to as much as $265.”
1978: Assessed at $3360, owned by Cornelius J. Bonner, Jr.
September 1986: John M. Heinz purchases the building
July 2012: Vacant building notice issued by Baltimore City, receivership
October 2014: Auction failed, city stabilized building and plans to try again
What is vacant property receivership? AKA possession or conservatorship
A municipality or a qualified non-profit entity applies to the court to be appointed the receiver of the property to restore the property to use. Once appointed, the receiver has physical control of the property, can borrow and spend money to rehabilitate the property and can place liens against the property for the amount spent. Once the property has been rehabilitated, the owner may be able to regain control by making the receiver whole, or the property is sold by the court or by the receiver.
Cue Sheet
Begin riding south on S. Hanover Street
Right turn at W. Lee Street
Left turn at S. Sharp Street
Continue onto path at W. Henrietta Street
Right turn at W. Hamburg Street
Right turn at Scott Street
Left turn at W. Lombard Street
Right turn at S. Arlington Avenue
Left turn at Hollins Street - riding against traffic for 2 blocks
Stop at S. Carrollton Avenue (1125-1129 Hollins Street
Right turn at S. Carrollton Avenue
Left turn at Hollins Street
Right turn at S. Calhoun Street
Left turn at Edmondson Avenue
Stop at N. Mount Street (1637 Edmondson Avenue)
Continue east on Edmondson Avenue
Left turn at N. Gilmor Street
Right turn at W. Lanvale Street
Left turn at N. Stricker Street
Stop at Riggs Avenue (900-1000 Stricker Street)
Continue north on N. Stricker Street
Right turn at Laurens Street
Left turn at N. Fremont Avenue
Right turn at Presstman Street
Right turn at Division Street
Left turn at Lauren Street
Stop at McCulloh Street (1805-1811 Mcculloch Street)
Continue east on Laurens Street
Right turn at Bolton Street
Stop at Dolphin Lane (1800 block of Bolton Street)
Continue south on Bolton Street
Right turn at Dolphin Street
Left turn at Eutaw Street
Right turn at George Street
Stop at Jasper Street (404 George Street)
Continue east on George Street (against traffic)
Right turn at Eutaw Street
Left turn at W. Baltimore Street
Right turn at Hopkins Place
Continue on S. Sharp Street
Left turn at W. Barre Street
Related Links/Resources
- Laurens Street LEED Platinum House
- About Vacant Property Recievership
- Baltimore Sun on Otterbein
- Otterbein Courts
- http://www.scribd.com/doc/218916314/Baltimore-Sun-article-on-Lovell-IMG
- Otterbein HD Map
- http://bpw.maryland.gov/MeetingDocs/2014-Dec-17-Agenda.pdf
- http://comptroller.baltimorecity.gov/minutes/2009-07-22.pdf
- http://www.baltimorehousing.org/vtov_demo
- http://www.nytimes.com/2005/11/25/us/light-poles-are-vanishing-and-baltimores-police-are-baffled.html
- http://content.knowledgeplex.org/kp2/cache/kp/935.pdf
- http://archives.ubalt.edu/burha/pdf/10-6-3.pdf


Programmable cloud sync.
All pricing subject to change, particularly during developer preview.
If you just want to support development, thanks! Click here to register with a placeholder fingerprint. You'll be able to convert that to an actual subscription at any time.


PasswordSec
Made using Dropbox's zxcvbn library
Type your password to test its strength! NOTE: I DONT STEAL YOUR PASSWORD I PROMISE
PasswordSec
Made using Dropbox's zxcvbn library
Type your password to test its strength! NOTE: I DONT STEAL YOUR PASSWORD I PROMISE


Feedback Form
This is my form. Please fill it out. It's awesome!
Your name
Your Email
Comments
Do Not Fill This Out


Basics
Defined in File NetworkException.hpp
public exception
XSe::
::
NetworkException
Public Functions


BookIt!
Search
This is the navigation bar
Similar Restaurants
Restaurants similar to this one can go here


?6
7
8
9
10
.
,
.
The
New
York
copyright
reserved
Botanical
Garden
Jasminum
multiflorum
(Burm.f..)
Andr.
%
DET.
RICHARD
A.
HOWARD
1979
SMITHSONIAN
INSTITUTION.
From
the
UNITED
STATES
NATIONAL
HERBARIUM.
PLANTS
OF
PORTO
RICO.
COLLECTED
IN
NOVEMBER
AND
DECEMBER,
1899,
BY
GEORGE
P.
GOLL,
ACCOMPANYING
O.
F.
COOK
AND
G.
N.
COLLINS
OF
THE
UNITED
STATf^
DEPARTMENT
*
V
&
01071708
Legend -
Level of confidence that token is an accurately-transcribed word
extremely low
very low
low
undetermined
medium
high
very high


Build self-contained python executables.
par_binary
par_binary(name, **kwargs)
An executable Python program.
par_binary() is a drop-in replacement for py_binary() that also builds a self-contained, single-file executable for the application, with a .par file extension.
The name
attribute shouldn't include the .par
file extension,
it's added automatically. So, for a rule like
par_binary(name="myname")
, build the file myname.par
by doing
bazel build //mypackage:myname.par
See py_binary for arguments and usage.
Attributes
name |
A unique name for this rule. |
**kwargs |
|
par_test
par_test(name, **kwargs)
An executable Python test.
Just like par_binary, but for py_test instead of py_binary. Useful if you specifically need to test a module's behaviour when used in a .par binary.
Attributes
name |
A unique name for this rule. |
**kwargs |
|
parfile
parfile(name, src, compiler, compiler_args, default_python_version, imports, main, zip_safe)
A self-contained, single-file Python program, with a .par file extension.
You probably want to use par_binary() instead of this.
TODO(b/27502830): A directory foo.par.runfiles is also created. This is a bug, don't use or depend on it.
Attributes
name |
A unique name for this rule. |
src |
A py_binary() target |
compiler |
Internal use only. |
compiler_args |
|
default_python_version |
A string specifying the default Python major version to use when building this par file. |
imports |
List of import directories to be added to the PYTHONPATH. |
main |
The name of the source file that is the main entry point of the application. See py_binary.main |
zip_safe |
Whether to import Python code and read datafiles directly from the zip archive. Otherwise, if False, all files are extracted to a temporary directory on disk each time the par file executes. |
parfile_test
parfile_test(name, src, compiler, compiler_args, default_python_version, imports, main, zip_safe)
Identical to par_binary, but the rule is marked as being a test.
You probably want to use par_test() instead of this.
Attributes
name |
A unique name for this rule. |
src |
A py_binary() target |
compiler |
Internal use only. |
compiler_args |
|
default_python_version |
A string specifying the default Python major version to use when building this par file. |
imports |
List of import directories to be added to the PYTHONPATH. |
main |
The name of the source file that is the main entry point of the application. See py_binary.main |
zip_safe |
Whether to import Python code and read datafiles directly from the zip archive. Otherwise, if False, all files are extracted to a temporary directory on disk each time the par file executes. |


Javascript is an object oriented programming language that is often used on web pages to make them more interactive and dynamic. It was developed by Brendan Eich as a scripting language with similar syntax to java and C languages.
So why is javascript used on web pages? Well it is a scripting language that depends on a browser or other host environment in order to run. By embedding javascript within html, different types of functionality are added to web pages. Paragraphs on a web page are considered static, while different menu styles, graphic displays and even advertisement are considered dynamic. This is what javascript has to offer to liven up any web page.
So why is it a scripted programming language? The html document along with javascript is sent and interpreted by the browser on the client's machine. The code is then executed on the client's machine when the web page is either loaded, or whenever the link is activated. There can be many possibilities when a person interacts with the web page. Different types of buttons, or even different types of graphical user interfaces can be made while using it as a scripting language. Although there are different types of scripting languages that can be used to make web pages, javascript's usability and simplicity to use make it a great language to work with on the web.


| < Day Day Up > |
The worst-case linear-time median-finding algorithm was devised by Blum, Floyd, Pratt, Rivest, and Tarjan [43]. The fast average-time version is due to Hoare [146]. Floyd and Rivest [92] have developed an improved average-time version that partitions around an element recursively selected from a small sample of the elements.
It is still unknown exactly how many comparisons are needed to determine the median. A lower bound of 2n comparisons for median finding was given by Bent and John [38]. An upper bound of 3n was given by Schonhage, Paterson, and Pippenger [265]. Dor and Zwick [79] have improved on both of these bounds; their upper bound is slightly less than 2.95n and the lower bound is slightly more than 2n. Paterson [239] describes these results along with other related work.
| < Day Day Up > |


REGISTRATION FORM
Last Name
First Name
Address
City
State
Zip/Postal Code
Country
Bulgaria
USA
Germany
France
United Arab Emirates
Phone(country code,
area code, number)
(+
)
E-mail
Birth date
Gender
Male
Female
Starting date
Spring 2015
Summer 2015
Comments/Questions


The following code has been copied in part from the sample CQ/XML Perl script but is repeated here so that it can be viewed by itself. If you are already versed in creating sockets in Perl, the connection details that you need to know are:
| port: | 5556 |
| protocol: | TCP |
| practice server: | cqtestxml.sitedomain.com |
| production server: | cqprodxml.sitedomain.com |
#!/usr/bin/perl -w $| = 1; # don't buffer output use FileHandle; # autoflush as method use Socket; # socket io ########################################################################### # NAME: SocketComm # DESC: creates the socket and sends the file through, listens for end tag # ARGS: open filehandle to data file # RTNS: socket err?, command output ########################################################################### sub SocketComm { my $xmlstr = join( '', @_ ); # read in str (or entire fh) my $exit = 0; # default exit val = okay my @cmdout = (); # init command output my $server = 'cqtestxml'; # cq server my $eof = '</ClearQuest>'; # end of data tag my $port = 5556; # port address of server my $proto = getprotobyname( 'tcp' ); # get protocol num for tcp my $iaddr = inet_aton( $server ); # convert hostname to bin ip my $paddr = sockaddr_in( $port, $iaddr ); # resolve socket address # create socket socket( SOCK, PF_INET, SOCK_STREAM, $proto ) or die( "socket: $!" ); # connect to socket connect( SOCK, $paddr ) or die( "$errhdr unable to connect to '$server'!\n" ); autoflush SOCK 1; # don't buffer to socket print( SOCK "$xmlstr\n" ); # send command through socket shutdown( SOCK, 1 ) if ( $shutdown ); # we're done writing if enabled while ( $_ = <SOCK> ) # while data in socket { if ( $_ =~ /status='error'/o ) # error detected { $exit = 1; # set bad exit val } push( @cmdout, $_ ); # save command output last if ( $_ =~ /$eof/ ); # stop read if end of data } close( SOCK ); # close the socket return( $exit, @cmdout ); # return status & output }
The next chapter, ClearQuest Root Element, will show how to format your XML to send requests to the CQ/XML server.
| Table of Contents | ClearQuest Root Element |


Statement on White Island eruption
by NZ Cruise AssociationThe New Zealand Cruise Association is very concerned about some visitors to White Island at the time of the eruption who are passengers from the Ovation of the Seas which is visiting Tauranga.
“Our primary concern right now is with the wellbeing of the passengers and all those involved. We would like to extend our heartfelt concern to the passengers and their families,” NZCA Chief Executive Officer Kevin O’Sullivan says.
“Our hope is that everyone will be recovered quickly and unharmed, but at this time we have no further information.”


Welcome to PPF calculator
Investment amount
₹
Investment recurrence
Yearly
Half yearly
Quarterly
Monthly
Interest Rate
%
Lock-in Period
years
Calculate
Table
Graph
If this amount is invested
Monthly
Quarterly
Half Yearly
Yearly


--- title: Queen Victoria Hospital NHS Foundation Trust layout: gb ---
| Resource | Fetch | Format | Columns | Data | Valid | Entries | Oldest | Latest | Total (GBP) | |
|---|---|---|---|---|---|---|---|---|---|---|
| Spend over £25,000 in Queen Victoria Hospital NHS Foundation Trust | ||||||||||
| 2010 June return | ✘ | ✘ | ✘ | ✘ | ✘ | 0 | ||||
| 2010 May return | ✘ | ✘ | ✘ | ✘ | ✘ | 0 | ||||
| 2010 September return | ✘ | ✘ | ✘ | ✘ | ✘ | 0 | ||||
| 2010 July return | ✘ | ✘ | ✘ | ✘ | ✘ | 0 | ||||
| 2010 April return | ✘ | ✘ | ✘ | ✘ | ✘ | 0 | ||||
| 2010 October return | ✘ | ✘ | ✘ | ✘ | ✘ | 0 | ||||
| 2010 November return | ✘ | ✘ | ✘ | ✘ | ✘ | 0 | ||||
| 2010 August return | ✘ | ✘ | ✘ | ✘ | ✘ | 0 |
| Resource/Stage | Error |


Megumin is a Albireo client for Android devices.It allows connecting to your own Albireo server.
Megumin designed to browse and play bangumi on Albireo server, so it does not support some features (e.g. edit or manage download tasks).
Megumin is open source software, you can find source code in https://github.com/RoyaAoki/Megumin
Mana, an unofficially client for Albireo, is ready to help you search, index and enjoy videos that saved on the Albireo.
Before getting started, we recommend you get familiar with Albireo first and prepare the URL for a specific Albireo server as service provider
Hope you enjoy!
Mana is open source software, you can find all the code in
https://github.com/WindFi/mana
Chrome扩展用来增强Web版的信息显示与社交功能，使用之后您可以在{{siteTitle}}绑定您的Bangumi帐号， 之后{{siteTitle}}就会变成一个Bangumi客户端。您可以自动同步收藏，观看进度，查看和发表评论。


To Do or Not To Do
(your priorities at a glance)
MON
Insert some information about your week here :)
TUE
WED
THU
FRI
Reminders


Post #7: Ruby vs. JavaScript
How do Ruby Hashes compare to JS Objects?
July 7, 2015
In my educaiton psych classes in college we talked about knowledge acquisition and how it depends on a person's ability to connect new concepts with information already possessed. In my experience exploring programming, I have found myself thinking about this often regarding my own learning. When introducted to Ruby, I connected it to Algebra. As I am diving into JavaScript, I like connect it to what I have learned so far about Ruby. The more relationships and connections we make, the more easily we learn new information and skills.
In this post, I am going to compare the use of hashes in Ruby to that of objects in JavaScript. In my limited experience thus far, I have found them more similar than not. I know there are nuances and other conceptual discrepancies I have yet to fully understand, but I am going to focus on how you might create a similar structure in both Ruby and JavaScript and how you can apply the syntax rules of each language to accomplish this.
Let's say we would like to create a programming structure that contains key properties of a person's identity. Let's name our structure "identity" and show how you might add these key properties in each of our languages of focus.
Ruby Hash
1 identity = Hash.new #{} 2 identity[:name] = "Meghan Kline" 3 identity[:age] = 25 4 identity[:hometown] = "Chicago" 5 p identity
This will print the following to the console:
{:name=>"Meghan Kline", :age=>25, :hometown=>"Chicago"}
JavaScript Object
1 var identity = {} #{} 2 identity.name = "Meghan Kline" 3 identity.age = 25 4 identity.hometown = "Chicago" 5 console.log(identity)
This will print the following to the console:
{ name: 'Meghan Kline', age: 25, hometown: 'Chicago' }
As you can see, the creation of a Ruby hash and a JS object are quite similar with a few syntactic differences. In the hash the keys are symbols in this case and the values are either strings or numbers. In the JS object the properties are specified and the values are again either strings or numbers. We can retrieve the value of any given key/property by using appropriate syntax.
Ruby Hash
6 identity[:name] # "Meghan Kline" 7 identity.key(25) # :age
JS Object
6 identity.name // 'Meghan Kline' 7 identity["name"] // 'Meghan Kline' // There is not an easy built in method for retrieving a property // for a given value like using hash.key(value) in Ruby.
In general, there are many more built in methods in Ruby that allow you to manipulate hashes and other Ruby objects in many ways. JavaScript will allow for more variabiltiy than Ruby, but does not present errors as easily, which can often lead to a difficult debugging process when your code does not return what you expect. However, there are ways to modify values and iterate over objects in JS similar to Ruby. The problem is that it's more difficult to modify or access the "key" equivalent in JS than in Ruby.
Let's modify some of the values in each of our structures. Let's say this Meghan character gets married and hyphenates her name to Kline-Tuls. Also, she's aged since then to 28. And she has since moved to sunny San Diego.
Ruby Hash
8 identity[:name] = "Meghan Kline-Tuls" 9 identity[:age] = 28 10 identity[:hometown] = "San Diego"
JS Object
8 identity.name = "Meghan Kline-Tuls" 9 identity["age"] = 28 10 identity.hometown = "San Diego"
Another feature that is slightly different between the structures is how to iterate over each.
Ruby Hashes
identity.each do |property, value| puts "The person's #{property} is #{value}." end
JS Object
for (var property in identity) { console.log("The person's " + property + " is " + identity[property] + "."); }
Both codes will print the same information to the console:
The person's name is Meghan Kline-Tuls. The person's age is 28. The person's hometown is San Diego.


{% load static from staticfiles %}
PayU
Send and Request money
Recharge your wallet
Offers
Notifications
Logout
{% block body %} {% endblock %}
Student ID
Book ID
Date
{% for all in form %}
{{ all.student_ID }}
{{all.book_ID}}
{{all.date}}
{% endfor %}


Weather today: cloudy and misty, with scattered showers
Some clear spells expected
by Rose B O'DonoghueToday began wet in north Leinster at first with some persistent rain, but clearing away to the north by this afternoon.
A few bright spells, but otherwise cloudy and misty, with scattered showers, some heavy.
Top temperatures of 11 or 12 degrees, in light to moderate variable breezes.
Tonight will be continuing cloudy and misty, with some scattered showers. Lowest temperatures of 7 or 8 degrees, in light to moderate southeasterly breezes.
Tomorrow, Tuesday 26 November will be breezy.
Rain on the southeast coast will become widespread during the morning, but will clear to scattered showers by early afternoon. Top temperatures of 11 or 12 degrees, in fresh to strong easterly winds which will veer southerly as the day goes on.
Tuesday night: Scattered falls of rain overnight, mainly affecting eastern counties, with moderate to fresh easterly winds. Minimum temperatures of 5 to 8 degrees.
Cloudy and showery for the rest of the week.


View this message online.
http://archives.subscribermail.com/msg/171f08ca5e5443b0ba06eb6f30de375e.htm
Visit our site at http://www.entertainmentcruises.com
Come aboard Mystic Blue for the best New Year’s Eve celebration in the city.
BE ON A YACHT WHEN THE CLOCK STRIKES MIDNIGHT
Where will you be when the ball drops? Forget overcrowded, pricey
bars and get out on the water for Chicago’s best NYE celebration
aboard Mystic Blue.
Great food & drinks
Top DJ entertainment
Killer views of the skyline and fireworks
Don’t wait - get your ticket before they’re gone.Book by November 16
and save 15% on your cruise with code NYE15.
Let’s celebrate!
Book Now
(http://www.mysticbluecruises.com/Chicago/new-years-eve-chicago-dinner)
| Pricing
(http://reservations.entertainmentcruises.com/search/?metro=Chicago&pax=1-19&tod=Any&product=Mystic
| Photo Gallery (http://www.mysticbluecruises.com/Chicago/ship) |
FAQs
(http://www.mysticbluecruises.com/Chicago/frequently-asked-questions)
Cruises
Photos
Menus
Mystic
Use promo code NYE15 to save.
Connect:
*Subject to availability. Certain restrictions apply.Not valid on
previously purchased ticketsor for parties of 20 or more. Cannot be
combinedwith other offer. No exchanges or refunds.Not all seats are
discounted.
Safely Unsubscribe
http://localapp/unsub.cfm?tempid=171f08ca5e5443b0ba06eb6f30de375e&mailId=52e165471d4e49dfa7ffeb6f30de375e
Send this mail to your friend.
http://localapp/send_friend.cfm?template=171f08ca5e5443b0ba06eb6f30de375e&mailid=52e165471d4e49dfa7ffeb6f30de375e
Powered by SubscriberMail http://www.subscribermail.com
Entertainment Cruises401 E. Illinois StreetChicago, Illinois 60611